Für die kommenden Aufgaben brauchen wir eine Kommandozeile.
Je nach Betriebssystem, das verwendet wird, gibt es unteschiedliche Wege, sie zu öffnen:
Der Compiler übersetzt unseren LaTeX-Code in ein ansprechend formatiertes PDF-Dokument.
Je nach Betriebssystem stehen unterschiedliche Compiler zur Verfügung:
Unter Windows sollte nach der Installation in der MikTEX-Console einmal nach Updates gesucht werden, um spätere Probleme zu vermeiden.
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.
Ein Workshop der Fachschaft WIAI. Präsentiert von Jessica Klarmann, Jannik Kiesel, Florian Knoch, Theresa Knoll und Hannah Rattenberger.
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 Workshop als kompakte Referenz verwenden könnt.
Gliederung:
Bildquelle: xkcd
Allgemeiner Aufbau eine Befehls:
\<befehl>[<optionale_parameter>]{<obligatorische_parameter>}
Ein paar Beispiele:
\newpage % fügt eine neue Seite ein
\textbf{fetter Text} % schreibt den übergebenen Text fett
\documentclass[10pt,a5paper,landscape]{article} % konfiguriert die Dokumentenklasse
\frac{1}{4} % fügt den mathematischen Bruch einDen Backslash erzeugt ihr auf deutschen Tastaturen mit folgender Tastenkombination:
AltGr + ß (Windows/Linux)
Alt + Shift + 7 (MacOS)
👁 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]{article}
\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.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.
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
Bestimmte Zeichen lösen in LaTeX Dinge aus:
# $ % ^ & _ { } ~ \
50% sind die Hälfte.
Lösung: »\« voranstellen:
50\% sind die Hälfte.
Funktioniert nicht mit »\\«, nutzt \textbackslash stattdessen.
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}
\title{Die Welt der Trüffel}
\author{Fooboar Rüssel \and Fachschaft WIAI}
\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 \and
Fachschaft WIAI}
\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 % Inhaltsverzeichnis
\listoffigures % Abbildungsverzeichnis
\listoftables % Tabellenverzeichnis
*« 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}
document-structure.tex, die im Ordner exercises/basic-document-structure liegt.\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\\ erstellt worden. Ersetzt diese durch richtige Absätze.\section u. ä.).article.scr-Dokumentenklassen versuchen europäische Normen abzubilden.Folgende Dokumentenklassen stehen zur Verfügung:
scrartcl, article für kurze Dokumentescrreprt, report für lange Dokumentescrbook, book für Bücherbeamer für PräsentationenEs können auch mehrere Sprachen im Dokument verwendet werden:
\usepackage[ngerman, swedish, ukrainian, 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{ukrainian}
\today
\selectlanguage{greek}
\today
\selectlanguage{english}
\today
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}
Kommentiert zuletzt die Präambel, die Dokumentenumgebung und das Inhaltsverzeichnis wieder aus.
Nur so kann eure Lösung auch ins Skript eingebunden werden (Schnelles Auskommentieren kann in TeXstudio mit dem Shortcut Strg + T erreicht werden).
Im nächsten Kapitel erklären wir, warum das notwendig ist.
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\input{} kann der Pfad zu einer Unterdatei relativ zur Hauptdatei angeben werden
Bei LaTeX muss stets die Unix-Syntax für Pfadangaben verwendet werden. Pfadelemente werden durch einen Schrägstrich getrennt: pfad/zur/datei. Deshalb werden wir im Folgenden diese Schreibweise verwenden.
main-exercises.tex → praeamble.tex
./praeamle.tex
Der einfache Punkt ».« bezieht sich bei relativen Pfaden auf den aktuellen Ordner (hier: latex-skript). Er ist optional, es könnte also auch nur praeamble.tex geschrieben werden.
main-exercises.tex → basic-document-structure.tex (in einem Unterordner)
./content/basic-document-structure.tex
basic-functionality.tex → graphics.raw.tex
(wenn basic-functionality.tex von main-exercises.tex importiert wird)
./exercises/graphics/graphics.raw.tex
Pfade sind immer relativ zum Wurzelelement, auch wenn dieses noch andere Dateien einbindet, die wiederum andere Dateien referenzieren.
Von nun an kompilieren wir die Datei main-exercises.tex im Wurzelverzeichnis des Projektordners. Klickt hierzu in TeXstudio mit der rechten Maustaste auf die Datei und wählt „Explizit als Root-Dokument setzen“. Anschließend könnt ihr wie gewohnt kompilieren.
Im Ordner exercises/project-structure findet ihr eine Datei namens main.tex.
section1.tex und section2.tex und verschiebt die Abschnitte in diese.\input-Befehls.main-exercises.tex im Wurzelverzeichnis. Wie binden wir hier die einzelnen Abschnitte ein?\,) und geschützte Leerzeichen (~) an den geeigneten Stellen.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.
\frenchspacing), um riesige Freiräume nach Satzzeichen zu verhindern.| 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 |
---
|
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.}
Kompiliert von nun an immer die Datei main-exercises.tex, um eure Änderungen im Übungsskript zu sehen (in diesem Fall im Abschnitt zu Übung 5).
exercises/special-characters.tex durch schmale Leerzeichen.\enquote, um die Wörter Studi-Ticket und Studi-Karte in Anführungszeichen zu setzen.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
.\␣
\@.␣
LaTeX trennt Wörter im Normalfall automatisch richtig, wenn die richtige Sprache konfiguriert ist. Manchmal muss aber auch manuell eingegriffen werden.
| Ausschließliche Trennung |
\-
|
| Zusätzliche Trennstelle |
"-
|
| Bindestrich (verbietet andere Trennstellen) |
-
|
| Bindestrich (erlaubt andere Trennstellen) |
"=
|
| Trennstelle ohne Strich |
""
|
| Strich ohne Trennstelle |
"~
|
Einige der Codes funktionieren nur mit eingebundenem babel-Paket.
| 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.
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.
Semantische Hervorhebungen durch \emph{}:
\emph{Super wichtiger Text \emph{mit noch
wichtigerem Text} im Text.}
Optische Auszeichnungsmöglichkeiten:
| Bezeichnung | Befehl |
|---|---|
| fett (bold face) |
\textbf{wichtig}
|
| kursiv (italics) |
\textit{wichtig}
|
| Kapitälchen (small caps) |
\textsc{wichtig}
|
| dicktengleich (teletype) |
\texttt{wichtig}
|
| unterstrichen |
\underline{wichtig}
|
Ein gutgemeinter Rat
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.
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 Recursion und recursive mit \emph{…}.{\<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.}
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}
\begin{itemize}
% …
\item Gemüse \begin{itemize}
\item Passierte Tomaten
\item Möhren
\end{itemize}
\item Kräuter \begin{enumerate}
\item Oregano
\item Basilikum
\end{enumerate}
% …
\end{itemize}
lists.tex im Ordner exercises/lists als ungeordnete Liste mit den Elementen Ingredients und Instructions. Nutzt dafür den Befehl \itemize.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.
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*]
% …
$2 \sqrt{\frac{\pi^2}{3} \cdot c_2}$
Mathematische Formeln können nur im sogenannten Mathmode gesetzt werden. Hierfür werden sie durch Dollarzeichen eingerahmt. 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 |
|---|---|
\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}\) |
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.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}, \text{ungerade}(x) \}\) |
| Elimination \(\neg\exists x\) | \(\neg\exists x . p(x) \Leftrightarrow \forall x . \neg p(x)\) |
| 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.
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 \text{}.
\(\left\lbrace x \mid tiefe(x) \geq 20\right\rbrace\)
\(\left\lbrace x \mid \text{tiefe}(x) \geq 20\right\rbrace\)
$\left\lbrace x \mid \text{tiefe}(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 & Dateiendung \\
\midrule
C++ & Bjarne Stroustrup & 1985 & .cpp \\
Java & James Gosling & 1998 & .java \\
Python & Guido van Rossum & 1991 & .py \\
\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.
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.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}
\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}}
Manuell (Just don’t!)
Wie man in Abbildung 23 sieht, …
Mit dem Befehl \ref:
\begin{figure}[H]
\includegraphics % …
\caption{Unser Maskottchen Fooboar}
\label{fig:fooboar}
\end{figure}
Wie man in Abbildung \ref{fig:fooboar} …
Mit dem Paket cleveref (mit einem ›r‹!):
\begin{figure}[H]
\includegraphics % …
\caption{Unser Maskottchen Fooboar}
\label{fig:fooboar}
\end{figure}
Fooboar ist ein sehr engagierter
Jungeber (siehe \Cref{fig: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}
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.\lstinputlisting anpassen müsst, um beides zu vergeben.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}
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}.
.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.
\citeauthor{<quelle>}
\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.Das Paket listings bietet zum Einfügen von Code eine eigene Umgebung:
\section*{Haskell-Magie}
Quadrate aller geraden % …
\begin{lstlisting}[language=Haskell]
[x^2 | x <- [1..200], even x]
\end{lstlisting}
Praktischerweise bietet 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
exercises/source-code-listings findet ihr eine Datei namens Source.java.source-code-listings.tex ein. (Beachtet, dass der Dateipfad relativ zu main-exercises.tex ist.)literate-Option.basicstyle eine dicktengleiche Schrift (\ttfamily \small).Seht bei Fragen in der Dokumentation des Paketes listings nach.
\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








