4 ms·
With all the discussion here about alternative programs to make vector graphics for mathematical figures, I'm a little surprised no one has mentioned Ipe (https
by procedurecall 4y ago
With all the discussion here about alternative programs to make vector graphics for mathematical figures, I'm a little surprised no one has mentioned Ipe (https://ipe.otfried.org/ https://ipe.otfried.org/), given it's far and away the most popular tool in my field (and has good native support for LaTeX expressions).
It certainly doesn't have all the features that Inkscape supports (although it does have quite a lot of features), but the features it does have are implemented with a heavy emphasis on ease-of-use. It's sometimes easier to brainstorm within the program than on paper.
It's also plenty easy to add useful plugins in Lua: At one point I coded a plugin to check if a diagram of a graph contained a Hamiltonian cycle (by calling an external C++ program I wrote that used simple backtracking). I was able to very quickly experiment with which of my small graphs and modifications to said graphs ended up having Hamiltonian cycles, and was able to narrow down some useful features to think about.
- bmitc 4y agoWhat is your field? As someone who likes the idea of and quality of images that TikZ produces but not how obtuse it is, I've done a fair amount of research into this space at times. However, I've never heard of Ipe. Even if I had, I'm not sure I'd use it. The material is basically devoid of examples. How does one learn how to use it?
- procedurecall 4y agoI work mostly on computational geometry and graph algorithms, and some related things (although I certainly don't have a very long list of publications). Ipe is written entirely by one person (Otfried Cheong), who works on a lot of computational geometry, which is likely part of why it's most well-known among this group. I've used Ipe for every diagram in every paper I've ever published, and I used them for all the figures in the slides of a course I taught a couple years ago. Clearly I'm a bit biased, but having used TikZ a small but painful number of times during my undergraduate degree, I'd be more than happy if I never have to work with it again. Like everyone else I know, I learned Ipe through trial and error, with a handful of little tidbits of advice. 90% of the functionality you will use is quite intuitive and right there on the interface if you hover over things (and all the tools also have keyboard shortcuts of course). Some of the tips I've given/been given over the years that are less intuitive are: - You can save directly in PDF and re-edit a PDF saved with Ipe. This is very helpful for a LaTeX project, since PDF files are very easy to import (even ones with multiple pages). - When you import into a LaTeX project, the dimensions of the figure will be cropped to the dimensions of the actual content (this may be obvious to some, but it wasn't to me). - You can edit the alignment of text (and other various hidden options) by right clicking on objects in select mode. - The different snapping modes are probably the killer feature of Ipe. You can snap to the intersection of curves, to the vertices of polylines, and much more. Between the intersection snapping mode, circle tool, and line segment tool, you can technically perform any compass-ruler construction you want from Euclidean geometry (with has been useful a handful of times for me surprisingly). - Selection of objects is a bit funny (but often useful): If you select from top-left to bottom-right, then you will only select things your selection box fully encapsulates. If you select instead from bottom-right to top-left, you will select anything your selection box intersects. - Writing extensions and editing configs (incl changing page dimensions, colour palette, text size palette) is unfortunately quite painful, and I can only recommend digging through the examples. I believe there is documentation somewhere, but I found it less than helpful. - You can edit the underlying points of any curve you place after the fact by using the "edit" option in the right-click menu. - In order to use the regular k-gon "ipelet" (under ipelets->goodies IIRC), you need to have a circle present first (which you can of course delete afterwards). Ipelets are the mechanism by which you can program functionality with Lua, and this is probably the one I use the most (it comes built in with the program). In my personal opinion, the only major weak point of Ipe is how annoying it is to rotate things (to the point where I often prefer to redraw things in rotated form, unless it's quite complex). To do this you need to very carefully select a pivot point type and a rotation type through the right-click menu. You also have to be very conscious of snapping as you perform the rotation.
- srean 4y agoIpe is to my mind the rightful moral heir to Xfig. Love both for their support for latex.
- IshKebab 4y agoAgreed. IPE is far far superior to Inkscape for mathematical diagrams. Honestly Inkscape is rather painful to use just for arty stuff. Using it for precise diagrams with maths labels sounds downright masochistic.