Einführung

LaTeX-Quellcode wird üblicherweise in Dateien mit der Endung tex geschrieben. Mit dem Programm pdflatex kann daraus ein PDF-Dokument erstellt werden.

Ein Latex-Minimalbeispiel

Eine minimale LaTeX-Quelldatei sieht beispielsweise folgendermaßen aus:

% Datei: hallo-welt.tex

% Papierformat, Schriftgröße und Dokumentklasse festlegen:
\documentclass[a4paper, 12pt]{article}

% Beginn des Dokuments:
\begin{document}

Hallo Welt!

% Ende des Dokuments:
\end{document}

Bei allen Zeilen, die mit einem Prozentzeichen (%) beginnen, handelt es sich um Kommentare, die von LaTeX beim Übersetzen des Quellcodes in eine PDF-Datei ignoriert werden.

Wird der obige Quelltext als Datei hallo-welt.tex in einem beliebigen Verzeichnis gespeichert, so kann in einer Shell durch einen Aufruf von pdflatex hallo-welt.tex in diesem Verzeichnis das entsprechende PDF-Dokument hallo-welt.pdf erstellt werden.

Aufbau eines LaTeX-Dokuments

In der ersten Zeile einer .tex-Datei wird mit der Anweisung \documentclass die Dokumentklasse festgelegt. Neben den auf amerikanische Layout-Formate zugeschnittenen Standard-Klassen article, report und book können auch die europäischen Formate scrartcl für kurze Artikel, scrreprt für (längere) Berichte und scrbook für Bücher gewählt werden. Zudem gibt es beispielsweise die Dokumentklassen scrlettr für Briefe und beamer für Präsentationen.

Allgemein hat die \documentclass-Anweisung folgende Syntax:

\documentclass[optionen]{dokumentklasse}

Optionale Argumente werden allgemein in eckige Klammern gesetzt und können weggelassen werden, notwendige Argumente werden in geschweifte Klammern gesetzt.

Mögliche Optionen für Dokumentklassen sind beispielsweise:

Option Beschreibung
10pt oder 12pt Festlegung der Standard-Schriftgröße
oneside oder twoside Erstellen einseitiger oder zweiseitiger Dokumente
twocolumn Zweispaltige Textausgabe
noparskip oder halfparskip Festlegung des Abstands zwischen Absätzen

In den darauf folgenden Zeilen, der so genannten “Präambel” einer LaTeX-Datei, können mit der Anweisung \usepackage Zusatzpakete geladen werden. Durch eine passende Auswahl an solchen Paketen kann LaTeX bei bestmöglicher Performance auf die jeweilige Aufgabe angepasst werden.

Die \usepackage-Anweisung hat allgemein folgende Syntax:

\usepackage[optionen]{paketname}

Häufig genutzte Pakete sind beispielsweise graphicx zum Einbinden von Bildern oder color zum Drucken von farbigem Text. Viele Pakete werden ohne eine Angabe von Optionen geladen. Solche Pakete können auch folgendermaßen importiert werden:

\usepackage{paket1, paket2, ...}

Anschließend beginnt das eigentliche Dokument. Es wird von \begin{document} und \end{document} eingeschlossen.

Eine Gliederung eines Dokuments in Kapitel (möglich in den Dokumentklassen scrbook und scrreprt) und Abschnitte (möglich in allen Dokumentklassen) ist durch die Anweisungen \chapter{} beziehungsweise \section{} an den entsprechenden Stellen möglich. Wahlweise kann anhand dieser Untergliederungen auch ein Inhaltsverzeichnis durch die Anweisung \tableofcontents erstellt und an der entsprechenden Stelle in das Dokument eingefügt werden.

Ein etwas ausführlicheres Beispiel eines LaTeX-Dokuments sieht somit folgendermaßen aus:

\documentclass[a4paper, 12pt]{scrbook}

\begin{document}

% Inhaltsverzeichnis anzeigen:
\tableofcontents

% Neue Seite beginnen:
\newpage

% Überschrift eines Kapitels:
\chapter{Einleitung}

...

\newpage

% Überschrift eines Kapitels:
\chapter{Theoretische Grundlagen}

% Überschrift eines Abschnittes:
\section{Allgemeines}

...

% Überschrift eines Abschnittes:
\section{Konkreteres}

...

\end{document}

Die Anweisung \newpage bewirkt hierbei, dass an der entsprechenden Stelle eine neue Seite angefangen wird.

Umlaute und deutsche Sprachunterstützung

LaTeX ist ursprünglich für den englischen Sprachraum entwickelt worden. Es gibt allerdings Zusatzpakete, die eine Erkennung von beispielsweise deutschen Umlauten sowie passender Silbentrennung ermöglichen.

In der Präambel eines deutschsprachigen LaTeX-Dokuments sollten folgende Pakete geladen werden:

% deutsche Silbentrennung aktivieren:
\usepackage[ngerman]{babel}

% deutsche Umlauten erlauben:
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

Sollte die deutsche Version des Sprachpakets babel nicht gefunden werden, so muss das Paket texlive-lang-german nachinstalliert werden (sudo aptitude install texlive-lang-german).

Erstellen eines PDF-Dokuments aus einer Quelldatei

Aus einer tex-Quelldatei kann in einer Shell mittels pdflatex ein gleichnamiges PDF-Dokument erstellt werden. Die Syntax dabei lautet:

pdflatex datei.tex

Neben dem fertigen Dokument datei.pdf erzeugt der obige Aufruf zusätzlich automatisch weitere Dateien, beispielsweise datei.aux, datei.log und datei.toc. In diesen Dateien werden nötige Hilfsinformationen über interne Sprungstellen (beispielsweise Fußnoten und Zitate), die Ausgabe des letzten Aufrufs von pdflatex oder die Seitenangaben des aktuellen Inhaltsverzeichnisses abgelegt.

Hilfsdatei Bedeutung
.log Protokoll des letzten LaTeX-Aufrufs
.aux Hilfsdatei für Querverweise
.toc Inhaltsverzeichnis
.lof Abbildungsverzeichnis
.lot Tabellenverzeichnis
.idx Index-Register

Üblicherweise kann man die automatisch erzeugten Hilfsdateien weitgehend außer Acht lassen. Eine Besonderheit liegt jedoch darin, dass LaTeX die Seitenzahlen für das Inhaltsverzeichnis erst dann komplett in die .toc-Datei schreiben kann, wenn die Quelldatei vollständig übersetzt ist. Um nach einer Veränderung einer tex-Quelldatei ein aktualisiertes Inhaltsverzeichnis in der pdf-Druckversion zu erhalten, muss pdflatex daher ein zweites Mal aufgerufen werden. Gleiches gilt für Änderungen im Index-Register oder im Literaturverzeichnis: Auch hier werden erst im Laufe des Übersetzungsvorgangs die Änderungen in die entsprechenden Hilfsdateien geschrieben, so dass die gemachten Änderungen erst bei einem zweiten Übersetzungsvorgang berücksichtigt werden können.

Grundlegende Konzepte in LaTeX

Im folgenden sollen einige Prinzipien, die für das Arbeiten mit LaTeX von Bedeutung sind, in einer knappen Zusammenfassung vorgestellt werden.

Anweisungen, Deklarationen und Umgebungen

In LaTeX gibt es dreierlei Arten von “Steuerelementen”, die den Ablauf des Übersetzungsvorgangs beeinflussen können:

  • Anweisungen haben folgende Syntax:

    \anweisungsname[optionale-argumente]{pflicht-argumente}
    

    Alle Anweisungen beginnen also mit einem Backslash-Zeichen, gefolgt vom eigentlichen Namen der Anweisung. Der Anweisungsname wird allgemein durch ein Leerzeichen oder durch ein Sonderzeichen beendet. [1]

    Der erstere Fall tritt häufig bei Anweisungen auf, die ohne weitere Argumente aufgerufen werden, wie beispielsweise \newpage. Der zweite Fall tritt stets ein, wenn der Anweisung beim Aufruf optionale oder obligatorische Argumente übergeben werden, denn auch die Zeichen [ und { sind Sonderzeichen. Ebenso ist es nach dieser Regel allerdings auch möglich, in einer mathematischen Formel beispielsweise \alpha_1 für ein \alpha-Zeichen mit dem Index 1, also \alpha_1 zu schreiben.

    Anweisungen sind in LaTeX elementare Bausteine, sie können also nicht weiter ineinander verschachtelt werden. Daher ist es beispielsweise nicht möglich, innerhalb einer \textbf{}-Anweisung, die den in den geschweiften Klammern stehenden Text in Fettdruck ausgibt, mittels \newline einen manuellen Zeilenwechsel zu erzwingen. Anweisungen beziehen sich daher meist auf einzelne Textteile innerhalb einer Zeile oder innerhalb eines Absatzes.

  • Deklarationen sind lokale Bereiche innerhalb eines LaTeX-Dokuments, die innerhalb von geschweiften Klammern gesetzt sind, also von { und } umschlossen sind.

    {
    
        ... Inhalt ...
    
    }
    

    Der Vorteil von Deklarationen liegt darin, dass es Anweisungen wie \small (Verkleinerung der Schriftart) gibt, die sich normalerweise auf den gesamten nachfolgenden Text auswirken – bis zum Ende des Dokuments, oder bis ihre Wirkung durch eine andere Anweisung aufgehoben wird – im obigen Beispiel durch \normalsize.

    Begrenzt man den gewünschten Textabschnitt, der kleingedruckt erscheinen soll, allerdings mit geschweiften Klammern und schreibt unmittelbar nach der öffnenden Klammer { die Anweisung \small, so wird deren Wirkung mit der schließenden Klammer } wieder aufgehoben.

    Mittels Deklarationen kann die Wirkung einzelner Anweisungen somit auch auf mehrere Zeilen oder Absätze ausgeweitet werden.

  • Umgebungen haben stets folgende Syntax:

    \begin{umgebung}
    
        ... Inhalt ...
    
    \end{umgebung}
    

    Umgebungen schaffen ebenso wie Deklarationen einen lokalen Bereich, in dem bestimmte Bearbeitungsmerkmale wie Schriftgröße, Textbreite, Textausrichtung oder ähnliches von den übrigen Text verschieden sein können. In LaTeX existieren zahlreiche vordefinierte Umgebungen, die eigene Änderungen mit sich bringen; im Kapitel Wichtige Umgebungen werden einige davon näher vorgestellt.

    Neben den lokalen Änderungen, welche die jeweiligen Umgebungen von sich aus vornehmen, können auch innerhalb von Umgebungen mittels entsprechender Anweisungen zusätzliche lokale Änderungen manuell vorgenommen werden.

Text- und Formelmodus

In LaTeX werden zwischen drei verschiedenen Arten von Text unterschieden:

  • Im so genannten “Absatzmodus” wird Text als eine gewöhnliche Sequenz von Wörtern angesehen, die bei Bedarf automatisch auf mehrere Zeilen aufgeteilt wird (inklusive automatischer Silbentrennung). Dieser Modus ist Standard bei der Eingabe von Text.
  • Im so genannten “LR-Modus” wird Text ebenfalls als Sequenz von Wörtern angesehen, die von links nach rechts abgearbeitet beziehungsweise übersetzt wird; im Gegensatz zum Absatzmodus kann in diesem Modus allerdings kein Zeilenumbruch zwischen den Wörtern stattfinden.
  • Im so genannten “Mathematik-Modus” werden die die eingegebenen Buchstaben und Symbole als Teil einer Formel interpretiert. Hierbei werden beispielsweise Leerzeichen, die zwischen einzelnen Buchstaben stehen, ignoriert; dafür sind bestimmte Syntax-Elemente wie ^ oder _ zum Hoch- beziehungsweise Tiefstellen von Textelementen ausschließlich in diesem Modus erlaubt.

Da sich der Absatz-Modus und der LR-Modus nur hinsichtlich des Zeilenumbruch-Verhaltens unterscheiden, werden beide oftmals gemeinsam als “Textmodus” bezeichnet, um sie von der Eingabe mathematischer Formeln zu unterscheiden.


Anmerkungen:

[1]Manche Anweisungen verlangen auch mehrere Pflicht-Argumente. Beispielsweise wird bei \setcounter{}{} innerhalb der ersten geschweiften Klammern der Name einer Zählervariablen, und innerhalb der zweiten der zuzuweisende Wert angegeben. Beide Argumente sind beim Aufruf der \setcounter{}-Anweisung allerdings notwendig.