> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/latex/de/dokumentstruktur/08-multi-file-latex-projects.md).

# LaTeX-Projekte mit mehreren Dateien

## Einführung

In [großen LaTeX-Dokumenten](/latex/de/dokumentstruktur/07-management-in-a-large-project.md) hat man normalerweise mehrere `.tex` Dateien, eine für jedes Kapitel oder jeden Abschnitt, und dann werden sie zusammengeführt, um eine einzige Ausgabe zu erzeugen. Das hilft, alles organisiert zu halten und erleichtert das Debuggen des Dokuments, aber je größer das Dokument wird, desto länger dauert die Kompilierung. Das kann frustrierend sein, da man normalerweise jedes Mal nur an einer bestimmten Datei arbeiten möchte.

Der naheliegende Ansatz, dies zu umgehen, besteht darin, jede Datei separat zu kompilieren. Es gibt zwei Hauptpakete, die das Kompilieren einzelner Dateien in einem Multi-Datei-Projekt ermöglichen. Die Wahl hängt davon ab, was Sie benötigen.

* Mit [dem **subfiles** Paket](#the-subfiles-package) können Sie jede Unterdatei unabhängig kompilieren und jede Unterdatei verwendet automatisch die Präambel in der Hauptdatei.
* Mit [dem **standalone** Paket](#the-standalone-package) Jede Unterdatei arbeitet als eigenständige Datei; Unterdateien können später in einem Hauptdokument zusammengeführt werden, das die Präambeln aus jeder von ihnen übernimmt. Besonders nützlich, wenn Sie dieselbe Datei in mehr als einem Dokument wiederverwenden müssen; ein TikZ-Bild ist dafür ein gutes Beispiel.

## Hinweise zu \documentclass in Overleaf-.tex-Dateien

Wie im folgenden Videoclip gezeigt, selbst wenn Sie die Haupt `.tex` datei festgelegt haben, können Sie eine andere Datei zum Kompilieren auswählen – vorausgesetzt, sie enthält eine `\documentclass` Deklaration. Um jedoch sicherzustellen, dass alle Elemente Ihres Projekts korrekt kompiliert werden – etwa Glossare, Zugriffe auf Pfade zu `.bib` Dateien usw. – empfehlen wir dringend, nur Dateien zu kompilieren, die sich im Stammverzeichnis Ihres Projekts befinden.

{% embed url="<https://videos.ctfassets.net/nrgyaltdicpt/U2nGfRx9NwNGX0vWXNebP/1ca4b9a4b2f36d5ca9c0dbaa87f44bfa/maincompile.mp4>" %}

## Das subfiles-Paket

Dieses Paket eignet sich für die meisten Situationen; es ist wirklich einfach zu verwenden.

Die Beispiele in diesem Abschnitt haben die folgende hierarchische Dateistruktur:

![CompileSubfilesEx1OverleafV2.png](/files/742cc62d516fcdf3f5f6a6ba1e001ee6d82fb180)

### Die Hauptdatei

In der Hauptdatei werden zwei spezielle Befehle benötigt.

```latex
\documentclass{article}
\usepackage{graphicx}
\graphicspath{{images/}}

\usepackage{blindtext}

\usepackage{subfiles} % Am besten zuletzt in der Präambel laden

\title{Beispiel für das Subfiles-Paket}
\author{Overleaf}
\date{ }

\begin{document}

\maketitle

\section{Einleitung}

\subfile{sections/introduction}

\section{Zweiter Abschnitt}

\subfile{sections/section2}

\end{document}
```

![CompileSubfilesEx1aOverleafV2.png](/files/25b3220af09fd18e90c639e066460c144cd20b21)

Für die dateiweise Kompilierung ist die Zeile

```latex
\usepackage{subfiles}
```

in der Präambel erforderlich; dadurch wird das `subfiles` Paket aktiviert. Dann muss jede externe Unterdatei mit dem Befehl importiert werden `\subfile{}`. Im Beispiel werden die Dateien `introduction.tex` und `section2.tex` aus dem Hauptdatei- `sections` Ordner in die Hauptdatei importiert. Beachten Sie, dass die Dateiendung nicht zwingend erforderlich ist.

[Öffnen Sie ein `subfiles` Paketbeispiel in Overleaf](https://www.overleaf.com/project/new/template/19626?id=66392908\&templateName=Subfiles+package+example\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

### Die Unterdateien

Sobald Sie Ihre Hauptdatei eingerichtet haben, muss jede Unterdatei eine spezielle Struktur haben.

```latex
\documentclass[../main.tex]{subfiles}
\graphicspath{{\subfix{../images/}}}
\begin{document}
\textbf{Hallo Welt!}
\begin{figure}[bh]
\centering
\includegraphics[width=3cm]{overleaf-logo}

\label{fig:img1}
\caption{Overleaf-Logo}
\end{figure}

Hallo, hier ist etwas Text ohne Bedeutung...

\end{document}
```

![CompileSubfilesEx2OverleafV2.png](/files/4250d712b846e9968ff9820192105203b23ade9c)

Jetzt kann diese Datei als eigenständige Datei kompiliert werden; die Dokumentklasse und der Rest der Präambel sind dieselben wie im Hauptdokument festgelegt.

Der erste Befehl hier ist

```latex
\documentclass[../main.tex]{subfiles}
```

der Parameter in den Klammern, `../main.tex`, ist der relative Pfad zum Hauptdokument. In diesem Fall ist die Datei `introduction.tex` im Ordner enthalten `sections`, daher ist die Datei `main.tex` eine Ebene über dem aktuellen Ordner (das bedeutet `../` ).

Sie müssen außerdem den `\subfix` Befehl mit dem relativen Ordnerpfad verwenden, wenn Sie `\graphicspath` in `introduction.tex`:

```latex
\graphicspath{{\subfix{../images/}}}
```

Dann wird der eigentliche Inhalt in `\begin{document}` und `\end{document}`. Alles außerhalb dieser Umgebung wird ignoriert oder genauer gesagt als Teil der Präambel betrachtet. Vermeiden Sie Leerzeilen am Anfang und Ende der Datei.

[Öffnen Sie ein `subfiles` Paketbeispiel in Overleaf](https://www.overleaf.com/project/new/template/19626?id=66392908\&templateName=Subfiles+package+example\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Das standalone-Paket

Das Paket **standalone** bietet dieselbe Funktionalität wie **subfiles** und ist flexibler, aber die Syntax ist komplexer und fehleranfälliger. Der Hauptunterschied besteht darin, dass jede Unterdatei ihre eigene Präambel hat.

Die Beispiele in diesem Abschnitt haben die folgende hierarchische Dateistruktur:

![CompileSubfilesEx3OverleafV2.png](/files/a07ef666552c7c4ce17ff67e41dd365f7f9c89eb)

### Die Hauptdatei

Die Hauptdatei ist der eines anderen Projekts mit mehreren Dateien sehr ähnlich.

```latex
\documentclass{article}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}

\title{Beispiel für das Standalone-Paket}
\author{Overleaf}
\date{Mai 2021}

\begin{document}

\maketitle

\section{Erster Abschnitt}
\import{sections/}{introduction}

\section{Zweiter Abschnitt}
\import{sections/}{section2}

\end{document}
```

![CompileSubfilesEx3Overleaf.png](/files/e6dde81fab7e86af4732f28281baf2fcc93a5ee0)

Die Zeile

```latex
\usepackage[subpreambles=true]{standalone}
```

aktiviert das **standalone** Paket; es sollte früh im Dokument platziert werden. Der Parameter in den eckigen Klammern weist LaTeX an, die Präambel aus jeder Unterdatei zu importieren (Pakete werden nur einmal importiert). Wenn er weggelassen wird, stellen Sie sicher, dass Sie alle notwendigen Befehle in der Präambel des Hauptdokuments haben, damit die Unterdateien funktionieren. Man muss wegen möglicher Inkompatibilitäten zwischen den verschiedenen Präambeln vorsichtig sein.

Im Hauptteil des Hauptdokuments wird jede Unterdatei mit `\import{}{}`. Der Standard `\input{}` Befehl kann ebenfalls verwendet werden, aber der in diesem Beispiel wird empfohlen, um [große Projekte zu verwalten](/latex/de/dokumentstruktur/07-management-in-a-large-project.md) weil er Fehler in verschachtelten Dateien verhindert.

[Öffnen Sie ein Beispiel für das `standalone` Paket in Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

### Die Unterdateien

Jede Unterdatei muss ihre eigene Präambel haben und alle Pakete importieren, die nötig sind, um als eigenständiges Dokument zu funktionieren.

```latex
\documentclass[class=article, crop=false]{standalone}
\usepackage[subpreambles=true]{standalone}
\usepackage{import}
\usepackage{blindtext}

\begin{document}
Unterhalb dieser Zeile wird eine TikZ-Grafik gerendert

\begin{figure}[ht]
\centering
\subimport{../}{diagram.tex}
\label{fig:tikzexample}
\caption{Ein schönes einfaches Diagramm}
\end{figure}

\blindtext
\end{document}
```

![CompileSubfilesEx4OverleafV2.png](/files/02e9d3cc2e990d4784ae14688b775d4ad9086d72)

Die erste Zeile in der Unterdatei ist

```latex
\documentclass[class=article, crop=false]{standalone}
```

Dies erklärt, dass dies eine Datei ist, die mit dem **standalone** Paket verwendet werden soll; in den eckigen Klammern gibt es zwei optionale Parameter.

* `class=article`. Legt `article` als zugrunde liegende Klasse fest; jede andere Klasse kann verwendet werden: book, report usw. (außer beamer).
* `crop=false`. Wenn diese Option weggelassen wird, wird die Ausgabe auf ein Minimum zugeschnitten.

Der nächste Befehl ist nicht zwingend erforderlich

```latex
\usepackage[subpreambles=true]{standalone}
```

muss aber in diesem Beispiel verwendet werden, weil es eine verschachtelte **standalone** Datei hier gibt. Ein [TikZ-Bild](/latex/de/abbildungen-und-tabellen/05-tikz-package.md) wird eingefügt mit [`\subimport{../}{diagram.tex}`](/latex/de/dokumentstruktur/07-management-in-a-large-project.md#importing-files), Sie können den Inhalt der Datei "diagram.tex" unten sehen:

```latex
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}

\begin{tikzpicture}[
roundnode/.style={circle, draw=green!60, fill=green!5, very thick, minimum size=7mm},
squarednode/.style={rectangle, draw=red!60, fill=red!5, very thick, minimum size=5mm},
]
%Knoten
\node[squarednode]      (maintopic)                              {2};
\node[roundnode]        (uppercircle)       [above=of maintopic] {1};
\node[squarednode]      (rightsquare)       [right=of maintopic] {3};
\node[roundnode]        (lowercircle)       [below=of maintopic] {4};

%Linien
\draw[->] (uppercircle.south) -- (maintopic.north);
\draw[->] (maintopic.east) -- (rightsquare.west);
\draw[->] (rightsquare.south) .. controls +(down:7mm) and +(right:7mm) .. (lowercircle.east);

\end{tikzpicture}
\end{document}
```

[Öffnen Sie dieses Standalone-TikZ-Beispiel in Overleaf](https://www.overleaf.com/docs?engine=pdflatex\&snip_name=Standalone+TikZ+example\&snip=%5Cdocumentclass%7Bstandalone%7D%0A%5Cusepackage%7Btikz%7D%0A%5Cusetikzlibrary%7Bpositioning%7D%0A%5Cbegin%7Bdocument%7D%0A%0A%5Cbegin%7Btikzpicture%7D%5B%0Aroundnode%2F.style%3D%7Bcircle%2C+draw%3Dgreen%2160%2C+fill%3Dgreen%215%2C+very+thick%2C+minimum+size%3D7mm%7D%2C%0Asquarednode%2F.style%3D%7Brectangle%2C+draw%3Dred%2160%2C+fill%3Dred%215%2C+very+thick%2C+minimum+size%3D5mm%7D%2C%0A%5D%0A%25Nodes%0A%5Cnode%5Bsquarednode%5D++++++%28maintopic%29++++++++++++++++++++++++++++++%7B2%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28uppercircle%29+++++++%5Babove%3Dof+maintopic%5D+%7B1%7D%3B%0A%5Cnode%5Bsquarednode%5D++++++%28rightsquare%29+++++++%5Bright%3Dof+maintopic%5D+%7B3%7D%3B%0A%5Cnode%5Broundnode%5D++++++++%28lowercircle%29+++++++%5Bbelow%3Dof+maintopic%5D+%7B4%7D%3B%0A%0A%25Lines%0A%5Cdraw%5B-%3E%5D+%28uppercircle.south%29+--+%28maintopic.north%29%3B%0A%5Cdraw%5B-%3E%5D+%28maintopic.east%29+--+%28rightsquare.west%29%3B%0A%5Cdraw%5B-%3E%5D+%28rightsquare.south%29+..+controls+%2B%28down%3A7mm%29+and+%2B%28right%3A7mm%29+..+%28lowercircle.east%29%3B%0A%0A%5Cend%7Btikzpicture%7D%0A%5Cend%7Bdocument%7D)

![CompileSubfilesEx5.png](/files/4e773806aace90391f93b9563cf8640feebca603)

Dies ist das Hauptmerkmal von **standalone**, Sie können diese Datei in jedes andere Dokument importieren und den Code wiederverwenden. Beispielsweise kann dieses Diagramm später in einer Präsentation ohne weitere Änderungen verwendet werden.

[Öffnen Sie ein Beispiel für das `standalone` Paket in Overleaf](https://www.overleaf.com/project/new/template/19636?id=66440758\&templateName=Standalone+package+example\&latexEngine=pdflatex\&texImage=\&mainFile=)

## Weiterführende Lektüre

Weitere Informationen finden Sie unter

* [Verwaltung in einem großen Projekt](/latex/de/dokumentstruktur/07-management-in-a-large-project.md)
* [Querverweise auf Abschnitte und Gleichungen](/latex/de/dokumentstruktur/03-cross-referencing-sections-equations-and-floats.md)
* [Indizes](/latex/de/dokumentstruktur/04-indices.md)
* [Glossare](/latex/de/dokumentstruktur/05-glossaries.md)
* [Hyperlinks](/latex/de/dokumentstruktur/09-hyperlinks.md)
* [Seitennummerierung](/latex/de/formatierung/03-page-numbering.md)
* [Einseitige und doppelseitige Dokumente](/latex/de/formatierung/08-single-sided-and-double-sided-documents.md)
* [Mehrere Spalten](/latex/de/formatierung/09-multiple-columns.md)
* [Absatzformatierung](/latex/de/formatierung/04-articles-how-to-change-paragraph-spacing-in-latex.md)
* [Seitengröße und Ränder](/latex/de/formatierung/07-page-size-and-margins.md)
* [Zähler](/latex/de/formatierung/10-counters.md)
* [Randnotizen](/latex/de/formatierung/15-margin-notes.md)
* [Fett, kursiv und unterstrichen](/latex/de/latex-grundlagen/03-bold-italics-and-underlining.md)
* [Schriftgrößen, Schriftfamilien und Schriftstile](/latex/de/schriftarten/01-font-sizes-families-and-styles.md)
* [Schriftarten](/latex/de/schriftarten/02-font-typefaces.md)
* [Unterstützung moderner Schriftarten mit XeLaTeX](/latex/de/schriftarten/03-xelatex.md)
* [Unterstützung internationaler Sprachen](/latex/de/sprachen/03-international-language-support.md)
* [Schriftgrößen, Schriftfamilien und Schriftstile](/latex/de/schriftarten/01-font-sizes-families-and-styles.md)
* [Große Projekte kompilieren](/latex/de/wissensdatenbank/038-fixing-and-preventing-compile-timeouts.md#compiling-big-projects)
* [Einfügen von Bildern](/latex/de/weitere-themen/27-inserting-images.md)
* [TikZ-Paket](/latex/de/abbildungen-und-tabellen/05-tikz-package.md)
* [Ein eigenes Paket schreiben](/latex/de/klassendateien/03-writing-your-own-package.md)
* [Eine eigene Klasse schreiben](/latex/de/klassendateien/04-writing-your-own-class.md)
* [Die **subfiles** Paketdokumentation](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/subfiles/subfiles.pdf)
* [Die **standalone** Paketdokumentation](http://repositorios.cpai.unb.br/ctan/macros/latex/contrib/standalone/standalone.pdf)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/latex/de/dokumentstruktur/08-multi-file-latex-projects.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
