Projektstruktur

---

Zielsetzung

Ein größeres LaTeX-Projekt anlegen und dabei …

---

Hauptdatei 👑

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\title{Ein Titel}
\begin{document}
    \maketitle
    \tableofcontents
    \input{abschnitt1.tex}
    \input{abschnitt2.tex}
\end{document}
---

Datei mit Teilabschnitt

\section{Dies ist Abschnitt 1}
Hier ein Absatz zum
Inhalt von Abschnitt 1.

% …
\section{Dies ist Abschnitt 2}
Hier ein Absatz zum
Inhalt von Abschnitt 2.

% …
---

`input` oder `include`?

\input{path_to_file}
\include{path_to_file}
---

Dateipfade angeben 👣

---

Dateipfade angeben 👣

Absolute Dateipfade

Beispiel: Absoluter Pfad zu `main.tex`

  • Unix: `/home/knut/docs/latex/main.tex`
  • Windows: `C:\knut\docs\latex\main.tex`

Allerdings muss **bei LaTeX stets die Unix-Syntax** für Pfadangaben verwendet werden. Deshalb werden wir im folgenden diese verwerden.

---

Dateipfade angeben 👣

Relative Dateipfade

Beispiel: Relativer Pfad
von `main.tex` zu `part1.tex`

`./part1.tex`

Der **einfache Punkt ».«** bezieht sich bei relativen Pfaden auf den Ordner, in dem die Ausgangsdatei liegt (hier: `latex`). Er ist optional, es könnte also auch nur part1.tex geschrieben werden.

---

Dateipfade angeben 👣

Relative Dateipfade

Beispiel: Relativer Pfad von `main.tex` zu `part1.tex` in Unterordner

`./sections/part1.tex`

---

Dateipfade angeben 👣

Relative Dateipfade

Beispiel: Relativer Pfad von `main.tex` in eigenem Unterordner zu `part1.tex` in anderem Unterordner

`../sections/part1.tex`

**Zwei Punkte »`..`«** bezeichnen den Elternordner des aktuellen Ordners (hier: latex, den Elternordner des Ordners main).

---

Kompilieren des Projekts

---

Kompilieren des Projekts

---

Präambel ausgelagert

Was denkt ihr, passiert, wenn wir die Präambel in eine Unterdatei auslagern?

Wird das Gesamtdokument kompilieren oder nicht?

Ja, es kompiliert!
Ein einfacher Weg, um die Hauptdatei noch übersichtlicher zu halten.

---

Ein strukturiertes Projekt