# Projektstruktur --- ## Zielsetzung Ein größeres LaTeX-Projekt anlegen und dabei ... * ... verhindern, dass LaTeX-Dokumente zu monströser Größe anwachsen 👹 * ... den Überblick über die Struktur eines Projekts behalten --- ## Hauptdatei 👑 * enthält wie immer `tex \begin{document}` und `tex \end{document}` * Elemente wie Inhalts-, Literatur- und Abbildungsverzeichnis * die Dateien mit den verschiedenen Teilabschnitten werden eingefügt mit * `tex \input{filename.tex}` ODER * `tex \include{filename}` main.tex: ```tex \documentclass{article} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \begin{document} \maketitle \tableofcontents \input{abschnitt1.tex} \input{abschnitt2.tex} \end{document} ``` --- ## Datei mit Teilabschnitt * enthält **keine Präambel** * enthält **kein** `tex \begin{document}` und `tex \end{document` abschnitt1.tex: ```tex \section{Dies ist Abschnitt1} Hier ein Absatz zum Inhalt von Abschnitt 1. ``` --- ## Resultierende Projektstruktur ![](sections/german/04/main_und_unterdateien.png) --- ## Resultierendes Dokument ![](sections/german/04/projekt_dokument.png) ---
```tex \input{filename.tex}```
```tex \include{filename}```
--- ## EXKURS: Dateipfade angeben 👣 * wichtig für `tex \input{}` und `tex \include{}` sowie später für das Einbinden von Bildern * Datei- und Ordnerstruktur = Baumstruktur ![](sections/german/04/ordnerbaum.png) --- ### Absolute Dateipfade * Pfad von der Wurzel des Ordnerbaums bis zur jeweiligen Datei * die verschiedenen Ebenen des Baums werden dabei durch folgende Zeichen getrennt: * / (Unix, Mac) * \ (Windows) --- #### Beispiel ![](sections/german/04/pfad_absolut.png) --- ### Relative Dateipfade * Pfad von einem bestimmten Ort irgendwo im Ordnerbaum bis zur jeweiligen Datei * kürzer + weniger Schreibarbeit! :) * bei `tex \input{}`und `tex \include{}` muss z.B. der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden --- #### Beispiel ![](sections/german/04/pfad_relativ_gleicher_ordner.png) Der einfache Punkt referiert bei relativen Pfaden auf den Ordner in dem die Datei liegt, im Verhältnis zu welcher der Pfad angegeben werden soll (hier: LaTeX-Tut). --- ![](sections/german/04/pfad_relativ_unterordner.png) --- ![](sections/german/04/pfad_relativ_elternordner.png) Zwei Punkte referieren auf den Elternordner des Ordners, in dem die Datei liegt, im Verhältnis zu welcher der Pfad angegeben werden soll (hier: Dokumente, der Elternordner von LaTeX-Tut). --- ## Ende des Exkurses --- ## Kompilieren des Projekts * Nur die Hauptdatei wird kompiliert, um das fertige PDF-Dokument zu erhalten * Fehlermeldungen enthalten dann Verweis, in welcher Unterdatei sie aufgetreten sind --- ## Kompilieren des Projekts * die Unterdateiten können wegen ihrer fehlenden Präambel nicht selbstständig kompiliert werden * aber geschickter Trick bei `tex \include{}`: `tex \includeonly{file1,file2,...}` in die Präambel schreiben, um nur einzelne Unterdateien zu kompilieren --- ## Was denkt ihr passiert, wenn wir den Header in eine Unterdatei auslagern? ### Wird das Gesamtdokument kompilieren oder nicht? --- ### Ja, es kompiliert! Ein einfacher weg, um die Hauptdatei noch übersichtlicher zu halten. ![](sections/german/04/main_und_unterdateien_inkl_header.png)