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
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 drawing sublayouts fails".
	- Incorporated first partial documentation of the arrow tips
	  into the main documentation.
	- Fixed bug bugs:#272 "SVG parser error after close path" as
	  suggested by Mark Wibrow.
	- Also changed the default syntax for svg path command so that
	  it uses braces instead of quotation marks. (Quotation marks
	  still work, of course.)

2013-09-22 Till Tantau 

	- Started working on arrow doc.
2013-09-20 Mark Wibrow 

	- Added macro to convert string of digits to comma separated list.
2013-09-18 Till Tantau 

	- First version of new arrow tip management done. Up and
	  running! Still needs documentation and the old arrow tip
	  codes should (but need not) be ported.
	- Did some porting of old code, added fixes. Doc still missing.
2013-09-17 Till Tantau 

	- Fixed bug #264: "\pgfkeys /errors/unknown key should (?) expand first argument"
	- Fixed bug #268: "`matrix of nodes' isn't working properly any more"
2013-09-11 Mark Wibrow 

	- Corrected typos (bug #266 and bug #265)

2013-09-11 Mark Wibrow 

	- added magnetic tape shape.

2013-09-09 Till Tantau 

	- Fixed bug #262/267: "Line breaks are not working in labels anyy more."
	- Fixed bug #260: "TikZ node on background in pgfextra"
	- Started work on bending arrows.
2013-09-05 Christian Feuersaenger 

	- external lib: fixed bug: file dependency handling was incorrect and
	suffered from regression caused by MD5 checks

2013-08-31 Christian Feuersaenger 

	- repaired incompatibility with pgfplots <= 1.8: samples key was
	evaluated in context of floating point unit and new pgf code relied on dimension

2013-08-29 Till Tantau 

	- Added "turn" key.
2013-08-28 Till Tantau 

	- Added "angle" pic type and "angles" library.
	- Patched gd loader code so that it works with context mark IV.
2013-08-27 Till Tantau 

	- Added new pic path command.
	- Patched pgfsys-dvipdfmx.def to step around the bug in
	(x)dvipdfmx that caused scaled boxes (including scaled
	graphics) inside nodes to be displayed incorrectly.
2013-08-24 Christian Feuersaenger 
	- fixed bug in fpu: 0^0 and 0^x both produced nan. Now we get
	  0^0=1 and 0^x = 0.

2013-08-22 Till Tantau 

	- Removed claims from manual (not by me...) that TikZ does not
	  work with Mark IV of context. I just tried it and everything
	  I tried (including advanced stuff like shadings) worked fine.
2013-08-18 Mark Wibrow 

	- Fixed pgf intersection library to ensure that
	  specialround tokens are processed.

2013-08-06 Till Tantau 

	- Added support for dvisvgm. Quite nice...
2013-08-05 Till Tantau 

	- Worked on tex4ht code. Works reasonably well know and even
	  graph drawing is possible (when luatex is used for
	  typesetting; for this I needed to fix some latin1 characters in
	  html4.4ht). Also, I renamed /tikz/tex4ht... to /pgf/tex4ht
	  (someone else added that) since tikz has nothing to do with
	  that stuff. 
	  Typesetting the manual in tex4ht no longer works, but that seems
	  like too much bother for my taste. 

2013-08-02 Till Tantau 

	- Fixed bug #256 "The special \pgfcoordinate macro doesn't
	expand \pgfpictureid." 

2013-08-04 Christian Feuersaenger 
	- external lib: fixed incompatibility of pdflscape with
	external lib

2013-08-01 Till Tantau 

	- Fixed a problem with pdf resources of transparency groups in
2013-07-31 Till Tantau 

	- Fixed bug #149 "/tikz/raw gnuplot ignoring segmented plot"
	  by introducing a new way of handling plot streams. There are
	  now new kinds of points (outliers and undefined points) and
	  "new data sets" commands inside streams. Handlers (like the
	  lineto and curve handlers) can be configured to interpret
	  these as jumps (this is the default).  
	- Fixed bug #255 "Trig computations offend fp via fixedpointarithmetic lib"
2013-07-31 Mark Wibrow 
	- Added "math" library. Could be integrated with calc library.
2013-07-26 Christian Feuersaenger 

	- Fixed bug in external lib: mode=list and make did not cope well with
	\ref in externalized images. These will be remade now.

2013-07-24 Till Tantau 

	- Fixed bug #162 "PGF manual examples use undefined "shape example" style"
	- Fixed bug #169 "ghostscript error: /undefined in pgfo"
	- Concerning bug #167 "node pin option sets
	  inconsistent/incorrect angle" I added some clarification in
	  the manual that explains the observed behaviour.
	- Fixed bug #158 "\pgfmathparse does not support e-TeXs
	  \numexpr and \dimexpr". You can now also use
	  \pgfmathsetlength to assign a muskip a value. Internally,
	  "mu" is treated like "pt", but if an expression contains
	  "mu", \pgfmathsetlength and \pgfmathaddtolength will convert
	  the number to "mu" before the assignment.
2013-07-22 Till Tantau 

	- Fixed bug #173 "Tikz's transparency, xelatex and preview
	  package" by adding a specific fix for the interaction
	  between preview.sty and everyshi.sty in pgfutil-latex.def.

2013-07-19 Christian Feuersaenger 
	- optimized mark=* and mark=o (q path versions lead to 10% time reduction)
	- adopted new pgfkeys feature to /handler config/full or existing (
	  required when /.search also is used to find the correct key path)

2013-07-19 Till Tantau 

	- Fixed bug #175 "In PGF oo module, calling a method strips grouping"
	- Fixed bug #181 "Need to document |- coordinates using calc notation"
	- Fixed bug #187 "\pgfmathanglebetweenpoints is not documented"
	- Increased accuracy of atan, atan2 and

2013-07-18 Till Tantau 

	- Fixed bug "#168 PGF is sensitive to dollar catcode"
	- Fixed bug "#186 pgfonlayer makes pgf forget options" and
	  added "every on background layer" option.
	- Fixed bug "#192 pgffor scope iteration is buggy"
	- Fixed bug "#196 Incoherent syntax for B├ęzier curves"
	- Fixed bug "#199 Drawing error for chamfered rectangle"
	- Fixed bug "#201 Markings fail with "Dimension too Large" on
	  certain paths" by fixing a mistake and the decoration core
	  and, additionally, in pgfmathanglebetweenpoints.
	- Fixed bug "#254 building currenct CVS version fails on
	  graphdrawing with current luatex": Will now work nicely with
	  TeXLive 2013 and Lua 5.2.
	- Added feature request "bug #203 Blending modes and better transparency"
2013-07-17 Till Tantau 
	- Fixed b