How to install a current version of TikZ?

The tikz offical update cycle is rather slow. However, development goes on and the latest build can be found here (tikz builds). The build has to be installed manually, but comes in the correct tex-tree-structure already.

For Windows users who use MikTeX, it is advisable to create a local-tree to install packages which are not available in the MkTeX package browser.

  1. Download the latest build from the link above
  2. Create a new folder e.g C:\LocalTexFiles
  3. Copy the downloaded zip-file in this folder and unpack it You should now have two new folders in C:\LocalTexFiles, namely 'tex' and 'doc'
  4. Go to Start->Program Files->MikTeX2.x->Settings (Administrator)
  5. In the settings window click the Root tab, click Add and browse to C:\LocalTexFiles and select it, confirm by clicking OK
  6. MikTeX should now automatically execute texhash and the local tree is from now on the first to be searched by MikTeX
  7. If you want to confirm that the latest version is used, create a document with \usepackage{tikz} and add the \listfiles command before the \documentclass command. The log file will then show a file list with dates

Simple way: via SourceForge

The current CVS version of TikZ/PGF is now available on sourceforge.

The .tds.zip archive should be unpacked in the root directory of a TDS tree (like ~/texmf for example).

Complex way: create your own TDS archive from sourceforge source code via CVS

1. Get the current version from sourceforge via CVS

cvs -d:pserver:[email protected]:/cvsroot/pgf login
cvs -z3 -d:pserver:[email protected]:/cvsroot/pgf co -P pgf
  • first command request a password: you can type Enter (to use an empty password).
  • after using these two commands, you get a pgf subdirectory with latest files.

2. Create a script to compile pgfmanual and make the TDS archive

#!/bin/sh
# update from sourceforge via CVS
cd pgf; cvs update -d; cd ..
# compile pgfmanual via lualatex
cd pgf/doc/generic/pgf/version-for-luatex/en
LUAINPUTS=".:../../../../..//:" TEXINPUTS=".:../../../../..//:" make
LUAINPUTS=".:../../../../..//:" TEXINPUTS=".:../../../../..//:" make dist
LUAINPUTS=".:../../../../..//:" TEXINPUTS=".:../../../../..//:" make dist
cd ../../../../../..
# create TDS archive
make -f pgf/scripts/pgf/Makefile.pgf_release
cp pgf/doc/generic/pgf/ChangeLog pgf_CVS.ChangeLog

Put the above script in a file named make-distrib-lua.sh and change file mode bits to allow execution (chmod a+x make-distrib-lua.sh).

After these two steps, you have the make-distrib-lua.sh script and the pgf subdirectory in the same location.

3. Make your TDS archive

Launch the script above to compile pgfmanual and make your own TDS archive:

./make-distrib-lua.sh

This script:

  • updates pgf files with latest version.
  • compile the pgfmanual via lualatex.
  • make the TDS archive
  • copy the ChangeLog file

With a good computer, the complete operation takes about fifteen minutes and you get three files:

  1. pgf_CVS.tds.zip (the TDS archive)
  2. pgf_CVS.pdf (the pgfmanual)
  3. pgf_CVS.ChangeLog (the ChangeLog file)

Important: At each update, only the third step must be done !


Unless you want to use a development version of TikZ or are stuck with an old TeX distribution, do not manually install TikZ. Simply updating your TeX distribution should give you the newest stable release of TikZ, see How do I update my TeX distribution?

Of course, if you want to get a development version, follow the appropriate answer here.