220 lines
7.4 KiB
Markdown
220 lines
7.4 KiB
Markdown
<div class="layout-content-only">
|
|
<div class="layout-content">
|
|
<h1>Projektstruktur</h1>
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-only">
|
|
<div class="layout-content">
|
|
<h2>Zielsetzung</h2>
|
|
<p>Ein größeres LaTeX-Projekt anlegen und dabei …</p>
|
|
<ul>
|
|
<li>… verhindern, dass LaTeX-Dokumente zu monströser Größe anwachsen 👹</li>
|
|
<li>… den Überblick über die Struktur eines Projekts behalten</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2 class="layout-title">Hauptdatei 👑</h2>
|
|
<ul>
|
|
<li>enthält Grundgerüst, Titelei, etc. </li>
|
|
<li>bindet einzelne Kapitel ein mit
|
|
<ul>
|
|
<li><code>\input{filename.tex}</code> oder</li>
|
|
<li><code>\include{filename}</code></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
<pre class="lang-tex hljs" data-sourcefile="main.tex"><code>\documentclass{article}
|
|
\usepackage[ngerman]{babel}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\begin{document}
|
|
\maketitle
|
|
\tableofcontents
|
|
\input{abschnitt1.tex}
|
|
\input{abschnitt2.tex}
|
|
\end{document}</code></pre>
|
|
</div>
|
|
<div class="layout-preview">
|
|

|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2>Datei mit Teilabschnitt</h2>
|
|
<ul>
|
|
<li>enthält **keine Präambel**<li>
|
|
<li>enthält **kein** `\begin{document}` und `\end{document`</li>
|
|
</ul>
|
|
<pre data-source="abschnitt1.tex" class="hljs lang-tex"><code>\section{Dies ist Abschnitt1}
|
|
Hier ein Absatz zum
|
|
Inhalt von Abschnitt 1.</code></pre>
|
|
<p><img src="sections/german/04/main_und_unterdateien.png"></p>
|
|
</div>
|
|
<div class="layout-preview">
|
|

|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-two-columns">
|
|
<div class="layout-title">
|
|
<h2>Vergleich</h2>
|
|
</div>
|
|
<div class="layout-column-one">
|
|
<pre class="lang-tex jshl"><code>\input{filename.tex}</code></pre>
|
|
<ul class="fragment">
|
|
<li>Dateiendung .tex angeben</li>
|
|
<li>Schachtelung möglich: Unterdateien können wiederum per `\input{}` andere Unterunterdateien einbinden</li>
|
|
<li>Unterdatei wird im fertigen Dokument ohne Sprung auf neue Seite in Hauptdatei eingefügt</li>
|
|
</ul>
|
|
</div>
|
|
<div class="layout-column-two">
|
|
<pre class="lang-tex jshl"><code>\include{filename}</code></pre>
|
|
<ul class="fragment">
|
|
<li>Dateiendung .tex **nicht** angeben</li>
|
|
<li>Schachtelung nicht möglich</li>
|
|
<li>für jede Unterdatei wird im fertigen Dokument eine neue Seite angelegt</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2 data-category="Exkurs">Dateipfade angeben 👣</h2>
|
|
<ul>
|
|
<li>wichtig für `\input{}` und `\include{}` sowie später für das Einbinden von Bildern</li>
|
|
<li>Datei- und Ordnerstruktur = Baumstruktur</li>
|
|
</ul>
|
|
</div>
|
|
<div class="layout-preview">
|
|
<img src="sections/german/04/ordnerbaum.png">
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2 data-category="Exkurs">Dateipfade angeben 👣</h2>
|
|
<h3>Absolute Dateipfade</h3>
|
|
<ul>
|
|
<li>Pfad von der Wurzel des Ordnerbaums bis zur jeweiligen Datei</li>
|
|
<li>die verschiedenen Ebenen des Baums werden dabei durch folgende Zeichen getrennt:
|
|
<ul>
|
|
<li>Unter Unix: `/`</li>
|
|
<li>Unter Windows: `\`</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="layout-preview">
|
|
<img src="sections/german/04/pfad_absolut.png">
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2 data-category="Exkurs">Dateipfade angeben 👣</h2>
|
|
<h3>Relative Dateipfade</h3>
|
|
<ul>
|
|
<li>Pfad von einem bestimmten Ort irgendwo im Ordnerbaum bis zur jeweiligen Datei</li>
|
|
<li>kürzer + weniger Schreibarbeit! ☺</li>
|
|
<li>bei `\input{}`und `\include{}` muss der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden</li>
|
|
</ul>
|
|
<p>Der einfache Punkt bezieht sich bei relativen Pfaden auf den Ordner, in dem die Ausgangsdatei liegt (hier: LaTeX-Tut).</p>
|
|
</div>
|
|
<div class="layout-preview">
|
|
<img src="sections/german/04/pfad_relativ_gleicher_ordner.png">
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<!-- very DRY indeed -->
|
|
<div class="layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2 data-category="Exkurs">Dateipfade angeben 👣</h2>
|
|
<h3>Relative Dateipfade</h3>
|
|
<ul>
|
|
<li>Pfad von einem bestimmten Ort irgendwo im Ordnerbaum bis zur jeweiligen Datei</li>
|
|
<li>kürzer + weniger Schreibarbeit! ☺</li>
|
|
<li>bei `\input{}`und `\include{}` muss der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden</li>
|
|
</ul>
|
|
</div>
|
|
<div class="layout-preview">
|
|
<img src="sections/german/04/pfad_relativ_unterordner.png">
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<!-- very DRY indeed -->
|
|
<div class="layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2 data-category="Exkurs">Dateipfade angeben 👣</h2>
|
|
<h3>Relative Dateipfade</h3>
|
|
<ul>
|
|
<li>Pfad von einem bestimmten Ort irgendwo im Ordnerbaum bis zur jeweiligen Datei</li>
|
|
<li>kürzer + weniger Schreibarbeit! ☺</li>
|
|
<li>bei `\input{}`und `\include{}` muss der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden</li>
|
|
</ul>
|
|
<p>Zwei Punkte bezeichnen den Elternordner des aktuellen Ordners (hier: Dokumente, der Elternordner von LaTeX-Tut).</p>
|
|
</div>
|
|
<div class="layout-preview">
|
|
<img src="sections/german/04/pfad_relativ_elternordner.png">
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-only">
|
|
<div class="layout-content">
|
|
<h2>Kompilieren des Projekts</h2>
|
|
<ul>
|
|
<li>Nur die Hauptdatei wird kompiliert, um das fertige PDF-Dokument zu erhalten</li>
|
|
<li>Fehlermeldungen enthalten dann Verweis, in welcher Unterdatei sie aufgetreten sind</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-only">
|
|
<div class="layout-content">
|
|
<h2>Kompilieren des Projekts</h2>
|
|
<ul>
|
|
<li>die Unterdateiten können wegen ihrer fehlenden Präambel nicht selbstständig kompiliert werden</li>
|
|
<li>aber geschickter Trick bei \include{}`: \includeonly{file1,file2,...}` in die Präambel schreiben, um nur einzelne Unterdateien zu kompilieren</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
---
|
|
|
|
<div class="layout-content-and-preview">
|
|
<div class="layout-content">
|
|
<h2>Was denkt ihr passiert, wenn wir den Header in eine Unterdatei auslagern?</h2>
|
|
<p>Wird das Gesamtdokument kompilieren oder nicht?</p>
|
|
<p class="fragment"><strong>Ja, es kompiliert!</strong><br>
|
|
Ein einfacher weg, um die Hauptdatei noch übersichtlicher zu halten.</p>
|
|
</div>
|
|
<div class="layout-preview">
|
|
<img src="sections/german/04/main_und_unterdateien_inkl_header.png">
|
|
</div>
|
|
</div>
|