Verfassen wissenschaftlicher Texte mit LaTEX PeP et al. Toolbox Workshop
PeP et al. e.V. Physikstudierende und ehemalige Physikstudierende der TU Dortmund
2016
Übersicht
Ergebnisse der Umfrage
Zahlen und Einheiten
Einführung
Chemische Formeln
Grundlagen
Fortgeschrittener Formelsatz
Text erstellen
Gleitumgebungen
Error
Tabellen
Aufzählungen
Fußnoten
Struktur
Literaturverzeichnis
Formelsatz Mathe-Umgebungen
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX
2 / 192
Übersicht
Fortgeschritten
latexmk
\texorpdfstring
TEX in matplotlib in TEX Präsentationen mit LaTEX: beamer
Links
Zeichnen mit Tikz
Debug
Ausblick
Ein bisschen Typografie
Makros Breites Mathe: Expert Makefiles
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX
3 / 192
Ergebnisse der Umfrage
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Umfrage
4 / 192
Betriebssystem
Windows
ArchLinux Fedora/RedHat MacOS
Debian/Ubuntu
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Umfrage
5 / 192
Erfahrung mit LaTEX noch nie von gehört
TeXpert
schon mal ausprobiert
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Umfrage
6 / 192
Einführung
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Einführung
7 / 192
Was ist LaTEX?
→ Programmiersprache zum Setzen von Text → Markup ⇒ kein What-You-See-Is-What-You-Get → LaTEX-Code → Kompiler → Ausgabedokument (meist PDF) → Open-Source, große Erweiterungsmöglichkeit (Pakete) → Standard-Werkzeug in der Wissenschaft
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Einführung
8 / 192
Warum LaTEX?
→ Hervorragender Text- und Formelsatz → Automatisierte Erstellung von Inhalts- und Literaturverzeichnis → TEX-Dateien sind reine Text-Dateien ⇒ Gut für Versionskontrolle geeignet → Sehr gute Vorlagen für wissenschaftliches Arbeiten
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Einführung
9 / 192
Warum LaTEX?
→ Ausgezeichnete Dokumentation → Erweiterbar durch zahlreiche und mächtige Pakete → Auf allen geläufigen Betriebssystemen verfügbar → Ausgabe direkt als PDF mit Hyperlinks
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Einführung
10 / 192
Geschichte
TEX: → Geschrieben von Donald E. Knuth 1978, um sein Buch „The Art of Computer Programming“ zu setzen → Auf Aussprache achten! → Version (2014): 3.14159265 → π → Viele Erweiterungen: 𝜀-TEX, pdfTEX, XETEX, LuaTEX LaTEX:
→ Geschrieben von Leslie Lamport 1984 → Version (1994): LaTEX 2𝜀
→ LaTEX3 seit Anfang der Neunziger in Arbeit…
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Einführung
11 / 192
Dieser Kurs
→ In LaTEX gibt es immer viele Möglichkeiten, ein Ziel zu erreichen → Wir zeigen einen modernen Ansatz → Wir erklären, warum wir diesen Ansatz gewählt haben → Weitere Ansätze werden an manchen Stellen kurz erwähnt
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Einführung
12 / 192
Begriffe
TEX-Engine Implementierung von TEX, wird als Programm ausgeführt TEX-Format Paket, welches standardmäßig geladen wird, z.B. LaTEX Eine Kombination davon ist oft ein neues Programm. Beispiel: dvilualatex = LuaTEX + LaTEX + DVI-Output (statt PDF)
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Einführung
13 / 192
Grundlagen
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
14 / 192
Das Dokument
Diese drei Zeilen braucht jedes LaTEX-Dokument: Code
\documentclass
\documentclass[optionen]{klasse} % . % Präambel % . % . \begin{document} % Inhalt des Dokuments \end{document}
Vorlage wählen, mit Optionen anpassen.
PeP et al. Toolbox Workshop – Pep et al. e.V.
Präambel Globale Optionen und zusätzliche Pakete. document-Umgebung
Inhalt des Dokuments.
LaTEX – Grundlagen
15 / 192
Hallo Welt
Code
Ergebnis
\documentclass{scrartcl} \begin{document} Hallo Welt! \end{document}
Hallo Welt!
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
16 / 192
Syntax: Befehle LaTEX-Befehle beginnen stets mit einem \ (Backslash). Obligatorische Argumente stehen in { }, optionale Argumente stehen in [ ]. Syntax \befehl[optional]{obligatorisch} \befehl*[optional]{obligatorisch} * ruft häufig eine Alternativform des Befehls auf.
Code
Erklärung
\documentclass[paper=a4]{scrartcl}
Dokumentenklasse scrartcl, Papierformat DIN A4 Keine Argumente Zwei oder mehr Pflichtargumente %-Zeichen für Kommentare
\tableofcontents \frac{1}{2} % Kommentar
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
17 / 192
Syntax: Umgebungen
→ Einstellungen für Bereich des Dokuments → Extrem vielseitig → Können ggfs. auch Optionen übergeben bekommen → Oft auch Alternativform mit * Syntax
Beispiel
\begin{Umgebung}[optional]{obligatorisch} % . \end{Umgebung}
\begin{flushright} % . \end{flushright}
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
18 / 192
Syntax: Umgebungen
→ Können weitere Umgebungen enthalten → Diese müssen aber in der Umgebung wieder geschlossen werden Geht:
Geht nicht:
\begin{document} \begin{flushright} % . \end{flushright} \end{document}
\begin{itemize} \begin{enumerate} % . \end{itemize} \end{enumerate}
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
19 / 192
Standardpakete Die hier aufgezählten Pakete sollten immer geladen werden, da sie wesentliche Funktionen bieten und wichtige Einstellungen vornehmen. Paket
Funktion
\usepackage[aux]{rerunfilecheck}
Warnung, falls nochmal kompiliert werden muss.
\usepackage{polyglossia} \setmainlanguage{german} \usepackage{fontspec}
Deutsche Spracheinstellungen. Für Fonteinstellungen
% mehr Pakete hier \usepackage[unicode]{hyperref} \usepackage{bookmark}
Für Hyperlinks (z.B. Inhaltsverzeichnis → Kapitel). Erweiterte Bookmarks im PDF.
Die Reihenfolge ist manchmal wichtig, z.B. damit Pakete die Spracheinstellung kennen.
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
20 / 192
KOMA-Script-Klassen
Doku: KOMA-Skript
→ scrartcl, scrreprt und scrbook → Sehr gute Vorlagen → Schnell global mit Klassenoptionen anpassbar Fürs Praktikum empfohlenene Klasse \documentclass[…]{scrartcl}
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
21 / 192
Fonteinstellungen
Doku: fontspec
Standardeinstellung sind die Latin-Modern-Fonts. Latin Modern
Alternativ: Tex Gyre
\usepackage{fontspec}
\usepackage{fontspec} \setmainfont{Tex Gyre Termes} \setsansfont{Tex Gyre Heros} \setmonofont{Tex Gyre Cursor}
→ Jede System-Schriftart kann genutzt → Das ist i.A. nicht sinnvoll: Hallo Welt in Comic Sans! → Schriften müssen zueinander passen → Schriften müssen alle benötigten Sonderzeichen enthalten → Bei Änderung auch Mathefont anpassen → später
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
22 / 192
Gerüst
\documentclass{scrartcl} \usepackage[aux]{rerunfilecheck} \usepackage{polyglossia} \setmainlanguage{german} \usepackage{fontspec} % mehr Pakete hier \usepackage[unicode]{hyperref} \usepackage{bookmark} % Einstellungen hier, z.B. Fonts \begin{document} % Text hier \end{document}
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
23 / 192
Das Ausgabedokument erstellen
Es gibt verschiedene LaTEX-Kompiler, die verschiedene Ausgabeformate erzeugen können. Der modernste Kompiler, der PDF-Dateien erstellt, ist lualatex. LaTEX-Dokument kompilieren Terminal öffnen: lualatex MeinDokument.tex
Vorsicht! → Es muss fast immer mindestens zweimal kompiliert werden. → Es werden diverse Hilfs- und Logdateien erzeugt. → Die Input-Dokumente müssen UTF-8 codiert sein.
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
24 / 192
texdoc
LaTEX und (fast) alle Pakete sind hervorragend dokumentiert. Die Dokumentation wird automatisch mitinstalliert. Dokumentation zu einem Paket texdoc paket
Dabei ist paket ein Suchstring. Nach Dokumentation suchen texdoc -l name
Es ist wichtig zu lernen, Dokumentationen zu lesen. Probiert es an den oben genannten Paketen aus. Alternativ kann man das Paket bei Google suchen, dann findet man auch die Dokumentation auf CTAN.
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Grundlagen
25 / 192
Text erstellen
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Text erstellen
26 / 192
Text schreiben
Beispiel % Präambel \begin{document} Hallo, Welt! Dies ist ein dummer Beispieltext. Er soll zeigen, dass \LaTeX sich nicht um Zeilenumbrüche im Code oder zuviele Leerzeichen kümmert. Ein Absatz wird mit einer leeren Code-Zeile markiert. \end{document}
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Text erstellen
27 / 192
Konventionen für Text
→ Höchstens ein Satz pro Code-Zeile → Absätze werden durch eine Leerzeile markiert → Im Fließtext sollten keine Umbrüche mit \\ erzwungen werden Sonderzeichen Viele Sonderzeichen sind LaTEX-Steuerzeichen. Damit diese im Text genutzt werden können, muss meist ein \ vorangestellt oder ein Befehl genutzt werden. Code
Ergebnis
\# \$ \% \& \_ \{ \} \textbackslash \textasciicircum \textasciitilde
#$%&_{} \^~
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Text erstellen
28 / 192
Textauszeichnung
Änderungen der Schrifteigenschaften sind mit diesen Befehlen möglich: Code
Ergebnis
\textit{kursiv} \emph{kursiv} \textbf{fett} \textbf{\textit{fett-kursiv}} \textrm{Serifen-Schrift} \texttt{Mono-Schrift} \textsf{Sans-Serif-Schrift} \textsc{Kapitälchen}
kursiv kursiv fett fett-kursiv Serifen-Schrift Mono-Schrift Sans-Serif-Schrift Kapitälchen
Diese Befehle sollten sehr selten benutzt werden, semantischer Markup ist besser.
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Text erstellen
29 / 192
Schriftgrößen
Gelten immer für den aktuellen Block, z. B. in einer Umgebung oder zwischen { } Code
Ergebnis
{\tiny tiny} {\small small} {\normalsize normal} {\large large} {\huge huge}
tiny
small normal
large
huge
Alle Größen \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge, \Huge
Auch diese Befehle sollten nur über semantischen Markup benutzt werden.
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Text erstellen
30 / 192
Inhalt auslagern
Code \input{header.tex} \begin{document} \input{Teil1.tex} \input{Teil2.tex} % . \end{document}
→ Verschachtelung möglich → Zur Aufteilung größerer Dokumente (z.B. diese Präsentation) → Für häufig wiederverwendeten Code (Header, Erläuterungen zu Fehlerrechnung, …) → Für per Skript erzeugte Tabelleninhalte
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Text erstellen
31 / 192
Anführungszeichen
Doku: csquotes
Die richtigen Anführungszeichen, wo die Satzzeichen hingehören und vieles mehr hängt von der Sprache ab. So macht man es richtig: Benötigte Pakete \usepackage[autostyle]{csquotes} % nach polyglossia \setotherlanguages{english, french} % andere Sprachen laden
Code
Ergebnis
foo \enquote{bar} baz \enquote{foo \enquote{bar} baz} \textenglish{\enquote{foo}} \textfrench{\enquote{foo}} \textcquote{root}{foo}
foo „bar“ baz „foo ‚bar‘ baz“ “foo” « foo » „foo“ [1]
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Text erstellen
32 / 192
Error
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Error
33 / 192
Errors
→ Alles kaputt. Was nun? → Fehlermeldungen anfangs (und teils auch später) etwas kryptisch. Code Ich begrüße euch mit einem \enqote{Hallo Welt} (/usr/local/texlive/2015/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) ! Undefined control sequence. l.8 Ich begrüße euch mit einem \enqote {Hallo Welt}! 462 words of node memory still in use:
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Error
34 / 192
Errors
→ Alles kaputt. Was nun? → Fehlermeldungen anfangs (und teils auch später) etwas kryptisch. Code Ich begrüße euch mit einem \enqote{Hallo Welt} (/usr/local/texlive/2015/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)) ! Undefined control sequence. l.8 Ich begrüße euch mit einem \enqote {Hallo Welt}! 462 words of node memory still in use:
⇒ Vertippt (es fehlt ein u in \enquote)
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Error
34 / 192
Lösungsstrategien
→ Angegebene Zeile und vorherige Zeilen kontrollieren → Teile des Codes auskommentieren um Ort des Fehlers einzugrenzen → Google → tex.stackexchange.com
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Error
35 / 192
Aufzählungen
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Aufzählungen
36 / 192
Aufzählungen: Itemize
→ LaTEX bietet drei Umgebungen für Aufzählungen → Standardeinstellungen gut, Änderungen mit Paket enumitem → Verschachteln für Unterpunkte → Unnummerierte Listen: itemize Code \begin{itemize} \item Punkt 1 \item Punkt 2 \begin{itemize} \item Unterpunkt 1 \item Unterpunkt 2 \end{itemize} \item[→] Punkt 3 \end{itemize}
PeP et al. Toolbox Workshop – Pep et al. e.V.
Ergebnis • Punkt 1 • Punkt 2 – Unterpunkt 1 – Unterpunkt 2 → Punkt 3
LaTEX – Aufzählungen
37 / 192
Aufzählungen: Enumerate
Für nummerierte Listen wird enumerate genutzt. Code \begin{enumerate} \item Punkt 1 \item Punkt 2 \begin{enumerate} \item Unterpunkt 1 \item Unterpunkt 2 \end{enumerate} \item Punkt 3 \end{enumerate}
PeP et al. Toolbox Workshop – Pep et al. e.V.
Ergebnis 1. Punkt 1 2. Punkt 2 a) Unterpunkt 1 b) Unterpunkt 2 3. Punkt 3
LaTEX – Aufzählungen
38 / 192
Aufzählungen: Description
Zur Beschreibung von Stichwörtern wird description benutzt, dabei wird das Stichwort \item als optionales Argument übergeben. Code \begin{description} \item[\LaTeX] gut \item[Word] böse \end{description}
PeP et al. Toolbox Workshop – Pep et al. e.V.
Ergebnis LaTEX gut
Word böse
LaTEX – Aufzählungen
39 / 192
Struktur
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Struktur
40 / 192
Titelseite und Metadaten
LaTEX erstellt automatisch eine Titelei aus den Metadaten. Mit der Klassenoption titlepage=firstiscover wird diese als eigene Seite gesetzt. Neue Klassenoption \documentclass[…, titlepage=firstiscover, …]{scrartcl}
Empfehlung fürs Praktikum: \title{101 Titel des Versuchs} % Mehrere Autoren mit \and: \author{Max Mustermann \and Maria Musterfrau} \date{Durchführung: 26.09.2014, Abgabe: 29.09.2014}
Titelseite generieren \maketitle
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Struktur
41 / 192
Gliederung
LaTEX bietet Befehle zum erstellen von Gliederungsebenen. Diese werden automatisch nummeriert und in entsprechend größerer und fetter Schrift gesetzt. Gliederungsebenen für scrartcl \section{Überschrift} \subsection{Überschrift} \subsubsection{Überschrift} \paragraph{Überschrift} % wird nicht nummeriert \subparagraph{Überschrift} % wird nicht nummeriert
Höhere Gliederungsebenen für scrreprt und scrbook \part{Überschrift} \chapter{Überschrift} \section{Überschrift}
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Struktur
42 / 192
Inhaltsverzeichnis
Aus den Gliederungselementen kann automatisch das Inhaltsverzeichnis erzeugt werden. Inhaltsverzeichnis generieren \tableofcontents \newpage
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Struktur
43 / 192
Formelsatz
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
44 / 192
Benötigte Pakete
Doku: amsmath
Doku: mathtools
Doku: unicode-math
\usepackage{amsmath} % unverzichtbare Mathe-Befehle \usepackage{amssymb} % viele Mathe-Symbole \usepackage{mathtools} % Erweiterungen für amsmath
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
45 / 192
Benötigte Pakete
Doku: amsmath
Doku: mathtools
Doku: unicode-math
\usepackage{amsmath} % unverzichtbare Mathe-Befehle \usepackage{amssymb} % viele Mathe-Symbole \usepackage{mathtools} % Erweiterungen für amsmath \usepackage{fontspec} % nach amssymb \usepackage[
]{unicode-math}
PeP et al. Toolbox Workshop – Pep et al. e.V.
% "Does exactly what it says on the tin."
LaTEX – Formelsatz
45 / 192
Benötigte Pakete
Doku: amsmath
Doku: mathtools
Doku: unicode-math
\usepackage{amsmath} % unverzichtbare Mathe-Befehle \usepackage{amssymb} % viele Mathe-Symbole \usepackage{mathtools} % Erweiterungen für amsmath \usepackage{fontspec} % nach amssymb \usepackage[ math-style=ISO, bold-style=ISO, sans-style=italic, nabla=upright, partial=upright, ]{unicode-math}
PeP et al. Toolbox Workshop – Pep et al. e.V.
% % % % % %
\ | | ISO-Standard folgen | / "Does exactly what it says on the tin."
LaTEX – Formelsatz
45 / 192
Benötigte Pakete
Doku: amsmath
Doku: mathtools
Doku: unicode-math
\usepackage{amsmath} % unverzichtbare Mathe-Befehle \usepackage{amssymb} % viele Mathe-Symbole \usepackage{mathtools} % Erweiterungen für amsmath \usepackage{fontspec} % nach amssymb \usepackage[ math-style=ISO, bold-style=ISO, sans-style=italic, nabla=upright, partial=upright, ]{unicode-math}
% % % % % %
\ | | ISO-Standard folgen | / "Does exactly what it says on the tin."
\setmathfont{Latin Modern Math} % \setmathfont{Tex Gyre Pagella Math} % alternativ
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
45 / 192
$...$-Umgebung
Aktiviert den Mathematikmodus im Fließtext. TEX sorgt für gute Abstände
Ergebnis
$x
𝑥 = 5, 𝑦 = 3
=
5$, $y=3$
Satzzeichen u. Bindestriche gehören nicht in $...$
Ergebnis
Dies ist eine Variable: $x$. Liste von Variablen $x$, $y$, $z$. $y$-Achse, $x$-$y$-Ebene
Dies ist eine Variable: 𝑥. Liste von Variablen 𝑥, 𝑦, 𝑧. 𝑦-Achse, 𝑥-𝑦-Ebene
Vorsicht bei der Höhe von Formeln im Text
Ergebnis
Text ohne eine Bedeutung. Mit einer Formel: $\frac{1}{1- \frac{1}{1 - x}}$ Text ohne eine Bedeutung.
Text ohne eine Bedeutung. Mit einer Formel: 1− 1 1 1−𝑥 Text ohne eine Bedeutung.
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
46 / 192
Griechisch und mehr
Code
Ergebnis
\epsilon \theta \kappa \pi \rho \sigma \phi \varepsilon \vartheta \varkappa \varpi \varrho \varsigma \varphi \Alpha \Beta \Gamma \hbar \imath \jmath \ell \partial \nabla \square \increment \infty \diameter
𝜖𝜃𝜅𝜋𝜌𝜎𝜙 𝜀𝜗𝜘𝜛𝜚𝜍 𝜑
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
𝛢𝛣𝛤 ℏ𝚤𝚥ℓ ∂∇∆ ∞⌀
47 / 192
Operatoren und Relationen Code
Ergebnis
+ - / \cdot \times \pm \mp < > \leq \geq = \simeq \equiv \cong \approx \propto \sim \coloneq \eqcolon \to \iff \implies \mapsto \leadsto \forall \exists \in \subset
+−/⋅× ±∓ ≤≥ =≃≡≅ ≈∝∼ ≔ ≕ → ⟺ ⟹ ↦ ∀∃ ∈ ⊂
Negierte Variante mit n bzw. not
Ergebnis
\neq \nsime \nexists \nni \notin
≠≄∄∌∉
Häufig möchte man etwas über eine Relation schreiben:
Ergebnis
\stackrel{!}{=} \stackrel{\text{def}}{=}
=
PeP et al. Toolbox Workshop – Pep et al. e.V.
!
LaTEX – Formelsatz
def
=
48 / 192
Indizes / Exponenten Code
Ergebnis
x^2 x_2 x²
𝑥2
Lange o. doppelte Indizes/Exponenten
Ergebnis
x^10
x^{10}
𝑥1 0
𝑥10
x^2^2
x^{2^2}
error
𝑥2
x_\sqrt[3]{2}
x_{\sqrt[3]{2}}
error
𝑥 3√2
Text in Indizes falsch: x_{min},
𝑥2
𝑥2
2
Ergebnis falsch: 𝑥𝑚𝑖𝑛 ,
richtig: x_\text{min}
Striche / linksseitig
Ergebnis
x' x^' x'' x'^2 {}^2 x
𝑥′ 𝑥 2 𝑥
′
𝑥″
richtig: 𝑥min
𝑥′2
Nur wenige Befehle können ohne { } im Index stehen. PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
49 / 192
Akzente
Code
Ergebnis
\bar{x} \hat{x} \tilde{x} \vec{x} \mathring{x} \dot{x} \ddot{x} \dddot{x} \ddddot{x} \underline{xy} \overline{xy}
𝑥̄ 𝑥̂ 𝑥̃ 𝑥⃗ 𝑥̊ 𝑥̇ 𝑥̈ 𝑥⃛ 𝑥⃜ 𝑥 𝑦 𝑥𝑦
Auf Position des Akzents achten:
Ergebnis
\hat{x_\text{min}} \hat{x}_\text{min}
𝑥min ̂ 𝑥min ̂
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
50 / 192
Funktionen Code
Ergebnis
x \sin y x \sin(y) \cos \tan \exp \ln \log_{10}(x)
𝑥 sin 𝑦 𝑥 sin(𝑦) cos tan exp ln log10 (𝑥)
\lim_{x \to \infty} x^2
lim 𝑥2
𝑥→∞
Man kann auch eigene Funktionen definieren:
Ergebnis
% direkt in der Matheumgebung: \operatorname{xyz}_i(a) \operatorname*{xyz}_i(a)
xyz𝑖 (𝑎) xyz(𝑎) 𝑖
% in Präambel definieren \DeclareMathOperator{\xyz}{xyz} \DeclareMathOperator*{\Xyz}{Xyz} % dann überall im Dokument nutzbar: \xyz_i(a) \Xyz_i(a)
PeP et al. Toolbox Workshop – Pep et al. e.V.
xyz𝑖 (𝑎) Xyz(𝑎) 𝑖
LaTEX – Formelsatz
51 / 192
Große Operatoren
Code
Ergebnis
\sum_{i=0}^\infty x_i
∑ 𝑥𝑖
∞ 𝑖=0
∏
\prod_{x \neq 0}
𝑥≠0 1
\int_0^1 \iiint \oint
∫ ∭∮ 0 1
\int_{0}^{1} f(x) \, \symup{d}x
∫ 𝑓(𝑥) d𝑥 0
\int x \int_0 x \int^{} x \int_0^{} x % LuaTeX Bug: immer obere Grenze angeben
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
∫𝑥
∫ 𝑥 0
∫𝑥
∫ 𝑥 0
52 / 192
Auslassungspunkte Auslassungspunkte sind sehr … wichtig. Code a_1, a_1 + a_1 \int^{}
Ergebnis \dotsc , a_n \dotsb + a_n \dotsm a_n \dotsi \int^{}
𝑎1 , … , 𝑎𝑛 𝑎1 + ⋯ + 𝑎 𝑛 𝑎1 ⋯ 𝑎 𝑛 ∫ ⋯∫
Für andere Fälle gibt es Befehle mit festen Positionen: Code
Ergebnis
x \ldots x x \cdots x \vdots \ddots \adots
𝑥…𝑥 𝑥⋯𝑥 ⋮ ⋱ ⋰
Im Text kann man einfach \dots benutzen.
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
53 / 192
Fonts
Doku: unicode-math
Code
Ergebnis
x \alpha \symup{x \alpha} \symbf{x\alpha} \symbfsf{x \alpha} \symbb{R N 1 0 x} \symcal{I A O} \symbfcal{I A O} \symfrak{A B c} \symbffrak{A B c}
𝑥𝛼xα 𝒙𝜶 𝙭𝞪 ℝℕ𝟙𝟘𝕩 ℐ𝒜𝒪𝓘𝓐𝓞 𝔄𝔅𝔠𝕬𝕭𝖈
Für mehrbuchstabige Bezeichungen gibt es andere Befehle: Code
Ergebnis
Re \mathit{Re} diff \quad \mathit{diff} \mathbf{NP} \subseteq \mathbf{PSPACE}
𝑅𝑒 Re 𝑑𝑖𝑓𝑓 diff NP ⊆ PSPACE
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
54 / 192
Spaces Manchmal muss man manuell eingreifen, um das Spacing zu perfektionieren. Code
Ergebnis
% Kein Space \, \: \; \quad \qquad
⇒⇐ ⇒⇐ ⇒⇐ ⇒⇐ ⇒ ⇐ ⇒ ⇐
Negativer Space um zu viel Platz zu korrigieren: Code
Ergebnis
% kein Space \! % negativer \,
⇒⇐ ⇒⇐
Code
Ergebnis
^2
^{\!\! 2}
PeP et al. Toolbox Workshop – Pep et al. e.V.
(
22 ) 2
2
LaTEX – Formelsatz
2
(
22 ) 2
55 / 192
Klammern
Code
Ergebnis
(x) [x] \{x\} \langle x\rangle \lvert x\rvert \lVert x\rVert
(𝑥) [𝑥] {𝑥} ⟨𝑥⟩ |𝑥| ‖𝑥‖
Häufig braucht man größere Klammern
Ergebnis
\bigl(x\bigr) \Bigl(x\Bigr) \biggl(x\biggr) \Biggl(x \Biggr)
(𝑥)(𝑥)(𝑥)(𝑥)
\bigl \bigl|x\bigr| \bigl\|x\bigr\|
⟨𝑥⟩ ∣𝑥∣ ∥𝑥∥
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Formelsatz
56 / 192
Klammern: Automatische Größe
→ Größe des Ausdrucks zwischen \left und \right bestimmt Größe der Klammern → Ein \left muss in der gleichen Zeile wieder mit \right geschlossen werden → \left. oder \right. falls nur eine Klammer gewünscht wird Code
Ergebnis
\left(\frac{1}{2} \right) \left(\frac{1}{2}\right.
( 12 )
\left\{x \,\middle|\, x ^{14}_7N + e+ \bar{\symup{\nu}}_e}$ $\ce{CO2 + C 2CO}$
PeP et al. Toolbox Workshop – Pep et al. e.V.
H 2 O2
227 + 90Th
𝑐H2 O = 4184 J/(kg K) 14 6C
−−→
14 7N
+ e− + ν̄ e
−− ⇀ CO2 + C ↽ − − 2 CO
LaTEX – Chemische Formeln
73 / 192
Fortgeschrittener Formelsatz
PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Fortgeschrittener Formelsatz
74 / 192
Matrizen
Doku: amsmath
Matrizen (und damit Vektoren) werden fett geschrieben.
Ergebnis
\symbf{M}^\top \symbf{M}^\dagger
𝑴⊤ 𝑴∗ 𝑴 † 𝑴 −1
\symbf{M}^* \symbf{M}^{-1}
M_{12}
Verschiedene Klammern
Ergebnis
\begin{pmatrix} \begin{bmatrix} \begin{Bmatrix} x & y \\ -1 \\ -1 \\ z & abc 2 2 \end{pmatrix} \end{bmatrix} \end{Bmatrix}
𝑥 ( 𝑧
Unterschiedliche Ausrichtung mit * \begin{pmatrix*}[l] 1 & -1 \\ -1 & 2 \end{pmatrix*} \begin{pmatrix*}[r] 1 & -1 \\ -1 & 2 \end{pmatrix*}
Doku: mathtools
𝑀12
𝑦 −1 −1 )[ ]{ } 𝑎𝑏𝑐 2 2
Ergebnis
\begin{pmatrix*}[c] 1 & -1 \\ -1 & 2 \end{pmatrix*}
1 ( −1
−1 ) 2
1 ( −1
−1 ) 2
(
1 −1
−1 ) 2
Mehr Möglichkeiten in der Doku. PeP et al. Toolbox Workshop – Pep et al. e.V.
LaTEX – Fortgeschrittener Formelsatz
75 / 192
Unnötigen Leerraum loswerden
mathtools stellt zwei wichtige Befehle, um Leerraum zu eliminieren:
Ergebnis
\mathclap
lim 𝑓(𝑥)
\lim_{x\to\infty} f(x)
𝑥→∞
lim 𝑓(𝑥)
\lim_{\mathclap{x\to\infty}} f(x)
𝑥→∞
\sum_{i \in \{1, 2, 3, 4, 5\}} i
∑
𝑖
𝑖∈{1,2,3,4,5}
\sum_{\mathclap{i \in \{1, 2, 3, 4, 5\}}} i
∑𝑖 𝑖∈{1,2,3,4,5}
\cramped
Ergebnis
2^{2^2} \cramped{2^{2^2}}
22 222
PeP et al. Toolbox Workshop – Pep et al. e.V.
2
LaTEX – Fortgeschrittener Formelsatz
76 / 192
Fallunterscheidungen
Befehle mit * aktivieren den Textmodus nach dem &. Code
Ergebnis
f(x) = \begin{cases} x , & x \ge 0 \\ \int_0^1 x , & \text{sonst} \end{cases}
𝑓(𝑥) = {
0
\begin{drcases*} x , & $x < 0$ \\ \int_0^1 x , & sonst \end{drcases*} \ne - \lvert x \rvert
PeP et al. Toolbox Workshop – Pep et al. e.V.
𝑥, 𝑥≥0 1 ∫ 𝑥, sonst
𝑥,
𝑥