Einführung in LaTeX

Vorwort/Einführung

Stelle dir vor, du möchtest gern einen Artikel zum Thema Schach schreiben. Deinen Text hast du bereits fertig und du überlegst in welcher Form du ihn zu Papier bringen könntest. Glücklicherweise hast du einen Vortrag gehört, der dich neugierig auf LaTeX gemacht hat. Also beschließt du, dich mal mit diesem Thema zu befassen.

Ich will euch mit dem folgenden Tutorial eine Einstiegshilfe für die Benutzung und das erste Verständnis des Textsatzsystem LaTeX geben. Trotz einer Vielzahl von Dokumentationen ist, meiner Erfahrung nach, die Anfangshürde sehr hoch. Ich will versuchen, euch den Einstieg etwas zu erleichtern und mit euch ein kleines Dokument aufbauen.

Solltet ihr Vorschläge zur Verbesserung haben, Fehler finden oder falls euch das generell zu unverständlich ist, dann zögert nicht und schreibt mir über das Webformular eine Nachricht. Besten Dank dafür!

Meine Beschreibungen gehen davon aus, dass bei dir bereits ein TeX-System installiert ist. Sollte dies nicht der Fall sein, schaue dir die Punkte 4.1 und 4.2 der DE-TeX-FAQ an. Wenn dies installiert ist und funktioniert, dann kann es los gehen ...

Der Aufbau einer LaTeX-Datei

Präambel

Eine LaTeX-Datei besteht zunächst einmal aus einer sog. Präambel. Dort legst du fest, welche Art von Dokument, die Dokumentklasse, du anlegen willst. LaTeX bietet dir eine Vielzahl verschiedenster Dokumentklassen an. In der untenstehenden Liste findest du eine Auswahl von Dokumentarten und die dazugehörige Klasse:

einfaches Dokument, Artikel
article, scrartcl
komplexere Dokumente, Studien-/Diplomarbeiten
report, scrreprt
Bücher
book, scrbook
Präsentationen
beamer, seminar, texpower
Briefe
g-brief, scrlttr2

In der Liste sind dir eventuell Klassen aufgefallen, die mit scr beginnen. Hierbei handelt es sich um das sog. KOMA-Scriptpaket. Dies sind verschiedene Dokumentklassen, die den Dokumenten ein "europäischeres" Design vorgeben, d.h. Seitenränder und Standardpapiergröße sind standardmäßig anders eingestellt (Dies sind nicht alle Änderungen. Wer es genau nachlesen will, kann nach dem scrguide suchen und sich alles genau zu Gemüte führen.).

Ich werde die Dokumentklasse scrartcl nutzen.

Wie wird nun dies in das Dokument eingebunden? Das ist ganz einfach. Mit einem einfachen Backslash ("\") wird ein Befehl eingeleitet. Danach steht der Name des Befehls und in geschweiften Klammern dann das Argument. Für das Beispiel sieht diese Zeile so aus:

\documentclass{scrartcl}

Weiterhin können in der Präambel einer LaTeX-Datei diverse zusätzliche Pakete geladen werden, die man evtl. für das Dokument benötigt. Dies können z.B. welche für die Erstellung von Tabellen, die Einbindung von Bildern oder die Darstellung von mathematischen Formeln sein. Ich werde hier später noch darauf zurückkommen.

Dokumentkörper

Nachdem die Präambel fertig gestellt ist, kommen wir zum eigentlichen Text. LaTeX will wieder in Form von Befehlen wissen, wo das Dokument beginnt und wo es endet. Dazu nutzt man folgende Syntax:

\begin{document}
...
\end{document}

Dazwischen kann man nun beliebig viel Text schreiben:

Einfachen Text setzen

Nun weisst du bereits genug, um einen kleinen Text zu setzen. Nimm einen Texteditor und füge das oben geschriebene ein. Ich gebe der Datei den Namen schach.tex. Nachdem der Anfang des Textes im Körper des Dokuments deklariert wurde, schreibst du nun deinen Text:

\documentclass{scrartcl}
\begin{document}
  SCHACH

  Schach ist ein Brettspiel und wird auf einem quadratischen Brett
  gespielt. Dies ist in 64 Felder eingeteilt.

  Am Anfang bekommt jeder Spieler 16 Figuren. Dies sind
  * acht Bauern
  * zwei Türme
  * zwei Springer
  * zwei Läufer
  * eine Dame
  * ein König
\end{document}

Die übersetzte Version (latex schach.tex) sieht dann folgendermassen aus:
Obiger Text als PDF-Datei
Hierbei fallen dir sicher einige Besonderheiten auf. Zum einen ist die ursprüngliche Form nicht erhalten geblieben und zum anderen fehlen in allen Worte die Umlaute.

Für den Interpreter von LaTeX gehört alles, was durch einen Zeilenvorschub (Enter) getrennt ist, zum selben Absatz. Erst wenn eine Leerzeile existiert, geht er davon aus, das jetzt ein Abschnittswechsel stattfindet. D.h. du kannst normalen Text einfach hintereinander weg schreiben. Wenn du einen Absatz machen möchtest, lässt du einfach eine Zeile frei.

Umlaute

LaTeX hat seine Ursprünge in den USA. Der amerikanische Zeichensatz (7-Bit-Ascii) bietet keine Umlaute. Für die korrekte Darstellung von Umlauten gibt es zwei Wege:

  1. Man kann Umlaute durch das Voranstellen von doppelten Anführungszeichen erzeugen, z.B.: "a für das ä oder "s für ein ß. (Hierfür muss das Paket babel mit der Option german bzw. ngerman eingebunden werden: \usepackage[ngerman]{babel}.)
  2. Über eine neue Zeile in der Präambel kann man LaTeX anweisen, die korrekte Kodierung zu verwenden. Diese lautet
    • \usepackage[latin1]{inputenc} für unixoide und auch Windowssysteme
    • \usepackage[ansinew]{inputenc} für Windows
    • \usepackage[applemac]{inputenc} für den Mac
    • \usepackage[utf8]{inputenc} ist eine Alternative für alle obigen Systeme.

Das um die oben beschriebene Zeile erweiterte Dokument sieht dann im Quelltext so aus:

\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\begin{document}
  SCHACH

  Schach ist ein Brettspiel und wird auf einem quadratischen Brett
  gespielt. Dies ist in 64 Felder eingeteilt.

  Am Anfang bekommt jeder Spieler 16 Figuren. Dies sind
  * acht Bauern
  * zwei Türme
  * zwei Springer
  * zwei Läufer
  * eine Dame
  * ein König
\end{document}

Die fertig erstellte Datei hat folgendes Aussehen: PDF-Datei mit Umlauten

Dokumentstrukturen

Nun ist offensichtlich, dass das Wort "SCHACH" eine Überschrift ist und die Punkte, die mit * beginnen, Listen sind. Dies soll natürlich auch in dem Dokument richtig aussehen.

Überschriften/Textabschnitte

I.d.R. unterteilt man seine Texte in diverse Abschnitte, Unterabschnitte und evtl. auch noch Unterunterabschnitte. Diese werden dann mit einer entsprechenden Überschrift gekennzeichnet. Die Dokumentklasse scrartcl kennt hier zunächst die Unterscheidung in section, subsection und subsubsection (Dies entspricht der oben beschriebenen Unterscheidung in Abschnitte.). Andere Dokumentklassen wie z.B. book kennen noch chapter als übergeordnetes Kapitel.

Das Beispiel kann man nun also erweitern:

\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\begin{document}
  \section{Schach}

  Schach ist ein Brettspiel und wird auf einem quadratischen Brett
  gespielt. Dies ist in 64 Felder eingeteilt.

  Am Anfang bekommt jeder Spieler 16 Figuren. Dies sind
  * acht Bauern
  * zwei Türme
  * zwei Springer
  * zwei Läufer
  * eine Dame
  * ein König
\end{document}

Als Bild: PDF-Datei mit Überschriften erster und zweiter Ordnung

Bis hierhin war doch alles sehr einfach. Immerhin kannst du jetzt schon ein Dokument mit Überschriften und einzelnen Absätzen schreiben. Nun will ich dir zeigen, wie man verschiedene Listen einfügen kann.

Listen

nicht numerierte Listen

Die Liste, die ich schon mit Sternen angedeutet habe, möchte ich auch gern ordentlich im Dokument sehen. Im deutschen ist dies eine Auflistung bzw. Gliederung, im englischen sagt man "to itemize". Dies ist auch der Name für die Umgebung. Diese wird, wie wir es oben bei dem Dokument gesehen haben, mit \begin{itemize} eingeleitet und mit \end{itemize} abgeschlossen. Die einzelnen Listeneinträge werden durch das Schlüsselwort \item gekennzeichnet:

\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\begin{document}
  \section{Schach}

  Schach ist ein Brettspiel und wird auf einem quadratischen Brett
  gespielt. Dies ist in 64 Felder eingeteilt.

  Am Anfang bekommt jeder Spieler 16 Figuren. Dies sind
  \begin{itemize}
    \item acht Bauern
    \item zwei Türme
    \item zwei Springer
    \item zwei Läufer
    \item eine Dame
    \item ein König
  \end{itemize}
\end{document}

Dokument mit Listenansicht

numerierte Listen

Auch für den Befehl für numerierte Listen muss man nur ein wenig in seinem Englisch kramen und stösst schnell auf "enumerate" als das richtige Wort. Eine numerierte Liste sieht daher so aus:

\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\begin{document}
  \section{Schach}

  Schach ist ein Brettspiel und wird auf einem quadratischen Brett
  gespielt. Dies ist in 64 Felder eingeteilt.

  Am Anfang bekommt jeder Spieler 16 Figuren. Dies sind
  \begin{itemize}
    \item acht Bauern
    \item zwei Türme
    \item zwei Springer
    \item zwei Läufer
    \item eine Dame
    \item ein König
  \end{itemize}

  \subsection{Eröffnung}
  Den Beginn einer Schachpartie nennt man Eröffnung. Diese sind zumeist
  sehr ausführlich analysiert. Viele Schachprogramme haben eine
  Eröffnungsbibliothek mit mehreren tausend Zügen. Eine Eröffnung
  könnte beispielsweise so aussehen:

  \begin{enumerate}
    \item e4  e5
    \item Lc4 d6
    \item Df3 Sc6
    \item Dxf7\#
  \end{enumerate}

  Hier spricht man vom Schäfermatt.
\end{document}

numerierte Listen und Unterabschnitt Im obigen Dokument habe ich zunächst einen neuen Unterabschnitt begonnen. Du siehst auch, dass dieser in der Ausgabe korrekt mit 1.1 bezeichnet wurde. Einzelne Einträge der numerierten Liste werden wie bei der Gliederung oben durch \item gekennzeichnet.

Beschreibungen

Als letzter Listentyp existieren Listen, mit denen man Begriffe beschreiben kann. Die Syntax ist wieder ähnlich zu den Beispielen oben. Der wesentliche Unterschied ist, dass das zu beschreibende Wort in eine eckige Klammer gepackt wird:

\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\begin{document}
  \section{Schach}

  Schach ist ein Brettspiel und wird auf einem quadratischen Brett
  gespielt. Dies ist in 64 Felder eingeteilt.

  Am Anfang bekommt jeder Spieler 16 Figuren. Dies sind
  \begin{itemize}
    \item acht Bauern
    \item zwei Türme
    \item zwei Springer
    \item zwei Läufer
    \item eine Dame
    \item ein König
  \end{itemize}

  \subsection{Eröffnung}
  Den Beginn einer Schachpartie nennt man Eröffnung. Diese sind zumeist
  sehr ausführlich analysiert. Viele Schachprogramme haben eine
  Eröffnungsbibliothek mit mehreren tausend Zügen. Eine Eröffnung
  könnte beispielsweise so aussehen:

  \begin{enumerate}
    \item e4  e5
    \item Lc4 d6
    \item Df3 Sc6
    \item Dxf7\#
  \end{enumerate}

  Hier spricht man vom Schäfermatt.

  \subsection{Verlauf des Spieles}
  Ein Schachspiel unterteilt sich in drei Abschnitte:
  \begin{description}
    \item[Eröffnung] Dies ist der Anfang einer Partie. Man versucht,
      zunächst alle Figuren optimal zu plazieren.
    \item[Mittelspiel] Hier kommt es sehr auf Strategie und Taktik an.
      Jeder Spieler versucht, das Spiel zu seinen Gunsten zu steuern.
    \item[Endspiel] Wenn dann nur wenige Figuren auf dem Brett verblieben
      sind, spricht man vom Endspiel. Meist wird versucht, einen 
      Bauern in eine höherwertige Figur umzuwandeln und den König Matt
      zu setzen.
  \end{description}
\end{document}

Der relevante Teil im übersetzten Dokument sieht dann folgendermassen aus: Beschreibungsliste

Tabellen

Innerhalb deines Artikels möchtest du nun auch einige Worte zu den aktuellen Schachspielern und insbesondere den Weltmeistern verlieren. Die FIDE listet auf der Seite der besten Spieler diese in Form einer Tabelle auf. Es bietet sich an, dies in dem LaTeX-Dokument ebenso zu machen, d.h. wir setzen diese Daten in Form einer Tabelle, also, wie der Engländer sagt, "tabular".

Somit ahnst du sicher, wie der richtige Name für die Tabellen-Umgebung lautet. Richtig: tabular
Nach der Deklaration mit dem Befehl \begin{tabular} muss in geschweiften Klammern angegeben werden, welche Ausrichtung die einzelnen Spalten haben sollen:

Die Tabelle im Beispiel soll drei Spalten (Rang, Name, ELO-Rating) haben und die ersten zwei sollen nach links ausgerichtet sein. Die letzte soll mittig ausgerichtet werden. Daher sieht die Einleitung der Umgebung folgendermassen aus: \begin{tabular}{llc}

Somit könnte die Tabelle folgende Form haben:

\begin{tabular}{llc}
Rang & Name & Rating\\
1 & Garry Kasparov & 2817\\
2 & Viswanathan Anand & 2774\\
3 & Wladimir Kramnik & 2764
\end{tabular}

und nach einem LaTeX-Lauf sieht sie folgendermaßen aus: Tabelle mit Schachweltmeistern Nun sieht dies noch nicht besonders nach einer schönen Form aus. Die Spalten sollten durch eine Linie getrennt werden und auch die Kopfzeile sollte sich visuell vom Körper der Tabelle abheben. Daher muss diese Tabelle noch ein wenig verbessert werden:

Vertikale Linien
Man kann in der Einleitung der Umgebung festlegen, wie die Linien angelegt werden sollen. Dies geschieht, durch senkrechte Striche (AltGr+<):
\begin{tabular}{|l|l|c|} - zwischen jeder Zelle gibt es eine vertikale Linie.
Horizontale Linien
Horizontale Linien können nach Belieben durch \hline eingefügt werden.
Aussehen der Kopfzeile
Ich zeichne die Kopfzeile einer Tabelle mit \textsc{} aus. Dies bewirkt eine Hervorhebung des Textes und ist im Gegensatz zu fetter und großer Schrift nicht so aufdringlich:
\textsc{Rang} & \textsc{Name} & \textsc{Rating}

Mit den obigen Änderungen sieht der neue Quellcode für die Tabelle bzw. auch die Tabelle wie folgt aus:

\begin{tabular}{|l|l|c|}
\hline
\textsc{Rang} & \textsc{Name} & \textsc{Rating}\\
\hline
\hline
1 & Garry Kasparov & 2817\\
2 & Viswanathan Anand & 2774\\
3 & Wladimir Kramnik & 2764\\
\hline
\end{tabular}

Tabelle mit optischen Verbesserungen

Tabellen können beliebig erweitert werden und sind auch ein Anstoß steter Diskussion in LaTeX-Newsgroups (siehe hierzu auch entsprechende Diskussionen bei Google Groups). Auch hat die TeX-FAQ einen eigenen Eintrag zu Tabellen. Daher würde ich dich bitten, bei weitergehenden Fragen die unten genannten Dokumentationen zu konsultieren.

Bilder

Kaum ein Text kommt ohne Bilder aus. Diese können die im Text beschriebenen Sachverhalte genauer beleuchten oder die Texte einfach auflockern. Sicher möchtest auch du einige Bilder mit in deinem Dokument unterbringen. Daher will ich dir nun zeigen, wie man dies mit LaTeX bewerkstelligen kann.

Für die Bilder muss zunächst ein neues Paket eingebunden werden. Hierfür existieren zwei Pakete graphics und graphicx. Du kannst das Paket mittels \usepackage{graphics} oder \usepackage{graphicx} benutzen. Sowohl graphics wie auch graphicx stellen die Anweisung \includegraphics zur Verfügung. Hiermit kannst du ganz einfach ein Bild einbinden. Stell dir vor, du hast ein Bild mit einem Schachbrett. Das soll nun mit eingebunden werden. Das beste Format für ein Bild ist Postscript (.eps oder .ps). Du kannst aber auch ein JPEG- oder PNG-Bild einbinden.

[...]
Schach ist ein Brettspiel und wird auf einem quadratischen Brett
gespielt. Dies ist in 64 Felder eingeteilt.

\includegraphics{schachbrett.eps}
[...]

Dies führt dann zu folgender Ausgabe: Dokument mit Schachbrett

Die beiden oben genannten Pakete bieten noch die Möglichkeit, die Bilder zu skalieren oder sie rotieren zu lassen. Wenn du dies nutzen möchtest, empfehle ich dir einen Blick in den grfguide. Auch die unten aufgeführte TeX-FAQ bietet diverse Hinweise zu dem Thema.

Mathematische Texte

Im Rahmen eures Dokumentes zum Thema Schach wollt ihr vielleicht schreiben, wie die Berechnung der Elo-Zahl funktioniert oder eventuell möchtet ihr auch auf die Weizenkornlegende eingehen. Hierzu werdet ihr unter Umständen mathematische Symbole oder Zeichen benötigen. Dies ist eine der großen Stärken von LaTeX. Ich werde untenstehend einige kleine Beispiele geben. Somit könnt ihr einen kleinen Eindruck zum Mathesatz gewinnen. Wer mehr wissen möchte, dem möchte ich zum einen das Dokument von Herbert Voss oder auch die Dokumentation zu AMSLaTeX an Herz legen. Dort sollten sich alle weiteren Fragen klären.

Mathematik innerhalb des Textes

Wenn ihr in einem Text eine Formel oder andere mathematische Symbole hinschreiben wollt, müsst ihr diese mit einem $ einschliessen:

[...]
Die Summe zweier Variablen $a$ und $b$ errechnet sich durch die Formel
$a+b=c$.
[...]

Einfacher Text mit Mathematik

Abgesetzte Formeln

Oftmals will man innerhalb eines Textes eine Formel etwas absetzen und diese gegebenenfalls auch nummerieren. Hierzu muss die Formel entweder in eine equation-Umgebung geschrieben oder aber mit \[ und \] umschlossen werden:

[...]
\begin{equation}
E = mc^2
\end{equation}
oder
\[ E = mc^2 \]

Die equation-Umgebung sorgt dafür, dass alle Gleichungen nummeriert werden.

Beispiele für Formeln

Im folgenden will ich einige Beispiele aufzeigen, die man wahrscheinlich desöfteren gebrauchen kann:

Indizes und Potenzen
Ein Index wird immer mit einem Unterstrich eingeleitet und Potenzen mit einem Circumflex. Wenn diese mehrere Zeichen umfassen, müssen sie in geschweiften Klammern eingefasst werden.
Beispiel: a_i, x^{n+1}
Brüche
Wie immer sollte man sich das englische Pendant des Begriffes einfallen lassen und wird dann schnell zur Lösung kommen: \frac{Zähler}{Nenner}
Beispiel: \frac{a}{b} + \frac{c}{b} = \frac{a+c}{b} Bruch in LaTeX
Brüche können auch beliebig ineinander geschachtelt werden: \frac{\frac{\frac{a}{b}}{c}}{d}
Wurzel
\sqrt[Exponent]{Werte unter der Wurzel (Radikand)}
Beispiel: \sqrt{x+y-z}, \sqrt[5]{4+x} Darstellung einer Wurzel

weiterführende Dokumente

TODO

Ich möchte an dieser Stelle gern Maurice Wørnhard, Kevin Fleischer, Heiko Stamer und anderen für ihre Hinweise zur Verbesserung dieses Tutorials danken.

Changelog

Version Änderungen Datum
0.30 Vorname von Viswanathan Anand falsch geschrieben. Ambasuthan fand den Fehler. 2010-12-04
0.29 Bei der Erklärung zur Wurzel Exponent und Radikand geschrieben. Frieda fand den Fehler. 2010-05-25
0.28 Im logischen Aufbau des Dokuments gab es einen Fehler. Yannick Müller wies darauf hin. Ich habe die Passage angepasst. 2008-06-09
0.27 Zwei kleine Schreibfehler entfernt. Dank an Alexander 'z3ttacht' Steinböck. 2008-05-04
0.26 \usepackage[utf8]{inputenc} hinzugefügt, Danke für den Hinweis an Martin Kielhorn. 2008-03-10
0.25 Typo in scrreprt, gefunden von Phillip Berndt 2006-01-31
0.24 beamer als Präsentationsklasse eingefügt 2006-01-27
0.23 Text zu den Bildern abgeändert, graphic(s|x) sind keine Dokumentklassen, sondern Pakete 2006-01-23
0.22 Mathesatz geändert, kleine Fehler ausgebessert, Danksagung aufgenommen 2005-07-29
0.21 Satz umgestellt nach einem Hinweis von Uwe 2005-07-14
0.20 Kleinen Fehler nach einem Hinweis von Till Hentrich ausgebessert 2004-12-30
0.19 Beschreibung von Mathesatz, muss noch erweitert werden 2004-12-16
0.18 Links zu TeX-Referenzen 2004-10-26
0.17 Verweis zu LaTeX@TUG 2004-09-03
0.16 Absatz zu Verbesserungen eingefügt 2004-07-28
0.15 Text zu Bildern beendet. 2004-06-29
0.12 HTML-Code ausgebessert, Seite ist wieder valide 2004-06-03
0.11 Tabellen erweitert, Dokumentationsverweise begonnen 2004-05-18
0.10 Überarbeitung und Vorstellung in de.comp.text.tex 2004-04-05
0.08 Listen 2004-04-02
0.06 Einfachen Text setzen, Anfänge der Textstruktur 2004-04-01
0.05 Erstversion, Einführung 2004-03-28