162 lines
4.0 KiB
Markdown
162 lines
4.0 KiB
Markdown
|
|
# 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
|
|
|
|
---
|
|
|
|
<div class="layout">
|
|
|
|
<h2 class="layout-title">Hauptdatei 👑</h2>
|
|
|
|
<div class="layout-content-left">
|
|
|
|
<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-content-right">
|
|

|
|
</div>
|
|
|
|
---
|
|
|
|
## 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
|
|

|
|
|
|
---
|
|
|
|
## Resultierendes Dokument
|
|

|
|
|
|
---
|
|
|
|
<div class="two-columns">
|
|
<div class="column">
|
|
`\input{filename.tex}`
|
|
<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="column">
|
|
`\include{filename}`
|
|
<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>
|
|
|
|
---
|
|
|
|
## EXKURS: Dateipfade angeben 👣
|
|
* wichtig für \input{}` und \include{}` sowie später für das Einbinden von Bildern
|
|
* Datei- und Ordnerstruktur = Baumstruktur
|
|
|
|

|
|
|
|
---
|
|
|
|
### 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
|
|
|
|

|
|
|
|
---
|
|
|
|
### 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
|
|
|
|

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

|
|
|
|
---
|
|
|
|

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

|