Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/janosh/tikz

TikZ figures for concepts in physics/chemistry/ML
https://github.com/janosh/tikz

latex machine-learning physics scientific-visualization svelte svelte-kit tikz tikz-gallery tikz-standalone

Last synced: 1 day ago
JSON representation

TikZ figures for concepts in physics/chemistry/ML

Lists

README

        



TikZ

[![Made with LaTeX](https://img.shields.io/badge/Made%20with-LaTeX-1f425f.svg?logo=latex)](https://latex-project.org)
[![Site](https://github.com/janosh/tikz/actions/workflows/gh-pages.yml/badge.svg)](https://github.com/janosh/tikz/actions/workflows/gh-pages.yml)
[![Link Check](https://github.com/janosh/tikz/actions/workflows/link-check.yml/badge.svg)](https://github.com/janosh/tikz/actions/workflows/link-check.yml)
[![Pull Requests Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?logo=github)](https://github.com/janosh/tikz/pulls)
[![DOI](https://zenodo.org/badge/286220365.svg)](https://zenodo.org/badge/latestdoi/286220365)

Collection of **111** `standalone` TikZ figures for illustrating concepts in physics, chemistry and machine learning.

Check out [janosh.github.io](https://janosh.github.io/tikz) to search, sort, open in Overleaf and download figures (PDF/SVG/PNG) from this collection.

Have a TikZ image you'd like to share? [Submit a PR](https://github.com/janosh/tikz/pulls) with a `.tex` and metadata `.yml` file in the `assets/` directory and add yourself to the [`citation.cff`](citation.cff) file.

## Images

|                        |                        |
| :----------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------: |
| [`autoencoder`](https://janosh.github.io/tikz/autoencoder) | [`aviary`](https://janosh.github.io/tikz/aviary) |
| ![`autoencoder.png`](assets/autoencoder/autoencoder.png) | ![`aviary.png`](assets/aviary/aviary.png) |
| [`basis-plus-lattice`](https://janosh.github.io/tikz/basis-plus-lattice) | [`bloch-sphere`](https://janosh.github.io/tikz/bloch-sphere) |
| ![`basis-plus-lattice.png`](assets/basis-plus-lattice/basis-plus-lattice.png) | ![`bloch-sphere.png`](assets/bloch-sphere/bloch-sphere.png) |
| [`bose-einstein-distribution-3d`](https://janosh.github.io/tikz/bose-einstein-distribution-3d) | [`bose-einstein-distribution`](https://janosh.github.io/tikz/bose-einstein-distribution) |
| ![`bose-einstein-distribution-3d.png`](assets/bose-einstein-distribution-3d/bose-einstein-distribution-3d.png) | ![`bose-einstein-distribution.png`](assets/bose-einstein-distribution/bose-einstein-distribution.png) |
| [`branch-and-bound`](https://janosh.github.io/tikz/branch-and-bound) | [`branch-cuts-1`](https://janosh.github.io/tikz/branch-cuts-1) |
| ![`branch-and-bound.png`](assets/branch-and-bound/branch-and-bound.png) | ![`branch-cuts-1.png`](assets/branch-cuts-1/branch-cuts-1.png) |
| [`branch-cuts-2`](https://janosh.github.io/tikz/branch-cuts-2) | [`change-of-variables`](https://janosh.github.io/tikz/change-of-variables) |
| ![`branch-cuts-2.png`](assets/branch-cuts-2/branch-cuts-2.png) | ![`change-of-variables.png`](assets/change-of-variables/change-of-variables.png) |
| [`closed-string-topologies`](https://janosh.github.io/tikz/closed-string-topologies) | [`complex-sign-function`](https://janosh.github.io/tikz/complex-sign-function) |
| ![`closed-string-topologies.png`](assets/closed-string-topologies/closed-string-topologies.png) | ![`complex-sign-function.png`](assets/complex-sign-function/complex-sign-function.png) |
| [`concave-functions`](https://janosh.github.io/tikz/concave-functions) | [`conv2d`](https://janosh.github.io/tikz/conv2d) |
| ![`concave-functions.png`](assets/concave-functions/concave-functions.png) | ![`conv2d.png`](assets/conv2d/conv2d.png) |
| [`convex-functions`](https://janosh.github.io/tikz/convex-functions) | [`critical-temperature`](https://janosh.github.io/tikz/critical-temperature) |
| ![`convex-functions.png`](assets/convex-functions/convex-functions.png) | ![`critical-temperature.png`](assets/critical-temperature/critical-temperature.png) |
| [`cylinder-to-plane`](https://janosh.github.io/tikz/cylinder-to-plane) | [`detailed-balance`](https://janosh.github.io/tikz/detailed-balance) |
| ![`cylinder-to-plane.png`](assets/cylinder-to-plane/cylinder-to-plane.png) | ![`detailed-balance.png`](assets/detailed-balance/detailed-balance.png) |
| [`dft-choices`](https://janosh.github.io/tikz/dft-choices) | [`diagrams`](https://janosh.github.io/tikz/diagrams) |
| ![`dft-choices.png`](assets/dft-choices/dft-choices.png) | ![`diagrams.png`](assets/diagrams/diagrams.png) |
| [`disk-to-plane`](https://janosh.github.io/tikz/disk-to-plane) | [`divergence`](https://janosh.github.io/tikz/divergence) |
| ![`disk-to-plane.png`](assets/disk-to-plane/disk-to-plane.png) | ![`divergence.png`](assets/divergence/divergence.png) |
| [`dropout`](https://janosh.github.io/tikz/dropout) | [`energy-distribution-functions`](https://janosh.github.io/tikz/energy-distribution-functions) |
| ![`dropout.png`](assets/dropout/dropout.png) | ![`energy-distribution-functions.png`](assets/energy-distribution-functions/energy-distribution-functions.png) |
| [`ergodic`](https://janosh.github.io/tikz/ergodic) | [`euler-angles`](https://janosh.github.io/tikz/euler-angles) |
| ![`ergodic.png`](assets/ergodic/ergodic.png) | ![`euler-angles.png`](assets/euler-angles/euler-angles.png) |
| [`fermi-dirac-vs-temp`](https://janosh.github.io/tikz/fermi-dirac-vs-temp) | [`feynman-1`](https://janosh.github.io/tikz/feynman-1) |
| ![`fermi-dirac-vs-temp.png`](assets/fermi-dirac-vs-temp/fermi-dirac-vs-temp.png) | ![`feynman-1.png`](assets/feynman-1/feynman-1.png) |
| [`feynman-2`](https://janosh.github.io/tikz/feynman-2) | [`feynman-3`](https://janosh.github.io/tikz/feynman-3) |
| ![`feynman-2.png`](assets/feynman-2/feynman-2.png) | ![`feynman-3.png`](assets/feynman-3/feynman-3.png) |
| [`feynman-4`](https://janosh.github.io/tikz/feynman-4) | [`feynman-diagram-propagator-loop`](https://janosh.github.io/tikz/feynman-diagram-propagator-loop) |
| ![`feynman-4.png`](assets/feynman-4/feynman-4.png) | ![`feynman-diagram-propagator-loop.png`](assets/feynman-diagram-propagator-loop/feynman-diagram-propagator-loop.png) |
| [`fluctuations`](https://janosh.github.io/tikz/fluctuations) | [`four-vs-of-data`](https://janosh.github.io/tikz/four-vs-of-data) |
| ![`fluctuations.png`](assets/fluctuations/fluctuations.png) | ![`four-vs-of-data.png`](assets/four-vs-of-data/four-vs-of-data.png) |
| [`gan`](https://janosh.github.io/tikz/gan) | [`geometric-bayes`](https://janosh.github.io/tikz/geometric-bayes) |
| ![`gan.png`](assets/gan/gan.png) | ![`geometric-bayes.png`](assets/geometric-bayes/geometric-bayes.png) |
| [`graph-isomorphism`](https://janosh.github.io/tikz/graph-isomorphism) | [`gravitons`](https://janosh.github.io/tikz/gravitons) |
| ![`graph-isomorphism.png`](assets/graph-isomorphism/graph-isomorphism.png) | ![`gravitons.png`](assets/gravitons/gravitons.png) |
| [`harm-osc-energy-freq`](https://janosh.github.io/tikz/harm-osc-energy-freq) | [`harm-osc-energy-inv-temp`](https://janosh.github.io/tikz/harm-osc-energy-inv-temp) |
| ![`harm-osc-energy-freq.png`](assets/harm-osc-energy-freq/harm-osc-energy-freq.png) | ![`harm-osc-energy-inv-temp.png`](assets/harm-osc-energy-inv-temp/harm-osc-energy-inv-temp.png) |
| [`hea`](https://janosh.github.io/tikz/hea) | [`heatmap`](https://janosh.github.io/tikz/heatmap) |
| ![`hea.png`](assets/hea/hea.png) | ![`heatmap.png`](assets/heatmap/heatmap.png) |
| [`higgs-potential`](https://janosh.github.io/tikz/higgs-potential) | [`isotherms`](https://janosh.github.io/tikz/isotherms) |
| ![`higgs-potential.png`](assets/higgs-potential/higgs-potential.png) | ![`isotherms.png`](assets/isotherms/isotherms.png) |
| [`jensens-inequality`](https://janosh.github.io/tikz/jensens-inequality) | [`k-space`](https://janosh.github.io/tikz/k-space) |
| ![`jensens-inequality.png`](assets/jensens-inequality/jensens-inequality.png) | ![`k-space.png`](assets/k-space/k-space.png) |
| [`kohn-sham-cycle`](https://janosh.github.io/tikz/kohn-sham-cycle) | [`loop`](https://janosh.github.io/tikz/loop) |
| ![`kohn-sham-cycle.png`](assets/kohn-sham-cycle/kohn-sham-cycle.png) | ![`loop.png`](assets/loop/loop.png) |
| [`loops`](https://janosh.github.io/tikz/loops) | [`m-theory`](https://janosh.github.io/tikz/m-theory) |
| ![`loops.png`](assets/loops/loops.png) | ![`m-theory.png`](assets/m-theory/m-theory.png) |
| [`made`](https://janosh.github.io/tikz/made) | [`maf`](https://janosh.github.io/tikz/maf) |
| ![`made.png`](assets/made/made.png) | ![`maf.png`](assets/maf/maf.png) |
| [`materials-informatics-challenges`](https://janosh.github.io/tikz/materials-informatics-challenges) | [`materials-informatics`](https://janosh.github.io/tikz/materials-informatics) |
| ![`materials-informatics-challenges.png`](assets/materials-informatics-challenges/materials-informatics-challenges.png) | ![`materials-informatics.png`](assets/materials-informatics/materials-informatics.png) |
| [`matsubara-contour-1`](https://janosh.github.io/tikz/matsubara-contour-1) | [`matsubara-contour-2`](https://janosh.github.io/tikz/matsubara-contour-2) |
| ![`matsubara-contour-1.png`](assets/matsubara-contour-1/matsubara-contour-1.png) | ![`matsubara-contour-2.png`](assets/matsubara-contour-2/matsubara-contour-2.png) |
| [`matsubara-contour-3`](https://janosh.github.io/tikz/matsubara-contour-3) | [`matsubara-contour-4`](https://janosh.github.io/tikz/matsubara-contour-4) |
| ![`matsubara-contour-3.png`](assets/matsubara-contour-3/matsubara-contour-3.png) | ![`matsubara-contour-4.png`](assets/matsubara-contour-4/matsubara-contour-4.png) |
| [`matsubara-contour-5`](https://janosh.github.io/tikz/matsubara-contour-5) | [`matsubara-contour-deformation`](https://janosh.github.io/tikz/matsubara-contour-deformation) |
| ![`matsubara-contour-5.png`](assets/matsubara-contour-5/matsubara-contour-5.png) | ![`matsubara-contour-deformation.png`](assets/matsubara-contour-deformation/matsubara-contour-deformation.png) |
| [`maxwell-boltzmann-distribution`](https://janosh.github.io/tikz/maxwell-boltzmann-distribution) | [`mexican-hat`](https://janosh.github.io/tikz/mexican-hat) |
| ![`maxwell-boltzmann-distribution.png`](assets/maxwell-boltzmann-distribution/maxwell-boltzmann-distribution.png) | ![`mexican-hat.png`](assets/mexican-hat/mexican-hat.png) |
| [`ml-activations`](https://janosh.github.io/tikz/ml-activations) | [`mosfet`](https://janosh.github.io/tikz/mosfet) |
| ![`ml-activations.png`](assets/ml-activations/ml-activations.png) | ![`mosfet.png`](assets/mosfet/mosfet.png) |
| [`mphil-gantt`](https://janosh.github.io/tikz/mphil-gantt) | [`nf-coupling-layer`](https://janosh.github.io/tikz/nf-coupling-layer) |
| ![`mphil-gantt.png`](assets/mphil-gantt/mphil-gantt.png) | ![`nf-coupling-layer.png`](assets/nf-coupling-layer/nf-coupling-layer.png) |
| [`normalizing-flow`](https://janosh.github.io/tikz/normalizing-flow) | [`one-point`](https://janosh.github.io/tikz/one-point) |
| ![`normalizing-flow.png`](assets/normalizing-flow/normalizing-flow.png) | ![`one-point.png`](assets/one-point/one-point.png) |
| [`open-string-topologies`](https://janosh.github.io/tikz/open-string-topologies) | [`operator-orderings`](https://janosh.github.io/tikz/operator-orderings) |
| ![`open-string-topologies.png`](assets/open-string-topologies/open-string-topologies.png) | ![`operator-orderings.png`](assets/operator-orderings/operator-orderings.png) |
| [`organic-molecule`](https://janosh.github.io/tikz/organic-molecule) | [`otto-cycle`](https://janosh.github.io/tikz/otto-cycle) |
| ![`organic-molecule.png`](assets/organic-molecule/organic-molecule.png) | ![`otto-cycle.png`](assets/otto-cycle/otto-cycle.png) |
| [`periodic-table`](https://janosh.github.io/tikz/periodic-table) | [`physics-mindmap`](https://janosh.github.io/tikz/physics-mindmap) |
| ![`periodic-table.png`](assets/periodic-table/periodic-table.png) | ![`physics-mindmap.png`](assets/physics-mindmap/physics-mindmap.png) |
| [`plane-to-torus`](https://janosh.github.io/tikz/plane-to-torus) | [`plate-capacitor`](https://janosh.github.io/tikz/plate-capacitor) |
| ![`plane-to-torus.png`](assets/plane-to-torus/plane-to-torus.png) | ![`plate-capacitor.png`](assets/plate-capacitor/plate-capacitor.png) |
| [`poles`](https://janosh.github.io/tikz/poles) | [`potential-triangle`](https://janosh.github.io/tikz/potential-triangle) |
| ![`poles.png`](assets/poles/poles.png) | ![`potential-triangle.png`](assets/potential-triangle/potential-triangle.png) |
| [`propagator-fluctuations`](https://janosh.github.io/tikz/propagator-fluctuations) | [`propagators`](https://janosh.github.io/tikz/propagators) |
| ![`propagator-fluctuations.png`](assets/propagator-fluctuations/propagator-fluctuations.png) | ![`propagators.png`](assets/propagators/propagators.png) |
| [`qm-cost-vs-acc`](https://janosh.github.io/tikz/qm-cost-vs-acc) | [`random-forest`](https://janosh.github.io/tikz/random-forest) |
| ![`qm-cost-vs-acc.png`](assets/qm-cost-vs-acc/qm-cost-vs-acc.png) | ![`random-forest.png`](assets/random-forest/random-forest.png) |
| [`regular-vs-bayes-nn`](https://janosh.github.io/tikz/regular-vs-bayes-nn) | [`relation-space`](https://janosh.github.io/tikz/relation-space) |
| ![`regular-vs-bayes-nn.png`](assets/regular-vs-bayes-nn/regular-vs-bayes-nn.png) | ![`relation-space.png`](assets/relation-space/relation-space.png) |
| [`rnvp`](https://janosh.github.io/tikz/rnvp) | [`roost-update`](https://janosh.github.io/tikz/roost-update) |
| ![`rnvp.png`](assets/rnvp/rnvp.png) | ![`roost-update.png`](assets/roost-update/roost-update.png) |
| [`sabatier-principle`](https://janosh.github.io/tikz/sabatier-principle) | [`saddle-point`](https://janosh.github.io/tikz/saddle-point) |
| ![`sabatier-principle.png`](assets/sabatier-principle/sabatier-principle.png) | ![`saddle-point.png`](assets/saddle-point/saddle-point.png) |
| [`sbs-aktionen`](https://janosh.github.io/tikz/sbs-aktionen) | [`seebeck-effect`](https://janosh.github.io/tikz/seebeck-effect) |
| ![`sbs-aktionen.png`](assets/sbs-aktionen/sbs-aktionen.png) | ![`seebeck-effect.png`](assets/seebeck-effect/seebeck-effect.png) |
| [`self-attention`](https://janosh.github.io/tikz/self-attention) | [`shell`](https://janosh.github.io/tikz/shell) |
| ![`self-attention.png`](assets/self-attention/self-attention.png) | ![`shell.png`](assets/shell/shell.png) |
| [`sign-plane`](https://janosh.github.io/tikz/sign-plane) | [`single-head-attention`](https://janosh.github.io/tikz/single-head-attention) |
| ![`sign-plane.png`](assets/sign-plane/sign-plane.png) | ![`single-head-attention.png`](assets/single-head-attention/single-head-attention.png) |
| [`skip-connection`](https://janosh.github.io/tikz/skip-connection) | [`spontaneous-magnetization`](https://janosh.github.io/tikz/spontaneous-magnetization) |
| ![`skip-connection.png`](assets/skip-connection/skip-connection.png) | ![`spontaneous-magnetization.png`](assets/spontaneous-magnetization/spontaneous-magnetization.png) |
| [`tanh`](https://janosh.github.io/tikz/tanh) | [`theory-space`](https://janosh.github.io/tikz/theory-space) |
| ![`tanh.png`](assets/tanh/tanh.png) | ![`theory-space.png`](assets/theory-space/theory-space.png) |
| [`thermo-ensemble-trafos`](https://janosh.github.io/tikz/thermo-ensemble-trafos) | [`thomson-scattering`](https://janosh.github.io/tikz/thomson-scattering) |
| ![`thermo-ensemble-trafos.png`](assets/thermo-ensemble-trafos/thermo-ensemble-trafos.png) | ![`thomson-scattering.png`](assets/thomson-scattering/thomson-scattering.png) |
| [`tori`](https://janosh.github.io/tikz/tori) | [`torus-fundamental-domain`](https://janosh.github.io/tikz/torus-fundamental-domain) |
| ![`tori.png`](assets/tori/tori.png) | ![`torus-fundamental-domain.png`](assets/torus-fundamental-domain/torus-fundamental-domain.png) |
| [`torus`](https://janosh.github.io/tikz/torus) | [`two-point-no-cutoff`](https://janosh.github.io/tikz/two-point-no-cutoff) |
| ![`torus.png`](assets/torus/torus.png) | ![`two-point-no-cutoff.png`](assets/two-point-no-cutoff/two-point-no-cutoff.png) |
| [`two-point`](https://janosh.github.io/tikz/two-point) | [`unregularized-propagator-diagrams`](https://janosh.github.io/tikz/unregularized-propagator-diagrams) |
| ![`two-point.png`](assets/two-point/two-point.png) | ![`unregularized-propagator-diagrams.png`](assets/unregularized-propagator-diagrams/unregularized-propagator-diagrams.png) |
| [`vae`](https://janosh.github.io/tikz/vae) | [`wall`](https://janosh.github.io/tikz/wall) |
| ![`vae.png`](assets/vae/vae.png) | ![`wall.png`](assets/wall/wall.png) |
| [`wetterich-equation`](https://janosh.github.io/tikz/wetterich-equation) | [`wyckoff-positions`](https://janosh.github.io/tikz/wyckoff-positions) |
| ![`wetterich-equation.png`](assets/wetterich-equation/wetterich-equation.png) | ![`wyckoff-positions.png`](assets/wyckoff-positions/wyckoff-positions.png) |
| [`zt-vs-n`](https://janosh.github.io/tikz/zt-vs-n) | |
| ![`zt-vs-n.png`](assets/zt-vs-n/zt-vs-n.png) | |

## Scripts

Files in [`/scripts`](scripts) render and compress the standalone `.tex` files in [`/assets`](assets) to various formats:

- low + high-res PNG
- PDF
- SVG

To run the scripts requires the following dependencies:

- [`pdf-compressor`](https://github.com/janosh/pdf-compressor) (`pip install pdf-compressor`)
- [`gs` (GhostScript)](https://ghostscript.com) (optional, worse compression but needs no API key so less setup than `pdf-compressor`)
- [`pdf2svg`](https://github.com/dawbarton/pdf2svg) (`brew install pdf2svg`)
- `convert` (part of [ImageMagick](https://imagemagick.org/script))
- [`pngquant`](https://github.com/kornelski/pngquant) (`brew install pngquant`)
- [`zopflipng`](https://github.com/google/zopfli) (`brew install zopfli`)

To run `pdf-compressor` directly or to use it as part of the [`render-tikz.py`](scripts/render-tikz.py) pipeline, you need a free public API key from . Pass it to `pdf-compressor` with:

```sh
pdf-compressor --set-api-key project_public_7c854a9db0...
```

## 📖   How to cite

You can cite the [Zenodo record](https://zenodo.org/badge/latestdoi/286220365) using the following BibTeX entry:

```bib
@software{riebesell_tikz_2020,
title = {Collection of standalone TikZ images},
author = {Riebesell, Janosh and Bringuier, Stefan},
date = {2020-08-09},
year = {2020},
doi = {10.5281/zenodo.7486911},
url = {https://github.com/janosh/tikz},
note = {10.5281/zenodo.7486911 - https://github.com/janosh/tikz},
version = {0.1.0},
urldate = {2023-01-01}, % optional, replace with your date of access
}
```