% \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