169 lines
11 KiB
TeX
169 lines
11 KiB
TeX
\section{Grundstruktur}
|
|
|
|
Wie sieht so ein \LaTeX-Dokument jetzt eigentlich aus?
|
|
Im Kern besteht es immer aus zwei Teilen: einer Präambel zu Beginn sowie der unmittelbar folgenden Dokumentumgebung.
|
|
Als \emph{Präambel} bezeichnen wir die ersten Befehle eines \LaTeX-Dokumentes, mit denen globale Einstellungen wie die Dokumentklasse, die Zeichenkodierung, die Sprache und das Seitenformat festgelegt werden.
|
|
Die \emph{Dokumentumgebung} hingegen enthält den Inhalt, der später in der fertigen PDF-Datei erscheinen soll.
|
|
|
|
\begin{listing}[H]
|
|
\begin{minted}{latex}
|
|
\documentclass[ngerman]{article}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage[ngerman]{babel}
|
|
|
|
\begin{document}
|
|
Hallo, Welt!
|
|
\end{document}
|
|
\end{minted}
|
|
\caption{Beispielhafter Aufbau eines einfachen \LaTeX-Dokuments mit Präambel und Dokumentumgebung}
|
|
\label{lst:grundaufbau-latex-dokument}
|
|
\end{listing}
|
|
\todo{Add preview.}
|
|
|
|
\subsection{Präambel}
|
|
Beginnen wir mit der Präambel.
|
|
Eine minimale Präambel sollte die folgenden Festlegungen treffen:
|
|
|
|
\subsubsection{Dokumentenklasse}\label{subsubsec:dokumentklasse}
|
|
\begin{minted}{latex}
|
|
\documentclass[<parameter>]{<dokumentklasse>}
|
|
\end{minted}
|
|
|
|
definiert die Dokumentenklasse.
|
|
Die verbreitetsten von \LaTeX\ standardmäßig unterstützten Dokumentklassen sind \mintinline{latex}{article} für kurze und \mintinline{latex}{report} für längere Dokumente, \mintinline{latex}{book} für Bücher, \mintinline{latex}{beamer}\footnote{Präsentationen in \LaTeX\ sind ein Thema für sich, auf das wir nicht näher eingehen. Bei Interesse sei diese Einführung von Overleaf empfohlen: \url{https://www.overleaf.com/learn/latex/Beamer}} für Präsentationen sowie \mintinline{latex}{letter}\footnote{Auch auf Briefe wird in diesem Skript nicht weiter eingegangen. WikiBooks gibt eine Einführung: \url{https://en.wikibooks.org/wiki/LaTeX/Letters}} für Briefe.
|
|
|
|
Parallel zu den Standard-Dokumentklassen entwickelten sich die KOMA-Script-Klassen\footnote{Einen umfassenden Überblick über die Möglichkeiten von KOMA-Script gibt folgendes Handbuch: \url{https://komascript.de/~mkohm/scrguide.pdf}}.
|
|
Als Alternative zum \mintinline{latex}{article} steht \mintinline{latex}{scrartcl} bereit, \mintinline{latex}{report} wird durch \mintinline{latex}{scrreport} ersetzt, \mintinline{latex}{scrbook} kann anstelle von \mintinline{latex}{book} verwendet werden und \mintinline{latex}{scrlttr2} ist als Ersatz für \mintinline{latex}{letter} entstanden.
|
|
Eine vollständige Liste aller möglichen KOMA-Script-Dokumentklassen ist online\footnote{Erreichbar unter \url{https://komascript.de/komascriptbestandteile}} verfügbar.
|
|
Die KOMA-Klassen ändern das Layout des fertigen PDF-Dokuments und bringen zusätzliche Funktionalitäten mit.
|
|
Während die Standard-Klassen für den Gebrauch in Amerika gedacht sind, folgen KOMA-Klassen europäischen Normen, etwa bei Briefformaten.
|
|
|
|
\todo{Vergleichendes Bild von reinem LaTeX und KOMA-Script?}
|
|
|
|
Dem \mintinline{latex}{\documentclass}-Befehl können verschiedene optionale Parameter übergeben werden.
|
|
\mintinline{latex}{\documentclass[10pt,a5paper,landscape]{scrartcl}} etwa konfiguriert einen KOMA-Script-Artikel mit Schriftgröße 10\,pt\footnote{Die Standardschriftgröße wäre hier 12\,pt} auf A5-Papier\footnote{In der Voreinstellung handelte es sich um A4-Papier.} im Querformat.
|
|
Auch die Sprache kann mit übergeben werden (vgl. \cref{subsubsec:sprache}).
|
|
|
|
\subsubsection{Exkurs: Pakete}
|
|
\begin{minted}{latex}
|
|
\usepackage[<optionen>]{<paketname>}
|
|
\end{minted}
|
|
|
|
Pakete sind \LaTeX-Erweiterungen, die zusätzliche Befehle und Funktionalitäten zur Verfügung stellen.
|
|
Es existieren verschiedene Pakete für verschiedene Anwendungsfälle (z.\,B. Formelsatz, Listen, \textellipsis).
|
|
Bevor sie verwendet werden können, müssen sie in der Präambel eingebunden werden.
|
|
Hierfür wird der obige Befehl verwendet.
|
|
Die wichtigsten \LaTeX-Pakete sind im Comprehensive \TeX\ Archive Network\footnote{Erreichbar unter \url{https://www.ctan.org/}}, kurz CTAN, abgelegt.
|
|
Hier finden sich auch Dokumentationen zu den einzelnen Funktionalitäten.
|
|
|
|
\subsubsection{Kodierung}
|
|
\begin{minted}{latex}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[t1]{fontenc}
|
|
\end{minted}
|
|
|
|
Pakete werden zum Beispiel zur Auswahl der Zeichenkodierung benötigt.
|
|
Die Zeichenkodierung\footnote{Vgl. \url{https://de.wikipedia.org/wiki/Zeichenkodierung}} entscheidet darüber, welcher Zeichensatz zur Verfügung steht.
|
|
Der Standardzeichensatz in \LaTeX\ ist ASCII\footnote{Vgl. \url{https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange}}.
|
|
Dieser amerikanische Standard enthält beispielsweise keine Umlaute und ist daher für die meisten Einsätze wenig geeignet.
|
|
Als universelle Zeichenkodierung kann UTF-8\footnote{Vgl. \url{https://de.wikipedia.org/wiki/UTF-8}} verwendet werden.
|
|
|
|
In \LaTeX-Dokumenten sind zwei verschiedene Zeichenkodierungen von Belang.
|
|
Das Input Encoding (kurz: \mintinline{latex}{inputenc}) bezieht sich auf den Quelltext, den wir eingeben, während das Font Encoding (kurz: \mintinline{latex}{fontenc}) das fertige PDF-Dokument beeinflusst.
|
|
Konkret beeinflusst \mintinline{latex}{fontenc} die Wahl der Schriftartdatei, die verwendet wird, um den Inhalt des Dokuments darzustellen, denn auch diese muss natürlich Sonderzeichen beinhalten\footnote{Details zur Arbeitsweise von \mintinline{latex}{fontenc} gibt dieser Beitrag: https://www.texwelt.de/fragen/5537/was-macht-eigentlich-usepackaget1fontenc}.
|
|
\mintinline{latex}{T1} ist eine Kodierung, die mit einer begrenzten Anzahl an Zeichen europäische Sprachen abzubilden versucht.
|
|
Bei Verwendung von XeLaTeX und LuaLaTeX wird die Spezifikation des \mintinline{latex}{fontenc} obsolet.
|
|
\todo{Sagen wir sonst noch was zu den beiden? Dann verlinken, sonst anpassen!}
|
|
|
|
\subsubsection{Sprache}\label{subsubsec:sprache}
|
|
\begin{minted}{latex}
|
|
\usepackage[ngerman]{babel}
|
|
\end{minted}
|
|
|
|
Das Paket \mintinline{latex}{babel} stellt sprachspezifische Informationen (z.\,B. Silbentrennung, Sonderzeichen, Wechsel zwischen Fonts, Übersetzung von Labels\footnote{Vgl. \cref{sec:referenzen}} wie \enquote{Kapitel}, \enquote{Inhaltsverzeichnis} oder \enquote{Abbildung}) bereit.
|
|
Als optionaler Parameter kann die Sprache übergeben werden.
|
|
\mintinline{latex}{ngerman} steht hierbei für die Neue Deutsche Rechtschreibung.
|
|
Manche Pakete erfordern es, dass die Sprachangabe schon als optionaler Parameter dem \mintinline{latex}{\documentclass}-Befehl\footnote{Vgl. \cref{subsubsec:dokumentklasse}} übergeben wird.
|
|
In diesem Fall wird der optionale Parameter beim Einbinden von \mintinline{latex}{babel} einfach weggelassen.
|
|
|
|
In einem Dokument können auch mehrere Sprachen verwendet werden.
|
|
Sie können einfach kommagetrennt als optionale Parameter aufgelistet werden.
|
|
Im Dokument kann mit dem Befehl \mintinline{latex}{\selectlanguage{<sprache>}} zwischen den Sprachen umgeschaltet werden.
|
|
Fremdsprachiger Text lässt sich alternativ auch über folgenden Befehl einbinden:
|
|
\begin{minted}{latex}
|
|
\foreignlanguage{<sprache>}{<text>}
|
|
\end{minted}
|
|
\todo{Beispiel!}
|
|
|
|
\subsection{Dokumentumgebung}
|
|
|
|
Zwischen \mintinline{latex}{\begin{document}} und \mintinline{latex}{\end{document}} gehören die Inhalte, die tatsächlich im Dokument erscheinen sollen.
|
|
|
|
\subsubsection{Fließtext}
|
|
Der einfachste Inhalt der Dokumentumgebung ist Fließtext.
|
|
Er kann direkt in den Quelltext geschrieben werden.
|
|
Zeilenumbrüche und zu mehreren auftretende Leerzeichen werden dabei ignoriert.
|
|
Leerzeilen erzeugen einen neuen Absatz, der standardmäßig mit einem Einzug beginnt\footnote{Der Befehl \mintinline{latex}{\noindent} verhindert dies}.
|
|
Manuelle Umbrüche können mit zwei Backslashes (\enquote{\textbackslash\textbackslash}) erzwungen werden.
|
|
Dies sollte jedoch vermieden werden.
|
|
|
|
Einige Zeichen sind für besondere Funktionen reserviert.
|
|
So bewirkt ein Prozent-Zeichen beispielsweise, dass der Rest einer Zeile im fertigen PDF nicht sichtbar ist.
|
|
Wir sprechen hier von einem Kommentar.
|
|
Falls tatsächlich ein Prozentzeichen erscheinen soll, könnt ihr dies durch einen Backslash erreichen: \mintinline{latex}{\%}.
|
|
Diese Lösung, die auch als Escaping bezeichnet wird, funktioniert auch für die Zeichen \#, \$, \^, \&, \_, \{ und \}.
|
|
Für den Backslash muss der Befehl \mintinline{latex}{\textbackslash} verwendet werden.
|
|
|
|
\subsubsection{Abschnitte und Kapitel}
|
|
Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt.
|
|
Immer nutzbar sind die folgenden Befehle:
|
|
|
|
\begin{minted}{latex}
|
|
\section{Ebene 1}
|
|
\subsection{Ebene 2}
|
|
\subsubsection{Ebene 3}
|
|
\paragraph{Ebene 4}
|
|
\subparagraph{Ebene 5}
|
|
\end{minted}
|
|
\todo{Ordentliches Beispiel basteln}
|
|
|
|
Je nach Dokumentenklasse sind außerdem \mintinline{latex}{\chapter{Kapitel}} und \mintinline{latex}{\part{Teil}} verfügbar -- beispielsweise in Büchern.
|
|
Mit Sternchen fallen bei allen diesen Befehlen die Nummerierung und der Eintrag im Inhaltsverzeichnis\footnote{Vgl. \cref{subsubsec:inhaltsverzeichnis}} weg:
|
|
|
|
\begin{minted}{latex}
|
|
\section*{Kommt nicht im Inhaltsverzeichnis vor}
|
|
\end{minted}
|
|
|
|
Ein alternativer Titel im Inhaltsverzeichnis kann als optionaler Parameter in eckigen Klammern zwischen dem Befehl und dem eigentlichen Titel angegeben werden.
|
|
|
|
\begin{minted}{latex}
|
|
\section[Titel im Verzeichnis]{Kapitelüberschrift}
|
|
\end{minted}
|
|
|
|
\subsubsection{Titelei}
|
|
Ein einfacher Titel lässt sich im Dokument mit dem Befehl \mintinline{latex}{\maketitle} erzeugen.
|
|
Die Werte für die Einträge müssen in der Präambel festgelegt werden.
|
|
Mehrere Autoren werden dabei mit \mintinline{latex}{\and} verbunden.
|
|
Wird kein Datum angegeben, wird per default das aktuelle Datum gesetzt.
|
|
|
|
\begin{minted}{latex}
|
|
\title{Die Welt der Trüffel}
|
|
\author{Fooboar Rüssel \and Fachschaft WIAI}
|
|
\date{\today}
|
|
\end{minted}
|
|
\todo{Ordentliches Beispiel.}
|
|
|
|
\noindent Die genaue Gestaltung hängt ab von der verwendeten Dokumentklasse.
|
|
|
|
\subsubsection{Verzeichnisse}\label{subsubsec:inhaltsverzeichnis}
|
|
|
|
Aus allen mit den oben genannten Befehlen eingefügten Abschnitten fügt der Befehl \mintinline{latex}{\tableofcontents} ein automatisch nummeriertes Inhaltsverzeichnis zusammen.
|
|
Die Aufzählungszeichen, die Tiefe der Aufzählung und viele weitere Gestaltungselemente sind frei anpassbar\footnote{Ein empfehlenswerter Blogpost hierzu ist unter \url{https://texblog.org/2011/09/09/10-ways-to-customize-tocloflot/} verfügbar.}.
|
|
Damit \LaTeX\ das Inhaltsverzeichnis vollständig baut, muss das Projekt zweimal kompiliert werden.
|
|
|
|
\todo{Screenshot}
|
|
|
|
Neben dem Inhaltsverzeichnis stehen auch eine \mintinline{latex}{\listoffigures} (Abbildungsverzeichnis) und eine \mintinline{latex}{\listoftables} (Tabellenverzeichnis) zur Verfügung.
|
|
Aufgeführt werden jeweils die Bild- oder Tabellenunterschriften.
|
|
\todo{Verweis zu den Kapiteln ergänzen} |