12 KiB
Raw Blame History

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, article für einfache Dokumente
  • scrreport, report für komplexere Dokumente
  • scrbook, book für Bücher
  • beamer fü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 babel stellt sprachspezifische Informationen (z.B. Silbentrennung, Sonderzeichen, Wechsel zwischen Fonts, Übersetzung von Labels wie Kapitel, Inhaltsverzeichnis oder Abbildung) bereit.
  • ngerman steht 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 \and getrennt.
  • 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.