Skip to content

For plotting a certain classes of drawings (e.g., diagrams, graph) one should use frameworks like dot, mermaid, plantuml

For technical drawing there are several solutions, as described below

Tikz

  • Language for producing vector graphics from a textual description
  • Several drawing programs can export figures as Tikz format (e.g., Inkspace, matplotlib, gnuplot)

  • Refs

  • https://en.wikipedia.org/wiki/PGF/TikZ
  • https://tikz.net/
  • https://tikz.org/
  • Examples
    • https://tikz.dev/
    • https://texample.net/tikz/examples/
    • https://tex.stackexchange.com/questions/175969/block-diagrams-using-tikz
  • Web application
    • https://tikzmaker.com/editor
  • Local editor
    • https://tikzit.github.io/
  • Misc
    • https://tex.stackexchange.com/?tags=tikz-pgf

Pgfplots

  • Plots functions directly in Tex/Latex
  • Based on TikZ

  • Refs

  • https://ctan.math.washington.edu/tex-archive/graphics/pgf/contrib/pgfplots/doc/pgfplots.pdf
  • https://www.overleaf.com/learn/latex/Pgfplots_package

Asymptote

  • A descriptive vector graphics language
  • Provide a coordinate-based framework for technical drawing
  • It has a Python frontend

  • Refs

  • https://en.wikipedia.org/wiki/Asymptote_(vector_graphics_language)
  • https://asymptote.sourceforge.io/
  • Gallery
    • https://asymptote.sourceforge.io/gallery/
  • Asymptote web application
    • http://asymptote.ualberta.ca/

Plotting in markdown

How to draw in markdown

We would like to use the same plots for both Latex and Markdown documents

We can use pandoc

TODO(gp): Consider extending ./dev_scripts/documentation/render_md.py to render also complex Latex, tikz

https://tex.stackexchange.com/questions/586285/pandoc-markdown-drawing-circuit-diagrams-using-circuitikz