Große Dokumente organisieren

Präambel auslagern:

<verbatim>\documentclass[<Optionen>]{<Klasse>} \input{preamble}% hier ist kein \include möglich! \begin{document} … \end{document} </verbatim>

Der Name für die Präambel-Datei kann frei gewählt werden, beispielsweise

<HTML> preamble.tex </HTML> !

Text auslagern mit \input:

Der Befehl

<HTML> \input{…} </HTML> kann an jeder beliebigen Stelle des Dokuments benutzt werden, um ausgelagerten Text einzulesen. Die ausgelagerte Datei kann wiederum eine <literal>\input</literal>-Anweisung enthalten, usw. <verbatim>\documentclass[<Optionen>]{<Klasse>} \input{preamble}% hier ist kein \include möglich! \begin{document} \input{Vorwort} … \begin{table} \centering \caption{…}\label{…} \input{Tabelle1} \end{table} … \input{Abschnitt1} … \end{document} </verbatim>

Text auslagern mit \include

Zwischen

<HTML> \input </HTML> und <literal>\include</literal>

bestehen wesentliche Unterschiede! * \input kann beliebig verschachtelt werden, \include aber nicht! * \include beginnt grundsätzlich eine neue Seite und erzeugt ein eigene Hilfsdatei (.aux), in der unter anderem alle Label und Referenzen aufgeführt werden. * \include-Dateien sind vorrangig für Kapitel empfehlenswert, da auch diese in der Regel mit einer neuen Seite beginnen. <verbatim>\documentclass[<Optionen>]{<book-Klasse>} \input{preamble}% hier ist kein \include möglich! \begin{document} \include{Vorwort} … \include{Kapitel-1} \include{Kapitel-2} … \include{Kapitel-n} … \end{document} </verbatim>

Interessant ist \include jedoch erst im Zusammenhang mit \includeonly{<Dateien>}. Durch \includeonly kann man bestimmte Dateien von einem erneuten Übersetzen ausschließen, womit insbesondere bei sehr großen Dokumenten mit Geschwindigkeitsvorteilen gerechnet werden kann.

\documentclass[<Optionen>]{<book-Klasse>}
\input{preamble}% hier ist kein \include möglich!
\includeonly{Vorwort,Kapitel-2}% nur Kapitel-2 einbinden!
\begin{document}
\include{Vorwort}
...
\include{Kapitel-1}
\include{Kapitel-2}
...
\include{Kapitel-n}
...
\end{document}

Wird dieses Dokument übersetzt, wird nur das Vorwort und Kapitel-2 übersetzt. Unter der Voraussetzung, dass das gesamte Dokument vorher bereits einmal komplett durchlaufen wurde, stimmen auch jetzt alle Seitenzahlen und Querverweise in Kapitel-2, auch wenn sich diese auf Marken in den anderen Dateien beziehen, die nichtberücksichtigt wurden. Dies ist möglich, da jede \include-Datei ihre eigene Hilfsdatei (aux-Datei) hat, in der die notwendigen Angaben über Seitenzahle, Label, Refenzen, u.a. stehen undausgewertet werden können.\includeonly muss in der Präambel stehen, kann selbst aber ohne weiteres \input-Befehle enthalten.

Wenn man \include trotz einer Dokumentenklasse ohne Kapitel nutzen möchte, um mit \includeonly arbeiten zu können, so kann man sein Dokument wie hier oben beschrieben normal mit \include und \includeonly setzen. Und wenn es fertig ist, wird das \include durch \input ersetzt, womot das \includeonly seine Wirkung verliert.

Mit dem Paket excludeonly steht der gleichnamige Befehl \excludeonly zur Verfügung, der in der Wirkungsweise analog zu \includeonly arbeitet, nur die Dateien ausschließt, die nicht berücksicht werden sollen.

– Main.HerbertVoss - 23 Sep 2009