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. 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
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), . . .
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
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!
6
7
1.2. Kompilieren mit TEXnicCenter
Neues Dokument erstellen und als .tex speichern oder vorhandene .tex-Datei öffnen
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.
9
2. Struktur eines LATEX-Dokuments
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 }
\ begin { document }
\ 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
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
11
2.3. Gliederung
\ subsubsection { Subsubsection }
\ paragraph { Paragraph }
Text eines Paragraphs mit \ emph { hervorgehobenem } Wort .
Unnummeriertes Kapitel
3. Nummeriertes Kapitel
3.1.1. Subsubsection
1.4. Aufzählungen
12
• Erster Punkt
• Zweiter Punkt
• Dritter Punkt
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
Und noch einem Absatz auf der gleichen Ebene wie der
Beginn vom dritten Punkt .
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
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 }
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
2.4. Ausrichtung
\ begin { center }
Zentrierter Text
\ end { center }
\ begin { flushleft }
Linksb ü ndiger Flattersatz
\ end { flushleft }
\ begin { flushright }
Rechtsb ü ndiger Flattersatz
\ end { flushright }
Zentrierter Text
Linksbündiger Flattersatz
Rechtsbündiger Flattersatz
16
2.5. Befehle
Kommentar:
17
3. 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 \%
#$ˆ& {}˜\%
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.”
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 " ’
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
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.
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
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 .
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?
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
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
a+b=c (1)
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 .\]
a + b = c.
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.
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
32
a=b
=c (11)
a + b − c = 15 oder 5 − (1 − [2 + 3]) = 9.
33
23 = 8, 210 = 1024, f1 (x) = f2 (x).
α, A, β, B, γ, Γ, δ, ∆, . . .
, ε; φ, ϕ; θ, ϑ
−→
a ~a ā abc ã a0 â abc ȧ ä ...
Verschiedene Font-Varianten:
\[\ mathbf { a } \ mathrm { a } \ mathcal { A } \ mathbb { R } \ mathbb { N }..\]
a a A R N ...
34
f 0 (x) = 3x2 für f (x) = x3 .
5.3. Analysis
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$
35
2+5+ 72
97 ± 10 , 10000
1 5.1
oder 3 im Vergleich zu
5.1
.
10 000
2+5+ 7
2
3
Wurzeln:
\[\ sqrt {2} \ sqrt {\ frac {1}{2}+3} \ sqrt [3]{2} \ sqrt [ n ]{2}\]
√ 1 √ √
r
2 +3 2 2
3 n
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 )\]
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
R π/2
0 cos x dx = 1 oder
Z π/2
cos x dx = 1
0
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
Z
f (x) dx
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\]
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)
41
1, 2, 3, . . . , 10,
1 + 2 + 3 + . . . + 10,
1 · 2 · 3 · · · 10,
und so weiter . . .
Standardmäßig sind Klammern von fixer Größe, was oft nicht passt:
\[ ( a + \ frac { b }{ a })ˆ2 \]
b
(a + )2
a
5 2 + 3i
2
a
a+ , ,
b 2 5i
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
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.
x = 17 + 35
|
− 15
{z
− 20} +1 = 18
=0
=0
x = 17 + 35 − 15 − 20 +1 = 18
z }| {
this way
A ←−−−−− B −−−−−−−→ C
or that way
44
5.7. Einheiten
L = 5m
v = 5 m s−1
Falsch: 5m · 5m = 25m2
Richtig: 5 m · 5 m = 25 m2
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
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
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 }
6.1. Dreiecke
a2 + b2 = c2 (12)
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
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 }
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 }
– Zeilenabstand (relativ):
\ renewcommand {\ arraystretch }{1.5}
49
– spaltenweise Font-Angaben (in der Spalten-Spec):
\ usepackage { array }
...
>{\ bfseries } c <{}
• Farbiger Hintergrund:
– einzelnen Zellen-Hintergrund färben (zu Beginn der Zelle):
\ usepackage [ table ]{ xcolor }
...
\ cellcolor { red }
(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 }
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
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 }
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 }
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 }
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.
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 ]
57
Alternativ kann die Tabelle auch im booktabular-Stil gesetzt werden:
\ usepackage { booktabs , csvsimple }
...
\ csvaut ob oo kt ab ul ar { daten . csv }
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 }
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.
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
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
0.5
0.4
0.3
0.2
0.1
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).
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.
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} ,
}
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 } ,
• 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} ,
}
68
publisher = { Springer } ,
isbn = {978 -3 -642 -31611 -1} ,
}
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
Mit Detail-Angabe (Seiten- oder Tabellennummer, . . . ): Wie Knuth [3, p.12] zeigt, . . .
Wie Knuth ˜ \ cite [ p .12]{ satKnuth 12} 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
Variante BibLATEX
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
\ 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
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
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 }
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
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 }
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 " ’
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}
\ mainmatter
Inhalt , Hauptkapitel
\ appendix
Anh " ange
82
\ backmatter
Verzeichnisse , ...
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
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 }}
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 }
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 }
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 }
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 }
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 }}
Fußnoten:
Fu ß noten \ footnote { Das ist ein Fu ß notentext } sind einfach .
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 }}
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
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
90
\ newglossaryentry { pi }{
name ={\ ensuremath {\ pi }} ,
description ={ Die Zahl $\ pi \ approx 3.1415$} ,
sort = pi ,
symbol ={\ ensuremath {\ pi }} ,
}
Ä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 }
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
Akronyme
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
92
9.9. Ein fertiges Template verwenden
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
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 }
96
zur fetten Variante (die lmodern mitbringt) besser erkennbar wird, so wie in diesem
Dokument:
\ usepackage [ lighttt ]{ lmodern }
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 { anm }
Eine Anmerkung oder Erl " auterung am Rande .
\ end { anm }
98
\ begin { proof }
Hiermit ist die Eulersche Formel bewiesen .
\ end { proof }
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 }$
C6 H12 O6 + 6 O2 −→ 6 CO2 + 6 H2 O
∆T
AB + C −−→ A + BC
Kat
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 –
99
Diagramme
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 >(...)
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.
• 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 ’);
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