== Requirements ==

- not much time effort during drawing
- high quality graphics
- file size (pdf) acceptable
- usage of latex fonts+formulas
- good embedding into latex


== Trees ==

Working on Elektra there is of course always the issue how to generate
nice hierarchical trees. Because the trees are the same as
directory/file trees (only that a value instead of a file content is
attached to each node) those graphical presentations can be used.

=== package dirtree ===

\usepackage{dirtree}
\dirtree{%
}


Available in  texlive-generic-extra

Results are acceptable.
Values can be written, because basically anything but . is allowed.

http://mirrors.ctan.org/macros/generic/dirtree/dirtree.pdf
http://texblog.org/2012/08/07/semi-automatic-directory-tree-in-latex/

=== tikzlibrary trees ===

http://www.texample.net/tikz/examples/filesystem-tree/
http://tex.stackexchange.com/questions/23647/drawing-a-directory-listing-a-la-the-tree-command-in-tikz

== Asymptote ==

A fully fledged programming language with all it advantages and
disadvantages.

There is also some latex support to embed it. (See Chapter 7 in docu)
Alternatively you can produce pdfs with "asy" on commandline.

http://mirrors.ibiblio.org/CTAN/graphics/asymptote/doc/asymptote.pdf

== Dot ==

The non-plus ultra for complex graphs which are supposed to be layouted
automatically.

It it is very good suitable for any kind of dependency graphs.
But it also has some limitations, e.g. it is not good suitable for
directory graphs
see http://www.graphviz.org/content/generate-directory-tree-dot

http://www.graphviz.org/Documentation/dotguide.pdf

There is also (more then one) latex integration for dot.

dottex
dot2tex
dot2texi <- best

http://mirror.unl.edu/ctan/graphics/dot2tex/dot2tex.pdf

=== dot2texi ===

Allows us to really nicely integrate with math and tikz capabilities of latex.

Results are very good and (unless tinkering with details) done fast.
Downsides are: Needs -shell-escape. Sometimes escaping is strange: label
in edges behave differently than label in nodes (which do not need \ to
be escaped).

http://www.ctan.org/pkg/dot2texi


== Ipe ==

Very nice program exactly suited for my needs.

Embedding into latex is very good but you need to sync the preambles
(because rendering happens within Ipe)

But for pdf creation latex will be run again
ipetoipe can be integrated in Makefiles or pdf can be used natively
(with some xml embedded I suppose)

http://www.cosy.sbg.ac.at/~held/teaching/wiss_arbeiten/Ipe/Ipe_manual.pdf

very convenient features like ipescripts to have the same preamble for
all files.

Changing font size:
http://www.latex-community.org/forum/viewtopic.php?f=5&t=3477

CGAL:
http://doc.cgal.org/latest/CGAL_ipelets/index.html


== Scribus ==

Basically it can do what Ipe can do, but I did not really see an
advantege in the needed features for scientific publishing.

And it has some problems, Ipe does not have:
- not possible to directly work with pdfs AND
- no converting to pdf on commandline http://bugs.scribus.net/view.php?id=238
- no common latex preamble on commandline
- explanations use icons of wrong versions (2 different buttons of
  render frame and none looked like it actually was)

Some infos
http://wiki.scribus.net/canvas/Working_with_latex_frames
http://wiki.scribus.net/canvas/Help:Manual_Renderframes
http://wiki.scribus.net/canvas/Add_Math_Support

On the other hand it looks like a solid piece of software.


== Inkscape ==

http://mirrors.ctan.org/info/svg-inkscape/InkscapePDFLaTeX.pdf


http://www.johndcook.com/blog/2009/12/22/including-latex-in-inkscape/

crashes on latex rendering (when having python-lxml, otherwise just
error popup)

same with tex text


== Others ==

pgfplots
tikZ
Inkscape
PicTeX

== Discarded =inline =
Dia (do not use, see http://www.kronto.org/thesis/tips/best-drawings.html)
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif