12 KiB
Grundstruktur eines LATEX-Dokuments
Präambel & Dokumentumgebung
👁 Ein mit LaTeX gesetztes Dokument besteht aus:
- Präambel: globale Einstellungen (Dokumentklasse, Encoding, Sprache, Seitenformat, zusäzliche Pakete, ...) und
- Dokumentumgebung: textueller Inhalt des Dokuments.
\documentclass{scrartcl} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel}
\begin{document} Hallo, Welt! \end{document}
Dokumentklasse
\documentclass[<parameter>]{<dokumentklasse>}
Konkret zum Beispiel
\documentclass[10pt,a5paper,landscape]{scrartcl}
scrartcl,articlefür einfache Dokumentescrreport,reportfür komplexere Dokumentescrbook,bookfür Bücherbeamerfür Präsentationen
Pakete
\usepackage[<optionen>]{<paketname>}
- Pakete stellen zusätzliche Befehle und Funktionalitäten zur Verfügung.
- Es existieren verschiedene Pakete für verschiedene Anwendungsfälle (z. B. Formelsatz, Listen, ...).
- Sie müssen vor der Nutzung **in der Präambel** eingebunden werden.
Encoding
\usepackage[utf8]{inputenc}
\usepackage[t1]{fontenc}
- Die Zeichenkodierung bestimmt, welche Zeichen verfügbar sind.
- ASCII enthält kaum Sonderzeichen wie deutsche Umlaute.
- UTF-8 ist eine universelle Kodierung.
Sprache
\usepackage[ngerman]{babel}
- Das Paket
babelstellt sprachspezifische Informationen (z. B. Silbentrennung, Sonderzeichen, Wechsel zwischen Fonts, Übersetzung von Labels wie ›Kapitel‹, ›Inhaltsverzeichnis‹ oder ›Abbildung‹) bereit. ngermansteht für die neue deutsche Rechschreibung.
Sprachen
Es können auch mehrere Sprachen im Dokument verwendet werden:
\usepackage[ngerman, swedish, russian, greek, english]{babel}
Umschalten zwischen Sprachen:
\selectlanguage{<sprache a>}
\selectlanguage{<sprache b>}
Eingebetteter Text in anderer Sprache:
\selectlanguage{<sprache a>}
\foreignlanguage{<sprache b>}{Hier steht Text in Sprache B innerhalb eines Textes in Sprache A}
Sprachen – Ein Beispiel
\today
\selectlanguage{ngerman}
\today
\selectlanguage{swedish}
\today
\selectlanguage{russian}
\today
\selectlanguage{greek}
\today
\selectlanguage{english}
\today
Fließtext
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.
Reservierte Zeichen
Bestimmte Zeichen lösen in LaTeX Dinge aus:
`# $ % ^ & _ { } ~ \`
50% sind die Hälfte.
Lösung: »`\`« voranstellen:
50\% sind die Hälfte.
Funktioniert nicht mit »`\\`«, Lösung dafür später.
Abschnitte und Kapitel
Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt. Immer verfügbar:
\section{Ebene 1}
\subsection{Ebene 2}
\subsubsection{Ebene 3}
\paragraph{Ebene 4}
\subparagraph{Ebene 5}
Je nach Dokumentenklasse zusätzlich:
\chapter{Kapitel}
\part{Teil}
Abschnitte und Kapitel
Mit Sternchen fallen bei allen diesen Befehlen die Nummerierung und der Eintrag im Inhaltsverzeichnis weg:
\section*{Kein Verzeichniseintrag}
Außerdem kann für das Inhaltsverzeichnis ein alternativer Titel angegeben werden:
\section[Titel im Verzeichnis]
{Kapitelüberschrift}
Titelei
\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}
- In der Präambel werden die Werte für die Einträge gespeichert.
- Das Setzen des Titels erfolgt in der Dokumentumgebung mit dem Befehl
\maketitle. - Die genaue Gestaltung hängt ab von der verwendeten Dokumentklasse.
- Mehrere Autoren werden mit
\andgetrennt. - Wird kein Datum angegeben, wird per default das aktuelle Datum gesetzt. Ein abweichendes Datum kann mit
\date{}definiert werden.
Titelei
\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}
Inhaltsverzeichnis
\tableofcontents
- Nummerierung erfolgt automatisch
- Viele Anpassungsmöglichkeiten (Aufzählungszeichen und -tiefe, automatische Benennung, …)
- (Unter-)Kapitel, die nicht im Verzeichnis aufgeführt werden sollen, werden mit einem »`*`« versehen, also z. B.
\section\*{}. - Am besten zweimal kompilieren
Inhaltsverzeichnis
\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}
Weitere Verzeichnisse
Abbildungsverzeichnis und Tabellenverzeichnis
\listoffigures
\listoftables
- Fügt das gewählte Verzeichnis an der entsprechenden Stelle ins Dokument ein.
- 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.
Dokument und Text gliedern
- Ladet das Skript l2kurz aus dem VC herunter, entpackt es und öffnet die Datei `allgemeines.tex` in TeXStudio.
- 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:
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\usepackage{csquotes}
- Im nicht auskommentierten Abschnitt wurden **Absätze** durch `//` markiert. Verwendet stattdessen echte Absätze.
- Kommentiert den restlichen Text ein. Verwendet für alle **Überschriften** passende LaTeX-Befehle (`\section` bis `\subsubsection`).
- Fügt ein **Inhaltsverzeichnis** ein.