PGF/TikZ on pgf at Fast, secure and Free Open Source software downloads

TikZ/PGF - Graphic systems for TeX

PGF is a TeX macro package for generating graphics. It is platform- and format-independent and works together with the most important TeX backend drivers, including pdftex and dvips. It comes with a user-friedly syntax layer called TikZ.

This page provides unstable builds for experts. Please refer to the sourceforge project site to retrieve information, stable downloads, and bug trackers.

Unstable Builds

We provide unstable builds here. They contain the most recent features, including those which are not ready for testing.

Installation instructions can be found in the manual (pdf). There is no warranty.


Unstable TDS release (
Unstable TDS release PGF Manual (.pdf)
Unstable TDS ChangeLog
2015-08-03 Christian Feuersaenger 

	- fixed regression introduced for pgf 3.0.0 (bug #149): leading empty
	lines at the beginning of plot files disabled '-- plot'
	- fixed bug #291 (missing white space trimming in node labels)
	- fixed bug #313 (alias option did not respect name prefix/suffix)
	- fixed bug #341 ("is in pic" was not reset)
	- fixed bug #365 (caused by missing adoption after copy-paste in tikzlibraryfolding)
	- fixed bug #315/316 by applying the suggested patch and verifying it

2015-06-12 Christian Feuersaenger 

	- fixed fpu math functions for int, ceil, and floor
	- added \pgfmathlogtwo and \pgfmathlogten as requested in bug #359

2015-06-06 Till Tantau 

	- Fixed problem in gd: Creating more than about 15 vertices
	inside a graph drawing algorithm was impossible since this
	created too many text input levels. Reorganized the interplay
	between tex and lua for the coroutine so that no input levels
	are created.

2015-06-05 Till Tantau 

	- Added number nodes option to graph lib.
2015-05-18 Till Tantau 

	- Fixed nullfont warnings in axes in datavisualization.
	- Fixed wrong axes for school book plots.

2015-05-15 Mark Wibrow 
	- Fixed nullfont warnings when parsing logic gate inputs.

2015-05-08 Till Tantau 

	- Fixed bug in tikz.code.tex concerning colors for arrow tips:
	Setting and restoring the global color "trackers"
	pgf@fillcolor@global over groups was done only in \pgfscope,
	but not in the scopes opened and closed by tikz when drawing a
	path (\pgfsys@beginscope is used there). This caused wrong
	colors to be used. 

2015-05-08 Mark Wibrow 
	- Updated patterns.meta library.

2015-05-02 Christian Feuersaenger 

	- context: committed patch to adopt pgfutil-context for new (incompatible)
	context handling of colors -- contains some cleanup by Hans Hagen.

2015-03-28 Christian Feuersaenger 

	- fixed bug in external lib: braces in external filenames confused the generator

2015-01-02 Christian Feuersaenger 

	- fixed bug in fpu: equal(x, 0) failed for x<0

2014-12-30 Christian Feuersaenger 

	- fixed bug in atan2 (returned wrong sign for atan2(4e-5,-5))
	- implemented atan2 in FPU

2014-11-02 Christian Feuersaenger 

	- fixed save stack issue (TeX capacity exceeded, sorry [save size=250000])
	if the color changes a _huge_ number of times during a single path.

2014-10-11 Christian Feuersaenger 

	- worked on LUA math parser: ensured that a suitable first scope of
	functions works. I also added support for 'declare function'

2014-10-11 Mark Wibrow 
	- Added provisional code for patterns.meta library. Patterns
        can now be declared using TikZ code with additional support
        for tile transformations. Currently only PDF output supported
	at back-end (uses \pgfsys@declarepattern@meta in pgfsys-pdftex.def).

2014-08-04 Christian Feuersaenger 

	- finished first prototype of a LUA math parser. It is orders of magnitude
	faster than its TeX pendant, features a pure LUA mode and also offers a
	fallback to the TeX \pgfmathparse for unsupported operations/functions
	only defined in TeX.

2014-07-09 Christian Feuersaenger 

	- fixed bug (regression of bug #229): external lib with dvips produced
	wrong bounding box (was broken entirely)

2014-07-08 Christian Feuersaenger 

	- fixed regression in external lib: 'mode=graphics if exists' broke any
	undefined label warnigns
	- added automatic "fast lane" to math parser: if the input is a number
	without units, it will return that as-is. Reduces typesetting time down to
	66% for huge scatter plots and has just 1% overhead for math intensive

2014-06-22 Christian Feuersaenger 

	- added switch 'trig format=deg|rad' which allows to switch sin,cos,tan,
	and their friends to radians. It works for all user input
	arguments - I hope without unanticipated side-effects (marked as

2014-05-17 Christian Feuersaenger 

	- external lib: defined suitable defaults for 'system call' depending on driver
	- external lib: solved incompatibility with biblatex's \cite[][]{name}
	command	(}
	- number parser/printer: added switch 'read comma as period' to read
	localized input numbers. Off by default but added useful hint to parser

2014-05-06 Christian Feuersaenger 

	- Fixed bug #308 fixedpointarithmetic: unwanted spaces by line ends 

2014-03-30 Christian Feuersaenger 

	- Fixed feature #81: signum function (fpu + pgf basic layer)

2014-03-24 Till Tantau 

	- Fixed all \begin{scope} and \end{scope} in foldings lib,
	changed them to \scope and \endscope.

2014-03-21 Till Tantau 

	- Fixed #303 Type in pgfmanual (colormixin)
	- Fixed #302 pgf-3.0: Cannot plot a constant function. Will
	now center the constant line.
	- Addressed #299 Precision problem with explicitily anchored
	labels: While not a bug, I added a "centered" option for cases
	similar to this one (although, in this particular case, the
	new centered option is not what is needed)...
	- Fixed #298 \pgfarrowsdeclare is still mentioned in pgfmanual
	- Fixed #294 Nodes for arcs, which angles are calculated
	- Fixed #292 "node scale and outer sep" by introducing the new
	option "outer sep=auto", which takes care of both this problem
	(at least in all normal cases) and also of the draw versus
	fill problem with outer seps.
2014-03-20 Till Tantau 

	- Fixed #285 \tikz@intersect@namedpaths persists outside
	scopes as suggested.
	- Fixed #284 Additional rerun statement for overlays (for LyX)
	by adding the proposed solution (essentially).
	- Added post-fix for #288 by undoing all -- ligatures in
	verbatim code. 

2014-03-19 Till Tantau 

	- Fxied #283 "Is there a smarter way to handle units in math
	engine?" by adding the "scalar" function.
	- Fixed #288 "All the '£' should be '$' in the examples of
	pgfmanual..." by switching to T1 enconding.
	- Fixed #282 "\pgfmathredeclarefunction does not work properly."
2014-02-24 Till Tantau 

	- Added first edge routing algorithm to gd.
2014-02-02 Christian Feuersaenger 
	- intersections libs: improved robustness and accuracy for curveto paths
	by using the floating point library together with Mark Wibrow. 

2014-01-08 Christian Feuersaenger 

	- fixed bug in latex/plain tex shipout routines for xdvipdfmx and xelatex:
	combination of shadings	and standalone package failed to work.

2013-12-31 Mark Wibrow 

	- Fix for 'rotate around x/y/z' keys which now evaluate
	  the argument provided.
2013-12-25 Christian Feuersaenger 

	- intersections lib: detected duplicates in line-to intersections
	in endpoints and suppressed them.
	- intersections lib: stored time offset for each intersections as optional
	property (i.e. if it comes for free). This is required to compute fill

2013-12-20 Till Tantau 

	- Release 3.0.0!	

2013-12-20 Till Tantau 

	- In preparation for the release 3.0.0, I pimped the manual a
	  bit. It will now automatically detect whether graph drawing
	  C libs are available or not. Also, syntax hilighting is now
	  always switched on. I also some subtle optical hints to
	  crossreferenced words in the code examples; this is pretty
	  useful, I think. 
	- Did a lot of cleaning up for the release.
2013-12-18 Till Tantau 

	- Fixed a bug in Vertex.lua that returned wrong anchor
	  positions for non-centered vertices.
2013-12-13 Till Tantau 

	- Fixed bug #280 "Layered layout" produces unknown key with graphs library.
	- Fixed bug #279 "Some parts of arguments in foreach macro are lost".
	- Fixed bug #258 "Default arrow edge style puts circumflex in
	  drawn end node" by now allowing people to say tip=on proper draw.
2013-12-08 Christian Feuersaenger 

	- intersections lib: ensured that 'name path global' is reset between main paths.

2013-11-30 Christian Feuersaenger 

	- worked on intersections lib (internals only); added O(N) list
	append/prepend utilities

2013-11-18 Mark Wibrow 

	- Added keys 'rotate around x', 'rotate around y' and
	'rotate around z' to rotate the xyz coordinate system
	around the x, y, or z axis.
2013-11-17 Mark Wibrow 

	- Fixes for 'text effects along path' decoration and docs.

2013-11-16 Christian Feuersaenger 

	- external lib: added support for 'up to date check=md5' for lualatex.
	  Now, lualatex and pdftex both result in the same checksums (by means of

2013-11-16 Mark Wibrow 

	- Finalised 'text effects along path' decoration and docs.
2013-11-11 Mark Wibrow 

	- Changed keyval example (and references to define@key) 
	  in pgfcalendar documentation to pgfkeys stuff.

2013-11-08 Mark Wibrow 

	- Minor fixes to decorations.text and math libraries documentation
2013-11-07 Mark Wibrow 

	- Added 'text effects along path' decoration. 

2013-11-01 Christian Feuersaenger 

	- Fixed regression/bug in 'name path global'.

2013-10-31 Till Tantau 
	- Applied path for bug #277 "\beforeforegroundpath not working".
2013-10-09 Till Tantau 

	- Prepared manual for new release (fixed overful boxes and
	  index problems).
2013-10-08 Mark Wibrow 

	- Updated math library (minor fixes).

2013-10-07 Till Tantau 
	- Applied some fixes so that C code for graph drawing works
	  once more.
	- Arrow tips and their doc are now officially finished!
	- Added documentation of nonlinear transformations. 
2013-10-06 Christian Feuersaenger 

	- modified release script to allow uploads of unstable TDS
	  zips to using
	  make -f pgf/scripts/pgf/Makefile.pgf_release upload USER=cfeuersaenger

2013-10-02 Mark Wibrow 

	- Fixed problem with math parser inserting extraneous
	  spaces when parsing \dimenexpr
2013-09-30 Till Tantau 

	- Changed blend mode syntax to standard pgf syntax (since PDF
	  and SVG do not agree on names...).
	- Added scale and slant options for arrow tips.
	- Added more generic arrow tips.
2013-09-24 Till Tantau 
	- First version of comlete arrow documentation finished. Still
	  need to document the arrows.meta library, though.
	- Added "tips" option for drawing arrow tips without drawing
2013-09-23 Till Tantau 
	- Fixed bug #273 "Graph draw