100
Computermethoden in der Physik Verfassen wissenschaftlicher Texte mit L A T E X Wolfgang Kilian, Simon Braß, Tobias Striegl 15. Februar 2018 Theoretische Physik I http://www.tp.nt.uni-siegen.de/+brass/

Computermethoden in der Physik - Verfassen ...brass/assets/computermethoden/latex-math... · Outline Einleitung Grundlagen Texterstellen ErweiterteTypographie Formelsatz ZahlenundEinheiten

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

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

Einleitung

2

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

Grundlagen

9

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 erstellen

18

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

Erweiterte Typographie

31

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

Formelsatz

39

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

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

62

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

Gleitumgebungen

69

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 i

Benötigte Pakete

\usepackage{subcaption}

72

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

77

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 i

Befehl

\multicolumn{#Spalten}{Ausrichtung}{Inhalt}

83

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

Literaturverzeichnis

88

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