Computermethoden in der Physik
Verfassen wissenschaftlicher Texte mit LATEX
Wolfgang Kilian, Simon Braß, Tobias Striegl15. Februar 2018
Theoretische Physik Ihttp://www.tp.nt.uni-siegen.de/+brass/
Outline
Einleitung
Grundlagen
Text erstellen
Erweiterte Typographie
Formelsatz
Zahlen und Einheiten
Gleitumgebungen
Tabellen
Literaturverzeichnis
1
Was ist LATEX?
• Markup-Language (z. Bsp. wie HTML) → kein What-You-See-Is-What-You-Get-Editor
• Trennung von Layout und Inhalt
• open source-Projekt mit vielen Erweiterungen (packages)
• Standardwerkzeug zum Setzen von wissenschaftlichen Texten
3
Warum LATEX?
• hervorragender Text- und Formelsatz
• Automatisierte Erstellung von Inhalts-, Bilder- und Tabellenverzeichnis → einfache Referenzen,richtige Seitenzahlen usw.
• TEX-Dateien sind normale Text-Dateien → geeignet für Versionskontrolle
• viele (Layout-)Vorlagen für wissenschaftliche Arbeiten
4
Weitere Vorteile
• auf allen gängigen Betriebssystemen verfügbar
• sehr gute Dokumentation
• viele Pakete durch eine große Community
• erzeugt direkt PDFs inklusive Hyperlinks (URLs, Referenzen, …)
5
Geschichte
TEX
• Donald E. Knuth: 1978 → Textsatz-System für sein Buch„The Art of Programming“
• Aussprache wie deutsches ”Tech”
• Version: 3.14159265 (2014) → 𝜋
• Varianten: ε-TEX, pdfLATEX, xeTEX, LuaTEX
LATEX
• Leslie Lamport: 1984
• Version: LATEX2e
• LATEX3 seit 1990er in Arbeit
6
Nomenklatur
Tex-Engine Implementierung von TEX
Tex-Format Paket, welches geladen wird, z. Bsp.: LATEX
Kombinationsmöglichkeit
• dvilualatex = LuaTEX+ LATEX+ div (anstelle von PDF)
7
Distribution
Implementierung von TEX/LATEX sowie von (freien) Paketen, einem Paket-Manager undUpdate-Möglichkeiten
MikTex
• Primär entwickelt für Windows
• Experimentell einsetzbar unter Linux und Windows (relativ neu)
• Installation eines Minimal-System (per Standard)
• Lädt bei Bedarf Pakete von ctan.org nach
• roll onward
TexLive
• Entwicklung für alle Betriebssysteme
• Volle Installation aller Pakete (per Standard)
• freezed release: jährlich neue Version
8
Grundlegender Aufbau
Minimaler Aufbau
\documentclass{scrartcl}% .% Präambel% .\begin{document}Hallo Welt!\end{document}
Erklärung
\documentclass Vorlage auswählen undOptionen anpassen
Präambel Globale Optionen und anderePakete
document-Umgebung Inhalt des Dokuments
10
Syntax: Befehle
• Befehle beginnen immer mit \ (Backslash).
• Pflichtargumente stehen in { }, optionale Argumente in [ ].
• Befehle mit * sind meistens eine Alternative des Originals
Syntax
\befehl[optional]{obligatorisch}\befehl*[optional]{obligatorisch}
Code
\documentclass[paper=a4]{scrartcl}% ...\tableofcontents\frac{3}{4}% Kommentar
11
Syntax: Umgebungen
• Einstellungen für Bereich des Dokuments
• Können ggfs. auch Optionen übergeben bekommen
• Alternativform mit *
Syntax
\begin{umgebung}[optional]{obligatorisch}% .
\end{umgebung}
• Umgebungen können andere Umgebungen enthalten
• Achtung: Schließen der Umgebung in der richtigen Reihenfolge!
12
Kompiler
Zum Kompilieren (LATEX→ PDF) im Terminal lualatex aufrufen:
lualatex beispiel.tex
LuaLATEX
Unicode-Input Bequem, äöüßêéè funktioniert einfach
OTF-Fonts Alle Fonts benutzen, die man auf dem Rechner hat
Unicode-Math • Mathe-Input über Unicode• Stichwort: Compose-Key (XCompose, Linux)• Code lesbarer, Tippen schneller• Mehr Font-Möglichkeiten
Lua-Programmierung TEX-Programmierung ist nicht besonders einfach → Manche Pakete bietenweitergehende Funktionen nur über Lua
13
documentclass
• Standardklassen: article, book, report
• erweiterte KOMA-Klassen aus den KOMA-Skriptenscrartcle Artikel, Protokolle, Kurzbeschreibungscrreprt längere Artikel, Kurzbücherscrbook richtige Bücher, (Bachelor-/Master-/PhD-)Thesis
→ besseres und durchdachteres Layout
• KOMA-Skripte bieten eine Vielzahl an nützlichen Erweiterungen zu den Standardklassen
• Vielzahl an Optionen und Erklärungen in der offiziellen Dokumentation texdoc koma
% \documentclass[a4paper,10pt,twoside,BCOR=10mm]{scrartcl}% für die Druck-Version mit Binde-Korrektur\documentclass[a4paper,10pt,oneside,BCOR=0mm]{scrartcl}% für die PDF-Version einseitig und ohne Binde-Korrektur
14
Standardpakete
Pakete
\usepackage[aux]{rerunfilecheck}
\usepackage{polyglossia}\setdefaultlanguage{german}
\usepackage{fontspec}% mehr Pakete
\usepackage[unicode]{hyperref}\usepackage{bookmark}
Funktionen
Warnung, wenn nochmal kompiliert werdenmuss.↪
Deutsche Sprache einstellen.
Für Fonteinstellung.
Hyperreferenzen, z. Bsp.: Kapitel imInhaltsverzeichnis↪
Erweiterte Booksmarks (Farbe, Style, mehrReferenzen)↪
15
fontspec
Standardeinstellung sind die Latin-Modern-Fonts.
Latin Modern
\usepackage{fontspec}
Alternativ: Libertinus
\usepackage{fontspec}\setmainfont{Libertinus Serif}\setsansfont{Libertinus Sans}\setmonofont{Libertinus Mono}
Wähle weise
• Jede System-Schriftart kann genutzt werden.
• Schriften müssen zueinander passen.
• Schriften müssen alle benötigten Sonderzeichen enthalten.
• Bei Änderung auch Mathefont anpassen → später.
• Welche Schriftarten zueinander passen ist eine Wissenschaft für sich.
16
texdoc
LATEXund so gut wie alle Pakete sind sehr gut dokumentiert. Die Dokumentation wird automatischmitinstalliert. Aufruf mit:
texdoc paket
Nach Dokumentation suchen:
texdoc -l name
Es ist wichtig zu lernen wie man eine solche Dokumentation richtig liest.
17
Text schreiben
Beispiel
% Präambel\begin{document}Hallo, Welt!Dies ist ein dummer Beispieltext.Er soll zeigen, dass \LaTeX sich nicht umZeilenumbrüche im Code oder zuvieleLeerzeichen kümmert.
Ein Absatz wird mit einer leeren Code-Zeilemarkiert.\end{document}
19
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
SonderzeichenViele Sonderzeichen sind LATEX-Steuerzeichen. Damit diese im Text genutzt werden können, mussmeist ein \ vorangestellt oder ein Befehl genutzt werden.
Code
\# \$ \% \& \_ \{ \}\textbackslash \textasciicircum \textasciitilde
20
Textauszeichnung
Änderung der Schriftarten sollten immer wohl bedacht sein, z.B. Überschriften:
Code
\textit{kursiv}\emph{kursiv}\textbf{fett}\textbf{\textit{fett-kursiv}}\textrm{Serifen-Schrift}\texttt{Mono-Schrift}\textsf{Sans-Serif-Schrift}\textsc{Kapitälchen}
21
Schriftgrößen
Gelten immer für den aktuellen Block, z.~B. in einer Umgebung oder zwischen { }.
{\tiny tiny}{\small small}{\normalsize normal}{\large large}{\huge huge}
tiny small normalsize large hugeAlle Schriftgrößen
\tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge, \Huge
22
Inhalt auslagern
\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
23
Anführungszeichen
Die richtigen Anführungszeichen, wo die Satzzeichen hingehören und vieles mehr hängt von derSprache ab. So macht man es richtig:
Benötigte Pakete
\usepackage[autostyle]{csquotes} % nach polyglossia\setotherlanguages{english, french}
Code
foo \enquote{bar} baz\enquote {foo \enquote{bar} baz}\textenglish{\enquote{foo}}\textfrench{\enquote{foo}}% \textcquote{root}{foo}
24
Aufzählung: itemize
• LATEXbietet 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}
25
Aufzählung: enumerate
Für nummerierte Listen wird enumerate benutzt:
\begin{begin}\item Punkt 1\item Punkt 2\begin{enumerate}\item Unterpunkt 1\item Unterpunkt 2\end{enumerate}
\item Punkt 3\end{begin}
26
Aufzählung: description
Zur Beschreibung von Stichwörtern wird description benutzt, dabei wird das Stichwort \item alsoptionales Argument übergeben.
\begin{description}\item[\LaTeX] ist besser\item[Word] ist schlechter\end{description}
27
Titelseite
LATEXerstellt automatisch eine Titelei aus den Metadaten. Mit der Klassenoptiontitlepage=firstiscover wird diese als eigene Seite gesetzt.
Neue Klassenoption
\documentclass[..., titlepage=firstiscover, ...]{scrartcl}
Beispiel: Protokoll
\title{Lebensdauer von Muonen}% Mehrere Autoren mit \and:\author{Max Mustermann \and Maria Musterfrau}\date{Durchführung: 8.2.2018, Abgabe: 15.2.2018}
Titelseite generieren
\maketitle
28
Dokumentgliederung
LATEXbietet Befehle zum erstellen von Gliederungsebenen. Diese werden automatisch nummeriert undin entsprechend größerer und fetter Schrift gesetzt.
Gliederungsebenen für scrartcl
\section{Überschrift}\subsection{Überschrift}\subsubsection{Überschrift}% wird nicht nummeriert\paragraph{Überschrift}\subparagraph{Überschrift}
Höhere Gliederungsebenen für scrreprt und scrbook
\part{Überschrift}\chapter{Überschrift}\section{Überschrift}
29
Inhaltsverzeichnis
Aus den Gliederungselementen kann automatisch das Inhaltsverzeichnis erzeugt werden.
Inhaltsverzeichnis generieren
\tableofcontents\newpage
30
microtype
• Effekt kaum sichtbar → Absicht!
• Kleine Korrekturen, die das Schriftbild verbessern
• z.~B. - etwas in den Rand hinein für homogenen Grauanteil
\usepackage{microtype}
• detaillierte Information: texdoc microtype
32
selnolig
• Unterdrückung von falschen Ligaturen → Schifffahrt (fff)
• angenehmeres Schriftbild
\usepackage{selnolig} % funktioniert nur in LuaLaTeX
• detaillierte Informationen: texdoc selnolig
33
Geschützte Leerzeichen
Es gibt Leerzeichen, an denen nicht umgebrochen werden soll.
• Zwischen Titel und Name,• Bei Referenzen,• Bei Datumsangaben,• Zweiteilige Ortsnamen,• Zweiteilige Abkürzungen (kleines Leerzeichen),• Zwischen Zahl und Einheit (→ siunitx).
Dafür gibt es die Tilde ~ (normaler Abstand) und \, (kleiner Abstand).
Code
Prof.~Dr.~W.~KilianAbbildung~\ref{fig:unilogo}14.~Februar~2014St.~Helenaz.\,B.\SI{3}{\newton\s}
34
Striche
Es gibt vier verschiedene Striche:
Code
- $-$ -- ---
Ergebnis
- Bindestrich → Bindestrich → zwischen Doppelnamen der selben Person Levi-Civita-Symbol– Halbgeviertstrich (en-dash) → Gedankenstrich (wird mit Leerzeichen abgetrennt) Text – oh,
Gedankenstriche – Text → zwischen Namen von versch. PersonenMaxwell–Boltzmann-Verteilung → ist auch der Bis-Strich: 1–10 → sprich „1 bis 10“
— Geviertstrich (em-dash) → nicht im Deutschen genutzt, Gedankenstrich im Englischen text ---oh, em-dashes --- text
35
Trennung bei Strichen
Benötigte Pakete
\usepackage[shortcuts]{extdash} %nach hyperref, bookmarks
Falls ein Wort Striche enthält, trennt LATEXausschließlich an diesen. So ermöglicht man mehrTrennung:
Trennbare Striche
\-/ \-- \---Normal-VerteilungNormal\-/Verteilung
So verhindert man die Trennung an den Strichen:
\=/\==\===$x$\=/Achse
36
Silbentrennung
• Manchmal kann LATEX ein Wort nicht richtig trennen.
• Manche Fachwörter sollten nicht nach deutschen Regeln getrennt werden.
Trennung für Wort vorgeben
% Präambel\hyphenation{Dia-mag-ne-tis-mus hy-phen-ate hy-phen-a-tion} % statt Di-a-mag-ne-tis-mus
37
Weitere Klassen
scrlttr2 KOMA-Briefklasse → KOMA Skript Dokumentation
beamer Beamer-Klasse für Präsentationen → texdoc beamer
memoir mächtige Alternative zu scrbook
38
Benötigte Pakete
% nach fontspec\usepackage{mathtools} % Erweiterung fur amsmath% mathtools lädt amsmath\usepackage[math-style=ISO, % \bold-style=ISO, % |sans-style=italic, % | ISO-Standard folgennabla=upright, % |partial=upright, % /
]{unicode-math}% "Does exactly what it says on the tin."% Laden von OTF-Mathefonts% Ermöglicht Unicode-Eingabe von Zeichen: α statt \alpha
\setmathfont{Latin Modern Math}% \setmathfont{Tex Gyre Pagella Math} % alternativ
40
$...$-Umgebung
Aktiviert den Mathematikmodus im Fließtext:
Automatisch Abstände
$x = 5$, $y=3$
Satzzeichen und Bindestriche gehören nicht in $...$
Dies ist eine Variable: $x$.Liste von Variablen $x$, $y$, $z$.$y$-Achse, $x$-$y$-Ebene
Vorsicht bei der Höhe von Formeln im Text
Text ohne eine Bedeutung.Mit einer Formel:$\frac{1}{1- \frac{1}{1 - x}}$Text ohne eine Bedeutung.
→ Abhilfe mit \smash{} (Übung)
41
Griechisch und mehr
\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
42
Operatoren und Relationen
Code
+ - / \cdot \times\pm \mp< > \leq \geq= \simeq \equiv \cong\approx \propto \sim\coloneq \eqcolon\to \iff \implies\mapsto \leadsto\forall \exists \in \subset \cup \cap
Negierte Variante mit n bzw. not
\neq \nsime \nexists \nni \notin
Häufig möchte man etwas über eine Relation schreiben:
\stackrel{!}{=} \stackrel{\text{def}}{=}
43
Indizes / Exponenten
Code
x^2 x _2 x²
Falsch
x^10x^2^2x_\sqrt[3]{2}
Richtig
x^{10}x^{2^2}x_{\sqrt[3]{2}}
Text in Indizes
falsch: x_{min}, richtig: x_\text{min}
Striche und Linksseitiges
x' x^' x'' x'^2 {}^2 x
44
Akzente
Code
\bar{x}\hat{x}\tilde{x}\vec{x}\mathring{x}\dot{x}\ddot{x}\dddot{x}\ddddot{x}\underline{xy}\overline{xy}
Auf die Position des Akzentes achten:
\hat{x_\text{min}} \hat{x}_\text{min}
45
Funktionen
Code
x \sin yx \sin(y)\cos \tan \exp \ln \log_{10}(x)\lim_{x \to \infty} x^2
Man kann auch eigene Funktionen definieren:
% direkt in der Mathe-Umgebung:\operatorname{xyz}_i(a)\operatorname*{xyz}_i(a)% in Präambel definieren\DeclareMathOperator{\xyz}{xyz}\DeclareMathOperator*{\Xyz}{Xyz}% dann überall im Dokument nutzbar:\xyz_i(a)\Xyz_i(a)
46
Große Operatoren
\sum_{i=0}^\infty x_i\prod_{x \neq 0}\int_0^1 \iiint \oint\int_{0}^{1} f(x)\, \symup{d}x
47
Auslassungspunkte
Auslassungspunkte sind sehr … wichtig.
Code
a_1, \dotsc , a _na_1 + \dotsb + a _na_1 \dotsm a_n\int^{} \dotsi \int^{}
Für andere Fälle gibt es Befehle mit festen Positionen
Code
x \ldots xx \cdots x\vdots\ddots\adots
Im Text kann man einfach \dots benutzen.
48
Fonts i
Code
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}
Für mehrbuchstabige Bezeichungen gibt es andere Befehle
Code
Re \mathit{Re}diff \quad \mathit{diff}\mathbf{NP} \subseteq \mathbf{PSPACE}
49
Space
Manchmal muss man manuell eingreifen, um das Spacing zu perfektionieren
Code
% KeinSpace\,\:\;\quad\qquad
Negativer Space um zu viel Platz zu korrigieren:
Code
% kein Space\! % negativer \,
Code
^2 ^{\!\! 2}
50
Klammern
Code
(x) [x] \{x\}\langlex\rangle \lvertx\rvert \lVertx\rVert
Häufig braucht man größere Klammern
\bigl(x\bigr) \Bigl(x\Bigr) \biggl(x\biggr) \Biggl(x\Biggr)\bigl<x\bigr> \bigl|x\bigr| \bigl\|x\bigr\|
51
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
\left(\frac{1}{2} \right) \left(\frac{1}{2}\right.\left\{x \,\middle|\, x<\frac{1}{2} \right\}
Nicht immer optimales Spacing
\sin(x)\sin\left(x\right)\sin\!\left(x\right)
52
Symbol-Sammlung
• Symbol zeichen und LATEX-Code angezeigt bekommen:http://detexify.kirelabs.org/classify.html
• texdoc symbols-a4
• texdoc unimath-symbols
53
Konventionen: Zahlen, Variablen, Indizes und Einheiten i
• Variablen/Größen werden kursiv gesetzt
• Mathematikmodus: alles erstmal Variable• Alles, was keine Variable ist: aufrecht
• Konstanten: e, i, π
$\symu{e}$, $\symup{i}$, $\symup{π}$
• Infinitesimales: d𝑥
$\symup{d}x$
• Indizes wie „min“ oder „max“
$x_\text{min}$
54
Konventionen: Zahlen, Variablen, Indizes und Einheiten ii
• Vektoren und Matritzen: fett
$\symbf{r} = (0, 1, -1)^\top$
𝒓 = (0, 1, −1)⊤
• d𝑥 wird durch kleines Leerzeichen (\,) vom Integranden abgetrennt.
• \, auch zwischen verschiedenen d𝑥𝑖
∫1
0∫
π
0∫
2𝜋
0𝑟2 sin(𝜗) d𝜗 d 𝜙 d𝑟 = 4
3π
55
Mathe-Umgebungen
• amsmath stellt Mathe-Umgebungen für alles was man so braucht zur Verfügung.
• Alle Gleichungen werden automatisch nummeriert.
• * nach dem Umgebungsnamen sorgt für unnummerierte Gleichung.
• Unnummerierte Gleichungen sollten selten sein.
Für alles weitere: texdoc amsmath!
56
Die equation-Umgebung
Code
Es gilt\begin{equation}\nabla \cdot \symbf{E} = \frac{\rho}{\varepsilon_0} .
\label{eqn:maxwell1}\end{equation}Schon Gauß hatte das Durchflutungsgesetz \eqref{eqn:maxwell1} aufgestellt.
• Satzzeichen gehören in die equation-Umgebung!
• Gleichung ist grammatikalisch ein Substantiv.
• Gleichungen müssen immer Teil eines vollständigen Satzes sein.
57
Die gather-Umgebung
• Für mehrere Gleichungen,
• \\ erzeugt neue Zeile, → \\ nach der letzten Zeile!
• Jede Zeile bekommt eine Gleichungsnummer.
Code
\begin{gather}(a + b)^2 = a^2 + 2ab + b^2 \\(a - b)^2 = a^2 - 2ab + b^2 \\(a+b) \cdot (a-b) = a^2 - b^2\end{gather}
• Abhängig vom Fall ist die gather-Umgebung grammatikalisch ein Substantiv oder eineAufzählung.
58
Die align-Umgebung
• Für mehrere Gleichungen, die aneinander ausgerichtet werden.
• & steuert Ausrichtung,
• \\ erzeugt neue Zeile.
• Jede Zeile bekommt eine Gleichungsnummer.
Code
\begin{align}a &= 1 & b &= 2\\a \cdot b &= 5 & \frac{a}{b} &= 0.5\end{align}
59
Die split-Umgebung
• Um überlange Gleichungen auf zwei Zeilen aufzuteilen.
• Kommt in den anderen Umgebungen zum Einsatz.
• & steuert Ausrichtung.
• \\ erzeugt neue Zeile.
• Gemeinsame Gleichungsnummer
Code
\begin{equation}\begin{split}(a+b)^3 = {} & a^3 + 3a^2b \\& + 3ab^2 + b^3\end{split}\end{equation}
60
Sonstiges
• Formel im Fließtext können den baseline-Abstand erhöhen → \smash{}
• überlange Formeln können auch automatisch mit der multline-Umgebung gebrochen werden
61
Zahlen und Einheiten i
• Regeln zur Benutzung der SI-Einheiten: → SI-Broschüre
• Einheiten werden aufrecht gesetzt.
• Zwischen Zahl und Einheit steht ein kleines Leerzeichen.
• Ab 5 Stellen wird ein kleines Leerzeichen als 1000er Trennzeichen genutzt:
Zahl mit Einheit:
$5\,\mathrm{kg}$
5 kg
Zahl mit mehr als vier Stellen:
$10\,000$
10 000
63
Zahlen und Einheiten ii
Zehnerpotenz mit Unsicherheit in Klammern:
$(5{,}34 \pm 0{,}54) \cdot 10^{-3}\,\mathrm{GeV}$
(5,34 ± 0,54) ⋅ 10−3 GeV
64
Das siunitx-Paket
• siunitx stellt Befehle zur Verfügung, die das korrekte Setzen von Zahlen und Einheiten starkvereinfachen.
• Funktioniert in Fließtext und Matheumgebung.
• Dieses Paket sollte immer und für jede Zahl mit oder ohne Einheit verwendet werden.
Benötigte Pakete
\usepackage[locale=DE,separate-uncertainty=true, % Immer Fehler mit ±per-mode=symbol-or-fraction, % m/s im Text, sonst \frac
]{siuntix}
65
Zahlen mit \num
Zahlen mit automatischen 3er-Gruppen:
\num{1.23456}\num{987654321}
Einfaches Eingeben von 10er Potenzen:
\num{6.022e23}
Angabe von Fehlern:
\num{1.54 +- 0.1}\num{1.54(10)}\num{1.54 \pm 0.1}\num[separate-uncertainity=false]{1.54 +- 0.1}\num{3.5(1)e6
66
Einheiten mit \si
Einheiten
\si{\meter\per\second}\si[per-mode=fraction]{\meter\per\second}\si{\meter\per\second\squared}\si[per-mode=reciprocal]{\gram\per\cubic\centi\meter}\si{\kelvin\tothe{4}}
per-mode=symbol-or-fraction
\begin{equation}\si{\kilo\gram\meter\per\second\squared}\end{equation}$\si{\kilo\gram\meter\per\second\squared}$
Meter mal Sekunde oder Millisekunde?
\si{\milli\second}\si{\meter\second}\si[inter-unit-product=\cdot]{\meter\second}
67
Zahl mit Einheit: \SI
\SI = Kombination aus \num und \si
\SI{5}{\percent}\SI{10}{\celsius}\SI{2.5(1)e6}{\kilo\gram\square\meter\per\second\squared}
1. Argument :: Kann alles, was \num kann.
2. Argument :: Kann alles, was \si kann.
Winkel
\ang{5;;}\ang{;5;}\ang{;;5}\ang{5;55;}\ang{5;55;59}
68
Schönere Gleitumgebungen
• Zum setzen von Elementen, die nicht Fließtext sind.
• Hauptsächlich Grafiken und Tabellen,
• Position wird von LATEXautomatisch bestimmt.
• Nicht auf früherer Seite als umgebender Text
• Bekommen meist \caption und \label
Benötigte Pakete
% Float innerhalb einer Section halten\usepackage[section, below]{placeins}\usepackage[labelfont=bf, % Tabelle x: Abbildung y: ist jetzt fettfont=small, % Schrift etwas kleiner als Dokumentwidth=0.9\textwidth, % maximale Breite einer Caption schmaler
]{caption} % Captions schöner machen
\FloatBarrier kann benutzt werden, um alle vorherigen Floats zu setzen.
70
Bilder einbinden
Code
\usepackage{graphicx}\usepackage{grffile}
Beispiel
\begin{figure}\centering\includegraphics[width=\textwidth]{images/unilogo}\caption{Das Uni-Logo.}\label{fig:uni-logo}
\end{figure}Abbildung 1: Das Uni-Logo.
• weitere Einstellungen mit height, scale
• \caption endet immer mit einem Punkt.
71
Subfigure ii
Beispiel
\begin{figure}\centering\begin{subfigure}{0.49\textwidth}\centering\includegraphics[height=4.5cm]{images/DonKnuth}\caption{Donald E. Knuth}\label{fig:knuth}\end{subfigure}\begin{subfigure}{0.49\textwidth}\centering\includegraphics[height=4.5cm]{images/Leslie_Lamport}\caption{Leslie Lamport}\label{fig:lamport}
\end{subfigure}\caption{Zwei Bilder. In Abbildung \subref{fig:knuth} sieht man Don Knuth.}\label{fig:logos}
\end{figure}
73
Subfigure iii
(a) Donald E. Knuth (b) Leslie Lamport
Abbildung 2: Zwei Bilder. In Abbildung a sieht man Don Knuth.
• subref nur sinnvoll in \caption{...} zu Subfigures.
74
Referenzen
Code
\section{Messung mit Apparatur 2}\label{sec:apparatur2}
\section{Auswertung}\label{sec:auswertung}
Wie in \ref{sec:apparatur2} beschrieben, ...
• Auch für Gleichungen, Grafiken, Tabellen,
• Für Übersichtlichkeit sollten Labels den Typ der Referenz nennen:Sections sec:
Gleichungen eq:Abbildungen fig:
Tabellen tab:
• Bei Gleichungen: \eqref statt \ref → setzt Klammern: (1).
• \label immer nach dem, worauf verwiesen wird.
75
Positionen der Gleitumgebungen
• LATEX hat 4 Regionen, in die es Float-Umgebungen platziert.h here, zwischen Text,t top, oben auf einer Seite,b bottom, unten auf einer Seite,p page, eigene Seite nur für Floats.
• Standardmäßig nur t, b, p genutzt.
• Nicht empfohlen: Änderung mit optionalem Argument an Umgebung.
• Änderung des Standards mit dem Paket float:
Benötigte Pakete
\usepackage{scrhack} % nach documentclass
\usepackage{float}\floatplacement{figure}{htbp}\floatplacement{table}{htbp}
76
Tabellen i
Code
% \documentclass[...,captions=tableheadings,...]{scrartcl}\usepackage{booktabs}
• Äußere table-Umgebung behandelt Tabelle wie ein float.
• Innere tabular-Umgebung für eigentlichen Tabelleninhalt.
• l, c oder r geben Ausrichtung der einzelnen Spalten an.
• \caption, \label oberhalb von tabular
78
Tabellen ii
Beispiel
\begin{table}\centering\caption{Eine Tabelle mit Messdaten.}\begin{tabular}{c c c c c}\toprule$f$ & $l_\text{start}$ & $l_1$ & $l_{\text{kor},1}$ & $B_1$ \\\midrule100 & 1.14 & 3.51 & 0.00 & 4.30 \\300 & 1.27 & 2.42 & 0.13 & 41.14 \\500 & 1.21 & 1.70 & 0.25 & 168.73 \\\toprule
\end{tabular}\end{table}
79
Tabellen iii
Tabelle 1: Eine Tabelle mit Messdaten.
𝑓 𝑙start 𝑙1 𝑙kor,1 𝐵1
100 1.14 3.51 0.00 4.30300 1.27 2.42 0.13 41.14500 1.21 1.70 0.25 168.73
• Keine vertikalen Linien!
• Keine horizontalen Linien zwischen Daten.
80
Schönere Tabellen mit siunitx i
\begin{table}\centering\caption{Eine schöne Tabelle mit Messdaten.}\sisetup{table-format=1.2}\begin{tabular}{S[table-format=3.0] S S S S[table-format=3.2]}\toprule{$f$} & {$l_\text{start}$} & {$l_1$} & {$l_{\text{kor},1}$} & {$B_1$} \\\midrule100 & 1.14 & 3.51 & 0.00 & 4.30 \\200 & 1.30 & 2.99 & 0.06 & 25.98 \\300 & 1.27 & 2.42 & 0.13 & 41.14 \\400 & 1.28 & 1.47 & 0.20 & 53.76 \\500 & 1.21 & 1.70 & 0.25 & 168.73 \\\bottomrule
\end{tabular}\end{table}
81
Schönere Tabellen mit siunitx ii
Tabelle 2: Eine schöne Tabelle mit Messdaten.
𝑓 𝑙start 𝑙1 𝑙kor,1 𝐵1
100 1,14 3,51 0,00 4,30200 1,30 2,99 0,06 25,98300 1,27 2,42 0,13 41,14400 1,28 1,47 0,20 53,76500 1,21 1,70 0,25 168,73
• S-Spalte eröffnet mehr Ausrichtungsmöglichkeiten mit \sisetup und [...].
• s-Spalte für Einheiten.
• Standard: Ausrichtung am Dezimalkomma,
• Spaltennamen durch { } schützen.
82
Gruppieren von mehreren Spalten ii
Beispiel
\begin{table}\centering\caption{Messdaten für dubiose Elemente.}\sisetup{table-format=2.1}\begin{tabular}{S[table-format=3.1] S S S S}\toprule& \multicolumn{2}{c}{Technetium} & \multicolumn{2}{c}{Molybdän} \\\cmidrule(lr){2-3}\cmidrule(lr){4-5}{$\lambda \:/\: \si{\nano\meter}$}& {$\phi_1$} & {$\phi_2$} & {$\phi_1$} & {$\phi_2$} \\\midrule663.0 & 12.1 & 14.4 & 13.1 & 16.9 \\670.0 & 10.9 & 12.9 & 11.8 & 15.7 \\678.0 & 9.1 & 11.4 & 10.3 & 14.6 \\684.0 & 8.2 & 10.2 & 9.5 & 13.5 \\\bottomrule
\end{tabular}\end{table}
84
Gruppieren von mehreren Spalten iii
Tabelle 3: Messdaten für dubiose Elemente.
Technetium Molybdän
𝜆 / nm 𝜙1 𝜙2 𝜙1 𝜙2
663,0 12,1 14,4 13,1 16,9670,0 10,9 12,9 11,8 15,7678,0 9,1 11,4 10,3 14,6684,0 8,2 10,2 9,5 13,5
85
Fehler in Tabellen i
Beispiel
\begin{tabular}{S[table-format=3.1]@{${}\pm{}$}S[table-format=2.1]
}\toprule\multicolumn{2}{c}{$x \:/\: \si{\ohm}$} \\\midrule663.0 & 12.1 \\670.0 & 10.9 \\678.0 & 9.1 \\684.0 & 8.2 \\\bottomrule
\end{tabular}
86
Fehler in Tabellen ii
Tabelle 4: Fehler in einer Tabelle.
𝑥 / Ω
663,0± 12,1670,0± 10,9678,0± 9,1684,0± 8,2
• @{...} ersetzt den Spaltenabstand durch ...
87
BibLATEX
• Wichtiger Teil vieler Dokumente, für wissenschaftliche Texte zwingend.
• BibLATEX und biber bieten eine sehr angenehme Arbeitsweise.
• Auch für sehr große Referenzdatenbanken geeignet.• Es gibt viele unterschiedliche Stile.
• Standardstil fürs Praktikum geeignet• Referenzen in .bib-Dateien
Benötigte Pakete
% \documentclass[..., bibliography=totoc, ...]{scrartcl}\usepackage{biblatex} % nach polyglossia\addbibresource{references.bib}
89
biber
• Unterstützt Unicode-Input
• Wird weiterentwickelt, zusammen mit BibLATEX
• Sortiert richtig, nach regeln der jeweiligen Sprache
• Kann noch viele weitere Formate außer .bib lesen
• Unterstützt alle Funktionen von BibLATEX
90
references.bib i
• verschiedene Typen, u.a.:• article• book• online• misc
• verschiedene Pflichtfelder, meistens:• Titel• Autor• Jahr
• mehr dazu in: texdoc biblatex → Database Guide
91
references.bib ii
NumPy
@online{SciPyLib,author = {Eric Jones and Travis Oliphant and Pearu Peterson and others},title = {{SciPy}: Open source scientific tools for {Python}},year = {2001--},url = "http://www.scipy.org/",urldate = {2018-02-13}
}
92
references.bib iii
Matplotlib
@article{Matplotlib,author = {John D. Hunter},title = {Matplotlib: A 2D Graphics Environment},journal = {Computing in Science \& Engineering},volume = {9},number = {3},pages = {90-95},year = {2007},doi = {10.1109/MCSE.2007.55},URL = {http://aip.scitation.org/doi/abs/10.1109/MCSE.2007.55
},eprint = {http://aip.scitation.org/doi/pdf/10.1109/MCSE.2007.55
}}
93
references.bib iv
Uncertainties
@online{uncertainties,author = {Eric O. Lebigot},title = {{Uncertainties}: a Python package for calculations with uncertainties},year = {2010--},url = {http://pythonhosted.org/uncertainties/},urldate = {2018-02-13}
}
PeP et al.
@online{pepetal,author = {PeP et al. e.V.},title = {{PeP et al.} Toolbox Workshop},year ={2012--},url = {https://toolbox.pep-dortmund.org/},urldate = {2018-02-15}
}
94
Richtig zitieren i
Zitieren
\cite{SciPyLib}\cite[20]{SciPyLib}\cite[1--3]{SciPyLib}\cite{SciPyLib,Maptlotlib,uncertainties}
95
Richtig zitieren ii
In Text zitieren
• aktives Zitieren → csquotes,
• automatisches Setzen inline oder als abgesetztes Zitat,
• besonders für Fremdsprachen mit der richtigen Trennung.
\blockquote[newton-wiki-de]{Ein Körper verharrt im Zustand der Ruhe oder der gleichförmiggeradlinigen Bewegung, sofern er nicht durch einwirkende Kräfte zur Änderung seinesZustands gezwungen wird.}
↪
↪
\foreignblockquote{english}[newton-wiki-en]{Every body persists in its state of being at restor of moving uniformly straight forward, except insofar as it is compelled to change itsstate by force impressed.}
↪
↪
Verzeichnis ausgeben
% \nocite{pepetal} % ins Verzeichnis, obwohl nicht explizit zitiert\nocite{*} % alles aus der .bib ins Verzeichnis\printbibliography
96
Kompilieren
• LuaLATEX produziert eine .bcf-Datei
• biber liest .bcf- und .bib-Datei ein und erzeugt das Literaturverzeichnis
lualatex mein-dokument.texbiber mein-dokument.bcflualatex mein-dokument.tex
97
Zitierhilfe
• CrossRef
• Google Scholar
• INSPiRE HEP
Organisation
JabRef Java-Programm zum Verwalten und Editieren von .bib-Dateien
org-ref für Emacs
98
Literaturverzeichnis i
Literatur
PeP et al. e.V. PeP et al. Toolbox Workshop. 2012–. url:https://toolbox.pep-dortmund.org/ (besucht am 15. 02. 2018).
John D. Hunter. „Matplotlib: A 2D Graphics Environment“. In: Computing in Science & Engineering9.3 (2007), S. 90–95. doi: 10.1109/MCSE.2007.55. eprint:http://aip.scitation.org/doi/pdf/10.1109/MCSE.2007.55. url:http://aip.scitation.org/doi/abs/10.1109/MCSE.2007.55.
Eric Jones, Travis Oliphant, Pearu Peterson u. a. SciPy: Open source scientific tools for Python.2001–. url: http://www.scipy.org/ (besucht am 13. 02. 2018).
Eric O. Lebigot. Uncertainties: a Python package for calculations with uncertainties. 2010–. url:http://pythonhosted.org/uncertainties/ (besucht am 13. 02. 2018).
99
Top Related