Mittwoch, 11. November 2009

Die Externalization Library von TikZ

PGF/TikZ ist eine Packagekombination für Latex mit der man mit vertretbarem Auffand hoch-qualitative Grafiken erstellen kann. Leider steigt mit wachsender Anzahl an TikZ-Grafiken und mit wachsender Komplexität der Grafiken, die Kompiliertzeit eines Latex-Dokuments spürbar an. Da einmal fertiggestellte Grafiken nicht immer wieder neu geparsed werden brächten, gibt es seit langem in PGF die Möglichkeit Grafiken extern als PDF zu speichern, sodass beim zweiten Kompilieren nur noch das gespeicherte PDF eingebunden werden muss. Dies spart je nach Komplexität und Anzahl der Grafiken mehr oder minder viel Zeit beim Erstellen der PDF-Datei.

Bislang musste man, um in den Genuss dieses Features zu kommen, auf den PGF-Layer von TikZ zurückgreifen. Desweiteren musste jedes Grafik durch einen separaten Aufruf von PDFLatex erstellt werden. Hier schafft die neue Externalization (external) Library von TikZ abhilfe. Diese Sucht selbstständig nach TikZ-Abbildungen und speichert diese als PDF-Datei. Wenn schon eine PDF-Datei vorhanden ist, so wird das Bild nicht neu erstellt, sondern die PDF eingebunden. Zur Veranschaulichung hier ein Beispiel aus dem TikZ-Manual:

\documentclass{article}

% main document, called main.tex
\usepackage{tikz}
\usetikzlibrary{external}

% provide the file's real name
\tikzexternalize{main}

\begin{document}

% will be written to 'main-figure0.pdf'

\begin{tikzpicture}
  \node {root}
    child {node {left}}
    child {node {right}
      child {node {child}}
      child {node {child}}
    };
\end{tikzpicture}

% will be written to 'main-figure1.pdf'
\begin{tikzpicture}
  \draw (0,0) -- (5,5);
\end{tikzpicture}

\end{document}

Bislang ist dieses Feature noch nicht in der Release-Version von TikZ enthalten. Um in den Genuss der Externalization Library zu kommen, solltet ihr euch also den aktuellen Nightly-Build von www.texample.net herunter laden und in euren texmf-Tree installieren.

Tom

Keine Kommentare: