insilmaril@11: \documentclass{article} insilmaril@11: \usepackage{a4} insilmaril@11: \usepackage[latin1]{inputenc} insilmaril@11: \usepackage{verbatim} insilmaril@11: \usepackage{hyperref} insilmaril@11: \usepackage{graphicx} insilmaril@11: \usepackage{longtable} insilmaril@11: insilmaril@11: insilmaril@11: %\input{udmath} insilmaril@11: insilmaril@11: insilmaril@11: \hypersetup{bookmarks, bookmarksopen, insilmaril@11: pdftitle={VYM - a tool for visual thinking }, insilmaril@11: pdfauthor={Uwe Drechsel}, insilmaril@11: pdfsubject={map}, insilmaril@11: pdfkeywords={map, tool}, insilmaril@11: pdfpagemode={UseOutlines}, insilmaril@11: bookmarksopenlevel={1}, insilmaril@11: colorlinks={true}, insilmaril@11: linkcolor={blue}, insilmaril@11: urlcolor={green}, insilmaril@11: citecolor={red}} insilmaril@11: insilmaril@11: insilmaril@11: \newcommand{\vym}{{\sc vym }} insilmaril@11: \newcommand{\ra}{$\longrightarrow$} insilmaril@11: \newcommand{\la}{$\longleftarrow$} insilmaril@11: \newcommand{\ua}{$\uparrow$} insilmaril@11: \newcommand{\da}{$\downarrow$} insilmaril@11: \newcommand{\key}[1]{[#1]} insilmaril@11: insilmaril@11: \begin{document} insilmaril@11: \title{ insilmaril@11: \includegraphics[width=8cm]{vym-logo-new.png} insilmaril@11: \\ insilmaril@11: VYM \\ -- \\View Your Mind\\ {\small Version 1.8.0}} insilmaril@11: \author{\textcopyright Uwe Drechsel } insilmaril@11: insilmaril@11: insilmaril@11: \maketitle insilmaril@11: insilmaril@11: \newpage insilmaril@11: insilmaril@11: \tableofcontents insilmaril@11: insilmaril@11: \newpage insilmaril@11: insilmaril@11: \section{Introduction} insilmaril@11: \subsection{What is a \vym map?} insilmaril@11: A \vym map (in short words {\em map}) is a tree like structure: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=12cm]{example1.png} insilmaril@11: \end{center} insilmaril@11: Such maps can be drawn by hand on a paper or flip chart and help to insilmaril@11: structure your thoughts. While a tree like structure like above can be insilmaril@11: drawn manually \vym offers much more features to work with such maps. insilmaril@11: \vym is not another drawing software, but a tool to store and modify insilmaril@11: information in an intuitive way. For example you can reorder parts of insilmaril@11: the map by pressing a key or add various information like a complete insilmaril@11: email by a simple mouse click. insilmaril@11: insilmaril@11: Once you have finished collecting and organizing your ideas, you can insilmaril@11: easily generate for example a presentation in Open~Office based on a insilmaril@11: map. insilmaril@11: insilmaril@11: \subsection{Why should I use maps? Time, Space and your Brain.} insilmaril@11: \subsubsection*{Space} insilmaril@11: A map can concentrate a very complex content on little space e.g. a insilmaril@11: piece of paper. It helps to use both sides of your brain: the logical insilmaril@11: side and also your creative side (e.g. by using pictures, colors and insilmaril@11: keywords in a map, so called {\em anchors}). It is a technique to insilmaril@11: organize the way you think: It can help you by developing, sorting and insilmaril@11: memorizing your thoughts. insilmaril@11: insilmaril@11: \subsubsection*{Time} insilmaril@11: Because you just use keywords and drawings, it is much faster than good insilmaril@11: old fashioned notes. Your brain memorizes things by associating them to insilmaril@11: other things -- a map makes use of those connections and stimulates insilmaril@11: new asccociations. insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{Your Brain} insilmaril@11: In 1960 the Prof. {\sc Roger Sperry} discovered that both hemispheres insilmaril@11: of the human brain have different tasks (of course both of them insilmaril@11: basically {\em can} do the same): insilmaril@11: \begin{center} insilmaril@11: \begin{tabular}{|p{5.5cm}|p{5.5cm}|} \hline insilmaril@11: Left side & Right side \\ \hline insilmaril@11: \begin{itemize} insilmaril@11: \item verbal speech and writing insilmaril@11: \item numbers insilmaril@11: \item logical thinking insilmaril@11: \item analyzing and details insilmaril@11: \item science insilmaril@11: \item linear thinking insilmaril@11: \item concept of time insilmaril@11: \end{itemize} & insilmaril@11: \begin{itemize} insilmaril@11: \item body language insilmaril@11: \item visual thinking, day dreams insilmaril@11: \item intuition and emotion insilmaril@11: \item overview of things insilmaril@11: \item creativity insilmaril@11: \item art, music, dancing insilmaril@11: \item non-linear thinking, connecting things insilmaril@11: \item spatial awareness insilmaril@11: \end{itemize} \\ \hline insilmaril@11: \end{tabular} insilmaril@11: \end{center} insilmaril@11: In our science oriented society we have learned to mainly rely on our insilmaril@11: left side of the brain, the "rational" one. In other cultures, insilmaril@11: especially like the native americans and other "old" cultures, the right insilmaril@11: side is much more important. Maps are just one way to stimulate the insilmaril@11: other side and make use of additional ressources we all have. insilmaril@11: insilmaril@11: insilmaril@11: \subsection{Where could I use a map?} insilmaril@11: Here are some examples, how you can use those maps insilmaril@11: \begin{itemize} insilmaril@11: \item to prepare articles, papers, books, talks, \ldots insilmaril@11: \item to sort complex data insilmaril@11: \item to memorize facts, persons, vocabulary, \ldots insilmaril@11: \item to sort emails, files and bookmarks on your computer insilmaril@11: \item to moderate conferences insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: \subsection{What you shouldn't do with a map...} insilmaril@11: A map drawn by somebody shows the way the author thinks. There is insilmaril@11: no right or wrong in the way it is drawn, so there is no way to criticize insilmaril@11: it. "It is, what it is" ({\sc F.~Lehmann}). insilmaril@11: insilmaril@11: %\section{Tutorials} insilmaril@11: %TODO insilmaril@11: insilmaril@11: \subsection{Internet Ressources} insilmaril@11: A good starting point to learn more about maps in general is Wikipedia: insilmaril@11: \begin{itemize} insilmaril@11: \item English: insilmaril@11: \href{http://en.wikipedia.org/wiki/Mind_map}{http://en.wikipedia.org/wiki/Mind\_map} insilmaril@11: \item German: insilmaril@11: \href{http://de.wikipedia.org/wiki/Mindmap}{http://de.wikipedia.org/wiki/Mindmap} insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: \section{Concept of \vym} insilmaril@11: %TODO may add a general introduction here... insilmaril@11: \subsection{Windows: mapeditor and noteeditor} insilmaril@11: \vym uses two windows: an editor for the map itself and another one for insilmaril@11: notes, which are part of the map. Let's call them {\em mapeditor} and insilmaril@11: {\em noteeditor}: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=8cm]{windows.png} insilmaril@11: \end{center} insilmaril@11: Usually you will work in the {\em mapeditor} by just adding new insilmaril@11: branches, moving around and reordering them. The various ways to do this insilmaril@11: will be explained in \ref{mapeditor}. You can store additional insilmaril@11: information e.g. the content of a email easily in a {\em branch}: Just insilmaril@11: type or copy\&paste it into the {\em noteeditor}. Working with notes is insilmaril@11: explained in \ref{noteeditor} insilmaril@11: insilmaril@11: \subsection{Menus and Context menus} insilmaril@11: On top of each window you find the menubar. The options you find there insilmaril@11: are similar to those you are used from other applications. Note that insilmaril@11: many (and even more) options are availabe via {\em context menus}. Those insilmaril@11: are available if you right-click onto an object in a map (on Mac~OS~X insilmaril@11: Command-Click). insilmaril@11: insilmaril@11: \subsection{Toolbars} insilmaril@11: The toolbars in the mainwindows give quick access to many functions and insilmaril@11: also visualize the state of an object. For example a part of of the map insilmaril@11: can be hidden when the map is exported into an Open~Office presentation. insilmaril@11: To show this the branch in the map will have a little cloud symbol, insilmaril@11: which is also "switched on" in the toolbar. insilmaril@11: insilmaril@11: Note that you can reposition all toolbars by simply grabbing them. For insilmaril@11: example you can move the flags-toolbar from its original horizontal insilmaril@11: position on top of the mapeditor to a vertical position on the right insilmaril@11: side. You can even detach it and make it "float" separate from the other insilmaril@11: windows. Or just insert it again at its original position. insilmaril@11: insilmaril@11: \subsection{Maps} insilmaril@11: The map itself has always a {\em mapcenter}. The insilmaril@11: mapcenter has {\em branches} just like the trunk of a tree. Each branch insilmaril@11: in turn may have branches again. insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=10cm]{branches.png} insilmaril@11: \end{center} insilmaril@11: We will call a branch directly connected to the mapcenter a {\em insilmaril@11: mainbranch}, because it determines the position of all its child insilmaril@11: branches. insilmaril@11: insilmaril@11: The mapcenter and the branches all have a {\em heading}. This is the insilmaril@11: text you see in the mapeditor. Usually it should just be one or a few insilmaril@11: words, so that one can easily keep track of the whole map. insilmaril@11: insilmaril@11: insilmaril@11: In the toolbar above the mapeditor you see various symbols. insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=8cm]{default-flags.png} insilmaril@11: \end{center} insilmaril@11: These are called {\em flags} and can be used to mark branches in the insilmaril@11: map, e.g. if something is important or questionable. insilmaril@11: There are also more flags set by \vym automatically to show additional insilmaril@11: information, e.g. when a exists for a particular branch. insilmaril@11: insilmaril@11: By default some of these flags are set exclusively e.g. when the insilmaril@11: "thumb-up" flag is set, then the "thumb down" is unset and vice insilmaril@11: versa. You can change this default behaviour in the settings menu. insilmaril@11: insilmaril@11: %TODO add info about toolbars e.g. undo/redo, ... insilmaril@11: insilmaril@11: \section{Mapeditor} \label {mapeditor} insilmaril@11: \subsection{Start a new map} insilmaril@11: After \vym is started two windows will open: the mapeditor and the insilmaril@11: noteditor. Usually you will work in both windows, but at the moment we insilmaril@11: will just need the mapeditor. insilmaril@11: insilmaril@11: Select the mapcenter "New map" in the middle of the mapeditor by insilmaril@11: left-clicking with the mouse. It will turn yellow to show that is insilmaril@11: selected. There are several ways to add a new branch to the center: insilmaril@11: \begin{itemize} insilmaril@11: \item Using the mouse: Open the context meny by clicking with the insilmaril@11: right mouse button (CTRL-Click on Mac) onto the insilmaril@11: mapcenter and choose Add \ra Add as child insilmaril@11: \item Press \key{Ins} or \key{A} insilmaril@11: \end{itemize} insilmaril@11: A new branch will appear and you will be able to type the heading of the insilmaril@11: branch. Finish adding the new branch by pressing \key{Enter}. insilmaril@11: %tipp insilmaril@11: Sometimes it comes handy to add a new branch above or below the current insilmaril@11: one. Use \key{Ins} together with \key{Shift} or \key{Ctrl}. It is also insilmaril@11: possible to add a branch in such a way, that the current selection insilmaril@11: becomes the child of the new branch, which is like inserting it {\em insilmaril@11: before} the selection. This can be done using the context menu. insilmaril@11: insilmaril@11: \subsection{Navigate through a map} insilmaril@11: \subsubsection*{Select branches} insilmaril@11: To select branches you can use the left button of your mouse or also the insilmaril@11: arrow keys. Depending on the {\em orientation} of a branch type insilmaril@11: \key{\la} or \key{\ra} to get nearer to the mapcenter or deeper insilmaril@11: down into the branches. Within a set of branches, let's call them a insilmaril@11: {\em subtree}, you can use \key{\ua} and \key{\da} to go up and down. You can insilmaril@11: also use \key{Pos1} and \key{End} to select the first and last branch. insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{Zoom a map} insilmaril@11: While adding more and more branches the size of the map may become insilmaril@11: bigger than the mapeditor window. You can use the scrollbars on the insilmaril@11: right and the bottom of your mapeditor window to scroll, but it is insilmaril@11: easier to just scroll using the left mouse button: Click onto the {\em insilmaril@11: canvas} itself, the empty space somewhere between the branches. The insilmaril@11: mouse pointer will change from an arrow to a hand, now move the visible insilmaril@11: part of the map to show the desired part. insilmaril@11: insilmaril@11: If you select branches using the arrow keys, the map will scroll insilmaril@11: to ensure that the selected branch is always visible. insilmaril@11: insilmaril@11: Working with huge maps, the {\em zoom}-function comes in handy: You can insilmaril@11: use insilmaril@11: \begin{itemize} insilmaril@11: \item from the menu View \ra Zoom insilmaril@11: \item the toolbar buttons insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=3cm]{zoom-buttons.png} insilmaril@11: \end{center} insilmaril@11: \end{itemize} insilmaril@11: The crossed magnifying lens resets the zoomed view to its original size. insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{Find Function} \label{findwindow} insilmaril@11: With huge maps there is the need to have a insilmaril@11: find function. Choose Edit \ra Find to open the Find Window: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=6cm]{find-window.png} insilmaril@11: \end{center} insilmaril@11: The text you enter here will be searched in all the headings and also in insilmaril@11: notes. Everytime you press the "Find"-button it will look for the next insilmaril@11: occurence, which then will be selected automatically. If the search insilmaril@11: fails, there will appear a short message "Nothing found" or a few insilmaril@11: seconds in the {\em statusbar} on the bottom of the mapeditor. insilmaril@11: insilmaril@11: \subsubsection*{Keep the overview -- scroll a part of the map} insilmaril@11: A very big subtree of a map e.g. a branch with hundreds of childs makes insilmaril@11: it very hard to keep an overview over the whole map. You can hide all insilmaril@11: the childs of a branch by {\em scrolling} it -- this function is also insilmaril@11: often called {\em folding}. Think of the whole subtree as painted onto a insilmaril@11: big newspaper. You can scroll the paper to a small roll, leaving just insilmaril@11: the headline readable. insilmaril@11: insilmaril@11: To scroll or unscroll a branch and its childs, press the insilmaril@11: \begin{itemize} insilmaril@11: \item \key{Scroll} key or \key{S} insilmaril@11: \item press the middle-mouse button or insilmaril@11: \item choose the little scroll from the toolbar. insilmaril@11: \end{itemize} insilmaril@11: If you select parts of a scrolled branch e.g. using the find function or insilmaril@11: by using the arrow-keys, it will unscroll temporary. This is shown as a insilmaril@11: scroll with a little hour glass. If the temporary unscrolled part is not insilmaril@11: longer needed, it will be hidden again automatically. It is also insilmaril@11: possible to unscroll all branches using "Edit\ra Unscroll all scrolled insilmaril@11: branches". insilmaril@11: insilmaril@11: You can also hide parts of the map while exporting it e.g. to a webpage insilmaril@11: or a presentation, see \ref{hideexport} for details. insilmaril@11: insilmaril@11: \subsection{Modify and move branches} insilmaril@11: \subsubsection*{Modify the heading} insilmaril@11: You can edit the heading by selecting the branch and then insilmaril@11: \begin{itemize} insilmaril@11: \item pressing \key{Enter} insilmaril@11: \item double-clicking with left mouse. insilmaril@11: \end{itemize} insilmaril@11: Just type the new heading (or edit the old one) and press \key{Enter}. insilmaril@11: insilmaril@11: \subsubsection*{Move a branch} insilmaril@11: The easiest way to move a branch is to select it with left-mouse and insilmaril@11: drag it to the destination while keeping the mouse button pressed. insilmaril@11: Depending on the branch it will be insilmaril@11: \begin{itemize} insilmaril@11: \item moved to the destination or insilmaril@11: \item {\em linked} to a new {\em parent} (mapcenter or branch) insilmaril@11: \end{itemize} insilmaril@11: If you drag the branch over another one or over the mapcenter, you will insilmaril@11: notice that the link connecting it to the old parent will be changed to insilmaril@11: lead to the new parent which is now under your mousepointer. insilmaril@11: If you release the button now, the branch will be relinked. insilmaril@11: insilmaril@11: If you release the button in the middle of nowhere, the result will insilmaril@11: depend on the type of branch you are releasing: insilmaril@11: \begin{itemize} insilmaril@11: \item A mainbranch is directly connected to the mapcenter. insilmaril@11: It will stay on its new position. insilmaril@11: \item An ordinary branch will "jump" back to its original position. insilmaril@11: \end{itemize} insilmaril@11: Thus you can easily rearrange the layout of the mainbranches to avoid insilmaril@11: overlapping of their subtrees. insilmaril@11: There is another convenient way to move branches, especially if you want insilmaril@11: to {\em reorder} a subtree: You can move a branch up or down in a insilmaril@11: subtree by insilmaril@11: \begin{itemize} insilmaril@11: \item pressing \key{\ua} and \key {\da} insilmaril@11: \item selecting Edit \ra Move branch insilmaril@11: \item clicking on the toolbar buttons: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=1.5cm]{move-buttons.png} insilmaril@11: \end{center} insilmaril@11: \end{itemize} insilmaril@11: %tipp insilmaril@11: There is yet another way to move branches: If you press \key{Shift} or insilmaril@11: \key{Ctrl} while moving with the mouse, the branch will be added above insilmaril@11: or below the one the mouse pointer is over. This helps also to reorder a insilmaril@11: map. insilmaril@11: insilmaril@11: \subsection{The right side of your brain - colors and images} insilmaril@11: \subsubsection*{Change color of a heading} insilmaril@11: You can also use colors to put more information into a map, e.g. use insilmaril@11: red, green and more colors to prioritize tasks. Again you can insilmaril@11: \begin{itemize} insilmaril@11: \item use the menu and choose e.g Format \rq Set Color insilmaril@11: \item use the toolbar insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=3cm]{color-buttons.png} insilmaril@11: \end{center} insilmaril@11: \end{itemize} insilmaril@11: The first button (black in the graphic above) shows the actual color. insilmaril@11: Clicking on it let's you choose another color. You can also "pick" insilmaril@11: another color by selecting a branch with the desired color and using the insilmaril@11: "pick color" button. Both of the buttons showing a bucket actually put insilmaril@11: the current color to the selected branch. While the first one just insilmaril@11: colors the heading of the selection, the last one also colors all the insilmaril@11: childs of the selected branch. insilmaril@11: insilmaril@11: %tipp insilmaril@11: A very useful function is the "copy color" using the mouse: Select the insilmaril@11: branch which should get the new color, then press \key{Ctrl} and insilmaril@11: simultanously click with left-mouse on another branch to copy its color insilmaril@11: to the first one. Here the childs of the selection also will get the new insilmaril@11: color, if you just want to color the selection itself, additionally insilmaril@11: press \key{Shift}. insilmaril@11: insilmaril@11: \subsubsection*{Use flags} insilmaril@11: \vym provides various flags. You see them in the toolbar on top of the insilmaril@11: mapeditor window. (Note: Like all toolbars you can also move them to the insilmaril@11: left or the right side of the window or even detach them. Just grab the insilmaril@11: very left "dotted" part of the toolbar with your left-mouse button.) insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=8cm]{default-flags.png} insilmaril@11: \end{center} insilmaril@11: If you have a branch selected, you can set any number of flags by insilmaril@11: clicking them in the toolbar. The toolbar buttons change their state and insilmaril@11: always reflect the flags set in the selected branch. insilmaril@11: insilmaril@11: Presently \vym uses two kinds of flags: {\em System Flags} and {\em insilmaril@11: Standard Flags}. The standard flags are those shown in the toolbar. insilmaril@11: System flags are set by \vym to indicate e.g. that there is additional insilmaril@11: information in a note (more on this in \ref{noteeditor}). Later versions insilmaril@11: of \vym may have another kind of flags, which may be edited by the user. insilmaril@11: insilmaril@11: \subsubsection*{Images} insilmaril@11: The easiest way to add an image to a branch is by dragging it e.g. from a insilmaril@11: webbrowser to the mapeditor while a branch is selected there. insilmaril@11: insilmaril@11: You can also add a image to a branch by opening the context menu of the insilmaril@11: branch choose "Add Image". A insilmaril@11: dialog window lets you choose the image to load. insilmaril@11: \footnote{Supported image types are: PNG, BMP, XBM, XPM and PNM. It may insilmaril@11: also support JPEG, MNG and GIF, if specially configured during insilmaril@11: compilation (as done when \vym is part of SUSE LINUX).} insilmaril@11: While an image is selected in the dialog, you can see a preview of the insilmaril@11: image. It is also possible to select multiple images. insilmaril@11: insilmaril@11: You can position the image anywhere you want, just drag it with left insilmaril@11: mouse. To relink it to another branch, press \key{Shift} while moving insilmaril@11: it. To delete it, press \key{Del}. insilmaril@11: insilmaril@11: If you right-click onto an image, a context menu will open which let's insilmaril@11: you first choose one of several image formats. Then a file dialog opens insilmaril@11: to save the image. Hint: This is used to "export" the image, it will be insilmaril@11: saved anyway in the map itself! You can also cut and insilmaril@11: copy images, but it is not possible to add objects to an image\footnote{ insilmaril@11: Images are regarded as "extra feature". It would make working with insilmaril@11: the map much more complex if e.g. images could be linked to images.} insilmaril@11: insilmaril@11: The option \lq{\bf Use for export} \rq controls the output of exports insilmaril@11: e.g. to HTML: If set to no, the image won't appear in the {\em text} insilmaril@11: part of the output. This is useful for large images or if images are insilmaril@11: used as a kind of frame e.g. the famous cloud symbol around a part of insilmaril@11: the map. Those shouldn't appear in the middle of the text. insilmaril@11: insilmaril@11: At the moment image support is preliminary: Images will be saved insilmaril@11: together with all the other data of a map in the {\tt .vym}-file. insilmaril@11: Later versions will include more functionality like resizing the images, insilmaril@11: changing its z-value (put it into background) etc. insilmaril@11: insilmaril@11: \subsubsection*{Frames} insilmaril@11: A frame can be added to a branch by clicking with the insilmaril@11: right-mouse button. A context menu will open, where you can choose the insilmaril@11: frame. At the moment just a rectangle resp. "No Frame" will be offered, insilmaril@11: nevertheless you can use images as frames. Have a look at the demo map insilmaril@11: {\tt todo.vym} as an example, where the mapcenter is a cloud. You can insilmaril@11: use an external drawing program like {\tt gimp} to create an image, insilmaril@11: preferable with an transparency channel, so that you can design frames insilmaril@11: which don't use a rectangular borderline, just like the cloud. insilmaril@11: insilmaril@11: insilmaril@11: \subsection{Background design} insilmaril@11: The design of the background of a map and also of the links connecting insilmaril@11: various parts of the map can be changed by insilmaril@11: \begin{itemize} insilmaril@11: \item Selecting Format from the menu insilmaril@11: \item Right clicking onto the canvas, which will open a context menu insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: \subsubsection*{Background color} insilmaril@11: The color is set (and also displayed) as "Set background color". insilmaril@11: insilmaril@11: \subsubsection*{Link color} insilmaril@11: Links connecting branches can be colored in one of the following ways: insilmaril@11: \begin{itemize} insilmaril@11: \item use the color of the heading of the branch the links is insilmaril@11: \item use {\em one} color for all links. The default color is blue. insilmaril@11: leading to. insilmaril@11: \end{itemize} insilmaril@11: The latter can be set with "Set link color". Check or uncheck the "Use insilmaril@11: color of heading for link" option to choose one of the two designs for insilmaril@11: your map. insilmaril@11: insilmaril@11: \subsubsection*{Link style} insilmaril@11: \vym offers four different styles for the appearences of links: insilmaril@11: \begin{itemize} insilmaril@11: \item Line insilmaril@11: \item Parabel insilmaril@11: \item Thick Line insilmaril@11: \item Thick Parabel insilmaril@11: \end{itemize} insilmaril@11: The "thick" styles only draw links starting at mapcenter thick, the rest insilmaril@11: of the map is always painted "thin". insilmaril@11: insilmaril@11: insilmaril@11: \subsection{Links to other documents and webpages} insilmaril@11: \vym supports two kind of external links: insilmaril@11: \begin{itemize} insilmaril@11: \item Document, which will be opened in an external webbrowser insilmaril@11: \item \vym map, which will be opened in \vym itself insilmaril@11: \end{itemize} insilmaril@11: In addition to the external links there also internal ones, leading from one insilmaril@11: branch in a map toanother one. Those are called {\em XLinks} and are explained insilmaril@11: in section~\ref{xlinks}. insilmaril@11: insilmaril@11: \subsubsection*{Webbrowser} insilmaril@11: Modern Webbrowsers like {\tt konqueror} are able to display various insilmaril@11: types of files, both local or in the internet. To enter the URL of insilmaril@11: any document, right-click onto a branch or use the Edit Menu insilmaril@11: and choose "Edit URL". Enter the path to your document (or copy and insilmaril@11: paste it from your browser). Examples for valid paths are: insilmaril@11: \begin{verbatim} insilmaril@11: http://www.insilmaril.de/vym/index.html insilmaril@11: file:/usr/share/doc/packages/vym/doc/vym.pdf insilmaril@11: \end{verbatim} insilmaril@11: If an URL was entered, a little globe will appear in the branch. By insilmaril@11: clicking on the globe in the toolbar or the context menu an external insilmaril@11: browser\footnote{ insilmaril@11: The browser can be changed in the Settings Menu.} insilmaril@11: will be started. insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=0.5cm]{flag-url.png} insilmaril@11: \end{center} insilmaril@11: For more information on working with bookmarks and webbrowsers see insilmaril@11: section \ref{bookmarks}. insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{\vym map} insilmaril@11: To link to to another map right click on a branch or choose "Edit \ra insilmaril@11: Enter \vym link". A file dialog opens where you can choose the map. A insilmaril@11: branch with a link is marked with insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=0.5cm]{flag-vymlink.png} insilmaril@11: \end{center} insilmaril@11: Clicking this flag in the toolbar or in the context menu of a branch insilmaril@11: will open the map in another tab (see \ref{tabs} for working with insilmaril@11: multiple maps). To delete an existing link, just press the "Cancel" insilmaril@11: button. insilmaril@11: insilmaril@11: Technical note: Internally \vym uses absolute paths, to avoid opening insilmaril@11: several tabs containing the same map. When a map is saved, this path is insilmaril@11: converted to a relative one (e.g. {\tt /home/user/vym.map} might become insilmaril@11: {\tt ./vym.map}. This makes it fairly easy to use multiple maps on insilmaril@11: different computers or export them to HTML in future. insilmaril@11: insilmaril@11: \subsection{Multiple maps} \label{tabs} insilmaril@11: You can work on multiple maps at the same time. Each new map is opened insilmaril@11: in another {\em tab}. The available tabs are shown just above the insilmaril@11: mapeditor. You can use the normal cut/copy/paste functions to insilmaril@11: copy data from one map to another. insilmaril@11: insilmaril@11: %todo insilmaril@11: insilmaril@11: %TODO insilmaril@11: %\subsubsection{Menus} insilmaril@11: %\subsubsection{Keyboard shortcuts} insilmaril@11: insilmaril@11: % Settings insilmaril@11: % Images insilmaril@11: % Copy & Paste insilmaril@11: % Working with tabs (multiple maps) insilmaril@11: % Exporting insilmaril@11: % Scrolling insilmaril@11: insilmaril@11: \section{Noteeditor} \label {noteeditor} insilmaril@11: If you want to save more text in a branch e.g. a complete email, a insilmaril@11: cooking recipe, or the whole source code of a software project, you can insilmaril@11: use the noteeditor. insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=8cm]{noteeditor.png} insilmaril@11: \end{center} insilmaril@11: This editor displays text associated to a branch selected in the insilmaril@11: mapeditor. To visualize that there maybe is no text yet, the noteeditor insilmaril@11: shows different background colors depending on its state: insilmaril@11: insilmaril@11: \subsection{States} insilmaril@11: Before you can type or paste text into it, you have insilmaril@11: to select a branch in the mapeditor. Note that the background color insilmaril@11: of the noteeditor indicates its state: insilmaril@11: \begin{itemize} insilmaril@11: \item black: no branch selected insilmaril@11: \item grey: no text entered yet insilmaril@11: \item white: text is already available insilmaril@11: \end{itemize} insilmaril@11: To show you in the mapeditor itself that there is a note with more insilmaril@11: information for a particular branch, a little note flag will appear next insilmaril@11: to the heading of the branch. See the lower branch on the right side: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=8cm]{branches-flags.png} insilmaril@11: \end{center} insilmaril@11: insilmaril@11: \subsection{Import and export notes} insilmaril@11: The note is always saved automatically within the \vym file itself. insilmaril@11: Nevertheless sometimes it is nice to import a note from an external file insilmaril@11: or write it. Use "File\ra~Import" and "File\ra~Export" to do so. insilmaril@11: insilmaril@11: \subsection{Edit and print note} insilmaril@11: Editing works like in any simple texteditor, including undo and redo insilmaril@11: functions. You can delete the complete note by clicking the insilmaril@11: trashcan. Only the note itself is printed by clicking the printer icon. insilmaril@11: insilmaril@11: When pasting into the editor using the X11 copy\&paste mechanism, the insilmaril@11: editor will create a paragraph for each new line. Usually this is not insilmaril@11: wanted, so there you can convert all paragraphs into linebreaks by using insilmaril@11: Edit~\ra~Remove~Paragraphs or \key{ALT-X}. insilmaril@11: insilmaril@11: \subsection{RichText: Colors, paragraphs and formatted text} insilmaril@11: \vym supports formatted text (QT Rich Text) in the noteeditor since insilmaril@11: version 1.4.7. Colors and text attributes (e.g. italic, bold) can be insilmaril@11: set with the buttons above the text. The text itself is divided in insilmaril@11: paragraphs. For each paragraph the format can be set (e.g. centered, insilmaril@11: right). A paragraph is ended when a \key{Return} is entered. If you just insilmaril@11: want to begin a new line, press \key{CTRL-Return}. insilmaril@11: insilmaril@11: \subsection{Fonts and how to quickly switch them} insilmaril@11: The noteeditor is ment to be used for simple notes, not really as full insilmaril@11: featured text editor. Because of many requests \vym supports now insilmaril@11: formatted text in the noteeditor\footnote{ insilmaril@11: \vym uses the QRichtText format, which is basically a subset of the insilmaril@11: formatting provided in HTML.} insilmaril@11: Two default fonts are supported which can be set in the Settings menu. insilmaril@11: One is a fixed width font, the other has variable width. The fixed font insilmaril@11: is usually used for emails, source code etc.\ while the variable font is insilmaril@11: used for simple notes, where one doesn't need fixed character widths. insilmaril@11: Both fonts can easily switched using the following symbol from the insilmaril@11: toolbar: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=0.5cm]{formatfixedfont.png} insilmaril@11: \end{center} insilmaril@11: In the Settings menu both fonts can be set and also which font should be insilmaril@11: used for default. insilmaril@11: insilmaril@11: Additionally to the default fonts any font installed on your system can insilmaril@11: be used. Please note, that the chosen font also will be used for HTML insilmaril@11: exports, so you should only use fonts which are available generally. insilmaril@11: insilmaril@11: \subsection{Find text} insilmaril@11: The noteeditor itself has no Find function, use Find in the mapeditor, insilmaril@11: which will also search all notes (see \ref{findwindow}). insilmaril@11: insilmaril@11: \subsection{Paste text into note editor} insilmaril@11: Often you will paste text into the editor from another application e.g. insilmaril@11: an email. Normally \vym will generate a new paragraph for each new line. insilmaril@11: This usually is not what you want, so you can choose from the menu insilmaril@11: insilmaril@11: \subsection{Advanced actions} insilmaril@11: \subsubsection*{Edit \ra Convert subsubsections:} insilmaril@11: This turns subsubsections in selected text (or all text, if nothing is insilmaril@11: selected) into linebreaks. This is especially useful for snippets of insilmaril@11: source code. insilmaril@11: insilmaril@11: \subsubsection*{Edit \ra Join Lines:} insilmaril@11: Tries to format text, so that empty lines are used to delimit insilmaril@11: paragraphs. This is done for selected text (or all text, if nothing is insilmaril@11: selected). Especially useful for text like emails, meeting minutes etc. insilmaril@11: insilmaril@11: \section{Hello world} insilmaril@11: This section is about how \vym can interact with other applications. insilmaril@11: Many applications meanwhile can read and write their data using XML, the insilmaril@11: eXtensible Markup Language. \vym also uses XML to save its maps, see insilmaril@11: \ref{fileformat} for a more detailed description. insilmaril@11: insilmaril@11: So if your an application understands XML, chances are good that someone insilmaril@11: could write import/export filters for \vym. Volunteers are always insilmaril@11: welcome ;-) insilmaril@11: insilmaril@11: \subsection{Import} \label{import} insilmaril@11: insilmaril@11: \subsubsection*{KDE Bookmarks} insilmaril@11: The integrated bookmark editor in KDE is somewhat limited, so why not insilmaril@11: use \vym to maintain the bookmark mess? To create a new map containing insilmaril@11: your current KDE bookmarks just choose insilmaril@11: \begin{itemize} insilmaril@11: \item File \ra Import\ra KDE Bookmarks insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: \subsubsection*{Mind Manager} insilmaril@11: \vym has currently a very basic import filter to convert maps created by insilmaril@11: {\em Mind Manager}\footnote{Mind Manager is a professional software by insilmaril@11: Mindjet. Both names are registered trademarks by Mindjet. For more insilmaril@11: information see their website at insilmaril@11: \href{http://mindjet.de}{http://mindjet.de}} into \vym maps. Notes and insilmaril@11: pictures are not converted at the moment. You can import files with insilmaril@11: \begin{itemize} insilmaril@11: \item File \ra Import\ra Mind Manager insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{Directory structure} insilmaril@11: \vym can read a directory structure. This is mainly for insilmaril@11: testing \vym e.g. to easily create huge maps used for benchmarks (yes, insilmaril@11: there is still room to optimize \vym ;-) insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: \subsection{Export} \label{export} insilmaril@11: \label{hideexport} insilmaril@11: Often you don't want to export the whole map, but just parts of it. For insilmaril@11: example you may have additional info you want to talk about in a insilmaril@11: presentation, while those parts should not be visible to the audience. insilmaril@11: To achieve this you can "hide" parts of the map during exports by insilmaril@11: setting the "hide in export" flag. insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=0.5cm]{flag-hideexport.png} insilmaril@11: \end{center} insilmaril@11: You can toggle this flag in the toolbar or by pressing \key{H}. insilmaril@11: Note that there is a global option in the settings menu to toggle the insilmaril@11: use of this flag. By default the flag is enabled. insilmaril@11: insilmaril@11: \subsubsection*{Open Office} insilmaril@11: Open Office beginning with version~2 uses the so called "Open Office insilmaril@11: Document Format", which can be written by \vym. The options are insilmaril@11: currently limited, but it possible to export presentations which can be insilmaril@11: opened in Open Office Impress. By selecting insilmaril@11: \begin{itemize} insilmaril@11: \item File \ra Export\ra Open Office insilmaril@11: \end{itemize} insilmaril@11: you get a file dialogue where you can choose the output file and the insilmaril@11: file type: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=12cm]{export-oo.png} insilmaril@11: \end{center} insilmaril@11: The file types represent various templates, which can be created with insilmaril@11: some manual work from an existing Open Office document. The structure of insilmaril@11: \vym map is then inserted into a template. insilmaril@11: There are some limitations at the moment: insilmaril@11: \begin{itemize} insilmaril@11: \item \vym can't take care of page lengths, so you have to check and insilmaril@11: probably reedit in Open Office to avoid text running over the end of insilmaril@11: a page insilmaril@11: \item Images and flags are not used at the moment insilmaril@11: \item Notes are just written as plain text, without RichText insilmaril@11: \end{itemize} insilmaril@11: Some of the templates make use of {\em sections} e.g. insert the insilmaril@11: headings of mainbranches as chapters for sections into the presentation. insilmaril@11: insilmaril@11: \subsubsection*{Image} insilmaril@11: \vym supports all image formats which are natively supported by the insilmaril@11: QT~toolkit: insilmaril@11: BMP, JPEG, PBM, PGM, PNG, PPN, XPM, and XBM. insilmaril@11: For use in websites and for sending images by email PNG is a good insilmaril@11: recommodation regarding quality and size of the image. \vym uses QTs insilmaril@11: default options for compressing the images. insilmaril@11: insilmaril@11: \subsubsection*{ASCII} insilmaril@11: Exporting an image as text is somewhat experimental at the moment. Later insilmaril@11: this will probably done using stylesheets. So the output may change in insilmaril@11: future versions of \vym. insilmaril@11: insilmaril@11: \subsubsection*{\LaTeX} insilmaril@11: \vym can generate an input file for \LaTeX. Currently this is considered insilmaril@11: as experimental, there are no options (yet). insilmaril@11: By selecting insilmaril@11: \begin{itemize} insilmaril@11: \item File \ra Export\ra \LaTeX insilmaril@11: \end{itemize} insilmaril@11: you will be asked in a file dialog for the name of the output file. This insilmaril@11: file should be included in a \LaTeX document using command insilmaril@11: \begin{verbatim} insilmaril@11: \include{inputfile.tex} insilmaril@11: \end{verbatim} insilmaril@11: insilmaril@11: \subsubsection*{KDE Bookmarks} insilmaril@11: \vym will overwrite the KDE bookmarks file and then try to notify insilmaril@11: running konquerors via DCOP of the changed file. \vym does not create a insilmaril@11: backup! insilmaril@11: \begin{itemize} insilmaril@11: \item File \ra Export \ra KDE Bookmarks insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{XHTML (Webpages)} insilmaril@11: insilmaril@11: This is the format you want to use to create a webpage. For an example insilmaril@11: have a look at the \vym homepage: insilmaril@11: \href{http://www.InSilmaril.de/vym}{www.InSilmaril.de/vym} insilmaril@11: insilmaril@11: Some explanation how this works: insilmaril@11: Before a map is exported as XHTML, it will be first written as XML into a insilmaril@11: directory (see \ref{xmlexport}). Then the external program {\tt insilmaril@11: xsltproc}\footnote{On SUSE Linux {\tt xsltproc} is installed by insilmaril@11: default.} insilmaril@11: will be called to process the XML file and generate HTML code. insilmaril@11: A dialog allows to set various options: insilmaril@11: \begin{itemize} insilmaril@11: \item {\bf Include image:} If set, \vym will creat an image map at insilmaril@11: the top of the HTML output. Clicking on a branch in the map will insilmaril@11: jump to the corresponding section in the output. insilmaril@11: insilmaril@11: \item {\bf Colored headings:} insilmaril@11: If set to yes, \vym will color the headings in the text part with the insilmaril@11: same colors like in the map. insilmaril@11: \item {\bf Show Warnings:} insilmaril@11: If set to yes, \vym will ask before overwriting data. insilmaril@11: \item {\bf Show output:} insilmaril@11: This is useful mainly for debugging. It will show how the processing of insilmaril@11: the XML file works by calling the external {\tt xsltproc}. insilmaril@11: \end{itemize} insilmaril@11: Additionally the paths to the CSS and XSL stylesheets can be set. By insilmaril@11: default on SUSE~Linux they will be in {\tt /usr/share/vym/styles}. insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{XML} \label{xmlexport} insilmaril@11: The map is written into a directory both as an image and as XML. The insilmaril@11: directory is set in a file dialog. If the directory is not empty, you insilmaril@11: will be questioned if you risk to overwrite its contents. insilmaril@11: insilmaril@11: It is possible to export different maps into the same directory. Each insilmaril@11: file generated will have the map's name as prefix, e.g. {\tt todo.vym} insilmaril@11: becomes {\tt todo.xml}, {\tt todo.png}, {\tt todo-image-1.png} and so insilmaril@11: on. This is useful if e.g. for a website several combined maps have to insilmaril@11: be stored in the same directory. insilmaril@11: insilmaril@11: \subsubsection*{Export a part of a map} insilmaril@11: Select a branch you want to export together with its childs, then open insilmaril@11: the context menu and choose {\em Save Selection}. This will create a insilmaril@11: file with the postfix {\tt .vyp}, which is an abbreviation for \lq vym insilmaril@11: part\rq. insilmaril@11: insilmaril@11: insilmaril@11: \section{Advanced Editing} insilmaril@11: insilmaril@11: \subsection{How to deal with Bookmarks} \label{bookmarks} insilmaril@11: \subsubsection*{Open new tabs instead of new windows} insilmaril@11: If you use konqueror as browser, \vym will remember the konqueror which insilmaril@11: was opened first by \vym. You can also press \key{Ctrl} and click to insilmaril@11: open the link in a new tab then. insilmaril@11: insilmaril@11: \vym can also open a new tab in Mozilla or Firefox using the remote insilmaril@11: command\footnote{\href{http://www.mozilla.org/unix/remote.html}{http://www.mozilla.org/unix/remote.html}} insilmaril@11: of these. insilmaril@11: insilmaril@11: \subsubsection*{Drag and Drop} insilmaril@11: If you want to keep bookmarks in a map, select a branch where you want insilmaril@11: to add the bookmark, then simply drag the URL from your browser to the insilmaril@11: map. Also you could use an existing heading as URL: Right click onto the insilmaril@11: branch and select "Use heading for URL". insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{Directly access bookmark lists of a browser} insilmaril@11: Please see the sections \ref{import} and \ref{export} about insilmaril@11: Import and Export filters. insilmaril@11: insilmaril@11: \subsubsection*{Special URLs} insilmaril@11: \vym can turn an existing heading of a branch into an URL. Currently insilmaril@11: this works for Bugentries in the Novell Bugtracking system: Open the insilmaril@11: context menu of a branch (usually by right-clicking it) and select insilmaril@11: \begin{itemize} insilmaril@11: \item Create URL to Bugzilla insilmaril@11: \end{itemize} insilmaril@11: The URL will be build from the number in the heading. insilmaril@11: insilmaril@11: \subsection{Including images into a branch} insilmaril@11: The default setting of an image is to float "freely". They can be insilmaril@11: positioned everywhere, but they might end up in the same place as other insilmaril@11: parts of the map. insilmaril@11: insilmaril@11: The solution is to include them "into" a branch. This can be done via insilmaril@11: the context menu of their parent branch: insilmaril@11: \begin{itemize} insilmaril@11: \item Include images horizontally insilmaril@11: \item Include images vertically insilmaril@11: \end{itemize} insilmaril@11: The image ist still positioned relatively to its parent branch, but the insilmaril@11: heading and border of the branch adapt to the floating image, see below: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=11cm]{includeImages.png} insilmaril@11: \end{center} insilmaril@11: insilmaril@11: \subsection{Modifier Modes} insilmaril@11: Modifiers are for example the \key{Shift}- or the \key{Alt}-keys. When insilmaril@11: pressed while doing actions with the mouse, they will cause \vym to use insilmaril@11: a "modified" action. E.g. you can move branches with mouse. If insilmaril@11: \key{Ctrl} or \key{Alt}is pressed while releasing the branch, it will be insilmaril@11: added above/below the target, not as child of the target. insilmaril@11: insilmaril@11: Without a modifier pressed, the first click on a branch just selects insilmaril@11: it. For the behaviour of the \key{Ctrl} modifier there are several insilmaril@11: options, which can be set from the modifier toolbar: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=3cm]{modmodes.png} insilmaril@11: \end{center} insilmaril@11: The default is to copy the color from the clicked branch to the already insilmaril@11: selected branch. In the toolbar shown above the default modifier is insilmaril@11: selected, namely to copy the color of a branch. The second modifier insilmaril@11: let's you easily copy a whole branch with a single click. The third insilmaril@11: modifier lets you create {\em xLinks}, which will be explained in the insilmaril@11: next section. insilmaril@11: insilmaril@11: \subsection{Hide links of unselected objects} insilmaril@11: Sometimes it would be useful to position a branch freely, just like a insilmaril@11: mainbranch or an image. Though this is not possible (yet) for all insilmaril@11: branches, you can use a mainbranch and hide its connecting link to the insilmaril@11: mapcenter. This can be used e.g. for legends or a collection of vymLinks insilmaril@11: pointing to other maps: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=9cm]{hiddenlink.png} insilmaril@11: \end{center} insilmaril@11: insilmaril@11: insilmaril@11: \subsection{XLinks} \label{xlinks} insilmaril@11: So far all the data in the \vym map has been treelike. Using xLinks you insilmaril@11: can link one branch to any other, just like attaching a rope between two insilmaril@11: branches in a real tree. This is especially useful in complex maps, insilmaril@11: where you want to have crossreferences which don't fit on the same insilmaril@11: visible area, which fits on your screen. The following example, which is insilmaril@11: part of the \vym package, still fits on one screen, but shows how data insilmaril@11: can be crosslinked. In the graphics there is a link from a task (prepare insilmaril@11: a presentation) to general information: insilmaril@11: \begin{center} insilmaril@11: \includegraphics[width=12cm]{xlink.png} insilmaril@11: \end{center} insilmaril@11: Note that a xLink which points to a branch that is not visible (because insilmaril@11: it is scrolled), is just show as a little horizontal arrow. In the insilmaril@11: screenshot above have a look at the \lq Tuesday\rq\ branch. insilmaril@11: insilmaril@11: \subsubsection*{Create a xLink} insilmaril@11: Choose the link mode from the modifier toolbar (by clicking or pressing insilmaril@11: \key{L}). Select the branch, where the xLink should start. Press the insilmaril@11: modifier key \key{Ctrl} and simultanously click on the branch where the insilmaril@11: link should end. (The link is already drawn before you release the mouse insilmaril@11: key). If you release the mouse over a branch the xLink becomes insilmaril@11: permanent. insilmaril@11: insilmaril@11: \subsubsection*{Modify or delete a xLink} insilmaril@11: Open the context menu of a branch and select \lq Edit xLink\rq. A insilmaril@11: submenu contains all the xLinks of the branch (if there are any). They insilmaril@11: are named like the branches, where they end. Choose one and insilmaril@11: the xLink dialogue opens, where you can set color, width and also delete insilmaril@11: the xLink. insilmaril@11: insilmaril@11: \subsubsection*{Follow a xLink} insilmaril@11: In a complext \vym map it sometimes comes handy to jump to the other end insilmaril@11: of a xLink. You can do this by opening the context menu of the branch insilmaril@11: and clicking on \lq Goto xLink\rq and selecting the xLink you want to insilmaril@11: follow. insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: \subsection{Adding and removing branches} insilmaril@11: The context menu of a branch shows some more ways to add and delete data insilmaril@11: e.g. you can delete a branch while keeping its childs. The childs become insilmaril@11: linked to the parent of the previously removed branch. insilmaril@11: Similar branches can be inserted into existing maps. For keyboard insilmaril@11: shortcuts also have a look at the context menu. insilmaril@11: insilmaril@11: \subsection{Adding a whole map or a part of a map} insilmaril@11: Select a branch where you want to add a previously saved map ({\tt .vym})or a part insilmaril@11: of a map ({\tt .vyp}) , then open insilmaril@11: the context menu and choose {\em Add \ra Import}. For the import you can insilmaril@11: choose between {\em Import Add} and {\em Import Replace}: The imported insilmaril@11: data will be added after the selection resp. replace the selection. insilmaril@11: insilmaril@11: insilmaril@11: \section{\vym on Mac OS X} insilmaril@11: \subsection{Overview} insilmaril@11: Basically there are two ways to run \vym on Macs: insilmaril@11: \subsubsection*{QT Mac Edition:} insilmaril@11: \vym here provides the well known Mac look and feel. \vym is insilmaril@11: available as zipped Mac OS X application. It has been compiled and insilmaril@11: tested in Mac~OS~10.3, but should also work on Tiger. It is using insilmaril@11: the Mac version of Trolltechs QT library. insilmaril@11: \subsubsection*{X11} insilmaril@11: \vym can also be run using the Linux version, but then menus and insilmaril@11: handling will also be those of the Linux version e.g. The menu bar insilmaril@11: will look different. insilmaril@11: insilmaril@11: \subsection {Contextmenu and special keys} insilmaril@11: Most Macs unfortunatly just have a single mouse button. In order to show insilmaril@11: the context menu which usually would be opened with the right mouse insilmaril@11: button, you can click while pressing the \key{kommand}-key. insilmaril@11: insilmaril@11: Especially on Laptops some of the keys usually used on PC keyboards seem insilmaril@11: to be missing. The QT-Mac Edition of \vym has its own keyboard insilmaril@11: shortcuts. To find the shortcuts just have a look at all the menu insilmaril@11: entries, the shortcut is visible next to an entry. Toolbar buttons also insilmaril@11: may have shortcuts, just position the mouse pointer over a button and insilmaril@11: wait for the little help window to appear. insilmaril@11: insilmaril@11: \subsection {Viewing external links} insilmaril@11: \vym on Mac uses the system call {\tt /usr/bin/open} to view links. insilmaril@11: Mac~OS determines automatically if the link is a pdf or www page and insilmaril@11: opens the right browser. insilmaril@11: insilmaril@11: insilmaril@11: \begin{appendix} insilmaril@11: insilmaril@11: \section{Starting \vym} insilmaril@11: \subsection{Path to ressources} insilmaril@11: \vym will try to find its ressources (images, stylesheets, filters, insilmaril@11: etc.) in the following places: insilmaril@11: \begin{enumerate} insilmaril@11: \item Path given by the environment variable {\tt VYMHOME}. insilmaril@11: \item If called with the local option (see \ref{options} below), insilmaril@11: \vym will look for its data in the current directory. insilmaril@11: \item {\tt /usr/share/vym} insilmaril@11: \item {\tt /usr/local/share/vym} insilmaril@11: \end{enumerate} insilmaril@11: insilmaril@11: \subsection{Command line options} \label{options} insilmaril@11: \vym has the following options: insilmaril@11: \begin{center} insilmaril@11: \begin{tabular}{ccp{8cm}}\\ insilmaril@11: \bf Option & \bf Comment & \bf Description \\ \hline insilmaril@11: v & version & Show version ov \vym\\ insilmaril@11: l & local & Use local paths to stylesheets, translations, icons, insilmaril@11: etc. instead of system paths. Useful for testing\\ insilmaril@11: h & help & Show help\\ insilmaril@11: q & quit & Quit immediatly after startup. Useful for benchmarks.\\ insilmaril@11: \end{tabular} insilmaril@11: \end{center} insilmaril@11: You can also give several filenames at the commandline to let \vym open insilmaril@11: several maps at once. insilmaril@11: insilmaril@11: \section{Contributing to \vym} insilmaril@11: So far I'd say I have written 98\% of the code on my own. No surprise, insilmaril@11: that \vym exactly fits my own needs. Nevertheless I would like to insilmaril@11: encourage all users of \vym to contribute. Maybe not only with feature insilmaril@11: requests, but also with code, new import/export filters, translations insilmaril@11: etc. In this appendix I'll try to show how easy it is to expand the insilmaril@11: things you can do already with \vym. I really look forward to hear from insilmaril@11: you! insilmaril@11: insilmaril@11: \subsection{Getting help} insilmaril@11: insilmaril@11: \subsubsection*{Frequently asked questions} insilmaril@11: Please refer to the FAQ available on the \vym website: insilmaril@11: \begin{center} insilmaril@11: \href{http://www.InSilmaril.de/vym/faq.html}{http://www.InSilmaril.de/vym/faq.html} insilmaril@11: \end{center} insilmaril@11: insilmaril@11: \subsubsection*{Mailinglists} insilmaril@11: There are two mailinglists: {\tt vym-forum} is the \vym users forum to insilmaril@11: discuss various questions, while {\tt vym-devel} is intended for people insilmaril@11: interested in contributing to \vym. You can view the archives and insilmaril@11: subscribe at insilmaril@11: \begin{center} insilmaril@11: \href{https://sourceforge.net/mail/?group_id=127802}{https://sourceforge.net/mail/?group\_id=127802} insilmaril@11: \end{center} insilmaril@11: insilmaril@11: \subsubsection*{Contacting the author}\label{author} insilmaril@11: Especially for support questions please try the mailinglists first. If insilmaril@11: everything else fails you can contact the Uwe Drechsel at insilmaril@11: \begin{center} insilmaril@11: \href{mailto:vym@InSilmaril.de}{vym@InSilmaril.de} insilmaril@11: \end{center} insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: \subsection{How to report bugs} insilmaril@11: Though Sourceforge has its own bugreporting system, I'd rather prefer if insilmaril@11: you contact me directly (see \ref{author}) or even better: You can file insilmaril@11: a bugreport in Bugzilla, the bugtracking system of openSUSE: insilmaril@11: \begin{center} insilmaril@11: \href{http://en.opensuse.org/Submit_a_bug}{http://en.opensuse.org/Submit\_a\_bug} insilmaril@11: \end{center} insilmaril@11: I build \vym regulary for openSUSE, so you may report it against a insilmaril@11: recent version there, even if you use another Operating System. insilmaril@11: Please don't forget to tell insilmaril@11: \begin{itemize} insilmaril@11: \item the exact steps needed to reproduce the bug insilmaril@11: \item the version and build date of \vym (see the Help \ra About insilmaril@11: \vym) insilmaril@11: \item hardware and Operating System insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: \subsection{Compiling from the sources} insilmaril@11: \subsubsection{Getting the sources} \label{getsources} insilmaril@11: You find the latest version of \vym at the project site: insilmaril@11: \begin{center} insilmaril@11: \href{https://sourceforge.net/projects/vym/}{https://sourceforge.net/projects/vym/} insilmaril@11: \end{center} insilmaril@11: There you can check them out of the source repository (CVS):\\ insilmaril@11: insilmaril@11: \begin{verbatim} insilmaril@11: cvs -d:pserver:anonymous@cvs.sf.net:/cvsroot/vym checkout code insilmaril@11: \end{verbatim} insilmaril@11: insilmaril@11: \subsubsection{The Qt toolkit} insilmaril@11: Qt is C++ toolkit for multiplatform GUI and application development. It insilmaril@11: provides single-source portability across MS~Windows, Mac~OS~X, Linux insilmaril@11: ans all major commercial Unix variants. Qt is also available for insilmaril@11: embedded devices. Qt is a Trolltech product. For more information see insilmaril@11: \begin{center} insilmaril@11: \href{http://www.trolltech.com/qt/}{www.trolltech.com/qt} insilmaril@11: \end{center} insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection{Compiling \vym } insilmaril@11: Make sure you have installed your Qt environment properly, see the Qt insilmaril@11: documentation for details. You need to have the Qt command {\tt qmake} insilmaril@11: in your {\tt PATH}-environment, then run insilmaril@11: \begin{verbatim} insilmaril@11: qmake insilmaril@11: make insilmaril@11: make install insilmaril@11: \end{verbatim} insilmaril@11: The last command {\tt make install} needs root-permissions. Of course it insilmaril@11: may be omitted, if you just want to test \vym. insilmaril@11: insilmaril@11: %\subsubsection*{Compiling \vym on Macs} insilmaril@11: %TODO insilmaril@11: insilmaril@11: \subsection{\vym file format} \label{fileformat} insilmaril@11: \vym maps usually have the postfix "{\tt .vym}" and represent a insilmaril@11: compressed archive of data. If you want to have a insilmaril@11: closer look into the data structure map called "mapname.vym", insilmaril@11: just uncompress the map manually using insilmaril@11: \begin{verbatim} insilmaril@11: unzip mapname.vym insilmaril@11: \end{verbatim} insilmaril@11: This will create directories named {\tt images} and {\tt flags} in your insilmaril@11: current directory and also the map itself, usually named {\tt insilmaril@11: mapname.xml}. insilmaril@11: The XML structure of \vym is pretty self explaining, just have a look at insilmaril@11: {\tt mapname.xml}. insilmaril@11: insilmaril@11: This XML file can be loaded directly into \vym, it does not have to be insilmaril@11: compressed. If you want to compress all the data yourself, use insilmaril@11: \begin{verbatim} insilmaril@11: zip -r mapname.vym . insilmaril@11: \end{verbatim} insilmaril@11: to compress all data in your current directory. insilmaril@11: insilmaril@11: \subsection{New features} insilmaril@11: There are lots of features which might find their way into \vym. insilmaril@11: Together with \vym you should have received a directory with several insilmaril@11: maps e.g. on SUSE~LINUX this is insilmaril@11: \begin{center} insilmaril@11: {\tt /usr/share/doc/packages/vym/demos} insilmaril@11: \end{center} insilmaril@11: where you find the map {\tt todo.vym}. It lists quite a lot of things to insilmaril@11: be done in future. If you have more ideas, contact the development team insilmaril@11: at insilmaril@11: {\tt vym-devel@lists.sourceforge.net}. insilmaril@11: insilmaril@11: insilmaril@11: \subsection{New languages support} insilmaril@11: In order to add a new language to \vym you need insilmaril@11: the sources (see \ref{getsources}) and insilmaril@11: an installation of Trolltechs QT. A part of QT are the development insilmaril@11: tools, from those tools especially the translation tool "Linguist" is insilmaril@11: needed. insilmaril@11: insilmaril@11: In some Linux distributions the development tools are in an extra package, e.g. on SUSE LINUX you should have installed: insilmaril@11: \begin{verbatim} insilmaril@11: qt3-devel.rpm insilmaril@11: qt3-devel-doc.rpm insilmaril@11: qt3-devel-tools.rpm insilmaril@11: qt3-man.rpm insilmaril@11: \end{verbatim} insilmaril@11: If you don't have QT in your system, you can get it from insilmaril@11: \href{http://www.trolltech.com}{http://www.trolltech.com} Once you insilmaril@11: are able to compile vym yourself, you can translate the text in vym insilmaril@11: itself by performing the following steps: insilmaril@11: \begin{itemize} insilmaril@11: \item Let's assume now your encoding is "NEW" instead of for example insilmaril@11: "de" for german or "en" for english insilmaril@11: insilmaril@11: \item Copy the file {\tt lang/vym\_en.ts} to l{\tt ang/vym\_NEW.ts} (The code insilmaril@11: itself contains the english version.) insilmaril@11: insilmaril@11: \item Add {\tt lang/vym\_NEW.ts} to the TRANSLATIONS section of vym.pro insilmaril@11: insilmaril@11: \item Run Linguist on {\tt vym\_NEW.ts} and do the translation insilmaril@11: insilmaril@11: \item Run {\tt lrelease} to create {\tt vym\_NEW.qm} insilmaril@11: insilmaril@11: \item Do a make install to install the new vym and check your translation insilmaril@11: \end{itemize} insilmaril@11: insilmaril@11: If you feel brave, you can also translate the manual. It is written in insilmaril@11: LaTeX, you just have to change the file tex/vym.tex. (Linguist and QT insilmaril@11: are not needed, but it is useful to know how to work with LaTeX and esp. insilmaril@11: pdflatex to create the PDF.) insilmaril@11: insilmaril@11: Please mail me every translation you have done. I can also give you a insilmaril@11: developer access to the project, if you want to provide translations insilmaril@11: regulary. insilmaril@11: insilmaril@11: \subsection{New export/import filters} insilmaril@11: \vym supports various kinds of filters. Data can be written directly, insilmaril@11: inserted into templates or it can be written as XML data and then insilmaril@11: processed by XSL transformations. insilmaril@11: insilmaril@11: Most of the import/export functionality is available in the classes insilmaril@11: ImportBase and ExportBase and subclasses. All of them can be found in insilmaril@11: {\tt imports.h} and {\tt exports.h}. insilmaril@11: insilmaril@11: \subsubsection*{Direct import/export} insilmaril@11: An example for a direct export is the XML export. This method touches insilmaril@11: the implementation of nearly every object of \vym, so whenever possible insilmaril@11: you should better use a XSL transformation instead. insilmaril@11: insilmaril@11: If you still want to know how it is done, start looking at insilmaril@11: {\tt MapEditor::saveToDir} in {\tt mapeditor.cpp}. insilmaril@11: insilmaril@11: \subsubsection*{Templates} insilmaril@11: Templates have been introduced to export to opendoc format used e.g. by insilmaril@11: Open~Office. While I read the spec ($>$ 500 pages) about the format\footnote{ insilmaril@11: \href{http://www.oasis-open.org/}{http://www.oasis-open.org/}}\ insilmaril@11: I had the feeling that I did not want to write the export from scratch. insilmaril@11: It would be too complex to adapt the styles to your own wishes, e.g. the insilmaril@11: layout. insilmaril@11: insilmaril@11: Instead I analyzed existing Open~Office documents. I found out that insilmaril@11: there are lots of redundant bits of information in a standard insilmaril@11: presentation, for example each list item is contained in its own list. insilmaril@11: In the end I came up with the default presentation style, which still insilmaril@11: could be simplified, just in case you have free time\ldots insilmaril@11: insilmaril@11: The existing templates are still work in progress, before you spent too insilmaril@11: much time developing your own style, please contact me. Basically the insilmaril@11: following steps are needed to build your own style: insilmaril@11: \begin{enumerate} insilmaril@11: \item Create an example in Open Office. Use a title, authors name, insilmaril@11: page heading etc.\ which you can easily grep for in the output file. insilmaril@11: insilmaril@11: \item Unzip the Open Office document into a directory. insilmaril@11: insilmaril@11: \item The main file is called {\tt content.xml}. All data is in one insilmaril@11: single line. You can split the XML tags using the script {\tt insilmaril@11: scripts/niceXML}, which is part of the \vym distribution. insilmaril@11: insilmaril@11: \item Copy the output of {\tt niceXML} to {\tt insilmaril@11: content-template.xml}. insilmaril@11: insilmaril@11: \item Looking closer you will find lots of unused definitions, for insilmaril@11: example of styles. You can delete or simply ignore them. insilmaril@11: insilmaril@11: \item Try to find your title, authors name. \vym will replace the insilmaril@11: following strings while exporting: insilmaril@11: \begin{center} insilmaril@11: \begin{tabular}{lp{4cm}} insilmaril@11: {\tt } & title of map \\ insilmaril@11: {\tt } & author \\ insilmaril@11: {\tt } & comment \\ insilmaril@11: {\tt } & content of map \\ insilmaril@11: \end{tabular} insilmaril@11: \end{center} insilmaril@11: The content itself is generated in a similar way by inserting lists insilmaril@11: into {\tt page-template}. Here the following substitutions are made: insilmaril@11: \begin{center} insilmaril@11: \begin{tabular}{lp{7cm}} insilmaril@11: {\tt } & heading of a page insilmaril@11: (mainbranch or child of mainbranch, depending on the use of insilmaril@11: sections) \\ insilmaril@11: {\tt } & all childs of the branch above \\ insilmaril@11: \end{tabular} insilmaril@11: \end{center} insilmaril@11: \end{enumerate} insilmaril@11: Currently images are exported and notes just will appear as text insilmaril@11: without formatting and colors. insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: \subsubsection*{XSL Transformation} insilmaril@11: \vym uses XSL transformations while exporting (e.g. XHTML) and importing insilmaril@11: data (e.g. KDE bookmarks). There is a little code needed to provide the insilmaril@11: GUI, the rest is done using the {\tt .xsl} stylesheet and calling the insilmaril@11: {\tt xsltproc} processor, which is part of libxslt, the XSLT insilmaril@11: C library for GNOME. insilmaril@11: insilmaril@11: \end{appendix} insilmaril@11: \end{document} insilmaril@11: insilmaril@11: %TODO insilmaril@11: %\subsubsection{Menus} insilmaril@11: %\subsubsection{Keyboard shortcuts} insilmaril@11: %Where does vym save its settings? -> ~/.qt/vymrc insilmaril@11: insilmaril@11: insilmaril@11: % INDEX insilmaril@11: % mapeditor insilmaril@11: % noteditor insilmaril@11: % branch insilmaril@11: % mapcenter insilmaril@11: % heading insilmaril@11: % flag insilmaril@11: % orientation insilmaril@11: % zoom insilmaril@11: % orientation insilmaril@11: % Toolbar insilmaril@11: % Zoom insilmaril@11: % Find insilmaril@11: % statusbar insilmaril@11: % link insilmaril@11: % mainbranch insilmaril@11: % subtree insilmaril@11: % reorder insilmaril@11: % scroll insilmaril@11: % fold insilmaril@11: % vymlink insilmaril@11: % xlink insilmaril@11: % modMode insilmaril@11: % context menu insilmaril@11: % Mac OS X insilmaril@11: insilmaril@11: insilmaril@11: insilmaril@11: \end{document}