1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/tex/vym.tex Tue Aug 15 12:01:14 2006 +0000
1.3 @@ -0,0 +1,1290 @@
1.4 +\documentclass{article}
1.5 +\usepackage{a4}
1.6 +\usepackage[latin1]{inputenc}
1.7 +\usepackage{verbatim}
1.8 +\usepackage{hyperref}
1.9 +\usepackage{graphicx}
1.10 +\usepackage{longtable}
1.11 +
1.12 +
1.13 +%\input{udmath}
1.14 +
1.15 +
1.16 +\hypersetup{bookmarks, bookmarksopen,
1.17 + pdftitle={VYM - a tool for visual thinking },
1.18 + pdfauthor={Uwe Drechsel},
1.19 + pdfsubject={map},
1.20 + pdfkeywords={map, tool},
1.21 + pdfpagemode={UseOutlines},
1.22 + bookmarksopenlevel={1},
1.23 + colorlinks={true},
1.24 + linkcolor={blue},
1.25 + urlcolor={green},
1.26 + citecolor={red}}
1.27 +
1.28 +
1.29 +\newcommand{\vym}{{\sc vym }}
1.30 +\newcommand{\ra}{$\longrightarrow$}
1.31 +\newcommand{\la}{$\longleftarrow$}
1.32 +\newcommand{\ua}{$\uparrow$}
1.33 +\newcommand{\da}{$\downarrow$}
1.34 +\newcommand{\key}[1]{[#1]}
1.35 +
1.36 +\begin{document}
1.37 +\title{
1.38 + \includegraphics[width=8cm]{vym-logo-new.png}
1.39 + \\
1.40 +VYM \\ -- \\View Your Mind\\ {\small Version 1.8.0}}
1.41 +\author{\textcopyright Uwe Drechsel }
1.42 +
1.43 +
1.44 +\maketitle
1.45 +
1.46 +\newpage
1.47 +
1.48 +\tableofcontents
1.49 +
1.50 +\newpage
1.51 +
1.52 +\section{Introduction}
1.53 +\subsection{What is a \vym map?}
1.54 +A \vym map (in short words {\em map}) is a tree like structure:
1.55 +\begin{center}
1.56 + \includegraphics[width=12cm]{example1.png}
1.57 +\end{center}
1.58 +Such maps can be drawn by hand on a paper or flip chart and help to
1.59 +structure your thoughts. While a tree like structure like above can be
1.60 +drawn manually \vym offers much more features to work with such maps.
1.61 +\vym is not another drawing software, but a tool to store and modify
1.62 +information in an intuitive way. For example you can reorder parts of
1.63 +the map by pressing a key or add various information like a complete
1.64 +email by a simple mouse click.
1.65 +
1.66 +Once you have finished collecting and organizing your ideas, you can
1.67 +easily generate for example a presentation in Open~Office based on a
1.68 +map.
1.69 +
1.70 +\subsection{Why should I use maps? Time, Space and your Brain.}
1.71 +\subsubsection*{Space}
1.72 +A map can concentrate a very complex content on little space e.g. a
1.73 +piece of paper. It helps to use both sides of your brain: the logical
1.74 +side and also your creative side (e.g. by using pictures, colors and
1.75 +keywords in a map, so called {\em anchors}). It is a technique to
1.76 +organize the way you think: It can help you by developing, sorting and
1.77 +memorizing your thoughts.
1.78 +
1.79 +\subsubsection*{Time}
1.80 +Because you just use keywords and drawings, it is much faster than good
1.81 +old fashioned notes. Your brain memorizes things by associating them to
1.82 +other things -- a map makes use of those connections and stimulates
1.83 +new asccociations.
1.84 +
1.85 +
1.86 +\subsubsection*{Your Brain}
1.87 +In 1960 the Prof. {\sc Roger Sperry} discovered that both hemispheres
1.88 +of the human brain have different tasks (of course both of them
1.89 +basically {\em can} do the same):
1.90 +\begin{center}
1.91 +\begin{tabular}{|p{5.5cm}|p{5.5cm}|} \hline
1.92 + Left side & Right side \\ \hline
1.93 + \begin{itemize}
1.94 + \item verbal speech and writing
1.95 + \item numbers
1.96 + \item logical thinking
1.97 + \item analyzing and details
1.98 + \item science
1.99 + \item linear thinking
1.100 + \item concept of time
1.101 + \end{itemize} &
1.102 + \begin{itemize}
1.103 + \item body language
1.104 + \item visual thinking, day dreams
1.105 + \item intuition and emotion
1.106 + \item overview of things
1.107 + \item creativity
1.108 + \item art, music, dancing
1.109 + \item non-linear thinking, connecting things
1.110 + \item spatial awareness
1.111 + \end{itemize} \\ \hline
1.112 +\end{tabular}
1.113 +\end{center}
1.114 +In our science oriented society we have learned to mainly rely on our
1.115 +left side of the brain, the "rational" one. In other cultures,
1.116 +especially like the native americans and other "old" cultures, the right
1.117 +side is much more important. Maps are just one way to stimulate the
1.118 +other side and make use of additional ressources we all have.
1.119 +
1.120 +
1.121 +\subsection{Where could I use a map?}
1.122 +Here are some examples, how you can use those maps
1.123 +\begin{itemize}
1.124 + \item to prepare articles, papers, books, talks, \ldots
1.125 + \item to sort complex data
1.126 + \item to memorize facts, persons, vocabulary, \ldots
1.127 + \item to sort emails, files and bookmarks on your computer
1.128 + \item to moderate conferences
1.129 +\end{itemize}
1.130 +
1.131 +\subsection{What you shouldn't do with a map...}
1.132 +A map drawn by somebody shows the way the author thinks. There is
1.133 +no right or wrong in the way it is drawn, so there is no way to criticize
1.134 +it. "It is, what it is" ({\sc F.~Lehmann}).
1.135 +
1.136 +%\section{Tutorials}
1.137 +%TODO
1.138 +
1.139 +\subsection{Internet Ressources}
1.140 +A good starting point to learn more about maps in general is Wikipedia:
1.141 +\begin{itemize}
1.142 + \item English:
1.143 + \href{http://en.wikipedia.org/wiki/Mind_map}{http://en.wikipedia.org/wiki/Mind\_map}
1.144 + \item German:
1.145 + \href{http://de.wikipedia.org/wiki/Mindmap}{http://de.wikipedia.org/wiki/Mindmap}
1.146 +\end{itemize}
1.147 +
1.148 +
1.149 +
1.150 +
1.151 +\section{Concept of \vym}
1.152 +%TODO may add a general introduction here...
1.153 +\subsection{Windows: mapeditor and noteeditor}
1.154 +\vym uses two windows: an editor for the map itself and another one for
1.155 +notes, which are part of the map. Let's call them {\em mapeditor} and
1.156 +{\em noteeditor}:
1.157 +\begin{center}
1.158 + \includegraphics[width=8cm]{windows.png}
1.159 +\end{center}
1.160 +Usually you will work in the {\em mapeditor} by just adding new
1.161 +branches, moving around and reordering them. The various ways to do this
1.162 +will be explained in \ref{mapeditor}. You can store additional
1.163 +information e.g. the content of a email easily in a {\em branch}: Just
1.164 +type or copy\&paste it into the {\em noteeditor}. Working with notes is
1.165 +explained in \ref{noteeditor}
1.166 +
1.167 +\subsection{Menus and Context menus}
1.168 +On top of each window you find the menubar. The options you find there
1.169 +are similar to those you are used from other applications. Note that
1.170 +many (and even more) options are availabe via {\em context menus}. Those
1.171 +are available if you right-click onto an object in a map (on Mac~OS~X
1.172 +Command-Click).
1.173 +
1.174 +\subsection{Toolbars}
1.175 +The toolbars in the mainwindows give quick access to many functions and
1.176 +also visualize the state of an object. For example a part of of the map
1.177 +can be hidden when the map is exported into an Open~Office presentation.
1.178 +To show this the branch in the map will have a little cloud symbol,
1.179 +which is also "switched on" in the toolbar.
1.180 +
1.181 +Note that you can reposition all toolbars by simply grabbing them. For
1.182 +example you can move the flags-toolbar from its original horizontal
1.183 +position on top of the mapeditor to a vertical position on the right
1.184 +side. You can even detach it and make it "float" separate from the other
1.185 +windows. Or just insert it again at its original position.
1.186 +
1.187 +\subsection{Maps}
1.188 +The map itself has always a {\em mapcenter}. The
1.189 +mapcenter has {\em branches} just like the trunk of a tree. Each branch
1.190 +in turn may have branches again.
1.191 +\begin{center}
1.192 + \includegraphics[width=10cm]{branches.png}
1.193 +\end{center}
1.194 +We will call a branch directly connected to the mapcenter a {\em
1.195 +mainbranch}, because it determines the position of all its child
1.196 +branches.
1.197 +
1.198 +The mapcenter and the branches all have a {\em heading}. This is the
1.199 +text you see in the mapeditor. Usually it should just be one or a few
1.200 +words, so that one can easily keep track of the whole map.
1.201 +
1.202 +
1.203 +In the toolbar above the mapeditor you see various symbols.
1.204 +\begin{center}
1.205 + \includegraphics[width=8cm]{default-flags.png}
1.206 +\end{center}
1.207 +These are called {\em flags} and can be used to mark branches in the
1.208 +map, e.g. if something is important or questionable.
1.209 +There are also more flags set by \vym automatically to show additional
1.210 +information, e.g. when a exists for a particular branch.
1.211 +
1.212 +By default some of these flags are set exclusively e.g. when the
1.213 +"thumb-up" flag is set, then the "thumb down" is unset and vice
1.214 +versa. You can change this default behaviour in the settings menu.
1.215 +
1.216 +%TODO add info about toolbars e.g. undo/redo, ...
1.217 +
1.218 +\section{Mapeditor} \label {mapeditor}
1.219 +\subsection{Start a new map}
1.220 +After \vym is started two windows will open: the mapeditor and the
1.221 +noteditor. Usually you will work in both windows, but at the moment we
1.222 +will just need the mapeditor.
1.223 +
1.224 +Select the mapcenter "New map" in the middle of the mapeditor by
1.225 +left-clicking with the mouse. It will turn yellow to show that is
1.226 +selected. There are several ways to add a new branch to the center:
1.227 +\begin{itemize}
1.228 + \item Using the mouse: Open the context meny by clicking with the
1.229 + right mouse button (CTRL-Click on Mac) onto the
1.230 + mapcenter and choose Add \ra Add as child
1.231 + \item Press \key{Ins} or \key{A}
1.232 +\end{itemize}
1.233 +A new branch will appear and you will be able to type the heading of the
1.234 +branch. Finish adding the new branch by pressing \key{Enter}.
1.235 +%tipp
1.236 +Sometimes it comes handy to add a new branch above or below the current
1.237 +one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}. It is also
1.238 +possible to add a branch in such a way, that the current selection
1.239 +becomes the child of the new branch, which is like inserting it {\em
1.240 +before} the selection. This can be done using the context menu.
1.241 +
1.242 +\subsection{Navigate through a map}
1.243 +\subsubsection*{Select branches}
1.244 +To select branches you can use the left button of your mouse or also the
1.245 +arrow keys. Depending on the {\em orientation} of a branch type
1.246 +\key{\la} or \key{\ra} to get nearer to the mapcenter or deeper
1.247 +down into the branches. Within a set of branches, let's call them a
1.248 +{\em subtree}, you can use \key{\ua} and \key{\da} to go up and down. You can
1.249 +also use \key{Pos1} and \key{End} to select the first and last branch.
1.250 +
1.251 +
1.252 +\subsubsection*{Zoom a map}
1.253 +While adding more and more branches the size of the map may become
1.254 +bigger than the mapeditor window. You can use the scrollbars on the
1.255 +right and the bottom of your mapeditor window to scroll, but it is
1.256 +easier to just scroll using the left mouse button: Click onto the {\em
1.257 +canvas} itself, the empty space somewhere between the branches. The
1.258 +mouse pointer will change from an arrow to a hand, now move the visible
1.259 +part of the map to show the desired part.
1.260 +
1.261 +If you select branches using the arrow keys, the map will scroll
1.262 +to ensure that the selected branch is always visible.
1.263 +
1.264 +Working with huge maps, the {\em zoom}-function comes in handy: You can
1.265 +use
1.266 +\begin{itemize}
1.267 + \item from the menu View \ra Zoom
1.268 + \item the toolbar buttons
1.269 + \begin{center}
1.270 + \includegraphics[width=3cm]{zoom-buttons.png}
1.271 + \end{center}
1.272 +\end{itemize}
1.273 +The crossed magnifying lens resets the zoomed view to its original size.
1.274 +
1.275 +
1.276 +\subsubsection*{Find Function} \label{findwindow}
1.277 +With huge maps there is the need to have a
1.278 +find function. Choose Edit \ra Find to open the Find Window:
1.279 +\begin{center}
1.280 + \includegraphics[width=6cm]{find-window.png}
1.281 +\end{center}
1.282 +The text you enter here will be searched in all the headings and also in
1.283 +notes. Everytime you press the "Find"-button it will look for the next
1.284 +occurence, which then will be selected automatically. If the search
1.285 +fails, there will appear a short message "Nothing found" or a few
1.286 +seconds in the {\em statusbar} on the bottom of the mapeditor.
1.287 +
1.288 +\subsubsection*{Keep the overview -- scroll a part of the map}
1.289 +A very big subtree of a map e.g. a branch with hundreds of childs makes
1.290 +it very hard to keep an overview over the whole map. You can hide all
1.291 +the childs of a branch by {\em scrolling} it -- this function is also
1.292 +often called {\em folding}. Think of the whole subtree as painted onto a
1.293 +big newspaper. You can scroll the paper to a small roll, leaving just
1.294 +the headline readable.
1.295 +
1.296 +To scroll or unscroll a branch and its childs, press the
1.297 +\begin{itemize}
1.298 + \item \key{Scroll} key or \key{S}
1.299 + \item press the middle-mouse button or
1.300 + \item choose the little scroll from the toolbar.
1.301 +\end{itemize}
1.302 +If you select parts of a scrolled branch e.g. using the find function or
1.303 +by using the arrow-keys, it will unscroll temporary. This is shown as a
1.304 +scroll with a little hour glass. If the temporary unscrolled part is not
1.305 +longer needed, it will be hidden again automatically. It is also
1.306 +possible to unscroll all branches using "Edit\ra Unscroll all scrolled
1.307 +branches".
1.308 +
1.309 +You can also hide parts of the map while exporting it e.g. to a webpage
1.310 +or a presentation, see \ref{hideexport} for details.
1.311 +
1.312 +\subsection{Modify and move branches}
1.313 +\subsubsection*{Modify the heading}
1.314 +You can edit the heading by selecting the branch and then
1.315 +\begin{itemize}
1.316 + \item pressing \key{Enter}
1.317 + \item double-clicking with left mouse.
1.318 +\end{itemize}
1.319 +Just type the new heading (or edit the old one) and press \key{Enter}.
1.320 +
1.321 +\subsubsection*{Move a branch}
1.322 +The easiest way to move a branch is to select it with left-mouse and
1.323 +drag it to the destination while keeping the mouse button pressed.
1.324 +Depending on the branch it will be
1.325 +\begin{itemize}
1.326 + \item moved to the destination or
1.327 + \item {\em linked} to a new {\em parent} (mapcenter or branch)
1.328 +\end{itemize}
1.329 +If you drag the branch over another one or over the mapcenter, you will
1.330 +notice that the link connecting it to the old parent will be changed to
1.331 +lead to the new parent which is now under your mousepointer.
1.332 +If you release the button now, the branch will be relinked.
1.333 +
1.334 +If you release the button in the middle of nowhere, the result will
1.335 +depend on the type of branch you are releasing:
1.336 +\begin{itemize}
1.337 + \item A mainbranch is directly connected to the mapcenter.
1.338 + It will stay on its new position.
1.339 + \item An ordinary branch will "jump" back to its original position.
1.340 +\end{itemize}
1.341 +Thus you can easily rearrange the layout of the mainbranches to avoid
1.342 +overlapping of their subtrees.
1.343 +There is another convenient way to move branches, especially if you want
1.344 +to {\em reorder} a subtree: You can move a branch up or down in a
1.345 +subtree by
1.346 +\begin{itemize}
1.347 + \item pressing \key{\ua} and \key {\da}
1.348 + \item selecting Edit \ra Move branch
1.349 + \item clicking on the toolbar buttons:
1.350 + \begin{center}
1.351 + \includegraphics[width=1.5cm]{move-buttons.png}
1.352 + \end{center}
1.353 +\end{itemize}
1.354 +%tipp
1.355 +There is yet another way to move branches: If you press \key{Shift} or
1.356 +\key{Ctrl} while moving with the mouse, the branch will be added above
1.357 +or below the one the mouse pointer is over. This helps also to reorder a
1.358 +map.
1.359 +
1.360 +\subsection{The right side of your brain - colors and images}
1.361 +\subsubsection*{Change color of a heading}
1.362 +You can also use colors to put more information into a map, e.g. use
1.363 +red, green and more colors to prioritize tasks. Again you can
1.364 +\begin{itemize}
1.365 + \item use the menu and choose e.g Format \rq Set Color
1.366 + \item use the toolbar
1.367 + \begin{center}
1.368 + \includegraphics[width=3cm]{color-buttons.png}
1.369 + \end{center}
1.370 +\end{itemize}
1.371 +The first button (black in the graphic above) shows the actual color.
1.372 +Clicking on it let's you choose another color. You can also "pick"
1.373 +another color by selecting a branch with the desired color and using the
1.374 +"pick color" button. Both of the buttons showing a bucket actually put
1.375 +the current color to the selected branch. While the first one just
1.376 +colors the heading of the selection, the last one also colors all the
1.377 +childs of the selected branch.
1.378 +
1.379 +%tipp
1.380 +A very useful function is the "copy color" using the mouse: Select the
1.381 +branch which should get the new color, then press \key{Ctrl} and
1.382 +simultanously click with left-mouse on another branch to copy its color
1.383 +to the first one. Here the childs of the selection also will get the new
1.384 +color, if you just want to color the selection itself, additionally
1.385 +press \key{Shift}.
1.386 +
1.387 +\subsubsection*{Use flags}
1.388 +\vym provides various flags. You see them in the toolbar on top of the
1.389 +mapeditor window. (Note: Like all toolbars you can also move them to the
1.390 +left or the right side of the window or even detach them. Just grab the
1.391 +very left "dotted" part of the toolbar with your left-mouse button.)
1.392 +\begin{center}
1.393 + \includegraphics[width=8cm]{default-flags.png}
1.394 +\end{center}
1.395 +If you have a branch selected, you can set any number of flags by
1.396 +clicking them in the toolbar. The toolbar buttons change their state and
1.397 +always reflect the flags set in the selected branch.
1.398 +
1.399 +Presently \vym uses two kinds of flags: {\em System Flags} and {\em
1.400 +Standard Flags}. The standard flags are those shown in the toolbar.
1.401 +System flags are set by \vym to indicate e.g. that there is additional
1.402 +information in a note (more on this in \ref{noteeditor}). Later versions
1.403 +of \vym may have another kind of flags, which may be edited by the user.
1.404 +
1.405 +\subsubsection*{Images}
1.406 +The easiest way to add an image to a branch is by dragging it e.g. from a
1.407 +webbrowser to the mapeditor while a branch is selected there.
1.408 +
1.409 +You can also add a image to a branch by opening the context menu of the
1.410 +branch choose "Add Image". A
1.411 +dialog window lets you choose the image to load.
1.412 +\footnote{Supported image types are: PNG, BMP, XBM, XPM and PNM. It may
1.413 + also support JPEG, MNG and GIF, if specially configured during
1.414 + compilation (as done when \vym is part of SUSE LINUX).}
1.415 +While an image is selected in the dialog, you can see a preview of the
1.416 +image. It is also possible to select multiple images.
1.417 +
1.418 +You can position the image anywhere you want, just drag it with left
1.419 +mouse. To relink it to another branch, press \key{Shift} while moving
1.420 +it. To delete it, press \key{Del}.
1.421 +
1.422 +If you right-click onto an image, a context menu will open which let's
1.423 +you first choose one of several image formats. Then a file dialog opens
1.424 +to save the image. Hint: This is used to "export" the image, it will be
1.425 +saved anyway in the map itself! You can also cut and
1.426 +copy images, but it is not possible to add objects to an image\footnote{
1.427 + Images are regarded as "extra feature". It would make working with
1.428 + the map much more complex if e.g. images could be linked to images.}
1.429 +
1.430 +The option \lq{\bf Use for export} \rq controls the output of exports
1.431 +e.g. to HTML: If set to no, the image won't appear in the {\em text}
1.432 +part of the output. This is useful for large images or if images are
1.433 +used as a kind of frame e.g. the famous cloud symbol around a part of
1.434 +the map. Those shouldn't appear in the middle of the text.
1.435 +
1.436 +At the moment image support is preliminary: Images will be saved
1.437 +together with all the other data of a map in the {\tt .vym}-file.
1.438 +Later versions will include more functionality like resizing the images,
1.439 +changing its z-value (put it into background) etc.
1.440 +
1.441 +\subsubsection*{Frames}
1.442 +A frame can be added to a branch by clicking with the
1.443 +right-mouse button. A context menu will open, where you can choose the
1.444 +frame. At the moment just a rectangle resp. "No Frame" will be offered,
1.445 +nevertheless you can use images as frames. Have a look at the demo map
1.446 +{\tt todo.vym} as an example, where the mapcenter is a cloud. You can
1.447 +use an external drawing program like {\tt gimp} to create an image,
1.448 +preferable with an transparency channel, so that you can design frames
1.449 +which don't use a rectangular borderline, just like the cloud.
1.450 +
1.451 +
1.452 +\subsection{Background design}
1.453 +The design of the background of a map and also of the links connecting
1.454 +various parts of the map can be changed by
1.455 +\begin{itemize}
1.456 + \item Selecting Format from the menu
1.457 + \item Right clicking onto the canvas, which will open a context menu
1.458 +\end{itemize}
1.459 +
1.460 +\subsubsection*{Background color}
1.461 +The color is set (and also displayed) as "Set background color".
1.462 +
1.463 +\subsubsection*{Link color}
1.464 +Links connecting branches can be colored in one of the following ways:
1.465 +\begin{itemize}
1.466 + \item use the color of the heading of the branch the links is
1.467 + \item use {\em one} color for all links. The default color is blue.
1.468 + leading to.
1.469 +\end{itemize}
1.470 +The latter can be set with "Set link color". Check or uncheck the "Use
1.471 +color of heading for link" option to choose one of the two designs for
1.472 +your map.
1.473 +
1.474 +\subsubsection*{Link style}
1.475 +\vym offers four different styles for the appearences of links:
1.476 +\begin{itemize}
1.477 + \item Line
1.478 + \item Parabel
1.479 + \item Thick Line
1.480 + \item Thick Parabel
1.481 +\end{itemize}
1.482 +The "thick" styles only draw links starting at mapcenter thick, the rest
1.483 +of the map is always painted "thin".
1.484 +
1.485 +
1.486 +\subsection{Links to other documents and webpages}
1.487 +\vym supports two kind of external links:
1.488 +\begin{itemize}
1.489 + \item Document, which will be opened in an external webbrowser
1.490 + \item \vym map, which will be opened in \vym itself
1.491 +\end{itemize}
1.492 +In addition to the external links there also internal ones, leading from one
1.493 +branch in a map toanother one. Those are called {\em XLinks} and are explained
1.494 +in section~\ref{xlinks}.
1.495 +
1.496 +\subsubsection*{Webbrowser}
1.497 +Modern Webbrowsers like {\tt konqueror} are able to display various
1.498 +types of files, both local or in the internet. To enter the URL of
1.499 +any document, right-click onto a branch or use the Edit Menu
1.500 +and choose "Edit URL". Enter the path to your document (or copy and
1.501 +paste it from your browser). Examples for valid paths are:
1.502 +\begin{verbatim}
1.503 + http://www.insilmaril.de/vym/index.html
1.504 + file:/usr/share/doc/packages/vym/doc/vym.pdf
1.505 +\end{verbatim}
1.506 +If an URL was entered, a little globe will appear in the branch. By
1.507 +clicking on the globe in the toolbar or the context menu an external
1.508 +browser\footnote{
1.509 + The browser can be changed in the Settings Menu.}
1.510 +will be started.
1.511 +\begin{center}
1.512 + \includegraphics[width=0.5cm]{flag-url.png}
1.513 +\end{center}
1.514 +For more information on working with bookmarks and webbrowsers see
1.515 +section \ref{bookmarks}.
1.516 +
1.517 +
1.518 +\subsubsection*{\vym map}
1.519 +To link to to another map right click on a branch or choose "Edit \ra
1.520 +Enter \vym link". A file dialog opens where you can choose the map. A
1.521 +branch with a link is marked with
1.522 +\begin{center}
1.523 + \includegraphics[width=0.5cm]{flag-vymlink.png}
1.524 +\end{center}
1.525 +Clicking this flag in the toolbar or in the context menu of a branch
1.526 +will open the map in another tab (see \ref{tabs} for working with
1.527 +multiple maps). To delete an existing link, just press the "Cancel"
1.528 +button.
1.529 +
1.530 +Technical note: Internally \vym uses absolute paths, to avoid opening
1.531 +several tabs containing the same map. When a map is saved, this path is
1.532 +converted to a relative one (e.g. {\tt /home/user/vym.map} might become
1.533 +{\tt ./vym.map}. This makes it fairly easy to use multiple maps on
1.534 +different computers or export them to HTML in future.
1.535 +
1.536 +\subsection{Multiple maps} \label{tabs}
1.537 +You can work on multiple maps at the same time. Each new map is opened
1.538 +in another {\em tab}. The available tabs are shown just above the
1.539 +mapeditor. You can use the normal cut/copy/paste functions to
1.540 +copy data from one map to another.
1.541 +
1.542 +%todo
1.543 +
1.544 +%TODO
1.545 +%\subsubsection{Menus}
1.546 +%\subsubsection{Keyboard shortcuts}
1.547 +
1.548 +% Settings
1.549 +% Images
1.550 +% Copy & Paste
1.551 +% Working with tabs (multiple maps)
1.552 +% Exporting
1.553 +% Scrolling
1.554 +
1.555 +\section{Noteeditor} \label {noteeditor}
1.556 +If you want to save more text in a branch e.g. a complete email, a
1.557 +cooking recipe, or the whole source code of a software project, you can
1.558 +use the noteeditor.
1.559 +\begin{center}
1.560 + \includegraphics[width=8cm]{noteeditor.png}
1.561 +\end{center}
1.562 +This editor displays text associated to a branch selected in the
1.563 +mapeditor. To visualize that there maybe is no text yet, the noteeditor
1.564 +shows different background colors depending on its state:
1.565 +
1.566 +\subsection{States}
1.567 +Before you can type or paste text into it, you have
1.568 +to select a branch in the mapeditor. Note that the background color
1.569 +of the noteeditor indicates its state:
1.570 +\begin{itemize}
1.571 + \item black: no branch selected
1.572 + \item grey: no text entered yet
1.573 + \item white: text is already available
1.574 +\end{itemize}
1.575 +To show you in the mapeditor itself that there is a note with more
1.576 +information for a particular branch, a little note flag will appear next
1.577 +to the heading of the branch. See the lower branch on the right side:
1.578 +\begin{center}
1.579 + \includegraphics[width=8cm]{branches-flags.png}
1.580 +\end{center}
1.581 +
1.582 +\subsection{Import and export notes}
1.583 +The note is always saved automatically within the \vym file itself.
1.584 +Nevertheless sometimes it is nice to import a note from an external file
1.585 +or write it. Use "File\ra~Import" and "File\ra~Export" to do so.
1.586 +
1.587 +\subsection{Edit and print note}
1.588 +Editing works like in any simple texteditor, including undo and redo
1.589 +functions. You can delete the complete note by clicking the
1.590 +trashcan. Only the note itself is printed by clicking the printer icon.
1.591 +
1.592 +When pasting into the editor using the X11 copy\&paste mechanism, the
1.593 +editor will create a paragraph for each new line. Usually this is not
1.594 +wanted, so there you can convert all paragraphs into linebreaks by using
1.595 +Edit~\ra~Remove~Paragraphs or \key{ALT-X}.
1.596 +
1.597 +\subsection{RichText: Colors, paragraphs and formatted text}
1.598 +\vym supports formatted text (QT Rich Text) in the noteeditor since
1.599 +version 1.4.7. Colors and text attributes (e.g. italic, bold) can be
1.600 +set with the buttons above the text. The text itself is divided in
1.601 +paragraphs. For each paragraph the format can be set (e.g. centered,
1.602 +right). A paragraph is ended when a \key{Return} is entered. If you just
1.603 +want to begin a new line, press \key{CTRL-Return}.
1.604 +
1.605 +\subsection{Fonts and how to quickly switch them}
1.606 +The noteeditor is ment to be used for simple notes, not really as full
1.607 +featured text editor. Because of many requests \vym supports now
1.608 +formatted text in the noteeditor\footnote{
1.609 + \vym uses the QRichtText format, which is basically a subset of the
1.610 + formatting provided in HTML.}
1.611 +Two default fonts are supported which can be set in the Settings menu.
1.612 +One is a fixed width font, the other has variable width. The fixed font
1.613 +is usually used for emails, source code etc.\ while the variable font is
1.614 +used for simple notes, where one doesn't need fixed character widths.
1.615 +Both fonts can easily switched using the following symbol from the
1.616 +toolbar:
1.617 +\begin{center}
1.618 + \includegraphics[width=0.5cm]{formatfixedfont.png}
1.619 +\end{center}
1.620 +In the Settings menu both fonts can be set and also which font should be
1.621 +used for default.
1.622 +
1.623 +Additionally to the default fonts any font installed on your system can
1.624 +be used. Please note, that the chosen font also will be used for HTML
1.625 +exports, so you should only use fonts which are available generally.
1.626 +
1.627 +\subsection{Find text}
1.628 +The noteeditor itself has no Find function, use Find in the mapeditor,
1.629 +which will also search all notes (see \ref{findwindow}).
1.630 +
1.631 +\subsection{Paste text into note editor}
1.632 +Often you will paste text into the editor from another application e.g.
1.633 +an email. Normally \vym will generate a new paragraph for each new line.
1.634 +This usually is not what you want, so you can choose from the menu
1.635 +
1.636 +\subsection{Advanced actions}
1.637 +\subsubsection*{Edit \ra Convert subsubsections:}
1.638 +This turns subsubsections in selected text (or all text, if nothing is
1.639 +selected) into linebreaks. This is especially useful for snippets of
1.640 +source code.
1.641 +
1.642 +\subsubsection*{Edit \ra Join Lines:}
1.643 +Tries to format text, so that empty lines are used to delimit
1.644 +paragraphs. This is done for selected text (or all text, if nothing is
1.645 +selected). Especially useful for text like emails, meeting minutes etc.
1.646 +
1.647 +\section{Hello world}
1.648 +This section is about how \vym can interact with other applications.
1.649 +Many applications meanwhile can read and write their data using XML, the
1.650 +eXtensible Markup Language. \vym also uses XML to save its maps, see
1.651 +\ref{fileformat} for a more detailed description.
1.652 +
1.653 +So if your an application understands XML, chances are good that someone
1.654 +could write import/export filters for \vym. Volunteers are always
1.655 +welcome ;-)
1.656 +
1.657 +\subsection{Import} \label{import}
1.658 +
1.659 +\subsubsection*{KDE Bookmarks}
1.660 +The integrated bookmark editor in KDE is somewhat limited, so why not
1.661 +use \vym to maintain the bookmark mess? To create a new map containing
1.662 +your current KDE bookmarks just choose
1.663 +\begin{itemize}
1.664 + \item File \ra Import\ra KDE Bookmarks
1.665 +\end{itemize}
1.666 +
1.667 +\subsubsection*{Mind Manager}
1.668 +\vym has currently a very basic import filter to convert maps created by
1.669 +{\em Mind Manager}\footnote{Mind Manager is a professional software by
1.670 +Mindjet. Both names are registered trademarks by Mindjet. For more
1.671 +information see their website at
1.672 +\href{http://mindjet.de}{http://mindjet.de}} into \vym maps. Notes and
1.673 +pictures are not converted at the moment. You can import files with
1.674 +\begin{itemize}
1.675 + \item File \ra Import\ra Mind Manager
1.676 +\end{itemize}
1.677 +
1.678 +
1.679 +\subsubsection*{Directory structure}
1.680 +\vym can read a directory structure. This is mainly for
1.681 +testing \vym e.g. to easily create huge maps used for benchmarks (yes,
1.682 +there is still room to optimize \vym ;-)
1.683 +
1.684 +
1.685 +
1.686 +
1.687 +\subsection{Export} \label{export}
1.688 +\label{hideexport}
1.689 +Often you don't want to export the whole map, but just parts of it. For
1.690 +example you may have additional info you want to talk about in a
1.691 +presentation, while those parts should not be visible to the audience.
1.692 +To achieve this you can "hide" parts of the map during exports by
1.693 +setting the "hide in export" flag.
1.694 +\begin{center}
1.695 + \includegraphics[width=0.5cm]{flag-hideexport.png}
1.696 +\end{center}
1.697 +You can toggle this flag in the toolbar or by pressing \key{H}.
1.698 +Note that there is a global option in the settings menu to toggle the
1.699 +use of this flag. By default the flag is enabled.
1.700 +
1.701 +\subsubsection*{Open Office}
1.702 +Open Office beginning with version~2 uses the so called "Open Office
1.703 +Document Format", which can be written by \vym. The options are
1.704 +currently limited, but it possible to export presentations which can be
1.705 +opened in Open Office Impress. By selecting
1.706 +\begin{itemize}
1.707 + \item File \ra Export\ra Open Office
1.708 +\end{itemize}
1.709 +you get a file dialogue where you can choose the output file and the
1.710 +file type:
1.711 +\begin{center}
1.712 + \includegraphics[width=12cm]{export-oo.png}
1.713 +\end{center}
1.714 +The file types represent various templates, which can be created with
1.715 +some manual work from an existing Open Office document. The structure of
1.716 +\vym map is then inserted into a template.
1.717 +There are some limitations at the moment:
1.718 +\begin{itemize}
1.719 + \item \vym can't take care of page lengths, so you have to check and
1.720 + probably reedit in Open Office to avoid text running over the end of
1.721 + a page
1.722 + \item Images and flags are not used at the moment
1.723 + \item Notes are just written as plain text, without RichText
1.724 +\end{itemize}
1.725 +Some of the templates make use of {\em sections} e.g. insert the
1.726 +headings of mainbranches as chapters for sections into the presentation.
1.727 +
1.728 +\subsubsection*{Image}
1.729 +\vym supports all image formats which are natively supported by the
1.730 +QT~toolkit:
1.731 +BMP, JPEG, PBM, PGM, PNG, PPN, XPM, and XBM.
1.732 +For use in websites and for sending images by email PNG is a good
1.733 +recommodation regarding quality and size of the image. \vym uses QTs
1.734 +default options for compressing the images.
1.735 +
1.736 +\subsubsection*{ASCII}
1.737 +Exporting an image as text is somewhat experimental at the moment. Later
1.738 +this will probably done using stylesheets. So the output may change in
1.739 +future versions of \vym.
1.740 +
1.741 +\subsubsection*{\LaTeX}
1.742 +\vym can generate an input file for \LaTeX. Currently this is considered
1.743 +as experimental, there are no options (yet).
1.744 +By selecting
1.745 +\begin{itemize}
1.746 + \item File \ra Export\ra \LaTeX
1.747 +\end{itemize}
1.748 +you will be asked in a file dialog for the name of the output file. This
1.749 +file should be included in a \LaTeX document using command
1.750 +\begin{verbatim}
1.751 + \include{inputfile.tex}
1.752 +\end{verbatim}
1.753 +
1.754 +\subsubsection*{KDE Bookmarks}
1.755 +\vym will overwrite the KDE bookmarks file and then try to notify
1.756 +running konquerors via DCOP of the changed file. \vym does not create a
1.757 +backup!
1.758 +\begin{itemize}
1.759 + \item File \ra Export \ra KDE Bookmarks
1.760 +\end{itemize}
1.761 +
1.762 +
1.763 +\subsubsection*{XHTML (Webpages)}
1.764 +
1.765 +This is the format you want to use to create a webpage. For an example
1.766 +have a look at the \vym homepage:
1.767 +\href{http://www.InSilmaril.de/vym}{www.InSilmaril.de/vym}
1.768 +
1.769 +Some explanation how this works:
1.770 +Before a map is exported as XHTML, it will be first written as XML into a
1.771 +directory (see \ref{xmlexport}). Then the external program {\tt
1.772 +xsltproc}\footnote{On SUSE Linux {\tt xsltproc} is installed by
1.773 +default.}
1.774 +will be called to process the XML file and generate HTML code.
1.775 +A dialog allows to set various options:
1.776 +\begin{itemize}
1.777 + \item {\bf Include image:} If set, \vym will creat an image map at
1.778 + the top of the HTML output. Clicking on a branch in the map will
1.779 + jump to the corresponding section in the output.
1.780 +
1.781 + \item {\bf Colored headings:}
1.782 + If set to yes, \vym will color the headings in the text part with the
1.783 + same colors like in the map.
1.784 + \item {\bf Show Warnings:}
1.785 + If set to yes, \vym will ask before overwriting data.
1.786 + \item {\bf Show output:}
1.787 + This is useful mainly for debugging. It will show how the processing of
1.788 + the XML file works by calling the external {\tt xsltproc}.
1.789 +\end{itemize}
1.790 +Additionally the paths to the CSS and XSL stylesheets can be set. By
1.791 +default on SUSE~Linux they will be in {\tt /usr/share/vym/styles}.
1.792 +
1.793 +
1.794 +\subsubsection*{XML} \label{xmlexport}
1.795 +The map is written into a directory both as an image and as XML. The
1.796 +directory is set in a file dialog. If the directory is not empty, you
1.797 +will be questioned if you risk to overwrite its contents.
1.798 +
1.799 +It is possible to export different maps into the same directory. Each
1.800 +file generated will have the map's name as prefix, e.g. {\tt todo.vym}
1.801 +becomes {\tt todo.xml}, {\tt todo.png}, {\tt todo-image-1.png} and so
1.802 +on. This is useful if e.g. for a website several combined maps have to
1.803 +be stored in the same directory.
1.804 +
1.805 +\subsubsection*{Export a part of a map}
1.806 +Select a branch you want to export together with its childs, then open
1.807 +the context menu and choose {\em Save Selection}. This will create a
1.808 +file with the postfix {\tt .vyp}, which is an abbreviation for \lq vym
1.809 +part\rq.
1.810 +
1.811 +
1.812 +\section{Advanced Editing}
1.813 +
1.814 +\subsection{How to deal with Bookmarks} \label{bookmarks}
1.815 +\subsubsection*{Open new tabs instead of new windows}
1.816 +If you use konqueror as browser, \vym will remember the konqueror which
1.817 +was opened first by \vym. You can also press \key{Ctrl} and click to
1.818 +open the link in a new tab then.
1.819 +
1.820 +\vym can also open a new tab in Mozilla or Firefox using the remote
1.821 +command\footnote{\href{http://www.mozilla.org/unix/remote.html}{http://www.mozilla.org/unix/remote.html}}
1.822 +of these.
1.823 +
1.824 +\subsubsection*{Drag and Drop}
1.825 +If you want to keep bookmarks in a map, select a branch where you want
1.826 +to add the bookmark, then simply drag the URL from your browser to the
1.827 +map. Also you could use an existing heading as URL: Right click onto the
1.828 +branch and select "Use heading for URL".
1.829 +
1.830 +
1.831 +\subsubsection*{Directly access bookmark lists of a browser}
1.832 +Please see the sections \ref{import} and \ref{export} about
1.833 +Import and Export filters.
1.834 +
1.835 +\subsubsection*{Special URLs}
1.836 +\vym can turn an existing heading of a branch into an URL. Currently
1.837 +this works for Bugentries in the Novell Bugtracking system: Open the
1.838 +context menu of a branch (usually by right-clicking it) and select
1.839 +\begin{itemize}
1.840 + \item Create URL to Bugzilla
1.841 +\end{itemize}
1.842 +The URL will be build from the number in the heading.
1.843 +
1.844 +\subsection{Including images into a branch}
1.845 +The default setting of an image is to float "freely". They can be
1.846 +positioned everywhere, but they might end up in the same place as other
1.847 +parts of the map.
1.848 +
1.849 +The solution is to include them "into" a branch. This can be done via
1.850 +the context menu of their parent branch:
1.851 +\begin{itemize}
1.852 + \item Include images horizontally
1.853 + \item Include images vertically
1.854 +\end{itemize}
1.855 +The image ist still positioned relatively to its parent branch, but the
1.856 +heading and border of the branch adapt to the floating image, see below:
1.857 +\begin{center}
1.858 + \includegraphics[width=11cm]{includeImages.png}
1.859 +\end{center}
1.860 +
1.861 +\subsection{Modifier Modes}
1.862 +Modifiers are for example the \key{Shift}- or the \key{Alt}-keys. When
1.863 +pressed while doing actions with the mouse, they will cause \vym to use
1.864 +a "modified" action. E.g. you can move branches with mouse. If
1.865 +\key{Ctrl} or \key{Alt}is pressed while releasing the branch, it will be
1.866 +added above/below the target, not as child of the target.
1.867 +
1.868 +Without a modifier pressed, the first click on a branch just selects
1.869 +it. For the behaviour of the \key{Ctrl} modifier there are several
1.870 +options, which can be set from the modifier toolbar:
1.871 +\begin{center}
1.872 + \includegraphics[width=3cm]{modmodes.png}
1.873 +\end{center}
1.874 +The default is to copy the color from the clicked branch to the already
1.875 +selected branch. In the toolbar shown above the default modifier is
1.876 +selected, namely to copy the color of a branch. The second modifier
1.877 +let's you easily copy a whole branch with a single click. The third
1.878 +modifier lets you create {\em xLinks}, which will be explained in the
1.879 +next section.
1.880 +
1.881 +\subsection{Hide links of unselected objects}
1.882 +Sometimes it would be useful to position a branch freely, just like a
1.883 +mainbranch or an image. Though this is not possible (yet) for all
1.884 +branches, you can use a mainbranch and hide its connecting link to the
1.885 +mapcenter. This can be used e.g. for legends or a collection of vymLinks
1.886 +pointing to other maps:
1.887 +\begin{center}
1.888 + \includegraphics[width=9cm]{hiddenlink.png}
1.889 +\end{center}
1.890 +
1.891 +
1.892 +\subsection{XLinks} \label{xlinks}
1.893 +So far all the data in the \vym map has been treelike. Using xLinks you
1.894 +can link one branch to any other, just like attaching a rope between two
1.895 +branches in a real tree. This is especially useful in complex maps,
1.896 +where you want to have crossreferences which don't fit on the same
1.897 +visible area, which fits on your screen. The following example, which is
1.898 +part of the \vym package, still fits on one screen, but shows how data
1.899 +can be crosslinked. In the graphics there is a link from a task (prepare
1.900 +a presentation) to general information:
1.901 +\begin{center}
1.902 + \includegraphics[width=12cm]{xlink.png}
1.903 +\end{center}
1.904 +Note that a xLink which points to a branch that is not visible (because
1.905 +it is scrolled), is just show as a little horizontal arrow. In the
1.906 +screenshot above have a look at the \lq Tuesday\rq\ branch.
1.907 +
1.908 +\subsubsection*{Create a xLink}
1.909 +Choose the link mode from the modifier toolbar (by clicking or pressing
1.910 +\key{L}). Select the branch, where the xLink should start. Press the
1.911 +modifier key \key{Ctrl} and simultanously click on the branch where the
1.912 +link should end. (The link is already drawn before you release the mouse
1.913 +key). If you release the mouse over a branch the xLink becomes
1.914 +permanent.
1.915 +
1.916 +\subsubsection*{Modify or delete a xLink}
1.917 +Open the context menu of a branch and select \lq Edit xLink\rq. A
1.918 +submenu contains all the xLinks of the branch (if there are any). They
1.919 +are named like the branches, where they end. Choose one and
1.920 +the xLink dialogue opens, where you can set color, width and also delete
1.921 +the xLink.
1.922 +
1.923 +\subsubsection*{Follow a xLink}
1.924 +In a complext \vym map it sometimes comes handy to jump to the other end
1.925 +of a xLink. You can do this by opening the context menu of the branch
1.926 +and clicking on \lq Goto xLink\rq and selecting the xLink you want to
1.927 +follow.
1.928 +
1.929 +
1.930 +
1.931 +\subsection{Adding and removing branches}
1.932 +The context menu of a branch shows some more ways to add and delete data
1.933 +e.g. you can delete a branch while keeping its childs. The childs become
1.934 +linked to the parent of the previously removed branch.
1.935 +Similar branches can be inserted into existing maps. For keyboard
1.936 +shortcuts also have a look at the context menu.
1.937 +
1.938 +\subsection{Adding a whole map or a part of a map}
1.939 +Select a branch where you want to add a previously saved map ({\tt .vym})or a part
1.940 +of a map ({\tt .vyp}) , then open
1.941 +the context menu and choose {\em Add \ra Import}. For the import you can
1.942 +choose between {\em Import Add} and {\em Import Replace}: The imported
1.943 +data will be added after the selection resp. replace the selection.
1.944 +
1.945 +
1.946 +\section{\vym on Mac OS X}
1.947 +\subsection{Overview}
1.948 +Basically there are two ways to run \vym on Macs:
1.949 +\subsubsection*{QT Mac Edition:}
1.950 + \vym here provides the well known Mac look and feel. \vym is
1.951 + available as zipped Mac OS X application. It has been compiled and
1.952 + tested in Mac~OS~10.3, but should also work on Tiger. It is using
1.953 + the Mac version of Trolltechs QT library.
1.954 +\subsubsection*{X11}
1.955 + \vym can also be run using the Linux version, but then menus and
1.956 + handling will also be those of the Linux version e.g. The menu bar
1.957 + will look different.
1.958 +
1.959 +\subsection {Contextmenu and special keys}
1.960 +Most Macs unfortunatly just have a single mouse button. In order to show
1.961 +the context menu which usually would be opened with the right mouse
1.962 +button, you can click while pressing the \key{kommand}-key.
1.963 +
1.964 +Especially on Laptops some of the keys usually used on PC keyboards seem
1.965 +to be missing. The QT-Mac Edition of \vym has its own keyboard
1.966 +shortcuts. To find the shortcuts just have a look at all the menu
1.967 +entries, the shortcut is visible next to an entry. Toolbar buttons also
1.968 +may have shortcuts, just position the mouse pointer over a button and
1.969 +wait for the little help window to appear.
1.970 +
1.971 +\subsection {Viewing external links}
1.972 +\vym on Mac uses the system call {\tt /usr/bin/open} to view links.
1.973 +Mac~OS determines automatically if the link is a pdf or www page and
1.974 +opens the right browser.
1.975 +
1.976 +
1.977 +\begin{appendix}
1.978 +
1.979 +\section{Starting \vym}
1.980 +\subsection{Path to ressources}
1.981 +\vym will try to find its ressources (images, stylesheets, filters,
1.982 +etc.) in the following places:
1.983 +\begin{enumerate}
1.984 + \item Path given by the environment variable {\tt VYMHOME}.
1.985 + \item If called with the local option (see \ref{options} below),
1.986 + \vym will look for its data in the current directory.
1.987 + \item {\tt /usr/share/vym}
1.988 + \item {\tt /usr/local/share/vym}
1.989 +\end{enumerate}
1.990 +
1.991 +\subsection{Command line options} \label{options}
1.992 +\vym has the following options:
1.993 +\begin{center}
1.994 +\begin{tabular}{ccp{8cm}}\\
1.995 +\bf Option & \bf Comment & \bf Description \\ \hline
1.996 +v & version & Show version ov \vym\\
1.997 +l & local & Use local paths to stylesheets, translations, icons,
1.998 + etc. instead of system paths. Useful for testing\\
1.999 +h & help & Show help\\
1.1000 +q & quit & Quit immediatly after startup. Useful for benchmarks.\\
1.1001 +\end{tabular}
1.1002 +\end{center}
1.1003 +You can also give several filenames at the commandline to let \vym open
1.1004 +several maps at once.
1.1005 +
1.1006 +\section{Contributing to \vym}
1.1007 +So far I'd say I have written 98\% of the code on my own. No surprise,
1.1008 +that \vym exactly fits my own needs. Nevertheless I would like to
1.1009 +encourage all users of \vym to contribute. Maybe not only with feature
1.1010 +requests, but also with code, new import/export filters, translations
1.1011 +etc. In this appendix I'll try to show how easy it is to expand the
1.1012 +things you can do already with \vym. I really look forward to hear from
1.1013 +you!
1.1014 +
1.1015 +\subsection{Getting help}
1.1016 +
1.1017 +\subsubsection*{Frequently asked questions}
1.1018 +Please refer to the FAQ available on the \vym website:
1.1019 +\begin{center}
1.1020 +\href{http://www.InSilmaril.de/vym/faq.html}{http://www.InSilmaril.de/vym/faq.html}
1.1021 +\end{center}
1.1022 +
1.1023 +\subsubsection*{Mailinglists}
1.1024 +There are two mailinglists: {\tt vym-forum} is the \vym users forum to
1.1025 +discuss various questions, while {\tt vym-devel} is intended for people
1.1026 +interested in contributing to \vym. You can view the archives and
1.1027 +subscribe at
1.1028 +\begin{center}
1.1029 +\href{https://sourceforge.net/mail/?group_id=127802}{https://sourceforge.net/mail/?group\_id=127802}
1.1030 +\end{center}
1.1031 +
1.1032 +\subsubsection*{Contacting the author}\label{author}
1.1033 +Especially for support questions please try the mailinglists first. If
1.1034 +everything else fails you can contact the Uwe Drechsel at
1.1035 +\begin{center}
1.1036 +\href{mailto:vym@InSilmaril.de}{vym@InSilmaril.de}
1.1037 +\end{center}
1.1038 +
1.1039 +
1.1040 +
1.1041 +\subsection{How to report bugs}
1.1042 +Though Sourceforge has its own bugreporting system, I'd rather prefer if
1.1043 +you contact me directly (see \ref{author}) or even better: You can file
1.1044 +a bugreport in Bugzilla, the bugtracking system of openSUSE:
1.1045 +\begin{center}
1.1046 +\href{http://en.opensuse.org/Submit_a_bug}{http://en.opensuse.org/Submit\_a\_bug}
1.1047 +\end{center}
1.1048 +I build \vym regulary for openSUSE, so you may report it against a
1.1049 +recent version there, even if you use another Operating System.
1.1050 +Please don't forget to tell
1.1051 +\begin{itemize}
1.1052 + \item the exact steps needed to reproduce the bug
1.1053 + \item the version and build date of \vym (see the Help \ra About
1.1054 + \vym)
1.1055 + \item hardware and Operating System
1.1056 +\end{itemize}
1.1057 +
1.1058 +\subsection{Compiling from the sources}
1.1059 +\subsubsection{Getting the sources} \label{getsources}
1.1060 +You find the latest version of \vym at the project site:
1.1061 +\begin{center}
1.1062 +\href{https://sourceforge.net/projects/vym/}{https://sourceforge.net/projects/vym/}
1.1063 +\end{center}
1.1064 +There you can check them out of the source repository (CVS):\\
1.1065 +
1.1066 +\begin{verbatim}
1.1067 +cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/vym checkout code
1.1068 +\end{verbatim}
1.1069 +
1.1070 +\subsubsection{The Qt toolkit}
1.1071 +Qt is C++ toolkit for multiplatform GUI and application development. It
1.1072 +provides single-source portability across MS~Windows, Mac~OS~X, Linux
1.1073 +ans all major commercial Unix variants. Qt is also available for
1.1074 +embedded devices. Qt is a Trolltech product. For more information see
1.1075 +\begin{center}
1.1076 +\href{http://www.trolltech.com/qt/}{www.trolltech.com/qt}
1.1077 +\end{center}
1.1078 +
1.1079 +
1.1080 +\subsubsection{Compiling \vym }
1.1081 +Make sure you have installed your Qt environment properly, see the Qt
1.1082 +documentation for details. You need to have the Qt command {\tt qmake}
1.1083 +in your {\tt PATH}-environment, then run
1.1084 +\begin{verbatim}
1.1085 +qmake
1.1086 +make
1.1087 +make install
1.1088 +\end{verbatim}
1.1089 +The last command {\tt make install} needs root-permissions. Of course it
1.1090 +may be omitted, if you just want to test \vym.
1.1091 +
1.1092 +%\subsubsection*{Compiling \vym on Macs}
1.1093 +%TODO
1.1094 +
1.1095 +\subsection{\vym file format} \label{fileformat}
1.1096 +\vym maps usually have the postfix "{\tt .vym}" and represent a
1.1097 +compressed archive of data. If you want to have a
1.1098 +closer look into the data structure map called "mapname.vym",
1.1099 +just uncompress the map manually using
1.1100 +\begin{verbatim}
1.1101 + unzip mapname.vym
1.1102 +\end{verbatim}
1.1103 +This will create directories named {\tt images} and {\tt flags} in your
1.1104 +current directory and also the map itself, usually named {\tt
1.1105 +mapname.xml}.
1.1106 +The XML structure of \vym is pretty self explaining, just have a look at
1.1107 +{\tt mapname.xml}.
1.1108 +
1.1109 +This XML file can be loaded directly into \vym, it does not have to be
1.1110 +compressed. If you want to compress all the data yourself, use
1.1111 +\begin{verbatim}
1.1112 + zip -r mapname.vym .
1.1113 +\end{verbatim}
1.1114 +to compress all data in your current directory.
1.1115 +
1.1116 +\subsection{New features}
1.1117 +There are lots of features which might find their way into \vym.
1.1118 +Together with \vym you should have received a directory with several
1.1119 +maps e.g. on SUSE~LINUX this is
1.1120 +\begin{center}
1.1121 + {\tt /usr/share/doc/packages/vym/demos}
1.1122 +\end{center}
1.1123 +where you find the map {\tt todo.vym}. It lists quite a lot of things to
1.1124 +be done in future. If you have more ideas, contact the development team
1.1125 +at
1.1126 +{\tt vym-devel@lists.sourceforge.net}.
1.1127 +
1.1128 +
1.1129 +\subsection{New languages support}
1.1130 +In order to add a new language to \vym you need
1.1131 +the sources (see \ref{getsources}) and
1.1132 +an installation of Trolltechs QT. A part of QT are the development
1.1133 +tools, from those tools especially the translation tool "Linguist" is
1.1134 +needed.
1.1135 +
1.1136 +In some Linux distributions the development tools are in an extra package, e.g. on SUSE LINUX you should have installed:
1.1137 +\begin{verbatim}
1.1138 + qt3-devel.rpm
1.1139 + qt3-devel-doc.rpm
1.1140 + qt3-devel-tools.rpm
1.1141 + qt3-man.rpm
1.1142 +\end{verbatim}
1.1143 +If you don't have QT in your system, you can get it from
1.1144 + \href{http://www.trolltech.com}{http://www.trolltech.com} Once you
1.1145 + are able to compile vym yourself, you can translate the text in vym
1.1146 + itself by performing the following steps:
1.1147 +\begin{itemize}
1.1148 + \item Let's assume now your encoding is "NEW" instead of for example
1.1149 + "de" for german or "en" for english
1.1150 +
1.1151 + \item Copy the file {\tt lang/vym\_en.ts} to l{\tt ang/vym\_NEW.ts} (The code
1.1152 + itself contains the english version.)
1.1153 +
1.1154 + \item Add {\tt lang/vym\_NEW.ts} to the TRANSLATIONS section of vym.pro
1.1155 +
1.1156 + \item Run Linguist on {\tt vym\_NEW.ts} and do the translation
1.1157 +
1.1158 + \item Run {\tt lrelease} to create {\tt vym\_NEW.qm}
1.1159 +
1.1160 + \item Do a make install to install the new vym and check your translation
1.1161 +\end{itemize}
1.1162 +
1.1163 +If you feel brave, you can also translate the manual. It is written in
1.1164 +LaTeX, you just have to change the file tex/vym.tex. (Linguist and QT
1.1165 +are not needed, but it is useful to know how to work with LaTeX and esp.
1.1166 +pdflatex to create the PDF.)
1.1167 +
1.1168 +Please mail me every translation you have done. I can also give you a
1.1169 +developer access to the project, if you want to provide translations
1.1170 +regulary.
1.1171 +
1.1172 +\subsection{New export/import filters}
1.1173 +\vym supports various kinds of filters. Data can be written directly,
1.1174 +inserted into templates or it can be written as XML data and then
1.1175 +processed by XSL transformations.
1.1176 +
1.1177 +Most of the import/export functionality is available in the classes
1.1178 +ImportBase and ExportBase and subclasses. All of them can be found in
1.1179 +{\tt imports.h} and {\tt exports.h}.
1.1180 +
1.1181 +\subsubsection*{Direct import/export}
1.1182 +An example for a direct export is the XML export. This method touches
1.1183 +the implementation of nearly every object of \vym, so whenever possible
1.1184 +you should better use a XSL transformation instead.
1.1185 +
1.1186 +If you still want to know how it is done, start looking at
1.1187 +{\tt MapEditor::saveToDir} in {\tt mapeditor.cpp}.
1.1188 +
1.1189 +\subsubsection*{Templates}
1.1190 +Templates have been introduced to export to opendoc format used e.g. by
1.1191 +Open~Office. While I read the spec ($>$ 500 pages) about the format\footnote{
1.1192 +\href{http://www.oasis-open.org/}{http://www.oasis-open.org/}}\
1.1193 +I had the feeling that I did not want to write the export from scratch.
1.1194 +It would be too complex to adapt the styles to your own wishes, e.g. the
1.1195 +layout.
1.1196 +
1.1197 +Instead I analyzed existing Open~Office documents. I found out that
1.1198 +there are lots of redundant bits of information in a standard
1.1199 +presentation, for example each list item is contained in its own list.
1.1200 +In the end I came up with the default presentation style, which still
1.1201 +could be simplified, just in case you have free time\ldots
1.1202 +
1.1203 +The existing templates are still work in progress, before you spent too
1.1204 +much time developing your own style, please contact me. Basically the
1.1205 +following steps are needed to build your own style:
1.1206 +\begin{enumerate}
1.1207 + \item Create an example in Open Office. Use a title, authors name,
1.1208 + page heading etc.\ which you can easily grep for in the output file.
1.1209 +
1.1210 + \item Unzip the Open Office document into a directory.
1.1211 +
1.1212 + \item The main file is called {\tt content.xml}. All data is in one
1.1213 + single line. You can split the XML tags using the script {\tt
1.1214 + scripts/niceXML}, which is part of the \vym distribution.
1.1215 +
1.1216 + \item Copy the output of {\tt niceXML} to {\tt
1.1217 + content-template.xml}.
1.1218 +
1.1219 + \item Looking closer you will find lots of unused definitions, for
1.1220 + example of styles. You can delete or simply ignore them.
1.1221 +
1.1222 + \item Try to find your title, authors name. \vym will replace the
1.1223 + following strings while exporting:
1.1224 + \begin{center}
1.1225 + \begin{tabular}{lp{4cm}}
1.1226 + {\tt <!-- INSERT TITLE -->} & title of map \\
1.1227 + {\tt <!-- INSERT AUTHOR--> } & author \\
1.1228 + {\tt <!-- INSERT COMMENT -->} & comment \\
1.1229 + {\tt <!-- INSERT PAGES-->} & content of map \\
1.1230 + \end{tabular}
1.1231 + \end{center}
1.1232 + The content itself is generated in a similar way by inserting lists
1.1233 + into {\tt page-template}. Here the following substitutions are made:
1.1234 + \begin{center}
1.1235 + \begin{tabular}{lp{7cm}}
1.1236 + {\tt <!-- INSERT PAGE HEADING-->} & heading of a page
1.1237 + (mainbranch or child of mainbranch, depending on the use of
1.1238 + sections) \\
1.1239 + {\tt <!-- INSERT LIST --> } & all childs of the branch above \\
1.1240 + \end{tabular}
1.1241 + \end{center}
1.1242 +\end{enumerate}
1.1243 +Currently images are exported and notes just will appear as text
1.1244 +without formatting and colors.
1.1245 +
1.1246 +
1.1247 +
1.1248 +
1.1249 +\subsubsection*{XSL Transformation}
1.1250 +\vym uses XSL transformations while exporting (e.g. XHTML) and importing
1.1251 +data (e.g. KDE bookmarks). There is a little code needed to provide the
1.1252 +GUI, the rest is done using the {\tt .xsl} stylesheet and calling the
1.1253 +{\tt xsltproc} processor, which is part of libxslt, the XSLT
1.1254 +C library for GNOME.
1.1255 +
1.1256 +\end{appendix}
1.1257 +\end{document}
1.1258 +
1.1259 +%TODO
1.1260 +%\subsubsection{Menus}
1.1261 +%\subsubsection{Keyboard shortcuts}
1.1262 +%Where does vym save its settings? -> ~/.qt/vymrc
1.1263 +
1.1264 +
1.1265 +% INDEX
1.1266 +% mapeditor
1.1267 +% noteditor
1.1268 +% branch
1.1269 +% mapcenter
1.1270 +% heading
1.1271 +% flag
1.1272 +% orientation
1.1273 +% zoom
1.1274 +% orientation
1.1275 +% Toolbar
1.1276 +% Zoom
1.1277 +% Find
1.1278 +% statusbar
1.1279 +% link
1.1280 +% mainbranch
1.1281 +% subtree
1.1282 +% reorder
1.1283 +% scroll
1.1284 +% fold
1.1285 +% vymlink
1.1286 +% xlink
1.1287 +% modMode
1.1288 +% context menu
1.1289 +% Mac OS X
1.1290 +
1.1291 +
1.1292 +
1.1293 +\end{document}