summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-04-29 22:48:53 +0000
committerKarl Berry <karl@freefriends.org>2014-04-29 22:48:53 +0000
commit0f5d618956b51e00ae2e87d20aec39f7bbd6dd42 (patch)
treed370e6238a20c8f93f908a1c2987704f4563fec0 /Master/texmf-dist/source/latex/tudscr
parent6fd46163a1d6ba51c6998a45f736049e468e0805 (diff)
tudscr (29apr14)
git-svn-id: svn://tug.org/texlive/trunk@33755 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx532
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx448
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx311
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx80
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx804
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx924
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx861
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx1345
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx687
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx1276
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx241
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx385
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx1528
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx555
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx1350
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx176
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx184
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr.ins154
18 files changed, 11841 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx
new file mode 100644
index 00000000000..28e7a0aac66
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx
@@ -0,0 +1,532 @@
+% \CheckSum{265}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-base.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-base.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (basefile)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-base.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Grundlegende Befehle und Pakete}
+%
+% Für die Erstellung der Wrapper-Klassen werden die dafür benötigten Pakete
+% eingebunden und Steuerungsbefehle definiert.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class>
+% \fi
+%
+% \subsection{Laden des Pakets}
+% Die Klassen benötigen das Paket und laden dieses auch.
+% \begin{macrocode}
+\RequirePackage{tudscrbase}[\TUDVersion]
+% \end{macrocode}
+%
+% \iffalse
+%</class>
+%<*package&header>
+% \fi
+%
+% \subsection{Identifizierung des Pakets \pkg{tudscrbase}}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tudscrbase}[%
+ \TUDVersion\space package (TUD-KOMA-Script-dependent basics and keyval usage)%
+]
+% \end{macrocode}
+%
+% \iffalse
+%</package&header>
+%<*package&body>
+% \fi
+%
+% \subsection{Das Paket \pkg{tudscrbase}}
+%
+% Das Paket \pkg{scrbase} wird zur Optionsdefinition benötigt.
+% \begin{macrocode}
+\RequirePackage{scrbase}
+% \end{macrocode}
+% Das Paket \pkg{kvsetkeys} erweitert \pkg{keyval} um die Möglichkeit, das
+% Verhalten bei der Angabe eines nicht definierten Schlüssels festzulegen.
+% \begin{macrocode}
+\RequirePackage{kvsetkeys}
+% \end{macrocode}
+% Das Paket \pkg{etoolbox} wird für die Manipulation bereits definierter
+% Makros sowie zur erweiterten Auswertung boolescher Ausdrücke benötigt.
+% \begin{macrocode}
+\RequirePackage{etoolbox}
+% \end{macrocode}
+%
+% \subsubsection{Robuster Test auf leeres Argument}
+%
+% \begin{macro}{\ifxblank}
+% Hiermit kann ein Argument geprüft werden, ob dieses blank ist (leer oder
+% Leerzeichen). In seiner Syntax ist er identisch zu \cs{ifblank}, allerdings
+% expandiert er im Gegensatz zu diesem das gegebene Argument.
+% \begin{macrocode}
+\newcommand*\ifxblank{\expandafter\ifblank\expandafter}
+% \end{macrocode}
+% \end{macro}^^A \ifxblank
+%
+% \subsubsection{Robuster Test auf numerischen Ausdruck}
+%
+% \begin{macro}{\ifxnumber}
+% Dieser Befehl dient zum Testen, ob ein gegebenes Argument eine Zahl ist.
+% Die Syntax lautet: \cs{ifxnumber}\marg{Argument}\marg{Wahr}\marg{Falsch}
+% \begin{macrocode}
+\newcommand*\ifxnumber[1]{%
+ \if\relax\detokenize\expandafter{\romannumeral-0#1}\relax%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \ifxnumber
+%
+% \subsubsection{Schlüssel und Parameter für die Wrapper-Klassen}
+%
+% \todo[v3.12]{FamilyKeyState}
+% \begin{macro}{\TUDProcessOptions}
+% \begin{macro}{\TUDExecuteOptions}
+% \begin{macro}{\TUDDefaultOptions}
+% \begin{macro}{\TUDoptions}
+% \begin{macro}{\TUDoption}
+% \begin{macro}{\TUD@noworlater}
+% \begin{macro}{\TUD@key}
+% \begin{macro}{\TUD@@key}
+% \begin{macro}{\TUD@@@key}
+% \begin{macro}{\TUD@ifkey}
+% \begin{macro}{\TUD@set@ifkey}
+% \begin{macro}{\TUD@numkey}
+% \begin{macro}{\TUD@set@numkey}
+% \begin{macro}{\TUD@unknown@keyval}
+% In Anlehnung an \KOMAScript{} werden hier Befehle zur Definition und
+% Ausführung unterschiedlicher Klassenoptionen mithilfe der Funktionen aus
+% dem \pkg{scrbase}-Paket erstellt. Klassenoptionen können entweder als
+% Schalter (\cs{TUD@ifkey}) oder aber mit mehreren möglichen Werten
+% (\cs{TUD@numkey}) definiert werden. Die Grundeinstellungen für alle
+% \cls{tudscr}-Klassen werden in \cs{TUDDefaultOptions} hinterlegt.
+% \begin{macrocode}
+\DefineFamily{TUD}
+\newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}}
+\newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}}
+\newcommand*\TUDDefaultOptions{cd,cdfont,tudbookmarks}
+\newcommand*\TUDoptions{\FamilyOptions{TUD}}
+\newcommand*\TUDoption{\FamilyOption{TUD}}
+\newcommand*\TUD@noworlater{\AtEndOfClass}
+\AtEndOfClass{\let\TUD@noworlater\@firstofone}
+\newcommand*\TUD@key[2][.\@currname.\@currext]{%
+ \DefineFamilyMember{TUD}%
+ \@ifnextchar[%]
+ {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}%
+}
+\def\TUD@@key[#1]#2[#3]#4{%
+ \DefineFamilyKey[#1]{TUD}{#2}[{#3}]{\TUD@noworlater{#4}}%
+}
+\def\TUD@@@key[#1]#2#3{%
+ \DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}%
+}
+\newcommand*\TUD@ifkey[1][.\@currname.\@currext]{%
+ \DefineFamilyMember{TUD}%
+ \FamilyBoolKey[#1]{TUD}%
+}
+\newcommand*\TUD@set@ifkey{\FamilySetBool{TUD}}
+\newcommand*\TUD@numkey[1][.\@currname.\@currext]{%
+ \DefineFamilyMember{TUD}%
+ \FamilyNumericalKey[#1]{TUD}%
+}
+\newcommand*\TUD@set@numkey{\FamilySetNumerical{TUD}}
+\newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}}
+% \end{macrocode}
+% \end{macro}^^A \TUD@unknown@keyval
+% \end{macro}^^A \TUD@set@numkey
+% \end{macro}^^A \TUD@numkey
+% \end{macro}^^A \TUD@set@ifkey
+% \end{macro}^^A \TUD@ifkey
+% \end{macro}^^A \TUD@@@key
+% \end{macro}^^A \TUD@@key
+% \end{macro}^^A \TUD@key
+% \end{macro}^^A \TUD@noworlater
+% \end{macro}^^A \TUDoption
+% \end{macro}^^A \TUDoptions
+% \end{macro}^^A \TUDDefaultOptions
+% \end{macro}^^A \TUDExecuteOptions
+% \end{macro}^^A \TUDProcessOptions
+% \begin{macro}{\TUD@key@lock}
+% \begin{macro}{\TUD@std@ifkey@lock}
+% \begin{macro}{\TUD@std@numkey@lock}
+% \begin{macro}{\TUD@set@ifkey@lock}
+% \begin{macro}{\TUD@set@numkey@lock}
+% Da sich die Klassenoptionen teilweise selbst gegenseitig beeinflussen oder
+% aber in bestimmten Fällen eine Option in Abhängigkeit von einer anderen
+% unterschiedliche Standardwerte annehmen soll, wird dafür eine Möglichkeit
+% geschaffen. Dabei kann der Nutzer jederzeit einen von einer Option abhängigen
+% Standardwert einer Klassenoption überschreiben. Die Klassenoptionen selber
+% werden intern mit dem Befehl \cs{TUD@key@lock} definiert und die Standardwerte
+% sowie deren Manipulation innerhalb der Optionen mit \cs{TUD@std@ifkey@lock}
+% bzw. \cs{TUD@std@numkey@lock} gesetzt. Mit \cs{TUD@set@ifkey@lock} und
+% \cs{TUD@set@numkey@lock} werden bei der expliziten Anwendung einer Option
+% durch den Nutzer die entsprechenden Werte geändert und gegen ein internes
+% Überschreiben gesperrt.
+% \begin{macrocode}
+\newcommand*\TUD@key@lock[2][.\@currname.\@currext]{%
+% \end{macrocode}
+% Basierend auf dem Namen des Schalters wird die notwendige, boolesche Variable
+% erzeugt (\cs{if@tud@\meta{Schaltername}@lock}), welche im Falle des direkten
+% Aufrufs des Schlüssels durch den Anwender, ein internes Überschreiben
+% verhindert.
+% \begin{macrocode}
+ \newbool{@tud@#2@locked}%
+ \TUD@key[{#1}]{#2}%
+}
+% \end{macrocode}
+% Es kann intern über \cs{if\meta{Schaltername}@lock} geprüft werden, ob einem
+% mit Schlüssel, der mit \cs{TUD@key@lock} definiert wurde, durch den Anwender
+% ein explizites Verhalten zugewiesen wurde. Sollte dies nicht der Fall sein,
+% kann dieser hiermit intern beliebig angepasst werden. Da es durch das Setzen
+% der Option mit \cs{TUDoption} zu einer Sperrung kommt, muss diese folgend
+% wieder rückgängig gemacht werden.
+% \begin{macrocode}
+\newcommand*\TUD@std@ifkey@lock[2]{%
+ \ifbool{@tud@#1@locked}{}{%
+ \TUDoption{#1}{#2}%
+ \boolfalse{@tud@#1@locked}%
+ }%
+}
+\let\TUD@std@numkey@lock\TUD@std@ifkey@lock
+\newcommand*\TUD@set@ifkey@lock[1]{%
+ \booltrue{@tud@#1@locked}%
+ \TUD@set@ifkey{#1}%
+}
+\newcommand*\TUD@set@numkey@lock[1]{%
+ \booltrue{@tud@#1@locked}%
+ \TUD@set@numkey{#1}%
+}
+% \end{macrocode}
+% \end{macro}^^A \TUD@set@numkey@lock
+% \end{macro}^^A \TUD@set@ifkey@lock
+% \end{macro}^^A \TUD@std@numkey@lock
+% \end{macro}^^A \TUD@std@ifkey@lock
+% \end{macro}^^A \TUD@key@lock
+% \begin{macro}{\csdef@lock}
+% \begin{macro}{\csstd@lock}
+% \begin{macro}{\csset@lock}
+% Mit \cs{csdef@lock}\marg{Name}\marg{Definition} kann ein Befehl definiert
+% werden, welcher intern nur mit \cs{csstd@lock}\marg{Name}\marg{Definition}
+% geschrieben wird, wenn nicht über eine entsprechende Option ein explizites
+% Verhalten mit \cs{csset@lock}\marg{Name}\marg{Definition} zugewiesen wurde.
+% Dies ist äquivalent zu \cs{TUD@std@ifkey@lock} und \cs{TUD@set@ifkey@lock}
+% bzw. \cs{TUD@std@numkey@lock} und \cs{TUD@set@numkey@lock}
+% \begin{macrocode}
+\newcommand*\csdef@lock[2]{%
+ \csdef{#1}{#2}%
+ \newbool{#1@locked}%
+}
+\newcommand*\csstd@lock[2]{%
+ \ifbool{#1@locked}{}{%
+ \csdef{#1}{#2}%
+ \boolfalse{#1@locked}%
+ }%
+}
+\newcommand*\csset@lock[2]{%
+ \csdef{#1}{#2}%
+ \booltrue{#1@locked}%
+}
+% \end{macrocode}
+% \end{macro}^^A \csset@lock
+% \end{macro}^^A \csstd@lock
+% \end{macro}^^A \csdef@lock
+% \begin{macro}{\newbool@lock}
+% \begin{macro}{\stdbool@lock}
+% \begin{macro}{\setbool@lock}
+% Diese Makros dienen in Anlehnung an die vorherigen zum Definieren und Setzen
+% von sperrbaren booleschen Schaltern.
+% \begin{macrocode}
+\newcommand*\newbool@lock[2][false]{%
+ \newbool{#2}%
+ \newbool{#2@locked}%
+ \setbool{#2}{#1}%
+}
+\newcommand*\stdbool@lock[2]{%
+ \ifbool{#1@locked}{}{%
+ \setbool{#1}{#2}%
+ \boolfalse{#1@locked}%
+ }%
+}
+\newcommand*\setbool@lock[2]{%
+ \setbool{#1}{#2}%
+ \booltrue{#1@locked}%
+}
+% \end{macrocode}
+% \end{macro}^^A \setbool@lock
+% \end{macro}^^A \stdbool@lock
+% \end{macro}^^A \newbool@lock
+% \begin{macro}{\tud@cmd@store}
+% \begin{macro}{\tud@cmd@reset}
+% \begin{macro}{\tud@cmd@use}
+% \begin{macro}{\tud@cmd@restore}
+% Mit diesen beiden Befehlene wird es möglich, Originalbefehle sichern, nutzen
+% und wiederherstellen zu können. Dies wird benötigt, um zwischen den einzelnen
+% Layouts über Optionseinstellungen zu wechseln und dabei von einem definierten
+% Anfangszustand auszugehen. Mit dem Aufruf \cs{tud@cmd@store}\marg{Befehlsname}
+% wird der angegebene Befehl in einem neuen Makro \cs{@@tud@\meta{Befehlsname}}
+% gespeichert. Der Originalbefehl kann als solcher weiterhin mit dem Befehl
+% \cs{tud@cmd@use}\marg{Befehlsname} genutzt werden. Das Makro
+% \cs{tud@cmd@reset}\marg{Befehlsname} setzt den Originalbefehl zurück. Durch
+% \cs{tud@cmd@restore}\marg{Befehlsname} wird das mit \cs{tud@cmd@store}
+% erstellte Hilfsmakro zusätzlich noch gelöscht.
+% \begin{macrocode}
+\newcommand*\tud@cmd@store[1]{%
+ \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}%
+}
+\newcommand*\tud@cmd@reset[1]{%
+ \ifcsdef{@@tud@#1}{%
+ \csletcs{#1}{@@tud@#1}%
+ }{}%
+}
+\newcommand*\tud@cmd@use[1]{%
+ \ifcsdef{@@tud@#1}{\@nameuse{@@tud@#1}}{\@nameuse{#1}}%
+}
+\newcommand*\tud@cmd@restore[1]{%
+ \ifcsdef{@@tud@#1}{%
+ \csletcs{#1}{@@tud@#1}%
+ \csundef{@@tud@#1}%
+ }{}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@cmd@restore
+% \end{macro}^^A \tud@cmd@use
+% \end{macro}^^A \tud@cmd@reset
+% \end{macro}^^A \tud@cmd@store
+% \begin{macro}{\tud@patch@wrn}
+% Dieses Makro wird verwendet, wenn mit den Mitteln von \pkg{etoolbox} bereits
+% vorhandene Befehle angepasst werden sollen (\cs{apptocmd}, \cs{pretocmd},
+% \cs{patchcmd}) und dies nicht gelingt.
+% \begin{macrocode}
+\newcommand*\tud@patch@wrn[1]{%
+ \ClassWarning{\tudcls@name}{%
+ It wasn't possible to patch '#1'.\MessageBreak%
+ Please contact the author via \filemail.\MessageBreak%
+ Without a bugfix an erroneous output\MessageBreak%
+ may occur.
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@patch@wrn
+% \begin{macro}{\TUD@parameter}
+% \begin{macro}{\TUD@parameter@family}
+% \begin{macro}{\TUD@parameter@checkfamily}
+% Mit \cs{TUD@parameter}\marg{Familienname}\marg{Definitionen} können
+% Schlüssel"=Wert"=Parameter für die optionalen Argumente von Befehle definiert
+% werden. Das erste Argument definiert den Familiennamen für den jeweiligen
+% Befehl, welcher eindeutig gewählt werden sollte. Dieser wird im Hilfsmakro
+% \cs{TUD@parameter@family} gesichert. Dies soll im Zusammenspiel mit dem
+% Makro \cs{TUD@parameter@checkfamily} dafür sorgen, dass die im Folgenden
+% bereitgestellten Befehle\footnote{\cs{TUD@parameter@define},
+% \cs{TUD@parameter@let}, \cs{TUD@parameter@sethandler},
+% \cs{TUD@parameter@set}}~-- welche die eigentliche Definition der Parameter
+% für den Benutzer bewerkstelligen~-- nur innerhalb des zweiten Argumentes von
+% \cs{TUD@parameter} verwendet werden können.
+% \begin{macrocode}
+\newcommand*\TUD@parameter@family{}%
+\newcommand*\TUD@parameter[2]{%
+ \ifxblank{#1}{}{\xdef\TUD@parameter@family{#1}}%
+ #2%
+ \global\let\TUD@parameter@family\relax%
+}
+\let\TUD@parameter@family\relax%
+% \end{macrocode}
+% Dieser Befehl prüft, ob eine Familie für den Paramter definiert wurde.
+% \begin{macrocode}
+\newcommand*\TUD@parameter@checkfamily[1]{%
+ \ifx\TUD@parameter@family\relax%
+ \PackageError{tudscrbase}{%
+ No family for keys given.
+ }{%
+ You have to use \string#1\space within the\MessageBreak%
+ second argument of \string\TUD@parameter. The first \MessageBreak%
+ argument of \string\TUD@parameter\space has to be a unique family name.
+ }%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \TUD@parameter@checkfamily
+% \end{macro}^^A \TUD@parameter@family
+% \end{macro}^^A \TUD@parameter
+% \begin{macro}{\TUD@parameter@define}
+% \begin{macro}{\TUD@parameter@let}
+% \begin{macro}{\TUD@parameter@sethandler}
+% \cs{TUD@parameter@define}\marg{Name}\oarg{Säumniswert}\marg{Verarbeitung}
+% nutzt \cs{define@key} aus dem \pkg{keyval}"=Paket, um einen Schlüssel und
+% dessen Verarbeitung zu definieren, wobei auf den zugewiesenen Wert innerhalb
+% des zweiten obligatorischen Argumentes mit \texttt{\#1} zugegriffen werden
+% kann.
+% \begin{macrocode}
+\newcommand*\TUD@parameter@define[1][]{%
+ \ifxblank{#1}{%
+ \TUD@parameter@checkfamily{\TUD@parameter@define}%
+ \expandafter\define@key\expandafter{\TUD@parameter@family}%
+ }{%
+ \expandafter\define@key\expandafter{#1}%
+ }%
+}
+% \end{macrocode}
+% Mit \cs{TUD@parameter@let}\marg{Name}\marg{Name} kann äquivalent zur
+% \mbox{\TeX-Primitive \cs{let}} die Definition der Verarbeitung eines
+% Parameters auf einen weiteren übertragen werden.
+% \begin{macrocode}
+\newcommand*\TUD@parameter@let[3][]{%
+ \ifxblank{#1}{%
+ \TUD@parameter@checkfamily{\TUD@parameter@let}%
+ \@expandtwoargs{\csletcs}%
+ {KV@\TUD@parameter@family @#2}{KV@\TUD@parameter@family @#3}%
+ }{%
+ \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}%
+ }%
+}
+% \end{macrocode}
+% Außerdem kann durch \cs{TUD@parameter@sethandler}\marg{Verarbeitung} definiert
+% werden, wie verfahren werden soll, wenn ein optionales Argument im klasischen
+% \LaTeX-Stil und nicht in der Schlüssel"=Wert"=Syntax angegeben wird. Auf das
+% optionale Argument wird ganz normal mit \texttt{\#1} zugegriffen.
+% \begin{macrocode}
+\newcommand*\TUD@parameter@sethandler[1][]{%
+ \ifxblank{#1}{%
+ \TUD@parameter@checkfamily{\TUD@parameter@sethandler}%
+ \expandafter\kv@set@family@handler\expandafter{\TUD@parameter@family}%
+ }{%
+ \expandafter\kv@set@family@handler\expandafter{#1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \TUD@parameter@sethandler
+% \end{macro}^^A \TUD@parameter@let
+% \end{macro}^^A \TUD@parameter@define
+% \begin{macro}{\TUD@parameter@set}
+% Mit \cs{TUD@parameter@set}\oarg{Familienname}\marg{Parameterliste} wird die
+% Verarbeitung aller gegebenen Parameter veranlasst. Normalerweise wird dieser
+% Befehl innerhalb des zweiten Argumentes von \cs{TUD@parameter} verwendet.
+% Alternativ dazu kann die gewünschte Familie im optionalen Argument angegeben
+% werden.
+% \begin{macrocode}
+\newcommand*\TUD@parameter@set[1][]{%
+ \ifxblank{#1}{%
+ \TUD@parameter@checkfamily{\TUD@parameter@set}%
+ \expandafter\kvsetkeys\expandafter{\TUD@parameter@family}%
+ }{%
+ \expandafter\kvsetkeys\expandafter{#1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \TUD@parameter@set
+% \begin{macro}{\TUD@parameter@wrn}
+% Das Makro \cs{TUD@parameter@wrn}\marg{Parameter}\marg{Werteliste} gibt für
+% den Fall einer ungültigen Wertzuweisung an einen bestimmten \meta{Parameter}
+% eine Warnung mit einem entsprechenden Hinweis auf gültige Werte innerhalb von
+% \meta{Werteliste} aus.
+% \begin{macrocode}
+\newcommand*\TUD@parameter@wrn[2]{%
+ \ClassWarning{\tudcls@name}{%
+ Parameter '#1' can only be used with these values:\MessageBreak%
+ #2%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \TUD@parameter@wrn
+%
+% \iffalse
+%</package&body>
+%<*titlepage>
+% \fi
+%
+% \subsubsection{Schlüssel und Befehle für das \pkg{titlepage}-Paket}
+%
+% Als erstes wird die Familie für das \pkg{titlepage}"=Paket definiert.
+% \begin{macrocode}
+\DefineFamilyMember[TU-Dresden]{title}
+% \end{macrocode}
+% Für den Fall, dass das \pkg{titlepage}-Paket ohne \KOMAScript-Klassen genutzt
+% wird, müssen die entsprechenden Befehle trotzdem funktionieren.
+% \begin{macrocode}
+\providecommand*\newkomafont[2]{%
+ \expandafter\newcommand\expandafter*\csname @#1font\endcsname{#2}%
+}
+\providecommand*\usekomafont[1]{%
+ \scr@ifundefinedorrelax{@#1font}{}{\csname @#1font\endcsname}%
+}
+\providecommand*\addtokomafont[2]{%
+ \scr@ifundefinedorrelax{@#1font}{%
+ \newkomafont{#1}{#2}%
+ }{%
+ \expandafter\l@addto@macro\csname @#1font\endcsname{#2}%
+ }%
+}
+% \end{macrocode}
+%
+% \iffalse
+%</titlepage>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx
new file mode 100644
index 00000000000..08f0f99b1bc
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx
@@ -0,0 +1,448 @@
+% \CheckSum{241}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-color.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-color.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (colors)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-color.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Die Farben des \CDs}
+%
+% Das \CD der Technischen Universität Dresden legt nicht nur die zu nutzenden
+% Schriften und das Layout sondern auch die zu verwendenden Farben fest. Diese
+% werden nachfolgend für das CMYK"~ und RGB"~Farbmodel definiert. Sie können im
+% Dokument mit sämtlichen Befehlen zur Farbauswahl wie \cs{color}\marg{Farbe}
+% oder aber \cs{textcolor}\marg{Farbe} verwendet werden.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*package&header>
+% \fi
+%
+% \subsection{Identifizierung des Pakets \pkg{tudscrcolor}}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tudscrcolor}[%
+ \TUDVersion\space package (corporate design colors)%
+]
+\DeclareOption{reduced}{\let\setcdcolors@add\relax}
+\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@full}
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}}
+% \end{macrocode}
+%
+% \iffalse
+%</package&header>
+%<*class|package&body>
+% \fi
+%
+% \subsection{Befehle für die \cls{tudscr}-Klassen}
+%
+% \iffalse
+%<*class>
+% \fi
+%
+% \todo[v3.12]{%
+% Abfrage \cs{@ifpackageloaded} durch Verzögerung des Paketes
+% \pkg{pagecolor} nicht notwendig.%
+% }
+% \begin{macro}{\nopagecolor}
+% \begin{macro}{\tud@pagecolor}
+% \begin{macro}{\tud@restorepagecolor}
+% Diese Befehle dienen zum Umschalten der Farben für Titel- und Kapitelseiten.
+% \begin{macrocode}
+\newcommand*\tud@pagecolor[1]{}
+\newcommand*\tud@restorepagecolor{}
+\AfterPackage{tudscrcolor}{%
+ \providecommand*\nopagecolor{\pagecolor{white}}%
+ \@ifpackageloaded{pagecolor}{}{%
+ \let\tud@pagecolor\pagecolor%
+ \let\tud@restorepagecolor\nopagecolor%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@restorepagecolor
+% \end{macro}^^A \tud@pagecolor
+% \end{macro}^^A \nopagecolor
+% \todo[v3.12]{Verzögerung des Paketes \pkg{pagecolor} aktivieren.}
+% \begin{macro}{\if@tud@pagecolor}
+% Wenn die Farben für Titel- und Kapitelseiten umgeschaltet werden, geht die
+% Information über die aktuelle Text- und Seitenfarbe verloren. Um dies zu
+% verhindern, kann das Paket \pkg{pagecolor} geladen werden, welches mit den
+% Befehlen \cs{newcolor} und \cs{restorecolor} ein Wiederherstellen ermöglicht.
+% \begin{macrocode}
+% \newif\if@tud@pagecolor
+% \PreventPackageFromLoading[\@tud@pagecolortrue]{pagecolor}
+\AfterPackage{pagecolor}{%
+ \let\tud@pagecolor\newpagecolor%
+ \let\tud@restorepagecolor\restorepagecolor%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@pagecolor
+% Sollte das Paket \pkg{pdfpages} geladen werden, so ist eine Definition
+% der Standardseitenfarbe zum Einbinden von PDF-Dokumenten notwendig.
+% Andernfalls werden bei der Verwendung von \cs{includepdf} nur leere Seiten
+% erzeugt.
+% \begin{macrocode}
+\AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}}
+% \end{macrocode}
+%
+% \iffalse
+%</class>
+%<*package&body>
+% \fi
+%
+% \subsection{Farbdefinitionen für das Paket \pkg{tudscrcolor}}
+%
+% \begin{macro}{\setcdcolors}
+% \begin{macro}{\setcdcolors@add}
+% Der Befehl \cs{setcdcolors} definiert die Farben des \CDs. Das Argument dient
+% zur Auswahl des gewünschten Farbmodels. Dies kann dazu genutzt werden,
+% innerhalb des Dokumentes die Definition der Farben für ein neues Farbmodell zu
+% ändern.
+% \begin{macrocode}
+\newcommand*\setcdcolors@add{}
+\newcommand*\setcdcolors[1]{%
+ \def\@tempa{#1}\ifx\@tempa\@empty\else%
+ \selectcolormodel{\@tempa}
+ \fi%
+% \end{macrocode}
+% \begin{color}{HKS41}
+% Die primäre Hausfarbe (dunkles Blau)
+% \begin{macrocode}
+ \definecolor{HKS41}{cmyk/RGB/rgb}{%
+ 1.00,0.70,0.10,0.50/011,042,081/0.0431372549,0.16470588235,0.31764705882%
+ }
+% \end{macrocode}
+% \end{color}^^A HKS41
+% \begin{color}{HKS92}
+% Die sekundäre Hausfarbe (grau), allein und ausschließlich für die Verwendung
+% in der Geschäftsausstattung und nicht für Fließtext, Grafiken etc.
+% \begin{macrocode}
+ \definecolor{HKS92}{cmyk/RGB/rgb}{%
+ 0.10,0.00,0.05,0.65/080,089,085/0.31372549019,0.34901960784,0.33333333333%
+ }
+% \end{macrocode}
+% \end{color}^^A HKS92
+% \begin{color}{HKS44}
+% Auszeichnungen 1. Kategorie (helles Blau)
+% \begin{macrocode}
+ \definecolor{HKS44}{cmyk/RGB/rgb}{%
+ 1.00,0.50,0.00,0.00/000,089,163/0,0.34901960784,0.63921568627%
+ }
+% \end{macrocode}
+% \end{color}^^A HKS44
+% \begin{color}{HKS36}
+% \begin{color}{HKS33}
+% \begin{color}{HKS57}
+% \begin{color}{HKS65}
+% Auszeichnungen 2. Kategorie (Indigo, Purpur, dunkles Grün, helles Grün)
+% \begin{macrocode}
+ \definecolor{HKS36}{cmyk/RGB/rgb}{%
+ 0.80,0.90,0.00,0.00/081,041,127/0.31764705882,0.16078431372,0.49803921568%
+ }
+ \definecolor{HKS33}{cmyk/RGB/rgb}{%
+ 0.50,1.00,0.00,0.00/129,026,120/0.50588235294,0.10196078431,0.47058823529%
+ }
+ \definecolor{HKS57}{cmyk/RGB/rgb}{%
+ 1.00,0.00,0.90,0.20/000,122,071/0,0.47843137254,0.28235294117%
+ }
+ \definecolor{HKS65}{cmyk/RGB/rgb}{%
+ 0.65,0.00,1.00,0.00/034,173,054/0.13333333333,0.67843137254,0.21176470588%
+ }
+% \end{macrocode}
+% \end{color}^^A HKS65
+% \end{color}^^A HKS57
+% \end{color}^^A HKS33
+% \end{color}^^A HKS36
+% \begin{color}{HKS07}
+% Ausnahmefarbe (Orange)
+% \begin{macrocode}
+ \definecolor{HKS07}{cmyk/RGB/rgb}{%
+ 0.00,0.60,1.00,0.00/232,123,020/0.90980392156,0.48235294117,0.07843137254%
+ }
+% \end{macrocode}
+% \end{color}^^A HKS07
+% \begin{color}{cddarkblue}
+% \begin{color}{cdgray}
+% \begin{color}{cdblue}
+% \begin{color}{cdindigo}
+% \begin{color}{cdpurple}
+% \begin{color}{cddarkgreen}
+% \begin{color}{cdgreen}
+% \begin{color}{cdorange}
+% Die definierten Grundfarben werden zur einfacheren Verwendung im Dokument noch
+% einmal speziell benannt.
+% \begin{macrocode}
+ \colorlet{cddarkblue}{HKS41}
+ \colorlet{cdgray}{HKS92}
+ \colorlet{cdblue}{HKS44}
+ \colorlet{cdindigo}{HKS36}
+ \colorlet{cdpurple}{HKS33}
+ \colorlet{cddarkgreen}{HKS57}
+ \colorlet{cdgreen}{HKS65}
+ \colorlet{cdorange}{HKS07}
+% \end{macrocode}
+% \end{color}^^A cdorange
+% \end{color}^^A cdgreen
+% \end{color}^^A cddarkgreen
+% \end{color}^^A cdpurple
+% \end{color}^^A cdindigo
+% \end{color}^^A cdblue
+% \end{color}^^A cdgray
+% \end{color}^^A cddarkblue
+% Damit enden die notwendigen Farbdefinitionen für das \pkg{tudscrcolor}-Paket.
+% Abhängig von den gewählten Optionen werden mit \cs{setcdcolors@add} ggf.
+% zusätzliche Farbnamen definiert.
+% \begin{macrocode}
+ \setcdcolors@add%
+}
+% \end{macrocode}
+% \end{macro}^^A \setcdcolors@add
+% \end{macro}^^A \setcdcolors
+% \begin{macro}{\setcdcolors@full}
+% Die erweiterten Farbbefehle werden durch \pkg{tudscrcolor} definiert, wenn
+% das Paket explizit mit der Option \opt{full} geladen wird. Damit werden
+% alle gängigen Farbdefinitionen der vielen Insellösungen des \LaTeX-Universums
+% an der Technischen Universität Dresden unterstützt.
+% \begin{macrocode}
+\newcommand*\setcdcolors@full{%
+ \colorlet{HKS41K100}{HKS41!100}
+ \colorlet{HKS41K90}{HKS41!90}
+ \colorlet{HKS41K80}{HKS41!80}
+ \colorlet{HKS41K70}{HKS41!70}
+ \colorlet{HKS41K60}{HKS41!60}
+ \colorlet{HKS41K50}{HKS41!50}
+ \colorlet{HKS41K40}{HKS41!40}
+ \colorlet{HKS41K30}{HKS41!30}
+ \colorlet{HKS41K20}{HKS41!20}
+ \colorlet{HKS41K10}{HKS41!10}
+ \colorlet{HKS92K100}{HKS92!100}
+ \colorlet{HKS92K90}{HKS92!90}
+ \colorlet{HKS92K80}{HKS92!80}
+ \colorlet{HKS92K70}{HKS92!70}
+ \colorlet{HKS92K60}{HKS92!60}
+ \colorlet{HKS92K50}{HKS92!50}
+ \colorlet{HKS92K40}{HKS92!40}
+ \colorlet{HKS92K30}{HKS92!30}
+ \colorlet{HKS92K20}{HKS92!20}
+ \colorlet{HKS92K10}{HKS92!10}
+ \colorlet{HKS44K100}{HKS44!100}
+ \colorlet{HKS44K90}{HKS44!90}
+ \colorlet{HKS44K80}{HKS44!80}
+ \colorlet{HKS44K70}{HKS44!70}
+ \colorlet{HKS44K60}{HKS44!60}
+ \colorlet{HKS44K50}{HKS44!50}
+ \colorlet{HKS44K40}{HKS44!40}
+ \colorlet{HKS44K30}{HKS44!30}
+ \colorlet{HKS44K20}{HKS44!20}
+ \colorlet{HKS44K10}{HKS44!10}
+ \colorlet{HKS36K10}{HKS36!10}
+ \colorlet{HKS36K20}{HKS36!20}
+ \colorlet{HKS36K30}{HKS36!30}
+ \colorlet{HKS36K40}{HKS36!40}
+ \colorlet{HKS36K50}{HKS36!50}
+ \colorlet{HKS36K60}{HKS36!60}
+ \colorlet{HKS36K70}{HKS36!70}
+ \colorlet{HKS36K80}{HKS36!80}
+ \colorlet{HKS36K90}{HKS36!90}
+ \colorlet{HKS36K100}{HKS36!100}
+ \colorlet{HKS33K10}{HKS33!10}
+ \colorlet{HKS33K20}{HKS33!20}
+ \colorlet{HKS33K30}{HKS33!30}
+ \colorlet{HKS33K40}{HKS33!40}
+ \colorlet{HKS33K50}{HKS33!50}
+ \colorlet{HKS33K60}{HKS33!60}
+ \colorlet{HKS33K70}{HKS33!70}
+ \colorlet{HKS33K80}{HKS33!80}
+ \colorlet{HKS33K90}{HKS33!90}
+ \colorlet{HKS33K100}{HKS33!100}
+ \colorlet{HKS57K10}{HKS57!10}
+ \colorlet{HKS57K20}{HKS57!20}
+ \colorlet{HKS57K30}{HKS57!30}
+ \colorlet{HKS57K40}{HKS57!40}
+ \colorlet{HKS57K50}{HKS57!50}
+ \colorlet{HKS57K60}{HKS57!60}
+ \colorlet{HKS57K70}{HKS57!70}
+ \colorlet{HKS57K80}{HKS57!80}
+ \colorlet{HKS57K90}{HKS57!90}
+ \colorlet{HKS57K100}{HKS57!100}
+ \colorlet{HKS65K10}{HKS65!10}
+ \colorlet{HKS65K20}{HKS65!20}
+ \colorlet{HKS65K30}{HKS65!30}
+ \colorlet{HKS65K40}{HKS65!40}
+ \colorlet{HKS65K50}{HKS65!50}
+ \colorlet{HKS65K60}{HKS65!60}
+ \colorlet{HKS65K70}{HKS65!70}
+ \colorlet{HKS65K80}{HKS65!80}
+ \colorlet{HKS65K90}{HKS65!90}
+ \colorlet{HKS65K100}{HKS65!100}
+ \colorlet{HKS07K10}{HKS07!10}
+ \colorlet{HKS07K20}{HKS07!20}
+ \colorlet{HKS07K30}{HKS07!30}
+ \colorlet{HKS07K40}{HKS07!40}
+ \colorlet{HKS07K50}{HKS07!50}
+ \colorlet{HKS07K60}{HKS07!60}
+ \colorlet{HKS07K70}{HKS07!70}
+ \colorlet{HKS07K80}{HKS07!80}
+ \colorlet{HKS07K90}{HKS07!90}
+ \colorlet{HKS07K100}{HKS07!100}
+ \colorlet{HKS41-100}{HKS41!100}
+ \colorlet{HKS41-90}{HKS41!90}
+ \colorlet{HKS41-80}{HKS41!80}
+ \colorlet{HKS41-70}{HKS41!70}
+ \colorlet{HKS41-60}{HKS41!60}
+ \colorlet{HKS41-50}{HKS41!50}
+ \colorlet{HKS41-40}{HKS41!40}
+ \colorlet{HKS41-30}{HKS41!30}
+ \colorlet{HKS41-20}{HKS41!20}
+ \colorlet{HKS41-10}{HKS41!10}
+ \colorlet{HKS92-100}{HKS92!100}
+ \colorlet{HKS92-90}{HKS92!90}
+ \colorlet{HKS92-80}{HKS92!80}
+ \colorlet{HKS92-70}{HKS92!70}
+ \colorlet{HKS92-60}{HKS92!60}
+ \colorlet{HKS92-50}{HKS92!50}
+ \colorlet{HKS92-40}{HKS92!40}
+ \colorlet{HKS92-30}{HKS92!30}
+ \colorlet{HKS92-20}{HKS92!20}
+ \colorlet{HKS92-10}{HKS92!10}
+ \colorlet{HKS44-100}{HKS44!100}
+ \colorlet{HKS44-90}{HKS44!90}
+ \colorlet{HKS44-80}{HKS44!80}
+ \colorlet{HKS44-70}{HKS44!70}
+ \colorlet{HKS44-60}{HKS44!60}
+ \colorlet{HKS44-50}{HKS44!50}
+ \colorlet{HKS44-40}{HKS44!40}
+ \colorlet{HKS44-30}{HKS44!30}
+ \colorlet{HKS44-20}{HKS44!20}
+ \colorlet{HKS44-10}{HKS44!10}
+ \colorlet{HKS36-10}{HKS36!10}
+ \colorlet{HKS36-20}{HKS36!20}
+ \colorlet{HKS36-30}{HKS36!30}
+ \colorlet{HKS36-40}{HKS36!40}
+ \colorlet{HKS36-50}{HKS36!50}
+ \colorlet{HKS36-60}{HKS36!60}
+ \colorlet{HKS36-70}{HKS36!70}
+ \colorlet{HKS36-80}{HKS36!80}
+ \colorlet{HKS36-90}{HKS36!90}
+ \colorlet{HKS36-100}{HKS36!100}
+ \colorlet{HKS33-10}{HKS33!10}
+ \colorlet{HKS33-20}{HKS33!20}
+ \colorlet{HKS33-30}{HKS33!30}
+ \colorlet{HKS33-40}{HKS33!40}
+ \colorlet{HKS33-50}{HKS33!50}
+ \colorlet{HKS33-60}{HKS33!60}
+ \colorlet{HKS33-70}{HKS33!70}
+ \colorlet{HKS33-80}{HKS33!80}
+ \colorlet{HKS33-90}{HKS33!90}
+ \colorlet{HKS33-100}{HKS33!100}
+ \colorlet{HKS57-10}{HKS57!10}
+ \colorlet{HKS57-20}{HKS57!20}
+ \colorlet{HKS57-30}{HKS57!30}
+ \colorlet{HKS57-40}{HKS57!40}
+ \colorlet{HKS57-50}{HKS57!50}
+ \colorlet{HKS57-60}{HKS57!60}
+ \colorlet{HKS57-70}{HKS57!70}
+ \colorlet{HKS57-80}{HKS57!80}
+ \colorlet{HKS57-90}{HKS57!90}
+ \colorlet{HKS57-100}{HKS57!100}
+ \colorlet{HKS65-10}{HKS65!10}
+ \colorlet{HKS65-20}{HKS65!20}
+ \colorlet{HKS65-30}{HKS65!30}
+ \colorlet{HKS65-40}{HKS65!40}
+ \colorlet{HKS65-50}{HKS65!50}
+ \colorlet{HKS65-60}{HKS65!60}
+ \colorlet{HKS65-70}{HKS65!70}
+ \colorlet{HKS65-80}{HKS65!80}
+ \colorlet{HKS65-90}{HKS65!90}
+ \colorlet{HKS65-100}{HKS65!100}
+ \colorlet{HKS07-10}{HKS07!10}
+ \colorlet{HKS07-20}{HKS07!20}
+ \colorlet{HKS07-30}{HKS07!30}
+ \colorlet{HKS07-40}{HKS07!40}
+ \colorlet{HKS07-50}{HKS07!50}
+ \colorlet{HKS07-60}{HKS07!60}
+ \colorlet{HKS07-70}{HKS07!70}
+ \colorlet{HKS07-80}{HKS07!80}
+ \colorlet{HKS07-90}{HKS07!90}
+ \colorlet{HKS07-100}{HKS07!100}
+}
+% \end{macrocode}
+% \end{macro}^^A \setcdcolors@full
+% Zum Schluss werden die Optionen ausgeführt und ggf. an \pkg{xcolor}
+% weitergereicht. Anschließend werden die Farben für das Dokument definiert.
+% Ohne die Angabe eines optionalen Argumentes an das Paket \pkg{xcolor} erfolgt
+% die Definition für den gewählten bzw. standardmäßig eingestellten Farbraum.
+% \begin{macrocode}
+\ExecuteOptions{reduced}
+\ProcessOptions\relax
+\RequirePackage{xcolor}
+\setcdcolors{}
+% \end{macrocode}
+%
+% \iffalse
+%</package&body>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx
new file mode 100644
index 00000000000..ef1f07f19df
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx
@@ -0,0 +1,311 @@
+% \CheckSum{199}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-comp.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-comp.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (compatibility for tudbook)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-comp.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Kompatibilität für alte \cls{tudbook}-Dokumente}
+%
+% Diese Paket stellt für die \cls{tudscr}-Klassen eine Schnittstelle bereit,
+% die es ermöglicht, die in der alten \cls{tudbook}-Klasse und dem dazugehörigen
+% \pkg{tudthesis}-Paket definierten Befehle hier zu benutzen, um alte Dokumente
+% mit den neuen Klassen zu setzen.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*package&header>
+% \fi
+%
+% \subsection{Identifizierung des Pakets \pkg{tudscrcomp}}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tudscrcomp}%
+ [\TUDVersion\space package (compatibility for tudbook)]
+\ifx\tudcls@name\undefined
+ \PackageError{tudscrcomp}{Unsupported class found}{%
+ This package can only be used with a class out of the\MessageBreak%
+ tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)%
+ }
+ \endinput
+\fi
+% \end{macrocode}
+%
+% \iffalse
+%</package&header>
+%<*package&body>
+% \fi
+%
+% \subsection{Das Paket \pkg{tudscrcomp}}
+%
+% \begin{macro}{\einrichtung}
+% \begin{macro}{\fachrichtung}
+% \begin{macro}{\institut}
+% \begin{macro}{\professur}
+% \begin{macro}{\moreauthor}
+% \begin{macro}{\submitdate}
+% \begin{macro}{\supervisorII}
+% \begin{macro}{\supervisedby}
+% \begin{macro}{\supervisedIIby}
+% \begin{macro}{\submittedon}
+% Es werden Aliasbefehle für die Eingabefelder definiert.
+% \begin{macrocode}
+\newcommand*\einrichtung{}
+\let\einrichtung\faculty
+\newcommand*\fachrichtung{}
+\let\fachrichtung\department
+\newcommand*\institut{}
+\let\institut\institute
+\newcommand*\professur{}
+\let\professur\chair
+\newcommand*\moreauthor{}
+\let\moreauthor\authormore
+\newcommand*\submitdate{}
+\let\submitdate\date
+\newcommand*\supervisorII[1]{%
+ \expandafter\gdef\expandafter\@supervisor\expandafter{\@supervisor\and#1}%
+}
+\newcommand*\supervisedby[1]{\gdef\supervisorname{#1}}
+\newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}}
+\newcommand*\submittedon[1]{\gdef\datetext{#1}}
+% \end{macrocode}
+% \end{macro}^^A \submittedon
+% \end{macro}^^A \supervisedIIby
+% \end{macro}^^A \supervisedby
+% \end{macro}^^A \supervisorII
+% \end{macro}^^A \submitdate
+% \end{macro}^^A \moreauthor
+% \end{macro}^^A \professur
+% \end{macro}^^A \institut
+% \end{macro}^^A \fachrichtung
+% \end{macro}^^A \einrichtung}
+% \begin{macro}{\dissertation}
+% Bei der Definition des Typs der Abschlussarbeit mit \cs{dissertation} wird
+% die Lokalisierungsvariable \cs{dissertationname} verwendet und die Feldnamen
+% angepasst.
+% \begin{macrocode}
+\newcommand*\dissertation{%
+ \thesis{\dissertationname}%
+ \let\supervisorname\refereename%
+ \let\supervisorothername\refereeothername%
+}
+% \end{macrocode}
+% \end{macro}^^A \dissertation
+% \begin{option}{colortitle}
+% \begin{option}{nocolortitle}
+% Für farbige Einstellungen wird von \cls{tudbook} die Option \opt{color}
+% definiert. Soll die Titelseite konträr dazu gesetzt werden, muss sich mit den
+% Schlüsseln \opt{colortitle} und \opt{nocolortitle} beholfen werden.
+% \begin{macrocode}
+\TUD@key{colortitle}[true]{%
+ \TUD@set@ifkey{colortitle}{@tempswa}{#1}%
+ \if@tempswa%
+ \TUDoptions{cdtitle=color}%
+ \else%
+ \TUDoptions{cdtitle=true}%
+ \fi%
+}
+\TUD@key{nocolortitle}[true]{%
+ \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}%
+ \if@tempswa%
+ \TUDoptions{cdtitle=true}%
+ \else%
+ \TUDoptions{cdtitle=color}%
+ \fi%
+}
+% \end{macrocode}
+% \end{option}^^A nocolortitle
+% \end{option}^^A colortitle
+% \begin{option}{ddcfooter}
+% Außer der Option \opt{ddc} gibt es bei der alten \cls{tudbook}-Klasse noch
+% den Schlüssel \opt{ddcfooter}. Dieser wird auf die Option \opt{ddcfoot} gelegt.
+% \begin{macrocode}
+\TUD@key{ddcfooter}[true]{%
+ \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}%
+ \if@tempswa%
+ \TUDoptions{ddcfoot}%
+ \else%
+ \TUDoptions{ddcfoot=false}%
+ \fi%
+}
+% \end{macrocode}
+% \end{option}^^A ddcfooter
+% \begin{environment}{theglossary}
+% \begin{macro}{\glossaryname}
+% \begin{macro}{\glossitem}
+% Eine rudimentäre Umgebung für ein Glossar.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \ifdef{\theglossary}{}{%
+ \providecommand*{\glossaryname}{Glossar}
+ \newenvironment{theglossary}[1][]{%
+ \ClassWarning{\tudcls@name}{%
+ Using the environment theglossary is not\MessageBreak%
+ recommended. You should rather use an appropriate\MessageBreak%
+ package such as glossaries%
+ }%
+ \let\bibname\glossaryname%
+ \bib@heading%
+ #1%
+ \list{}{%
+ \setlength{\labelsep}{\z@}%
+ \setlength{\labelwidth}{\z@}%
+ \setlength{\itemindent}{-\leftmargin}%
+ }%
+ }{\endlist}
+ \newcommand{\glossitem}[1]{\item[] #1\par}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \glossitem
+% \end{macro}^^A \glossaryname
+% \end{environment}^^A theglossary
+% \begin{option}{serifmath}
+% Die alte \cls{tudbook}-Klasse hat neben der Option \opt{sansmath}
+% außerdem den zusätzlichen Schlüssel \opt{serifmath} definiert, welcher aus
+% Gründen der Kompatibilität hier ebenfalls vorgehalten wird.
+% \begin{macrocode}
+\TUD@key{serifmath}[true]{%
+ \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
+ \if@tempswa%
+ \TUDoptions{sansmath=false}%
+ \else%
+ \TUDoptions{sansmath}%
+ \fi%
+}
+% \end{macrocode}
+% \end{option}^^A serifmath
+% \begin{macro}{\chapterpage}
+% \begin{macro}{\if@tud@chapterpage@temp}
+% \begin{macro}{\tud@chapterpage@set}
+% \begin{macro}{\tud@chapterpage@unset}
+% \begin{macro}{\tud@chapterpage@wrn}
+% Die alte \cls{tudbook}-Klasse stellt den Befehl \cs{chapterpage} bereit.
+% Mit diesem ist es möglich, das Verhalten der Kapitelseiten~-- welches durch
+% die Option \opt{chapterpage} gesteuert wird~-- temporär umzuschalten, also
+% statt Kapitelseiten lediglich Überschriften zu setzen und umgekehrt. Dies ist
+% typographisch durchaus zu hinterfragen, allerdings sollen die neuen Klassen
+% möglichst kompatibel zu der alten sein, weshalb diese Funktionalität trotzdem
+% implementiert wird. Der Befehl \cs{chapterpage} setzt den globalen Schalter
+% \cs{if@tud@chapterpage@temp}. Der Befehl \cs{tud@chapterpage@set} setzt für
+% Kapitel das komplementäre Verhalten zur eigentlich gewählten
+% \opt{chapterpage}"=Option. Nach dem Setzen der entsprechenden Überschrift
+% wird \cs{tud@chapterpage@set} nochmals aufgerufen, das Verhalten auf den
+% ursprünglichen Zustand geschaltet und der globale Schalter
+% \cs{if@tud@chapterpage@temp} zurückgesetzt.
+% \begin{macrocode}
+\newif\if@tud@chapterpage@temp
+\newcommand*\chapterpage{\@tud@chapterpage@temptrue\tud@chapterpage@wrn}
+\newcommand*\tud@chapterpage@set[1][]{%
+ \if@tud@chapterpage@temp%
+ \if@tud@chapterpage%
+ \TUDoptions{chapterpage=false}%
+ \else%
+ \TUDoptions{chapterpage}%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@chapterpage@unset[1][]{%
+ \tud@chapterpage@set%
+ \global\@tud@chapterpage@tempfalse%
+}
+\AtEndPreamble{%
+ \pretocmd{\tud@nchapter}{\tud@chapterpage@set}{}{}
+ \apptocmd{\tud@nchapter}{\tud@chapterpage@unset}{}{}
+ \pretocmd{\tud@schapter}{\tud@chapterpage@set}{}{}
+ \apptocmd{\tud@schapter}{\tud@chapterpage@unset}{}{}
+ \pretocmd{\tud@ochapter}{\tud@chapterpage@set}{}{}
+ \apptocmd{\tud@ochapter}{\tud@chapterpage@unset}{}{}
+ \pretocmd{\tud@naddchap}{\tud@chapterpage@set}{}{}
+ \apptocmd{\tud@naddchap}{\tud@chapterpage@unset}{}{}
+ \pretocmd{\tud@saddchap}{\tud@chapterpage@set}{}{}
+ \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}{}{}
+ \pretocmd{\tud@oaddchap}{\tud@chapterpage@set}{}{}
+ \apptocmd{\tud@oaddchap}{\tud@chapterpage@unset}{}{}
+}
+% \end{macrocode}
+% Da wie bereits beschrieben das Vorgehen äußerst fragwürdig ist, wird bei der
+% Verwendung von \cs{chapterpage} zumindest einmalig eine Warnung ausgegeben.
+% \begin{macrocode}
+\newcommand*\tud@chapterpage@wrn{%
+ \ClassWarning{\tudcls@name}{%
+ The command \string\chapterpage\space is not\MessageBreak%
+ recommended. You should use the same style for\MessageBreak%
+ chapters throughout the document
+ }%
+ \global\let\tud@chapterpage@wrn\relax%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@chapterpage@wrn
+% \end{macro}^^A \tud@chapterpage@unset
+% \end{macro}^^A \tud@chapterpage@set
+% \end{macro}^^A \if@tud@chapterpage@temp
+% \end{macro}^^A \chapterpage
+%
+% \iffalse
+%</package&body>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx
new file mode 100644
index 00000000000..7f498c96a61
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx
@@ -0,0 +1,80 @@
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{tudscrdoc}%
+ [2014/04/24 v1.00 (documentation class for the tudscr-bundle based on scrdoc)]
+\LoadClassWithOptions{scrdoc}
+\setlength{\marginparwidth}{140pt}
+\setlength{\marginparsep}{8pt}
+\setlength{\oddsidemargin}{\dimexpr\marginparwidth+\marginparsep-1in}
+\setlength{\textwidth}{\dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep}
+\setlength{\topmargin}{-1in}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{30pt}
+\setlength{\footskip}{\headsep}
+\setlength{\textheight}{\dimexpr\paperheight-3\footskip}
+\RequirePackage[latin1]{inputenc}
+\RequirePackage{dox}
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+\RequirePackage[english,ngerman]{babel}
+\RequirePackage{hologo}
+\RequirePackage{xspace}
+\def\filemail{tudscr@gmail.com}
+\title{\texttt{\filename}%
+ \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}}
+\author{Falk Hanisch\footnote{\filemail}}
+\date{\filedate}
+\DoNotIndex{\",\if,\tudpage,\endtudpage,\tud@pagestyle}
+\doxitem[idxtype=Option]{Option}{option}{Optionen}
+\doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter}
+\doxitem[macrolike,idxtype=L\"ange]{Length}{length}{L\"angen}
+\doxitem[idxtype=Farbe]{Color}{color}{Farben}
+\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen}
+\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder}
+\DeclareRobustCommand*{\cls}[1]{\mbox{\textsf{#1}}}
+\DeclareRobustCommand*{\pkg}[1]{\mbox{\textsf{#1}}}
+\DeclareRobustCommand*{\opt}[1]{\mbox{\texttt{#1}}}
+\DeclareRobustCommand*{\env}[1]{\mbox{\texttt{#1}}}
+\DeclareRobustCommand*{\cmd}[1]{\mbox{\cs{#1}}}
+\DeclareRobustCommand\TUDScript{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+}
+\newif\if@tud@doc@final
+\DeclareOption{final}{\@tud@doc@finaltrue}
+\ProcessOptions\relax
+\AtBeginDocument{
+ \providecommand\todo[2][]{%
+ \if@tud@doc@final\else
+ \def\todo@mark{\ifstr{#1}{}{ToDo}{#1}}%
+ \endgraf%
+ \hfuzz0.8pt%
+ \leavevmode\marginpar{\raggedleft\fbox{\todo@mark\strut}}%
+ \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{#2\strut}}%
+ \fi%
+ }
+ \let\ToDo\todo
+ \providecommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace}
+ \providecommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace}
+ \providecommand*\KOMAScript{KOMA-Script\xspace}
+ \providecommand*\url[1]{\texttt{#1}}
+ \providecommand*\texorpdfstring[2]{#1}
+}
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx
new file mode 100644
index 00000000000..1eb2ae5a888
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx
@@ -0,0 +1,804 @@
+% \CheckSum{508}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-fields.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-fields.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (input fields)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-fields.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Eingabefelder für den Nutzer}
+%
+% Die Vorlagen für das \CD der Technischen Universität Dresden definieren
+% mehrere Felder, welche durch den Nutzer gesetzt und auf Titelseite bzw. mit
+% \pkg{tudscrsupervisor} auch teilweise für die Aufgabenstellung verwendet
+% werden. Ein Großteil der definierten Felder wird unter anderem für den Satz
+% der Titelseite benötigt.
+%
+% Das Setzen einer speziellen Titelseite mit \LaTeX{} ist eines der häufigsten
+% anliegen. Dafür ist von Markus Kohm\footnote{Autor von \KOMAScript} das
+% \pkg{titlepage}-Paket entworfen worden. Um gleichzeitig konsistent zu diesem
+% Paket, werden für die entsprechenden Felder Alias-Befehle definiert.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class|titlepage>
+% \fi
+%
+% \subsection{Textfelder}
+%
+% Einige der Felder werden sowohl für die Klassen aber auch für den separaten
+% \pkg{titlepage}-Stil benötigt.
+% \begin{macro}{\faculty}
+% \begin{field}{\@faculty}
+% Angabe der Fakultät für die TUD-Kopfzeile mit \cs{faculty}\marg{Fakultät},
+% wird im Makro \cs{@faculty} gespeichert.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@faculty{}
+\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}}
+%</class>
+% \end{macrocode}
+% \end{field}^^A \@faculty
+% \end{macro}^^A \faculty
+% \begin{macro}{\department}
+% \begin{field}{\@department}
+% Angabe der Einrichtung mit \cs{department}\marg{Fachrichtung} für die
+% TUD-Kopfzeile, wird im Makro \cs{@department} gespeichert.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@department{}
+\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}}
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{department}
+%</titlepage>
+% \end{macrocode}
+% \end{field}^^A \@department
+% \end{macro}^^A \department
+% \begin{macro}{\institute}
+% \begin{field}{\@institute}
+% Angabe des Instituts für die TUD-Kopfzeile mit \cs{institute}\marg{Institut},
+% wird im Makro \cs{@institute} gespeichert.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@institute{}
+\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}}
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{institute}
+%</titlepage>
+% \end{macrocode}
+% \end{field}^^A \@institute
+% \end{macro}^^A \institute
+% \begin{macro}{\chair}
+% \begin{field}{\@chair}
+% \begin{macro}{\professorship}
+% Angabe des Lehrstuhls bzw. der Professur mit \cs{chair}\marg{Lehrstuhl} für
+% die TUD-Kopfzeile, wird im Makro \cs{@chair} gespeichert; für \cs{chair} kann
+% als Aliasbefehl auch \cs{professorship} genutzt werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@chair{}
+\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}}
+\newcommand*\professorship{}
+\let\professorship\chair
+%</class>
+% \end{macrocode}
+% \end{macro}^^A \professorship
+% \end{field}^^A \@chair
+% \end{macro}^^A \chair
+% \begin{macro}{\extraheadline}
+% \begin{field}{\@extraheadline}
+% Für die Angabe einer freien zweiten bzw. dritten Textzeile im Kopf. Dies ist
+% laut \CD nur in besonderen Ausnahmefällen gestattet.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@extraheadline{}
+\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}}
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{extraheadline}
+%</titlepage>
+% \end{macrocode}
+% \end{field}^^A \@extraheadline
+% \end{macro}^^A \extraheadline
+% \begin{macro}{\title}
+% \begin{field}{\@@title}
+% \begin{macro}{\author}
+% \begin{field}{\@@author}
+% Für die spätere Verwendung im Dokument von Titel und Autor~-- bspw. für die
+% Aufgabenstellung oder die Selbstständigkeitserklärung~-- werden die Felder
+% \cs{@@title} sowie \cs{@@author} definiert, wodurch die mit \cs{title} bzw.
+% \cs{author} gespeicherten Einträge auch nach dem Setzen des Titels noch
+% verwendet werden können, da die Standardfelder \cs{@title} und \cs{@author}
+% durch \cs{maketitle} gelöscht werden. Außerdem sollen in diesen Feldern keine
+% Fußnoten enthalten sein. Dafür müssen \cs{title} bzw. \cs{author} angepasst
+% werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@@title{}
+\renewcommand*\title[1]{%
+ \gdef\@title{#1}%
+ \gdef\@@title{%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ #1%
+ \endgroup%
+ }%
+}
+\newcommand*\@@author{}
+\renewcommand*\author[1]{%
+ \gdef\@author{#1}%
+ \let\@@author\@author%
+}
+%</class>
+% \end{macrocode}
+% \end{field}^^A \@@author
+% \end{macro}^^A \author
+% \end{field}^^A \@@title
+% \end{macro}^^A \title
+% \begin{macro}{\student}
+% Der Befehl \cs{student} kann als Alias für \cs{author} genutzt werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\student{}
+\let\student\author
+%</class>
+% \end{macrocode}
+% \end{macro}^^A \student
+% \begin{macro}{\authormore}
+% \begin{field}{\@authormore}
+% Ausgabe einer zusätzlichen Zeile mit \cs{authormore}\marg{Textzeile} direkt
+% unterhalb der Angabe des Autors auf der Titelseite, wird im Makro
+% \cs{@authormore} gespeichert.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@authormore{}
+\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}}
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{authormore}
+%</titlepage>
+% \end{macrocode}
+% \end{field}^^A \@authormore
+% \end{macro}^^A \authormore
+% \begin{macro}{\thesis}
+% \begin{field}{\@thesis}
+% \begin{field}{\@@thesis}
+% \begin{macro}{\subject}
+% \begin{field}{\@subject}
+% \begin{macro}{\tud@thesis}
+% \begin{macro}{\tud@@thesis}
+% \begin{macro}{\tud@thanks}
+% Art bzw. Typ der Abschlussarbeit kann \cs{thesis}\marg{Abschlussarbeit}
+% angegeben werden und wird im Makro \cs{@thesis} gespeichert. Alternativ
+% dazu kann auch der Befehl \cs{subject} verwendet werden. Mit dem Befehl
+% \cs{tud@thesis} wird in den Feldern \@thesis bzw. \@subject nach bestimmten
+% Schlagwörtern für Abschlussarbeiten o.\,ä. gesucht. Wird eines dieser Wörter
+% gefunden, wird der entsprechende reguläre Ausdruck für dieses Feld gesetzt.
+% Zusätzlich wird durch \cs{tud@@thesis} dafür gesorgt, dass gegebenenfalls der
+% Inhalt von \cs{@subject} in \cs{@thesis} verschoben und die entsprechende
+% Option \opt{subjectthesis} gesetzt wird. In \cs{@@thesis} wird die angegebene
+% Abschlussarbeit ohne etwaige Fußnoten gespeichert.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@thesis{}
+\newcommand*\@@thesis{}
+\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{thesis}
+\renewcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
+%</titlepage>
+\newcommand*\tud@thanks{}
+\newcommand*\tud@thesis[2]{%
+ \AfterPreamble{%
+ \begingroup%
+% \end{macrocode}
+% Hier das gleiche wie an anderer Stelle auch schon. Der Inhalt einer eventuell
+% vorhandenen Fußnote wird gesichert
+% \begin{macrocode}
+ \global\let\tud@thanks\relax%
+ \def\thanks##1{\gdef\tud@thanks{##1}}%
+ \let\footnote\thanks%
+ \setbox0\vbox{#2}%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \ifstr{#1}{thesis}{\xdef\@@thesis{#2}}{}%
+ \endgroup%
+ \tud@lowerstring{\@tempa}{#2}%
+ \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{%
+ \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{%
+ \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{%
+ \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{%
+ \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{%
+ \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{%
+ \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{%
+ \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{%
+ \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{%
+ \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{%
+ \@namedef{@#1}{#2}%
+ }}}}}}}}}}}}}%
+ }%
+}
+\newcommand*\tud@@thesis[2]{%
+ \ifx\tud@thanks\relax%
+ \gdef\@thesis{#2}%
+ \else%
+ \xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}%
+ \fi%
+ \gdef\@@thesis{#2}%
+ \ifstr{#1}{subject}{%
+ \ifx\@thesis\empty\else%
+%<*class>
+ \ClassWarning{\tudcls@name}{Field 'thesis' is overwritten by 'subject'}%
+%</class>
+%<*titlepage>
+ \PackageWarning{titlepage}{Field 'thesis' is overwritten by 'subject'}%
+%</titlepage>
+ \fi%
+%<*class>
+ \TUD@std@ifkey@lock{subjectthesis}{true}%
+%</class>
+%<*titlepage>
+ \FamilySetBool{title}{subjectthesis}{@tud@subjectthesis}{true}%
+%</titlepage>
+ }{%
+%<*class>
+ \TUD@std@ifkey@lock{subjectthesis}{false}%
+%</class>
+%<*titlepage>
+ \FamilySetBool{title}{subjectthesis}{@tud@subjectthesis}{false}%
+%</titlepage>
+ }%
+}
+\renewcommand*\subject[1]{\tud@thesis{subject}{#1}}
+% \end{macrocode}
+% \end{macro}^^A \tud@thanks
+% \end{macro}^^A \tud@@thesis
+% \end{macro}^^A \tud@thesis
+% \end{field}^^A \@subject
+% \end{macro}^^A \subject
+% \end{field}^^A \@@thesis
+% \end{field}^^A \@thesis
+% \end{macro}^^A \thesis
+% \begin{macro}{\degree}
+% \begin{field}{\@degree}
+% \begin{field}{\@degreeabbr}
+% Der angestrebte Abschluss bzw. der zu erwerbende akademische Grad, welcher
+% auf der Titelseite ausgegeben werden soll, wird im Makro \cs{@degree}
+% gespeichert. Zusätzlich kann als optionales Argument die Kurzform des
+% akademischen Grades angegeben werden, wird in \cs{@degreeabbr} gespeichert.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@degree{}
+%</class>
+\newcommand*\@degreeabbr{}
+%<*titlepage>
+\let\degree\relax
+%</titlepage>
+\newcommand*\degree[2][]{%
+ \ifxblank{#1}{\gdef\@degreeabbr{}}{\gdef\@degreeabbr{(#1)}}%
+ \gdef\@degree{#2}%
+}
+% \end{macrocode}
+% \end{field}^^A \@degreeabbr
+% \end{field}^^A \@degree
+% \end{macro}^^A \degree
+%
+% \iffalse
+%<*class>
+% \fi
+%
+% \begin{macro}{\professor}
+% \begin{field}{\@professor}
+% Angabe des verantwortlichen Hochschullehrers für Titel und Aufgabenstellung,
+% wird im Makro \cs{@professor} gespeichert.
+% \begin{macrocode}
+\newcommand*\@professor{}
+\newcommand*\professor[1]{\gdef\@professor{#1}}
+% \end{macrocode}
+% \end{field}^^A \@professor
+% \end{macro}^^A \professor
+% \begin{macro}{\supervisor}
+% \begin{field}{\@supervisor}
+% (Erst- und Zweit"~)Betreuer bei Abschlussarbeiten, wird in \cs{@supervisor}
+% gespeichert. Mehrere Betreuer werden durch \cs{and} getrennt. Für die
+% Selbstständigkeitserklärung werden standardmäßig die angegebenen Betreuer
+% als Personen eingetragen, welche Unterstützung geleistet haben.
+% \begin{macrocode}
+\newcommand*\@supervisor{}
+\newcommand*\supervisor[1]{%
+ \gdef\@supervisor{#1}%
+ \ifx\@supporter\empty\gdef\@supporter{#1}\fi%
+}
+% \end{macrocode}
+% \end{field}^^A \@supervisor
+% \end{macro}^^A \supervisor
+% \begin{macro}{\supporter}
+% \begin{field}{\@supporter}
+% Diese Feld ist für die Hilfesteller bei der Anfertigung der Abschlussarbeit,
+% welche auf der Selbstständigkeitserklärung aufgeführt werden. Standardmäßig
+% werden diese bei der Angabe der Betreuer gesetzt. Sollten die unterstützenden
+% Personen separat angegeben werden, ist das Eintragen der Betreuer in das Feld
+% \cs{@supporter} nicht mehr nötig. Mehrere Hilfesteller werden durch \cs{and}
+% getrennt.
+% \begin{macrocode}
+\newcommand*\@supporter{}
+\newcommand*\supporter[1]{%
+ \gdef\@supporter{#1}%
+ \renewcommand*\supervisor[1]{\gdef\@supervisor{##1}}%
+}
+% \end{macrocode}
+% \end{field}^^A \@supporter
+% \end{macro}^^A \supporter
+% \begin{macro}{\company}
+% \begin{field}{\@company}
+% Angabe einer externen Firma, wird im Makro \cs{@company} gespeichert.
+% \begin{macrocode}
+\newcommand*\@company{}
+\newcommand*\company[1]{\gdef\@company{#1}}
+% \end{macrocode}
+% \end{field}^^A \@company
+% \end{macro}^^A \company
+% \begin{macro}{\referee}
+% \begin{field}{\@referee}
+% Gutachter bei einer Dissertation, werden im Makro \cs{@referee} gespeichert.
+% Mehrere Gutachter werden durch \cs{and} getrennt.
+% \begin{macrocode}
+\newcommand*\@referee{}
+\newcommand*\referee[1]{\gdef\@referee{#1}}
+% \end{macrocode}
+% \end{field}^^A \@referee
+% \end{macro}^^A \referee
+% \begin{macro}{\advisor}
+% \begin{field}{\@advisor}
+% Fachreferenten bei einer Dissertation, werden im Makro \cs{@advisor}
+% gespeichert. Mehrere Fachreferenten werden durch \cs{and} getrennt.
+% \begin{macrocode}
+\newcommand*\@advisor{}
+\newcommand*\advisor[1]{\gdef\@advisor{#1}}
+% \end{macrocode}
+% \end{field}^^A \@advisor
+% \end{macro}^^A \advisor
+% \begin{macro}{\matriculationnumber}
+% \begin{field}{\@matriculationnumber}
+% \begin{macro}{\studentid}
+% \begin{macro}{\matriculationid}
+% Angabe der Matrikelnummer für Titelseite und Aufgabenstellung, wird in dem
+% Makro \cs{@matriculationid} gespeichert, für \cs{matriculationid} kann als
+% Aliasbefehl \cs{studentid} sowie \cs{matriculationnumber} genutzt werden.
+% \begin{macrocode}
+\newcommand*\@matriculationnumber{}
+\newrobustcmd*\matriculationnumber[1]{%
+ \gdef\@matriculationnumber{#1}%
+}
+\newrobustcmd*\studentid{}
+\newrobustcmd*\matriculationid{}
+\let\studentid\matriculationnumber
+\let\matriculationid\matriculationnumber
+% \end{macrocode}
+% \end{macro}^^A \matriculationid
+% \end{macro}^^A \studentid
+% \end{field}^^A \@matriculationnumber
+% \end{macro}^^A \matriculationnumber
+%
+% \iffalse
+%</class>
+% \fi
+%
+% \begin{macro}{\matriculationyear}
+% \begin{field}{\@matriculationyear}
+% \begin{macro}{\enrolmentyear}
+% Angabe des Immatrikulationsjahr für den Titel, wird im Makro
+% \cs{@matriculationyear} gespeichert, für \cs{matriculationyear} kann als
+% Aliasbefehl auch \cs{enrolmentyear} genutzt werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@matriculationyear{}
+\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}}
+\newrobustcmd*\enrolmentyear{}
+\let\enrolmentyear\matriculationyear
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{matriculationyear}
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \enrolmentyear
+% \end{field}^^A \@matriculationyear
+% \end{macro}^^A \matriculationyear
+% \begin{macro}{\placeofbirth}
+% \begin{field}{\@placeofbirth}
+% \begin{macro}{\birthplace}
+% Angabe des Geburtsortes für den Titel, wird im Makro \cs{@placeofbirth}
+% gespeichert, für \cs{placeofbirth} kann als Aliasbefehl auch \cs{birthplace}
+% genutzt werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@placeofbirth{}
+\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}}
+\newrobustcmd*\birthplace{}
+\let\birthplace\placeofbirth
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{placeofbirth}
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \birthplace
+% \end{field}^^A \@placeofbirth
+% \end{macro}^^A \placeofbirth
+% \begin{macro}{\publisher}
+% \begin{field}{\@publisher}
+% \begin{macro}{\publishers}
+% Kleine Korrektur für \KOMAScript. Der Standardbefehl sollte im Singular
+% stehen.
+% \begin{macrocode}
+%<*class>
+\providecommand*\@publisher{}
+\providecommand*\publisher[1]{\gdef\@publisher{#1}}
+\let\publishers\publisher
+%</class>
+%<*titlepage>
+\providecommand*\publishers{\publisher}
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \publishers
+% \end{field}^^A \@publisher
+% \end{macro}^^A \publisher
+% \begin{macro}{\confirmationclosing}
+% \begin{field}{\@confirmationclosing}
+% Als Abschluss der Selbstständigkeitserklärung für Ort und Unterschrift.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@confirmationclosing{%
+ \medskip%
+ \noindent\@place, \@@date%
+ \\[15mm plus 10mm minus 10mm]%
+ \begingroup%
+ \let\and\hfil%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \@@author%
+ \hfil%
+ \endgroup%
+}
+\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
+%</class>
+% \end{macrocode}
+% \end{field}^^A \@confirmationclosing
+% \end{macro}^^A \confirmationclosing
+% \begin{macro}{\place}
+% \begin{field}{\@place}
+% \begin{macro}{\location}
+% Angabe des Ortes für die Unterschriftzeile der Selbstständigkeitserklärung,
+% wird im Makro \cs{@place} gespeichert und standardmäßig mit
+% \glqq{}Dresden\grqq{} gesetzt, für \cs{place} kann als Aliasbefehl auch
+% \cs{location} genutzt werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@place{Dresden}
+\newcommand*\place[1]{\gdef\@place{#1}}
+%</class>
+\newcommand*\location{}
+\let\location\place
+% \end{macrocode}
+% \end{macro}^^A \location
+% \end{field}^^A \@place
+% \end{macro}^^A \place
+%
+% \iffalse
+%</class|titlepage>
+%<*supervisor>
+% \fi
+%
+% \begin{macro}{\course}
+% \begin{field}{\@course}
+% \begin{macro}{\discipline}
+% Studiengang für den Kopf der Aufgabenstellung, wird im Makro \cs{@course}
+% gespeichert, für \cs{course} kann als Aliasbefehl auch \cs{discipline}
+% genutzt werden.
+% \begin{macrocode}
+\newcommand*\@course{}
+\newrobustcmd*\course[1]{\gdef\@course{#1}}
+\newrobustcmd*\discipline{}
+\let\discipline\course
+% \end{macrocode}
+% \end{macro}^^A \discipline
+% \end{field}^^A \@course
+% \end{macro}^^A \course
+% \begin{macro}{\branch}
+% \begin{field}{\@branch}
+% Studienrichtung bzw. Fachrichtung für den Kopf der Aufgabenstellung, wird
+% im Makro \cs{@branch} gespeichert.
+% \begin{macrocode}
+\newcommand*\@branch{}
+\newrobustcmd*\branch[1]{\gdef\@branch{#1}}
+% \end{macrocode}
+% \end{field}^^A \@branch
+% \end{macro}^^A \branch
+% \begin{macro}{\chairman}
+% \begin{field}{\@chairman}
+% Angabe des Prüfungsausschussvorsitzenden für die Aufgabenstellung, wird im
+% Makro \cs{@chairman} gespeichert.
+% \begin{macrocode}
+\newcommand*\@chairman{}
+\newcommand*\chairman[1]{\gdef\@chairman{#1}}
+% \end{macrocode}
+% \end{field}^^A \@chairman
+% \end{macro}^^A \chairman
+% \begin{macro}{\contact}
+% \begin{field}{\@contact}
+% \begin{macro}{\office}
+% \begin{field}{\@office}
+% \begin{macro}{\phone}
+% \begin{field}{\@phone}
+% \begin{macro}{\email}
+% \begin{field}{\@email}
+% Für einen Aushang kann eine oder mehrere Kontaktpersonen angegeben werden.
+% Zusätzlich kann für jede einzelne Person ein Raum, eine Telefonnummer und die
+% E-Mail"=Adresse hinzugefügt werden.
+% \begin{macrocode}
+\newcommand*\@contact{}
+\newcommand*\contact[1]{\gdef\@contact{#1}}
+\newcommand*\@office{}
+\newrobustcmd*\office[1]{\gdef\@office{#1}}
+\newcommand*\@phone{}
+\newrobustcmd*\phone[1]{\gdef\@phone{#1}}
+\newcommand*\@email{}
+\newrobustcmd*\email[1]{\gdef\@email{#1}}
+\AfterPackage{hyperref}{%
+ \renewrobustcmd*\email[1]{\gdef\@email{\href{mailto:#1}{\nolinkurl{#1}}}}%
+}
+% \end{macrocode}
+% \end{field}^^A \@email
+% \end{macro}^^A \email
+% \end{field}^^A \@phone
+% \end{macro}^^A \phone
+% \end{field}^^A \@office
+% \end{macro}^^A \office
+% \end{field}^^A \@contact
+% \end{macro}^^A \contact
+% \begin{macro}{\grade}
+% \begin{field}{\@grade}
+% \begin{field}{\@headline}
+% Die beiden Befehle dienen zum Abspeichern der entsprechenden Parameter
+% innerhalb der neu definierten Umgebungen aus dem Paket \pkg{tudscrsupervisor}.
+% \begin{macrocode}
+\newcommand*\@grade{}
+\newcommand*\grade[1]{\gdef\@grade{#1}}
+\newcommand*\@headline{}
+% \end{macrocode}
+% \end{field}^^A \@headline
+% \end{field}^^A \@grade
+% \end{macro}^^A \grade
+%
+% \iffalse
+%</supervisor>
+%<*class|titlepage>
+%<*class>
+% \fi
+%
+% \subsection{Datumsfelder}
+%
+% \begin{macro}{\printdate}
+% Im Folgenden werden mehrere Datumsfelder definiert. Damit diese optional
+% durch das \pkg{isodate}-Paket formatiert werden können, wird der zu
+% diesem Paket gehörende Befehl \cs{printdate} in die Definition der
+% eigentlichen Datumsfelder integriert. Sollte das \pkg{isodate}-Paket nicht
+% geladen werden, so muss dieser Befehl trotzdem definiert sein.
+% \begin{macrocode}
+\newcommand*\printdate[1]{#1}
+\BeforePackage{isodate}{\let\printdate\undefined}
+% \end{macrocode}
+% \end{macro}^^A \printdate
+% \begin{macro}{\tud@printdate}
+% Damit die Datumsfelder definiert werden können und das \pkg{isodate}-Paket
+% unterstützen, muss beim Festlegen der Datumsfelder einiges beachtet werden.
+% So müssen beispielsweise leere Argumente und Sonderfälle separat betrachtet
+% werden. Damit dies einheitlich für alle Felder geschehen kann, wird dieser
+% Befehl genutzt. Dabei wird als erstes Argument der Befehlsname für das
+% Datumsfeld übergeben, als zweites Argument der gewünschte Inhalt.
+% \begin{macrocode}
+\newcommand*\tud@printdate[2]{%
+ \ifx\today#2%
+ \gdef#1{#2}%
+ \else%
+ \ifxblank{#2}%
+ {\gdef#1{}}%
+ {\gdef#1{\printdate{#2}}}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@printdate
+%
+% \iffalse
+%</class>
+% \fi
+%
+% \begin{macro}{\date}
+% \begin{field}{\@date}
+% \begin{field}{\@@date}
+% \begin{field}{\@datemore}
+% \begin{macro}{\submissiondate}
+% Das Abgabedatum der Arbeit für den Titel, wird im originalen Makro \cs{@date}
+% gespeichert. Zusätzlich kann als optionales Argument eine Ergänzung angehängt
+% werden~-- beispielsweise als Erklärung für eine verspätete Abgabe aufgrund
+% einer offiziellen Verlängerung der Bearbeitungszeit~-- welche im Feld
+% \cs{@datemore} gespeichert wird. Der originale Standardbefehl für das Datum
+% \cs{date} wird aufgebohrt, \cs{submissiondate} kann auch als Aliasbefehl
+% genutzt werden. Außerdem wird das Feld \cs{@@date} definiert, welches das
+% Datum ebenfalls speichert, um es auch nach dem Setzen des Titels verwenden zu
+% können.
+% \begin{macrocode}
+\newcommand*\@datemore{}
+\newcommand*\@@date{}
+\let\@@date\@date
+\renewcommand*\date[2][]{%
+ \gdef\@datemore{#1}%
+%<*titlepage>
+ \gdef\@date{#2}%
+%</titlepage>
+%<*class>
+ \tud@printdate{\@date}{#2}%
+ \tud@printdate{\@@date}{#2}%
+%</class>
+}
+%<*class>
+\newcommand*\submissiondate{}
+\let\submissiondate\date
+%</class>
+% \end{macrocode}
+% \end{macro}^^A \submissiondate
+% \end{field}^^A \@datemore
+% \end{field}^^A \@@date
+% \end{field}^^A \@date
+% \end{macro}^^A \date
+% \begin{macro}{\defensedate}
+% \begin{field}{\@defensedate}
+% \begin{macro}{\oralexaminationdate}
+% Das Verteidigungsdatum erscheint auf dem Titel und wird im Makro
+% \cs{@defensedate} gespeichert, für \cs{defensedate} kann als Aliasbefehl auch
+% \cs{oralexaminationdate} genutzt werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@defensedate{}
+\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
+\newcommand*\oralexaminationdate{}
+\let\oralexaminationdate\defensedate
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{defensedate}% instead oralexaminationdate
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \oralexaminationdate
+% \end{field}^^A \@defensedate
+% \end{macro}^^A \defensedate
+% \begin{macro}{\dateofbirth}
+% \begin{field}{\@dateofbirth}
+% \begin{macro}{\birthday}
+% Angabe des Geburtstages für die Titelseite, wird im Makro \cs{@dateofbirth}
+% gespeichert, für \cs{dateofbirth} kann als Aliasbefehl auch \cs{birthday}
+% genutzt werden.
+% \begin{macrocode}
+%<*class>
+\newcommand*\@dateofbirth{}
+\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}}
+\newrobustcmd*\birthday{}
+\let\birthday\dateofbirth
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{dateofbirth}
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \birthday
+% \end{field}^^A \@dateofbirth
+% \end{macro}^^A \dateofbirth
+%
+% \iffalse
+%</class|titlepage>
+%<*supervisor>
+% \fi
+%
+% \begin{macro}{\issuedate}
+% \begin{field}{\@issuedate}
+% \begin{macro}{\startdate}
+% Angabe des Anfangsdatums für die Aufgabenstellung, wird im Makro
+% \cs{@issuedate} gespeichert, für \cs{issuedate} kann als Aliasbefehl auch
+% \cs{startdate} genutzt werden.
+% \begin{macrocode}
+\newcommand*\@issuedate{}
+\newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}}
+\let\startdate\issuedate
+% \end{macrocode}
+% \end{macro}^^A \startdate
+% \end{field}^^A \@issuedate
+% \end{macro}^^A \issuedate
+% \begin{macro}{\duedate}
+% \begin{field}{\@duedate}
+% \begin{macro}{\finaldate}
+% \begin{macro}{\maturitydate}
+% Angabe des geplanten Abgabedatums für die Aufgabenstellung, wird im Makro
+% \cs{@duedate} gespeichert, für \cs{duedate} kann als Aliasbefehl auch
+% \cs{finaldate} oder \cs{maturitydate} genutzt werden.
+% \begin{macrocode}
+\newcommand*\@duedate{}
+\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}}
+\newcommand*\finaldate{}
+\newcommand*\maturitydate{}
+\let\finaldate\duedate
+\let\maturitydate\duedate
+% \end{macrocode}
+% \end{macro}^^A \maturitydate
+% \end{macro}^^A \finaldate
+% \end{field}^^A \@duedate
+% \end{macro}^^A \duedate
+%
+% \iffalse
+%</supervisor>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
new file mode 100644
index 00000000000..f4586a1d7b8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
@@ -0,0 +1,924 @@
+% \CheckSum{652}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-fonts.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-fonts.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (fonts)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-fonts.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Schriften des \CDs}
+%
+% Für das \CD der Technischen Universität Dresden werden die Schriften Univers
+% und DIN"~Bold zwingend benötigt. Zur fehlerfreien Verwendung dieser Klassen
+% sollten diese bitte installiert werden. Hier werden die \LaTeX-Befehle zur
+% Verwendung der Schriften im Dokument definiert. Sollen nur kurze Passagen in
+% einer anderen Schrift als der restliche Text gesetzt werden, so sollten
+% anstatt der einfachen Schalter wie beispielsweise \cs{univ\dots} besser die
+% Befehle \cs{text\dots}\marg{Auszeichnungstext} verwendet werden.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class&!option>
+% \fi
+%
+% \subsection{Schriftauswahl im New Font Selection Scheme (NFSS)}
+%
+% \begin{macro}{\if@tud@univers}
+% \begin{macro}{\tud@univers}
+% \begin{macro}{\tud@dinbold}
+% Die Schriftfamilie im \CD für den Fließtext und die Überschriften.
+% \begin{macrocode}
+\newif\if@tud@univers
+\newcommand*\tud@univers{lun}
+\newcommand*\tud@dinbold{0m6}
+% \end{macrocode}
+% Es wird geprüft, ob die Schriftfamilie installiert ist. Sollte dies nicht der
+% Fall sein, wird eine Warnung ausgegeben und ein Rückfallebene definiert.
+% \begin{macrocode}
+\def\@tempb#1{%
+ \ClassWarningNoLine{\tudcls@name}{%
+ #1 fonts not found. Please use on of the\MessageBreak%
+ installation scripts out of the tudscr-bundle,\MessageBreak%
+ which suits to your OS. A fallback layout is used%
+ }%
+}
+\edef\@tempa{%
+ \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}%
+}
+\@tempa{\@tud@universtrue}{\@tempb{Univers}}
+% \end{macrocode}
+% \end{macro}^^A \tud@dinbold
+% \end{macro}^^A \tud@univers
+% \end{macro}^^A if@tud@univers
+% \begin{macro}{\univln}
+% \begin{macro}{\univrn}
+% \begin{macro}{\univbn}
+% \begin{macro}{\univxn}
+% \begin{macro}{\univls}
+% \begin{macro}{\univrs}
+% \begin{macro}{\univbs}
+% \begin{macro}{\univxs}
+% Sollte die Univers installiert sein, werden mehrere Schalter zur expliziten
+% Auswahl für die Schriftschnitte Univers~45~Light, Univers~55~Regular,
+% Univers~65~Bold, Univers~75~Black, Univers~45~Light~Oblique,
+% Univers~55~Regular~Oblique, Univers~65~Bold~Oblique sowie
+% Univers~75~Black~Oblique definiert.
+% \begin{macrocode}
+\if@tud@univers%
+ \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
+ \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
+ \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}%
+ \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}%
+ \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}%
+ \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}%
+ \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
+ \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
+% \end{macrocode}
+% Ansonsten werden die Schalter für die Rückfallebene so definert, dass diese
+% einfach nichts machen.
+% \begin{macrocode}
+\else
+ \newcommand*\univln{}%
+ \newcommand*\univrn{}%
+ \newcommand*\univbn{}%
+ \newcommand*\univxn{}%
+ \newcommand*\univls{}%
+ \newcommand*\univrs{}%
+ \newcommand*\univbs{}%
+ \newcommand*\univxs{}%
+\fi
+% \end{macrocode}
+% \end{macro}^^A \univxs
+% \end{macro}^^A \univbs
+% \end{macro}^^A \univrs
+% \end{macro}^^A \univls
+% \end{macro}^^A \univxn
+% \end{macro}^^A \univbn
+% \end{macro}^^A \univrn
+% \end{macro}^^A \univln
+% \begin{macro}{\textuln}
+% \begin{macro}{\texturn}
+% \begin{macro}{\textubn}
+% \begin{macro}{\textuxn}
+% \begin{macro}{\textuls}
+% \begin{macro}{\texturs}
+% \begin{macro}{\textubs}
+% \begin{macro}{\textuxs}
+% Außerdem werden für die Schriften noch die entsprechenden Textauswahlbefehle
+% bereitgestellt.
+% \begin{macrocode}
+\DeclareTextFontCommand{\textuln}{\univln}%
+\DeclareTextFontCommand{\texturn}{\univrn}%
+\DeclareTextFontCommand{\textubn}{\univbn}%
+\DeclareTextFontCommand{\textuxn}{\univxn}%
+\DeclareTextFontCommand{\textuls}{\univls}%
+\DeclareTextFontCommand{\texturs}{\univrs}%
+\DeclareTextFontCommand{\textubs}{\univbs}%
+\DeclareTextFontCommand{\textuxs}{\univxs}%
+% \end{macrocode}
+% \end{macro}^^A \textuxs
+% \end{macro}^^A \textubs
+% \end{macro}^^A \texturs
+% \end{macro}^^A \textuls
+% \end{macro}^^A \textuxn
+% \end{macro}^^A \textubn
+% \end{macro}^^A \texturn
+% \end{macro}^^A \textuln
+% \begin{macro}{\dinbn}
+% \begin{macro}{\textdbn}
+% Schalter bzw. Befehl für die Auszeichnung von Überschriften FF~DIN~Bold. Nur,
+% falls die Schrift installiert ist, wird sie verwendet. Sonst wird eine Warnung
+% erzeugt und es wird die Standardüberschrift verwendet. Bei der Auswahl der
+% Schrift wird neben dieser noch die entsprechende Mathematikschrift aktiviert.
+% \begin{macrocode}
+\edef\@tempa{%
+ \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}%
+}
+\@tempa{%
+ \newcommand*\dinbn{%
+ \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
+ \mathversion{dinbold}%
+ }%
+}{%
+ \@tempb{DIN-Bold}%
+ \let\dinbn\sectfont%
+}
+\DeclareTextFontCommand{\textdbn}{\dinbn}
+% \end{macrocode}
+% \end{macro}^^A \textdbn
+% \end{macro}^^A \dinbn
+% Die Kodierung der Mathematikschriften wird abhängig von der Eingabekodierung
+% gewählt.
+% \begin{macro}{\tud@mathenc}
+% \begin{macrocode}
+\edef\@tempa{\encodingdefault}\def\@tempb{T1}
+\ifx\@tempa\@tempb
+ \def\tud@mathenc{T1}
+\else
+ \def\tud@mathenc{OT1}
+\fi
+% \end{macrocode}
+% \end{macro}^^A \tud@mathenc
+% \begin{macro}{\mv@univers}
+% \begin{macro}{\mv@universbold}
+% Für die Mathematikschriften im FLießtext werden für die lateineischen Lettern
+% die Univers"=Schriften des \CDs verwendet. Darin enthalten sind die auch die
+% griechischen Buchstaben aus dem Paket \pkg{cmbright}. Zusätzlich werden aus
+% dem \pkg{eulervm}"~Paket die mathematische Symbole verwendet. Es werden zwei
+% Mathematikversion mit normalen sowie mit fetten Glyphen bereitgestellt.
+% \begin{macrocode}
+\DeclareMathVersion{univers}
+\DeclareMathVersion{universbold}
+\SetSymbolFont{operators}{univers}{\tud@mathenc}{\tud@univers}{l}{n}
+\SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}
+\SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}
+\SetSymbolFont{largesymbols}{univers}{U}{zeuex}{m}{n}
+\SetSymbolFont{operators}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}
+\SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}
+\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}
+\SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}
+\SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}
+\SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}
+\SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{cmtl}{m}{n}
+\SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}
+\SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}
+\SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}
+% \end{macrocode}
+% \end{macro}^^A \mv@universbold
+% \end{macro}^^A \mv@univers
+% \begin{macro}{\mv@dinbold}
+% Auch für die Schrift DIN~Bold werden mathematische Glyphen bereitgestellt.
+% Diese wurden aus dem \pkg{iwona}"=Paket entnommen. Auch die verwendeten
+% Symbole stammen aus diesem Paket.
+% \begin{macrocode}
+\DeclareMathVersion{dinbold}
+\SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
+\SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}
+\SetSymbolFont{symbols}{dinbold}{OMS}{iwona}{ebc}{n}
+\SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}
+\SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
+\SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
+\SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}
+% \end{macrocode}
+% \end{macro}^^A \mv@dinbold
+% \begin{macro}{\tud@greek@upGamma}
+% \begin{macro}{\tud@greek@offset}
+% Damit innerhalb des Dokumentes problemlos zwischen aufrechten und kursiven
+% griechischen Buchstaben für den Mathematiksatz gewechselt werden kann, wurden
+% die folgenden beiden Befehle definiert, welche vom Prinzip aus dem Paket
+% \pkg{sansmath} abgekupfert sind. Es wird der Offset der Kodierung zwischen den
+% kursiven und den aufrechten Glyphen in \cs{tud@greek@offset} gespeichert.
+% \begin{macrocode}
+\newcount\tud@greek@upGamma
+\tud@greek@upGamma\Gamma
+\newcount\tud@greek@offset
+\let\@tempa\relax
+\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0}
+\tud@greek@offset\@tempa
+\advance\tud@greek@offset-\Gamma
+% \end{macrocode}
+% \end{macro}^^A \tud@greek@offset
+% \end{macro}^^A \tud@greek@upGamma
+% \begin{macro}{\tud@greek@def}
+% \begin{macro}{\tud@greek@uc}
+% \begin{macro}{\tud@greek@changeshape}
+% Mit \cs{tud@greek@def} erfolgt die Umkodierung einer einzelnen griechischen
+% Glyphe. Das Makro \cs{tud@greek@changeshape} arbeitet die Liste
+% \cs{tud@greek@uc} ab.
+% \begin{macrocode}
+\newcommand*\tud@greek@def[2]{%
+ \expandafter\@tempcnta\csname #1\endcsname%
+ \advance\@tempcnta#2%
+ \expandafter\mathchardef\csname #1\endcsname\@tempcnta%
+}
+% \end{macrocode}
+% Die Liste enthält die Namen der Befehle für große griechische Buchstaben.
+% Diese wird von \cs{tud@greek@changeshape} genutzt wird.
+% \begin{macrocode}
+\newcommand*\tud@greek@uc{%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+}
+\newcommand*\tud@greek@changeshape{%
+ \@for\@tempa:=\tud@greek@uc\do{%
+ \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@greek@changeshape
+% \end{macro}^^A \tud@greek@uc
+% \end{macro}^^A \tud@greek@def
+% \begin{macro}{\tud@greek@slanted}
+% \begin{macro}{\tud@greek@upright}
+% Mit \cs{tud@greek@slanted} wird die Kodierung der griechischen Majuskeln von
+% \texttt{operator} auf \texttt{letter} geändert\dots
+% \begin{macrocode}
+\newcommand*\tud@greek@slanted{%
+ \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi%
+}
+% \end{macrocode}
+% \dots und \cs{tud@greek@upright} macht alles wieder rückgängig. Dabei wird bei
+% beiden Befehlen vor der Ausführung geprüft, ob dies überhauot notwendig ist.
+% \begin{macrocode}
+\newcommand*\tud@greek@upright{%
+ \ifnum\Gamma>\tud@greek@upGamma%
+ \tud@greek@offset=-\tud@greek@offset%
+ \tud@greek@changeshape%
+ \tud@greek@offset=-\tud@greek@offset%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@greek@upright
+% \end{macro}^^A \tud@greek@slanted
+% \begin{macro}{\upGamma}
+% \begin{macro}{\upDelta}
+% \begin{macro}{\upTheta}
+% \begin{macro}{\upLambda}
+% \begin{macro}{\upXi}
+% \begin{macro}{\upPi}
+% \begin{macro}{\upSigma}
+% \begin{macro}{\upUpsilon}
+% \begin{macro}{\upPhi}
+% \begin{macro}{\upPsi}
+% \begin{macro}{\upOmega}
+% \begin{macro}{\varGamma}
+% \begin{macro}{\varDelta}
+% \begin{macro}{\varTheta}
+% \begin{macro}{\varLambda}
+% \begin{macro}{\varXi}
+% \begin{macro}{\varPi}
+% \begin{macro}{\varSigma}
+% \begin{macro}{\varUpsilon}
+% \begin{macro}{\varPhi}
+% \begin{macro}{\varPsi}
+% \begin{macro}{\varOmega}
+% In Anlehnung an verschiedene Pakete für Mathematikschriften werden die Symbole
+% für aufrechte und kursive Majuskeln der griechischen Lettern separat definert.
+% \begin{macrocode}
+\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}
+\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}
+\DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}
+\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}
+\DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}
+\DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}
+\DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}
+\DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}
+\DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}
+\DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}
+\DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}
+\DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}
+\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}
+\DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}
+\DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}
+\DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}
+\DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}
+\DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}
+\DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}
+\DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}
+\DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}
+\DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}
+\DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}
+\DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}
+% \end{macrocode}
+% \end{macro}^^A \varOmega
+% \end{macro}^^A \varPsi
+% \end{macro}^^A \varPhi
+% \end{macro}^^A \varUpsilon
+% \end{macro}^^A \varSigma
+% \end{macro}^^A \varPi
+% \end{macro}^^A \varXi
+% \end{macro}^^A \varLambda
+% \end{macro}^^A \varTheta
+% \end{macro}^^A \varDelta
+% \end{macro}^^A \varGamma
+% \end{macro}^^A \upOmega
+% \end{macro}^^A \upPsi
+% \end{macro}^^A \upPhi
+% \end{macro}^^A \upUpsilon
+% \end{macro}^^A \upSigma
+% \end{macro}^^A \upPi
+% \end{macro}^^A \upXi
+% \end{macro}^^A \upLambda
+% \end{macro}^^A \upTheta
+% \end{macro}^^A \upDelta
+% \end{macro}^^A \upGamma
+% \begin{macro}{\tud@sansmath}
+% \begin{macro}{\tud@serifmath}
+% Die Befehle werden von der Option \opt{sansmath} verwendet, um zwischen dem
+% Standard"~ und neuem Mathematiksatz hin"~ und herschalten zu können. Dabei
+% wird zum einen das Mapping der griechischen Glyphen geändert, zum anderen
+% werden die originalen Mathematikversionen überschrieben bzw. wiederhergestellt.
+% \begin{macrocode}
+\newcommand*\tud@sansmath{%
+ \if@tud@univers%
+ \tud@cmd@store{mv@normal}%
+ \tud@cmd@store{mv@bold}%
+ \let\mv@normal\mv@univers%
+ \let\mv@bold\mv@universbold%
+ \mathversion{normal}%
+ \fi%
+}
+\newcommand*\tud@serifmath{%
+ \if@tud@univers%
+ \tud@cmd@restore{mv@normal}%
+ \tud@cmd@restore{mv@bold}%
+ \mathversion{normal}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@serifmath
+% \end{macro}^^A \tud@sansmath
+%
+% \iffalse
+%</class&!option>
+%<*titlepage|class&option>
+% \fi
+%
+% \begin{option}{cdfont}
+% \begin{macro}{\tud@cdfont}
+% Mit dieser Option wird die zentrale Benutzerschnittstelle für alle möglichen
+% Schrifteinstellungen innerhalb Dokumentes geschaffen. Durch diese Option
+% können sowohl die verwendete Schrift für den Fließtext, als auch die Stärke
+% der Schrift geändert werden. Zusätzlich lässt sich die Verwendung von DIN~Bold
+% für die Überschriften deaktivieren. Außerdem kann eingestellt werden, ob für
+% den Mathematiksatz serifenlose Schriften zum Einsatz kommen sollen.
+% \begin{macrocode}
+%<*class>
+\newcommand*\tud@cdfont{0}
+\TUD@key{cdfont}[true]{%
+ \TUD@set@numkey{cdfont}{tud@cdfont}{%
+%</class>
+%<*titlepage>
+\newif\if@tud@cdfonts
+\newcommand*\tud@cdfont{0}
+\DefineFamilyMember[TU-Dresden]{title}
+\DefineFamilyKey[TU-Dresden]{title}{cdfont}[true]{%
+ \FamilySetNumerical{title}{cdfont}{tud@cdfont}{%
+%</titlepage>
+ {false}{0},{off}{0},{no}{0},%
+ {true}{1},{on}{1},{yes}{1},%
+ {light}{1},{lightfont}{1},{noheavyfont}{1},%
+ {heavy}{2},{heavyfont}{2},%
+%<*class>
+ {nodin}{3},%
+ {din}{4},%
+ {serifmath}{5},{serif}{5},{nosansmath}{5},{nosans}{5},%
+ {sansmath}{6},{sans}{6},%
+ {upgreek}{7},{uprightgreek}{7},{uprightGreek}{7},%
+ {slgreek}{8},{slantedgreek}{8},{slantedGreek}{8},%
+%</class>
+ }{#1}%
+ \ifcase \tud@cdfont\relax%
+%<*class>
+ \TUDoptions{cdfonts=false}%
+ \or%
+ \TUDoptions{cdfonts}%
+ \TUDoptions{heavyfont=false}%
+ \or%
+ \TUDoptions{cdfonts}%
+ \TUDoptions{heavyfont}%
+ \or
+ \TUDoptions{din=false}%
+ \or
+ \TUDoptions{din}%
+ \or%
+ \TUDoptions{sansmath=false}%
+ \or%
+ \TUDoptions{sansmath}%
+ \or%
+ \TUDoptions{slantedgreek=false}%
+ \or%
+ \TUDoptions{slantedgreek}%
+%</class>
+%<*titlepage>
+ \@tud@cdfontsfalse%
+ \else%
+ \@tud@cdfontstrue%
+%</titlepage>
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@cdfont
+% \end{option}^^A cdfont
+%
+% \iffalse
+%</titlepage|class&option>
+%<*class&option>
+% \fi
+%
+% \begin{option}{cdfonts}
+% \begin{option}{tudfonts}
+% \begin{macro}{\if@tud@cdfonts}
+% Diese Option dient zum Umschalten auf die Schriften des \CDs für den Fließtext.
+% \begin{macrocode}
+\newif\if@tud@cdfonts
+\TUD@key{cdfonts}[true]{%
+ \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}%
+ \if@atdocument%
+% \end{macrocode}
+% Wird die Option innerhalb nach der Präambel angewendet, erfolgt die Umsetzung
+% sofort. Entweder es werden die Schriften des \CDs verwendet, welcher durch
+% \cs{tud@font@cdfonts} aktiviert werden oder\dots
+% \begin{macrocode}
+ \if@tud@cdfonts%
+ \tud@font@cdfonts%
+% \end{macrocode}
+% \dots es wird bei entsprechender Option auf die zu Dokumentbeginn gesicherten
+% Schriften\footnote{mit und ohne Serifen} zurückgeschaltet.
+% \begin{macrocode}
+ \else%
+ \tud@cmd@restore{rmdefault}%
+ \tud@cmd@restore{sfdefault}%
+ \tud@cmd@restore{ttdefault}%
+ \tud@cmd@restore{bfdefault}%
+ \tud@cmd@restore{mddefault}%
+ \tud@cmd@restore{itdefault}%
+ \tud@cmd@restore{familydefault}%
+ \tud@cmd@restore{seriesdefault}%
+ \tud@cmd@restore{shapedefault}%
+ \tud@cmd@restore{mdseries@rm}%
+ \tud@cmd@restore{bfseries@rm}%
+ \tud@cmd@restore{mdseries@sf}%
+ \tud@cmd@restore{bfseries@sf}%
+ \tud@cmd@restore{mdseries@tt}%
+ \tud@cmd@restore{bfseries@tt}%
+ \edef\rmdef@ult{\rmdefault}
+ \edef\sfdef@ult{\sfdefault}
+ \edef\ttdef@ult{\ttdefault}
+ \edef\bfdef@ult{\bfdefault}
+ \edef\mddef@ult{\mddefault}
+ \normalfont\selectfont%
+ \fi%
+% \end{macrocode}
+% Da der Befehl \cs{tud@layout@process} auf jeden Fall mit \cs{AfterEndPreamble}
+% verzögert ausgeführt wird, muss dies bei der Wahl der Option nur nach der
+% Präambel, also im Dokument selbst neuerlich erfolgen.
+% \begin{macrocode}
+ \tud@layout@process%
+% \end{macrocode}
+% Die Einstellungen der Mathematikschriften sind~-- momentan~-- nur innerhalb
+% der Präambel verfügbar. Es kann eingestellt werden, ob Serifenlose aus der
+% zu Dokumentbeginn verwendeten Schrift für den Mathematiksatz genutzt werden
+% sollen. Das Standardverhalten ist anhängig davon, welche Schriften für den
+% Fließtext Verwendung finden.
+% \begin{macrocode}
+ \else%
+% \end{macrocode}
+% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs
+% ~-- falls nicht anders durch den Anwender definiert~-- auf Serifenlose
+% gesetzt. Außerdem wird das \pkg{cmbright}-Paket für den Satz der griechischen
+% Buchstaben genutzt.
+% \begin{macrocode}
+ \if@tud@cdfonts%
+ \TUD@std@ifkey@lock{sansmath}{true}%
+ \TUD@std@ifkey@lock{slantedgreek}{true}%
+ \else%
+ \TUD@std@ifkey@lock{sansmath}{false}%
+ \TUD@std@ifkey@lock{slantedgreek}{false}%
+ \fi%
+ \fi%
+}
+% \end{macrocode}
+% Diese Option wird nur aus Gründen der Kombatibilität zu v1.0 definiert.
+% \begin{macrocode}
+\TUD@key{tudfonts}[true]{%
+ \TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
+ \if@tempswa%
+ \TUDoptions{cdfonts=true}%
+ \else%
+ \TUDoptions{cdfonts=false}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@cdfonts
+% \end{option}^^A tudfonts
+% \end{option}^^A cdfonts
+%
+% \iffalse
+%</class&option>
+%<*class&!option>
+% \fi
+%
+% \begin{macro}{\tud@font@cdfonts}
+% Mit diesem Befehl werden die Schriften des \CDs aktiviert.
+% \begin{macrocode}
+\newcommand*\tud@font@cdfonts{%
+% \end{macrocode}
+% Dabei werden die Schnitte der Schriften
+% \begin{macrocode}
+ \tud@cmd@store{rmdefault}%
+ \tud@cmd@store{sfdefault}%
+ \tud@cmd@store{ttdefault}%
+ \tud@cmd@store{bfdefault}%
+ \tud@cmd@store{mddefault}%
+ \tud@cmd@store{itdefault}%
+ \tud@cmd@store{familydefault}%
+ \tud@cmd@store{seriesdefault}%
+ \tud@cmd@store{shapedefault}%
+ \tud@cmd@store{mdseries@rm}%
+ \tud@cmd@store{bfseries@rm}%
+ \tud@cmd@store{mdseries@sf}%
+ \tud@cmd@store{bfseries@sf}%
+ \tud@cmd@store{mdseries@tt}%
+ \tud@cmd@store{bfseries@tt}%
+ \if@tud@univers%
+ \if@tud@heavyfont%
+ \def\bfseries@rm{b}%
+ \def\bfseries@sf{b}%
+ \def\mdseries@rm{m}%
+ \def\mdseries@sf{m}%
+ \renewcommand*\bfdefault{b}%
+ \renewcommand*\mddefault{m}%
+ \else%
+ \def\bfseries@rm{m}%
+ \def\bfseries@sf{m}%
+ \def\mdseries@rm{l}%
+ \def\mdseries@sf{l}%
+ \renewcommand*\bfdefault{m}%
+ \renewcommand*\mddefault{l}%
+ \fi%
+ \renewcommand*\sfdefault{\tud@univers}%
+ \else%
+ \def\bfseries@rm{bx}%
+ \def\bfseries@sf{bx}%
+ \def\mdseries@rm{m}%
+ \def\mdseries@sf{m}%
+ \renewcommand*\bfdefault{bx}%
+ \renewcommand*\mddefault{m}%
+ \fi%
+ \renewcommand*\rmdefault{\sfdefault}%
+ \renewcommand*\familydefault{\sfdefault}%
+ \renewcommand*\seriesdefault{\mddefault}%
+ \renewcommand*\shapedefault{\updefault}%
+% \end{macrocode}
+% Als \texttt{typewriter}"=Schriften kommen selbige aus dem \pkg{cmbright}-Paket
+% zum Einsatz.
+% \begin{macrocode}
+ \renewcommand{\ttdefault}{cmtl}%
+% \end{macrocode}
+% Es folgen Einstellungen für das \pkg{mweights}-Paket.
+% \begin{macrocode}
+ \def\bfseries@tt{m}%
+ \def\mdseries@tt{m}%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \normalfont\selectfont%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@font@cdfonts
+% \begin{macro}{\tud@font@mathfonts}
+% Mit diesem Befehl werden die Einstellungen für den Mathematiksatz übernommen.
+% \begin{macrocode}
+\newcommand*\tud@font@mathfonts{%
+ \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi%
+ \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi%
+ \mathversion{normal}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@font@mathfonts
+%
+% \iffalse
+%</class&!option>
+%<*class&option>
+% \fi
+%
+% \begin{option}{heavyfont}
+% \begin{macro}{\if@tud@heavyfont}
+% Hiermit lässt sich die Schriftstärke im Dokument beeinflussen.
+% \begin{macrocode}
+\newif\if@tud@heavyfont
+\TUD@key{heavyfont}[true]{%
+ \if@tud@cdfonts%
+ \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}%
+ \if@atdocument\tud@font@cdfonts\fi%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@heavyfont
+% \end{option}^^A heavyfont
+% \begin{option}{din}
+% \begin{macro}{\if@tud@din}
+% Diese Option dient zur Auswahl, ob die Schrift DIN~Bold für die Überschriften
+% verwendet werden soll.
+% \begin{macrocode}
+\newif\if@tud@din\@tud@dintrue
+\TUD@ifkey{din}{@tud@din}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@din
+% \end{option}^^A din
+%
+% \subsection{Schriften für den Mathematiksatz}
+%
+% Da die Schriften des \CDs keinen Mathematiksatz beeinhalten, musste~--
+% insbesondere für griechische Symbole~-- eine passende Alternative gefunden
+% werden. Die Auswahl an Mathematikschriften für \LaTeX{} ist relativ gering.
+% Dennoch schien das \pkg{cmbright}-Paket dafür geeignet, weshalb dieses direkt
+% bei der Installation der Schriften eingebunden wurde.
+% \begin{option}{sansmath}
+% \begin{macro}{\if@tud@sansmath}
+% \begin{macro}{\if@tud@sansmath@locked}
+% Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz
+% für das gesamte Dokument umgestellt werden.
+% \begin{macrocode}
+\newif\if@tud@sansmath
+\TUD@key@lock{sansmath}[true]{%
+ \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}%
+ \if@atdocument\tud@font@mathfonts\fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@sansmath@locked
+% \end{macro}^^A \if@tud@sansmath
+% \end{option}^^A sansmath
+% \begin{option}{slantedgreek}
+% \begin{macro}{\if@tud@slantedgreek}
+% \begin{macro}{\if@tud@slantedgreek@locked}
+% Mit dieser Option kann die Neigung der griechischen Majuskeln geändert werden.
+% \begin{macrocode}
+\newif\if@tud@slantedgreek
+\TUD@key@lock{slantedgreek}[true]{%
+ \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}%
+ \if@atdocument\tud@font@mathfonts\fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@slantedgreek@locked
+% \end{macro}^^A \if@tud@slantedgreek
+% \end{option}^^A slantedgreek
+%
+% \iffalse
+%</class&option>
+%<*titlepage|class&!option>
+% \fi
+%
+% \begin{macro}{\tud@head@font@set}
+% \begin{macro}{\tud@head@font@bold}
+% \begin{macro}{\tud@head@font@light}
+% Die Schrift der Kopfzeile wird entweder in den Schriften des \CDs oder aber in
+% den serifenlosen Standardschriften gesetzt, wobei für beide Varianten sowohl
+% eine fettgedruckte als auch eine normale Version benötigt wird. Die Schrifthöhe
+% ist durch das \CD unabhängig von der gewählten Schriftgröße im Dokument
+% vorgegeben und wird in Abhängigkeit von der Papiergröße gewählt und in
+% \cs{tud@head@font@size} gespeichert.
+% \begin{macrocode}
+\newcommand*\tud@head@font@set{%
+ \DeclareFixedFont{\tud@head@font@bold}%
+ {\encodingdefault}{\sfdefault}{bx}{n}{\tud@head@font@size}%
+ \DeclareFixedFont{\tud@head@font@light}%
+%<*class>
+ {\encodingdefault}{\sfdefault}{\mdseries@sf}{n}{\tud@head@font@size}%
+ \if@tud@cdfonts\if@tud@univers%
+%</class>
+%<*titlepage>
+ {\encodingdefault}{\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
+ \if@tud@cdfonts%
+%</titlepage>
+ \DeclareFixedFont{\tud@head@font@bold}%
+ {\encodingdefault}{\tud@univers}{b}{n}{\tud@head@font@size}%
+ \DeclareFixedFont{\tud@head@font@light}%
+%<*class>
+ {\encodingdefault}{\tud@univers}{\mdseries@sf}{n}{\tud@head@font@size}%
+ \fi\fi%
+%</class>
+%<*titlepage>
+ {\encodingdefault}{\tud@univers}{\mddefault}{n}{\tud@head@font@size}%
+ \fi%
+%</titlepage>
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@font@light
+% \end{macro}^^A \tud@head@font@bold
+% \end{macro}^^A \tud@head@font@set
+%
+% \iffalse
+%<*class>
+% \fi
+%
+% Damit die Schrift im Dokument später noch umgestellt werden kann, werden
+% sämtliche Einstellungen erst zu Beginn des Dokumentes gesichert. Deshalb wird
+% der dafür verantwortliche Befehl \cs{tud@font@cdfonts} hier zum ersten Mal
+% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie
+% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu
+% aktivieren. Auch die Einstellungen für den Mathematiksatz werden erstmalig
+% durch \cs{tud@font@mathfonts} gesetzt.
+% \begin{macrocode}
+\AtBeginDocument{\if@tud@cdfonts\tud@font@cdfonts\fi\tud@font@mathfonts}
+% \end{macrocode}
+% Das Paket \pkg{cmbright} bringt zusätzlich noch Schriftschnitte für die
+% \pkg{ams}"=Pakete mit. Diese werden gegebenenfalls geladen.
+% \begin{macrocode}
+\AfterPackage{amsfonts}{%
+ \DeclareFontFamily{U}{msa}{}%
+ \DeclareFontShape{U}{msa}{m}{n}{%
+ <-9>cmbras8%
+ <9-10>cmbras9%
+ <10->cmbras10%
+ }{}%
+ \DeclareFontFamily{U}{msb}{}%
+ \DeclareFontShape{U}{msb}{m}{n}{%
+ <-9>cmbrbs8%
+ <9-10>cmbrbs9%
+ <10->cmbrbs10%
+ }{}%
+}
+% \end{macrocode}
+%
+% \subsection{fontspec}
+% \todo{%
+% Ist die Verwendung von \pkg{fontspec} für LuaTeX bzw. XeTeX sinnvoll und
+% zügig umsetzbar? Wie geht man mit den Mathematikschriften um?%
+% }
+%
+% Die Möglichkeit, Open Type Schriften aus dem System sehr einfach mit dem Paket
+% \pkg{fontspec} für \hologo{LuaLaTeX} bzw. \hologo{XeLaTeX} einzubinden, wird
+% momentan noch nicht genutzt. Eine Schriftinstallation via Skript wäre damit
+% obsolet. Allerdings sind die PostScript"=Schriften für die Kompilierung via
+% \texttt{latex $\rightarrow$ dvips $\rightarrow$ ps2pdf}~-- wie es z.\,B. für
+% die Erstellung von Grafiken mit \pkg{pstricks} notwendig ist~-- auch weiterhin
+% nötig.
+%
+% Ebenfalls ungeklärt ist momentan, wie mit den Mathematikschriften umgegangen
+% werden müsste. Ebenfalls ist nicht sicher, wie die Problematik mit falschem
+% Kerning der Schriften ideal gelöst werden könnte. Da mittlerweile auch die
+% skriptbasierte Installation der PostScript"=Schriften gut funktioniert, ist
+% eine Implementierung momentan nicht vorgesehen.
+% ^^A% \if@tud@heavyfont%
+% ^^A% \setmainfont[%
+% ^^A% BoldFont = Univers Bold,%
+% ^^A% ItalicFont = Univers Light Oblique,%
+% ^^A% BoldItalicFont = Univers Bold Oblique,%
+% ^^A% ]{Univers Light}%
+% ^^A% \else%
+% ^^A% \setmainfont[%
+% ^^A% BoldFont = Univers Black,%
+% ^^A% ItalicFont = Univers Oblique,%
+% ^^A% BoldItalicFont = Univers Black Oblique,%
+% ^^A% ]{Univers}%
+% ^^A% \fi%
+% ^^A% \iflua
+% ^^A% \newfontface\univln{Univers Light}
+% ^^A% \newfontface\univrn{Univers}
+% ^^A% \newfontface\univbn{Univers Bold}
+% ^^A% \newfontface\univxn{Univers Black}
+% ^^A% \newfontface\univls{Univers Light Oblique}
+% ^^A% \newfontface\univrs{Univers Oblique}
+% ^^A% \newfontface\univbs{Univers Bold Oblique}
+% ^^A% \newfontface\univxs{Univers Black Oblique}
+% ^^A% \newfontface\@dinbn{DIN Bold}
+% ^^A% \newcommand*\dinbn{\@dinbn\tud@raggedright}
+% ^^A% \else
+% ^^A% \newcommand*\univln{\usefont{\encodingdefault}{\tud@font}{l}{n}}
+% ^^A% \newcommand*\univrn{\usefont{\encodingdefault}{\tud@font}{m}{n}}
+% ^^A% \newcommand*\univbn{\usefont{\encodingdefault}{\tud@font}{b}{n}}
+% ^^A% \newcommand*\univxn{\usefont{\encodingdefault}{\tud@font}{eb}{n}}
+% ^^A% \newcommand*\univls{\usefont{\encodingdefault}{\tud@font}{l}{sl}}
+% ^^A% \newcommand*\univrs{\usefont{\encodingdefault}{\tud@font}{m}{sl}}
+% ^^A% \newcommand*\univbs{\usefont{\encodingdefault}{\tud@font}{b}{sl}}
+% ^^A% \newcommand*\univxs{\usefont{\encodingdefault}{\tud@font}{eb}{sl}}
+% ^^A% \fi
+% ^^A% \DeclareTextFontCommand{\textuln}{\univln}
+% ^^A% \DeclareTextFontCommand{\texturn}{\univrn}
+% ^^A% \DeclareTextFontCommand{\textubn}{\univbn}
+% ^^A% \DeclareTextFontCommand{\textuxn}{\univxn}
+% ^^A% \DeclareTextFontCommand{\textuls}{\univls}
+% ^^A% \DeclareTextFontCommand{\texturs}{\univrs}
+% ^^A% \DeclareTextFontCommand{\textubs}{\univbs}
+% ^^A% \DeclareTextFontCommand{\textuxs}{\univxs}
+% ^^A% \DeclareTextFontCommand{\textdbn}{\dinbn}
+% ^^A% \usepackage{unicode-math}
+% ^^A% \setmathfont{Latin Modern Math}
+%
+% \iffalse
+%</class>
+% \fi
+%
+% \subsection{Kompatibilitätseinstellungen}
+%
+% \begin{macro}{\tud@raggedright}
+% \begin{macro}{\tud@RaggedRight}
+% Die Überschriften in DIN"~Bold sollen laut \CD linksbündig und nie mit
+% Silbentrennung gesetzt werden. Normalerweise ist das dies beim linksbündigen
+% Satz bei \LaTeX{} der Fall. Allerdings ist es mit dem Paket \pkg{ragged2e}
+% möglich, das Verhalten für den Flattersatz zu ändern und die Silbentrennung
+% zu aktivieren. Mit der Option \opt{newcommands} werden dabei die originalen
+% Befehle überschrieben, vorher jedoch in \cs{LaTeX\dots} gesichert. Dieses
+% Makro dient dazu, die Überschriften in jedem Fall~-- auch bei der Verwendung
+% von \pkg{ragged2e} mit der Option \opt{newcommands}~-- ohne Trennungen zu
+% setzen.
+% \begin{macrocode}
+\newcommand*\tud@raggedright{\raggedright}
+\newcommand*\tud@RaggedRight{\raggedright}
+\AfterPackage{ragged2e}{%
+ \ifdef{\LaTeXraggedright}%
+ {\renewcommand*\tud@raggedright{\LaTeXraggedright}}{}%
+ \renewcommand*\tud@RaggedRight{\RaggedRight}
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@ragged2e
+% \end{macro}^^A \tud@raggedright
+%
+% \iffalse
+%</titlepage|class&!option>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx
new file mode 100644
index 00000000000..123bc84176f
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx
@@ -0,0 +1,861 @@
+% \CheckSum{459}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-frontmatter.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-frontmatter.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (frontmatter)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-frontmatter.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Befehle und Umgebungen für den Vorspann}
+%
+% Im Vorspann des Dokumentes kann der Benutzer eine Zusammenfassung angegeben.
+% Außerdem kann eine Selbstständigkeitserklärung sowie ein Sperrvermerk
+% hinzugefügt werden. Damit für diese das Layout möglichst individuell gewählt
+% werden kann, werden hier entsprechende Optionen und die dafür notwendige
+% Ausgabe definiert. Im weiteren Verlauf der Dokumentation wird der Begriff
+% \glqq Erklärung\grqq für die unterschiedlichen Elemente verwendet. Die
+% verwendeten Schalter und Befehle zum Setzen der Optionen heißen entweder
+% \cs{tud@abstract@\dots} oder aber \cs{tud@declaration@\dots} je nach Element.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class&!option>
+% \fi
+%
+% \begin{macro}{\tud@fm@set}
+% Dies ist das zentrale Makro zur Ausgabe der einzelnen Erklärungen, welches
+% alle relevanten Optionen\footnote{\opt{titlepage}, \opt{twocolumn},
+% \opt{abstract/declaration=double}, \opt{abstract/declaration=fill} sowie die
+% Gliederungsebene der Überschrift} unterscheidet und die Erklärungen diesen
+% entsprechend setzt. Verwendet wird der Befehl wie folgt:
+% \cs{tud@fm@set}\marg{Erklärungstyp}\marg{Überschrift}\marg{Inhalt}
+% \begin{macrocode}
+\newcommand*\tud@fm@set[3]{%
+% \end{macrocode}
+% Ist die Gliederungsebene der Erklärung kein Kapitel\dots
+% \begin{macrocode}
+%<*book|report>
+ \ifnumless{\@nameuse{tud@#1@level}}{3}{%
+%</book|report>
+% \end{macrocode}
+% \dots und die Option \opt{titlepage} ist aktiviert\dots
+% \begin{macrocode}
+ \if@titlepage%
+% \end{macrocode}
+% \dots dann wird im Zweispaltensatz der Schalter \cs{@tud@\meta{Typ}@double}
+% ausgewertet und für den Fall von \opt{abstract/declaration=double} kein
+% Spaltenumbruch erzeugt. Ansonsten werden nachfolgende Erklärungen in eine
+% neue Spalte gesetzt.
+% \begin{macrocode}
+ \if@twocolumn%
+ \tud@fm@body{#1}{#2}{#3}%
+ \ifbool{@tud@#1@double}{}{\newpage}%
+% \end{macrocode}
+% Sollte im normalen Satz \opt{abstract/declaration=double} aktiviert sein, so
+% wird versucht, nachfolgende Erklärung auf der gleichen Seite wie die erste
+% unterzubringen. Dazu wird die zunächst benötigte Höhe für die Ausgabe des
+% Inhaltes mithilfe einer Box berechnet und mit dem noch verfügbaren Platz auf
+% der Seite~-- gespeichert in \cs{tud@dim@double}~-- verglichen.
+% \begin{macrocode}
+ \else%
+ \ifbool{@tud@#1@double}{%
+ \par%
+ \ifdim\pagetotal=\z@\relax%
+ \booltrue{@tud@#1@first}%
+ \fi%
+ \ifbool{@tud@#1@first}{%
+ \global\setlength{\tud@dim@double}{\textheight}%
+ \clearpage%
+ }{}%
+ \setbox0\vtop{\strut\tud@fm@body{#1}{#2}{#3}}%
+ \global\setlength{\tud@dim@double}%
+ {\dimexpr\tud@dim@double-\ht0-\dp0}\relax%
+% \end{macrocode}
+% Ist genügend Platz vorhanden, erfolgt die Ausgabe auf der aktuellen Seite.
+% \begin{macrocode}
+ \ifdim\tud@dim@double>\z@\relax%
+ \tud@fm@vcenter{#1}{#2}{#3}%
+ \global\boolfalse{@tud@#1@first}%
+% \end{macrocode}
+% Sollte nicht genügend Platz vorhanden sein, erfolgt eine Warnung und die
+% Zusammenfassung wird auf einer neuen Seite ausgegeben.
+% \begin{macrocode}
+ \else%
+ \tud@fm@double@wrn{#1}%
+ \clearpage%
+ \global\booltrue{@tud@#1@first}%
+ \tud@fm@vcenter{#1}{#2}{#3}%
+ \fi%
+% \end{macrocode}
+% Im normalen Satz wird bei deaktivierter \opt{\meta{Typ}=double}-Option der
+% Inhalt der Erklärung zentriert mit
+% \cs{tud@fm@vcenter}\marg{Erklärungstyp}\marg{Überschrift}\marg{Inhalt}
+% auf der Seite ausgegeben.
+% \begin{macrocode}
+ }{%
+ \clearpage%
+ \tud@fm@vcenter{#1}{#2}{#3}%
+ \clearpage%
+ }%
+ \fi%
+% \end{macrocode}
+% Bei deaktivierter \opt{titlepage}-Option werden die Inhalte jeder erzeugten
+% Erklärung direkt nacheinander ausgegeben. Ein gezieltes Erstellen von genau
+% zwei Erklärungen auf einer Seite ist nicht vorgesehen und erzeugt bei aktiver
+% \opt{abstract/declaration=double}-Option eine Warnung. Beim Satz über zwei
+% Spalten erfolgt die Ausgabe ohne sonderliche Auszeichnung. Im normalen Satz
+% wird die Erklärung wie ein Zitat ausgegeben, sollte dessen Überschrift nicht
+% in Form eines Abschnitts gesetzt werden.\footnote{es wird der Inhalt der
+% Erklärung mittels \cs{tud@quoting} und \cs{tud@endquoting} entweder in der
+% normalen \env{quotation}-Umgebung oder aber~-- wenn entsprechend das Paket
+% \pkg{quoting} geladen wurde~-- in der \env{quoting}-Umgebung gesetzt}
+% \begin{macrocode}
+ \else%
+ \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}%
+ \if@twocolumn%
+ \tud@fm@body{#1}{#2}{#3}%
+ \else%
+ \ifnum\@nameuse{tud@#1@level}<2\tud@quoting\fi%
+ \tud@fm@body{#1}{#2}{#3}%
+ \ifnum\@nameuse{tud@#1@level}<2\tud@endquoting\fi%
+ \fi%
+ \fi%
+% \end{macrocode}
+% Sollte die Gliederungsebene der Erklärung einem Kapitel entsprechen, wird
+% hier jede Erklärung immer auf eine neue Seite gesetzt. Es wird sowohl bei
+% deaktivierter \opt{titlepage}-Option\footnote{Warum sollte man einen
+% Titelkopf nutzen, wenn die meist direkt nachfolgende Erklärung selbst als
+% Kapitel auf eine neue Seite gesetzt wird?} als auch bei aktivierter
+% \opt{abstract/declaration=double}-Option eine passende Warnung ausgegeben.
+% \begin{macrocode}
+%<*book|report>
+ }{%
+ \if@titlepage\else\tud@fm@level@wrn{#1}\fi%
+ \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}%
+ \clearpage%
+ \tud@fm@body{#1}{#2}{#3}%
+ \clearpage%
+ }%
+%</book|report>
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@fm@set
+% \todo[v3.12]{%
+% addchaptertocentry und addsectiontocentry durch addxcontentsline ersetzen
+% }
+% \begin{macro}{\tud@fm@head}
+% Dieses Makro dient zur Festlegung der Gliederungsebene der Überschrift der
+% Erklärung. Die gewählte Gliederungsebene ist in \cs{tud@\meta{Typ}@level}
+% gespeichert. Verwendet wird das Makro folgendermaßen:
+% \cs{tud@fm@set}\marg{Erklärungstyp}\marg{Überschrift}\marg{Inhalt}.
+% Damit die ggf. aktive Option \opt{abstract/declaration=toc} funktionieren
+% kann, wird für die Level, in denen keine Standardüberschrift verwendet wird,
+% mit dem Befehl \cs{phantomsection} aus dem Paket \pkg{hyperref} ein Anker für
+% einen möglichen Hyperlink erzeugt.\footnote{ist das Paket nicht geladen, ist
+% \cs{phantomsection} als \cs{relax} definiert} Ist \cs{if@tud@\meta{Typ}@toc}
+% wahr, so entspricht der erzeugte Eintrag ins Inhaltsverzeichnis für
+% \cls{tudscrartcl} immer dem eines Abschnitts, der für \cls{tudscrbook} und
+% \cls{tudscrreprt} immer dem eines Kapitels, unabhängig von der tatsächlich
+% gewählten Gliederungsebene.\footnote{sonst sieht das Inhaltsverzeichnis recht
+% bescheiden aus}
+% \begin{macrocode}
+\newcommand*\tud@fm@head[2]{%
+ \ifcase\@nameuse{tud@#1@level}\relax%
+ \def\@tempa{\phantomsection}%
+ \or%
+ \def\@tempa{%
+ \phantomsection%
+ \@afterindentfalse%
+ \begin{center}%
+ \normalfont\sectfont\nobreak#2%
+ \@endparpenalty\@M%
+ \end{center}%
+ \nopagebreak%
+ \vskip\dimexpr\bigskipamount-\parskip%
+ \@afterheading%
+ }%
+ \or%
+ \def\@tempa{\addsec*{#2}}%
+%<*book|report>
+ \or%
+ \def\@tempa{\addchap*{#2}}%
+%</book|report>
+ \fi%
+ \ifbool{@tud@#1@toc}{%
+%<*book|report>
+ \apptocmd{\@tempa}{\addchaptertocentry{}{#2}}{}{}%
+%</book|report>
+%<*article>
+ \apptocmd{\@tempa}{\addsectiontocentry{}{#2}}{}{}%
+%</article>
+ }{}%
+ \@tempa%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@fm@head
+% \begin{macro}{\tud@fm@vcenter}
+% Mit diesem Befehl wird die Erklärung vertikal zentriert auf einer Seite
+% ausgegeben, wenn genügend Platz vorhanden ist.
+% \begin{macrocode}
+\newcommand*\tud@fm@vcenter[3]{%
+ \ifdim\@tempdima>\dimexpr\textheight\relax%
+ \tud@fm@body{#1}{#2}{#3}%
+% \end{macrocode}
+% Sollte als Überschrift die Gliederungsebene eines Abschnittes gewählt sein,
+% so wird standardmäßig durch den \cs{section}-Befehl ein zusätzlicher Abstand
+% eingefügt. Damit dieser beim vertikalen Zentrieren keinen Einfluss hat, wird
+% dieser bei aktivem Schalter \cs{if@tud@\meta{Typ}@fil} entfernt.
+% \begin{macrocode}
+ \else%
+ \ifbool{@tud@#1@fil}{%
+ \ifcase\@nameuse{tud@#1@level}\relax\or\or%
+ \vspace*{-\parskip}%
+ {\usekomafont{section}\vspace*{-2\baselineskip}}%
+ \fi%
+% \end{macrocode}
+% Dabei wird zur optischen Zentrierung der Platz zum oberen Seitenrand etwas
+% kleiner als der zum unteren gewählt.
+% \begin{macrocode}
+ \ifbool{@tud@#1@first}{\vspace*{\z@ \@plus 2fil}}{}%
+ }{}%
+% \end{macrocode}
+% Die Ausgabe des formatierten Erklärung und der zweite Teil der optischen
+% Zentrierung.
+% \begin{macrocode}
+ \tud@fm@body{#1}{#2}{#3}%
+ \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 3fil}}{}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@fm@vcenter
+% \begin{macro}{\tud@fm@body}
+% Dieser Befehl formatiert den im dritten Argument gespeicherten Inhalt der
+% Erklärung. Sollte das Paket \pkg{multicol} Verwendung finden, wird hier die
+% entsprechende Umgebung gestartet. Für das Setzen der Überschrift wird
+% \cs{tud@fm@head} verwendet, welches abhängig von den gewählten Optionen die
+% Gliederungsebene der Überschrift setzt.
+% \todo[v3.12]{%
+% Seitenstile für tudpage, abstract und declaration als Option; dann ist auch
+% auch die Verwendung von \cs{@mkboth} möglich
+% }
+% \begin{macrocode}
+\newcommand*\tud@fm@body[3]{%
+% ^^A \@mkboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
+ \if@titlepage\@mkboth{}{}\fi%
+ \if@twocolumn%
+ \ifcase\@nameuse{tud@#1@level}\relax\or%
+ \ifbool{@tud@#1@first}{%
+ \global\boolfalse{@tud@#1@first}%
+ \vspace{\dimexpr\bigskipamount-\parskip}%
+ }{}%
+ \fi%
+ \tud@fm@head{#1}{#2}%
+ #3\par%
+ \ifcase\@nameuse{tud@#1@level}\relax\or%
+ \vspace{\dimexpr\bigskipamount-\parskip}%
+ \fi%
+ \else%
+ \ifnum\tud@multicols>1\relax%
+ \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]%
+ \else%
+ \tud@fm@head{#1}{#2}%
+ \fi%
+ #3\par%
+ \ifnum\tud@multicols>1\relax%
+ \end{multicols}\leavevmode%
+ \else%
+ \ifcase\@nameuse{tud@#1@level}\relax\or%
+ \bigskip\vskip-\parskip\null%
+ \fi%
+ \fi%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@fm@body
+% \begin{macro}{\tud@quoting}
+% \begin{macro}{\tud@endquoting}
+% Mit diesen Befehlen kann das empfehlenswerte Paket \pkg{quoting} unterstützt
+% werden. Sollte dieses geladen werden, wird für das Setzen der Zusammenfassung
+% bei einem Titelkopf die \env{quoting}-Umgebung genutzt.
+% \begin{macrocode}
+\let\tud@quoting\quotation
+\let\tud@endquoting\endquotation
+\AfterPackage{quoting}{%
+ \let\tud@quoting\quoting%
+ \let\tud@endquoting\endquoting%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@endquoting
+% \end{macro}^^A \tud@quoting
+%
+% \iffalse
+%</class&!option>
+%<*class&option>
+% \fi
+%
+% \subsection{Erweiterung der Umgebung für eine Zusammenfassung}
+%
+% Die \env{abstract}-Umgebung wird um mehrere Optionen erweitert. So kann
+% in den neuen \cls{tudscr}-Klassen die Sprache der Zusammenfassung leicht
+% eingestellt und auch zwei Zusammenfassungen auf eine Seite gesetzt werden.
+% \begin{macro}{\tud@abstract@level}
+% \begin{macro}{\if@tud@abstract@toc}
+% \begin{macro}{\if@tud@abstract@toc@locked}
+% Der Befehl \cs{tud@abstract@level} beschreibt die Gliederungsebene der
+% Überschrift der Zusammenfassung numerisch und wird über die Schlüssel der
+% Option \opt{abstract} gesetzt. Über \opt{abstract=toc/notoc} wird festgelegt,
+% ob die Zusammenfassung einen eigenen Eintrag ins Inhaltsverzeichnis bekommt.
+% Da unterschiedliche Gliederungsebenen der Überschriften möglich sind, wird das
+% Standardverhalten in Abhängigkeit dieser gewählt. Initial erscheint für
+% \cls{tudscrreprt} und \cls{tudscrartcl}~-- wie in \KOMAScript{} auch~-- keine
+% Überschrift und kein Eintrag im Inhaltsverzeichnis. In \cls{tudscrbook} wird
+% standardmäßig eine Überschrift in Form eines Kapitels mit Eintrag ins
+% Inhaltsverzeichnis gesetzt.
+% \begin{macrocode}
+%<*report|article>
+\newcommand*\tud@abstract@level{0}
+\newbool@lock{@tud@abstract@toc}
+%</report|article>
+%<*book>
+\newcommand*\tud@abstract@level{3}
+\newbool@lock[true]{@tud@abstract@toc}
+%</book>
+% \end{macrocode}
+% \end{macro}^^A \if@tud@abstract@toc@locked
+% \end{macro}^^A \if@tud@abstract@toc
+% \end{macro}^^A \tud@abstract@level
+% \begin{macro}{\if@tud@abstract@double}
+% Mit diesem Schalter wird ggf. versucht, eine in einer anderen Sprache
+% verfasste Zusammenfassung auf die gleiche Seite wie die erste zu setzen.
+% Dazu muss die Option \opt{abstract=single/double} genutzt werden.
+% \begin{macrocode}
+\newif\if@tud@abstract@double
+% \end{macrocode}
+% \end{macro}^^A \if@tud@abstract@double
+% \begin{macro}{\if@tud@abstract@fil}
+% Mit diesem Schalter wird bestimmt, ob eine Zusammenfassung auf einer Seite
+% vertikal zentriert wird. Er wird mit \opt{abstract=fill/nofill} gesetzt und
+% ist normalerweise aktiviert.
+% \begin{macrocode}
+\newif\if@tud@abstract@fil
+\@tud@abstract@filtrue
+% \end{macrocode}
+% \end{macro}^^A \if@tud@abstract@fil
+% \begin{macro}{\if@tud@abstract@first}
+% \begin{length}{\tud@dim@double}
+% Um prüfen zu können, ob noch genügend Platz für eine weitere Zusammenfassung
+% auf einer Seite vorhanden ist, wird die Länge \cs{tud@dim@double} benötigt.
+% Außerdem wird der Schalter \cs{if@tud@abstract@first} definiert, mit welchem
+% unterschieden werden kann, ob es sich um die erste von mehreren
+% Zusammenfassungen auf einer Seite handelt.
+% \begin{macrocode}
+\newif\if@tud@abstract@first
+\@tud@abstract@firsttrue
+\newlength{\tud@dim@double}
+% \end{macrocode}
+% \end{length}^^A \tud@dim@double
+% \end{macro}^^A \if@tud@abstract@first
+% \todo[v3.12]{abstract im tudpagestyle als key (scrlayer)}
+% \begin{option}{abstract}
+% Das aus \KOMAScript{} bekannte Verhalten wird für die beiden Klassen
+% \cls{tudscrartcl} und \cls{tudscrreprt} adaptiert. Außerdem werden
+% zusätzliche Optionen für den Stil der Überschriften in Form von
+% Gliederungsebenen wie Kapitel\footnote{bei \cls{tudscrbook} und
+% \cls{tudscrreprt}} oder Unterkapitel bereitgestellt, welche~-- im Gegensatz
+% zu \KOMAScript{}~-- auch für die Buchklasse \cls{tudscrbook} zur Verfügung
+% stehen.
+% \begin{macrocode}
+%<*report|article>
+\TUD@key{abstract}[true]{%
+%</report|article>
+%<*book>
+\TUD@key{abstract}[chapter]{%
+%</book>
+ \TUD@set@numkey{abstract}{@tempa}{%
+%<*report|article>
+ {false}{0},{off}{0},{no}{0},%
+ {true}{1},{on}{1},{yes}{1},%
+%</report|article>
+ {section}{2},{sect}{2},{sec}{2},%
+%<*article>
+ {new}{2},{std}{2},{heading}{2},%
+%</article>
+%<*book|report>
+ {chapter}{3},{chap}{3},%
+ {new}{3},{std}{3},{heading}{3},%
+%</book|report>
+% \end{macrocode}
+% Zusätzlich lassen sich die Werte \opt{abstract=double}, \opt{abstract=toc}
+% sowie \opt{abstract=fill} setzen.
+% \begin{macrocode}
+ {totoc}{4},{toc}{4},%
+ {nottotoc}{5},{notoc}{5},%
+ {one}{6},{simple}{6},{single}{6},%
+ {two}{7},{both}{7},{double}{7},%
+ {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},%
+ {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},%
+ }{#1}%
+% \end{macrocode}
+% Bei der Einstellungen der Überschriftgliederungsebene wird außerdem das
+% Standardverhalten für einen Eintrag ins Inhaltsverzeichnis festgelegt, was
+% allerdings vom Anwender jederzeit überschrieben werden kann.
+% \begin{macrocode}
+ \ifcase \@tempa\relax%
+%<*report|article>
+ \def\tud@abstract@level{0}%
+ \stdbool@lock{@tud@abstract@toc}{false}%
+%</report|article>
+ \or%
+%<*report|article>
+ \def\tud@abstract@level{1}%
+ \stdbool@lock{@tud@abstract@toc}{false}%
+%</report|article>
+ \or%
+ \def\tud@abstract@level{2}%
+ \stdbool@lock{@tud@abstract@toc}{true}%
+ \or%
+%<*book|report>
+ \def\tud@abstract@level{3}%
+ \stdbool@lock{@tud@abstract@toc}{true}%
+%</book|report>
+% \end{macrocode}
+% Neben den Einstellungen für die Art der Gliederungsebene der Überschrift für
+% die Zusammenfassung können außerdem noch die Optionen gesetzt werden, ob
+% versucht werden soll, eine mögliche Zusammenfassung in einer anderen Sprache
+% auf die gleiche Seite wie die erste zu setzen (\opt{abstract=double}) und ob
+% die Zusammenfassung einen Eintrag ins Inhaltsverzeichnis bekommen soll.
+% \begin{macrocode}
+ \or%
+ \setbool@lock{@tud@abstract@toc}{true}%
+ \or%
+ \setbool@lock{@tud@abstract@toc}{false}%
+ \or%
+ \@tud@abstract@doublefalse%
+ \or%
+ \@tud@abstract@doubletrue%
+ \or%
+ \@tud@abstract@filfalse%
+ \or%
+ \@tud@abstract@filtrue%
+ \fi%
+}
+% \end{macrocode}
+% \end{option}^^A abstract
+%
+% \iffalse
+%</class&option>
+%<*class&!option>
+% \fi
+%
+% \begin{environment}{abstract}
+% Die \env{abstract}-Umgebung wird komplett überarbeitet. Um alle gewünschten
+% Optionen\footnote{\opt{titlepage}, \opt{twocolumn}, \opt{abstract@double},
+% \opt{abstract@fil} sowie Gliederungsebene der Überschrift} beachten zu
+% können, wird auf die Möglichkeiten der Definition mit \cs{NewEnviron} aus dem
+% Paket \pkg{environ} zurückgegriffen. Damit ist es möglich, gezielt auf den
+% Inhalt der Umgebung selbst mit dem Befehl \cs{BODY} zuzugreifen. Dieser
+% Mechanismus wird innerhalb von \cs{tud@abstractbody} verwendet.
+% \begin{macrocode}
+%<*report|article>
+\csundef{abstract}
+\csundef{endabstract}
+%</report|article>
+\NewEnviron{abstract}[1][]{%
+% \end{macrocode}
+% Als erstes werden die Optionen verarbeitet. Sollte nach Abarbeitung der
+% Optionen für \env{abstract} festgestellt werden, dass eine spezielle
+% Spaltenanzahl gewünscht ist, so wird~-- für den Fall, dass das Paket
+% \pkg{multicol} geladen ist~-- diese gesetzt. Sonst wird die angegbene Anzahl
+% der Spalten ignoriert und eine Warnung ausgegeben.
+% \begin{macrocode}
+ \TUD@parameter@set[abstract]{#1}%
+ \tud@multicols@check%
+ \tud@fm@set{abstract}{\abstractname}{\BODY}%
+}
+% \end{macrocode}
+% \end{environment}^^A abstract
+% \begin{parameter}{language}
+% \begin{parameter}{columns}
+% \begin{parameter}{abstract}
+% \begin{parameter}{option}
+% Als Schlüssel für die \env{abstract}-Umgebung können Sprache, Anzahl der
+% Spalten oder auch die zur Umgebung gehörigen Klassenoptionen angegeben werden.
+% \begin{macrocode}
+\TUD@parameter{abstract}{%
+ \TUD@parameter@define{language}{\selectlanguage{#1}}%
+ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}%
+ \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}%
+ \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}%
+% \end{macrocode}
+% Für die Optionsangabe ohne Schlüssel und Wert kann eine Anzahl an Spalten
+% oder eine alternative Sprache angegeben werden. Hierfür ist der Befehl
+% \cs{tud@environmenthandler} definiert, welcher auch von \env{tudpage}-Umgebung
+% verwendet wird
+% \begin{macrocode}
+ \TUD@parameter@sethandler{\tud@environmenthandler{#1}}
+}
+% \end{macrocode}
+% \end{parameter}^^A option
+% \end{parameter}^^A abstract
+% \end{parameter}^^A columns
+% \end{parameter}^^A language
+% \todo[v3.12]{%
+% Einführen mit currentpagestyle sinnvoll; wie bei \texttt{abstract=chapter}?
+% bestenfalls chapterpagestyle als weitere Option; wenn nicht gegeben, dann mit
+% option pagestyle überschreiben bzw. erahnen\dots
+% }
+% \begin{macro}{\abstractpagestyle}
+% Damit der Anwender relativ schnell beeinflussen kann, wie der Seitenstil
+% für die Zusammenfassung sein soll, wird dieser Befehl eingeführt. Dabei wird
+% im Standardfall für allerlei Unterscheidungen gesorgt.
+% \begin{macrocode}
+% ^^A\newcommand*\abstractpagestyle{%
+% ^^A \if@titlepage%
+% ^^A empty%
+% ^^A \else%
+% ^^A%<*book|report>
+% ^^A \ifnum\tud@abstract@level>2%
+% ^^A \chapterpagestyle%
+% ^^A \else%
+% ^^A plain%
+% ^^A \fi%
+% ^^A%</book|report>
+% ^^A%<*article>
+% ^^A plain%
+% ^^A%</article>
+% ^^A \fi%
+% ^^A}
+% \end{macrocode}
+% \end{macro}^^A \abstractpagestyle
+%
+% \iffalse
+%</class&!option>
+%<*class&option>
+% \fi
+%
+% \subsection{Befehle für Selbstständigkeitserklärung und Sperrvermerk}
+%
+% Die Befehle für Selbstständigkeitserklärung und Sperrvermerk werden
+% äquivalent zur \env{abstract}-Umgebung mit den gleichen Optionen
+% ausgestattet.
+% \todo[v3.12]{declaration im tudpagestyle als key (scrlayer)}
+% \begin{macro}{\tud@declaration@level}
+% \begin{macro}{\if@tud@declaration@toc}
+% \begin{macro}{\if@tud@declaration@toc@locked}
+% \begin{macro}{\if@tud@declaration@double}
+% \begin{macro}{\if@tud@declaration@fil}
+% \begin{macro}{\if@tud@declaration@first}
+% Siehe die Option \opt{abstract}.
+% \begin{macrocode}
+%<*report|article>
+\newcommand*\tud@declaration@level{1}
+\newbool@lock{@tud@declaration@toc}
+%</report|article>
+%<*book>
+\newcommand*\tud@declaration@level{3}
+\newbool@lock[true]{@tud@declaration@toc}
+%</book>
+\newif\if@tud@declaration@double
+\@tud@declaration@doubletrue
+\newif\if@tud@declaration@fil
+\@tud@declaration@filtrue
+\newif\if@tud@declaration@first
+\@tud@declaration@firsttrue
+% \end{macrocode}
+% \end{macro}^^A \if@tud@declaration@first
+% \end{macro}^^A \if@tud@declaration@fil
+% \end{macro}^^A \if@tud@declaration@double
+% \end{macro}^^A \if@tud@declaration@toc@locked
+% \end{macro}^^A \if@tud@declaration@toc
+% \end{macro}^^A \tud@declaration@level
+% \begin{option}{declaration}
+% Siehe die Option \opt{abstract}.
+% \begin{macrocode}
+%<*report|article>
+\TUD@key{declaration}[true]{%
+%</report|article>
+%<*book>
+\TUD@key{declaration}[chapter]{%
+%</book>
+ \TUD@set@numkey{declaration}{@tempa}{%
+ {false}{0},{off}{0},{no}{0},%
+ {true}{1},{on}{1},{yes}{1},%
+ {section}{2},{sect}{2},{sec}{2},%
+%<*article>
+ {new}{2},{std}{2},{heading}{2},%
+%</article>
+%<*book|report>
+ {chapter}{3},{chap}{3},%
+ {new}{3},{std}{3},{heading}{3},%
+%</book|report>
+ {totoc}{4},{toc}{4},%
+ {nottotoc}{5},{notoc}{5},%
+ {one}{6},{simple}{6},{single}{6},%
+ {two}{7},{both}{7},{double}{7},%
+ {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},%
+ {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},%
+ }{#1}%
+ \ifcase \@tempa\relax%
+ \def\tud@declaration@level{0}%
+ \stdbool@lock{@tud@declaration@toc}{false}%
+ \or%
+ \def\tud@declaration@level{1}%
+ \stdbool@lock{@tud@declaration@toc}{false}%
+ \or%
+ \def\tud@declaration@level{2}%
+ \stdbool@lock{@tud@declaration@toc}{true}%
+ \or%
+%<*book|report>
+ \def\tud@declaration@level{3}%
+ \stdbool@lock{@tud@declaration@toc}{true}%
+%</book|report>
+ \or%
+ \stdbool@lock{@tud@declaration@toc}{false}%
+ \or%
+ \stdbool@lock{@tud@declaration@toc}{false}%
+ \or%
+ \@tud@declaration@doublefalse%
+ \or%
+ \@tud@declaration@doubletrue%
+ \or%
+ \@tud@declaration@filfalse%
+ \or%
+ \@tud@declaration@filtrue%
+ \fi%
+}
+% \end{macrocode}
+% \end{option}^^A declaration
+%
+% \iffalse
+%</class&option>
+%<*class&!option>
+% \fi
+%
+% \begin{macro}{\confirmation}
+% Mit diesem Befehl kann die Selbstständigkeitserklärung ausgegeben werden. Das
+% optionale Argument bestimmt, wer als Unterstützer angegeben wird. Damit bei
+% der Angabe eines leeren optionalen Argumentes dieses Feld geleert wird, muss
+% mit \cs{@ifnextchar[} eine Fallunterscheidung gemacht werden, ob ein solches
+% angegeben wurde. Außerdem sind Schlüssel-Wert-Paare als Option nutzbar.
+% \begin{macrocode}
+\newcommand*\confirmation{%
+% \end{macrocode}
+% Ist ein optionales Argument gegeben, wird ohne Schlüsselangabe dank dem Paket
+% \pkg{kvsetkeys} mit dem Befehl \cs{TUD@parameter@sethandler} das Feld für die
+% Unterstützer gesetzt bzw. bei leerem Argument geleert. Andernfalls werden
+% durch \cs{TUD@parameter@set} die Schlüssel-Wert-Paare ausgewertet.
+% \begin{macrocode}
+ \def\@tempa[##1]{%
+ \begingroup%
+ \ifblank{##1}{\supporter{}}{}%
+ \TUD@parameter{declaration}{%
+ \TUD@parameter@sethandler{\supporter{##1}}
+ \TUD@parameter@set{##1}
+ }%
+ \@tempb%
+ \endgroup%
+ }%
+% \end{macrocode}
+% Ohne optionales Argument erfolgt die Ausgabe ohne Optionsbehandlung direkt.
+% \begin{macrocode}
+ \def\@tempb{%
+ \tud@fm@set{declaration}{\confirmationname}%
+ {\confirmationtext\endgraf\@confirmationclosing}%
+ }%
+ \@ifnextchar[%]
+ {\@tempa}{\begingroup\@tempb\endgroup}%
+}
+% \end{macrocode}
+% \end{macro}^^A \confirmation
+% \begin{macro}{\restriction}
+% Für den Sperrvermerk wird äquivalent zu \cs{confirmation} verfahren. Das
+% optionale Argument ohne Schlüssel setzt hier die Firma für den Sperrvermerk.
+% \begin{macrocode}
+\newcommand*\restriction{%
+ \def\@tempa[##1]{%
+ \begingroup%
+ \ifblank{##1}{\company{}}{}%
+ \TUD@parameter{declaration}{%
+ \TUD@parameter@sethandler{\company{##1}}
+ \TUD@parameter@set{##1}
+ }%
+ \@tempb%
+ \endgroup%
+ }%
+ \def\@tempb{%
+ \tud@fm@set{declaration}{\restrictionname}{\restrictiontext}%
+ }%
+ \@ifnextchar[%]
+ {\@tempa}{\begingroup\@tempb\endgroup}%
+}
+% \end{macrocode}
+% \end{macro}^^A \restriction
+% \begin{macro}{\declaration}
+% Dieser Befehl dient zur Ausgabe von sowohl Selbstständigkeitserklärung als
+% auch Sperrvermerk. Über das optionale Argument kann ohne Schlüssel die
+% gewünschte Sprache eingestellt werden. Zusätzlich können Optionen als
+% Schlüssel-Wert-Paare angegeben werden.
+% \begin{macrocode}
+\newcommand*\declaration[1][]{%
+ \clearpage%
+ \begingroup%
+ \TUD@parameter{declaration}{%
+ \TUD@parameter@sethandler{\selectlanguage{#1}}
+ \TUD@parameter@set{#1}
+ }%
+ \@tud@declaration@firsttrue%
+ \confirmation\restriction%
+ \endgroup%
+ \clearpage%
+}
+% \end{macrocode}
+% \end{macro}^^A \declaration
+% \begin{parameter}{language}
+% \begin{parameter}{supporter}
+% \begin{parameter}{place}
+% \begin{parameter}{closing}
+% \begin{parameter}{company}
+% \begin{parameter}{declaration}
+% \begin{parameter}{option}
+% Dies sind die möglichen Schlüssel für die Befehle \cs{declaration},
+% \cs{confirmation} und \cs{restriction}. Die Schlüssel \opt{declaration} bzw.
+% \opt{option} dienen zum Setzen der Werte, welche auch als Klassenoptionen
+% gesetzt werden können.
+% \begin{macrocode}
+\TUD@parameter{declaration}{%
+ \TUD@parameter@define{language}{\selectlanguage{#1}}%
+ \TUD@parameter@define{company}{\company{#1}}%
+ \TUD@parameter@define{supporter}{\supporter{#1}}%
+ \TUD@parameter@define{place}{\place{#1}}%
+ \TUD@parameter@define{closing}{\confirmationclosing{#1}}%
+ \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}%
+ \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}%
+}
+% \end{macrocode}
+% \end{parameter}^^A option
+% \end{parameter}^^A declaration
+% \end{parameter}^^A company
+% \end{parameter}^^A closing
+% \end{parameter}^^A place
+% \end{parameter}^^A supporter
+% \end{parameter}^^A language
+% \todo[v3.12]{Einführen mit currentpagestyle sinnvoll; wie bei chapter?}
+% \begin{macro}{\declarationpagestyle}
+% Damit der Anwender relativ schnell beeinflussen kann, wie der Seitenstil
+% für die Erklärungen sein soll, wird dieser Befehl eingeführt. Dabei wird
+% im Standardfall für allerlei Unterscheidungen gesorgt.
+% \begin{macrocode}
+% ^^A\newcommand*\declarationpagestyle{%
+% ^^A \if@titlepage%
+% ^^A empty%
+% ^^A \else%
+% ^^A%<*book|report>
+% ^^A \ifnum\tud@declaration@level>2%
+% ^^A \chapterpagestyle%
+% ^^A \else%
+% ^^A plain%
+% ^^A \fi%
+% ^^A%</book|report>
+% ^^A%<*article>
+% ^^A plain%
+% ^^A%</article>
+% ^^A \fi%
+% ^^A}
+% \end{macrocode}
+% \end{macro}^^A \declarationpagestyle
+% \begin{macro}{\tud@fm@level@wrn}
+% \begin{macro}{\tud@fm@option@wrn}
+% \begin{macro}{\tud@fm@double@wrn}
+% Die Befehle dienen zur Warnung für nicht sinnvoll gewählte oder aber sich
+% gegenseitig ausschließende Optionen.
+% \begin{macrocode}
+\newcommand*\tud@fm@level@wrn[1]{%
+ \ClassWarning{\tudcls@name}{%
+ Headings in chapter style '#1=chapter'\MessageBreak%
+ are not recommended without the titlepage\MessageBreak%
+ option%
+ }%
+}
+\newcommand*\tud@fm@option@wrn[1]{%
+ \ClassWarning{\tudcls@name}{%
+ The option '#1=double' is not supported\MessageBreak%
+ neither with chapter headings nor without an\MessageBreak%
+ activated titlepage%
+ }%
+}
+\newcommand*\tud@fm@double@wrn[1]{%
+ \ClassWarning{\tudcls@name}{%
+ It wasn't possible to use '#1=double'\MessageBreak%
+ because of too much content within #1%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@fm@double@wrn
+% \end{macro}^^A \tud@fm@option@wrn
+% \end{macro}^^A \tud@fm@level@wrn
+%
+% \iffalse
+%</class&!option>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx
new file mode 100644
index 00000000000..8a1ea390fac
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx
@@ -0,0 +1,1345 @@
+% \CheckSum{901}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-layout.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-layout.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (layout)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-layout.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Das Layout des \CDs}
+%
+% Für das \CD werden sowohl Teile- als auch die Kapitelseiten neu gestaltet.
+% Es werden eine monochrome Version, eine Version mit leichtem Farbeinsatz und
+% eine durchweg farbige Version bereitgestellt. Außerdem wird hier das Aussehen
+% und die Position der Überschriften festgelegt.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class&option>
+% \fi
+%
+% \subsection{Optionen}
+%
+% \begin{macro}{\tud@head@color}
+% Dieses Makro definiert die Farbe des Kopfes. Diese kann durch die
+% entsprechende Option der \env{tudpage}"=Umgebung geändert werden. Außerdem
+% gibt es für Titel, Teil und Kapitel speziell dazugehörige Farben, so dass
+% das Aussehen des Kopfes ggf. angepasst wird.
+% \begin{macrocode}
+\newcommand*\tud@head@color{black}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@color
+% \begin{option}{cd}
+% \begin{macro}{\tud@cd}
+% \begin{macro}{\tud@layout@title}
+% \begin{macro}{\tud@layout@part}
+% \begin{macro}{\tud@layout@chapter}
+% Ein zentraler Teil der Wrapper-Klassen ist die Auswahl der Darstellung des
+% \CDs. Dabei kann gewählt werden, ob es einfarbig, mit leichtem oder aber mit
+% starkem Farbeinsatz genutzt werden soll. Diese Option dient zur globalen
+% Einstellung für Titel-, Teil- und Kapitelseiten. Mit dem Schalter werden die
+% gleichen Einstellungen für alle drei Komponenten gesetzt. Die Standardfarbe
+% des Kopfes der \env{tudpage}"=Seite ist schwarz und wird für die farbigen
+% Layouts auf dunkelblau gesetzt. Abhängig von der gewählten Option, die über
+% \cs{tud@layout@switch} festgelegt ist, werden die sogenannten Layoutschlüssel
+% (\cs{tud@layout@\dots}) auf einen Wert gesetzt (0\dots 3), welcher im
+% weiteren Verlauf ausgewertet werden kann. Der Schalter für Kapitel wird
+% lediglich für \cls{tudscrbook}- und \cls{tudscrreprt} jedoch nicht für die
+% \cls{tudscrartcl}-Klasse definiert und genutzt. Eigentlich werden alle
+% Komponenten mit einer zentralen Option festgelegt, können aber auch
+% durch den Nutzer explizit überschrieben werden.
+% \begin{macrocode}
+\newcommand*\tud@cd{0}
+\csdef@lock{tud@layout@title}{0}
+\csdef@lock{tud@layout@part}{0}
+%<*book|report>
+\csdef@lock{tud@layout@chapter}{0}
+%</book|report>
+\TUD@key{cd}[true]{%
+ \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}%
+ \def\tud@head@color{black}%
+ \ifcase \tud@cd\relax%
+ \csstd@lock{tud@layout@title}{0}%
+ \csstd@lock{tud@layout@part}{0}%
+%<*book|report>
+ \csstd@lock{tud@layout@chapter}{0}%
+%</book|report>
+ \or%
+ \csstd@lock{tud@layout@title}{1}%
+ \csstd@lock{tud@layout@part}{1}%
+%<*book|report>
+ \csstd@lock{tud@layout@chapter}{1}%
+%</book|report>
+ \or%
+ \def\tud@head@color{HKS41}%
+ \csstd@lock{tud@layout@title}{2}%
+ \csstd@lock{tud@layout@part}{2}%
+%<*book|report>
+ \csstd@lock{tud@layout@chapter}{2}%
+%</book|report>
+ \or%
+ \def\tud@head@color{HKS41}%
+ \csstd@lock{tud@layout@title}{3}%
+% \end{macrocode}
+% Ein komplett farbiges Layout ist bloß für die Klassen mit Teil- und
+% Kapitelseiten (\cls{tudscrbook} und \cls{tudscrreprt}) möglich. Ansonsten
+% werden lediglich die Überschriften, jedoch nicht der Seitenhintergrund
+% farbig gestaltet.
+% \begin{macrocode}
+%<*article>
+ \csstd@lock{tud@layout@part}{2}%
+%</article>
+%<*book|report>
+ \csstd@lock{tud@layout@part}{3}%
+ \csstd@lock{tud@layout@chapter}{3}%
+%</book|report>
+% \end{macrocode}
+% Die Klassenoptionen \opt{chapterpage} und \opt{widehead} werden für den
+% Fall der komplett farbigen Darstellung standardmäßig aktiviert
+% können allerdings vom Anwender überschrieben werden.
+% \begin{macrocode}
+%<*book|report>
+ \TUD@std@ifkey@lock{chapterpage}{true}%
+ \TUD@std@ifkey@lock{widehead}{true}%
+%</book|report>
+ \fi%
+% \end{macrocode}
+% Die Ausführung des Befehls \cs{tud@layout@process} sorgt dafür, dass alle
+% Optionen auch verarbeitet und wirksam werden. Dieser wird standardmäßig nach
+% der Abarbeitung aller Optionen innerhalb der Präambel einmalig ausgeführt.
+% Deshalb wird er hier nur innerhalb des Dokumentes genutzt. Dies gilt auch für
+% die folgenden Optionen.
+% \begin{macrocode}
+ \if@atdocument%
+ \tud@layout@process%
+ \else%
+% \end{macrocode}
+% Innerhalb der Präambel wird der Satzspiegel abhängig vom gewünschten Layout
+% festgelegt. Dies kann vom Benutzer mit dem Setzen der Option \opt{geometry}
+% überschrieben werden.
+% \begin{macrocode}
+ \ifcase \tud@cd\relax%
+ \TUD@std@numkey@lock{geometry}{false}%
+ \else%
+ \TUD@std@numkey@lock{geometry}{true}%
+ \fi%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@layout@chapter
+% \end{macro}^^A \tud@layout@part
+% \end{macro}^^A \tud@layout@title
+% \end{macro}^^A \if@tud@cd
+% \end{option}^^A cd
+% \begin{option}{cdtitle}
+% Das durch die Option \opt{cd} insgesamt festgelegte Layout kann für die
+% einzelnen Elemente Titel (\opt{cdtitle}),\dots
+% \begin{macrocode}
+\TUD@key{cdtitle}[true]{%
+ \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
+ \ifcase \@tempa\relax%
+ \csset@lock{tud@layout@title}{0}%
+ \or%
+ \csset@lock{tud@layout@title}{1}%
+ \or%
+ \csset@lock{tud@layout@title}{2}%
+ \or%
+ \csset@lock{tud@layout@title}{3}%
+ \fi%
+ \if@atdocument\tud@layout@process\fi%
+}
+% \end{macrocode}
+% \end{option}^^A cdtitle
+% \begin{option}{cdpart}
+% \dots Teile- (\opt{cdpart}) und\dots
+% \begin{macrocode}
+\TUD@key{cdpart}[true]{%
+ \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
+ \ifcase \@tempa\relax%
+ \csset@lock{tud@layout@part}{0}%
+ \or%
+ \csset@lock{tud@layout@part}{1}%
+ \or%
+ \csset@lock{tud@layout@part}{2}%
+ \or%
+%<*article>
+ \csset@lock{tud@layout@part}{2}%
+%</article>
+%<*book|report>
+ \csset@lock{tud@layout@part}{3}%
+%</book|report>
+ \fi%
+ \if@atdocument\tud@layout@process\fi%
+}
+% \end{macrocode}
+% \end{option}^^A cdpart
+% \begin{option}{cdchapter}
+% \dots bei den entsprechenden Klassen (\cls{tudscrbook} und \cls{tudscrreprt})
+% auch für die Kapitelseiten (\opt{cdchapter}) separat für die einzelnen
+% Elemente geändert bzw. überschrieben werden.
+% \begin{macrocode}
+%<*book|report>
+\TUD@key{cdchapter}[true]{%
+ \TUD@std@ifkey@lock{chapterpage}{false}%
+ \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}%
+ \ifcase \@tempa\relax%
+ \csset@lock{tud@layout@chapter}{0}%
+ \or%
+ \csset@lock{tud@layout@chapter}{1}%
+ \or%
+ \csset@lock{tud@layout@chapter}{2}%
+ \or%
+ \csset@lock{tud@layout@chapter}{3}%
+ \TUD@std@ifkey@lock{chapterpage}{true}%
+ \fi%
+ \if@atdocument\tud@layout@process\fi%
+}
+%</book|report>
+% \end{macrocode}
+% \end{option}^^A cdchapter
+% \todo[v3.12]{%
+% zusätzl. Schalter, um Layout für part und chapter einzustellen
+% (tudpage=on/off) nach Umstellung auf (scrlayer)
+% }
+% \begin{macro}{\tud@layout@switch}
+% Dies sind die Standardoptionen für alle einzelnen Einstellungen des Layouts.
+% Es gibt die Varianten monochrom~(1), leichter~(2) und voller Farbeinsatz~(3)
+% sowie die Möglichkeit, das \CD vollständig zu deaktivieren (0).
+% \begin{macrocode}
+\newcommand*\tud@layout@switch{%
+ {false}{0},{off}{0},{no}{0},%
+ {true}{1},{on}{1},{yes}{1},%
+ {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},%
+ {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
+ {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},%
+ {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},%
+ {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},%
+ {color}{3},{colour}{3}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@layout@switch
+% \begin{option}{color}
+% \begin{option}{colour}
+% Die alte \cls{tudbook}-Klasse hat die Option \opt{color} definiert, mit
+% welcher ein Umschalten auf farbige Titel- und Kapitelseiten möglich ist. Aus
+% Kompatibilitätsgründen wird diese hier ebenfalls vorgehalten.
+% \begin{macrocode}
+\TUD@key{color}[true]{%
+ \TUD@set@ifkey{color}{@tempswa}{#1}%
+ \TUD@set@numkey{color}{@tempa}{%
+ {false}{0},{off}{0},{no}{0},%
+ {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},%
+ {true}{1},{on}{1},{yes}{1},{color}{1},{colour}{1},%
+ {full}{1},{colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},%
+ {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
+ {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},%
+ {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}%
+ }{#1}%
+ \ifcase \@tempa\relax%
+ \TUDoptions{cd}%
+ \or%
+ \TUDoptions{cd=color}%
+ \else%
+ \TUDoptions{cd=lite}%
+ \fi%
+}
+\TUD@key{colour}[true]{\TUDoptions{color=#1}}
+% \end{macrocode}
+% \end{option}^^A colour
+% \end{option}^^A color
+%
+% \iffalse
+%<*book|report>
+% \fi
+%
+% Die nun folgenden Optionen und Befehle werden nur für die \cls{tudscrbook}-
+% und \cls{tudscrreprt}-Klasse definiert.
+% \begin{option}{parttitle}
+% \begin{macro}{\if@tud@parttitle}
+% \begin{macro}{\if@tud@parttitle@locked}
+% Der Schalter dient zur Steuerung, ob der Titel des Dokumentes wie im Handbuch
+% des \CDs auf den Teileseiten stehen soll.
+% \begin{macrocode}
+\newif\if@tud@parttitle
+\TUD@key@lock{parttitle}[true]{%
+ \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}%
+ \if@atdocument\tud@layout@process\fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@parttitle@locked
+% \end{macro}^^A \if@tud@parttitle
+% \end{option}^^A parttitle
+% \begin{option}{chapterpage}
+% \begin{macro}{\if@tud@chapterpage}
+% \begin{macro}{\if@tud@chapterpage@locked}
+% Mit dieser Option können Kapitelüberschriften alleine auf einer Seite stehen.
+% Es werden separate Kapitelseiten erzeugt.
+% \begin{macrocode}
+\newif\if@tud@chapterpage
+\TUD@key@lock{chapterpage}[true]{%
+ \TUD@set@ifkey@lock{chapterpage}{@tud@chapterpage}{#1}%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@chapterpage@locked
+% \end{macro}^^A \if@tud@chapterpage
+% \end{option}^^A chapterpage
+% \todo[v3.12]{\cs{FamilyElseValue} funktioniert nicht}
+% \begin{option}{cleardoublespecialpage}
+% \begin{macro}{\tud@cleardoublepage}
+% \begin{macro}{\tud@cleardoublespecialpage}
+% Für Klassen mit separaten Teileseiten und Kapiteln wird eine zusätzliche
+% Option definiert, welche nur bei zweiseitigem Satz (\opt{twoside}) und
+% zusätzlich immer auf nur der rechten Seite öffnenden Teilen bzw. Kapiteln
+% (\opt{open=right}) zum Tragen kommen.
+%
+% Diese Option steuert, ob die Rückseite von Titel, Teilen und ggf. auch bei
+% separaten Kapitelseiten\footnote{bei aktivierter \opt{chapterpage}"=Option}
+% entweder zwingend als leere Seite oder aber ~-- abhängig von der
+% \KOMAScript-Option \opt{cleardoublepage}~-- als Vakatseite ausgegeben werden.
+% Auch die Festlegung eines bestimmten Seitenstiles ist möglich.
+%
+% Der Befehl \cs{tud@cleardoublepage} enthält die Definition der zu erzeugenden
+% Doppelseite.
+% \begin{macrocode}
+\newcommand*\tud@cleardoublepage{\cleardoubleoddpage}
+% \end{macrocode}
+% Mit der Option \opt{cleardoublespecialpage} kann dieser festgelegt werden.
+% \begin{macrocode}
+\TUD@key{cleardoublespecialpage}[true]{%
+ \tud@lowerstring{\@tempa}{#1}%
+ \ifstr{\@tempa}{color}{\TUDoptions{clearcolor}}{%
+ \ifstr{\@tempa}{colour}{\TUDoptions{clearcolor}}{%
+ \ifstr{\@tempa}{current}{%
+ \def\tud@cleardoublepage{\cleardoubleoddstandardpage}%
+ }{%
+ \ifcsdef{ps@#1}{%
+ \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
+ }{%
+ \def\FamilyElseValue{%
+ , 'color', 'current' or any defined pagestyle e.g. 'empty','plain'%
+ }%
+ \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}%
+ \if@tempswa%
+ \def\tud@cleardoublepage{\cleardoubleoddpage}%
+ \else%
+ \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
+ \fi%
+ }%
+ }}}%
+}
+% \end{macrocode}
+% Der Befehl \cs{tud@cleardoublespecialpage} dient zur eigentlichen Umsetzung.
+% Das obligatorische Argument enthält alles, was innerhalb der Gruppe an
+% lokalen Einstellungen vorgenommen werden soll. Das optionale Argument wird ggf.
+% genutzt, um einen Inhalt auf der Rückseite auszugeben.
+% \begin{macrocode}
+\newcommand*\tud@cleardoublespecialpage[2][]{%
+ \begingroup%
+ #2
+ \ifboolexpr{bool {@twoside} and bool {@openright}}{%
+ \if@tud@clearcolor%
+ \def\@tempa{%
+ #1%
+ \tud@cleardoublepage%
+ \tud@restorepagecolor%
+ \endgroup%
+ }%
+ \else%
+ \def\@tempa{%
+ \endgroup%
+ \tud@restorepagecolor%
+ #1%
+ \tud@cleardoublepage%
+ }%
+ \fi%
+ }{%
+ \if@tud@clearcolor\tud@clearcolor@wrn\fi%
+ \def\@tempa{%
+ \tud@restorepagecolor%
+ \endgroup%
+ #1%
+ }%
+ }%
+ \@tempa%
+ \@afterindentfalse\@afterheading%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@cleardoublespecialpage
+% \end{macro}^^A \tud@cleardoublepage
+% \end{option}^^A cleardoublespecialpage
+% \begin{option}{clearcolor}
+% \begin{option}{clearcolour}
+% \begin{macro}{\if@tud@clearcolor}
+% Bei starkem Farbeinsatz im Stil des \CDs auf Titel- Teil- oder Kapitelseiten
+% (\opt{cd\dots=color}) wird die entsprechende Rückseite in der gleichen
+% Farbe wie die dazugehörige Vorderseite gestaltet. Für Teile- bzw.
+% Kapitelseiten muss die entsprechende Option aktiviert sein.%
+% \footnote{\opt{cleardoublespecialpage}}
+% \begin{macrocode}
+\newif\if@tud@clearcolor
+\TUD@ifkey{clearcolor}{@tud@clearcolor}
+\TUD@ifkey{clearcolour}{@tud@clearcolor}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@clearcolor
+% \end{option}^^A clearcolour
+% \end{option}^^A clearcolor
+% Damit endet der exklusive Abschnitt für \cls{tudscrbook}- und
+% \cls{tudscrreprt}-Klasse.
+%
+% \iffalse
+%</book|report>
+%</class&option>
+%<*class&!option>
+% \fi
+%
+% \subsection{Umsetzung des Layouts}
+%
+% Unter Layout wird die Wahl von Schriftart und "~größe, die Positionierung
+% verschiedener Textelemente sowie die farbliche Gestaltung verstanden. Für das
+% \CD gibt es dabei drei Ausprägungen, die für die verschiedenen Elemente
+% auch unabhängig gewählt werden können.
+% \begin{macro}{\tud@color@partfont}
+% \begin{macro}{\tud@color@partpage}
+% \begin{macro}{\tud@color@parthead}
+% \begin{macro}{\tud@color@chapterfont}
+% \begin{macro}{\tud@color@chapterpage}
+% Die Makros werden für die Hintergrundfarbe der Seiten und die Farbe der
+% Überschriften verwendet.
+% \begin{macrocode}
+\newcommand*\tud@color@partfont{black}
+%<*book|report>
+\newcommand*\tud@color@partpage{white}
+\newcommand*\tud@color@parthead{black}
+\newcommand*\tud@color@chapterfont{black}
+\newcommand*\tud@color@chapterpage{white}
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \tud@color@chapterpage
+% \end{macro}^^A \tud@color@chapterfont
+% \end{macro}^^A \tud@color@parthead
+% \end{macro}^^A \tud@color@partpage
+% \end{macro}^^A \tud@color@partfont
+% \todo[v3.12]{auf \cs{usesizeofkomafont} umstellen, allerdings schwierig wegen
+% des Rumgemoschel mit Kapitelüberschriften (scrlayer)}
+% \begin{macro}{\tud@font@heading}
+% \begin{macro}{\tud@font@heading@size}
+% \begin{macro}{\tud@font@heading@numsize}
+% \begin{macro}{\tud@font@part}
+% \begin{macro}{\tud@font@part@number}
+% \begin{macro}{\tud@font@part@title}
+% \begin{macro}{\tud@font@chapter}
+% Es werden die zu Beginn der Klasse Größen der notwendigen Schriftelemente,
+% welche anhand der gewählten Dokumentschriftgröße definiert wurden, für die
+% weitere Verwendung gesichert. Außerdem wird in \cs{tud@font@heading} die
+% Schriftart für die Überschriften definiert. Falls die Schriftarten des \CDs
+% installiert wurden, wird DIN-Bold verwendet, sonst die Standardüberschriften.
+% \begin{macrocode}
+\newcommand*\tud@font@heading{\if@tud@din\dinbn\fi\tud@raggedright}
+\newcommand*\tud@font@heading@size{}
+\newcommand*\tud@font@heading@numsize{}
+\let\tud@font@heading@size\size@part%
+\let\tud@font@heading@numsize\size@partnumber%
+% \end{macrocode}
+% Anschließend werden später benötigte Schriftformatierungen erstellt.
+% \begin{macrocode}
+\newkomafont{tud@heading}{\tud@font@heading\tud@font@heading@size}%
+\newcommand*\tud@font@part{\usekomafont{tud@heading}\color{\tud@color@partfont}}
+\newcommand*\tud@font@part@number{\tud@font@part\tud@font@heading@numsize}
+%<*book|report>
+\newcommand*\tud@font@part@title{\tud@font@part\usesizeofkomafont{section}}
+\newcommand*\tud@font@chapter{%
+ \usekomafont{tud@heading}%
+ \color{\tud@color@chapterfont}%
+}
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \tud@font@chapter
+% \end{macro}^^A \tud@font@part@title
+% \end{macro}^^A \tud@font@part@number
+% \end{macro}^^A \tud@font@part
+% \end{macro}^^A \tud@font@heading@numsize
+% \end{macro}^^A \tud@font@heading@size
+% \end{macro}^^A \tud@font@heading
+% \begin{length}{\chapterheadingvskip}
+% \begin{length}{\headingsvskip}
+% Mit dieser Länge kann der Anwender die Überschriften von Titel, Teilen und
+% Kapiteln vertikal von ihrer Standardposition verschieben, welche vom \CD
+% eigentlich vorgegeben ist. Um die zuvor genannten Überschriften überhaupt auf
+% dieser Position zu setzen, ist die Länge \cs{tud@dim@headingsvskip} bereits
+% auf 30\,mm gesetzt, mit \cs{chapterheadingvskip} kann dies korrigiert werden.
+% Die Länge \cs{headingsvskip} existiert nur, um zur Version v1.0 kompatibel
+% zu sein.
+% \begin{macrocode}
+\newlength{\chapterheadingvskip}
+\newlength{\headingsvskip}
+\let\headingsvskip\chapterheadingvskip
+% \end{macrocode}
+% \end{length}^^A \headingsvskip
+% \end{length}^^A \chapterheadingvskip
+% \todo[v3.12]{%
+% Einbinden Schriften von titlehead, author, date, publishers und dedication
+% }
+% \begin{macro}{\tud@layout@process}
+% Dieser Befehl kümmert sich darum, dass die gewählten Optionen für den
+% Seitenstil auch umgesetzt werden. Dabei wird insbesondere darauf Wert gelegt,
+% dass die Optionen auch zur Laufzeit geändert und wiederhergestellt werden
+% können.
+% \begin{macrocode}
+\newcommand*\tud@layout@process{%
+% \end{macrocode}
+% Die Einstellungen für den Titel. Vor dessen Umstellung werden die relevanten
+% Originalbefehle mit \cs{tud@cmd@store}\marg{Befehl} gesichert, damit diese
+% später gegebenenfalls mit \cs{tud@cmd@restore}\marg{Befehl} wiederhergestellt
+% werden können.
+% \begin{macrocode}
+ \ifcase \tud@layout@title\relax%
+ \tud@cmd@restore{maketitle}%
+ \tud@cmd@restore{@maketitle}%
+ \tud@font@koma@reset{title}%
+ \tud@font@koma@reset{subtitle}%
+ \tud@font@koma@reset{subject}%
+ \else%
+ \tud@cmd@store{maketitle}%
+ \tud@cmd@store{@maketitle}%
+ \tud@font@koma@set{title}{%
+ \usekomafont{tud@heading}%
+ \color{\tud@color@titlefont}%
+ }%
+ \tud@font@koma@set{subtitle}{%
+ \tud@font@heading%
+ \usesizeofkomafont{section}%
+ \color{\tud@color@titlefont}%
+ }%
+ \tud@font@koma@set{subject}{\color{\tud@color@titlefont}\sffamily}%
+ \let\maketitle\tud@maketitle%
+ \fi%
+% \end{macrocode}
+% Das gleiche für die Teileseiten.
+% \begin{macrocode}
+ \ifcase \tud@layout@part\relax%
+ \tud@cmd@restore{partheadstartvskip}%
+ \tud@cmd@restore{partheadmidvskip}%
+%<*book|report>
+ \tud@cmd@restore{partheadendvskip}%
+ \tud@cmd@restore{partheademptypage}%
+ \tud@cmd@restore{partpagestyle}%
+%</book|report>
+ \tud@cmd@restore{@part}%
+%<*book|report>
+ \tud@cmd@restore{@spart}%
+%</book|report>
+ \tud@sectioning@reset[addpart]{part}%
+ \tud@font@koma@reset{partnumber}%
+% \end{macrocode}
+% Es werden die Standardbefehle gesichert und für das \CD angepasst.
+% \begin{macrocode}
+ \else%
+ \tud@cmd@store{partheadstartvskip}%
+ \tud@cmd@store{partheadmidvskip}%
+%<*book|report>
+ \tud@cmd@store{partheadendvskip}%
+ \tud@cmd@store{partheademptypage}%
+ \tud@cmd@store{partpagestyle}%
+%</book|report>
+ \tud@cmd@store{@part}%
+%<*book|report>
+ \tud@cmd@store{@spart}%
+%</book|report>
+% \end{macrocode}
+% Es wird die Schriftfarbe, "~größe und "~art angepasst, je nachdem ob der
+% Titel des Dokumentes auf den Teileseiten auftauchen soll oder eben nicht.
+% \begin{macrocode}
+%<*book|report>
+ \if@tud@parttitle%
+ \tud@sectioning@set[addpart]{part}{\tud@font@part@title}%
+ \tud@font@koma@set{partnumber}{\tud@font@part@title}%
+ \renewcommand*\partheadmidvskip{\enskip}%
+ \else%
+ \tud@sectioning@set[addpart]{part}{\tud@font@part}%
+ \tud@font@koma@set{partnumber}{\tud@font@part@number}%
+ \renewcommand*\partheadmidvskip{%
+ \par\nobreak\vspace{.5\baselineskip}%
+ }%
+ \fi%
+%</book|report>
+% \end{macrocode}
+% Für die Artikel-Klasse gibt es die \opt{parttitle}-Option nicht.
+% \begin{macrocode}
+%<*article>
+ \tud@sectioning@set[addpart]{part}{\tud@font@part}%
+ \tud@font@koma@set{partnumber}{\tud@font@part@number}%
+ \renewcommand*\partheadmidvskip{\vskip.3\baselineskip}%
+%</article>
+% \end{macrocode}
+% Einigen Makros werden mittels \cs{let} Definitionen von anderen Makros
+% zugewiesen, die sich wiederum am Original orientieren. Hintergrund ist, dass
+% die originalen Befehle angepasst werden sollen. Damit dies nicht bei jeder
+% Optionswahl sondern nur einmalig geschehen muss und um möglichst einfach auf
+% die Originaldefinition zurückschalten zu können, wird so verfahren. Die
+% angepassten Befehle selbst und die dazugehörige Beschreibung sind etwas
+% weiter unten im Quelltext zu finden.
+% \begin{macrocode}
+ \let\partheadstartvskip\tud@partheadstartvskip%
+ \let\@part\tud@@part%
+%<*book|report>
+ \let\@spart\tud@@spart%
+%</book|report>
+% \end{macrocode}
+% Nachdem die Schriften in Gestalt und Position angepasst wurden, wird jetzt
+% das Layout für die Teileseiten festgelegt. Es wird der Satzspiegel und der
+% Seitenstil angepasst, die Seitenfarbe gesetzt sowie die Schrift für Kopf und
+% Seitenzahl verändert. Die Änderungen sollen dabei lokal bleiben, wofür das
+% obligatorische Argument des Befehls \cs{tud@cleardoublespecialpage} verwendet
+% wird. Damit wird abhängig von den Einstellungen für \opt{clearcolor} und
+% \opt{cleardoublespecialpage} die Rückseite farbig und in einem bestimmten
+% Seitenstil gesetzt.
+% \todo[v3.12]{partpagestyle und scrlayer, siehe \cs{tud@layout@switch}}
+% \begin{macrocode}
+%<*book|report>
+ \renewcommand*\partheadendvskip{%
+ \tud@cleardoublespecialpage{%
+ \tud@pagecolor{\tud@color@partpage}%
+ \def\tud@head@color{\tud@color@parthead}%
+ \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}%
+ \begingroup%
+ \let\ps@empty\ps@tudpage@empty%
+ \let\ps@plain\ps@tudpage@plain%
+ \clearpage%
+ \endgroup%
+ }
+ \loadgeometry{tudarea}%
+ }%
+ \renewcommand*\partheademptypage{}%
+%</book|report>
+ \fi%
+% \end{macrocode}
+% Die Einstellungen für die Kapitel bzw. die folgenden Gliederungsebenen. Auch
+% hier werden alle relevanten Befehle gesichert, damit diese wiederhergestellt
+% werden können. Verständlicherweise fällt für die \cls{tudscrartcl}-Klasse
+% der Anteil für die Kapitel weg. Das Verhalten der nachgelagerten
+% Gliederungsebenen orientiert für diese Klasse an den Einstellungen für die
+% Teileseiten.
+% \begin{macrocode}
+%<*article>
+ \ifcase \tud@layout@part\relax%
+%</article>
+%<*book|report>
+ \ifcase \tud@layout@chapter\relax%
+ \tud@cmd@restore{chapterheadstartvskip}%
+ \tud@cmd@restore{chapterformat}%
+ \tud@cmd@restore{@chapter}%
+ \tud@cmd@restore{@schapter}%
+ \tud@cmd@restore{@@makechapterhead}%
+ \tud@cmd@restore{set@@@@preamble}%
+ \tud@sectioning@reset[addchap]{chapter}%
+ \tud@font@koma@reset{chapterprefix}%
+%</book|report>
+ \tud@sectioning@reset[addsec]{section}%
+ \tud@sectioning@reset{subsection}%
+ \tud@sectioning@reset{subsubsection}%
+ \tud@sectioning@reset{minisec}%
+% \end{macrocode}
+% Auch hier werden die Standardbefehle für ein mögliches Deaktivieren der
+% Optionen gesichert und anschließend geändert.
+% \begin{macrocode}
+ \else%
+%<*book|report>
+ \tud@cmd@store{chapterheadstartvskip}%
+ \tud@cmd@store{chapterformat}%
+ \tud@cmd@store{@chapter}%
+ \tud@cmd@store{@schapter}%
+ \tud@cmd@store{@@makechapterhead}%
+ \tud@cmd@store{set@@@@preamble}%
+ \tud@sectioning@set[addchap]{chapter}{\tud@font@chapter}%
+ \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
+%</book|report>
+ \tud@sectioning@set[addsec]{section}{\tud@font@heading}%
+ \tud@sectioning@set{subsection}{\tud@font@heading}%
+ \tud@sectioning@set{subsubsection}{\tud@font@heading}%
+ \tud@sectioning@set{minisec}{\tud@font@heading}%
+% \end{macrocode}
+% \cs{chapterheadstartvskip} wird für die Position der Kapitelüberschriften im
+% \CD angepasst. Mit der Länge \cs{chapterheadingvskip} kann diese Position
+% vertikal durch den Benutzer verschoben werden. Außerdem werden die benötigten
+% Farben für die jeweilig gewählte Option ausgewählt.
+% \begin{macrocode}
+%<*book|report>
+ \renewcommand*\chapterheadstartvskip{%
+ \def\tud@color@chapterpage{white}%
+ \def\tud@color@chapterfont{black}%
+ \ifcase \tud@layout@chapter\relax\or\or%
+ \def\tud@color@chapterpage{white}%
+ \def\tud@color@chapterfont{HKS41}%
+ \or%
+ \def\tud@color@chapterpage{HKS41!10}%
+ \def\tud@color@chapterfont{HKS41}%
+ \fi%
+ \vspace*{\dimexpr\tud@ta@headdiff+\tud@dim@headingsvskip}%
+ \if@tud@chapterpage\else\vspace*{\chapterheadingvskip}\fi%
+ }%
+% \end{macrocode}
+% Und wieder erfolgt die Zuweisung der angepassten Befehle über \cs{let}.
+% \begin{macrocode}
+ \let\@@makechapterhead\tud@@@makechapterhead%
+ \let\set@@@@preamble\tud@set@@@@preamble%
+%</book|report>
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@layout@process
+% \begin{macro}{\tud@partheadstartvskip}
+% Dieses Makro ersetzt den Standardbefehl \cs{partheadstartvskip} für die
+% CD-Teilseiten. Damit lassen sich insbesondere die Farbanpassungen für alle
+% Klassen sowie die Option \opt{parttitle} für \cls{tudscrreprt}- und
+% \cls{tudscrbook}-Klasse einfach realisieren und gleichzeitig das
+% Zurückschalten auf das Standardverhalten gewährleisten.
+%
+% Für die \cls{tudscrartcl}-Klasse wird der vertikale Standardabstand
+% beibehalten und lediglich die Farbanpassung hinzugefügt.
+% \begin{macrocode}
+%<*article>
+\newcommand*\tud@partheadstartvskip{}
+\let\tud@partheadstartvskip\partheadstartvskip%
+\pretocmd{\tud@partheadstartvskip}{%
+ \def\tud@color@partfont{black}%
+ \ifcase \tud@layout@part\relax\or\or%
+ \def\tud@color@partfont{HKS41}%
+ \fi%
+}{}{\tud@patch@wrn{tud@partheadstartvskip}}
+%</article>
+% \end{macrocode}
+% Für \cls{tudscrreprt}- und \cls{tudscrbook}-Klasse werden die Farben gesetzt
+% und die vertikalen Abstände neu definiert.
+% \todo[v3.12]{%
+% für part und chapter mehrere layer für ddc definieren, Satzspiegel abhängig
+% von \cs{tud@ddc@foot} entweder tudpage oder tudddc
+% }
+% \begin{macrocode}
+%<*book|report>
+\newcommand*\tud@partheadstartvskip{%
+ \def\tud@color@partfont{black}%
+ \def\tud@color@partpage{white}%
+ \def\tud@color@parthead{black}%
+ \ifcase \tud@layout@part\relax\or\or%
+ \def\tud@color@partfont{HKS41}%
+ \def\tud@color@partpage{white}%
+ \def\tud@color@parthead{HKS41}%
+ \or%
+ \def\tud@color@partpage{HKS41}%
+ \def\tud@color@partfont{HKS41!30}%
+ \def\tud@color@parthead{white}%
+ \fi%
+ \loadgeometry{tudpage}%
+ \begingroup%
+ \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}%
+ \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
+% \end{macrocode}
+% Sollte die \opt{parttitle}-Option aktiviert sein, so wird der Titel des
+% Dokumentes statt des Teiletitels mit \cs{tud@parttitle} auf die Seite
+% gesetzt.
+% \begin{macrocode}
+ \if@tud@parttitle%
+ \tud@parttitle%
+ \else%
+ \usesizeofkomafont{partnumber}%
+ \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}%
+ \fi%
+ \endgroup%
+}
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \tud@partheadstartvskip
+%
+% \iffalse
+%<*book|report>
+% \fi
+%
+% \begin{macro}{\tud@parttitle}
+% Der Befehl \cs{tud@parttitle} wird für die Option \opt{parttitle}
+% definiert. Dieser setzt den Titel in Majuskeln auf jeder Teilseite.
+% \begin{macrocode}
+\newcommand*\tud@parttitle{%
+ \begingroup%
+ \usekomafont{tud@heading}%
+ \color{\tud@color@partfont}%
+ \tud@makeuppercase{\expandonce{\@@title}}%
+ \par\nobreak\vskip .5\baselineskip%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@parttitle
+%
+% \iffalse
+%</book|report>
+% \fi
+%
+% \begin{macro}{\tud@@part}
+% Damit auch das Präfix der Teile in Majuskeln erscheint, wird dem Befehl
+% \cs{partformat}, welcher das Präfix enthält, für die \cls{tudscrartcl}-Klasse
+% der entsprechende Befehl vorangestellt.
+% \begin{macrocode}
+%<*article>
+\let\tud@@part\@part
+\patchcmd{\tud@@part}%
+ {\size@partnumber{\partformat}}%
+ {\size@partnumber{\tud@makeuppercase\partformat}}%
+ {}{\tud@patch@wrn{@part}}%
+%</article>
+% \end{macrocode}
+% Für \cls{tudscrbook}- und \cls{tudscrreprt}-Klasse ist etwas mehr Arbeit
+% nötig. Für separate Teileseiten muss dafür Sorge getragen werden, dass die
+% Überschrift unabhängig von der Tiefe der Nummerierung immer an der gleichen
+% Position steht.
+% \begin{macrocode}
+%<*book|report>
+\let\tud@@part\@part
+\ifnum\scr@compatibility>\@nameuse{scr@v@3.11b}\relax
+ \patchcmd{\tud@@part}{%
+ \ifnumbered{part}{%
+ \size@partnumber{\partformat}%
+ \partheadmidvskip
+ }{}%
+ }{%
+ \ifnumbered{part}{%
+ \size@partnumber{\tud@makeuppercase\partformat}%
+ }{%
+ \size@partnumber{\strut}%
+ }%
+ \unskip\partheadmidvskip%
+ }{}{\tud@patch@wrn{@part}}%
+\else
+ \patchcmd{\tud@@part}{%
+ \ifnum \c@secnumdepth >-2\relax
+ \size@partnumber{\partformat}%
+ \partheadmidvskip
+ \fi
+ }{%
+ \ifnum \c@secnumdepth >-2\relax%
+ \size@partnumber{\tud@makeuppercase\partformat}%
+ \else%
+ \size@partnumber{\strut}%
+ \fi%
+ \unskip\partheadmidvskip%
+ }{}{\tud@patch@wrn{@part}}%
+\fi
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \tud@@part
+%
+% \iffalse
+%<*book|report>
+% \fi
+%
+% \begin{macro}{\tud@@spart}
+% Bei den Teile-Befehlen ohne Gliederungsnummerierung muss zusätzlich der
+% Freiraum vorgehalten werden, damit alle Überschriften auf der gleichen
+% vertikalen Position liegen.
+% \begin{macrocode}
+\let\tud@@spart\@spart
+\patchcmd{\tud@@spart}{%
+ \normalfont
+ \sectfont\nobreak\size@part
+}{%
+ \normalfont\sectfont\nobreak%
+ \size@partnumber{\strut}%
+ \partheadmidvskip\unskip%
+ \size@part%
+}{}{\tud@patch@wrn{@spart}}
+% \end{macrocode}
+% \end{macro}^^A \tud@@spart
+% \begin{macro}{\tud@partpreamble}
+% Um die \KOMAScript-Befehle für die Teilepräambel auch für das farbige Layout
+% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln wird
+% die Überschrift einer Zusammenfassung ausschließlich zentriert und relativ
+% klein gesetzt. Außerdem wird für eine mögliche Zusammenfassung die
+% \opt{titlepage}-Option deaktiviert. Aufgerufen wird der Befehl durch die
+% gepatchte Version von \cs{set@@@@preamble}.
+% \begin{macrocode}
+\newcommand*\tud@partpreamble{%
+ \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi%
+ \KOMAoptions{titlepage=false}%
+ \addtokomafont{disposition}{\color{\tud@color@partfont}}%
+ \addtokomafont{dictumtext}{\color{\tud@color@partfont}}%
+ \color{\tud@color@partfont}%
+% \end{macrocode}
+% Hiermit wird der unterschiedliche Abstand bei Teil- und Kapitelpräambeln
+% ausgeglichen.
+% \begin{macrocode}
+ \vskip\dimexpr\topskip+.9\baselineskip%
+ \@afterindentfalse\@afterheading%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@partpreamble
+% \begin{macro}{\tud@@@makechapterhead}
+% Damit das Präfix des Kapitels bei der gegebenenfalls aktivierten Option
+% \opt{chapterprefix} in Majuskeln erscheint, wird dem Befehl
+% \cs{chapterformat}, welcher das Präfix enthält, der entsprechende Befehl
+% vorangestellt. Außerdem muss die Überschrift bei aktivierter
+% \opt{chapterprefix}-Option um die Höhe des Präfixes nach oben verschoben
+% werden, damit die Überschrift selbst auf der richtigen Höhe liegt.
+% \begin{macrocode}
+\newcommand*\tud@@@makechapterhead{}
+\let\tud@@@makechapterhead\@@makechapterhead
+\patchcmd{\tud@@@makechapterhead}{\chapterformat}{%
+ \if@chapterprefix%
+ \usesizeofkomafont{chapterprefix}%
+ \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}%
+ \fi%
+ \tud@makeuppercase{\chapterformat}%
+}{}{\tud@patch@wrn{@@makechapterhead}}
+% \end{macrocode}
+% Weiterhin müssen alle vertikalen Abstände gelöscht werden, damit die
+% Überschriften für alle Einstellungen der \opt{parskip}-Option immer auf
+% exakt der selben Höhe liegen und auch die Abstände zwischen den ggf.
+% genutzten Präfixen identisch sind.
+% \begin{macrocode}
+\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{%
+ \setlength{\parskip}{\z@}%
+ \size@chapter{#1}%
+}{}{\tud@patch@wrn{@@makechapterhead}}
+% \end{macrocode}
+% \end{macro}^^A \tud@@@makechapterhead
+% \begin{macro}{\tud@chapterpreamble}
+% Um die \KOMAScript-Befehle für die Kapitelpräambel auch für das farbige Layout
+% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln der
+% Kapitel gilt das gleiche wie für die der Teileseiten. Auch hier erfolgt die
+% Ausführung des Befehls durch die gepatchte Version von \cs{set@@@@preamble}.
+% \begin{macrocode}
+\newcommand*\tud@chapterpreamble{%
+ \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi%
+ \KOMAoptions{titlepage=false}%
+% \end{macrocode}
+% Die Farb- und Schrifteinstellungen sind nur für reine Kapitelseiten notwendig.
+% \begin{macrocode}
+ \if@tud@chapterpage%
+ \if@tud@cdfonts%
+ \if@tud@heavyfont%
+ \TUDoptions{cdfont=heavy}%
+ \else%
+ \TUDoptions{cdfont}%
+ \fi%
+ \fi%
+ \addtokomafont{disposition}{\color{\tud@color@chapterfont}}%
+ \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}%
+ \color{\tud@color@chapterfont}%
+ \fi%
+ \@afterindentfalse\@afterheading%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@chapterpreamble
+% \begin{macro}{\tud@chapter@pre}
+% \begin{macro}{\tud@chapter@app}
+% Diese beiden Makros dienen zur Behandlung der Besonderheiten von spearaten
+% Kapitelseiten (Option~\opt{chapterpage}).
+% \begin{macrocode}
+\newcommand*\tud@chapter@pre{%
+ \if@tud@chapterpage%
+% \end{macrocode}
+% Der Seitenstil wird aus Gründen der Konsistenz auf den Stil von Teilseiten
+% gesetzt. Vorher wird dieser gesichert.
+% \begin{macrocode}
+ \tud@cmd@store{chapterpagestyle}%
+ \renewcommand*\chapterpagestyle{\partpagestyle}%
+% \end{macrocode}
+% Für den zweispaltigen Satz und aktivierter \opt{chapterpage}-Option muss
+% für die Kapitelseiten temporär auf einseitigen Satz umgestellt werden, damit
+% alle Befehle und Einstellungen beim Erzeugen des jeweiligen Kapitels zum
+% Tragen kommen. Soll der Fehler behoben werden, dass bei Kapitelüberschriften
+% im zweispaltigen Satz der Abstand zwischen Überschrift und Textkörper nicht
+% stimmt, sei außerdem das Paket \pkg{twocolfix} empfohlen.
+% \begin{macrocode}
+ \@restonecolfalse%
+ \if@twocolumn\@restonecoltrue\onecolumn\fi%
+ \fi%
+}
+\newcommand*\tud@chapter@app{%
+ \if@tud@chapterpage%
+% \end{macrocode}
+% Nach dem Setzen der Kapitelüberschrift selbst werden die Farbe für den
+% Hintergrund, die Seitenzahl und den ggf. verwendeten TUD-Kopf angewendet.
+% Danach wird die Seite beendet. Sollte zweiseitiger Satz, immer rechts öffnende
+% Kapitel und die Option \opt{chapterpage} gewählt sein, so wird für ein
+% konsistentes Layout für Überschriften auf Einzelseiten die Rückseite abhängig
+% von der Option \opt{clearcolor} gegebenenfalls farbig gesetzt und die Option
+% \opt{cleardoublespecialpage} bezüglich des Seitenstils der Rückseite beachtet.
+% Umgesetzt wird das Ganze mit dem Befehl \cs{tud@cleardoublespecialpage}.
+% \begin{macrocode}
+ \tud@cleardoublespecialpage{%
+ \tud@pagecolor{\tud@color@chapterpage}%
+ \def\tud@head@color{\tud@color@chapterfont}%
+ \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}%
+ \clearpage%
+ }%
+% \end{macrocode}
+% Außerdem wird der Seitenstil der Kapitel wiederhergestellt und für den
+% Zweispaltensatz auf normales Verhalten zurückgestellt.
+% \begin{macrocode}
+ \tud@cmd@restore{chapterpagestyle}%
+ \if@restonecol\twocolumn\fi%
+ \fi%
+% \end{macrocode}
+% Unabhängig von der Option \opt{chapterpage} wird deim zweispaltigen Layout der
+% Einzug des ersten Absatzes verhindert.
+% \begin{macrocode}
+ \if@twocolumn%
+ \@afterindentfalse\@afterheading%
+ \fi%
+}
+% \end{macrocode}
+% Die Änderungen sollen bei der Erzeugung eines Kapitels greifen. Damit die
+% originalen Befehle nicht beeinflusst werden, erfolgt die Manipulation der
+% bereits adaptierten Befehle für Kapitel.
+% \begin{macrocode}
+\AtEndPreamble{%
+ \pretocmd{\tud@nchapter}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@nchapter}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@schapter}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@schapter}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@ochapter}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@ochapter}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@naddchap}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@naddchap}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@saddchap}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@saddchap}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@oaddchap}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@oaddchap}{\tud@chapter@app}{}{}
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@chapter@pre
+% \end{macro}^^A \tud@chapter@app
+% \begin{macro}{\tud@clearcolor@wrn}
+% Warnung für den Fall, dass die Option \opt{clearcolor} ohne \opt{open=right}
+% und \opt{twoside} verwendet wird.
+% \begin{macrocode}
+\newcommand*\tud@clearcolor@wrn{%
+ \ClassWarning{\tudcls@name}{%
+ Option 'clearcolor' is only available together with\MessageBreak%
+ options 'twoside' and 'open=right'%
+ }%
+ \global\let\tud@clearcolor@wrn\relax%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@clearcolor@wrn
+% \begin{macro}{\tud@set@@@@preamble}
+% Die beiden Befehle für Präambeln aus \KOMAScript{} ignorieren in ihrer
+% ursprünglichen Form die Einstellungen für \opt{parskip}. Dies wird mit diesem
+% Patch beseitigt. Außerdem werden das Makro für die Layouteinstellungen für
+% Teile bzw. Kapitel (\cs{tud@\dots preamble}) aufgerufen.
+% \begin{macrocode}
+\newcommand*\tud@set@@@@preamble{}
+\let\tud@set@@@@preamble\set@@@@preamble
+\patchcmd{\tud@set@@@@preamble}{%
+ \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
+}{%
+ \def\@tempa####1@####2{\@nameuse{tud@####1preamble}}%
+ \hbox to\hsize{%
+ \let\@parboxrestore\relax%
+ #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par%
+ }%
+}{}{\tud@patch@wrn{set@@@@preamble}}
+% \end{macrocode}
+% \end{macro}^^A \tud@set@@@@preamble
+% Damit ist das Intermezzo für die beiden Klassen \cls{tudscrbook} und
+% \cls{tudscrreprt} beendet.
+%
+% \iffalse
+%</book|report>
+% \fi
+%
+% \begin{macro}{\tud@part}
+% \begin{macro}{\tud@spart}
+% \begin{macro}{\tud@addpart}
+% \begin{macro}{\tud@saddpart}
+% \begin{macro}{\tud@chapter}
+% \begin{macro}{\tud@schapter}
+% \begin{macro}{\tud@addchap}
+% \begin{macro}{\tud@saddchap}
+% \begin{macro}{\tud@section}
+% \begin{macro}{\tud@ssection}
+% \begin{macro}{\tud@subsection}
+% \begin{macro}{\tud@ssubsection}
+% \begin{macro}{\tud@subsubsection}
+% \begin{macro}{\tud@ssubsubsection}
+% Das \CD verlangt, dass sämtliche Auszeichnungen, die in DIN~Bold gesetzt
+% werden, groß zu schreiben sind. Für die Klassen bedeutet dies, dass alle
+% Überschriften automatisch in Majuskeln und in der gewünschten Schriftart
+% erscheinen müssen. Dies erfordert eine Anpassung der Gliederungsbefehle, ohne
+% deren normales Verhalten zu beeinflussen.
+%
+% Dazu werden die benötigten Hilfsmakros initialisiert. Die Gliederungsbefehle
+% selbst werden innerhalb des Befehles \cs{tud@sectioning@set} durch
+% \cs{tud@cmd@store} gesichert und anschließend mit \cs{tud@sectioning@case}
+% neu definiert. Dabei wird in der ersten Stufe unterschieden, ob die
+% Sternversion des Gliederungsbefehls durch den Anwender verwendet wird und
+% ggf. das Hilfsmakro \cs{tud@s\meta{Gliederungsbefehl}} aufgerufen.
+% Andernfalls wird \cs{tud@\meta{Gliederungsbefehl}} verwendet.
+% \begin{macrocode}
+\newcommand*\tud@part{}
+\newcommand*\tud@spart{}
+\newcommand*\tud@addpart{}
+\newcommand*\tud@saddpart{}
+%<*book|report>
+\newcommand*\tud@chapter{}
+\newcommand*\tud@schapter{}
+\newcommand*\tud@addchap{}
+\newcommand*\tud@saddchap{}
+%</book|report>
+\newcommand*\tud@section{}
+\newcommand*\tud@ssection{}
+\newcommand*\tud@subsection{}
+\newcommand*\tud@ssubsection{}
+\newcommand*\tud@subsubsection{}
+\newcommand*\tud@ssubsubsection{}
+% \end{macrocode}
+% \end{macro}^^A \tud@ssubsubsection
+% \end{macro}^^A \tud@subsubsection
+% \end{macro}^^A \tud@ssubsection
+% \end{macro}^^A \tud@subsection
+% \end{macro}^^A \tud@ssection
+% \end{macro}^^A \tud@section
+% \end{macro}^^A \tud@saddchap
+% \end{macro}^^A \tud@addchap
+% \end{macro}^^A \tud@schapter
+% \end{macro}^^A \tud@chapter
+% \end{macro}^^A \tud@saddpart
+% \end{macro}^^A \tud@addpart
+% \end{macro}^^A \tud@spart
+% \end{macro}^^A \tud@part
+% \begin{macro}{\tud@npart}
+% \begin{macro}{\tud@opart}
+% \begin{macro}{\tud@naddpart}
+% \begin{macro}{\tud@oaddpart}
+% \begin{macro}{\tud@nchapter}
+% \begin{macro}{\tud@ochapter}
+% \begin{macro}{\tud@naddchap}
+% \begin{macro}{\tud@oaddchap}
+% \begin{macro}{\tud@nsection}
+% \begin{macro}{\tud@osection}
+% \begin{macro}{\tud@nsubsection}
+% \begin{macro}{\tud@osubsection}
+% \begin{macro}{\tud@nsubsubsection}
+% \begin{macro}{\tud@osubsubsection}
+% Wird keine Sternversion verwendet, sind zwei weitere Hilfsmakros nötig, um
+% zwischen den Varianten mit und ohne optionales Argument zu entscheiden.
+% \begin{macrocode}
+\newcommand*\tud@npart{}
+\newcommand*\tud@opart{}
+\newcommand*\tud@naddpart{}
+\newcommand*\tud@oaddpart{}
+%<*book|report>
+\newcommand*\tud@nchapter{}
+\newcommand*\tud@ochapter{}
+\newcommand*\tud@naddchap{}
+\newcommand*\tud@oaddchap{}
+%</book|report>
+\newcommand*\tud@nsection{}
+\newcommand*\tud@osection{}
+\newcommand*\tud@nsubsection{}
+\newcommand*\tud@osubsection{}
+\newcommand*\tud@nsubsubsection{}
+\newcommand*\tud@osubsubsection{}
+% \end{macrocode}
+% \end{macro}^^A \tud@osubsubsection
+% \end{macro}^^A \tud@nsubsubsection
+% \end{macro}^^A \tud@osubsection
+% \end{macro}^^A \tud@nsubsection
+% \end{macro}^^A \tud@osection
+% \end{macro}^^A \tud@nsection
+% \end{macro}^^A \tud@oaddchap
+% \end{macro}^^A \tud@naddchap
+% \end{macro}^^A \tud@ochapter
+% \end{macro}^^A \tud@nchapter
+% \end{macro}^^A \tud@oaddpart
+% \end{macro}^^A \tud@naddpart
+% \end{macro}^^A \tud@opart
+% \end{macro}^^A \tud@npart
+% \begin{macro}{\tud@sectioning@set}
+% \begin{macro}{\tud@sectioning@case}
+% \begin{macro}{\tud@sectioning@reset}
+% \begin{macro}{\tud@font@koma@set}
+% \begin{macro}{\tud@font@koma@reset}
+% Der Befehl\cs{tud@sectioning@set} sichert und überschreibt die gegebenen
+% Gliederungsbefehle und fügt diesen die zusätzlich angegebene Schriftdefinition
+% mit dem Makro \cs{tud@font@koma@set} zu. Das optionale Argument ermöglicht die
+% Anpassung des angegebenen Gliederungsbefehls ohne zusätzliche Definition der
+% Schrift. Dies ist für die von \KOMAScript{} zusätzlich bereitgestellten
+% Gliederungsbefehle (\cs{add\dots}) notwendig.
+% \begin{macrocode}
+\newcommand*\tud@sectioning@set[3][]{%
+ \tud@cmd@store{#2}%
+% \end{macrocode}
+% Für die Überschriften, welche mit \cs{minisec} gesetzt werden, genügt jedoch
+% ein vereinfachtes Vorgehen.
+% \begin{macrocode}
+ \ifstr{#2}{minisec}{%
+ \renewcommand\minisec[1]{%
+ \tud@cmd@use{minisec}{\tud@makeuppercase{##1}}%
+ }%
+% \end{macrocode}
+% Hier erfolgt die Anpassung und Formatierung aller anderen Gliederungsbefehle.
+% \begin{macrocode}
+ }{%
+ \tud@sectioning@case{#2}%
+ \ifstrempty{#1}{}{%
+ \tud@cmd@store{#1}%
+ \tud@sectioning@case{#1}%
+ }%
+ }%
+ \tud@font@koma@set{#2}{#3}%
+}
+% \end{macrocode}
+% Da die Großschreibung der Überschriften nur beim Setzen der Überschrift
+% selbst, nicht aber beispielsweise im Inhaltsverzeichnis oder aber in der
+% Kopfzeile unerwünscht erfolgen soll, werden die Gliederungsbefehle angepasst.
+% Dabei müssen alle Varianten, also auch die mit Stern und optionalen Argument
+% beachtet werden.
+% \begin{macrocode}
+\newcommand*\tud@sectioning@case[1]{%
+% \end{macrocode}
+% Als erstes wird unterschieden, ob die normale oder aber die nicht-nummerierte
+% sprich die Sternversion gefordert ist. Für die Teileebene werden also
+% beispielsweise \cs{tud@part} und \cs{tud@spart} aufgerufen.
+% \begin{macrocode}
+ \@namedef{#1}{\@ifstar{\@nameuse{tud@s#1}}{\@nameuse{tud@#1}}}%
+% \end{macrocode}
+% Für die normale Version wird geprüft, ob ein optionales Argument angegeben
+% wurde. Am Beispiel nachvollzogen bedeutet dies, dass bei einem gegebenen
+% optionalen Argument der Befehl \cs{tud@opart} aufgerufen wird, sonst
+% \cs{tud@npart}.
+% \begin{macrocode}
+ \@namedef{tud@#1}{\@ifnextchar[%]
+ {\@nameuse{tud@o#1}}{\@nameuse{tud@n#1}}%
+ }%
+% \end{macrocode}
+% Für die normale Version wird der in \cs{@@tud@\meta{Gliederungsbefehl}}
+% gesicherte Originalbefehl mit dem gewünschten Eintrag als optionales Argument
+% aufgerufen und nur das obligatorische Argument mit \cs{tud@makeuppercase}
+% behandelt.
+% \begin{macrocode}
+ \@namedef{tud@n#1}##1{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##1}}}%
+% \end{macrocode}
+% Für die Version mit optionalen Argument wird dieses einfach an den originalen
+% Befehl durchgereicht. Das obligatorische Argument wird wie immer mit
+% \cs{tud@makeuppercase} behandelt.
+% \begin{macrocode}
+ \@namedef{tud@o#1}[##1]##2{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##2}}}%
+% \end{macrocode}
+% Für die Version mit Stern gibt es kein optionales Argument. Dementsprechend
+% wird hier lediglich das obligatorische Argument in Großbuchstaben gesetzt.
+% \begin{macrocode}
+ \@namedef{tud@s#1}##1{\@nameuse{@@tud@#1}*{\tud@makeuppercase{##1}}}%
+}
+% \end{macrocode}
+% Mit dem Makro \cs{tud@sectioning@reset} können die manipulierten
+%Gliederungsbefehle
+% wieder auf ihr ursprüngliches Verhalten zurückgesetzt werden.
+% \begin{macrocode}
+\newcommand*\tud@sectioning@reset[2][]{%
+ \tud@cmd@restore{#2}%
+ \ifstrempty{#1}{}{\tud@cmd@restore{#1}}%
+ \tud@font@koma@reset{#2}%
+}
+% \end{macrocode}
+% Es wird die Möglichkeit geschaffen, bestimmten Schriftelementen weitere
+% Eigenschaften mitzugeben. Damit dies optionsabhängig geschehen kann und
+% \cs{addtokomafont} nur einmalig verwendete werden muss, wird im Zweifelsfall
+% einem Schriftelement ein Hilfsmakro zugewiesen, welches per Option angepasst
+% werden kann. Mit \cs{tud@font@koma@set} werden dem angegebenen Element die
+% gewünschten Schriftattribute zugeteilt. Dabei wird der entsprechenden Schrift
+% ein Makro zugewiesen, welches beliebig angepasst werden kann.
+% \begin{macrocode}
+\newcommand*\tud@font@koma@set[2]{%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}%
+ \@namedef{tud@font@koma@#1}{#2}%
+}
+% \end{macrocode}
+% Mit \cs{tud@font@koma@reset} kann das angegebene Element wieder zurückgesetzt
+% werden. Dabei wird das zuvor hinzugefügte Makro auf \cs{relax} gesetzt.
+% \begin{macrocode}
+\newcommand*\tud@font@koma@reset[1]{%
+ \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@font@koma@reset
+% \end{macro}^^A \tud@font@koma@set
+% \end{macro}^^A \tud@sectioning@reset
+% \end{macro}^^A \tud@sectioning@case
+% \end{macro}^^A \tud@sectioning@set
+% Dieser Befehl extrahiert aus einer verwendeten Schrift nur die dazugehörige
+% Schriftgröße.
+% \todo[v3.12]{\cs{usesizeofkomafont} raus}
+% \begin{macrocode}
+\providecommand*\usesizeofkomafont[1]{%
+ \begingroup%
+ \usekomafont{#1}%
+ \edef\reserved@a{\noexpand\endgroup%
+ \noexpand\fontsize{\f@size}{\f@baselineskip}}%
+ \reserved@a\selectfont%
+}
+% \end{macrocode}
+%
+% \iffalse
+%</class&!option>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx
new file mode 100644
index 00000000000..52fee3cd9b2
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx
@@ -0,0 +1,687 @@
+% \CheckSum{498}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-locale.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-locale.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (localization)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-locale.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Lokalisierung}
+%
+% Die TUD-Vorlagen sind für die deutsche und englische Sprache lokalisiert. Das
+% bedeutet, dass abhängig von der gewählten Sprache die entsprechenden
+% Bezeichner gesetzt werden.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \subsection{Definition der sprachabhängigen Bezeichner}
+%
+% \begin{macro}{\tud@locale@define}
+%
+% \iffalse
+%<*class|titlepage>
+% \fi
+%
+% \begin{locale}{\degreetext}
+% \begin{locale}{\supervisorname}
+% \begin{locale}{\supervisorothername}
+% \begin{locale}{\refereename}
+% \begin{locale}{\refereeothername}
+% \begin{locale}{\advisorname}
+% \begin{locale}{\advisorothername}
+% \begin{locale}{\professorname}
+% \begin{locale}{\datetext}
+% \begin{locale}{\dateofbirthtext}
+% \begin{locale}{\placeofbirthtext}
+% \begin{locale}{\defensedatetext}
+% \begin{locale}{\matriculationnumbername}
+% \begin{locale}{\matriculationyearname}
+% \begin{locale}{\coverpagename}
+% \begin{locale}{\titlepagename}
+% \begin{locale}{\abstractname}
+% \begin{locale}{\confirmationname}
+% \begin{locale}{\confirmationtext}
+% \begin{locale}{\restrictionname}
+% \begin{locale}{\restrictiontext}
+% \begin{locale}{\listingname}
+% \begin{locale}{\listlistingname}
+% \begin{locale}{\dissertationname}
+% \begin{locale}{\diplomathesisname}
+% \begin{locale}{\masterthesisname}
+% \begin{locale}{\bachelorthesisname}
+% \begin{locale}{\studentresearchname}
+% \begin{locale}{\projectpapername}
+% \begin{locale}{\seminarpapername}
+% \begin{locale}{\researchname}
+% \begin{locale}{\logname}
+% \begin{locale}{\internshipname}
+% \begin{locale}{\reportname}
+% Die neu definierten Bezeichner werden mit einer Fehlermeldung initialisiert.
+% Wird eine unterstützte Dokumentsprache --~momentan sind dies lediglich
+% Deutsch und Englisch~-- in der Präambel des Dokumentes geladen, so werden die
+% neu definierten Bezeichner sprachspezifisch überschrieben. Andernfalls
+% bekommt der Anwender eine Fehlermeldung mit Hinweisen, wie er selbst die
+% Bezeichner für die gewählte Sprache manuell definieren muss.
+% \begin{macrocode}
+\newcommand*\tud@locale@define[1]{%
+ \providecommand*#1{%
+%<*class>
+ \ClassError{\tudcls@name}{%
+ \string#1 not defined for language \languagename%
+ }{%
+ Currently the class \tudcls@name\space only supports the\MessageBreak%
+%</class>
+%<*titlepage>
+ \PackageError{titlepage}{%
+ \string#1 not defined for language \languagename%
+ }{%
+ Currently this titlepage style only supports the\MessageBreak%
+%</titlepage>
+ languages german and english. You must define single\MessageBreak%
+ patterns by yourself, e.g.:\MessageBreak%
+ \string\providecaptionname\languagename{\string#1}{<text>}\MessageBreak%
+ To implement new languages, it would be nice if you could\MessageBreak%
+ contact the author of this class and send your definitions\MessageBreak%
+ to \filemail%
+ }%
+ }%
+}
+\tud@locale@define{\degreetext}
+\tud@locale@define{\supervisorname}
+\tud@locale@define{\supervisorothername}
+\tud@locale@define{\refereename}
+\tud@locale@define{\refereeothername}
+\tud@locale@define{\advisorname}
+\tud@locale@define{\advisorothername}
+\tud@locale@define{\professorname}
+\tud@locale@define{\datetext}
+\tud@locale@define{\dateofbirthtext}
+\tud@locale@define{\placeofbirthtext}
+\tud@locale@define{\defensedatetext}
+\tud@locale@define{\matriculationyearname}
+%<*class>
+\tud@locale@define{\matriculationnumbername}
+\tud@locale@define{\coverpagename}
+\tud@locale@define{\titlepagename}
+%<*book>
+\tud@locale@define{\abstractname}
+%</book>
+\tud@locale@define{\confirmationname}
+\tud@locale@define{\confirmationtext}
+\tud@locale@define{\restrictionname}
+\tud@locale@define{\restrictiontext}
+\tud@locale@define{\listingname}
+\tud@locale@define{\listlistingname}
+%</class>
+\tud@locale@define{\dissertationname}
+%<*class>
+\tud@locale@define{\diplomathesisname}
+\tud@locale@define{\masterthesisname}
+\tud@locale@define{\bachelorthesisname}
+\tud@locale@define{\studentresearchname}
+\tud@locale@define{\projectpapername}
+\tud@locale@define{\seminarpapername}
+%</class>
+\tud@locale@define{\researchname}
+\tud@locale@define{\logname}
+\tud@locale@define{\internshipname}
+\tud@locale@define{\reportname}
+% \end{macrocode}
+% \end{locale}^^A \reportname
+% \end{locale}^^A \internshipname
+% \end{locale}^^A \logname
+% \end{locale}^^A \researchname
+% \end{locale}^^A \seminarpapername
+% \end{locale}^^A \projectpapername
+% \end{locale}^^A \studentresearchname
+% \end{locale}^^A \bachelorthesisname
+% \end{locale}^^A \masterthesisname
+% \end{locale}^^A \diplomathesisname
+% \end{locale}^^A \dissertationname
+% \end{locale}^^A \restrictiontext
+% \end{locale}^^A \listlistingname
+% \end{locale}^^A \listingname
+% \end{locale}^^A \restrictionname
+% \end{locale}^^A \confirmationtext
+% \end{locale}^^A \confirmationname
+% \end{locale}^^A \abstractname
+% \end{locale}^^A \titlepagename
+% \end{locale}^^A \coverpagename
+% \end{locale}^^A \matriculationyearname
+% \end{locale}^^A \matriculationnumbername
+% \end{locale}^^A \defensedatetext
+% \end{locale}^^A \placeofbirthtext
+% \end{locale}^^A \dateofbirthtext
+% \end{locale}^^A \datetext
+% \end{locale}^^A \professorname
+% \end{locale}^^A \advisorothername
+% \end{locale}^^A \advisorname
+% \end{locale}^^A \refereeothername
+% \end{locale}^^A \refereename
+% \end{locale}^^A \supervisorothername
+% \end{locale}^^A \supervisorname
+% \end{locale}^^A \degreetext
+%
+% \iffalse
+%</class|titlepage>
+%<*supervisor>
+% \fi
+%
+% \begin{locale}{\taskname}
+% \begin{locale}{\tasktext}
+% \begin{locale}{\authorname}
+% \begin{locale}{\titlename}
+% \begin{locale}{\coursename}
+% \begin{locale}{\branchname}
+% \begin{locale}{\issuedatetext}
+% \begin{locale}{\duedatetext}
+% \begin{locale}{\chairmanname}
+% \begin{locale}{\focusname}
+% \begin{locale}{\objectivesname}
+% \begin{locale}{\evaluationname}
+% \begin{locale}{\evaluationtext}
+% \begin{locale}{\contentname}
+% \begin{locale}{\assessmentname}
+% \begin{locale}{\gradetext}
+% \begin{locale}{\noticename}
+% \begin{locale}{\contactname}
+% Die neu definierten Bezeichner werden durch \cs{tud@locale@define} mit einer
+% Fehlermeldung initialisiert.
+% \begin{macrocode}
+\tud@locale@define{\taskname}
+\tud@locale@define{\tasktext}
+\tud@locale@define{\authorname}
+\tud@locale@define{\titlename}
+\tud@locale@define{\coursename}
+\tud@locale@define{\branchname}
+\tud@locale@define{\issuedatetext}
+\tud@locale@define{\duedatetext}
+\tud@locale@define{\chairmanname}
+\tud@locale@define{\focusname}
+\tud@locale@define{\objectivesname}
+\tud@locale@define{\evaluationname}
+\tud@locale@define{\evaluationtext}
+\tud@locale@define{\contentname}
+\tud@locale@define{\assessmentname}
+\tud@locale@define{\gradetext}
+\tud@locale@define{\noticename}
+\tud@locale@define{\contactname}
+% \end{macrocode}
+% \end{locale}^^A \contactname
+% \end{locale}^^A \noticename
+% \end{locale}^^A \gradetext
+% \end{locale}^^A \assessmentname
+% \end{locale}^^A \contentname
+% \end{locale}^^A \evaluationtext
+% \end{locale}^^A \evaluationname
+% \end{locale}^^A \objectivesname
+% \end{locale}^^A \focusname
+% \end{locale}^^A \chairmanname
+% \end{locale}^^A \duedatetext
+% \end{locale}^^A \issuedatetext
+% \end{locale}^^A \branchname
+% \end{locale}^^A \coursename
+% \end{locale}^^A \titlename
+% \end{locale}^^A \authorname
+% \end{locale}^^A \tasktext
+% \end{locale}^^A \taskname
+%
+% \iffalse
+%</supervisor>
+% \fi
+%
+% \end{macro}^^A \tud@locale@define
+%
+% \subsection{Deutschsprachige Bezeichner}
+%
+% \begin{macro}{\tud@locale@german}
+%
+% \iffalse
+%<*class|titlepage>
+% \fi
+%
+% Dieser Befehl dient zur Definition der deutschsprachigen Bezeichner. Dabei
+% muss als Argument die \pkg{babel}-konformen Bezeichnung oder aber ein
+% Alias für die deutsche Sprache angegeben werden.
+% \begin{macrocode}
+\newcommand*\tud@locale@german[1]{%
+ \providecaptionname{#1}{\degreetext}%
+ {zur Erlangung des akademischen Grades}%
+ \providecaptionname{#1}{\supervisorname}%
+ {Betreuer}%
+ \providecaptionname{#1}{\supervisorothername}%
+ {}%
+ \providecaptionname{#1}{\refereename}%
+ {Erstgutachter}%
+ \providecaptionname{#1}{\refereeothername}%
+ {Zweitgutachter}%
+ \providecaptionname{#1}{\advisorname}%
+ {Fachreferent}%
+ \providecaptionname{#1}{\advisorothername}%
+ {}%
+ \providecaptionname{#1}{\professorname}%
+ {Betreuender Hochschullehrer}%
+ \providecaptionname{#1}{\datetext}%
+ {Eingereicht am}%
+ \providecaptionname{#1}{\dateofbirthtext}%
+ {Geboren am}%
+ \providecaptionname{#1}{\placeofbirthtext}%
+ {in}%
+ \providecaptionname{#1}{\defensedatetext}%
+ {Verteidigt am}%
+ \providecaptionname{#1}{\matriculationyearname}%
+ {Immatrikulationsjahr}%
+%<*class>
+ \providecaptionname{#1}{\matriculationnumbername}%
+ {Matrikelnummer}%
+ \providecaptionname{#1}{\coverpagename}%
+ {Umschlagseite}%
+ \providecaptionname{#1}{\titlepagename}%
+ {Titelblatt}%
+%<*book>
+ \providecaptionname{#1}{\abstractname}%
+ {Zusammenfassung}%
+%</book>
+ \providecaptionname{#1}{\confirmationname}%
+ {Selbstst\"andigkeitserkl\"arung}%
+ \providecaptionname{#1}{\confirmationtext}{%
+ Hiermit versichere ich, dass ich die vorliegende
+ \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi
+ \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi
+ selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es
+ wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel
+ und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{}
+ \"ubernommenen Zitate habe ich als solche kenntlich gemacht.
+ \ifx\@supporter\empty%
+ Es waren keine weiteren Personen an der geistigen Herstellung der
+ vorliegenden Arbeit beteiligt.
+ \else%
+ W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden
+ Personen unterst\"utzt:%
+ \begin{quote}\def\and{\newline}\@supporter\end{quote}%
+ \noindent Weitere Personen waren an der geistigen Herstellung der
+ vorliegenden Arbeit nicht beteiligt.
+ \fi%
+ Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum
+ nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.%
+ }%
+ \providecaptionname{#1}{\restrictionname}%
+ {Sperrvermerk}%
+ \providecaptionname{#1}{\restrictiontext}{%
+ Diese \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi
+ \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi
+ enth\"alt vertrauliche Informationen\ifx\@company\empty\else
+ , offengelegt durch \@company{}\fi. Ver\"offentlichungen,
+ Vervielf\"altigungen und Einsichtnahme~-- auch nur auszugsweise~--
+ sind ohne ausdr\"uckliche Genehmigung \ifx\@company\empty\else
+ durch \@company{} \fi nicht gestattet, ebenso wie
+ Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die
+ vorliegende Arbeit ist nur dem Betreuer an der Hochschule,
+ den Gutachtern sowie den Mitgliedern des Pr\"ufungsausschusses
+ zug\"anglich zu machen.%
+ }%
+ \providecaptionname{#1}{\listingname}%
+ {Quelltext}%
+ \providecaptionname{#1}{\listlistingname}%
+ {Quelltextverzeichnis}%
+%</class>
+ \providecaptionname{#1}{\dissertationname}%
+ {Dissertation}%
+%<*class>
+ \providecaptionname{#1}{\diplomathesisname}%
+ {Diplomarbeit}%
+ \providecaptionname{#1}{\masterthesisname}%
+ {Master-Arbeit}%
+ \providecaptionname{#1}{\bachelorthesisname}%
+ {Bachelor-Arbeit}%
+ \providecaptionname{#1}{\studentresearchname}%
+ {Studienarbeit}%
+ \providecaptionname{#1}{\projectpapername}%
+ {Projektarbeit}%
+ \providecaptionname{#1}{\seminarpapername}%
+ {Seminararbeit}%
+%</class>
+ \providecaptionname{#1}{\researchname}%
+ {Forschungsbericht}%
+ \providecaptionname{#1}{\logname}%
+ {Protokoll}%
+ \providecaptionname{#1}{\internshipname}%
+ {Praktikumsbericht}%
+ \providecaptionname{#1}{\reportname}%
+ {Bericht}%
+}
+% \end{macrocode}
+%
+% \iffalse
+%</class|titlepage>
+%<*supervisor>
+% \fi
+%
+% An den Ursprungsbefehl werden weitere Definitionen angehängt.
+% \begin{macrocode}
+\apptocmd{\tud@locale@german}{%
+ \providecaptionname{#1}{\taskname}%
+ {Aufgabenstellung}%
+ \providecaptionname{#1}{\tasktext}%
+ {f\"ur die Anfertigung einer}%
+ \providecaptionname{#1}{\authorname}%
+ {Name}%
+ \providecaptionname{#1}{\titlename}%
+ {Titel}%
+ \providecaptionname{#1}{\coursename}%
+ {Studiengang}%
+ \providecaptionname{#1}{\branchname}%
+ {Studienrichtung}%
+ \providecaptionname{#1}{\issuedatetext}%
+ {Ausgeh\"andigt am}%
+ \providecaptionname{#1}{\duedatetext}%
+ {Einzureichen am}%
+ \providecaptionname{#1}{\chairmanname}%
+ {Pr\"ufungsausschussvorsitzender}%
+ \providecaptionname{#1}{\focusname}%
+ {Schwerpunkte der Arbeit}%
+ \providecaptionname{#1}{\objectivesname}%
+ {Ziele der Arbeit}%
+ \providecaptionname{#1}{\evaluationname}%
+ {Gutachten}%
+ \providecaptionname{#1}{\evaluationtext}%
+ {f\"ur die}%
+ \providecaptionname{#1}{\contentname}%
+ {Inhalt}%
+ \providecaptionname{#1}{\assessmentname}%
+ {Bewertung}%
+ \providecaptionname{#1}{\gradetext}%
+ {Die Arbeit wird mit der Note \textbf{\@grade} bewertet.}%
+ \providecaptionname{#1}{\noticename}%
+ {Aushang}%
+ \providecaptionname{#1}{\contactname}%
+ {Ansprechpartner}%
+}{}{}
+% \end{macrocode}
+%
+% \iffalse
+%</supervisor>
+% \fi
+%
+% \end{macro}^^A \tud@locale@german
+%
+% \subsection{Englischsprachige Bezeichner}
+%
+% \begin{macro}{\tud@locale@english}
+%
+% \iffalse
+%<*class|titlepage>
+% \fi
+%
+% Dieser Befehl dient zur Definition der englischen Bezeichner. Dabei muss als
+% Argument die \pkg{babel}-konformen Bezeichnung oder aber ein
+% Alias für die deutsche Sprache angegeben werden. Verbesserungsvorschläge für
+% die Übersetzung können gerne an \filemail{} geschickt werden.
+% \begin{macrocode}
+\newcommand*\tud@locale@english[1]{%
+ \providecaptionname{#1}{\degreetext}%
+ {to achieve the academic degree}%
+ \providecaptionname{#1}{\supervisorname}%
+ {Supervisor}%
+ \providecaptionname{#1}{\supervisorothername}%
+ {}%
+ \providecaptionname{#1}{\refereename}%
+ {First referee}%
+ \providecaptionname{#1}{\refereeothername}%
+ {Second referee}%
+ \providecaptionname{#1}{\advisorname}%
+ {Advisor}%
+ \providecaptionname{#1}{\advisorothername}%
+ {}%
+ \providecaptionname{#1}{\professorname}%
+ {Supervising professor}%
+ \providecaptionname{#1}{\datetext}%
+ {Submitted on}%
+ \providecaptionname{#1}{\dateofbirthtext}%
+ {Born on}%
+ \providecaptionname{#1}{\placeofbirthtext}%
+ {in}%
+ \providecaptionname{#1}{\defensedatetext}%
+ {Defended on}%
+ \providecaptionname{#1}{\matriculationyearname}%
+ {Matriculation year}%
+%<*class>
+ \providecaptionname{#1}{\matriculationnumbername}%
+ {Matriculation number}%
+ \providecaptionname{#1}{\coverpagename}%
+ {Cover page}%
+ \providecaptionname{#1}{\titlepagename}%
+ {Title page}%
+%<*book>
+ \providecaptionname{#1}{\abstractname}%
+ {Abstract}%
+%</book>
+ \providecaptionname{#1}{\confirmationname}%
+ {Statement of authorship}%
+ \providecaptionname{#1}{\confirmationtext}{%
+ I hereby certify that I have authored this
+ \ifx\@@thesis\empty thesis\else\@@thesis{} \fi
+ \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi
+ independently and without undue assistance from third
+ parties. No other than the resources and references
+ indicated in this thesis have been used. I have marked
+ both literal and accordingly adopted quotations as such.
+ \ifx\@supporter\empty%
+ They were no additional persons involved in the spiritual
+ preparation of the present thesis.
+ \else%
+ During the preparation of this thesis I was only supported
+ by the following persons:%
+ \begin{quote}\def\and{\newline}\@supporter\end{quote}%
+ \noindent Additional persons were not involved in the spiritual
+ preparation of the present thesis.
+ \fi%
+ I am aware that violations of this declaration may lead to
+ subsequent withdrawal of the degree.%
+ }%
+ \providecaptionname{#1}{\restrictionname}%
+ {Restriction note}%
+ \providecaptionname{#1}{\restrictiontext}{%
+ This \ifx\@@thesis\empty thesis \else\@@thesis{} \fi
+ \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi
+ contains confidential data\ifx\@company\empty\else
+ , disclosed by \@company{}\fi. Publications, duplications and
+ inspections---even in part---are prohibited without explicit
+ permission\ifx\@company\empty\else\space by \@company{}\fi,
+ as well as publications about the content of this thesis.
+ This thesis may only be made accessible to the supervisor at
+ the university, the reviewers and also the members of the
+ examination board.%
+ }%
+ \providecaptionname{#1}{\listingname}%
+ {Listing}%
+ \providecaptionname{#1}{\listlistingname}%
+ {List of Listings}%
+%</class>
+ \providecaptionname{#1}{\dissertationname}%
+ {Dissertation}%
+%<*class>
+ \providecaptionname{#1}{\diplomathesisname}%
+ {Diploma Thesis}%
+ \providecaptionname{#1}{\masterthesisname}%
+ {Master Thesis}%
+ \providecaptionname{#1}{\bachelorthesisname}%
+ {Bachelor Thesis}%
+ \providecaptionname{#1}{\studentresearchname}%
+ {Student Research Project}%
+ \providecaptionname{#1}{\projectpapername}%
+ {Project Paper}%
+ \providecaptionname{#1}{\seminarpapername}%
+ {Seminar Paper}%
+%</class>
+ \providecaptionname{#1}{\researchname}%
+ {Research Report}%
+ \providecaptionname{#1}{\logname}%
+ {Log}%
+ \providecaptionname{#1}{\internshipname}%
+ {Internship Report}%
+ \providecaptionname{#1}{\reportname}%
+ {Report}%
+}
+% \end{macrocode}
+%
+% \iffalse
+%</class|titlepage>
+%<*supervisor>
+% \fi
+%
+% An den Ursprungsbefehl werden weitere Definitionen angehängt.
+% \begin{macrocode}
+\apptocmd{\tud@locale@english}{%
+ \providecaptionname{#1}{\taskname}%
+ {Task}%
+ \providecaptionname{#1}{\tasktext}%
+ {for the preparation of a}%
+ \providecaptionname{#1}{\authorname}%
+ {Name}%
+ \providecaptionname{#1}{\titlename}%
+ {Title}%
+ \providecaptionname{#1}{\coursename}%
+ {Course}%
+ \providecaptionname{#1}{\branchname}%
+ {Branch}%
+ \providecaptionname{#1}{\issuedatetext}%
+ {Issued on}%
+ \providecaptionname{#1}{\duedatetext}%
+ {Due date for submission}%
+ \providecaptionname{#1}{\chairmanname}%
+ {Chairman of the Audit Committee}%
+ \providecaptionname{#1}{\focusname}%
+ {Focus of work}%
+ \providecaptionname{#1}{\objectivesname}%
+ {Objectives of work}%
+ \providecaptionname{#1}{\evaluationname}%
+ {Evaluation}%
+ \providecaptionname{#1}{\evaluationtext}%
+ {for the}%
+ \providecaptionname{#1}{\contentname}%
+ {Content}%
+ \providecaptionname{#1}{\assessmentname}%
+ {Assessment}%
+ \providecaptionname{#1}{\gradetext}%
+ {The thesis is evaluated with a grade of \textbf{\@grade}.}%
+ \providecaptionname{#1}{\noticename}%
+ {Notice}%
+ \providecaptionname{#1}{\contactname}%
+ {Contact}%
+}{}{}
+% \end{macrocode}
+%
+% \iffalse
+%</supervisor>
+% \fi
+%
+% \end{macro}^^A \tud@locale@english
+%
+% \iffalse
+%<*class|titlepage>
+% \fi
+%
+% \subsection{Unbekannte Bezeichner}
+%
+% Das eigentliche Festlegen der einzelnen Bezeichner erfolgt erst direkt zum
+% Beginn des Dokumentes. Dies hat den Vorteil, dass spätestens zu diesem
+% Zeitpunkt entweder \pkg{babel} oder aber ein anderes Paket, welches die
+% Nutzung sprachabhängiger Bezeichner erlaubt, geladen sein muss. Sollte
+% überhaupt keine Sprache angegeben worden sein, so wird standardmäßig die
+% englische Sprache genutzt.
+% \todo[v3.12]{\cs{AtBeginDocument} raus, macht \KOMAScript{} selber}
+% \todo[v3.12]{%
+% \cs{providecaptionname} verträgt nun Sprachen in einer Liste,
+% \cs{tud@locale@german} und \cs{tud@locale@end} können raus\\
+% \cs{providecaptionname\{german,ngerman,austrian,naustrian\}\dots}
+% \cs{defcaptionname\{english,american,british,canadian,USenglish,UKenglish\}}
+% }
+% \begin{macrocode}
+\AtBeginDocument{%
+%<*class>
+ \ifdef{\captionsenglish}{}{\let\captionsenglish\@empty}%
+%</class>
+%<*titlepage>
+ \@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}%
+%</titlepage>
+ \tud@locale@german{ngerman}%
+ \tud@locale@german{german}%
+ \tud@locale@english{english}%
+ \tud@locale@english{USenglish}%
+ \tud@locale@english{american}%
+ \tud@locale@english{UKenglish}%
+ \tud@locale@english{british}%
+}
+%<*class>
+\AfterPackage{listings}{%
+ \renewcommand*\lstlistingname{\listingname}%
+ \renewcommand*\lstlistlistingname{\listlistingname}%
+}
+%</class>
+% \end{macrocode}
+%
+% \iffalse
+%</class|titlepage>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx
new file mode 100644
index 00000000000..95eb44e5a27
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx
@@ -0,0 +1,1276 @@
+% \CheckSum{1206}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-manual.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-manual.dtx}%
+ [2014/04/24 v1.00 TUD-KOMA-Script (manual)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-manual.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Klasse für das \TUDScript-Handbuch}
+%
+% Diese Klasse wird für das Benutzerhanduch des \TUDScript-Bundles verwendet.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \subsection{Identifizierung der Klasse \cls{tudscrman}}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{tudscrman}[\TUDVersion\space{}internal manual class]%
+% \end{macrocode}
+%
+% \subsection{Die Klasse \pkg{tudscrman}}
+%
+% Basis für das Handbuch ist die Klasse \cls{tudscrreprt}. An diese werden alle
+% Klassenoptionen weitergereicht.
+%
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{tudscrreprt}}
+\ProcessOptions\relax
+\LoadClass{tudscrreprt}
+% \end{macrocode}
+% \begin{length}{\baselineskipglue}
+% Diese Länge wird in der Dokumentation für alle möglichen stauch- und dehnbaren
+% Einfügen genutzt.
+% \begin{macrocode}
+\newlength\baselineskipglue
+\setlength\baselineskipglue{%
+ .5\baselineskip plus .5\baselineskip minus .25\baselineskip%
+}
+% \end{macrocode}
+% \end{length}^^A \baselineskipglue
+% Des Weiteren werden einige Pakete geladen. Dabei wird \pkg{microtype} für den
+% optischen Randausgleich verwendet, \pkg{textcomp} stellt Pfeile u.\,ä. im
+% Fließtext zur Verfügung, mit \pkg{tabularx} können Tabellen bestimmter Breite
+% und automatisch berechneten Spaltenbreiten gesetzt werden. Mit \pkg{ragged2e}
+% wird~-- falls benötigt~-- im Flattersatz die Silbentrennung aktiviert. Das
+% Paket \pkg{marginnote} wird für die Auszeichnung von Änderungen und
+% ToDo-Notizen am Seitenrand verwendet. Außerdem wird das Paket \pkg{xparse}
+% geladen. Dieses erlaubt eine sehr freie Deklaration von Makros mit (fast)
+% beliebig arangierbaren optionalen Argumenten.
+% \begin{macrocode}
+\RequirePackage{microtype}
+\RequirePackage{textcomp}
+\RequirePackage{tabularx}
+\RequirePackage{ragged2e}
+\RequirePackage{marginnote}
+\RequirePackage{xparse}
+% \end{macrocode}
+% Die Fußnoten werden nicht mit jedem Kapitel zurückgesetzt.
+% \begin{macrocode}
+\RequirePackage{chngcntr}
+\counterwithout{footnote}{chapter}
+% \end{macrocode}
+% Das Paket erlaubt das Beeinflussen der Standardlisten und die Ableitung neuer
+% Listen aus diesen. Hier werden die Zwischenräume innerhalb der Listen entfernt.
+% \begin{macrocode}
+\RequirePackage{enumitem}
+\setlist{noitemsep}
+% \end{macrocode}
+% \begin{environment}{values}
+% \begin{macro}{\before@values}
+% \begin{macro}{\item@values}
+% \begin{macro}{\itemtrue}
+% \begin{macro}{\itemfalse}
+% \begin{macro}{\tud@item@val}
+% \begin{macro}{\tud@item@add}
+% \begin{macro}{\tud@item@format}
+% \begin{macro}{\tud@item}
+% \begin{macro}{\tud@@item}
+% \begin{macro}{\tud@@@item}
+% Die Liste \env{values} dient zum Benennen der möglichen Werte für einen
+% bestimmten Schlüssel. Im Handbuch kommt diese Liste vorallem bei Optionen aber
+% auch bei bestimmten Befehls- und Optionsparametern zum Einsatz.
+% \begin{macrocode}
+\newlist{values}{description}{1}
+\setlist[values]{%
+ topsep=.5\baselineskipglue,labelwidth=\columnwidth,labelsep=0pt,
+ font=\normalfont\ttfamily,before*=\before@values%
+}
+% \end{macrocode}
+% Zu Beginn der Umgebung wird die Definition des \cs{item}-Befehls gesichert und
+% anschließend geändert.
+% \begin{macrocode}
+\newcommand*\before@values{%
+ \let\item@values\item%
+ \let\item\tud@item%
+%% \par\RaggedRight%
+}
+% \end{macrocode}
+% Die folgenden beiden Befehle enthalten die Standardwerte für boolsche Schalter.
+% \begin{macrocode}
+\newcommand*\itemfalse{\def\tud@item@val{false/off/no}\item}
+\newcommand*\itemtrue{\def\tud@item@val{true/on/yes}\item}
+% \end{macrocode}
+% Mit der neuen Definition kann der Säumniswert mit \cs{item*} explizit in der
+% Liste hervorgehoben werden.
+% \begin{macrocode}
+\newcommand*\item@values{}
+\newcommand*\tud@item@val{}
+\newcommand*\tud@item@add{}
+\newcommand*\tud@item@format{}
+\newcommand*\tud@item{%
+ \@ifstar{%
+ \def\tud@item@add{(Säumniswert)}%
+ \let\tud@item@format\emph%
+ \tud@@item%
+ }{%
+ \let\tud@item@add\relax%
+ \let\tud@item@format\relax%
+ \tud@@item%
+ }%
+}
+% \end{macrocode}
+% In der zweiten Instanz wird das optionale Argument von \cs{item} ausgewertet.
+% Dabei wird das Hilfsmakro \cs{tud@item@val} beachtet, welches evtl. mit den
+% Befehlen \cs{itemtrue} oder \cs{itemfalse} gesetzt wurde und vor dem
+% optionalen Argument aufgeführt wird.
+% \begin{macrocode}
+\newcommand*\tud@@item[1][]{%
+ \ifstrempty{#1}%
+ {\edef\@tempa{\tud@item@val}}%
+ {\ifstr{\tud@item@val}{}%
+ {\edef\@tempa{#1}}%
+ {\edef\@tempa{\tud@item@val/#1}}%
+ }%
+ \def\tud@item@val{}%
+% \end{macrocode}
+% Wurde weder \cs{tud@item@val} gesetzt noch ein Wert im optionalen Argument von
+% \cs{item} angegeben, so wird der gesicherte Befehl ausgeführt. Ansonsten folgt
+% die dritte Instanz.
+% \begin{macrocode}
+ \ifstr{\@tempa}{}{\item@values}{\tud@@@item}%
+}
+% \end{macrocode}
+% Der gesicherte Befehl wird mit den aufbereiteten Formatierungen genutzt.
+% \begin{macrocode}
+\newcommand*\tud@@@item[1][]{%
+ \ifstrempty{#1}{}{%
+ \ifx\tud@item@add\relax%
+ \def\tud@item@add{#1}%
+ \else%
+ \apptocmd{\tud@item@add}{~#1}{}{}
+ \fi%
+ }%
+ \item@values[%
+ \tud@item@format{\@tempa:}%
+ \ifx\tud@item@add\relax\else\textuln{\space\footnotesize\tud@item@add}\fi%
+ ]
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@@@item
+% \end{macro}^^A \tud@@item
+% \end{macro}^^A \tud@item
+% \end{macro}^^A \tud@item@format
+% \end{macro}^^A \tud@item@add
+% \end{macro}^^A \tud@item@val
+% \end{macro}^^A \itemfalse
+% \end{macro}^^A \itemtrue
+% \end{macro}^^A \item@values
+% \end{macro}^^A \before@values
+% \end{environment}^^A values
+% \begin{environment}{packages}
+% \begin{macro}{\item@packages}
+% \begin{macro}{\tud@item@pkg}
+% \begin{macro}{\before@packages}
+% Ähnlich wie für die Auflistung von Werten eines Schlüssels wird auch mit der
+% Charakterisierung von Paketen verfahren. Diese werden in der Auflistung
+% speziell gekennzeichnet und mit \cs{DeclarePackage} im Index eingetragen.
+% \begin{macrocode}
+\newlist{packages}{description}{2}
+\setlist[packages]{%
+ topsep=\medskipamount,labelwidth=\linewidth,labelsep=0pt,font=\normalfont,%
+ parsep=\parskip,listparindent=\parindent,before=\before@packages%
+}
+\newcommand*\item@packages{}
+\newcommand*\before@packages{%
+ \ifdefvoid{\item@packages}{%
+ \let\item@packages\item%
+ \let\item\tud@item@pkg%
+ }{}%
+%% \par\RaggedRight%
+}
+\newcommand*\tud@item@pkg[1][]{%
+ \item@packages[{\DeclarePackage{#1}\texturn{#1}}]%
+}
+% \end{macrocode}
+% \end{macro}^^A \before@packages
+% \end{macro}^^A \tud@item@pkg
+% \end{macro}^^A \item@packages
+% \end{environment}^^A packages
+% \begin{macro}{\includeexample}
+% Mit diesem Befehl wird eine \hologo{TeX}-Datei ggf. übersetzt und anschließend
+% als PDF"~Datei wieder eingebunden.
+% \begin{macrocode}
+\RequirePackage{filemod}
+\RequirePackage{pdfpages}
+\newcommand*{\includeexample}[1]{%
+ \lstinputlisting[style=tudscr]{examples/#1.tex}
+ \filemodCmp{./examples/#1.pdf}{./examples/#1.tex}{}{%
+ \immediate\write18{%
+ pdflatex -output-director examples examples/#1.tex
+ pdflatex -output-director examples examples/#1.tex
+ }%
+ }%
+ \IfFileExists{examples/#1.pdf}{\includepdf[pages=-]{examples/#1.pdf}}{}%
+}
+% \end{macrocode}
+% \end{macro}^^A \includeexample
+% \begin{macro}{\Email}
+% \begin{macro}{\printflag}
+% Für die Erstellung des Indexes wird das Paket \pkg{imakeidx} zusammen mit
+% \textbf{xindy} verwendet. Zusätzlich werden \pkg{varioref} und \pkg{hyperref}
+% geladen. Damit wird der Befehl \cs{Email} als Link definiert. Außerdem wird
+% geprüft, ob durch einen externen \hologo{pdfLaTeX}-Aufruf das Flag
+% \cs{printflag} definiert wurde. In diesem Fall werden Optionen für den
+% unbunten Druck aktiviert.
+% \begin{macrocode}
+\AtEndPreamble{%
+ \RequirePackage[xindy,splitindex]{imakeidx}%
+ \indexsetup{%
+ level=\addsec,toclevel=section,noclearpage,%
+ firstpagestyle=myheadings,%headers={\indexname}{\indexname}%
+ }%
+ \newcommand*\xdyopt{-M tudscrman.xdy -L german-din}%
+ \RequirePackage{varioref}%
+ \RequirePackage[hyperindex=false,colorlinks,linkcolor=blue]{hyperref}%
+ \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}
+ \pdfstringdefDisableCommands{%
+ \let\Application\@Application%
+ \let\Class\@Class%
+ \let\Package\@Package%
+ }%
+ \ifdef{\printflag}{\hypersetup{hidelinks}}{\TUDoptions{color}}%
+ \makeindex[title={Allgemeiner Index},options=\xdyopt]%
+ \makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]%
+ \makeindex[title={Umgebungen und Befehle},name=macros,options=\xdyopt]%
+ \makeindex[title={Umgebungs- und Befehlsparameter},name=keys,options=\xdyopt]%
+ \makeindex[title={Sprachabh\"angige Bezeichner},name=terms,options=\xdyopt]%
+%% \makeindex[title={Schriftelemente},name=fonts,options=\xdyopt]%
+ \makeindex[title={Farben},name=colors,options=\xdyopt]%
+ \makeindex[title={Klassen, Pakete und Dateien},name=files,options=\xdyopt]%
+%% \makeindex[title={\"Anderungsliste},name=changelog,options=\xdyopt]%
+}
+% \end{macrocode}
+% \end{macro}^^A \printflag
+% \end{macro}^^A \Email
+% \begin{macro}{\PrintIndex}
+% \begin{macro}{\Index}
+% \begin{macro}{\@printindex}
+% Der Befehl \cs{PrintIndex} ist die Zusammenfassung für die Ausgabe aller
+% Indexe. Mit \cs{Index} werden im Allgemeinen Index Querverweise auf die
+% Spezialindexe gesetzt. Der Befehl \cs{@printindex} setzt vor jedem Unterindex
+% ein referenzierbares Label und gibt diesen danach aus.
+% \begin{macrocode}
+\newcommand*\PrintIndex{%
+ \@printindex%
+ \@printindex[options]%
+ \@printindex[macros]%
+ \@printindex[keys]%
+ \@printindex[terms]%
+%% \@printindex[fonts]%
+ \begingroup%
+ \let\lettergroup\@gobble%
+ \@printindex[colors]%
+ \endgroup%
+ \@printindex[files]%
+}
+\newcommand*\Index[3][]{%
+ \ifcsdef{r@idx:#3}{%
+ \index{\ifblank{#1}{#2}{#1}|see{\hyperref[idx:#3]{Index der #2}}}%
+ }{%
+ \index{\ifblank{#1}{#2}{#1}|see{Index der #2}}%
+ }%
+}
+\newcommand*\@printindex[1][]{%
+ \pagebreak[3]%
+ \ifblank{#1}{%
+ \indexprologue[\vspace*{0pt}]{\label{idx:main}}%
+ \printindex%
+ }{%
+ \indexprologue[\vspace*{0pt}]{\label{idx:#1}}
+ \printindex[#1]
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \@printindex
+% \end{macro}^^A \Index
+% \end{macro}^^A \PrintIndex
+% \begin{macro}{\PrintChangelog}
+% \begin{macro}{\ChangedAt}
+% \begin{macro}{\if@changelog}
+% Ähnlich wie für den index wird auch für die Änderungsliste verfahren.
+% \begin{macrocode}
+\newif\if@changelog
+\newcommand*\PrintChangelog{%
+ \begingroup%
+ \let\lettergroup\@gobble%
+ \@changelogtrue%
+ \@printindex[changelog]%
+ \endgroup%
+}
+% \end{macrocode}
+% Hier wird zum ersten Mal von den Möglichkeiten des Paketes \pkg{xparse}
+% Gebrauch gemacht.
+% \begin{macrocode}
+\NewDocumentCommand\ChangedAt{mo}{%
+ \begingroup%
+ \setlength{\fboxsep}{0pt}%
+ \marginnote{\footnotesize\fbox{\texturn{\ \strut#1\ }}}%
+ \IfValueTF{#2}{%
+ \let\PName\@gobble%
+ \let\PBoolean\relax%
+ \let\PSet\relax%
+ \let\PValue\@gobble%
+ \let\Parameter\@gobble%
+ \let\OParameter\@gobble%
+ \let\LParameter\relax%
+ \let\OLParameter\@gobble%
+ \let\PParameter\@gobble%
+ \let\POParameter\@gobble%
+ \index[changelog]{#1!#2}%
+ }{}%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@changelog
+% \end{macro}^^A \ChangedAt
+% \end{macro}^^A \PrintChangelog
+% \begin{macro}{\if@declare}
+% \begin{macro}{\if@openindex}
+% \begin{macro}{\bsc}
+% \begin{macro}{\idxfont}
+% \begin{macro}{\if@noindex}
+% Alle möglichen Befehle und Helferlein zum Steuern der Ausgabe.
+% \begin{macrocode}
+\newif\if@declare
+\newif\if@openindex
+\newcommand*\bsc{}
+\DeclareRobustCommand*\bsc{\@backslashchar}
+\newcommand*\idxfont{}
+\let\idxfont\footnotesize
+\newif\if@noindex
+% \end{macrocode}
+% \end{macro}^^A \if@noindex
+% \end{macro}^^A \idxfont
+% \end{macro}^^A \bsc
+% \end{macro}^^A \if@openindex
+% \end{macro}^^A \if@declare
+% Im Folgenden werden allerhand Befehle mit Hilfe des Paketes \pkg{xparse}
+% definiert, um bestimmte Begriffe, Klassen, Pakete, Optionen, Umgebungen,
+% Befehle, Parameter, Bezeichner, Längen, Schriftelemente und Farben speziell
+% auszuzeichnen und im Index einzutragen. Allen diesen Befehlen ist gemein, dass
+% diese in der Sternversion nicht in den Index eingetragen werden.
+%
+% Für (fast) alle der folgenden Befehle gilt, dass die Verwendung in der Form
+% \cs{\meta{Befehl}'} fügt eine zusätzliche Referenz auf den Abschnitt ihrer
+% Deklaration ein. Das erste optionale Argument dient für eine spezielle
+% Auszeichnung im Index. Die eigentliche Behandlung der Eingabe und die
+% Eintragungen in den Index erfolgen dabei mit dem Befehl \cs{@ProcessOutput}.
+% \begin{macro}{\Application}
+% \begin{macro}{\@Application}
+% Die Auszeichnung und der Indexeintrag einer Anwendungssoftware.
+% \begin{macrocode}
+\NewDocumentCommand\Application{som}{%
+ \ifdin{#3}{%
+ \mbox{\textubn{#3}}
+ \IfBooleanTF{#1}{}{%
+ \index{#3~{\protect\idxfont(Anwendungssoftware)}\IfValueTF{#2}{|#2}{}}%
+ }%
+ }%
+}
+\DeclareExpandableDocumentCommand\@Application{som}{#3}
+% \end{macrocode}
+% \end{macro}^^A \@Application
+% \end{macro}^^A \Application
+% \begin{macro}{\Distribution}
+% Die Auszeichnung und der Indexeintrag einer \hologo{LaTeX}-Distribution.
+% \begin{macrocode}
+\NewDocumentCommand\Distribution{som}{%
+ \mbox{\texturn{#3}}
+ \IfBooleanTF{#1}{}{%
+ \index{#3~{\protect\idxfont(Distribution)}\IfValueTF{#2}{|#2}{}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \Distribution
+% \begin{macro}{\Path}
+% Die Auszeichnung eines Dateipfades.
+% \begin{macrocode}
+\newcommand*\Path{}
+\DeclareRobustCommand*\Path[1]{\mbox{\texttt{#1}}}
+% \end{macrocode}
+% \end{macro}^^A \Path
+% \begin{macro}{\File}
+% Die Auszeichnung und der Indexeintrag einer Datei.
+% \begin{macrocode}
+\NewDocumentCommand\File{som}{%
+ \mbox{\texturn{#3}}%
+ \IfBooleanTF{#1}{}{%
+ \index[files]{#3~{\protect\idxfont(Datei)}\IfValueTF{#2}{|#2}{}}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \File
+% \begin{macro}{\Class}
+% \begin{macro}{\@Class}
+% \begin{macro}{\DeclareClass}
+% \begin{macro}{\@TempClass}
+% Die Auszeichnung und der Indexeintrag einer Klasse. Sollte gerade DIN~Bold
+% verwendet werden~-- der Befehl wird innerhalb einer Überschrift verwendet~--
+% wird lediglich das Hauptargument ausgegeben. Außerdem wird für Einträge mit
+% dem \pkg{hyperref}-Paket mit \cs{@Class} eine expandierbare Version des
+% Befehls definiert. Mit \cs{DeclareClass} wird eine Klasse deklariert.
+% \begin{macrocode}
+\newcommand*\@TempClass{}
+\NewDocumentCommand\Class{st'om}{%
+ \ifdin{#4}{%
+ \gdef\@TempClass{~{\protect\idxfont(Klasse)}}%
+ \IfBooleanTF{#2}{%
+ \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempClass]{autoref}%
+ }{%
+ \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempClass]{#3}%
+ }%
+ }%
+}
+\DeclareExpandableDocumentCommand\@Class{st'om}{#4}
+\newcommand*\DeclareClass[1]{%
+ \phantomsection\label{files:#1}%
+ \index[files]{\hyperref[files:#1]{#1~{\protect\idxfont(Klasse)}}|declare}%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempClass
+% \end{macro}^^A \DeclareClass
+% \end{macro}^^A \@Class
+% \end{macro}^^A \Class
+% \begin{macro}{\Package}
+% \begin{macro}{\@Package}
+% \begin{macro}{\DeclarePackage}
+% \begin{macro}{\@TempPackage}
+% Für die Auszeichnungen von Paketen gelten vorhergehende Aussagen äquivalent.
+% \begin{macrocode}
+\newcommand*\@TempPackage{}
+\NewDocumentCommand\Package{st'om}{%
+ \ifdin{#4}{%
+ \gdef\@TempPackage{~{\protect\idxfont(Paket)}}%
+ \IfBooleanTF{#2}{%
+ \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempPackage]{autoref}%
+ }{%
+ \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempPackage]{#3}%
+ }%
+ }%
+}
+\DeclareExpandableDocumentCommand\@Package{st'om}{#4}
+\newcommand*\DeclarePackage[1]{%
+ \phantomsection\label{files:#1}%
+ \index[files]{\hyperref[files:#1]{#1~{\protect\idxfont(Paket)}}|declare}%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempPackage
+% \end{macro}^^A \DeclarePackage
+% \end{macro}^^A \@Package
+% \end{macro}^^A \Package
+% \begin{macro}{\Option}
+% \begin{macro}{\@TempOption}
+% Für die Auszeichnung von Optionen wird zusätzlich unterschieden, ob der Befehl
+% gerade innerhalb der Änderungsliste verwendet wird. Ist dies der Fall, wird
+% der verarbeitende Befehl \cs{@ProcessChangedAt} aufgerufen. Mit dem optionalen
+% Argument \emph{nach} dem Hauptargument kann der Option im Handbuch ein Wert
+% zugewiesen werden.
+% \begin{macrocode}
+\newcommand*\@TempOption{}
+\NewDocumentCommand\Option{st'omo}{%
+ \if@changelog%
+ \@ProcessChangedAt{options}{#4}%
+ \else%
+ \IfValueTF{#5}{\gdef\@TempOption{\texttt{=#5}}}{\gdef\@TempOption{}}%
+ \IfBooleanTF{#2}{%
+ \@ProcessOutput[#1]{\texttt{#4}}[\@TempOption]{options}{#4}{pageref}%
+ }{%
+ \@ProcessOutput[#1]{\texttt{#4}}[\@TempOption]{options}{#4}{#3}%
+ }%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempOption
+% \end{macro}^^A \Option
+% \begin{macro}{\Environment}
+% \begin{macro}{\@TempEnvironment}
+% Auch hier wird für die Änderungsliste unterschieden.
+% \begin{macrocode}
+\newcommand*\@TempEnvironment{}
+\NewDocumentCommand\Environment{st'omo}{%
+ \if@changelog%
+ \@ProcessChangedAt{macros}{#4}%
+ \else%
+% \end{macrocode}
+% Außerdem wird für den Fall, dass der \cs{Environment}-Befehl innerhalb der
+% \env{Declaration}-Umgebung verwendet wird, eine spezielle Ausgabe erzeugt. Nur
+% hier kommt das optionale Argument nach dem Hauptargument zum Tragen. Damit
+% können etwaige obligatorische und optionale Argumente angegeben werden.
+% \begin{macrocode}
+ \if@declare%
+ \gdef\@TempEnvironment{%
+ \texttt{\bsc{}begin\{#4\}\IfValueTF{#5}{#5}{}}\tabularnewline%
+ \texttt{\dots}\tabularnewline%
+ \texttt{\bsc{}end\{#4\}}%
+ }%
+ \else%
+ \gdef\@TempEnvironment{\texttt{#4}}%
+ \fi%
+ \IfBooleanTF{#2}{%
+ \@ProcessOutput[#1]{\@TempEnvironment}{macros}{#4}{pageref}%
+ }{%
+ \@ProcessOutput[#1]{\@TempEnvironment}{macros}{#4}{#3}%
+ }%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempEnvironment
+% \end{macro}^^A \Environment
+% \begin{macro}{\Macro}
+% Die Auszeichnung und der Indexeintrag eines Befehls.
+% \begin{macrocode}
+\NewDocumentCommand\Macro{st'om}{%
+ \if@changelog%
+ \@ProcessChangedAt[\bsc]{macros}{#4}%
+ \else%
+ \IfBooleanTF{#2}{%
+ \@ProcessOutput[#1]{\texttt{\bsc#4}}{macros}[\bsc]{#4}{pageref}%
+ }{%
+ \@ProcessOutput[#1]{\texttt{\bsc#4}}{macros}[\bsc]{#4}{#3}%
+ }%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \Macro
+% \begin{macro}{\Key}
+% \begin{macro}{\@TempKey}
+% Die Auszeichnung und der Indexeintrag eines Parameters für Umgebungen und
+% Befehle. Das erste Argument ist die Umgebung oder der Befehl, wofür der
+% Parameter gültig ist. Das zweite Argument ist der Parameter selbst. Dafür
+% werden die Befehle \cs{Environment} und \cs{Macro} lokale umdefiniert.
+% \begin{macrocode}
+\newcommand*\@TempKey{}
+\NewDocumentCommand\Key{sommo}{%
+ \begingroup%
+ \let\Environment\@firstofone%
+ \let\Macro\@firstofone%
+ \if@changelog%
+ \@ProcessChangedAt{keys}{#4}%
+ \else%
+ \gdef\@TempKey{\if@declare~{\protect\idxfont(Parameter)}\fi}%
+ \IfValueTF{#5}{%
+ \@ProcessOutput[#1]{\texttt{#4}}[\texttt{=#5}\@TempKey]%
+ {macros}(#3){#4}{#2}%
+ }{%
+ \@ProcessOutput[#1]{\texttt{#4}}[\@TempKey]{macros}(#3){#4}{#2}%
+ }%
+ \fi%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempKey
+% \end{macro}^^A \Key
+% \begin{macro}{\Length}
+% \begin{macro}{\@TempLength}
+% Die Auszeichnung und der Indexeintrag einer \hologo{LaTeX}-Länge.
+% \begin{macrocode}
+\newcommand*\@TempLength{}
+\NewDocumentCommand\Length{som}{%
+ \if@changelog%
+ \@ProcessChangedAt[\bsc]{macros}{#3}%
+ \else%
+ \gdef\@TempLength{\if@declare~{\protect\idxfont(L\"ange)}\fi}%
+ \@ProcessOutput[#1]{\texttt{\bsc#3}}[\@TempLength]%
+ {macros}[\bsc]{#3}[~{\protect\idxfont(L\"ange)}]{#2}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempLength
+% \end{macro}^^A \Length
+% \begin{macro}{\Counter}
+% \begin{macro}{\@TempCounter}
+% Die Auszeichnung und der Indexeintrag einer \hologo{LaTeX}-Zählers.
+% \begin{macrocode}
+\newcommand*\@TempCounter{}
+\NewDocumentCommand\Counter{som}{%
+ \if@changelog%
+ \@ProcessChangedAt{macros}{#3}%
+ \else%
+ \gdef\@TempCounter{\if@declare~{\protect\idxfont(Z\"ahler)}\fi}%
+ \@ProcessOutput[#1]{\texttt{#3}}[\@TempCounter]%
+ {macros}{#3}[~{\protect\idxfont(Z\"ahler)}]{#2}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempCounter
+% \end{macro}^^A \Counter
+% \begin{macro}{\Term}
+% \begin{macro}{\@TempTerm}
+% Die Auszeichnung und der Indexeintrag eines sprachabhängigen Bezeichners.
+% \begin{macrocode}
+\newcommand*\@TempTerm{}
+\NewDocumentCommand\Term{som}{%
+ \if@changelog%
+ \@ProcessChangedAt[\bsc]{terms}{#3}%
+ \else%
+ \gdef\@TempTerm{\if@declare~{\protect\idxfont(Bezeichner)}\fi}%
+ \@ProcessOutput[#1]{\texttt{\bsc#3}}[\@TempTerm]{terms}[\bsc]{#3}{#2}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempTerm
+% \end{macro}^^A \Term
+% \begin{macro}{\TermTable}
+% \begin{macro}{\@TermTable}
+% \begin{macro}{\@@TermTable}
+% \begin{macro}{\@termlist}
+% Für sprachabhängige Bezeichner wird zusätzlich der Befehl \cs{TermTable}
+% definiert, dem eine kommaseparierte Liste übergeben werden kann. Anhand dieser
+% Liste werden die enthalten Begriffe für die Sprachen Deutsch und English in
+% einer Tabelle ausgegeben. Die Sternversion dieses Befehls nutzt dafür die
+%\env{tabularx}-Umgebung. Für diese kann ein zweites Argument angegeben werden,
+% welches die gewünschte Breite der Tabelle angibt.
+% \begin{macrocode}
+\newcommand\@termlist{}
+\let\@termlist\relax
+\NewDocumentCommand\TermTable{smg}{%
+ \forcsvlist{\listadd\@termlist}{#2}%
+ \vskip\baselineskipglue\noindent%
+ \IfBooleanTF{#1}{%
+ \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}%
+ \setlength{\@tempdimb}{-.7\baselineskip}%
+ \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx}
+ }{%
+ \setlength{\@tempdimb}{\z@}%
+ \begin{tabular}{lll}\@TermTable\end{tabular}
+ }%
+ \let\@termlist\relax%
+ \par\noindent%
+}
+\newcommand*\@TermTable{%
+ \toprule
+ \textbf{Bezeichner} & \textbf{Deutsch} & \textbf{Englisch} \tabularnewline
+ \midrule
+ \forlistloop\@@TermTable{\@termlist}
+ \bottomrule
+}
+\newcommand*\@@TermTable[1]{%
+ \Term{#1} &
+ \ifstr{\@nameuse{#1}}{}{\PName{leer}}{\@nameuse{#1}} &
+ \selectlanguage{english}\vspace*{\@tempdimb}%
+ \ifstr{\@nameuse{#1}}{}{\PName{empty}}{\@nameuse{#1}}\tabularnewline
+}
+% \end{macrocode}
+% \end{macro}^^A \@termlist
+% \end{macro}^^A \@@TermTable
+% \end{macro}^^A \@TermTable
+% \end{macro}^^A \TermTable
+% \begin{macro}{\Font}
+% \begin{macro}{\@TempFont}
+% Die Auszeichnung und der Indexeintrag eines Schriftelementes.
+% \begin{macrocode}
+\newcommand*\@TempFont{}
+\NewDocumentCommand\Font{som}{%
+ \if@changelog%
+ \@ProcessChangedAt{fonts}{#3}%
+ \else%
+ \gdef\@TempFont{%
+ \texttt{#3}\if@declare~{\protect\idxfont(Schriftelement)}\fi%
+ }%
+ \@ProcessOutput[#1]{\@TempFont}{fonts}{#3}{#2}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempFont
+% \end{macro}^^A \Font
+% \begin{macro}{\Color}
+% \begin{macro}{\@TempColor}
+% Die Auszeichnung und der Indexeintrag einer Farbe des \CDs.
+% \begin{macrocode}
+\newcommand*\@TempColor{}
+\NewDocumentCommand\Color{somo}{%
+ \if@changelog%
+ \@ProcessChangedAt{colors}{#3}%
+ \else%
+ \gdef\@TempColor{%
+ \IfValueTF{#4}{~\texttt{(#4)}}{}%
+ \if@declare~{\protect\idxfont(Farbe)}\fi%
+ }%
+ \@ProcessOutput[#1]{\texttt{#3}}[\@TempColor]{colors}{#3}{#2}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@TempColor
+% \end{macro}^^A \Color
+% \begin{macro}{\@ProcessOutput}
+% Der Befehl \cs{@ProcessOutput} ist das Herzstück der Auszeichnungen aller
+% Elemente. Das erste optionale Argument ist der eventuell übergebene Stern für
+% die eines beliebigen Auszeichnungsbefehl. Darauf folgen die gewünschte
+% \marg{Ausgabe} und ein möglicher \oarg{Anhang}. Danach wird der Zielindex
+% \marg{Index} und~-- für Parameter~-- der \parg{Haupteintrag} übergeben. Es
+% folgt der zu machende Indexeintrag selbst mit \oarg{Vorsatz}, \marg{Eintrag},
+% \oarg{Anhang} und zum Abschluss \marg{Formatierung}. Der vollständige
+% Funktionsaufruf lautet:
+% \newline\begingroup\tiny
+% \cs{@ProcessOutput}*
+% \marg{Ausgabe}\oarg{Anhang}\marg{Index}\parg{Haupteintrag}\ignorespaces%
+% \oarg{Vorsatz}\marg{Eintrag}\oarg{Anhang}\marg{Formatierung}
+% \endgroup
+% \begin{macrocode}
+\NewDocumentCommand\@ProcessOutput{omomd()omom}{%
+% \end{macrocode}
+% Dabei wird unterschieden, ob ein beliebiger Auszeichnungsbefehl innerhalb der
+% \env{Declaration}-Umgebung verwendet wird (\cs{if@declare}). Ist dies der Fall
+% wird ein Label und mit \cs{@HyperIndex} ein spezieller Indexeintrag für die
+% Deklaration erstellt. Eine Ausgabe der Auszeichnung erfolgt in diesem Fall
+% nicht, dafür zeichnet der Befehl \cs{printdeclarationlist} verantwortlich.
+% Außerdem wird mit Hilfe der \env{Declaration}-Umgebung der Anfang und
+% das Ende der Deklaration für den Indexeintrag mit \cs{@HyperIndex} exakt
+% festgelegt. Der Schalter \cs{if@openindex} wird zu Beginn der Umgebung auf
+% \cs{@openindextrue} gesetzt, am Ende der Umgebung auf \cs{@openindexfalse}.
+% \begin{macrocode}
+ \if@declare%
+ \if@openindex%
+ \if@noindex\else%
+ \IfValueTF{#5}%
+ {\edef\@tempa{#4:#5:#7}}%
+ {\edef\@tempa{#4:#7}}%
+ \label{\@tempa}%
+ \@HyperIndex{#4}{#5}{#6}{#7}{#8}[(declare]%
+ \fi%
+ #2\IfValueTF{#3}{#3}{}%
+ \else%
+ \if@noindex\else%
+ \@HyperIndex{#4}{#5}{#6}{#7}{#8}[declare)]%
+ \fi%
+ \fi%
+ \else%
+% \end{macrocode}
+% Findet der Auszeichnungsbefehl außerhalb der \env{Declaration}-Umgebung
+% Verwendung, wird für den Fall, dass keine Sternversion genutzt wurde, mit
+% \cs{@HyperIndex} ein Eintrag im dazugehörigen Index erzeugt.
+% \begin{macrocode}
+ \IfBooleanTF{#1}{}{%
+ \@tempswafalse%
+ \ifstr{#9}{autoref}{\@tempswatrue}{}%
+ \ifstr{#9}{pageref}{\@tempswatrue}{}%
+ \if@tempswa%
+ \@HyperIndex{#4}{#5}{#6}{#7}{#8}%
+ \else%
+ \@HyperIndex{#4}{#5}{#6}{#7}{#8}[#9]%
+ \fi%
+ }%
+% \end{macrocode}
+% Danach erfolgt die Ausgabe der Auszeichnung. Sollte für diesen ein Label
+% durch eine Deklaration innerhalb der \env{Declaration}-Umgebung definiert
+% worden sein, so wird auf dieses ein Hyperlink gesetzt. Ansonsten erfolgt die
+% normale textuelle Ausgabe. Für Parameter muss der Hyperlink dabei aufgrund des
+% definierten Haupteintrag etwas anders ausgeführt werden.
+% \begin{macrocode}
+ \IfValueTF{#5}{\edef\@tempa{#4:#5:#7}}{\edef\@tempa{#4:#7}}%
+ \ifcsdef{r@\@tempa}{%
+ \let\@tempb\relax%
+ \ifstr{#9}{autoref}{\def\@tempb{~unter \autoref{\@tempa}}}{}%
+ \ifstr{#9}{pageref}{\def\@tempb{~\vpageref{\@tempa}}}{}%
+ \mbox{\hyperref[\@tempa]{#2}\IfValueTF{#3}{#3}{}}\@tempb%
+ }{\mbox{#2\IfValueTF{#3}{#3}{}}}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \@ProcessOutput
+% \begin{macro}{\@HyperIndex}
+% Dieser Befehl sorgt für die eigentlichen Indexeinträge. Dabei werden für
+% Einträge, welche innerhalb der \env{Declaration}-Umgebung deklariert wurden,
+% ein Hyperlink im Index erstellt. Das erste Argument \marg{Index} enthält den
+% gewünschten Zielindex. Danach folgt~-- für Parameter~-- der Haupteintrag. Es
+% folgt der zu machende Indexeintrag selbst mit \marg{Vorsatz}, \marg{Eintrag},
+% \marg{Anhang} und zum Abschluss \oarg{Formatierung}. Der vollständige
+% Funktionsaufruf lautet:
+% \newline\begingroup\tiny
+% \cs{@HyperIndex}\marg{Index}\marg{Haupteintrag}\ignorespaces%
+% \marg{Vorsatz}\marg{Eintrag}\marg{Anhang}\oarg{Formatierung}
+% \endgroup
+% \begin{macrocode}
+\NewDocumentCommand\@HyperIndex{mmmmmo}{%
+ \IfValueTF{#3}{\def\@tempa{#3}}{\def\@tempa{}}%
+ \IfValueTF{#5}{\def\@tempb{#5}}{\def\@tempb{}}%
+ \IfValueTF{#6}{\def\@tempc{|#6}}{\def\@tempc{}}%
+% \end{macrocode}
+% Auch hier wird unterschieden, ob es sich um einen Parameter (keys) handelt.
+% Wurde für einen Parameter eine Umgebung oder ein Befehl bereits definiert,
+% werden zwei Indexeinträge generiert. Einer beim Befehl selber als Untereintrag
+% für den jeweiligen Parameter und einer im Index für Parameter selbst mit der
+% dazugehörigen Umgebung bzw. dem dazugehörigen Befehl. Beide erhalten einen
+% entsprechenden Hyperlink zur Deklaration.
+% \begin{macrocode}
+ \IfValueTF{#2}{%
+ \ifcsdef{r@#1:#2:#4}{%
+ \edef\@tempb{#1:#2:#4}%
+ \index[#1]{%
+ #2!\hyperref[\@tempb]{\expandonce\@tempa#4}%
+ ~{\protect\idxfont(Parameter)}%
+ \expandonce\@tempc%
+ }%
+ \begingroup%
+ \let\Environment\@firstofone%
+ \def\Macro##1{\bsc##1}%
+ \index[keys]{%
+ \hyperref[\@tempb]{\expandonce\@tempa#4~{\protect\idxfont(#2)}}%
+ \expandonce\@tempc%
+ }%
+ \endgroup%
+ }{%
+ \index[#1]{#2!\expandonce\@tempa#4\expandonce\@tempb}%
+ }%
+% \end{macrocode}
+% Falls es sich nicht um einen Parameter handelt, wird lediglich der Eintrag im
+% speziellen Index vorgenommen und ggf. ein Hyperlink erzeugt.
+% \begin{macrocode}
+ }{%
+ \ifcsdef{r@#1:#4}{%
+ \index[#1]{%
+ \hyperref[#1:#4]{\expandonce\@tempa#4\expandonce\@tempb}%
+ \expandonce\@tempc%
+ }%
+ }{%
+ \index[#1]{\expandonce\@tempa#4\expandonce\@tempb\expandonce\@tempc}%
+ }%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \@HyperIndex
+% \begin{macro}{\@ProcessChangedAt}
+% Auch die Änderungsliste erhält einen Hyperlink zur Deklaration, falls eine
+% existiert.
+% \begin{macrocode}
+\newcommand*\@ProcessChangedAt[3][]{%
+ \ifcsdef{r@#2:#3}{\hyperref[#2:#3]{\mbox{#1#3}}}{\mbox{#1#3}}%
+}
+% \end{macrocode}
+% \end{macro}^^A \@ProcessChangedAt
+% \begin{environment}{Declaration}
+% \begin{macro}{\printdeclarationlist}
+% \changes{v1.01}{2014/04/24}{%
+% bessere Positionierung von \cs{phantomsection}%
+% }
+% \begin{macro}{\@declarationlist}
+% \begin{macro}{\@presetlist}
+% \begin{macro}{\if@presetlist}
+% \begin{macro}{\@additionallist}
+% \begin{macro}{\if@additionallist}
+% Es werden die Hilfsmakros für die Ausgabe einer Deklaration initialisiert.
+% \begin{macrocode}
+\newcommand\@declarationlist{}
+\newcommand\@presetlist{}
+\newif\if@presetlist
+\newcommand\@additionallist{}
+\newif\if@additionallist
+\let\@declarationlist\relax
+\let\@presetlist\relax
+\let\@additionallist\relax
+% \end{macrocode}
+% Die \env{Declaration}-Umgebung dient zur Deklaration von Optionen, Umgebungen,
+% Befehlen, Parametern, Bezeichnern, Längen, Schriftelementen und Farben. Diese
+% werden mit den entsprechenden Auszeichnungsbefehlen übergeben. Im zweiten
+% Argument~-- das erste optionale~-- kann die Voreinstellung für eine Option
+% oder dergleichen angegeben werden. Das nächste Argument erlaubt die Angabe
+% einer bedingten Voreinstellung, also einer anderen Voreinstellung als der
+% zuerst angegeben unter bestimmten Voraussetzungen. Diese muss in der Form
+% \oarg{Bedingung:Voreinstellung} angegeben werden. Das letzte Argument ist
+% ebenfalls optional, wird aber in der Form \marg{Zusatz} angegeben und enthält
+% ggf. zusätzliche Informationen.
+%
+% Die Umgebung selbst gibt zu Beginn nichts weiter aus sondern sammelt lediglich
+% alle übergebenen Argumente in jeweiligen Listen. Die eigentliche Ausgabe
+% erfolgt mit dem Befehl \cs{printdeclarationlist}.
+% \begin{macrocode}
+\NewDocumentEnvironment{Declaration}{moog}{%
+ \listadd\@declarationlist{#1}%
+ \IfNoValueTF{#2}{%
+ \listadd\@presetlist{\relax}%
+ }{%
+ \@presetlisttrue%
+ \IfNoValueTF{#3}{%
+ \listadd\@presetlist{preset:\,#2}%
+ }{%
+ \def\@tempa[##1:##2]{##1:\,##2}%
+ \listeadd\@presetlist{preset:\,#2\,|\,\expandonce{\@tempa[#3]}}%
+ }%
+ }%
+ \IfNoValueTF{#4}{%
+ \listadd\@additionallist{\relax}%
+ }{%
+ \@additionallisttrue%
+ \listadd\@additionallist{\hspace*{\tabcolsep}\small(#4)}%
+ \in@{\Environment}{#1}%
+ \ifin@ \listadd\@additionallist{\tabularnewline}\fi%
+ }%
+}{%
+% \end{macrocode}
+% Am Ende der Umgebung wird das übergebenen Hauptargument abermals ausgeführt,
+% was zum Setzen des Indexeintragsendes für die jeweilige Deklaration führt
+% (\cs{@openindexfalse}, siehe \cs{@ProcessOutput}). Dafür werden die Makros für
+% die Angabe obligatorischer und optionaler Parameter lokal umdefiniert.
+% \begin{macrocode}
+ \ifx\@declarationlist\relax\else%
+ \ClassError{\tudclsname}{\string\printdeclarationlist\space is missing}{%
+ \string\@declarationlist\space is not empty. Did you forget\MessageBreak%
+ to print this list with \string\printdeclarationlist?%
+ }%
+ \fi%
+ \let\PName\@gobble%
+ \let\PBoolean\relax%
+ \let\PSet\relax%
+ \let\PValue\@gobble%
+ \let\Parameter\@gobble%
+ \let\OParameter\@gobble%
+ \let\LParameter\relax%
+ \let\OLParameter\@gobble%
+ \let\PParameter\@gobble%
+ \let\POParameter\@gobble%
+ \vskip-\lastskip%
+ \@declaretrue\@openindexfalse#1\@declarefalse%
+ \pagebreak[0]%
+}
+% \end{macrocode}
+% Mit dem Befehl \cs{printdeclarationlist} erfolgt die eingentliche Ausgabe
+% aller Deklarationen. Zweck ist es, mehrere \env{Declaration}-Umgebungen
+% ineinander verschachteln zu können und eine Ausgabe aller auf einmal zu
+% erzeugen. Die durch die ggf. nacheinander folgenden Deklarationen wurden in
+% entsprechenden Listen gesammelt und werden hier jetzt formatiert ausgegben.
+% \begin{macrocode}
+\NewDocumentCommand\printdeclarationlist{sod()}{%
+ \ifx\@declarationlist\relax\else%
+% \end{macrocode}
+% Die Sternversion des Befehls erzeugt die Ausgabe ohne Deklarationsindexbefehle.
+% \begin{macrocode}
+ \IfBooleanTF{#1}{\global\@noindextrue}{\global\@noindexfalse}
+ \ifvmode\else\par\fi%
+ \allowbreak%
+ \addpenalty{\@beginparpenalty}%
+ \addvspace{\baselineskipglue}%
+ \@declaretrue\@openindextrue%
+ \phantomsection\noindent%
+% \end{macrocode}
+% Die deklarierten Optionen, Umgebungen, Befehle etc. werden in einer umrahmten
+% Box ausgegeben.
+% \begin{macrocode}
+ \def\@tempa##1{\ignorespaces##1\tabularnewline}%
+ \begin{tabular}{|l|}%
+ \hline%
+ \forlistloop\@tempa{\@declarationlist}%
+ \hline%
+ \end{tabular}%
+ \@declarefalse%
+% \end{macrocode}
+% Danach werden ggf. die Voreinstellungen und Zusatzinformationen gesetzt.
+% \begin{macrocode}
+ \ifboolexpr{bool {@presetlist} or bool {@additionallist}}{%
+ \if@presetlist%
+ \qquad%
+ \texttt{%
+ \begin{tabular}{l}%
+ \forlistloop\@tempa{\@presetlist}%
+ \end{tabular}%
+ }%
+ \fi%
+ \if@additionallist%
+ \begin{tabular}{@{}l@{}}%
+ \forlistloop\@tempa{\@additionallist}%
+ \end{tabular}%
+ \fi%
+ }{}%
+% \end{macrocode}
+% Das optionale Argument kann für eine Versionsnummer für eine gemachte Änderung
+% genutzt werden.
+% \begin{macrocode}
+ \IfValueTF{#2}{%
+ \ChangedAt{#2}%
+ \begingroup%
+ \let\marginnote\@gobble%
+ \def\@tempa##1{\ChangedAt{#2}[##1]}%
+ \forlistloop\@tempa{\@declarationlist}%
+ \endgroup%
+ }{}%
+ \global\let\@declarationlist\relax%
+ \global\let\@presetlist\relax%
+ \global\@presetlistfalse%
+ \global\let\@additionallist\relax%
+ \global\@additionallistfalse%
+% \end{macrocode}
+% Zum Schluss wird das zweite optionale Argument (in runden Klammern) neben der
+% Deklaratiionsbox ausgegeben.
+% \begin{macrocode}
+ \IfValueTF{#3}{#3}{}%
+ \vskip\baselineskipglue\nobreak%
+ \@afterindentfalse\@afterheading%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@additionallist
+% \end{macro}^^A \@additionallist
+% \end{macro}^^A \if@presetlist
+% \end{macro}^^A \@presetlist
+% \end{macro}^^A \@declarationlist
+% \end{macro}^^A \printdeclarationlist
+% \end{environment}^^A Declaration
+% \begin{environment}{tabularm}
+% \begin{macro}{\allcolumnpar}
+% \begin{macro}{\@allcolumnpar}
+% \begin{macro}{\tabularm@box}
+% \begin{macro}{\tabularm@num}
+% \begin{length}{\tabularm@wd}
+% Die Umgebung \env{tabularm} ist eine Erweiterung der \env{tabularm}-Umgebung.
+% In dieser wird die Breite der zu setzenden Tabelle mit Hilfe der Box
+% \cs{tabularm@box} in \cs{tabularm@wd} gespeichert. Anschließend kann mit dem
+% Befehl \cs{allcolumnpar} eine Zeile über alle Spalten der Tabelle
+% ausgegeben werden. Dabei ist das zu übergebende Argument die Anzahl der zu
+% erzeugenden, linksbündigen Spalten.
+% \begin{macrocode}
+\newsavebox\tabularm@box
+\newlength\tabularm@wd
+\newcommand*\tabularm@num{1}
+\NewEnviron{tabularm}[1]{%
+ \begin{lrbox}{\tabularm@box}%
+ \let\allcolumnpar\@gobble%
+ \begin{tabular}{*{#1}l}\BODY\end{tabular}%
+ \end{lrbox}%
+ \setlength{\tabularm@wd}{\wd\tabularm@box}%
+%% \addtolength{\tabularm@wd}{-2\tabcolsep}%
+ \def\tabularm@num{#1}%
+ \let\allcolumnpar\@allcolumnpar%
+ \begin{tabular}{*{#1}l}\BODY\end{tabular}%
+}
+\newcommand*\@allcolumnpar[1]{%
+ \multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}%
+}
+% \end{macrocode}
+% \end{length}^^A \tabularm@wd
+% \end{macro}^^A \tabularm@box
+% \end{macro}^^A \tabularm@num
+% \end{macro}^^A \@allcolumnpar
+% \end{macro}^^A \allcolumnpar
+% \end{environment}^^A tabularm
+% \begin{macro}{\PName}
+% \begin{macro}{\PBoolean}
+% \begin{macro}{\PSet}
+% \begin{macro}{\Parameter}
+% \begin{macro}{\OParameter}
+% \begin{macro}{\LParameter}
+% \begin{macro}{\OLParameter}
+% \begin{macro}{\PValue}
+% \begin{macro}{\PParameter}
+% \begin{macro}{\POParameter}
+% Diese Befehle dienen zum Auszeichnen von obligatorischen und optionalen
+% Parametern und Befehlen oder bestimmten Wertzuweisungen.
+% \begin{macrocode}
+\DeclareRobustCommand*\PName[1]{\texttt{\textit{<#1>}}}
+\DeclareRobustCommand*\PBoolean{\PName{Ein-Aus-Wert}}%
+\DeclareRobustCommand*\PSet{\PName{Einstellung}}%
+\DeclareRobustCommand*\Parameter[1]{\texttt{\{}\PName{#1}\texttt{\}}}
+\DeclareRobustCommand*\OParameter[1]{\texttt{[}\PName{#1}\texttt{]}}
+\DeclareRobustCommand*\LParameter{\texttt{[}\PName{Parameterliste}\texttt{]}}
+\DeclareRobustCommand*\OLParameter[1]{%
+ \texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]}
+}
+\DeclareRobustCommand*\PValue[1]{\texttt{#1}}
+\DeclareRobustCommand*\PParameter[1]{\texttt{\{#1\}}}
+\DeclareRobustCommand*\POParameter[1]{\texttt{[#1]}}
+% \end{macrocode}
+% \end{macro}^^A \POParameter
+% \end{macro}^^A \PParameter
+% \end{macro}^^A \PValue
+% \end{macro}^^A \OLParameter
+% \end{macro}^^A \LParameter
+% \end{macro}^^A \OParameter
+% \end{macro}^^A \Parameter
+% \end{macro}^^A \PSet
+% \end{macro}^^A \PBoolean
+% \end{macro}^^A \PName
+% \begin{environment}{code}
+% \begin{environment}{Example}
+% Diese beiden Umgebungen werden für die Erläuterung von bestimmten Aspekten
+% zusammen mit einem Quelltextbeispiel im Handbuch verwendet. Dabei enthält
+% \env{Example} einen kurzen, erklärenden Text. In der \env{code}-Umgebung,
+% welche innerhalb von \env{Example} verwendet wird, folgt der Quelltext.
+% \begin{macrocode}
+\RequirePackage{listings}
+\lstnewenvironment{code}[1][]{\lstset{style=tudscr,#1}}{}
+\lstdefinestyle{tudscr}{%
+ basicstyle=\let\bfseries@tt\mdseries@tt\ttfamily\setstretch{1},%
+ columns=fullflexible,keepspaces,%
+ aboveskip=.5\baselineskipglue,%
+ belowskip=.5\baselineskipglue,%
+ language=[LaTeX]TeX,%
+ texcl,%
+}
+\newenvironment{Example}{%
+ \labeling{{\usekomafont{disposition}Beispiel:\ }}%
+ \item[{\usekomafont{disposition}Beispiel:\ }]%
+}{%
+ \endlabeling%
+}
+% \end{macrocode}
+% \end{environment}^^A Example
+% \end{environment}^^A code
+% \begin{option}{ToDo}
+% \begin{macro}{\ToDo}
+% \begin{macro}{\todo@mark}
+% Die Option kann aktiviert werden, um mit \cs{ToDo} definerte, offene Aufgaben
+% als gerahmte Anmerkung im Text anzuzeigen. Das optionale Argument kann genutzt
+% werden, um die Randnotiz~-- standardmäßig \glqq ToDo\grqq~-- zu ändern.
+% \begin{macrocode}
+\newcommand*\todo@mark{}
+\newcommand\ToDo[2][]{}
+\TUD@key{ToDo}[true]{%
+ \TUD@set@ifkey{ToDo}{@tempswa}{#1}%
+ \if@tempswa%
+ \renewcommand\ToDo[2][]{%
+ \def\todo@mark{\ifstr{##1}{}{ToDo}{##1}}%
+ \endgraf\vskip1ex%
+ \hfuzz0.8pt%
+ \noindent\leavevmode\marginnote{\fbox{\todo@mark\strut}}%
+ [\dimexpr-\fboxsep-\fboxrule]%
+ \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{##2\strut}}%
+ \vskip1ex%
+ \noindent$\!\!$%
+ }%
+ \else%
+ \renewcommand\ToDo[2][]{}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \todo@mark
+% \end{macro}^^A \ToDo
+% \end{option}^^A ToDo
+% \begin{macro}{\vTUD}
+% \begin{macro}{\vTUDScript}
+% \begin{macro}{\TUDScript}
+% \begin{macro}{\Attention}
+% \begin{macro}{\forum}
+% \begin{macro}{\notudscrartcl}
+% \begin{macro}{\CD}
+% \begin{macro}{\CDs}
+% \begin{macro}{\TUD}
+% \begin{macro}{\TnUD}
+% \begin{macro}{\DDC}
+% \begin{macro}{\Univers}
+% \begin{macro}{\DIN}
+% Diese Befehle stellen regelmäßig im Handbuch genutzte Textbausteine bereit.
+% Dazu wird der Befehl \cs{xspace} aus dem \pkg{xspace}-Paket genutzt.
+% \begin{macrocode}
+\RequirePackage{xspace}
+\newcommand*\vTUD{Version~\NoCaseChange{v}1.0\xspace}
+% \end{macrocode}
+% Der Befehl \cs{vTUDScript} enthält die aktuelle Versionsnummer des
+% \TUDScript-Bundles.
+% \begin{macrocode}
+\newcommand*\vTUDScript{}
+\AtBeginDocument{%
+ \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}%
+ \edef\@tempa{\TUDVersion}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax%
+}
+\DeclareRobustCommand\TUDScript{%
+ \ifdin{TUD-KOMA-SCRIPT}{%
+ \texorpdfstring{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+ }{TUD-KOMA-Script}%
+ }%
+}
+% \end{macrocode}
+% \dots und der Rest.
+% \begin{macrocode}
+\newcommand*\Attention{\marginnote{\tiny\fbox{Achtung!}}}
+\newcommand*\forum{\url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}\xspace}
+\newcommand*\notudscrartcl{%
+ Für die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verfügbar.
+}
+\newcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace}
+\newcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace}
+\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
+\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
+\newcommand*\DDC{\mbox{DRESDEN-concept}\xspace}
+\newcommand*\Univers{\textubn{Univers}\xspace}
+\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace}
+% \end{macrocode}
+% \end{macro}^^A \DIN
+% \end{macro}^^A \Univers
+% \end{macro}^^A \DDC
+% \end{macro}^^A \TnUD
+% \end{macro}^^A \TUD
+% \end{macro}^^A \CDs
+% \end{macro}^^A \CD
+% \end{macro}^^A \notudscrartcl
+% \end{macro}^^A \forum
+% \end{macro}^^A \Attention
+% \end{macro}^^A \TUDScript
+% \end{macro}^^A \vTUDScript
+% \end{macro}^^A \vTUD
+% Ganz zum Schluss wird der Seitenstil für Teileseiten gesetzt.
+% \begin{macrocode}
+\renewcommand*\partpagestyle{empty}
+% \end{macrocode}
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx
new file mode 100644
index 00000000000..b2f2ccdef79
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx
@@ -0,0 +1,241 @@
+% \CheckSum{130}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-mathswap.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-mathswap.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (mathswap)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-mathswap.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Aktive Trennzeichen im mathematischen Satz}
+%
+% Die Verwendung von Dezimal- und Tausendertrennzeichen im mathematischen Satz
+% sind regional sehr unterschiedlich. In den meisten englischsprachigen Ländern
+% wird der Punkt als Dezimaltrennzeichen und das Komma zur Zifferngruppierung
+% verwendet, im restlichen Europa wird dies genau entgegengesetzt praktiziert.
+% Dieses Paket soll dazu dienen, beliebige formatierte Zahlen in ihrer Ausgabe
+% anzupassen. Dafür werden die Zeichen Punkt (\ .\ ) und Komma (\ ,\ ) als
+% aktive Zeichen im Mathematikmodus definiert.
+%
+% Ähnliche Funktionalitäten werden bereits durch die Pakete \pkg{icomma} und
+% \pkg{ziffer} bereitgestellt. Bei \pkg{icomma} muss jedoch beim
+% Verfassen des Dokumentes durch den Autor beachtet werden, ob das verwendete
+% Komma einem Dezimaltrennzeichen entspricht ($t=1,\!2$) oder aber einem
+% normalen Komma im Mathematiksatz ($z=f(x,y)$), wo ein gewisser Abstand nach
+% dem Komma durchaus gewünscht ist. Das Paket \pkg{ziffer} liefert dafür die
+% gewünschte Funktionalität,%
+% \footnote{kein Leerraum nach Komma, wenn direkt danach eine Ziffer folgt}
+% ist allerdings etwas unflexibel, was den Umgang mit den Trennzeichen anbelangt.
+% Als Alternative zu diesem Paket kann außerdem \pkg{ionumbers} verwendet werden.
+%
+% Das Paket \pkg{mathswap} sorgt dafür, dass Trennzeichen direkt vor einer
+% Ziffer erkannt und nach bestimmten Vorgaben ersetzt werden. Sollte sich jedoch
+% zwischen Trennzeichen und Ziffer Leerraum befinden, wird dieser als solcher
+% auch gesetzt.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*package&header>
+% \fi
+%
+% \subsection{Identifizierung des Pakets \pkg{mathswap}}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mathswap}[%
+ \TUDVersion\space package (swap mathematical separators)%
+]
+% \end{macrocode}
+%
+% \iffalse
+%</package&header>
+%<*package&body>
+% \fi
+%
+% \subsection{Das Paket \pkg{mathswap}}
+%
+% \begin{macro}{\commaswap}
+% \begin{macro}{\dotswap}
+% \begin{macro}{\@commaswap}
+% \begin{macro}{\@dotswap}
+% Die beiden Befehle \cs{commaswap} und \cs{dotswap} sind die zentrale
+% Benutzerschnittstelle des Paketes. Das Makro \cs{commaswap} definiert das
+% Trennzeichen oder den Inhalt, wodurch ein Komma ersetzt werden soll, auf
+% welches direkt danach eine Ziffer folgt. Normalerweise setzt \LaTeX
+% nach einem Komma im mathematischen Satz zusätzlich einen horizontalen Abstand.
+% Bei der Ersetzung durch \cs{commaswap} entfällt dieser. Die Voreinstellung
+% für \cs{commaswap} ist deshalb auf ein Komma (,) gesetzt.
+%
+% Mit dem Makro \cs{dotswap} kann definiert werden, wodurch der Punkt im
+% mathematischen Satz ersetzt werden soll, wenn auf diesen direkt anschließend
+% eine Ziffer folgt. Da der Punkt im deutschsprachigem Raum zur Gruppierung von
+% Ziffern genutzt wird, ist hierfür standardmäßig ein halbes geschütztes
+% Leerzeichen definiert (\cs{,}).
+%
+% Die mit \cs{commaswap}\marg{Trennzeichen} und \cs{dotswap}\marg{Trennzeichen}
+% definierten Trennzeichen werden in \cs{@commaswap} und \cs{@dotswap} gesichert.
+% \begin{macrocode}
+\newcommand*\@commaswap{,}
+\newcommand*\commaswap[1]{\gdef\@commaswap{#1}}
+\newcommand*\@dotswap{\,}
+\newcommand*\dotswap[1]{\gdef\@dotswap{#1}}
+% \end{macrocode}
+% \end{macro}^^A \@dotswap
+% \end{macro}^^A \@commaswap
+% \end{macro}^^A \dotswap
+% \end{macro}^^A \commaswap
+% \begin{macro}{\ms@comma}
+% \begin{macro}{\ms@commachar}
+% \begin{macro}{\ms@dot}
+% \begin{macro}{\ms@dotchar}
+% In den Befehlen \cs{ms@commachar} und \cs{ms@dotchar} wird die originale
+% Definition von Komma und Punkt im Mathematikmodus gesichert, welche weiterhin
+% verwendet wird, falls nach diesen nicht direkt eine Ziffer folgt. Mit den
+% Makros \cs{ms@comma} und \cs{ms@dot} werden die Definitionen von Komma und
+% Punkt als normale Textzeichen für den mathematischen Satz bereitgehalten.
+% Anschließend werden beide als aktive Zeichen für den Mathematikmodus gesetzt.
+% \begin{macrocode}
+\newcommand*\ms@commachar{}
+\newcommand*\ms@dotchar{}
+\AtBeginDocument{%
+ \DeclareMathSymbol{\ms@comma}{\mathord}{letters}{"3B}%
+ \mathchardef\ms@commachar\mathcode\expandafter`,%
+ \mathcode\expandafter`,="8000%
+ \DeclareMathSymbol{\ms@dot}{\mathord}{letters}{"3A}%
+ \mathchardef\ms@dotchar\mathcode\expandafter`.%
+ \mathcode\expandafter`.="8000%
+}
+% \end{macrocode}
+% \end{macro}^^A \ms@dotchar
+% \end{macro}^^A \ms@dot
+% \end{macro}^^A \ms@commachar
+% \end{macro}^^A \ms@comma
+% \begin{macro}{\ms@token}
+% \begin{macro}{.}
+% \begin{macro}{,}
+% \begin{macro}{\ms@smartcomma}
+% \begin{macro}{\ms@smartdot}
+% Mit \cs{futurelet} wird dem Makro \cs{ms@token} das nachfolgende Zeichen von
+% Komma bzw. Punkt zugewiesen. Anschließend wird mittels \cs{ms@smartcomma} bzw.
+% \cs{ms@smartdot} geprüft, ob es sich beim Inhalt von \cs{ms@token} um eine
+% Ziffer handelt. Dazu wird der Befehl \cs{ms@ifnum} verwendet. Sollte dies der
+% Fall sein, so wird ein Komma innerhalb einer Zahl durch \cs{@commaswap} und
+% ein Punkt entsprechend mit \cs{@dotswap} ersetzt. Sollte direkt nach dem
+% Trennzeichen keine Ziffer folgen, wird für Punkt und Komma die originale
+% Definition aus \cs{ms@commachar} bzw. \cs{ms@dotchar} verwendet.
+% \begin{macrocode}
+\newcommand*\ms@token{}
+\begingroup%
+ \catcode`,=\active%
+ \gdef,{\futurelet\ms@token\ms@smartcomma}%
+ \catcode`.=\active%
+ \gdef.{\futurelet\ms@token\ms@smartdot}%
+\endgroup%
+\def\ms@smartcomma{\ms@ifnum{\@commaswap}{\ms@commachar}}
+\def\ms@smartdot{\ms@ifnum{\@dotswap}{\ms@dotchar}}
+% \end{macrocode}
+% \end{macro}^^A \ms@smartdot
+% \end{macro}^^A \ms@smartcomma
+% \end{macro}^^A .
+% \end{macro}^^A ,
+% \end{macro}^^A \ms@token
+% \begin{macro}{\ms@ifnum}
+% \begin{macro}{\ms@@ifnum}
+% Der Befehl \cs{ms@ifnum} reicht das erste Argument an \cs{ms@@ifnum} weiter,
+% falls der Inhalt von \cs{ms@token} zu einer Ziffer expandiert. Andernfalls
+% wird das zweite Argument ausgeführt.
+% \begin{macrocode}
+\def\ms@ifnum#1#2{%
+ \ifx\ms@token0\ms@@ifnum{#1}\else%
+ \ifx\ms@token1\ms@@ifnum{#1}\else%
+ \ifx\ms@token2\ms@@ifnum{#1}\else%
+ \ifx\ms@token3\ms@@ifnum{#1}\else%
+ \ifx\ms@token4\ms@@ifnum{#1}\else%
+ \ifx\ms@token5\ms@@ifnum{#1}\else%
+ \ifx\ms@token6\ms@@ifnum{#1}\else%
+ \ifx\ms@token7\ms@@ifnum{#1}\else%
+ \ifx\ms@token8\ms@@ifnum{#1}\else%
+ \ifx\ms@token9\ms@@ifnum{#1}\else%
+ #2%
+ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
+}
+% \end{macrocode}
+% Wurde eine nachfolgende Ziffer erkannt, so wird die Definition von Punkt und
+% Komma auf die eines normalen Textzeichens gesetzt und anschließend die mit
+% \cs{commaswap} bzw. \cs{dotswap} angegebene Ersetzung ausgegeben.
+% \begin{macrocode}
+\def\ms@@ifnum#1{%
+ \begingroup%
+ \mathcode\expandafter`,=\the\ms@comma%
+ \mathcode\expandafter`.=\the\ms@dot%
+ #1%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \ms@@ifnum
+% \end{macro}^^A \ms@ifnum
+%
+% \iffalse
+%</package&body>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx
new file mode 100644
index 00000000000..5577bdc3721
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx
@@ -0,0 +1,385 @@
+% \CheckSum{195}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-misc.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-misc.dtx}%
+ [2014/04/24 v2.01 TUD-KOMA-Script (miscellaneous)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-misc.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Verschiedenes}
+%
+% Alles, wofür sich eine separate Datei nicht lohnt, landet hier.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class&option>
+% \fi
+%
+% \subsection{Sprungmarken}
+%
+% \begin{option}{tudbookmarks}
+% \begin{macro}{\if@tud@bookmarks}
+% Wird das Paket \pkg{hyperref} geladen, so kann die Option \opt{tudbookmarks}
+% genutzt werden, um zu steuern, ob für Titel und Inhaltsverzeichnis
+% automatisch ein Eintrag für die Sprungmarken erzeugt werden soll.
+% \begin{macrocode}
+\newif\if@tud@bookmarks
+\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@bookmarks
+% \end{option}^^A tudbookmarks
+%
+% \iffalse
+%</class&option>
+%<*class&!option>
+% \fi
+%
+% \begin{macro}{\tudbookmark}
+% \begin{macro}{\tud@footnote@unhyper}
+% \begin{macro}{\tud@footnote@rehyper}
+% Die Befehle zum Eintragen der Sprungmarken. Im Dokument kann auch der Befehl
+% \cs{tudbookmark} vom Anwender genutzt werden, um manuell weitere Lesezeichen
+% zu erzeugen.
+%
+% Außerdem müssen für die Titelseite die Fußnoten auf den Originalzustand
+% zurückgesetzt werden. Dafür werden die Befehle \cs{tud@footnote@unhyper} und
+% \cs{tud@footnote@rehyper} definert.
+% \begin{macrocode}
+\newcommand*\tudbookmark[1][]{\@gobbletwo}
+\newcommand*\phantomsection{}
+\let\phantomsection\relax
+\newcommand*\tud@footnote@unhyper{}
+\newcommand*\tud@footnote@rehyper{}
+\AfterPackage{hyperref}{%
+ \renewcommand*\tudbookmark[3][]{%
+ \relax%
+ \if@tud@bookmarks%
+ \phantomsection%
+ \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}%
+ \fi%
+ }%
+ \renewcommand*\tud@footnote@unhyper{%
+ \let\Hy@saved@footnotemark\@footnotemark%
+ \let\Hy@saved@footnotetext\@footnotetext%
+ \let\@footnotemark\H@@footnotemark%
+ \let\@footnotetext\H@@footnotetext%
+ }%
+ \renewcommand*\tud@footnote@rehyper{%
+ \ifx\@footnotemark\H@@footnotemark%
+ \let\@footnotemark\Hy@saved@footnotemark%
+ \fi%
+ \ifx\@footnotetext\H@@footnotetext%
+ \let\@footnotetext\Hy@saved@footnotetext%
+ \fi%
+ }%
+}
+\AtBeginDocument{%
+ \pretocmd{\makecover}{%
+%<*book|report>
+ \tudbookmark[0]{\coverpagename}{cover}
+%</book|report>
+%<*article>
+ \tudbookmark[1]{\coverpagename}{cover}
+%</article>
+ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+ }{}{\tud@patch@wrn{makecover}}%
+ \pretocmd{\maketitle}{%
+%<*book|report>
+ \tudbookmark[0]{\titlepagename}{title}
+%</book|report>
+%<*article>
+ \tudbookmark[1]{\titlepagename}{title}
+%</article>
+ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+ }{}{\tud@patch@wrn{maketitle}}%
+ \pretocmd{\tableofcontents}{%
+%<*book|report>
+ \if@openright\cleardoublepage\else\clearpage\fi%
+ \tudbookmark[0]{\contentsname}{toc}%
+%</book|report>
+%<*article>
+ \tudbookmark[1]{\contentsname}{toc}%
+%</article>
+ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+ }{}{\tud@patch@wrn{tableofcontents}}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@footnote@rehyper
+% \end{macro}^^A \tud@footnote@unhyper
+% \end{macro}^^A \tudbookmark
+%
+% \subsection{Parameter für Umgebungen und mehrspaltige Texte}
+%
+% Diese Befehle dienen dazu, bei Umgebungen die Sprache über einen Parameter
+% anzugeben sowie das Paket \pkg{multicol} verwenden zu können.
+% \begin{macro}{\tud@environmenthandler}
+% Hiermit kann sowohl die zu verwendende Sprache als auch die Anzahl der
+% gewünschten Spalten für bestimmte Umgebungen ohne die explizite Angabe eines
+% Schlüssels festgelegt werden. Momentan betrifft das die beiden Umgebungen
+% \env{abstract} und \env{tudpage}.
+% \begin{macrocode}
+\newcommand*\tud@environmenthandler[1]{%
+ \def\@tempa{#1}%
+ \@for\@tempb:=\@tempa\do{%
+ \ifx\@tempb\@empty\else%
+ \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{%
+ \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{%
+ \expandafter\selectlanguage\expandafter{\@tempb}%
+ }}%
+ \fi%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@environmenthandler
+% \begin{macro}{\tud@multicols}
+% \begin{macro}{\tud@multicols@check}
+% Im Makro \cs{tud@multicols} wird die Anzahl der gewünschten Spalten in einer
+% Umgebung für die Verwendung des \pkg{multicol}"=Paketes gespeichert.
+% \begin{macrocode}
+\newcommand*\tud@multicols{1}
+% \end{macrocode}
+% Der Befehl \cs{tud@multicols@check} prüft, ob das Paket \pkg{multicol} geladen
+% wurde. Falls dies nicht der Fall ist, wird eine Warnung ausgegeben.
+% \begin{macrocode}
+\newcommand*\tud@multicols@check{%
+ \ifdef{\multicols}{}{%
+ \ifnum\tud@multicols>1\relax%
+ \ClassWarning{\tudcls@name}{%
+ The option 'columns=\tud@multicols' is only supported,\MessageBreak%
+ when package 'multicol' is loaded%
+ }%
+ \def\tud@multicols{1}%
+ \fi%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@multicols@check
+% \end{macro}^^A \tud@multicols
+%
+% \iffalse
+%</class&!option>
+%<*titlepage|class&!option>
+% \fi
+%
+% \subsection{Bedingte Majuskeln für Überschriften}
+%
+% Überschriften sollen bloß in Großbuchstaben gesetzt werden, wenn auch
+% tatsächlich die Schrift DIN~Bold verwendet wird.
+% \begin{macro}{\tud@makeuppercase}
+% \begin{macro}{\ifdin}
+% Der Befehl führt \cs{MakeTextUppercase}\marg{Text} deshalb nur aus, wenn die
+% richtige Schriftfamilie verwendet wird.
+% \begin{macrocode}
+\newcommand*\tud@makeuppercase[1]{%
+ \ifx\f@family\tud@dinbold%
+ \begingroup%
+ \MakeTextUppercase{#1}%
+ \endgroup%
+ \else%
+ #1%
+ \fi%
+% \end{macrocode}
+% Aufgrund eines Fehlers im \hologo{LaTeX}-Kernels liegt die Grundlinie für die
+% Gliederungsebene \cs{scetion} zu hoch. Mit dem Einfügen des vertikalen
+% Freiraums für die Umlaute würde diese automatisch nach unten verschoben.
+% Allerdings ist das ein ziemlich übler Hack.
+% \begin{macrocode}
+%% \vphantom{\"A\"O\"U}%
+}
+% \end{macrocode}
+% Der Befehl \cs{ifdin} prüft auf die Verwendung von DIN~Bold. Davon abhängig
+% wird entweder das erste oder das zweite Argument ausgeführt. Dies kann für die
+% die Befehle aller Gliederungsebenen genutzt werden, um zwischen der Ausgabe im
+% Dokument sowie Inhaltserzeichnis und/oder Kolumnentitel zu unterscheiden.
+% \begin{macrocode}
+\newcommand*\ifdin{%
+ \ifx\f@family\tud@dinbold\relax%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \ifdin
+% \end{macro}^^A \tud@makeuppercase
+%
+% \iffalse
+%</titlepage|class&!option>
+%<*class&option>
+% \fi
+%
+% \subsection{Erzwungene Minuskeln für Strings}
+%
+% Um angegebene Werte bei Schlüssel-Wert-Paaren oder Schlüsselwörter in
+% bestimmten Feldern sicher erkennen zu können, werden diese zwingend in
+% Kleinbuchstaben geschieben.
+% \begin{macro}{\tud@lowerstring}
+% Das Makro wird mit \cs{tud@lowerstring}\marg{Zielmakro}\marg{String} bennutzt.
+% \begin{macrocode}
+\newcommand*\tud@lowerstring[2]{%
+ \protected@edef#1{#2}%
+ \lowercase\expandafter{%
+ \expandafter\gdef\expandafter #1\expandafter{#1}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@lowerstring
+%
+% \subsection{Standardoptionen}
+%
+% Durchreichen aller Klassenoptionen an die \KOMAScript-Klasse.
+% \begin{macrocode}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}}
+% \end{macrocode}
+% Es werden die Standardoptionen ausgeführt. Die Ausführung selbst wird durch
+% den Befehl \cs{TUD@noworlater} innerhalb von \cs{TUD@key} auf das Ende der
+% \KOMAScript-Klasse verzögert.
+% \todo[v3.12]{Datum anpassen}
+% \begin{macrocode}
+\TUDExecuteOptions{\TUDDefaultOptions}
+\TUDProcessOptions
+\LoadClass{\scrcls@name}[2012/07/29]
+% \end{macrocode}
+% Nach der Abarbeitung aller Optionen innerhalb der Präambel müssen die
+% folgenden Befehle einmalig ausgeführt werden. Damit dies sicher erst danach
+% und am Ende der Präambel erfolgt, wird die Ausführung mit \cs{AtEndPreamble}
+% verzögert.
+% \begin{macrocode}
+\AtEndPreamble{%
+ \tud@layout@process%
+ \recalctypearea%
+}
+% \end{macrocode}
+%
+% \subsection{Externe Pakete}
+%
+% \changes{v2.01}{2014/04/24}{%
+% Versionsanforderungen bei benötigten Paketen ergänzt%
+% }
+%
+% Für die Verwendung der hier erstellten \KOMAScript-Wrapper-Klassen werden
+% einige wenige Pakete eingebunden. Dabei wurde versucht, die Anzahl der
+% Pakete möglichst gering zu halten und nur die wirklich notwendigen zu
+% verwenden.
+%
+% Für das Setzen der Überschriften in Majuskeln\footnote{Großbuchstaben} mit
+% \cs{MakeTextUppercase}, was den internen \LaTeX-Befehl \cs{MakeUppercase}
+% verbessert, wird das Paket \pkg{textcase} genutzt.
+% \begin{macrocode}
+\RequirePackage{textcase}[2004/10/07]
+% \end{macrocode}
+% Für das Setzen von Feldern werden bei einem übergebenen Argument führende und
+% angehängte Leerzeichen entfernt.
+% \begin{macrocode}
+\RequirePackage{trimspaces}[2009/09/17]
+% \end{macrocode}
+% Das Paket \pkg{geometry} erlaubt eine genaue Vorgabe des Satzspiegels und
+% der Seitenränder, wie es vom \CD der TU~Dresden verlangt wird.
+% \begin{macrocode}
+\RequirePackage{geometry}[2010/09/12]
+% \end{macrocode}
+% Das Paket \pkg{mweights} wird verwendet, um für die einzelnen Schriftfamilien
+% unterschiedliche Sandardstärken zu nutzen. Insbesondere betrifft dies die
+% \texttt{typewriter}"=Familie.
+% \begin{macrocode}
+\RequirePackage{mweights}[2013/07/21]
+% \end{macrocode}
+% Die \env{abstract}-Umgebung wird im Vergleich zu den \KOMAScript-Klassen
+% stark erweitert. Dafür wird das Paket \pkg{environ} für eine erweiterte
+% Umgebungsdefinition benötigt.
+% \begin{macrocode}
+\RequirePackage{environ}[2013/04/01]
+% \end{macrocode}
+% Es folgen die Pakete, welche bei Bedarf am Ende der Präambel geladen werden.
+% \begin{macrocode}
+\AtEndPreamble{%
+% \end{macrocode}
+% Mit \pkg{graphicx} werden die Logos der TU~Dresden sowie von Dresden Concept
+% mit dem Befehl \cs{includegraphics} u.\,a. auf der Titelseite eingebunden.
+% \todo[v3.12]{Laden von \pkg{graphics} mit Warnung verhindern.}
+% \begin{macrocode}
+ \@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}[1999/02/16]}%
+% \end{macrocode}
+% Mit dem Paket \pkg{tudscrcolor} werden die Befehle für die Auswahl der Farben
+% des \CDs definiert, welches wiederum \pkg{xcolor} lädt.
+% \begin{macrocode}
+ \@ifpackageloaded{tudscrcolor}{}{\RequirePackage{tudscrcolor}[\TUDVersion]}%
+% \end{macrocode}
+% Wenn die Farben für Titel- und Kapitelseiten umgeschaltet werden, geht die
+% Information über die aktuelle Text- und Seitenfarbe verloren. Um dies zu
+% verhindern, kann das Paket \pkg{pagecolor} geladen werden. Das Laden sollte
+% aber solange verzögert werden, bis das Paket \pkg{tudscrcolor} geladen ist.
+% \todo[v3.12]{Verzögern des Ladens von \pkg{pagecolor} aktivieren.}
+% \begin{macrocode}
+% \if@tud@pagecolor%
+% \UnPreventPackageFromLoading*{pagecolor}%
+% \RequirePackage{pagecolor}[2012/02/23]%
+% \fi%
+}
+% \end{macrocode}
+%
+% \iffalse
+%</class&option>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx
new file mode 100644
index 00000000000..9ed3b3e8af3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx
@@ -0,0 +1,1528 @@
+% \CheckSum{1206}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-pagestyle.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-pagestyle.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (pagestyle)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-pagestyle.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Der Seitenstil des \CDs}
+%
+% Das \CD verlangt (eigentlich) einen fest vorgegebenen Satzspiegel. Für das
+% Setzen längerer wissenschaftlicher Abhandlungen ist dieser jedoch alles
+% andere als glücklich gewählt. Insbesondere für den doppelseitigen Satz ist
+% das Standardlayout nicht gut nutzbar. Für die \TUDScript"=Klassen wird deshalb
+% die Abweichung vom sonst fest vorgegebenen Satzspiegel ermöglicht.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \subsection{Definition der konstanten Größen und Maße}
+%
+% Die Vorlagen sollen neben den vom \CD vorgegebenen Seitenrändern weitere
+% Layouts ermöglichen und u.\,a. auch die Nutzung des Paketes \pkg{typearea}
+% erlauben. Damit ein einheitliches Verfahren zur Wahl bzw. Umschaltung des
+% Satzspiegels genutzt werden kann, wird das Paket \pkg{geometry} genutzt.
+% Dabei werden entweder die gewünschten Maße der Seitenränder direkt gewählt
+% oder aber die mit \pkg{typearea} berechneten Maße an \pkg{geometry}
+% durchgereicht.
+%
+% Als erstes werden die Standardmaße für die Seitenränder im \CD definiert,
+% danach speziell für die \env{tudpage}"=Umgebung.
+%
+% \iffalse
+%<*titlepage|class&!option>
+% \fi
+%
+% \begin{length}{\tud@dim@left}
+% \begin{length}{\tud@dim@right}
+% \begin{length}{\tud@dim@both}
+% Die Seitenränder für links und rechts sowie deren Summe, welche später für
+% weitere Layouts dazu verwendet wird, diese anteilig zu verteilen.
+% \begin{macrocode}
+\newlength{\tud@dim@left}
+%<*class>
+\newlength{\tud@dim@right}
+\newlength{\tud@dim@both}
+%</class>
+% \end{macrocode}
+% \end{length}^^A \tud@dim@both
+% \end{length}^^A \tud@dim@right
+% \end{length}^^A \tud@dim@left
+% \begin{length}{\tud@dim@top}
+% \begin{length}{\tud@dim@bottom}
+% \begin{length}{\tud@dim@footskip}
+% Die Seitenränder für sowohl oben als auch unten sowie der Abstand zwischen
+% Textkörper und Fußzeile.
+% \begin{macrocode}
+%<*class>
+\newlength{\tud@dim@top}
+\newlength{\tud@dim@bottom}
+\newlength{\tud@dim@footskip}
+%</class>
+% \end{macrocode}
+% \end{length}^^A \tud@dim@footskip
+% \end{length}^^A \tud@dim@bottom
+% \end{length}^^A \tud@dim@top
+% \begin{length}{\tud@dim@headheight}
+% \begin{length}{\tud@dim@barheight}
+% \begin{length}{\tud@dim@headsep}
+% Es folgen die speziellen Maße für die Seiten mit dem TUD-Kopf, also die Höhe
+% oberhalb des Querbalkens, die Höhe des Querbalkens selbst sowie der vertikale
+% (Mindest"~)Abstand zwischen Querbalken und Textkörper.
+% \begin{macrocode}
+\newlength{\tud@dim@headheight}
+\newlength{\tud@dim@barheight}
+\newlength{\tud@dim@headsep}
+% \end{macrocode}
+% \end{length}^^A \tud@dim@headsep
+% \end{length}^^A \tud@dim@barheight
+% \end{length}^^A \tud@dim@headheight
+% \begin{length}{\tud@dim@logox}
+% \begin{length}{\tud@dim@logoy}
+% \begin{length}{\tud@dim@logowidth}
+% \begin{length}{\tud@dim@logoheight}
+% Außerdem müssen noch die Abmessungen und die Position des TUD-Logos definiert
+% werden, nämlich der horizontale (Soll"~)Abstand zwischen linkem Seitenrand
+% und Logo, der vertikale (Soll"~)Abstand zwischen oberem Seitenrand und Logo
+% sowie die Breite und Höhe\footnote{Proportionen sind durch die Grafik
+% vorgegeben} des Logos.
+% \begin{macrocode}
+\newlength{\tud@dim@logox}
+\newlength{\tud@dim@logoy}
+\newlength{\tud@dim@logowidth}
+\newlength{\tud@dim@logoheight}
+% \end{macrocode}
+% \end{length}^^A \tud@dim@logoheight
+% \end{length}^^A \tud@dim@logowidth
+% \end{length}^^A \tud@dim@logoy
+% \end{length}^^A \tud@dim@logox
+% \begin{length}{\tud@dim@thinline}
+% \begin{length}{\tud@dim@heavyline}
+% Die Linienstärke der Outline im Kopf ist für ein monochromes Layout schmaler
+% als im Layout mit farbigem Hintergrund.\footnote{%
+% monochrom \cs{tud@dim@thinline}, koloriert \cs{tud@dim@heavyline}}%
+% Da im Dokument beide Varianten vorkommen können, wird die Breite durch den
+% Seitenstil situativ entweder auf den Wert von \cs{tud@dim@thinline} oder aber
+% \cs{tud@dim@heavyline} gesetzt.
+% \begin{macrocode}
+\newlength{\tud@dim@thinline}
+%<*class>
+\newlength{\tud@dim@heavyline}
+%</class>
+% \end{macrocode}
+% \end{length}^^A \tud@dim@heavyline
+% \end{length}^^A \tud@dim@thinline
+% \begin{length}{\tud@dim@headingsvskip}
+% Die Länge für den vertikalen Standardversatz der Überschriften.
+% \begin{macrocode}
+\newlength{\tud@dim@headingsvskip}
+% \end{macrocode}
+% \end{length}^^A \tud@dim@headingsvskip
+% \begin{length}{\tud@dim@ddcheight}
+% Zu guter Letzt noch die Höhe des DDC-Logos in der Fußzeile. Die maximale Höhe
+% der Fußzeile ist fest vorgegeben.
+% \begin{macrocode}
+%<*class>
+\newlength{\tud@dim@ddcheight}
+%</class>
+% \end{macrocode}
+% \end{length}^^A \tud@dim@ddcheight
+% \begin{macro}{\tud@geometry@set}
+% \begin{macro}{\tud@head@font@size}
+% Hiermit werden in Abhängigkeit der gewählten Papiergröße die Maße für die
+% Größe der Kopfzeile, die Position des Logos, die Seitenränder sowie die
+% Schriftgröße in der Kopfzeile definiert. Aufgerufen wird der Befehl durch
+% \cs{tud@geometry@process}.
+% \begin{macrocode}
+\newcommand*\tud@head@font@size{}
+\newcommand*\tud@geometry@set{%
+ \ifdim\paperheight<148.1mm\relax%
+ \setlength{\tud@dim@headheight}{17.5mm}%
+ \setlength{\tud@dim@barheight}{2.5mm}%
+ \setlength{\tud@dim@headsep}{6mm}%
+ \setlength{\tud@dim@logox}{5.5mm}%
+ \setlength{\tud@dim@logoy}{6.5mm}%
+ \setlength{\tud@dim@logowidth}{28.5mm}%
+ \setlength{\tud@dim@left}{15mm}%
+%<*class>
+ \setlength{\tud@dim@right}{10mm}%
+ \setlength{\tud@dim@top}{12.5mm}%
+ \setlength{\tud@dim@bottom}{12.5mm}%
+ \setlength{\tud@dim@footskip}{6mm}%
+ \setlength{\tud@dim@heavyline}{0.75pt}%
+%</class>
+ \setlength{\tud@dim@thinline}{0.5pt}%
+ \def\tud@head@font@size{4.5}%
+ \else\ifdim\paperheight<297.1mm\relax%
+ \setlength{\tud@dim@headheight}{35mm}%
+ \setlength{\tud@dim@barheight}{5mm}%
+ \setlength{\tud@dim@headsep}{12mm}%
+ \setlength{\tud@dim@logox}{11mm}%
+ \setlength{\tud@dim@logoy}{13.5mm}%
+ \setlength{\tud@dim@logowidth}{57mm}%
+ \setlength{\tud@dim@left}{30mm}%
+%<*class>
+ \setlength{\tud@dim@right}{20mm}%
+ \setlength{\tud@dim@top}{25mm}%
+ \setlength{\tud@dim@bottom}{25mm}%
+ \setlength{\tud@dim@footskip}{12mm}%
+ \setlength{\tud@dim@heavyline}{1pt}%
+%</class>
+ \setlength{\tud@dim@thinline}{0.5pt}%
+ \def\tud@head@font@size{9}%
+ \else\ifdim\paperheight<420.1mm\relax%
+ \setlength{\tud@dim@headheight}{50mm}%
+ \setlength{\tud@dim@barheight}{7mm}%
+ \setlength{\tud@dim@headsep}{17mm}%
+ \setlength{\tud@dim@logox}{15.5mm}%
+ \setlength{\tud@dim@logoy}{19mm}%
+ \setlength{\tud@dim@logowidth}{80mm}%
+ \setlength{\tud@dim@left}{42mm}%
+%<*class>
+ \setlength{\tud@dim@right}{28mm}%
+ \setlength{\tud@dim@top}{35mm}%
+ \setlength{\tud@dim@bottom}{35mm}%
+ \setlength{\tud@dim@footskip}{17mm}%
+ \setlength{\tud@dim@heavyline}{1.4pt}%
+%</class>
+ \setlength{\tud@dim@thinline}{0.7pt}%
+ \def\tud@head@font@size{13}%
+ \else\ifdim\paperheight<594.1mm\relax%
+ \setlength{\tud@dim@headheight}{70mm}%
+ \setlength{\tud@dim@barheight}{10mm}%
+ \setlength{\tud@dim@headsep}{24mm}%
+ \setlength{\tud@dim@logox}{22mm}%
+ \setlength{\tud@dim@logoy}{27mm}%
+ \setlength{\tud@dim@logowidth}{114mm}%
+ \setlength{\tud@dim@left}{60mm}%
+%<*class>
+ \setlength{\tud@dim@right}{40mm}%
+ \setlength{\tud@dim@top}{50mm}%
+ \setlength{\tud@dim@bottom}{50mm}%
+ \setlength{\tud@dim@footskip}{24mm}%
+ \setlength{\tud@dim@heavyline}{1.7pt}%
+%</class>
+ \setlength{\tud@dim@thinline}{1pt}%
+ \def\tud@head@font@size{13.5}%
+ \else\ifdim\paperheight<841.1mm\relax%
+ \setlength{\tud@dim@headheight}{100mm}%
+ \setlength{\tud@dim@barheight}{14mm}%
+ \setlength{\tud@dim@headsep}{34mm}%
+ \setlength{\tud@dim@logox}{31mm}%
+ \setlength{\tud@dim@logoy}{38mm}%
+ \setlength{\tud@dim@logowidth}{161.5mm}%
+ \setlength{\tud@dim@left}{85mm}%
+%<*class>
+ \setlength{\tud@dim@right}{56.5mm}%
+ \setlength{\tud@dim@top}{71mm}%
+ \setlength{\tud@dim@bottom}{71mm}%
+ \setlength{\tud@dim@footskip}{34mm}%
+ \setlength{\tud@dim@heavyline}{1.9pt}%
+%</class>
+ \setlength{\tud@dim@thinline}{1.5pt}%
+ \def\tud@head@font@size{14}%
+ \else%
+ \setlength{\tud@dim@headheight}{140mm}%
+ \setlength{\tud@dim@barheight}{20mm}%
+ \setlength{\tud@dim@headsep}{48mm}%
+ \setlength{\tud@dim@logox}{44mm}%
+ \setlength{\tud@dim@logoy}{54mm}%
+ \setlength{\tud@dim@logowidth}{228mm}%
+ \setlength{\tud@dim@left}{120mm}%
+%<*class>
+ \setlength{\tud@dim@right}{80mm}%
+ \setlength{\tud@dim@top}{100mm}%
+ \setlength{\tud@dim@bottom}{100mm}%
+ \setlength{\tud@dim@footskip}{48mm}%
+ \setlength{\tud@dim@heavyline}{2.1pt}%
+%</class>
+ \setlength{\tud@dim@thinline}{2pt}%
+ \def\tud@head@font@size{20}%
+ \fi\fi\fi\fi\fi%
+%<*class>
+ \setlength{\tud@dim@both}%
+ {\dimexpr\tud@dim@left+\tud@dim@right}%
+%</class>
+% \end{macrocode}
+% Hiermit wird sichergestellt, dass bei der Verwendung des DDC-Logos im Fuß
+% ausreichend Platz zur Verfügung steht.
+% \begin{macrocode}
+%<*class>
+ \setlength{\tud@dim@ddcheight}{.6\tud@dim@headheight}%
+ \setlength{\tud@ta@footdiff}%
+ {\dimexpr\tud@dim@ddcheight-\tud@ta@footskip+\baselineskip}%
+ \ifdim\tud@ta@footdiff<\z@\relax%
+ \setlength{\tud@ta@footdiff}{\z@}%
+ \fi%
+%</class>
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@font@size
+% \end{macro}^^A \tud@geometry@set
+%
+% \subsection{Definition des Seitenstils}
+%
+% Ein zentraler Bestandteil der Vorlagen ist der Seitenkopf des \CDs.
+% Dieser wird zum einen von verschiedenen Befehlen\footnote{beispielsweise von
+% \cs{maketitle} oder \cs{part} bzw. \cs{addpart}} benötigt, kann aber auch im
+% Dokument durch den Anwender selbst mit der \env{tudpage}"=Umgebung genutzt
+% werden.
+% \todo[v3.12]{%
+% Umstellung auf scrlayer; Seitenstil tudpage in scrlayer als separates Paket?
+% }
+% \begin{macro}{\ps@tudpage@plain}
+% \begin{macro}{\ps@tudpage@empty}
+% \begin{macro}{\tud@head@text}
+% \begin{macro}{\tud@head@text@first}
+% \begin{macro}{\tud@head@text@second}
+% \begin{macro}{\tud@head@text@delimiter}
+% \begin{macro}{\tud@head@text@buffer}
+% \begin{macro}{\tud@head@font}
+% \begin{macro}{\tud@head@rule}
+% Es wird ein neuer Seitenstil kreiert, der das \CD der TU~Dresden mit der
+% prägenden Kopfzeile umsetzt. Dabei soll dieser Kopf auch verwendbar sein,
+% wenn nicht die vom \CD vorgeschriebenen Seitenränder sondern das Paket
+% \pkg{typearea} genutzt wird. Dafür wird das Logo im Kopf so wie im \CD
+% vorgesehen mit dem TU-Symbol in den Rand und dem Schriftzug bündig zum
+% Textblock gesetzt. Für den Fall, dass das Dokument nicht ausschließlich mit
+% dem TUD-Kopf auf jeder Seite gesetzt wird, muss der komplette vertikale
+% Satzspiegel angepasst werden, sonst wäre der obere Rand optisch viel zu groß.
+%
+% Hierfür wird das Paket \pkg{geometry} genutzt. Es werden mehrere Layouts
+% erstellt\footnote{normaler Satzspiegel, TUD-Kopf sowie TUD-Kopf und "~Fuß}
+% und mit \cs{savegeometry}\marg{Stil} gesichert. Damit kann innerhalb des
+% Dokumentes mit dem Befehl \cs{loadgeometry}\marg{Stil} oberer sowie ggf.
+% untere Seitenrand geändert werden. Falls notwendig kann außerdem der Abstand
+% zwischen Kopf und Text mit der Länge \cs{tud@ta@headdiff} dahingehend
+% angepasst werden, dass der Textblock unter der TUD-Kopf auf der gleichen Höhe
+% beginnt, wie beim normalen Satzspiegel im restlichen Dokument ohne die
+% TUD-Kopfzeile.\footnote{normalerweise überflüssig, da TUD-Kopf recht groß;
+% kommt nur vor, wenn \opt{DIV} klein}
+% \begin{macrocode}
+\newcommand*\tud@head@text{}
+\newcommand*\tud@head@text@first{}
+\newcommand*\tud@head@text@second{}
+\newcommand*\tud@head@text@delimiter{}
+\newcommand*\tud@head@text@buffer{}
+\newcommand*\tud@head@font{}
+\newcommand*\tud@head@rule{}
+%<*class>
+\newcommand*\ps@tudpage@plain{%
+%</class>
+%<*titlepage>
+\newcommand*\tud@pagestyle{%
+%</titlepage>
+% \end{macrocode}
+% Die Kopfzeile selbst wird durch der Redefinition von \cs{@oddhead} bzw.
+% \cs{@evenhead} erstellt. Sollte keine Fakultät angegeben sein, wird eine
+% Warnung ausgegeben.
+% \begin{macrocode}
+%<*class>
+ \renewcommand*\@oddhead{%
+%</class>
+% \end{macrocode}
+% Es soll sichergestellt werden, dass das bei der Verwendung von \pkg{typearea}
+% über den Satzspiegel in den Seitenrand hinausragende TUD-Logo nicht außerhalb
+% des Druckrandes liegt. Dies kann beispielsweise bei zweiseitigem Satz
+% und/oder einem zu großen \opt{DIV}-Wertes passieren. Es wird in diesem Fall
+% eine Warnung ausgegeben, damit das Problem durch den Anwender behoben werden
+% kann.
+% \begin{macrocode}
+%<*class>
+ \setlength{\@tempdima}%
+ {\dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left}%
+ \ifdim\@tempdima<\ta@bcor\relax%
+ \tud@head@logo@wrn{\the\@tempdima}%
+ \fi%
+%</class>
+ \ifx\@faculty\@empty%
+%<*class>
+ \ClassWarningNoLine{\tudcls@name}{No faculty given}%
+%</class>
+%<*titlepage>
+ \PackageWarningNoLine{titlepage}{No faculty given}%
+%</titlepage>
+ \faculty{\null}%
+ \fi%
+% \end{macrocode}
+% Abhängig vom Parameter \opt{cdfont}\footnote{nicht zu verwechseln mit der
+% Klassenoption \opt{cdfont}} werden entweder die Schriften des \CDs oder
+% aber die serifenlose Standardschrift für die Kopfzeile verwendet.
+% \begin{macrocode}
+ \tud@head@font@set%
+% \end{macrocode}
+% Der Inhalt der Kopfzeile wird durch die angegeben Fakultät etc. vorgegeben.
+% Sollte der Platz in einer Zeile dafür nicht ausreichen, wird eine zweite
+% Zeile begonnen. Ob diese benötigt wird, ist abhängig vom Inhalt und von der
+% sich daraus ergebenden Breite der Textzeile. Das Erzeugen der ersten und
+% gegebenenfalls der zweiten Textzeile im Kopf erfolgt durch das Makro
+% \cs{tud@head@text@add}\oarg{Trennzeichen}\marg{Schrift}\marg{Feld}. Der dafür
+% verwendete Schalter \cs{@tempswa} und die benötigten Hilfsmakros werden
+% vor der Verwendung initialisiert.
+% \begin{macrocode}
+ \@tempswafalse%
+ \def\tud@head@text@first{}%
+ \def\tud@head@text@second{}%
+ \def\tud@head@text@buffer{}%
+ \tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}%
+ \tud@head@text@add{\tud@head@font@light}{\@department}%
+ \tud@head@text@add{\tud@head@font@light}{\@institute}%
+ \tud@head@text@add{\tud@head@font@light}{\@chair}%
+% \end{macrocode}
+% Sollte die zweite Textzeile zu lang sein, was bei kleinen Papierformaten
+% vorkommen kann, dann wird eine Warnung ausgegeben.
+% \begin{macrocode}
+%<*class>
+ \settowidth{\@tempdima}{\tud@head@text@second}%
+ \ifdim\@tempdima>\textwidth\relax%
+ \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth}%
+ \fi%
+% \end{macrocode}
+% Die Farbe des Kopfes wird für Titel und Teileseiten durch die gewählten
+% Optionen\footnote{\opt{cdtitle}, \opt{cdpart}} bestimmt.\footnote{für
+% die \env{tudpage}-Umgebung kann dieser angepasst werden}
+% \begin{macrocode}
+ \color{\tud@head@color}%
+%</class>
+% \end{macrocode}
+% Die eigentlichen Befehle zum Setzen des Kopfes. Ein potentielles Zweitlogo
+% wird bündig zum rechten Seitenrand gesetzt. Es erfolgt die Ausgabe der
+% Textzeile(n) mit Fakultät etc. über den Befehl \cs{tud@head@text@write}.
+% \begin{macrocode}
+%<*titlepage>
+ \vspace*{\dimexpr-\headheight-\topskip-1in}%
+%</titlepage>
+ \vbox to \dimexpr\tud@dim@barheight+\tud@dim@headheight{%
+ \vfill\linespread{0}\selectfont%
+ \setlength{\@tempdima}{\tud@dim@logox}%
+ \addtolength{\@tempdima}{-\tud@dim@left}%
+ \hspace*{\@tempdima}%
+ \tud@mainlogo\hfill\tud@head@logo%
+ \setlength{\@tempdima}{\tud@dim@headheight}%
+ \addtolength{\@tempdima}{-\tud@dim@logoy}%
+ \addtolength{\@tempdima}{-\tud@dim@logoheight}%
+% \end{macrocode}
+% Sollte die Kopffarbe weiß sein~-- es ist also ein farbiger Hintergrund
+% gewählt~-- dann wird die Outline des Balkens breiter gesetzt. Die Breite
+% wird in \cs{@tempdimc} gespeichert.
+% \begin{macrocode}
+%<*class>
+ \ifstr{\tud@head@color}{white}%
+ {\setlength{\@tempdimc}{\tud@dim@heavyline}}%
+ {\setlength{\@tempdimc}{\tud@dim@thinline}}%
+%</class>
+%<*titlepage>
+ \setlength{\@tempdimc}{\tud@dim@thinline}%
+%</titlepage>
+ \vspace*{\dimexpr\@tempdima-.5\@tempdimc}%
+% \end{macrocode}
+% Der Querbalken des Kopfes läuft je nach gewähltem Parameter \opt{widehead}
+% entweder nur über den Textbereich oder aber über die gesamte Seitenbreite.
+% Dafür muss dieser ggf. um den Betrag des linken Randes der Seite nach links
+% verschoben werden und beginnt dann genau am Blattrand. Dieser Wert wird
+% berechnet und temporär in \cs{@tempdima} gespeichert. Der Balken selbst wird
+% mit dem zweimaligen Aufruf von \cs{tud@head@rule}~-- ein ggf. entsprechend um
+% \cs{@tempdima} horizontal verschobener \cs{rule}-Befehl~-- gesetzt.
+% \begin{macrocode}
+ \def\tud@head@rule{%
+ \if@tud@widehead%
+ \setlength{\@tempdima}{\oddsidemargin}%
+%<*class>
+ \if@twoside\ifodd\c@page\else%
+ \setlength{\@tempdima}{\evensidemargin}%
+ \fi\fi%
+%</class>
+ \addtolength{\@tempdima}{1in}%
+ \setlength{\@tempdimb}{\paperwidth}%
+ \else%
+ \setlength{\@tempdima}{\z@}%
+ \setlength{\@tempdimb}{\textwidth}%
+ \fi%
+ \hfuzz=2\@tempdima%
+ \hspace*{-\@tempdima}%
+ \rule[-.5\@tempdimc]{\@tempdimb}{\@tempdimc}%
+ \newline%
+ }%
+ \newline%
+ \tud@head@rule%
+ \tud@head@text@write{\tud@head@text@first}%
+ \newline%
+ \tud@head@rule%
+ \tud@head@text@write{\tud@head@text@second}%
+% \end{macrocode}
+% Eine Extrazeile kann mit dem Befehl \cs{extraheadline}\marg{Textzeile}
+% eingefügt werden.
+% \begin{macrocode}
+ \ifx\@extraheadline\@empty\else%
+ \newline\tud@head@font@light\@extraheadline%
+ \vspace*{-\tud@dim@barheight}%
+ \fi%
+ \vspace*{\dimexpr\@tempdimc-\tud@dim@barheight}%
+ }%
+%<*class>
+ }%
+ \let\@evenhead\@oddhead%
+%</class>
+}
+% \end{macrocode}
+% Dieser Seitenstil wird für Einzelseiten wie Teil- oder Kapitelseiten
+% benötigt, da hier die lokale Einstellung einer leeren Fußzeile sonst nur
+% umständlich zu realisieren wäre.
+% \begin{macrocode}
+%<*class>
+\newcommand*\ps@tudpage@empty{%
+ \ps@tudpage@plain%
+ \let\@mkboth\@gobbletwo%
+ \let\@oddfoot\@empty%
+ \let\@evenfoot\@empty%
+}
+%</class>
+% \end{macrocode}
+% \end{macro}^^A \tud@head@rule
+% \end{macro}^^A \tud@head@font
+% \end{macro}^^A \tud@head@text@buffer
+% \end{macro}^^A \tud@head@text@delimiter
+% \end{macro}^^A \tud@head@text@second
+% \end{macro}^^A \tud@head@text@first
+% \end{macro}^^A \tud@head@text
+% \end{macro}^^A \ps@tudpage@empty
+% \end{macro}^^A \ps@tudpage@plain
+% \begin{macro}{\tud@head@text@add}
+% Dieser Befehl dient zum Füllen eines Puffer-Strings. Es werden sequentiell
+% alle potentiellen Felder hinzugefügt. Sollte das zuletzt hinzugefügte Feld
+% dazu führen, dass der Text der Kopfzeile über den Seitenrand hinausragt, so
+% wird eine zweite Zeile begonnen. In diesem Fall wird der temporäre Schalter
+% \cs{@tempswa} aktiviert. Auch das Trennzeichen zwischen einzelnen Feldern
+% muss gepuffert werden, da dieses nur gesetzt wird, wenn ein weiteres Feld
+% nachfolgt.
+% \begin{macrocode}
+\newcommand*\tud@head@text@add[3][, ]{%
+ \def\tud@head@font{#2}%
+ \edef\tud@head@text{#3}%
+ \ifx\tud@head@text\@empty%
+ \def\tud@head@text@delimiter{}%
+ \else%
+ \edef\tud@head@text@delimiter{\tud@head@text@buffer}%
+ \def\tud@head@text@buffer{#1}%
+ \fi%
+ \if@tempswa\else%
+ \def\@tempa{%
+ \tud@head@text@first%
+ \tud@head@text@delimiter%
+ \tud@head@font%
+ \tud@head@text%
+ }%
+ \settowidth{\@tempdima}{\@tempa}%
+ \ifdim\@tempdima>\textwidth\relax%
+ \@tempswatrue%
+ \def\tud@head@text@delimiter{}%
+ \else%
+ \edef\tud@head@text@first{\@tempa}%
+ \fi%
+ \fi%
+ \if@tempswa%
+ \edef\tud@head@text@second{%
+ \tud@head@text@second%
+ \tud@head@text@delimiter%
+ \tud@head@font%
+ \tud@head@text%
+ }%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@text@add
+% \begin{macro}{\tud@head@text@write}
+% Befehl zur Ausgabe der ersten und evtl. zweiten Textzeile im TUD-Kopf
+% \begin{macrocode}
+\newcommand*\tud@head@text@write[1]{%
+ \raisebox{\dimexpr(\tud@dim@barheight-\@tempdimc-\totalheight)/2}%
+ [\dimexpr\tud@dim@barheight-\@tempdimc-\depth\relax][\depth]{#1}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@text@write
+%
+% \iffalse
+%<*class>
+% \fi
+%
+% \begin{macro}{\tud@head@text@wrn}
+% Warnung für den Fall, dass die Kopfinformationen breiter werden, als die
+% Textbreite, was bei besonders kleinen Papierformaten geschehen kann.
+% \begin{macrocode}
+\newcommand\tud@head@text@wrn[1]{%
+ \ClassWarning{\tudcls@name}{%
+ The given entries for the headline\MessageBreak%
+ (faculty, institute etc.) are #1\MessageBreak%
+ too wide for the textwidth%
+ }%
+ \global\let\tud@head@text@wrn\@gobble%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@text@wrn
+% \begin{macro}{\tud@head@logo@wrn}
+% Warnung für den Fall, dass die Kopfinformationen breiter werden, als die
+% Textbreite, was bei besonders kleinen Papierformaten geschehen kann.
+% \begin{macrocode}
+\newcommand\tud@head@logo@wrn[1]{%
+ \ClassWarning{\tudcls@name}{%
+ The selected page layout means that the\MessageBreak%
+ logo of TUD extends beyond the printing area.\MessageBreak%
+ The inner margin is smaller than BCOR\MessageBreak%
+ (BCOR=\the\ta@bcor,\space inner margin=#1)\MessageBreak%
+ Maybe you should decrease the current value\MessageBreak%
+ of DIV (DIV=\the\ta@div)%
+ }%
+ \global\let\tud@head@logo@wrn\@gobble%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@logo@wrn
+%
+% \iffalse
+%</class>
+%</titlepage|class&!option>
+%<*class&option>
+% \fi
+%
+% \subsection{Befehle, Optionen und Umsetzung der Seitenstilvarianten}
+%
+% \todo[v3.12]{%
+% tud- und ddc-logo via scrlayer setzen, tudhead und cdfoot als Optionen mit
+% den Werten all, part, chapter, text; Koppeln mit den Optionen für cdpart
+% und cdchapter, heißt entsprechende Werte vorsehen; partpagestyle,
+% chapterpagestyle und abstractpagestyle ggf. anpassen; chapterpage beachten!
+% abstractpagestyle weg, direkt über die Option abstract setzen, entsprechend
+% Werte für Kopf und Fuß vorsehen; Bezeichnung der tudpage-Optionen
+% äquivalent zu Klassenoptionen, nur für Titelseite die Option ddctitle
+% (koppeln an ddc): Soll heißen: ddctitle (ddc) für Titelseite, ddchead und
+% ddcfoot für alle Seiten; außerdem cd(title,part,chapter) = ddchead, ddcfoot;
+% nur Kopf oder Fuß! color-Option nur bei weißem Hintergrund; evtl auch Option
+% ddc mit werten head und foot (ddc=head,ddc=foot), nur entweder kopf oder fuß
+% zulassen
+% }
+% \begin{option}{ddc}
+% \begin{option}{ddchead}
+% \begin{macro}{\tud@ddc@head}
+% Die Option \opt{ddchead} dient zum Einbinden des Dresden-Concept-Logos auf
+% der Titelseite. Entweder einfarbig (schwarz, blau bzw. weiß) oder farbig. Der
+% Wert des Makros \cs{tud@ddc@head} wird auch für Verarbeitung der Optionen der
+% \env{tudpage}"=Umgebung verwendet. Nach der Verarbeitung der Option wird
+% das entsprechende DDC-Logo als Zweitlogo genutzt.
+% \begin{macrocode}
+\newcommand*\tud@ddc@head{0}
+\TUD@numkey{ddc}[true]{tud@ddc@head}{%
+ {false}{0},{off}{0},{no}{0},%
+ {true}{1},{on}{1},{yes}{1},%
+ {color}{2},{colour}{2},%
+}
+\TUD@key{ddchead}[true]{\TUDoptions{ddc=#1}}
+% \end{macrocode}
+% \end{macro}^^A \tud@ddc@head
+% \end{option}^^A ddchead
+% \end{option}^^A ddc
+% \todo[v3.12]{für title, part, chapter und tudpage überarbeiten (scrlayer)}
+% \begin{option}{ddcfoot}
+% \begin{macro}{\tud@ddc@foot}
+% Die Option \opt{ddcfoot} ist momentan bloß für die Verarbeitung der
+% Optionen der \env{tudpage}"=Umgebung ausschlaggebend. Für eine spätere
+% Version soll diese für Formularklassen o.\,ä. verwendet werden.
+% \begin{macrocode}
+\newcommand*\tud@ddc@foot{0}
+\TUD@numkey{ddcfoot}[true]{tud@ddc@foot}{%
+ {false}{0},{off}{0},{no}{0},%
+ {true}{1},{on}{1},{yes}{1},%
+ {color}{2},{colour}{2},%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@ddc@foot
+% \end{option}^^A ddcfoot
+%
+% \iffalse
+%</class&option>
+%<*titlepage|class&option>
+% \fi
+%
+% \begin{option}{widehead}
+% \begin{macro}{\if@tud@widehead}
+% \begin{macro}{\if@tud@widehead@locked}
+% Der Schalter dient zur Steuerung der Breite des Querbalkens im Kopf der
+% \env{tudpage}-Seite. Entweder der Querbalken liegt im Satzspiegel oder
+% aber über die komplette Papierbreite.
+% \begin{macrocode}
+%<*class>
+\newif\if@tud@widehead
+\TUD@key@lock{widehead}[true]{%
+ \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}%
+}
+%</class>
+%<*titlepage>
+\FamilyBoolKey[TU-Dresden]{title}{widehead}{@tud@widehead}
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \if@tud@widehead@locked
+% \end{macro}^^A \if@tud@widehead
+% \end{option}^^A widehead
+%
+% \iffalse
+%</titlepage|class&option>
+%<*titlepage|class&!option>
+% \fi
+%
+% \begin{macro}{\tud@mainlogo}
+% \begin{macro}{\tud@@mainlogo}
+% Mit diesem Makro wird das Logo der TU~Dresden eingebunden. Bei der Verwendung
+% von pdf\LaTeX{} kann wird Farbe des Logos an die Kopffarbe angepasst. Wird
+% der klassische Weg über dvi gewählt, so muss abhängig von der gewählten
+% Kopffarbe das entsprechend gefärbte Logo eingebunden werden.
+%
+% \begin{macrocode}
+%<*class>
+\newcommand*\tud@@mainlogo{}
+%</class>
+\newcommand*\tud@mainlogo{%
+%<*class>
+ \def\tud@@mainlogo{TU_Logo_SW}%
+ \ifpdfoutput{}{%
+ \ifstr{\tud@head@color}{HKS41}%
+ {\def\tud@@mainlogo{TU_Logo_HKS41}}{}%
+ \ifstr{\tud@head@color}{cddarkblue}%
+ {\def\tud@@mainlogo{TU_Logo_HKS41}}{}%
+ \ifstr{\tud@head@color}{white}%
+ {\def\tud@@mainlogo{TU_Logo_WS}}{}%
+ }%
+%</class>
+ \def\@tempa{%
+ \includegraphics[width=\tud@dim@logowidth]{%
+%<*class>
+ \tud@@mainlogo%
+%</class>
+%<*titlepage>
+ \@mainlogo%
+%</titlepage>
+ }%
+ }%
+ \settoheight{\tud@dim@logoheight}{\@tempa}\@tempa%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@@mainlogo
+% \end{macro}^^A \tud@mainlogo
+% \begin{macro}{\headlogo}
+% \begin{macro}{\logofile}
+% \begin{macro}{\logofilename}
+% \begin{macro}{\tud@head@logo}
+% \begin{macro}{\tud@head@@logo}
+% \begin{macro}{\tud@head@@@logo}
+% Diese Befehle dienen zum Einbinden eines Zweitlogos im Kopf bündig zum
+% rechten Seitenrand. Dabei wird bei der Angabe des Logos mit
+% \cs{headlogo}\oarg{Optionsliste}\marg{Dateiname} der Dateiname in
+% \cs{tud@head@@logo} und das optionale Argument in \cs{tud@head@@@logo}
+% gespeichert, damit diese später über \cs{tud@head@logo} an den Befehl
+% \cs{includegraphics} weitergereicht werden können. Sollte die Angabe des
+% Zweitlogos mit der Option für das DDC-Logo kollidieren, so wird eine Warnung
+% ausgegeben.
+% \begin{macrocode}
+%<*class>
+\newcommand*\headlogo[2][]{%
+ \ifnum\tud@ddc@head>0\relax%
+ \def\tud@ddc@head{0}%
+ \ClassWarning{\tudcls@name}%
+ {DDC logo is overwritten with \string#2}%
+ \fi%
+ \def\tud@head@@logo{#2}%
+ \def\tud@head@@@logo{#1}%
+}
+\newcommand*\logofile{}
+\newcommand*\logofilename{}
+\let\logofile\headlogo
+\let\logofilename\headlogo
+\newcommand*\tud@head@@logo{}
+\newcommand*\tud@head@@@logo{}
+\newcommand*\tud@head@logo{%
+ \ifx\tud@head@@logo\@empty\else%
+ \let\@tempa\tud@head@@@logo%
+ \pretocmd{\@tempa}{height=\tud@dim@logoheight,}{}{}%
+ \expandafter\includegraphics%
+ \expandafter[\@tempa]{\tud@head@@logo}%
+ \fi%
+}
+%</class>
+%<*titlepage>
+\DefineSimpleTitleKey[TU-Dresden]{headlogo}
+\newcommand*\tud@head@logo{%
+ \ifx\@headlogo\@empty\else%
+ \includegraphics[height=\tud@dim@logoheight]{\@headlogo}%
+ \fi%
+}
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \tud@head@@@logo
+% \end{macro}^^A \tud@head@@logo
+% \end{macro}^^A \tud@head@logo
+% \end{macro}^^A \logofilename
+% \end{macro}^^A \logofile
+% \end{macro}^^A \headlogo
+%
+% \iffalse
+%</titlepage|class&!option>
+%<*class&option>
+% \fi
+%
+% \begin{option}{cdfoot}
+% \begin{option}{tudfoot}
+% \begin{macro}{\if@tud@cdfoot}
+% Dieser Seitenstil mit den Kolumnentitel im Fuß wurde bereits für die alte
+% \cls{tudbook}-Klasse bereitgestellt und soll auch hier optional angeboten
+% werden. Dafür werden die ursprünglichen Seitenstile gesichert, um eventuell
+% zurückschalten zu können. Anschließend werden diese mit den neuen Stilen
+% überschrieben.
+% \begin{macrocode}
+\newif\if@tud@cdfoot
+\TUD@key{cdfoot}[true]{%
+ \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}%
+% \end{macrocode}
+% Da die originalen Seitenstile durch \KOMAScript{} erst nach der Ausführung der
+% Optionen erstellt werden und die hier genutzten Seitenstile auf den orginalen
+% Definitionen aufbauen, erfolgt die Ausführung erst nach der Präambel.
+% \begin{macrocode}
+ \if@atdocument%
+ \if@tud@cdfoot%
+ \tud@cmd@store{ps@headings}%
+ \tud@cmd@store{ps@myheadings}%
+ \tud@cmd@store{ps@plain}%
+ \let\ps@headings\tud@ps@headings%
+ \let\ps@myheadings\tud@ps@myheadings%
+ \let\ps@plain\tud@ps@plain%
+ \else%
+ \tud@cmd@restore{ps@headings}%
+ \tud@cmd@restore{ps@myheadings}%
+ \tud@cmd@restore{ps@plain}%
+ \fi%
+ \clearpage%
+ \expandafter\pagestyle\expandafter{\tud@currentpagestyle}%
+ \fi%
+}
+% \end{macrocode}
+% Diese Option wird nur aus Gründen der Kombatibilität zu v1.0 definiert.
+% \begin{macrocode}
+\TUD@key{tudfoot}[true]{%
+ \TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
+ \if@tempswa%
+ \TUDoptions{cdfoot}%
+ \else%
+ \TUDoptions{cdfoot=false}%
+ \fi%
+}
+% \end{macrocode}
+% Damit die Einstellungen aus der Präambel übernommen werden, wird die Option
+% ggf. zu Beginn mit \cs{AtBeginDocument} aufgerufen.
+% \begin{macrocode}
+\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot}\pagestyle{headings}\fi}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@cdfoot
+% \end{option}^^A tudfoot
+% \end{option}^^A cdfoot
+% \begin{macro}{\tud@currentpagestyle}
+% Um beim Umschalten des Formats der Kopf- und Fußzeilen mit \opt{cdfoot} den
+% aktuellen Seitenstil selbst\footnote{plain, empty, headings oder myheadings}
+% zu behalten, wird dieser im Hilfsmakro \cs{tud@currentpagestyle} gespeichert.
+% Dazu wird der Befehl \cs{pagestyle} entsprechend angepasst.
+% \begin{macrocode}
+\newcommand*\tud@currentpagestyle{plain}
+\apptocmd{\pagestyle}{%
+ \def\tud@currentpagestyle{#1}}{}{\tud@patch@wrn{pagestyle}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@currentpagestyle
+%
+% \iffalse
+%</class&option>
+%<*class&!option>
+% \fi
+%
+% \begin{macro}{\tud@ps@headings}
+% \begin{macro}{\tud@ps@myheadings}
+% \begin{macro}{\tud@ps}
+% \begin{macro}{\tud@ps@plain}
+% Die dazugehörigen neuen Seitenstile.
+% \begin{macrocode}
+\newcommand*\tud@ps@headings{\tud@cmd@use{ps@headings}\tud@ps}
+\newcommand*\tud@ps@myheadings{\tud@cmd@use{ps@myheadings}\tud@ps}
+\newcommand*\tud@ps{%
+ \renewcommand*\@evenhead{}%
+ \renewcommand*\@oddhead{}%
+ \renewcommand*\@evenfoot{%
+ \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
+ \hb@xt@ \@tempdima{{%
+ \normalsize\pagemark\quad\footnotesize\leftmark\hfil%
+ }}%
+ }}%
+ }%
+ \renewcommand*\@oddfoot{%
+ \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
+ \hb@xt@ \@tempdima{{%
+ \hfil\footnotesize\rightmark\quad\normalsize\pagemark%
+ }}%
+ }}%
+ \hss%
+ }%
+}%
+\newcommand*\tud@ps@plain{%
+ \renewcommand*\@evenhead{}%
+ \renewcommand*\@oddhead{}%
+ \renewcommand*\@evenfoot{%
+ \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{%
+ \hb@xt@ \@tempdima{{%
+ \normalsize\pagemark\hfil%
+ }}%
+ }}%
+ }%
+ \renewcommand*\@oddfoot{%
+ \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{%
+ \hb@xt@ \@tempdima{{%
+ \hfil\normalsize\pagemark%
+ }}%
+ }}%
+ \hss%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@ps@plain
+% \end{macro}^^A \tud@ps
+% \end{macro}^^A \tud@ps@myheadings
+% \end{macro}^^A \tud@ps@headings
+%
+% \iffalse
+%</class&!option>
+%<*class&option>
+% \fi
+%
+% \todo[v3.12]{%
+% bei scrlayer, die hooks für die Umstellung des Seitenstils nutzen um den
+% richtigen Satzspiegel mit \cs{loadgeometry} zu wählen
+% }
+% \begin{option}{geometry}
+% \begin{macro}{\tud@geometry}
+% \begin{macro}{\if@tud@geometry@locked}
+% Für das \CD sind standardmäßig feste Seitenränder vorgegeben. Diese sind
+% jedoch leider nur aus gestalterischen Motiven und ohne die Beachtung
+% typographischer Belange gewählt und festgelegt worden. Beispielweise ist ein
+% doppelseitiger Satz einer Abschlussarbeit im \CD nur mit einem grauenhaften
+% Satzspiegel möglich. Um dem Anwender einen gewissen Spielraum zu geben, wird
+% alternativ zum asymmetrischen (\opt{geomery=on}) ein symmetrischer
+% Satzspiegel bereitgestellt (\opt{geomery=normal}), welcher bei einseitigem
+% Satz zentriert ist und bei zweiseitigem Satz den inneren Rand kleiner setzt
+% als den äußeren. Des Weiteren kann die Satzspiegelberechnung auch direkt
+% durch \pkg{typearea} aus dem \KOMAScript"=Paket erfolgen
+% (\opt{geomery=no}). Mit \cs{tud@geometry@process} werden alle getroffenen
+% Satzspiegeloptionen umgesetzt und nachfolgend definiert.
+% \begin{macrocode}
+\newcommand*\tud@geometry{0}
+\TUD@key@lock{geometry}[true]{%
+ \TUD@set@numkey@lock{geometry}{tud@geometry}{%
+ {false}{0},{off}{0},{no}{0},{typearea}{0},%
+ {true}{1},{on}{1},{yes}{1},{tud}{1},{asymmetric}{1},{cd}{1},%
+ {symmetric}{2},{normal}{2},{standard}{2},{std}{2},%
+ {twoside}{3},{balanced}{3}%
+ }{#1}%
+ \if@atdocument\recalctypearea\fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@geometry@locked
+% \end{macro}^^A \tud@geometry
+% \end{option}^^A geometry
+%
+% \iffalse
+%</class&option>
+%<*class&!option>
+% \fi
+%
+% \begin{length}{\tud@ta@textheight}
+% \begin{length}{\tud@ta@topmargin}
+% \begin{length}{\tud@ta@headheight}
+% \begin{length}{\tud@ta@headsep}
+% \begin{length}{\tud@ta@footskip}
+% Diese Längen werden benötigt, um einen mit \pkg{typearea} berechneten
+% Satzspiegel an \pkg{geometry} weiterzureichen und die unterschiedlichen, vom
+% Satzspiegel abhängigen Seitenlayouts zu erstelen.
+% \begin{macrocode}
+\newlength{\tud@ta@textheight}
+\newlength{\tud@ta@topmargin}
+\newlength{\tud@ta@headheight}
+\newlength{\tud@ta@headsep}
+\newlength{\tud@ta@footskip}
+% \end{macrocode}
+% \end{length}^^A \tud@ta@footskip
+% \end{length}^^A \tud@ta@headsep
+% \end{length}^^A \tud@ta@headheight
+% \end{length}^^A \tud@ta@topmargin
+% \end{length}^^A \tud@ta@textheight
+% \begin{length}{\tud@ta@headdiff}
+% \begin{length}{\tud@ta@footdiff}
+% Längen für den Ausgleich zwischen normalem und benötigtem Satzspiegel für das
+% spezielle Layout des \CDs. Die Differenz zwischen den Kopf- bzw. Fußhöhen
+% der unterschiedlichen Satzspiegelvarianten wird bei der Ausführung von
+% \cs{tud@geometry@process} berechnet und in \cs{tud@ta@headdiff} bzw.
+% \cs{tud@ta@footdiff} gespeichert. Dabei muss unterschieden werden, ober der
+% Satzspiegel genutzt wird, der durch das \CD vorgegeben ist oder der durch
+% \pkg{typearea} berechnete.
+% \begin{macrocode}
+\newlength{\tud@ta@headdiff}
+\newlength{\tud@ta@footdiff}
+% \end{macrocode}
+% \end{length}^^A \tud@ta@footdiff
+% \end{length}^^A \tud@ta@headdiff
+% Der Befehl \cs{AfterCalculatingTypearea} wird durch \KOMAScript{} bzw. das
+% Paket \pkg{typearea} bereitgestellt. Die durch \pkg{typearea} berechneten
+% Längenwerte für den Satzspiegel werden zur Weiterverarbeitung gesichert.
+% Für die Erstellung des Satzspiegels wird das Paket \pkg{geometry} verwendet.
+% Bei der entsprechenden Option (\opt{geometry=no}) wird jedoch der von
+% \pkg{typearea} berechnete Satzspiegel an \pkg{geometry} weitergereicht.
+% Somit wird es möglich, unabhängig vom genutzten Paket\footnote{\pkg{typearea}
+% oder \pkg{geometry}} zur Festlegung des Satzspiegels, diesen innerhalb des
+% Dokumentes zu ändern. Damit auch Änderungen an der Papiergröße möglich sind,
+% muss ein einzelnes Makro (\cs{Gm@restore@org}) aus \pkg{geometry} temporär
+% deaktiviert werden.
+% \begin{macrocode}
+\AfterCalculatingTypearea{%
+ \setlength{\tud@ta@textheight}{\textheight}%
+ \setlength{\tud@ta@topmargin}{\topmargin}%
+ \setlength{\tud@ta@headheight}{\headheight}%
+ \setlength{\tud@ta@headsep}{\headsep}%
+ \setlength{\tud@ta@footskip}{\footskip}%
+ \setlength{\tud@dim@headingsvskip}{.1\textheight}%
+ \let\@tempa\Gm@restore@org%
+ \if@atdocument\let\Gm@restore@org\relax\fi%
+ \tud@geometry@process%
+ \let\Gm@restore@org\@tempa%
+}
+% \end{macrocode}
+% \begin{macro}{\tud@geometry@hmargin}
+% \begin{macro}{\tud@geometry@vmargin}
+% \begin{macro}{\tud@geometry@pmargin}
+% \begin{macro}{\tud@geometry@dmargin}
+% Dies sind Hilfsmakros zur Definition unterschiedicher Seitenlayouts
+% (horizontale und vertikale Ränder). Es handelt sich dabei um die Definition
+% der horizontalen und vertikalen Seitenränder sowie die angepassten vertikalen
+% Einstellungen für die Seitenstilvarianten mit TUD-Kopf und/oder DDC-Fuß.
+% Gesetzt werden diese in Abhängigkeit von der Option \opt{geometry} im
+% Makro \cs{tud@geometry@process} bzw. \cs{tud@geometry@@process}.
+% \begin{macrocode}
+\newcommand*\tud@geometry@hmargin{}
+\newcommand*\tud@geometry@vmargin{}
+\newcommand*\tud@geometry@pmargin{}
+\newcommand*\tud@geometry@dmargin{}
+% \end{macrocode}
+% \end{macro}^^A \tud@geometry@dmargin
+% \end{macro}^^A \tud@geometry@pmargin
+% \end{macro}^^A \tud@geometry@vmargin
+% \end{macro}^^A \tud@geometry@hmargin
+% \begin{macro}{\tud@geometry@process}
+% \begin{macro}{\tud@geometry@@process}
+% \begin{macro}{\tud@geometry@@@process}
+% Das Makro \cs{tud@geometry@process} setzt die Option für den gewünschten
+% Satzspiegel um, sowohl für die Seitenränder als auch zur Einberechnung der
+% Kopf- und/oder Fußzeile. Um mehrere Satzspiegel verwenden zu können~-- was
+% für die unterschiedlichen Höhen für Kopf- und Fußzeile nötig ist~-- wird das
+% Paket \pkg{geometry} verwendet. Soll \pkg{typearea} zur Satzspiegelerstellung
+% genutzt werden, so werden die damit berechneten Werte an \pkg{geometry}
+% weitergereicht.
+% \begin{macrocode}
+\newcommand*\tud@geometry@process{%
+% \end{macrocode}
+% Die Maßvorgaben werden entsprechend der Seitengröße gesetzt.
+% \begin{macrocode}
+ \tud@geometry@set%
+% \end{macrocode}
+% Für den Fall, dass \pkg{typearea} die Satzspiegelberechnung übernimmt, werden
+% die Ergebnisse aus der Berechnung direkt an \pkg{geometry} weitergereicht.
+% Dazu werden die berechneten Werte in die entsprechenden Hilfsmakros
+% für die Erstellung der \pkg{geometry}-Satzspiegel übergeben.
+% \begin{macrocode}
+ \ifcase \tud@geometry\relax%
+ \def\tud@geometry@hmargin{%
+ left=\dimexpr\oddsidemargin+1in,%
+ width=\textwidth,%
+ }%
+ \def\tud@geometry@vmargin{%
+ top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in,%
+ headheight=\tud@ta@headheight,%
+ headsep=\tud@ta@headsep,%
+ textheight=\tud@ta@textheight,%
+ footskip=\dimexpr\tud@ta@footskip,%
+ }%
+ \def\tud@geometry@pmargin{%
+ top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,%
+ headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,%
+ headsep=\tud@dim@headsep,%
+ textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff,%
+ footskip=\dimexpr\tud@ta@footskip,%
+ }%
+ \def\tud@geometry@dmargin{%
+ textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@ta@footdiff,%
+ footskip=\dimexpr\tud@ta@footskip+\tud@ta@footdiff,%
+ }%
+% \end{macrocode}
+% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile
+% für den \pkg{typearea}-Satzspiegel berechnet.
+% \begin{macrocode}
+ \global\setlength{\tud@ta@headdiff}{\dimexpr%
+ \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep%
+ -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in%
+ }%
+% \end{macrocode}
+% Hier erfolgt die Definition der Hilfsmakros für das CD-konforme asymmetrische
+% bzw. an das \CD angelehnte Layout für einseitigen und zweiseitigen Satz.
+% Zuerst werden die verschiedenen unterschiedlichen horizontalen Ränder für die
+% unterschiedlichen Optionen definiert. Danach kommt der Gleichanteil.
+% \begin{macrocode}
+ \else%
+ \ifcase \tud@geometry\or%
+ \def\tud@geometry@hmargin{%
+ left=\tud@dim@left,%
+ textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,%
+ bindingoffset=\ta@bcor,%
+ \if@twoside asymmetric,\fi%
+ }%
+% \end{macrocode}
+% Die zweite Variante ist eigentlich nicht konform mit dem \CD. Sie ist sowohl
+% im einseitigen als auch im zweiseitgigen Satz symmetrisch.
+% \begin{macrocode}
+ \or%
+ \def\tud@geometry@hmargin{%
+ left=.5\tud@dim@both,%
+ textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,%
+ bindingoffset=\ta@bcor,%
+ }%
+% \end{macrocode}
+% Eigentlich ist auch die dritte Variante nach dem \CD nicht zulässig. Sie ist
+% im einseitigen Satz symmetrisch, im zweiseitgigen Satz wird die innere Seite
+% schmaler gesetzt als die äußere, wobei hier auf das in den Seitenrand ragende
+% TUD-Logo geachtet werden muss.
+% \begin{macrocode}
+ \or%
+ \def\tud@geometry@hmargin{%
+ \if@twoside%
+ left=.4\tud@dim@both,%
+ twoside,%
+ \else%
+ left=.5\tud@dim@both,%
+ \fi%
+ textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,%
+ bindingoffset=\ta@bcor,%
+ }%
+ \fi%
+% \end{macrocode}
+% Für alle drei Varianten der Gleichanteil.
+% \begin{macrocode}
+ \def\tud@geometry@vmargin{%
+ top=\tud@dim@top,%
+ headsep=\tud@dim@headsep,%
+ bottom=\tud@dim@bottom,%
+ footskip=\tud@dim@footskip,%
+ }%
+ \def\tud@geometry@pmargin{%
+ top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,%
+ headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,%
+ headsep=\tud@dim@headsep,%
+ bottom=\tud@dim@bottom,%
+ footskip=\tud@dim@footskip,%
+ }%
+ \def\tud@geometry@dmargin{%
+ bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,%
+ footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,%
+ }%
+% \end{macrocode}
+% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile
+% für den Satzspiegel des \CDs berechnet.
+% \begin{macrocode}
+ \global\setlength{\tud@ta@headdiff}{\dimexpr%
+ \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep-\tud@dim@top%
+ }%
+ \fi%
+% \end{macrocode}
+% Es wird \cs{tud@geometry@@process} aufgerufen, was die zuvor definierten
+% Hilfsmakros nutzt, um alle benötigten Seitenlayouts optionsabhängig zu
+% erstellen.
+% \begin{macrocode}
+ \tud@geometry@@process%
+}
+% \end{macrocode}
+% Der Befehl \cs{tud@geometry@@process} setzt mit den zuvor definierten
+% Hilfsmakros die \pkg{geometry}"=Optionen für sowohl die seitlichen als auch
+% die oberen sowie unteren Seitenränder und inkludiert ggf. Kopf- und Fußzeile
+% in den Satzspiegel. Die unterschiedlichen Layouts sind dabei \opt{tudddc} für
+% TUD-Kopf und DDC-Fuß, \opt{tudpage} für den alleinigen TUD-Kopf sowie
+% \opt{tudarea} für den normalen bzw. mit \pkg{typearea} berechneten
+% Satzspiegel.
+% \begin{macrocode}
+\newcommand*\tud@geometry@@process{%
+% \end{macrocode}
+% Als erstes wird der Satzspiegel für TUD-Kopf und DDC-Fuß erstellt.
+% \begin{macrocode}
+ \edef\@tempa{%
+ \tud@geometry@hmargin,%
+ \tud@geometry@pmargin,%
+ \tud@geometry@dmargin,%
+ \tud@geometry@@@process%
+ }%
+ \expandafter\newgeometry\expandafter{\@tempa}%
+ \savegeometry{tudddc}%
+% \end{macrocode}
+% Danach der, welcher lediglich den TUD-Kopf aber die Standardfußzeile hat.
+% \begin{macrocode}
+ \edef\@tempa{%
+ \tud@geometry@hmargin,%
+ \tud@geometry@pmargin,%
+ \tud@geometry@@@process%
+ }%
+ \expandafter\newgeometry\expandafter{\@tempa}%
+ \savegeometry{tudpage}%
+% \end{macrocode}
+% Der Standardsatzspiegel wird erstellt.
+% \begin{macrocode}
+ \edef\@tempa{%
+ \tud@geometry@hmargin,%
+ \tud@geometry@vmargin,%
+ \tud@geometry@@@process%
+ }%
+ \expandafter\newgeometry\expandafter{\@tempa}%
+ \savegeometry{tudarea}%
+}
+% \end{macrocode}
+% Das Hilfsmakro \cs{tud@geometry@@@process} wird bei der Umsetzung der
+% einzelnen Satzspiegeloptionen mittels der Befehle \cs{tud@geometry@process}
+% bzw. \cs{tud@geometry@@process} genutzt, um die Optionen für das Einbeziehen
+% von Kopf- und Fußzeile in den Satzspiegel auszuwerten.
+% \begin{macrocode}
+\newcommand*\tud@geometry@@@process{%
+ \if@hincl%
+ \if@fincl%
+ includeheadfoot,%
+ \else%
+ includehead,ignorefoot,%
+ \fi%
+ \else%
+ \if@fincl%
+ ignorehead,includefoot,%
+ \else%
+ ignoreheadfoot,%
+ \fi%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@geometry@@@process
+% \end{macro}^^A \tud@geometry@@process
+% \end{macro}^^A \tud@geometry@process
+% \todo[v3.12]{%
+% Setzen von tud@ta@headdiff auf 0pt bei scrlayer notwendig? Wenn Kapitel auf
+% gleicher Höhe wie Teile und Titel gesetzt werden sollen, wahrscheinlich
+% schon, siehe tudscr-layer.dtx
+% }
+% \todo[v3.12]{%
+% \env{tudpage}-Umgebung durch Seitenstil ersetzen, falls diese für die
+% Satzspiegelumstellung überflüssig ist, wie mit den Optionen umgehen?
+% }
+% \todo[v3.12]{Inkompatibilität mit part und chapter beheben und aus doku raus}
+% \begin{environment}{tudpage}
+% Durch den hohen TUD-Kopf muss bei der Verwendung dessens das Seitenlayout
+% temporär umgeschaltet werden, um die Höhe des Satzspiegels zu verringern.
+% Dafür wird diese Umgebung definiert, welche genau diese Aufgabe übernimmt.
+% Zu Beginn der Umgebung werden die weiter unten beschriebenen Optionen für
+% diese Umgebung mit \cs{TUD@parameter@set} ausgeführt. Durch einen zuvor
+% erzwungenen Seitenumbruch wird sichergestellt, dass mögliche Änderungen
+% nur auf den \env{tudpage}-Seiten wirksam werden. Nach dem Beenden der
+% Umgebung wird nache einem weiteren Seitenumbruch das Standardseitenlayout
+% wiederhergestellt. Die gewünschte Sprache der Umgebung kann als einzelner
+% Wert ohne Schlüssel angegben werden.
+% \begin{macrocode}
+\NewEnviron{tudpage}[1][]{%
+ \clearpage%
+ \setlength{\tud@ta@headdiff}{\z@}%
+ \TUD@parameter@set[tudpage]{#1}%
+ \tud@multicols@check%
+% \end{macrocode}
+% Sollte für den Fuß die Option des DDC-Logos gewählt worden sein, so wird das
+% entsprechende Layout gewählt.
+% \begin{macrocode}
+ \ifnum\tud@ddc@foot=\z@\relax%
+ \loadgeometry{tudpage}%
+ \else%
+ \loadgeometry{tudddc}%
+ \fi%
+% \end{macrocode}
+% Für die \env{abstract}-Umgebung wird der Seitenstil angepasst.
+% \todo[v3.12]{wie und wo \cs{abstractpagestyle} definieren? Hier eher nicht}
+% \begin{macrocode}
+%% \ifstr{\abstractpagestyle}{empty}%
+%% {\renewcommand*\abstractpagestyle{tudpage@empty}}%
+%% {\renewcommand*\abstractpagestyle{tudpage@plain}}%
+% \end{macrocode}
+% Mit geändertem Satzspiegel kann schließlich auch der dazugehörige Seitenstil
+% eingestellt werden.
+% \begin{macrocode}
+ \pagestyle{tudpage@plain}%
+% \end{macrocode}
+% Falls das \pkg{multicol}-Paket geladen ist und eine Spaltenanzahl angegeben
+% ist, wird die entsprechende Umgebung gesartet, mit \cs{BODY} der Inhalt der
+% \env{tudpage}-Umgebung ausgegeben und anschließend gegebenenfalls die
+% \env{multicols}-Umgebung beendet.
+% \begin{macrocode}
+ \ifnum\tud@multicols>1\relax%
+ \begin{multicols}{\tud@multicols}%
+ \fi%
+ \BODY%
+ \ifnum\tud@multicols>1\relax%
+ \end{multicols}%
+ \fi%
+% \end{macrocode}
+% Am Ende der Umgebung wird der Satzspiegel auf normal zurückgesetzt und ein
+% Seitenumbruch erzeugt, damit die Einstellungen auch wirksam werden. Dazu
+% wird die Ausführung das Hilfsmakro \cs{@tempa} auf das Beenden der Umgebung
+% mit \cs{aftergroup} verzögert.
+% \todo[v3.12]{Umstellung auf pagestyle und entsprechenden Hooks aus scrlayer?}
+% \begin{macrocode}
+}[%
+ \gdef\@tempa{\loadgeometry{tudarea}}%
+ \aftergroup\@tempa%
+ \clearpage%
+]
+% \end{macrocode}
+% \end{environment}^^A tudpage
+% Im Folgenden werden die einzelnen Parameter für die \env{tudpage}"=Umgebung
+% definiert. Mit \cs{TUD@parameter}\marg{Family}\marg{\dots} wird die
+% Parameterfamilie festgelegt und anschließend die Definitionen getätigt.
+% \todo[v3.12]{Parameter ddc (ddchead) und ddcfoot wie titelseite}
+% \begin{macrocode}
+\TUD@parameter{tudpage}{%
+% \end{macrocode}
+% \begin{parameter}{language}
+% Mit diesem Parameter kann die Sprache in der Umgebung umgeschaltet werden. Die
+% Sprache kann auch ohne den entsprechenden Schlüssel direkt als Parameter
+% angegeben werden.
+% \begin{macrocode}
+ \TUD@parameter@define{language}{\selectlanguage{#1}}%
+% \end{macrocode}
+% \end{parameter} ^^A language
+% \begin{parameter}{columns}
+% Hiermit kann die Anzahl der Spalten für die Umgebung angegeben werden. Für
+% mehr als zwei Spalten muss das Paket \pkg{multicols} geladen werden. Die
+% Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter
+% angegeben werden.
+% \begin{macrocode}
+ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}%
+% \end{macrocode}
+% \end{parameter} ^^A columns
+% \begin{parameter}{color}
+% \begin{parameter}{colour}
+% Die \opt{color}"=Option ändert die Farbe von Schrift, Querbalken und im
+% pdf\LaTeX-Modus auch die des TUD-Logos. Die im Anschluss daran aufgerufenen
+% Befehle \cs{tud@ddc@sethead} bzw. \cs{tud@ddc@setfoot} führen zu einer evtl.
+% notwendigen, automatischen Anpassung der Farbe der DDC-Logos
+% \begin{macrocode}
+ \TUD@parameter@define{color}[HKS41]{%
+ \def\tud@head@color{#1}%
+ \tud@ddc@sethead%
+ \tud@ddc@setfoot%
+ }%
+ \TUD@parameter@let{colour}{color}
+% \end{macrocode}
+% \end{parameter}^^A colour
+% \end{parameter}^^A color
+% \begin{parameter}{widehead}
+% Die Breite des Querbalkens kann ebenfalls geändert werden.
+% \begin{macrocode}
+ \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}%
+% \end{macrocode}
+% \end{parameter}^^A widehead
+% \begin{parameter}{head}
+% Mit der Option \opt{head} kann das Logo für Dresden-Concept oder aber ein
+% anderes, mit \cs{headlogo}\oarg{Optionsliste}\marg{Dateiname} gegebenes, als
+% sekundäres Logo für den Kopf ausgewählt werden.
+% \begin{macrocode}
+ \TUD@parameter@define{head}{%
+ \tud@lowerstring{\@tempa}{#1}%
+ \ifstr{\@tempa}{false}{\def\tud@ddc@head{0}\headlogo{}}{%
+ \ifstr{\@tempa}{off}{\def\tud@ddc@head{0}\headlogo{}}{%
+ \ifstr{\@tempa}{no}{\def\tud@ddc@head{0}\headlogo{}}{%
+ \ifstr{\@tempa}{ddc}{\def\tud@ddc@head{1}\tud@ddc@sethead}{%
+ \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@head{2}\tud@ddc@sethead}{%
+ \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@head{2}\tud@ddc@sethead}{%
+ \ifstr{\@tempa}{logo}{\def\tud@ddc@head{0}}{%
+ \ifstr{\@tempa}{cdfont}{\@tud@cdfontstrue}{%
+ \ifstr{\@tempa}{cdfonts}{\@tud@cdfontstrue}{%
+ \TUD@parameter@wrn{head}{false,ddc,ddccolor,logo,cdfont,cdfonts}%
+ }}}}}}}}}%
+ }%
+% \end{macrocode}
+% \end{parameter}^^A head
+% \begin{parameter}{foot}
+% Die Option \opt{foot} ermöglicht, den Fuß der \env{tudpage}"=Seite
+% entweder leer oder aber mit dem DDC-Logo zu setzen. Der Wert des Schalters
+% \cs{tud@ddc@foot} wird betrachtet, um die Fußzeile beim Setzen des
+% DDC-Logos in der Höhe anzupassen.
+% \begin{macrocode}
+ \TUD@parameter@define{foot}{%
+ \tud@lowerstring{\@tempa}{#1}%
+ \ifstr{\@tempa}{empty}{%
+ \def\tud@ddc@foot{0}%
+ \renewcommand*\@oddfoot{}%
+ \let\@evenfoot\@oddfoot%
+ }{%
+ \ifstr{\@tempa}{plain}{\def\tud@ddc@foot{0}}{%
+ \ifstr{\@tempa}{ddc}{\def\tud@ddc@foot{1}\tud@ddc@setfoot}{%
+ \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{%
+ \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{%
+ \TUD@parameter@wrn{foot}{plain,empty,ddc,ddccolor}%
+ }}}}%
+ }%
+ }%
+% \end{macrocode}
+% \end{parameter}^^A foot
+% \begin{parameter}{cdfont}
+% \begin{parameter}{cdfonts}
+% \begin{parameter}{tudfonts}
+% Die Option \opt{cdfont} bzw. \opt{cdfonts} bestimmt, ob die Schriften des
+% \CDs{} oder aber die standarmäßigen Serifenlosen für die Auszeichnugen in der
+% Kopfzeile und Serifen im Inhalt verwendet werden.
+% \begin{macrocode}
+ \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}%
+% \end{macrocode}
+% \end{parameter}^^A tudfonts
+% \end{parameter}^^A cdfonts
+% \end{parameter}^^A cdfont
+% \begin{parameter}{logo}
+% \begin{parameter}{headlogo}
+% Das sekundäre Logo kann ebenfalls lokal geändert werden.
+% \begin{macrocode}
+ \TUD@parameter@define{logo}[true]{\headlogo{#1}}%
+ \TUD@parameter@let{headlogo}{logo}%
+% \end{macrocode}
+% \end{parameter}^^A headlogo
+% \end{parameter}^^A logo
+% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation gegeben
+% wird, erfolgt eine Sonderbehandlung durch \cs{tud@environmenthandler}, bei der
+% erst auf eine Zahl geprüft wird und anschießend versucht wird, das Argument
+% als Sprache zu setzen. Nach der Definition aller Parameter wird der Befehl
+% \cs{TUD@parameter} und damit auch die aktuelle Parameterfamilie beendet.
+% \begin{macrocode}
+ \TUD@parameter@sethandler{\tud@environmenthandler{#1}}
+}
+% \end{macrocode}
+% \todo[v3.12]{via \pkg{scrlayer}}
+% \begin{macro}{\tud@ddc@sethead}
+% Dieser Befehl wird nach der Optionswahl für die Option \opt{head} der
+% \env{tudpage}"=Umgebung ausgeführt, um das ggf. gewünschte Logo für den
+% Kopf auszuwählen.
+% \begin{macrocode}
+\newcommand*\tud@ddc@sethead{%
+ \ifcase \tud@ddc@head\relax\or%
+ \def\tud@head@@logo{DDC-24}%
+ \ifstr{\tud@head@color}{HKS41}%
+ {\def\tud@head@@logo{DDC-27}}{}%
+ \ifstr{\tud@head@color}{cddarkblue}%
+ {\def\tud@head@@logo{DDC-27}}{}%
+ \ifstr{\tud@head@color}{white}%
+ {\def\tud@head@@logo{DDC-30}}{}%
+ \or%
+ \def\tud@head@@logo{DDC-09}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@ddc@sethead
+% \todo[v3.12]{via \pkg{scrlayer}}
+% \begin{macro}{\tud@ddc@setfoot}
+% \begin{macro}{\tud@foot@logo}
+% Dieser Befehl wird nach der Wahl eines Logos über die Option \opt{foot}
+% für die \env{tudpage}"=Umgebung ausgeführt, um dieses im Fuß zu setzen.
+% \begin{macrocode}
+\newcommand*\tud@foot@logo{}
+\newcommand*\tud@ddc@setfoot{%
+ \ifcase \tud@ddc@foot\relax\or%
+ \def\tud@foot@logo{DDC-22}%
+ \ifstr{\tud@head@color}{HKS41}%
+ {\def\tud@foot@logo{DDC-25}}{}%
+ \ifstr{\tud@head@color}{cddarkblue}%
+ {\def\tud@foot@logo{DDC-25}}{}%
+ \ifstr{\tud@head@color}{white}%
+ {\def\tud@foot@logo{DDC-28}}{}%
+ \or%
+ \def\tud@foot@logo{DDC-07}%
+ \fi%
+ \ifcase \tud@ddc@foot\relax\else%
+ \renewcommand*\@oddfoot{%
+ \parbox[b]{\textwidth}{%
+ \hfill\includegraphics[height=\tud@dim@ddcheight]{\tud@foot@logo}%
+ }%
+ }%
+ \let\@evenfoot\@oddfoot%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@foot@logo
+% \end{macro}^^A \tud@ddc@setfoot
+%
+% \iffalse
+%</class&!option>
+% \fi
+%
+% \Finale
+%
+\endinput
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx
new file mode 100644
index 00000000000..88273271c83
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx
@@ -0,0 +1,555 @@
+% \CheckSum{609}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-supervisor.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-supervisor.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (supervisors)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-supervisor.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Aufgabenstellung}
+%
+% Diese Paket stellt für die \cls{tudscr}-Klassen eine Umgebung für die
+% Aufgabenstellung einer Abschlussarbeit bereit.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*package&header>
+% \fi
+%
+% \subsection{Identifizierung des Pakets \pkg{tudscrsupervisor}}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{tudscrsupervisor}[\TUDVersion\space package (supervisors)]
+\ifx\tudcls@name\undefined
+ \PackageError{tudscrsupervisor}{Unsupported class found}{%
+ This package can only be used with a class out of the\MessageBreak%
+ tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)%
+ }
+ \endinput
+\fi
+% \end{macrocode}
+%
+% \iffalse
+%</package&header>
+%<*package&body>
+% \fi
+%
+% \subsection{Das Paket \pkg{tudscrsupervisor}}
+%
+% \begin{environment}{task}
+% Die Umgebung für die Aufgabenstellung nutzt die \env{tudpage}-Umgebung. Sie
+% wird auf einer neuen (rechten) Seite gesetzt. Es wird zu Beginn eine Tabelle
+% mit Informationen zum Autor gesetzt. Zum Abschluss werden Betreuer,
+% Hochschullehrer und ggf. Vorsitzender des Prüfungsausschusses ausgegeben.
+% \begin{macrocode}
+\newenvironment{task}[1][]{%
+% \end{macrocode}
+% Die \env{tudpage}-Umgebung wird geöffnet. Mit dem Parameter \opt{headline}
+% kann die standardmäßige Überschrift überschrieben werden. Die Aufgabenstellung
+% wird normal mit DDC-Logo im Fuß gesetzt.
+% \begin{macrocode}
+ \cleardoubleoddpage%
+ \def\@headline{}%
+ \TUD@parameter{tudpage}{%
+ \TUD@parameter@define{headline}{\def\@headline{##1}}%
+ \TUD@parameter@let{line}{headline}%
+ \TUD@parameter@sethandler{\def\@headline{##1}}%
+ \TUD@parameter@set{foot=ddc}%
+ }%
+ \tudpage[#1]%
+% \end{macrocode}
+% Zu Beginn wird als erstes die Überschrift und~-- die entsprechende Option
+% vorausgesetzt~-- im PDF einen Lesezeichen- oder auch Outline-Eintrag gesetzt.
+% \begin{macrocode}
+ \tudbookmark{\taskname}{task}%
+ \subsection*{%
+ \ifx\@headline\@empty%
+ \taskname\space%
+ \ifx\tasktext\@empty\else\ifx\@thesis\@empty\else%
+ \ignorespaces\tasktext\space\trim@spaces{\@thesis}%
+ \fi\fi%
+ \else\@headline\fi%
+ }%
+ \tud@author@table%
+}{%
+% \end{macrocode}
+% Da auch Betreuer durch den Befehl \cs{and} getrennt werden, wird dieser für
+% die korrekte Ausgabe umdefiniert. Anschließend folgt die Ausgabe in einer
+% Tabelle, die Spalte der Bezeichner entspricht der aus dem oberen Teil.
+% \begin{macrocode}
+ \def\and{%
+ \tabularnewline%
+ \ifx\supervisorothername\@empty\else\supervisorothername\@titledelim\fi%
+ & \def\and{\tabularnewline &}%
+ }%
+ \vskip-\lastskip%
+ \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi\medskip%
+ \begingroup%
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
+ \begin{tabular}{@{}p{\tud@dim@table}l@{}}%
+ \supervisorname\@titledelim &
+ \@supervisor\tabularnewline[\smallskipamount]%
+ \issuedatetext\@titledelim & \@issuedate\tabularnewline%
+ \duedatetext\@titledelim & \@duedate\tabularnewline%
+ \end{tabular}%
+% \end{macrocode}
+% Darunter wird etwas Platz für die Unterschriften von betreuendem Professor
+% und ggf. Prüfungsausschussvorsitzenden gehalten. Auch diese beiden werden
+% in einer Tabelle ausgegeben. Die \env{tudpage}-Umgebung wird beendet, und
+% eine neue (rechte) Seite geöffnet.
+% \begin{macrocode}
+ \vskip 15mm plus 10mm minus 10mm%
+ \ifx\@chairman\@empty\else%
+ \begin{tabular}{@{}l@{}}%
+ \@chairman\tabularnewline%
+ \chairmanname\tabularnewline%
+ \end{tabular}%
+ \hfill%
+ \fi%
+ \ifx\@professor\@empty\else%
+ \begin{tabular}{@{}l@{}}%
+ \@professor\tabularnewline%
+ \professorname\tabularnewline%
+ \end{tabular}%
+ \fi%
+ \par%
+ \endgroup%
+ \endtudpage%
+ \cleardoublepage%
+}
+% \end{macrocode}
+% \end{environment}^^A task
+% \begin{macro}{\taskform}
+% Dies soll die Standardform einer Aufgabenstellung sein. Im ersten Argument
+% werden kurz die Ziele motiviert und erläutert, im zweiten Argument werden im
+% besten Fall die Schwerpunkte in einer \env{itemize}-Umgebung aufgeschlüsselt.
+% \begin{macrocode}
+\newcommand{\taskform}[3][]{%
+ \begin{task}[#1]
+ \vskip-\lastskip%
+ \ifxblank{#2}{}{%
+ \vspace*{-\parskip}%
+ \minisec{\objectivesname}%
+ #2%
+ }%
+ \ifxblank{#3}{}{%
+ \vspace*{-\parskip}%
+ \minisec{\focusname}%
+ \begin{itemize}\tud@RaggedRight%
+ #3
+ \end{itemize}%
+ }%
+ \end{task}%
+}
+% \end{macrocode}
+% \end{macro}^^A \taskform
+% \begin{environment}{evaluation}
+% Die Umgebung für das Gutachten nutzt ebenfalls die \env{tudpage}-Umgebung. Sie
+% wird auf einer neuen (rechten) Seite gesetzt. Es wird zu Beginn eine Tabelle
+% mit Informationen zum Autor gesetzt. Zum Abschluss werden Ort, Datum und
+% Gutachter ausgegeben.
+% \begin{macrocode}
+\newenvironment{evaluation}[1][]{%
+% \end{macrocode}
+% Die \env{tudpage}-Umgebung wird geöffnet. Mit dem Parameter \opt{headline}
+% kann die standardmäßige Überschrift überschrieben werden. Das Gutachten wird
+% normalerweise mit DDC-Logo im Fuß gesetzt. Zu Beginn wird als erstes die
+% Überschrift und~-- die entsprechende Option vorausgesetzt~-- im PDF einen
+% Lesezeichen- oder auch Outline-Eintrag gesetzt.
+% \begin{macrocode}
+ \cleardoubleoddpage%
+ \def\@headline{}%
+ \TUD@parameter{tudpage}{%
+ \TUD@parameter@define{headline}{\def\@headline{##1}}%
+ \TUD@parameter@let{line}{headline}%
+ \TUD@parameter@define{grade}{\def\@grade{##1}}%
+ \TUD@parameter@sethandler{\def\@headline{##1}}%
+ \TUD@parameter@set{foot=ddc}%
+ }%
+ \tudpage[#1]%
+ \tudbookmark{\evaluationname}{evaluation}%
+ \subsection*{%
+ \ifx\@headline\@empty%
+ \evaluationname\space%
+ \ifx\evaluationtext\@empty\else\ifx\@thesis\@empty\else%
+ \ignorespaces\evaluationtext\space\trim@spaces{\@thesis}%
+ \fi\fi%
+ \else\@headline\fi%
+ }%
+ \tud@author@table%
+}{%
+% \end{macrocode}
+% Die gegebenen Note sowie Ort und Datum werden am Ende ggf. ausgegeben.
+% \begin{macrocode}
+ \vskip-\lastskip%
+ \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
+ \medskip%
+ \ifx\@grade\@empty\else%
+ \noindent\gradetext%
+ \vskip\bigskipamount%
+ \fi%
+ \ifx\@date\@empty\else%
+ \noindent%
+ \ifx\@place\@empty\else\@place,~\fi\@date%
+ \vskip\bigskipamount%
+ \fi%
+ \bigskip\bigskip\noindent%
+% \end{macrocode}
+% Der Befehl \cs{and} wird für einen möglichen Zweitgutachter angepasst. Das
+% Hilfsmakro \cs{@tempa} dient zur Übernahme des richtigen Bezeichners für
+% Erst- bzw. Zweitgutachter. Sollten mit \cs{referee} keine Gutachter angegeben
+% sein, so werden die angegeben Betreuer verwendet.
+% \begin{macrocode}
+ \ifx\@referee\@empty\let\@referee\@supervisor\fi%
+ \let\@tempa\refereename%
+ \def\and{%
+ \tabularnewline%
+ \@tempa%
+ \endtabular%
+ \hfill%
+ \tabular{@{}l@{}}%
+ \global\let\@tempa\refereeothername%
+ }%
+ \begin{tabular}{@{}l@{}}%
+ \@referee%
+ \tabularnewline%
+ \@tempa%
+ \end{tabular}%
+ \hfill\null%
+ \endtudpage%
+ \cleardoublepage%
+}
+% \end{macrocode}
+% \end{environment}^^A evaluation
+% \begin{macro}{\evaluationform}
+% Dies soll die Standardform eines Gutachtens sein. Im ersten Argument wird kurz
+% die Aufgabenstellung zusammengefasst, im zweiten Argument wird der Inhalt und
+% die Struktur der Arbeit kurz beschrieben. Im dritten Argument erfolgt die
+% Bewertung, das letzte Argument beinhaltet die Note.
+% \begin{macrocode}
+\newcommand{\evaluationform}[5][]{%
+ \begin{evaluation}[#1]
+ \vskip-\lastskip%
+ \ifxblank{#2}{}{%
+ \vspace*{-\parskip}%
+ \minisec{\taskname}%
+ #2%
+ }%
+ \ifxblank{#3}{}{%
+ \vspace*{-\parskip}%
+ \minisec{\contentname}%
+ #3%
+ }%
+ \ifxblank{#4}{}{%
+ \vspace*{-\parskip}%
+ \minisec{\assessmentname}%
+ #4%
+ }%
+ \ifxblank{#5}{}{\def\@grade{#5}}%
+ \end{evaluation}%
+}
+% \end{macrocode}
+% \end{macro}^^A \evaluationform
+% \begin{macro}{\tud@author@table}
+% \begin{length}{\tud@dim@table}
+% Der Befehl \cs{tud@author@table} dient zur Ausgabe einer Tabelle mit
+% Informationen zum Autor/zu den Autoren\footnote{Matrikelnummer, Jahrgang,
+% Studiengang etc.} für Aufgabenstellung und Gutachten.
+% \begin{macrocode}
+\newlength{\tud@dim@table}%
+\newcommand*\tud@author@table{%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+% \end{macrocode}
+% Der Befehl \cs{tud@split@@author} ist original aus den \cls{tudscr}-Klassen
+% und dient zur formatierten Ausgabe von mehreren Autoren, welche durch
+% \cs{author}\marg{Autor(en)} angegeben und mit \cs{and} getrennt wurden.
+% Er wird hier auf die Ausgabe der Autoren mit den jeweils zusätzlich gegebenen
+% Informationen in einer Tabelle angepasst.
+% \begin{macrocode}
+ \renewcommand*\tud@split@@author[2]{%
+% \end{macrocode}
+% Weil alle Autoren in einer Tabelle gesetzt werden wird geprüft, welche Felder
+% individuell via \cs{author} angegeben wurden. Damit die Tabellen die gleiche
+% Höhe haben, auch wenn für einen Autor ein Feld ausgelassen wurde, werden alle
+% insgesamt angegebenen Felder mit via \cs{tud@multiple@setfields} mit \cs{null}
+% initialisiert. Anschließend werden für den aktuellen Autor angegebenen Felder
+% gesetzt.
+% \begin{macrocode}
+ \tud@multiple@setfields{\null}{##1}%
+% \end{macrocode}
+% Nach viel Geplänkel kommt nun die eigentliche Tabelle mit ggf. zusätzlichen
+% Informationen zum Autor.
+% \begin{macrocode}
+ \begin{tabular}{l@{}}%
+ \ifx\@course\@empty\else\@course\tabularnewline\fi%
+ \ifx\@branch\@empty\else\@branch\tabularnewline\fi%
+ \textsf{\textbf{\ignorespaces##1}}\tabularnewline%
+ \ifx\@matriculationnumber\@empty\else%
+ \@matriculationnumber\tabularnewline%
+ \fi%
+ \ifx\@matriculationyear\@empty\else%
+ \@matriculationyear\tabularnewline%
+ \fi%
+ \end{tabular}%
+% \end{macrocode}
+% Sollte ein weiterer Autor folgen, wird \cs{tabcolsep} zusätzlich eingefügt,
+% um den Standardabstand bei Tabellen zu sichern, da die Tabelle vorher ohne
+% rechten \glqq Rand\grqq{} gesetzt wurde, um die letzte Tabelle ggf. genau bis
+% zum rechten Rand setzen zu können.
+% \begin{macrocode}
+ \tud@multiple@@@split{##2}{~~\hspace{\tabcolsep}}
+ }%
+% \end{macrocode}
+% Zu Beginn wird eine Tabelle mit den Bezeichnern aller genutzten Feldern
+% ausgegeben. Danach folgen alle Autoren. Damit ein einheitliches Layout
+% entsteht und auch die Tabellen am Ende der Umgebung in der ersten Spalte die
+% gleiche Breite haben wie im oberen Teil, ist die Bestimmung einer festen
+% Spaltenbreite notwendig, die so breit wie der längste Bezeichner ist.
+% Dafür muss festgestellt werden, welche optionalen Felder denn nun überhaupt
+% genutzt werden. Dafür wird \cs{tud@multiple@setfields\{\cs{null}\}}\{\}
+% aufgerufen, um alle potentiellen Felder erkennen zu können.
+% \begin{macrocode}
+ \global\setlength{\tud@dim@table}{2em}%
+ \gdef\tud@multiple@field{@@author}%
+ \tud@multiple@setfields{\null}{}%
+% \end{macrocode}
+% Anschließend werden die Bezeichner sowohl der obligatorischen als auch der
+% genutzten, optionalen Felder expandiert. Anschließend wir mit dieser Liste
+% der längste bestimmt und in \cs{tud@dim@table} gespeichert.
+% \begin{macrocode}
+ \edef\@tempa{%
+ \authorname,\titlename,\supervisorname,\supervisorothername,%
+ \issuedatetext,\duedatetext,%
+ \expandafter\ifx\@matriculationnumber\@empty\else%
+ \matriculationnumbername%
+ \fi,%
+ \expandafter\ifx\@matriculationyear\@empty\else%
+ \matriculationyearname%
+ \fi,%
+ \expandafter\ifx\@course\@empty\else\coursename\fi,%
+ \expandafter\ifx\@branch\@empty\else\branchname\fi,%
+ }%
+ \@for\@tempb:=\@tempa\do{%
+ \settowidth{\@tempdima}{\@tempb\@titledelim}%
+ \ifdim\@tempdima>\tud@dim@table\relax%
+ \global\setlength{\tud@dim@table}{\@tempdima}%
+ \fi%
+ }%
+% \end{macrocode}
+% Die Tabelle mit den benötigten Bezeichnern. Damit diese bis an den Seiterand
+% ohne Warnungen gesetzt werden können, wird die Auszeichnung von Absatzenden
+% aufgehoben.
+% \begin{macrocode}
+ \begingroup%
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
+ \begin{tabular}{@{}p{\tud@dim@table}}%
+ \ifx\@course\@empty\else%
+ \coursename\@titledelim\tabularnewline%
+ \fi%
+ \ifx\@branch\@empty\else%
+ \branchname\@titledelim\tabularnewline%
+ \fi%
+ \authorname\@titledelim\tabularnewline%
+ \ifx\@matriculationnumber\@empty\else%
+ \matriculationnumbername\@titledelim\tabularnewline%
+ \fi%
+ \ifx\@matriculationyear\@empty\else%
+ \matriculationyearname\@titledelim\tabularnewline%
+ \fi%
+ \end{tabular}%
+% \end{macrocode}
+% Folgend werden die Autoren wie schon bei \cs{maketitle} mit den gleichen
+% Makros gesplittet und separat ausgegeben.
+% \begin{macrocode}
+ \tud@multiple@split{@@author}%
+% \end{macrocode}
+% Nach den Autoren wird der Titel über die komplette Textbreite ausgegeben.
+% Danach wird der Inhalt der Aufgabenstellung ausgegeben.
+% \begin{macrocode}
+ \vskip\smallskipamount%
+ \begin{tabular}{@{}p{\tud@dim@table}%
+ p{\dimexpr\textwidth-\tud@dim@table-2\tabcolsep\relax}@{}}%
+ \titlename\@titledelim & \tud@RaggedRight\textsf{\textbf{\@@title}}%
+ \end{tabular}%
+ \par%
+ \endgroup%
+ \ifdim\parskip>\z@\else\vskip\topsep\fi%
+ \endgroup%
+ \noindent\ignorespaces%
+}
+% \end{macrocode}
+% \end{length}^^A \tud@dim@table
+% \end{macro}^^A \tud@author@table
+% \begin{macro}{\tud@author@checkfields}
+% Der Befehl \cs{tud@author@checkfields} wird um die hier im Paket zusätzlich
+% definierten Felder erweitert.
+% \begin{macrocode}
+\patchcmd{\tud@split@@author@list}{\authormore}%
+ {\authormore,\branch,\course,\discipline}{}{}
+% \end{macrocode}
+% \end{macro}^^A \tud@author@checkfields
+% \begin{environment}{notice}
+% Die Umgebung für Aushänge nutzt ebenfalls die \env{tudpage}-Umgebung. Sie wird
+% auf einer neuen (rechten) Seite gesetzt. Die Überschrift wird in der
+% Voreinstellung auf den sprachabhängigen Bezeichner \cs{noticename} gesetzt,
+% welcher allerdings mit dem Parameter \opt{headline} überschrieben werden kann.
+% \begin{macrocode}
+\newenvironment{notice}[1][]{%
+ \cleardoubleoddpage%
+ \def\@headline{\noticename}%
+ \TUD@parameter{tudpage}{%
+ \TUD@parameter@define{headline}{\def\@headline{##1}}%
+ \TUD@parameter@let{line}{headline}%
+ \TUD@parameter@sethandler{\def\@headline{##1}}%
+ \TUD@parameter@set{foot=ddc}%
+ }%
+ \tudpage[#1]%
+ \tudbookmark{\noticename}{notice}%
+% \end{macrocode}
+% Es wird zu Beginn das angegebene Datum oben auf der rechten Seite ausgegeben.
+% Anschließend wird die Überschrift und der gegebene Titel gesetzt.
+% \begin{macrocode}
+ \ifx\@date\@empty\else%
+ \begingroup%
+ \vspace*{-\parskip}%
+ \vspace*{-2\baselineskip}%
+ \raggedleft
+ \@date\par%
+ \vspace*{-\parskip}%
+ \endgroup%
+ \fi%
+ \ifx\@headline\@empty\else%
+ \section*{\@headline}%
+ \fi%
+}{%
+% \end{macrocode}
+% Wenn keine Kontaktperson direkt angegeben wurden, werden die Informationen der
+% angegeben Betreuer verwendet. Wenn eine Personenangabe gefunden wurde, werden
+% die Kontaktdaten ausgegeben.
+% \begin{macrocode}
+ \ifx\@contact\@empty\let\@contact\@supervisor\fi%
+ \ifx\@contact\@empty\else%
+ \vskip-\lastskip%
+ \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
+ \subsection*{\contactname}%
+ \noindent\tud@multiple@split{@contact}\hfill\null%
+ \fi%
+ \endtudpage%
+ \cleardoublepage%
+}
+% \end{macrocode}
+% \end{environment}^^A notice
+% \begin{macro}{\noticeform}
+% Dies soll die Standardform eines Aushangs für eine Abschlussarbeit sein. Im
+% ersten Argument wird kurz der Inhalt zusammengefasst, im zweiten Argument
+% werden die Arbeitsschwerpunkte beschrieben.
+% \begin{macrocode}
+\newcommand{\noticeform}[3][]{%
+ \begin{notice}[#1]
+ \vskip-\lastskip%
+ \ifxblank{#2}{}{%
+ \ifx\@@title\@empty\else%
+ \vspace*{-\parskip}%
+ \minisec{\expandonce{\@@title}}%
+ \fi%
+ #2%
+ }%
+ \ifxblank{#3}{}{%
+ \vspace*{-\parskip}%
+ \minisec{\focusname}%
+ \begin{itemize}\tud@RaggedRight%
+ #3
+ \end{itemize}%
+ }%
+ \end{notice}%
+}
+% \end{macrocode}
+% \end{macro}^^A \noticeform
+% \begin{macro}{\tud@split@contact}
+% \begin{macro}{\tud@split@contact@list}
+% Mit diesem Befehl werden für einen Aushang die Daten für einen oder mehrere
+% Kontaktpersonen ausgegeben.
+% \begin{macrocode}
+\newcommand*\tud@split@contact[2]{%
+ \tud@multiple@setfields{\null}{#1}%
+ \begin{tabular}{@{}l@{}}%
+ \ignorespaces#1\tabularnewline%
+ \ifx\@office\@empty\else\@office\tabularnewline\fi%
+ \ifx\@phone\@empty\else\@phone\tabularnewline\fi%
+ \ifx\@email\@empty\else\@email\tabularnewline\fi%
+ \end{tabular}%
+ \tud@multiple@@@split{#2}{\hfill}%
+}
+\newcommand*\tud@split@contact@list{\office,\phone,\email}
+% \end{macrocode}
+% \end{macro}^^A \tud@split@contact@list
+% \end{macro}^^A \tud@split@sontact
+%
+% \iffalse
+%</package&body>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
new file mode 100644
index 00000000000..34972ab408b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
@@ -0,0 +1,1350 @@
+% \CheckSum{1230}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-title.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-title.dtx}%
+ [2014/04/24 v2.01 TUD-KOMA-Script (title)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-title.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Titelei}
+%
+% Die Titelseite wird sowohl für die Klassen als auch separat für das
+% \pkg{titlepage}-Paket bereitgestellt.
+% \todo[v3.12]{KOMA-Fonts für: titlehead, author, date, publishers, dedication;
+% Serifenlose für alle Felder in tud@maketitle setzen, evtl. sowas wie
+% renewkomafont für alle Schriften nutzen?!
+% }
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class&!option>
+% \fi
+%
+% \subsection{Titelseite und Titelkopf}
+%
+% Für alle Klassen im \CD der Technischen Universität Dresden wird eine neue
+% Titelseite und ein neuer Titelkopf bereitgestellt. Es werden eine monochrome
+% Version, eine Version mit leichtem Farbeinsatz und eine durchweg farbige
+% Version bereitgestellt Außerdem wird hier das Aussehen und die Position des
+% Titels analog zu den Überschriften auf Teile- und Kapitelseiten festgelegt.
+%
+% \iffalse
+%</class&!option>
+%<*titlepage|class&option>
+% \fi
+%
+% \begin{option}{subjectthesis}
+% \begin{macro}{\if@tud@subjectthesis}
+% \begin{macro}{\if@tud@subjectthesis@locked}
+% Die alte \cls{tudbook}-Klasse hat den Typ der Arbeit in der Betreffzeile
+% des Titels gesetzt. Um dieses Verhalten nachbilden zu können, wird diese
+% Option zur Verfügung gestellt.
+% \begin{macrocode}
+%<*class>
+\newif\if@tud@subjectthesis
+\TUD@key@lock{subjectthesis}[true]{%
+ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
+}
+%</class>
+%<*titlepage>
+\FamilyBoolKey[TU-Dresden]{title}{subjectthesis}{@tud@subjectthesis}
+%</titlepage>
+% \end{macrocode}
+% \end{macro}^^A \if@tud@subjectthesis@locked
+% \end{macro}^^A \if@tud@subjectthesis
+% \end{option}^^A subjectthesis
+%
+% \iffalse
+%</titlepage|class&option>
+%<*titlepage|class&!option>
+% \fi
+%
+% \begin{KOMAfont}{thesis}
+% \begin{KOMAfont}{tudscrtitle}
+% \changes{v2.01}{2014/04/24}{%
+% Fehlerkorrektur bei der Schriftstärke (\cs{mdseries@sf})%
+% }
+% Diese Font-Elemente werden auf der Titelseite verwendet. \opt{thesis}, um den
+% Typ der Arbeit und ggf. den zu erlangenden akademischen Grad zu setzen.
+% Allerdings kommt letzteres nur zum Tragen, wenn die Option \opt{subthesis}
+% deaktiviert ist. Es wird die gleiche Schrift wie für den Titel verwendet,
+% allerdings etwas kleiner. \opt{tudscrtitle} für alle Zusatzinformationen wie
+% Autor, Datum etc.
+% \begin{macrocode}
+\newkomafont{thesis}{\usekomafont{title}\LARGE}
+\newkomafont{tudscrtitle}{%
+ \usekomafont{subject}%
+ \if@tud@univers\fontfamily{\tud@univers}\fi%
+ \fontseries{\mdseries@sf}\large%
+}
+% \end{macrocode}
+% \end{KOMAfont}^^A titlepage
+% \end{KOMAfont}^^A thesis
+% \begin{macro}{\tud@color@titlefont}
+% \begin{macro}{\tud@color@titlepage}
+% \begin{macro}{\tud@color@titlehead}
+% Die Makros werden für die Hintergrundfarbe der Titelseite sowie die Farbe
+% der Schriften verwendet.
+% \begin{macrocode}
+%<*class>
+\newcommand*\tud@color@titlefont{black}
+\newcommand*\tud@color@titlepage{white}
+\newcommand*\tud@color@titlehead{black}
+%</class>
+% \end{macrocode}
+% \end{macro}^^A \tud@color@titlehead
+% \end{macro}^^A \tud@color@titlepage
+% \end{macro}^^A \tud@color@titlefont
+% \begin{macro}{\tud@maketitle}
+% \begin{macro}{\tud@titleback}
+% Bei der entsprechend gewählten Layoutoption, wird eine neue Titelseite im \CD
+% gesetzt. Damit auf das Standardverhalten von \KOMAScript{} zurückgestellt
+% werden kann, wird der standardmäßige \cs{maketitle}-Befehl nur wenn notwendig
+% überschrieben (siehe \cs{tud@layout@process}) und kann ggf. wiederhergestellt
+% werden. Der Befehl selbst orientiert sich dabei in seiner Struktur an dem
+% originalen \cs{maketitle}. Für die ggf. farbige Ausgabe der Titelrückseite
+% wird das Hilfmakro \cs{tud@titleback} definiert.
+% \begin{macrocode}
+\newcommand*\tud@titleback{}%
+%<*class>
+\newcommand*\tud@maketitle[1][1]{%
+%</class>
+%<*titlepage>
+\renewcommand*\makemaintitle{%
+%</titlepage>
+% \end{macrocode}
+% Es wird durch die \KOMAScript-Option \opt{titlepage} unterschieden, ob eine
+% Titelseite oder aber ein Titelkopf gesetzt werden soll. In Abhängigkeit davon
+% werden Farben für die Schriften und den Seitenhintergrund sowie die
+% Linienstärke des Querbalkens festgelegt. Hierfür wird die entsprechende
+% Layoutoption ausgewertet und entsprechend dieser die Werte belegt.
+% \begin{macrocode}
+%<*class>
+ \if@titlepage%
+ \ifcase \tud@layout@title\relax\or\or%
+ \def\tud@color@titlefont{HKS41}%
+ \def\tud@color@titlehead{HKS41}%
+ \or%
+ \def\tud@color@titlepage{HKS41}%
+ \def\tud@color@titlefont{HKS41!30}%
+ \def\tud@color@titlehead{white}%
+ \fi%
+ \else%
+ \ifcase \tud@layout@title\relax\or\else%
+ \def\tud@color@titlefont{HKS41}%
+ \def\tud@color@titlehead{HKS41}%
+ \fi%
+ \fi%
+ \if@titlepage%
+%</class>
+% \end{macrocode}
+% Die Titelseite. Es existieren die Optionen \opt{full} für eine vollständig
+% farbige Seite sowie \opt{lite} für farbige Schriften und \opt{on} für
+% den Standardtitel.
+% \begin{macrocode}
+ \begin{titlepage}%
+%<*class>
+% Dieser Teil entspricht der Standarddefinition. Für das Setzen des Covers ist
+% ein Großteil der Einstellungen irrelevant und wird übersrpungen.
+% \begin{macrocode}
+ \if@tud@cover\else%
+ \setcounter{page}{#1}%
+%</class>
+ \let\footnotesize\small%
+ \let\footnoterule\relax%
+ \let\footnote\thanks%
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \let\@oldmakefnmark\@makefnmark%
+ \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
+% \end{macrocode}
+% Das Paket \pkg{hyperref} definert im Normalfall die Fußnoten so um, dass es
+% anklickbare Links erzeugt. Damit dies auf der Titelseite zu ungewollten
+% Effekten führt, werden die Hyperlinks hier deaktiviert. Leider macht dies
+% \pkg{hyperref} direkt beim Laden. Da diese Klasse aber nun mal zwei Titel
+% bereitstellt und die Möglichkeit bestehen soll, dass Layout per später
+% Optionswahl noch zu ändern, muss der interne Code aus \pkg{hyperref} hier
+% noch einmal für den TUD-Titel aufgerufen werden.
+% \begin{macrocode}
+%<*class>
+ \tud@footnote@unhyper%
+% \end{macrocode}
+% Weiter im Text\dots
+% \begin{macrocode}
+ \ifx\@extratitle\@empty\else%
+ \noindent\@extratitle\next@tdpage%
+ \fi%
+% \end{macrocode}
+% Abhängig vom gewählten Fuß wird der entsprechende Satzspiegel für den
+% eigentlichen Titel gewählt.
+% \begin{macrocode}
+ \ifnum\tud@ddc@foot=\z@\relax%
+ \loadgeometry{tudpage}%
+ \else%
+ \loadgeometry{tudddc}%
+ \fi%
+ \fi%
+%</class>
+% \end{macrocode}
+% Das ganze Layout wird vertikal so verschoben, dass der Titel auf der gleichen
+% Höhe steht wie die Überschriften auf Teil- und Kapitelseiten.
+% \begin{macrocode}
+%<*titlepage>
+ \tud@pagestyle%
+ \setlength{\tud@dim@headingsvskip}{%
+ \dimexpr\tud@dim@headsep+.1\textheight%
+ }%
+%</titlepage>
+ \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}%
+%<*class>
+ \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
+%</class>
+%<*titlepage>
+ \setlength{\parskip}{\z@}%
+ \setlength{\parindent}{\z@}%
+ \setlength{\parfillskip}{\z@\@plus 1fil}%
+%</titlepage>
+ \linespread{1}\selectfont%
+% \end{macrocode}
+% Für das \pkg{titlepage}-Paket wird der TUD-Kopf direkt und nicht über den
+% Seitenstil gesetzt. Außerdem wird ggf. die Schrift geändert.
+% \begin{macrocode}
+%<*titlepage>
+ \if@tud@cdfonts\else\usekomafont{titlepagefont}\fi%
+%</titlepage>
+% \end{macrocode}
+% Damit die Farbeinstellungen der Schriften lokal begrenzt bleiben, wird dieser
+% Teil des Titels in einer Gruppe (\cs{begingroup}) gesetzt.
+% \begin{macrocode}
+ \begingroup%
+ \usekomafont{tudscrtitle}%
+% \end{macrocode}
+% Da die Überschrift auf einer festen Position liegen soll, muss von allem, was
+% über der Überschrift positioniert werden soll, die Höhe bestimmt werden, um
+% einen entsprechenden Offset einfügen zu können. Dafür werden zwei temporäre
+% Standardboxen verwendet. In diesen wird der gewünschte Inhalt für die beiden
+% Felder \cs{@titlehead} bzw. \cs{@subject} abgelegt und die sich daraus
+% kumulierende Höhe in \cs{@tempdima} gespeichert. Vor dem Setzen der Felder
+% kann nun der \textbf{insgesamt} notwendige vertikaler Freiraum vor dem
+% eigentlichen Titel für \cs{@titlehead} \textbf{und} \cs{@subject} abgezogen
+% werden. Anschließend werden die beiden Boxen ausgegeben und der Aufbau der
+% Titelseite kann beginnen.
+% \begin{macrocode}
+ \setlength{\@tempdima}{\z@}%
+ \ifx\@titlehead\@empty\else%
+ \setbox0\vbox{%
+ \begin{minipage}[t]{\textwidth}%
+ \usekomafont{tudscrtitle}\@titlehead\par\null%
+ \end{minipage}\newline\null%
+ }%
+ \addtolength{\@tempdima}{\dimexpr\ht0+\dp0}%
+ \fi%
+% \end{macrocode}
+% Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll
+% und kann.
+% \begin{macrocode}
+ \tud@letsubjectthesis%
+ \ifx\@subject\@empty\else%
+ \setbox1\vbox{{\usekomafont{subject}\@subject\par\null}}%
+ \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt}%
+ \fi%
+ \vspace*{-\@tempdima}%
+ \ifx\@titlehead\@empty\else\usebox0\par\fi%
+ \ifx\@subject\@empty\else\usebox1\par\fi%
+% \end{macrocode}
+% Nachdem bereits \cs{@titlehead} und \cs{@subject} gesetzt worden, folgen nun
+% die weiteren Felder wie vom \CD~-- mehr oder weniger~-- vorgegeben auf der
+% Titelseite in unterschiedlichen Größen und Schriftstärken.
+% \begin{macrocode}
+ \begingroup%
+ \usekomafont{title}%
+ \tud@title@uppercase{\@title}%
+ \vskip 1ex%
+ \endgroup%
+% \end{macrocode}
+% Der Untertitel wird ggf. in der gleichen Schrift gesetzt wie der Titel,
+% allerdings etwas kleiner.
+% \begin{macrocode}
+ \ifx\@subtitle\@empty\else%
+ \usekomafont{subtitle}%
+ \tud@title@uppercase{\@subtitle}%
+ \vskip 1ex%
+ \fi%
+% \end{macrocode}
+% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen.
+% \begin{macrocode}
+ \vskip 1ex%
+ \tud@multiple@split{@@author}%
+ \vskip 2ex%
+% \end{macrocode}
+% Die Titelseite unterscheidet sich ein wenig, abhängig davon ob eine eine
+% Abschlussarbeit gesetzt wird oder nicht. Falls dies nicht der Fall ist,
+% dann wird das angegebene bzw. das heutige Datum und ggf. die Ergänzung
+% ausgegeben.
+% \begin{macrocode}
+ \ifx\@thesis\@empty%
+ \if@tud@cover\else%
+ \vskip\z@\@plus0.5fill%
+ {\usekomafont{subject}\@date\space\ignorespaces\@datemore}%
+ \vskip\z@\@plus2fill%
+ \fi%
+% \end{macrocode}
+% Ist eine Abschlussarbeit angegeben, so wird zusätzlich unterschieden, ob
+% diese bereits~-- gesteuert durch die Option \opt{subjectthesis}~-- in der
+% Betreffzeile angegeben wurde oder aber separat und in deutlicherer Form auf
+% dem Titelblatt ausgegeben werden soll. Sowohl Arbeitstyp als auf akademischer
+% Grad werden dabei im Verhältnis 2:3 zwischen allen weiteren Angaben auf dem
+% Titel vertikal ausgerichtet.
+% \begin{macrocode}
+ \else%
+ \vskip\z@\@plus2fill%
+ \begingroup%
+ \usekomafont{thesis}%
+ \if@tud@subjectthesis\else%
+ \tud@title@uppercase{\@thesis}%
+ \fi%
+% \end{macrocode}
+% Ebenfalls wird in Abhängigkeit von der Option \opt{subjectthesis} der
+% angestrebte akademische Grad ausgegeben.
+% \begin{macrocode}
+ \if@tud@cover\else%
+ \ifx\@degree\@empty\else%
+ \def\@tempc{%
+ \@degree%
+ \ifx\@degreeabbr\@empty\else\space\@degreeabbr\fi%
+ }%
+ \usekomafont{tudscrtitle}%
+ \if@tud@subjectthesis%
+ \degreetext%
+ \vskip 2ex%
+ \usekomafont{subject}%
+ \@tempc%
+ \else%
+ \vskip 2ex%
+ \degreetext%
+ \vskip 2ex%
+ \usekomafont{thesis}%
+ \tud@title@uppercase{\@tempc}%
+ \fi%
+ \vskip 3ex%
+ \fi%
+ \fi%
+ \endgroup%
+ \vskip\z@\@plus3fill%
+ \fi%
+% \end{macrocode}
+% Wenn Betreuer angegeben wurden, dann werden diese auf dem Titel ausgeben. Um
+% die Vorlage auch für Dissertationen verwenden zu können, ist ein Feld für
+% Gutachter vorgesehen. Außerdem wird für Promotionsschriften ein Feld für
+% Fachreferenten bereitgehalten. Das Format der Ausgabe ist dabei identisch.
+% Darauf folgend wird der betreuende Hochschullehrer ausgegeben.
+% \begin{macrocode}
+ \if@tud@cover\else%
+ \tud@title@names{supervisor}
+ \tud@title@names{referee}
+ \tud@title@names{advisor}
+ \ifx\@professor\@empty\else%
+ \vskip 2ex%
+ \professorname%
+ \vskip .5ex%
+ {\usekomafont{subject}\@professor}%
+ \fi%
+% \end{macrocode}
+% Bei einer Abschlussarbeit gehört normalerweise auch ein Abgabedatum auf den
+% Titel. Sollte keines angegeben sein, so erscheint eine Warnung. Es wird an
+% Stelle dessen das angegebene Enddatum oder aber das heutige Datum verwendet.
+% \begin{macrocode}
+ \ifx\@thesis\@empty\else%
+%<*class>
+ \ifdefstring{\@date}{\today}{%
+% \end{macrocode}
+% Durch das Paket \pkg{tudscrtask} wird das zusätzliche Feld \cs{@duedate}
+% definiert, welches hier ggf. für auf ein nutzbares Datum geprüft wird.
+% \begin{macrocode}
+ \ifdefvoid{\@duedate}{%
+ \ClassWarning{\tudcls@name}{%
+ \string\submissiondate\space or
+ \string\date\space was not given.\MessageBreak%
+ Since a thesis is a self-contained work, an end\MessageBreak%
+ date should be specified by the author.\MessageBreak%
+ Nevertheless, today's date is used%
+ }%
+ }{%
+ \ClassWarning{\tudcls@name}{%
+ \string\submissiondate\space or \string\date\space
+ was not given. It's\MessageBreak%
+ substituted by the given due date%
+ }%
+ \let\@date\@duedate%
+ }%
+ }{}%
+%</class>
+ \ifx\@date\@empty\else%
+ \vskip 2ex%
+ \ifstr{\datetext}{}{}{\datetext\@titledelim}\@date%
+ \space\ignorespaces\@datemore%
+% \end{macrocode}
+% Zusätzlich kann noch ein Datum der mündlichen Verteidigung angegeben werden.
+% \begin{macrocode}
+ \ifx\@defensedate\@empty\else\newline%
+ \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}%
+ \@defensedate%
+ \fi%
+ \fi%
+ \fi%
+ \fi%
+% \end{macrocode}
+% Zu guter Letzt können das Standard-Verlagsfeld befüllt sowie die zu Beginn
+% geöffnete, schriftspezifische Gruppe beendet werden.
+% \begin{macrocode}
+%<*class>
+ \if@tud@cover\vskip\z@\@plus2fill\fi%
+%</class>
+ \ifx\@publisher\@empty\else%
+ \vskip\z@\@plus0.5fill%
+ {\usekomafont{subject}\@publisher}%
+ \fi%
+ \endgroup%
+% \end{macrocode}
+% Die Rückseite des Titels wird~-- wie bei \KOMAScript~-- bloß bei zweiseitigem
+% Satz ausgegeben. Für diese Klassen wird aufgrund der möglicherweise farbigen
+% Rückseite das Hilfsmakro \cs{tud@titleback} benötigt.
+% \begin{macrocode}
+ \let\tud@titleback\relax%
+ \if@twoside%
+ \@tempswatrue%
+ \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty%
+ \@tempswafalse%
+ \fi\fi%
+ \if@tempswa%
+ \gdef\tud@titleback{%
+ \next@tpage%
+ \loadgeometry{tudarea}%
+ \begin{minipage}[t]{\textwidth}%
+ \@uppertitleback%
+ \end{minipage}\par%
+ \vfill%
+ \begin{minipage}[b]{\textwidth}%
+ \@lowertitleback%
+ \end{minipage}\par%
+ \@thanks\let\@thanks\@empty%
+ }%
+ \fi%
+ \fi%
+% \end{macrocode}
+% Es werden Schriftart, abhängig von der Option \opt{heavyfont} auch die
+% Schriftstärke, Farbe der Seite und des Kopfes sowie die Linienstärke
+% des Querbalkens und die DDC-Logos aus den Einstellungen übernommen.
+% \begin{macrocode}
+%<*titlepage>
+ \addtokomafont{title}{\Huge\dinbn}%
+ \addtokomafont{subtitle}{\Large\dinbn}%
+ \addtokomafont{subject}{\fontfamily{\tud@font}\selectfont}%
+ \addtokomafont{tudscrtitle}{\fontseries{\mddefault}\selectfont}%
+ \addtokomafont{pagenumber}{\fontseries{\mddefault}\selectfont}%
+ \addtokomafont{footnote}{\fontseries{\mddefault}\selectfont}%
+%</titlepage>
+%<*class>
+ \def\@tempa{%
+ \tud@pagecolor{\tud@color@titlepage}%
+ \def\tud@head@color{\tud@color@titlehead}%
+ \color{\tud@color@titlefont}%
+ \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}%
+ \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}%
+ \ifnum\tud@ddc@head>0\tud@ddc@sethead\fi%
+ \ifnum\tud@ddc@foot>0\tud@ddc@setfoot\fi%
+% \end{macrocode}
+% Der Satzspiegel wird für die Verwendung des \env{tudpage}-Seitenstils
+% für den gewünschten Seitenstil angepasst.
+% \todo[v3.12]{durch scrlayer}
+% \begin{macrocode}
+ \ifnum\tud@ddc@foot=\z@\relax%
+ \thispagestyle{tudpage@empty}%
+ \else%
+ \thispagestyle{tudpage@plain}%
+ \fi%
+ }%
+% \end{macrocode}
+% Bei der Ausgabe des Covers werden lediglich die Farb- und Schriftdefinitionen
+% benötigt, die Seite kann danach beendet werden.
+% \begin{macrocode}
+ \if@tud@cover%
+ \begingroup%
+ \@tempa%
+ \cleardoubleemptypage%
+ \tud@restorepagecolor%
+ \endgroup%
+ \else%
+% \end{macrocode}
+% Beim Titel selbst muss noch ausgewertet werden, wie die Rückseite zu
+% gestalten ist. Sollte als Klassenoption das strikte Beginnen aller Teile
+% oder Kapitel auf einer rechten Seite aktiviert sein (\opt{open=right}) und
+% zusätzlich bei farbigem \CD auch die Rückseiten farbig geleert werden, so
+% erfolgt dies auch für die Titelseite.
+% Die Klasse \cls{tudscrartcl} setzt lediglich die Titelseite farbig, die
+% Rückseite niemals.
+% \begin{macrocode}
+%<*book|report>
+ \tud@cleardoublespecialpage[\tud@titleback]{%
+%</book|report>
+%<*article>
+ \begingroup%
+%</article>
+ \@tempa%
+ \@thanks\global\let\@thanks\@empty%
+ \clearpage%
+ \ifx\@dedication\@empty\else\thispagestyle{empty}\fi%
+ \loadgeometry{tudarea}%
+%<*article>
+ \tud@restorepagecolor%
+ \endgroup%
+ \tud@titleback%
+%</article>
+%<*book|report>
+ }%
+ \loadgeometry{tudarea}%
+%</book|report>
+% \end{macrocode}
+% Die Danksagung ist identisch zu \KOMAScript.
+% \begin{macrocode}
+ \ifx\@dedication\@empty\else%
+ \next@tdpage\null\vfill%
+ {\centering\Large\@dedication\par}%
+ \vskip\z@\@plus3fill%
+ \@thanks\let\@thanks\@empty%
+ \cleardoubleemptypage%
+ \fi%
+ \fi%
+%</class>
+ \end{titlepage}%
+% \end{macrocode}
+% Der normale Satzspiegel wird wieder eingestellt und etwas aufgeräumt.
+% \begin{macrocode}
+%<*class>
+ \loadgeometry{tudarea}%
+ \if@tud@cover\else%
+ \setcounter{footnote}{0}%
+ \global\let\and\relax%
+% \end{macrocode}
+% Zum Schluss wird rückgängig gemacht, wozu \pkg{hyperref} zuvor genötigt hat.
+% \begin{macrocode}
+ \tud@footnote@rehyper%
+ \fi%
+% \end{macrocode}
+% Neben einer kompletten Titelseite gibt es auch noch einen Titelkopf.
+% \todo[v3.12]{%
+% Der Titelkopf. Es existiert lediglich eine farbige Variante, welche sowohl
+% für die Optionen \opt{full} als auch \opt{lite} verwendet wird. Der
+% Titelkopf selber wird mit dem TUD-Kopf gesetzt; Seitenstil über scrlayer;
+% \url{http://www.golatex.de/viewtopic,p,49609.html}
+% }
+% \begin{macrocode}
+ \else%
+% ^^A \loadgeometry{tudpage}
+% ^^A \ifstr{\titlepagestyle}{empty}%
+% ^^A {\renewcommand*\titlepagestyle{tudpage@empty}}%
+% ^^A {\renewcommand*\titlepagestyle{tudpage@plain}}%
+% \end{macrocode}
+% Um einen zweispaltigen Satz wie in \KOMAScript{} für den Titelkopf
+% ermöglichen zu können, wird einfach der Originalbefehl verwendet und nur der
+% innere Teil (\cs{@maketitle}) angepasst und anschließend der gesicherte
+% Befehl genutzt.
+% \begin{macrocode}
+ \let\@maketitle\tud@@maketitle%
+ \tud@cmd@use{maketitle}[#1]%
+ \fi%
+%</class>
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@titleback
+% \end{macro}^^A \tud@maketitle
+% Der Befehle \cs{thanks} wird mit \cs{robustify} behandelt, um das Makro für
+% vor dem Expandieren zu schützen. Dies ist z.\,B. für \cs{tud@multiple@split}
+% aber auch für weitere Felder auf dem Titel nötig.
+% \begin{macrocode}
+\robustify{\thanks}%
+% \end{macrocode}
+% \begin{macro}{\tud@title@uppercase}
+% Für das Setzen einzelner Felder in Majuskeln werden diese beiden Befehle
+% definiert. Bei der Verwendung des Befehls \cs{thanks} auf der Titelseite soll
+% sichergestellt werden, dass der Inhalt selbst nicht in Majuskeln gesetzt wird.
+% \begin{macrocode}
+\newcommand*\tud@title@uppercase[1]{%
+ \let\@tempa\relax%
+ \begingroup%
+% \end{macrocode}
+% Der Befehl \cs{thanks} wird so umdefiniert, dass der Inhalt in ein temporäres
+% Makro gespeichert wird. Danach wird durch das Setzen einer temporären Box der
+% Befehl \cs{thanks} ausgeführt und der Inhalt gesichert. Für die Ausführung von
+% \cs{tud@makeuppercase} wird das Argument von \cs{thanks} ignoriert. Nachdem
+% das gewünschte Feld in Majuskeln gesetzt wurde, wird die gespeicherte Fußnote
+% ausgegeben.
+% \begin{macrocode}
+ \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\footnote\thanks%
+ \setbox0\vbox{#1}%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \tud@makeuppercase{#1}%
+ \endgroup%
+ \ifx\@tempa\relax\else\thanks\@tempa\fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@title@uppercase
+% \begin{macro}{\tud@title@names}
+% Dieser Befehl dient zur getrennten Ausgabe von mehreren, mit dem Makro
+% \cs{and} separierten Einträgen in den Feldern \cs{@supervisor}, \cs{@referee}
+% und \cs{@advisor}.
+% \begin{macrocode}
+\newcommand*\tud@title@names[1]{%
+ \letcs\@tempa{@#1}
+ \ifx\@tempa\@empty\else%
+ \begingroup%
+ \def\and{%
+ \letcs\@tempa{#1othername}
+ \ifx\@tempa\@empty%
+ \newline%
+ \else%
+ \begingroup%
+ \usekomafont{tudscrtitle}%
+ \vskip 1ex%
+ \@nameuse{#1othername}%
+ \vskip .5ex%
+ \endgroup%
+ \fi%
+ \def\and{\newline}%
+ }%
+ \vskip 2ex%
+ \@nameuse{#1name}%
+ \vskip .5ex%
+ \usekomafont{subject}%
+ \@nameuse{@#1}%
+ \endgroup%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@title@names
+% \begin{macro}{\titledelimiter}
+% \begin{macro}{\@titledelim}
+% Dieses Makro wird für das Trennzeichen auf der Titelseite genutzt.
+% \begin{macrocode}
+\newcommand*\@titledelim{:\nobreakspace}
+\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}}
+% \end{macrocode}
+% \end{macro}^^A \@titledelim
+% \end{macro}^^A \titledelimiter
+%
+% \iffalse
+%<*class>
+% \fi
+%
+% \begin{macro}{\tud@@maketitle}
+% Der eigentliche Befehl für einen Titelkopf (\opt{titlepage=no}).
+% \begin{macrocode}
+\newcommand*\tud@@maketitle{%
+% \end{macrocode}
+% Ab der \KOMAScript-Version 3.11c gibt es mit \cs{@makeextratitle} einen
+% neuen, separaten Befehl für das Feld \cs{@extratitle}. Falls eine frühere
+% Version verwendet wird, muss der Extratitel hier mit \cs{tud@extratitle}
+% gesetzt werden.
+% \todo[v3.12]{\cs{tud@extratitle} raus}
+% \begin{macrocode}
+ \next@tdpage%
+ \vspace*{\tud@dim@headingsvskip}%
+ \tud@extratitle%
+ \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
+ \linespread{1}\selectfont%
+% \end{macrocode}
+% Damit die Farbeinstellungen der Schriften lokal begrenzt bleiben, wird dieser
+% Teil des Titels in einer Gruppe (\cs{begingroup}) gesetzt.
+% \begin{macrocode}
+ \begingroup%
+ \usekomafont{tudscrtitle}%
+% \end{macrocode}
+% Jetzt kommt wieder ein Teil in Anlehnung an das Original. Die Felder
+% \cs{@titlehead}, \cs{@subject}, \cs{@title} und \cs{@subtitle} werden
+% ausgegeben.
+% \begin{macrocode}
+ \ifx\@titlehead\@empty\else%
+ \begin{minipage}[t]{\textwidth}%
+ \usekomafont{tudscrtitle}\@titlehead%
+ \end{minipage}\newline\null\par%
+ \fi%
+% \end{macrocode}
+% Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll
+% und kann. Bei einem Titelkopf ist nur diese Variante möglich.
+% \begin{macrocode}
+ \TUDoptions{subjectthesis}%
+ \tud@letsubjectthesis%
+ \ifx\@subject\@empty\else%
+ {\usekomafont{subject}\@subject\par\null}%
+ \fi%
+ \begingroup%
+ \usekomafont{title}%
+ \tud@title@uppercase{\@title}%
+ \vskip 1ex%
+ \endgroup%
+ \ifx\@subtitle\@empty\else%
+ \usekomafont{subtitle}%
+ \tud@title@uppercase{\@subtitle}%
+ \fi%
+ \vskip 1ex%
+% \end{macrocode}
+% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen.
+% \begin{macrocode}
+ \tud@multiple@split{@@author}%
+% \end{macrocode}
+% Ausgabe von Datum, Verlag und Danksagung wie im Original.
+% \begin{macrocode}
+ \vskip 1ex%
+ \@date%
+ \ifx\@publisher\@empty\else%
+ \vskip 1ex%
+ \@publisher%
+ \fi%
+ \ifx\@dedication\@empty\else%
+ \vskip 2ex%
+ \begin{center}%
+ \@dedication\par%
+ \end{center}%
+ \fi%
+ \vskip 2ex%
+% \end{macrocode}
+% Falls Felder genutzt wurden, die nur auf der Titelseite, nicht aber im
+% Titelkopf ausgegeben werden, dann wird eine Warnung ausgegeben.
+% \begin{macrocode}
+ \ifx\@degree\@empty\else\tud@title@wrn{degree}\fi%
+ \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
+ \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi%
+ \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@@maketitle
+%
+% \iffalse
+%</class>
+% \fi
+%
+% Es wird die Angabe einer kollaborativen Autorenschaft ermöglicht, wo für
+% jeden einzelnen Autor weitere Angaben (Matrikelnummer etc.) gemacht werden
+% können. Hierfür ist eine spezielle Art der Eingabe im Dokument notwendig.
+% Die folgenden Befehle finden für den \pkg{titlepage}-Stil ebenfalls Verwendung.
+% \begin{macro}{\tud@multiple@split}
+% \begin{macro}{\tud@multiple@@split}
+% \begin{macro}{\tud@multiple@@@split}
+% \begin{macro}{\tud@multiple@field}
+% Mehrere Autoren werden durch \cs{and} voneinander getrennt. Damit alle
+% zusätzlichen Felder für alle Autoren einzeln nutzbar sind, muss der Inhalt
+% des Feldes \cs{@@author} an jedem \cs{and}-Befehl getrennt und für jeden Teil
+% separat ausgewertet. Dafür wird der Befehl \cs{tud@multiple@@split} definiert,
+% welcher allgemein gehalten ist um diesen auch für andere Felder nutzen zu
+% können. Das obligatorische Argument ist dabei das Feld mit dem auszuwertenden
+% Inhalt, der jeweils an \cs{and} getrennt werden soll. Dieses wird in
+% \cs{tud@multiple@field} gespeichert.
+% \begin{macrocode}
+\newcommand*\tud@multiple@field{}
+\newcommand*\tud@multiple@split[1]{%
+ \gdef\tud@multiple@field{#1}%
+ \begingroup%
+ \let\and\relax%
+% \end{macrocode}
+% Das Feld wird mit \cs{and} terminiert, um der Definition von
+% \cs{tud@multiple@@split} in jedem Fall zu entsprechen.
+% \begin{macrocode}
+ \edef\@tempa{\csname#1\endcsname\and}%
+ \expandafter\endgroup%
+ \expandafter\tud@multiple@@split\@tempa\relax%
+}
+% \end{macrocode}
+% Das Makro \cs{tud@multiple@@split} wird so definiert, dass der Befehl \cs{and}
+% als Separator für die einzelnen Argumente dient. Mit den beiden freigestellten
+% Argumenten kann das Makro zur eigentlichen Ausgabe aufgerufen werden, welches
+% aus dem gegebenen Feld (\cs{tud@multiple@field}) konstruiert wird
+% (\cs{tud@split\meta{Feld}}). An dieses wird der jeweils aktuelle Autor im
+% ersten Argument und die restlichen im zweiten Argument übergeben.
+% \begin{macrocode}
+\newcommand*\tud@multiple@@split{}%
+\def\tud@multiple@@split#1\and#2\relax{%
+ \expandafter\csname tud@split\tud@multiple@field\endcsname{#1}{#2}%
+}
+% \end{macrocode}
+% Der Befehl \cs{tud@multiple@@@split} prüft zum Schluss, ob noch weitere
+% Autoren angegeben sind. Sollte dies der Fall sein, so wird der Inhalt des
+% zweiten Argumentes ausgeführt und \cs{tud@multiple@@split} ein weiteres Mal
+% aufgerufen, um so sequentiell alle Autoren abzuarbeiten. Dafür muss
+% \cs{tud@multiple@@@split} innerhalb des verarbeitenden Makro
+% (\cs{tud@split\meta{Feld}}) aufgerufen werden.
+% \begin{macrocode}
+\newcommand*\tud@multiple@@@split[2]{%
+ \ifx\relax#1\relax%
+ \def\@tempb{}%
+ \else%
+ \def\@tempb{#2\tud@multiple@@split#1\relax}%
+ \fi%
+ \@tempb%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@multiple@field
+% \end{macro}^^A \tud@multiple@@@split
+% \end{macro}^^A \tud@multiple@@split
+% \end{macro}^^A \tud@multiple@split
+% \begin{macro}{\tud@multiple@setfields}
+% Der Befehl \cs{tud@multiple@setfields}\marg{Initialisierung}\marg{Teilinhalt}
+% wird verwendet, um innerhalb des Feldes \cs{@tud@multiple@field} zu prüfen, ob
+% sich darin bestimmte Befehle aus \cs{tud@split\\meta{Feld}@list} zum Setzen
+% zusätzlicher Informationen befinden. Sollte dies der Fall sein, so werden
+% diese mit \meta{Initialisierung} initialisiert. Anschließend wird der
+% übergebene Teilinhalt mit \cs{setbox0}\cs{vtop}\marg{\#1} in eine Box
+% expandiert. Dieser Trick führt dazu, dass die Felder bereits gesetzt werden,
+% ohne eine Ausgabe zu erzeugen.
+% \begin{macrocode}
+\newcommand*\tud@multiple@setfields[2]{%
+ \letcs\@tempa{tud@split\tud@multiple@field @list}%
+ \let\and\relax%
+ \@for\@tempb:=\@tempa\do{%
+ \ifx\@tempb\@empty\else%
+ \begingroup%
+ \@expandtwoargs\in@{\@tempb}{\csname\tud@multiple@field\endcsname}%
+ \ifin@ \@tempb{#1}\fi%
+ \endgroup%
+ \fi%
+ }%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \setbox0\vtop{#2}%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@multiple@setfields
+% \begin{macro}{\tud@split@@author}
+% \begin{macro}{\tud@split@@author@list}
+% \begin{macro}{\tud@newline}
+% Das Makro \cs{tud@split@@author} dient der formatierten Ausgabe aller
+% Informationen für mehrere Autoren auf der Titelseite.
+% \begin{macrocode}
+\newcommand*\tud@newline{}
+\newcommand*\tud@split@@author[2]{%
+% Zu Beginn werden alle Felder, welche innerhalb des \meta{Feld}-Argumentes
+% angegeben sind, initial gelöscht (erstes Argument \cs{tud@multiple@setfields})
+% Anschließend werden die Felder des aktuellen Teils gefüllt (zweites Argument
+% \cs{tud@multiple@setfields}).
+% \begin{macrocode}
+ \tud@multiple@setfields{}{#1}%
+% \end{macrocode}
+% Um die Abstände definiert zu setzen, wird \cs{tud@newline} verwendet. Sobald
+% auch nur eine zusätzliche Information ausgegeben werden soll, wird ein etwas
+% kleiner Abstand eingefügt. Anschließend wird jede Information einfach in
+% einer neuen Zeile ausgegeben.
+% \begin{macrocode}
+ \def\tud@newline{\vskip .5ex\let\tud@newline\newline}%
+% \end{macrocode}
+% Die Felder \cs{@author} und ggf. \cs{@authormore} werden sowohl auf der
+% Titelseite als auch im Titelkopf ausgegeben.
+% \begin{macrocode}
+ \begingroup%
+ \usekomafont{subject}%
+ \ignorespaces#1%
+ \endgroup%
+ \ifx\@authormore\@empty\else%
+ \tud@newline%
+ \@authormore%
+ \fi%
+% \end{macrocode}
+% Nur auf der Titelseite erfolgt die Ausgabe von Geburtsdatum, Geburtsort,
+% Matrikelnummer und Immatrikulationsjahr. Sollte ein Titelkopf verwendet
+% werden, so wird für jedes gesetzte Feld eine Warnung ausgegeben.
+% \begin{macrocode}
+ \ifx\@dateofbirth\@empty\else%
+%<*class>
+ \if@titlepage%
+%</class>
+ \tud@newline%
+ \ifstr{\dateofbirthtext}{}%
+ {}{\dateofbirthtext\@titledelim}\@dateofbirth%
+ \ifx\@placeofbirth\@empty\else%
+ \space\placeofbirthtext\unskip\space\@placeofbirth%
+ \fi%
+%<*class>
+ \else%
+ \tud@title@wrn{dateofbirth}%
+ \fi%
+%</class>
+ \fi%
+ \ifx\@matriculationnumber\@empty\else%
+%<*class>
+ \if@titlepage%
+%</class>
+ \tud@newline%
+ \ifstr{\matriculationnumbername}{}%
+ {}{\matriculationnumbername\@titledelim}%
+ \@matriculationnumber%
+%<*class>
+ \else%
+ \tud@title@wrn{matriculationnumber}%
+ \fi%
+%</class>
+ \fi%
+ \ifx\@matriculationyear\@empty\else%
+%<*class>
+ \if@titlepage%
+%</class>
+ \tud@newline%
+ \ifstr{\matriculationyearname}{}%
+ {}{\matriculationyearname\@titledelim}%
+ \@matriculationyear%
+%<*class>
+ \else%
+ \tud@title@wrn{matriculationyear}%
+ \fi%
+%</class>
+ \fi%
+% \end{macrocode}
+% Durch den Aufruf von \cs{tud@multiple@@@split} wird das übergebene \meta{Feld}
+% sukzessive abgearbeitet.
+% \begin{macrocode}
+ \tud@multiple@@@split{#2}{\vskip 2ex}%
+}
+% \end{macrocode}
+% Innerhalb von \cs{tud@split@@author@list} werden die Feldbefehle hinterlegt,
+% die durch \cs{tud@multiple@setfield} geprüft und ggf. initialisert werden
+% sollen.
+% \begin{macrocode}
+\newcommand*\tud@split@@author@list{%
+ \authormore,\matriculationyear,\enrolmentyear,%
+ \matriculationnumber,\studentid,\matriculationid,%
+ \placeofbirth,\birthplace,\dateofbirth,\birthday,%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@newline
+% \end{macro}^^A \tud@split@@author@list
+% \end{macro}^^A \tud@split@@author
+%
+%\iffalse
+%<*class>
+%\fi
+%
+% \begin{macro}{\maketitleonecolumn}
+% \begin{macro}{\@maketitleonecolumn}
+% \begin{macro}{\@longtwocolumn}
+% \begin{macro}{\@longtwocolumnbox}
+% Zum Setzen eines einspaltigen Titels mit einspaltiger Zusammenfassung bei
+% einem Titelkopf~-- dank der Hilfe von Markus Kohm\footnote{%
+% \url{http://www.komascript.de/node/1699}}
+%
+% Der Befehl \cs{maketitleonecolumn}\oarg{Seitenzahl}\oarg{Inhalt} kann bei
+% zweispaltigem Satz dazu genutzt werden, einen einspaltigen Titel zu bekommen.
+% Beim der Verwendung einer Titelseite wird lediglich der Titel sowie
+% anschließend ggf. \meta{Inhalt} einspaltig ausgegeben. Beim Satz eines
+% Titelkopfes wird der Befehl \cs{@longtwocolumn} zur Ausgabe genutzt.
+% \begin{macrocode}
+\newcommand\maketitleonecolumn[1][1]{%
+% \end{macrocode}
+% Da beide Argumente optional sind, wird zuerst getestet, ob das erste optionale
+% Argument ein numerischer Ausdruck ist oder nicht. Sollte dies der Fall sein,
+% wird ggf. das zweite optionale Argument als \meta{Inhalt} eingelesen. Sonst
+% ist bereits das erste optional Argument der \meta{Inhalt}.
+% \begin{macrocode}
+ \ifxnumber{#1}{%
+ \@ifnextchar[%]
+ {\@maketitleonecolumn{#1}}{\@maketitleonecolumn{#1}[]}%
+ }{\@maketitleonecolumn{1}[#1]}%
+}
+% \end{macrocode}
+% Hier erfolgt die Unterscheidung der Ausgabe, abhängig von der Option
+% \opt{titlepage}.
+% \begin{macrocode}
+\newcommand\@maketitleonecolumn{}
+\long\def\@maketitleonecolumn#1[#2]{%
+ \if@twocolumn%
+ \if@titlepage%
+ \maketitle[#1]%
+ \onecolumn\noindent#2\twocolumn%
+ \else%
+ \@longtwocolumn[{\maketitle[#1]{#2}}]%
+ \fi%
+ \else%
+ \ClassError{\tudcls@name}{%
+ \string\maketitleonecolumn\space can only be used in twocolumn mode%
+ }{}%
+ \fi%
+}
+% \end{macrocode}
+% Hier erfolgt die Verarbeitung des Inhaltes des Titelkopfes, welcher einspaltig
+% gesetzt werden soll. Damit sich dieser auch über mehrere Seiten erstrecken
+% kann, wird mit einer Box gearbeitet.
+% \begin{macrocode}
+\newsavebox\@longtwocolumnbox
+\newcommand\@longtwocolumn[1][]{%
+% \end{macrocode}
+% Zunächst wird auf einseitigen Satz umgeschaltet. Der zu schreibende Inhalt
+% wird in einer Box gespeichert. Während des Zusammenbaus der Box sind keine
+% expliziten \cs{newpage}- oder \cs{clearpage}-Befehle erlaubt.
+% \begin{macrocode}
+ \onecolumn%
+ \begingroup%
+ \let\clearpage\relax%
+ \let\newpage\relax%
+ \global\setbox\@longtwocolumnbox\vbox{#1\bigskip}%
+ \endgroup%
+% \end{macrocode}
+% Jetzt werden so lange einzelne Seiten ausgeben, bis der Rest der Box kleiner
+% als eine Seite ist. Dabei sollen für das Zerteilen der Box dieselben
+% Rahmenbedingungen für den Seitenaufbau gelten, wie auch im normalen Dokument.
+% \begin{macrocode}
+ \@whiledim\textheight<\ht\@longtwocolumnbox\do{%
+ \splittopskip\topskip%
+ \splitmaxdepth\maxdepth%
+ \vsplit\@longtwocolumnbox to \textheight\clearpage%
+ }%
+% \end{macrocode}
+% Der Rest wir einfach als optionales Argument von \cs{twocolumn} ausgegeben.
+% \begin{macrocode}
+ \twocolumn[\unvbox\@longtwocolumnbox]%
+}
+% \end{macrocode}
+% \end{macro}^^A \@longtwocolumnbox
+% \end{macro}^^A \@longtwocolumn
+% \end{macro}^^A \@maketitleonecolumn
+% \end{macro}^^A \maketitleonecolumn
+%
+% \iffalse
+%</class>
+% \fi
+%
+% \begin{macro}{\tud@letsubjectthesis}
+% Bei der Verwendung der Option \opt{subjectthesis} wird zum einen geprüft, ob
+% das Feld \cs{@thesis} gesetzt ist und zum anderen, ob das Feld \cs{@subject}
+% auch leer ist.
+% \begin{macrocode}
+\newcommand*\tud@letsubjectthesis{%
+ \if@tud@subjectthesis\ifx\@thesis\@empty\else%
+ \ifx\@subject\@empty\else%
+%<*class>
+ \ClassWarning{\tudcls@name}{%
+%</class>
+%<*titlepage>
+ \PackageWarning{titlepage}{%
+%</titlepage>
+ The option 'subjectthesis' was activated.\MessageBreak%
+ The field 'subject' will be overwritten with the\MessageBreak%
+ given thesis%
+ }%
+ \fi%
+ \let\@subject\@thesis%
+ \fi\fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@letsubjectthesis
+%
+%\iffalse
+%<*class>
+%\fi
+%
+% \begin{macro}{\tud@title@wrn}
+% Bei der Nutzung eines Titelkopfes wird bloß eine reduzierte Menge an
+% Informationen ausgegeben. Darauf wird der Anwender ggf. hingewiesen.
+% \begin{macrocode}
+\newcommand*\tud@title@wrn[1]{%
+ \ClassWarning{\tudcls@name}{%
+ \@backslashchar#1\space has to be used with\MessageBreak%
+ activated titlepage option%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@title@wrn
+% \todo[v3.12]{\cs{tud@extratitle} raus, \cs{maketitle} beachten/anpassen}
+% \begin{macro}{\tud@extratitle}
+% Ab der \KOMAScript-Version 3.11c gibt es für das Feld \cs{extratitle} einen
+% separaten Befehl. Für frühere Versionen wird folgendes Makro definiert.
+% \begin{macrocode}
+\ifdef{\@makeextratitle}{%
+ \let\tud@extratitle\relax%
+}{%
+ \newcommand*\tud@extratitle{%
+ \let\footnote\thanks%
+ \ifx\@extratitle\@empty\else%
+ \noindent\@extratitle\next@tdpage%
+ \fi%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@extratitle
+% Für die Titelseite wird der Befehl zum zweimaligen Seitenumbruch genutzt.
+% \todo[v3.12]{\cs{next@tdpage} raus}
+% \begin{macrocode}
+\providecommand*\next@tdpage{%
+ \next@tpage%
+ \if@twoside\ifodd\value{page}\else%
+ \null\next@tpage%
+ \fi\fi%
+}%
+% \end{macrocode}
+%
+% \subsection{Cover}
+%
+% Zusätzlich zum eigentlichen Titel kann eine Umschlagseite ausgegeben werden.
+% \todo[v3.12]{%
+% \KOMAScript{} definiert den neuen Schlüssel \texttt{firstiscover} für die
+% Option \texttt{titlepage}. Das muss irgendwie so verwurstet werden, dass
+% \cs{makecover} aufgerufen wird. Außerdem überlegen, wie \cs{makecover} mit
+% dem Parameter \texttt{cd=no} zu definieren ist. Neue Klassenoption cdcover?
+% }
+% \begin{macro}{\makecover}
+% \begin{macro}{\if@tud@cover}
+% Der Befehl ist für ein Cover bei einem gebundenen Werk zu verwenden.
+% \begin{macrocode}
+\newif\if@tud@cover
+\newcommand*\makecover[1][]{%
+% \end{macrocode}
+% Der Befehl verwendet das Layout des Titels im \CD. Allerdings werden nicht
+% alle sondern nur für ein Cover relavante Angaben ausgegeben.
+% \begin{macrocode}
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \let\tud@multiple@setfields\@gobbletwo%
+% \end{macrocode}
+% Weil genügend Platz auf der Cover-Seite ist, werden die Autoren etwas tiefer
+% auf dem Cover gesetzt.
+% \begin{macrocode}
+ \pretocmd{\tud@multiple@split}{\vskip\z@\@plus0.5fill}{}{}%
+ \let\@authormore\@empty%
+ \let\@dateofbirth\@empty%
+ \let\@matriculationnumber\@empty%
+ \let\@matriculationyear\@empty%
+% \end{macrocode}
+% Die Erscheinung des Covers lässt sich durch wenige Optionen etwas anpassen.
+% Standardmäßig ist das Cover farblos, die farbige Darstellung kann durch Option
+% gewählt werden. Außerdem wird normalerwe ein Layout erzeugt, welches sich
+% genau an die Vorgaben des \CDs hält und außerdem die Binderandkorrektur
+% \emph{nicht} beachtet. Optional kann das Cover im Satzspiegel erstellt werden.
+% Zuletzt ist die Verwendung der Schriften des \CDs deaktivierbar.
+% \begin{macrocode}
+ \TUD@parameter@set[cover]{cd,cdfonts,cdlayout=true,#1}%
+% \end{macrocode}
+% Der Schalter \cs{if@tud@cover} wird hier durch die Option \opt{cdlayout}
+% gesetzt und ist verantwortlich dafür, ob das Layout des Covers dem des
+% Satzspiegels entspricht, oder aber strikt dem \CD folgt.
+% \begin{macrocode}
+ \if@tud@cover@cdlayout%
+ \newgeometry{%
+ left=\tud@dim@left,%
+ textwidth=\dimexpr\paperwidth-\tud@dim@both,%
+ top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,%
+ headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,%
+ headsep=\tud@dim@headsep,%
+ bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,%
+ footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,%
+ }%
+ \else%
+ \ifnum\tud@ddc@foot=\z@\relax%
+ \loadgeometry{tudpage}%
+ \else%
+ \loadgeometry{tudddc}%
+ \fi%
+ \fi%
+% \end{macrocode}
+% Weil bereits die Titelseite normalerweise die Seitenzahl eins bekommt, kann es
+% bei der Verwendung des Paketes \pkg{hyperref} zu einer Warnung aufgrund der
+% doppelt verwendeten Seitenzahl kommen. Um dies zu verhindern, werden die
+% Seitenanker für das Cover deaktiviert.
+% \begin{macrocode}
+ \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}%
+% \end{macrocode}
+% Die Ausgabe des Covers. Der Schalter \cs{if@tud@cover} wird innerhalb des
+% Befehles \cs{tud@maketitle} genutzt, um die Unterscheidung zu machen, ob es
+% sich bei der aktuellen Ausgabe um das Cover oder aber die Titelseite handelt.
+% \begin{macrocode}
+ \@tud@covertrue
+ \@titlepagetrue%
+ \tud@maketitle%
+ \endgroup%
+ \loadgeometry{tudarea}%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@cover
+% \end{macro}^^A \makecover
+% \begin{parameter}{cd}
+% \begin{parameter}{widehead}
+% \begin{parameter}{cdfont}
+% \begin{parameter}{cdfonts}
+% \begin{parameter}{tudfonts}
+% \begin{parameter}{cdlayout}
+% \begin{macro}{\if@tud@cover@cdlayout}
+% Die einzelnen Parameter dienen zur Einstellung der Umschlagseite und
+% entsprechen in ihrem Verhalten den gleichnamigen Klassenoptionen~--
+% \opt{cdlayout} ausgenommen.
+% \begin{macrocode}
+\newif\if@tud@cover@cdlayout
+\TUD@parameter{cover}{%
+ \TUD@parameter@define{cd}[true]{\TUDoption{cd}{#1}}%
+ \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}%
+ \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@define{cdlayout}[true]{%
+ \ifstr{#1}{true}{\@tud@cover@cdlayouttrue}{%
+ \ifstr{#1}{on}{\@tud@cover@cdlayouttrue}{%
+ \ifstr{#1}{yes}{\@tud@cover@cdlayouttrue}{%
+ \ifstr{#1}{false}{\@tud@cover@cdlayoutfalse}{%
+ \ifstr{#1}{no}{\@tud@cover@cdlayoutfalse}{%
+ \ifstr{#1}{off}{\@tud@cover@cdlayoutfalse}{%
+ \TUD@parameter@wrn{cdlayout}{true,false}%
+ }}}}}}%
+ }%
+ \TUD@parameter@sethandler{\TUD@parameter@set[cover]{cdlayout=#1}}%
+}%
+% \end{macrocode}
+% \end{macro}^^A \if@tud@cover@cdlayout
+% \end{parameter}^^A cdlayout
+% \end{parameter}^^A tudfonts
+% \end{parameter}^^A cdfonts
+% \end{parameter}^^A cdfont
+% \end{parameter}^^A widehead
+% \end{parameter}^^A cd
+%
+% \iffalse
+%</class>
+%<*titlepage>
+% \fi
+%
+% \subsection{Das \pkg{titlepage}-Paket}
+%
+% Der Titel wird nicht nur für die \cls{tudscr}-Klassen selbst, sondern auch als
+% Stil-Datei für das \pkg{titlepage}-Paket von Markus Kohm bereitgestellt.
+% Dafür sind einige paketspezifische Definitionen für Schriften, Optionen,
+% Befehle und Logos notwendig.
+% \todo[v3.12]{Komplett überarbeiten, falls von Markus Kohm gewollt.}
+% \begin{macrocode}
+\renewcommand*\inittitle{%
+ \mainlogo{TU_Logo_SW}
+ \tud@geometry@set%
+ \ifcase \tud@cdfont\relax%
+ \let\tud@font\sfdefault%
+ \let\dinbn\tud@raggedright%
+ \else%
+ \def\tud@font{pun}%
+ \def\dinbn{%
+ \usefont{\encodingdefault}{pm6}{b}{n}%
+ \tud@raggedright%
+ \selectfont%
+ }%
+ \ifnum \tud@cdfont=1%
+ \renewcommand*\mddefault{l}
+ \renewcommand*\bfdefault{m}
+ \else%
+ \renewcommand*\mddefault{m}
+ \renewcommand*\bfdefault{b}
+ \fi%
+ \fi%
+}
+\providecommand*\@uppertitleback{}
+\providecommand\uppertitleback[1]{\gdef\@uppertitleback{#1}}
+\DefineFamilyKey[TU-Dresden]{title}{uppertitleback}{\uppertitleback{#1}}
+\providecommand*\@lowertitleback{}
+\providecommand\lowertitleback[1]{\gdef\@lowertitleback{#1}}
+\DefineFamilyKey[TU-Dresden]{title}{lowertitleback}{\lowertitleback{#1}}
+\renewcommand*\makemaintitleback{%
+ \begin{titlepage}
+ \begin{minipage}[t]{\textwidth}
+ \usekomafont{titlepagefont}{\@uppertitleback}%
+ \end{minipage}\par
+ \vfill
+ \begin{minipage}[b]{\textwidth}
+ \usekomafont{titlepagefont}{\@lowertitleback}%
+ \end{minipage}
+ \end{titlepage}
+}
+\providecommand*\@extratitle{}
+\providecommand\extratitle[1]{\gdef\@extratitle{#1}}
+\DefineFamilyKey[TU-Dresden]{title}{extratitle}{\extratitle{#1}}
+\renewcommand*\makepretitle{%
+ \ifx\@extratitle\@empty\else
+ \begin{titlepage}
+ \noindent\@extratitle
+ \end{titlepage}
+ \fi
+}%
+\renewcommand*\makepretitleback{%
+ \ifx\@extratitle\@empty\else\begin{titlepage}\null\end{titlepage}\fi
+}
+\renewcommand*\makeposttitle{%
+ \ifx\@dedication\@empty\else
+ \begin{titlepage}
+ \null\vfill
+ {\centering\usekomafont{dedication}{\@dedication \par}}%
+ \vskip \z@ \@plus 3fill
+ \end{titlepage}
+ \fi
+}
+\renewcommand*\makeposttitleback{%
+ \ifx\@dedication\@empty\else\begin{titlepage}\null\end{titlepage}\fi
+}
+% \end{macrocode}
+%
+% \iffalse
+%</titlepage>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx
new file mode 100644
index 00000000000..a8d6728dfc5
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx
@@ -0,0 +1,176 @@
+% \CheckSum{123}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-twocolfix.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-twocolfix.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (twocolfix)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-twocolfix.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \section{Bugfix für den zweispaltigen Satz}
+%
+% Der \LaTeXe-Kernel enthält einen Fehler, der Kapitelüberschriften im
+% zweispaltigen Layout höher setzt, als im einspaltigen. Der Fehler ist zwar
+% schon länger bekannt,\footnote{\url{%
+% http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}} allerdings
+% noch nicht in \pkg{ltxfix2e} übernommen worden. Das Paket \pkg{twocolfix}
+% soll das Problem beheben. Eine Integration dieses Bugfixes in \KOMAScript{}
+% wurde bereits bei Markus Kohm angefragt,\footnote{\url{%
+% http://www.komascript.de/node/1681}} jedoch von ihm bis jetzt nicht weiter
+% verfolgt.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*package&header>
+% \fi
+%
+% \subsection{Identifizierung des Pakets \pkg{twocolfix}}
+%
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{twocolfix}[\TUDVersion\space package (twocolumn layout bugfix)]
+% \end{macrocode}
+%
+% \iffalse
+%</package&header>
+%<*package&body>
+% \fi
+%
+% \subsection{Das Paket \pkg{twocolfix}}
+%
+% Neudefinition des fehlerhaften Befehls aus dem \LaTeXe-Kernel. Die
+% \KOMAScript-Klassen selbst definieren \cs{@topnewpage} um und sichern vorher
+% das Original in \cs{scr@topnewpage}. Daher wird der neue Befehl erst temporär
+% definiert.
+% \begin{macrocode}
+\long\def \@tempa [#1]{%
+ \@nodocument%
+ \@next\@currbox\@freelist{}{}%
+ \global \setbox\@currbox%
+ \vbox {%
+ \break%
+ \prevdepth\z@%
+ \begingroup%
+ \normalcolor%
+ \hsize\textwidth%
+% \end{macrocode}
+% Damit der Inhalt des optionale Argumentes mit den gleichen Absatzeinstellungen
+% gesetzt wird, darf der Befehl \cs{@parboxrestore} nicht aufgerufen werden.
+% Alternativ müsste \KOMAScript{} eine Option bereitstellen, mit der sich die
+% Einstellungen für Absätze wiederherstellen lassen.
+% \begin{macrocode}
+% \@parboxrestore
+% \KOMAoptions{parskip=last}
+ \col@number \@ne%
+ \ignorespaces #1\par%
+ \ifdim\parskip>\z@\null\fi%
+ \vskip -\dbltextfloatsep%
+ \endgroup%
+ \ifdim\parskip>\z@\vskip\parskip\else\null\fi%
+ \vskip -\topskip%
+ }%
+ \begingroup%
+ \splitmaxdepth\maxdepth \splittopskip\topskip%
+ \setbox\@tempboxa \vsplit\@currbox to\z@%
+ \endgroup%
+ \ifdim \ht\@currbox>\textheight%
+ \ht\@currbox \textheight%
+ \fi%
+ \global \count\@currbox \tw@%
+ \@tempdima -\ht\@currbox%
+ \advance \@tempdima -\dbltextfloatsep%
+ \global \advance \@colht \@tempdima%
+ \ifx \@dbltoplist \@empty%
+ \else%
+ \@latexerr{Float(s) lost}\@ehb%
+ \let \@dbltoplist \@empty%
+ \fi%
+ \@cons \@dbltoplist \@currbox%
+ \global \@dbltopnum \m@ne%
+ \ifdim \@colht<2.5\baselineskip%
+ \@latex@warning@no@line {Optional argument of \noexpand\twocolumn
+ too tall on page \thepage}%
+ \@emptycol%
+ \if@firstcolumn%
+ \else%
+ \@emptycol%
+ \fi%
+ \else%
+ \global \vsize \@colht%
+ \global \@colroom \@colht%
+ \@floatplacement%
+ \fi%
+}
+% \end{macrocode}
+% Nachdem der Befehl zuerst temporär definert wurde, wird nun abhängig von der
+% aktiven Klasse der notwendige Befehl mit der neuen Definition überschrieben.
+% \begin{macrocode}
+\@ifundefined{scr@topnewpage}
+ {\let\@topnewpage\@tempa}
+ {\let\scr@topnewpage\@tempa}
+% \end{macrocode}
+%
+% \iffalse
+%</package&body>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx
new file mode 100644
index 00000000000..4e901231362
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx
@@ -0,0 +1,184 @@
+% \CheckSum{64}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-version.dtx
+% \fi
+%
+% \iffalse
+% Nicht verwirren lassen! In dieser Datei steht die Dokumentation und
+% der Code vor dem Treiber. Das ist notwendig, weil der Code bereits
+% am Anfang des Treibers selbst benötigt wird.
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \changes{v1.0}{2012/10/31}{\TUDScript-Bundle erstmalig händisch erstellt}
+% \changes{v2.00}{2014/04/21}{%
+% \TUDScript-Bundle wird mittels \pkg{docstrip} erzeugt%
+% }
+% \changes{v2.01}{2014/04/24}{%
+% Anpassungen in Dokumentation und Schriftinstallation, Fehlerkorrekturen%
+% }
+%
+% \section{Version des \texorpdfstring{\TUDScript}{TUD-KOMA-Script}-Bundles}
+%
+% Dies ist die erste Datei in allen Dateien, Klassen und Paketen, die zum
+% \TUDScript"~Bundle auf \KOMAScript-Basis gehören. Sie dient zur Festlegung der
+% aktuellen Version und zum Erzeugen der Header für die jeweiligen cls-Dateien.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \begin{macro}{\TUDVersion}
+% Dieses Makro gibt an, zu welcher TUD"~CD"~Bundle"~Version die Datei gehört.
+% Die Klassen und Pakete des Bundles verwenden dieses Makro außerdem als eigene
+% Versionsangabe.
+% \begin{macro}{\@TUDVersion}
+% Je nachdem, ob \cs{TUDVersion} bereits definiert ist oder nicht, wird die
+% Definition überprüft oder eine globale Definition vorgenommen. Da das Ganze
+% auch bei der Erstellung der Dokumentation geschieht, wird \cs{makeatletter}
+% innerhalb einer Gruppe verwendet.
+% \begin{macrocode}
+\begingroup%
+ \makeatletter%
+ \ifx\TUDVersion\undefined%
+ \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
+ \else%
+ \newcommand*\@TUDVersion[1]{%
+ \def\@tempa{#1}%
+ \ifx\TUDVersion\@tempa\else%
+ \@latex@warning@no@line{%
+ \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ but `#1' was expected!\MessageBreak%
+ You should not use classes, packages or files from\MessageBreak%
+ different TUD-KOMA-Script-Bundle versions%
+ }%
+ \fi%
+ }%
+ \fi%
+ \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}%
+\endgroup%
+% \end{macrocode}
+% \end{macro}^^A \@TUDVersion
+% \end{macro}^^A \TUDVersion
+%
+% \iffalse
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-version.dtx}[\TUDVersion\space (versions)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-version.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \iffalse
+%<*class>
+%<*article|book|report>
+% \fi
+%
+% \begin{macro}{\cls@name}
+% \begin{macro}{\scrcls@name}
+% \begin{macro}{\tudcls@name}
+% \begin{macro}{\filemail}
+% Für die TUD"~CD"~Klassen werden hier einmalig die Namen der jeweiligen Klassen
+% definiert.
+% \begin{macrocode}
+%<*article>
+\newcommand*\cls@name{article}
+\newcommand*\scrcls@name{scrartcl}
+\newcommand*\tudcls@name{tudscrartcl}
+%</article>
+%<*report>
+\newcommand*\cls@name{report}
+\newcommand*\scrcls@name{scrreprt}
+\newcommand*\tudcls@name{tudscrreprt}
+%</report>
+%<*book>
+\newcommand*\cls@name{book}
+\newcommand*\scrcls@name{scrbook}
+\newcommand*\tudcls@name{tudscrbook}
+%</book>
+\newcommand*\filemail{tudscr@gmail.com}
+% \end{macrocode}
+% \end{macro}^^A \filemail
+% \end{macro}^^A \tudcls@name
+% \end{macro}^^A \scrcls@name
+% \end{macro}^^A \cls@name
+% Der Quelltext für das Bereitstellen der Klassen. Es wird als Basis die
+% korrespondierende \KOMAScript-Klasse geladen.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{\tudcls@name}%
+ [\TUDVersion\space document class (\cls@name)]%
+% \end{macrocode}
+% Beim Verwenden der Klassen wird in der log-Datei ein Vermerk mit
+% \cmd{typeout} erstellt.
+% \begin{macrocode}
+\typeout{The Corporate Design of Technische Universitaet Dresden}
+\typeout{Class: \tudcls@name}
+\typeout{Version: \TUDVersion}
+\typeout{Author: Falk Hanisch (\filemail)}
+\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
+% \end{macrocode}
+% \todo[v2.1]{%
+% Versionsabfrage der KOMA-Script-Klassen (\cs{@nameuse}\marg{scr@v@3.12}),
+% wenn nicht definiert, dann Fehler!%
+% }
+%
+% \iffalse
+%</article|book|report>
+%</class>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr.ins b/Master/texmf-dist/source/latex/tudscr/tudscr.ins
new file mode 100644
index 00000000000..713791e3fb8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr.ins
@@ -0,0 +1,154 @@
+\input docstrip.tex
+
+\keepsilent
+
+\usedir{tex/latex/tudscr}
+
+\preamble
+
+======================================================================
+
+Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+
+======================================================================
+This work may be distributed and/or modified under the conditions of
+the LaTeX Project Public License, version 1.3c of the license.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2005/12/01 or later and of this work.
+This work has the LPPL maintenance status "author-maintained".
+The current maintainer and author of this work is Falk Hanisch.
+----------------------------------------------------------------------
+Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+Version 1.3c, verteilt und/oder veraendert werden.
+Die neuste Version dieser Lizenz ist
+ http://www.latex-project.org/lppl.txt
+und Version 1.3c ist Teil aller Verteilungen von LaTeX
+Version 2005/12/01 oder spaeter und dieses Werks.
+Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+(allein durch den Autor verwaltet).
+Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+======================================================================
+
+\endpreamble
+
+\askforoverwritefalse
+
+\usedir{tex/latex/tudscr}
+\generate{\usepreamble\defaultpreamble
+ \file{tudscrbase.sty}{%
+ \from{tudscr-version.dtx}{package}%
+ \from{tudscr-base.dtx}{package,header}%
+ \from{tudscr-base.dtx}{package,body}%
+ }
+ \file{tudscrbook.cls}{%
+ \from{tudscr-version.dtx}{class,book}%
+ \from{tudscr-base.dtx}{class,book}%
+ \from{tudscr-fonts.dtx}{class,option}%
+ \from{tudscr-pagestyle.dtx}{class,book,option}%
+ \from{tudscr-layout.dtx}{class,book,option}%
+ \from{tudscr-frontmatter.dtx}{class,book,option}%
+ \from{tudscr-title.dtx}{class,book,option}%
+ \from{tudscr-misc.dtx}{class,book,option}%
+ \from{tudscr-fonts.dtx}{class}%
+ \from{tudscr-pagestyle.dtx}{class,book}%
+ \from{tudscr-layout.dtx}{class,book}%
+ \from{tudscr-frontmatter.dtx}{class,book}%
+ \from{tudscr-title.dtx}{class,book}%
+ \from{tudscr-fields.dtx}{class}%
+ \from{tudscr-locale.dtx}{class,book}%
+ \from{tudscr-color.dtx}{class}%
+ \from{tudscr-misc.dtx}{class,book}%
+ }
+ \file{tudscrreprt.cls}{%
+ \from{tudscr-version.dtx}{class,report}%
+ \from{tudscr-base.dtx}{class,report}%
+ \from{tudscr-fonts.dtx}{class,option}%
+ \from{tudscr-pagestyle.dtx}{class,report,option}%
+ \from{tudscr-layout.dtx}{class,report,option}%
+ \from{tudscr-frontmatter.dtx}{class,report,option}%
+ \from{tudscr-title.dtx}{class,report,option}%
+ \from{tudscr-misc.dtx}{class,report,option}%
+ \from{tudscr-fonts.dtx}{class}%
+ \from{tudscr-pagestyle.dtx}{class,report}%
+ \from{tudscr-layout.dtx}{class,report}%
+ \from{tudscr-frontmatter.dtx}{class,report}%
+ \from{tudscr-title.dtx}{class,report}%
+ \from{tudscr-fields.dtx}{class}%
+ \from{tudscr-locale.dtx}{class,report}%
+ \from{tudscr-color.dtx}{class}%
+ \from{tudscr-misc.dtx}{class,report}%
+ }
+ \file{tudscrartcl.cls}{%
+ \from{tudscr-version.dtx}{class,article}%
+ \from{tudscr-base.dtx}{class,article}%
+ \from{tudscr-fonts.dtx}{class,option}%
+ \from{tudscr-pagestyle.dtx}{class,article,option}%
+ \from{tudscr-layout.dtx}{class,article,option}%
+ \from{tudscr-frontmatter.dtx}{class,article,option}%
+ \from{tudscr-title.dtx}{class,article,option}%
+ \from{tudscr-misc.dtx}{class,article,option}%
+ \from{tudscr-fonts.dtx}{class}%
+ \from{tudscr-pagestyle.dtx}{class,article}%
+ \from{tudscr-layout.dtx}{class,article}%
+ \from{tudscr-frontmatter.dtx}{class,article}%
+ \from{tudscr-title.dtx}{class,article}%
+ \from{tudscr-fields.dtx}{class}%
+ \from{tudscr-locale.dtx}{class,article}%
+ \from{tudscr-color.dtx}{class}%
+ \from{tudscr-misc.dtx}{class,article}%
+ }
+ \file{tudscrman.cls}{%
+ \from{tudscr-version.dtx}{class}%
+ \from{tudscr-manual.dtx}{}%
+ }
+ \file{tudscrdoc.cls}{\from{tudscr-doc.dtx}{}}
+}
+\generate{\usepreamble\defaultpreamble
+ \file{tudscrsupervisor.sty}{%
+ \from{tudscr-version.dtx}{package}%
+ \from{tudscr-supervisor.dtx}{package,header}%
+ \from{tudscr-fields.dtx}{package,supervisor}%
+ \from{tudscr-locale.dtx}{package,supervisor}%
+ \from{tudscr-supervisor.dtx}{package,body}%
+ }
+ \file{tudscrcomp.sty}{%
+ \from{tudscr-version.dtx}{package}%
+ \from{tudscr-comp.dtx}{package,header}%
+ \from{tudscr-comp.dtx}{package,body}%
+ }
+ \file{tudscrcolor.sty}{%
+ \from{tudscr-version.dtx}{package}%
+ \from{tudscr-color.dtx}{package,header}%
+ \from{tudscr-color.dtx}{package,body}%
+ }
+ \file{twocolfix.sty}{%
+ \from{tudscr-version.dtx}{package}%
+ \from{tudscr-twocolfix.dtx}{package,header}%
+ \from{tudscr-twocolfix.dtx}{package,body}%
+ }
+ \file{mathswap.sty}{%
+ \from{tudscr-version.dtx}{package}%
+ \from{tudscr-mathswap.dtx}{package,header}%
+ \from{tudscr-mathswap.dtx}{package,body}%
+ }
+}
+%% muss noch
+% \file{tudfont.sty}{%
+% \from{tudscr-version.dtx}{package}%
+% \from{tudscr-fonts.dtx}{package}%
+% }
+% muss wieder, falls nötig
+%\generate{\usepreamble\defaultpreamble
+% \file{title-TU-Dresden.def}{%
+% \from{tudscr-base.dtx}{titlepage}%
+% \from{tudscr-fields.dtx}{titlepage}%
+% \from{tudscr-locale.dtx}{titlepage}%
+% \from{tudscr-fonts.dtx}{titlepage}%
+% \from{tudscr-pagestyle.dtx}{titlepage}%
+% \from{tudscr-title.dtx}{titlepage}
+% \from{tudscr-misc.dtx}{titlepage}%
+% }
+%}
+\endbatchfile \ No newline at end of file