Strg + Alt + T
sudo apt install texlive-full ausBitte achtet darauf, die full version mit allen Paketen zu installieren, wenn ihr die Auswahl habt!
Windows-Nutzer:innen: Um Dateiendungen zu aktivieren, klickt auf das Ansichts-Tab im Dateiexplorer und wählt Dateiendungen. So könnt ihr besser zwischen den einzelnen main-Files unterscheiden.
Im Skript gibt es eine Vielzahl von LaTeX-Quellcode. Die default-Einstellung ist, dass diese mit Hife eines Paketes namens listings angezeigt werden.
minted für dieses LaTex-Projekt verwenden kannpython --version
Python 3.8.5
Pygments und der Compiler-BefehlInstalliert Pygments mit folgendem Befehl: pip install Pygments
Fügt beim PdfLaTeX-Befehl das sogenannte shell-escape Flag hinzu. Der Befehl sollte dann folgendermaßen aussehen: pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
Das shell-escape Flag stellt ein potentielles Sicherheitsrisiko dar. Nutzt es nur bei vertrauenswürdigen Dokumenten!
Um das Skript mit minted zu kompilieren, muss noch der Listings-Mode geändert werden.
listings-mode.tex
main.tex-Datei erneut, indem ihr ⏩ drückt.
listings (top) vs. minted (bottom)
Ein Workshop der Fachschaft WIAI. Erstellt von Anika Amma, Evelyn Fradtschuk, Florian Knoch, Christian Kremitzl, Fabian Lamprecht, Bernhard Luedtke und Anna Sauer.
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☺ Kurz und eng
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☹ Normale Länge und enger Zeilenabstand
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☹ Lange Zeilen und enger Zeilenabstand
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☹ Kurz und normal
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☺ Normale Länge und Zeilenabstand
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☹ Lange Zeilen und normaler Zeilenabstand
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☹ Kurz und weit
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☹ Normale Länge und weiter Zeilenabstand
Dieser Absatz soll zeigen, wie sich unterschiedliche Zeilenabstände bei unterschiedlichen Satzbreiten auswirken. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht. Dazu ist hier noch ein bisschen mehr Text nötig, damit das auch wirklich nach einem Absatz aussieht.
☺ Lange Zeilen und weiter Zeilenabstand
☹ schräg (verzerrt)
☺ gerade
☺ kursiv (eigener Schnitt)
☹ kleine Schrift vergrößert
☺ jeweils passender Schriftgrad
☹ große Schrift verkleinert
Ziel: Wir arbeiten zusammen unser LaTeX-Skript durch, das ihr nach dem Wochenende als kompakte Referenz verwenden könnt.
Gliederung:
Bildquelle: xkcd
Allgemeiner Aufbau eine Befehls:
\<befehl>[<optionale_parameter>]{<obligatorische_parameter>}
Ein paar Beispiele:
Den Backslash erzeugt ihr mit folgender Tastenkombination:
AltGr + ß (Windows/Linux)
Alt + Shift + 7 (MacOS)
In eckigen Klammern können verschieden viele optionale Parameter stehen:
\usepackage[utf8]{inputenc}
% setzt die Textkodierung
\documentclass[a4paper,12pt]{article}
% setzt die Dokumentklasse
\includegraphics[width=12cm,height=4cm]{bild.png}
% bindet das Bild "bild.png" ein
Nach einem Prozentzeichen wird der Rest der Zeile vom Compiler ignoriert. Der Kommentartext erscheint also nicht im fertigen Dokument.
% Beginn Steckbrief
Name: Donald Knuth \\
Geburtsdatum: \\ % TODO: einfügen
Geburtsort: Milwaukee, Wisconsin
% Ende Steckbrief
Tastenkombinationen: Strg + T und Strg + U
Bitte installiert zuerst den Compiler, also MikTeX (Windows), MacTeX (MacOS) bzw. TeX Live (Linux) und danach den Editor. In diesem Workshop verwenden wir TeXstudio.
main.tex im obersten Verzeichnis in TeXstudio.👁 Ein mit LaTeX gesetztes Dokument besteht aus:
\documentclass[ngerman]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\begin{document}
Hallo, Welt!
\end{document}
\documentclass[<parameter>]{<dokumentklasse>}
Konkret zum Beispiel
\documentclass[10pt,a5paper,landscape]{scrartcl}
scrartcl, article für kurze Dokumente
scrreprt, report für längere Dokumente
scrbook, book für Bücher
beamer für Präsentationen
\usepackage[<optionen>]{<paketname>}
\usepackage[utf8]{inputenc}
\usepackage[t1]{fontenc}
\usepackage[ngerman]{babel}
babel stellt sprachspezifische Informationen (z. B. Silbentrennung, Sonderzeichen, Wechsel zwischen Fonts, Übersetzung von Labels wie ›Kapitel‹, ›Inhaltsverzeichnis‹ oder ›Abbildung‹) bereit.ngerman steht für die neue deutsche Rechschreibung.Es können auch mehrere Sprachen im Dokument verwendet werden:
\usepackage[ngerman, swedish, russian, greek, english]{babel}
Umschalten zwischen Sprachen:
\selectlanguage{<sprache a>}
\selectlanguage{<sprache b>}
Eingebetteter Text in anderer Sprache:
\selectlanguage{<sprache a>}
\foreignlanguage{<sprache b>}{Hier steht Text in Sprache B in einem Text in Sprache A}
\today
\selectlanguage{ngerman}
\today
\selectlanguage{swedish}
\today
\selectlanguage{russian}
\today
\selectlanguage{greek}
\today
\selectlanguage{english}
\today
Fließtext kann direkt in den Quelltext ↲
geschrieben werden. ↲
Einfache Zeilenumbrüche ↲
werden dabei ignoriert, ↲
genau wie mehrere Leerzeichen. ↲
↲
Leerzeilen erzeugen einen neuen Absatz,↲
standardmäßig mit Einzug. ↲
Manuelle Zeilenumbrüche können mit ↲
zwei Backslashes erzwungen werden, ↲
haben in Fließtext aber eigentlich \\ ↲
nichts verloren.
Bestimmte Zeichen lösen in LaTeX Dinge aus:
# $ % ^ & _ { } ~ \
50% sind die Hälfte.
Lösung: »\« voranstellen:
50\% sind die Hälfte.
Funktioniert nicht mit »\\«, Lösung dafür später.
Texte werden durch Überschriften in Abschnitte und Kapitel unterteilt. Immer verfügbar:
\section{Ebene 1}
\subsection{Ebene 2}
\subsubsection{Ebene 3}
\paragraph{Ebene 4}
\subparagraph{Ebene 5}
Je nach Dokumentenklasse zusätzlich:
\chapter{Kapitel}
\part{Teil}
Mit Sternchen fallen bei allen diesen Befehlen die Nummerierung und der Eintrag im Inhaltsverzeichnis weg:
\section*{Kein Verzeichniseintrag}
Außerdem kann für das Inhaltsverzeichnis ein alternativer Titel angegeben werden:
\section[Titel im Verzeichnis]
{Kapitelüberschrift}
\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \\\\ Fachschaft WIAI\thanks{WIe AIn Profi},
Otto-Friedrich-Universität Bamberg}
\date{\today}
\begin{document}
\maketitle
\end{document}
\maketitle.\and verbunden.\date{} definiert werden.\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \\\\ Fachschaft
WIAI\thanks{WIe AIn Profi},
Otto-Friedrich-Universität Bamberg}
\date{\today}
\begin{document}
\maketitle
\section{Trüffelsuche}
\subsection{Suche mit Schwein}
\subsection{Suche ohne Schwein}
Wer macht denn sowas?
\section{Trüffelrezepte}
Mein Lieblingsrezept
\end{document}
\tableofcontents
*« versehen, also z. B. \section*{}.\documentclass[ngerman]{scrartcl}
\usepackage{babel}
\begin{document}
\tableofcontents
\section{Trüffelsuche}
Der erste Abschnitt.
\subsection{Suche mit Schwein}
Ein Unterabschnitt.
\subsection{Suche ohne Schwein}
Ein weiterer Unterabschitt.
\subsubsection[But why?]
{Wer macht denn sowas?}
Unter-Unterabschnitt.
\section{Trüffelrezepte}
Mein Lieblingsrezept
\end{document}
Abbildungsverzeichnis und Tabellenverzeichnis
\listoffigures
\listoftables
document-structure.tex, die im Ordner exercises/basic-document-structure liegt.\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{english}
\\ erstellt worden. Ersetzt diese durch richtige Absätze.\section u. ä.).Ein größeres LaTeX-Projekt anlegen und dabei …
\input{pfad/zur/datei}
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\title{Ein Titel}
\begin{document}
\maketitle
\tableofcontents
\input{abschnitt1.tex}
\input{abschnitt2.tex}
\end{document}
\begin{document} und \end{document}
\section{Dies ist Abschnitt 1}
Hier ein Absatz zum
Inhalt von Abschnitt 1.
% …
\section{Dies ist Abschnitt 2}
Hier ein Absatz zum
Inhalt von Abschnitt 2.
% …
\input{} sowie später für das Einbinden von Bildern und anderen Medien/«\«
Absoluter Pfad zu main.tex
/home/knut/docs/latex/main.tex
C:\knut\docs\latex\main.tex
Bei LaTeX muss stets die Unix-Syntax für Pfadangaben verwendet werden. Deshalb werden wir im Folgenden diese verwerden.
\input{} kann der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden
Relativer Pfad
von main.tex zu part1.tex
./part1.tex
Der einfache Punkt ».« bezieht sich bei relativen Pfaden auf den aktuellen Ordner (hier: latex). Er ist optional, es könnte also auch nur part1.tex geschrieben werden.
Relativer Pfad von main.tex zu part1.tex in Unterordner
./sections/part1.tex
Relativer Pfad von main.tex in eigenem Unterordner zu part1.tex in anderem Unterordner
../sections/part1.tex
Zwei Punkte »..« bezeichnen den Elternordner des aktuellen Ordners (hier: latex, den Elternordner des Ordners main).
Was denkt ihr, passiert, wenn wir die Präambel in eine Unterdatei auslagern?
Wird das Gesamtdokument kompilieren oder nicht?
Ja, es kompiliert!
Ein einfacher Weg, um die Hauptdatei noch übersichtlicher zu halten.
main.tex im Wurzelverzeichnis des Projektordners.~
\,
Schmale Leerzeichen werden z.\,B. in
Abkürzungen und zwischen Zahlen und
Einheiten verwendet: 10\,s.
Normalbreite, aber geschützte
Leerzeichen können u.\,a.
dabei helfen, Titel und Namen in
einer Zeile zu halten: Dr.~Fooboar.
In englischsprachigen Dokumenten verwendet LaTeX das traditionelle English spacing, also doppelte Leerzeichen nach dem Satzende.
Das kann mit \frenchspacing vor dem ersten Absatz verhindert werden. \nonfrenchspacing schaltet wieder zurück.
Bei English spacing versucht LaTeX, nach Abkürzungen trotzdem normale Wortzwischenräume zu setzen. Das sollte aber kontrolliert werden. Eingreifen können wir mit
.\␣
\@.␣
| Name | Verwendung | Code | |
|---|---|---|---|
| - | Bindestrich (hypen) | LaTeX-Wochenende |
-
|
| – |
Halbgeviertstrich (en dash) |
als Gedankenstrich – oder als Bis-Strich: 10 – 12 Uhr. |
--
|
| — |
Geviertstrich (em dash) |
a dash — mostly in American English |
---
|
LaTeX trennt Wörter im Normalfall automatisch richtig, wenn die richtige Sprache konfiguriert ist. Manchmal muss aber auch manuell eingegriffen werden. Die verschiedenen Arten von Bindestrichen werden im Skript beschrieben.
| Sprache | Befehl | Ergebnis |
|---|---|---|
| Deutsch |
\glqq … \grqq
|
„ … “ |
| 2. Ebene |
\glq … \grq
|
‚ … ‘ |
| Deutsch altern. |
\frqq … \flqq
|
» … « |
| 2. Ebene |
\frq … \flq
|
› … ‹ |
| Englisch (A. E.) |
``…''
|
“ … ” |
| 2. Ebene |
`…'
|
‘ … ’ |
| Englisch (B. E.) |
`…'
|
‘ … ’ |
| 2. Ebene |
``…''
|
“ … ” |
Für andere Sprachen können andere Regeln gelten, meistens aber mit den gleichen Zeichen, nur in anderer Zusammensetzung.
Das Paket csquotes stellt u. a. den Befehl \enquote zur Verfügung:
\enquote{Ein \enquote{verschachteltes}
Zitat.}
Wenn das Paket mit autostyle=true eingebunden wird, werden bei fremdsprachigen Zitaten die entsprechenden Anführungszeichen verwendet:
\foreignquote{english}{An English
quote.}
Buchstaben mit Diakritika können entweder direkt über die Tastatur eingegeben werden oder über Escape-Codes:
\`{o}
|
ò |
\c{c}
|
ç |
\d{u}
|
ụ |
\'{o}
|
ó |
\k{a}
|
ą |
\r{a}
|
å |
\^{o}
|
ô |
\l{}
|
ł |
\u{o}
|
ŏ |
\"{o}
|
ö |
\={o}
|
ō |
\v{s}
|
š |
\H{o}
|
ő |
\b{o}
|
o |
\t{oo}
|
o͡o |
\~{o}
|
õ |
\.{o}
|
ȯ |
\o
|
ø |
Auch andere Sonderzeichen können entweder direkt eingegeben werden oder per Befehl:
| ¿ |
?`
|
¡ |
!`
|
| ^ |
\textasciicircum
|
~ |
\textasciitilde
|
| * |
\textasteriskcentered
|
\ |
\textbackslash
|
| | |
\textbar
|
∙ |
\textbullet
|
| ⓒ |
\textcopyright
|
† |
\textdagger
|
| ‡ |
\textdaggerdbl
|
… |
\textellipsis
|
| < |
\textless
|
> |
\textgreater
|
| ‰ |
\textperthousand
|
§ |
\textsection
|
… und so ziemlich alles andere.
Einige Sonderzeichen und Symbole funktionieren nur in einer Mathematikumgebung:
% griechische Buchstaben
$\pi \Sigma \delta$
% Kreuz
$\dagger$
Kompiliert von nun an immer die Datei main.tex, um eure Änderungen im Skript zu sehen (in diesem Fall im Abschnitt „Übung 5“).
exercises/special-characters.tex durch schmale Leerzeichen.Für Hervorhebungen im Fließtext eignet sich am besten der semantische Befehl \emph{} (emphasis), der sich auch schachteln lässt:
\emph{Wenn man in einem ganzen Haufen
von wichtigem Text \emph{noch
wichtigeren Text} verstecken will,
hilft die Verschachtelung von
Emphasen.}
legen genau fest, wie Text formatiert wird:
| Bezeichnung | Befehl |
|---|---|
| fett (bold face) |
\textbf{wichtig}
|
| kursiv (italics) |
\textit{wichtig}
|
| Kapitälchen (small caps) |
\textsc{wichtig}
|
| dicktengleich (teletype) |
\texttt{wichtig}
|
| geneigt (slanted) |
\textsl{wichtig}
|
| unterstrichen |
\underline{wichtig}
|
| tiefgestellt |
\textsubscript{…}
|
| hochgestellt |
\textsuperscript{…}
|
Möglich, solange die verwendete Schrift den entsprechenden Schnitt enthält:
\textbf{Sehr
\textit{wichtiges
\textsc{Zeug}
}
}
Ein gutgemeinter Rat: Better Call Saul LaTeX!
Konsistentes Aussehen über das gesamte Dokument hinweg gewünscht?
Voreinstellungen von LaTeX zur Schriftgröße verschiedener Textelemente (Titel, Fließtext, Fußnoten) vertrauen!
Das heißt im Umkehrschluss: Möglichst wenig manuell an Schriftgrößen herumschrauben.
normalsize\documentclass[12pt]{article}
{\<fontsize> ein Textabschnitt}
Schriftgrößen relativ zu normalsize:
{\tiny Wenn}
{\footnotesize du}
{\small das}
{\normalsize lesen}
{\large kannst,}
{\Large brauchst}
{\LARGE du}
{\huge keine}
{\Huge Brille.}
\fontsize{<schriftgröße>}{<zeilenhöhe>}
\selectfont
Das ist Text in normaler Schriftgröße.
\fontsize{1cm}{0.9cm}\selectfont
Das ist wirklich riesige Schrift.
\normalsize
Back to normal.
Das Paket hyperref stellt den Befehl \url{} bereit, der URLs
wiedergibt.
\url{https://www.latex-project.org/}
exercises/text-markup/markup.tex die Wörter Rekursion und rekursiv mit \emph{…}.Standardmäßig setzt LaTeX Fließtext im Blocksatz, aber auch Flattersatz ist möglich.
\raggedright … \raggedleft …
\centering …
Alternativ einsetzbare Umgebungen:
\begin{flushleft} Text \end{flushleft}
\begin{flushright} Text \end{flushright}
\begin{center} Text \end{center}
Guter Flattersatz ist noch schwieriger als guter Blocksatz, daher lieber vermeiden!
\parindent) verdeutlicht\parskip) verwendet werden\setlength{\parindent}{0pt}
\setlength{\parskip}{1em
plus .5em % erlaubte Dehnung
minus .5em % erlaubte Stauchung
}
\noindent kann für nur einen Absatz der Einzug abgeschaltet werden\begin{itemize}
\item Nudelplatten
\item Passierte Tomaten, % …
\item Oregano, Basilikum, % …
\item Mozzarella
\item Mehl
\item Milch
\end{itemize}
Die einzelnen Stichpunkte werden in jeder Aufzählungsumgebung durch den Befehl \item gekennzeichnet.
\begin{enumerate}
\item die Zwiebeln in einem Topf % …
\item passierte Tomaten, Möhren % …
\item mit Kräutern und Gewürzen % …
% \item …
\end{enumerate}
\begin{description}
\item [Béchamelsauce] Béchamel % …
\item [Lasagne] Als Lasagne % …
\end{description}
Das Paket paralist stellt Aufzählungen ohne riesige Zwischenräume zur Verfügung.
\section{Zutaten}
\begin{compactitem}
% \item …
\end{compactitem}
\section{Zubereitung}
\begin{compactenum}
% \item …
\end{compactenum}
\section{Glossar}
\begin{compactdesc}
% \item …
\end{compactdesc}
Neben den kompakten Listen stellt paralist auch Listen zur Verfügung, die in einem Absatz stehen.
Folgende Kräuter sind für % …
\begin{inparaitem}
\item Liebstöckel
\item Petersilie
\item Schnittlauch
\end{inparaitem}
Natürlich gibt es auch hier ein Pendant namens inparaenum für geordnete Listen.
\begin{compactitem}
% …
\item Gemüse \begin{compactitem}
\item Passierte Tomaten
\item Möhren
\item Erbsen
\item Zwiebeln
\end{compactitem}
\item Kräuter \begin{compactenum}
\item Oregano
\item Basilikum
\item Rosmarin
\end{compactenum}
% …
\end{compactitem}
Die Art der Aufzählung lässt sich über den optionalen Parameter label ändern. Hierfür ist das Paket enumitem notwendig.
% Römische Zahlen
\begin{enumerate}[label=\roman*]
% …
% Arabische Zahlen
\begin{enumerate}[label=\arabic*]
% …
% Alphabetisch
\begin{enumerate}[label=\alph*]
% …
lists.tex im Ordner exercises/lists als ungeordnete Liste mit den Elementen Ingredients und Instructions. Nutzt dafür den Befehl \itemize.$2 \sqrt{\frac{\pi^2}{3} \cdot c_2}$
Mathematische Formeln können nur im sogenannten Mathmode gesetzt werden, der inline durch zwei Dollarzeichen aktiviert wird. Außerdem gibt es eine Blockumgebung:
\begin{equation}
2 \sqrt{\frac{\pi^2}{3} \cdot c_2}
\end{equation}
Pakete: amsmath, amsthm, amssymb, mathtools
| Quelltext | Ergebnis |
|---|---|
\sqrt{16}
|
\(\sqrt{16}\) |
\frac{3}{4}
|
\(\frac{3}{4}\) |
e^{\pi}
|
\(e^{\pi}\) |
\sum_{i=1}^{n}x^2
|
\(\sum_{i=1}^{n} x^2\) |
12 \leq 4 x^2 + 13
|
\(12 \leq 4 x^2 + 13\) |
{n \choose k}
|
\({n \choose k}\) |
Durch ^{…} und _{…} werden die Inhalte in den Klammern hoch- oder tiefgestellt.
| Quelltext | Ergebnis |
|---|---|
(x), [x], \lbrace x \rbrace, \lvert x \rvert
|
\((x), [x], \lbrace x\rbrace, \lvert x\rvert\) |
\exists, \forall, \in, \notin, \infty
|
\(\exists,\forall,\in,\notin,\infty\) |
\alpha, \beta, \Gamma, \Delta, \varepsilon, \pi
|
\(\alpha, \beta, \Gamma, \Delta, \varepsilon, \pi\) |
\rightarrow, \leftarrow, \Rightarrow, \Leftarrow, \Leftrightarrow
|
\(\rightarrow, \leftarrow, \Rightarrow, \Leftarrow, \Leftrightarrow\) |
(A \cup B) \cap C
|
\((A \cup B) \cap C\) |
(A \lor B) \land C
|
\((A \lor B) \land C\) |
(A \cdot B) \times C
|
\((A \cdot B) \times C\) |
| Quelltext | Ergebnis |
|---|---|
\left( \frac{1}{2} \right)
|
\(\left( \frac{1}{2} \right)\) |
\left[ \frac{1}{2} \right]
|
\(\left[ \frac{1}{2} \right]\) |
\left\lbrace \frac{1}{2} \right\rbrace
|
\(\left\lbrace \frac{1}{2} \right\rbrace\) |
$4 \cdot \left( \frac{1}{2} % …
\(4 \cdot \left(\frac{1}{2} +\frac{3}{ 12 \cdot \left( 2 + \frac{1}{86 \cdot \left(\frac{1}{2} + 24 \right)} \right)} \right)\)
Mit dem Befehl \limits lassen sich die Grenzen von Integralen unter und über dem Integralzeichen darstellen. Bei Summen, Produkten und Grenzwerten geschieht das automatisch.
\sum_{i=1}^{n^2}(x+2)
\prod_{j=1}^{100}(3 \cdot x)
\lim_{x \rightarrow \infty}(14x^3 - 12)
\int\limits_{-12}^{4}(14x^3 - 12)
Der Einsatz von \limits sollte im Fließtext vermieden werden.
Die Umgebung align erlaubt es, Gleichungen zum Beispiel am › = ‹ auszurichten.
\begin{align}
13 \cdot (4a - 3)^2 &= 13 … \\
&= 208a^2 - 312a + 117
\end{align}
&‹-Zeichen.\\‹ markiert.align und equation durch durch ein Sternchen nach dem Umgebungsnamen (z. B. \begin{align*} und \end{align*}) unterdrückt werden.Manchmal ist es notwendig, im Zusammenhang mit der Mengenschreibweise Prädikate unter Verwendung von textuellen Beschreibungen oder längeren Funktionsnamen zu definieren.
Für diesen Fall gibt es den Befehl \mathrm{}.
\(\left\lbrace x \mid tiefe(x) \geq 20\right\rbrace\)
\(\left\lbrace x \mid \mathrm{tiefe}(x) \geq 20\right\rbrace\)
$\left\lbrace x \mid \mathrm{tiefe}(x) …
Setzt die folgenden Formeln in der Datei exercises/maths/math-formulas.tex.
| Bedeutung | Ergebnis |
|---|---|
| Fallbeschleunigung (Deutschland) | \(9,81\,\frac{m}{s^2}\) |
| pq-Formel | \(x_{1,2} = - \frac{p}{2} \pm \sqrt{\left(\frac{p}{2}\right)^2 - q}\) |
| Mitternachtsformel | \(x_{1,2} = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}\) |
| Catalansche Zahlen | \(C_n = \frac{1}{n+1} {2n \choose n} = \frac{(2n)!}{(n+1)!n!}\) |
Setzt die folgenden Formeln in der Datei exercises/maths/math-formulas.tex.
| Bedeutung | Ergebnis |
|---|---|
| Definition der Fakultät | \(n! = \prod_{i=1}^{n} i\) |
| Menge aller ungeraden natürlichen Zahlen | \(\{ x \mid x \in \mathbb{N}, \mathrm{ungerade}(x) \}\) |
| Elimination \(\neg\exists x\) | \(\neg\exists x . p(x) \Leftrightarrow \forall x . \neg p(x)\) |
Um Grafiken darzustellen, muss das Paket graphicx eingebunden werden.
\begin{figure}
\includegraphics{<dateipfad>}
\caption[<kurztitel (abbildungsver-
zeichnis)>]{<bildunterschrift>}
\end{figure}
Bildgröße angeben:
\includegraphics[width=0.5\textwidth,
height=5cm]{<dateipfad>}
\begin{figure}[<positionskürzel>]
LaTeX positioniert Grafiken automatisch. Durch Kürzel können wir unsere Präferenzen (auch in Kombination) angeben.
| Kürzel | Position |
|---|---|
| h | hier, wenn es dir recht ist |
| t | oberer Seitenrand (top) |
| b | unterer Seitenrand (bottom) |
| p | auf einer eigenen Seite (page) |
| H |
Hier, verdammt noch mal! (benötigt Paket float)
|
\begin{figure}[<position>]
\begin{center}
\includegraphics{<dateipfad>}
\end{center}
\end{figure}
Alternativ:
\begin{figure}[<position>]
\centering
\includegraphics{<dateipfad>}
\end{figure}
exercises/graphics findet ihr eine Bilddatei namens latex-logo.png.\textwidth) an.Für typografisch schöne Tabellen nutzen wir das Paket booktabs.
\usepackage{booktabs}
\begin{table}[<position>]
\begin{tabular}{<spaltendefinition>}
% Tabelleninhalt
\end{tabular}
\caption{<tabellenunterschrift>}
\end{table}
Die Positionierung erfolgt analog zu Grafiken.
\begin{tabular}{lrcl}
% Tabelleninhalt
\end{tabular}
| Kürzel | Bedeutung |
|---|---|
| l | linksbündige Spalte |
| c | zentrierte Spalte |
| r | rechtsbündige Spalte |
Vertikale Trennlinien und doppelte horizontale Linien sind unter Typograph*innen nicht gern gesehen und sollten vermieden werden.
\begin{tabular}{lll}
\toprule
Spalte 1 & Spalte 2 & Spalte 3 \\
\midrule
Inhalt a & Inhalt b & Inhalt c \\
Inhalt e & Inhalt f & Inhalt g \\
Inhalt i & Inhalt j & Inhalt k \\
\bottomrule
\end{tabular}
&‹ abgetrennt.\\‹ beendet.\toprule, \midrule und \bottomrule strukturieren die Tabelle.\begin{table}[h]
\begin{tabular}{lrcl}
\toprule
Sprache & Autor & Erscheinungsjahr & Aktuelle Version \\
\midrule
C++ & Bjarne Stroustrup & 1985 & C++ 17 \\
Java & James Gosling & 1998 & 13 \\
Python & Guido van Rossum & 1991 & 3.8.0 \\
\bottomrule
\end{tabular}
\caption{Bekannte Programmiersprachen}
\end{table}
Mit @{} vor und nach einer Spaltendefinition wird der umgebende Weißraum unterdrückt.
\begin{tabular}{@{}lrcl@{}} beschränkt die Linien auf die Breite des Tabelleninhalts.
Tabellen, die über eine Seite hinaus gehen, werden von tabular einfach abgeschnitten. Die Lösung bietet hier das Paket longtable:
\usepackage{longtable}
\begin{longtable}{<spaltendefinition>}
% Tabelleninhalt
\caption{<tabellenunterschrift>}
\label{<label>}
\end{longtable}
longtable
\begin{longtable}{<spaltendefinition>}
% Tabelleninhalt
\caption{<tabellenunterschrift>}
\label{<label>}
\end{longtable}
longtable-Umgebung vereint die tabular-Umgebung und die table-Umgebung.booktabs eingebunden ist, stehen seine Features auch in longtable zur Verfügung.Sollte die Tabelle einmal zu breit für eine Seite werden, kann sie auch im Querformat dargestellt werden:
\usepackage{rotating}
\begin{sidewaystable}[<position>]
\begin{tabular}{<spaltendef.>}
% Tabelleninhalt
\end{tabular}
\end{sidewaystable}
\begin{table}[h]
\begin{tabular}{llr}
\toprule
Struktur & \multicolumn{2}{l}{Zeitkomplexität für Zugriff} \\ \cmidrule(r){2-3}
& Average & Worst \\
\midrule
Stack & $\mathcal{O}(n)$ & $\mathcal{O}(n)$ \\
Binärbaum & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
AVL-Baum & $\mathcal{O}(log(n))$ & $\mathcal{O}(log(n))$ \\
\bottomrule
\end{tabular}
\end{table}
Der Tables Generator ist ein wunderbares Werkzeug, um schnell Tabellen verschiedener Formate zu erstellen.
exercises/tables/tables.tex enthält Infos zu ein paar Lehrveranstaltung an der Fakultät WIAI.Es gibt zwei verbreitete Wege, Quelltext in LaTeX-Dokumenten zu zeigen.
minted erstellt sehr hübsche Quelltext-Listings, aber es benötigt etwas mehr Konfiguration und funktioniert nicht auf allen Betriebssystemen zuverlässig.listings ist eine einfach zu nutzende (aber nicht so hübsche) Alternative für diejenigen, die Probleme mit minted haben.Die Befehle beider Pakete sind sehr ähnlich.
minted benötigt die Programmiersprache Python. Nach der Installation von Python kann das zugehörige Paket Pygments in der Eingabeaufforderung installiert werden durch:
pip install Pygments
Anschließend muss das Paket minted (oder listings) nur noch eingebunden werden:
\usepackage{minted}
\usepackage{listings}
Um Dokumente mit Quelltext-Listings kompilieren zu können, muss die Flag --shell-escape an den Compiler übergeben werden.
Dies ist nur bei vertrauenswürdigen Dokumenten empfehlenswert.
In TeXstudio muss diese unter Optionen → TeXstudio konfigurieren → Befehle (TeXstudio → Einstellungen unter macOS) bei PdfLaTeX vor %.tex ergänzt werden:
pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex
Unsere Übungsmaterialien erlauben es, zwischen minted und listings zu wählen. Von Haus aus nutzen wir listings. Um minted zu aktivieren muss eine Datei namens listings-mode.tex mit dem folgenden Inhalt im Wurzelverzeichnis unseres Projekts erstellt werden:
\newcommand\listingsmode{minted}
Kompiliert erneut und die Listings sollten durch minted erstellt worden sein.
In einer eigenen Umgebung:
\section*{Haskell-Magie}
Quadrate aller geraden % …
\begin{minted}{haskell}
[x^2 | x <- [1..200], even x]
\end{minted}
Inline im Quelltext:
\section*{Ein HTML-Beispiel}
Eine Überschrift wird so ausgezeichnet:
\mint{html}|<h2>LaTeX im Studium</h2>|.
Um Redundanz zu vermeiden, ist es manchmal praktisch, den Quelltext direkt aus der Quelldatei einzulesen.
\section*{Einfache Java-Anwendung}
\inputminted{java}{Test.java}
public class Test {
public static void main(/*…*/) {
System.out.println(/*…*/);
}
}
Durch optionale Parameter können Zeilennummerierung, Umbrüche und Farben ausgewählt werden. Außerdem sind zahlreiche Themes verfügbar.
\usemintedstyle{monokai}
\begin{minted}[
linenos=true,
breaklines=true,
]{javascript}
% ...
\end{minted}
In einer eigenen Umgebung:
\section*{Haskell-Magie}
Quadrate aller geraden % …
\begin{lstlisting}[language=Haskell]
[x^2 | x <- [1..200], even x]
\end{lstlisting}
Das Paket listings stellt keinen Befehl für inline-Listings zur Verfügung.
Praktischerweise bietet auch listings einen Befehl zum Einfügen externen Codes:
\section*{Einfache Java-Anwendung}
\lstinputlisting[language=Java]{Test.java}
public class Test {
public static void main(/*…*/) {
System.out.println(/*…*/);
}
}
listings stellt keine eigenen Themes zur Verfügung. Dies kann aber durch die vielen Konfigurationsoptionen ausgeglichen werden.
\begin{lstlisting}[
language=Java,
basicstyle=\footnotesize\ttfamily,
breaklines=true,
keywordstyle=\color{ForestGreen},
commentstyle=\color{DarkGray},
literate={ö}{{\"o}}1
]
% …
\end{lstlisting}
Für die Erstellung eigener Themes ist der Befehl \lstset nützlich.
xcolor für Farbenlistings
mintedexercises/source-code-listings findet ihr eine Datei namens Source.java.source-code-listings.tex ein. (Beachtet, dass der Dateipfad relativ zu main.tex ist.)native.gobble).Seht bei Fragen in der Dokumentation des Paketes minted nach.
listingsexercises/source-code-listings findet ihr eine Datei namens Source.java.source-code-listings.tex ein. (Beachtet, dass der Dateipfad relativ zu main.tex ist.)basicstyle eine dicktengleiche Schrift (\ttfamily \small).Seht bei Fragen in der Dokumentation des Paketes listings nach.
\usepackage{hyperref}
Die Nummerierung erfolgt automatisch und ist fortlaufend, unabhängig davon, ob ein neuer Abschnitt beginnt.
Eber, beim Hausschwein insbesondere
oberdeutsch Saubär, beim Wildschwein
Keiler, bezeichnet das männliche
Geschlecht des Schweins.
\footnote{\url{https://de.wikipedia.org/
wiki/Eber}}
Das Paket footmisc stellt verschiedene weitere Optionen für die Darstellung von Fußnoten zur Verfügung, die als optionale Parameter an den Befehl \usepackage übergeben werden können.
% Zählung auf jeder Seite neu beginnen:
\usepackage[perpage]{footmisc}
% Fußnoten inline anzeigen lassen:
\usepackage[para]{footmisc}
% Symbole statt Nummerierung verwenden:
\usepackage[symbol]{footmisc}
Manuell (Just don’t!)
Wie man in Abbildung 23 sieht, …
Mit dem Befehl \ref:
\begin{figure}[H]
\includegraphics % …
\caption{Unser Maskottchen Fooboar}
\label{img:fooboar}
\end{figure}
Wie man in Abbildung \ref{img:fooboar} …
Mit dem Paket cleveref (mit einem ›r‹!):
\begin{figure}[H]
\includegraphics % …
\caption{Unser Maskottchen Fooboar}
\label{img:fooboar}
\end{figure}
Fooboar ist ein sehr engagierter
Jungeber (siehe \cref{img:fooboar}).
Der Befehl \cref fügt selbstständig die passende Abkürzung ein.
Beide Referenzierungsbefehle funktionieren mit Abschnitten, Bildern, Tabellen, Listings und Gleichungen, sofern die richtigen Label vergeben wurden.
Label müssen eindeutig sein. Zur Strukturierung ist das Voranstellen von Kürzeln üblich, denn einige Pakete ziehen aus den Kürzeln Informationen.
fig: Abbildungen
|
tbl: Tabellen
|
sec: Abschnitte
|
subsec: Unterabschnitte
|
ch: Kapitel
|
itm: Aufzählungselemente
|
eq: Gleichungen
|
lst: Quelltextlistings
|
Durch \cref eingefügte Passagen tauchen in einigen Dokumentklassen erst dann auf Deutsch auf, wenn bereits in der Dokumentklasse die Sprache festgelegt wurde:
\documentclass[ngerman]{article}
Beschriftungen (\caption{…}) müssen, von Abschnitten abgesehen, immer und vor dem Label vergeben werden.
Bei Abschnitten wird das Label direkt hinter dem Befehl angefügt.
\section{Hinweise}\label{sec:hinweise}
cleveref das Paket hyperref eingebunden, entsteht ein klickbarer Link im fertigen PDF.\cref kommagetrennt angegeben werden.\section{Ein Einstieg}
\label{sec:section1}
% …
Hier sei verwiesen auf
\cref{sec:section1,sec:section2,
sec:section3,sec:section5}.
exercises/footnotes/footnotes.tex in eine Fußnote.https://www.oracle.com/java/technologies/javase-downloads.html), als Fußnote ein.references.tex im Ordner exercises/references In the figure und The following source code listing durch eine Referenz auf das Bild bzw. auf das Quelltext-Listing.\cref.listing..bib-Datei) zur Speicherung von Literaturverweisen.bib-Datei?@article{turing1990, % Art des Dokuments und Bezeichner für den \cite Befehl
title={The chemical basis of morphogenesis}, % Titel
author={Turing, Alan Mathison}, % Autor
journal={Bulletin of mathematical biology}, % Titel des Journals
volume={52}, % Band des Journals
pages={153--197}, % Seitenzahl im Journal
year={1990}, % Erscheinungsjahr
publisher={Springer} % Verleger des Journals
}
Durch BibTeX wird LaTeX um einige Befehle zum Zitieren erweitert. Außerdem benötigt wird das Paket natbib.
\cite{<quelle>}
\cite[S. 15]{<quelle>}
\cite[<präfix>][<suffix>]{<quelle>}
.bib-Datei: \bibliography{<.bib-datei>}
\bibliographystyle{<zitierstil>}
Zwei Dinge sind unendlich. Das Universum und die Auswahl an Zitierstilen.Unbekannt
exercises/literature eine neue BibTeX-Datei literature.bib.exercises/literature/literature.tex.plain.\usepackage{makeidx}
\makeindex
\begin{document}
\maketitle
\section{Was ist LaTeX\index{LaTeX}?}
LaTeX\index{LaTeX} ist ein
Textsatzsystem\index{Textsatzsystem}.
\newpage \section{TeX\index{TeX} vs.
LaTeX\index{LaTeX}} Es basiert auf
TeX\index{TeX}, einer Erfindung von
Donald Knuth\index{Knuth, Donald}.
Da TeX\index{TeX} in seiner Syntax sehr
viel komplexer als LaTeX\index{LaTeX}
ist, ist LaTeX\index{LaTeX} wesentlich
weiter verbreitet.
\printindex
Für Präsentationen gibt es die Dokumentenklasse beamer sowie zahlreiche Vorlagen und Themes.
\documentclass{beamer}
\usetheme{Frankfurt}
\usecolortheme{seahorse}
\usepackage[utf8]{inputenc}
\begin{document}
\begin{frame}
\frametitle{Zitronensorbet}
\framesubtitle{Inkarnation des Guten?}
\begin{definition}
Ein Zitronensorbet ist eine
halbgefrorene \textbf{Speiseeiscreme}
auf Basis von \textit{Zitronen}.
\end{definition}
\end{frame}
\end{document}
TikZ (»TikZ ist kein Zeichenprogramm«) ist ein umfangreiches Paket zur Erstellung von Vektorgrafiken.
% …
\tikzstyle{every node}=[draw=black,thick,anchor=west]
\tikzstyle{selected}=[draw=red,fill=red!30]
\tikzstyle{dir}=[fill=gray!50]
\tikzstyle{relativeTo}=[fill=blue!70]
\begin{tikzpicture}[%
grow via
three points={one child at (0.5,-0.7) and
two children at
(0.5,-0.7) and (0.5,-1.4)},
edge from
parent path={(\tikzparentnode.south)
|- (\tikzchildnode.west)}]
\node {/ oder C:}
child { node {home}
child { node {knut}
child { node {pictures}}
child { node {docs}
child { node [dir] {latex}
child { node [relativeTo] {main.tex}
child { node [selected] {part1.tex}
}
}
}
};
\end{tikzpicture}
Mit dem Paket qtree lassen sich Konstituentenbäume erstellen:
\Tree [.S [.NP LaTeX ]
[.VP [.V is ] [.NP fun ] ] ]
Beweisbäume lassen sich mit dem Paket prftree einwandfrei darstellen.
\begin{displaymath}
\prftree[l,r]{}{[comp$\_{ns}$]}
{
\prftree[l,r]{}{[comp$\_{ns}$]}
{
\prftree[l,r]{}{[ass$\_{ns}$]}
{
-
}
{
(\texttt{m:=a}, \sigma\_{\bot,\bot})
\rightarrow \sigma\_{48,\bot}
}
}
{
\prftree[l,r]{}{[ass$\_{ns}$]}
{
-
}
{
(\texttt{n:=b}, \sigma\_{48,\bot})
\rightarrow \sigma\_{48,18}
}
}
{
(\texttt{m:=a; n:=b}, \sigma\_{\bot,\bot})
\rightarrow \sigma\_{48,18}
}
}
{
\prftree[l,r]{}{}
{
\dots
}
{
\textbf{[1]}\ (\texttt{LOOP}, \sigma\_{48,18})
\rightarrow \sigma\_{6,6}
}
}
{
(\texttt{m:=a; n:=b; LOOP}, \sigma\_{\bot,\bot})
\rightarrow \sigma\_{6,6}
}
\end{displaymath}
Das Wikibook zu LaTeX enthält eine große Anzahl interessanter Artikel und ist auch in deutscher Sprache verfügbar.

Das »Comprehensive TeX Archive Network« ist die zentrale Quelle für LaTeX-Pakete und ihre Dokumentation.

Ein Online-LaTeX-Editor, der das kollaboratives Arbeiten an Dokumenten ermöglicht.
Außerdem findest du auf der Seite verschiedene Tutorials und unter »Templates« LaTeX-Vorlagen für viele Gelegenheiten (Lebenslauf, Abschlussarbeiten, …).

📍WE5/02.104
☎️0951 863 1219
📧fachschaft-wiai.stuve@uni-bamberg.de









