2010-07-14 8 views
8

Ich habe ziemlich großes Latex Dokument mit vielen TikZ Figuren drin. Ich habe die Angewohnheit einer häufigen Neukompilierung und es dauert ewig, sie mit pdflatex zu kompilieren. Zahlen in TikZ nehmen die meiste Zeit.Latex, TikZ und separate Zusammenstellung von Kapiteln und Figuren

Meine Frage ist, was ist der beste Weg, das Dokument in separate tex-Dateien (Abbildungen/Kapitel) zu trennen, um separate Zusammenstellung von Zahlen und Kapiteln, separate Kapitel pdfs und eine ganze Dokument pdf-Datei zu erreichen?

Antwort

6

Haben Sie versucht, jedes Bild einzeln zu kompilieren und dann in Ihre Tex-Datei als PDF und nicht als Tikz-Code aufzunehmen? Sie können das Paket eigenständig verwenden, so dass das Bild genau die Größe hat, die Sie benötigen. Also:

\documentclass{standalone} 

\usepackage{tikz,pgf} %and any other packages or tikzlibraries your picture needs 

\begin{document} 

\begin{tikzpicture} 

%your tikz code here 

\end{tikzpicture} 

\end{document} 

Das gute daran ist, dass Sie entweder schließen die Kompilierung dieses Dokument direkt als PDF-Figur zu bekommen in Ihrem Dokument enthalten, oder können Sie den Befehl \ input verwenden, um es in Ihrem Haupt enthalten Dokument als tikz Code von

\usepackage{standalone} 

in Ihrem Hauptdokument hinzugefügt (zusammen mit den tikz Pakete und Bibliotheken) und dann

\begin{figure} 
\input{tikzfile.tex} 
\end{figure} 
1

so wie ich dies in der Regel tun, ist Lat anzuwenden ex zu nur einem Teil der Datei: Emacs und einige andere Latex-Editoren ermöglichen Compiler-Regionen: mit Auctex können Sie TeX-Pin-Region ausführen, um das aktuelle Kapitel anzugeben, und dann TeX-Command-Region, um Latex auf dem ausgewählten auszuführen Region.

Der traditionelle Weg, dies zu tun ist geschnittene Teile der großen Datei in kleinere Teile, die \include d sind, und dann kommentieren Teile, die Sie nicht arbeiten möchten, oder stellen Sie einige Makros am Anfang und Ende von jede Datei, mit der sie separat kompiliert werden können.

2

Wie wäre es, jedes Kapitel in eine separate Datei zu setzen und dann \include zu verwenden, um sie in eine Master-Datei einzufügen? Dann können Sie \includeonly verwenden, um nur das Kapitel zu kompilieren, an dem Sie gerade arbeiten. Das sollte zumindest etwas Zeit sparen.

erwarte ich eine Art von Make-Datei-basierten Lösung wäre noch besser, als das, aber ich weiß nichts über Makefiles ...

5

Es gibt einen möglicherweise besseren Weg ist (imho) zu Cache tikz-Bildern. Fügen Sie die folgenden Zeilen in Ihrer Präambel:

\usetikzlibrary{external} 
\tikzexternalize[prefix=i/] 

Nach einem pdflatex-run Sie alle Bilder im Unterverzeichnis ./i sehen werden. Wenn Sie den Code eines Tikz-Bildes aktualisieren, werfen Sie einfach die entsprechende PDF-Datei weg und es wird neu generiert. Weitere Informationen finden Sie in der Anleitung von PFG/TikZ Abschnitt 32.4 Externalizing Graphics und möglicherweise 32.5 Verwendung von externen Grafiken ohne Pgf installiert.