PGF/TikZ
Script error: No such module "Infobox".Template:Template other Script error: No such module "Check for unknown parameters".Script error: No such module "Check for conflicting parameters".
PGF/TikZ is a pair of languages for producing vector graphics (e.g., technical illustrations and drawings) from a geometric/algebraic description, with standard features including the drawing of points, lines, arrows, paths, circles, ellipses and polygons. PGF is a lower-level language, while TikZ is a set of higher-level macros that use PGF. The top-level PGF and TikZ commands are invoked as TeX macros, but in contrast with PSTricks, the PGF/TikZ graphics themselves are described in a language that resembles MetaPost. Till Tantau is the designer of the PGF and TikZ languages. He is also the main developer of the only known interpreter for PGF and TikZ, which is written in TeX. PGF is an acronym for "Portable Graphics Format". TikZ was introduced in version 0.95 of PGF, and it is a recursive acronym for "TikZ ist kein Zeichenprogramm" (German for "TikZ is not a drawing program").
Overview
The PGF/TikZ interpreter can be used from the popular LaTeX and ConTeXt macro packages, and also directly from the original TeX.[1]Template:Rp Since TeX itself is not concerned with graphics, the interpreter supports multiple TeX output backends: dvips, dvipdfm/dvipdfmx/xdvipdfmx, TeX4ht, and pdftex's internal PDF output driver.[1]Template:Rp Unlike PSTricks, PGF can thus directly produce either PostScript or PDF output, but it cannot use some of the more advanced PostScript programming features that PSTricks can use due to the "least common denominator" effect.[2] PGF/TikZ comes with an extensive documentation; the version 3.1.4a of the manual has over 1300 pages.[1]
The standard LaTeX picture environment can also be used as a front end for PGF by using the pgfpict2e package.[1]Template:Rp
The project has been under constant development since 2005.[3] Most of the development until 2018 was done by Till Tantau and since then Henri Menke has been the main contributor.[4] Version 3.0.0 was released on 20 December 2013.[5] One of the major new features of this version was graph drawing using the graphdrawing package, which however requires LuaTeX.[6] This version also added a new data visualization method and support for direct SVG output via the new dvisvgm driver.[5]
Export
Several graphical editors can produce output for PGF/TikZ, such as the KDE program Cirkuit[7] and the math drawing program GeoGebra.[8] Export to TikZ is also available as extensions for Inkscape,[9] Blender,[10] MATLAB,[11] matplotlib,[12] Gnuplot,[13] Julia,[14] and R.[15] The circuit-macros package[16] of m4 macros exports circuit diagrams to TikZ using the dpic -g command line option.[17] The dot2tex program can convert files in the DOT graph description language to PGF/TikZ.[18]
Libraries
TikZ features libraries for easy drawing of many kinds of diagrams, such as the following (alphabetized by library name):[1]
<templatestyles src="Div col/styles.css"/>
- 3D drawingTemplate:Snd
3d - Finite automata and Turing machinesTemplate:Snd
automata - Coordinate system calculationsTemplate:Snd
calc - CalendarsTemplate:Snd
calendar - Chains: nodes typically connected by edges and arranged in rows and columnsTemplate:Snd
chain - Logic circuit and electrical circuit diagramsTemplate:Snd
circuits.logicandcircuits.ee - Entity–relationship diagramsTemplate:Snd
er - Polygon folding diagramsTemplate:Snd
folding - Graph drawing with automatic layout optionsTemplate:Snd
graphdrawing - L-system drawingsTemplate:Snd
lindenmayersystems - Sequences of basic math operationsTemplate:Snd
math - MatricesTemplate:Snd
matrix - Mind mapsTemplate:Snd
mindmap - Three-point perspective drawingsTemplate:Snd
perspective - Petri netsTemplate:Snd
petri - Quantum circuitsTemplate:Snd
quantikz - RDF semantic annotations (only in SVG output)Template:Snd
rdf - Special shapes and symbolsTemplate:Snd
shapes.geometricandshapes.symbols - Magnification of part of a graphic in an insetTemplate:Snd
spy - Paths in SVG syntaxTemplate:Snd
svg.path - TreesTemplate:Snd
trees - Turtle graphicsTemplate:Snd
turtle - Zooming and panning graphicsTemplate:Snd
views
Gallery
The following images were created with TikZ and show some examples of the range of graphic types that can be produced. The link in each caption points to the source code for the image.
-
Rooty helix (library used:
calc) -
Hypersurface rendering (libraries used:
arrows,calc,decorations.markings,intersections,positioning) -
Bayesian Gaussian mixture model (libraries used:
arrows,backgrounds,calc,fit,matrix,patterns,plotmarks,shadows) -
Capacitor equivalent circuits (library used:
arrows) -
Gradient plot of a function (library used:
arrows.meta) -
Graph homomorphism into C5 (library used:
calc) -
Adjacencylist of a graph implemented as array of linked lists (libraries used:
arrows,calc,positioning,shapes.multipart)
See also
Script error: No such module "Portal".
References
<templatestyles src="Reflist/styles.css" />
- ↑ a b c d e Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1". See also the older GD 2012 presentation by Tantau.
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
Script error: No such module "Check for unknown parameters".
Further reading
<templatestyles src="Refbegin/styles.css" />
- Script error: No such module "citation/CS1". Conference talk video (version archived by archive.org; the previous site is unavailable) based on an earlier version of that paper.
- Script error: No such module "citation/CS1". Comparison of several graphics systems in LaTeX.
- Script error: No such module "citation/CS1". According to a 2011 review of the book in TUGboat: "It contains a detailed introduction to the TikZ suite—probably one of the best existing descriptions of this highly useful package."
External links
Template:Sister project Template:Sister project
Template:LaTeX navbox Template:TeX navbox Template:Mindmaps Template:Vector graphics markup languages