Einführung in LaTeX

Eine kurze Einführung in LaTeX

Weitere Formate: PDF PostScript TeX Ascii

1. Einleitung

Mit Verbreitung der Computer wurde es möglich, Texte damit zu verarbeiten. Es entstand eine Vielzahl von Programmen, einige davon als Speziallösung für große Verlage, Druck- und Setzereien. Eines davon ist das Satzprogramm TeX (Tau Epsilon Chi) von Donald E. Knuth. Er begann bereits Mitte der 70er Jahre mit der Entwicklung und konnte 1978 eine funktionierende Version bereitstellen, stabil war TeX dann 1982.

TeX wurde als public domain veröffentlicht. Dies und der gut dokumentierte Quellcode führte zu der heute weiten Verbreitung, es ist inzwischen auf so gut wie jedem Betriebssystem verfügbar.

Mit TeX kann man nahezu alle Aufgaben eines Setzer lösen, unter anderem der Satz komplexer Formeln und Tabellen. Dazu sind jedoch große Fachkenntnisse im Satz und Druck sowie in Programmiersprachen erforderlich, denn TeX kennt ca. 900 Befehle, davon 300 Basisbefehle. Hinzu kommen noch notwendige Kenntnisse im Layout um dem Text ein ansprechendes Erscheinungsbild und gute Lesbarkeit zu verleihen.

Damit wäre TeX für den Privatmann sicher nicht geeignet, sondern nur einem kleinen Kreis vorbehalten. Leslie Lamport hat mit LaTeX ein umfangreiches Werkzeug entwickelt, mit dem der Benutzer nur noch die logische Struktur des Dokumentes, wie Kapitel, Absatz, Aufzählung etc., angeben muß. Diese wird dann in TeX-Befehle umgewandelt und weiterverarbeitet. LaTeX stellt zudem eine Reihe von professionellen Layouts zur Verfügung. Mit diesen wird eine professionelle grafische Gestaltung des Textes gewährleistet, ohne das man sich um Schriftgrößen, Abstände etc. kümmern muß.

1.1 Konzepte von LaTeX

Bei Textverarbeitungen wie Word, AmiPro oder Framemaker handelt es sich um WYSIWYG-Programme. Der Benutzer bearbeitet gleichzeitig den Inhalt und das Layout seines Textes und sieht auf dem Bildschirm, was später auf Papier gedruckt wird. Der Benutzer überzeugt sich sofort von der korrekten Erscheinungsweise seines Textes und kann diese ggf. gleich ändern.

Bei dem Formatierungsprogramm LaTeX ist dieser Prozeß in zwei Teile gespalten. Zuerst schreibt der Benutzer den Text mit seiner logischen Struktur in einem beliebigen Editor nieder und erzeugt dann die gedruckte Version. Gefällt ihm diese nicht, muß er den Text anpassen und wieder mit dem Formatierungsprogramm bearbeiten.

Auf den ersten Blick sind Textverarbeitungen idealer. Sie ersetzen die Schreibmaschine und übertreffen diese in ihrer Leistungsfähigkeit um Längen. Formatierungsprogramme ersetzen den traditionellen Setzer und spielen ihre Leistungsfähigkeit bei komplexen Strukturen, wie Formeln oder Tabellen aus. Ebenso kann man z.B. mit der änderung eines einzelnen Befehls einen Text zweispaltig ausdrucken oder den gesamten Stil von Buch auf Artikel umstellen.

Intern formatiert LaTeX den Text auf Basis von Blöcken. Wie der Text aus Buchstaben, Wörtern und Absätzen besteht, werden diese auch aufgebaut. Mehrere Buchstabenblöcke, Größe je nach Höhe und Breite des Buchstabens, bilden einen Wortblock, mehrere Wortblöcke bilden einen Absatzblock usw. LaTeX versucht nun diese Blöcke ausgewogen auf einer Seite zu verteilen. Um eine gleichmäßige Füllung einer Seite zu erzielen, sind manche Abstände, wie z.B. zwischen Worten, Zeilen und Absätzen, dehnbar.

1.2 Von LaTeX zum Papier

Wie gesagt, arbeitet man mit LaTeX zweistufig. Nach dem Schreiben des Textes wird daraus die gedruckte Version erzeugt. Konkret wird aus einem TeX-File (meintext.tex) jedoch erst ein DVI-File (device independent) (meintext.dvi). Diese Datei enthält den formatierten Text und Informationen über verwendete Schriftarten. Man kann sie anzeigen lassen (Preview des Textes mit xdvi meintext.dvi) oder mit einem Druckertreiber für einen Drucker vorbereiten (dvips meintext.dvi erzeugt meintext.ps).

Kurz:

  emacs meintext.tex      // Text schreiben
  latex meintext.tex      // meintext.tex --> meintext.dvi
  xdvi  meintext.dvi      // (evtl.) Preview des Drucks
  dvips meintext.dvi      // meintext.dvi --> meintext.ps

Verwendet man im Text Querverweise oder ein Inhaltsverzeichnis, muß man LaTeX zweimal ausführen. Beim ersten Lauf werden die Seitenzahlen etc. bestimmt und beim zweiten Lauf eingesetzt.

2. Mein erstes Dokument

Nach all der schönen Einleitung stellt sich die Frage, wie ein Dokument in LaTeX wirklich aussieht. Es besteht aus drei Teilen:

All diese Angaben macht man mit einem LaTeX-Befehl, der mit dem Zeichen '\' (Backslash) eingeleitet wird, doch zunächst ein kurzes Dokument:
  \documentclass{article}

  \title{Mein erstes Dokument}
  \author{Ich}
  \usepackage{german}

  \begin{document}

  \maketitle

  Hallo Welt!

  N"achster Absatz.

  \end{document}

Das Dokument ist offensichtlich ein Artikel ( \documentclass{article} ) mit einem Titel und Autor ( \title{..} \author{..} ), der das Paket Deutsch ( \usepackage{german} ) für Umlaute ( ä = "a ) verwendet. Der eigentliche Text ist: \begin{document} TEXT \end{document}, hier zwei Absätze.

Das Dokument enthält bereits die drei verschiedenen Arten von LaTeX-Befehlen: Die ohne Argument ( \maketitle = drucke hier Titel, Autor und Datum des Dokumentes oder z.B. \today = Heutiges Datum oder \large = Text vergrößern) sind eher selten. [Anmerkung: Mit {..} kann man einen Textbereich festlegen. So wird in bla {\large foo bar} bla der mittlere Teil groß, der Rest normal gedruckt.]

Weitaus häufiger treten Befehle mit einem oder mehr Argumenten auf. Beispiele dafür sind \author{..}, \textbf{..} für fett gedruckten Text (Text Bold Face) oder \footnote{..} für eine Fußnote.

Die dritte Art sind Umgebungen, wie der eigentliche Text des Dokumentes. Sie beginnen stets mit \begin{UMGEBUNG} und enden immer mit \end{UMGEBUNG}. Eine Umgebung ist zum Beispiel der Text des Dokumentes, eine Aufzählung (itemize und enumerate) oder eine Tabelle (table). Man kann fast alle Umgebungen ineinander schachteln.

3. Meistgebrauchte Elemente

Nach den Konzepten und einem kurzen Dokument werde ich die Befehle und Umgebungen aufzählen, die in LaTeX am häufigsten verwendet werden.

3.1 Kapitel und Unterkapitel

Ein Kapitel wird in LaTeX mit dem Befehl \section{Kapitel "uber HEU} eingeleitet. Es geht bis zum nächsten Befehl \section{} oder sonst bis zum Ende des Textes. Mit \subsection{} und \subsubsection{} erzeugt man Unterkapitel.

3.2 Inhaltsverzeichnis und Querverweise

Für kleinere Artikel unter 20 bis 30 Seiten erzeugt man normalerweise kein eigenes Inhaltsverzeichnis. Bei größeren Dokumenten, die ja auch mehr Stoff beinhalten, ist es zur besseren übersicht aber sehr hilfreich. Das Inhaltsverzeichnis wird aus den Kapitelangaben mit dem Befehl \tableofcontents an der Stelle seines Auftretens erzeugt.

Ebenfalls bezieht man sich in längeren (aber auch in kürzeren) Texten oft auf andere Textstellen, Bilder oder Tabellen. Diese Stellen können sowohl vor als auch nach der aktuellen Position sein. In LaTeX setzt man dazu eine unsichtbare Markierung mit dem Befehl \label{NAME}, und verweist dann darauf. So wird \pageref{NAME} durch die physikalische Seite des Labels ersetzt, \ref{NAME} durch die Abschnitts-, Bild- oder Tabellennummer, je nachdem wo die Markierung gesetzt wurde. Also:

  \section{Satz des Parmenides}\label{sec:parm}
  Das Nichtseiende ist weder sagbar noch erkennbar.
  ...

  Da es falsche Aussagen gibt, [..] mu"s man den Begriff des ``Seins''
  (siehe Seite \pageref{sec:parm}, Abschnitt \ref{sec:parm}) genauer
  kl"aren.

Um über all die vielen Labels die übersicht zu behalten, hat es sich eingebürgert, ein Prefix zu verwenden: sec: für Abschnitte, fig: für Bilder und tab: für Tabellen.

3.3 Schriftänderungen

Es ist ein schlechter Stil, zu viele Schriftarten und Schriftgrößen auf einer Seite zu verwenden, da dies das Auge zu sehr anstrengt. Dennoch sind änderungen der Schriftgröße oder Hervorhebungen manchmal notwendig.

3.3.1 Schriftgrößen

Die Schriftgröße ändert man mit einem Befehl ohne Parameter. Die neue Größe gilt bis zur nächsten änderung, dem Ende der aktuellen Umgebung oder bei z.B. {\large ... } bis zur schließenden Klammer:

  \tiny                           \large
  \scriptsize                     \Large
  \footnotesize                   \LARGE
  \small                          \huge
  \normalsize (default)           \Huge

3.3.2 Schrifthervorhebungen

Diese Befehle beziehen sich auf den in {..} eingeschloßenen Text. Es gibt sie auch in einer parameterlosen Version analog zu den Schriftgrößen:

BefehlParameterlosWirkung
\textrm{..}\rmfamilyRömisch
\textit{..}\itshapeSchräger Text (auch \emph{})
\textbf{..}\bfseriesFetter Text
\textsc{..}\scshapeText in Kapitälchen
\texttt{..}\ttfamilySchreibmaschinentext
\textnormal{..}\normalfontStandardfont im Dokument

3.4 Aufzählungen

Es folgen nun Umgebungen. Die ersten sind die drei verschiedenen Aufzählungen: itemize, enumerate und description. Sie haben alle die Form:

  \begin{AUFZAEHLUNG}
  \item Erstens
  \item Zweitens
  \item Drittens
  ...
  \end{AUFZAEHLUNG}

Möchte man die einzelnen Punkte numeriert aufzählen, nimmt man enumerate, itemize dagegen für eine einfach Aufzählung. Möchte man dagegen Begriffe beschreiben, bietet sich die description- Umgebung an. Sie unterscheidet sich dadurch, das man \item[BEGRIFF] TEXT verwendet. Der Begriff wird dann fettgedruckt dem Text vorangestellt. All diese Aufzählungstypen kann man beliebig ineinander schachteln.

3.5 Tabellen

Tabellen in LaTeX sind etwas umständlich zu realisieren. Man kann zwar alle möglichen Tabellen erzeugen, sollte sich deren Aufbau vorher jedoch gut überlegen so ist die Vertauschung von zwei Spalten mehr als trivial. Zum Glück gibt es jedoch Spreadsheats unter Unix, wie sc oder teapot, die direkt LaTeX-Code erzeugen. Tabellen sind nicht Bestandteil des normalen Textes, sondern Gleitobjekte (floats). Das heißt, das LaTeX diese so verschieben kann, das der restliche Text gut auf die Seite paßt und keine Lücken entstehen. So zum Beispiel an den Anfang, das Ende der aktuellen Seite oder auf die nächste Seite. Das Grundgerüst für eine Tabelle sieht so aus:

  \begin{tabular}[PLATZIERUNG]{FORMAT}

  TABELLENINHALT

  \end{tabular}
Platzierung Mit der Angabe der Platzierung kann man die Position der Tabelle im Text beeinflussen. Mögliche Werte sind h für here, t für top, b für bottom und p für eine spezielle Seite mit Tabellen und Abbildungen. Man kann die Werte beliebig kombinieren, Standard ist htbp. LaTeX versucht die Tabelle in dieser Reihenfolge zu platzieren. Format An dieser Stelle definiert man die einzelnen Spalten der Tabelle. Mögliche Werte sind:
  Wert     |Wirkung
  -----------------------------------------------------------------------
  c        |Zentrierter Eintrag
  l, r     |Links- bzw. rechtsbündiger Eintrag
  p{SIZE}  |Spalte der Breite SIZE, die einen Absatz enthält. Z.B. p{3cm}
  \|       |Senkrechter Strich (keine Spalte!)
    
Dies sind die wesentlichen Grundelemente. Für mehr sei auf die weiterführende Literatur verwiesen.
Tabelleninhalt Hat man nun Position und Format der Tabelle eingestellt, folgt der eigentliche Inhalt. Er wird Zeile für Zeile eingegeben. Ein Spaltenwechsel wird mit & (Kaufmannsund) erzeugt, eine horizontale Linie mit \hline und das Ende der Zeile mit \\ markiert. Nun ein Beispiel für eine Tabelle:
  \begin{tabular}[ht]{|l|c|}
  \hline
  Lehrstuhl & Professoren\\
  \hline\hline
  LS2 & Wegener\\
  LS8 & Morik\\
  LS10 & Doberkat\\
  \hline
  \end{tabular}

Ergibt:

  +-----------+-------------+
  | Lehrstuhl | Professoren |
  +-----------+-------------+
  +-----------+-------------+
  | LS2       |   Wegener   |
  | LS8       |    Morik    |
  | LS10      |   Doberkat  |
  +-----------+-------------+

3.6 Bilder

In jedem guten Dokument sollten auch ein paar Bilder vorhanden sein. Man kann in LaTeX entweder selbst zeichnen (das ist mehr als unkomfortabel und für automatische Generation besser geeignet), oder externe Dateien einbinden. Das dafür am häufigsten verwendete Format ist EPS (Encapsulated Postscript), welches z.B. auch Word von Microsoft versteht. Dazu muß man das Paket epsfig verwenden, was durch Angabe von \usepackage{epsfig} im Dokumentkopf geschieht. Ein Bild im Text bindet man mit dem Befehl \epsfig{file=DATEINAME} ein. Verwendet man noch die Umgebung figure, erhält das Bild eine Nummer und Beschriftung und wird wie eine Tabelle als Gleitobjekt behandelt:

  \begin{figure}[PLATZIERUNG]
  \epsfig{file=DATEINAME}
  \caption{MEIN TOLLES BILD}
  \end{figure}

Der Befehl \epsfig kennt neben file= noch folgende Optionen:

OptionWirkung
scale=FAKTORBild wird mit FAKTOR skaliert
heigth= sowie width=Explizite Höhen- und Breitenangabe
angle=WINKELBild wird um WINKEL Grad gedreht. Drehpunkt ist die linke untere Ecke

3.7 Vorformatierter Text (z.B. Quellcodes)

Es kommt vor, das man seinen Text mit kleinen Progammsplittern oder anderen Beispielen in einer Programmiersprache würzen möchte. LaTeX bietet dafür die Umgebung verbatim an. Der eingeschloßene Text wird in einem nichtproportionalen Font (Schreibmaschine) genau so abgedruckt, wie er in der TeX-Datei steht.

4. Literaturverzeichnisse

Ein gutes Dokument erfordert neben einer guten Idee oft auch eine gute Recherche in vorhandenen Veröffentlichungen. Damit der Leser diese nachvollziehen und sich selbst bei Bedarf vertiefen kann, gibt man die verwendeten Quellen in einem Literaturverzeichnis am Ende des Textes an und zitiert diese im Text geeignet. Natürlich gibt es in LaTeX dafür entsprechende Befehle. Für das Literaturverzeichnis ist die Umgebung thebibliography gedacht. Innerhalb dieser werden einzelne Bücher oder Texte mit einem \bibitem Eintrag aufgelistet:

  \begin{thebibliography}{MUSTER_MARKE}
  \bibitem[MARKE]{BEZUG} EINTRAG
  ...
  \end{thebibliography}

Die Angaben verhalten sich wie folgt: MARKE ist der Teil, der später im Text und auch im Literaturverzeichnis erscheint. MUSTER_MARKE ist ein Vorgabewert, der eigentlich nur so breit sein sollte, wie die größte verwandte MARKE. Damit wird die Einrücktiefe der Einträge im Literaturverzeichnis bestimmt. BEZUG ist der Text, der im Zitatbefehl verwandt wird. Er wird nicht gedruckt, sondern ist nur für den Autor gedacht. EINTRAG schließlich ist der eigentliche Eintrag. Man führt dort üblicherweise Titel, Autor und Erscheinungsjahr des Textes auf, Angaben, um den zitierten Text eindeutig zu identifizieren. Ein Beispiel ist:

  \bibitem[Morik97]{MLskript} \emph{Skript Maschinelles Lernen},
  Prof. Katharina Morik, 1997

Im Text zitiert man dann mit dem Befehl \cite{BEZUG}, hier z.B.: "Die drei Lernaufgaben sind (aus \cite{MLskript}): Begriffslernen, Regellernen und Funktionsapproximation"

wird zu:
... (aus [Morik97]) ...

5. Epilog

TeX und LaTeX sind sehr komplexe Programme, die wirklich viele Möglichkeiten bieten, in dieser Einführung habe ich die nur grundlegenden Dinge angesprochen. Was vielleicht noch fehlt, ist ein Abschnitt über Indexe, für einen Einstieg und kürzere Artikel sollten die Angaben hier allerdings reichen. Wer mehr wissen will, liest sicher gerne das Buch von Helmut Kopka(siehe 6.4), das ich als Grundlage für diese Einführung verwendet habe. Weitere Literatur und Quellen sind im letzten Kapitel zu finden.

Wer Fehler findet oder Verbesserungsvorschläge hat, erreicht mich unter folgender Adresse:
sascha@meta-x.de

Mein Dank an Stefan Rüping für Durchsicht dieses Textes und konstruktive Vorschläge.

6. Weiterführende Literaturhinweise

Wer sich intensiver mit LaTeX beschäftigen möchte oder hier nicht die gewünschte Hilfe findet, der möge folgende Quellen einsehen: