LaTeX-Datei in mehrere Dateien aufteilen

Abschlussarbeiten oder Publikationen können oft viel Text enthalten. Große LaTeX-Dateien werden allerdings sehr schnell unübersichtlich. Daher kann man z.B. Kapitel, Deckblätter, Glossare,… in eigene Dateien auslagern. Diese Dateien werden dann in einer Haupt-Datei wieder zusammengeführt, indem man sie mit dem Befehl \input() einbindet. Im Vergleich zu include() kann input():

  • innerhalb der Präambel verwendet werden (z.B. für ein Glossar)
  • innerhalb einer mit input() eingefügten Datei verwendet werden (Verschachtelung)
  • verwendet werden, ohne das zwingend ein Zeilenumbruch erfolgt

(siehe dazu auch: Vergleich von input und include).

Angenommen die Abschlussarbeit befindet sich in der Datei arbeit.tex. Diese könnte z.B. folgenden Inhalt haben:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
\documentclass[12pt,twoside]{article}
 
\title{Meine Abschlussarbeit}
\author{Max Mustermann}
\date{\today}
 
\begin{document}
 
\maketitle
\tableofcontents{}
 
\input{einleitung}    % binde die Datei einleitung.tex ein
\input{methoden}      % binde die Datei methoden.tex ein
% ... (weitere Dateien Einbinden)
 
\end{document}

In diesem Falle muss es zwei weitere Dateien geben: einleitung.tex und methoden.tex.
Diese beiden Dateien entahlten die Inhalte, die mit Hilfe der Datei arbeit.tex zusammengefügt werden.
In der Datei einleitung.tex könnte Folgendes stehen:

1
2
3
% !TEX root = arbeit.tex
\section{Einleitung}
Einführung in die Thematik dieser Arbeit.

In der Datei methoden.tex könnte z.B. folgender Inhalt stehen:

1
2
3
% !TEX root = arbeit.tex
\section{Methoden}
Verwendete Methoden.

Die einzelnen Dateien für die Sections haben dabei keine eigene Präambel und kein eigenes \begin{document}. Arbeitet man also an einer dieser Dateien und startet aus seinem Editor heraus latex/pdflatex für diese Datei, bekommt man in der Regel eine Fehlermeldung:

! LaTeX Error: Missing \begin{document}.

Daher sollte man zu Beginn jeder Datei die Zeile % !TEX root = arbeit.tex hinzufügen. Diese Zeile teilt LaTeX mit, welches die Haupt-Datei (root = Wurzel) der Arbeit ist. Im Anschluss verwendet LaTeX anstatt der aktuellen Datei immer die Haupt-Datei (hier: arbeit.tex) zum setzen und nicht die aktuell bearbeitete Datei.
Siehe dazu auch codepills.