# Awesome TikZ

TikZ is a wonderful awesome graph drawing package for TeX/LaTeX/ConTeXt. Unlike other TeX packages, TikZ itself is really huge, its manual contains about 1100+ pages, 100+ chapters. Tens of other packages, and serveral GUI applications are based on TikZ.

This project contains a curated list of awesome TikZ documentations, libraries and resources.

## Contents

- Official Links
  - PGF/TikZ
  - PGFPlots
- Books
- Gallery
- Tools
- Libraries
- Community
- Videos

## Official Links

### PGF/TikZ

- SourceForge - Code, releases, support and bug reports.
- CTAN - Latest version release.

### PGFPlots

- SourceForge - Code, releases, support and bug reports.
- CTAN - Latest version release.

## Books

- PGF Manual - About 1200 pages, 300 of which contains the core concepts.
- PGFPlots Manual - About 560 pages.
- VisualTikZ - Visual help for TikZ based on images with minimum text.
- LaTeX/PGF/TikZ - A short tutorial from wikibooks.
- MinimalTikZ - A very minimal introduction to TikZ.

## Gallery

- TeXample - Gallery of wonderful examples made by TikZ.
- walmes/Tikz - Collection of TikZ art from Prof. Walmes M. Zeviani, contains about 200 TikZ figures, most of which were done to teach statistics.
- MartinThoma/LaTeX-examples - Contains about 350 TikZ examples from Martin. Thoma.
- Nice Scientific Pictures - Contains some really nice TikZ examples, together with pictures drawn by other TeX friends.
- Love heart with LaTeX - Contains lovely code to make a heart by LaTeX/TikZ.
- PetarV-/TikZ - A collection of publication-ready PGF/TikZ figures by Petar Veličković.
- alemelis/tikz_drawings - Source codes for illustration made in TikZ by Alessandro Melis for various publications.
- LatexDiagrams - This repo contains many diagrams generated for academic usage, including Algorithms-Data Structures, Artificial Intelligence, BlogDiagrams, DSP, Engineering Software Design, etc.
- tikz-network - A tool to visualize complex networks in LaTeX.

## Tools

- tikzedt - A combined WYSIWYG/text editor designed for editing Tikz code.
- ktikz - Provides a nice user interface for making pictures using TikZ.
- gratex - Visual graph creator for LaTeX (PGF & TikZ).
- itikz - Cell and line magic for PGF/TikZ-to-SVG rendering in Jupyter notebooks.
- matlab2tikz - Converts MATLAB®/Octave figures to TikZ/pgfplots figures.
- matplotlib2tikz - Convert matplotlib figure and spits out a TikZ/PGFplots figure.
- PlotNeuralNet - Latex code for making neural networks diagrams
- awesome-latex-drawing - Drawing Bayesian networks, graphical models, and technical frameworks in LaTeX.
- sane_tikz - Create TikZ figures with Python.
- quiver - A commutative diagram editor that exports to tikz-cd.

## Libraries

From CTAN:

- aobs-tikz - TikZ styles for creating overlaid pictures in beamer.
- battleship - A style file for typesetting Battleship logic puzzles.
- binarytree - Drawing binary trees using TikZ.
- blochsphere - Draw pseudo-3D diagrams of Bloch spheres.
- bloques - Generate control diagrams.
- blox - Draw block diagrams, using TikZ.
- bodegraph - Draw Bode, Nyquist and Black plots with gnuplot and TikZ.
- braids - Draw braid diagrams with PGF/TikZ.
- celtic - A TikZ library for drawing celtic knots.
- circuitikz - Draw electrical networks with TikZ.
- fast-diagram - Easy generation of FAST diagrams.
- flowchart - Shapes for drawing flowcharts, using TikZ.
- forest - Drawing (linguistic) trees.
- grafcet - Draw Grafcet/SFC with TikZ.
- graph35 – Draw keys and screen items of several Casio calculators.
- harveyballs - Create Harvey Balls using TikZ.
- hf-tikz - A simple way to highlight formulas and formula parts.
- hobby - An implementation of Hobby’s algorithm for PGF/TikZ.
- karnaugh-map - LATEX package for drawing karnaugh maps with up to 6 variables.
- karnaughmap - Typeset Karnaugh maps.
- logicpuzzle - Typeset (grid-based) logic puzzles.
- makeshape - Declare new PGF shapes.
- neuralnetwork - Graph-drawing for neural networks.
- pixelart - A package to draw pixel-art pictures.
- pgf-blur - PGF/TikZ package for “blurred” shadows.
- pgf-pie - Draw pie charts, using PGF.
- pgf-soroban - Create images of the soroban using TikZ/PGF.
- pgf-spectra - Draw continuous or discrete spectra using PGF/TikZ.
- pgf-umlcd - Some LATEX macros for UML Class Diagrams.
- pgf-umlsd - Draw UML Sequence Diagrams.
- pgfgantt - Draw Gantt charts with TikZ.
- pgfplots - Loads, rounds, formats and postprocesses numerical tables.
- prooftrees - Forest-based proof trees (symbolic logic).
- pxpgfmark - e-pTEX driver for PGF inter-picture connections.
- reotex - Draw Reo Channels and Circuits.
- rulercompass - A TikZ library for straight-edge and compass diagrams.
- sa-tikz - TikZ library to draw switching architectures.
- schemabloc - Draw block diagrams, using TikZ.
- scsnowman - Snowman variants using TikZ.
- setdeck - Typeset cards for Set.
- smartdiagram - Generate diagrams from lists.
- spath3 - Manipulate “soft paths” in PGF.
- stanli - TikZ Library for Structural Analysis.
- ticollege - Graphical representation of keys on a standard scientific calculator.
- tikz-3dplot - Coordinate transformation styles for 3d plotting in TikZ.
- tikz-bayesnet - Draw Bayesian networks, graphical models and directed factor graphs.
- tikz-cd - Create commutative diagrams with TikZ.
- tikz-dependency - A library for drawing dependency graphs.
- tikz-dimline - Technical dimension lines using PGF/TikZ.
- tikz-feynman - Feynman diagrams with TikZ.
- tikz-inet - Draw interaction nets with TikZ.
- tikz-opm - Typeset OPM diagrams.
- tikz-optics - A library for drawing optical setups with TikZ.
- tikz-page - Small macro to help building nice and complex layout materials.
- tikz-palattice - Draw particle accelerator lattices with TikZ.
- tikz-qtree - Use existing qtree syntax for trees in TikZ.
- tikz-timing - Easy generation of timing diagrams as TikZ pictures.
- tikzinclude - Import TikZ images from colletions.
- tikzmark - Use TikZ’s method of remembering a position on a page.
- tikzorbital - Atomic and molecular orbitals using TikZ.
- tikzpagenodes - A single TikZ node for the whole page.
- tikzpeople - Draw people-shaped nodes in TikZ.
- tikzpfeile - Draw arrows using PGF/TikZ.
- tikzposter - Create scientific posters using TikZ.
- tikzscale - Resize pictures while respecting text size.
- tikzsymbols - Some symbols created using TikZ.
- timing-diagrams - Draw timing diagrams.
- tipfr - Produces calculator’s keys with the help of TikZ.
- tkz-berge - Macros for drawing graphs of graph theory.
- tkz-orm - Create Object-Role Model (ORM) diagrams.
- xebaposter - Create beautiful scientific Persian/Latin posters using TikZ.

## Videos

- A TikZ tutorial: Generating graphics in the spirit of TeX
- Creating Flowcharts with TikZ (LaTeX)
- Creating Circuit Diagrams for LaTeX Documents Using Circuitikz
- Creating Mind Maps Using TikZ
- Graphics with PGF and TikZ

## Community

- StackExchange
- pgf-users - A friendly and relatively active mailing list.

## License