18
$\begingroup$

Good day! I am looking for any tool that would allow me to generate a figure similar to the figures embedded in the paper by King et al. (2020) titled "Trigonometry: a brief conversation."

King, C., Evelyn, T., Ye, F., & Carvajal, B. (2020). Trigonometry: A Brief Conversation. Open Educational Resources. https://academicworks.cuny.edu/qb_oers/167/

$\endgroup$
6
  • 20
    $\begingroup$ Maybe better suited to TeX.SE? Anyway, TikZ is a fairly standard LaTeX package for making figures like those. $\endgroup$ Commented Dec 16, 2021 at 12:44
  • 3
    $\begingroup$ for the diagrams you have many options; I use LaTeXit to have labels in the same font as the text. $\endgroup$ Commented Dec 16, 2021 at 12:52
  • 2
    $\begingroup$ Possibly MetaPost (tug.org/metapost.html) $\endgroup$
    – J.J. Green
    Commented Dec 16, 2021 at 13:02
  • 12
    $\begingroup$ @LSpice --- yep, asked a decade ago, with similar answers, and closed for similar reasons as mentioned by Nathaniel. Software for drawing diagrams $\endgroup$ Commented Dec 16, 2021 at 16:17
  • 1
    $\begingroup$ Inkscape is easy to use. TikZ can be difficult at first, but one can obtain good results with it. $\endgroup$ Commented Dec 17, 2021 at 16:27

4 Answers 4

20
$\begingroup$

To complement Kostya's answer, here is a way to turn hand-drawings into something looking vaguely professional using inkscape, very quickly (and for free).

  1. Draw something on paper.
  2. Take a photo in good light conditions, and drag the photo file into inkscape.
  3. Select the photo in inkscape and press Shift + Alt + B at the same time (this starts the bitmap function).
  4. Tweak the parameters until you're happy with them (click "update" to preview), then click "OK".
  5. Delete the underlying image, an svg (vector graphics) picture will have been generated on top of it.
  6. Go to "document properties" to tweak the page size.
  7. Press Ctrl + Shift + E to open the export function, and export it.
  8. You get an image (png or jpg) which you can include using various packages into a LaTeX file.

This gives the middle image (the above process took ~10 seconds): enter image description here Because it's an svg file, you can use the node tool (select the line drawing, then press N) to tweak the image a bit, change its colour, etc., e.g. giving the above picture on the right.

Here is another example, based on a random maths drawing I found online. The last one took about a minute to (badly) edit.

enter image description here

Tip: do not delete the inkscape file, so that you can re-edit the image later if you like.

$\endgroup$
23
$\begingroup$

TikZ (a self-referential acronym for Tikz Ist Kein Zeichenprogramm) is an excellent, and extremely versatile drawing program. I highly recommend it.

There's an extensive manual. It might be frightening at first sight, but it in fact starts very gently, with a long list of worked examples (starting on page 30).

There's also some humorous examples of things not to do when designing a graphic (check out the stuff around page 99).

$\endgroup$
3
  • 6
    $\begingroup$ On top of the manual, tex.stackexchange.com has some amazing examples illiustrating the power of TikZ. $\endgroup$
    – user347489
    Commented Dec 16, 2021 at 16:32
  • 5
    $\begingroup$ As you already wrote in German, TikZ ist not a drawing program. ;) $\endgroup$
    – Keba
    Commented Dec 16, 2021 at 17:13
  • 10
    $\begingroup$ @Keba. Point taken. I understand that Tikz claims not to be drawing program... But it is a program that people use to produce figures, a.k.a. drawings. :-) $\endgroup$ Commented Dec 16, 2021 at 17:18
14
$\begingroup$

In the case you prefer to draw pictures on a computer without entering the source code manually, I recommend Inkscape, which is a free, opens source vector graphics editor. It has a Latex plugin that allows you to include math formulae, as well as a variety of other tools.

It outputs an .svg file, which is essentially an .xml document describing your graphics, so in principle it can be edited by a human. Also, many programming languages have tools to create .svg files, e.g., the swgwrite package in Python. Computer algebra systems allow one to save their graphics in .svg, that can then be edited in Inkscape.

For conversion between Tikz and .svg, see e.g. here or here.

$\endgroup$
1
  • 3
    $\begingroup$ There is also diagrams.net, which I personally prefer over Inkscape, although it may serve a slightly different purpose. It also offers the ability to write LaTeX inside figures. $\endgroup$
    – mhdadk
    Commented Dec 17, 2021 at 1:01
4
$\begingroup$

I find Inkscape a bit too heavy and use a much smaller vector drawing program for Windows called Mayura Draw in combination with equally antiquated psfrag package.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .