summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex')
-rw-r--r--Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex2878
1 files changed, 2878 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex
new file mode 100644
index 00000000000..9d73bee604b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tudscr/doc/tutorials/treatise.tex
@@ -0,0 +1,2878 @@
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+\documentclass[%
+ english,ngerman,%
+ geometry=no,DIV=12,automark,%
+]{tudscrartcl}
+\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+
+\usepackage{tudscrman}
+\lstset{%
+ inputencoding=utf8,extendedchars=true,
+ literate=%
+ {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
+ {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
+ {~}{{\textasciitilde}}1 {ß}{{\ss}}1
+}
+\lstset{escapechar=§}
+\TUDoptions{cdfont=false}
+\KOMAoptions{headings=normal}
+
+\usepackage{tudscrsupervisor}
+\usepackage{array}
+\usepackage{tabu}
+\usepackage{tabularx}
+\usepackage{tabulary}
+\usepackage{booktabs}
+\usepackage{siunitx}
+\sisetup{%
+ locale = DE,%
+ input-decimal-markers={,},%
+ input-ignore={.},%
+ group-separator={\,},%
+ group-minimum-digits=3%
+}
+\usepackage{xfrac}
+\AfterPackage*{hyperref}{%
+ \usepackage[%
+ automake,%
+ xindy={language=german-din},%
+ acronym,%
+ symbols,%
+ nomain,%
+ translate=babel,%
+ nogroupskip,%
+ ]{glossaries}
+ \setStyleFile{\jobname-temp}
+ \renewcommand*{\glsglossarymark}[1]{}
+ \newignoredglossary{abbreviation}
+ \newcommand*\newabbreviation[4][]{%
+ \newacronym[type=abbreviation,#1]{#2}{#3}{#4}%
+ }%
+ \makeglossaries
+}
+\usepackage{csquotes}
+\usepackage[backend=biber,style=alphabetic]{biblatex}
+\addbibresource{\jobname.bib}
+\DefineBibliographyStrings{ngerman}{urlseen = {Am:}}
+
+\usepackage{enumitem}
+
+\usepackage{caption}
+\DeclareCaptionSubType[alph]{figure}
+\DeclareCaptionSubType[alph]{table}
+\usepackage{floatrow}
+\renewcommand{\floatpagefraction}{0.7}
+
+\ifpdf
+ \usepackage{tikz}
+ \usetikzlibrary{chains}
+ \usetikzlibrary{decorations.markings}
+ \tikzset{on grid}
+\fi
+
+\usepackage{pstricks,pst-node}
+
+\makeatletter
+\newcommand*\pcolumnfuzz[1]{\pretocmd{\@endpbox}{\hfuzz=#1}{}{}}
+\makeatother
+
+\usepackage[open,openlevel=0]{bookmark}[2011/12/02]
+
+
+\ActivateWarningFilters[Tutorial]%
+\begin{filecontents}{\jobname.bib}
+@book{talbot2012,
+ author = {Nicola L. C. Talbot},
+ title = {{\LaTeX} for Complete Novices},
+ publisher = {Dickimaw Books},
+ series = {Dickimaw {\LaTeX} Series},
+ volume = {1},
+ isbn = {978-1-909440-00-5},
+ address = {Norfolk, UK},
+ year = {2012},
+ url = {http://www.dickimaw-books.com/latex/novices/},
+ urldate = {2014-12-01},
+}
+@book{talbot2013,
+ author = {Nicola L. C. Talbot},
+ title = {Using {\LaTeX} to Write a PhD Thesis},
+ publisher = {Dickimaw Books},
+ series = {Dickimaw {\LaTeX} Series},
+ volume = {2},
+ isbn = {978-1-909440-02-9},
+ address = {Norfolk, UK},
+ year = {2013},
+ url = {http://www.dickimaw-books.com/latex/thesis/},
+ urldate = {2014-12-01},
+}
+@online{reichert2012,
+ author = {Reichert, Axel and Voß, Herbert},
+ title = {\LaTeX~-- Satz von Tabellen},
+ organization = {Freie Universität Berlin},
+ date = {2012-01-12},
+ url = {http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf},
+ urldate = {2014-12-01}
+}
+@article{neubauer1996,
+ author = {Marion Neubauer},
+ title = {Feinheiten bei wissenschaftlichen Publikationen~--
+ Mikrotypographie"=Regeln, Teil~I},
+ journaltitle = {Die \TeX{}nische Komödie},
+ year = {1997},
+ month = {2},
+ volume = {4/96},
+ pages = {23-40},
+ url = {http://www.dante.de/tex/Dokumente/dtk-neubauer.pdf},
+ urldate = {2014-12-01},
+}
+@article{neubauer1997,
+ author = {Marion Neubauer},
+ title = {Feinheiten bei wissenschaftlichen Publikationen~--
+ Mikrotypographie"=Regeln, Teil~II},
+ journaltitle = {Die \TeX{}nische Komödie},
+ year = {1997},
+ month = {5},
+ volume = {1/97},
+ pages = {25--44},
+ url = {http://www.dante.de/tex/Dokumente/dtk-neubauer.pdf},
+ urldate = {2014-12-01},
+}
+@online{struckmann2007,
+ author = {Struckmann, Werner},
+ title = {Einige typographische Grundregeln und ihre Umsetzung in \LaTeX},
+ date = {2007-09-03},
+ url = {http://www2.informatik.hu-berlin.de/sv/lehre/typographie.pdf},
+ urldate = {2014-12-01}
+}
+@online{bier2009,
+ author = {Bier, Christoph},
+ title = {typokurz~-- Einige wichtige typografische Regeln},
+ date = {2009-05-21},
+ url = {http://zvisionwelt.wordpress.com/downloads/#typokurz},
+ urldate = {2014-12-01}
+}
+\end{filecontents}
+\DeactivateWarningFilters[Tutorial]%
+
+
+\begin{document}
+\date{17.12.2014}
+\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}}
+\title{%
+ Ein Anwenderleitfaden für das Erstellen einer wissenschaftlichen Abhandlung%
+}
+\makeatletter
+\begingroup%
+ \def\and{, }%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \hypersetup{%
+ pdfauthor = {\@author},%
+ pdftitle = {\@title},%
+ pdfsubject = {Tutorial für \hologo{LaTeXe}},%
+ pdfkeywords = {LaTeX, \TUDScript, Tutorial, Anwenderleitfaden},%
+ }%
+\endgroup%
+\makeatother
+\StartTutorial[%
+ \begin{abstract}\noindent
+ Der Versuch, ein allumfassendes Tutorial für eine wissenschaftliche Arbeit
+ zur Verfügung zu stellen gleicht der beschwerlichen Suche nach einer
+ eierlegenden Wollmilchsau. Es ist quasi nicht möglich, alle potentiellen
+ Anforderungen an eine wissenschaftliche Arbeit in einem Dokument abzudecken,
+ insbesondere weil es für diese fast von jedem Lehrstuhl mehr oder weniger
+ unterschiedliche Vorgaben zu Formatierung und Layout gibt. Dennoch soll hier
+ versucht werden, einen Großteil der für gewöhnlich auftretenden Erfordernisse
+ zu bearbeiten.
+
+ Dieses Tutorial hat \emph{nicht} die Intention, \hologo{LaTeX}-Einsteigern
+ sämtliche Grundlagen zu erläutern. Vielmehr wird davon ausgegangen, dass Sie
+ bereits erste Erfahrungen mit \hologo{LaTeXe} gesammelt haben. Dennoch wird
+ versucht, alle Schritte möglichst leicht nachvollziehbar zu gestalten. Sollte
+ Ihnen beim Lesen und Durcharbeiten des Tutorials etwas auf- oder missfallen,
+ so dürfen Sie mich gerne per E-Mail kontaktieren. Auch Anregungen und Wünsche
+ dürfen sie mir gegenüber gerne kommunizieren.
+
+ Für absolute Neueinsteiger gibt es einige freie Tutorials, welche die ersten
+ Schritte mit \hologo{LaTeXe} stark erleichtern. Sehr empfehlenswert ist die
+ ausführliche \hrfn{http://www.fadi-semmo.de/latex/workshop/}{Workshop-Reihe}
+ von Fadi~Semmo. Außerdem stellt Nicola~L.~C.~Talbot sehr gute Tutorials für
+ \hrfn{http://www.dickimaw-books.com/latex/novices/}{\hologo{LaTeX}-Novizen}
+ \cite{talbot2012} sowie
+ \hrfn{http://www.dickimaw-books.com/latex/thesis/}{Dissertationen}
+ \cite{talbot2013} zur freien Verfügung.
+
+ In erster Linie ist dieser Leitfaden für Anwender gedacht, die für ihre
+ wissenschaftliche Arbeit eine \TUDScript"=Dokumentklasse verwenden wollen.
+ Das vorgestellte Vorgehen kann jedoch~-- natürlich mit gewissen Abstrichen~--
+ auch mit anderen Klassen, insbesondere denen aus dem \KOMAScript"=Bundle,
+ umgesetzt werden. Viele der hier verwendeten Optionen und Befehle aus dem
+ \TUDScript-Bundle werden nur sporadisch in ihrer Grundfunktion erläutert.
+ Eine detaillierte Erläuterung lässt sich jedoch jederzeit sehr einfach über
+ die türkisfarbigen Hyperlinks im \manualhyperref{}{\TUDScript-Handbuch}
+ öffnen. Des Weiteren wird in auf eine Vielzahl von Paketen verwiesen, deren
+ Dokumentation sich entweder über den magentafarbigen Hyperlink auf das
+ \href{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} oder
+ alternativ über die Kommandozeile respektive das Terminal mit dem Aufruf
+ \PValue{texdoc }\PName{Paket} direkt lokal öffnen lässt.
+
+ Der Anwenderleitfaden muss nicht zwingend vollständig nachvollzogen werden.
+ Dieser ist in einzelne Abschnitte untergliedert, damit Sie sich bestimmte
+ Aspekte erarbeiten können. Sollten Querbezüge zu den einzelnen Abschnitten
+ bestehen, werden diese auch genannt. Zu guter Letzt findet sich am Ende
+ dieses Dokumentes das komplette Tutorial als ausführbarer Quelltext.
+ \end{abstract}
+]
+\tableofcontents
+\listoffigures
+\listoftables
+
+
+
+\section{Einleitung}
+\label{sec:introduction}
+Zu Beginn werden einige Pakete geladen, die quasi in jedem neu erstellten
+Dokument verwendet werden sollten. Alle weiteren in diesem Tutorial genutzten
+und/oder empfohlenen Pakete werden in den relevanten Abschnitten des Tutorials
+genauer erläutert.
+
+Den Anfang macht das Paket \Package{hyphsubst}. Dieses wird für eine wesentlich
+verbesserte Worttrennung für die deutsche Sprache benötigt und muss bereits
+\emph{vor} der Klasse geladen werden, damit es problemlos funktioniert. In
+\autoref{sec:hyphenation} können Sie außerdem weitere Informationen zum Thema
+\emph{Worttrennung} finden.
+%
+\begin{Preamble}
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+\end{Preamble}
+%
+Beim Laden der Klasse mit \Macro{documentclass} können Sie globale Optionen
+angeben. Diese werden sowohl an die Klasse selbst weitergereicht als auch allen
+in der Präambel geladenen Pakete zur Verfügung gestellt. Falls das Paket
+\Package{babel} für die Sprachauswahl im Dokument verwendet wird, sollten auf
+alle Fälle die verwendeten Sprachen als Klassenoption angegeben werden, wobei
+die zuletzt angegebene als aktuelle Sprache aktiviert wird. Dadurch werden
+diese nicht nur an das Paket \Package{babel} sondern auch an andere Pakete
+übergeben, welche sprachspezifische Einstellungen vornehmen.
+%
+\begin{Preamble}
+\documentclass[english,ngerman]{tudscrreprt}
+\usepackage{babel}
+\end{Preamble}
+%
+Bei der Verwendung von \hologo{LaTeXe} sollte zum einen die Eingabekodierung
+des erstellten Datei spezifiziert werden. Das Paket \Package{selinput} erkennt
+automatisch, welche Kodierung der genutzte Editor verwendet. Zum anderen werden
+die Schriften in der Ausgabe ebenfalls kodiert. Mit dem Paket \Package{fontenc}
+lässt sich die verwendete Schriftkodierung für das Dokument spezifizieren,
+wobei im Normalfall die europäischen Zeichen mit der Option~\Option{T1}
+aktiviert werden sollten.
+%
+\begin{Preamble}
+\usepackage{selinput}
+\SelectInputMappings{adieresis={ä},germandbls={ß}}
+\usepackage[T1]{fontenc}
+\end{Preamble}
+%
+Das Paket \Package{fixltx2e} behebt einige Fehler im \hologo{LaTeXe}-Kernel.
+In neuen Dokumenten kann es bedenkenlos geladen werden.
+%
+\begin{Preamble}
+\usepackage{fixltx2e}
+\end{Preamble}
+%
+Für die \KOMAScript-Klassen wird außerdem das Paket \Package{scrhack}
+bereitgestellt. Dieses behebt einige Probleme bei der Kompatibilität mit
+anderen Paketen bezüglich des Erstellens von Verzeichnissen. Deshalb sollte
+dieses frühzeitig in der Präambel geladen werden.
+%
+\begin{Preamble}
+\usepackage{scrhack}
+\end{Preamble}
+%
+Damit sind die allgemein notwendigen Pakete eingebunden. Es werden zwar weitere
+benötigt, diese werden allerdings in den einzelnen Abschnitten dieses Tutorials
+aufgeführt.
+
+
+
+\section{Makrotypographie}
+\subsection{Satzspiegel}
+Gleich zu Beginn und bevor das eigentliche Verfassen der Arbeit beginnt, sollte
+sich der Verfasser Gedanken über das zu nutzenden Layout und den Satzspiegel
+machen, um bei der Finalisierung des Dokumentes keine böse Überraschung bei
+Seitenumbrüchen oder der Position von Gleitobjekten zu erleben.
+
+Zuallererst gilt zu entscheiden, ob das Dokument einseitig oder beidseitig
+gesetzt werden soll. Ist Letzteres der Fall, so sollte \Option{twoside} als
+Klassenoption angegeben werden. Im nächsten Schritt ist der zu verwendenden
+Satzspiegel festzulegen. Hierfür kann die Option \Option*{geometry} verwendet
+werden, welche im \TUDScript-Handbuch beschrieben wird. Normalerweise wird das
+Dokument im asymmetrischen Layout des \CDs gesetzt.
+
+Dieses Verhalten kann mit \Option*{geometry}[false] deaktiviert werden und der
+Satzspiegel wird durch das Paket \Package{typearea} nach typographischen
+Gesichtspunkten konstruiert. Dabei ist die \KOMAScript"=Option \Option{DIV}
+maßgeblich für die Aufteilung des Satzspiegels verantwortlich. Des Weiteren
+spielt die \KOMAScript"=Option \Option{BCOR} für die Bindekorrektur eine Rolle.
+Diese wird in \autoref{sec:bcor} erläutert.
+
+\subsection{Änderung des Zeilenabstandes (Durchschuss)}
+Auf die Änderung des standardmäßigen Zeilenabstandes sollte aus typographischer
+Sicht bei der Verwendung einer Standardschrift im Normalfall verzichtet werden.
+Die Gründe hierfür werden im Handbuch von \TUDScript bei der Vorstellung des
+Paketes \Package*{setspace} erläutert, welches im Zweifelsfall für dieses
+Anliegen den Befehl \Macro{setstretch} bereitstellt. Wird ein Dokument in der
+\Univers-Hausschrift der \TnUD gesetzt, sollte der Wert von \Macro{setstretch}
+im Bereich 1.05--1.1 liegen.
+
+\subsection{Bindekorrektur}
+\label{sec:bcor}
+Falls die Arbeit nach der Fertigstellung gebunden werden soll, so ist auf den
+notwendigen Binderand zu achten, quasi der Teil einer Seite, welcher durch die
+Bindung \enquote{verschwindet} und nicht mehr als sichtbarer Teil der Seite
+vorhanden ist. Als Faustregel gilt, dass die erforderliche Bindekorrektur in
+etwa der halben Höhe des Buchblocks entsprechen sollte. Dessen Höhe wiederum
+ist abhängig von der Anzahl der Seiten sowie der Papierdichte.
+
+Wird qualitativ höherwertiges Papier mit einer Dichte von \SI{100}{g/m^2}
+verwendet, so entsprechen 100~Blatt einer Buchblockhöhe von zirka~\SI{12}{mm}.
+Dementsprechend wäre in diesem Beispiel eine Bindekorrektur von~\SI{6}{mm}
+notwendig, welche sich mit der Klassenoption \Option*{BCOR}[6mm] einstellen
+ließe. Sollte die erwartete Seitenzahl davon abweichen, kann die einzustellende
+Bindekorrektur linear skaliert werden. Für differierende Papierdichten sollte
+die Buchblockhöhe für die geschätzte Gesamtseitenanzahl in Erfahrung gebracht
+werden.
+
+
+
+
+
+
+\section{Umschlagseite und Titel}
+Die Umschlagseite und der Titel sind sich in ihrer Gestalt sehr ähnlich.
+Allerdings gibt es ein paar kleine Unterschiede. Einerseits werden auf dem
+Cover weniger Informationen als auf der Titelseite ausgegeben. Andererseits
+wird der Titel immer im Satzspiegel des restlichen Dokumentes ausgegeben,
+wohingegen die Umschlagseite~-- ohne weitere Optionen~-- im asymmetrischen
+Layout des \CDs der \TnUD erscheint. Wie dieses Verhalten geändert werden kann,
+ist im Handbuch für \Macro*{makecover} erläutert. Die resultierende Ausgabe des
+nachfolgenden Quelltextauszugs ist in \autoref{fig:title} zu sehen und stellt
+eine mögliche Ausprägung von Umschlagseite und Titel dar.
+%
+\begin{figure}
+\IncludeStandalone{Title}[1,2]
+\caption{Umschlagseite und Titel}
+\label{fig:title}
+\end{figure}
+
+\begin{Trunk!}{Title}
+\faculty{Juristische Fakultät}
+\department{Fachrichtung Strafrecht}
+\institute{Institut für Kriminologie}
+\chair{Lehrstuhl für Kriminalprognose}
+\title{%
+ Entwicklung eines optimalen Verfahrens zur Eroberung des
+ Geldspeichers in Entenhausen
+}
+\thesis{master}
+\graduation[M.Sc.]{Master of Science}
+\author{%
+ Mickey Mouse
+ \matriculationnumber{12345678}
+ \dateofbirth{2.1.1990}
+ \placeofbirth{Dresden}
+ \course{Klinische Prognostik}
+ \discipline{Individualprognose}
+\and%
+ Donald Duck
+ \matriculationnumber{87654321}
+ \dateofbirth{1.2.1990}
+ \placeofbirth{Berlin}
+ \course{Statistische Prognostik}
+ \discipline{Makrosoziologische Prognosen}
+}
+\matriculationyear{2010}
+\supervisor{Dagobert Duck \and Mac Moneysac}
+\professor{Prof. Dr. Kater Karlo}
+\date{10.09.2014}
+
+\makecover
+\maketitle
+
+\end{Trunk!}
+
+
+
+\section{Vor- und Nachspann}
+In den folgenden Unterabschnitten werden Elemente vorgestellt, welche häufig
+als Bestandteil einer wissenschaftlichen (Abschluss"~)Arbeit gefordert werden,
+wobei meistens nur eine Teilmenge verlangt wird. Die Platzierung oder Position
+der vorgestellten Elemente innerhalb der Arbeit ist nicht eindeutig durch eine
+Norm oder dergleichen festgelegt. Vielmehr gibt es meist eine Richtlinie vom
+verantwortlichen Prüfungsamt oder eine konkrete Vorgabe des wissenschaftlichen
+Mitarbeiters respektive betreuenden Hochschullehrers.
+
+Verwenden Sie für ihre Arbeit eine Buchklasse, so können die entsprechenden
+Abschnitte mit \Macro{frontmatter} (Vorspann), \Macro{mainmatter} (Hauptteil)
+und \Macro{backmatter} (Nachspann) gekennzeichnet werden. Einen Anhang starten
+Sie mit \Macro{appendix}, womit unter anderem die Kapitelnummerierung auf
+Großbuchstaben umgeschaltet wird (siehe \scrguide*).
+
+
+\subsection{Aufgabenstellung}
+\label{sec:task}
+Das Erstellen der Aufgabenstellung einer Abschlussarbeit im \CD der \TnUD muss
+das Paket \Package*{tudscrsupervisor} geladen werden.
+%
+\begin{Preamble}
+\usepackage{tudscrsupervisor}
+
+\end{Preamble}
+%
+Dieses Paket stellt die Umgebung \Environment*{task} sowie den Befehl
+\Macro*{taskform} bereit. Bei beiden Varianten wird zu Beginn eine Tabelle mit
+Informationen zum Autor erzeugt. Am Ende werden der oder die Betreuer der
+Arbeit sowie Professor und gegebenenfalls der Prüfungsausschussvorsitzende
+ausgegeben. Mit der \Environment*{task}-Umgebung kann zwischen dem Kopf und dem
+Fuß ein beliebiger Inhalt gesetzt werden. Der Befehl \Macro*{taskform} hingegen
+erzeugt eine standardisierte Ausgabe, wobei das zweite obligatorische Argument
+in der \Environment{itemize}-Umgebung verwendet wird und somit \Macro{item} zu
+nutzen ist. Das Resultat des folgenden Quelltextes ist in \autoref{fig:task} zu
+sehen.
+%
+\begin{figure}
+\IncludeStandalone{Task}[1,2]
+\caption{Aufgabenstellung in freier und standardisierter Form}
+\label{fig:task}
+\end{figure}
+
+\begin{Hint!}{Task}
+\faculty{Juristische Fakultät}
+\department{Fachrichtung Strafrecht}
+\institute{Institut für Kriminologie}
+\chair{Lehrstuhl für Kriminalprognose}
+\title{%
+ Entwicklung eines optimalen Verfahrens zur Eroberung des
+ Geldspeichers in Entenhausen
+}
+\thesis{master}
+\author{%
+ Mickey Mouse
+ \matriculationnumber{12345678}
+ \course{Klinische Prognostik}
+ \discipline{Individualprognose}
+\and%
+ Donald Duck
+ \matriculationnumber{87654321}
+ \course{Statistische Prognostik}
+ \discipline{Makrosoziologische Prognosen}
+}
+\matriculationyear{2010}
+\issuedate{1.2.2015}
+\duedate{1.8.2015}
+\supervisor{Dagobert Duck \and Mac Moneysac}
+\chairman{Prof. Dr. Primus von Quack}
+\professor{Prof. Dr. Kater Karlo}
+
+\newcommand\taskcontent{%
+ Momentan ist das besagte Thema in aller Munde. Insbesondere wird es
+ gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert.
+ Es ist momentan noch nicht abzusehen, ob und wann sich diese Situation
+ ändert. Eine kurzfristige Verlagerung aus dem Fokus der Öffentlichkeit
+ wird nicht erwartet.
+
+ Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema
+ gerade so omnipräsent ist und wie man diesen Effekt abschwächen
+ könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein
+ ähnlicher Vorgang zukünftig vermeiden ließe.
+}
+
+\begin{task}
+\smallskip
+\par\noindent
+\taskcontent
+\end{task}
+
+\taskform[pagestyle=empty]{\taskcontent}{%
+ \item Recherche
+ \item Analyse
+ \item Entwicklung eines Konzeptes
+ \item Anwendung der entwickelten Methodik
+ \item Dokumentation und grafische Aufbereitung der Ergebnisse
+}
+
+\end{Hint!}
+\begin{Trunk+}
+\newcommand\taskcontent{%
+ Momentan ist das besagte Thema in aller Munde. Insbesondere wird es
+ gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert.
+ Es ist momentan noch nicht abzusehen, ob und wann sich diese Situation
+ ändert. Eine kurzfristige Verlagerung aus dem Fokus der Öffentlichkeit
+ wird nicht erwartet.
+
+ Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema
+ gerade so omnipräsent ist und wie man diesen Effekt abschwächen
+ könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein
+ ähnlicher Vorgang zukünftig vermeiden ließe.
+}
+\taskform[pagestyle=empty]{\taskcontent}{%
+ \item Recherche
+ \item Analyse
+ \item Entwicklung eines Konzeptes
+ \item Anwendung der entwickelten Methodik
+ \item Dokumentation und grafische Aufbereitung der Ergebnisse
+}
+
+\end{Trunk+}
+
+
+\subsection{Zusammenfassung}
+Häufig wird zu Beginn einer wissenschaftliche Arbeit die Motivation und der
+Inhalt dieser zusammengefasst, um den Leser die Thematik der Abhandlung
+vorzustellen. in den meisten Fällen wird diese dabei in deutscher und
+englischer Sprache verfasst. Hierfür stellt \KOMAScript{} bereits die Umgebung
+\Environment*{abstract} bereit. Vielfach wird der Wunsch geäußert, sowohl die
+deutsche als auch die englische Zusammenfassung auf derselben Seite zu setzen.
+Diese Variante kann mithilfe der \TUDScript-Klassen sehr einfach umgesetzt
+werden, wie der nachfolgende Quelltextauszug zeigt. Die resultierende Ausgabe
+ist in \autoref{fig:abstr} zu sehen.
+%
+\begin{figure}
+\centering
+\IncludeStandalone[width=.5\textwidth]{Abstract}
+\caption{Zusammenfassung in deutscher und englischer Sprache}
+\label{fig:abstr}
+\end{figure}
+
+\begin{Trunk!}{Abstract}
+\TUDoption{abstract}{multiple,section}
+\begin{abstract}
+ Dies ist der deutschsprachige Teil der Zusammenfassung, in dem die
+ Motivation sowie der Inhalt der nachfolgenden wissenschaftlichen
+ Abhandlung kurz dargestellt werden.
+\nextabstract[english]
+ This is the english part of the summary, in which the motivation and
+ the content of the following academic treatise are briefly presented.
+\end{abstract}
+
+\end{Trunk!}
+
+
+
+\subsection{Selbstständigkeitserklärung und Sperrvermerk}
+Für die meisten Abschlussarbeiten an der \TnUD wird vom Verfasser eine
+Selbstständigkeitserklärung verlangt. Für diese wird ein Standardtext
+bereitgestellt. Dieser kann mit dem Befehl \Macro*{confirmation} ausgegeben
+werden. Wurde das Thema in Kooperation mit einem Unternehmen bearbeitet, so
+wird zumeist auch ein Sperrvermerk gefordert, welcher mit \Macro*{blocking}
+erzeugt werden kann. Mit \Macro*{declaration} werden beide Erklärungen direkt
+nacheinander erzeugt. Die verwendete Überschrift und ein möglicher Eintrag in
+das Inhaltsverzeichnis können über die Option \Option*{declaration} reguliert
+werden. Eine mögliche Ausprägung der Erklärungen ist in \autoref{fig:decl}
+abgebildet.
+%
+\begin{figure}
+\centering
+\IncludeStandalone[width=.5\textwidth]{Declaration}
+\caption{Selbstständigkeitserklärung und Sperrvermerk}
+\label{fig:decl}
+\end{figure}
+
+\begin{Hint!}{Declaration}
+\title{%
+ Entwicklung eines optimalen Verfahrens zur Eroberung des
+ Geldspeichers in Entenhausen
+}
+\author{Mickey Mouse\and Donald Duck}
+\declaration[company=FIRMA]
+\end{Hint!}
+\begin{Trunk+}
+\declaration[company=FIRMA]
+
+\end{Trunk+}
+
+\subsection{Inhalts-, Abbildungs-, und Tabellenverzeichnis}
+Das Inhaltsverzeichnis wird mit dem \hologo{LaTeX}"=Standardbefehl
+\Macro{tableofcontents} erzeugt und führt die Gliederung des erstellten
+Dokumentes entsprechend der verwendeten Befehle (\Macro{part}, \Macro{addpart},
+\Macro{chapter}, \Macro{addchap}, \Macro{section}, \Macro{addsec} etc.) auf.
+Wurde das Paket \Package{hyperref} geladen, so werden im Inhaltsverzeichnis
+PDF-Hyperlinks auf die einzelnen Abschnitte erzeugt.
+
+Sowohl Abbildungen als auch Tabellen werden in \hologo{LaTeX} normalerweise
+mit speziellen Umgebungen~-- \Environment{figure} und \Environment{table}~--
+eingebunden. Innerhalb dieser sogenannten Gleitumgebungen kann der Befehl
+\Macro{caption}\OParameter{Verzeichniseintrag}\Parameter{Bezeichnung} genutzt
+werden, um diesen eine Bezeichnung hinzuzufügen. Mit \Macro{listoffigures}
+beziehungsweise \Macro{listoftables} lassen sich Verzeichnisse erstellen, in
+denen alle Gleitobjekte des jeweiligen Typs ausgegeben werden, falls diese denn
+eine Bezeichnung hinzugefügt wurde. Sollen Abbildungen oder Tabellen außerhalb
+ihrer angestammten Gleitumgebung genutzt und benannt werden, kann dies mit dem
+Befehl \Macro{captionof}\Parameter{Typ}\OParameter{Verzeichniseintrag}
+\Parameter{Bezeichnung} erfolgen. Weitere Informationen diesbezüglich sind der
+\KOMAScript"=Anleitung \scrguide zu entnehmen. In \autoref{sec:floats} wird
+außerdem genauer auf die Verwendung von Gleitumgebungen eingegangen.
+%
+\begin{Trunk}
+\tableofcontents
+\listoffigures
+\listoftables
+
+\end{Trunk}
+\begin{Trunk+}
+\printacronyms[style=acrotabu]
+\printsymbols[style=symblongtabu]
+
+\setchapterpreamble{%
+ \renewcommand*\dictumwidth{.4\textwidth}%
+ \dictum[Johann Wolfgang von Goethe]{%
+ Es irrt der Mensch, solang er strebt.%
+ }%
+ \bigskip
+}
+\chapter{Einleitung}
+Nachdem nun der Vorspann und~-- bis auf das Literaturverzeichnis am
+Ende des Dokumentes auf Seite~\pageref{sec:bibliography}~-- alle
+Verzeichnisse erfolgreich ausgegeben wurden, wird nun die Verwendung
+der weiteren Umgebungen und Befehle demonstriert, welche im Tutorial
+\texturn{treatise.pdf} vorgestellt wurden.
+
+\end{Trunk+}
+
+
+\subsection{Abkürzungs- und Symbolverzeichnis}
+\label{sec:glossaries}
+Für die Auszeichnung von Abkürzungen gibt es zwei sehr gute Pakete, die dieses
+Unterfangen stark vereinfachen. Die einfachere~-- jedoch nicht so mächtige~--
+der beiden Varianten ist die Nutzung des Paketes \Package{acro}. Sollen nur
+Abkürzungen und gegebenenfalls eine sortierte Liste dieser gesetzt werden, ist
+dieses allerdings absolut ausreichend. Für ein Symbolverzeichnis lässt sich in
+dieser Variante das Paket \Package{nomencl} nutzen. Dieses bietet meiner
+Meinung nach jedoch keine großen Vorteile, stattdessen kann auch einfach eine
+Tabelle händisch erzeugt werden. Das Paket \Package{acro} ist sehr gut und
+ausführlich dokumentiert. Deshalb wird hier auf eine exemplarische Erläuterung
+verzichtet und stattdessen auf dessen Dokumentationen verwiesen.
+
+Die andere Möglichkeit ist die Nutzung des Paketes \Package{glossaries}, das
+eine große Zahl an Einstellmöglichkeiten und Optionen besitzt, allerdings auch
+etwas Zeit für die Einarbeitung und Studium der Dokumentation benötigt. Der
+ursprüngliche Einsatzzweck dieses Paketes ist das Setzen eines fachsprachlichen
+oder technischen Glossars. Es bietet zusätzlich die Mittel zum Erzeugen eines
+Abkürzungs- sowie Symbolverzeichnis. Es soll folgend hier kurz erläutert
+werden, wie das Paket zu verwenden ist. Für weiterführende Beispiele sollte
+die Dokumentationen zu Rate gezogen werden, welche dahingehend keine Wünsche
+offen lässt.
+
+Das Paket \Package{glossaries} sollte immer \emph{nach} \Package{hyperref}
+geladen werden. Entweder Sie achten explizit darauf oder Sie verwenden den
+Befehl \Macro{AfterPackage*} aus dem \KOMAScript-Bundle. Mit diesem können Sie
+die Ausführung von Quelltext bis zum Laden eines Paketes verzögern. Allerdings
+ist darauf zu achten, dass der Quelltext nur ausgeführt wird, wenn auch das
+avisierte Zielpaket geladen wird. Die für \Package{glossaries} verwendeten
+Optionen werden kurz erläutert.
+%
+\begin{Preamble+}
+\AfterPackage*{hyperref}{%
+\end{Preamble+}
+\begin{Preamble}
+\usepackage[%
+\end{Preamble}
+%
+Das Programm \Application{makeindex} wird im Normalfall durch die genutzte
+\hologo{LaTeX}"=Distribution bereitgestellt und für das alphabetische Sortieren
+der erstellten Listen verwendet. Mit der Paketoption \Option{automake} erfolgt
+der automatische Aufruf von \Application{makeindex} mit den passenden
+Einstellungen für alle Verzeichnisse. Alternativ dazu kann die Option
+\Option{xindy} aktiviert werden, welche \Application{xindy} anstelle von
+\Application{makeindex} für das Sortieren verwendet. Dieses Programm bietet
+unter anderem eine Unterstützung von Unicode sowie die Möglichkeit, nach
+sprachabhängigen Regeln zu sortieren. Allein für die deutsche Sprache gibt es
+beispielsweise zwei verschiedene Varianten~-- nach DIN und nach Duden~-- zum
+alphabetischen Sortieren. Ich persönlich würde~-- aufgrund der genannten
+Vorteile~-- der Verwendung von \Application{xindy} immer den Vorzug geben.
+
+Leider wird das Programm \Application{xindy} lediglich mit den Distributionen
+\Distribution{\hologo{TeX}~Live} und \Distribution{Mac\hologo{TeX}} jedoch
+nicht mit \Distribution{\hologo{MiKTeX}} geliefert. Soll \Application{xindy}
+mit der letztgenannten Distribution genutzt werden, muss diese Anwendung
+manuell installiert werden.
+Für das Erstellen der Glossare mit \Application{xindy} sollte das Perl"=Skript
+\Application{makeglossaries} verwendet werden, welches alle notwendigen
+Optionen an die Anwendung weiterleitet. Treten Probleme bei der Erzeugung der
+einzelnen Glossare auf, sollte die Dokumentation von \Package{glossaries}
+weiterhelfen können.
+
+%
+\begin{Preamble}
+ automake,%
+% mit Tex Live einfach verwendbar
+% xindy={language=german-din},
+\end{Preamble}
+%
+Die Optionen \Option{acronym} und \Option{symbols} erzeugen die Glossare
+beziehungsweise die Verzeichnisse für Abkürzungen und Symbole. Die Option
+\Option{nomain} wird verwendet, weil in diesem Tutorial kein zusätzliches
+technisches Glossar erzeugt werden soll.
+%
+\begin{Preamble}
+ acronym,% Abkürzungen
+ symbols,% Formelzeichen
+ nomain,% kein Glossar
+\end{Preamble}
+%
+Mit der Option \Option{translate}[babel] werden die Überschriften der Glossare
+in der Dokumentsprache gesetzt, mit \Option{nogroupskip} kann der automatische
+Abstand zwischen den Einträgen zur Gruppierung innerhalb eines Glossars
+entfernt werden. Die Option \Option{toc} fügt die Verzeichnisse dem
+Inhaltsverzeichnis hinzu, \Option{section} bestimmt die Gliederungsebene der
+Überschrift.
+%
+\begin{Preamble}
+ translate=babel,%
+ nogroupskip,%
+ toc,%
+ section=chapter,%
+\end{Preamble}
+%
+Damit sind alle verwendeten Optionen erläutert. Schließlich sorgt der Befehl
+\Macro{makeglossaries} für das Erstellen der optionsabhängigen Stildateien für
+\Application{makeindex} respektive \Application{xindy} sowie das Erzeugen der
+benötigten Hilfsdateien.
+%
+\begin{Preamble}
+]{glossaries}
+\makeglossaries
+
+\end{Preamble}
+%
+Damit wäre der erste Teil zur Initialisierung überstanden und wir können zum
+eigentlichen Problem kommen. Wie erstellt man nun ein Abkürzungs- und/oder
+Symbolverzeichnis?
+
+\subsubsection{Abkürzungsverzeichnis}
+Das Paket \Package{glossaries} stellt für die Definition von Abkürzungen einen
+speziellen Befehl bereit. Mit\Macro{newacronym}\LParameter\Parameter{Label}%
+\Parameter{Abkürzung}\Parameter{Wortgruppe} wird eine Abkürzung definiert und
+kann später über \Parameter{Label} genutzt werden. Die möglichen optionalen
+Parameter können in der Dokumentation zu \Package{glossaries} nachgeschlagen
+werden. Für ein kleines Beispiel werden drei Abkürzungen erstellt\dots
+%
+\begin{Trunk+}
+\section{Die Verwendung von Akronymen und Symbolen}
+\end{Trunk+}
+\begin{Trunk*}
+\newacronym{apsp}{APSP}{All-Pairs Shortest Path}
+\newacronym{spsp}{SPSP}{Single-Pair Shortest Path}
+\newacronym{sssp}{SSSP}{Single-Source Shortest Path}
+
+\end{Trunk*}
+%
+\dots und diese in einer kurzen Textpassage mit \Macro{gls}\Parameter{Label}
+verwendet.
+%
+\begin{Trunk*}
+In der Graphentheorie wird häufig die Lösung des Problems des kürzesten
+Pfades zwischen zwei Knoten gesucht. Dieses Problem wird häugig auch
+mit \gls{spsp} bezeichnet. Es lässt sich auf die Variationen \gls{sssp}
+und \gls{apsp} erweitern. Für die Lösung von \gls{spsp}, \gls{sssp}
+oder \gls{apsp} kommen unterschiedliche Algorithmen zum Einsatz.
+
+\end{Trunk*}
+%
+Gut zu sehen ist, dass sich die Ausgabe der Abkürzung bei der ersten Verwendung
+mit \Macro{gls} von der zweiten~-- und jeder weiteren~-- unterscheidet. Das
+Verhalten lässt sich über verschiedene Stile mit \Macro{setacronymstyle}
+anpassen. Die Ausgabe einer Liste aller Abkürzungen erfolgt mit:
+%
+\begin{Hint}
+\printacronyms
+\end{Hint}
+\begin{quoting}[rightmargin=0pt]
+\vspace*{-\baselineskipglue}
+\glsdisablehyper
+\InputCode
+\end{quoting}
+%
+Dabei werden die Akronyme in einer \Environment{description}"=Umgebung gesetzt,
+was absolut ausreichend ist. Mir persönlich ist allerdings die Darstellung in
+einer quasi-tabellarischen Form lieber. Dabei soll der Stil mit fettgedruckten
+Abkürzungen beibehalten werden. Das \Package{glossaries}"=Paket stellt zwar
+auch eine Vielzahl an Stilen in Tabellenform bereit, allerdings nicht in dem
+gewünschten. Deshalb wird nachfolgend gezeigt, wie sich ein eigener Stil in
+Tabellenform kreieren lässt.
+
+Es bieten sich die Umgebungen \Environment{tabularx} oder \Environment{tabu}
+an, bei denen die Spaltenbreite teilweise automatisch berechnet wird, um sich
+manuelle Formatierungsarbeiten zu sparen. Folgend werden beide Varianten
+vorgestellt. Falls Sie noch keine Erfahrungen mit dem Tabellensatz in
+\hologo{LaTeXe} haben, lohnt sich vorher ein Blick in \autoref{sec:tables}, um
+die verwendeten Befehle und Umgebungen zu verstehen. Wie Sie Stile definieren,
+die auch Seitenumbrüche in der Tabelle zulassen, können Sie etwas später bei
+Symbolverzeichnissen in diesem \autorefname[sec:glossaries] erfahren.
+
+\minisec{Eigener Stil mit \Environment{tabularx}}
+Für das Definieren eines eigenen Glossarstils wird \Macro{newglossarystyle}
+verwendet, wobei für den neuen Stils die Umgebung \Environment{theglossary}
+umdefiniert wird. Als erstes kommt die Tabellenumgebung \Environment{tabularx}
+aus dem gleichnamigen Paket, welches in \autoref{sec:tabularx} vorgestellt
+wird, zum Einsatz.
+
+Es werden in der Tabelle drei Spalten definiert. Die erste und letzte Spalte
+sind schlicht linksbündige Standardspalten~(\PValue{l}). In diesen werden die
+Abkürzungen selbst sowie die Seitenzahlen eingetragen. Die Verwendung
+von~\PValue{@\{\}} führt dazu, dass der normalerweise vor der ersten und nach
+der letzten Spalte eingefügte Abstand von \Length{tabcolsep} entfällt. Die
+Breite der Spalte vom Typ~\PValue{X} wird automatisch berechnet.
+
+Aufgrund der Implementierung von \Environment{tabularx} lässt sich diese nicht
+als verschachtelte Umgebung verwenden. Allerdings kann man stattdessen die mit
+\Macro{tabularx} und \Macro{endtabularx} die Low"~Level"~Variante nutzen. Die
+Definition des neuen Stils \PValue{acrotabularx} wird nachfolgend ausgegeben,
+die weitergehende Erläuterung schließt sich daran an.
+%
+\CodeHook{\let\newglossarystyle\renewglossarystyle}
+\begin{Hint*}
+\newglossarystyle{acrotabularx}{%
+ \renewenvironment{theglossary}{%
+ \tabularx{\linewidth}{@{}lXl@{}}%
+ }{%
+ \endtabularx\par\bigskip%
+ }%
+ \renewcommand*{\glossaryheader}{}%
+ \renewcommand*{\glsgroupheading}[1]{}%
+ \renewcommand*{\glsgroupskip}{}%
+ \renewcommand*{\glossentry}[2]{%
+ \glsentryitem{##1}% Entry number if required
+ \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} &
+ \glsentrydesc{##1} &
+ ##2\tabularnewline
+ }
+}
+
+\end{Hint*}
+%
+Der Rest des Stils ist schnell erläutert. Zunächst wird auf Tabellenköpfe
+(\Macro{glossaryheader}) sowie Überschriften und Abstände bei Gruppierungen
+(\Macro{glsgroupheading} und \Macro{glsgroupskip}) verzichtet. Der Befehl
+\Macro{glossentry} ist verantwortlich für die Formatierung der Einträge
+im Abkürzungsverzeichnis. Dieser wird intern durch \Package{glossaries} mit
+zwei obligatorischen Argumenten aufgerufen.Das erste enthält das entsprechende
+Label, das zweite ein kommaseparierte Liste der Seitenzahlen. Dabei stehen
+verschiedene Makros zur Auswahl, um anhand des gegebenen Labels die gewünschten
+Informationen zu extrahieren.%
+\footnote{%
+ bspw. mit \Macro{glossentryname} die Bezeichnung oder mit
+ \Macro{glsentrydesc} die dazugehörige Beschreibung%
+}
+
+Der Befehl \Macro{glossentry} wurde so definiert, dass für jeden Eintrag eine
+separate Zeile in der Tabelle erzeugt wird, wo in der ersten Spalte die
+Abkürzung selbst, in der zweiten die Langform und in der dritten Spalte
+schließlich die Liste der Seiten, auf welchen die jeweilige Abkürzung mit
+\Macro{gls}\Parameter{Label} verwendet wurde, ausgegeben wird. Zum Abschluss
+die resultierende Ausgabe des Abkürzungsverzeichnisses im neuen Stil.
+%
+\begin{Hint}
+\printacronyms[style=acrotabularx]
+\end{Hint}
+\begin{quoting}[rightmargin=0pt]
+\vspace*{-\baselineskipglue}
+\InputCode
+\end{quoting}
+%
+Sollte der Platz für die Erläuterungen wie in diesem Beispiel in der mittleren
+Spalte mehr als ausreichend sein und kein Zeilenumbruch benötigt werden, kann
+auch einfach eine \Environment{tabular}"=Umgebung mit einer \PValue{l}"~Spalte
+anstelle von \PValue{X} verwendet werden.
+
+\minisec{Eigener Stil mit \Environment{tabu}}
+Die sehr komfortabel zu nutzende Umgebung \Environment{tabu} wird durch das
+Paket \Package{tabu} bereitgestellt. Es wird in \autoref{sec:tabu} vorgestellt,
+wobei die dortigen Anmerkungen \emph{unbedingt} zu beachten sind. Ähnlich zu
+\Environment{tabularx} bietet auch die \Environment{tabu}-Umgebung einen
+\PValue{X}"~Spaltentyp. Allerdings gibt es hier eine Besonderheit. Für
+\Environment{tabularx}"=Tabellen muss generell eine feste Tabellenbreite
+angegeben werden. Die Breite der \PValue{X}"~Spalten wird anhand der
+angegebenen, gewünschten Gesamtbreite und dem bereits für andere Spalten vom
+Typ~\PValue{l},~\PValue{r}~und~\PValue{c} benötigten Platz berechnet.
+
+Für \Environment{tabu}"=Tabellen kann anstelle einer fest vorgegebenen Breite
+auch \PValue{spread~0pt} angegeben werden. Dadurch werden \PValue{X}"~Spalten
+anfänglich in ihrer natürlichen Breite gesetzt. Sobald jedoch die Gesamtbreite
+der Tabelle den zur Verfügung stehenden Platz bis zum Zeilenende überschreiten
+würde, werden die \PValue{X}"~Spalten automatisch umbrochen.
+
+In umbrochenen Spalten gibt es beim Paket \Package{tabu} jedoch ein kleineres
+Problem.In diesen setzt \Package{tabu} zu wenig vertikalen Freiraum am unteren
+Ende. Um dieses Manko zu beheben, wird am Schluss jeder \PValue{X}"~Spalte mit
+\PValue{X<\{\Macro{strut}\}} einfach der Befehl \Macro{strut} angehängt, der
+vertikalen Freiraum ober- und unterhalb der aktuellen Grundlinie einfügt. In
+\autoref{sec:tables} wird ein Ansatz aufgezeigt, wie man dies automatisiert
+über einen neuen Spaltenstil ausmerzen kann. Der Rest des Stils ist identisch
+zu \PValue{acrotabularx}.
+%
+\CodeHook{\let\newglossarystyle\renewglossarystyle}
+\begin{Preamble*}
+\newglossarystyle{acrotabu}{%
+ \renewenvironment{theglossary}{%
+ \begin{tabu}spread 0pt{@{}lX<{\strut}l@{}}%
+ }{%
+ \end{tabu}\par\bigskip%
+ }%
+ \renewcommand*{\glossaryheader}{}%
+ \renewcommand*{\glsgroupheading}[1]{}%
+ \renewcommand*{\glsgroupskip}{}%
+ \renewcommand*{\glossentry}[2]{%
+ \glsentryitem{##1}% Entry number if required
+ \glstarget{##1}{\sffamily\bfseries\glossentryname{##1}} &
+ \glsentrydesc{##1} &
+ ##2\tabularnewline
+ }
+}
+
+\end{Preamble*}
+\begin{Hint}
+\printacronyms[style=acrotabu]
+\end{Hint}
+\begin{quoting}[rightmargin=0pt]
+\glsdisablehyper
+\vspace*{-\baselineskipglue}
+\InputCode
+\end{quoting}
+%
+Welche Variante gewählt wird, ist letztendlich eine Frage, was für spezifische
+Anforderungen an die Formatierung des Abkürzungsverzeichnis gestellt werden.
+Natürlich ist auch die Definition eines eigenen Stils möglich. Wenn Sie wissen
+wollen, wie Sie einen Stil in Tabellenform erstellen können, welcher einen
+Seitenumbruch zulässt, sollte Sie den nächsten Abschnitt lesen.
+
+
+\subsubsection{Symbolverzeichnis}
+Für das Erzeugen eines Symbolverzeichnisses kann ebenfalls \Package{glossaries}
+verwendet werden. Allerdings muss dazu ein wenig mehr Aufwand getrieben werden,
+da das Paket hierfür keine dedizierte Schnittstelle bereitstellt. Wurde die
+Paketoption \Option{symbols} angegeben wird jedoch zumindest das notwendige
+Glossar erstellt.
+
+Als erstes sollte ein gut nutzbarer Befehl zum Definieren eines neuen Symbols
+erstellt werden. In Anlehnung an den Befehl für Abkürzungen wird dieser
+\Macro{newsymbol} genannt. Dieser hat ein optionales und vier obligatorische
+Argumente, wobei das optionale Argument prinzipiell alle Schlüssel-Wert-Paare
+enthalten kann, die durch \Package{glossaries} akzeptiert werden. Welche davon
+letztlich auch Auswirkungen haben, hängt allerdings von der Gestaltung des
+Stils durch den Anwender ab. Der nachfolgend definierte Befehl hat folgende
+Gestalt:
+%
+\begin{quoting}[leftmargin=\parindent]
+\Macro{newsymbol}\LParameter\Parameter{Label}\Parameter{Bezeichnung}%
+\Parameter{Symbol}\Parameter{Einheit}
+\end{quoting}
+%
+Mit \PName{Label} erfolgt die eindeutige Kennzeichnung des Symbols. Außerdem
+wird dies für die Sortierung verwendet, was unter Umständen etwas problematisch
+sein könnte. Eine manuelle Festlegung für den dazugehörigen Schlüssel durch den
+Anwender über das optionale Argument mit \PValue{sort=}\PName{Bezeichnung} ist
+eventuell sinnvoll. Nach dem \PName{Label} schließt die \PName{Bezeichnung} für
+das Formelzeichen an, gefolgt vom \PName{Symbol} sowie der dazugehörige
+physikalische \PName{Einheit}.
+%
+\CodeHook{\let\newcommand\renewcommand}
+\begin{Preamble*}
+\newcommand*{\newsymbol}[5][]{%
+ \newglossaryentry{#2}{%
+ type=symbols,%
+ description={},%
+ name={#3},%
+ symbol={\ensuremath{#4}},%
+ user1={\ensuremath{\mathrm{#5}}},%
+ sort={#2},%
+ #1%
+ }%
+}
+
+\end{Preamble*}
+%
+Da es sich zumeist um mathematische Symbole handelt, wird für das Symbol und
+die Einheit mit \Macro{ensuremath} Sorge getragen, dass diese auch im
+Textmodus ohne Probleme verwendet werden können. Für das aufrechte Setzen der
+Einheit wird für diese außerdem \Macro{mathrm} verwendet. Als Alternative dazu
+könnte man auch den Befehl \Macro{si} aus dem Paket \Package{siunitx} benutzen.
+Für ein kleines Beispiel werden folgend fünf Formelzeichen definiert. Damit die
+Darstellung der mathematischen Brüche auch für den Fließtext gut genutzt werden
+kann, wird für diese der Befehl \Macro{sfrac} aus dem Paket \Package{xfrac}
+genutzt.
+%
+\begin{Trunk*}
+\newsymbol{l}{Länge}{l}{m}
+\newsymbol{m}{Masse}{m}{kg}
+\newsymbol{a}{Beschleunigung}{a}{\sfrac{m}{s^2}}
+\newsymbol{t}{Zeit}{t}{s}
+\newsymbol{f}{Frequenz}{f}{s^{-1}}
+\newsymbol{F}{Kraft}{F}{m \cdot kg \cdot s^{-2} = \sfrac{J}{m}}
+
+\end{Trunk*}
+%
+Die soeben definierten Symbole werden für ein kleines Beispiel mit dem Befehl
+\Macro{gls}\Parameter{Label} in einer kurzen Textpassage verwendet.
+%
+\begin{Hint*}
+Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den
+SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet.
+Und dann gibt es noch die Grundgleichung der Mechanik, welche für den
+Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer
+Punktmasse lautet:
+\[\gls{F} = \gls{m} \cdot \gls{a}\]
+\end{Hint*}
+%
+Das Ergebnis ist nur bedingt befriedigend. Sowohl im Fließtext als auch im
+Mathematikmodus werden lediglich die Bezeichnungen jedoch nicht die Symbole
+selbst verwendet. Damit man die Formelzeichen auch für den mathematischen
+Satz sinnvoll nutzen kann, sollte das Erscheinungsbild der Einträge mit
+\Macro{defglsentryfmt} angepasst werden.
+%
+\begin{Preamble*}
+\defglsentryfmt[symbols]{%
+ \ifmmode%
+ \glssymbol{\glslabel}%
+ \else%
+ \glsgenentryfmt~\glsentrysymbol{\glslabel}%
+ \fi%
+}
+\end{Preamble*}
+%
+Diese Definition führt bei der Verwendung von \Macro{gls}\Parameter{Label}
+dazu, dass im Mathematikmodus allein das Symbol verwendet wird. Im Fließtext
+wird diesem zusätzlich die Bezeichnung vorangestellt. Das nachfolgende Beispiel
+macht dies deutlich.
+%
+\begin{Trunk*}
+Die Einheiten für die \gls{f} sowie die \gls{F} werden aus den
+SI"=Einheiten der Basisgrößen \gls{l}, \gls{m} und \gls{t} abgeleitet.
+Und dann gibt es noch die Grundgleichung der Mechanik, welche für den
+Fall einer konstanten Kraftwirkung in die Bewegungsrichtung einer
+Punktmasse lautet:
+\[\gls{F} = \gls{m} \cdot \gls{a}\]
+
+\end{Trunk*}
+%
+Als nächstes kümmern wir uns um die Ausgabe des Symbolverzeichnisses. Momentan
+erzeugt der Befehl \Macro{printsymbols} jedenfalls kein sinnvolles Verzeichnis:
+%
+\begin{Hint}
+\printsymbols
+\end{Hint}
+\begin{quoting}[rightmargin=0pt]
+\vspace*{-\baselineskipglue}
+\glsdisablehyper
+\InputCode
+\end{quoting}
+%
+Für dieses muss erst ein Stil definiert werden, was nachfolgend ähnlich zum
+Stil \PValue{acrotabularx} respektive \PValue{acrotabu} geschieht. Allerdings
+wird hier eine Variante gezeigt, mit der die Tabelle einen Seitenumbruch
+zulässt.
+
+\minisec{Eigener Stil mit \Environment{tabularx} und \Environment{longtable}}
+Soweit mir bekannt ist, lassen sich umbruchfähige Tabellen nicht direkt mit
+\Environment{tabularx} setzen. Vielmehr ist das Paket \Package{ltxtable}
+notwendig. Dieses wiederum verlangt, dass die zu setzende Tabelle in einer
+separaten Datei abgelegt wird. Möchte man diese dennoch im Hauptdokument
+belassen, kann man die \Environment{filecontents}"=Umgebung nutzen.
+
+Leider habe ich keine Möglichkeit gefunden, diesen Prozess ohne wahnsinnig
+großen Aufwand für das Erstellen eines Glossars zu portieren. Für umbruchfähige
+Tabellen mit automatisch berechneten Spaltenbreiten kommt meines Wissens nach
+momentan nur die Umgebung \Environment{longtabu} aus dem Paket \Package{tabu}
+infrage.
+
+\minisec{Eigener Stil mit \Environment{tabu}}
+Das Paket \Package{tabu} definiert die \Environment{longtabu}"=Umgebung, die
+wiederum auf \Environment{longtable} basiert und nachfolgend verwendet wird.
+Damit diese linksbündig gesetzt wird, muss vor dem obligatorischen Argument mit
+den Spaltendefinitionen noch das optionale Argument \OParameter{l} angegeben
+werden.
+%
+\CodeHook{\let\newglossarystyle\renewglossarystyle}
+\begin{Preamble*}
+\newglossarystyle{symblongtabu}{%
+ \renewenvironment{theglossary}{%
+ \begin{longtabu}spread 0pt[l]{ccX<{\strut}l}%
+ }{%
+ \end{longtabu}%
+ }%
+ \renewcommand*{\glossaryheader}{%
+ \toprule
+ \bfseries Symbol & \bfseries Einheit &
+ \bfseries Name & \bfseries Seite(n)
+ \tabularnewline\midrule\endhead%
+ \bottomrule\endfoot%
+ }%
+ \renewcommand*{\glsgroupheading}[1]{}%
+ \renewcommand*{\glsgroupskip}{}%
+ \renewcommand*{\glossentry}[2]{%
+ \glsentryitem{##1}% Entry number if required
+ \glstarget{##1}{\glossentrysymbol{##1}} &
+ \glsentryuseri{##1} &
+ \glossentryname{##1} &
+ ##2\tabularnewline%
+ }%
+}
+\end{Preamble*}
+%
+Innerhalb von \Macro{newglossarystyle} wird \Macro{glossaryheader} für einen
+Tabellenkopf definiert, wie er auch für eine \Environment{longtable}"=Umgebung
+erscheinen würde. In hier vorgestellten Fall werden Kopf beziehungsweise Fuß
+mit \Macro{endhead} respektive \Macro{endfoot} terminiert. Diese werden beim
+einem möglichen Seitenumbruch zu Beginn und am Ende auf jeder Seite gesetzt.
+%
+\begin{Preamble+}
+}% Ende von AfterPackage*
+
+\end{Preamble+}
+%
+Das Symbolverzeichnis kann sich nun durchaus sehen lassen.
+%
+\begin{Hint}
+\printsymbols[style=symblongtabu]
+\end{Hint}
+\begin{quoting}[rightmargin=0pt]
+\newglossarystyle{symbtabu}{%
+ \setglossarystyle{symblongtabu}%
+ \renewenvironment{theglossary}{%
+ \begin{tabu}spread 0pt{ccX<{\strut}l}%
+ }{%
+ \bottomrule\end{tabu}%
+ }%
+ \renewcommand*{\glossaryheader}{%
+ \toprule
+ \bfseries Symbol & \bfseries Einheit &
+ \bfseries Name & \bfseries Seite(n)
+ \tabularnewline\midrule%
+ }%
+}
+\printsymbols[style=symbtabu]
+\end{quoting}
+
+
+\subsection{Literaturverzeichnis}
+\label{sec:biblatex}
+Für das Erstellen eines Literaturverzeichnisses wurde in der Vergangenheit fast
+ausschließlich \hologo{BibTeX} verwendet. Lieder wird auch heute immer noch
+darauf verwiesen, obwohl es seit einigen Jahren das Paket \Package{biblatex}
+gibt, welches insbesondere für neue Dokumente definitiv den Vorzug erhalten
+sollte. Auch die Umstellung älterer \hologo{BibTeX}"=Datenbanken ist mit
+wenigen Handgriffen realisierbar. Für \Package{biblatex} existieren eine Menge
+unterschiedlicher, vordefinierter Zitierstile, welche sich im Vergleich zu
+\hologo{BibTeX} auch wesentlich leichter an die individuellen Bedürfnisse
+anpassen lassen.
+
+Ein weiterer Vorteil ist die Unterstützung von Datenbanken, welche eine
+UTF"~8"~Kodierung nutzen, wenn \Application{biber} zur Sortierung der Einträge
+verwendet wird. Welcher Stil und welches Backend zur Sortierung genutzt werden
+soll, lässt sich durch das optionale Argument beim Laden des Paketes festlegen.
+Damit die Zitierstile das optimale Ergebnis erzielen wird das vorherige Laden
+von \Package{csquotes} sehr empfohlen.
+%
+\begin{Preamble}
+\usepackage{csquotes}
+\usepackage[backend=biber,style=alphabetic]{biblatex}
+
+\end{Preamble}
+%
+Die Erstellung einer Literaturdatenbank kann entweder von Hand oder mithilfe
+einer externen Anwendung erfolgen. Für die letztgenannte Variante sind die
+Programme \Application{Citavi} respektive \Application{JabRef} empfehlenswert.
+Auf eine Einführung in diese Anwendungen wird jedoch verzichtet.
+
+Die \Environment{filecontents}"=Umgebung kann verwendet werden, um innerhalb
+eines \hologo{LaTeX}"=Dokumentes externe Dateien direkt beim Kompilieren zu
+erstellen. Damit wird nachfolgend für dieses Tutorial eine Literaturdatenbank
+\File{\jobname-temp.bib} mit drei Einträgen manuell erzeugt. Die Umgebung
+gehört zu den Bordmitteln von \hologo{LaTeXe}. Das Paket \Package{filecontents}
+erweitert die Umgebung dahingehend, dass \emph{bereits existierende Dateien}
+überschrieben werden. Hier ist folglich Vorsicht geboten. Der große Vorteil ist
+jedoch, dass die erweiterte \Environment{filecontents}"=Umgebung~-- im
+Gegensatz zur Standardversion~-- die Dateien in der gleichen Eingabekodierung
+erzeugt, wie das verwendete Dokument. Diese Funktionalität wird für dieses
+Tutorial benötigt, weshalb auf das Laden des Paketes \Package{filecontents}
+nicht verzichtet werden kann.
+%
+\begin{Preamble}
+\usepackage{filecontents}
+\end{Preamble}
+%
+Es werden folgend drei Einträge für die Literaturdatenbank definiert. Jeder
+Eintrag einer \File{.bib}-Datei beginnt mit \PValue{@}\PName{Eintragstyp}.
+Direkt danach ist für jeden Eintrag ein \emph{eindeutiges} \PParameter{Label}
+festzulegen. Anschließend können für unterschiedliche Felder die dazugehörige
+Werte eingetragen werden. Die verwendbaren Eintragstypen und die für diesen
+benötigten und zusätzlich nutzbaren Felder sind in der Dokumentation von
+\Package{biblatex} zu finden.
+%
+\begin{Preamble*}
+\begin{filecontents}{\jobname-temp.bib}
+@book{goossens94,
+ author = {Goossens, Michel and Mittelbach, Frank
+ and Samarin, Alexander},
+ title = {The LaTeX Companion},
+ date = {1994},
+ publisher = {Addison-Wesley},
+ location = {Reading, Massachusetts},
+ language = {english},
+}
+@book{knuth84,
+ author = {Knuth, Donald E.},
+ title = {The \TeX book},
+ date = {1984},
+ maintitle = {Computers \& Typesetting},
+ volume = {A},
+ publisher = {Addison-Wesley},
+ location = {Reading, Massachusetts},
+ language = {english},
+}
+@manual{hanisch14,
+ author = {Hanisch, Falk},
+ title = {Ein \LaTeX"=Bundle für Dokumente
+ im neuen Corporate Design
+ der Technischen Universität Dresden},
+ date = {2014},
+ subtitle = {Benutzerhandbuch},
+ location = {Dresden},
+ language = {german},
+}
+\end{filecontents}
+\end{Preamble*}
+%
+Nachdem die Literaturdatenbank erstellt wurde, muss diese auch noch eingebunden
+werden. Dies geschieht mit:
+%
+\begin{Preamble}
+\addbibresource{\jobname-temp.bib}
+
+\end{Preamble}
+%
+Im einfachsten Fall werden die Einträge mit \Macro{cite}\Parameter{macro} im
+Dokument referenziert. Für die Referenzierung werden durch \Package{biblatex}
+weitere Befehle angeboten.
+%
+\begin{refsection}[\jobname-temp.bib]
+\begin{Trunk+}
+\section{Referenzen und das Literaturverzeichnis}
+Das Literaturverzeichnis wir auf Basis der nachfolgend verwendeten
+Zitate erstellt und ist auf Seite~\pageref{sec:bibliography} zu finden.
+\end{Trunk+}
+\begin{Trunk*}
+In diesem Textabschnitt werden die zwei bekannten \LaTeX-Bücher
+\cite{knuth84} und \cite{goossens94} sowie das Anwenderhandbuch
+\cite{hanisch14} zitiert.
+
+\end{Trunk*}
+%
+Das Literaturverzeichnis wird mit \Macro{printbibliography} ausgegeben, wobei
+nicht alle Einträge der Literaturdatenbank sondern lediglich die tatsächlich
+referenzierten verwendet werden. Der Parameter \PValue{heading=bibintoc} führt
+zu einem Eintrag in das Inhaltsverzeichnis.
+%
+\begin{Hint}
+\printbibliography[heading=bibintoc]
+\end{Hint}
+\begin{quoting}[rightmargin=0pt]
+\makeatletter
+\let\markboth\@gobbletwo
+\let\markright\@gobble
+\makeatother
+\vspace*{-\baselineskipglue}
+\printbibliography
+\end{quoting}
+\end{refsection}
+
+
+
+\section{Anfangszitat oder Schlauer Spruch}
+\renewcommand*\dictumwidth{.4\textwidth}%
+\dictum[Johann Wolfgang von Goethe]{Es irrt der Mensch, solang er strebt.}%
+\bigskip\noindent
+Oftmals möchte der Autor einer wissenschaftlichen Arbeit für das erste oder
+auch jedes Kapitel ein Zitat oder ähnliches voranstellen. Dies kann mit dem
+Befehl \Macro{dictum}\OParameter{Autor}\Parameter{Text} erfolgen. Damit wird
+der im obligatorischen Argument angegeben Ausspruch in einer \Macro{parbox}
+ausgegeben. Das optionale Argument kann für die Angabe des Autors verwendet
+werden. Soll das Ganze für einen Teil oder ein Kapitel erfolgen, sollte der
+Befehl \Macro{dictum} innerhalb von \Macro{setpartpreamble} beziehungsweise
+\Macro{setchapterpreamble} verwendet werden. Genaueres hierzu und zu den
+Möglichkeiten, die Gestalt des Zitats zu beeinflussen, ist in der Anleitung von
+\KOMAScript{} \scrguide zu finden. Es folgt ein Beispiel zur Verwendung.
+%
+\begin{Hint}
+\setchapterpreamble{%
+ \dictum[Johann Wolfgang von Goethe]{%
+ Es irrt der Mensch, solang er strebt.%
+ }%
+ \bigskip
+}
+\chapter{Einleitung}
+
+\end{Hint}
+
+
+
+\section{Gleitumgebungen für Abbildungen und Tabellen}
+\label{sec:floats}
+Die Positionierung von Abbildungen mit \hologo{LaTeX} kann zu Beginn für viele
+Anfänger durchaus frustrierend sein. Das liegt häufig am Missverständnis der
+beiden Standard"=Gleitobjektumgebungen für Tabellen (\Environment{table}) und
+Abbildungen (\Environment{figure}). Diese sind in erster Linie zur Ergänzung
+des Fließtextes gedacht und sollten für das prinzipielle Verständnis des
+Geschrieben nicht notwendig sein. Das oft geforderte Verhalten, ein Gleitobjekt
+an einer ganz bestimmten und explizit festgelegten Position im Text zu setzen,
+ist nicht erforderlich, insbesondere weil dadurch der Lesefluss unnötig
+unterbrochen wird.
+
+Vielmehr ist es sinnvoll, Gleitobjekte entweder am Anfang oder Ende einer Seite
+zu platzieren, wo sie den Lesefluss deutlich weniger stören. Allerdings sollte
+auf jedes Gleitobjekt im Fließtext über eine Referenz~-- beispielsweise mit dem
+Befehl \Macro{autoref} aus dem Paket \Package{hyperref}~-- Bezug genommen und
+gegebenenfalls eine kurze Erläuterung gegeben werden. Weitere Erläuterungen zum
+Thema \emph{Querverweise} ist in \autoref{sec:references} nachlesen.
+
+Ein weitere Grund, \hologo{LaTeX} die Platzierung von Tabellen und Abbildungen
+vollständig zu überlassen, ist die Ungewissheit über den vorhandenen Platz auf
+der momentan erzeugten Seite. In nicht wenigen Fällen kann es passieren, dass
+das einzufügende Objekt zu groß für die aktuelle Seite ist, was einen wahrlich
+schlechten Seitenumbruch mit einer schlecht gefüllten Seite zur Folge hätte.
+Die Verwendung einer Gleitumgebung für eine Abbildung wird im nachfolgenden
+Quelltextauszug exemplarisch gezeigt, das Ergebnis ist in \autoref{fig:example}
+zu sehen. Worauf man bei Gleitobjekten in jedem Fall achten sollte, dass die
+Verwendung von \Macro{label} immer erst \emph{nach} \Macro{caption} erfolgt, da
+der erzeugte Anker sich sonst nicht auf das Objekt bezieht.
+%
+\begin{Trunk+}
+\section{Grafiken und Tabellen in Gleitumgebungen}
+Es folgt die Demonstration von Gleitumgebungen, welche sowohl für
+Grafiken als auch Tabellen verwendet werden sollten. Im vorliegenden
+Beispiel kann unter Umständen der Eindruck entstehen, dass diese Seite
+etwas zu überladen mit Gleitobjekten ist. Dies liegt nicht an der
+Verwendung der Gleitobjekte sondern vielmehr am zu geringen Textvolumen
+und den eingeschränkten Möglichkeiten von \LaTeX{}, diese an geigneten
+Stellen zu platzieren.
+
+\subsection{Abbildungen als Gleitobjekte und das Einbinden von Grafiken}
+In \autoref{fig:example} wird dargestellt, wie eine Grafik im PDF-Format
+in ein Dokument eingebunden und auf diese verwiesen werden kann. Ein
+Querverweis auf ein Gleitobjekt sollte im Fließtext am besten mit Befehl
+\texttt{\textbackslash autoref\{\emph{<Label>}\}} erstellt werden.
+Hierfür ist ein entsprechender Anker am zu referenziereden Objekt nötig,
+welcher mit dem Makro \texttt{\textbackslash label} erzeugt wird. Dabei
+ist entscheidend, dass dieser Anker erst \emph{nach} der Beschriftung des
+Objektes, welche mit \texttt{\textbackslash caption} erstellt wird,
+gesetzt wird.
+
+\end{Trunk+}
+\begin{Trunk}
+\begin{figure}
+\centering
+\includegraphics{TUD-black}
+\caption{Beispielgrafik}\label{fig:example}
+\end{figure}
+
+\end{Trunk}
+\InputCode\noindent
+%
+In der Konsequenz ist dies hier ein Plädoyer, bei der Platzierung von Tabellen
+und Abbildungen vollständig auf \hologo{LaTeX} zu vertrauen. Anfangs kann der
+Anwender dies als Kontrollverlust empfinden. Sobald Sie jedoch Änderungen am
+Dokument vornehmen und eventuell in einem Kapitel einen Absatz ergänzen oder
+gar einen ganzen Abschnitt hinzufügen werden sie dankbar sein, sich in der
+Folge nicht mit der Neupositionierung sämtlicher Objekte herumschlagen zu
+müssen. Leidgeprüfte Anwender einschlägiger Textverarbeitungsprogramme können
+gewiss ein Lied darüber singen.
+
+
+
+\subsection{Beeinflussung des Gleitprozesses}
+Sobald das Dokument inhaltlich den finalen Zustand erreicht hat, haben Sie sich
+zu diesem Zeitpunkt schon mit Sicherheit an das standardmäßige Vorgehen von
+\hologo{LaTeX} gewöhnt und müssen respektive wollen gegebenenfalls nur noch bei
+wenigen Gleitobjekten~-- über das optionale Argument der Gleitumgebungen zur
+individuellen Empfehlung für die Platzierung~-- nachjustieren. Mögliche Werte
+sind:
+%
+\begin{description}[labelindent=\parindent,leftmargin=*,style=nextline]
+\item[\POParameter{h} (here)]
+ An der Stelle, wo es im Quelltext angegeben wurde~-- falls genügend Platz
+ vorhanden ist
+\item[\POParameter{t} (top)]
+ Am oberen Ende der aktuellen oder der folgenden Seite
+\item[\POParameter{b} (bottom)]
+ Am unteren Ende der aktuellen Seite
+\item[\POParameter{p} (page)]
+ Auf einer separaten Seite für mindestens ein Gleitobjekt
+\end{description}
+%
+Sie können eine, mehrere oder alle Optionen angeben, wobei die Reihenfolge
+keine Rolle spielt. Der Algorithmus arbeitet alle ihm zur Verfügung gestellten
+Optionen immer in der zuvor aufgezählten Reihenfolge ab, wobei diese nur als
+Empfehlung und nicht als Verpflichtung angesehen werden. Es gibt folglich keine
+Garantie, dass Ihr Vorschlag akzeptiert wird. Fügen sie dem optionalen Argument
+ein~\PValue{!} an, so verhindern Sie, dass \hologo{LaTeX} weitere Optionen
+evaluiert. Das Gleitobjekt wird anhand der optionalen Parameter positioniert,
+selbst wenn dabei ein unschönes Seitenlayout entsteht. Kann das Gleitobjekt
+technisch unmöglich auf die angegebene Weise positioniert werden, wird dieses
+sowie alle folgenden aufgeschoben und am Ende des Abschnitts oder Kapitels
+angehängt. Dies ist ein Effekt, den man in den seltensten Fällen will.
+
+Außerdem können die Pakete \Package{flafter} sowie \Package{placeins} genutzt
+werden. Das erstgenannte verhindert das Auftreten von Gleitobjekten im Dokument
+vor ihrer Definition im Quelltext. In der Konsequent bedeutet dies, dass die
+Option \POParameter{t} Gleitobjekte nur am oberen Ende der nächsten Seite
+jedoch nicht auf der aktuellen zulässt. Mit dem zweiten Paket können Barrieren
+definiert werden, an welchen die Ausgabe aller noch in der Warteschlange
+befindlichen Gleitobjekte forciert wird~-- beispielsweise vor bestimmten
+Gliederungsüberschriften. Im Handbuch zu \TUDScript findet sich außerdem zum
+Thema \enquote{\manualhyperref{sec:tips:floats}{Platzierung von Gleitobjekten}}
+ein eigener Abschnitt mit weiterführenden Informationen.
+
+
+\subsection{Abstellen des Gleitprozesses}
+Oftmals wird verlangt, den Gleitprozess vollständig abzustellen. Dies bringt in
+den meisten Fällen einige Probleme mit sich. Die Folge sind sehr ein unruhiges
+Erscheinungsbild das Satzspiegels aufgrund schlecht gefüllter Seiten, außerdem
+viel Handarbeit mit hart kodierten Seitenumbrüchen sowie ein gegenüber von
+Umbruchänderungen äußerst anfälliges Dokument. Sollte es in \emph{Einzelfällen}
+dennoch erforderlich sein, dass eine Abbildung oder eine Tabelle nicht gleitet,
+ist die einzig logische Konsequenz, auf die Verwendung einer Gleitumgebung
+gänzlich zu verzichten.
+
+Hierfür eignen sich Umgebungen wie \Environment{center}, um etwas Abstand vor
+und nach dem Objekt zu erzeugen und \Environment{minipage}, um Grafik oder
+Tabelle und Beschriftung zusammenzuhalten. Die \KOMAScript-Klassen stellen für
+diese Anwendung das Makro \Macro{captionof} zur Verfügung. Damit lassen sich
+Bildunter- sowie Tabellenüberschriften auch ohne die gleitenden Umgebungen
+\Environment{figure} beziehungsweise \Environment{table} erzeugen. Alternativ
+kann das Paket \Package{float} verwendet werden, welches für Gleitumgebungen
+den Platzierungsparameter \POParameter{H} zur Verfügung stellt. Allerdings ist
+dies meiner Meinung nach alles andere als konsequent und sinnvoll.
+
+
+\subsection{Gleitobjektlayout}
+\label{sec:floatlayout}
+%
+Es wurde bis jetzt das prinzipielle Vorgehen bei der Nutzung von Gleitobjekten
+beschrieben. Allerdings gibt es auch noch einige typographische Aspekte, welche
+zu beachten sind. Zum einen sollte beachtet werden, dass die Beschriftung einer
+Abbildung immer unterhalb dieser erfolgen sollte, bei Tabellen hingegen eine
+Überschrift gesetzt wird. Hierfür muss der Anwender ohne die Verwendung eines
+zusätzlichen Paketes selber Sorge tragen, indem er den Befehl \Macro{caption}
+entweder vor oder nach dem eigentlichen Objekt in der Gleitumgebung verwendet.
+Der zweite Punkt ist die verwendete Schrift innerhalb der Gleitumgebungen.
+
+Damit sich der Inhalt dieser besser vom restlichen Fließtext abhebt und vom
+Leser direkt als nicht dazugehörig erkannt werden kann ist es ratsam, diesen in
+serifenloser Schrift zu setzen~-- die Verwendung einer Serifenschrift für den
+Fließtext vorausgesetzt. Das Paket \Package{floatrow} bietet die Möglichkeiten,
+diese beiden Punkte automatisiert umzusetzen. Außerdem wird zur Formatierung
+der Beschriftungen das Paket \Package{caption} benötigt. Sollten Sie noch keine
+Erfahrung mit dem Setzen von Tabellen mit \hologo{LaTeX} haben, so wäre zuvor
+ein Blick in \autoref{sec:tables} sehr sinnvoll.
+
+\newcommand*\tableexample[1][]{%
+ \begin{tabularx}{.75\textwidth}{@{}XXX@{}}
+ \toprule
+ \textbf{Erste Spalte} & \textbf{Zweite Spalte} &
+ \textbf{Dritte Spalte} \tabularnewline
+ \midrule
+ Etwas Blindtext für die erste Spalte &
+ Etwas Blindtext für die zweite Spalte &
+ Etwas Blindtext für die dritte Spalte
+ \tabularnewline
+ \bottomrule
+ \end{tabularx}
+ #1%
+}
+\begin{table}
+\tableexample[%
+ \caption{Eine Tabelle in einer Gleitumgebung}\label{tab:tabular}%
+]
+\end{table}
+
+Normalerweise wird eine Tabelle sowie deren Beschriftung innerhalb einer
+\Environment{table}"=Gleitumgebung in der selben Schrift wie der Fließtext
+gesetzt, die korrekte Platzierung der Bezeichnungen bleibt dem Anwender
+überlassen. Zu sehen ist dies in \autoref{tab:tabular}. Im Folgenden wird
+gezeigt, wie sich dies automatisiert für alle Gleitobjekte im Dokument ändern
+lässt. Die \emph{Formatierung} der Bezeichnungen von Gleitobjekten kann
+mithilfe des Paketes \Package{caption} angepasst werden.
+%
+\begin{Preamble}
+\usepackage{caption}
+\end{Preamble}
+%
+Diese stellt den Befehl \Macro{captionsetup} bereit. Mit diesem werden die
+Beschriftungen in Serifenlosen und das Label zur besseren Unterscheidung im
+fetten Schriftschnitt gesetzt.
+%
+\begin{Preamble*}
+\captionsetup{font=sf,labelfont=bf,labelsep=space}
+\end{Preamble*}
+%
+Um die \emph{Platzierung} der Beschriftungen beeinflussen sowie den Inhalt
+einer Gleitumgebung formatieren zu können, wird \Package{floatrow} geladen.
+\begin{Preamble}
+\usepackage{floatrow}
+\end{Preamble}
+%
+Der Inhalt von Gleitobjekten wird~-- entgegen des normalen Verhaltens~-- durch
+\Package{floatrow} automatisch zentriert gesetzt. Zusätzlich soll der Inhalt
+noch die serifenlose Schriftfamilie verwenden. Dies lässt sich mit der Nutzung
+des Befehls \Macro{floatsetup} realisieren.
+%
+\begin{Preamble*}
+\floatsetup{font=sf}
+\end{Preamble*}
+%
+Ohne weitere Maßnahmen werden durch \Package{floatrow} alle Beschriftungen
+unterhalb der Gleitobjekte ausgegeben. Da das Ziel jedoch die Verwendung von
+Tabellenüberschriften und Abbildungsunterschriften ist, wird dies für Tabellen
+angepasst.
+%
+\begin{Preamble*}
+\floatsetup[table]{style=plaintop}
+\end{Preamble*}
+%
+\begin{table}
+\tableexample[%
+ \caption{%
+ Eine Tabelle in einer Gleitumgebung mit einer angepassten Formatierung%
+ }\label{tab:tabularnew}%
+]
+\end{table}%
+%
+Damit wären alle Einstellungen soweit erfolgt, in \autoref{tab:tabularnew} ist
+das Ergebnis zu sehen. Zumeist soll die Beschriftung für Gleitobjekte nicht
+zentriert sondern linksbündig gesetzt werden. Dies lässt sich ebenfalls mit den
+Mitteln des Paketes \Package{caption} mit der Option \Option{justification}
+erreichen. Damit dies auch für einzeilige Beschriftungen angewendet wird, muss
+zusätzlich die Einstellung \Option{singlelinecheck} deaktiviert werden. Mit der
+Option \Option{hang} kann außerdem beeinflusst werden, ob eine mehrzeilige
+Beschriftung nach einem Zeilenumbruch direkt unter dem Label oder mit Einzug
+fortgesetzt werden soll.
+%
+\begin{Preamble*}
+\captionsetup{singlelinecheck=off,format=hang,justification=raggedright}
+\end{Preamble*}
+%
+In \autoref{tab:tabularnew} fällt die Beschriftung auf, welche die Breite der
+Tabelle überragt. Falls linksbündige Gleitumgebungsbezeichnungen verwendet
+werden, wie dies gerade eingestellt wurde, besteht das Problem quasi bei jeder
+Beschriftung, da diese immer am linken Seitenrand beginnen. Auch hierfür stellt
+das Paket \Package{floatrow} die Befehle \Macro{ttabbox} für Tabellen sowie
+\Macro{ffigbox} für Abbildungen bereit.
+
+Beide Makros erwarten im ersten obligatorischen Argument den Befehl
+\Macro{caption} für die Beschriftung gegebenenfalls gefolgt von einem mit
+\Macro{label} gesetzten Textanker. Im zweiten Argument wird das Objekt
+selbst~-- sprich Tabelle oder Abbildung~-- angegeben. Zu verwenden sind diese
+folgendermaßen:
+%
+\begin{Hint}
+\begin{table}
+\ttabbox
+ §\Parameter{Tabellendefinition}§
+ {\caption§\Parameter{Beschriftung}§\label§\Parameter{Label}§}
+\end{table}
+\begin{figure}
+\ffigbox
+ §\Parameter{Abbildungsdefinition}§
+ {\caption§\Parameter{Beschriftung}§\label§\Parameter{Label}§}
+\end{figure}
+\end{Hint}
+%
+Diese beiden Befehle sorgen dafür, dass die Beschriftungen in der jeweiligen
+Breite des Objektes gesetzt werden. Entspricht das zu setzende Objekt in seiner
+Breite dem Wert \Length{textwidth}~-- es ist genauso Breit wie die Laufweite
+des Fließtextes~--, so ist deren Gebrauch nicht notwendig. Das Ergebnis der
+Verwendung von \Macro{ttabbox} ist in \autoref{tab:tabularbox} zu sehen.
+
+Bei der Nutzung der beiden Befehle sollte darauf geachtet werden, dass zwischen
+dem Ende des Objektes und der schließender Klammer des zweiten Argumentes kein
+ungewolltes Leerzeichen gesetzt wird. Dies lässt sich am einfachsten vermeiden,
+indem direkt nach dem Ende des Objektes mit \Macro{end}\PParameter{tabularx},
+\Macro{end}\PParameter{tabu}, \Macro{end}\PParameter{tikz} etc. die schließende
+Klammer des zweiten Argumentes oder das Kommentarzeichen \PValue{\%} folgt.
+
+\begin{table}
+\ttabbox{\tableexample}{%
+ \caption[Eine mit \Macro{ttabbox} gesetzte Tabelle in einer Gleitumgebung]{%
+ Eine in einer Gleitumgebung gesetzte Tabelle in Verbindung mit dem Befehl
+ \Macro{ttabbox}, welcher vom Paket \texttt{floatrow} für Beschriftungen in
+ Objektbreite bereitgestellt wird%
+ }\label{tab:tabularbox}%
+}
+\end{table}
+
+
+\subsection{Untergleitobjekte}
+\label{sec:subfloats}
+Das Paket \Package{floatrow} stellt allerhand Möglichkeiten zur Erstellung von
+nebeneinanderliegenden Gleitobjekten sowie \enquote{Untergleitobjekten} bereit
+und ist insbesondere in Verbindung mit den Fähigkeiten von \Package{caption}
+respektive \Package{subcaption} sehr gut für dieses Unterfangen nutzbar. Dafür
+werden die Umgebungen \Environment{floatrow} und \Environment{subfloatrow}
+angeboten, wobei letztere für ein Beispiel verwendet wird. Als erstes muss der
+Typ der zu erzeugenden Labels für Abbildungen und Tabellen definiert werden.
+Dies geschieht mit dem Befehl \Macro{DeclareCaptionSubType} aus dem Paket
+\Package{subcaption}.
+%
+\begin{Preamble}
+\DeclareCaptionSubType[alph]{figure}
+\DeclareCaptionSubType[alph]{table}
+\end{Preamble}
+%
+Anschließend werden die Untergleitobjekte formatiert. Dabei wird zum einen nach
+dem alphanumerischen Label eine schließende Klammer gesetzt. Zum andern wird
+ein Eintragen der Untergleitobjekte in das Abbildungsverzeichnis unterdrückt.
+Lediglich die Bildunterschrift der Hauptabbildung wird in dieses eingetragen.
+%
+\begin{Preamble*}
+\captionsetup[subfloat]{labelformat=brace,list=off}
+
+\end{Preamble*}
+%
+Mit diesen Einstellungen wird eine gleitende Abbildung erstellt, welche in
+\autoref{fig:logos} zu sehen ist. Wurde der entsprechende Anker gesetzt, kann
+zusätzlich auf die untergeordnete \autoref{fig:tud} sowie \autoref{fig:ddc}
+verwiesen werden.
+%
+\begin{Trunk+}
+\subsection{Untergleitobjekte}
+Nachdem nun schon eine gleitende Abbildung und zwei gleitende Tabellen
+erstellt wurden, folgt jetzt noch eine gleitende Abbildung mit zwei
+Unterabbildungen. Durch die drei gesetzten Anker kann im Fließtext
+sowohl auf \autoref{fig:logos} als auch auf \autoref{fig:tud} sowie
+\autoref{fig:ddc} verwiesen werden.
+
+\end{Trunk+}
+\begin{Trunk}
+\begin{figure}
+\ffigbox[\FBwidth]%
+ {\begin{subfloatrow}%
+ \ffigbox[\FBwidth]%
+ {\fbox{\includegraphics[height=2cm]{TUD-black}}}%
+ {\caption{Eine Abbildung}\label{fig:tud}}%
+ \ffigbox[\FBwidth]%
+ {\fbox{\includegraphics[height=2cm]{DDC-21}}}%
+ {\caption{Eine weitere Abbildung}\label{fig:ddc}}%
+ \end{subfloatrow}}%
+ {\caption{Eine Gleitumgebung mit zwei Abbildungen}\label{fig:logos}}%
+\end{figure}
+
+\end{Trunk}
+\InputCode
+
+
+
+\section{Tabellensatz}
+\label{sec:tables}
+Zum Thema \enquote{Tabellensatz mit \hologo{LaTeX}} sind bereits zahlreiche
+\hrfn{http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}{Leitfäden}
+\cite{reichert2012} im Internet zu finden. Deshalb werde ich meine Ausführungen
+zu diesem Punkt relativ kurz halten. Zwei Regeln sollten beim Satz von Tabellen
+in jedem Fall beachtet werden:
+%
+\begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.,noitemsep]
+\item keine vertikalen Linien
+\item keine doppelten Linien
+\end{enumerate}
+%
+Das Paket \Package{booktabs} ist für den Satz von hochwertigen Tabellen eine
+große Hilfe und stellt die Befehle \Macro{toprule}, \Macro{midrule} sowie
+\Macro{cmidrule} und \Macro{bottomrule} für unterschiedliche horizontale Linien
+bereit.
+%
+\begin{Preamble}
+\usepackage{booktabs}
+\end{Preamble}
+%
+Außerdem existiert das Paket \Package{array}, welches mit dem Befehl
+\Macro{newcolumntype} die Definition eigener Spaltentypen sowie die Verwendung
+sogenannter \enquote{Hooks} vor und nach Einträgen innerhalb einer Spalte
+(\PValue{>\{\dots\}}\PName{Spaltentyp}\PValue{<\{\dots\}}) ermöglicht.
+%
+\begin{Preamble}
+\usepackage{array}
+\end{Preamble}
+%
+Für alle im Folgenden vorgestellten Umgebungen zum Setzen von Tabellen gilt,
+dass die Inhalte zeilenweise angegeben werden, wobei die Einträge für die
+einzelnen Spalten mit~\PValue{\&} voneinander zu trennen sind. Das Beenden
+einer Tabellenzeile und der Wechsel zur nächsten erfolgt normalerweise mit
+\PValue{\bsc\bsc}. Da jedoch einige \hologo{LaTeX}-Pakete diesen Befehl
+innerhalb von Tabellen lokal ändern ist es zur Vermeidung unnötiger Fehler
+wesentlich sicherer, das Zeilenende ausschließlich mit \Macro{tabularnewline}
+zu setzen.
+
+Im Folgenden wird in einigen Tabellen bei der Definition der Spalten vor der
+ersten und nach der letzten das Konstrukt~\PValue{@\{\}} verwendet, was das
+\manualhyperref{sec:tips:table}{Einrücken dieser Tabellenspalten verhindert}
+und im Handbuch genauer erläutert wird.
+
+
+\subsection{Die Standardumgebung \Environment{tabular}}
+Normalerweise gibt es vier unterschiedliche Spaltentypen. Dabei stehen die drei
+Spaltentypen~\PValue{l},~\PValue{c}~und~\PValue{r} für linksbündige, zentrierte
+und rechtsbündige Spalten, welche allerdings keinen Zeilenumbruch erlauben. Der
+Inhalt wird quasi wie in einer \Macro {mbox} gesetzt, wodurch die Spalten sehr
+breit werden und über den Seitenrand hinausragen können.
+
+Der Spaltentyp~\PValue{p}\Parameter{Breite} hingegen legt die Spaltenbreite
+fest und setzt den Inhalt in jeder Zeile in eine \Macro{parbox}, wobei diese
+wird mit ihrer obersten Zeile an der Grundlinie ausgerichtet wird. Das Paket
+\Package{array} stellt außerdem die Spaltentypen~\PValue{m}\Parameter{Breite}
+und~\PValue{b}\Parameter{Breite} bereit, welche ebenfalls mit \Macro{parbox}
+gesetzt werden, die Ausrichtung an der Grundlinie jedoch zentriert respektive
+an der unteren Zeile der Box erfolgt. Es folgt ein Beispiel zur Verwendung der
+\Environment{tabular}-Umgebung.
+%
+\begingroup
+\pcolumnfuzz{70pt}
+\begin{Hint*}
+\begin{tabular}{lcrp{33mm}}
+\toprule
+\textbf{Linksbündig} & \textbf{Zentriert} &
+\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline
+\midrule
+a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline
+aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline
+aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline
+\bottomrule
+\end{tabular}
+\end{Hint*}
+\endgroup
+%
+Die Tabellenbreite ergibt sich aus der Breite der einzelnen Spalten. Bei dieser
+Umgebung liegt es allein beim Anwender, auf die korrekte Breite der Tabelle zu
+achten, damit diese nicht über die Seitenränder hinausragt. Das kann auf Dauer
+recht aufwändig werden. Das Festlegen der Gesamtbreite einer Tabelle durch den
+Anwender und das automatische Berechnen einiger oder aller Spaltenbreiten ist
+sicher die angenehmere Variante. Wie sich dies sehr komfortabel bewerkstelligen
+lässt wird~-- ebenso wie die Lösung des Problems des nicht umbrochenen Eintrags
+in der letzten Spalte der dritten Zeile der obigen Tabelle~-- im nachfolgenden
+Abschnitt demonstriert.
+
+
+\subsection{Tabellen mit variabler Spaltenbreite}
+Die Pakete \Package{tabularx}, \Package{tabulary} oder auch \Package{tabu}
+stehen für das Setzen von Tabellen mit dynamisch berechneter Spaltenbreite bei
+fest vorgegebener Gesamtbreite zur Verfügung, welche nun kurz vorgestellt
+werden sollen. Die beiden erstgenannte Pakete \Package{tabularx} sowie
+\Package{tabulary} stammen vom gleichen Paketautor und haben sich als sehr
+stabil erwiesen. Das Paket \Package{tabu} ist relativ neu und versucht, viele
+Funktionalitäten ganz unterschiedlicher Pakete für den Tabellensatz in sich zu
+vereinen und glänzt insbesondere durch seine Vielseitigkeit.
+%
+\begin{Preamble}
+\usepackage{tabularx}
+\usepackage{tabulary}
+\usepackage{tabu}
+
+\end{Preamble}
+%
+Jedes der Pakete stellt einen oder mehrere neue Spaltentypen zur Verfügung.
+Dies bedeutet jedoch nicht, dass in den dazugehörigen Tabellenumgebungen
+lediglich diese genutzt werden können. Vielmehr werden diese zusätzlich
+angeboten, was bedeutet, dass auch in den neuen Tabellenumgebungen weiterhin
+die gewohnten Spaltentypen~\PValue{l},~\PValue{c},~\PValue{r}~und~\PValue{p}
+verfügbar sind.
+
+\subsubsection{Die Tabellenumgebung \Environment{tabularx}}
+\label{sec:tabularx}
+Das Paket \Package{tabularx} stellt den Spaltentyp~\PValue{X} bereit, welcher
+prinzipiell dem Spaltentyp~\PValue{p} entspricht. Auch für diesen wird eine
+\Macro{parbox} verwendet, allerdings wird deren Breite \emph{automatisch}
+berechnet. Die Umgebung \Environment{tabularx} erwartet vor der Angabe der
+Spaltentypen als obligatorisches Argument die gewünschte Breite der Tabelle. Zu
+beachten ist, dass Spalten vom Typ~\PValue{l},~\PValue{c}~und~\PValue{r}
+weiterhin ohne Zeilenumbruch gesetzt werden. Nur für Spalten vom Typ~\PValue{X}
+und deren Derivate wird aus dem verbliebenen Platz die Breite berechnet. Für
+die \Environment{tabularx}-Umgebung wird das vorherige Beispiel wiederholt.
+%
+\begingroup
+\pcolumnfuzz{70pt}
+\begin{Hint*}
+\begin{tabularx}{11.7cm}{lcrX}
+\toprule
+\textbf{Linksbündig} & \textbf{Zentriert} &
+\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline
+\midrule
+a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline
+aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline
+aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline
+aaaa & bbbb & cccc & \hspace{0pt}Worttrennungsmusterkontrolle
+\tabularnewline
+\bottomrule
+\end{tabularx}
+\end{Hint*}
+\endgroup
+%
+Die Breite der letzten Spalte wurde dabei aus der Angabe der Gesamtbreite mit
+\PValue{11.7cm} berechnet. Des Weiteren ist zu sehen, wie das Problem des
+Zeilenumbruchs behandelt werden kann. Normalerweise wird das erste Wort in
+einem Absatz von \hologo{LaTeX} \emph{nie} umbrochen. Dies kann durch das
+Einfügen eines breitenlosen Leerzeichens mit \Macro{hspace}\PParameter{0pt}
+umgangen werden. Die gefundene Lösung ist allerdings alles andere als elegant.
+
+Mit den Möglichkeiten des Paketes \Package{array} ist das Problem relativ
+schnell gelöst. Es wird mit \Macro{newcolumntype} ein neuer Spaltentyp
+definiert. Das erste Argument von \Macro{newcolumntype} legt den Namen des
+Spaltentyps fest. Mit \PValue{>\Parameter{Definitionen}}\Parameter{Typ} wird im
+zweiten Argument das Ausführen von \PName{Definitionen} vor dem Setzen des
+eigentlichen Inhaltes in einer \Parameter{Typ}"~Spalte definiert. Es wird ein
+neuer, auf der \PValue{X}"~Spalte basierender Typ~\PValue{Y} definiert, welcher
+zu Beginn der Spalte den Phantomabstand automatisch einfügt. Darauf basierend
+werden drei Spaltentypen für den links- und rechtsbündigen sowie zentrierten
+Textsatz mit einem möglichen Zeilenumbruch erstellt.
+%
+\begin{Trunk+}
+\subsection{Tabellen als Gleitobjekte}
+Tabellen sollten in der \texttt{table}"=Gleitumgebung gesetzt werden.
+Welche Umgebung für die Tabelle selbst dabie genutzt wird ist dabei
+nicht relevant. Es können sowohl die normale \texttt{tabular}"=Umgebung
+als auch die Umgebungen \texttt{tabularx}, \texttt{tabulary} sowie
+\texttt{tabu} für variable Spaltenbreiten bei einer fest vorgegebenen
+Tabellenbreite oder jede andere Tabellenumgebung genutzt werden.
+Nachfolgend wird dies an mehreren Beispielen demonstriert.
+
+\subsubsection{Eine gleitende tabularx-Tabelle}
+Es wird eine Tabelle mithilfe der \texttt{tabularx}-Umgebung erstellt.
+Zu sehen ist diese in \autoref{tab:tabularx}. Für diese werden zuvor
+neue Spaltentypen definiert.
+
+\end{Trunk+}
+\CodeHook{\renewcommand*{\newcolumntype}[2]{}}
+\begin{Trunk*}
+\newcolumntype{Y}{>{\hspace{0pt}}X}
+\newcolumntype{D}{>{\raggedright}Y}
+\newcolumntype{E}{>{\centering}Y}
+\newcolumntype{F}{>{\raggedleft}Y}
+
+\end{Trunk*}
+%
+Nachfolgend wird die Tabelle gesetzt mit den neuen Spaltentypen gesetzt.
+%
+\begin{Trunk}
+\begin{table}
+\begin{tabularx}{\textwidth}{@{}DEFY@{}}
+\toprule
+\textbf{Linksbündig} & \textbf{Zentriert} &
+\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline
+\midrule
+Ein linksbündiger Blindtext zur Demonstration einer S"~Spalte &
+Ein zentrierter Blindtext zur Demonstration einer T"~Spalte &
+Ein rechtsbündiger Blindtext zur Demonstration einer U"~Spalte &
+Ein längerer Blindtext im Blocksatz zur besseren Demonstration
+einer Y"~Spalte\tabularnewline
+\bottomrule
+\end{tabularx}
+\caption{Eine \texttt{tabularx}-Tabelle}\label{tab:tabularx}
+\end{table}
+
+\end{Trunk}
+\InputCode\noindent
+%
+Die Breite der einzelnen \PValue{X}"~Spalten und deren Derivaten ist dabei
+identisch. Ein Gewichten der Spaltenbreiten untereinander ist prinzipiell
+möglich, allerdings mit einigen Einschränkungen verbunden. Genaueres hierzu ist
+der Dokumentation des Paketes \Package{tabularx} zu entnehmen.
+
+\subsubsection{Die Tabellenumgebung \Environment{tabulary}}
+\label{sec:tabulary}
+Das Paket \Package{tabulary} verfolgt im Vergleich zum zuvor beschrieben Paket
+\Package{tabularx} einen etwas anderen Ansatz. Anstatt die verfügbare Breite
+über alle Spalten gleichmäßig zu verteilen, werden die Spaltenbreite anhand des
+jeweils darin befindlichen Inhaltes zueinander gewichtet. Dafür werden die vier
+Spaltentypen~\PValue{L},~\PValue{C},~\PValue{R}~sowie~\PValue{J} zur Verfügung
+gestellt. Diese entsprechen prinzipiell dem Spaltentyp~\PValue{p}, allerdings
+wird deren Breite \emph{automatisch} berechnet, wobei Spalten mit mehr Inhalt
+breiter gesetzt werden. Für die automatische Berechnung der Spaltenbreiten muss
+verständlicherweise die gewünschte Gesamtbreite angegeben werden, was bei der
+\Environment{tabulary}-Umgebung mit dem ersten obligatorischen Argument vor der
+Angabe der Spaltendefinition erfolgt. Werden für die Tabelle eine oder mehrere
+Spalten vom Typ~\PValue{l},~\PValue{c}~und~\PValue{r} angegeben, so werden
+diese weiterhin in ihrer natürlichen Breite und ohne Zeilenumbruch gesetzt.
+
+Die Gewichtung der Spalten vom Typ~\PValue{LCRJ} und deren Derivate wird aus
+dem verbliebenen Platz die Breite berechnet. Die Berechnung der Spaltenbreite
+kann durch den Anwender außerdem über zwei Längen beeinflusst werden. Mit
+\Length{tymin} wird die Mindestgröße für Spalten festgelegt. Sollten Sie
+wissen, dass eine Spalte sehr schmal wird, können Sie allerdings auch einfach
+eine der Standardspalten~\PValue{lcrp} nutzen. Mit der Länge \Length{tymax}
+kann die maximale Ausdehnung einer der Spalten vom Typ~\PValue{LCRJ} festgelegt
+werden. Für die \Environment{tabulary}-Umgebung wird das vorherige Beispiel
+wiederholt. Zu beachten ist, dass die Spaltentypen~\PValue{LCRJ} mit dem Makro
+\Macro{tyformat} bereits ein breitenloses Leerzeichen einsetzen, womit sich das
+manuelle Einfügen von selbigem durch den Anwender erübrigt.
+%
+\begin{Trunk+}
+\subsubsection{Eine gleitende tabulary-Tabelle}
+Es wird eine Tabelle mithilfe der \texttt{tabulary}-Umgebung erstellt.
+Zu sehen ist diese in \autoref{tab:tabulary}.
+
+\end{Trunk+}
+\begin{Trunk}
+\begin{table}
+\begin{tabulary}{\textwidth}{@{}LCRJ@{}}
+\toprule
+\textbf{Linksbündig} & \textbf{Zentriert} &
+\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline
+\midrule
+Ein linksbündiger Blindtext zur Demonstration einer L"~Spalte &
+Ein zentrierter Blindtext zur Demonstration einer C"~Spalte &
+Ein rechtsbündiger Blindtext zur Demonstration einer R"~Spalte &
+Ein wesentlich längerer und absolut inhaltsleerer Blindtext im
+Blocksatz für eine um einiges bessere Demonstration einer J"~Spalte
+\tabularnewline
+\bottomrule
+\end{tabulary}
+\caption{Eine \texttt{tabulary}-Tabelle}\label{tab:tabulary}
+\end{table}
+
+\end{Trunk}
+\InputCode
+
+
+\subsubsection{Die Tabellenumgebung \Environment{tabu}}
+\label{sec:tabu}
+Das Paket \Package{tabu} bietet eine mächtige und komfortable Alternative zu
+\Package{tabularx}. Es kam in diesem Tutorial bereits für die Verzeichnisse von
+Abkürzungen und Symbolen in \autoref{sec:glossaries} zum Einsatz. Leider ist
+das Paket in er aktuellen Version~v2.8 mit Vorsicht zu genießen. Zum einen
+wären für das Paket in der aktuellen Version seit geraumer Zeit ein paar
+kleinere Bugfixes notwendig, mehr dazu sehen Sie später. Außerdem wird sich die
+\hrfn{https://groups.google.com/d/topic/comp.text.tex/xRGJTC74uCI}{%
+ Benutzerschnittstelle in einer zukünftigen Version
+} sehr stark ändern. Sie sollten sich bewusst sein, dass mit der Version~v2.8
+gesetzte Dokumente gegebenenfalls später angepasst werden müssen.
+
+Nichtsdestotrotz soll hier die Verwendung der \Environment{tabu}-Umgebung
+gezeigt werden, insbesondere weil es für das Setzen umbruchfähiger Tabellen mit
+automatisch berechneten Spaltenbreiten momentan (fast) keine Alternative zu der
+Umgebung \Environment{longtabu} gibt.
+
+Dieses Paket definiert ebenso einen Spaltentyp~\PValue{X}, welchem allerdings
+zusätzlich ein optionales Argument angehängt werden kann. Mit diesem lässt sich
+sowohl die Gewichtung der automatisch berechneten Spalten untereinander als
+auch die Positionierung zur Grundlinie sowie die Ausrichtung des Inhaltes
+ändern.
+%
+\begingroup
+\pcolumnfuzz{70pt}
+\begin{Hint*}
+\begin{tabu} to 11.7cm {lcrX}
+\toprule
+\textbf{Linksbündig} & \textbf{Zentriert} &
+\textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline
+\midrule
+a & b & c & Dieser Text wird im Blocksatz gesetzt\tabularnewline
+aa & bb & cc & Auch Zeilenumbrüche sind vorhanden\tabularnewline
+aaaa & bbbb & cccc & Worttrennungsmus\-terkontrolle\tabularnewline
+aaa & bbb & ccc & Worttrennungsmusterkontrolle\tabularnewline
+\bottomrule
+\end{tabu}
+\end{Hint*}
+\endgroup
+%
+Das Beispiel zeigt auch gleich das momentan meiner Meinung nach größte Problem
+des Paketes: Bei mehrzeiligen Zellen fehlt vertikale Zwischenraum zur nächsten
+Tabellenzeile. Nun hat man entweder die Möglichkeit, bei jeder Angabe einer
+Spalte im Tabellenkopf, welche eine \Macro{parbox} verwendet, mit dem Ausdruck
+\PValue{>\{\Macro{strut}\}} die fehlenden Unterlänge auszugleichen oder man
+definiert sich abermals einen entsprechenden Spaltentyp. Das ist für die
+\PValue{X}"~Spalten der Umgebung \Environment{tabu} etwas schwieriger, da
+\Macro{newcolumntype} normalerweise die Definition eines optionalen Argumentes
+nicht vorgesehen ist. Mit ein wenig Trickserei ist das dennoch möglich:
+%
+\begin{Trunk+}
+\subsubsection{Eine gleitende tabu-Tabelle}
+Eine andere Variante zum Setzen einer Tabelle mit variabler Spaltenbreite
+und festgelegter Gesamtbreite ist in \autoref{tab:tabu} zu sehen. Diese
+würde in der Umgebung \texttt{tabu} gesetzt. Auch für diese wird zuerst
+ein neuer Spaltentyp definiert, welcher die Unzulänglichkeiten der
+Umgebung reduziert. Außerdem wird \texttt{\textbackslash ttabbox} aus dem
+Paket \texttt{floatrow} verwendet, um die Beschriftung auf die Breite der
+Tabelle zu begrenzen.
+
+\end{Trunk+}
+\CodeHook{\renewcommand*{\newcolumntype}[2]{}}
+\begin{Trunk*}
+\makeatletter
+\newcolumntype{Z}{}
+\renewcommand*\NC@rewrite@Z[1][]{%
+ \NC@find>{\hspace{0pt}}X[#1]<{\@finalstrut\@arstrutbox}%
+}
+\makeatother
+
+\end{Trunk*}
+%
+Anschließend kann der \PValue{Z}"~Spaltentyp äquivalent zu \PValue{X} genutzt
+werden. Zu beachten ist dabei insbesondere die Möglichkeit, die Spalten in
+ihrer resultierenden Breite sehr einfach zueinander gewichten zu können~-- im
+Gegensatz zur Umgebung \Environment{tabularx}, wo dieses Unterfangen etwas
+schwieriger ist. Das Ergebnis ist in \autoref{tab:tabu} zu sehen. Zu beachten
+ist dabei die Verwendung von \Macro{ttabbox} aus dem Paket \Package{floatrow},
+um die Beschriftung an die Breite der Tabelle anzupassen. Genaueres dazu in
+\autoref{sec:floatlayout}.
+%
+\begin{Trunk}
+\begin{table}
+\ttabbox{%
+\begin{tabu} to .8\textwidth {@{}Z[3,l]Z[3,c]Z[3,r]Z[2,j]@{}}
+ \toprule
+ \textbf{Linksbündig} & \textbf{Zentriert} &
+ \textbf{Rechtsbündig} & \textbf{Blocksatz} \tabularnewline
+ \midrule
+ Ein linksbündiger Blindtext zur Demonstration einer Z[l]"~Spalte &
+ Ein zentrierter Blindtext zur Demonstration einer Z[c]"~Spalte &
+ Ein rechtsbündiger Blindtext zur Demonstration einer Z[r]"~Spalte &
+ Ein Blindtext im Blocksatz innerhalb einer Z"~Spalte
+ \tabularnewline
+ \bottomrule
+ \end{tabu}%
+}{%
+ \caption[Eine \texttt{tabu}-Tabelle]{%
+ Eine \texttt{tabu}-Tabelle in Verbindung mit dem Befehl
+ \texttt{\textbackslash ttabbox}, welcher vom Paket \texttt{floatrow}
+ für Beschriftungen in Objektbreite bereitgestellt wird%
+ }\label{tab:tabu}%
+}
+\end{table}
+
+\end{Trunk}
+\InputCode
+
+
+
+\section{Querverweise}
+\label{sec:references}
+%
+Damit alle möglichen Querverweise in einem PDF-Dokument automatisch verlinkt
+werden, sollte das Paket \Package{hyperref} geladen werden. Um die erzeugten
+Links verträglich aussehen zu lassen, werden die Optionen \Option{colorlinks}
+sowie \Option{linkcolor}[blue] verwendet. Da \Package{hyperref} allerhand
+Veränderungen an vielen Standardbefehlen vornimmt, sollte dieses als letztes in
+der Präambel eingebunden werden. Nur Pakete, bei denen in der Dokumentation
+explizit darauf hingewiesen wird, dass diese nach \Package{hyperref} zu laden
+sind, sollten auch danach folgen. Eines dieser wenigen Pakete ist das in diesem
+Tutorial verwendete \Package{glossaries}.
+%
+\begin{Preamble}
+\usepackage[colorlinks,linkcolor=blue]{hyperref}
+
+\end{Preamble}
+%
+Um auf ein bestimmtes Objekt wie beispielsweise eine Tabelle, eine Abbildung
+oder einen bestimmten Anschnitt im Dokument referenzieren zu können, muss mit
+\Macro{label}\Parameter{label} ein Anker für selbiges an der entsprechenden
+Stelle gesetzt werden. Bei Überschriften sollte dies direkt nach der Nutzung
+des Gliederungsbefehls\footnote{\Macro{chapter}, \Macro{section} etc.}
+erfolgen. Für Abbildungen, Tabellen oder andere Objekte in Gleitumgebungen muss
+der Anker unmittelbar nach der Verwendung von \Macro{caption} respektive
+\Macro{captionof} erstellt werden. Um nun auf diesen Anker zu referenzieren,
+sollte nicht \Macro{ref} sondern \Macro{autoref} im Fließtext genutzt werden.
+Letztgenannter Befehl erzeugt nicht nur einen Link mit der dazugehörigen
+Nummerierung sondern stellt dieser die Bezeichnung des referenzierten Objektes%
+\footnote{\enquote{Abbildung}, \enquote{Tabelle}, \dots} voran.
+
+Mit dem Befehl \Macro{pageref} lässt sich auf die Seite eines Ankers verweisen.
+Das Paket \Package{varioref} kann dabei unterscheiden, ob der Anker sich auf
+der aktuellen Seite, auf einer Seite direkt davor beziehungsweise danach oder
+auf einer entfernteren Seite befindet und dementsprechend einen Hinweis darauf
+ausgeben. Hierfür werden die Befehle \Macro{vref} sowie \Macro{vpageref} zur
+Verfügung gestellt. Das Paket \Package{cleveref} vereint die Vorzüge von
+\Macro{autoref} in Verbindung mit \Macro{vref} durch den Befehl \Macro{cref}.
+
+
+
+\section{Zitate}
+Für das wörtliche Zitieren kann das Paket \Package{csquotes} verwendet werden.
+Dieses stellt den Befehl \Macro{enquote} bereit, der die kennzeichnenden
+Anführungszeichen automatisch in Abhängigkeit der verwendeten Dokumentsprache
+setzt.
+%
+\begin{Hint}
+\usepackage{csquotes}
+\end{Hint}
+%
+Da für die unterschiedlichen Fachdisziplinen teils sehr unterschiedliche
+Zitierrichtlinien existieren, kann hier keine allgemeingültige Empfehlung zu
+Stilfragen gegeben werden. Zu beachten ist auf jeden Fall, dass zu wörtlichen
+Zitaten eine Quellenangabe erfolgen \emph{muss}. Dabei sollte darauf geachtet
+werden, dass nicht nur die Quelle selbst sondern zumindest auch die Seitenzahl
+des Zitats angegeben wird.
+%
+\begin{refsection}[\jobname-temp.bib]
+\begin{Trunk+}
+\section{Zitate}
+Bei der Verwendung von wörtlichen Zitaten sollten diese als solche
+gekennzeichnet werden.
+\end{Trunk+}
+\begin{Trunk*}
+\enquote{Dies ist ein zugegebenermaßen nicht sehr sinnvolles Zitat.}
+\cite[58]{hanisch14}
+\end{Trunk*}
+\begin{Trunk+}
+Für eine möglichst gut nachvollziehbare Referenz sollte nicht nur
+das Werk selber sondern zumindest die Seitenzahl und gegebenfalls
+der Absatz der originalen Textstelle angegeben werden.
+\end{Trunk+}
+%
+Längere Zitate sollten abgesetzt vom Fließtext ausgegeben werden. Hierfür
+bieten sowohl die Standard"~ als auch die \KOMAScript-Klassen standardmäßig
+die Umgebungen \Environment{quote} und \Environment{quotation} an. Allerdings
+verwenden beide fest eingestellte Absatzauszeichnungen. Sollen jedoch die
+mit der Option \Option{parskip} vorgegebenen Absatzeinstellungen beachtet
+werden, so bietet sich das Paket \Package{quoting} an, welches die gleichnamige
+Umgebung definiert und die Absätze wie im restlichen Dokument auszeichnet.
+%
+\begin{Preamble}
+\usepackage{quoting}
+
+\end{Preamble}
+%
+\begin{Trunk*}
+\begin{quoting}
+\enquote{%
+ Dies ist ein noch sinnloseres Zitat. Allerdings wird zumindest die
+ Wirkung der Umgebung \texttt{quoting} bei der Absatzauszeichnung
+ deutlich.
+
+ Wie man sieht, ist der zweite Absatz~-- wie jeder weitere~-- aufgrund
+ der Einstellung \texttt{parskip=false} eingezogen.
+}
+\cite[sinngemäß nach][\pno{} 12, zweiter Absatz]{hanisch14}
+\end{quoting}
+\end{Trunk*}
+\begin{Trunk+}
+Ebenfalls sollten sinngemäße Zitate mit einer möglichst genauen Referenz
+angegeben werden. Dies kann im Laufe der Arbeit acuh für einen selbst von
+Vorteil sein, wenn man beispielsweise die originale Textpassage noch
+einmal analysieren möchte.
+
+\end{Trunk+}
+\begin{quoting}[rightmargin=0pt]
+\makeatletter
+\let\markboth\@gobbletwo
+\let\markright\@gobble
+\makeatother
+\vspace*{-\baselineskipglue}
+\printbibliography
+\end{quoting}
+\end{refsection}
+
+
+
+\section{Worttrennungen}
+\label{sec:hyphenation}
+Bei der Verwendung von \hologo{LaTeXe} gibt es ab und an das Problem, dass
+bestimmte Wörter am Zeilenende falsch getrennt werden. Dies hat historische
+Gründe. Als \hologo{TeX} in den 1980er-Jahren entwickelt wurde, war es aufgrund
+der zu dieser Zeit zur Verfügung stehenden Speichergrößen schier unmöglich, die
+Worttrennungen mit einem Wörterbuchansatz umzusetzen. Stattdessen wurde~-- um
+den benötigten Speicherbedarf möglichst gering zu halten~-- ein Algorithmus
+entworfen, der mögliche Trennstellen in einem Wort mit einer Mustererkennung
+ermittelt. Die verwendeten Muster basieren jedoch auf der englischen Sprache,
+weshalb auch heute noch in nicht-englischsprachigen Texten teilweise falsche
+Trennstellen gefunden werden.
+
+Zu Beginn wurde bei der Einleitung in \autoref{sec:introduction} auf das Paket
+\Package{hyphsubst} hingewiesen, welches dieses Manko~-- aufgrund der nicht
+mehr so stark gegebenen Restriktionen bezüglich des Speicherbedarfes~-- mit
+einem Wörterbuch behebt. Dieses Paket muss \emph{vor} dem Laden der
+Dokumentklasse eingebunden werden. Außerdem wird das Paket \Package{babel}
+benötigt. Damit auch Wörter mit Umlauten richtig getrennt werden, ist zudem die
+Verwendung der \PValue{T1}"~Schriftkodierung notwendig. Der Beginn einer
+Dokumentpräambel könnte folgendermaßen aussehen:
+%
+\begin{Hint}
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+\documentclass[ngerman,§\PName{Klassenoptionen}§]§\Parameter{Dokumentklasse}§
+\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
+\usepackage[T1]{fontenc}
+\usepackage{babel}
+§\dots§
+\end{Hint}
+%
+Die Option \Option{ngerman} lädt dabei die Trennmuster für die neue deutsche
+Rechtschreibung, wobei der Wert \PValue{ngerman-x-latest} die neuesten aller
+verfügbaren Trennmuster lädt. Für die alte Orthographie ist stattdessen
+\Option{german}[german-x-lastest] zu verwenden.
+
+
+\subsection{Einmalige und globale Worttrennungskorrektur}
+Sollte es dennoch passieren, dass ein Wort nicht richtig getrennt wird, kann
+dies manuell korrigiert werden. Dafür stellt das Paket \Package{babel} mehrere
+Kurzbefehle zur Verfügung. Außerdem lassen sich mit \Macro{hyphenation} für ein
+bestimmtes Wort alle potentiellen Trennstellen angeben. Im \TUDScript-Handbuch
+ist im Kapitel Tipps~\&~Tricks zum Thema \manualhyperref{sec:tips:hyphenation}{%
+Worttrennungen in deutschsprachigen Texten} mehr zu finden. Dort wird auch
+erläutert, wie das Problem der alleinigen Trennung von Wörtern mit Bindestrich
+an selbigem umgangen werden kann.
+
+
+\subsection{Worttrennung im Flattersatz}
+Normalerweise ist bei \hologo{LaTeXe} die Worttrennung im Flattersatz%
+\footnote{\Macro{raggedright}, \Macro{raggedleft}, \Macro{center}} deaktiviert.
+Mit dem Paket \Package{ragged2e} kann diese hierfür aktiviert werden. Wird es
+geladen, stehen dem Anwender die Befehle \Macro{Centering}, \Macro{RaggedLeft}
+sowie \Macro{RaggedRight} zur Verfügung, um Worttrennungen im Flattersatz zu
+verwenden. Mit der Paketoption \Option{newcommands} können die originalen
+Befehle \Macro{centering}, \Macro{raggedleft} und \Macro{raggedright} mit der
+Definition der neuen überschrieben werden. Genaueres dazu ist der Dokumentation
+des Paketes zu entnehmen.
+
+
+
+\section{Mikrotypographische Feinheiten}
+Unter Mikrotypographie oder Detailtypographie versteht man die Gestaltung
+folgender Feinheiten des Schriftsatzes:
+\begin{itemize}[noitemsep]
+\item korrekte Anwendung der Satzzeichen
+\item Schriftart, Kapitälchen und Ligaturen
+\item Wortabstände sowie Laufweite (Buchstaben- und Zeichenabstände)
+\item optischer Randausgleich
+\end{itemize}
+
+\noindent Die letzten beiden Punkte werden sensationell gut durch das Paket
+\Package{microtype} bearbeitet. Dieses muss lediglich in der Präambel geladen
+werden, wobei es nicht mit der klassischen \hologo{TeX}-Engine, wohl jedoch mit
+\hologo{pdfTeX} als auch \hologo{LuaTeX} sowie \hologo{XeTeX} funktioniert.
+%
+\begin{Preamble}
+\usepackage[babel]{microtype}
+
+\end{Preamble}
+%
+Die Option \Option{babel} ist nur notwendig, wenn einzelne Textpassagen oder
+das gesamte Dokument in Englisch oder Französisch verfasst werden und hierfür
+die genutzte Sprache mit den entsprechenden Möglichkeiten von \Package{babel}
+eingestellt wird.
+
+Das korrekte Anwenden von Satzzeichen wird für deutschsprachige Texte bereits
+in mehreren Artikeln \cite{neubauer1996,neubauer1997,struckmann2007,bier2009}
+sehr gut erläutert, weshalb ein Hinweis auf diese Arbeiten für weitergehende
+Informationen zu dieser Thematik absolut ausreichend ist. Nachfolgend werden
+Tipps gegeben sowie einige \hologo{LaTeXe}-Pakete vorgestellt, die bei der
+Umsetzung der in den genannten Artikeln erläuterten Empfehlungen helfen.
+
+
+\subsection{Abkürzungen}
+In \cite{struckmann2007} wird gleich zu Beginn darauf hingewiesen, wie häufig
+verwendete Abkürzungen sehr einfach im Dokument verwendet werden können und
+dabei typographisch richtig gesetzt werden. Beispielsweise gelingt dies für die
+Abkürzung \enquote{zum~Beispiel~(z.\,B.)} mit der nachfolgenden Definition:
+%
+\begin{Hint}
+\newcommand{\zB}{\mbox{z.\,B.}\xspace}
+\end{Hint}
+%
+Wenn ohnehin das Paket \Package{glossaries} für Akronyme verwendet wird, kann
+alternativ dazu auch dessen Funktionalität genutzt werden. Nach dem Einbinden
+braucht man in der Präambel lediglich Folgendes einfügen:
+%
+\begin{Hint}
+ \newignoredglossary{abbreviation}
+ \newcommand*\newabbreviation[4][]{%
+ \newacronym[type=abbreviation,#1]{#2}{\mbox{#3\xspace}}{#4}%
+ }%
+\end{Hint}
+%
+Mit \Macro{newignoredglossary} wird dabei ein Glossar erstellt, welche bei der
+Ausgabe aller Glossare mit \Macro{printglossaries} ignoriert wird. Im Dokument
+kann die gewünschte Abkürzung mit
+%
+\begin{Hint*}
+\newabbreviation{zB}{z.\,B.}{zum Beispiel}
+\end{Hint*}
+%
+definiert und über die gewohnten Befehlen aus \Package{glossaries} verwendet
+werden.
+%
+\begin{Hint*}
+Die Ausgabe der eben definierten Abkürzung erfolgt \acrshort{zB} mit dem
+Befehl \texttt{\textbackslash acrshort}. Wurde \texttt{glossaries} mit
+der Option \texttt{shortcut} geladen, kann alternativ auch das kürzere
+Makro \texttt{\textbackslash acs} genutzt werden.
+\end{Hint*}
+
+
+\subsection{Mathematiksatz}
+Von \hologo{LaTeXe} werden einige Umgebungen für das Setzen mathematischer
+Formeln und Ausdrücke bereitgestellt, welche meist jedoch nicht \emph{alle}
+Anforderungen eines Nutzers an den Mathematiksatz erfüllen können. Das Paket
+\Package{amsmath} bietet deshalb eine Reihe weiterführender Umgebungen für das
+Setzen von einzeiligen und mehrzeiligen sowie ausgerichteter Formeln zur
+Verfügung. Auf eine Einführung in das Paket wird~-- aufgrund der bereits in
+großer Zahl vorhandenen Einführungen~-- in diesem Tutorial verzichtet. Außerdem
+stehen mit \Tutorial{mathtype} und \Tutorial{mathswap} zwei weitere Tutorials
+zur Verfügung, die sich explizit mit der Thematik eines guten mathematischen
+Satz beschäftigen.
+
+Das Paket \Package{amsmath} stellt den De-facto-Standard für den mathematischen
+Satz mit \hologo{LaTeXe} dar. Allerdings wird es~-- insbesondere aus diesem
+Grund~-- nur sehr \enquote{vorsichtig} weiterentwickelt. Für das Setzen neuer
+Dokumente sollte deswegen das Paket \Package{mathtools} verwendet werden,
+welches zwar auf \Package{amsmath} basiert, dieses jedoch um zusätzliche
+Funktionalitäten ergänzt und Bugfixes bereithält.
+
+
+\subsection{Einheiten}
+Mit dem Paket \Package{siunitx} lassen sich sowohl physikalische Einheiten als
+auch Zahlen typographisch korrekt setzen. Sollen die Funktionalitäten in einem
+deutschsprachigen Dokument problemlos nutzbar sein, so sind die Hinweise zum
+\manualhyperref{sec:tips:siunitx}{Setzen von Einheiten mit \Package{siunitx}}
+im \TUDScript-Handbuch zu beachten. Das Paket \Package{units} ist nicht ganz so
+mächtig wie \Package{siunitx}, kann allerdings als pragmatische Alternative
+gesehen und genutzt werden.
+
+
+\subsection{Darstellung von mathematischen Brüchen}
+Für ansehnliche und insbesondere im Fließtext gut lesbare mathematische Brüche
+stellt das Paket \Package{xfrac} den Befehl \Macro{sfrac} zur Verfügung.
+%
+\begin{Preamble}
+\usepackage{xfrac}
+
+\end{Preamble}
+
+
+\subsection{Ligaturen}
+Die meisten \hologo{LaTeX}-Schriftfamilien enthalten Ligaturen, die für einen
+typographisch sauberen Satz bei zusammengesetzten Wörtern, wie sie gerade im
+Deutschen relativ häufig vorkommen, aufgetrennt werden müssten. Mit der
+Anwendung \href{http://www.ctan.org/pkg/delig}{\Application{DeLig}} kann dies
+automatisiert geschehen. Wird \hologo{LuaLaTeX} als Dokumentprozessor genutzt,
+kann alternativ für dieses Unterfangen das Paket \Package{selnolig} verwendet
+werden.
+
+
+\subsection{Listen}
+\label{sec:lists}
+Für Auflistungen aller Art bietet \hologo{LaTeX} die drei Standardumgebungen
+\Environment{iteimze}, \Environment{enumerate} und \Environment{description}.
+Das häufigste Anliegen bei der Verwendung dieser Umgebungen ist das Reduzieren
+der Abstände zwischen den einzelnen, mit \Macro{item} gesetzten Punkten, welche
+sehr häufig als zu groß empfunden werden. Eine Aufzählung erscheint ohne
+weitere Anpassungen normalerweise so:
+%
+\CodePreamble{%
+ Aufzählung mit einer \Environment{itemize}-Umgebung und Standardabständen:%
+}
+\begin{Hint*}
+\begin{itemize}
+\item erster Punkt
+\item zweiter Punkt
+\item dritter Punkt
+\end{itemize}
+\end{Hint*}
+%
+Dabei wirken die Abstände zwischen den einzelnen Punkten tatsächlich etwas
+überdimensioniert. Mit dem Paket \Package{enumitem} können die Umgebungen für
+Auflistungen einfach an die individuellen Bedürfnisse angepasst werden.
+%
+\begin{Preamble}
+\usepackage{enumitem}
+\end{Preamble}
+Um diese ungewollten Abstände zwischen den Listenpunkten zu entfernen, kann der
+Schlüssel \Option{noitemsep} verwendet werden. Mit dem Befehl \Macro{setlist}
+werden~-- ohne zusätzliche Angaben im optionalen Argument~-- alle Umgebungen
+für Aufzählungen global geändert. Hier soll dies lediglich für die Umgebung
+\Environment{itemize} geschehen:
+\begin{Preamble*}
+\setlist[itemize]{noitemsep}
+
+\end{Preamble*}
+%
+Das Ergebnis stellt sich folgendermaßen dar:
+%
+\CodePreamble{%
+ Aufzählung mit einer \Environment{itemize}-Umgebung ohne vertikale Abstände:%
+}
+\begin{Hint*}
+\begin{itemize}
+\item erster Punkt
+\item zweiter Punkt
+\item dritter Punkt
+\end{itemize}
+
+\end{Hint*}
+%
+Alternativ zur globalen Änderung einer speziellen oder aller Aufzählungslisten
+kann der Schlüssel \PValue{noitemsep} auch nur gezielt an einzelne Umgebung
+über das optionale Argument weitergereicht werden.
+
+Natürlich erlaubt das Paket noch weitergehende Einstellungen für die Umgebungen
+\Environment{itemize}, \Environment{enumerate} und \Environment{description}.
+Zusätzlich können diese für eigene Aufzählungsumgebungen geklont und den
+eigenen Bedürfnissen angepasst werden. Genaueres hierzu ist der Dokumentation
+des Paketes \Package{enumitem} entnehmen.
+
+
+\subsection{Datumsformatierung}
+Das Paket \Package{isodate} stellt den Befehl \Macro{printdate} bereit, welcher
+für die Formatierung von Datumsangaben verwendet werden kann. Wird das Paket
+mit einer der \TUDScript-Dokumentklassen geladen, wird der genannte Befehl
+automatisch für alle bereitgestellten Datumsfelder verwendet.
+%
+\begin{Preamble}
+\usepackage{isodate}
+
+\end{Preamble}
+
+
+\subsection{Auslassungspunkte}
+Das typographisch richtige Setzen von Auslassungspunkten mit den Befehlen
+\Macro{dots} repsektive \Macro{textellipsis} wird im Handbuch unter
+\manualhyperref{sec:tips:dots}{Das Setzen von Auslassungspunkten} genauer
+beschrieben, weshalb hier nur kurz darauf eingegangen wird. Es wird das Paket
+\Package{ellipsis} benötigt.
+%
+\begin{Preamble}
+\usepackage{ellipsis}
+\end{Preamble}
+%
+Für deutschsprachige Texte sollten außerdem noch
+%
+\begin{Preamble}
+\let\ellipsispunctuation\relax
+
+\end{Preamble}
+%
+ausgeführt werden.
+
+
+
+\section{Erstellen von Abbildungen}
+\label{sec:figures}
+Die einfachste Möglichkeit, in einer wissenschaftlichen Abhandlung Grafiken zu
+verwenden, ist sicherlich das Einbinden von externen Abbildungen mit dem Befehl
+\Macro{includegraphics}. Allerdings ist für eine wissenschaftliche Arbeit in
+höchster Qualität meiner Meinung nach das bloße Einfügen einer gescannten oder
+heruntergeladenen Grafik unzureichend. Vielmehr sollte diese zum einen als
+skalierbare Vektorgrafik vorliegen, um sowohl die höchste Druckqualität als
+auch die Wiederverwendbarkeit sicherzustellen, und zum anderen in ihrer
+Gestaltung dem verwendeten Layout des verfassten Dokumentes entsprechen. Dies
+betrifft sowohl die eingesetzten Farben und Schriften als auch die Stärke der
+verwendeten Linien.
+
+Zum Zeichnen von Grafiken sind die freien Programme \Application{LaTeXDraw} und
+besonders \Application{Inkscape} empfehlenswert, da diese die Verwendung der
+Dokumentschriften innerhalb der erstellten Grafiken ermöglichen. Im Handbuch zu
+\TUDScript wird dies für \manualhyperref{sec:tips:svg}{\Application{Inkscape}}
+genauer erläutert. Eine andere Variante ist das \enquote{Programmieren} von
+Grafiken. Die zwei bekanntesten \hologo{LaTeX}-Pakete sind \Package{tikz}(pgf)
+und \Package{pstricks}(pstricks-base). Für diese beiden wird im Folgenden eine
+Abbildung exemplarisch erstellt, ohne dabei tiefer ins Detail gehen zu wollen.
+Ebenfalls wird darauf verzichtet, diese im Kopierbeispiel einzubinden. Für
+beide Pakete gibt es neben der umfangreichen Dokumentation zahlreiche Beispiele
+und Erläuterungen im Internet.
+
+
+\subsection{Das Paket \Package{tikz}}
+Zur Verwendung von \Package{tikz}(pgf) ist nicht viel zu sagen. Einfach in der
+Dokumentpräambel einbinden und es kann losgehen. Für das nachfolgende Beispiel
+sind außerdem noch zwei weitere Programmbibliotheken für \Package{tikz}(pgf)
+notwendig.
+%
+\begin{Hint}
+\usepackage{tikz}
+\usetikzlibrary{chains}
+\usetikzlibrary{decorations.markings}
+\tikzset{on grid}
+\end{Hint}
+%
+Ein kurze Anmerkungen zur Skalierung der Grafiken möchte ich mir erlauben.
+Normalerweise verwendet \Package{tikz}(pgf) Koordinaten im Zentimeter"=Raster.
+Ich persönlich bevorzuge der relativierte Skalierung auf die Textbreite des
+Dokumentes, wobei eine Einheit genau \SI{1}{\percent} dieser entspricht. Das
+kann mit folgendem Quelltext erreicht werden:
+%
+\CodeHook{\renewcommand\newlength[1]{}}
+\begin{Hint*}
+\newlength{\tikzunit}
+\setlength{\tikzunit}{.01\textwidth}
+\tikzset{x=\tikzunit,y=\tikzunit}
+\end{Hint*}
+%
+Nachfolgend wird eine Grafik innerhalb einer Gleitumgebung exemplarisch
+erstellt. Das Ergebnis ist in \autoref{fig:tikz} zu sehen.
+
+\begin{Hint?}
+\begin{figure}
+\begin{tikzpicture}
+ \tikzstyle{inner box}=[%
+ text width=17\tikzunit,
+ align=center,
+ rectangle,
+ inner sep=.5\tikzunit,
+ minimum height=8\tikzunit,
+ font=\hspace{0pt},
+ draw
+ ]
+ \tikzstyle{inner label}=[align=center, font=\scriptsize]
+ \tikzstyle{inner box chain}=[every node/.style={on chain}]
+ \tikzstyle{inner box chain below}=[%
+ inner box chain, node distance=8\tikzunit,continue chain=going below
+ ]
+ \tikzstyle{inner box chain right}=[%
+ inner box chain,node distance=35\tikzunit,continue chain=going right
+ ]
+ \tikzstyle{inner box chain above}=[%
+ inner box chain,node distance=16\tikzunit,continue chain=going above
+ ]
+ \tikzstyle{pstarrow->}=[%
+ decoration={markings,
+ mark=at position 1 with {\arrow[xscale=1.5]{stealth}};
+ },
+ postaction={decorate},
+ shorten >=0.7pt
+ ]
+ \newcommand\tikzparbox[2][9]{%
+ \parbox{#1\tikzunit}{\centering\hspace{0pt}#2}%
+ }
+ \begin{scope}[start chain]
+ \begin{scope}[inner box chain below]
+ \node(NE)[inner box]{Navigations\-ebene};
+ \node(NB)[inner label]{gewählte Fahrtroute\\zeitlicher Ablauf};
+ \node(BE)[inner box]{{Bahnführungs\-ebene}};
+ \node(BS)[inner label]{%
+ gewählte Führungsgrößen:\\Sollspur, Sollgeschwindigkeit%
+ };
+ \node(SE)[inner box]{Stabilisierungs\-ebene};
+ \end{scope}
+ \begin{scope}[inner box chain right]
+ \node(LQ)[inner box]{Längs- und Querdynamik};
+ \node(FO)[inner box]{Fahrbahn\-oberfläche};
+ \end{scope}
+ \begin{scope}[inner box chain above]
+ \node(FR)[inner box]{Fahrraum\\\smallskip{\scriptsize Straße
+ und\\\vspace{-1.5ex}Verkehrssituation}};
+ \node(SN)[inner box]{Straßennetz};
+ \end{scope}
+ \end{scope}
+ \begin{scope}[inner label,minimum size=0pt]
+ \draw [pstarrow->] (FO) -| ++(13.5,-12) to
+ node [above]{Istspur, Istgeschwindigkeit} ++(-97,0) |- (SE);
+ \draw [pstarrow->] (FR) -| ++(14 ,-32) to
+ node [above]{Bereich sicherer Führungsgrößen} ++(-98,0) |- (BE);
+ \draw [pstarrow->] (SN) -| ++(14.5 ,-52) to
+ node [above]{mögliche Fahrtroute} ++(-99,0) |- (NE);
+ \end{scope}
+ \begin{scope}[inner label]
+ \draw (NE) to (NB);
+ \draw [pstarrow->] (NB) to (BE);
+ \draw (BE) to (BS);
+ \draw [pstarrow->] (BS) to (SE);
+ \draw [pstarrow->] (SE) to
+ node[above] {\tikzparbox{Stell\-größen}}
+ node[below] {\tikzparbox{Lenken Gasgeben Bremsen}}
+ (LQ);
+ \draw [pstarrow->] (LQ) to
+ node[above]{\tikzparbox{Regel\-größen}}
+ node[below]{\tikzparbox{Fahrzeugbewegung}}
+ (FO);
+ \draw [pstarrow->] (LQ)+(24,0) |- (FR);
+ \draw [pstarrow->] (LQ)+(24,0) |- (SN);
+ \end{scope}
+ \begin{scope}[very thick,rounded corners=5\tikzunit]
+ \draw (-12.5,-40) rectangle (12.5,14);
+ \draw ( 22.5,-40) rectangle (47.5,-18);
+ \draw ( 57.5,-40) rectangle (82.5,14);
+ \end{scope}
+ \begin{scope}[font=\bfseries]
+ \node at (0,9) {Fahrer};
+ \node at (35,-23) {Fahrzeug};
+ \node at (70,9) {Umwelt};
+ \end{scope}
+\end{tikzpicture}
+\caption{Eine mit TikZ erstellte Grafik}\label{fig:tikz}
+\end{figure}
+\end{Hint?}
+%\InputCode
+
+
+\subsection{Das Paket \Package{pstricks}}
+Die zuvor mit \Package{tikz}(pgf) erstellte Grafik wird nachfolgend mit dem
+Paket \Package{pstricks} erstellt. Mit diesem lassen sich PostScript"=Grafiken
+erstellen. Ähnlich wie bei \Package{tikz}(pgf) gibt es ein Kernpaket und
+zusätzliche Ergänzungen. Diese werden jedoch nicht als Programmbibliotheken
+sondern ganz normal als \hologo{LaTeX}"=Pakete eingebunden.
+%
+\begin{Hint}
+\usepackage{pstricks}
+\usepackage{pst-node}
+\end{Hint}
+%
+Die Verwendung von PostScript hat zahlreiche Vorteile, macht die direkte
+Nutzung von \hologo{pdfLaTeX} etwas schwierig. Das Paket \Package{auto-pst-pdf}
+schafft hier jedoch Abhilfe. Wird \hologo{pdfLaTeX} über die zusätzliche Option
+\Option{--shell-escape} respektive \Option{--enable-write18} mit erweiterten
+Schreibrechten aufgerufen, so werden die Abbildungen automatisch im PDF-Format
+erzeugt und eingebunden.
+%
+\begin{Hint}
+\usepackage{auto-pst-pdf}
+\end{Hint}
+%
+Bei einigen Pakete kommt es in der Kombination mit \Package{auto-pst-pdf} zu
+kleineren Problemen, die sich jedoch meist relativ leicht beheben lassen. Im
+Handbuch wird die \manualhyperref{sec:tips:floatrow}{gleichzeitige Verwendung}
+von \Package{auto-pst-pdf} in Kombination mit den Paketen \Package{tikz}(pgf),
+\Package{todonotes} sowie \Package{floatrow}~-- bei der Nutzung des Befehls
+\Macro{ffigbox}~-- erklärt. Diese Hinweise sollten Sie gegebenenfalls beachten.
+
+Ähnlich wie zuvor bei der \Package{tikz}(pgf)-Grafik wird die nachfolgende
+\Package{pstricks}-Abbildung auf die Textbreite des Dokumentes skaliert, wobei
+eine Einheit genau \SI{1}{\percent} dieser entspricht. Außerdem werden noch ein
+paar weitere Einstellungen gemacht. Dies geschieht mit:
+%
+\begin{Hint*}
+\psset{%
+ unit=.01\textwidth,%
+ cornersize=absolute,%
+ labelsep=.8ex,%
+ linewidth=.4pt,%
+ arrowscale=1.5,%
+}
+\end{Hint*}
+%
+Die innerhalb einer Gleitumgebung erzeugte \Package{pstricks}-Grafik ist in
+\autoref{fig:pstricks} dargestellt.
+%
+\begin{Hint?}
+\begin{figure}
+\begin{pspicture}(0,-2)(100,64)
+\newcommand\fnodetext{}
+\def\fnodetext(#1)#2#3{%
+ \fnode[framesize=18 8](#1){#2}%
+ \rput(#1){\parbox{17\psunit}{\centering\hspace{0pt}#3}}%
+}
+\newcommand\scriptbox[2][24]{%
+ \parbox{#1\psunit}{\scriptsize\centering\hspace{0pt}#2}%
+}
+\rput(15,10){%
+ \rput(0,49){\textbf{Fahrer}}
+ \fnodetext(0,40){NE}{Navigations\-ebene}
+ \fnodetext(0,24){BE}{Bahnführungs\-ebene}
+ \fnodetext(0,08){SE}{Stabilisierungs\-ebene}
+ \ncline{->}{NE}{BE}
+ \ncput*{\scriptbox{gewählte Fahrtroute\\zeitlicher Ablauf}}
+ \ncline{->}{BE}{SE}
+ \ncput*{%
+ \scriptbox{gewählte Führungsgrößen:\\Sollspur,~Sollgeschwindigkeit}%
+ }
+ \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,54)
+}
+\rput(50,10){%
+ \rput(0,17){\textbf{Fahrzeug}}
+ \fnodetext(0,8){FZ}{Längs- und\\Querdynamik}
+ \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,22)
+}
+\rput(85,10){%
+ \rput(0,49){\textbf{Umwelt}}
+ \fnodetext(0,40){SN}{Straßennetz}
+ \fnodetext(0,24){FR}{%
+ Fahrraum\\\smallskip\scriptsize{Straße und Verkehrssituation}%
+ }
+ \fnodetext(0,08){FO}{Fahrbahn\-oberfläche}
+ \psframe[dimen=middle,linewidth=1.2pt,linearc=5](-12.5,0)(12.5,54)
+}
+
+\ncline{->}{SE}{FZ}
+\naput{\scriptbox[9]{Stell\-größen}}
+\nbput{\scriptbox[9]{Lenken Gasgeben Bremsen}}
+\ncline{->}{FZ}{FO}
+\naput{\scriptbox[9]{Regel\-größen}}
+\nbput{\scriptbox[9]{Fahrzeugbewegung}}
+
+\psset{armA=15,armB=0,angleA=0,angleB=180}
+\ncangles{->}{FZ}{FR}
+\ncangles{->}{FZ}{SN}
+
+\psset{angleA=180,angleB=0}
+\ncloop[loopsize=12,arm=4.5]{<-}{SE}{FO}
+\naput{\scriptbox{Istspur, Istgeschwindigkeit}}
+\ncloop[loopsize=32,arm=5]{<-}{BE}{FR}
+\naput{\scriptbox[30]{Bereich sicherer Führungsgrößen}}
+\ncloop[loopsize=52,arm=5.5]{<-}{NE}{SN}
+\naput{\scriptbox{mögliche Fahrtroute}}
+\end{pspicture}
+\caption{Eine mit pstricks erstellte Grafik}\label{fig:pstricks}
+\end{figure}
+\end{Hint?}
+
+
+\subsection{Auslagern von Grafiken in separate Dateien}
+Damit \enquote{programmierte} Grafiken zum einen das Dokument respektive dessen
+Struktur nicht unnötig unübersichtlich machen und zum anderen nur nach einer
+Änderung abermals kompiliert werden, um die Kompilierungsdauer möglichst gering
+zu halten, ist es ratsam, diese in separate Dateien auszulagern. Hierfür bieten
+sich die beiden Pakete \Package*{subfiles} und \Package*{standalone} an, welche
+im Handbuch erläutert werden.
+
+
+
+\section{Dokumentation von Quelltexten}
+Sollen in einer Dokument Quelltextauszüge beschrieben werden oder ganze
+Quelltextdateien eingebunden werden, so empfiehlt sich für dieses Vorhaben das
+Paket \Package{listings}. Neben der bloßen Einbindung der Quelltexte bietet es
+zusätzlich die Möglichkeit, die Syntax in Abhängigkeit der verwendeten
+Programmiersprache hervorzuheben. Zusätzlich lässt sich ein Verzeichnis mit
+allen eingebundenen sowie direkt im Dokument angegebenen Quelltextauszügen
+erstellen.
+%
+\begin{Hint}
+\usepackage{listings}
+\end{Hint}
+%
+Wird das Paket in einem Dokument mit UTF"~8-Kodierung verwendet, muss dies dem
+Paket in der Präambel mitgeteilt werden:
+%
+\begin{Hint}
+\lstset{%
+ inputencoding=utf8,extendedchars=true,
+ literate=%
+ {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
+ {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
+ {~}{{\textasciitilde}}1 {ß}{{\ss}}1
+}
+\end{Hint}
+%
+Nachdem nun die Grundeinstellungen erfolgt sind, kann ein eigener Stil für eine
+gewünschte Programmiersprache definiert werden. Im folgenden Beispiel wird dies
+für ein MATLAB"~Skript demonstriert. Als erstes wird \Macro{lstdefinestyle} ein
+eigener \Package{lsitings}"~Stil erstellt:
+%
+\begin{Hint*}
+\lstdefinestyle{matlab}{%
+ language=Matlab,%
+ basicstyle=\ttfamily,%
+ commentstyle={\color{green!50!black}},
+ keywordstyle={\color{blue!75!black}},%
+ columns=flexible,keepspaces,%
+}
+\end{Hint*}
+%
+Dabei wird die verwendete Programmiersprache definiert sowie die Formatierung
+für die Quelltextauszüge festgelegt. Für weitere Einstellungsmöglichkeiten
+sollte die Dokumentation zum Paket zu Rate gezogen werden. Der so definierte
+Stil lässt sich anschließend folgendermaßen verwenden.
+%
+\begin{Hint}
+\begin{lstlisting}[style=matlab]
+§\dots§
+\end{lstlisting}
+\end{Hint}
+%
+Soll innerhalb eines Quelltextauszuges ein Teil als \hologo{LaTeX}"~Code
+interpretiert werden, lässt sich mit \PValue{escapechar} ein Escape-Zeichen
+definieren. Mit \Macro{lstnewenvironment} ist es außerdem möglich, eine eigene
+\Package{lsitings}-Umgebung zu definieren. Das Einbinden externer Quelldateien
+in das Dokument ist über
+\Macro{lstinputlisting}\OParameter{Schlüssel-Wert-Liste}\Parameter{Dateiname}
+möglich, wobei dabei im optionalen Argument ebenfalls der definierte Stil
+angegeben werden sollte. Es folgt die Ausgabe eines kurzen Beispiels mit dem
+zuvor definierten Stil \PValue{matlab}.
+%
+\begin{lstlisting}[style=matlab]
+function perfect = isperfect(test_value)
+ % This function checks to see if the given number is "perfect";
+ % a "perfect" number is an integer whose factors
+ % (excluding itself) add up to it.
+ %
+ % Example: 6 is a perfect number: 1 + 2 + 3 = 6 == 6
+ % 8 is not: 1 + 2 + 4 = 7 ~= 8
+ % 28 is a perfect number: 1 + 2 + 4 + 7 + 14 = 28 == 28
+ %
+ % Arguments:
+ %
+ % test_value (input) check to see if this value
+ % is perfect or not
+ % perfect (output) if yes, set this to 1
+ % if no, set this to 0
+
+ % this will keep track of the sum of all integer divisors
+ tempsum = 0;
+
+ % we check all possible divisors
+ for (divisor = 1 : test_value - 1)
+ div_result = test_value / divisor;
+
+ if (div_result == floor(div_result))
+ % this is an integer divisor, so add it to the sum
+ tempsum = tempsum + divisor;
+ end
+ end
+
+ % now, does the sum equal the test_value?
+ if (tempsum == test_value)
+ perfect = 1;
+ else
+ perfect = 0;
+ end
+end
+\end{lstlisting}
+
+
+
+
+\section{Und ganz zum Schluss \dots}
+Mit Sicherheit werden Sie im Laufe der Zeit auf die eine oder andere Frage zu
+\hologo{LaTeXe} stoßen, die in diesem Tutorial nicht behandelt wurde. Sollten
+Sie an diesen Punkt gelangen, so empfehle ich als erstes einen Blick in die
+Kapitel \manualhyperref{sec:packages}{Unerlässliche und beachtenswerte Pakete}
+sowie \manualhyperref{sec:tips}{Praktische Tipps \& Tricks} im Handbuch zu
+\TUDScript. Sollte Ihre Frage trotzdem unbeantwortet bleiben, so wäre der
+Besuch eines \hologo{LaTeX}-Forums der nächste Schritt. Für allgemeine Anfragen
+kann ich unter anderem folgende Foren empfehlen:
+%
+\begin{itemize}
+\item \hrfn{http://mrunix.de/forums/forumdisplay.php?38-LaTeX-Forum}{mrunix}
+\item \hrfn{http://golatex.de/}{golatex}
+\item \hrfn{http://tex.stackexchange.com/}{\hologo{LaTeX} Stack Exchange}
+\item \hrfn{http://www.latex-community.org/forum/}{\hologo{LaTeX} Community}
+\end{itemize}
+%
+Insbesondere alle \TUDScript betreffende Fragen sollten natürlich direkt im
+dazugehörigen \Forum gestellt werden.
+
+\begin{Trunk+}
+\printbibliography[heading=bibintoc]\label{sec:bibliography}
+\end{Trunk+}
+\printbibliography[heading=bibintoc]
+
+\addsec{Index}
+Da das Tutorial etwas umfangreicher ist, wird für alle erläuterten Optionen,
+Umgebungen und Befehle ein Index erstellt.
+\PrintIndex
+
+\FinishTutorial[%
+ Um das im kopierten Beispiel erstellte Literaturverzeichnis in das Dokument
+ einbinden zu können, bedarf es dem einmaligen Aufruf von \Application{biber}
+ nach dem ersten Durchlauf von \hologo{pdfLaTeX}. Dies erfolgt mit dem Aufruf
+ \PValue{biber}~\PName{Dateiname}. Danach ist ein weiteres mal die Verwendung
+ von \PValue{pdflatex}~\PName{Dateiname} notwendig.
+
+ Für das Erstellen von Abkürzungs- und Symbolverzeichnis sollte das mehrmalige
+ Ausführen von \PValue{pdflatex}~\PName{Dateiname} vollkommen ausreichen. In
+ diesem Fall werden die Einträge mit \Application{makeindex} sortiert. Soll
+ stattdessen \Application{xindy} die Sortierung durchführen, muss beim Laden
+ von \Package{glossaries} die entsprechende Paketoption aktiviert werden. Für
+ diesen Fall sollte nach der Verwendung von \hologo{pdfLaTeX} der Aufruf des
+ Perl"=Skriptes \PValue{makeglossaries}~\PName{Dateiname} erfolgen, was
+ allerdings nur mit \Distribution{\hologo{TeX}~Live} ohne weiteres Zutun
+ möglich ist. Nutzer von \Distribution{\hologo{MiKTeX}} müssen das Sortieren
+ mit \Application{xindy} händisch anstoßen.
+]
+\end{document}