readded flag as xpm. png are not (easily) found
1 \documentclass{article}
3 \usepackage[latin1]{inputenc}
13 \hypersetup{bookmarks, bookmarksopen,
14 pdftitle={VYM - a tool for visual thinking },
15 pdfauthor={Uwe Drechsel},
17 pdfkeywords={map, tool},
18 pdfpagemode={UseOutlines},
19 bookmarksopenlevel={1},
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]}
35 \includegraphics[width=8cm]{vym-logo-new.png}
37 VYM \\ -- \\View Your Mind}
38 \author{\textcopyright Uwe Drechsel }
49 \section{Introduction}
50 \subsection{What is a \vym map?}
51 A \vym map (in short words {\em map}) is a tree like structure:
53 \includegraphics[width=12cm]{example1.png}
55 Such maps can be drawn by hand on paper or a flip chart and help to
56 structure your thoughs. While a tree like structure like above can be
57 drawn by hand or any drawing software \vym offers
58 much more features to work with such maps. \vym is not another drawing
59 software, but a tool to store and modify information in an intuitive
60 way. For example you can reorder parts of the map by pressing a key or
61 add various information like a complete email by a simple mouse click.
63 \subsection{Why should I use maps? Time, Space and your Brain.}
64 \subsubsection*{Space}
65 A map can concentrate a very complex content on little space e.g. a
66 piece of paper. It helps to use both sides of your brain: the logical
67 side and also your creative side (e.g. by using pictures, colors and
68 keywords in a map, so called {\em anchors}). It is a technique to
69 organize the way you think: It can help you by developing, sorting and
70 memorizing your thoughts.
73 Because you just use keywords and drawings, it is much faster than good
74 old fashioned notes. Your brain memorizes things by associating them to
75 other things -- a map makes use of those connections and stimulates
79 \subsubsection*{Your Brain}
80 In 1960 the Prof. {\sc Roger Sperry} discovered that both hemispheres
81 of the human brain have different tasks (of course both of them
82 basically {\em can} do the same):
84 \begin{tabular}{|p{5.5cm}|p{5.5cm}|} \hline
85 Left side & Right side \\ \hline
87 \item verbal speech and writing
89 \item logical thinking
90 \item analyzing and details
97 \item visual thinking, day dreams
98 \item intuition and emotion
99 \item overview of things
101 \item art, music, dancing
102 \item non-linear thinking, connecting things
103 \item spatial awareness
104 \end{itemize} \\ \hline
107 In our science oriented society we have learned to mainly rely on our
108 left side of the brain, the "rational" one. In other cultures,
109 especially like the native americans and other "old" cultures, the right
110 side is much more important. maps are just one way to stimulate the
111 other side and make use of additional ressources we all have.
114 \subsection{Where could I use a map?}
115 Here are some examples, how you can use those maps
117 \item to prepare articles, papers, books, talks, \ldots
118 \item to sort complex data
119 \item to memorize facts, persons, vocabulary, \ldots
120 \item to sort emails, files and bookmarks on your computer
121 \item to moderate conferences
124 \subsection{What you shouldn't do with a map...}
125 A map drawn by somebody shows the way the author thinks. There is
126 no right or wrong in the way it is drawn, so there is no way to criticize
127 it. "It is, what it is" ({\sc F.~Lehmann}).
132 \subsection{Internet Ressources}
133 A good starting point to learn more about maps in general is Wikipedia:
136 \href{http://en.wikipedia.org/wiki/Mind_map}{http://en.wikipedia.org/wiki/Mind\_map}
138 \href{http://de.wikipedia.org/wiki/Mindmap}{http://de.wikipedia.org/wiki/Mindmap}
144 \section{Concept of \vym}
145 %TODO may add a general introduction here...
146 \subsection{Windows: mapeditor and noteeditor}
147 \vym uses two windows: an editor for the map itself and another one for
148 notes, which are part of the map. Let's call them {\em mapeditor} and
151 \includegraphics[width=8cm]{windows.png}
153 Usually you will work in the {\em mapeditor} by just adding new
154 branches, moving around and reordering them. The various ways to do this
155 will be explained in \ref{mapeditor}. You can store additional
156 information e.g. the content of a email easily in a {\em branch}: Just
157 type or copy\&paste it into the {\em noteeditor}. Working with notes is
158 explained in \ref{noteeditor}
160 \subsection{Menus and Context menus}
161 On top of each window you find the menubar. The options you find there
162 are similar to those you are used from other applications. Note that
163 many (and even more) options are availabe via {\em context menus}. Those
164 are available if you right-click onto an object in a map (on Mac~OS~X
167 \subsection{Toolbars}
168 The toolbars in the mainwindows give quick access to many functions and
169 also visualize the state of an object. For example a part of of the map
170 can be hidden when the map is exported into an Open~Office presentation.
171 To show this the branch in the map will have a little cloud symbol,
172 which is also "switched on" in the toolbar.
174 Note that you can reposition all toolbars by simply grabbing them. For
175 example you can move the flags-toolbar from its original horizontal
176 position on top of the mapeditor to a vertical position on the right
177 side. You can even detach it and make it "float" separate from the other
178 windows. Or just insert it again at its original position.
181 The map itself has always a {\em mapcenter}. The
182 mapcenter has {\em branches} just like the trunk of a tree. Each branch
183 in turn may have branches again.
185 \includegraphics[width=10cm]{branches.png}
187 We will call a branch directly connected to the mapcenter a {\em
188 mainbranch}, because it determines the position of all its child
191 The mapcenter and the branches all have a {\em heading}. This is the
192 text you see in the mapeditor. Usually it should just be one or a few
193 words, so that one can easily keep track of the whole map.
196 In the toolbar above the mapeditor you see various symbols.
198 \includegraphics[width=8cm]{default-flags.png}
200 These are called {\em flags} and can be used to mark branches in the
201 map, e.g. if something is important or questionable.
202 There are also more flags set by \vym automatically to show additional
203 information, e.g. when a exists for a particular branch.
205 By default some of these flags are set exclusively e.g. when the \lq
206 thumb-up\rq flag is set, then the \lq thumb down\rq is unset and vice
207 versa. You can change this default behaviour in the settings menu.
209 %TODO add info about toolbars e.g. undo/redo, ...
211 \section{Mapeditor} \label {mapeditor}
212 \subsection{Start a new map}
213 After \vym is started two windows will open: the mapeditor and the
214 noteditor. Usually you will work in both windows, but at the moment we
215 will just need the mapeditor.
217 Select the mapcenter "New map" in the middle of the mapeditor by
218 left-clicking with the mouse. It will turn yellow to show that is
219 selected. There are several ways to add a new branch to the center:
221 \item Using the mouse: Open the context meny by clicking with the
222 right mouse button (CTRL-Click on Mac) onto the
223 mapcenter and choose Add \ra Add as child
224 \item Press \key{Ins} or \key{A}
226 A new branch will appear and you will be able to type the heading of the
227 branch. Finish adding the new branch by pressing \key{Enter}.
229 Sometimes it comes handy to add a new branch above or below the current
230 one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}. It is also
231 possible to add a branch in such a way, that the current selection
232 becomes the child of the new branch, which is like inserting it {\em
233 before} the selection. This can be done using the context menu.
235 \subsection{Navigate through a map}
236 \subsubsection*{Select branches}
237 To select branches you can use the left button of your mouse or also the
238 arrow keys. Depending on the {\em orientation} of a branch type
239 \key{\la} or \key{\ra} to get nearer to the mapcenter or deeper
240 down into the branches. Within a set of branches, let's call them a
241 {\em subtree}, you can use \key{\ua} and \key{\da} to go up and down. You can
242 also use \key{Pos1} and \key{End} to select the first and last branch.
245 \subsubsection*{Zoom a map}
246 While adding more and more branches the size of the map may become
247 bigger than the mapeditor window. You can use the scrollbars on the
248 right and the bottom of your mapeditor window to scroll, but it is
249 easier to just scroll using the left mouse button: Click onto the {\em
250 canvas} itself, the empty space somewhere between the branches. The
251 mouse pointer will change from an arrow to a hand, now move the visible
252 part of the map to show the desired part.
254 If you select branches using the arrow keys, the map will scroll
255 to ensure that the selected branch is always visible.
257 Working with huge maps, the {\em zoom}-function comes in handy: You can
260 \item from the menu View \ra Zoom
261 \item the toolbar buttons
263 \includegraphics[width=3cm]{zoom-buttons.png}
266 The crossed magnifying lens resets the zoomed view to its original size.
269 \subsubsection*{Find Function} \label{findwindow}
270 With huge maps there is the need to have a
271 find function. Choose Edit \ra Find to open the Find Window:
273 \includegraphics[width=6cm]{find-window.png}
275 The text you enter here will be searched in all the headings and also in
276 notes. Everytime you press the "Find"-button it will look for the next
277 occurence, which then will be selected automatically. If the search
278 fails, there will appear a short message "Nothing found" or a few
279 seconds in the {\em statusbar} on the bottom of the mapeditor.
281 \subsubsection*{Scroll a part of the map}
282 A very big subtree of a map e.g. a branch with hundreds of childs makes
283 it very hard to keep an overview over the whole map. You can hide all
284 the childs of a branch by {\em scrolling} it -- this function is also
285 often called {\em folding}. Think of the whole subtree as painted onto a
286 big newspaper. You can scroll the paper to a small roll, leaving just
287 the headline readable.
289 To scroll or unscroll a branch and its childs, press the
291 \item \key{Scroll} key or \key{S}
292 \item press the middle-mouse button or
293 \item choose the little scroll from the toolbar.
295 If you select parts of a scrolled branch e.g. using the find function or
296 by using the arrow-keys, it will unscroll temporary. This is shown as a
297 scroll with a little hour glass. If the temporary unscrolled part is not
298 longer needed, it will be hidden again automatically. It is also
299 possible to unscroll all branches using "Edit\ra Unscroll all scrolled
304 \subsection{Modify and move branches}
305 \subsubsection*{Modify the heading of a branch}
306 You can edit the heading by selecting the branch and then
308 \item pressing \key{Enter}
309 \item double-clicking with left mouse.
311 Just type the new heading (or edit the old one) and press \key{Enter}.
313 \subsubsection*{Move a branch}
314 The easiest way to move a branch is to select it with left-mouse and
315 drag it to the destination while keeping the mouse button pressed.
316 Depending on the branch it will be
318 \item moved to the destination or
319 \item {\em linked} to a new {\em parent} (mapcenter or branch)
321 If you drag the branch over another one or over the mapcenter, you will
322 notice that the link connecting it to the old parent will be changed to
323 lead to the new parent which is now under your mousepointer.
324 If you release the button now, the branch will be relinked.
326 If you release the button in the middle of nowhere, the result will
327 depend on the type of branch you are releasing:
329 \item A mainbranch is directly connected to the mapcenter.
330 It will stay on its new position.
331 \item An ordinary branch will "jump" back to its original position.
333 Thus you can easily rearrange the layout of the mainbranches to avoid
334 overlapping of their subtrees.
335 There is another convenient way to move branches, especially if you want
336 to {\em reorder} a subtree: You can move a branch up or down in a
339 \item pressing \key{\ua} and \key {\da}
340 \item selecting Edit \ra Move branch
341 \item clicking on the toolbar buttons:
343 \includegraphics[width=1.5cm]{move-buttons.png}
347 There is yet another way to move branches: If you press \key{Shift} or
348 \key{Ctrl} while moving with the mouse, the branch will be added above
349 or below the one the mouse pointer is over. This helps also to reorder a
352 \subsection{The right side of your brain - colors and images}
353 \subsubsection*{Change color of a heading}
354 You can also use colors to put more information into a map, e.g. use
355 red, green and more colors to prioritize tasks. Again you can
357 \item use the menu and choose e.g Format \rq Set Color
358 \item use the toolbar
360 \includegraphics[width=3cm]{color-buttons.png}
363 The first button (black in the graphic above) shows the actual color.
364 Clicking on it let's you choose another color. You can also "pick"
365 another color by selecting a branch with the desired color and using the
366 "pick color" button. Both of the buttons showing a bucket actually put
367 the current color to the selected branch. While the first one just
368 colors the heading of the selection, the last one also colors all the
369 childs of the selected branch.
372 A very useful function is the "copy color" using the mouse: Select the
373 branch which should get the new color, then press \key{Ctrl} and
374 simultanously click with left-mouse on another branch to copy its color
375 to the first one. Here the childs of the selection also will get the new
376 color, if you just want to color the selection itself, additionally
379 \subsubsection*{Use flags}
380 \vym provides various flags. You see them in the toolbar on top of the
381 mapeditor window. (Note: Like all toolbars you can also move them to the
382 left or the right side of the window or even detach them. Just grab the
383 very left "dotted" part of the toolbar with your left-mouse button.)
385 \includegraphics[width=8cm]{default-flags.png}
387 If you have a branch selected, you can set any number of flags by
388 clicking them in the toolbar. The toolbar buttons change their state and
389 always reflect the flags set in the selected branch.
391 Presently \vym uses two kinds of flags: {\em System Flags} and {\em
392 Standard Flags}. The standard flags are those shown in the toolbar.
393 System flags are set by \vym to indicate e.g. that there is additional
394 information in a note (more on this in \ref{noteeditor}). Later versions
395 of \vym may have another kind of flags, which may be edited by the user.
397 \subsubsection*{Images}
398 The easiest way to add an image to a branch is by dragging it e.g. from a
399 webbrowser to the mapeditor while a branch is selected there.
401 You can also add a image to a branch by opening the context menu of the
402 branch choose "Add Image". A
403 dialog window lets you choose the image to load.
404 \footnote{Supported image types are: PNG, BMP, XBM, XPM and PNM. It may
405 also support JPEG, MNG and GIF, if specially configured during
406 compilation (as done when \vym is part of SUSE LINUX).}
407 While an image is selected in the dialog, you can see a preview of the
408 image. It is also possible to select multiple images.
410 You can position the image anywhere you want, just drag it with left
411 mouse. To relink it to another branch, press \key{Shift} while moving
412 it. To delete it, press \key{Del}.
414 If you right-click onto an image, a context menu will open which let's
415 you first choose one of several image formats. Then a file dialog opens
416 to save the image. Hint: This is used to "export" the image, it will be
417 saved anyway in the map itself! You can also cut and
418 copy images, but it is not possible to add objects to an image\footnote{
419 Images are regarded as "extra feature". It would make working with
420 the map much more complex if e.g. images could be linked to images.}
422 The option \lq{\bf Use for export} \rq controls the output of exports
423 e.g. to HTML: If set to no, the image won't appear in the {\em text}
424 part of the output. This is useful for large images or if images are
425 used as a kind of frame e.g. the famous cloud symbol around a part of
426 the map. Those shouldn't appear in the middle of the text.
428 At the moment image support is preliminary: Images will be saved
429 together with all the other data of a map in the {\tt .vym}-file.
430 Later versions will include more functionality like resizing the images,
431 changing its z-value (put it into background) etc.
433 \subsubsection*{Frames}
434 A frame can be added to a branch by clicking with the
435 right-mouse button. A context menu will open, where you can choose the
436 frame. At the moment just a rectangle resp. "No Frame" will be offered,
437 nevertheless you can use images as frames. Have a look at the demo map
438 {\tt todo.vym} as an example, where the mapcenter is a cloud. You can
439 use an external drawing program like {\tt gimp} to create an image,
440 preferable with an transparency channel, so that you can design frames
441 which don't use a rectangular borderline, just like the cloud.
444 \subsection{Background design}
445 The design of the background of a map and also of the links connecting
446 various parts of the map can be changed by
448 \item Selecting Format from the menu
449 \item Right clicking onto the canvas, which will open a context menu
452 \subsubsection*{Background color}
453 The color is set (and also displayed) as "Set background color".
455 \subsubsection*{Link color}
456 Links connecting branches can be colored in one of the following ways:
458 \item use the color of the heading of the branch the links is
459 \item use {\em one} color for all links. The default color is blue.
462 The latter can be set with "Set link color". Check or uncheck the "Use
463 color of heading for link" option to choose one of the two designs for
466 \subsubsection*{Link style}
467 \vym offers four different styles for the appearences of links:
474 The "thick" styles only draw links starting at mapcenter thick, the rest
475 of the map is always painted "thin".
478 \subsection{Link to other documents}
479 Presently \vym supports two kind of links:
481 \item Document, which will be opened in an external webbrowser
482 \item \vym map, which will be opened in \vym itself
485 \subsubsection*{Webbrowser}
486 Modern Webbrowsers like {\tt konqueror} are able to display various
487 types of files, both local or in the internet. To enter the URL of
488 any document, right-click onto a branch or use the Edit Menu
489 and choose "Edit URL". Enter the path to your document (or copy and
490 paste it from your browser). Examples for valid paths are:
492 http://www.insilmaril.de/vym/index.html
493 file:/usr/share/doc/packages/vym/doc/vym.pdf
495 If an URL was entered, a little globe will appear in the branch. By
496 clicking on the globe in the toolbar or the context menu an external
498 The browser can be changed in the Settings Menu.}
501 \includegraphics[width=0.5cm]{flag-url.png}
503 If you want to keep bookmarks in a map, select a branch where you want
504 to add the bookmark, then simply drag the URL from your browser to the
505 map. Also you could use an existing heading as URL: Right click onto the
506 branch and select "Use heading for URL".
508 \subsubsection*{\vym map}
509 To link to to another map right click on a branch or choose "Edit \ra
510 Enter \vym link". A file dialog opens where you can choose the map. A
511 branch with a link is marked with
513 \includegraphics[width=0.5cm]{flag-vymlink.png}
515 Clicking this flag in the toolbar or in the context menu of a branch
516 will open the map in another tab (see \ref{tabs} for working with
517 multiple maps). To delete an existing link, just press the "Cancel"
520 Technical note: Internally \vym uses absolute paths, to avoid opening
521 several tabs containing the same map. When a map is saved, this path is
522 converted to a relative one (e.g. {\tt /home/user/vym.map} might become
523 {\tt ./vym.map}. This makes it fairly easy to use multiple maps on
524 different computers or export them to HTML in future.
526 \subsection{Multiple maps} \label{tabs}
527 You can work on multiple maps at the same time. Each new map is opened
528 in another {\em tab}. The available tabs are shown just above the
529 mapeditor. You can use the normal cut/copy/paste functions to
530 copy data from one map to another.
535 %\subsubsection{Menus}
536 %\subsubsection{Keyboard shortcuts}
541 % Working with tabs (multiple maps)
545 \section{Noteeditor} \label {noteeditor}
546 If you want to save more text in a branch e.g. a complete email, a
547 cooking recipe, or the whole source code of a software project, you can
550 \includegraphics[width=8cm]{noteeditor.png}
552 This editor displays text associated to a branch selected in the
553 mapeditor. To visualize that there maybe is no text yet, the noteeditor
554 shows different background colors depending on its state:
557 Before you can type or paste text into it, you have
558 to select a branch in the mapeditor. Note that the background color
559 of the noteeditor indicates its state:
561 \item black: no branch selected
562 \item grey: no text entered yet
563 \item white: text is already available
565 To show you in the mapeditor itself that there is a note with more
566 information for a particular branch, a little note flag will appear next
567 to the heading of the branch. See the lower branch on the right side:
569 \includegraphics[width=8cm]{branches-flags.png}
572 \subsection{Import and export notes}
573 The note is always saved automatically within the \vym file itself.
574 Nevertheless sometimes it is nice to import a note from an external file
575 or write it. Use "File\ra~Import" and "File\ra~Export" to do so.
577 \subsection{Edit and print note}
578 Editing works like in any simple texteditor, including undo and redo
579 functions. You can delete the complete note by clicking the
580 trashcan. Only the note itself is printed by clicking the printer icon.
582 When pasting into the editor using the X11 copy\&paste mechanism, the
583 editor will create a paragraph for each new line. Usually this is not
584 wanted, so there you can convert all paragraphs into linebreaks by using
585 Edit~\ra~Remove~Paragraphs or \key{ALT-X}.
587 \subsection{RichText: Colors, paragraphs and formatted text}
588 \vym supports formatted text (QT Rich Text) in the noteeditor since
589 version 1.4.7. Colors and text attributes (e.g. italic, bold) can be
590 set with the buttons above the text. The text itself is divided in
591 paragraphs. For each paragraph the format can be set (e.g. centered,
592 right). A paragraph is ended when a \key{Return} is entered. If you just
593 want to begin a new line, press \key{CTRL-Return}.
595 \subsection{Fonts and how to quickly switch them}
596 The noteeditor is ment to be used for simple notes, not really as full
597 featured text editor. Because of many requests \vym supports now
598 formatted text in the noteeditor\footnote{
599 \vym uses the QRichtText format, which is basically a subset of the
600 formatting provided in HTML.}
601 Two default fonts are supported which can be set in the Settings menu.
602 One is a fixed width font, the other has variable width. The fixed font
603 is usually used for emails, source code etc.\ while the variable font is
604 used for simple notes, where one doesn't need fixed character widths.
605 Both fonts can easily switched using the following symbol from the
608 \includegraphics[width=0.5cm]{formatfixedfont.png}
610 In the Settings menu both fonts can be set and also which font should be
613 Additionally to the default fonts any font installed on your system can
614 be used. Please note, that the chosen font also will be used for HTML
615 exports, so you should only use fonts which are available generally.
617 \subsection{Find text}
618 The noteeditor itself has no Find function, use Find in the mapeditor,
619 which will also search all notes (see \ref{findwindow}).
621 \subsection{Paste text into note editor}
622 Often you will paste text into the editor from another application e.g.
623 an email. Normally \vym will generate a new paragraph for each new line.
624 This usually is not what you want, so you can choose from the menu
626 \subsection{Advanced actions}
627 \subsubsection*{Edit \ra Convert subsubsections:}
628 This turns subsubsections in selected text (or all text, if nothing is
629 selected) into linebreaks. This is especially useful for snippets of
632 \subsubsection*{Edit \ra Join Lines:}
633 Tries to format text, so that empty lines are used to delimit
634 paragraphs. This is done for selected text (or all text, if nothing is
635 selected). Especially useful for text like emails, meeting minutes etc.
637 \section{Hello world}
638 This section is about how \vym can interact with other applications.
639 Many applications meanwhile can read and write their data using XML, the
640 eXtensible Markup Language. \vym also uses XML to save its maps, see
641 \ref{fileformat} for a more detailed description.
643 So if your an application understands XML, chances are good that someone
644 could write import/export filters for \vym. Volunteers are always
649 \subsubsection*{KDE Bookmarks}
650 The integrated bookmark editor in KDE is somewhat limited, so why not
651 use \vym to maintain the bookmark mess? To create a new map containing
652 your current KDE bookmarks just choose
654 \item File \ra Import\ra KDE Bookmarks
657 \subsubsection*{Mind Manager}
658 \vym has currently a very basic import filter to convert maps created by
659 {\em Mind Manager}\footnote{Mind Manager is a professional software by
660 Mindjet. Both names are registered trademarks by Mindjet. For more
661 information see their website at
662 \href{http://mindjet.de}{http://mindjet.de}} into \vym maps. Notes and
663 pictures are not converted at the moment. You can import files with
665 \item File \ra Import\ra Mind Manager
669 \subsubsection*{Directory structure}
670 \vym can read a directory structure. This is mainly for
671 testing \vym e.g. to easily create huge maps used for benchmarks (yes,
672 there is still room to optimize \vym ;-)
675 \vym supports various formats to help other applications.
677 \subsubsection*{Open Office}
678 Open Office beginning with version~2 uses the so called "Open Office
679 Document Format", which can be written by \vym. The options are
680 currently limited, but it possible to export presentations which can be
681 opened in Open Office Impress. By selecting
683 \item File \ra Export\ra Open Office
685 you get a file dialogue where you can choose the output file and the
688 \includegraphics[width=12cm]{export-oo.png}
690 The file types represent various templates, which can be created with
691 some manual work from an existing Open Office document. The structure of
692 \vym map is then inserted into a template.
693 There are some limitations at the moment:
695 \item \vym can't take care of page lengths, so you have to check and
696 probably reedit in Open Office to avoid text running over the end of
698 \item Images and flags are not used at the moment
699 \item Notes are just written as plain text, without RichText
701 Some of the templates make use of {\em sections} e.g. insert the
702 headings of mainbranches as chapters for sections into the presentation.
704 \subsubsection*{Image}
705 \vym supports all image formats which are natively supported by the
707 BMP, JPEG, PBM, PGM, PNG, PPN, XPM, and XBM.
708 For use in websites and for sending images by email PNG is a good
709 recommodation regarding quality and size of the image. \vym uses QTs
710 default options for compressing the images.
712 \subsubsection*{ASCII}
713 Exporting an image as text is somewhat experimental at the moment. Later
714 this will probably done using stylesheets. So the output may change in
715 future versions of \vym.
717 \subsubsection*{\LaTeX}
718 \vym can generate an input file for \LaTeX. Currently this is considered
719 as experimental, there are no options (yet).
722 \item File \ra Export\ra \LaTeX
724 you will be asked in a file dialog for the name of the output file. This
725 file should be included in a \LaTeX document using command
727 \include{inputfile.tex}
730 \subsubsection*{XHTML (Webpages)}
732 This is the format you want to use to create a webpage. For an example
733 have a look at the \vym homepage:
734 \href{http://www.InSilmaril.de/vym}{www.InSilmaril.de/vym}
736 Some explanation how this works:
737 Before a map is exported as XHTML, it will be first written as XML into a
738 directory (see \ref{xmlexport}). Then the external program {\tt
739 xsltproc}\footnote{On SUSE Linux {\tt xsltproc} is installed by
741 will be called to process the XML file and generate HTML code.
742 A dialog allows to set various options:
744 \item {\bf Include image:} If set, \vym will creat an image map at
745 the top of the HTML output. Clicking on a branch in the map will
746 jump to the corresponding section in the output.
748 \item {\bf Colored headings:}
749 If set to yes, \vym will color the headings in the text part with the
750 same colors like in the map.
751 \item {\bf Show Warnings:}
752 If set to yes, \vym will ask before overwriting data.
753 \item {\bf Show output:}
754 This is useful mainly for debugging. It will show how the processing of
755 the XML file works by calling the external {\tt xsltproc}.
757 Additionally the paths to the CSS and XSL stylesheets can be set. By
758 default on SUSE~Linux they will be in {\tt /usr/share/vym/styles}.
761 \subsubsection*{XML} \label{xmlexport}
762 The map is written into a directory both as an image and as XML. The
763 directory is set in a file dialog. If the directory is not empty, you
764 will be questioned if you risk to overwrite its contents.
766 It is possible to export different maps into the same directory. Each
767 file generated will have the map's name as prefix, e.g. {\tt todo.vym}
768 becomes {\tt todo.xml}, {\tt todo.png}, {\tt todo-image-1.png} and so
769 on. This is useful if e.g. for a website several combined maps have to
770 be stored in the same directory.
772 \subsubsection*{Export a part of a map}
773 Select a branch you want to export together with its childs, then open
774 the context menu and choose {\em Save Selection}. This will create a
775 file with the postfix {\tt .vyp}, which is an abbreviation for \lq vym
779 \section{Advanced Editing}
780 \vym offers a few shortcuts to let you work more quickly and literally
781 to connect any branches directly.
782 \subsection{Modifier Modes}
783 Modifiers are for example the \key{Shift}- or the \key{Alt}-keys. When
784 pressed while doing actions with the mouse, they will cause \vym to use
785 a "modified" action. E.g. you can move branches with mouse. If
786 \key{Ctrl} or \key{Alt}is pressed while releasing the branch, it will be
787 added above/below the target, not as child of the target.
789 Without a modifier pressed, the first click on a branch just selects
790 it. For the behaviour of the \key{Ctrl} modifier there are several
791 options, which can be set from the modifier toolbar:
793 \includegraphics[width=3cm]{modmodes.png}
795 The default is to copy the color from the clicked branch to the already
796 selected branch. In the toolbar shown above the default modifier is
797 selected, namely to copy the color of a branch. The second modifier
798 let's you easily copy a whole branch with a single click. The third
799 modifier lets you create {\em xLinks}, which will be explained in the
803 So far all the data in the \vym map has been treelike. Using xLinks you
804 can link one branch to any other, just like attaching a rope between two
805 branches in a real tree. This is especially useful in complex maps,
806 where you want to have crossreferences which don't fit on the same
807 visible area, which fits on your screen. The following example, which is
808 part of the \vym package, still fits on one screen, but shows how data
809 can be crosslinked. In the graphics there is a link from a task (prepare
810 a presentation) to general information:
812 \includegraphics[width=12cm]{xlink.png}
814 Note that a xLink which points to a branch that is not visible (because
815 it is scrolled), is just show as a little horizontal arrow. In the
816 screenshot above have a look at the \lq Tuesday\rq\ branch.
818 \subsubsection*{Create a xLink}
819 Choose the link mode from the modifier toolbar (by clicking or pressing
820 \key{L}). Select the branch, where the xLink should start. Press the
821 modifier key \key{Ctr} and simultanously click on the branch where the
822 link should end. (The link is already drawn before you release the mouse
823 key). If you release the mouse over a branch the xLink becomes
826 \subsubsection*{Modify or delete a xLink}
827 Open the context menu of a branch and select \lq Edit xLink\rq. A
828 submenu contains all the xLinks of the branch (if there are any). They
829 are named like the branches, where they end. Choose one and
830 the xLink dialogue opens, where you can set color, width and also delete
833 \subsubsection*{Follow a xLink}
834 In a complext \vym map it sometimes comes handy to jump to the other end
835 of a xLink. You can do this by opening the context menu of the branch
836 and clicking on \lq Goto xLink\rq and selecting the xLink you want to
841 \subsection{Adding and removing branches}
842 The context menu of a branch shows some more ways to add and delete data
843 e.g. you can delete a branch while keeping its childs. The childs become
844 linked to the parent of the previously removed branch.
845 Similar branches can be inserted into existing maps. For keyboard
846 shortcuts also have a look at the context menu.
848 \subsection{Adding a whole map or a part of a map}
849 Select a branch where you want to add a previously saved map ({\tt .vym})or a part
850 of a map ({\tt .vyp}) , then open
851 the context menu and choose {\em Add \ra Import}. For the import you can
852 choose between {\em Import Add} and {\em Import Replace}: The imported
853 data will be added after the selection resp. replace the selection.
856 \section{\vym on Mac OS X}
857 \subsection{Overview}
858 Basically there are two ways to run \vym on Macs:
859 \subsubsection*{QT Mac Edition:}
860 \vym here provides the well known Mac look and feel. \vym is
861 available as zipped Mac OS X application. It has been compiled and
862 tested in Mac~OS~10.3, but should also work on Tiger. It is using
863 the Mac version of Trolltechs QT library.
865 \vym can also be run using the Linux version, but then menus and
866 handling will also be those of the Linux version e.g. The menu bar
869 \subsection {Contextmenu and special keys}
870 Most Macs unfortunatly just have a single mouse button. In order to show
871 the context menu which usually would be opened with the right mouse
872 button, you can click while pressing the \key{kommand}-key.
874 Especially on Laptops some of the keys usually used on PC keyboards seem
875 to be missing. The QT-Mac Edition of \vym has its own keyboard
876 shortcuts. To find the shortcuts just have a look at all the menu
877 entries, the shortcut is visible next to an entry. Toolbar buttons also
878 may have shortcuts, just position the mouse pointer over a button and
879 wait for the little help window to appear.
881 \subsection {Viewing external links}
882 \vym on Mac uses the system call {\tt /usr/bin/open} to view links.
883 Mac~OS determines automatically if the link is a pdf or www page and
884 opens the right browser.
889 \section{Contributing to \vym}
891 \subsection{Getting help}
893 \subsubsection*{Frequently asked questions}
894 Please refer to the FAQ available on the \vym website:
896 \href{http://www.InSilmaril.de/vym/faq.html}{http://www.InSilmaril.de/vym/faq.html}
899 \subsubsection*{Mailinglists}
900 There are two mailinglists: {\tt vym-forum} is the \vym users forum to
901 discuss various questions, while {\tt vym-devel} is intended for people
902 interested in contributing to \vym. You can view the archives and
905 \href{https://sourceforge.net/mail/?group_id=127802}{https://sourceforge.net/mail/?group\_id=127802}
908 \subsubsection*{Contacting the author}
909 Especially for support questions please try the mailinglists first. If
910 everything else fails you can contact the Uwe Drechsel at
912 \href{mailto:vym@InSilmaril.de}{vym@Insilmaril.de}
916 \subsection{Compiling from the sources}
917 \subsubsection{Getting the sources} \label{getsources}
918 You find the latest version of \vym at the project site:
920 \href{https://sourceforge.net/projects/vym/}{https://sourceforge.net/projects/vym/}
922 There you can check them out of the source repository (CVS):\\
925 cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/vym checkout code
928 \subsubsection{The Qt toolkit}
929 Qt is C++ toolkit for multiplatform GUI and application development. It
930 provides single-source portability across MS~Windows, Mac~OS~X, Linux
931 ans all major commercial Unix variants. Qt is also available for
932 embedded devices. Qt is a Trolltech product. For more information see
934 \href{http://www.trolltech.com/qt/}{www.trolltech.com/qt}
938 \subsubsection{Compiling \vym }
939 Make sure you have installed your Qt environment properly, see the Qt
940 documentation for details. You need to have the Qt command {\tt qmake}
941 in your {\tt PATH}-environment, then run
947 The last command {\tt make install} needs root-permissions. Of course it
948 may be omitted, if you just want to test \vym.
950 \subsubsection*{Compiling \vym on Macs}
952 \subsection{\vym file format} \label{fileformat}
953 \vym maps usually have the postfix "{\tt .vym}" and represent a
954 compressed archive of data. If you want to have a
955 closer look into the data structure map called "mapname.vym",
956 just uncompress the map manually using
960 This will create directories named {\tt images} and {\tt flags} in your
961 current directory and also the map itself, usually named {\tt
963 The XML structure of \vym is pretty self explaining, just have a look at
966 This XML file can be loaded directly into \vym, it does not have to be
967 compressed. If you want to compress all the data yourself, use
971 to compress all data in your current directory.
973 \subsection{New features}
974 There are lots of features which might find their way into \vym.
975 Together with \vym you should have received a directory with several
976 maps e.g. on SUSE~LINUX this is
978 {\tt /usr/share/doc/packages/vym/demos}
980 where you find the map {\tt todo.vym}. It lists quite a lot of things to
981 be done in future. If you have more ideas, contact the development team
983 {\tt vym-devel@lists.sourceforge.net}.
986 \subsection{New languages support}
987 In order to add a new language to \vym you need
988 the sources (see \ref{getsources}) and
989 an installation of Trolltechs QT. A part of QT are the development
990 tools, from those tools especially the translation tool "Linguist" is
993 In some Linux distributions the development tools are in an extra package, e.g. on SUSE LINUX you should have installed:
1000 If you don't have QT in your system, you can get it from
1001 \href{http://www.trolltech.com}{http://www.trolltech.com} Once you
1002 are able to compile vym yourself, you can translate the text in vym
1003 itself by performing the following steps:
1005 \item Let's assume now your encoding is "NEW" instead of for example
1006 "de" for german or "en" for english
1008 \item Copy the file {\tt lang/vym\_en.ts} to l{\tt ang/vym\_NEW.ts} (The code
1009 itself contains the english version.)
1011 \item Add {\tt lang/vym\_NEW.ts} to the TRANSLATIONS section of vym.pro
1013 \item Run Linguist on {\tt vym\_NEW.ts} and do the translation
1015 \item Run {\tt lrelease} to create {\tt vym\_NEW.qm}
1017 \item Do a make install to install the new vym and check your translation
1020 If you feel brave, you can also translate the manual. It is written in
1021 LaTeX, you just have to change the file tex/vym.tex. (Linguist and QT
1022 are not needed, but it is useful to know how to work with LaTeX and esp.
1023 pdflatex to create the PDF.)
1025 Please mail me every translation you have done. I can also give you a
1026 developer access to the project, if you want to provide translations
1029 \subsection{New export/import filters}
1030 \vym supports various kinds of filters. Data can be written directly,
1031 inserted into templates or it can be written as XML data and then
1032 processed by XSL transformations.
1034 Most of the import/export functionality is available in the classes
1035 ImportBase and ExportBase and subclasses. All of them can be found in
1036 {\tt imports.h} and {\tt exports.h}.
1038 \subsubsection{Direct import/export}
1039 An example for a direct export is the XML export. This method touches
1040 the implementation of nearly every object of \vym, so whenever possible
1041 it should be tried to use for example a XSL transformation instead.
1043 If you still want to know how it is done, start looking at
1044 {\tt MapEditor::saveToDir} in {\tt mapeditor.cpp}.
1047 \subsubsection{Templates}
1048 \subsubsection{XSL Transformation}
1055 %\subsubsection{Menus}
1056 %\subsubsection{Keyboard shortcuts}
1057 %Where does vym save its settings? -> ~/.qt/vymrc