When putting together results, it's often desirable to have some professional looking diagrams, rather than diagrams put together in MS Paint. What is the standard for drawing data structures?
-
1$\begingroup$ I'm not sure if this is considered on-topic (the FAQ gives little guidance). You may find this MO thread of relevance. $\endgroup$– Per VognsenSep 26, 2010 at 5:57
-
1$\begingroup$ It's definitely a soft question, but right on the border. Maybe CW ? $\endgroup$– Suresh VenkatSep 26, 2010 at 6:06
-
$\begingroup$ Suresh's answer is really good. Graphviz is also a nice tool, although harder to link into papers. $\endgroup$– Ross SniderSep 26, 2010 at 7:06
-
3$\begingroup$ IMO, completely on-topic, but I personally won't vote up as I think it should be CW. $\endgroup$– KavehSep 26, 2010 at 10:02
-
4$\begingroup$ I think it's on topic, but should be CW, since people are going to upvote answers to indicate that they like a particular package, and these votes should not go to the person who happened to post that package. $\endgroup$– Robin KothariSep 26, 2010 at 14:38
9 Answers
The MO thread Per links to is pretty good, and this thread on tex.SE is also handy. The main tools that I've used:
I know that Mac folks swear by Omnigraffle, but I have zero experience with it myself. The main criteria for me are:
- Generating PDF
- Integrating LaTeX (with source styles for bonus points)
- Being able to do color/shading etc easily. (Ipe 7 fails on that count)
-
$\begingroup$ You can also export SVGs to TikZ snippets in Inkscape, which is very useful when you want to integrate freeform vector drawings into your TikZ diagrams. $\endgroup$ Sep 26, 2010 at 8:50
-
$\begingroup$ the export procedure isn't complete though: no gradients etc from what I understand. $\endgroup$ Sep 28, 2010 at 3:05
Suresh recommended "Tikz/PGF" for LaTeX. In addition, for drawing graphs and the like, I recommend the following packages:
For a sample usage, see the gallery of named graphs.
See also other pages on http://www.altermundus.fr. (They are mostly in French, yet you can figure out the meaning using Google Translator.)
-
1
-
$\begingroup$ I know I'm 3+ years out of date, but the link to the gallery above is broken. $\endgroup$– XynarizMay 21, 2014 at 17:36
-
$\begingroup$ @Xynariz: Thanks for notifying me! I corrected the link. $\endgroup$ May 23, 2014 at 7:28
Suresh mentions OmniGraffle and Ross mentions Graphviz.
Actually, OmniGraffle is Graphviz with a GUI (and much more). You can draw a graph (or import it from a file), then use a Graphiz-based layout engine to automatically layout the graph. You can tweak the parameters of the layout engine, and finally you can switch off automatic layout and fine-tune the placement of the nodes manually.
That said, I still tend to use Xfig for most illustrations in my papers... The possibility to embed arbitrary Latex code in your illustrations is often essential, and that's exactly where Xfig excels (at least until you need to deal with publishers who expect self-contained EPS files).
-
$\begingroup$ You should try TikZ. Sounds like you'd like it. :) $\endgroup$ Sep 29, 2010 at 8:31
-
$\begingroup$ @Radu: I have tried it. At some point I had to start compiling my Latex code on a remote machine, as my desktop computer was far too slow, and even then it was a pain. TikZ might be fine if your illustrations are small (in particular, not computer-generated), or if you are willing to compile your figures and your main document separately. $\endgroup$ Sep 30, 2010 at 21:31
-
$\begingroup$ Ah, yes, I had that problem once. I put the generated part in a separate file and commented out the \include/\input line while drafting. I agree that it can be annoying if you have such figures often. $\endgroup$ Oct 1, 2010 at 12:06
Since some have mentioned Graphviz, there is also dot2tex which converts Graphviz code into TikZ. This makes using it within LaTeX (have mathematical expressions in labels etc.) and fine-tuning the appearance of the graph easier. You can even embed the Graphviz code directly in the TeX code (in a dot2tex environment) and have it run Graphviz automatically.
For simple drawings I prefer yEd. It can be launched straight from the browser.
Apart from TikZ and graphviz I have made good use of my graphics tablet. You can get the new small Wacom Bamboo for 50€ (used) to 100€ (new). With a tablet you can create quite good looking images quickly; for anything but journal/conference/book publications -- depending on your skill, even then -- the results are very presentable.
You can, of course, use any graphics program. I have found Creately and Dabbleboard very useful for graphs and the like.