tex/vym.tex
author insilmaril
Thu Jul 30 07:40:05 2009 +0000 (2009-07-30)
branchrelease-1-12-maintained
changeset 74 98449ef9eccd
child 76 a36a289372a6
child 85 7e69734a51c4
permissions -rw-r--r--
Bugfix: no undo for deleted mapcenters
     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{VYM \\ -- \\View Your Mind}
    35 \author{\textcopyright Uwe Drechsel  }
    36 %\date{September 26, 2002}
    37 
    38 \maketitle
    39 
    40 \tableofcontents
    41 
    42 \newpage
    43 
    44 \section{Introduction}
    45 \subsection{What is a \vym map?}
    46 A \vym map (in short words {\em map}) is a tree like structure:
    47 \begin{center}
    48 	\includegraphics[width=12cm]{example1.png}
    49 \end{center}
    50 Such maps can be drawn by hand on paper or a flip chart and help to
    51 structure your thoughs. While a tree like structure like above can be
    52 drawn by hand or any drawing software \vym offers
    53 much more features to work with such maps. \vym is not another drawing
    54 software, but a tool to store and modify information in an intuitive
    55 way. For example you can reorder parts of the map by pressing a key or
    56 add various information like a complete email by a simple mouse click.
    57 
    58 \subsection{Why should I use maps? Time, Space and your Brain.}
    59 \subsubsection*{Space}
    60 A map can concentrate a very complex content on little space e.g. a
    61 piece of paper. It helps to use both sides of your brain: the logical
    62 side and also your creative side (e.g. by using pictures, colors and
    63 keywords in a map, so called {\em anchors}).  It is a technique to
    64 organize the way you think: It can help you by developing, sorting and
    65 memorizing your thoughts. 
    66 
    67 \subsubsection*{Time}
    68 Because you just use keywords and drawings, it is much faster than good
    69 old fashioned notes. Your brain memorizes things by associating them to
    70 other things -- a map makes use of those connections and stimulates
    71 new asccociations. 
    72 
    73 \subsubsection*{Your Brain}
    74 In 1960 the Prof. {\sc Roger Sperry} discovered that both hemispheres
    75 of the human brain have different tasks (of course both of them
    76 basically {\em can} do the same): The left side is specialised in 
    77 \begin{itemize}
    78    \item verbal speech and writing 
    79    \item numbers
    80    \item logical thinking
    81    \item analyzing and details
    82    \item science
    83    \item linear thinking
    84    \item concept of time
    85 \end{itemize}
    86 while the right side of the human brain is specialised in
    87 \begin{itemize}
    88     \item body language
    89     \item visual thinking, day dreams
    90     \item intuition and emotion
    91     \item overview of things
    92     \item creativity
    93     \item art, music, dancing
    94     \item non-linear thinking, connecting things
    95     \item spatial awareness
    96 \end{itemize}    
    97 In our science oriented society we have learned to mainly rely on our
    98 left side of the brain, the "rational" one. In other cultures,
    99 especially like the native americans and other "old" cultures, the right
   100 side is much more important. maps are just one way to stimulate the
   101 other side and make use of additional ressources we all have.
   102 
   103 
   104 \subsection{Where could I use a map?}
   105 Here are some examples, how you can use those maps
   106 \begin{itemize}
   107     \item to prepare articles, papers, books, talks, \ldots
   108     \item to sort complex data
   109     \item to memorize facts, persons, vocabulary, \ldots
   110     \item to sort emails, files and bookmarks on your computer
   111     \item to moderate conferences
   112 \end{itemize}
   113 
   114 \subsection{What you shouldn't do with a map...}
   115 A map drawn by somebody shows the way the author thinks. There is
   116 no right or wrong in the way it is drawn, so there is no way to critize
   117 it. "It is, what it is" ({\sc F.~Lehmann}).
   118 
   119 %\section{Tutorials}
   120 %TODO
   121 
   122 \section{Concept}
   123 
   124 %TODO may add a general introduction here...
   125 
   126 \vym uses two windows: an editor for the map itself and another one for
   127 notes, which are part of the map. Let's call them {\em mapeditor} and
   128 {\em noteeditor}: 
   129 \begin{center}
   130 	\includegraphics[width=8cm]{windows.png}
   131 \end{center}
   132 Usually you will work in the {\em mapeditor} by just adding new
   133 branches, moving around and reordering them. The various ways to do this
   134 will be explained in \ref{mapeditor}. You can store additional
   135 information e.g. the content of a email easily in a {\em branch}: Just
   136 type or copy\&paste it into the {\em noteeditor}. Working with notes is
   137 explained in \ref{noteeditor}
   138 
   139 The map itself has always a {\em mapcenter}.  The
   140 mapcenter has {\em branches} just like the trunk of a tree. Each branch
   141 in turn may have branches again.
   142 \begin{center}
   143 	\includegraphics[width=10cm]{branches.png}
   144 \end{center}
   145 We will call a branch directly connected to the mapcenter a {\em
   146 mainbranch}, because it determines the position of all its child
   147 branches.
   148 
   149 The mapcenter and the branches all have a {\em heading}. This is the
   150 text you see in the mapeditor. Usually it should just be one or a few
   151 words, so that one can easily keep track of the whole map.
   152 
   153 
   154 In the toolbar above the mapeditor you see various symbols.
   155 \begin{center}
   156 	\includegraphics[width=8cm]{default-flags.png}
   157 \end{center}
   158 These are called {\em flags} and can be used to mark branches in the
   159 map, e.g. if something is important or questionable. 
   160 There are also more flags set by \vym automatically to show additional
   161 information, e.g. when a  exists for a  particular branch.
   162 
   163 \section{Mapeditor} \label {mapeditor}
   164 \subsection{Start a new map}
   165 After \vym is started two windows will open: the mapeditor and the
   166 noteditor. Usually you will work in both windows, but at the moment we
   167 will just need the mapeditor. 
   168 
   169 Select the mapcenter "New map" in the middle of the mapeditor by
   170 left-clicking with the mouse. It will turn yellow to show that is
   171 selected. There are two ways to add a new branch to the center:
   172 \begin{itemize}
   173 	\item Main menu on top of mapeditor window:
   174 	Edit \ra Add new Branch
   175 	\item Press \key{Ins}
   176 \end{itemize}
   177 A new branch will appear and you will be able to type the heading of the
   178 branch. Finish adding the new branch by pressing \key{Enter}.
   179 %tipp
   180 Sometimes it comes handy to add a new branch above or below the current
   181 one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}.
   182 
   183 \subsection{Navigate through a map}
   184 \subsubsection*{Select branches}
   185 To select branches you can use the left button of your mouse or also the
   186 arrow keys. Depending on the {\em orientation} of a branch type
   187 \key{\la} or \key{\ra} to get nearer to the mapcenter or deeper
   188 down into the branches. Within a set of branches, let's call them a 
   189 {\em subtree}, you can use \key{\ua} and \key{\da} to go up and down. You can
   190 also use \key{Pos1} and \key{End} to select the first and last branch.
   191 
   192 
   193 \subsubsection*{Zoom a map}
   194 While adding more and more branches the size of the map may become
   195 bigger than the mapeditor window. You can use the scrollbars on the
   196 right and the bottom of your mapeditor window to scroll, but it is
   197 easier to just scroll using the left mouse button: Click onto the {\em
   198 canvas} itself, the empty space somewhere between the branches. The
   199 mouse pointer will change from an arrow to a hand, now move the visible
   200 part of the map to show the desired part.
   201 
   202 If you select branches using the arrow keys, the map will scroll
   203 to ensure that the selected branch is always visible.
   204 
   205 Working with huge maps, the {\em zoom}-function comes in handy: You can
   206 use 
   207 \begin{itemize}
   208 	\item from the menu View \ra Zoom
   209 	\item the toolbar buttons 
   210 		\begin{center}
   211 			\includegraphics[width=3cm]{zoom-buttons.png}
   212 		\end{center}	
   213 \end{itemize}	
   214 The crossed magnifying lens resets the zoomed view to its original size.
   215 
   216 
   217 \subsubsection*{Find Function} \label{findwindow}
   218 With huge maps there is the need to have a
   219 find function. Choose Edit \ra Find to open the Find Window:
   220 \begin{center}
   221 	\includegraphics[width=6cm]{find-window.png}
   222 \end{center}	
   223 The text you enter here will be searched in all the headings and also in
   224 notes. Everytime you press the "Find"-button it will look for the next
   225 occurence, which then will be selected automatically. If the search
   226 fails, there will appear a short message "Nothing found" or a few
   227 seconds in the {\em statusbar} on the bottom of the mapeditor.
   228 
   229 \subsubsection*{Scroll a part of the map}
   230 A very big subtree of a map e.g. a branch with hundreds of childs makes
   231 it very hard to keep an overview over the whole map. You can hide all
   232 the childs of a branch by {\em scrolling} it -- this function is also
   233 often called {\em folding}. Think of the whole subtree as painted onto a
   234 big newspaper. You can scroll the paper to a small roll, leaving just
   235 the headline readable.
   236 
   237 To scroll or unscroll a branch and its childs, press the
   238 \begin{itemize}
   239 	\item \key{Scroll} key or
   240 	\item press the middle-mouse button or
   241 	\item choose the little scroll from the toolbar.
   242 \end{itemize}
   243 If you select parts of a scrolled branch e.g. using the find function or
   244 by using the arrow-keys, it will unscroll temporary. This is shown as a
   245 scroll with a little hour glass. If the temporary unscrolled part is not
   246 longer needed, it will be hidden again automatically. It is also
   247 possible to unscroll all branches using "Edit\ra Unscroll all scrolled
   248 branches".
   249 
   250 
   251 
   252 \subsection{Modify and move branches}
   253 \subsubsection*{Modify the heading of a branch}
   254 You can edit the heading by selecting the branch and then
   255 \begin{itemize}
   256 	\item pressing \key{Enter}
   257 	\item double-clicking with left mouse.
   258 \end{itemize}
   259 Just type the new heading (or edit the old one) and press \key{Enter}.
   260 
   261 \subsubsection*{Move a branch}
   262 The easiest way to move a branch is to select it with left-mouse and
   263 drag it to the destination while keeping the mouse button pressed.
   264 Depending on the branch  it will be
   265 \begin{itemize}
   266 	\item moved to the destination or
   267 	\item {\em linked} to a new {\em parent} (mapcenter or branch)
   268 \end{itemize}
   269 If you drag the branch over another one or over the mapcenter, you will
   270 notice that the  link connecting it to the old parent will be changed to
   271 lead to the  new parent which is now under your mousepointer. 
   272 If you release the button now, the branch will be relinked.
   273 
   274 If you release the button in the middle of nowhere, the result will
   275 depend on the type of branch you are releasing:
   276 \begin{itemize}
   277 	\item A mainbranch is directly connected to the mapcenter.
   278 		It will stay on its new position.
   279 	\item An ordinary branch will "jump" back to its original position.	
   280 \end{itemize}
   281 Thus you can easily rearrange the layout of the mainbranches to avoid
   282 overlapping of their subtrees.
   283 There is another convenient way to move branches, especially if you want
   284 to {\em reorder} a subtree: You can move a branch up or down in a
   285 subtree by
   286 \begin{itemize}
   287 	\item pressing \key{\ua} and \key {\da}
   288 	\item selecting Edit \ra Move branch
   289 	\item clicking on the toolbar buttons:
   290 		\begin{center}
   291 			\includegraphics[width=1.5cm]{move-buttons.png}
   292 		\end{center}	
   293 \end{itemize}
   294 %tipp
   295 There is yet another way to move branches: If you press \key{Shift} or
   296 \key{Ctrl} while moving with the mouse, the branch will be added above
   297 or below the one the mouse pointer is over. This helps also to reorder a
   298 map.
   299 
   300 \subsection{The right side of your brain - colors and images}
   301 \subsubsection*{Change color of a heading}
   302 You can also use colors to put more information into a map, e.g. use
   303 red, green and more colors to prioritize tasks. Again you can
   304 \begin{itemize}
   305 	\item use the menu and choose e.g Format \rq Set Color
   306 	\item use the toolbar
   307 		\begin{center}
   308 			\includegraphics[width=3cm]{color-buttons.png}
   309 		\end{center}	
   310 \end{itemize}
   311 The first button (black in the graphic above) shows the actual color.
   312 Clicking on it let's you choose another color. You can also "pick"
   313 another color by selecting a branch with the desired color and using the
   314 "pick color" button. Both of the buttons showing a bucket actually put
   315 the current color to the selected branch. While the first one just
   316 colors the heading of the selection, the last one also colors all the
   317 childs of the selected branch.
   318 
   319 %tipp
   320 A very useful function is the "copy color" using the mouse: Select the
   321 branch which should get the new color, then press \key{Ctrl} and
   322 simultanously click with left-mouse on another branch to copy its color
   323 to the first one. Here the childs of the selection also will get the new
   324 color, if you just want to color the selection itself, additionally
   325 press \key{Shift}.
   326 
   327 \subsubsection*{Use flags}
   328 \vym provides various flags. You see them in the toolbar on top of the
   329 mapeditor window. (Note: Like all toolbars you can also move them to the
   330 left or the right side of the window or even detach them. Just grab the
   331 very left "dotted" part of the toolbar with your left-mouse button.) 
   332 \begin{center}
   333 	\includegraphics[width=8cm]{default-flags.png}
   334 \end{center}
   335 If you have a branch selected, you can set any number of flags by
   336 clicking them in the toolbar. The toolbar buttons change their state and
   337 always reflect the flags set in the selected branch.
   338 
   339 Presently \vym uses two kinds of flags: {\em System Flags} and {\em
   340 Standard Flags}. The standard flags are those shown in the toolbar.
   341 System flags are set by \vym to indicate e.g. that there is additional
   342 information in a note (more on this in \ref{noteeditor}). Later versions
   343 of \vym may have another kind of flags, which may be edited by the user.
   344 
   345 \subsubsection*{Images}
   346 You can add a image to a branch or the mapcenter by clicking with the
   347 right-mouse button. A context menu will open, choose "Add Image". A
   348 dialog window lets you choose the image to load. 
   349 \footnote{Supported image types are: PNG, BMP, XBM, XPM and PNM. It may
   350 	also support JPEG, MNG and GIF, if specially configured during
   351 	compilation (as done when \vym is part of SUSE LINUX).}
   352 While an image is selected in the dialog, you can see a preview of the
   353 image.	
   354 
   355 You can position the image anywhere you want, just drag it with left
   356 mouse. To relink it to another branch, press \key{Shift} while moving
   357 it. To delete it, press \key{Del}. 
   358 
   359 If you right-click onto an image, a context menu will open which let's
   360 you first choose one of several image formats. Then a file dialog opens
   361 to save the image. Hint: This is used to "export" the image, it will be
   362 saved anyway in the map itself! You can also cut and
   363 copy images, but it is not possible to add objects to an image\footnote{
   364 	Images are regarded as "extra feature". It would make working with
   365 	the map much more complex if e.g. images could be linked to images.}
   366 
   367 The option \lq{\bf Use for export} \rq controls the output of exports
   368 e.g. to HTML: If set to no, the image won't appear in the {\em text}
   369 part of the output. This is useful for large images or if images are
   370 used as a kind of frame e.g. the famous cloud symbol around a part of
   371 the map. Those shouldn't appear in the middle of the text.
   372 
   373 At the moment image support is preliminary: Images will be saved
   374 together with all the other data of a map in the {\tt .vym}-file.
   375 Later versions will include more functionality like resizing the images,
   376 changing its z-value (put it into background) etc.
   377 
   378 \subsubsection*{Frames}
   379 A frame can be added to a branch by clicking with the
   380 right-mouse button.  A context menu will open, where you can choose the
   381 frame. At the moment just a rectangle resp. "No Frame" will be offered,
   382 nevertheless you can use images as frames. Have a look at the demo map
   383 {\tt todo.vym} as an example, where the mapcenter is a cloud. You can
   384 use an external drawing program like {\tt gimp} to create an image,
   385 preferable with an transparency channel, so that you can design frames
   386 which don't use a rectangular borderline, just like the cloud.
   387 
   388 
   389 \subsection{Background design}
   390 The design of the background of a map and also of the links connecting
   391 various parts of the map can be changed by
   392 \begin{itemize}
   393 	\item Selecting Format from the menu
   394 	\item Right clicking onto the canvas, which will open a context menu
   395 \end{itemize}
   396 
   397 \subsubsection*{Background color}
   398 The color is set (and also displayed) as "Set background color".
   399 
   400 \subsubsection*{Link color}
   401 Links connecting branches can be colored in one of the following ways:
   402 \begin{itemize}
   403 	\item use the color of the heading of the branch the links is
   404 	\item use {\em one} color for all links. The default color is blue.
   405 	leading to.
   406 \end{itemize}
   407 The latter can be set with "Set link color". Check or uncheck the "Use
   408 color of heading for link" option to choose one of the two designs for
   409 your map.
   410 
   411 \subsubsection*{Link style}
   412 \vym offers four different styles for the appearences of links:
   413 \begin{itemize}
   414 	\item Line
   415 	\item Parabel
   416 	\item Thick Line
   417 	\item Thick Parabel
   418 \end{itemize}
   419 The "thick" styles only draw links starting at mapcenter thick, the rest
   420 of the map is always painted "thin".
   421 
   422 
   423 \subsection{Link to other documents}
   424 Presently \vym supports two kind of links:
   425 \begin{itemize}
   426 	\item Document, which will be opened in an external webbrowser
   427 	\item \vym map, which will be opened in \vym itself
   428 \end{itemize}
   429 
   430 \subsubsection*{Webbrowser}
   431 Modern Webbrowsers like {\tt konqueror} are able to display various
   432 types of files, both local or in the internet. To enter the URL of
   433 any document, right-click  onto a branch or use the Edit Menu
   434 and choose "Edit URL". Enter the path to your document (or copy and
   435 paste it from your browser). Examples for valid paths are:
   436 \begin{verbatim}
   437 	http://www.insilmaril.de/vym/index.html
   438 	file:/usr/share/doc/packages/vym/doc/vym.pdf
   439 \end{verbatim}
   440 If an URL was entered, a little globe will appear in the branch. By
   441 clicking on the globe in the toolbar or the context menu an external
   442 browser\footnote{
   443 	The browser can be changed in the Settings Menu.}
   444 will be started.
   445 \begin{center}
   446 	\includegraphics[width=0.5cm]{flag-url.png}
   447 \end{center}
   448 If you want to keep bookmarks in a map, you may want to copy the heading
   449 as URL: Right click onto the branch and select "Use heading for URL".
   450 
   451 \subsubsection*{\vym map}
   452 To link to to another map right click on a branch or choose "Edit \ra
   453 Enter \vym link". A file dialog opens where you can choose the map. A
   454 branch with a link is marked with 
   455 \begin{center}
   456 	\includegraphics[width=0.5cm]{flag-vymlink.png}
   457 \end{center}
   458 Clicking this flag in the toolbar or in the context menu of a branch
   459 will open the map in another tab (see \ref{tabs} for working with
   460 multiple maps). To delete an existing link, just press the "Cancel"
   461 button.
   462 
   463 Technical note: Internally \vym uses absolute paths, to avoid opening
   464 several tabs containing the same map. When a map is saved, this path is
   465 converted to a relative one (e.g. {\tt /home/user/vym.map} might become
   466 {\tt ./vym.map}. This makes it fairly easy to use multiple maps on
   467 different computers or export them to HTML in future.
   468 
   469 \subsection{Multiple maps} \label{tabs}
   470 You can work on multiple maps at the same time. Each new map is opened
   471 in another {\em tab}. The available tabs are shown just above the
   472 mapeditor. You can use the normal cut/copy/paste functions to
   473 copy data from one map to another.
   474 
   475 %todo
   476 
   477 %TODO
   478 %\subsubsection{Menus}
   479 %\subsubsection{Keyboard shortcuts}
   480 
   481 % Settings
   482 % Images
   483 % Copy & Paste
   484 % Working with tabs (multiple maps)
   485 % Exporting
   486 % Scrolling
   487 
   488 \section{Noteeditor} \label {noteeditor}
   489 If you want to save more text in a branch e.g. a complete email, a
   490 cooking recipe, or the whole source code of a software project, you can
   491 use the noteeditor. Since version 1.4.7 \vym supports formatted text in
   492 the noteeditor.
   493 
   494 \subsubsection*{States}
   495 Before you can type or paste text into it, you have
   496 to select a branch in the mapeditor. Note that the background color
   497 of the noteeditor indicates its state:
   498 \begin{itemize}
   499 	\item black: no branch selected
   500 	\item grey: no text entered yet
   501 	\item white: text is already available
   502 \end{itemize}	
   503 To show you in the mapeditor itself that there is a note with more
   504 information for a particular branch, a little note flag will appear next
   505 to the heading of the branch. See the lower branch on the right side:
   506 \begin{center}
   507 	\includegraphics[width=8cm]{branches-flags.png}
   508 \end{center}
   509 
   510 \subsubsection*{Import and export notes}
   511 The note is always saved automatically within the \vym file itself.
   512 Nevertheless sometimes it is nice to import a note from an external file
   513 or write it. Use "File\ra~Import" and "File\ra~Export" to do so. 
   514 
   515 \subsubsection*{Edit and print note}
   516 Editing works like in any simple texteditor, including undo and redo
   517 functions. You can delete the complete note by clicking the
   518 trashcan. Only the note itself is printed by clicking the printer icon.
   519 
   520 When pasting into the editor using the X11 copy\&paste mechanism, the
   521 editor will create a paragraph for each new line. Usually this is not
   522 wanted, so there you can convert all paragraphs into linebreaks by using
   523 Edit~\ra~Remove~Paragraphs or \key{ALT-X}.
   524 
   525 \subsubsection*{Fonts}
   526 The noteeditor is ment to be used for simple notes, not really as full
   527 featured text editor. Because of many requests \vym supports now
   528 formatted text in the noteeditor\footnote{
   529 	\vym uses the QRichtText format, which is basically a subset of the
   530 	formatting provided in HTML.}
   531 Two default fonts are supported which can be set in the Settings menu.
   532 One is a fixed width font, the other has variable width. The fixed font
   533 is usually used for emails, source code etc.\ while the variable font is
   534 used for simple notes, where one doesn't need fixed character widths.
   535 Both fonts can easily switched using the following symbol from the
   536 toolbar:
   537 \begin{center}
   538 	\includegraphics[width=0.5cm]{formatfixedfont.png}
   539 \end{center}
   540 In the Settings menu both fonts can be set and also which font should be
   541 used for default. 
   542 
   543 Additionally to the default fonts any font installed on your system can
   544 be used. Please note, that the chosen font also will be used for HTML
   545 exports, so you should only use fonts which are available generally.
   546 
   547 \subsubsection*{Colors and formatted text}
   548 Colors and text attributes (e.g. italic, bold) can 
   549 be set with the buttons above the text. 
   550 The text itself is divided in paragraphs. For each paragraph the format
   551 can be set (e.g. centered, right). A paragraph is ended when a
   552 \key{Return} is entered. If you just want to begin a new line, press
   553 \key{CTRL-Return}.
   554 
   555 \subsubsection*{Finding text}
   556 The noteeditor itself has no Find function, use Find in the mapeditor,
   557 which will also search all notes (see \ref{findwindow}).
   558 
   559 \subsubsection*{Pasting text into note editor}
   560 Often you will paste text into the editor from another application e.g.
   561 an email. Normally \vym will generate a new paragraph for each new line.
   562 This usually is not what you want, so you can choose from the menu
   563 
   564 \paragraph{Edit \ra Convert Paragraphs:}
   565 This turns paragraphs in selected text (or all text, if nothing is
   566 selected) into linebreaks. This is especially useful for snippets of
   567 source code.
   568 
   569 \paragraph{Edit \ra Join Lines:}
   570 Tries to format text, so that empty lines are used to delimit
   571 paragraphs. This is done for selected text (or all text, if nothing is
   572 selected). Especially useful for text like emails, meeting minutes etc.
   573 
   574 \section{Hello world}
   575 \vym can export its maps in various formats and can import data from
   576 outside (though import is still limited at the moment).
   577 
   578 \subsection{Export}
   579 The format in which the map will be exported can be chosen with
   580 \begin{itemize}
   581 	\item File \ra Export \ra {\em format}
   582 \end{itemize}
   583 \vym offers both HTML and ASCII export.
   584 
   585 \subsubsection*{Image}
   586 \vym supports all image formats which are natively supported by the
   587 QT~toolkit:
   588 BMP, JPEG, PBM, PGM, PNG, PPN, XPM, and XBM.
   589 For use in websites and for sending images by email PNG is a good
   590 recommodation regarding quality and size of the image. \vym uses QTs
   591 default options for compressing the images.
   592 
   593 \subsubsection*{ASCII}
   594 Exporting an image as text is somewhat experimental at the moment. Later
   595 this will probably done using stylesheets. So the output may change in
   596 future versions of \vym.
   597 
   598 \subsubsection*{HTML}
   599 Before a map is exported as HTML, it will be first written as XML into a
   600 directory (see \ref{xmlexport}). Then the external program {\tt
   601 xsltproc}\footnote{On SUSE Linux {\tt xsltproc} is installed by
   602 default.}
   603 will be called to process the XML file and generate HTML code.
   604 %A script then will transform the XML
   605 %version. 
   606 A dialog allows to set various options:
   607 \begin{itemize}
   608 	\item {\bf Include image:} If set, \vym will creat an image map at
   609 	the top of the HTML output. Clicking on a branch in the map will
   610 	jump to the corresponding section in the output.
   611 
   612 	\item {\bf Colored headings:}
   613 	If set to yes, \vym will color the headings in the text part  with the
   614 	same colors like in the map.
   615 	\item {\bf Show Warnings:}
   616 	If set to yes, \vym will ask before overwriting data.
   617 	\item {\bf Show output:}
   618 	This is useful mainly for debugging. It will show how the processing of
   619 	the XML file works by calling the external {\tt xsltproc}.
   620 \end{itemize}
   621 Additionally the paths to the CSS and XSL stylesheets can be set. By
   622 default on SUSE~Linux they will be in {\tt /usr/share/vym/styles}.
   623 
   624 %\paragraph{WIKI style:} This is very useful for easy design of webpages.
   625 %Here is a short overview:
   626 %\begin{verbatim}
   627 %Lines:
   628 %	+ Big headlines start with the '+' character.
   629 %	- Small headlines start with the '-' character.
   630 %	  Normal text doesn't have any starting notation.
   631 %	! Notes start with an exclamation.
   632 %	. Indented text starts with a dot.
   633 %	? Questions start with a question-mark, and
   634 %	= Answers starts with the equal-sign.
   635 %	* Points for a item-list
   636 %	# clues
   637 %	
   638 %Links:
   639 %	use '{...}' or '{(vym homepage) http://www.insilmaril.de/vym/}'
   640 %	for external links.
   641 %	
   642 %Markup:
   643 %	|This is bold| text, while 
   644 %	|/this text is italic|, 
   645 %	|*this is pre-formatted|, and 
   646 %	|!this is a note|
   647 %\end{verbatim}
   648 %
   649 %\paragraph{Show output:} This is used for debugging. \vym uses an
   650 %the external script {\tt vym2html.sh} to preprocess the XML-data. Then
   651 %\vym calls {\tt xsltproc} to generate the HTML page by using various
   652 %{\tt .xsl} stylesheets and {\tt wireframe.css}. If you run into problems
   653 %here, changing paths in {\tt $\sim$/.qt/vymrc} might help.
   654 
   655 \subsubsection*{XML} \label{xmlexport}
   656 The map is written into a directory both as an image and as XML. The
   657 directory is set in a file dialog. If the directory is not empty, you
   658 will be questioned if you risk to overwrite its contents.
   659 
   660 It is possible to export different maps into the same directory. Each
   661 file generated will have the map's name as prefix, e.g. {\tt todo.vym}
   662 becomes {\tt todo.xml}, {\tt todo.png}, {\tt todo-image-1.png} and so
   663 on. This is useful if e.g. for a website several combined maps have to
   664 be stored in the same directory.
   665 
   666 \subsection{Import} 
   667 At the moment \vym can read a directory structure. This is mainly for
   668 testing \vym e.g. to easily create huge maps used for benchmarks (yes,
   669 there is still room to optimize \vym ;-)
   670 
   671 Many other applications meanwhile can export their data using XML, so
   672 volunteers to write import filters are welcome.
   673 
   674 \subsection{File format}
   675 \vym maps usually have the postfix "{\tt .vym}" and represent a
   676 compressed archive of data. If you want to have a
   677 closer look into the data structure, just uncompress the map manually
   678 using
   679 \begin{verbatim}
   680 	unzip vymfile.vym
   681 \end{verbatim}
   682 A directory named {\tt vymfile} will be created containing further
   683 directories both for {\tt images} and {\tt flags}. In the {\tt vymfile}
   684 directory you will find the map itself, usually named {\tt vymfile.xml}.
   685 
   686 This file can be loaded directly into \vym, it does not have to be
   687 compressed. If you want to compress all the data yourself, use
   688 \begin{verbatim}
   689 	cd vymfile
   690 	zip -r vymfile.vym .
   691 \end{verbatim}
   692 
   693 
   694 %TODO
   695 %\subsubsection{Menus}
   696 %\subsubsection{Keyboard shortcuts}
   697 %Where does vym save its settings? -> ~/.qt/vymrc
   698 
   699 \section{History of \vym}
   700 \subsection{Future}
   701 There are lots of features which might find their way into \vym.
   702 Together with \vym you should have received a directory with example
   703 maps e.g. on SUSE~LINUX this is
   704 \begin{center}
   705 	{\tt /usr/share/doc/packages/vym/demos}
   706 \end{center}
   707 where you find the map {\tt todo.vym}. It lists quite a lot of things to
   708 be done in future. If you have more ideas, contact the author at
   709 {\tt vym@insilmaril.de}.
   710 
   711 \subsection{Past}
   712 \begin{center}
   713 \begin{longtable}{|lcp{8cm}l|} \hline
   714 Version	&	&	Comment								& Date	\\ \hline \hline \endhead
   715 	\hline \endfoot
   716 1.6.0 	& -	&	Added saving of xhtml settings in map& 2004-12-14 \\ 
   717 1.5.2 	& -	&	Added Import of maps with two modes: 
   718 				add/replace							& 2004-12-13 \\ 
   719 		& - &	Added export of part of maps		& \\
   720 		& - &	Added joining of paragraphs in text editor		& \\
   721 		& - &	Optimized undo: Only relevant parts are saved, which
   722 				dramatically improves e.g. moving branches up/down 
   723 				in most maps & \\
   724 		& -	&	Bugfix: QTextEdit generates invalid XML code, which
   725 				could lead to a parse error, if font name contains a \& &  \\ 
   726 		& -	&	Bugfix: Wrong order of mainbranches in Export	&  \\ 
   727 		& -	&	Bugfix: zip archive was not deleted before save, which
   728 				could lead to much bigger files, e.g. 
   729 				when working on older \vym maps or deleted images&  \\ 
   730 		& -	&	Bugfix: Printing in Texteditor      &  \\ 
   731 		& -	&	Bugfix: Wrong URLs in xhtml output				&  \\
   732       	& -	&	Bugfix: Segfault fixed at Cursor left/right in empty map&  \\
   733 1.5.1 	& -	&	More options in xhtml export: external scripts 	& 2004-10-01 \\
   734 1.5.0 	& -	&	Public release of all changes since 1.4.1      	& 2004-09-26 \\
   735       	& -	&	New function to replace paragraphs in note editor
   736 				by linebreaks, this makes pasted text much nicer& \\
   737       	& -	&	New option to toggle exporting of of floatimages& \\
   738       	& -	&	z-plane of floatimages can be set (manually only)& \\
   739 		& - &	Bugfix: Wrong ordering of branches, if mainbranch is
   740 				exactly left of center& \\
   741 1.4.7 	& -	&	New Export to HTML by Thomas Schraitle.	& 2004-09.24 \\
   742 		& - &	Bugfix: vymLink&	\\
   743 		& - &	Bugfix: spaces and dots in filenames	& \\
   744 		& - &	Bugfix: Error message if xsltproc is not installed& \\
   745 1.4.6 	& -	&	New file format: notes are saved as part of the .xml file
   746 			& 2004-09-15	\\
   747 		& - &	Note Editor supports Rich Text now.&\\
   748 		& - &	Parser now also nows {\tt standardflag} (all letters
   749 				lowercase)&\\
   750 1.4.5 	& -	&	Correct handling of font size in Heading			& 2004-08-23	\\
   751 1.4.4 	& -	&	Selecting with cursor now works between subtrees	& 2004-07-29	\\
   752 		& - &	Bugfix: vymLink was set to temporary dir in 1.4.3	& \\
   753 		& - &	Bugfix: & \\
   754 1.4.3 	& -	&	Optimisation: Reduced canvas objects by only
   755 				creating objects for used flags		& 2004-07-19 \\ 
   756 		& - &	Better visualization of moving branch above/below target&\\		
   757 		& - &	Find Window informs with dialog, if the search failed&\\
   758 		& - &	System Flags are clickable now		&\\
   759 		& - &	Reworked CSS and XST stylsheets (comments, indent, browser
   760 				compatibility)						&\\
   761 		& - &	vymLinks are shown in statusbar		&\\
   762 		& - &	current directory is save			&\\
   763 		& - &	Rewritten load/save to improve multimap handling and
   764 				unzipped files&\\
   765 		& - &	Bugfix: vymLinks don't get deleted 
   766 				when Cancel is pressed				&\\		
   767       	& -	&	Bugfix: Fixed a bunch of bugs in XSL for HTML export&            \\ 
   768       	& -	&	Bugfix: More toolbar buttons disabled, if action not
   769 				possible&            \\ 
   770 		& - &	Bugfix: Renaming .vymfile now works&\\		
   771 		& - &	Bugfix: mapChanged set when toggling flags&\\		
   772 		& - &	Bugfix: CTRL-N was used twice		&\\
   773 		& - &	Bugfix: Del didn't work on floatimage &\\
   774 1.4.2 	& -	&	Bugfix: Float image could not be deleted& \\ 
   775 1.4.1 	& -	&	Bugfix: Color of branch not saved	& 2004-05-25 \\ 
   776       	& -	&	Bugfix: wrong path at HTML export	&            \\ 
   777 		& -	&	Bugfix: map is not save with special characters in path&  \\ 
   778 1.4.0 	& -	&	Ask for confirmation before opening 
   779 				a map in multiple editors			& 2004-05-17 \\
   780 		& - &	Save state of note editor (visible/minimized)& \\
   781 		& - &	Export to HTML						& \\
   782 		& - &	Author and Comment is saved in map	& \\
   783 		& - &	Stats are shown in Edit MapInfo		& \\
   784 		& - &	Changes for OS X port (QCursor, QContextMenuEvent)	& \\
   785 		& - &	Bugfix: Fonts from note editor are save now			&\\
   786 		& - &	Bugfix: invisible image when parent is scrolled		&\\
   787 		& - &	Bugfix: Segfault pressing "enter" for floatimage	&\\
   788 		& - &	Bugfix: Images can't be outside of exported area
   789 				anymore.& \\
   790 		& - &	Bugfix: Filenames with blanks		& \\
   791 		& - &	Bugfix: Old maplink is shown when editing maplink& \\
   792 		& - &	Bugfix: always show cursor while editing heading & \\
   793 1.3.5 	& -	&	Export map to dir					& 2004-04-16 \\
   794 		& - &	Export to any of QTs image formats	& \\
   795 		& - &	Also right side of selection is always visible now.& \\
   796 1.3.4 	& -	&	Load last maps in file menu         & 2004-04-07 \\
   797 		& - &	save last image path for loading	& \\
   798 		& - &	Also export standard flags to dir.	& \\
   799 1.3.3 	& -	&	Enabled <br> in headings as manual linebreak	& 2004-03-26 \\
   800 		& -	&	Heading can be copied to URL		&\\
   801 		& -	&	Bugfix: GIFs are automatically converted to PNG now&\\
   802 1.3.2 	& -	&	Add and move branches above/below selection, Texteditor copy all,& 2004-03-26 \\
   803 1.3.1 	& -	&	Export to directory, changed naming in .vym& 2004-03-25 \\
   804 1.3.0 	& -	&	Bugfix: Check if map can be saved at all& 2004-03-23 \\
   805 1.2.12	& -	&	Select image format before saving image	& 2004-03-22 \\
   806 1.2.11	& -	&	Selecting mainbranches by up/down	& 2004-03-18 \\
   807 		& -	&	Export ASCII (experimental)			&			\\
   808 		& -	&	Each map can be saved individually at quit	&	\\
   809 		& -	&	Bugfix: Opening VymLink crashes QT	&			\\
   810 		& -	&	Bugfix: 50\% less objects on canvas	&			\\
   811 		& -	&	Bugfix: Ignoring LANG, now always written as UTF8&\\
   812 1.2.10	& -	&	Sort Mainbranches by angle to y-axis& 2004-03-16 \\
   813 		& -	&	Import directory structure			&			\\
   814 		& - &	Fix: Set FrameType of MapCenter while loading map &\\
   815 1.2.9	& -	&	Jump to another vym map		        & 2004-03-12 \\
   816      	& -	&	Mainbranches are alwas ordered clockwise   &     \\
   817 1.2.8	& -	&	Change frame types in context menu  & 2004-03-03 \\
   818 1.2.7	& -	&	Copy / Paste and save Floatimages & 2004-02-25 \\
   819 1.2.6	& -	&	Closing vym in KDE now asks for save, too	& 2004-02-24 \\
   820 		& -	&	Context menu for branches					&  \\
   821 		& -	&	Selection is saved in .vym file				&  \\
   822 1.2.5	& -	&	URLs to external links can be added & 2004-02-18 \\
   823 		& - &	All actions are deactived if not possible & \\
   824 1.2.4	& -	&	Images: Can be loaded, saved, relinked to other parents
   825 & 2004-02-16 \\
   826 1.2.3	& -	&	Zoom: Reset and finer steps shrinking/enlarging	& 2004-01-27 \\
   827 1.2.2	& -	&	Editing of links (style and color)	& 2004-01-27 \\
   828 1.2.1	& -	&	Bugfix: LineEdit when adding branch has correct position
   829 				again.								& 2004-01-27 \\
   830 1.2.0	& -	&	Scrolled parts are automatically unscrolled when
   831 				selected and scrolled again later.				& 2004-01-23 \\
   832 		& - &	Bugfix: Save flag is updated when multiple maps are opened& \\
   833 		& - &	Bugfix: Moving of branches is faster and more accurat
   834 				when adding to mapcenter& \\
   835 1.1.7	& -	&	Bugfix: Remember filename of note in noteeditor	& 2003-12-04 \\
   836 1.1.6	& -	&	Find Text also in Notes.	& 2003-12-02 \\
   837 1.1.5	& -	&	Bugfix: Correct setting and positioning when relinking branches	& 2003-11-07 \\
   838 1.1.4	& -	&	Scroll mode added (folding of subtrees).		& 2003-11-03 \\
   839 		& - &	Bugfix: Wrong position of linedit in zoomed view& \\
   840 1.1.3	& -	&	Added clear button in find window, bugfixes    & 2003-10-09 \\ 
   841 1.1.2	& -	&	Links can be colored with color of heading     & 2003-10-07 \\ 
   842 1.1.1	& -	&	Improved visualization of linking to new branch& 2003-09-26 \\ 
   843 1.1.0	& -	&	Find Function							& 2003-09-25 \\ 
   844 		& -	&	Selection always stays in view		& \\ \hline
   845 1.0.1	& -	&	Find function scrolls to result now	& 2003-09-18\\
   846      	& -	&	Bugfix: Adding branch with midmouse	&  \\
   847 		& -	&	Bugfix: multiple repositioning of map, 
   848 				when noteeditor was changed (speedup)	& \\
   849 		& -	&	New Linestyles (still hardcoded)		&	\\ \hline
   850 1.0.0	& -	&	First public stable release			& 2003-09-16 \\	 \hline	
   851 0.9.0	& -	&	added quick color picker (CTRL + Left Mouse) & ?	\\ \hline
   852 0.8.0	& - &	added automatic canvas resizer, removed manual resizing of
   853 				canvas & \\
   854 
   855 	& - &	added settings option to paste text into new branch	& \\
   856 	& - &	simplified code	& \\
   857 	& - &	Added heart flag	& \\
   858 	& - &	Choose and switch between fixed and variable width fonts& \\
   859 	& - &	note editor		& \\
   860 	& -	&	Fixed segfault caused by undo and a call of updateNoteFlag of
   861 			note editor	& \\
   862 	& - &	Added settings menu to configure autoselect \& autoedit mode	& \\
   863 	& - &	autoedit \& autoselect mode	& \\
   864 	& - &	Fixed ugly display problem with QT Palette (Klaas Freitag)& \\
   865 	& - &	Reduced temporary directories from 4 to 1	& \\
   866 	& - &	Added wordwrap in printing of notes	& \\
   867 	& - &	New toolbar buttons in texteditor	& \\
   868 	& - &	Set background color	& \\
   869 	& - &	Fixed bug: Flags in toolbar not updated when selecting map center	& \\ \hline
   870 0.7.0	& - & No more segfault, when an object is deleted while being edited & \\
   871 	& - & Keep focus constant when zooming in/out & \\
   872 	& - & Export as png graphic & \\
   873 	& - & Keep Center of map where it is while zooming & \\
   874 	& - & Added Standard Flags (Smiley, Hook, Stopsign, ...) & \\
   875 	& - & MDI: Multi Document Interface enables working on several
   876 		maps simultanously & \\
   877 	& - & Enabled creating a new map via argument on commandline & \\
   878 	& - & Changed file extension from .mmap to .vym & \\
   879 	& - & noteeditor changes color, if empty or nothing is selected & \\
   880 	& - & Changes in NoteEditor window are recognized by main window,
   881 		too, thus preventing loosing data when quitting the program. & \\ \hline
   882 0.6.0	& - &	New rendering engine: Faster, no flickering & \\ \hline
   883 0.5.0	& - & Changed printing to use maximum space on paper& \\ 
   884 	& - & Note editor is hidden, too, when mapeditor is minimized& \\ 
   885 	& - & New (compressed) file format& \\ \hline
   886 0.4.0    & - & Size of map is saved& \\ 
   887     & - & Multi Line Headings & \\ 
   888     & - & Reworked Rendering Engine: Much faster now.& \\ 
   889     & - & Reworked Undo: Much faster now.& \\ 
   890     & - & Enabled moving of map center& \\ 
   891     & - & Multi-line headings & \\ \hline
   892 0.3.0    & - & Introduced Undo& \\ 
   893     & - & Fixed some bugs & \\  \hline
   894 0.2.0    & - & Moving view of map improved:& \\ 
   895 	& - & New handling (acrobat reader style)& \\ 
   896 	& - & New mousepointer& \\ 
   897     & - & Several tools to color a map& \\ \hline
   898 0.1.0 & - & Inital version, basic map layout & \\ 
   899     & - & Data is stored in XML& \\ 
   900 \end{longtable}
   901 \end{center}
   902 
   903 
   904 % INDEX
   905 % mapeditor
   906 % noteditor
   907 % branch
   908 % mapcenter
   909 % heading
   910 % flag
   911 % orientation 
   912 % zoom
   913 % orientation
   914 % Toolbar
   915 % Zoom
   916 % Find
   917 % statusbar
   918 % link
   919 % mainbranch
   920 % subtree
   921 % reorder
   922 % scroll
   923 % fold
   924 
   925 
   926 
   927 \end{document}