In der Präambel werden wichtige Einstellungen getroffen, unter anderem werden LaTeX Dinge wie das Papierformat oder sprachspezifische Einstellungen mitgeteilt und zusätzliche Pakete aufgerufen, die LaTeX um weitere Funktionen erweitern. Ich erläutere im Folgenden die wichtigsten Parameter der KOMA-Script-Dokumentklassen und die Pakete, die in meinen Vorlagen verwendet werden.
\documentclass[a4paper,DIV10,12pt,headsepline,smallheadings]{scrreprt}
In der ersten Zeile eines Dokuments wird der grundlegende Charakter des folgenden Textes festgelegt. LaTeX stellt dafür vier Klassen zur Verfügung: book
, report
, article
und letter
. Ich empfehle allerdings statt der Standardklassen den Einsatz einer der so genannten KOMA Script-Klassen, die die europäischen typographischen Gepflogenheiten besser berücksichtigen. Ansonsten entsprechen sie weitgehend den originalen Klassen, verfügen aber über viele zusätzliche Befehle und Optionen. Die Namen der KOMA Script-Klassen: scrbook
, scrreprt
, scrartcl
, scrlttr2
. Die Angabe einer Dokumentenklasse ist obligatorisch.
In den eckigen Klammern vor der Klasse stehen die optionalen Parameter. Sie müssen nicht explizit angegeben werden: Fehlen sie, benutzt LaTeX Voreinstellungen. Die hier verwendeten Argumente des \documentclass
Befehls legen das Papierformat (a4paper
) und die Grösse der Standardschrift (12pt
, Alternativen: 10pt
, 11pt
) fest.
Mit dem Parameter DIV10
(der nur zusammen mit den Koma-Script-Klassen funktioniert) wird die Grösse des bedruckbaren Bereiches (der Satzspiegel) verändert: Je grösser die Zahl, desto grösser der bedruckbare Bereich. Man sollte dabei aber nicht übertreiben, da eine Zeile aus Gründen der Lesefreundlichkeit höchstens aus 60 bis 70 Zeichen bestehen sollte. Dieser Befehl garantiert im Vergleich zu einer direkten Angabe der Seitenränder typographisch überzeugende Seitenränder. headsepline
sorgt dafür, dass die Kopfzeile mit einer Linie vom Text abgesetzt wird und smallheadings
schafft kleinere Kapitelüberschriften.
Weitere wichtige Parameter sind z.B. onecolumn/twocolumn
für ein- oder zweispaltigen Text und oneside/twoside
für die Gestaltung von ein- oder zweiseitigem Druck. Alle Parameter sind im Handbuch zu KOMA Script beschrieben.
\pagestyle{headings}
In einer eigenen Zeile wird mit diesem Befehl der Inhalt von Kopf- und Fußzeilen festgelegt. Mit dem Argument headings
stehen die Kapitelüberschrift und die Seitennummer in der Kopfzeile (außer auf Seiten, wo ein neues Kapitel beginnt), bei plain
wird nur die Seitennummer in der Fußzeile ausgegeben und mit empty
ist sowohl die Fusszeile, als auch die Kopfzeile leer. Individuelle Kopf- und Fußzeilen gibt es mit myheadings
(genauere Hinweise ebenfalls im KOMA Script-Handbuch).
\title{Der Dokumenttitel} \author{Autorname} \date{21.10.2003}
Diese drei Befehle legen den Titel des Dokuments, den Namen der Autorin (des Autors) und das Datum fest. Wird kein Datum angegeben, geht TeX vom aktuellen Datum (dem Datum der Kompilation) aus. Mit dem Befehl \maketitle
im Hauptteil des Dokuments wird der Inhalt der drei Variablen zentriert ausgegeben.
\setcounter{secnumdepth}{5} \setcounter{tocdepth}{5}
Diese beiden Befehle sorgen dafür, dass Kapitelüberschriften bis zur fünften Ebene (paragraph
bzw. subparagraph
) durchnummeriert werden und im Inhaltsverzeichnis erscheinen.
\usepackage[applemac]{inputenc}
Eines der wichtigsten Pakete ist sicherlich inputenc
. TeX und LaTeX sehen für alle Sonderzeichen eine Umsetzung in einen Befehl mit einem Argument vor (z.B. \"{a}
für ä), wodurch das Schreiben von deutschen, spanischen, schwedischen etc. Texten etwas unkomfortabel wird. inputenc
hilft, indem es alle Sonderzeichen in Abhängigkeit von der gewählten Textkodierung automatisch bei der Kompilation umsetzt. Deshalb ist der Parameter – in unserem Beispiel applemac
für die Mac Roman-Kodierung – nicht optional. Ich empfehle, alle Dokumente mit Unicode UTF-8 zu kodieren, der entsprechende inputenc
-Parameter heißt utf8
.
Dokumente, die Umlaute und andere Sonderzeichen (8 bit characters) in einer bestimmten Kodierung (ISO Latin 1, UTF-8, Macroman) enthalten, sind allerdings nicht immer problemlos zu portieren. Ich habe deshalb zwei Perl-Skripte geschrieben, mit deren Hilfe sich alle Sonderzeichen in TeX-Befehle umsetzen lassen – und umgekehrt. Die beiden Skripte sind als Filter für die Verwendung mit BBEdit gedacht und lassen sich hier herunterladen.
\usepackage[T1]{fontenc} \usepackage{lmodern}
Normalerweise verwendet LaTeX die Computer Modern-Schriften (CM) in der Old TeX-Kodierung (OT1). Diese Kodierung berücksichtigt keine Umlaute und Akzente. Entsprechende Zeichen werden zwar von TeX konstruiert, allerdings kann in der Umgebung solcher Zeichen nicht mehr korrekt getrennt werden. Mit der Option T1
des Pakets inputenc
wird auf eine andere Kodierung und die „europäische“ CM-Variante EC umgestellt. Damit funktioniert die Trennung wieder.
Der Nachteil dieser Methode: Die EC-Schriften weisen nicht die typographische Qualität der ursprünglichen CM-Schriften auf. Bessere Ergebnisse erzielt man mit dem Paket lmodern
. Mit diesem Paket werden die Latin Modern-Schriften, eine Postscript-Version der CM-Schriften, geladen. Das Paket und die zugehörigen Schriften sind in den neueren Versionen von gwTeX enthalten.
\usepackage[ngerman]{babel}
Ein weiteres wichtiges Paket istbabel
, das LaTeX auch über die Umlaute hinaus fremde Sprachen beibringt, indem es die Beschriftungen anpasst. Mit der Option ngerman
(für die neue deutsche Rechtschreibung, german ist für die alte Rechtschreibung vorgesehen) werden z.B. Abbildung statt Figure, Kapitel statt Chapter und Tabelle statt Table gesetzt. Darüber hinaus lädt babel
die jeweils gültige Silbentrennung für die gewählte Sprache.
\usepackage{longtable} \usepackage{booktabs}
Die Tabellenfähigkeiten von LaTeX sind nicht optimal: Tabellen können sich nicht über mehrere Seiten erstrecken, und die Tabellenzeilen werden ohne Abstände gesetzt. longtable
und booktabs
reparieren diese Defizite und vereinfachen zudem die Tabellenerstellung. longtable
ermöglicht mehrseitige Tabellen und vereint in sich table
und tabular
-Umgebungen. booktabs
entzerrt die Tabellenzeilen und bietet verschieden dicke Unterteilungslinien.
\usepackage{graphicx} \usepackage{float}
Mit Hilfe des Pakets graphicx
kann LaTeX Grafiken einbinden. Der Befehl dafür lautet \includegraphics{dateiname.jpg}
(natürlich an der entsprechenden Stelle im Textkörper, nicht in der Präambel). Vorsicht: Wird das Dokument mit pdflatex
gesetzt, können Grafiken nur im JPEG-Format eingebettet werden, bei Verwendung von latex
(und dvips und ps2pdf) müssen Sie EPS-Grafiken verwenden. Um zwischen beiden Formaten zu konvertieren, verwenden Sie ein Tool wie den GraphicConverter.
Das Paket float
unterstützt bei der Positionierung von Grafiken und Tabellen (innerhalb der figure
- und table
-Umgebungen). Normalerweise setzt LaTeX diese Elemente nach bestimmten Vorgaben relativ autonom, mit float
ist eine exakte Angabe möglich.
Der Befehl \graphicspath{{pfadangabe/}}
(ebenfalls in die Präambel zu setzen, achten Sie auf die doppelten geschweiften Klammern) ermöglicht es, alle Grafiken in einem zentralen Verzeichnis abzulegen, ohne alle Dateinamen komplett angeben zu müssen.
\usepackage{rotating}
TeX kann jedes beliebige Element in jedem Winkel auf der Seite platzieren. Das Paket rotating
macht die Rotation von Objekten sehr einfach. Alle nötigen Befehle sind im zugehörigen Handbuch beschrieben.
\usepackage{hyperref}
Eines der beeindruckendsten Pakete: hyperref
verwandelt alle Kapitelüberschriften, Verweise aufs Literaturverzeichnis und andere Querverweise in PDF-Hyperlinks. Das funktioniert sowohl mit pdflatex
als auch mit latex + dvips + ps2pdf
. Die Option breaklinks=true
stellt sicher, dass auch bei der zweiten Methode die verlinkten Textstellen umgebrochen werden.
Standardmäßig werden die Links mit unschönen Unterstreichungen versehen, mit dem zusätzlichen Paket color
und der Option colorlinks=true
lässt sich das unterbinden. Mit linkcolor=black
und citecolor=black
erscheinen die gefärbten Links außerdem angenehm unauffällig:
\usepackage{color} \definecolor{black}{gray}{0} % 10% gray \usepackage[colorlinks=true,linkcolor=black,citecolor=black]{hyperref}
\usepackage[normalem]{ulem}
Nicht nur Hyperlinks, sondern auch unterstrichene Textstellen machen Probleme beim Zeilenumbruch. Das Paket ulem
lässt LaTeX auch Unterstreichungen umbrechen. Darüber hinaus bietet es mehrere Alternativen zur normalen Unterstreichung (z.B. \sout
zum Durchstreichen von Text oder \uwave
für eine wellige Unterstreichung). Die Option normalem
ist relativ wichtig, weil sonst alle hervorgehobenen Textstellen standardmäßig unterstrichen (statt kursiv gesetzt) werden.
Weitere (linguistik-spezifische) Pakete werden im entsprechenden Teil dieser Einleitung beschrieben.