351 lines
12 KiB
Markdown
351 lines
12 KiB
Markdown
<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>👁 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[<parameter>]{<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[<optionen>]{<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. 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>
|
||
<p class="fragment">
|
||
<ul>
|
||
<li>Die Zeichenkodierung bestimmt, welche Zeichen verfügbar sind.</li>
|
||
<li><strong>ASCII</strong> enthält kaum Sonderzeichen wie deutsche Umlaute.</li>
|
||
<li><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>
|
||
<p>
|
||
<ul>
|
||
<li>Das Paket <strong><code>babel</code></strong> stellt sprachspezifische Informationen (z. 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>
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
---
|
||
|
||
<div class="layout-wide-content">
|
||
<div class="layout-content">
|
||
<h2>Sprache<em>n</em></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{<sprache a>}
|
||
\selectlanguage{<sprache b>}</code></pre>
|
||
<p>Eingebetteter Text in anderer Sprache:</p>
|
||
<pre class="lang-tex hljs"><code>\selectlanguage{<sprache a>}
|
||
\foreignlanguage{<sprache b>}{Hier steht Text in Sprache B innerhalb eines Textes 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. 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-content-only">
|
||
<div class="layout-content">
|
||
<h2>Spielwiese</h2>
|
||
<p>TODO:</p>
|
||
<ul>
|
||
<li>Was passiert, wenn man verschiedene Dinge ändert?</li>
|
||
<li>Umgang mit Fehlermeldungen</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
---
|
||
|
||
|
||
<div class="layout-content-only">
|
||
<div class="layout-content">
|
||
<h2 data-category="Aufgabe" data-task="2">Grundstruktur des Skripts anpassen</h2>
|
||
<ul>
|
||
<li class="fragment">Füge ein Inhaltsverzeichnis in das Skript ein.</li>
|
||
<li class="fragment">Füge im 1. Kapitel xxxxx mehrere neue Absätze mit <code>\section{}</code> und <code>\subsection{}</code> ein und beobachte, was im Inhaltsverzeichnis passiert.</li>
|
||
<li class="fragment">Provoziere absichtlich einen Fehler, indem du einen dir bereits bekannten Befehl wie <code>\begin{document}</code> falsch schreibst. Sieh dir an, welche Informationen dir die Fehlermeldung liefert und behebe den Fehler wieder.</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|