# Drawing math figures

Dafe
Hi,

What do you guys use for creating graphs and other figures for use in math/physics papers?
Is there some industry standard being used by science book writers?

Thanks.

Homework Helper
I haven't really published papers, but I've co-authored and written some theses... Usually I create my figures in Mathematica (version >= 6) gives extremely powerful capabilities and nice PDF output. Before that I often used Asymptote (asymptote.sourceforge.net, I think) which I'm told looks a bit like MetaPost (linear combination) C(++) and also produces really good figures.

Personally, I always get annoyed by the ugly stick figures that seem to be drawn with the Brush tool in MS Paint and which are found in many articles.

Dafe
CompuChip: Does mathematica have a drawing tool? Say you want to explain how projection matrices work, and would like to draw a plane and some vectores. Is this easily done in Mathematica?
Asymptote looks interesting and quite hard to learn..

Homework Helper
No it's not particularly easy, although I think there is provision to edit the graphic using your mouse. This is probably easier done in Asymptote, once you get the hang of it, because it allows you to use a three dimensional coordinate system and automatically projects it on the "canvas".

Mathematica can also do this, although drawing vectors in 3D seems to be somewhat of a pain (there is an Arrow construct for 2D, but not 3D). On the other hand, calculating the necessary quantities (e.g. drawing the line spanned by an eigenvector of a matrix and projecting out a vector along it) is very easy in Mathematica (you can simply use things like EigenVectors[A][[1]] . vector).

Homework Helper
If you are using Latex, and are able to have self-contained figures, the PS-Tricks collection of packages is quite powerful, and Tikz/PGF is also quite flexible.

Homework Helper
Note that if you want beautiful pictures and don't want to resort to something like Photoshop or Inkscape, you should count on a somewhat steep learning curve, whichever program you use.
At the very least you will have to get used to some syntax and to entering with coordinates instead of point-and-click (although for some programs there are GUI's, which - AFAI've seen, don't always work properly or more conveniently than hard-core text coding).

Homework Helper
"Note that if you want beautiful pictures and don't want to resort to something like Photoshop or Inkscape, you should count on a somewhat steep learning curve, whichever program you use."

Photoshop has its own learning curve, and you need to have graphics ready to import to edit. I agree that Tikz and Pstricks have learning curves, but in the context of my message, if someone has mastered latex, either of those two sets of packages should be within reach.

I think the common theme to take away from the replies is that there is no free lunch when it comes to good graphics.

n!kofeyn
http://www.texample.net/tikz/examples/" [Broken] is extremely powerful and is probably the most useful once you learn it, but has a steep learning curve. You program it directly into your .tex file. Check out the multitude of examples in the link.

There is also http://tclab.kaist.ac.kr/ipe/", which is more like a drawing editor.

Last edited by a moderator:
Dafe
TikZ looks interesting. I really do not mind a steep learning curve :)
Thanks!

trambolin
For pstricks users there is also http://latexdraw.sourceforge.net/" [Broken], which saved my life a few times. It is producing the Pstricks code on-the-fly as you draw. Then you copy paste the code to your .tex document

It has some limitations about the math fonts but you can modify it with your tex editor later.

Last edited by a moderator:
Dafe
That looks sweet trambolin! Thanks