205 lines
4.6 KiB
Markdown
205 lines
4.6 KiB
Markdown
@slide(layout=chapter-slide)
|
|
|
|
@number
|
|
4
|
|
|
|
@title
|
|
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 <span class="emoji">👹</span>
|
|
* den Überblick über die Struktur eines Projekts behalten
|
|
|
|
@preview
|
|
{style="padding: .2em; height: 100vh"}
|
|
|
|
|
|
@slide(layout=content-and-preview)
|
|
|
|
@title
|
|
Hauptdatei <span class="emoji">👑</span>
|
|
|
|
@content
|
|
* enthält Grundgerüst, Titel, Inhaltsverzeichnis etc.
|
|
* bindet einzelne Kapitel ein mit \
|
|
`\input{pfad/zur/datei}`
|
|
|
|
``` {.lang-tex .hljs data-sourcefile=main.tex}
|
|
\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}`
|
|
|
|
``` {.hljs .lang-tex data-sourcefile=part1.tex}
|
|
\section{Dies ist Abschnitt 1}
|
|
Hier ein Absatz zum
|
|
Inhalt von Abschnitt 1.
|
|
|
|
% …
|
|
```
|
|
|
|
``` {.hljs .lang-tex data-sourcefile=part2.tex}
|
|
\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 <span class="emoji">👣</span>
|
|
|
|
@content
|
|
* wichtig für `\input{}` sowie später für das Einbinden von Bildern und anderen Medien
|
|
* Datei- und Ordnerstruktur = Baumstruktur <span class="emoji">🌳</span>
|
|
* bei `\input{}` kann der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden
|
|
|
|
<p data-category="Achtung!" class="fragment">Bei LaTeX muss stets die **Unix-Syntax** für Pfadangaben verwendet werden. Pfadelemente werden durch einen Schrägstrich getrennt: `pfad/zur/datei`. Deshalb werden wir im Folgenden diese Schreibweise verwenden.</p>
|
|
|
|
@preview
|
|

|
|
|
|
|
|
@slide(layout=content-and-preview-with-category)
|
|
|
|
@category
|
|
Exkurs
|
|
|
|
@title
|
|
Dateipfade angeben <span class="emoji">👣</span>
|
|
|
|
@content
|
|
<p data-category="Beispiel">`main.tex` → `part1.tex`</p>
|
|
|
|
<div class="fragment">
|
|
`./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.
|
|
</div>
|
|
|
|
@preview
|
|

|
|
|
|
|
|
@slide(layout=content-and-preview-with-category)
|
|
|
|
@category
|
|
Exkurs
|
|
|
|
@title
|
|
Dateipfade angeben <span class="emoji">👣</span>
|
|
|
|
@content
|
|
<p data-category="Beispiel">`main.tex` → `part1.tex` (in einem Unterordner)</p>
|
|
|
|
<div class="fragment">
|
|
`./sections/part1.tex`
|
|
</div>
|
|
|
|
@preview
|
|

|
|
|
|
|
|
@slide(layout=content-and-preview-with-category)
|
|
|
|
@category
|
|
Exkurs
|
|
|
|
@title
|
|
Dateipfade angeben <span class="emoji">👣</span>
|
|
|
|
@content
|
|
<p data-category="Beispiel">`main.tex` → `part1.tex` (aus einem Unterordner in einen anderen)</p>
|
|
|
|
<div class="fragment">
|
|
`../sections/part1.tex`
|
|
|
|
**Zwei Punkte »`..`«** bezeichnen den Elternordner des aktuellen Ordners (hier: `latex`, den Elternordner des Ordners `main`).
|
|
</div>
|
|
|
|
<div class="fragment">
|
|
<p data-category="Achtung!">Leerzeichen in Dateipfaden müssen durch einen Backslash markiert werden: `pfad/zu/einer\␣datei`.</p>
|
|
</div>
|
|
|
|
@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. |