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