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 👑

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\begin{document}
	\maketitle
	\tableofcontents
	\input{abschnitt1.tex}
	\input{abschnitt2.tex}
\end{document}
![](sections/german/04/projekt_dokument.png)
--- ## Datei mit Teilabschnitt * enthält **keine Präambel** * enthält **kein** `\begin{document}` und `\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) ---
`\input{filename.tex}`
  • Dateiendung .tex angeben
  • Schachtelung möglich: Unterdateien können wiederum per `\input{}` andere Unterunterdateien einbinden
  • Unterdatei wird im fertigen Dokument ohne Sprung auf neue Seite in Hauptdatei eingefügt
`\include{filename}`
  • Dateiendung .tex **nicht** angeben
  • Schachtelung nicht möglich
  • für jede Unterdatei wird im fertigen Dokument eine neue Seite angelegt
--- ## EXKURS: Dateipfade angeben 👣 * wichtig für \input{}` und \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 \input{}`und \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 \include{}`: \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)