A Short Comparison of Graphics Editors for LaTeX on Mac OS

Requirements:

  • Run on Mac OS (either natively or by emulation)
  • Can either use LaTeX code in text objects or export to PGF/TikZ code (I do not use PSTricks)
  • Adequate support for drawing basic graphical objects
  • Good output:
    • If PGF/TikZ code: clean enough so that I can understand and modify
    • If graphic file: must look professional with LaTeX typesetting

I tried the following applications. There is one promising software, namely tikzedt, but it only supports Windows. I tried to run it on Mac OS by Mono but it failed to produce the preview images. It looks like the authors are porting the software to Linux and have some success. Hopefully it will work on Mac OS. In the mean time, it will require either a Windows machine or some virtual machine software such as Parallel or VMWare (and of course, a Windows license).

Inkscape

  • Good vector drawing software.
  • It can export to TikZ, however:
    • It uses paths, even for ellipses and circles, so the code looks aweful and it will be hard to modify it.
    • It flips the y-coordinate by setting yscale to -1.
    • In my test, it did not export and plot arrows, which I use very often.

Conclusion: not good until the code exporter is improved.

IPE

  • Basic graphical drawing is adequate, although may take some time to get used to.
  • It cannot export to LaTeX code, not to mention PGF/TikZ code.
  • However, it can embed LaTeX code in text objects and render them correctly and beautifully. Actually it uses LaTeX to render the text and supports TeX preamble (so you can define custom macros).
  • If you change anything in the LaTeX code that is included in the graphic file, you will have to re-open, re-run LaTeX and re-save the file for the change to take effect.
  • It has good PDF/EPS output, small files.
  • A trick: IPE can only draw circles; to create ellipses, scale and rotate circles.

Conclusion: not as I want and expect but it is good enough to quickly drawing graphics that I do not need to custom much.

JPGFDraw

  • It is a bit difficult to use.
  • It exports to PGF, not TikZ, and the code is very low level and very difficult to understand or modify.
  • It does not understand LaTeX code in text objects, for example when I typed “$alpha$” it produced “$textbackslash alpha$”

Conclusion: not good to be used.

DIA (for diagrams only)

  • Seems like a good editor to create diagrams.
  • However it can only export to PGF code, which is very low level and looks aweful if you want to understand or modify it.
  • I did not test if it can embed LaTeX code in text.

Conclusion: probably drawing directly in TikZ is better, unless you are creating a very large and complex diagram.

Posted in Computer, Research Tagged with: , ,
2 comments on “A Short Comparison of Graphics Editors for LaTeX on Mac OS
  1. GReg says:

    Hey,

    the solution I used for the same problem is to use LaTeXiT (http://www.chachatelier.fr/latexit/) for OSX. It is a great software allowing you to feed in LaTeX code and generate a pdf you can drag and drop almost everywhere (e.g., I use it with keynote). One of the nice thing is that you can also specify the preamble in the same interface. This is the feature that will allow you to achieve your goal. This is what I use frequently to have a quick feedback between my tikz code and its rendering.

    For example, if you want to reproduce this example (http://www.texample.net/tikz/examples/nav1d/), follow these steps:

    1. Open LaTeXiT
    2. copy in the preamble (in it hidden by default)
    usepackage{tikz}
    usetikzlibrary{arrows}
    usepackage{verbatim}
    3. copy in the main window
    tikzstyle{int}=[draw, fill=blue!20, minimum size=2em]
    tikzstyle{init} = [pin edge={to-,thin,black}]

    begin{tikzpicture}[node distance=2.5cm,auto,>=latex’]
    node [int, pin={[init]above:$v_0$}] (a) {$frac{1}{s}$};
    node (b) [left of=a,node distance=2cm, coordinate] {a};
    node [int, pin={[init]above:$p_0$}] (c) [right of=a] {$frac{1}{s}$};
    node [coordinate] (end) [right of=c, node distance=2cm]{};
    path[->] (b) edge node {$a$} (a);
    path[->] (a) edge node {$v$} (c);
    draw[->] (c) edge node {$p$} (end) ;
    end{tikzpicture}
    4. Select “Text” in the interface
    5. Hit “LaTeX it!”, job done!

    Googling for “latexit”+tikz I found this blog entry describing exactly this strategy
    http://blog.nomanlander.com/2008/09/drawing-graphics-diagrams-using-tikzpgf.html

    I also use inkscape a lot. I agree on the fact that the different export functions are suboptimal. If you want LaTeX annotations, you can use the pdf export capabilities allowing you to separate the drawing (in pdf) from the text as a tex file. See http://www.ctan.org/tex-archive/info/svg-inkscape for details. I used it quite a lot recently and it works pretty well. On the downside, the svg files are pretty crowded and you can’t see directly the result before inclusion in a LaTeX document. For simple things, like annotating a plot for a publication or lecture notes, this is the simplest solution I’ve found.

    I hope this helps,
    cheers, GReg!

    • Thanks for the hints. Actually I use LaTeXiT frequently, but mostly for equations. I know that it can be used to render TikZ pictures, however I haven’t tried it. For my dissertation, which has quite a number of illustrations, I mainly used IPE (then exported to PDF images), some raw TikZ code, and a few PDF exported Inkscape drawings. They worked well for me.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>