> 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/07-management-in-a-large-project.md).

# Verwaltung in einem großen Projekt

## Einführung

In großen Projekten, wie etwa Büchern, macht es die Aufgabe, Teile Ihres Dokuments in mehreren .tex-Dateien zu speichern, das Korrigieren von Fehlern und das Vornehmen weiterer Änderungen einfacher. In einer kurzen Datei lässt sich ein bestimmtes Wort oder Element leichter finden. Zu diesem Zweck erklärt dieser Artikel, wie man große Projekte verwaltet.

## Dateien einfügen und einbinden

Die Standardwerkzeuge, um eine LaTeX-Datei in eine andere einzufügen, sind `\input` und `\include`.

**input-Befehl**

\input{filename}

Verwenden Sie diesen Befehl im Dokumentkörper, um den Inhalt einer anderen Datei mit dem Namen `filename.tex`; diese Datei sollte keinen LaTeX-Präambelcode enthalten (d. h. kein `\documentclass`, `\begin{document}` oder `\end{document}` ). LaTeX wird keine neue Seite beginnen, bevor das Material in `filename.tex`. `\input` ermöglicht es Ihnen, `\input` Befehle in Dateien zu verschachteln, die bereits von der Root-Datei eingelesen werden.

**include-Befehl**

\include{filename}

Verwenden Sie diesen Befehl im Dokumentkörper, um den Inhalt einer anderen Datei mit dem Namen `filename.tex`; auch diese Datei sollte keine LaTeX-Präambel enthalten. LaTeX beginnt eine neue Seite, bevor das aus `filename.tex`eingelesene Material verarbeitet wird. Achten Sie darauf, die Erweiterung `.tex` nicht im Dateinamen anzugeben, da dies dazu führt, dass die Datei nicht eingelesen wird (die Erweiterung kann optional mit `Eingabe-` und `import`). Es ist nicht möglich, `include` -Befehle zu verschachteln. Jede Datei, die `\include`eingebunden wird, hat ihre eigene .aux-Datei, in der Informationen über erstellte Labels und Inhalte für das Inhaltsverzeichnis, das Abbildungsverzeichnis usw. gespeichert werden. Sie können `\includeonly`  mit einer kommagetrennten Liste von Dateinamen verwenden (achten Sie darauf, dass keine vorangestellten oder nachgestellten Leerzeichen vorhanden sind). Wenn Sie dies tun, verarbeitet LaTeX nur die in dieser Liste enthaltenen Dateien. Dies kann genutzt werden, um die Kompilierungsgeschwindigkeit zu erhöhen, wenn Sie nur an einem kleinen Teil eines größeren Dokuments arbeiten. Seitenzahlen und Querverweise funktionieren jedoch weiterhin, da die .aux-Dateien der ausgelassenen Dateien weiterhin verarbeitet werden.

[Öffnen Sie ein Beispiel für ein großes Projekt auf Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Präambel in einer separaten Datei

Wenn die Präambel Ihres Dokuments viele vom Benutzer definierte Befehle oder Begriffsdefinitionen für das [Glossar](/latex/de/dokumentstruktur/05-glossaries.md), können Sie sie in eine separate Datei legen. Der richtige Weg ist, ein benutzerdefiniertes Paket zu erstellen, also eine Datei mit der Erweiterung .sty. Sehen wir uns ein Beispiel an:

```latex
\ProvidesPackage{example}

\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage[latin1]{inputenc}
\usepackage[spanish, english]{babel}
\usepackage{graphicx}
\usepackage{blindtext}
\usepackage{textcomp}
\usepackage{pgfplots}

\pgfplotsset{width=10cm,compat=1.9}

%Kopfzeilenstile
\usepackage{fancyhdr}
\setlength{\headheight}{15pt}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[RE]{\textbf{\textit{\nouppercase{\leftmark}}}}
\fancyhead[LO]{\textbf{\textit{\nouppercase{\rightmark}}}}
\fancypagestyle{plain}{ %
\fancyhf{} % alles entfernen
\renewcommand{\headrulewidth}{0pt} % auch die Linien entfernen
\renewcommand{\footrulewidth}{0pt}}

% macht die Befehle \proof, \qedsymbol und \theoremstyle verfügbar
\usepackage{amsthm}

%Lineal
\newcommand{\HRule}{\rule{\linewidth}{0.5mm}}

%Definition des Lemmas und Lemma-Zähler
\newtheorem{lemma}{Lemma}[section]

%Definition des Zählers
\theoremstyle{definition}
\newtheorem{definition}{Definition}[section]

%Korollar-Zähler
\newtheorem{corolary}{Corolary}[section]

%Befehle für natürliche Zahlen, ganze Zahlen, Topologie, Hülle, Kugel, Scheibe, Dimension, Rand und einige mehr
\newcommand{\E}{{\mathcal{E}}}
\newcommand{\F}{{\mathcal{F}}}
...

%Beispielumgebung
\theoremstyle{remark}
\newtheorem{examle}{Example}

%Beispielzähler
\newcommand{\reiniciar}{\setcounter{example}{0}}
```

Alle Befehle in dieser Datei hätten in die Präambel gesetzt werden können, aber die Hauptdatei wäre dadurch aufgrund der großen Menge an Code unübersichtlich geworden, und den eigentlichen Textkörper des Dokuments in einer so großen Datei zu finden, wäre eine mühsame Aufgabe gewesen.

Diese Datei könnte auch in eine normale .tex-Datei gelegt und mit dem Befehl importiert werden `import` (siehe den [nächsten Abschnitt](#importing-files)), aber eine .sty-Datei verhindert mögliche Fehler, falls die Datei versehentlich mehr als einmal importiert wird.

Beachten Sie, dass die erste Zeile des Beispiels

```latex
\ProvidesPackage{example}
```

dies bedeutet, dass wir dieses Paket als *Beispiel* in der Hauptdatei importieren müssen, d. h. mit dem Befehl

```latex
\usepackage{example}
```

wie in der [Einleitung](#introduction).

*Hinweis: Eine .sty-Datei ist wesentlich flexibler, sie kann verwendet werden, um eigene Makros zu definieren, und optionale Parameter können übergeben werden, siehe* [*Ein eigenes Paket schreiben*](/latex/de/klassendateien/03-writing-your-own-package.md).

[Öffnen Sie ein Beispiel für ein großes Projekt auf Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Verwendung des Pakets import

Wie oben erwähnt, sind die Standardwerkzeuge zum Einfügen einer LaTeX-Datei in eine andere `\input` und `\include`, aber diese sind fehleranfällig, wenn verschachteltes Einbinden von Dateien erforderlich ist. Aus diesem Grund sollten Sie das Paket **import**.

Unten ist ein Beispiel eines Buches, dessen Abschnitte und benutzerdefinierte Befehle in separaten Dateien gespeichert sind und bei dem die Bilddateien für jedes Kapitel zusammen mit der .tex-Datei für jedes Kapitel in separaten Ordnern gespeichert sind.

```latex
\documentclass[a4paper,11pt]{book}
\usepackage{import}
\usepackage{example}

\usepackage{makeidx}
\makeindex

\begin{document}

\frontmatter
\import{./}{title.tex}

\clearpage
\thispagestyle{empty}

\tableofcontents

\mainmatter
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}

\chapter{Additional chapter}
\import{sections/}{section2-1.tex}

\chapter{Last chapter}
\import{sections/}{section3-1.tex}

\backmatter

\import{./}{bibliography.tex}

\end{document}
```

Wie Sie sehen, ist das Beispiel ein Buch mit drei Kapiteln und mehreren Abschnitten in einer übersichtlichen Hauptdatei, die externe Dateien einbindet, um das endgültige Dokument zu erzeugen. Der Befehl `\frontmatter` in der Buchdokumentenklasse wird für die ersten Seiten des Dokuments verwendet; der Seitenzahlstil wird durch diesen Befehl auf römische Ziffern gesetzt; der Befehl `\mainmatter` setzt die Seitenzählung zurück und ändert den Stil auf arabisch, `\backmatter` deaktiviert die Kapitelnummerierung (geeignet für das Literaturverzeichnis und die Anhänge).

```latex
\chapter{First chapter}
\import{sections/}{section1-1.tex}
\import{sections/}{section1-2.tex}
```

Fügen Sie zunächst diese Zeile zur Präambel Ihres Dokuments hinzu:

```latex
\usepackage{import}
```

Dann verwenden Sie `\import{ }{ }`. Der erste Parameter innerhalb der geschweiften Klammern ist das Verzeichnis, in dem sich die Datei befindet; es kann relativ zum aktuellen Arbeitsverzeichnis oder absolut sein. Der zweite Parameter ist der Name der zu importierenden Datei

Es gibt auch den Befehl `\subimport` der die gleiche Syntax hat, aber wenn er in einer der Dateien verwendet wird, die in der Hauptdatei importiert werden, ist der Pfad relativ zu dieser Unterdatei. Zum Beispiel ist unten der Inhalt der Datei „section1-1.tex“, die im vorherigen Beispiel importiert wurde:

```latex
\section{Erster Abschnitt}

Unten ist ein einfaches 3D-Diagramm

\begin{figure}[h]
\centering
\subimport{img/}{plot1.tex}
\caption{Caption}
\label{fig:my_label}
\end{figure}

[...]
```

Wie Sie sehen, importiert diese Datei eine [pgf-Plot](/latex/de/fachspezifisch/08-pgfplots-package.md) Datei namens „plot1.tex“, die ein 3D-Diagramm erstellt. Diese Datei wird importiert von

```latex
\subimport{img/}{plot1.tex}
```

aus dem Ordner „img“, der im Ordner „sections“ enthalten ist.

Wenn `\import` stattdessen verwendet würde, wäre der Pfad *img/* relativ zur Hauptdatei und nicht zum Ordner „sections“, in dem „section1-1.tex“ gespeichert ist.

[Öffnen Sie ein Beispiel für ein großes Projekt auf Overleaf](https://www.overleaf.com/project/new/template/20618?id=70769185\&templateName=Managing+a+large+project+on+Overleaf\&latexEngine=pdflatex\&texImage=texlive-full%3A2020.1\&mainFile=)

## Weiterführende Lektüre

Weitere Informationen finden Sie unter:

* [Mehrdatei-LaTeX-Projekte](/latex/de/dokumentstruktur/08-multi-file-latex-projects.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)
* [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 nicht ganz so kurze Einführung in LaTeX2ε](http://www.ctan.org/tex-archive/info/lshort/)
* [`import` Paketdokumentation](ftp://sunsite.icm.edu.pl/pub/CTAN/macros/latex/contrib/import/import.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/07-management-in-a-large-project.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.
