345 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="layout-content-only">
<div class="layout-content">
<h1>Grundstruktur eines L<sup style="font-weight: bold; font-size: 73%; margin-left: -.25em; margin-right: -.05em; position: relative; top: .2em">A</sup>T<sub style="font-size: 100%; margin-left: -.1em">E</sub>X-Dokuments</h1>
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2>Präambel & Dokumentumgebung</h2>
<p style="text-indent: -1.3em"><span class="emoji">👁</span> Ein mit LaTeX gesetztes Dokument besteht aus:</p>
<ul class="fragment">
<li><strong>Präambel:</strong> globale Einstellungen (Dokumentklasse, Encoding, Sprache, Seitenformat, zusäzliche Pakete, ...) und</li>
<li><strong>Dokumentumgebung:</strong> textueller Inhalt des Dokuments.</li>
</ul>
<pre class="lang-tex hljs fragment"><code>\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\begin{document}
Hallo, Welt!
\end{document}</code></pre>
</div>
<div class="layout-preview">
<figure>
<img src="sections/german/03/hallo-crop.svg">
</figure>
</div>
</div>
---
<div class="layout-wide-content">
<div class="layout-content">
<h2>Dokumentklasse</h2>
<pre class="lang-tex hljs"><code>\documentclass[&lt;parameter>]{&lt;dokumentklasse>}</code></pre>
<p>Konkret zum Beispiel</p>
<pre class="lang-tex hljs"><code>\documentclass[10pt,a5paper,landscape]{scrartcl}</code></pre>
<ul class="fragment">
<li><strong><code>scrartcl</code>, <code>article</strong></code> für einfache Dokumente</li>
<li><strong><code>scrreport</code>, <code>report</strong></code> für komplexere Dokumente</li>
<li><strong><code>scrbook</code>, <code>book</strong></code> für Bücher</li>
<li><strong><code>beamer</strong></code> für Präsentationen</li>
</ul>
</div>
</div>
---
<div class="layout-content-only">
<div class="layout-content">
<h2>Pakete</h2>
</p>
<pre class="lang-tex hljs"><code>\usepackage[&lt;optionen>]{&lt;paketname>}</code></pre>
<p>
<ul>
<li>Pakete stellen zusätzliche Befehle und Funktionalitäten zur Verfügung.</li>
<li>Es existieren verschiedene Pakete für verschiedene Anwendungsfälle (z.&thinsp;B. Formelsatz, Listen, ...).
</li>
<li>Sie müssen vor der Nutzung **in der Präambel** eingebunden werden.
</li>
</ul>
</div>
</div>
---
<div class="layout-content-only">
<div class="layout-content">
<h2>Encoding</h2>
<pre class="lang-tex hljs"><code>\usepackage[utf8]{inputenc}
\usepackage[t1]{fontenc}</code></pre>
<ul>
<li class="fragment">Die Zeichenkodierung bestimmt, welche Zeichen verfügbar sind.</li>
<li class="fragment"><strong>ASCII</strong> enthält kaum Sonderzeichen wie deutsche Umlaute.</li>
<li class="fragment"><strong>UTF-8</strong> ist eine universelle Kodierung.</li>
</ul>
</p>
</div>
</div>
---
<div class="layout-content-only">
<div class="layout-content">
<h2>Sprache</h2>
<pre class="lang-tex hljs"><code>\usepackage[ngerman]{babel}</code></pre>
<ul>
<li>Das Paket <strong><code>babel</code></strong> stellt sprachspezifische Informationen (z.&thinsp;B. Silbentrennung, Sonderzeichen, Wechsel zwischen Fonts, Übersetzung von Labels wie Kapitel, Inhaltsverzeichnis oder Abbildung) bereit.</li>
<li><strong><code>ngerman</code></strong> steht für die neue deutsche Rechschreibung.</li>
</ul>
</div>
</div>
---
<div class="layout-wide-content">
<div class="layout-content">
<h2>Sprachen</h2>
<p>Es können auch mehrere Sprachen im Dokument verwendet werden:</p>
<pre class="lang-tex hljs"><code>\usepackage[ngerman, swedish, russian, greek, english]{babel}</code></pre>
<div class="fragment">
<p>Umschalten zwischen Sprachen:</p>
<pre class="lang-tex hljs"><code>\selectlanguage{&lt;sprache a>}
\selectlanguage{&lt;sprache b>}</code></pre>
<p>Eingebetteter Text in anderer Sprache:</p>
<pre class="lang-tex hljs"><code>\selectlanguage{&lt;sprache a>}
\foreignlanguage{&lt;sprache b>}{Hier steht Text in Sprache B in einem Text in Sprache A}</code></pre>
</div>
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2>Sprachen Ein Beispiel</h2>
<pre class="lang-tex hljs"><code>\today
\selectlanguage{ngerman}
\today
\selectlanguage{swedish}
\today
\selectlanguage{russian}
\today
\selectlanguage{greek}
\today
\selectlanguage{english}
\today
</code></pre>
</div>
<div class="layout-preview">
<img src="sections/german/03/languages-crop.svg">
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2>Fließtext</h2>
<pre class="lang-tex hljs"><code>Fließtext kann direkt in den Quelltext ↲
geschrieben werden. ↲
Einfache Zeilenumbrüche ↲
werden dabei ignoriert, ↲
genau wie mehrere Leerzeichen. ↲
Leerzeilen erzeugen einen neuen Absatz,↲
standardmäßig mit Einzug. ↲
Manuelle Zeilenumbrüche können mit ↲
zwei Backslashes erzwungen werden, ↲
haben in Fließtext aber eigentlich \\\\ ↲
nichts verloren.</code></pre>
</div>
<div class="layout-preview">
<img src="sections/german/03/absätze-crop.svg">
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2 data-category="Achtung!">Reservierte Zeichen</h2>
<p>Bestimmte Zeichen lösen in LaTeX Dinge aus:</p>
<p>`# $ % ^ & _ { } ~ \`</p>
<pre class="lang-tex hljs"><code>50% sind die Hälfte.</code></pre>
<p>Lösung: »`\`« voranstellen:</p>
<pre class="lang-tex hljs"><code>50\% sind die Hälfte.</code></pre>
<p>Funktioniert nicht mit »`\\`«, Lösung dafür später.</p>
</div>
<div class="layout-preview">
<img src="sections/german/03/reservierte-zeichen-crop.svg">
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2>Abschnitte und Kapitel</h2>
<p>Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt. Immer verfügbar:</p>
<pre class="lang-tex hljs"><code>\section{Ebene 1}
\subsection{Ebene 2}
\subsubsection{Ebene 3}
\paragraph{Ebene 4}
\subparagraph{Ebene 5}</code></pre>
<p>Je nach Dokumentenklasse zusätzlich:</p>
<pre class="lang-tex hljs"><code>\chapter{Kapitel}
\part{Teil}</code></pre>
</div>
<div class="layout-preview">
<img src="sections/german/03/abschnitte-crop.svg">
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2>Abschnitte und Kapitel</h2>
<p>Mit Sternchen fallen bei allen diesen Befehlen die Nummerierung und der Eintrag im Inhaltsverzeichnis weg:</p>
<pre class="lang-tex hljs"><code>\section*{Kein Verzeichniseintrag}</code></pre>
<p>Außerdem kann für das Inhaltsverzeichnis ein alternativer Titel angegeben werden:</p>
<pre class="lang-tex hljs"><code>\section[Titel im Verzeichnis]
{Kapitelüberschrift}</code></pre>
</div>
<div class="layout-preview">
<img src="sections/german/03/abschnitte-anders-crop.svg">
</div>
</div>
---
<div class="layout-wide-content">
<div class="layout-content">
<h2>Titelei</h2>
<pre class="lang-tex hljs" data-source="title.tex"><code>\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \\\\ Fachschaft WIAI\thanks{WIe AIn Profi},
Otto-Friedrich-Universität Bamberg}
\date{\today}
\begin{document}
\maketitle
\end{document}</code></pre>
<ul>
<li>In der Präambel werden die Werte für die Einträge gespeichert.</li>
<li>Das Setzen des Titels erfolgt in der Dokumentumgebung mit dem Befehl <code>\maketitle</code>.</li>
<li>Die genaue Gestaltung hängt ab von der verwendeten Dokumentklasse.</li>
<li>Mehrere Autoren werden mit <code>\and</code> getrennt.</li>
<li>Wird kein Datum angegeben, wird per default das aktuelle Datum gesetzt. Ein abweichendes Datum kann mit <code>\date{}</code> definiert werden.</li>
</ul>
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2>Titelei</h2>
<pre class="lang-tex hljs" data-source="title.tex"><code>\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \\\\ Fachschaft
WIAI\thanks{WIe AIn Profi},
Otto-Friedrich-Universität Bamberg}
\date{\today}
\begin{document}
\maketitle
\section{Trüffelsuche}
\subsection{Suche mit Schwein}
\subsection{Suche ohne Schwein}
Wer macht denn sowas?
\section{Trüffelrezepte}
Mein Lieblingsrezept
\end{document}</code></pre>
</div>
<div class="layout-preview">
<img src="sections/german/03/title-orig.svg">
</div>
</div>
---
<div class="layout-content-only">
<div class="layout-content">
<h2>Inhaltsverzeichnis</h2>
<p><pre class="lang-tex hljs"><code>\tableofcontents</code></pre>
<ul>
<li>Nummerierung erfolgt automatisch</li>
<li>Viele Anpassungsmöglichkeiten (Aufzählungszeichen und -tiefe, automatische Benennung, …)</li>
<li>(Unter-)Kapitel, die nicht im Verzeichnis aufgeführt werden sollen, werden mit einem »`*`« versehen, also z.&thinsp;B. <code>\section\*{}</code>.</li>
<li>Am besten zweimal kompilieren</li>
</ul>
</p>
</div>
</div>
---
<div class="layout-content-and-preview">
<div class="layout-content">
<h2>Inhaltsverzeichnis</h2>
<pre class="lang-tex hljs" data-source="title.tex"><code>\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\begin{document}
\tableofcontents
\section{Trüffelsuche}
Der erste Abschnitt.
\subsection{Suche mit Schwein}
Ein Unterabschnitt.
\subsection{Suche ohne Schwein}
Ein weiterer Unterabschitt.
\subsubsection[But why?]{Wer macht denn
sowas?}
Unter-Unterabschnitt.
\section{Trüffelrezepte}
Mein Lieblingsrezept
\end{document}</code></pre>
</div>
<div class="layout-preview">
<img src="sections/german/03/contents-orig.svg">
</div>
</div>
---
<div class="layout-content-only">
<div class="layout-content">
<h2>Weitere Verzeichnisse</h2>
<p>Abbildungsverzeichnis und Tabellenverzeichnis
<pre class="lang-tex hljs"><code>\listoffigures
\listoftables</code></pre>
<ul>
<li>Fügt das gewählte Verzeichnis an der entsprechenden Stelle ins Dokument ein.</li>
<li>Es wird die jeweilige Bild- bzw. Tabellenunterschrift aufgeführt. Es kann aber auch ein Kurztitel angegeben werden, der dann für das Verzeichnis verwendet wird. </li>
</ul>
</p>
</div>
</div>
---
<div class="layout-wide-content">
<div class="layout-content">
<h2 data-category="Aufgabe" data-task="2">Dokument und Text gliedern</h2>
<ul>
<li>Ladet das Projektarchiv aus dem VC herunter, entpackt es und öffnet die Datei `allgemeines.tex` in TeXStudio.</li>
<li class="fragment">Packt den gesamten Text (einschließlich Kommentare) in `allgemeines.tex` in eine **Document**-Umgebung und schreibt darüber folgende **Präambel**, damit das Dokument kompiliert werden kann:
</li>
</ul>
<pre class="lang-tex hljs fragment"><code>\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\usepackage{csquotes}</code></pre>
<ul class="fragment">
<li>Im nicht auskommentierten Teil wurden **Absätze** durch »`//`« markiert. Verwendet stattdessen echte Absätze.</li>
<li class="fragment">Kommentiert den restlichen Text ein. Verwendet für alle **Überschriften** passende LaTeX-Befehle (`\section` bis `\subsubsection`).
<li class="fragment">Fügt ein **Inhaltsverzeichnis** ein.</li>
</ul>
</div>
</div>