LaTeX— Eine Einfrung

LTEX Eine Einführung
A
Christian Gerhards/ Roger Telschow
Allgemeines zu LTEX
A
Was ist LATEX?
Softwarepaket rund um das Textsatzsystem TEX
Autor von TEX: Donald E. Knuth
LA steht für Lamport TEX (nach Leslie Lamport)
Erstellung typographisch hochwertiger Dokumente, insbesondere im
wissenschaftlichen Kontext und mit mathematischem Formelsatz
Grundprinzipien:
nicht WYSIWYG (What You See Is What You Get) wie in
klassischen Textverarbeitungssystemen
jedes Dokument wird durch Quellcode beschrieben (.tex), der in das
Zieldokumentformat (z.B. .pdf) übersetzt (geTEXt) werden muss
logisches Markup einzelner Dokumentteile (z.B. Überschriften)
Plattformunabhängigkeit, identische Ausgabe auf jedem System
freie Software (LATEX Project Public License)
http://www.latex-project.org
Wie arbeitet man mit LTEX?
A
Typische Arbeitsumgebung mit LATEX, hier z.B. in
TEXmaker:
links oben: Editor mit TEX-Quellcode
links unten: Warnungen/Fehlermeldungen beim Übersetzen
rechts: PDF-Vorschau der Ausgabe
Welche Software muss man installieren?
Eine TEX/LATEX-Distribution, z.B.
TEX Live (http://www.tug.org/texlive, viele Plattformen)
MiKTEX (http://www.miktex.org, Windows)
proTEXt (https://www.tug.org/protext, Windows)
MacTEX (http://www.tug.org/mactex, OS X)
Mögliche Editoren/Arbeitsumgebungen:
Texteditor, mit Syntaxeinfärbung und LATEX-Unterstützung, z.B.
gedit (viele Plattformen)
Emacs (viele Plattformen)
vi, Vim (viele Plattformen)
jEdit (plattformunabhängig)
Sehr komfortabel sind
integrierte Entwicklungsumgebungen, z.B.
TEXworks, Bestandteil von TEX Live/MiKTEX/MacTEX
TEXmaker (http://www.xm1math.net/texmaker, plattformunabh.)
Kile (http://kile.sourceforge.net, viele Plattformen)
TEXstudio (http://texstudio.sourceforge.net, plattformunabh.)
Eclipse mit TEXlipse-Plugin
Hallo Welt in LTEX
A
Die grundlegende Struktur eines LATEX-Dokuments sieht so aus:
hallo.tex
\documentclass{scrartcl}
\begin{document}
Hallo, Welt!
\end{document}
TEX/LATEX-Befehle beginnen immer mit einem Backslash \
In der ersten Zeile wählt man die Dokumentklasse. scrartcl ist
eine Dokumentklasse aus den sogenannten KOMA-Script-Klassen,
die besonders für deutschsprachige Dokumente geeignet sind, mit
Papierformat DIN A4. Es gibt hierunter Klassen für kürzere
Dokumente (scrartcl), Bücher (scrbook), Briefe (scrlttr2),. . .
Nach ersten Zeile kommt die Präambel (hier leer), in der man
LATEX-Pakete einlesen oder eigene Befehle denieren kann.
Der eigentliche Inhalt des Dokuments wird mit \begin{document}
und \end{document} umschlossen, eine sogenannte Umgebung.
Flieÿtext kann eingetippt werden, wie er ist. Zu Umlauten s.u.!
Einzelne Leerzeilen gelten als Absatzende.
Umlaute/Deutsche Anpassungen
Für deutschsprachige Dokumente, z.B. mit Umlauten, empfehlen sich
folgende Anpassungen in der Präambel:
Zeichenkodierung auf UTF8 stellen mit Hilfe des inputenc-Pakets:
\usepackage[utf8]{inputenc}
Deutsche Anpassungen, z.B. Trennregeln:
\usepackage[ngerman]{babel}
T1-Zeichensatzkodierung einschalten, damit z.B. Umlaute im
PDF-Dokument gesucht werden können:
\usepackage[T1]{fontenc}
Das fertige Hallo-Welt-Dokument sieht also so aus:
hallo.tex
\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\begin{document}
Hallo, Welt!
\end{document}
Einfache mathematische Formeln
Mathematische Formeln im Flieÿtext werden mit einfachen Dollarzeichen
$ umschlossen. Die Formel wird dann in kursiver Schrift gesetzt.
$x$ ergibt x
$a b$ ergibt ab, d.h. Leerzeichen in einer Formel werden ignoriert!
Brüche werden mit dem \frac-Befehl erzeugt, z.B. $\frac{a}{b}$
ergibt ba . Bestehen Zähler oder Nenner dabei nur aus einem
Zeichen, kann man die geschweiften Klammern weglassen, dies ist
jedoch nicht empfehlenswert (schlecht lesbarer Quellcode, Probleme
bei Syntaxeinfärbung).
√
$\sqrt{xyz}$ erzeugt die Quadratwurzel xyz ; bei Radikand aus
nur einem Buchstaben können die geschweiften Klammern wegfallen
(nicht empfehlenswert).
Exponenten in Formeln erzeugt man mit , z.B. $x{3y}$ ergibt
x 3y ; bei Exponenten aus nur einem Buchstaben kann die geschweifte
Klammer wegfallen.
2
Schachtelung ist erlaubt, z.B. $\frac{x2}{y{23}}$ erzeugt yx23 .
→ Aufgabe 1
Gliederung eines Dokuments
Befehle zur logischen Gliederung eines Dokuments in Kapitel, Abschnitte etc.:
\chapter
\section
\subsection
\subsubsection
\paragraph
\subparagraph
(nur in Dokumentklassen scrreprt, scrbook etc.)
Verwendung/Minimalbeispiel:
buch.tex
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\begin{document}
\chapter{Erstes Kapitel}
Hallo!
\chapter{Zweites Kapitel}
\section{Erster Abschnitt im zweiten Kapitel}
Hallo nochmal!
\end{document}
Nützliche Hilfsmittel bei der Gliederung
\maketitle erstellt einen Dokumenttitel; zuvor wählt man mit \title
einen Titeltext, mit \author einen Autor und ggf. mit \date ein Datum:
Beispiel
...
\author{Max Mustermann}
\title{Dokumenttitel}
\maketitle
...
\tableofcontents erstellt ein Inhaltsverzeichnis (Achtung: 2× LATEX!)
logische Verweise auf andere Kapitel/Abschnitte etc.: Vergabe sinnvoller
Sprungmarken mit \label, Verweis darauf mit \ref (2× LATEX!):
Beispiel
...
\section{Toller Abschnitt}\label{sec:toll}
...
In Abschnitt \ref{sec:toll} haben wir gesehen, dass...
...
→ Aufgabe 2
Mehr zu mathematischen Formeln I
Griechische Kleinbuchstaben und einige Groÿbuchstaben sind als
entsprechende (englische) Befehle in mathematischen Formeln verfügbar,
z.B. $\alpha$ für α, $\nu$ für ν oder $\Theta$ für Θ
Viele trigonometrische Funktionen sind als Kurzbefehle im Formelmodus
verfügbar, z.B. $\sin$ für sin, $\cos$ für cos oder $\tan$ für tan
Abgesetzte/freistehende Formeln ohne Nummerierung erzeugt man mit
der equation*-Umgebung. Dazu wird das Paket amsmath benötigt.
Beispiel
...
\usepackage{amsmath}
...
\begin{document}
...
\begin{equation*}
a2+b2=c2
\end{equation*}
...
\end{document}
mit Formelnummer: \begin{equation} ...
\end{equation}
Mehr zu mathematischen Formeln II
Auf Formelnummern kann man mit \eqref verweisen, falls man
(sinnvolle) Labels vergeben hat (2× LATEX!):
Beispiel
...
\usepackage{amsmath}
...
\begin{document}
...
\begin{equation}
\label{eq:pythagoras}
a2+b2=c2
\end{equation}
...
Wie wir in Formel \eqref{eq:pythagoras} gesehen haben,
...
\end{document}
→ Aufgabe 3
Grundlegendes zu Listen und Aufzählungen
LATEX bietet gewisse (Grund-)Funktionen für Listen und Aufzählungen.
Listen mit der itemize-Umgebung:
Beispiel für eine Liste
...
\begin{itemize}
\item Erster Punkt
\item Zweiter Punkt
\item Dritter Punkt
\end{itemize}
...
(Nummerierte) Aufzählungen mit der enumerate-Umgebung:
Beispiel für eine Aufzählung
...
\begin{enumerate}
\item Erster Punkt
\item Zweiter Punkt
\item Dritter Punkt
\end{enumerate}
Mehr zu Listen und Aufzählungen
Liste von Beschreibungen mit der description-Umgebung
Beispiel für eine Liste von Beschreibungen
...
\begin{description}
\item[Maus] Kleines Säugetier mit spitzen Ohren und
langem Schwanz
\item[Elefant] Groÿes Säugetier mit groÿen, flachen
Ohren, langem Rüssel und Stoÿzähnen
\end{description}
...
Verschachtelung ist erlaubt. Je nach Schachtelungstiefe (≤ 4) sind bei
Listen die Marker \textbullet (•), (), $\ast$ (∗), $\cdot$ (·)
voreingestellt. Anpassung des Markers kann entweder lokal geschehen
(z.B. \item[+] für Pluszeichen als Marker) oder global in der Präambel:
\renewcommand{\labelitemi}{+}
\renewcommand{\labelitemii}{}
\renewcommand{\labelitemiii}{$\diamond$}
\renewcommand{\labelitemiv}{$\ast$}
→ Aufgabe 4
Noch mehr zu Listen und Aufzählungen
Anpassung der Aufzählungsmarker mit dem enumerate-Paket: in eckigen
Klammern kann man nach \begin{enumerate} angeben, welche
Aufzählungsart verwendet werden soll. Dabei stehen A, a, I, i bzw. 1 für
(groÿe/kleine) Buchstaben, römische Zahlen bzw. arabische Zahlen.
Andere Anteile im Marker sind konstant, ggf. geschützt mit {}:
Beispiel für angepasste Aufzählung mit enumerate-Paket
...
\usepackage{enumerate}
...
\begin{document}
...
\begin{enumerate}[{A}1]
\item Erster Punkt der Form A1
\begin{enumerate}[(i)]
\item Unterpunkt eins der Form (i)
\item Unterpunkt zwei der Form (ii)
\end{enumerate}
\item Zweiter Punkt der Form A2
\end{enumerate}
...
→ Aufg. 5
Von Denitionen und Sätzen
Viele mathematische Dokumente enthalten (z.B. abschnitts-/kapitelweise)
durchnummerierte Denitionen, (Hilfs-)Sätze sowie Folgerungen/Korollare.
Entsprechende Umgebungen sollte man selbst denieren.
Man benötigt ein Zusatzpaket, hier z.B. amsthm und amsmath.
In der Präambel kann man neue Umgebungen denieren mit
\newtheorem{umgebungsname}{Umgebungstext}[Gliederungsebene]
Für fortlaufend durchnummerierte Umgebungen (z.B. Denition 1, Satz 2,
Folgerung 3) gibt man in eckigen Klammern den gemeinsamen Zähler an.
Beispiel für Denitionen und Sätze mit amsthm-Paket
...
\usepackage{amsmath,amsthm}
\newtheorem{defi}{Definition}[section]
\newtheorem{lemma}[defi]{Lemma}
\newtheorem{satz}[defi]{Satz}
...
\begin{document}
...
\begin{defi} ... \end{defi}
\begin{satz} ... \end{satz}
→ Aufgabe 6
Beweise
Auf einen (Hilfs-)Satz oder ein Korollar folgt meist ein (optisch abgesetzter)
mathematischer Beweis, beendet durch ein rechtsbündiges QED-Kästchen .
Das Paket amsthm bietet hierfür die proof-Umgebung.
Eigenen Text am Beweisanfang kann man mit einer Option setzen, das
Symbol am Ende (\qedsymbol) kann man ggf. überschreiben:
Beispiel für Sätze mit Beweis via amsthm-Paket
...
\usepackage{amsmath,amsthm}
\newtheorem{satz}{Satz}[section]
\renewcommand{\qedsymbol}{$\diamond$}
...
\begin{document}
...
\begin{satz}
Es gibt keine uninteressanten natürlichen Zahlen.
\end{satz}
\begin{proof}[Beweis]
Angenommen, es gebe doch uninteressante natürliche Zahlen. Dann
wäre die kleinste dieser Zahlen interessant, ein Widerspruch.
\end{proof}
→ Aufgabe 7
Tabellensatz
Zum Erstellen von Tabellen bietet LATEX folgende Möglichkeiten:
table-Umgebung für automatisch nummerierte Tabellen
konkrete Formatierung einfacher Tabellen: tabular-Umgebung
nach \begin{tabular} folgt Ausrichtung der Spalten: c zentriert, l
links-, r rechtsbündig, p{Breite} Spalte fester Breite (Blocksatz)
| bzw. || erzeugt vertikale Striche (typographisch unschön)
Zeilenende mit \\, Tabellenspalten werden durch & getrennt
Beispiel für eine einfache vierspaltige Tabelle mit table/tabular
...
\begin{table}
\centering
\begin{tabular}{clll}
Buchstabe&Stadt&Land&Fluss\\ \hline
A&Augsburg&Australien&Altmühl\\
B&Berlin&Belgien&Bode\\
C&Celle&China&Colorado
\end{tabular}
\caption{Städte, Länder und Flüsse mit A, B und C}
\end{table}
...
→ Aufgabe 8
Mehr zum Tabellensatz
Ein häug verwendetes Zusatzpaket für Tabellen ist booktabs.
verschiedene Arten horizontaler Linien: \toprule, \midrule und
\bottomrule, mit unterschiedlicher Dicke und angepassten Abständen
nach oben und unten
\cmidrule erzeugt horizontale Linien über einzelnen Spalten
\addlinespace für zusätzlichen Zeilenabstand
Beispiel für eine vierspaltige Tabelle mit booktabs-Paket
...
\usepackage{booktabs}
...
\begin{tabular}{clll}
\toprule
Buchstabe&Stadt&Land&Fluss\\ \midrule
A&Augsburg&Australien&Altmühl\\ \cmidrule{2-4}
B&Berlin&Belgien&Bode\\ \midrule
C&Celle&China&Colorado\\
\bottomrule
\end{tabular}
...
→ Aufgabe 9
Einfügen von Bildern
Zum Einfügen von Bildern in LATEX-Dokumente wird benötigt/empfohlen:
Paket graphicx → \usepackage{graphicx} in der Präambel
Einfügen eines Bildes: \includegraphics[Optionen]{Dateiname}
Bildformate: JPG, PNG (Rastergrak), PDF (Raster-/Vektorgrak)
Bilder setzt man am besten in eine (automatisch nummerierte)
figure-Umgebung, mit Bildunterschrift via \caption
Beispiel zum Einbinden von Bildern
...
\usepackage{graphicx}
\usepackage[ngerman]{babel}
...
\begin{document}
...
\begin{figure}
\centering
\includegraphics[width=0.5\linewidth]{meinbild.jpg}
\caption{Meine Bildunterschrift}
\end{figure}
...
→ Aufgabe 10
Textattribute
Zum einen gibt es logische Textattribute:
Hervorhebungen erzeugt man mit \emph{wichtig}, das konkrete
Aussehen hängt dabei von der aktuellen Position und der
Dokumentklasse ab; z.B.
Dies ist \emph{wichtiger} Text.
\section{Überschriften sind \emph{wichtig}}
Zum anderen gibt es technische Textattribute zur konkreten
Formatierung:
normaler Druck mit Serifen (roman): \textrm{normal},
in Formeln \mathrm{Text}
Fettdruck: \textbf{fett}, in Formeln \mathbf{M}
kursiver Text: \textit{kursiv}
schräggestellter Text: \textsl{schräg}
serifenloser Text: \textsf{serifenlos}
Kapitälchen: \textsc{Kapitälchen}, nur für Schrift mit Serifen
Nichtproportionaler Text (Schreibmaschinenschrift):
\texttt{Text}
→ Aufgabe 11
Fonts
Etwas Typographie:
LATEX benutzt standardmäÿig die Schriftsippe Computer Modern.
Die meisten Textinhalte werden dabei mit der Schriftfamilie
Computer Modern Roman gesetzt (Serifenschrift), lediglich
Überschriften werden in manchen Dokumentklassen mit der
serifenlosen Familie Computer Modern Sans Serif gesetzt.
Schreibmaschinenschrift: Familie Computer Modern Typewriter
In einem LATEX-Dokument kann man in der Präambel global zwischen
den Schriftfamilien umschalten, z.B. auf serifenlose Schrift mit
\renewcommand*{\familydefault}{\sfdefault}
bzw. statt \sfdefault mit \ttdefault für
Schreibmaschinenschrift oder \rmdefault für Serifenschrift
(Standardeinstellung)
. . . Umstellung auf eine andere Schriftsippe ist möglich, allerdings
sollten die Fonts für Text und Formeln zueinander passen. Das ist
z.B. der Fall für Palatino mit dem mathpazo-Paket
\usepackage[sc]{mathpazo}
\linespread{1.08}
oder für die Adobe Utopia Regular mit dem fourier-Paket
\usepackage{fourier}
→ Aufgabe 12
Seitenstil
Zum Anpassen des Seitenstils gibt es z.B. folgende Möglichkeiten.
Anzeige des aktuellen Layouts mit dem Paket layout:
\usepackage{layout}
...
\layout
Parameter wie Schriftgröÿe, Bindekorrektur oder die automatische
Satzspiegelberechnung passt man bei den KOMA-Script-Klassen
scrartcl und scrbook mit Dokumentklassenoptionen an, z.B.
\documentclass[10pt,BCOR=12mm,DIV=calc]{scrbook}
Die Randbreite kann man mit dem DIV-Parameter anpassen. Bei
DIN A4 ist der obere bzw. innere Seitenrand 297/DIV bzw.
(210-BCOR)/DIV Millimeter, der untere bzw. äuÿere Seitenrand ist
doppelt so breit. Allerdings sollte der Font zur Randbreite passen. . .
Anpassung von Kopf-/Fuÿzeile mit dem Paket scrpage2:
\pagestyle{scrheadings}
\clearscrheadfoot
\ohead{Kapitel/Abschnitt \headmark}
\ofoot{Seite \pagemark}
Weitere Felder: \cfoot, \ifoot, \chead, \ihead, auch getrennt
nach geraden/ungeraden Seiten (→ scrguide.pdf) → Aufgabe 13
Literaturverzeichnis und -verwaltung
Zum Erstellen eines Literaturverzeichnisses gibt es zwei Varianten.
Variante 1: Eingebettetes manuelles Literaturverzeichnis. Hier listet
man in der Umgebung thebibliography alle Quellen auf und
verweist im Dokument mit \cite auf die entsprechenden Schlüssel.
Die 99 in folgendem Beispiel ist ein Platzhalter für den längsten
vorkommenden Schlüssel.
...
Wir zitieren hierzu die Arbeit \cite{Mus2004}.
...
\begin{thebibliography}{99}
\bibitem{Mus2004}
M. Mustermann,
\emph{Das Musterbuch},
2. Auflage, Springer, Heidelberg, 2004.
\end{thebibliography}
Vorteil: Das LATEX-Dokument bleibt autark.
Nachteile: Um die konkrete Formatierung der einzelnen Referenzen
muss man sich selbst kümmern, weder logisches Markup noch
Unterstützung durch LATEX
→ Aufgabe 14
Literaturverzeichnis und -verwaltung
Variante 2: Externes automatisches Literaturverzeichnis. Hier listet man in einer
BIBTEX-Datei (.bib) alle Quellen auf (Datenbank) und verweist im Dokument
mit \cite auf die entsprechenden Schlüssel. Die konkrete Formatierung des
Literaturverzeichnisses kann man sehr frei anpassen. Zum Übersetzen führt man
den LATEX-Dreikampf aus: zuerst pdflatex meindokument, um alle zitierten
Quellen zu sammeln, dann biber meindokument zum Formatieren des
Literaturverzeichnisses und nochmal pdflatex meindokument zum Einbinden
des fertigen Literaturverzeichnisses.
Wir zitieren wieder \cite{Mus2004}.
...
\bibliography{litverz}
litverz.bib
@book{Mus2004,
title = {Das Musterbuch},
publisher = {Springer},
year = {2004},
author = {M. Mustermann},
address = {Heidelberg},
edition = {2. Auflage}
}
Vorteile:
bequeme Literaturverwaltung, z.B. mit externen Programmen wie
JabRef, einheitlicher Zitierstil, Wiederverwendbarkeit
→ Aufgabe 15