latex-wochenende/slides/chapter-04.de.md

5.1 KiB

@slide(layout=chapter-slide)

@title 4 Projektstruktur

@slide(layout=content-and-preview)

@title Zielsetzung

@content 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

@preview {style="padding: .2em; height: 100vh"}

@slide(layout=content-and-preview)

@title Hauptdatei 👑

@content

  • enthält Grundgerüst, Titel, Inhaltsverzeichnis etc.
  • bindet einzelne Kapitel ein mit
    \input{pfad/zur/datei}
\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}

@preview

@slide(layout=content-and-preview)

@title Datei mit Teilabschnitt

@content

  • enthält keine Präambel
  • enthält kein \begin{document} und \end{document}
\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.

% …

@preview {.thin-padding}

@slide(layout=content-and-preview-with-category)

@category Exkurs

@title Dateipfade angeben 👣

@content

  • wichtig für \input{} sowie später für das Einbinden von Bildern und anderen Medien
  • Datei- und Ordnerstruktur = Baumstruktur 🌳

@preview

@slide(layout=content-and-preview-with-category)

@category Exkurs

@title Dateipfade angeben 👣

@content

Absolute Dateipfade

  • Pfad von der Wurzel des Ordnerbaums bis zur jeweiligen Datei
  • die verschiedenen Ebenen des Baums werden dabei durch folgende Zeichen getrennt:
    • Unter Unix: »/«
    • Unter Windows: »\«

Absoluter Pfad zu `main.tex`

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

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

@preview

@slide(layout=content-and-preview-with-category)

@category Exkurs

@title Dateipfade angeben 👣

@content

Relative Dateipfade

  • Pfad von einem bestimmten Ort irgendwo im Ordnerbaum bis zur jeweiligen Datei
  • kürzer + weniger Schreibarbeit!
  • bei \input{} kann der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden

Relativer Pfad \ von `main.tex` zu `part1.tex`

./part1.tex

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

@preview

@slide(layout=content-and-preview-with-category)

@category Exkurs

@title Dateipfade angeben 👣

@content

Relative Dateipfade

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

./sections/part1.tex

@preview

@slide(layout=content-and-preview-with-category)

@category Exkurs

@title Dateipfade angeben 👣

@content

Relative Dateipfade

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).

@preview

@slide(layout=content-only)

@title Kompilieren des Projekts

@content

  • Nur die Hauptdatei wird kompiliert, um das fertige PDF-Dokument zu erhalten.
  • Fehlermeldungen enthalten dann Verweis, in welcher Unterdatei sie aufgetreten sind.
  • Die Unterdateien können wegen ihrer fehlenden Präambel nicht selbstständig kompiliert werden.

@slide(layout=content-and-preview)

@title Präambel auslagern

@content 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.

@preview {.thin-padding}

@slide(layout=content-only-with-category)

@category Demo

@title Größere Projekte kompilieren

@content

  • Von nun an kompilieren wir die Datei main.tex im Wurzelverzeichnis des Projektordners.
  • Klickt hierzu in TeXstudio mit der rechten Maustaste auf die Datei und wählt „Explizit als Root-Dokument setzen“.
  • Anschließend könnt ihr wie gewohnt kompilieren.