tex/vym.tex
author insilmaril
Mon, 27 Mar 2006 20:21:58 +0000
changeset 264 4ee885c3b72c
parent 260 69d648a0a15b
child 266 7d91b35c1b6f
permissions -rw-r--r--
More documentation, fixed small bug where links of unselected objects where visible again
     1 \documentclass{article}
     2 \usepackage{a4}
     3 \usepackage[latin1]{inputenc}
     4 \usepackage{verbatim}
     5 \usepackage{hyperref}
     6 \usepackage{graphicx}
     7 \usepackage{longtable}
     8 
     9 
    10 %\input{udmath}
    11 
    12 
    13 \hypersetup{bookmarks, bookmarksopen,
    14   pdftitle={VYM - a tool for visual thinking },
    15   pdfauthor={Uwe Drechsel},    
    16   pdfsubject={map},
    17   pdfkeywords={map, tool},
    18   pdfpagemode={UseOutlines},                                 
    19   bookmarksopenlevel={1},   
    20   colorlinks={true},     
    21   linkcolor={blue},
    22   urlcolor={green},
    23   citecolor={red}} 
    24 
    25 
    26 \newcommand{\vym}{{\sc vym }}
    27 \newcommand{\ra}{$\longrightarrow$}
    28 \newcommand{\la}{$\longleftarrow$}
    29 \newcommand{\ua}{$\uparrow$}
    30 \newcommand{\da}{$\downarrow$}
    31 \newcommand{\key}[1]{[#1]}
    32 
    33 \begin{document}
    34 \title{
    35 	\includegraphics[width=8cm]{vym-logo-new.png}
    36 	\\
    37 VYM \\ -- \\View Your Mind}
    38 \author{\textcopyright Uwe Drechsel  }
    39 
    40 
    41 \maketitle
    42 
    43 \newpage
    44 
    45 \tableofcontents
    46 
    47 \newpage
    48 
    49 \section{Introduction}
    50 \subsection{What is a \vym map?}
    51 A \vym map (in short words {\em map}) is a tree like structure:
    52 \begin{center}
    53 	\includegraphics[width=12cm]{example1.png}
    54 \end{center}
    55 Such maps can be drawn by hand on a paper or flip chart and help to
    56 structure your thoughts. While a tree like structure like above can be
    57 drawn manually \vym offers much more features to work with such maps.
    58 \vym is not another drawing software, but a tool to store and modify
    59 information in an intuitive way. For example you can reorder parts of
    60 the map by pressing a key or add various information like a complete
    61 email by a simple mouse click.
    62 
    63 Once you have finished collecting and organizing your ideas, you can
    64 easily generate for example a presentation in Open~Office based on a
    65 map.
    66 
    67 \subsection{Why should I use maps? Time, Space and your Brain.}
    68 \subsubsection*{Space}
    69 A map can concentrate a very complex content on little space e.g. a
    70 piece of paper. It helps to use both sides of your brain: the logical
    71 side and also your creative side (e.g. by using pictures, colors and
    72 keywords in a map, so called {\em anchors}).  It is a technique to
    73 organize the way you think: It can help you by developing, sorting and
    74 memorizing your thoughts. 
    75 
    76 \subsubsection*{Time}
    77 Because you just use keywords and drawings, it is much faster than good
    78 old fashioned notes. Your brain memorizes things by associating them to
    79 other things -- a map makes use of those connections and stimulates
    80 new asccociations. 
    81 
    82 
    83 \subsubsection*{Your Brain}
    84 In 1960 the Prof. {\sc Roger Sperry} discovered that both hemispheres
    85 of the human brain have different tasks (of course both of them
    86 basically {\em can} do the same): 
    87 \begin{center}
    88 \begin{tabular}{|p{5.5cm}|p{5.5cm}|} \hline
    89 	Left side & Right side \\ \hline
    90 	\begin{itemize}
    91 	   \item verbal speech and writing 
    92 	   \item numbers
    93 	   \item logical thinking
    94 	   \item analyzing and details
    95 	   \item science
    96 	   \item linear thinking
    97 	   \item concept of time
    98 	\end{itemize} &
    99 	\begin{itemize}
   100 		\item body language
   101 		\item visual thinking, day dreams
   102 		\item intuition and emotion
   103 		\item overview of things
   104 		\item creativity
   105 		\item art, music, dancing
   106 		\item non-linear thinking, connecting things
   107 		\item spatial awareness
   108 	\end{itemize}     \\ \hline
   109 \end{tabular}	
   110 \end{center}
   111 In our science oriented society we have learned to mainly rely on our
   112 left side of the brain, the "rational" one. In other cultures,
   113 especially like the native americans and other "old" cultures, the right
   114 side is much more important. Maps are just one way to stimulate the
   115 other side and make use of additional ressources we all have.
   116 
   117 
   118 \subsection{Where could I use a map?}
   119 Here are some examples, how you can use those maps
   120 \begin{itemize}
   121     \item to prepare articles, papers, books, talks, \ldots
   122     \item to sort complex data
   123     \item to memorize facts, persons, vocabulary, \ldots
   124     \item to sort emails, files and bookmarks on your computer
   125     \item to moderate conferences
   126 \end{itemize}
   127 
   128 \subsection{What you shouldn't do with a map...}
   129 A map drawn by somebody shows the way the author thinks. There is
   130 no right or wrong in the way it is drawn, so there is no way to criticize
   131 it. "It is, what it is" ({\sc F.~Lehmann}).
   132 
   133 %\section{Tutorials}
   134 %TODO
   135 
   136 \subsection{Internet Ressources} 
   137 A good starting point to learn more about maps in general is Wikipedia:
   138 \begin{itemize}
   139 	\item English: 
   140 		\href{http://en.wikipedia.org/wiki/Mind_map}{http://en.wikipedia.org/wiki/Mind\_map}
   141 	\item German: 
   142 		\href{http://de.wikipedia.org/wiki/Mindmap}{http://de.wikipedia.org/wiki/Mindmap}
   143 \end{itemize}
   144 
   145 
   146 
   147 
   148 \section{Concept of \vym}
   149 %TODO may add a general introduction here...
   150 \subsection{Windows: mapeditor and noteeditor}
   151 \vym uses two windows: an editor for the map itself and another one for
   152 notes, which are part of the map. Let's call them {\em mapeditor} and
   153 {\em noteeditor}: 
   154 \begin{center}
   155 	\includegraphics[width=8cm]{windows.png}
   156 \end{center}
   157 Usually you will work in the {\em mapeditor} by just adding new
   158 branches, moving around and reordering them. The various ways to do this
   159 will be explained in \ref{mapeditor}. You can store additional
   160 information e.g. the content of a email easily in a {\em branch}: Just
   161 type or copy\&paste it into the {\em noteeditor}. Working with notes is
   162 explained in \ref{noteeditor}
   163 
   164 \subsection{Menus and Context menus}
   165 On top of each window you find the menubar. The options you find there
   166 are similar to those you are used from other applications. Note that
   167 many (and even more) options are availabe via {\em context menus}. Those
   168 are available if you right-click onto an object in a map (on Mac~OS~X
   169 Command-Click).
   170 
   171 \subsection{Toolbars}
   172 The toolbars in the mainwindows give quick access to many functions and
   173 also visualize the state of an object. For example a part of of the map
   174 can be hidden when the map is exported into an Open~Office presentation.
   175 To show this the branch in the map will have a little cloud symbol,
   176 which is also "switched on" in the toolbar.
   177 
   178 Note that you can reposition all toolbars by simply grabbing them. For
   179 example you can move the flags-toolbar from its original horizontal
   180 position on top of the mapeditor to a vertical position on the right
   181 side. You can even detach it and make it "float" separate from the other
   182 windows. Or just insert it again at its original position.
   183 
   184 \subsection{Maps}
   185 The map itself has always a {\em mapcenter}.  The
   186 mapcenter has {\em branches} just like the trunk of a tree. Each branch
   187 in turn may have branches again.
   188 \begin{center}
   189 	\includegraphics[width=10cm]{branches.png}
   190 \end{center}
   191 We will call a branch directly connected to the mapcenter a {\em
   192 mainbranch}, because it determines the position of all its child
   193 branches.
   194 
   195 The mapcenter and the branches all have a {\em heading}. This is the
   196 text you see in the mapeditor. Usually it should just be one or a few
   197 words, so that one can easily keep track of the whole map.
   198 
   199 
   200 In the toolbar above the mapeditor you see various symbols.
   201 \begin{center}
   202 	\includegraphics[width=8cm]{default-flags.png}
   203 \end{center}
   204 These are called {\em flags} and can be used to mark branches in the
   205 map, e.g. if something is important or questionable. 
   206 There are also more flags set by \vym automatically to show additional
   207 information, e.g. when a  exists for a  particular branch.
   208 
   209 By default some of these flags are set exclusively e.g. when the 
   210 "thumb-up" flag is set, then the "thumb down" is unset and vice
   211 versa. You can change this default behaviour in the settings menu.
   212 
   213 %TODO add info about toolbars e.g. undo/redo, ...
   214 
   215 \section{Mapeditor} \label {mapeditor}
   216 \subsection{Start a new map}
   217 After \vym is started two windows will open: the mapeditor and the
   218 noteditor. Usually you will work in both windows, but at the moment we
   219 will just need the mapeditor. 
   220 
   221 Select the mapcenter "New map" in the middle of the mapeditor by
   222 left-clicking with the mouse. It will turn yellow to show that is
   223 selected. There are several ways to add a new branch to the center:
   224 \begin{itemize}
   225 	\item Using the mouse: Open the context meny by clicking with the
   226 	right mouse button (CTRL-Click on Mac) onto the
   227 	mapcenter and choose Add \ra Add as child
   228 	\item Press \key{Ins} or \key{A}
   229 \end{itemize}
   230 A new branch will appear and you will be able to type the heading of the
   231 branch. Finish adding the new branch by pressing \key{Enter}.
   232 %tipp
   233 Sometimes it comes handy to add a new branch above or below the current
   234 one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}. It is also
   235 possible to add a branch in such a way, that the current selection
   236 becomes the child of the new branch, which is like inserting it {\em
   237 before} the selection. This can be done using the context menu.
   238 
   239 \subsection{Navigate through a map}
   240 \subsubsection*{Select branches}
   241 To select branches you can use the left button of your mouse or also the
   242 arrow keys. Depending on the {\em orientation} of a branch type
   243 \key{\la} or \key{\ra} to get nearer to the mapcenter or deeper
   244 down into the branches. Within a set of branches, let's call them a 
   245 {\em subtree}, you can use \key{\ua} and \key{\da} to go up and down. You can
   246 also use \key{Pos1} and \key{End} to select the first and last branch.
   247 
   248 
   249 \subsubsection*{Zoom a map}
   250 While adding more and more branches the size of the map may become
   251 bigger than the mapeditor window. You can use the scrollbars on the
   252 right and the bottom of your mapeditor window to scroll, but it is
   253 easier to just scroll using the left mouse button: Click onto the {\em
   254 canvas} itself, the empty space somewhere between the branches. The
   255 mouse pointer will change from an arrow to a hand, now move the visible
   256 part of the map to show the desired part.
   257 
   258 If you select branches using the arrow keys, the map will scroll
   259 to ensure that the selected branch is always visible.
   260 
   261 Working with huge maps, the {\em zoom}-function comes in handy: You can
   262 use 
   263 \begin{itemize}
   264 	\item from the menu View \ra Zoom
   265 	\item the toolbar buttons 
   266 		\begin{center}
   267 			\includegraphics[width=3cm]{zoom-buttons.png}
   268 		\end{center}	
   269 \end{itemize}	
   270 The crossed magnifying lens resets the zoomed view to its original size.
   271 
   272 
   273 \subsubsection*{Find Function} \label{findwindow}
   274 With huge maps there is the need to have a
   275 find function. Choose Edit \ra Find to open the Find Window:
   276 \begin{center}
   277 	\includegraphics[width=6cm]{find-window.png}
   278 \end{center}	
   279 The text you enter here will be searched in all the headings and also in
   280 notes. Everytime you press the "Find"-button it will look for the next
   281 occurence, which then will be selected automatically. If the search
   282 fails, there will appear a short message "Nothing found" or a few
   283 seconds in the {\em statusbar} on the bottom of the mapeditor.
   284 
   285 \subsubsection*{Keep the overview -- scroll a part of the map}
   286 A very big subtree of a map e.g. a branch with hundreds of childs makes
   287 it very hard to keep an overview over the whole map. You can hide all
   288 the childs of a branch by {\em scrolling} it -- this function is also
   289 often called {\em folding}. Think of the whole subtree as painted onto a
   290 big newspaper. You can scroll the paper to a small roll, leaving just
   291 the headline readable.
   292 
   293 To scroll or unscroll a branch and its childs, press the
   294 \begin{itemize}
   295 	\item \key{Scroll} key or  \key{S}
   296 	\item press the middle-mouse button or
   297 	\item choose the little scroll from the toolbar.
   298 \end{itemize}
   299 If you select parts of a scrolled branch e.g. using the find function or
   300 by using the arrow-keys, it will unscroll temporary. This is shown as a
   301 scroll with a little hour glass. If the temporary unscrolled part is not
   302 longer needed, it will be hidden again automatically. It is also
   303 possible to unscroll all branches using "Edit\ra Unscroll all scrolled
   304 branches".
   305 
   306 You can also hide parts of the map while exporting it e.g. to a webpage
   307 or a presentation, see \ref{hideexport} for details.
   308 
   309 \subsection{Modify and move branches}
   310 \subsubsection*{Modify the heading}
   311 You can edit the heading by selecting the branch and then
   312 \begin{itemize}
   313 	\item pressing \key{Enter}
   314 	\item double-clicking with left mouse.
   315 \end{itemize}
   316 Just type the new heading (or edit the old one) and press \key{Enter}.
   317 
   318 \subsubsection*{Move a branch}
   319 The easiest way to move a branch is to select it with left-mouse and
   320 drag it to the destination while keeping the mouse button pressed.
   321 Depending on the branch  it will be
   322 \begin{itemize}
   323 	\item moved to the destination or
   324 	\item {\em linked} to a new {\em parent} (mapcenter or branch)
   325 \end{itemize}
   326 If you drag the branch over another one or over the mapcenter, you will
   327 notice that the  link connecting it to the old parent will be changed to
   328 lead to the  new parent which is now under your mousepointer. 
   329 If you release the button now, the branch will be relinked.
   330 
   331 If you release the button in the middle of nowhere, the result will
   332 depend on the type of branch you are releasing:
   333 \begin{itemize}
   334 	\item A mainbranch is directly connected to the mapcenter.
   335 		It will stay on its new position.
   336 	\item An ordinary branch will "jump" back to its original position.	
   337 \end{itemize}
   338 Thus you can easily rearrange the layout of the mainbranches to avoid
   339 overlapping of their subtrees.
   340 There is another convenient way to move branches, especially if you want
   341 to {\em reorder} a subtree: You can move a branch up or down in a
   342 subtree by
   343 \begin{itemize}
   344 	\item pressing \key{\ua} and \key {\da}
   345 	\item selecting Edit \ra Move branch
   346 	\item clicking on the toolbar buttons:
   347 		\begin{center}
   348 			\includegraphics[width=1.5cm]{move-buttons.png}
   349 		\end{center}	
   350 \end{itemize}
   351 %tipp
   352 There is yet another way to move branches: If you press \key{Shift} or
   353 \key{Ctrl} while moving with the mouse, the branch will be added above
   354 or below the one the mouse pointer is over. This helps also to reorder a
   355 map.
   356 
   357 \subsection{The right side of your brain - colors and images}
   358 \subsubsection*{Change color of a heading}
   359 You can also use colors to put more information into a map, e.g. use
   360 red, green and more colors to prioritize tasks. Again you can
   361 \begin{itemize}
   362 	\item use the menu and choose e.g Format \rq Set Color
   363 	\item use the toolbar
   364 		\begin{center}
   365 			\includegraphics[width=3cm]{color-buttons.png}
   366 		\end{center}	
   367 \end{itemize}
   368 The first button (black in the graphic above) shows the actual color.
   369 Clicking on it let's you choose another color. You can also "pick"
   370 another color by selecting a branch with the desired color and using the
   371 "pick color" button. Both of the buttons showing a bucket actually put
   372 the current color to the selected branch. While the first one just
   373 colors the heading of the selection, the last one also colors all the
   374 childs of the selected branch.
   375 
   376 %tipp
   377 A very useful function is the "copy color" using the mouse: Select the
   378 branch which should get the new color, then press \key{Ctrl} and
   379 simultanously click with left-mouse on another branch to copy its color
   380 to the first one. Here the childs of the selection also will get the new
   381 color, if you just want to color the selection itself, additionally
   382 press \key{Shift}.
   383 
   384 \subsubsection*{Use flags}
   385 \vym provides various flags. You see them in the toolbar on top of the
   386 mapeditor window. (Note: Like all toolbars you can also move them to the
   387 left or the right side of the window or even detach them. Just grab the
   388 very left "dotted" part of the toolbar with your left-mouse button.) 
   389 \begin{center}
   390 	\includegraphics[width=8cm]{default-flags.png}
   391 \end{center}
   392 If you have a branch selected, you can set any number of flags by
   393 clicking them in the toolbar. The toolbar buttons change their state and
   394 always reflect the flags set in the selected branch.
   395 
   396 Presently \vym uses two kinds of flags: {\em System Flags} and {\em
   397 Standard Flags}. The standard flags are those shown in the toolbar.
   398 System flags are set by \vym to indicate e.g. that there is additional
   399 information in a note (more on this in \ref{noteeditor}). Later versions
   400 of \vym may have another kind of flags, which may be edited by the user.
   401 
   402 \subsubsection*{Images}
   403 The easiest way to add an image to a branch is by dragging it e.g. from a
   404 webbrowser to the mapeditor while a branch is selected there.
   405 
   406 You can also add a image to a branch by opening the context menu of the
   407 branch choose "Add Image". A
   408 dialog window lets you choose the image to load. 
   409 \footnote{Supported image types are: PNG, BMP, XBM, XPM and PNM. It may
   410 	also support JPEG, MNG and GIF, if specially configured during
   411 	compilation (as done when \vym is part of SUSE LINUX).}
   412 While an image is selected in the dialog, you can see a preview of the
   413 image. It is also possible to select multiple images.	
   414 
   415 You can position the image anywhere you want, just drag it with left
   416 mouse. To relink it to another branch, press \key{Shift} while moving
   417 it. To delete it, press \key{Del}. 
   418 
   419 If you right-click onto an image, a context menu will open which let's
   420 you first choose one of several image formats. Then a file dialog opens
   421 to save the image. Hint: This is used to "export" the image, it will be
   422 saved anyway in the map itself! You can also cut and
   423 copy images, but it is not possible to add objects to an image\footnote{
   424 	Images are regarded as "extra feature". It would make working with
   425 	the map much more complex if e.g. images could be linked to images.}
   426 
   427 The option \lq{\bf Use for export} \rq controls the output of exports
   428 e.g. to HTML: If set to no, the image won't appear in the {\em text}
   429 part of the output. This is useful for large images or if images are
   430 used as a kind of frame e.g. the famous cloud symbol around a part of
   431 the map. Those shouldn't appear in the middle of the text.
   432 
   433 At the moment image support is preliminary: Images will be saved
   434 together with all the other data of a map in the {\tt .vym}-file.
   435 Later versions will include more functionality like resizing the images,
   436 changing its z-value (put it into background) etc.
   437 
   438 \subsubsection*{Frames}
   439 A frame can be added to a branch by clicking with the
   440 right-mouse button.  A context menu will open, where you can choose the
   441 frame. At the moment just a rectangle resp. "No Frame" will be offered,
   442 nevertheless you can use images as frames. Have a look at the demo map
   443 {\tt todo.vym} as an example, where the mapcenter is a cloud. You can
   444 use an external drawing program like {\tt gimp} to create an image,
   445 preferable with an transparency channel, so that you can design frames
   446 which don't use a rectangular borderline, just like the cloud.
   447 
   448 
   449 \subsection{Background design}
   450 The design of the background of a map and also of the links connecting
   451 various parts of the map can be changed by
   452 \begin{itemize}
   453 	\item Selecting Format from the menu
   454 	\item Right clicking onto the canvas, which will open a context menu
   455 \end{itemize}
   456 
   457 \subsubsection*{Background color}
   458 The color is set (and also displayed) as "Set background color".
   459 
   460 \subsubsection*{Link color}
   461 Links connecting branches can be colored in one of the following ways:
   462 \begin{itemize}
   463 	\item use the color of the heading of the branch the links is
   464 	\item use {\em one} color for all links. The default color is blue.
   465 	leading to.
   466 \end{itemize}
   467 The latter can be set with "Set link color". Check or uncheck the "Use
   468 color of heading for link" option to choose one of the two designs for
   469 your map.
   470 
   471 \subsubsection*{Link style}
   472 \vym offers four different styles for the appearences of links:
   473 \begin{itemize}
   474 	\item Line
   475 	\item Parabel
   476 	\item Thick Line
   477 	\item Thick Parabel
   478 \end{itemize}
   479 The "thick" styles only draw links starting at mapcenter thick, the rest
   480 of the map is always painted "thin".
   481 
   482 
   483 \subsection{Links to other documents and webpages}
   484 \vym supports two kind of external links:
   485 \begin{itemize}
   486 	\item Document, which will be opened in an external webbrowser
   487 	\item \vym map, which will be opened in \vym itself
   488 \end{itemize}
   489 In addition to the external links there also internal ones, leading from one
   490 branch in a map toanother one. Those are called {\em XLinks} and are explained
   491 in section~\ref{xlinks}.
   492 
   493 \subsubsection*{Webbrowser}
   494 Modern Webbrowsers like {\tt konqueror} are able to display various
   495 types of files, both local or in the internet. To enter the URL of
   496 any document, right-click  onto a branch or use the Edit Menu
   497 and choose "Edit URL". Enter the path to your document (or copy and
   498 paste it from your browser). Examples for valid paths are:
   499 \begin{verbatim}
   500 	http://www.insilmaril.de/vym/index.html
   501 	file:/usr/share/doc/packages/vym/doc/vym.pdf
   502 \end{verbatim}
   503 If an URL was entered, a little globe will appear in the branch. By
   504 clicking on the globe in the toolbar or the context menu an external
   505 browser\footnote{
   506 	The browser can be changed in the Settings Menu.}
   507 will be started.
   508 \begin{center}
   509 	\includegraphics[width=0.5cm]{flag-url.png}
   510 \end{center}
   511 If you want to keep bookmarks in a map, select a branch where you want
   512 to add the bookmark, then simply drag the URL from your browser to the
   513 map. Also you could use an existing heading as URL: Right click onto the
   514 branch and select "Use heading for URL".
   515 
   516 \subsubsection*{\vym map}
   517 To link to to another map right click on a branch or choose "Edit \ra
   518 Enter \vym link". A file dialog opens where you can choose the map. A
   519 branch with a link is marked with 
   520 \begin{center}
   521 	\includegraphics[width=0.5cm]{flag-vymlink.png}
   522 \end{center}
   523 Clicking this flag in the toolbar or in the context menu of a branch
   524 will open the map in another tab (see \ref{tabs} for working with
   525 multiple maps). To delete an existing link, just press the "Cancel"
   526 button.
   527 
   528 Technical note: Internally \vym uses absolute paths, to avoid opening
   529 several tabs containing the same map. When a map is saved, this path is
   530 converted to a relative one (e.g. {\tt /home/user/vym.map} might become
   531 {\tt ./vym.map}. This makes it fairly easy to use multiple maps on
   532 different computers or export them to HTML in future.
   533 
   534 \subsection{Multiple maps} \label{tabs}
   535 You can work on multiple maps at the same time. Each new map is opened
   536 in another {\em tab}. The available tabs are shown just above the
   537 mapeditor. You can use the normal cut/copy/paste functions to
   538 copy data from one map to another.
   539 
   540 %todo
   541 
   542 %TODO
   543 %\subsubsection{Menus}
   544 %\subsubsection{Keyboard shortcuts}
   545 
   546 % Settings
   547 % Images
   548 % Copy & Paste
   549 % Working with tabs (multiple maps)
   550 % Exporting
   551 % Scrolling
   552 
   553 \section{Noteeditor} \label {noteeditor}
   554 If you want to save more text in a branch e.g. a complete email, a
   555 cooking recipe, or the whole source code of a software project, you can
   556 use the noteeditor. 
   557 \begin{center}
   558 	\includegraphics[width=8cm]{noteeditor.png}
   559 \end{center}
   560 This editor displays text associated to a branch selected in the
   561 mapeditor. To visualize that there maybe is no text yet, the noteeditor
   562 shows different background colors depending on its state:
   563 
   564 \subsection{States}
   565 Before you can type or paste text into it, you have
   566 to select a branch in the mapeditor. Note that the background color
   567 of the noteeditor indicates its state:
   568 \begin{itemize}
   569 	\item black: no branch selected
   570 	\item grey: no text entered yet
   571 	\item white: text is already available
   572 \end{itemize}	
   573 To show you in the mapeditor itself that there is a note with more
   574 information for a particular branch, a little note flag will appear next
   575 to the heading of the branch. See the lower branch on the right side:
   576 \begin{center}
   577 	\includegraphics[width=8cm]{branches-flags.png}
   578 \end{center}
   579 
   580 \subsection{Import and export notes}
   581 The note is always saved automatically within the \vym file itself.
   582 Nevertheless sometimes it is nice to import a note from an external file
   583 or write it. Use "File\ra~Import" and "File\ra~Export" to do so. 
   584 
   585 \subsection{Edit and print note}
   586 Editing works like in any simple texteditor, including undo and redo
   587 functions. You can delete the complete note by clicking the
   588 trashcan. Only the note itself is printed by clicking the printer icon.
   589 
   590 When pasting into the editor using the X11 copy\&paste mechanism, the
   591 editor will create a paragraph for each new line. Usually this is not
   592 wanted, so there you can convert all paragraphs into linebreaks by using
   593 Edit~\ra~Remove~Paragraphs or \key{ALT-X}.
   594 
   595 \subsection{RichText: Colors, paragraphs and formatted text}
   596 \vym supports formatted text (QT Rich Text) in the noteeditor since
   597 version 1.4.7.  Colors and text attributes (e.g. italic, bold) can be
   598 set with the buttons above the text.  The text itself is divided in
   599 paragraphs. For each paragraph the format can be set (e.g. centered,
   600 right). A paragraph is ended when a \key{Return} is entered. If you just
   601 want to begin a new line, press \key{CTRL-Return}.
   602 
   603 \subsection{Fonts and how to quickly switch them}
   604 The noteeditor is ment to be used for simple notes, not really as full
   605 featured text editor. Because of many requests \vym supports now
   606 formatted text in the noteeditor\footnote{
   607 	\vym uses the QRichtText format, which is basically a subset of the
   608 	formatting provided in HTML.}
   609 Two default fonts are supported which can be set in the Settings menu.
   610 One is a fixed width font, the other has variable width. The fixed font
   611 is usually used for emails, source code etc.\ while the variable font is
   612 used for simple notes, where one doesn't need fixed character widths.
   613 Both fonts can easily switched using the following symbol from the
   614 toolbar:
   615 \begin{center}
   616 	\includegraphics[width=0.5cm]{formatfixedfont.png}
   617 \end{center}
   618 In the Settings menu both fonts can be set and also which font should be
   619 used for default. 
   620 
   621 Additionally to the default fonts any font installed on your system can
   622 be used. Please note, that the chosen font also will be used for HTML
   623 exports, so you should only use fonts which are available generally.
   624 
   625 \subsection{Find text}
   626 The noteeditor itself has no Find function, use Find in the mapeditor,
   627 which will also search all notes (see \ref{findwindow}).
   628 
   629 \subsection{Paste text into note editor}
   630 Often you will paste text into the editor from another application e.g.
   631 an email. Normally \vym will generate a new paragraph for each new line.
   632 This usually is not what you want, so you can choose from the menu
   633 
   634 \subsection{Advanced actions}
   635 \subsubsection*{Edit \ra Convert subsubsections:}
   636 This turns subsubsections in selected text (or all text, if nothing is
   637 selected) into linebreaks. This is especially useful for snippets of
   638 source code.
   639 
   640 \subsubsection*{Edit \ra Join Lines:}
   641 Tries to format text, so that empty lines are used to delimit
   642 paragraphs. This is done for selected text (or all text, if nothing is
   643 selected). Especially useful for text like emails, meeting minutes etc.
   644 
   645 \section{Hello world}
   646 This section is about how \vym can interact with other applications.
   647 Many applications meanwhile can read and write their data using XML, the
   648 eXtensible Markup Language. \vym also uses XML to save its maps, see
   649 \ref{fileformat} for a more detailed description. 
   650 
   651 So if your an application understands XML, chances are good that someone
   652 could write import/export filters for \vym. Volunteers are always
   653 welcome ;-)
   654 
   655 \subsection{Import} 
   656 
   657 \subsubsection*{KDE Bookmarks}
   658 The integrated bookmark editor in KDE is somewhat limited, so why not
   659 use \vym to maintain the bookmark mess? To create a new map containing
   660 your current KDE bookmarks just choose
   661 \begin{itemize}
   662 	\item File \ra Import\ra KDE Bookmarks
   663 \end{itemize}
   664 
   665 \subsubsection*{Mind Manager}
   666 \vym has currently a very basic import filter to convert maps created by
   667 {\em Mind Manager}\footnote{Mind Manager is a professional software by
   668 Mindjet. Both names are registered trademarks by Mindjet. For more
   669 information see their website at
   670 \href{http://mindjet.de}{http://mindjet.de}} into \vym maps. Notes and
   671 pictures are not converted at the moment. You can import files with
   672 \begin{itemize}
   673 	\item File \ra Import\ra Mind Manager
   674 \end{itemize}
   675 
   676 
   677 \subsubsection*{Directory structure}
   678 \vym can read a directory structure. This is mainly for
   679 testing \vym e.g. to easily create huge maps used for benchmarks (yes,
   680 there is still room to optimize \vym ;-)
   681 
   682 \subsection{Export}
   683 \label{hideexport}
   684 Often you don't want to export the whole map, but just parts of it. For
   685 example you may have additional info you want to talk about in a
   686 presentation, while those parts should not be visible to the audience.
   687 To achieve this you can "hide" parts of the map during exports by
   688 setting the "hide in export" flag:
   689 \begin{center}
   690 	\includegraphics[width=0.5cm]{flag-hideexport.png}
   691 \end{center}
   692 Note that there is a global option in the settings menu to toggle the
   693 use of this flag. By default the flag is enabled.
   694 
   695 \subsubsection*{Open Office}
   696 Open Office beginning with version~2 uses the so called "Open Office
   697 Document Format", which can be written by \vym. The options are
   698 currently limited, but it possible to export presentations which can be
   699 opened in Open Office Impress. By selecting
   700 \begin{itemize}
   701 	\item File \ra Export\ra Open Office
   702 \end{itemize}
   703 you get a file dialogue where you can choose the output file and the
   704 file type:
   705 \begin{center}
   706 	\includegraphics[width=12cm]{export-oo.png}
   707 \end{center}
   708 The file types represent various templates, which can be created with
   709 some manual work from an existing Open Office document. The structure of
   710 \vym map is then inserted into a template. 
   711 There are some limitations at the moment:
   712 \begin{itemize}
   713 	\item \vym can't take care of page lengths, so you have to check and
   714 	probably reedit in Open Office to avoid text running over the end of
   715 	a page
   716 	\item Images and flags are not used at the moment
   717 	\item Notes are just written as plain text, without RichText
   718 \end{itemize}
   719 Some of the templates make use of {\em sections} e.g. insert the
   720 headings of mainbranches as chapters for sections into the presentation.
   721 
   722 \subsubsection*{Image}
   723 \vym supports all image formats which are natively supported by the
   724 QT~toolkit:
   725 BMP, JPEG, PBM, PGM, PNG, PPN, XPM, and XBM.
   726 For use in websites and for sending images by email PNG is a good
   727 recommodation regarding quality and size of the image. \vym uses QTs
   728 default options for compressing the images.
   729 
   730 \subsubsection*{ASCII}
   731 Exporting an image as text is somewhat experimental at the moment. Later
   732 this will probably done using stylesheets. So the output may change in
   733 future versions of \vym.
   734 
   735 \subsubsection*{\LaTeX}
   736 \vym can generate an input file for \LaTeX. Currently this is considered
   737 as experimental, there are no options (yet). 
   738 By selecting
   739 \begin{itemize}
   740 	\item File \ra Export\ra \LaTeX 
   741 \end{itemize}
   742 you will be asked in a file dialog for the name of the output file. This
   743 file should be included in a \LaTeX document using command  
   744 \begin{verbatim}
   745 	\include{inputfile.tex}
   746 \end{verbatim}
   747 
   748 \subsubsection*{XHTML (Webpages)}
   749 
   750 This is the format you want to use to create a webpage. For an example
   751 have a look at the \vym homepage: 
   752 \href{http://www.InSilmaril.de/vym}{www.InSilmaril.de/vym}
   753 
   754 Some explanation how this works: 
   755 Before a map is exported as XHTML, it will be first written as XML into a
   756 directory (see \ref{xmlexport}). Then the external program {\tt
   757 xsltproc}\footnote{On SUSE Linux {\tt xsltproc} is installed by
   758 default.}
   759 will be called to process the XML file and generate HTML code.
   760 A dialog allows to set various options:
   761 \begin{itemize}
   762 	\item {\bf Include image:} If set, \vym will creat an image map at
   763 	the top of the HTML output. Clicking on a branch in the map will
   764 	jump to the corresponding section in the output.
   765 
   766 	\item {\bf Colored headings:}
   767 	If set to yes, \vym will color the headings in the text part  with the
   768 	same colors like in the map.
   769 	\item {\bf Show Warnings:}
   770 	If set to yes, \vym will ask before overwriting data.
   771 	\item {\bf Show output:}
   772 	This is useful mainly for debugging. It will show how the processing of
   773 	the XML file works by calling the external {\tt xsltproc}.
   774 \end{itemize}
   775 Additionally the paths to the CSS and XSL stylesheets can be set. By
   776 default on SUSE~Linux they will be in {\tt /usr/share/vym/styles}.
   777 
   778 
   779 \subsubsection*{XML} \label{xmlexport}
   780 The map is written into a directory both as an image and as XML. The
   781 directory is set in a file dialog. If the directory is not empty, you
   782 will be questioned if you risk to overwrite its contents.
   783 
   784 It is possible to export different maps into the same directory. Each
   785 file generated will have the map's name as prefix, e.g. {\tt todo.vym}
   786 becomes {\tt todo.xml}, {\tt todo.png}, {\tt todo-image-1.png} and so
   787 on. This is useful if e.g. for a website several combined maps have to
   788 be stored in the same directory.
   789 
   790 \subsubsection*{Export a part of a map}
   791 Select a branch you want to export together with its childs, then open
   792 the context menu and choose {\em Save Selection}. This will create a
   793 file with the postfix {\tt .vyp}, which is an abbreviation for \lq vym
   794 part\rq.
   795 
   796 
   797 \section{Advanced Editing}
   798 \vym offers a few shortcuts to let you work more quickly and literally
   799 to connect any branches directly.  
   800 \subsection{Modifier Modes} 
   801 Modifiers are for example the \key{Shift}- or the \key{Alt}-keys. When
   802 pressed while doing actions with the mouse, they will cause \vym to use
   803 a "modified" action. E.g. you can move branches with mouse. If
   804 \key{Ctrl} or \key{Alt}is pressed while releasing the branch, it will be
   805 added above/below the target, not as child of the target.
   806 
   807 Without a modifier pressed, the first click on a branch just selects
   808 it. For the behaviour of the \key{Ctrl} modifier there are several
   809 options, which can be set from the modifier toolbar:
   810 \begin{center}
   811 	\includegraphics[width=3cm]{modmodes.png}
   812 \end{center}
   813 The default  is to copy the color from the clicked branch to the already
   814 selected branch. In the toolbar shown above the default modifier is
   815 selected, namely to copy the color of a branch. The second modifier
   816 let's you easily copy a whole branch with a single click. The third
   817 modifier lets you create {\em xLinks}, which will be explained in the
   818 next section.
   819 
   820 \subsection{Hide links of unselected objects}
   821 Sometimes it would be useful to position a branch freely, just like a
   822 mainbranch or an image. Though this is not possible (yet) for all
   823 branches, you can use a mainbranch and hide its connecting link to the
   824 mapcenter. This can be used e.g. for legends or a collection of vymLinks
   825 pointing to other maps:
   826 \begin{center}
   827 	\includegraphics[width=9cm]{hiddenlink.png}
   828 \end{center}
   829 
   830 
   831 \subsection{XLinks} \label{xlinks}
   832 So far all the data in the \vym map has been treelike. Using xLinks you
   833 can link one branch to any other, just like attaching a rope between two
   834 branches in a real tree. This is especially useful in complex maps,
   835 where you want to have crossreferences which don't fit on the same
   836 visible area, which fits on your screen. The following example, which is
   837 part of the \vym package, still fits on one screen, but shows how data
   838 can be crosslinked. In the graphics there is a link from a task (prepare
   839 a presentation) to general information:
   840 \begin{center}
   841 	\includegraphics[width=12cm]{xlink.png}
   842 \end{center}
   843 Note that a xLink which points to a branch that is not visible (because
   844 it is scrolled), is just show as a little horizontal arrow. In the
   845 screenshot above have a look at the \lq Tuesday\rq\ branch.
   846 
   847 \subsubsection*{Create a xLink}
   848 Choose the link mode from the modifier toolbar (by clicking or pressing
   849 \key{L}). Select the branch, where the xLink should start. Press the
   850 modifier key \key{Ctr} and simultanously click on the branch where the
   851 link should end. (The link is already drawn before you release the mouse
   852 key). If you release the mouse over a branch the xLink becomes
   853 permanent.
   854 
   855 \subsubsection*{Modify or delete a xLink}
   856 Open the context menu of a branch and select \lq Edit xLink\rq. A
   857 submenu contains all the xLinks of the branch (if there are any). They
   858 are named like the branches, where they end. Choose one and
   859 the xLink dialogue opens, where you can set color, width and also delete
   860 the xLink.
   861 
   862 \subsubsection*{Follow a xLink}
   863 In a complext \vym map it sometimes comes handy to jump to the other end
   864 of a xLink. You can do this by opening the context menu of the branch
   865 and clicking on \lq Goto xLink\rq and selecting the xLink you want to
   866 follow.
   867 
   868 
   869 
   870 \subsection{Adding and removing branches}
   871 The context menu of a branch shows some more ways to add and delete data
   872 e.g. you can delete a branch while keeping its childs. The childs become
   873 linked to the parent of the previously removed branch.
   874 Similar branches can be inserted into existing maps. For keyboard
   875 shortcuts also have a look at the context menu.
   876 
   877 \subsection{Adding a whole map or a part of a map}
   878 Select a branch where you want to add a previously saved map ({\tt .vym})or a part
   879 of a map ({\tt .vyp}) , then open
   880 the context menu and choose {\em Add \ra Import}. For the import you can
   881 choose between {\em Import Add} and {\em Import Replace}: The imported
   882 data will be added after the selection resp. replace the selection.
   883 
   884 
   885 \section{\vym on Mac OS X}
   886 \subsection{Overview}
   887 Basically there are two ways to run \vym on Macs:
   888 \subsubsection*{QT Mac Edition:}
   889 	\vym here provides the well known Mac look and feel.  \vym is
   890 	available as zipped Mac OS X application. It has been compiled and
   891 	tested in Mac~OS~10.3, but should also work on Tiger. It is using
   892 	the Mac version of Trolltechs QT library.  
   893 \subsubsection*{X11}
   894 	\vym can also be run using the Linux version, but then menus and
   895 	handling will also be those of the Linux version e.g. The menu bar
   896 	will look different. 
   897 
   898 \subsection	{Contextmenu and special keys}
   899 Most Macs unfortunatly just have a single mouse button. In order to show
   900 the context menu which usually would be opened with the right mouse
   901 button, you can click while pressing the \key{kommand}-key.
   902 
   903 Especially on Laptops some of the keys usually used on PC keyboards seem
   904 to be missing. The QT-Mac Edition of \vym has its own keyboard
   905 shortcuts. To find the shortcuts just have a look at all the menu
   906 entries, the shortcut is visible next to an entry. Toolbar buttons also
   907 may have shortcuts, just position the mouse pointer over a button and
   908 wait for the little help window to appear. 
   909 
   910 \subsection {Viewing external links}
   911 \vym on Mac uses the system call {\tt /usr/bin/open} to view links.
   912 Mac~OS determines automatically if the link is a pdf or www page and
   913 opens the right browser.
   914 
   915 
   916 \begin{appendix}
   917 
   918 \section{Command line options}
   919 \vym has the following options:
   920 \begin{center}
   921 \begin{tabular}{ccp{8cm}}\\ 
   922 \bf Option	& \bf Comment & \bf Description \\ \hline
   923 v & version & Show version ov \vym\\
   924 l & local	& Use local paths to stylesheets, translations, icons, 
   925               etc. instead of system paths. Useful for testing\\
   926 h & help	& Show help\\
   927 q & quit	& Quit immediatly after startup. Useful for benchmarks.\\
   928 \end{tabular}
   929 \end{center}
   930 You can also give several filenames at the commandline to let \vym open
   931 several maps at once.
   932  
   933 \section{Contributing to \vym}
   934 So far I'd say I have written 98\% of the code on my own. No surprise,
   935 that \vym exactly fits my own needs. Nevertheless I would like to
   936 encourage all users of  \vym to contribute. Maybe not only with feature
   937 requests, but also with code, new import/export filters, translations
   938 etc. In this appendix I'll try to show how easy it is to expand the
   939 things you can do already with \vym. I really look forward to hear from
   940 you!
   941 
   942 \subsection{Getting help}
   943 
   944 \subsubsection*{Frequently asked questions}
   945 Please refer to the FAQ available on the \vym website:
   946 \begin{center}
   947 \href{http://www.InSilmaril.de/vym/faq.html}{http://www.InSilmaril.de/vym/faq.html}
   948 \end{center}
   949 
   950 \subsubsection*{Mailinglists}
   951 There are two mailinglists: {\tt vym-forum} is the \vym users forum to
   952 discuss various questions, while {\tt vym-devel} is intended for people
   953 interested in contributing to \vym. You can view the archives and
   954 subscribe at
   955 \begin{center}
   956 \href{https://sourceforge.net/mail/?group_id=127802}{https://sourceforge.net/mail/?group\_id=127802}
   957 \end{center}
   958 
   959 \subsubsection*{Contacting the author}\label{author}
   960 Especially for support questions please try the mailinglists first. If
   961 everything else fails you can contact the Uwe Drechsel at
   962 \begin{center}
   963 \href{mailto:vym@InSilmaril.de}{vym@InSilmaril.de}
   964 \end{center}
   965 
   966 
   967 
   968 \subsection{How to report bugs}
   969 Though Sourceforge has its own bugreporting system, I'd rather prefer if
   970 you contact me directly (see \ref{author}) or even better: You can file
   971 a bugreport in Bugzilla, the bugtracking system of openSUSE:
   972 \begin{center}
   973 \href{http://en.opensuse.org/Submit_a_bug}{http://en.opensuse.org/Submit\_a\_bug}
   974 \end{center}
   975 I build \vym regulary for openSUSE, so you may report it against a
   976 recent version there, even if you  use another Operating System.
   977 Please don't forget to tell 
   978 \begin{itemize}
   979 	\item the exact steps needed to reproduce the bug
   980 	\item the version and build date of \vym (see the Help \ra About
   981 	\vym)
   982 	\item hardware and Operating System
   983 \end{itemize}
   984 
   985 \subsection{Compiling from the sources}
   986 \subsubsection{Getting the sources} \label{getsources}
   987 You find the latest version of \vym at the project site:
   988 \begin{center}
   989 \href{https://sourceforge.net/projects/vym/}{https://sourceforge.net/projects/vym/}
   990 \end{center}
   991 There you can check them out of the source repository (CVS):\\
   992 
   993 \begin{verbatim}
   994 cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/vym checkout code
   995 \end{verbatim}
   996 
   997 \subsubsection{The Qt toolkit}
   998 Qt is C++ toolkit for multiplatform GUI and application development. It
   999 provides single-source portability across MS~Windows, Mac~OS~X, Linux
  1000 ans all major commercial Unix variants. Qt is also available for
  1001 embedded devices. Qt is a Trolltech product. For more information see 
  1002 \begin{center}
  1003 \href{http://www.trolltech.com/qt/}{www.trolltech.com/qt} 
  1004 \end{center}
  1005 
  1006 
  1007 \subsubsection{Compiling \vym }
  1008 Make sure you have installed your Qt environment properly, see the Qt
  1009 documentation for details. You need to have the Qt command {\tt qmake}
  1010 in your {\tt PATH}-environment, then run
  1011 \begin{verbatim}
  1012 qmake
  1013 make  
  1014 make install
  1015 \end{verbatim}
  1016 The last command {\tt make install} needs root-permissions. Of course it
  1017 may be omitted, if you just want to test \vym.
  1018 
  1019 %\subsubsection*{Compiling \vym on Macs}
  1020 %TODO
  1021 
  1022 \subsection{\vym file format} \label{fileformat}
  1023 \vym maps usually have the postfix "{\tt .vym}" and represent a
  1024 compressed archive of data. If you want to have a
  1025 closer look into the data structure map called "mapname.vym", 
  1026 just uncompress the map manually using
  1027 \begin{verbatim}
  1028 	unzip mapname.vym
  1029 \end{verbatim}
  1030 This will create directories named {\tt images} and {\tt flags} in your
  1031 current directory and also the map itself, usually named {\tt
  1032 mapname.xml}.
  1033 The XML structure of \vym is pretty self explaining, just have a look at
  1034 {\tt mapname.xml}.
  1035 
  1036 This XML file can be loaded directly into \vym, it does not have to be
  1037 compressed. If you want to compress all the data yourself, use
  1038 \begin{verbatim}
  1039 	zip -r mapname.vym .
  1040 \end{verbatim}
  1041 to compress all data in your current directory.
  1042 
  1043 \subsection{New features}
  1044 There are lots of features which might find their way into \vym.
  1045 Together with \vym you should have received a directory with several
  1046 maps e.g. on SUSE~LINUX this is
  1047 \begin{center}
  1048 	{\tt /usr/share/doc/packages/vym/demos}
  1049 \end{center}
  1050 where you find the map {\tt todo.vym}. It lists quite a lot of things to
  1051 be done in future. If you have more ideas, contact the development team
  1052 at
  1053 {\tt vym-devel@lists.sourceforge.net}.
  1054 
  1055 
  1056 \subsection{New languages support}
  1057 In order to add a new language to \vym you need 
  1058 the sources (see \ref{getsources}) and
  1059 an installation of Trolltechs QT. A part of QT are the development
  1060 tools, from those tools especially the translation tool "Linguist" is
  1061 needed. 
  1062 
  1063 In some Linux distributions the development tools are in an extra package, e.g. on SUSE LINUX you should have installed:
  1064 \begin{verbatim}
  1065     qt3-devel.rpm
  1066     qt3-devel-doc.rpm
  1067     qt3-devel-tools.rpm
  1068     qt3-man.rpm
  1069 \end{verbatim}
  1070 If you don't have QT in your system, you can get it from 
  1071 	\href{http://www.trolltech.com}{http://www.trolltech.com} Once you
  1072 	are able to compile vym yourself, you can translate the text in vym
  1073 	itself by performing the following steps:
  1074 \begin{itemize}
  1075 	\item Let's assume now your encoding is "NEW" instead of for example
  1076 	"de" for german or "en" for english
  1077 	
  1078 	\item Copy the file {\tt lang/vym\_en.ts} to l{\tt ang/vym\_NEW.ts} (The code
  1079 	itself contains the english version.)
  1080 		
  1081 	\item Add {\tt lang/vym\_NEW.ts} to the TRANSLATIONS section of vym.pro
  1082 
  1083 	\item Run Linguist on {\tt vym\_NEW.ts} and do the translation
  1084 
  1085 	\item Run {\tt lrelease} to create {\tt vym\_NEW.qm}
  1086 
  1087 	\item Do a make install to install the new vym and check your translation
  1088 \end{itemize}
  1089 
  1090 If you feel brave, you can also translate the manual. It is written in
  1091 LaTeX, you just have to change the file tex/vym.tex. (Linguist and QT
  1092 are not needed, but it is useful to know how to work with LaTeX and esp.
  1093 pdflatex to create the PDF.) 
  1094 
  1095 Please mail me every translation you have done. I can also give you a
  1096 developer access to the project, if you want to provide translations
  1097 regulary.  
  1098 
  1099 \subsection{New export/import filters}
  1100 \vym supports various kinds of filters. Data can be written directly,
  1101 inserted into templates or it can be written as XML data and then
  1102 processed by XSL transformations. 
  1103 
  1104 Most of the import/export functionality is available in the classes
  1105 ImportBase and ExportBase and subclasses. All of them can be found in
  1106 {\tt imports.h} and {\tt exports.h}.
  1107 
  1108 \subsubsection*{Direct import/export}
  1109 An example for a direct export is the XML export. This method touches
  1110 the implementation of nearly every object of \vym, so whenever possible
  1111 you should better use a XSL transformation instead.
  1112 
  1113 If you still want to know how it is done, start looking at 
  1114 {\tt MapEditor::saveToDir} in {\tt mapeditor.cpp}.
  1115 
  1116 \subsubsection*{Templates}
  1117 Templates have been introduced to export to opendoc format used e.g. by
  1118 Open~Office. While I read the spec ($>$ 500 pages) about the format\footnote{
  1119 \href{http://www.oasis-open.org/}{http://www.oasis-open.org/}}\ 
  1120 I had the feeling that I did not want to write the export from scratch. 
  1121 It would be too complex to adapt the styles to your own wishes, e.g. the
  1122 layout.
  1123 
  1124 Instead I analyzed existing Open~Office documents. I found out that
  1125 there are lots of redundant bits of information in a standard
  1126 presentation, for example each list item is contained in its own list.
  1127 In the end I came up with the default presentation style, which still
  1128 could be simplified, just in case you have free time\ldots
  1129 
  1130 The existing templates are still work in progress, before you spent too
  1131 much time developing your own style, please contact me.  Basically the
  1132 following steps are needed to build your own style:
  1133 \begin{enumerate}
  1134 	\item Create an example in Open Office. Use a title, authors name,
  1135 	page heading etc.\ which you can easily grep for in the output file.
  1136 	
  1137 	\item Unzip  the Open Office document into a directory.
  1138 
  1139 	\item The main file is called {\tt content.xml}. All data is in one
  1140 	single line. You can split the XML tags using the script {\tt
  1141 	scripts/niceXML}, which is part of the \vym distribution.
  1142 
  1143 	\item Copy the output of {\tt niceXML} to {\tt
  1144 	content-template.xml}.
  1145 
  1146 	\item Looking closer you will find lots of unused definitions, for
  1147 	example of styles. You can delete or simply ignore them.
  1148 
  1149 	\item Try to find your title, authors name. \vym will replace the
  1150 	following strings while exporting:
  1151 	\begin{center}
  1152 	\begin{tabular}{lp{4cm}}
  1153 		{\tt <!-- INSERT TITLE -->}		& title of map \\
  1154 		{\tt <!-- INSERT AUTHOR-->	}	& author \\
  1155 		{\tt <!-- INSERT COMMENT -->}	& comment \\
  1156 		{\tt <!-- INSERT PAGES-->}		& content of map \\
  1157 	\end{tabular}
  1158 	\end{center}
  1159 	The content itself is generated in a similar way by inserting lists
  1160 	into {\tt page-template}. Here the following substitutions are made:
  1161 	\begin{center}
  1162 	\begin{tabular}{lp{7cm}}
  1163 		{\tt <!-- INSERT PAGE HEADING-->}		& heading of a page
  1164 		(mainbranch or child of mainbranch, depending on the use of
  1165 		sections) \\
  1166 		{\tt <!-- INSERT LIST -->	}	& all childs of the branch above \\
  1167 	\end{tabular}
  1168 	\end{center}
  1169 \end{enumerate}
  1170 Currently images are exported and notes just will appear as text
  1171 without formatting and colors.
  1172 
  1173 
  1174 
  1175 
  1176 \subsubsection*{XSL Transformation}
  1177 \vym uses XSL transformations while exporting (e.g. XHTML) and importing
  1178 data (e.g. KDE bookmarks). There is a little code needed to provide the
  1179 GUI, the rest is done using the {\tt .xsl} stylesheet and calling the
  1180 {\tt xsltproc} processor, which is part of libxslt, the XSLT
  1181 C  library  for  GNOME. 
  1182 
  1183 \end{appendix}
  1184 \end{document}
  1185 
  1186 %TODO
  1187 %\subsubsection{Menus}
  1188 %\subsubsection{Keyboard shortcuts}
  1189 %Where does vym save its settings? -> ~/.qt/vymrc
  1190 
  1191 
  1192 % INDEX
  1193 % mapeditor
  1194 % noteditor
  1195 % branch
  1196 % mapcenter
  1197 % heading
  1198 % flag
  1199 % orientation 
  1200 % zoom
  1201 % orientation
  1202 % Toolbar
  1203 % Zoom
  1204 % Find
  1205 % statusbar
  1206 % link
  1207 % mainbranch
  1208 % subtree
  1209 % reorder
  1210 % scroll
  1211 % fold
  1212 % vymlink
  1213 % xlink
  1214 % modMode
  1215 % context menu
  1216 % Mac OS X
  1217 
  1218 
  1219 
  1220 \end{document}