Figure Ascrot, only takes a few clicks, even if you want to resize those images or make them links to some other document. What you see in Figure B, however, may be just the most ordinary capability of Zim. If you're a musician, for example, you may insert scores into a page in Lilypond format! Mathematicians, physicists or others who need complex tables or equations may do the same with LaTeX.
This is great, even if it does not work exactly as described on the website (at least for Zim 0.59 on Fedora 17/x86_64). Single, purely numeric formulas right after other text ("Fuel" in the screenshot) work, but multiple formulas, or variable assignments on the same line don't. Zim recalculated the area only when (unlike the example on the website) I put the three height/width/area assignments each on a different line, all by itself.
The Inline Calculator (accessible from Tools->Evaluate Math) does more or less the same job, but adding support for the functions defined in the math and cmath Python modules (cos, exp, log10, sqrt...), and then some.The other thing that Zim does quite well is organization and interconnection of information. Grouping pages hierarchically, by topic, date or any other criteria you may need, is as simple as dragging and dropping them in the left side pane. There is also a built-in search function. As it happens in Web wikis, if you follow the CamelFormat convention for page names, Zim automatically transforms those names in links while typing. Besides, Zim handles both direct and reverse hyperlinks: each "page" automatically shows which other pages link to it. In addition to the page tree in the side pane, the Zim "Link Map" plugin provides a clickable map of the links among the current page (shown in green in Figure D), and all the others in the current Notebook or name space.
Installation, configuration, and automation of Zim
Zim should run on any platform that supports Python and the Gtk libraries. You don't even really need to install it. Zim will run happily even if you just type ./zim.py in the folder you get after downloading the compressed archive from the website. In any case, you should first run "./test.py at the prompt, to be sure that Zim will find in your computer all it needs to work.
The package includes many "core" plugins, that you must activate going to Edit | Preferences | Plugins. They do all sorts of things, from version control with Git or other systems to scientific plots with Gnuplot, or event logging with Zeitgeist. Some of them, however, will work only if certain third-party tools are already installed. The "Link Map", for example, requires Graphviz. You may also create Zim Custom Tools: these are simply shell scripts, declared in a way that lets Zim run them on the current page, Notebook or selected text, when you select the corresponding menu entry.
Of course, text editingEven if it did not have all these "more-than-text" capabilities, Zim would a great little text editor. Zim does not have multiple tabs, but the buttons for the pages already visited in the current session offer almost the same service. The —fullscreen mode, with or without toolbars, will reduce distraction as much as possible. There is a word count pop-up window as functional as the one in LibreOffice/OpenOffice, and plugins to sort lines in alphabetical order or check spelling.
Links to local files are created just dragging and dropping them in the current page. Usage as a To-Do manager is facilitated by support for checkboxes. You can format your text with mouse and keyboard, or write raw Wiki markup (which will be reformatted as soon as you press CTRL-R), but pages are always saved in plain Wiki format:
[marco@polaris zim-0.59]$ more ~/Notebooks/Notes/Journal/2013/03/11.txt
Wiki-Format: zim 0.4
====== Tuesday 11 Mar 2013 ======
write blog post for [[http://www.techrepublic.com|TechRepublic]]
What can I do with my ZIM pages and notebooks?Zim can export single pages or whole notebooks, complete with index, to HTML (including S5 presentations!), LaTeX, Markdown or RST. In the first case (Figure E), you can preview your pages with the Zim embedded Web Server. The links in full notebooks export to HTML, however, will work only if you explicitly set their Document Root in the Zim Notebook Properties window (also shown in Figure E).
Marco Fioretti is a freelance writer and teacher whose work focuses on the impact of open digital technologies on education, ethics, civil rights, and environmental issues.