Sie sind auf Seite 1von 102

Erstellung wissenschaftlicher Arbeiten

mit

LATEX
Maria Eichlseder
maria.eichlseder@tugraz.at

Wintersemester 2017/18
Tag I
Textverarbeitung mit LATEX

Inhalt

1. Software 3
1.1. Installation und Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Kompilieren mit TEXnicCenter . . . . . . . . . . . . . . . . . . . . . . . . 8

2. Struktur eines LATEX-Dokuments 10


2.1. Präambel und Dokumentklassen . . . . . . . . . . . . . . . . . . . . . . . 10
2.2. Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Gliederung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4. Aufzählungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2. Manuelle Formatierung 14
2.1. Fonteigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2. Fontgröße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3. Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4. Ausrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.5. Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3. Sonderzeichen 18
3.1. Reservierte Sonderzeichen . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2. Umlaute, Akzente, Symbole . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3. Bindestriche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4. Whitespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4. Hilfe finden 22
1. Software

Zum Arbeiten mit LATEX-Dokumenten sind drei Werkzeuge nötig:


1. Text-Editor (Entwicklungsumgebung) zum Schreiben des LATEX-Codes (.tex)
2. LATEX-Compiler, der Code in Dokument verwandelt (.pdf)
3. PDF-Viewer zum Lesen des Dokuments

pdflatex

.tex .pdf

Der LATEX-Compiler ist dabei typischerweise Teil eines großen Gesamtpakets (LATEX-
Distribution), das auch Entwicklungsumgebung mit Editor und PDF-Viewer mitbringt.
Die Software ist frei verfügbar (free & open source) unter Linux, Windows und Mac OS.
Beliebte Distributionen und Editoren:
• Windows: TEXLive, MiKTEX (beide mit PDF-Viewer und Editor TEXworks).
Alternative Editoren: TEXnicCenter, TEXmaker, Notepad++, . . .
Alternative PDF-Viewer: SumatraPDF, . . .
• Linux: TEXLive (mit TEXworks), Editoren TEXmaker, Kile; vim, emacs, . . .
• Mac OS: MacTEX (mit Editor TEXShop), . . .

1.1. Installation und Verwaltung

Distribution: MiKTEX
1. Download: https://miktex.org/download → basic-miktex-2.*.****-x64.exe
2. Installation: Installer unbedingt als Administrator ausführen:

und die Option für alle Nutzer installieren wählen; das ist später für die
Autokonfiguration von TEXnicCenter wichtig:

3
Ansonsten die Voreinstellungen bestätigen:

3. Verwaltung: MiKTEX enthält bereits eine Auswahl von Paketen, die im Package
Manager verwaltet werden kann. Fehlende Pakete werden beim Kompilieren
automatisch nachinstalliert (einfach bestätigen):

4
MiKTEX enthält bereits startfertig den Editor TEXworks sowie einen verknüpften PDF-
Viewer. Für den Kurs verwenden wir aber eine alternative, umfangreichere Entwicklungs-
umgebung: TEXnicCenter. Daher wird auch ein separater PDF-Viewer benötigt.

PDF-Viewer: SumatraPDF

Grundsätzlich kann jeder PDF-Viewer LATEX-Dokumente anzeigen. Zum aktiven Arbeiten


mit LATEX können einige spezielle Features aber die Produktivität stark erhöhen:
• Reload-on-change: Wenn sich das PDF-Dokument auf der Festplatte ändert, sollte
der PDF-Viewer es auch aktualisieren.
• SyncTEX-Support: SyncTEX ist ein Mechanismus, mit dem man direkt vom PDF an
die relevante LATEX-Code-Stelle im Editor springen kann und umgekehrt ( forward

and inverse search“).
• Platzsparende Nutzeroberfläche ohne überflüssige Bedienelemente. Da häufig der
Editor-Fenster und das PDF-Fenster nebeneinander angezeigt werden, ist es wichtig,
dass das PDF-Dokument groß genug angezeigt wird.
Leider erfüllt der weit verbreitete Acrobat Reader keine einzige dieser Anforderungen.
Eine gute Alternative ist SumatraPDF.

1. Download:
https://www.sumatrapdfreader.org/download-free-pdf-viewer.html
→ SumatraPDF-3.?.?-64-install.exe
2. Installation und Verwaltung: Nach der Installation sicherstellen, dass Suma-
traPDF der Default-PDF-Viewer ist:

5
Entwicklungsumgebung: TEXnicCenter

TEXnicCenter sollte unbedingt nach MiKTEX und SumatraPDF installiert werden, damit
die Autokonfiguration korrekt funktioniert!

1. Download: http://www.texniccenter.org/download/ → TeXnicCenter (64 Bit)


2. Installation: Admin-Rechte und Voreinstellungen bestätigen:

3. Verwaltung: Beim ersten Start startet die Autokonfiguration, um TEXnicCenter


mit der vorhandenen MiKTEX-Installation und dem PDF-Viewer zu verknüpfen.
Die PostScript-Einstellungen sind egal.

6
7
1.2. Kompilieren mit TEXnicCenter

Neues Dokument erstellen und als .tex speichern oder vorhandene .tex-Datei öffnen

Zum Kompilieren das Ausgabeprofil LATEX to PDF auswählen:

Mit Strg+F7 kompilieren und mit F5 ansehen (oder Strg+Umschalt+F5 beides):

Bei jedem Editor kann alternative auf der Kommandozeile kompiliert werden:
pdflatex dateiname.tex

8
Der Compiler erzeugt im selben Ordner wie dateiname.tex drei (oder mehr) Hilfsdateien:
• dateiname.pdf: Das fertige Dokument.
• dateiname.log: Eine Log-Datei mit Informationen über den Kompilier-Vorgang
und eventuellen Fehlermeldungen. Kann gelöscht werden.
• dateiname.aux: Eine interne Hilfsdatei. Kann gelöscht werden.
Eine Zusammenfassung der dabei aufgetretenen Fehler, Warnungen und Informationen
wird auch im TEXnicCenter angezeigt – regelmäßig prüfen.

Im Fall von mehreren Fehlern unbedingt beim ersten mit der Behebung beginnen, da
Fehler oft mehrere Folgefehler nach sich ziehen.

Einige typische Fehlerquellen werden etwas später gelistet.

9
2. Struktur eines LATEX-Dokuments

2.1. Präambel und Dokumentklassen

Grundsätzlich besteht der Quellcode eines LATEX-Dokuments aus zwei Teilen: der Präambel
zu Beginn, in der globale Einstellungen vorgenommen und Zusatzpakete geladen werden;
und dem Hauptteil, in dem der eigentliche Dokumentinhalt steht:

\ documentclass { article }

\ usepackage {...} Präambel


...

\ begin { document }

\ section { Hello World !}


Lorem ipsum dolor sit amet , Dokument-Inhalt
consetetur ...

\ end { document }

In der ersten Zeile der Präambel gibt man eine Dokumentklasse an, die festlegt, wie das
Dokument grundsätzlich aussehen wird und welche Gliedungsmöglichkeiten es gibt:
• article, scrartcl: Für Artikel (wissenschaftliche Publikationen oder andere
kürzere Dokumente mit typischerweise unter 25 Seiten). Die höchste Gliederungs-
ebene ist section. Standardmäßig wird die Titelinformation oben auf der ersten
Seite (nicht auf einer eigenen Titelseite) dargestellt, und die Seitenränder sind für
einseitigen Druck eingestellt (symmetrisch). Die Klasse scrartcl hat eine vergleich-
bare Funktion mit etwas modifizierten Formateinstellungen (besser angepasst an
europäische DIN-Richtlinien).
• report, scrreprt: Für etwas umfangreichere Dokumente, beispielsweise technische
Berichte oder Abschlussarbeiten. Im Vergleich mit article ist der Hauptunter-
schied, dass die Titelinformation auf eine eigene Titelseite kommt und eine höhere
Gliederungsebene, chapter, mit großzügigerem Layout hinzu kommt.
• book, scrbook: Für Bücher. Standardmäßig auf doppelseitigen Druck ausgelegt
(asymmetrische Ränder, Kapitel starten auf ungeraden Seiten). Weitere höhere
Gliedungsebene part.
• letter, scrlttr2: Für Briefe. Ohne Kapitel-Gliederung, sondern mit Befehlen für
Addressat, Subject, Grußformeln und so weiter.
• beamer: Für Präsentationen, mit Befehlen für Folien und deren Gliederung.

10
2.2. Text

Normaler Text in der document-Umgebung wird im PDF einfach so angezeigt. Allerdings


werden Whitespaces (Leerzeichen, Zeilenumbrüche) nicht genau übernommen:
egal wie viele
Leerzeichen und Tabs
im Quellcode verwendet werden ,
im kompilierten Text wird
nur ein normaler Wortabstand angezeigt .

Um tats ä chlich einen neuen Absatz zu starten , sind mindestens


zwei Zeilenumbr ü che ( also eine Leerzeile ) notwendig .

egal wie viele Leerzeichen und Tabs im Quellcode verwendet werden, im


kompilierten Text wird nur ein normaler Wortabstand angezeigt.
Um tatsächlich einen neuen Absatz zu starten, sind mindestens zwei Zeile-
numbrüche (also eine Leerzeile) notwendig.

Es ist auch m ö glich \\


mit einem Doppel - Backslash \\
an einer bestimmten Stelle einen Zeilenumbruch zu erzwingen .

Es ist auch möglich


mit einem Doppel-Backslash
an einer bestimmten Stelle einen Zeilenumbruch zu erzwingen.

Im Fließtext sollte man das aber nie als Hilfsmittel verwenden. So ein erzwungener
Umbruch startet keinen richtigen neuen Absatz (mit Zeilenabstand bzw. Einrückung).
Es kann nicht zweimal direkt hintereinander ein Umbruch erzwungen werden.
Um in diesem Reintext-Format Text zu formatieren (z.B. Hervorhebung, Überschrift,
Aufzählung, . . . ), werden Befehle verwendet. Diese definieren die Rolle eines Textstückes
(z.B. Überschrift; wie eine Überschrift aussieht, ist global festgelegt) oder, viel seltener in
gutem LATEX, die konkrete lokale Formatierung (z.B. kursiv). Beispiel:
eine Hervorhebung (\ emph { emphasis }) im Text

eine Hervorhebung (emphasis) im Text

11
2.3. Gliederung

Kapitelüberschriften werden mit \section{Kapitelname} erstellt. LATEX formatiert Ka-


pitel passend zur Dokumentklasse und nummeriert sie automatisch durch. Um die Num-
merierung zu unterdrücken, kann \section*{Kapitelname} verwendet werden. Für eine
noch feinere Gliederung gibt es die Befehle \subsection{....}, \subsubsection{...},
\paragraph{...} und so weiter. Die genaue Auswahl und Formatierung hängt von der
Dokumentklasse ab.
\ section *{ Unnummeriertes Kapitel }

\ section { Nummeriertes Kapitel }

\ subsubsection { Subsubsection }

\ paragraph { Paragraph }
Text eines Paragraphs mit \ emph { hervorgehobenem } Wort .

Unnummeriertes Kapitel

3. Nummeriertes Kapitel

3.1. Nummeriertes Kapitel

3.1.1. Subsubsection

Paragraph Text eines Paragraphs mit hervorgehobenem Wort.

1.4. Aufzählungen

Für Aufzählungen ohne Nummerierung verwendet man die Umgebung itemize:


\ begin { itemize }
\ item Erster Punkt
\ item Zweiter Punkt
\ item Dritter Punkt
\ end { itemize }

12
• Erster Punkt
• Zweiter Punkt
• Dritter Punkt

Für Aufzählungen mit Nummerierung gibt es die Umgebung enumerate:


\ begin { enumerate }
\ item Erster Punkt
\ item Zweiter Punkt
\ item Dritter Punkt
\ end { enumerate }

1. Erster Punkt
2. Zweiter Punkt
3. Dritter Punkt

Aufzählungen können natürlich auch verschachtelt werden und jeweils mehrere Absätze
haben:
\ begin { enumerate }
\ item Erster Punkt
\ item Zweiter Punkt
\ item Dritter Punkt mit verschachtelter , unnummerierter
Aufz ä hlung :
\ begin { itemize }
\ item Erster Schachtelinhalt
\ item Zweiter Schachtelinhalt

Mit etwas mehr Text in einem weiteren Absatz .


\ end { itemize }

Und noch einem Absatz auf der gleichen Ebene wie der
Beginn vom dritten Punkt .

Der Ü bersicht halber habe ich auch im Quelltext den Text


auf die richtige Ebene einger ü ckt , das ist aber nicht
notwendig .

\ item Vierter Punkt mit verschachtelter , nummerierter


Aufz ä hlung :
\ begin { enumerate }

13
\ item Erster Schachtelinhalt
\ item Zweiter Schachtelinhalt
\ end { enumerate } % beende inneres " enumerate "
\ end { enumerate } % beende aeusseres " enumerate "

1. Erster Punkt
2. Zweiter Punkt
3. Dritter Punkt mit verschachtelter, unnummerierter Aufzählung:
• Erster Schachtelinhalt
• Zweiter Schachtelinhalt
Mit etwas mehr Text in einem weiteren Absatz.
Und noch einem Absatz auf der gleichen Ebene wie der Beginn vom
dritten Punkt.
Der Übersicht halber habe ich auch im Quelltext den Text auf die
richtige Ebene eingerückt, das ist aber nicht notwendig.
4. Vierter Punkt mit verschachtelter, nummerierter Aufzählung:
a) Erster Schachtelinhalt
b) Zweiter Schachtelinhalt

2. Manuelle Formatierung

2.1. Fonteigenschaften

Text kann auch manuell formatiert werden:


\ textbf { fett } ,
\ textit { kursiv } ,
\ textsl { slanted } ,
\ underline { unterstrichen } ,
in \ texttt { Schreibmaschinen - Font }
oder in \ textsc { Kapit ä lchen }

fett, kursiv, slanted, unterstrichen, in Schreibmaschinen-Font oder in


Kapitälchen

14
2.2. Fontgröße

Die Standard-Fontgröße für Fließtext wird in der Präambel bei der Dokumentklasse vorge-
geben. Eine manuelle Umstellung der Font-Größe für einzelne Abschnitte ist zwar möglich,
wird üblicherweise aber kaum verwendet, da hierfür die Standard-Gliederungsbefehle wie
section besser geeignet sind. Die manuelle Größe ist dabei relativ zur Standardgröße
(d.h. tiny ist bei 10pt-Dokumenten kleiner als bei 12pt-Dokumenten):
{\ tiny tiny }
{\ scriptsize scriptsize }
{\ footnotesize footnotesize }
{\ small small }
{\ normalsize normalsize }
{\ large large }
{\ Large Large }
{\ LARGE LARGE }
{\ huge huge }
{\ Huge Huge }

tiny scriptsize footnotesize small normalsize large Large LARGE huge


Huge
2.3. Farben

Für Farben ist das color-Paket (oder colorx) notwendig. Dabei funktioniert \color{red}
als Umschalter (wie \huge) und \textcolor{red}{Roter Text} färbt den zweiten Pa-
rameter (wie textbf{}). Es werden einige voreingestellte Farben unterstützt:
\ textcolor { black }{ schwarz ( black )} ,
\ textcolor { white }{ weiss ( white )} ,
\ textcolor { red }{ rot ( red )} ,
\ textcolor { green }{ gr ü n ( green )} ,
\ textcolor { blue }{ blau ( blue )} ,
\ textcolor { cyan }{ cyan ( cyan )} ,
\ textcolor { magenta }{ magenta ( magenta )} und
\ textcolor { yellow }{ gelb ( yellow )}.

schwarz (black), weiß (white), rot (red), grün (green), blau (blue), cyan
(cyan), magenta (magenta) und gelb (yellow).

15
Für ein größeres voreingestelltes Farbspektrum sowie selbstkonfigurierte Farben siehe:
http://en.wikibooks.org/wiki/LaTeX/Colors.
\ color [ rgb ]{0 ,0 ,1} blauer und
\ textcolor [ rgb ]{1 ,0 ,1}{ magentafarbener } Text

blauer und magentafarbener Text

Die obigen Befehle lassen sich auch verschachtelt verwenden:


\ large \ textbf {\ textcolor { blue }{ gro ß und fett und blau }}.

2.4. Ausrichtung

\ begin { center }
Zentrierter Text
\ end { center }

\ begin { flushleft }
Linksb ü ndiger Flattersatz
\ end { flushleft }

\ begin { flushright }
Rechtsb ü ndiger Flattersatz
\ end { flushright }

Linkes Wort und in der selben Zeile ... \ hfill \ today

\ rotatebox {90}{ Dreh } % mit \ usepackage { rotating }

Zentrierter Text

Linksbündiger Flattersatz

Rechtsbündiger Flattersatz

Linkes Wort und in der selben Zeile... 27. November 2017


Dreh

16
2.5. Befehle

Eigene Befehle können definiert werden, um häufig wiederkehrende Formatierungen und


Ausdrücke zu kapseln. Es ist in LATEX daher eher unüblich, manuelle Formatierungen so
direkt zu verwenden. Stattdessen wird ein eigener Befehl für die sinngemäße Bedeutung
einer (wiederkehrenden) Formatierung o. ä. angelegt, der leicht konsistent verändert
werden kann. Beispiel-Befehle wurde in der Präambel definiert und werden hier getestet:
\ newcommand {\ neuerbefehl }{ wird ersetzt durch ...}
...
\ neuerbefehl

wird ersetzt durch...

\ newcommand {\ kommentar }[1]{ }


...
Kommentar :
\ kommentar { Das ist ein Kommentar und wird nicht angezeigt .}

Kommentar:

\ newcommand {\ wichtig }[1]{{\ Large \ textbf {\ textcolor { blue }{#1}}}}


\ newcommand {\ grad }{$ˆ{\ circ }$}
\ newcommand {\ klammern }[1]{ (#1) }
...
Wichtiger Text ist \ wichtig { gro " s und blau }
und hat \ wichtig {24\ grad }.

\ klammern { Das selbstgebaute Grad - Symbol ist nicht ganz


richtig . Dieser Text ist in Klammern .}

Wichtiger Text ist groß und blau und hat 24◦ .


(Das selbstgebaute Grad-Symbol ist nicht ganz richtig. Dieser Text ist in
Klammern.)

17
3. Sonderzeichen

3.1. Reservierte Sonderzeichen

Die Sonderzeichen, die man in LATEX zum Eingeben von Befehlen benötigt, sind reserviert“

und können daher nicht direkt im Fließtext verwendet werden. Es gibt stattdessen
Ersatzbefehle, um diese Zeichen darzustellen (typischerweise ein Backslash, gefolgt vom
gewünschten reservierten Zeichen). Reservierte Zeichen sind:
\# \$ \ˆ \& \_ \{ \} \˜ \ textbackslash \%

#$ˆ& {}˜\%

Auch Anführungszeichen sind ein Spezialfall:


Englisch : ‘ single ’ und ‘‘ double quotes ’ ’
Deutsch : \ glq einfache \ grq {} und \ glqq doppelte \ grqq {}
Anf ü hrungszeichen

Englisch: ‘single’ und “double quotes”


Deutsch: einfache‘ und doppelte Anführungszeichen“
’ ”

Verwendungsbeispiel:
He said , ‘‘ The chocolate by ‘ Cecilia \& Alessio ’ contains
70\ % cocoa minimum and costs \$90 per pound . ’ ’

He said, “The chocolate by ‘Cecilia & Alessio’ contains 70% cocoa minimum
and costs $90 per pound.”

3.2. Umlaute, Akzente, Symbole

Grundsätzlich werden Buchstaben außerhalb des lateinischen Standardalphabets, bei-


spielsweise Umlaute, mit entsprechenden Befehlen gesetzt:
\"{ a } \"{ A } \ ’{ a } \ ’{ e } \ ‘{ e } \ˆ{ e } \ˆ{\ i }
\ i {} \ r { a } \ o {} \ ˜ { n } \ c { c } \ l {} \={ o } \ v { s }

18
ä Ä á é è ê ı̂
ı å ø ñ ç l ō š

Das babel-Paket bringt je nach Sprache Shortcuts für die sprachtypischen Symbole mit,
im Deutschen etwa Umlaute und deutsche Anführungszeichen:
" a " A " o " O " u " U " s sowie " ‘ deutsche Anf " uhrungszeichen " ’

ä Ä ö Ö ü Ü ß sowie deutsche Anführungszeichen“


Um Umlaute direkt von der Tastatur einzugeben, ist das Paket inputenc notwendig,
damit LATEX mit dem erweiterten Zeichensatz (Encoding) umgehen kann:
Ä ı́ å û æ ß ë

Ä ı́ å û æ ß ë

Die wichtigsten weiteren Symbole stammen aus dem mathematischen Bereich, siehe
nächste Stunde. Für das Euro-Symbol ist ein Paket, eurosym, notwendig, das dann so
verwendet wird:
\ EUR {5} oder 5 \ euro {}

5 e oder 5 e

Das Grad-Symbol ist ebenfalls nur mit Paketen (etwa gensymb) verwendbar:
ein 45\ degree - Winkel , 24\ degree C oder 24\ celsius \ Temperatur

ein 45◦ -Winkel, 24◦ C oder 24◦ C Temperatur

Weitere Symbole:
\ dag \ ddag \ textbar \ textgreater \ textless \ dots \ pounds \ S

† ‡ | > < ... $ §

19
3.3. Bindestriche

LATEX trennt Wörter automatisch nach den Regeln der eingestellten Sprache. Wörter mit
Sonderzeichen (Umlaute) oder Bindestrichen werden nicht getrennt und können daher zu
überlangen Zeilen (overfull hbox) führen:
Man kann \ LaTeX \ dann gegebenenfalls f ü r die betroffenen
W ö rter ma \ - nu \ - ell auf die Spr ü n \ - ge hel \ - fen

Man kann LATEX dann gegebenenfalls für die betroffenen Wörter manuell
auf die Sprünge helfen

Kurze Bindestriche innerhalb von Wörtern können wie üblich durch einzelnen Bindestrich
erzeugt werden:
Vollmilch - Schokolade

Vollmilch-Schokolade

Typographisch sind aber an einigen Stellen längere Striche üblich, etwa der en-dash“ für

von-bis-Angaben:
0 - -24 Uhr , 3 - -5 Jahre , 1988 - -90.

0–24 Uhr, 3–5 Jahre, 1988–90.

Dieser längere en-dash“ (bis-Strich, Gedankenstrich) ist aber nicht zu verwechseln mit

einem mathematischen Minus, das anders gesetzt wird – siehe nächste Stunde!

3.4. Whitespace

Beachte: Befehle ohne Parameter in {} fressen“ den nachfolgenden Whitespace (kein



Abstand zum folgenden Wort). Ist so ein Abstand notwendig, muss er durch einen
Whitespace-Befehl“ erzwungen werden:

24\ celsius \ Temperatur oder 24\ celsius ˜ Temperatur

20
24◦ C Temperatur oder 24◦ C Temperatur

Nach Interpunktionszeichen (vor allem Punkt) benutzt LATEX tendenziell größeren Wort-
abstand. Bei Abkürzungen ist das aber oft unerwünscht, ebenso wie Zeilenumbrüche an
dieser Stelle wären. Auch hier werden geschützte Leerzeichen verwendet:
M . ˜ Mustermann ,
Dr . ˜ House ,
s . ˜ Seite ˜ 5 ,
Knuth et al . ˜ zeigen \ dots ,
20. ˜ Geburtstag .

M. Mustermann, Dr. House, s. Seite 5, Knuth et al. zeigen. . . , 20. Geburts-


tag.

An einigen Stellen ist es üblich, keine ganzen Leerzeichen als Trenner zu verwenden,
sondern kleinere Abstufungen ( schmales Leerzeichen“):

z .\ , B . ,
15.\ , Oktober 2014 oder 15.\ ,10.\ ,14 ,
S .\ ,77\ , ff . ,
5\ , m und 5\ ,000\ , m ,
100\ ,\ % ,
Dr .\ , med . ˜ Max Mustermann und J .\ , R .\ , R . ˜ Mustermann .

z. B., 15. Oktober 2014 oder 15. 10. 14, S. 77 ff., 5 m und 5 000 m, 100 %,
Dr. med. Max Mustermann und J. R. R. Mustermann.

21
4. Hilfe finden

Fehler

Wenn das Dokument nicht korrekt fertig kompiliert oder unerwartet aussieht, findet man
meistens in der Logdatei (dateiname.log oder im Fehlerfenster) zweckdienliche Hinweise
und Fehlermeldungen, die man googlen kann. Einige typische Fehlerquellen:
• Reservierte Sonderzeichen wie \ { } # % & im Text verwendet: Ersetze durch
\textbackslash \{ \} \# \$ \% \&
• Umlaute fehlen im Dokument: inkludiere \usepackage[utf8]{inputenc} in der
Präambel

• Paket nicht gefunden ( File ‘....sty’ not found’“): Paket ist nicht installiert

(prüfe im Package Manager, ob es verfügbar ist) oder falsch geschrieben

22
• Unbekannter Befehl ( Undefined control sequence ...“): Prüfe Befehlsnamen

auf Tippfehler oder inkludiere notwendiges Paket mit \usepackage{paketname}
in der Präambel

• Nach Befehlen ohne Parameter wird das Leerzeichen verschluckt: füge ˜“ (Tilde)

oder \ “ (Backslash+Leerzeichen) nach einem Befehl ein

• Zeile ist zu lang und steht über ( Overfull \hbox (...pt too wide)“): Hilf

LATEX durch Umformulieren des Satzes, Umbau einer Formel oder Einfügen von
Wort\-trenn\-hilfs\-zei\-chen (besonders in Worten mit Bindestrich)
• Mathe-Umgebung nicht korrekt geöffnet/geschlossen ( Missing $ inserted“ oder

Command ... invalid in math mode“)

23
• Tabellenspalten: Extra alignment tab has been changed to \cr“ bedeutet,

dass in einer Tabellenzeile mehr Zellen sind als in der Tabellen-Spalten-Konfiguration
angegeben. Korrigiere Spalten-Konfiguration oder entferne überflüssige Zelle.
• Bei Subscripts/Superscripts steht nur die erste Ziffer im Exponenten, z.B. 21 0:
Schließe den Exponenten in Klammern ein, $2ˆ{10}$.
• Klammer-Mismatch ( Too many }’s“ oder Runaway argument?“): Prüfe, dass
” ”
keine öffnenden oder schließenden Klammern vergessen wurden.

24
25
• Underfull hbox (badness ...)“: LATEX hat ein Problem mit dem Layout einer

Seite oder eines Absatzes. Wenn die badness“ gering ist (z.B. 1000), kann es oft

ignoriert werden, bei großen Werten (z.B. 10000) ist ein Eingriff nötig. Typische
Ursachen: Forcierter Zeilenumbruch \\ nach einem leeren Absatz, oder ein sehr
großer Block, der das Layout behindert (z.B. Tabelle, Grafik): vielleicht hilft eine
Float-Umgebung (figure, table) weiter?

Zeilenumbruch bei einer leeren Zeile:

• Kein Fehler, aber Kompilieren wird nicht beendet: \end{document} vergessen?

26
27
Nützliche Links

• Cheatsheets“:

http://tug.ctan.org/tex-archive/info/latexcheat/latexcheat/latexsheet.pdf
http://users.dickinson.edu/˜richesod/latex/latexcheatsheet.pdf
• Rezepte“: LATEX Wikibook

http://en.wikibooks.org/wiki/LaTeX (englisch)
http://de.wikibooks.org/wiki/LaTeX-Kompendium (deutsch)
• Visual FAQ:
http://mirror.utexas.edu/ctan/info/visualFAQ/visualFAQ.pdf
• Mathematische Symbole:
http://mirror.ctan.org/info/symbols/comprehensive/symbols-a4.pdf
• Einführung: The Not So Short Introduction
http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf
• Konkrete Fragen und Probleme bei StackExchange:
http://tex.stackexchange.com/
• Sündenregister“ (veraltete Befehle):

ftp://ftp.dante.de/tex-archive/info/l2tabu/german/l2tabu.pdf
• LATEX für Fortgeschrittene“

http://www.wiwiss.fu-berlin.de/fachbereich/vwl/iso/links/
latex_fortgeschritten_manuela_juergens.pdf
• LATEX @ TU Graz:
http://latex.tugraz.at/
• Vorlagen Corporate Design der TU Graz für Präsentationen:
https://tu4u.tugraz.at → Organisation und Administration: Vorlagen und Cor-
porate Design → Downloads und Anwendungen (Logoformate und Vorlagen) →
Designlinien und Vorlagen-Download → Vorlagen-Download I.C (oder I.A, I.B) →
Präsentationen (Powerpoint und LaTeX) → LaTeX
• Formeln mit AMS-LATEX:
http://mirror.ctan.org/info/amslatex/english/amsldoc.pdf (Manual)
ftp://ftp.ams.org/pub/tex/doc/amsmath/short-math-guide.pdf (Math Guide)
• Präsentationen mit LATEX Beamer:
ftp://ftp.dante.de/tex-archive/macros/latex/contrib/beamer/doc/
beameruserguide.pdf (Manual)
http://www2.informatik.hu-berlin.de/˜mischulz/beamer.html (Einführung)
• Vektorgrafiken und Diagramme mit TikZ:
http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf (Manual)
http://www.texample.net/tikz/ (Beispiele)

28
Tag II
Formeln und Floats

Inhalt

5. Mathematik und Formeln 30


5.1. Mathe-Umgebungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2. Basics, Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4. Mengenlehre, Logik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.5. Abstände und Punkte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.6. Matrizen, Klammern, Struktur . . . . . . . . . . . . . . . . . . . . . . . . 42
5.7. Einheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6. Float-Umgebungen und Referenzen 47


6.1. Referenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.2. Tabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.3. Float-Umgebungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6.4. Bilder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5. Mathematik und Formeln

Viele der folgenden Beispiele benötigen das amsmath-Paket, das zusätzliche Umgebungen
und viele wichtige Symbole bereitstellt. Einzelne Beispiele benötigen auch die zusätzlichen
Fonts aus amsfonts oder Symbole aus amssymb:
\ usepackage { amsmath , amssymb , amsfonts }

5.1. Mathe-Umgebungen

In LATEX werden alle Formel-Ausdrücke (Terme mit Zahlen, Variablen, Operatoren, . . . )


in eine Mathe-Umgebung“ verpackt, die die korrekte Formatierung sicherstellt. Es gibt

zwei Typen von Umgebungen: Inline-Mathematik“, die in den aktuellen Absatz wie

normaler Text integriert wird:
\ begin { math } a + b = c \ end { math } oder , etwas k ü rzer , $ a + b = c $.

a + b = c oder, etwas kürzer, a + b = c.

Im Gegensatz dazu wird Display-Mathematik“ durch Zentrierung, Abstand zum Absatz



sowie großzügigeres Layout hervorgehoben mit Hilfe der equation-Umgebung:
\ begin { equation }
a + b = c
\ end { equation }

a+b=c (1)

Display-Umgebungen sind standardmäßig durchnummeriert, um später darauf referen-


zieren zu können. Um Nummerierung zu unterdrücken, gibt es zu den Umgebungen die
*-Variante:
\ begin { equation *}
a + b = c
\ end { equation *}

a+b=c

Für die nicht nummerierte Umgebung gibt es auch eine Kurzschreibweise:


\[ a + b = c \]

30
a+b=c

Es ist üblich, sowohl Inline- als auch Display-Formeln bei der Formulierung in den
aktuellen Satz mit einzugliedern und entsprechende Interpunktion zu verwenden:
Aus der Voraussetzung , dass $ a + b = c $ , l ä sst sich
unmittelbar ableiten , dass
\[ a + b = c .\]

Aus der Voraussetzung, dass a + b = c, lässt sich unmittelbar ableiten, dass

a + b = c.

Die Display-Variante verwendet man typischerweise für wichtige Ergebnisse, komplexe


Ausdrücke sowie insbesondere zur (oft mehrzeiligen) Herleitung von Formeln. Innerhalb
der equation-Umgebung (und anderer Mathe-Umgebungen) darf keine Leerzeile ver-
wendet werden, und es können daher keine mehrzeiligen Ausdrücke gemeinsam in eine
Umgebung verpackt werden. Für mehrzeilige Ausdrücke mit korrekter Einrückung gibt
es die align-Umgebung, sowie ihr unnummeriertes Gegenstück align*:
\ begin { align }
c &= a + b \\
&= d \\
&< e
\ end { align }

c=a+b (2)
=d (3)
<e (4)

Die Trennung und spaltenartige Gliederung der Inhalt funktioniert analog zu Tabellen
(s.u.). Um die Nummerierung nutzen und referenzieren zu können, müssen die gewünschten
Zeilen mit einem label gekennzeichnet werden. Labels werden nicht angezeigt, sondern
die assoziierte Nummer kann mit dem eqref-Befehl abgerufen werden:
\ begin { align }
c &= a + b \ label { eq : def }\\
&= d \ label { eq : umf }\\
&< e \ label { eq : absch }
\ end { align }
In ˜ \ eqref { eq : def } wird die Definition eingesetzt , die dann
in ˜ \ eqref { eq : umf } umgeformt wird , um die Absch " at \ - zung
\ eqref { eq : absch } zu erm " oglichen .

31
c=a+b (5)
=d (6)
<e (7)

In (5) wird die Definition eingesetzt, die dann in (6) umgeformt wird, um
die Abschätzung (7) zu ermöglichen.

Durch Einbinden des hyperref-Pakets sind Referenzen im PDF auch klickbar.


Verwendet man in einer align-Umgebung mehr als zwei Spalten, werden diese gruppiert
zu Gleichungen gesetzt:
\ begin { align }
a &= b & A &= B & \ alpha &= \ beta \\
&= c & &= C & &= \ gamma
\ end { align }

a=b A=B α=β (8)


=c =C =γ (9)

Mehrzeilige Gleichung mit nur einer Nummer mit Hilfe der split-Zusatzumgebung:
\ begin { align }
\ begin { split }
a &= b \\
&= c
\ end { split }
\ end { align }

a=b
(10)
=c

Nummerierung einzelner Zeilen unterdrücken mit \nonumber:


\ begin { align }
a &= b \ nonumber \\
&= c \ label { eq : schluss }
\ end { align }
Schlussendlich erhalten wir in \ eqref { eq : schluss } \ dots

32
a=b
=c (11)

Schlussendlich erhalten wir in (11) . . .

5.2. Basics, Variablen

Buchstaben im Mathe-Modus sind für den Leser grundsätzlich zu interpretieren als


einzelne Variablen-Namen, und werden auch mit entsprechenden Abständen gesetzt
(anders als mit textit, welches für kursiven normalen Text vorgesehen ist); Vergleiche
etwa die Abstände:
$ text , different $ ( Mathe ) \\
\ textit { text , different } ( kursiver Text )

text, dif f erent (Mathe)


text, different (kursiver Text)

Entsprechend müssen auch Buchstaben im Mathe-Modus, die keine Variablen bezeichnen


(beispielsweise max“, log“, Einheiten), explizit gekennzeichnet werden – siehe dazu
” ”
später.
Einige Operatoren und Klammern können im Mathe-Modus ganz normal getippt werden,
und erzeugen automatisch die richtigen Symbole und Abstände. Leerzeichen werden im
Mathe-Modus an fast allen Stellen komplett ignoriert, LATEX kümmert sich selbst um
den richtigen Abstand zwischen Operatoren und Operanden:
$ a +b - c = 15$ oder $5 - (1 - [ 2 + 3 ]) = 9$.

a + b − c = 15 oder 5 − (1 − [2 + 3]) = 9.

Für Exponentiation (Superscript) und Indizierung (Subscript) werden Zirkumflex (links


neben 1 auf der Tastatur) und Unterstrich (rechts neben . auf der Tastatur) verwendet.
Sie beziehen sich jeweils nur auf ein folgendes Symbol, bei mehrziffrigen Exponenten
müssen diese geklammert werden:
$2ˆ3 = 8$ , $2ˆ{10} = 1024$ , $ f _1( x ) = f _2( x )$.

33
23 = 8, 210 = 1024, f1 (x) = f2 (x).

Griechische Buchstaben (Befehle nur verfügbar, wenn es keinen identischen lateinischen


Buchstaben gibt):
\[\ alpha , A , \ beta , B , \ gamma , \ Gamma , \ delta , \ Delta , ...\]

α, A, β, B, γ, Γ, δ, ∆, . . .

Von einigen Buchstaben gibt es zwei Versionen:


\[\ epsilon , \ varepsilon ; \ phi , \ varphi ; \ theta , \ vartheta \]

, ε; φ, ϕ; θ, ϑ

Um Verwechslungsgefahr von l mit 1 und I zu vermeiden, gibt es ein eigenes lateinisches


kleines L:
$\ ell $

Wie auch im Text-Modus sind verschiedene Modifikationen und Akzentuierungen von


Variablennamen möglich (mit anderen Namen als im Textmodus):
\[ a \ vec { a } \ bar { a } \ overline { abc } \ tilde { a } a ’ \ hat { a }
\ overrightarrow { abc } \ dot { a } \ ddot { a } ...\]

−→
a ~a ā abc ã a0 â abc ȧ ä ...

Verschiedene Font-Varianten:
\[\ mathbf { a } \ mathrm { a } \ mathcal { A } \ mathbb { R } \ mathbb { N }..\]

a a A R N ...

Für verschachtelte Textabschnitte innerhalb des Math-Modes:


\[ f ’( x ) = 3 x ˆ2 \ qquad \ text { f ü r } f ( x ) = x ˆ3.\]

34
f 0 (x) = 3x2 für f (x) = x3 .

Um ein gewünschtes Symbol zu finden, sind nützlich:


• a4symbols.pdf
http://www.tex.ac.uk/ctan/info/symbols/comprehensive/symbols-a4.pdf
• Detexify, eine Handschrifterkennung für TEX-Symbole
http://detexify.kirelabs.org/classify.html

5.3. Analysis

Multiplikation, Kommazahlen und (wenn es sein muss) Tausendertrennzeichen:


\[5.1 \ cdot 2.3\]
\[5{ ,}1 \ cdot 2{ ,}3\]
\[5.1 \ times 10ˆ{ -5}\]
\[5.1 \ times 10ˆ5 = 510\ ,000\]
\[1.3 \ times 10ˆ{ -6} \ pm 2.3 \ times 10ˆ{ -10}\]

5.1 · 2.3
5,1 · 2,3
5.1 × 10−5
5.1 × 105 = 510 000
1.3 × 10−6 ± 2.3 × 10−10

Vergleichsoperatoren:
$10 \ geq 9.8$ $10 > 9.8$ $9.8 \ leq 10$ $9.8 \ neq 10$

10 ≥ 9.8 10 > 9.8 9.8 ≤ 10 9.8 6= 10

Brüche werden im Inline- und Display-Modus verschieden großzügig gesetzt:


$97 \ pm \ frac {1}{10}$ , $\ frac {5.1}{10000}$ oder
$\ frac {2 + 5 + \ frac {7}{2}}{3}$ im Vergleich zu
\[\ frac {5.1}{10\ ,000}.\]
\[\ frac {2 + 5 + \ frac {7}{2}}{3}\]

35
2+5+ 72
97 ± 10 , 10000
1 5.1
oder 3 im Vergleich zu

5.1
.
10 000
2+5+ 7
2
3

In einigen Kontexten verwendet man andere Bruch-Darstellungen:


\ usepackage { nicefrac }
...
\ nicefrac {1}{8} Liter Milch und $1 \ nicefrac {1}{2}$ Kilo Mehl

1/8 Liter Milch und 11/2 Kilo Mehl

Wurzeln:
\[\ sqrt {2} \ sqrt {\ frac {1}{2}+3} \ sqrt [3]{2} \ sqrt [ n ]{2}\]

√ 1 √ √
r
2 +3 2 2
3 n

Wie auch Brüche verschachtelbar:


\[\ frac {\ sqrt {\ frac {1}{2}}}{3}\]

q
1
2
3

Für häufige Ausdrücke, in denen Buchstaben keine einzelnen Variablen sind, gibt es
fertige Befehle:
Falsch : \[ sin ( x ) , sin x , log ( x ) , ln ( x ) , max \]
Richtig : \[\ sin ( x ) , \ sin x , \ log ( x ) , \ ln ( x ) , \ max \]
\[\ cos (2 \ theta ) = \ cos ˆ2 \ theta - \ sin ˆ2 \ theta \]
\[\ max (x , y )\]

36
Falsch:
sin(x), sinx, log(x), ln(x), max
Richtig:
sin(x), sin x, log(x), ln(x), max
cos(2θ) = cos2 θ − sin2 θ
max(x, y)

Der Apostroph auf der Tastatur erzeugt das korrekte Zeichen für den einfachen oder
mehrfachen Ableitungsstrich:
\[(\ cos x ) ’ = - \ sin ( x )\]

(cos x)0 = − sin(x)

Einfache oder vektorielle Ableitung (das d“ ist keine Variable!):



\[\ frac {\ mathrm { d }}{\ mathrm { d } x } \ cos x = - \ sin x \]

d
cos x = − sin x
dx

Partielle Ableitung:
\[\ frac {\ partial }{\ partial x } \ cos ( y \ cdot x )
= - y \ cdot \ sin ( y \ cdot x )\]


cos(y · x) = −y · sin(y · x)
∂x

Nabla-Operator (Vektor-Differential):
\[\ nabla = \ left (\ frac {\ partial }{\ partial x _1} , \ cdots ,
\ frac {\ partial }{\ partial x _ n }\ right )\]
\[\ nabla f , \ quad \ nabla \ cdot f , \ quad \ nabla \ times f \]

∂ ∂
 
∇= ,··· ,
∂x1 ∂xn
∇f, ∇ · f, ∇×f

37
Integration ( d“ ist keine Variable!):

Falsch : \[\ int f ( x ) d x \]
Richtig : \[\ int f ( x ) \ , \ mathrm { d } x \]
\[\ int \ cos x \ , \ mathrm { d } x = \ sin x \]

Falsch: Z
f (x)dx

Richtig: Z
f (x) dx
Z
cos x dx = sin x

Definites Integral (im Fließtext sehr eng):


$ \ int _{0}ˆ{\ pi /2} \ cos x \ , \ mathrm { d } x = 1$ oder
\[\ int _{0}ˆ{\ pi /2} \ cos x \ , \ mathrm { d } x = 1\]

R π/2
0 cos x dx = 1 oder
Z π/2
cos x dx = 1
0

Mehrfache und spezielle Integrale:


\[\ int \ iint \ iiint \ idotsint \ oint \]

Z ZZ ZZZ Z Z I
···

Um d“ nicht jedes Mal tippen zu müssen, bieten sich eigene Makros an, beispielsweise

für Differentiation:
\ newcommand {\ dd }[1]{\ frac {\ mathrm { d }}{\ mathrm { d } #1}}
\[\ dd { x } f ( x )\]

38
d
f (x)
dx

Und für Integration:


\ newcommand {\ de }{\ , \ mathrm { d }}
\[\ int f ( x ) \ de x \]

Z
f (x) dx

Summen und Reihen:


\[\ sum _{ k =1}ˆ5 k = 1+2+3+4+5 = \ frac {5 \ cdot 6}{2} = 15\]
\[\ sum _{ k =1}ˆ{10} \ sin k ˆ2 = \ sum _{1 \ leq k \ leq 10} \ sin k ˆ2
= \ sin 1ˆ2 + \ sin 2ˆ2 + \ ldots + \ sin 10ˆ2\]
\[\ sum _{\ substack {1 \ leq k \ leq 100 \\ 1 \ leq \ ell \ leq 100}}
k \ cdot \ ell ˆ2\]

5
5·6
k =1+2+3+4+5= = 15
X

k=1
2
10
sin k 2 = sin k 2 = sin 12 + sin 22 + . . . + sin 102
X X

k=1 1≤k≤10
X
k · `2
1≤k≤100
1≤`≤100

Grenzwertrechnung:
$ \ lim _{ x \ to \ infty } e ˆ{ - x } = 0$ oder
\[\ lim _{ x \ to \ infty } e ˆ{ - x } = 0\]

limx→∞ e−x = 0 oder


lim e−x = 0
x→∞

5.4. Mengenlehre, Logik

Mengen-Operatoren:

39
\ begin { align *}
A &= \{1 , 2 , 3\} \\
B &= \{3 , 4 , 5\} \\
A &\ neq B \\
A \ cup B &= \{1 , 2 , 3 , 4 , 5\} \\
A \ cap B &= \{ 3 \} \\
A \ cap \ emptyset &= \ emptyset \\
\ max A &= 3
\ end { align *}

A = {1, 2, 3}
B = {3, 4, 5}
A 6= B
A ∪ B = {1, 2, 3, 4, 5}
A ∩ B = {3}
A∩∅=∅
max A = 3

Spezielle Mengen:
$ x \ in \ mathbb { R }$
$3 + 4 i \ in \ mathbb { C }$
$\ mathbb { N } , \ mathbb { Q } , \ mathbb { K }$
\[\ mathcal { M } = \{ z \ in \ mathbb { C } : | z - i | < 3 \}\]

x∈R
3 + 4i ∈ C
N, Q, K
M = {z ∈ C : |z − i| < 3}

Teilmengen-Relationen:
$ m \ in \ mathcal { M }$ ,
$\ mathcal { M } \ subseteq \ mathbb { C }$ ,
$\ mathcal { M } \ subset \ mathbb { C }$ ,
$\ mathcal { M } \ subsetneq \ mathbb { C }$

m ∈ M, M ⊆ C, M ⊂ C, M(C

40
Logik:
\[ a > 2 \ rightarrow a ˆ2 > 4\]
\[ a > 2 \ Rightarrow a ˆ2 > 4\]
\[ a \ wedge (\ neg b \ vee c ) \ Leftrightarrow
a \ wedge ( b \ rightarrow c )\]

a > 2 → a2 > 4
a > 2 ⇒ a2 > 4
a ∧ (¬b ∨ c) ⇔ a ∧ (b → c)

Logik mit Quantoren:


\[\ lim _{ n \ to \ infty } a _ n = a \ quad \ Leftrightarrow \ quad
\ forall \ varepsilon > 0 \ quad
\ exists N _{\ varepsilon } \ in \ mathbb { N } \ quad
\ forall n \ geq N _{\ varepsilon } : | a _ n - a | < \ varepsilon \]

lim an = a ⇔ ∀ε > 0 ∃Nε ∈ N ∀n ≥ Nε : |an − a| < ε


n→∞

5.5. Abstände und Punkte

−3/18 quad a\!b ab


0 quad ab ab
3/18 quad a\,b ab
4/18 quad a\:b ab
5/18 quad a\;b ab
1 quad a\quad b a b
2 quad a\qquad b a b
1 cm a\hspace*{1cm} b a b

Nützliche Punkte bei Auslassungen:


\[ 1 , 2 , 3 , \ ldots , 10 , \]
\[ 1 + 2 + 3 + \ ldots + 10 , \]
\[ 1 \ cdot 2 \ cdot 3 \ cdots 10 , \]
und so weiter \ dots

41
1, 2, 3, . . . , 10,
1 + 2 + 3 + . . . + 10,
1 · 2 · 3 · · · 10,
und so weiter . . .

5.6. Matrizen, Klammern, Struktur

Verfügbare Klammern und Klammer-ähnliche Dinge:


\[( a ) [ b ] \{ c \} | d | \| e \|
\ langle f \ rangle \ lfloor g \ rfloor \ lceil h \ rceil \]

(a) [b] {c} |d| kek hf i bgc dhe

Standardmäßig sind Klammern von fixer Größe, was oft nicht passt:
\[ ( a + \ frac { b }{ a })ˆ2 \]

b
(a + )2
a

Besser automatisch skalierte Klammern:


\[\ left ( a + \ frac { a }{ b } \ right )ˆ2 ,
\ left ( \ frac {5}{2} \ right ) ,
\ left | \ frac {2 + 3 i }{5 i } \ right |\]

5 2 + 3i
2
a
  
a+ , ,
b 2 5i

Manuell skalierte Klammern:


\[5 \ cdot \ Big ( \ sum _{ k =1}ˆ{10} k ˆ2 \ Big ) ,
( \ big ( \ Big ( \ bigg ( \ Bigg ( \]

10
X  
5· k2 , (
k=1

42
Vektoren und Matrizen:
\[5 \ cdot \ begin { pmatrix } 1 \\ 3 \\ 4 \ end { pmatrix }
= \ begin { pmatrix } 5 \\ 15 \\ 20 \ end { pmatrix }\]

1 5
   

5 · 3 = 15
   
4 20

Für verschiedene Klammern um die Matrix:

matrix pmatrix bmatrix vmatrix Vmatrix



1 2 3 1 2 3 1 2 3 1 2 3 1 2 3
   

4 5 6 4 5 6  4 5 6 4 5 6 4 5 6
   
7 8 9 7 8 9 7 8 9 7 8 9 7 8 9

Möchte man die Ausrichtung der Spalten wie bei einer Tabellen festlegen, eignet sich die
array-Umgebung (funktioniert wie tabular, siehe unten):
\[ \ left ( \ begin { array }{ lcr }
1+1 & 2 & 3 \\
\ hline
4 & 5+5 & 6 \\
7 & 8 & 9+9 \\
\ end { array } \ right ) \]

1+1 2 3
 

 4 5+5 6 
 
7 8 9+9

Geeignete Punkte:
\[ A = \ begin { pmatrix }
a _{1 ,1} & a _{1 ,2} & \ cdots & a _{1 , n } \\
a _{2 ,1} & a _{2 ,2} & \ cdots & a _{2 , n } \\
\ vdots & \ vdots & \ ddots & \ vdots \\
a _{ m ,1} & a _{ m ,2} & \ cdots & a _{ m , n } \\
\ end { pmatrix } \]

43
 
a1,1 a1,2 ··· a1,n
 a2,1

a2,2 ··· a2,n 
A=

 .. .. .. .. 
 . . . . 

am,1 am,2 · · · am,n

Fallunterscheidungen:
\[ f ( x ) = \ begin { cases }
5 x ˆ2 & x < 2 , \\
10 x & 2 \ leq x < 4 , \\
5 x + 20 & \ text { sonst .}
\ end { cases } \]


5x x < 2,
 2

f (x) = 10x 2 ≤ x < 4,

5x + 20

sonst.

Kennzeichnen und Verbinden von Rechnungs-Teilen:


\[ x = 17 + \ underbrace {35 - 15 - 20}_{=0} + 1 = 18\]
\[ x = 17 + \ overbrace {35 - 15 - 20}ˆ{=0} + 1 = 18\]

x = 17 + 35
|
− 15
{z
− 20} +1 = 18
=0
=0

x = 17 + 35 − 15 − 20 +1 = 18
z }| {

\[ A \ xleftarrow {\ text { this way }} B


\ xrightarrow [\ text { or that way }]{ } C \]

this way
A ←−−−−− B −−−−−−−→ C
or that way

44
5.7. Einheiten

Auch Einheiten sind keine Variablennamen. Grundsätzlich werden Variablensymbole (z.B.


Geschwindigkeit v) kursiv gesetzt – also im Mathe-Modus –, Zahlen und deren Einheiten
aber aufrecht und mit einem schmalen Abstand, etwa so:
$ L = 5\ ,\ textrm { m }$
$ v = 5\ ,\ textrm { m }\ ,\ textrm { s }ˆ{ -1}$

L = 5m
v = 5 m s−1

Für naturwissenschaftliche Arbeiten mit vielen Größen ist es dringend empfehlenswert,


sich das Paket siunitx genauer anzusehen, das die korrekte Formatierung übernimmt:
ftp://ftp.dante.de/ctan%3A/macros/latex/exptl/siunitx/siunitx.pdf
Falsch : \[5 m \ cdot 5 m = 25 m ˆ2\]
Richtig : \ usepackage { siunitx }
\[\ SI {5}{ m } \ cdot \ SI {5}{ m } = \ SI {25}{ m ˆ2}\] oder
\[\ SI {5}{\ metre }\ cdot \ SI {5}{\ metre } = \ SI {25}{\ square \ metre }\]

Falsch: 5m · 5m = 25m2
Richtig: 5 m · 5 m = 25 m2

Die SI-Makros funktionieren sowohl im Textmodus als auch im Mathemodus. Details


der Zahlenformatierung (Tausendertrennzeichen, Kommatrennzeichen, wissenschaftliche
Notation mit Zehnerpotenzen, usw.) sowie des Einheitenformats (Divisionsformat, usw.)
lassen sich entweder lokal oder global (in der Präambel) einstellen. Weitere Beispiele:
\ SI {5}{\ micro \ metre } und $ L = \ SI {5}{\ micro \ metre }$

$ v = \ SI {130}{ km . h ˆ{ -1}}$ oder


\ SI [ per - mode = symbol ]{130}{\ kilo \ metre \ per \ hour } oder
\ SI [ per - mode = fraction ]{130}{\ kilo \ metre \ per \ hour }.

\ sisetup { locale = DE } % Pr ä ambel


$ L = \ SI {90.5}{\ metre }$

5 µm und L = 5 µm

h .
v = 130 km h−1 oder 130 km/h oder 130 km
L = 90,5 m

Für häufig verwendete Einheiten legt man sich am besten Makros an (Präambel):
45
\ DeclareSIUnit [ per - mode = symbol ]{\ kmh }{\ kilo \ metre \ per \ hour }
\ SI {130}{\ kmh }

130 km/h

Einheiten ohne Zahlen:


\[\ si { N } = \ si [ per - mode = fraction ]{\ kilo \ gram \ metre
\ per \ square \ second }\]
\[ k = 8.987 \ times 10ˆ9 \ quad \ left [ \ si [ per - mode = fraction ]{
\ newton \ square \ metre \ per \ square \ coulomb } \ right ]\]

kg m
N=
s2
N m2
" #
k = 8.987 × 10 9
C2

Zahlen können sowohl formatiert als auch bei Bedarf gerundet werden usw.:
\ num {1+ -2 i }
\ num {.3 e 45}
\ num [ round - mode = places , round - precision =3]{ 1.2345 6789} \\
\ num [ scientific - notation = engineering ]{123456789}

1 ± 2i
0.3 × 1045
1.235
123.456 789 × 106

Winkel mit siunitx:


\ ang {10} , \ ang {1;2;3}

10◦ , 1◦ 20 300

siunitx bietet auch ein spezielles Tabellenformat S[] und weitere Nützlichkeiten.

46
6. Float-Umgebungen und Referenzen

6.1. Referenzen

Quasi alles, was in LATEX nummeriert ist, kann man auch referenzieren. Bereits bekannt
sind label und eqref für Gleichungen; für andere Nummerierungen (z. B. Kapitel)
verwendet man üblicherweise ref (Nummer des referenzierten Eintrags, ohne Klammern
o. ä.) sowie pageref (Seite des referenzierten Eintrags). Damit die Referenzen korrekt
aufgelöst werden, muss das Dokument zweimal hintereinander kompiliert werden! Beim
ersten Mal steht statt jeder Referenz ein ??.
\ subsection { Dreiecke }
\ label { subsec : dreiecke }

\ begin { equation }
\ label { eq : kanten }
a ˆ2 + b ˆ2 = c ˆ2
\ end { equation }

Wie in Gleichung ˜ \ eqref { eq : kanten }


in Kapitel ˜ \ ref { subsec : dreiecke }
auf Seite ˜ \ pageref { subsec : dreiecke } gezeigt , \ dots

6.1. Dreiecke

a2 + b2 = c2 (12)

Wie in Gleichung (12) in Kapitel 6.1 auf Seite 47 gezeigt, . . .

6.2. Tabellen

Die Einträge von Tabellen können ähnlich angegeben werden wie von Matrizen, mit &
zur Trennung der Zellen innerhalb einer Zeile, und \\ zwischen den Zeilen. Zusätzlich
gibt man allerdings ein Spaltenformat an, das u.a. die Ausrichtung des Textes innerhalb
jeder Spalte festlegt, und direkt nach \begin{tabular} definiert wird: l für linksbündige
Spalte, r rechtsbündig, c zentriert, p{2cm} für Blocksatz auf fixe Breite von 2 cm.
\ begin { tabular }{ llr }
eins & zwei & f ü nf \\
drei & vier & sechs \\
\ end { tabular }

47
eins zwei fünf
drei vier sechs

Vertikale Striche werden bei der Tabellenspaltendefinition angegeben, horizontale zwischen


den Zeilen:
\ begin { tabular }{| l | p {3.5 cm }| r |}
\ hline
\ textbf { Spalte 1} & \ textbf { Spalte 2} & \ textbf { Spalte 3} \\
\ hline
eins & zwei & f ü nf \\
\ hline
drei & vier , langer Text langer Text , lang \ dots & sechs \\
\ hline
\ end { tabular }

Spalte 1 Spalte 2 Spalte 3


eins zwei fünf
drei vier, langer Text lan- sechs
ger Text, lang . . .

Die Standard-LATEX-Tabelle wirkt relativ beengt. Schönere Tabellen konstruiert man mit
dem Paket booktabs, das andere horizontale Linien definiert (und vertikale vermeidet):
\ usepackage { booktabs }
...
\ begin { tabular }{ lll }
\ toprule
\ textbf { Spalte 1} & \ textbf { Spalte 2} & \ textbf { Spalte 3} \\
\ midrule
eins & zwei & f ü nf \\
drei & vier & sechs \\
\ bottomrule
\ end { tabular }

Spalte 1 Spalte 2 Spalte 3


eins zwei fünf
drei vier sechs

Das Paket multirow erlaubt, Zellen untereinander zu kombinieren. Bei Tabellen mit
Zahlenwerten auf Vergleichbarkeit achten (rechtsbündig, Anzahl Nachkommastellen)!

48
\ usepackage { multirow }
...
\ begin { tabular }{ llrr }
\ toprule
\ multicolumn {2}{ l }{\ textbf { Nahrungsmittel }} &
\ multicolumn {2}{ c }{\ textbf { Inhaltsstoffe pro 100\ , g }} \\
\ cmidrule {3 -4}
& & Fett / g & Vit . C / mg \\
\ midrule
\ multirow {2}{*}{ Obst } & Apfel & 0.4 & 12.0 \\
& Birne & 0.3 & 4.2 \\
\ midrule
N ü sse & Walnuss & 62.5 & 3.0 \\
\ bottomrule
\ end { tabular }

Nahrungsmittel Inhaltsstoffe pro 100 g


Fett / g Vit. C / mg
Apfel 0.4 12.0
Obst
Birne 0.3 4.2
Nüsse Walnuss 62.5 3.0

Einige Beispiel-Codeschnipsel für Spezialwünsche:


• Abstände anpassen:
– Spaltenabstand (absolut, für alle Spalten):
\ setlength {\ tabcolsep }{1 cm }

– Bestimmten Spaltenabstand durch Symbol ersetzen (z.B. Dezimalpunkt, oder


besonders kleiner/großer Abstand; in Spalten-Spec, hier zwischen zwei zen-
trierten Spalten):
c @ {...} c

– Zeilenabstand (relativ):
\ renewcommand {\ arraystretch }{1.5}

• Ganze Zeile/Spalte formatieren:

49
– spaltenweise Font-Angaben (in der Spalten-Spec):
\ usepackage { array }
...
>{\ bfseries } c <{}

– zeilenweise Font-Angaben (zu Beginn der Zeile):


\ usepackage { tabu }
...
\ rowfont {\ bfseries \ itshape }

• Farbiger Hintergrund:
– einzelnen Zellen-Hintergrund färben (zu Beginn der Zelle):
\ usepackage [ table ]{ xcolor }
...
\ cellcolor { red }

– abwechselnd gefärbte Zeilen (vor der Tabelle):


\ usepackage [ table ]{ xcolor }
...
\ rowcolors {1}{ gray }{ white }

• Tabellen auf Textbreite strecken mit tabu-Umgebung:


\ usepackage { tabu }
...
\ begin { tabu } to \ linewidth { l X [2] X }
...
\ end { tabu }

(erste Spalte mit natürlicher Breite, zweite und dritte Spalte entsprechend gestreckt,
wobei die zweite doppelt so breit wie die dritte wird)
• Tabellen länger als eine Seite mit Umgebung longtabu:
\ usepackage { tabu }
...
\ begin { longtabu } to \ linewidth { l X [2] X }
...
\ endhead
...
\ end { longtabu }

(Zeilen vor \endhead werden auf jeder Seite wiederholt)

50
6.3. Float-Umgebungen

Bislang wurden Tabellen an Ort und Stelle“ angezeigt, was gerade bei größeren Tabellen

zu Platzproblemen und großen Leerflächen führen kann. Daher verpackt man Tabellen und
andere große Dinge (Bilder, Codeschnipsel, . . . ) üblicherweise in Float-Umgebungen“,

die LATEX selbst nach Gutdünken platzieren darf. Um im Text auf die richtige floatende
Tabelle (table) verweisen zu können, bekommt die Tabelle eine Kurzbeschreibung
(caption) mit Nummerierung und ein referenzierbares label:
In Tabelle ˜ \ ref { tab : test } auf Seite ˜ \ pageref { tab : test } \ dots

\ begin { table }[ h !] % starte Float - Umgebung


\ caption { Beschriftung der Tabelle } % Kurzbeschriftung
\ label { tab : test } % Label f ü r Referenzen
\ centering % zentriere Tabelle
\ begin { tabular }{ lll } % beginne Tabelle
... % wie gehabt
\ end { tabular } % beende Tabelle
\ end { table } % beende Float - Umgebung

In Tabelle 1 auf Seite 51 . . .

Tabelle 1: Beschriftung der Tabelle


Spalte 1 Spalte 2 Spalte 3
eins zwei fünf
drei vier sechs

Ohne Zutun werden Tabellen von LATEX typischerweise an das obere Ende der nächstgelegenen
Seite verfrachtet. Man kann der table-Umgebung im optionalen Parameter andere
Präferenzen (sortierte Liste) angeben: oben auf der Seite (t), unten (b), auf einer eigenen
Seite nur für Floats (p) oder direkt hier (h). Mit ! wird die Präferenz noch dringlicher.

6.4. Bilder

Bilder werden mit dem Befehl includegraphics aus dem graphicx-Paket eingebunden.
Erlaubte Dateitypen sind pdf, jpg und png. Die Dateiendung kann bei der Angabe des
Bildnamens ausgelassen werden. Das Bild muss im selben Ordner wie die tex-Datei liegen;
andernfalls muss der Pfad genauer angegeben werden. Beispiele: logo.pdf oder logo
(im selben Ordner); figures/logo (im Unterordner figures“ – beachte den Slash /

statt Backslash \ im Pfadnamen!); ../figures/logo (ein Ordner hoch, dann im Ordner
figures).

51
\ usepackage { graphicx }
...
\ includegraphics { TU _ Graz _ Logo }

Mit optionalen Parametern kann das Bild skaliert werden, entweder relativ zu seiner
eigenen Größe (scale, xscale, yscale):
\ includegraphics [ scale =.5]{ TU _ Graz _ Logo }
\ includegraphics [ scale =1.5]{ TU _ Graz _ Logo }

Oder absolut in einer Einheit (z. B. 5cm, oder halb so breit wie die Seite, mit width oder
height):
\ includegraphics [ width =5 cm ]{ TU _ Graz _ Logo }
\ includegraphics [ height =1 cm ]{ TU _ Graz _ Logo }
\ includegraphics [ height =1 cm , width =5 cm ]{ TU _ Graz _ Logo }
\ includegraphics [ width =0.5\ textwidth ]{ TU _ Graz _ Logo }

Drehen (um mehrere Parameter zu verwenden, mit Komma trennen):


\ includegraphics [ angle =90 , scale =0.5]{ TU _ Graz _ Logo }

52
Zuschneiden (trim = links unten rechts oben, clip), bei mehrseitigen PDFs die
richtige Seite auswählen (page=1):
\ includegraphics [ trim =1 cm 0 cm 0 cm 0 cm , clip ]{ TU _ Graz _ Logo }

Verpackt in die Float-Umgebung figure – die caption wird üblicherweise eher unterhalb
des Bildes (statt oberhalb wie bei Tabellen) gesetzt:
In Abbildung ˜ \ ref { fig : logo } auf Seite ˜ \ pageref { fig : logo }
ist das Logo der TU Graz .

\ begin { figure }[ h ]
\ centering
\ includegraphics { TU _ Graz _ Logo }
\ caption { Mein TU - Graz - Logo .}
\ label { fig : logo }
\ end { figure }

In Abbildung 1 auf Seite 53 ist das Logo der TU Graz.

Abbildung 1: Mein TU-Graz-Logo.

Mehrteilige Abbildungen:
\ usepackage { subcaption }
...
Abbildung ˜ \ ref { fig : logo } hat zwei Subabbildungen , n ä mlich
\ ref { links } und \ ref { rechts }.

53
\ begin { figure }[ h ]
\ centering
\ begin { subfigure }[ b ]{0.4\ textwidth }
\ centering
\ includegraphics { TU _ Graz _ Logo }
\ caption { Das Logo } \ label { links }
\ end { subfigure }
\ hspace *{2 cm } % Trenner zwischen den Subfigures
\ begin { subfigure }[ b ]{0.4\ textwidth }
\ centering
\ includegraphics { TU _ Graz _ Logo }
\ caption { Das Logo } \ label { rechts }
\ end { subfigure }
\ caption { Das Logo in doppelter Ausf ü hrung .}\ label { fig : logo }
\ end { figure }

Abbildung 2 hat zwei Subabbildungen, nämlich 2a und 2b.

(a) Das Logo (b) Das Logo

Abbildung 2: Das Logo in doppelter Ausführung.

Weiterführende Pakete:
• placeins für den Befehl \FloatBarrier, der verhindert, dass Float-Umgebungen
über bestimmte Grenzen hinweg verschoben werden.
• sidecap für Beschriftung neben statt ober/unter dem Bild (Umgebung SCfigure)
• wrapfig für von Text umflossenes Bild“ (Umgebung wrapfigure)

54
Tag III
Daten und Bibliographie

Inhalt

7. Tabellarische Daten 56
7.1. Tabellen und Float-Umgebungen . . . . . . . . . . . . . . . . . . . . . . . 56
7.2. Tabellen aus CSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.3. Plots und Diagramme aus CSV . . . . . . . . . . . . . . . . . . . . . . . . 59
7.4. Trendlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

8. Literatur-Referenzen 66
8.1. Format der bib-Datei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.2. Einbinden der bib-Datei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
8.3. Details zu bib-Einträgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
8.4. Zitierstile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.5. Management von Literatur-Datenbanken . . . . . . . . . . . . . . . . . . . 77
7. Tabellarische Daten

Zusätzlich zum Erstellen einfacher Tabellen zeigt dieses Kapitel einige Varianten auf,
vorhandene tabellarische Daten bequem in LATEX einzubinden – etwa in Form automatisch
erstellter Tabellen, Plots und Analysen (Regressionsgraphen) aus CSV-Rohdaten, wie sie
aus Microsoft Excel exportiert werden können.

7.1. Tabellen und Float-Umgebungen

Siehe Tag 2 Kapitel 2. Wir verwenden im Folgenden dasselbe laufende Beispiel:


\ usepackage { multirow , booktabs }
...
In Tabelle ˜ \ ref { tab : test } auf Seite ˜ \ pageref { tab : test } \ dots
\ begin { table }[ h !] % starte Float - Umgebung
\ caption { Beschriftung der Tabelle } % Kurzbeschriftung
\ label { tab : test } % Label f ü r Referenzen
\ centering % zentriere Tabelle
\ begin { tabular }{ llrr } % beginne Tabelle
\ toprule
\ multicolumn {2}{ l }{\ textbf { Nahrungsmittel }} &
\ multicolumn {2}{ c }{\ textbf { Inhaltsstoffe pro 100\ , g }} \\
\ cmidrule {3 -4}
& & Fett / g & Vit . C / mg \\
\ midrule
\ multirow {2}{*}{ Obst } & Apfel & 0.4 & 12.0 \\
& Birne & 0.3 & 4.2 \\
\ midrule
N ü sse & Walnuss & 62.5 & 3.0 \\
\ bottomrule
\ end { tabular } % beende Tabelle
\ end { table } % beende Float - Umgebung

In Tabelle 2 auf Seite 56 . . .

Tabelle 2: Beschriftung der Tabelle


Nahrungsmittel Inhaltsstoffe pro 100 g
Fett / g Vit. C / mg
Apfel 0.4 12.0
Obst
Birne 0.3 4.2
Nüsse Walnuss 62.5 3.0

56
7.2. Tabellen aus CSV

Oft hat man Messdaten für eine Tabelle bereits in einem anderen Tool vorliegen (z.B.
Microsoft Excel, LibreOffic Calc) und möchte daraus eine sehr durchschnittliche“ Tabelle

erstellen:

Dazu ist es notwendig, die Daten zuerst in ein Reintext-Format zu konvertieren: CSV
(Comma-Separated Values). Quasi jedes Datenverarbeitungs-Tool kann das, sowohl als
Speichern unter. . .“-Options als auch als Standardverhalten, wenn man Tabellenaus-

schnitte kopiert und in eine Textdatei einfügt. Entgegen ihres Namens sind die einzelnen
Zelldaten in einer CSV-Datei nicht unbedingt durch ein Komma getrennt, sondern oft
auch durch Semikolon (Strichpunkt) oder Tabs (Tabulatoren), oder mit Hilfe von ausrei-
chend Leerzeichen optisch in Spalten angeordnet, wobei die Komma-Variante aber am
kompatibelsten ist. Die CSV-Version unserer Daten in daten.csv sieht so aus:
Nahrungsmittel , Fett , Vitamin C
Apfel ,0.4 ,12
Birne ,0.3 ,4.2
Walnuss ,62.5 ,3

Eine Möglichkeit, solche Daten automatisch mit einem Befehl in ordentlich formatierte
LATEX-Tabellen umzuwandeln, ist das Paket csvsimple. In der einfachsten Variante wird
die erste Zeile im CSV als Tabellenkopf jeder Spalte interpretiert, die restlichen Zeilen
als Datenwerte:
\ usepackage { csvsimple }
...
\ csvautotabular { daten . csv } % Excel - CSV : [ separator = semicolon ]

Nahrungsmittel Fett Vitamin C


Apfel 0.4 12
Birne 0.3 4.2
Walnuss 62.5 3

57
Alternativ kann die Tabelle auch im booktabular-Stil gesetzt werden:
\ usepackage { booktabs , csvsimple }
...
\ csvaut ob oo kt ab ul ar { daten . csv }

Nahrungsmittel Fett Vitamin C


Apfel 0.4 12
Birne 0.3 4.2
Walnuss 62.5 3

Die erste Beispiele offenbaren auch einige Schwächen. So ist etwa die Default-Ausrichtung
der Spalten nicht für die Daten geeignet (rechts-aligned würde die Vergleichbarkeit
wesentlich verbessern), und es sollte darauf geachtet werden, dass die Quelldaten geeignet
formatiert sind (z.B. fixe Anzahl an Nachkommanstellen – das wurde für die nachfolgenden
Beispiele behoben).
Wesentlich mehr Kontrolle (z.B. Ausrichtung der Spalten, Formatierung des Tabellenkopfs,
Auswahl spezifischer Spalten und Zeilen, . . . ) bietet der komplexere \csvreader-Befehl,
der nur die Daten selbst aufbereitet (die einzelnen Spalten aus der Textdatei sind mit
ihrem Spaltennamen zugreifbar), während man die Tabelle rundherum selbst kontrolliert:
\ begin { tabular }{ lrr }
\ toprule
\ textbf { Nahrungsmittel } &
\ multicolumn {2}{ c }{\ textbf { Inhaltsstoffe pro 100\ , g }} \\
\ cmidrule {2 -3}
& \ textbf { Fett } in g & \ textbf { Vitamin C } in mg \\
\ midrule
\ csvreader [ late after line =\\] %
{ daten _ fixed . csv } %
{ Nahrungsmittel =\ produkt , Fett =\ fett , Vitamin C =\ vitc } %
{\ produkt & \ fett & \ vitc }
\ bottomrule
\ end { tabular }

Nahrungsmittel Inhaltsstoffe pro 100 g


Fett in g Vitamin C in mg
Apfel 0.4 12.0
Birne 0.3 4.2
Walnuss 62.5 3.0

58
7.3. Plots und Diagramme aus CSV

Nicht nur Textinhalte lassen sich mit LATEX erzeugen – es gibt auch eine Menge Pakete,
mit denen grafische Inhalte erzeugt werden können. Eines der meistgenutzten Pakete
ist PGF/TikZ (meist nur als TikZ“ bezeichnet), das eine Sprache zur Beschreibung

von Vektorgrafiken (z.B. für Diagramme und Skizzen) bietet. Für viele spezialisiertere
Anwendungen (z.B. chemische Strukturformeln, elektrotechnische Schaltdiagramme, oder
statistische Plots) gibt es Erweiterungspakete, die die Nutzung weiter vereinfachen.
TikZ sprengt den Rahmen dieses Basis-Kurses deutlich, aber einfache Daten-Plots aus
CSV-Daten lassen sich auch ohne genauere Kenntnisse bewerkstelligen – das relevante
Erweiterungspaket ist pgfplots.

7.3.1. Einfacher Plot

Grundsätzlich plottet man mit pgfplots zweidimensionale Datensätze, wir brauchen


also eine Tabelle squares.csv mit zwei Spalten (hier Tab-getrennt):
X Y
1 1
2 4
3 9
4 16
5 25
6 36

Mit dem \addplot-Befehl wird ein Datensatz zur Anzeige hinzugefügt, während die
axis-Umgebung für die Beschriftung und Achsen zuständig ist:
\ begin { tikzpicture }
\ begin { axis }
\ addplot table { squares . csv };
\ end { axis }
\ end { tikzpicture }

30

20

10

0
2 4 6

59
7.3.2. Balkendiagramm

Es gibt eine Menge Parameter, um Details an den Plots zu konfigurieren, z.B. Be-
schriftung, Farben, Auswahl von Spalten, Art des Plots, und so weiter. Beispiel für ein
Balkendiagramm zu dieser CSV-Datei obst.csv:
Obst , Fett , Vitamin C , Calcium , Magnesium
Apfel ,0.4 ,12.0 ,7.0 ,6.0
Birne ,0.3 ,4.2 ,9.0 ,7.0
Orange ,0.2 ,50.0 ,42.0 ,14.0

\ usepackage { tikz , pgfplots }


\ begin { tikzpicture }
\ begin { axis }[
ybar , % Art des Plots ...
title = Vitamingehalt , % Beschriftung ...
xlabel ={ Obstsorte } ,
ylabel ={ Vitamingehalt pro 100\ , g in mg } ,
nodes near coords ,
table / col sep = comma , % Angaben zum CSV - Format ...
symbolic x coords ={ Orange , Apfel , Birne } ,
xtick = data , enlargelimits =0.2 , % Kleinigkeiten ...
]
\ addplot [ fill = green !30] table [ x = Obst , y = Calcium ] { obst . csv };
\ addplot [ fill = blue !30] table [ x = Obst , y = Vitamin C ]{ obst . csv };
\ addplot [ fill = red !30] table [ x = Obst , y = Magnesium ] { obst . csv };
\ legend { Vitamin C , Calcium , Magnesium }
\ end { axis }
\ end { tikzpicture }

Vitamingehalt
Vitamingehalt pro 100 g in mg

50 Vitamin C
42 Calcium
40 Magnesium

20 14 12
7 9
6 4.2 7
0
Orange Apfel Birne
Obstsorte

60
7.3.3. Scatter Plots

Darstellen von Punktemengen, hier im Beispiel (aus pgfplots-Manual) mit verschiedenen


Kategorien, und mit Inline-Daten statt CSV-Daten:
\ begin { tikzpicture }
\ begin { axis }
\ addplot [ scatter , only marks , point meta = explicit symbolic ,
scatter / classes ={ a ={ mark = square * , blue } ,
b ={ mark = triangle * , red } ,
c ={ mark =o , draw = black }}]
table [ meta = label ] {
x y label
0.1 0.15 a
0.45 0.27 c
0.02 0.17 a
0.06 0.1 a
0.9 0.5 b
0.5 0.3 c
0.85 0.52 b
0.12 0.05 a
0.73 0.45 b
0.53 0.25 c
0.76 0.5 b
0.55 0.32 c
};
\ end { axis }
\ end { tikzpicture }

0.5

0.4

0.3

0.2

0.1

0 0.2 0.4 0.6 0.8

61
7.3.4. 3D-Plots

Es können auch dreidimensionale Daten geplottet werden; hier im Beispiel kommen die
Daten nicht aus manuellen Datenpunkten, sondern werden aus einer mathematischen
Funktion generiert:
\ begin { tikzpicture }
\ begin { axis }[
title ={$ x \ exp ( - x ˆ2 - y ˆ2)$} ,
xlabel =$ x $ ,
ylabel =$ y $ ,
]
\ addplot 3[ surf , domain = -2:2 , domain y = -1.3:1.3]
{ exp ( - x ˆ2 - y ˆ2)* x };
\ end { axis }
\ end { tikzpicture }

x exp(−x2 − y 2 )

0.5

1
−0.5 0
−2
−1 0
1 y
2 −1
x

62
7.4. Trendlinien

Oft möchte man Messdaten mit einer erwarteten Funktion vergleichen, oder möglichst
genau durch eine möglichst einfache Funktion annähern (Trendlinie).

7.4.1. Manuelle Trendlinie

Wenn man die Trendlinien-Funktion schon weiß (z.B. theoretisches Modell vorhanden,
oder Trendlinie in Excel bereits generiert), kann man einfach \addplot-Befehle aus Daten
und aus Funktionen mischen:
\ begin { tikzpicture }
\ begin { axis }[ grid = major ]
\ addplot [ no markers ] { - x ˆ5 - 242}; % Modell - Funktion
\ addplot [ only marks ] coordinates { % Daten
( -4.77778 ,2027.60977)
( -3.55556 ,347.84069)
( -2.33333 ,22.58953)
( -1.11111 , -493.50066)
(0.11111 ,46.66082)
(1.33333 , -205.56286)
(2.55556 , -341.40638)
(3.77778 , -1169.24780)
(5.00000 , -3269.56775)
};
\ legend { Model , Data }
\ end { axis }
\ end { tikzpicture }

Model
Data
2,000

−2,000

−6 −4 −2 0 2 4 6

63
7.4.2. Lineare Regression

Lineare Trendlinien kann man direkt mit pgfplots erstellen, und die berechneten Para-
meter mit Makros auslesen:
\ usepackage { pgfplots , pgfplotstable }
...
\ begin { tikzpicture }
\ begin { axis }[ legend pos = north west ]
\ addplot [ only marks ] table { squares . csv }; % Daten
\ addplot [ no markers ]
table [ y ={ create col / linear regression ={ y = Y }}]
{ squares . csv }; % Regression
\ legend { Data $ y ( x )$ , %
Model
$\ pgf ma th pr in tn um be r {\ p g f p l o t s t a b l e r e g r e s s i o n a }
\ cdot x
\ p gfm at hp ri nt nu mb er [ print sign ]{ %
\ p g f p l o t s t a b l e r e g r e s s i o n b }$}
\ end { axis }
\ end { tikzpicture }

Data y(x)
Model 7 · x − 9.33
30

20

10

1 2 3 4 5 6

64
7.4.3. Nonlineare Prognose

Für ein nichtlineares Modell (z.B. quadratische oder exponentielle Funktion) muss man
schon ein bisschen in die Trickkiste greifen, da pgfplots das nicht selbst kann, und
stattdessen im Hintergrund GNUplot zu Hilfe nehmen:
\ begin { tikzpicture }
\ begin { axis }[ legend pos = north west ]
\ addplot [ only marks ] table { squares . csv }; % Daten
\ addplot [ no markers , blue ] gnuplot [ raw gnuplot ] { % Modell
f ( x ) = a * x **2+ b * x ; % Funktionstyp
a =0.5; b =1; % Startwerte
fit f ( x ) ’ squares . csv ’ u 1:2 via a , b ; % Eingabedaten
plot [ x =1:6] f ( x ); % Plotte Ergebnis
set print " parameters . dat "; % Outputdateiname
print a , b ; % a , b ausgeben
};
\ legend { Data $ y ( x )$ , %
% a , b aus Ausgabedatei auslesen
\ pgfpl otstab leread { parameters . dat }\ parameters
\ p g f p l o t s t a b l e g e t e l e m {0}{0}\ of \ parameters
\ pgfmathsetmacro \ paramA {\ pgfplotsretval }
\ p g f p l o t s t a b l e g e t e l e m {0}{1}\ of \ parameters
\ pgfmathsetmacro \ paramB {\ pgfplotsretval }
Model : $\ p gf mat hp ri nt nu mb er {\ paramA } x ˆ2
\ pg fm at hp ri nt nu mb er [ print sign ]{\ paramB } x $}
\ end { axis }
\ end { tikzpicture }

Data y(x)
Model: 1x2 + 1 · 10−2 x
30

20

10

0
1 2 3 4 5 6

65
8. Literatur-Referenzen

Das Zitieren von Literatur-Angaben ist ein essentieller Bestandteil quasi aller wissen-
schaftlichen Dokumente. LATEX bringt zwar selbst die Möglichkeit mit, Literatur-Einträge
innerhalb eines LATEX-Dokuments anzugeben und zu zitieren, doch diese eingebaute
Literatur-Verwaltung ist eher rudimentär: man muss seine Literatur-Einträge selbst
formatieren, was es sehr anstregend macht, ein konsistent formatiertes Verzeichnis zu
verwalten. Auch das Wiederverwenden in weiteren Dokumenten ist mühselig. Daher
verwendet man üblicherweise ein Hilfs-Werkzeug wie BibTEX oder BibLATEX. Diese
Werkzeuge speichern Literatur-Einträge in einer eigenen, zusätzlichen Datei, der bib-
Datei. Eine bib-Datei kann man zwischen mehreren Haupt-LATEX-Dokumenten teilen
bzw. wiederverwenden. Mit BibTEX wird die bib-Datei für die Verwendung in einem
Haupt-Dokument aufbereitet. Im Haupt-Dokument kann man die Literatur-Einträge mit
Hilfe eines Kurznamens (wie label) referenzieren, und BibTEX erstellt ein Literaturver-
zeichnis aus allen referenzierten Einträgen.

8.1. Format der bib-Datei

Die bib-Datei enthält eine Liste von Literatur-Einträgen (Bücher, Artikel, Konferenzbei-
träge, . . . ). Für jeden Eintrag wird ein kurzer Referenz-Name vergeben (wie label), unter
dem der Eintrag referenziert werden kann. Außerdem werden alle bibliographischen De-
tails (Veröffentlichungstyp, Autoren, Titel, Verlag, Veröffentlichungsdatum, URL, ISBN,
DOI, . . . ) angegeben.
Das grundsätzliche Format jedes Eintrags sieht so aus:
@artikeltyp{kurzlabel,
author = {Liste der Autoren} ,
title = {Titel des Beitrags} ,
year = {Jahr} ,
...
}

Jeder Eintrag beginnt mit @artikeltyp{kurzlabel, ...}, wobei artikeltyp den Ver-
öffentlichungstyp (article, book, . . . ) bezeichnet (siehe Abschnitt 8.3). Das kurzlabel
dient zur Referenz im LATEX-Dokument (siehe Abschnitt 8.2). Typische Kurzlabels sind
eine Kombination aus Autorname, Jahr und/oder Veröffentlichungsinformation oder ein
Stichwort zum Inhalt (z.B. knuth14latex für einen Artikel von Knuth über LATEX, oder
aicKnuthABC15 für einen Artikel von Knuth, Alice, Bob und Caesar, publiziert auf der
AIC-Konferenz 2015).
Nach dem Kurzlabel folgt eine Beistrich-getrennte Liste von Eigenschaften zu dem
Eintrag. Jeder Eintrag hat das Format eigenschaft = {Inhalt}, wobei eigenschaft

66
der fixe Name der Eigenschaft ist (z.B. author, title, . . . , siehe Abschnitt 8.3) und
Inhalt der in geschwungenen Klammern angegeben Wert der Eigenschaft (z.B. Liste der
Autorennamen) ist.
Je nach Veröffentlichungstyp sind manche Eigenschafts-Felder Pflichtangaben, manche
optional und manche werden ignoriert. Wie die Eigenschafts-Felder im fertigen Dokument
genau formatiert werden, hängt vom eingestellten Zitier-Stil ab (siehe Abschnitt 8.4).
Die bib-Datei wird unter einem beliebigen Namen (ohne Leerzeichen) mit der Erweiterung
.bib abgespeichert, beispielsweise references.bib.
Eine Beispiel-bib-Datei könnte so aussehen:
@book { knuth 2010 ,
author = { Donald E . Knuth } ,
title = { Selected Papers on Design of Algorithms } ,
series = {{ CSLI } lecture notes series } ,
year = {2010} ,
volume = {191} ,
publisher = { Cambridge University Press } ,
isbn = {978 -1 -57586 -582 -9} ,
}

@article { rsaJansonKLP 93 ,
author = { Svante Janson and
Donald E . Knuth and
Tomasz Luczak and
Boris Pittel } ,
title = { The Birth of the Giant Component } ,
journal = { Random Struct . Algorithms } ,
year = {1993} ,
volume = {4} ,
number = {3} ,
pages = {233 - -359} ,
doi = {10.1002/ rsa .3240040303} ,
}

Einige Anmerkungen zu den einzelnen Eigenschaften:


• author: Mehrere Autoren werden immer durch das Stichwort and (nie mit Beistrich!)
getrennt. BibTEX formatiert die Liste dann selbstständig korrekt entsprechend des
Zitierstils und kann Abkürzungen wie et al.“ vornehmen. Die Auftrennung im

Beispiel auf mehrere Zeilen ist egal und dient hier der Übersicht:
author = { Max Maier and Mia M . Maier and Martin Maier } ,

67
Ein einzelner Autor Vorname M. Nachname“ kann entweder angegeben werden

als Vorname M. Nachname oder als Nachname, Vorname M..
Vorsicht bei mehrteiligen Nachnamen wie van Gogh“: damit BibTEX den Namen

korrekt interpretiert, muss in diesen Fällen der Nachname geklammert werden:
author = { Vincent { van Gogh } and Mia M . Maier } ,

• title: In manchen Zitierstilen formatiert LATEX den gesamten Titel in Kleinbuch-


staben um. Wenn einzelne Namen oder Abkürzungen auf jeden Fall groß geschrieben
werden müssen, die entsprechenden Wörter klammern. Beispiele:
title = { On { PDF } Documents } ,
title = { The { Gauss } -{ Legendre } Algorithm } ,

• pages: Den richtigen Bindestrich für von-bis-Angaben (1–10) erhält man mit --:
pages = {233 - -356} ,

• crossref: Bei Beiträgen, die als Teil einer größeren Veröffentlichung publiziert
wurden (z.B. Beiträge in einem Sammelband zu einer Konferenz), kann man zwei
Einträge anlegen und von einem auf den anderen referenzieren.
Typisches Anwendungsbeispiel sind Konferenzbeiträge (Typ @inproceedings) im
entsprechenden Konferenzband (Typ @proceedings):
@inproceedings { satKnuth 12 ,
author = { Donald E . Knuth } ,
title = { Satisfiability and The Art of
Computer Programming } ,
booktitle = {{ SAT } 2012 -- 15 th International Conference ,
Proceedings } ,
year = {2012} ,
pages = {15 - -27} ,
crossref = { sat 2012} ,
}

@proceedings { sat 2012 ,


editor = { Alessandro Cimatti and
Roberto Sebastiani } ,
title = {{ SAT } 2012 -- 15 th International Conference ,
Proceedings } ,
series = { Lecture Notes in Computer Science } ,
year = {2012} ,
volume = {7317} ,

68
publisher = { Springer } ,
isbn = {978 -3 -642 -31611 -1} ,
}

Die Informationen aus dem Konferenzband (Editors, . . . ) werden dann im Litera-


tureintrag zum Konferenzbeitrag angezeigt; falls mehrere Beiträge aus demselben
Konferenzband zitiert werden, wird ein eigener Literatureintrag dafür angelegt und
dieser nur referenziert.
Wichtig: Bei einigen Zitierstilen ist es wichtig, zusätzlich zu crossref den Ein-
trag booktitle beim Einzelartikel auch anzugeben, da der booktitle (z.B.)
von inproceedings übernommen wird, alle anderen Informationen aber aus der
crossref.

8.2. Einbinden der bib-Datei

Das klassische Hilfswerkzeug zum Einbinden der bib-Datei in ein LATEX-Dokument ist
das Programm BibTEX. In den letzten Jahren gewann eine etwas benutzerfreundlichere,
flexiblere, mächtigere, leichter konfigurierbare Alternative an Populariät, BibLATEX.
Allerdings wird BibLATEX noch nicht von allen Verlagen unterstützt, und es ist viel
weniger Hilfsmaterial im Internet zu finden als zum klassischen BibTEX.
Beide Werkzeuge nutzen (etwa) dasselbe Format für die bib-Datei (wobei BibLATEX mehr
Einstellungen, Sonderzeichen in Einträgen, usw. unterstützt). Auch die Basis-Zitierbefehle
sind gleich. Unterschiedlich sind hauptsächlich die Einbindebefehle für die bib-Datei und
die Konfigurationsmöglichkeiten für den bib-Style. Im folgenden werden beide Varianten
kurz vorgestellt.

Variante BibTEX

Einzelne Einträge zitiert man mit \cite{kurzlabel}:


Einzelner Eintrag: Wie Knuth [3] zeigt, . . .
Wie Knuth ˜ \ cite { satKnuth 12} zeigt , \ dots

Mit Detail-Angabe (Seiten- oder Tabellennummer, . . . ): Wie Knuth [3, p.12] zeigt, . . .
Wie Knuth ˜ \ cite [ p .12]{ satKnuth 12} zeigt , \ dots

Mehrere Quellen auf einmal: Wie Knuth [3, 2] zeigt, . . .


Wie Knuth ˜ \ cite { satKnuth 12 , knuth 2010} zeigt , \ dots

69
Nur die zitierten Einträge aus der bib-Datei werden im Literaturverzeichnis eingefügt.
Möchte man Einträge ohne Zitierung einfügen, verwendet man \nocite{kurzlabel}
(für einen bestimmten Eintrag) oder \nocite{*} (für alle Einträge).
Um das Literaturverzeichnis zu erzeugen, muss man einen Stil (z.B. plain, alpha, unsrt)
sowie die Quell-bib-Datei angeben (im Beispiel referenzen.bib, ohne die .bib-Endung).
Das geschieht dort, wo das Literaturverzeichnis angezeigt werden soll, also typischerweise
ganz am Ende des Dokuments, kurz vor \end{document}:
\ bibliogra physty le { plain }
\ bibliography { referenzen }

Literatur

[1] Svante Janson, Donald E. Knuth, Tomasz Luczak, and Boris Pittel. The birth of the
giant component. Random Struct. Algorithms, 4(3):233–359, 1993.
[2] Donald E. Knuth. Selected Papers on Design of Algorithms, volume 191 of CSLI
lecture notes series. Cambridge University Press, 2010. (in print).
[3] Donald E. Knuth. Satisfiability and The Art of Computer Programming. In Alessandro
Cimatti and Roberto Sebastiani, editors, Theory and Applications of Satisfiability
Testing – SAT 2012 – 15th International Conference, Trento, Italy, June 17–20, 2012.
Proceedings, volume 7317 of Lecture Notes in Computer Science, page 15. Springer,
2012.

Um die LATEX- und die bib-Datei miteinander bekannt zu machen, ist es notwendig,
mehrere Kompiliervorgänge auszuführen:
1. LATEX (Eintrag pdfLaTeX im Editor TeXworks neben dem grünen Kompilier-Knopf,
oder pdflatex meindokument.tex auf der Kommandozeile)
2. BibTEX (Eintrag BibTeX im Editor TeXworks neben dem grünen Kompilier-Knopf,
oder bibtex meindokument auf der Kommandozeile)
3. LATEX (wie 1)
4. LATEX (wie 1)
Diese zusätzlichen Kompiliervorgänge sind nur notwendig, wenn man das Literatur-
verzeichnis aktualisieren möchte, also nicht bei jeder anderen kleinen Änderung im
Dokument.
Zusammenfassend ein komplettes Beispiel in BibTEX, mit der vorhin definierten bib-
Datei:

70
\ documentclass [ a 4 paper ]{ article }

\ begin { document }
As Knuth ˜ \ cite { satKnuth 12} shows , \ dots
As Janson et al . ˜ \ cite { rsaJansonKLP 93} show , \ dots
As Knuth ˜ \ cite [ p . ˜ 7]{ satKnuth 12} shows , \ dots
As Knuth ˜ \ cite [ p . ˜ 7 , Table ˜ 3]{ satKnuth 12} shows , \ dots
Several improvements to the algorithm have been proposed
in the last few years ˜ \ cite { knuth 2010 , satKnuth 12} , but \ dots

To include all bibliography items ( rarely used ): \ nocite {*}

\ bibliogra physty le { plain }


\ bibliography { library }
\ end { document }

Kompiliert wird wie folgt (im TEXnicCenter automatisch):


pdflatex maindocument
bibtex maindocument
pdflatex maindocument
pdflatex maindocument

Variante BibLATEX

BibLATEX verwendet dasselbe bib-Datei-Format wie auch BibTEX, unterstützt aber


wesentlich mehr Beitragstypen und Eigenschaften. Auch die Verwendung von Umlauten
und Spracheinstellungen funktioniert problemlos.
Im Gegensatz zu BibTEX wird BibLATEX als Paket inkludiert. Dabei kann man jede
Menge Optionen angeben, die den Zitierstil konfigurieren (wesentlich flexibler als die
fertigen Stile von BibTEX). Auch die bib-Datei wird direkt in der Präambel inkludiert
(diesmal mit Dateiendung .bib):
\ usepackage [ style = numeric ]{ biblatex }
\ addbibresource { referenzen . bib }

An der Stelle, an der das Literaturverzeichnis dann angezeigt werden soll (Ende des
Dokuments), schreibt man
\ printbibl iograp hy

Ansonsten ist die Verwendung innerhalb des Dokuments gleich, mit \cite{...} werden
Einträge zitiert. Es gibt allerdings in BibLATEX zusätzliche praktische Befehle, beispiels-
weise automatisches Einsetzen des Autornamens mit \textcite{...}:
71
As Knuth [3] shows, . . .
As Janson et al. [1] show, . . .
kann erzeugt werden entweder durch
As Knuth ˜ \ cite { satKnuth 12} shows , \ dots
As Janson et al . ˜ \ cite { rsaJansonKLP 93} show , \ dots

oder, einfacher, durch


As \ textcite { satKnuth 12} shows , \ dots
As \ textcite { rsaJansonKLP 93} show , \ dots

Kompiliert wird mit dem Hilfsprogramm biber (ggf. im Paketmanager installieren):


1. pdflatex meindokument.tex
2. biber meindokument
3. pdflatex meindokument.tex
Notfalls kann als Übergangslösung auch ohne biber, sondern mit dem alten BibTEX kom-
piliert werden, wenn man die entsprechend Paket-Option angibt:
\ usepackage [ backend = bibtex ]{ biblatex }
...

Ein komplettes Beispiel mit BibLATEX:


\ documentclass [ a 4 paper ]{ article }
\ usepackage [ style = numeric ]{ biblatex }
\ addbibresource { library . bib }

\ begin { document }
As Janson et al . ˜ \ cite { rsaJansonKLP 93} show , \ dots
As \ textcite { rsaJansonKLP 93} show , \ dots
...

\ printbibl iograp hy
\ end { document }

Kompilieren wie folgt (im TEXnicCenter muss ein neues Ausgabeprofil erstellt werden:
das Profil TeX → PDF“ klonen und bibtex ersetzen durch biber:

pdflatex maindocument
biber maindocument
pdflatex maindocument

72
8.3. Details zu bib-Einträgen

Beitragstypen

BibTEX unterstützt standardmäßig folgende Beitragstypen:


@article Artikel in einer Fachzeitschrift
@book Buch (mit Verlag)
@booklet Buch (ohne Verlag)
@conference,@inproceedings Beitrag in einem Konferenz-Band
@proceedings Konferenz-Proceedings (Sammelband zu Konferenz)
@inbook Buch-Beitrag
@incollection Buch-Beitrag mit eigenem Titel
@phdthesis Doktorarbeit, PhD-thesis
@techreport Technischer Bericht
@unpublished Unpubliziertes Material
@misc falls kein anderer Typ passt (z.B. Internetseite)

Eigenschaften eines Beitrags

Ein Literatureintrag kann standardmäßig die folgenden Eigenschaften haben (nicht alle
in jedem Beitragstyp unterstützt):
title Titel der Arbeit
author Namen der Autoren
year Publikationsjahr
month Publikationsmonat (3 Buchstaben)
pages Seitenangabe
booktitle Titel des Buchs, aus dem ein Teil zitiert wird
journal Name der Zeitschrift
editor Namen der Herausgeber
series Name der Bücherreihe
volume Band-Nummer
edition Ausgabe
number Nummer der Zeitschrift-Ausgabe
chapter Kapitelnummer
publisher Verlag
address Verlagsadresse
school Universität (bei Abschlussarbeiten)
organization Organisation (bei Konferenz)
type Typ (bei techn. Bericht)
institution Institution (bei techn. Bericht)
key Falls keine Autoren: Sortierschlüssel
note Zusatzinformation ( in press“, URLs, . . . )

73
Bibliography entry types

address
annote
author
booktitle
chapter
crossref
edition
editor
howpublished
institution
journal
key
month
note
number
organization
pages
publisher
school
series
title
type
volume
year

article • • ◦ ◦ ◦ ◦ • ◦ •
book ◦ * ◦ * ◦ ◦ ◦ • ◦ • ◦ •
booklet ◦ ◦ ◦ ◦ ◦ • ◦
inbook ◦ * * ◦ * ◦ ◦ ◦ * • ◦ • ◦ ◦ •

74
incollection ◦ • • ◦ ◦ ◦ ◦ ◦ ◦ ◦ • ◦ • ◦ ◦ •
inproceedings, ◦ • • ◦ ◦ ◦ ◦ ◦ ◦ ◦ • ◦ •
conference
manual ◦ ◦ ◦ ◦ ◦ ◦ • ◦
mastersthesis, ◦ • ◦ ◦ • • ◦ •
phdthesis
misc ◦ ◦ ◦ ◦ ◦ ◦
proceedings ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ • ◦ •
tech report ◦ • • ◦ ◦ ◦ • ◦ •
unpublished • ◦ • • ◦
• required, ◦ optional, * depends on settings
Es gibt standardmäßig kein url-Feld für URLs (Weblinks), viele bib-Stile unterstützen
es aber trotzdem (einfach ausprobieren). Als Ersatz können das howpublished-Feld
(@misc) oder das note-Feld (@article, @book, . . . ) verwendet werden, wobei die URL zur
korrekten Darstellung mit dem \url{}-Befehl aus \usepackage{hyperref} umschlossen
werden muss:
@misc { google ,
...
note = {\ url { www . google . at }}
...
}

8.4. Zitierstile

BibTEX

Der genaue Zitierstil (Format von Referenzierung und Eintrag im Literaturverzeichnis)


wird bei BibTEX mittels einer bst-Datei ( bibtex style“) festgelegt. Eingebunden wird

ein Stil mit \bibliographystyle{...} (Dateiname ohne bst). Einige der am häufigsten
verwendeten vorinstallierten Stile sind:
• plain: Nummerierte Referenzen, alphabetisch nach Autorennamen sortiert.
• abbrv: Wie plain, aber platzsparender, Autorennamen abgekürzt.
• alpha: Referenzen aus Autorname und Jahr statt nummeriert.
• unsrt: Wie plain, aber sortiert nach Zitier-Reihenfolge.
• apa: APA-Stil
Eigene bst-Dateien (z.B. von einem Verlag vorgegebene) können einfach in denselben
Ordner wie die LATEX-Hauptdatei abgelegt werden. Eine sehr umfangreiche, nach ver-
schiedenen Kriterien durchsuchbare Datenbank von fertigen Zitierstilen ist hier zu finden
(leider derzeit offline):
http://www.schoenitzer.de/bibtexstyles/bibstyle.php
Einige der Zitierstile benötigen Zusatzpakete, z.B. \usepackage{natbib}.
Einen eigenen BibTEX-Stil erstellt man am einfachsten mit dem Paket custom-bib
(https://www.ctan.org/pkg/custom-bib): Mit dem Paketmanager installieren und
starten mit latex makebst. Das Tool stellt eine Reihe von Fragen und konstruiert eine
entsprechende bst-Datei. Wesentlich empfehlenswerter ist in diesem Fall allerdings die
Verwendung von BibLATEX.

75
BibLATEX

Bei BibLATEX können viele Eigenschaften des Zitierstils (z.B. Sortierreihenfolge, Re-
ferenzstil) leicht einzeln als Optionen beim Inkludieren des Pakets eingestellt werden,
beispielsweise ein Stil ähnlich wie abbrv:
\ usepackage [ style = numeric , firstinits = true ]{ biblatex }

Einige nützliche Einstellungen:


• style (Referenz-Stil im Text und im Verzeichnis): z.B. style=authoryear (Knuth
2014), style=numeric [1], style=alphabetic [Knu14], . . .
• sorting (Sortierung): z.B. sorting=nty (alphabetisch nach Name, dann Titel,
dann Jahr), sorting=none (unsortiert, Zitierreihenfolge).
• firstinits=true: Kürzt Autoren-Vornamen ab.
• isbn=false, doi=false, url=false: ISBN, DOI bzw. URL nicht anzeigen.
• maxnames=3, minnames=1: Wenn eine Liste von Autoren, Editoren o.ä. mehr als
maxnames Namen enthält, wird auf minnames Namen (plus et al.“) gekürzt.

• maxcitenames, mincitenames: Wie maxnames und minnames, aber nur bei der vol-
len Angabe der Referenz im Bibliographie-Verzeichnis, nicht z.B. bei \textcite{}-
Zitaten im Text.
• maxbibnames, minbibnames: Wie maxnames und minnames, aber nur im Verzeichnis,
nicht im Text.
Das Format einzelner Einträge kann mit einer umfangreichen Sammlung an Konfi-
gurationsbefehlen umgestellt werden. Als einfaches Beispiel eine Konfiguration des
url-Feldes (zumindest für Einträge des Typs article oder inproceedings) zu Web:

http://www...“:
\ Declar eF ie ld Fo rm at [ article , inproceedings ]{ url }{ Web : \ url {#1}}

Namen werden mit separaten Befehlen formatiert, z.B. um Nachnamen in Kapitälchen


(\textsc{}) zu formatieren:
\ renewcommand *{\ mkbibnamelast }[1]{\ textsc {#1}}

Umbenennung des Verzeichnis-Kapitels zu Referenzen“:



\ defbibheading { bibliography }{ Referenzen }

76
Die meisten Formatierungsoptionen von BibLATEX funktionieren unabhängig davon, ob als
Backend bibtex oder biber eingestellt ist. Viele fortgeschrittene Features wie mehrfache
Bibliografien (z.B. pro Kapitel, oder sortiert nach Publikationstyp oder Tags) sowie
vollständige Sprach- und Sonderzeichenunterstützung gibt es aber nur mit biber.
Für eine vollständige Übersicht über die Möglichkeiten mit BibLATEX empfiehlt sich die
offizielle Dokumentation: mirrors.ctan.org/macros/latex/contrib/biblatex/doc/
biblatex.pdf

8.5. Management von Literatur-Datenbanken

Viele Autoren schreiben die Einträge in ihren bib-Dateien nicht selbst, sondern expor-
tieren sie aus vorhandenen Datenbanken. Einerseits bieten viele Verlage, eprint-Seiten,
Universitäten und Seiten wie Google Scholar den Export von einzelnen Publikationen als
BibTEX-Eintrag an (die einzelnen Einträge müssen dann nur noch in eine bib-Datei zu-
sammenkopiert werden). Andererseits gibt es eine große Zahl von Literatur-Manegement-
Tools wie beispielsweise Mendeley, JabRef oder Zotero, die Autoren das Verwalten
ihrer Literatur-Datenbank erleichtern und die ganze Listen von Quellen auf einmal als
bib-Datei exportieren können. Die meisten Tools können mit Online-Datenbanken (wie
Google Scholar oder arXiv) synchronisieren, Identifikatoren (wie ISBN oder DOI) zu
Bib-Einträgen umwandeln, sowie mit anderen Bibliografie-Formaten (wie von LibreOffice,
EndNote, . . . ) umgehen.
Bei automatisch generierten bib-Einträgen sollte man (vor allem, wenn man mehrere
Quellen mischt) auf eine gewisse Konsistenz der Einträge achten. Auch passieren oft
Fehler bei der Groß-Klein-Schreibung von Titeln, diese sollten am Schluss noch einmal
korrekturgelesen werden.

77
78
Tag IV
Große Dokumente

Inhalt

9. Dokumentstruktur 80
9.1. Titelseite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
9.2. Verzeichnisse, Front Matter, Back Matter . . . . . . . . . . . . . . . . . . 81
9.3. Fonts global anpassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
9.4. Modulare Dokumente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
9.5. Kopf- und Fußzeilen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.6. Fußnoten und Anmerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . 87
9.7. Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
9.8. Begriffserklärung, Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
9.9. Ein fertiges Template verwenden . . . . . . . . . . . . . . . . . . . . . . . 93

10.Fachspezifische Pakete 95
10.1. Informatik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
10.2. Mathematik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
10.3. Chemie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
10.4. Matlab und andere CAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9. Dokumentstruktur

9.1. Titelseite

Mit \maketitle erstellt LATEX eigentlich schon eine rudimentäre Titelseite. Oft ist diese
aber nicht zufriedenstellend, und man möchte eine eigene Titelseite gestalten.
Nützliche Zutaten:
• \begin{titlepage}...\end{titlepage}: Die Umgebung, die man für Titelseiten
verwenden sollte. Innerhalb der Umgebung kann man nun beliebige Formatierungs-
befehle verwenden. Ersetzt die Verwendung von \maketitle.
• \thispagestyle{empty}: unterdrückt die Seitennummer oder andere Kopf- und
Fußzeilen auf der aktuellen Seiten.
• \vfill: Versucht, die Seite vertikal mit Leerraum aufzufüllen, d.h. alles, was nach
dem Befehl kommt, wird ans ganz untere Ende der Seite verschoben. Verwendet
man den Befehl mehrmals auf einer Seite, wird der zur Verfügung stehende Platz
gleichmäßig aufgeteilt. Der folgende Code beispielsweise zentriert einen Text vertikal
mittig:
˜
\ vfill
Text
\ vfill

• \vspace*{hoehe}: Fügt einen vertikalen Leerraum von fixer Höhe ein, beispielsweise
\ vspace *{5 cm }

Analog \hspace{...} für horizontalen Abstand.


• \phantom{test}: Fügt genau so viel Abstand ein, wie es benötigen würde, test
zu setzen – nützlich zur relativen Anordnung und Ausrichtung von Textmaterial
(z.B. in Tabellen).
• \rule{breite}{dicke} zeichnet eine Linie mit gegebener Breite und Liniendicke,
beispielsweise eine Linie mit 0.5 mm Dicke und gleich breit wie die Textzeilenbreite:
\ rule {\ linewidth }{0.5 mm }

80
• \@title, \@author: Erlaubt, die Werte auszulesen, die zuvor mit \title{...}
und \author{...} eingestellt wurden. Damit die Befehle funktionieren, muss man
davor ein \makeatletter und danach ein \makeatother hinzufügen.
Allerdings können die Werte so nur einmalig ausgelesen werden. Wesentlich flexibler
ist die Verwendung des Pakets titling:
\ usepackage { titling }
...
\ theauthor : " ‘\ thetitle " ’

Maria Eichlseder: Erstellung wissenschaftlicher Arbeiten mit LATEX“


Einige fertige Vorlagen gibt es hier:


http://latex.tugraz.at/vorlagen/allgemein

9.2. Verzeichnisse, Front Matter, Back Matter

Auch nach der Titelseite (oder am Ende des Dokuments) folgen in umfangreicheren
Dokumenten typischerweise noch einige organisatorische Informationen, wie Inhalts- und
Bilderverzeichnisse oder Abstracts.
Einige Stichwörter und praktische Befehle:
• \tableofcontents: fügt ein Inhaltsverzeichnis ein.
Man kann konfigurieren, bis zu welcher Tiefe Einträge angezeigt werden sollen:
\ setcounter { tocdepth }{4}

Dabei entspricht
−1 \part{} ,
0 \chapter{} ,
1 \section{} ,
2 \subsection{} ,
3 \subsubsection{} ,
4 \paragraph{} ,
5 \subparagraph{} .
Analog kann auch umgestellt werden, bis zu welcher Tiefe Kapitel überhaupt
nummeriert werden:

81
\ setcounter { secnumdepth }{1}

• \listoffigures: Ein Abbildungsverzeichnis.


• \listoftables: Ein Tabellenverzeichnis.
• Abstract und Keywords:
\ begin { abstract }
\ noindent We present a new method to \ dots
\\[\ baselineskip ]
\ textbf { Keywords }: method , analysis
\ end { abstract }

• \clearpage, \cleardoublepage: Fügt ein oder zwei Seitenumbrüche ein: nach


\clearpage beginnt der folgende Inhalt auf der nächsten Seite, bei \cleardoublepage
auf der nächsten ungeraden Seite (nur bei zweiseiten Layouts wie book).
• \appendix: Alles, was nach dieser Deklaration folgt, ist Anhang. Die Kapitel werden
entsprechend nicht mehr durchnummeriert, sondern als Anhang A“, Anhang B“
” ”
und so weiter bezeichnet.
• Seitennummerierung wechseln: Lange Dokumente beginnen oft mit einer Nummerie-
rung in lateinischen Ziffern, und die arabische Nummerierung beginnt erst mit der
ersten inhaltlichen Seite. Mit den folgenden Befehlen kann man die Nummerierung
umschalten und wieder von vorne beginnen lassen:
\ pagenumbering { roman }
\ pagenumbering { arabic }

• Struktur bei Büchern: Um Stil von Seitennummerierung, Kapitelnummerierung,


Kopf- und Fußzeilen automatisch anzupassen, gibt es für Bücher die folgenden
Befehle:
\ frontmatter
Titelseite ...
Inha lt sv er ze ic hn is ...
Vorwort ...

\ mainmatter
Inhalt , Hauptkapitel

\ appendix
Anh " ange

82
\ backmatter
Verzeichnisse , ...

9.3. Fonts global anpassen

Die bisher betrachteten Formatier-Befehle wie \textbf{}, \textcolor{}{} und so weiter


eignen sich nur zum Konfigurieren kurzer Textstellen, z.B. auf der Titelseite. Was aber,
wenn man global Einstellungen ändern möchte, etwa die Formatierung der Überschriften,
oder den global verwendeten Font? Um solche Einstellungen vornehmen zu können,
benötigen wir erst die Deklarations“-Variante all dieser Befehle (die sich natürlich

untereinander auch kombinieren lassen, auch wenn viele Fonts nicht alle Kombinationen
unterstützten).
• Font-Familie:
\ rmfamily Roman ( serif )
\ sffamily Sans - Serif
\ ttfamily Typewriter

Roman (serif)
Sans-Serif
Typewriter

• Font-Serie:
\ mdseries Normal
\ bfseries Bold

Normal
Bold

• Font shape:
\ upshape Upright
\ itshape Italics ( kursiv )
\ slshape Slanted ( schr ä g )
\ scshape Small caps ( Kapit ä lchen )

Upright
Italics (kursiv)

83
Slanted (schräg)
Small caps (Kapitälchen)

• Font size:
\ tiny tiny
\ scriptsize scriptsize
\ footnotesize footnotesize
\ small small
\ normalsize normalsize
\ large large
\ Large Large
\ LARGE LARGE
\ huge huge
\ Huge Huge

tiny scriptsize footnotesize small normalsize large Large LARGE


huge Huge
• Font colour:
\ color { blue } Blue

Blue

Wenn man vorhat, die Fonts der Überschriften zu konfigurieren, gibt es zwei mögliche
Zugänge: Entweder, man verwendet eines der Zusatzpakete, die das erlauben (bei-
spielsweise titlesec und sectsty für Kapitelüberschriften, und caption für Float-
Captions); oder man steigt direkt von den Standard-Dokumentklassen auf die KOMA-
Dokumentklassen um (scrartcl statt article, scrreprt statt report, scrbook statt
book, usw.), die das von Haus aus unterstützen. KOMA bringt die folgenden drei Befehle
mit:
• \addtokomafont{element}{commands}: Ergänzt den Font, mit dem das Element
gesetzt wird, um die angegebenen Deklarationen (z.B. \bfseries, . . . ).
• \setkomafont{element}{commands}: Ähnlich, aber ersetzt die bisherigen Einstel-
lungen komplett.
• \usekomafont{element}: Verwende den Font, mit dem normalerweise das Element
gesetzt wird, an dieser Stelle wieder (als Deklaration).

84
Damit lässt sich eine lange Liste von Elementen umstellen, beispielsweise:
• chapter, section, . . . : Die einzelnen Überschriften-Ebenen
• disposition: Alle Überschriften-Ebenen, von \part bis \subparagraph (die ein-
zelnen Ebenen können noch separat ergänzt oder überschrieben werden).
• caption, captionlabel: Beschriftungstexte von Tabellen und Figures, sowie deren
Nummerierungs-Label.
• title, subtitle, author, . . . : Titel-Informationen (von denen die KOMA-Klassen
wesentlich mehr unterstützen als die Standard-Klassen).
Ein verwendungsbeispiel, um alle Überschriften blau (Mischfarbe blue!50!black) zu
färben:
\ addtokomafont { disposition }{\ color { blue !50! black }}

Komplette Dokumentation von KOMA-script:


http://texdoc.net/texmf-dist/doc/latex/koma-script/scrguide.pdf
Um andere Fonts als Computer Modern im Dokument zu verwenden, ist man mit LATEX
grundsätzlich auf eine relativ eingeschränkte Menge vorkonfigurierter Fonts beschränkt,
die man am besten durch das Laden entsprechender Pakete aktiviert, zum Beispiel:
\ usepackage { mathptmx } % Times New Roman

Eine Liste verfügbarer Fonts (darunter Times New Roman, Palatino, Helvetica und
Charter, die ersten beiden davon mit passendem Mathematik-Font) findet sich in im
Unterordner doc/latex/psnfss/psnfss2e.pdf der TEX-Distribution.
Die Weiterentwicklungen lualatex und xelatex hingegen erlauben kompletten Zugriff
auf alle am System installierten Fonts. Um etwa den Font für das gesamte Dokument auf
Vollkorn umzustellen:
\ usepackage { fontspec }
\ setmainfont { Vollkorn }

Wenn ein Font beispielsweise verschiedene Bold-Varianten oder Typewriter-Varianten


mitbringt, kann man seine Präferenzen und weitere Optionen mit angeben:
\ setmainfont [ BoldFont = Vollkorn Semibold ]{ Vollkorn }

Möchte man den Font nur optional für einzelne Textteile verwenden, aber nicht das
gesamte Dokument umstellen, kann man sich einfach Font-Befehle dafür erzeugen lassen:

85
\ usepackage { fontspec }
\ newfontfamily \ vollkorn { Vollkorn }[]
...
Nur ein Wort im {\ vollkorn Vollkorn - Font }

9.4. Modulare Dokumente

Bei langen, aufwändigen Dokumenten wird die LATEX-Quellcode-Datei recht schnell un-
übersichtlich. Es kann daher praktisch sein, die Datei auf mehrere Dateien aufzuteilen:
beispielsweise eine Datei für die Präambel, eine Datei für jedes Kapitel, und eine Skelett-
Datei, die die übrigen zusammenfügt.
Der nützlichste Befehl hierzu ist \input{datei}, der den Inhalt der Datei datei.tex
an die Stelle des Befehls kopiert.
Man könnte also folgende Skelett-Hauptdatei haben:
\ documentclass { report }
\ input { praeambel }

\ begin { document }
\ input { introduction }
\ input { kapitel 1}
\ input { kapitel 2}
\ input { verzeichnisse }
\ end { document }

Im gleichen Ordner liegen dann Dateien praeambel.tex, introduction.tex, kapitel1.tex,


kapitel2.tex und verzeichnisse.tex, die die entsprechenden Inhalte enthalten. Diese
Dateien enthalten nur genau die Zeilen, die an dieser Stelle stehen sollten (keine Wie-
derholung von \documentclass{...} und so weiter). Beispielsweise könnte die Datei
introduction.tex so beginnen:
\ section { Introduction }

In this thesis , we show ...

Wichtig: kompiliert werden muss immer das Skelett-Hauptdokument! Wenn man versucht,
eines der einzelnen Kapitel zu kompilieren, bekommt man Fehlermeldungen.

86
9.5. Kopf- und Fußzeilen

Per Default zeigt LATEX bei den meisten Dokumenttypen nur die Seitennummer in der
Fußzeile an, sowie bei Büchern das aktuelle Kapitel in der Kopfzeile. Oft will man das
selbst genauer konfigurieren, am besten mit dem Paket fancyhdr. Paket in der Präambel
inkludieren und aktivieren:
\ usepackage { fancyhdr }
\ pagestyle { fancy }

Es gibt jetzt jeweils drei Befehle für die Konfiguration der Kopfzeile (links, Mitte, rechts)
sowie drei für die Fußzeile:
\ lhead { Kopf links }
\ chead { Kopf mitte }
\ rhead { Kopf rechts }

\ lfoot { Fu " s links }


\ cfoot { Fu " s mitte }
\ rfoot { Fu " s rechts }

Falls man auf geraden und ungeraden Seiten unterschiedliche Inhalte zeigen möchte,
bietet jeder Befehl einen optionalen Parameter:
\ lhead [ Kopf links , gerade Seiten ]{ Kopf links , ungerade Seiten }
...

Die aktuelle Seitenzahl liest man mit \thepage aus; falls man auch die Gesamtanzahl
der Seiten anzeigen möchte, muß man tricksen:
\ usepackage { lastpage }
\ cfoot {\ thepage \ of \ pageref { LastPage }}

9.6. Fußnoten und Anmerkungen

Fußnoten:
Fu ß noten \ footnote { Das ist ein Fu ß notentext } sind einfach .

Fußnoten1 sind einfach.


1
Das ist ein Fußnotentext

87
ToDo-Anmerkungen:
\ usepackage { todonotes }
...
\ todo { Hier ist noch was zu tun }
...
\ todo [ inline ]{ Hier ist noch viel zu tun }

9.7. Stichwortverzeichnis

Ein Stichwortverzeichnis mit Seitenangaben erstellt man mit dem Paket makeidx. In der
Präambel wird das Paket inkludiert und aktiviert:
\ usepackage { makeidx }
\ makeindex

Im Dokument selbst werden mit \index{Stichwort} Stellen markiert, die einem be-
stimmten Stichwort zugeordnet werden sollen:
\ begin { document }
... as a Fourier Series \ index { Fourier Series } ...

Eine feinere Untergliederung mit untergeordneten oder alternativen Begriffen ist auch
möglich:
Begriff \ index { Begriff } und
spezieller Begriff \ index { Begriff ! spezieller } und
alternativer Begriff \ index { alternativer Begriff | see { Begriff }}

Am Ende des Dokuments (kurz vor \end{document}), wo das Verzeichnis gedruckt


werden soll:
\ printindex

Index
alternativer Begriff, siehe Begriff

Begriff, 88
spezieller, 88

88
Fourier Series, 88

Ähnlich wie bei BibTEX ist auch für makeidx ein eigener Kompiliervorgang notwendig:
1. LATEX (Eintrag pdfLaTeX im Editor TeXworks neben dem grünen Kompilier-Knopf,
oder pdflatex meindokument.tex auf der Kommandozeile)
2. MakeIndex (Eintrag MakeIndex im Editor TeXworks neben dem grünen Kompilier-
Knopf, oder makeidx meindokument auf der Kommandozeile – auf manchen Platt-
formen auch makeindex meindokument)
3. LATEX (wie 1)
Das Beispiel-Verzeichnis zu diesem Quellcode ist am Ende des Kapitels inkludiert.
Standardmäßig erscheint das Stichwortverzeichnis (und andere Verzeichnisse) nicht im
Inhaltsverzeichnis. Um doch einen Eintrag hinzuzufügen, füge vor dem \printindex-
Befehl folgende Zeilen hinzu:
\ clearpage
\ addcontentsline { toc }{ chapter }{ Index }
\ printindex

Dasselbe gilt auch für die folgenden Verzeichnisse.

9.8. Begriffserklärung, Glossar

Im Gegensatz zum Stichwortverzeichnis enthält eine Begriffserklärung typischerweise


keine Seitenangaben, sondern stattdessen ausformulierte Erklärungen zu einzelnen Begrif-
fen (Abkürzungen, Fachbegriffe, Symbole o.ä.). Da keine automatische Referenzierung
notwendig ist, kann oft auch eine einfache Tabelle zur Erklärung verwendet werden. Es
gibt aber dennoch einige Pakete für fortgeschrittenere Begriffserklärungs-Listen.

Variante nomencl

Das nomencl-Paket basiert auf makeidx und ist daher auch ähnlich zu verwenden.
In der Präambel das Paket inkludieren und aktivieren:
\ usepackage { nomencl }
\ makenomenclature

89
Für jeden zu erklärenden Begriff wird der Befehl \nomenclature{Begriff}{Erklaerung}
verwendet. Wo genau dieser Befehl steht, ist Geschmackssache – es können beispielsweise
alle Begriffe gesammelt zu Beginn aufgelistet sein, oder jeweils an der Stelle der ersten
Verwendung. Der Befehl legt nur einen internen Eintrag an und druckt an dieser Stelle
nichts ins Dokument.
\ nomenclature { PDF }{ Portable Document Format , a file format
for documents }
\ nomenclature {\ LaTeX }{ A typesetting language }
\ nomenclature {$\ pi $}{ the number $\ pi = 3.1415$}

Im Dokument gedruckt wird die Liste aller Erklärungen dann mit diesem Befehl:
\ printnome nclatu re

Wieder ist ein komplexerer Kompilier-Vorgang notwendig; leider ist kein entsprechender
Eintrag in TeXworks voreingestellt:
1. pdflatex meindokument.tex
2. pdflatex meindokument.tex
3. makeindex meindokument.nlo -s nomencl.ist -o meindokument.nls
4. pdflatex meindokument.tex

Variante glossaries

Ein alternatives, mächtigeres Paket ist glossaries.


In Präambel inkludieren und aktivieren:
\ usepackage [ xindy , toc , acronym ]{ glossaries }
\ makeglossaries

Glossar-Einträge werden mit \newglossaryentry{label}{...} (für Begriffs- oder Sym-


bolerklärungen) oder \newacronym{label}{Abk.}{Langform} (für Akronyme) erstellt:
\ newglossaryentry { panther }{
name ={ Panther } ,
description ={ Eine Gro {\ ss } katze }
}
\ newglossaryentry { puma }{
name ={ Puma } ,
description ={ Eine weniger gro {\ ss } e Katze }
}

90
\ newglossaryentry { pi }{
name ={\ ensuremath {\ pi }} ,
description ={ Die Zahl $\ pi \ approx 3.1415$} ,
sort = pi ,
symbol ={\ ensuremath {\ pi }} ,
}

\ newacronym { pdf }{ PDF }{ Portable Document Format }


\ newacronym [ longplural = Personal Computers ]{ pc }{ PC }{ Personal
Computer }

Ähnlich wie bei BibTEX hat hier jeder Eintrag ein Label (im Beispiel etwa pi, pdf und
pc). Die Idee ist, dass man als Autor seine Glossareinträge in einer großen Hilfsdatei
sammelt und in jedem neuen Dokument nur die Einträge herauspickt, die man erklären
möchte. Dieses herauspicken“ entspricht dem \cite{} oder \nocite{} von BibTEX und

funktioniert hier mit dem Befehl \gls{label}. Dabei wird auch tatsächlich der definierte
Begriff eingefügt:
Ein \ gls { puma } und ein \ gls { panther }\ dots
Die Zahl \ gls { pi }\ dots
Erste Nennung von \ gls { pdf } und zweite Nennung von \ gls { pdf }

Ein Puma und ein Panther. . .


Die Zahl π. . .
Erste Nennung von Portable Document Format (PDF) und zweite Nennung
von PDF

In diesem Beispiel würden im Dokument die Begriffe π, PDF, Panther und Puma erklärt,
nicht aber PC.
Zusätzlich zur eigentlichen Erklärung (description) enthalten die Einträge auch Zu-
satzinformation wie die Sortierreihenfolge im Fall von Symbolen (z.B. wird π unter pi
einsortiert), oder den Plural von Akronymen.
Das glossaries-Paket übernimmt teilweise auch die Funktion eines Stichwortverzeich-
nisses und gibt standardmäßig Seitenangaben für jeden Glossareintrag an. Man sollte also
an allen relevanten Stellen den Aufruf \gls{...} für den jeweiligen Begriff verwenden
(insbesondere bei Definition und erster Verwendung).
Um das Glossar zu drucken:
\ printglossaries

91
Glossar

Panther Eine Großkatze. 91


π Die Zahl π ≈ 3.1415. 91
Puma Eine weniger große Katze. 91

Akronyme

PDF Portable Document Format. 91

Feinere Auswahl, welche Glossare gedruckt werden (z.B. hier nur das Abkürzungsverzeichnis
unter der Überschrift Akronyme“):

\ printglossary [ type =\ acronymtype , title = Abk ü rzungen ]

Abkürzungen

PDF Portable Document Format. 91

Der Kompiliervorgang wird ebenfalls um einen Befehl erweitert:


1. pdflatex meindokument.tex
2. makeglossaries meindokument
3. pdflatex meindokument.tex

92
9.9. Ein fertiges Template verwenden

Fertige Templates für wissenschaftliche Artikel, Diplomarbeiten, Präsentationen usw.


werden üblicherweise von Verlagen und universitären Einheiten (Fakultät, Institut, . . . )
zur Verfügung gestellt. Bei diesen sind dokumentweite Einstellungen (z.B. Ränder,
Kopfzeilen, Formatierung von Abschnitten) schon vorkonfiguriert, und man kann sich
völlig auf den Inhalt konzentrieren. Oft werden auch zusätzliche Makros und Umgebungen
für den jeweiligen Kontext zur Verfügung gestellt (z.B. Keywords, Betreuer, eidesstattliche
Erklärung, Acknowledgements, . . . ).
Wir verwenden als Beispiel Karl Voits Vorlage für Abschlussarbeiten:

1. https://latex.tugraz.at/vorlagen/allgemein
→ Längeres Dokument: Diplomarbeit, Dissertation, Buch“

→ ”‘Download”’
2. Archiv entzippen, Ordner in Ziel-Arbeitsordner verschieben und umbenennen
3. Öffne main.tex im TEXnicCenter
4. Project“ → Create with active file as main file“.
” ”
5. File“ → Save project“
” ”
6. View“ → Tool Windows“ → Files“ (Strg-Alt-F)
” ” ”
7. Kompilieren mit Build Output (F7)“

8. Das Template verwendet BibLATEX mit biber statt bibtex. Entweder TEXnicCenter
entsprechend konfigurieren oder im Template umstellen:
a) Öffne template/preamble.tex
b) Ändere Zeile 549: Ersetze backend=biber mit backend=bibtex
9. Siehe Dokumentation in Template-Documentation.pdf für weitere Details

Nun ist die Datei main.tex als Masterdatei eingestellt (markiert durch Datei main.tcp
im Ordner). Wenn eine andere Datei editiert wird und dort mit F7 kompiliert, so wird
korrekt die Masterdatei kompiliert.

93
Die Dateistruktur ist repräsentativ für viele gute Templates:
• figures/ ist ein Ordner für alle inkludierten Grafiken
(mit \includegraphics{figures/filename})
• template/ ist ein Ordner mit dem technischen Code des Templates – dort sind nur
in Ausnahmefällen Änderungen nötig
• main.tex ist die Masterdatei, die immer kompiliert wird. Sie enthält oben diverse
Einstellungen mit \newcommand{}{}: Zuerst typographische Einstellungen, die
normalerweise keiner umfangreichen Änderungen bedürfen; danach Metadaten wie
Titel, Name, Betreuer, . . .
Am Schluss werden die inhaltlichen Dateien mit \input{} inkludiert; hier sind
Dateien für zusätzliche Kapitel einzufügen.
Viele Kommentarzeilen, beispielsweise nach \end{document}, oder die %doc%-Zeilen
in template/*.tex, sind dabei nicht für den Autor, sondern für andere externe Tools
gedacht, beispielsweise Einstellungen für Editoren wie vim oder für automatisch
generierte Dokumentation.
• references-biblatex.bib enthält die Literaturdatenbank.
• Weitere Dateien *.tex enthalten den tatsächlichen Textinhalt der einzelnen Kapitel,
Abstract, . . .
• Makefile kann verwendet werden, um das Projekt mit GNU make zu bauen.
• Template-Documentation.pdf ist die Dokumentation für das Template.

Affidavit

I declare that I have authored this thesis independently, that I have not
Vorname Nachname used other than the declared sources/resources, and that I have explicitly
indicated all material which has been quoted either literally or by content
from the sources used. The text document uploaded to tugrazonline is 2 Language and Writing Style Bibliography
Ein langer langer Title der Arbeit identical to the present master‘s thesis.
SUBTITLE
Andrews, Keith (2011). Writing a Thesis: Guidelines for Writing a Master’s Thesis
This chapter is an adopted version of a single chapter of Andrews thesis in Computer Science. url: http://ftp.iicm.edu/pub/keith/thesis/
template Andrews, 2011 in its version from 2011-12-11. (cit. on p. 3).
Bringhurst, Robert (1993). The Elements of Typographic Style. first edition.
Master’s Thesis The reason why Andrews, 2011 is not recommended to be used instead Hartley and Marks Publishers (cit. on p. 1).
of this template is its more “traditional” LATEX implementation. But the Chemnitz, TU (2004). German-English Dictionary. url: http://dict.tu-
zur Erlangung des akademischen Grades Date Signature information contained regarding “How to write a thesis” is generally chemnitz.de/ (cit. on p. 11).
Master of Science brilliant and worth reading. dictionary.com (2004). dictionary.com. url: http://dictionary.com/ (cit. on
eingereicht an der Using this chapter here is meant as a teaser. If you do like this chapter, p. 11).
Graz University of Technology please go and download the full template to read its content: Andrews, Dupré, Lyn (1998). Bugs in Writing: A Guide to Debugging Your Prose. Second.
2011. Addison-Wesley. isbn: 020137921X (cit. on p. 4).
Leo (2004). Leo English-German Dictionary. url: http : / / dict . leo . org/
What was modified from the original chapter: (cit. on p. 11).
• strikethrough of bad examples McCaskill, Mary K. (1998). Grammar, Punctuation, and Capitalization: A Hand-
• minor typographical details book for Technical Writers and Editors. NASA Langley Research Center
Betreuer • technical modifications SP-7084. url: http://stipo.larc.nasa.gov/sp7084/ (cit. on p. 3).
Dr. Some Body Phillips, Estelle M. and Derek S. Pugh (2005). How to Get a PhD. Fourth.
– moved citations from \citet{} and \citep{} to \textcite{} Open University Press. isbn: 0335216846 (cit. on p. 4).
Mitbetreuer and \cite{} Roget (1995). Roget’s II: The New Thesaurus. url: http://www.bartleby.com/
Dr. Some Body – changed quoting style to \enquote{} 62/ (cit. on pp. 8, 11).
– created various commands and environments to encapsulate Roget (2004). Roget’s Interactive Thesaurus. url: http://www.thesaurus.com/
format (cit. on pp. 8, 11).
Institute for Softwaretechnology
Strunk Jr, William (1918). The Elements of Style. url: http://www.bartleby.
Fakultät für Irgendetwas com/141/ (cit. on p. 3).
The classic reference for English writing style and grammar is Strunk and Strunk Jr, William and Elwyn Brooks White (1999). The Elements of Style.
White (1999). The original text is now available for free online Strunk, 1918, Fourth. Longman. isbn: 020530902X (cit. on pp. 1, 3).
so there is no excuse at all for writing poor English. Readers should consult Voit, Karl (2011). tagstore — Project home page. url: http://tagstore.org
Graz, November 2013 it first, then continue reading this chapter. Another good free guide is (visited on 12/10/2011) (cit. on p. 1).
McCaskill (1998).

iii 3 15

Abbildung 3: Template für Abschlussarbeiten

94
10. Fachspezifische Pakete

10.1. Informatik

Oft möchte man Code-Schnipsel in einem Dokument inkludieren (wie die Code-Ausschnitte
in diesem Dokument). Allerdings enthält Code viele Sonderzeichen, die in LATEX reserviert
sind, und hat spezielle Formatierungs-Anforderungen.

Variante verbatim

Eine eingebaute Umgebung für Code ist verbatim. Einen ganzen verbatim-Absatz
bekommt man so:
\ begin { verbatim }
\ documentclass { article }
\ begin { document }
...
\ end { document }
\ end { verbatim }

\documentclass{article}
\begin{document}
...
\end{document}

Einzelne Fragmente innerhalb einer Zeile bekommt man mit \verb|...|, wobei | im
verbatim-Inhalt nicht vorkommen darf (kann auch durch ein anderes Begrenz-Zeichen
ersetzt werden):
\ verb | C :\\ Programme \|

C:\\Programme\

Variante listings

Ein viel mächtigeres Paket ist listings, mit dem auch fortgeschritterene Formatierung
von Quellcode möglich ist (sprach-spezifisches Syntax Highlighting u.v.m.).
Zur Verwendung gibt es die Umgebung lstlisting (analog zu verbatim) und die
Inline-Umgebung \lstinline|...| (analog zu \verb|...|). Zusätzlich erlaubt der Be-
fehl \lstinputlisting{datei.py}, Code aus einer Datei einzulesen. Zur Konfiguration

95
kann als optionaler Parameter bei allen Varianten eine Liste von Optionen der Form
key = value angegeben werden. Der Befehl \lstset{...} setzt dieselben Optionen
global. Mit \lstdefinestyle{mystyle}{...} kann man eigene Styles zusammenkonfi-
gurieren und dann mit der Option style=mystyle wiederholt verwenden.
Beispiele für häufig genutzte Optionen:
• language=[LaTeX]TeX: Sprache für Syntax Highlighting (TeX, Dialekt LaTeX).
• caption={Eine Caption} und label=mylabel: Wie \caption{...} und \label{...}
in Float-Umgebungen, zur Beschriftung und Referenzierung.
• keywordstyle=\bfseries\color{green}: Formatierung von Keywords (analog für
comment, string, . . . ); benutze TEX-Style-Befehle (z.B. \bfseries statt \textbf{...},
\itshape statt \textit{...}, \ttfamily statt \texttt{...}, \color{red} statt
\textcolor{red}{...}, usw.).
• frame=single: Listing einrahmen.
Ein Beispiel für Einbindung von LATEX-Code mit grün hervorgehobenen Keywords:
\ usepackage { listings }

\ lstset {
language =[ LaTeX ] TeX ,
basicstyle =\ ttfamily ,
keywordstyle =\ color { green !50! black } ,
morekeywords ={ LaTeX ,...} ,
}
...

\ begin { lstlisting }
Verschachtelter \ LaTeX - Code ...
\ end { lstlisting }

Verschachtelter \ LaTeX - Code ...

Es ist sehr empfehlenswert, zumindest den basicstyle auf \ttfamily umzustellen,


da es etwas ungewohnt ist, Quellcode in einem normalen Roman-Font, aber mit fixer
Buchstabenbreite zu lesen (was die Standardeinstellung ist). Dadurch verliert man aber
normalerweise die wichtigsten Syntax-Highlighting-Hervorhebungen, da \ttfamily keine
fette Variante für Kombination mit \bfseries mitbringt. Als Abhilfe kann man die
lmodern-Fonts (eine Neuimplementation der Computer Modern Fonts) laden und auf
etwas dünneren, leichteren“ Typewriter-Font umkonfigurieren, so dass der Unterschied

96
zur fetten Variante (die lmodern mitbringt) besser erkennbar wird, so wie in diesem
Dokument:
\ usepackage [ lighttt ]{ lmodern }

Genauere Informationen zu den listings-Optionen:


http://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Settings

Links

Einfache URLs:
\ usepackage { hyperref }
...
\ url { https :// online . tugraz . at }

https://online.tugraz.at

Damit Email-Links auch funktionieren, bietet sich das folgende Makro an:
\ usepackage { hyperref }
\ newcommand {\ email }[1]{\ href { mailto :#1}{\ nolinkurl {#1}}}
...
\ email { maria . eichl seder@ tugra z . at }

maria.eichlseder@tugraz.at

10.2. Mathematik

In mathematischen Texten ist es oft üblich, den Text mit Hilfe von eigenen Umgebungen
wie Definition“, Satz“, Beweis“ zu gliedern. LATEX ermöglicht die Definition von
” ” ”
passenden eigenen Umgebungen mit dem Paket amsthm:
\ usepackage { amsthm }

Um eine eigene Umgebung in der Präambel zu definieren, legt man zuerst den Formatie-
rungsstil mit \theoremstyle{...} fest (es gibt vordefinierte Stile, man kann aber auch
eigene definieren). Danach deklariert man die eigentliche Umgebung, indem man zumin-
dest einen Namen (im Quellcode verwendbar) und eine Überschrift (die im Dokument
angezeigt wird) angibt; auch Details zur Nummerierung können festgelegt werden:

97
\ theoremstyle { plain }
\ newtheorem { satz }{ Satz }

\ theoremstyle { definition }
\ newtheorem { defn }{ Definition }

\ theoremstyle { remark }
\ newtheorem *{ anm }{ Anmerkung }

Mit dem Namen können die Umgebungen dann im Dokumentinhalt verwendet werden:
\ begin { satz }
Aussage der Eulerschen Formel .
\ end { satz }

\ begin { satz }[ Eulersche Formel ]


Aussage der Eulerschen Formel .
\ end { satz }

Satz 1. Aussage der Eulerschen Formel.

Satz 2 (Eulersche Formel). Aussage der Eulerschen Formel.

\ begin { defn }[ Definierter Begriff ]


Definition des definierten Begriffs \ ldots
\ end { defn }

Definition 1 (Definierter Begriff). Definition des definierten Begriffs . . .

\ begin { anm }
Eine Anmerkung oder Erl " auterung am Rande .
\ end { anm }

Anmerkung. Eine Anmerkung oder Erläuterung am Rande.

Eine Beweis-Umgebung ist bereits vordefiniert:

98
\ begin { proof }
Hiermit ist die Eulersche Formel bewiesen .
\ end { proof }

Beweis. Hiermit ist die Eulersche Formel bewiesen.

10.3. Chemie

Formeln

Für das korrekte Setzen von chemischen Formeln eignet sich eine Mathematik-Umgebung,
allerdings sollten die Namen der Elemente aufrecht gesetzt werden (\mathrm{...}):
$\ mathrm { C _6 H _{12} O _6 + 6\ O _2 \ longrightarrow
6\ CO _2 + 6\ H _2 O }$

$\ mathrm { AB + C \ \ xrightarrow [ Kat ]{\ Delta T } \ A + BC }$

$\ mathrm { CH _3{ -} COOH + CH _3{ -} OH \ longrightarrow


CH _3{ -} C ({=} O ){ -} O { -} CH _3 + H _2 O }$

C6 H12 O6 + 6 O2 −→ 6 CO2 + 6 H2 O
∆T
AB + C −−→ A + BC
Kat

CH3 −COOH + CH3 −OH −→ CH3 −C(=O)−O−CH3 + H2 O

Besser und wesentlich bequemer ist jedoch die Verwendung eines Pakets wie mhchem:
\ usepackage [ version =4]{ mhchem }
\ ce { CO 2 + C -> 2 CO }
\ ce { Hg ˆ2+ - >[I -] HgI 2
- >[I -] [ Hg ˆ{ II } I 4]ˆ2 -}

CO2 + C −−→ 2 CO
I– I–
Hg2+ −−→ HgI2 −−→ [HgII I4 ]2 –

Die ausgezeichnete Dokumentation findet man hier:


http://mirror.easyname.at/ctan/macros/latex/contrib/mhchem/mhchem.pdf

99
Diagramme

Für Strukturdiagramme bietet sich das chemfig-Paket an; Dokumentation unter


http://mirror.easyname.at/ctan/macros/generic/chemfig/chemfig-en.pdf
\ usepackage { chemfig }

Das Grundformat der Befehle ist:


\ chemfig { < atom 1 > < bond >[ < angle > , < coeff > , < tikz code >] < atom 2 >}

Beispiel Acid anhydride molecule“: Längste Kette suchen (R-C-O-C-R), vor jedem Ket-

tenglied den richtigen Bindungstyp (z.B. einfach -, doppelt =) und den richtigen absoluten
oder relativen Winkel als optionalen Parameter angeben (z.B. [::+60]). Zusätzliche
Anhängsel (hier z.B. =0) in runden Klammern hinter den Verbindungsatom (hier C):
\ chemfig {R - C (=[::+60] O ) -[:: -60] O -[:: -60] C (=[::+60] O ) -[:: -60] R }

Weitere Beispiele :
\ chemfig { C ( -[:0] H )( -[:90] H )( -[:180] H )( -[:270] H )}

\ chemfig { A *5( - B =C -D -E -)} % Zyklen mit < Atom >* < Anzahl >(...)

\ chemfig {*6(= -= -= -)} % auch ohne explizite Atome

D
O H E
C
R C H C H A
B
O H

R C

Mehr Informationen:
http://en.wikibooks.org/wiki/LaTeX/Chemical_Graphics
http://de.wikibooks.org/wiki/LaTeX-Kompendium:_Chemie

100
10.4. Matlab und andere CAS

Um aus externen Mathematik-Tools (z.B. Matlab, Sage) Plots und Grafiken in LATEX zu
inkludieren, ist es wichtig, geeignete Dateiformate zu wählen; idealerweise können auch
direkt im Tool die richtigen Schriftarten und LATEX-Syntax verwendet werden.

Grafiken aus Matlab exportieren – PDF

• Plots können in Matlab als .pdf oder in einem anderen Vektorgrafikformat expor-
tiert werden (z.B. .eps – erfordert kleine Änderungen im Kompilierprozess). Als
Probe: Wenn man im fertigen Dokument in die Grafik beliebig reinzoomen kann,
ohne dass es pixelig wird, wurde ein geeignetes Format gewählt. Das Beispiel unten
wurde fälschlicherweise als .png exportiert.
• Bei der obigen Lösung passen aber nach wie vor Schriftarten usw. nicht zum Haupt-
dokument, und es können eventuell keine komplexeren mathematischen Ausdrücke
verwendet werden. Besser ist es, die Achsenbeschriftung usw. direkt in LATEX an-
zulegen; in Matlab funktioniert das mit der Angabe ...,’Interpreter’,’latex’
bei jedem Beschriftungselement. Es gelten die gleichen Regeln für Math-Mode wie
im Hauptdokument; im folgenden Beispiel sollten z.B. x, y, z im Math-Mode stehen:
f = y .* sin ( x ) - x .* cos ( y );
fsurf (f ,[ -2* pi 2* pi ])
a = gca ;
a . T i c k L a b e l I n t e r p r e t e r = ’ latex ’;
...
xlabel ( ’$ x $ ’ , ’ Interpreter ’ , ’ latex ’);
ylabel ( ’$ y $ ’ , ’ Interpreter ’ , ’ latex ’);
zlabel ( ’$ z $ ’ , ’ Interpreter ’ , ’ latex ’);

Mehr Details und Beispiele hier:


https://www.mathworks.com/help/symbolic/latex.html?s_tid=doc_ta

101
Grafiken aus Matlab exportieren – TikZ

Noch besser ist es, Plots direkt in LATEX zu erzeugen, beispielsweise mit der Grafiksprache
TikZ/PGF. Für Matlab und einige andere CAS gibt es Zusatzpakete, die Plots direkt als
TikZ-Code exportieren können.
Für Matlab erledigt das matlab2tikz:
1. matlab2tikz-Skripte herunterladen:
https://www.mathworks.com/matlabcentral/fileexchange/22022-matlab2tikz-matlab2tikz
2. Skripte extrahieren und für Matlab auffindbar machen (z.B. im aktuellen Matlab-
Arbeitsverzeichnis)
3. In Matlab: Plot erstellen
4. In Matlab: Skript laden mit matlab2tikz() oder matlab2tikz(’myfigure.tikz’).
Der aktuelle Plot wird als TikZ-Code in der ausgewählten Datei gespeichert.
5. In LATEX: \usepackage{pgfplots} (Präambel)
6. In LATEX: \input{myfigure.tikz}. Das Ergebnis ist eine perfekte Vektorgrafik
(beliebig zoombar, keine Artefakte, nicht pixelig) mit Beschriftung in der exakt
gleichen Schriftart wie das Hauptdokument.
7. Anmerkung für Experten: Der Code in myfigure.tikz lässt sich auch editieren
(z.B. Farben, Skalieren, . . . ) :-)
8. Anmerkung: Das Kompilieren solcher TikZ-Grafiken kann recht lange dauern. Eine
Alternative ist, das Bild separat zu kompilieren und dann das PDF zu inkludieren:
matlab 2 tikz ( ’ plot . tex ’ , ’ standalone ’ , true )

9. Tutorial: https://www.youtube.com/watch?v=dg7z3bs-eA8

102

Das könnte Ihnen auch gefallen