% \iffalse meta-comment
%/GitFileInfo=tudscr-title.dtx
%
%  TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
%  Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2022
%
% ----------------------------------------------------------------------------
%
%  This work may be distributed and/or modified under the conditions of the
%  LaTeX Project Public License, either version 1.3c of this license or
%  any later version. 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 2008-05-04 or later.
%
%  This work has the LPPL maintenance status "maintained".
%
%  The current maintainer and author of this work is Falk Hanisch.
%
% ----------------------------------------------------------------------------
%
% \fi
%
% \iffalse ins:batch + dtx:driver
%<*ins>
\ifx\documentclass\undefined
  \input docstrip.tex
  \ifToplevel{\batchinput{tudscr.ins}}
\else
  \let\endbatchfile\relax
\fi
\endbatchfile
%</ins>
%<*dtx>
\ProvidesFile{tudscr-title.dtx}[2022/08/09]
\RequirePackage{tudscr-gitinfo}
\documentclass[english,ngerman,xindy]{tudscrdoc}
\iftutex
  \usepackage{fontspec}
\else
  \usepackage[T1]{fontenc}
  \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\usepackage[babel]{microtype}

\GitHubBase{\TUDScriptRepository}
\begin{document}
  \author{Falk Hanisch\TUDScriptContactTitle}
  \maketitle
  \tableofcontents
  \DocInput{\filename}
\end{document}
%</dtx>
% \fi
%
% \selectlanguage{ngerman}
%
% \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A
% \changes{v2.05}{2015/07/13}{Titel für Poster}^^A
%
%
%
% \section{Titelei für die \TUDScript-Klassen}
%
% Ergänzend zu den \KOMAScript-Varianten werden für die \TUDScript-Klassen
% spezielle, im \TUDCD gehaltene Ausführungen von Titelseite und Titelkopf
% bereitgestellt. Zusätzlich gibt es auch eine Umschlagsseite (Cover), welche
% in beiden Gestaltungsvarianten genutzt werden kann.
%
% Für Titelseite und Titelkopf werden durch \TUDScript eine monochrome Version, 
% eine Version mit leichtem Farbeinsatz und eine durchweg farbige Version im
% \TUDCD bereitgestellt. Dabei wird auch das Aussehen und die Position des
% Titels analog zu den Überschriften auf Teile- und Kapitelseiten festgelegt.
%
% \iffalse
%<*class&body>
% \fi
%
% \subsection{Optionen und Schriftelemente für die Titelei}
%
% \iffalse
%</class&body>
%<*class&option>
%<*book|report|article>
% \fi
%
% \begin{option}{subjectthesis}
% \begin{macro}{\if@tud@subjectthesis}
% 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}
\tud@newif\if@tud@subjectthesis
\TUD@key{subjectthesis}[true]{%
  \TUD@set@ifkey{subjectthesis}{@tud@subjectthesis}{#1}%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@subjectthesis
% \end{option}^^A subjectthesis
% \begin{option}{titlesignature}
% \changes{v2.06}{2018/08/21}{neu}^^A
% \begin{macro}{\if@tud@titlesignature}
% \changes{v2.06}{2018/08/21}{neu}^^A
% Von einigen Fakultäten wird eine Unterschrift der Autoren auf der Titelseite 
% verlangt. Diese Option dient zum Aktivieren dieser Unterschriftenzeile am
% Ende der Titelseite.
%    \begin{macrocode}
\tud@newif\if@tud@titlesignature
\TUD@key{titlesignature}[true]{%
  \TUD@set@ifkey{titlesignature}{@tud@titlesignature}{#1}%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@titlesignature
% \end{option}^^A titlesignature
%
% \iffalse
%</book|report|article>
%<*poster>
% \fi
%
% \begin{option}{titlepage}
% \begin{macro}{\tud@titlepage@deactivate}
% Für Poster gibt es keine separate Titelseite sondern nur einen Titelkopf. 
% Falls die falsche Einstellung gewählt ist, wird diese deaktiviert und eine 
% Warnung ausgegeben.
%    \begin{macrocode}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{titlepage}{%
  \FamilyKeyStateUnknownValue%
  \AtEndOfFamilyOptions{\tud@titlepage@deactivate}%
}
\newcommand*\tud@titlepage@deactivate{%
  \if@titlepage%
    \KOMAoptions{titlepage=false}%
    \ClassWarningNoLine{\TUD@Class@Name}{%
      The class `\TUD@Class@Name' can't be used with\MessageBreak%
      activated titlepage option. It will be enforced to\MessageBreak%
      `titlepage=false'%
    }%
    \renewcommand*\tud@titlepage@deactivate{%
      \if@titlepage\KOMAoptions{titlepage=false}\fi%
    }%
  \fi%
}
\AtBeginDocument{\tud@titlepage@deactivate}
%    \end{macrocode}
% \end{macro}^^A \tud@titlepage@deactivate
% \end{option}^^A titlepage
%
% \iffalse
%</poster>
%</class&option>
%<*class&body>
% \fi
%
% \begin{KOMAfont}{thesis}
% \begin{KOMAfont}{titlepage}
% \changes{v2.01}{2014/04/24}{Explizite Wahl der genutzten Schriftstärke}^^A
% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A
% 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{subjectthesis}
% deaktiviert ist. Es wird die gleiche Schrift wie für den Titel verwendet,
% allerdings etwas kleiner. \opt{titlepage} für alle Zusatzinformationen wie
% Autor, Datum etc.
%    \begin{macrocode}
%<*book|report|article>
\newkomafont{thesis}{%
  \usekomafont{title}%
  \tud@subtitle@fontsizecmd%
}
%</book|report|article>
\newkomafont{titlepage}{%
  \raggedtitle%
  \sffamily%
  \mdseries%
  \usesizeofkomafont{subsection}%
  \tud@color{\tud@title@fontcolor}%
}
%    \end{macrocode}
% \end{KOMAfont}^^A titlepage
% \end{KOMAfont}^^A thesis
%
% \subsection{Titelseite und Titelkopf}
% \subsubsection{Parameter für Titelseite und Titelkopf}
%
% \begin{macro}{\thanks}
% \begin{macro}{\footnotemark}
% Die Befehle \cs{thanks} und \cs{footnotemark} werden mit \cs{robustify} 
% behandelt, um die Makros 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}
\robustify{\footnotemark}
%    \end{macrocode}
% \end{macro}^^A \footnotemark
% \end{macro}^^A \thanks
% \begin{macro}{\tud@maketitle}
% \changes{v2.01a}{2014/06/03}{Fehler bei Nutzung von \cs{subtitle} behoben}^^A
% \changes{v2.02}{2014/06/23}{\val{firstiscover} wird als Wert für die Option 
%   \opt{titlepage} unterstützt}^^A
% \changes{v2.02}{2014/07/19}{Im zweispaltigen Satz wird für den Titelkopf
%   \cs{tud@title@twocolumn} verwendet}^^A
% \changes{v2.02}{2014/09/05}{Titelseite mit \cs{tud@maketitle@page}}^^A
% \changes{v2.06}{2018/08/16}{Unterstützung von \cs{frontispiece}}^^A
% \changes{v2.06}{2018/08/21}{\cs{emailaddress} für Autorangaben}^^A
% \changes{v2.06}{2018/08/21}{Unterschriftenfeld für Autoren}^^A
% \begin{macro}{\tud@title@pagenumber}
% \changes{v2.02}{2014/06/23}{neu}^^A
% \begin{parameter}{cdtitle}
% \changes{v2.03}{2015/01/12}{neu}^^A
% \begin{parameter}{cd}
% \changes{v2.03}{2015/01/12}{neu}^^A
% \begin{parameter}{pagenumber}
% \changes{v2.02}{2014/09/05}{neu}^^A
% 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 ursprüngliche \cs{maketitle}-Befehl bei der Abarbeitung 
% der Layoutoptionen gesichert (siehe \cs{tud@cd@process}) und kann ggf. 
% wiederhergestellt bzw. mit \cs{tud@cs@use} verwendet werden. Ist das Layout 
% des \CDs gefordert wird entweder mit \cs{tud@maketitle@page} eine Titelseite 
% gesetzt~-- wobei sich diese in ihrer Struktur am originalen \cs{maketitle}
% orientiert~-- oder das Titelkopflayout wird angepasst.
%    \begin{macrocode}
\newcommand*\tud@title@pagenumber{}
\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
%<*book|report|article>
  \TUD@deprecated@length\pageheadingsvskip%
  \TUD@deprecated@length\headingsvskip%
%</book|report|article>
  \begingroup%
    \cleardoublepage%
%    \end{macrocode}
% Das optionale Argument wird für das Setzen der Parameter verwendet.
%    \begin{macrocode}
    \TUD@parameter@set{title}{#1}%
%    \end{macrocode}
% Ist das \CD für den Titel deaktiviert, wird mit \cs{tud@cs@use} der originale
% \KOMAScript-Befehl \cs{maketitle} aufgerufen. Wird die erste Seite als Cover
% gesetzt, werden mit \cs{tud@cover@fixmargins} ggf. die Ränder an das gegebene
% Layout von \pkg{geometry} angepasst.
%    \begin{macrocode}
    \ifcase\tud@cd@title@num\relax% false
      \if@titlepageiscoverpage%
        \tud@cover@fixmargins%
      \fi%
      \ifx\tud@title@pagenumber\relax%
        \tud@cs@use{maketitle}%
      \else%
        \tud@cs@use{maketitle}[\tud@title@pagenumber]%
      \fi%
      \tud@if@tudheadings{\currentpagestyle}{%
        \tud@if@strequal{\titlepagestyle}{empty}%
          {\thispagestyle{empty.tudheadings}}%
          {}%
      }{}%
%    \end{macrocode}
% Für die \TUDScript-Klassen gibt es für doe Titleseite sowie den Titelkopf 
% separate Befehle. Sollte keine explizite Auswahl der Schriften erfolgt sein, 
% so werden die \CD-Schriften aktiviert.
%    \begin{macrocode}
    \else% !false
      \if@tud@parameter@ps@font@set\else%
        \if@tud@cdfont@active\else%
          \if@tud@cdfont@heavy%
            \TUDoptions{cdfont=heavy}%
          \else%
            \TUDoptions{cdfont=true}%
          \fi%
        \fi%
      \fi%
%<*book|report|article>
      \if@titlepage%
        \tud@maketitle@page%
      \else%
%</book|report|article>
        \tud@maketitle@inpage%
%<*book|report|article>
      \fi%
%</book|report|article>
    \fi%
  \endgroup%
  \setcounter{footnote}{0}%
  \global\let\and\relax%
}
%    \end{macrocode}
% Die einzelnen Parameter dienen zur Einstellung der Titelseite und entsprechen
% in ihrem Verhalten den gleichnamigen Klassenoptionen.
% \ToDo{cdgeometry liefert falschen Satzspiegel nach Titel, siehe vlp}[v2.07]
% \ToDo{titleback ist im Flattersatz, warum?}[v2.07]
% \ToDo{Warnung, wenn pagenumber gerade}[v2.07]
%    \begin{macrocode}
\TUD@parameter@family{title}{%
%<*book|report|article>
  \TUD@parameter@def{titlepage}[true]{\KOMAoption{titlepage}{#1}}%
  \TUD@parameter@def{titlesignature}[true]{\TUDoption{titlesignature}{#1}}%
%</book|report|article>
  \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
  \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
  \TUD@parameter@let{cd}{cdtitle}%
  \TUD@parameter@def{cdgeometry}[true]{\TUDoption{cdgeometry}{#1}}%
%    \end{macrocode}
% Mit \cs{TUD@parameter@ps@def} werden alle verfügbaren Parameter für
% die Kopf- und Fußzeilen definiert.
%    \begin{macrocode}
  \TUD@parameter@ps@def{#1}%
%    \end{macrocode}
% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation angegeben
% wurde, wird versucht, das gegebene Argument als Seitenzahl zu verwenden.
%    \begin{macrocode}
  \TUD@parameter@handler@value{pagenumber}%
}
%    \end{macrocode}
% \end{parameter}^^A pagenumber
% \end{parameter}^^A cd
% \end{parameter}^^A cdtitle
% \end{macro}^^A \tud@title@pagenumber
% \end{macro}^^A \tud@maketitle
% \begin{macro}{\maketitle}
% \begin{environment}{titlepage}
% Der originale Befehl wird gesichert und danach überschrieben.
%    \begin{macrocode}
\tud@cs@store{maketitle}
\let\maketitle\tud@maketitle
%    \end{macrocode}
% Abschließend wird dafür Sorge getragen, dass bei einem aktivierten Seitenstil 
% aus der \pgs{tudheadings}-Reihe der Titel ebenfalls in diesem gesetzt wird,
% auch wenn das Layout des \CDs selber nicht aktiv ist.
%    \begin{macrocode}
\patchcmd\titlepage{%
  \thispagestyle{empty}%
}{%
  \tud@if@tudheadings{\currentpagestyle}{%
    \thispagestyle{empty.tudheadings}%
  }{%
    \thispagestyle{empty}%
  }%
}{}{\tud@patch@wrn{titlepage}}
%    \end{macrocode}
% \end{environment}^^A titlepage
% \end{macro}^^A \maketitle
%
% \iffalse
%<*book|report|article>
% \fi
%
% \subsubsection{Die Definition der Titelseite}
%
% \begin{macro}{\tud@maketitle@page}
% \changes{v2.02}{2014/09/05}{neu}^^A
% \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@cd@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. Eine Seitenzahl für den
% Titel kann mit \cs{tud@title@pagenumber} angegeben werden.
%    \begin{macrocode}
\newcommand*\tud@titleback{}
\newcommand*\tud@maketitle@page{%
%    \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 festgelegt. Hierfür
% wird die entsprechende Layoutoption ausgewertet und entsprechend dieser die
% Werte belegt.
%    \begin{macrocode}
  \renewcommand*\tud@title@fontcolor{}%
  \ifcase\tud@cd@title@num\relax\or\or% litecolor
    \renewcommand*\tud@title@fontcolor{HKS41}%
  \or% barcolor
    \renewcommand*\tud@title@fontcolor{HKS41}%
  \or% bicolor
    \renewcommand*\tud@title@fontcolor{HKS41}%
  \or% color
    \renewcommand*\tud@title@fontcolor{HKS41!30}%
  \or% full
    \renewcommand*\tud@title@fontcolor{HKS41!30}%
  \fi%
%    \end{macrocode}
% Die Titelseite mit unterschiedlich Varianten der farbigen Ausprägung.
%    \begin{macrocode}
  \begin{titlepage}%
    \tud@cd@specialpage@set{title}%
%    \end{macrocode}
% Dieser Teil entspricht der Standarddefinition. Für das Setzen des Covers ist
% ein Großteil der Einstellungen irrelevant und wird übersrpungen.
%    \begin{macrocode}
    \ifx\tud@title@pagenumber\relax\else%
      \setcounter{page}{\tud@title@pagenumber}%
    \fi%
%    \end{macrocode}
% 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@coverpage\else%
      \addtokomafont{footnote}{\sffamily}%
      \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} definiert 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 die \TUDScript-Klassen aber nun mal zwei 
% unterschiedliche Titel bereitstellen 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}
      \tud@x@hyperref@realfootnotes%
%    \end{macrocode}
% Die Option für eine Umschlagseite \opt{titlepage}|=|\val{firstiscover} wird 
% im Gegensatz zu den \KOMAScript-Klassen nur für einen optionalen Schmutztitel
% \cs{extratitle} und nicht für die eigentliche Titelseite unterstützt. Für
% dieses Unterfangen ist bei \TUDScript der Befehl \cs{makecover} mit den
% dazugehörigen Parametern zu nutzen.
%    \begin{macrocode}
      \ifx\@extratitle\@empty%
        \if@titlepageiscoverpage%
          \ClassWarning{\TUD@Class@Name}{%
            Using option `titlepage=firstiscover' is only\MessageBreak%
            possible with an extra title. Alternatively you can\MessageBreak%
            create a cover with `\string\makecover'%
          }%
          \@titlepageiscoverpagefalse%
        \fi%
        \ifx\@frontispiece\@empty\else%
          \if@twoside\null\fi%
        \fi%
      \else%
%    \end{macrocode}
% Der Teil ist aus den \KOMAScript-Klassen übernommen, damit werden die 
% Seitenränder für ein Cover festgelegt.
%    \begin{macrocode}
        \if@titlepageiscoverpage%
          \edef\titlepage@restore{%
            \noexpand\endgroup%
            \noexpand\global\noexpand\@colht\the\@colht%
            \noexpand\global\noexpand\@colroom\the\@colroom%
            \noexpand\global\vsize\the\vsize%
            \noexpand\global\noexpand\@titlepageiscoverpagefalse%
            \noexpand\let\noexpand\titlepage@restore\noexpand\relax%
          }%
          \begingroup%
          \tud@cover@setmargins%
        \else%
          \let\titlepage@restore\relax%
        \fi%
        \noindent\@extratitle%
      \fi%
      \next@tpage%
      \ifx\@frontispiece\@empty\else%
        \noindent\@frontispiece%
      \fi%
      \next@tdpage%
    \fi%
%    \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}
    \vspace*{-\baselineskip}%
    \tud@cd@headstart@vskip%
    \vspace*{\dimexpr\tud@pageheadingsvskip@dim\relax}%
    \tud@cd@vphantom%
    \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
%    \end{macrocode}
% Damit die Farbeinstellungen der Schriften lokal begrenzt bleiben, wird dieser
% Teil des Titels in einer Gruppe gesetzt.
%    \begin{macrocode}
    {\usekomafont{titlepage}{%
%    \end{macrocode}
% Zunächst der Kopf des Titels.
%    \begin{macrocode}
      \tud@maketitle@head%
%    \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}
      {\usekomafont{title}{\tud@title@format{\@title}\par}}%
%    \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@format[partnumber]{\@subtitle}\par}}%
      \fi%
      \vskip\glueexpr\bigskipamount*2\relax%
%    \end{macrocode}
% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen.
%    \begin{macrocode}
      \let\tud@split@author@do\tud@split@author@title%
      \tud@multiple@split{@author}\par%
      \vskip 2ex\@plus1ex\@minus1ex%
%    \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@coverpage\else%
          \ifx\@date\@empty\else%
            \vskip 2ex\@plus.1fill%
            {\usekomafont{date}{\tud@date@print\par}}%
          \fi%
        \fi%
        \vskip 2ex\@plus.25fill%
%    \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 1:2 zwischen allen weiteren Angaben auf dem
% Titel vertikal ausgerichtet.
%    \begin{macrocode}
      \else%
        \vskip 2ex\@plus.25fill%
        \if@tud@subjectthesis\else%
          {\usekomafont{thesis}{\tud@title@format{\@thesis}\par}}%
          \vskip 2ex\@plus1ex\@minus1ex%
        \fi%
%    \end{macrocode}
% Ebenfalls wird in Abhängigkeit von der Option \opt{subjectthesis} der 
% angestrebte akademische Grad ausgegeben.
%    \begin{macrocode}
        \if@tud@coverpage\else%
          \ifx\@graduation\@empty\else%
            \def\@tempc{%
              \@graduation%
              \ifx\@graduationabbreviation\@empty\else%
                \nobreakspace(\@graduationabbreviation)%
              \fi%
            }%
            {\usekomafont{titlepage}{\graduationtext\par}}%
            \vskip 2.5ex\@plus1ex\@minus1ex%
            {\usekomafont{thesis}{\tud@title@format{\@tempc}\par}}%
            \vskip 3ex\@plus1ex\@minus1ex%
          \fi%
        \fi%
        \vskip 2ex\@plus.5fill%
      \fi%
%    \end{macrocode}
% \ToDo{Befehl zum Angeben optionaler Inhalte, bspw. ein Bild}[v2.08]
% \ToDo{...othername als Liste für mehr als zwei Angaben}[v2.08]
% Wenn Betreuer angegeben wurden, dann werden diese auf dem Titel ausgeben. Um
% diese Titelseite 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@coverpage\else%
        \tud@title@names{referee}%
        \tud@title@names{advisor}%
        \tud@title@names{supervisor}%
        \tud@title@names{professor}%
%    \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.
% Durch das Paket \pkg{tudscrsupervisor} wird zusätzlich das Feld \cs{@duedate}
% definiert, welches hier ggf. für auf ein nutzbares Datum geprüft wird.
%    \begin{macrocode}
        \ifx\@thesis\@empty\else%
          \tud@date@check%
          \ifx\@date\@empty\else%
            \vskip 2ex\@plus1ex\@minus1ex%
            \tud@if@strblank{\datetext}{}{\datetext\tud@title@delimiter}%
            {\usekomafont{date}{\tud@date@print\par}}%
%    \end{macrocode}
% Zusätzlich kann noch ein Datum der mündlichen Verteidigung angegeben werden.
%    \begin{macrocode}
            \ifx\@defensedate\@empty\else%
              \tud@if@strblank{\defensedatetext}{}{%
                \defensedatetext\tud@title@delimiter%
              }%
              {\usekomafont{date}{\@defensedate\par}}%
            \fi%
          \fi%
        \fi%
%    \end{macrocode}
% Hier erfolgt die Ausgabe der Unterschriftenzeile, falls gewünscht. Ist nur 
% ein Autor angegeben, wird die Box für die Unterschrift rechtsbündig erzeugt.
%    \begin{macrocode}
        \if@tud@titlesignature%
          \let\tud@split@@author@do\tud@split@author@signature%
          \vskip\tud@glue@signaturevskip\noindent%
          \tud@ifin@and{\@@author}{}{\hfill}%
          \tud@multiple@split{@@author}%
        \fi%
      \fi%
%    \end{macrocode}
% Zu guter Letzt kann das Standard-Verlagsfeld befüllt werden.
%    \begin{macrocode}
      \ifx\@publishers\@empty\else%
        \vskip 2ex\@plus.25fill%
        {\usekomafont{publishers}{\@publishers\par}}%
        \vskip\z@\@plus.25fill%
      \fi%
    }}%
%    \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%
          \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, die Schriftstärke, sowie die Farbe der Seite und des
% Kopfes und die Linienstärke des Querbalkens und die \DDC-Logos aus den
% Einstellungen übernommen.
%    \begin{macrocode}
    \def\@tempa{%
      \renewcommand*\tud@pagecolor{}%
      \ifcase\tud@cd@title@num\relax\or% true
        \tud@locked@num@preset{tud@head@bar@num}{0}%
      \or% litecolor
        \tud@locked@num@set{tud@head@bar@num}{1}%
      \or% barcolor
        \tud@locked@num@set{tud@head@bar@num}{2}%
      \or% bicolor
        \tud@locked@num@set{tud@head@bar@num}{3}%
      \or% color
        \renewcommand*\tud@pagecolor{HKS41}%
        \tud@locked@num@set{tud@head@bar@num}{1}%
      \or% full
        \renewcommand*\tud@pagecolor{HKS41}%
        \tud@locked@num@set{tud@head@bar@num}{3}%
      \fi%
      \tud@color{\tud@title@fontcolor}%
      \thispagestyle{empty.tudheadings}%
%    \end{macrocode}
% Im Kompatibilitätsmodus für die Version~v2.02 wird im Zweifelsfall die Seite 
% für den Fuß mit \DDC-Logo vergrößert.
%    \begin{macrocode}
      \tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
    }%
%    \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@coverpage%
      \begingroup%
        \@tempa%
        \cleardoubleemptypage%
      \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}|=|\val{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%
        \begingroup%
          \let\thispagestyle\@gobble%
          \next@tpage%
        \endgroup%
%<*article>
      \endgroup%
      \tud@titleback%
%</article>
%<*book|report>
      }%
%</book|report>
%    \end{macrocode}
% Die Danksagung ist identisch zu \KOMAScript.
%    \begin{macrocode}
      \ifx\@dedication\@empty\else%
        \next@tdpage\null\vfill%
        {\centering\usekomafont{dedication}{\@dedication\par}}%
        \vskip\z@\@plus3fill%
        \@thanks\let\@thanks\@empty%
        \cleardoubleemptypage%
      \fi%
    \fi%
  \end{titlepage}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@titleback
% \end{macro}^^A \tud@maketitle@page
%
% \iffalse
%</book|report|article>
% \fi
%
% \subsubsection{Die Definition des Titelkopfes}
%
% \begin{macro}{\tud@maketitle@inpage}
% \changes{v2.05}{2015/07/13}{neu}^^A
% \begin{macro}{\tud@maketitle@@inpage}
% \changes{v2.05}{2015/07/13}{neu}^^A
% Das sind die internen Makros für einen Titelkopf (\opt{titlepage}|=|\val{no}),
% welche sich stark an den orginalen \KOMAScript-Befehlen orientieren.
%    \begin{macrocode}
\newcommand*\tud@maketitle@inpage{%
  \renewcommand*\tud@title@fontcolor{}%
  \ifcase\tud@cd@title@num\relax\or\else% *color
    \tud@if@strequal{\tud@pagecolor}{HKS41}%
      {}%
      {\renewcommand*\tud@title@fontcolor{HKS41}}%
  \fi%
  \par%
  \ifx\tud@title@pagenumber\relax\else%
    \ifnum\tud@title@pagenumber=\@ne\relax\else%
      \ClassWarning{\TUD@Class@Name}{%
        Optional argument of \string\maketitle\space ignored\MessageBreak%
        at notitlepage-mode%
      }%
    \fi%
  \fi%
%    \end{macrocode}
% Dieser Teil ist mehr oder weniger funktional identisch zu \KOMAScript.
%    \begin{macrocode}
  \begingroup%
    \let\titlepage@restore\relax%
    \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
    \let\@oldmakefnmark\@makefnmark%
    \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
    \next@tdpage%
%    \end{macrocode}
% Hier wird überprüft, ob das Dokument zweispaltig gesetzt wird und zusätzlich 
% das Paket \pkg{multicol} geladen wurde. Ist letzteres nicht der Fall, wird
% der Titel einspaltig ausgegeben und anschließend der im Zweispaltensatz 
% begonnen.
%    \begin{macrocode}
    \def\tud@res@a##1{##1}%
    \if@twocolumn\ifnum\col@number>\@ne\relax%
      \def\tud@res@a##1{\twocolumn[{##1}]}%
    \fi\fi%
    \ifx\@extratitle\@empty%
      \ifx\@frontispiece\@empty\else%
        \if@twoside\null\fi%
      \fi%
    \else%
      \tud@res@a{\@makeextratitle}%
    \fi%
    \next@tpage%
    \ifx\@frontispiece\@empty\else%
      \tud@res@a{\@makefrontispiece}%
    \fi%
    \next@tdpage%
    \tud@res@a{\tud@maketitle@@inpage}%
    \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
    \@thanks%
  \endgroup%
}
%    \end{macrocode}
% Hier erfolgt die Ausgabe des Titelkopfes.
%    \begin{macrocode}
\newcommand*\tud@maketitle@@inpage{%
  \global\@topnum=\z@%
  \vspace*{-\baselineskip}%
  \tud@cd@headstart@vskip%
%<*book|report|article>
  \vspace*{\dimexpr\tud@headingsvskip@dim\relax}%
  \tud@cd@vphantom%
%</book|report|article>
  \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
%    \end{macrocode}
% Damit die Farbeinstellungen der Schriften lokal begrenzt bleiben, wird dieser
% Teil des Titels in einer Gruppe gesetzt. Außerdem werden 
% wie auch für die Titelseite die Hyperlinks der Fußnoten deaktiviert.
%    \begin{macrocode}
  {\usekomafont{titlepage}{%
    \tud@x@hyperref@realfootnotes%
%    \end{macrocode}
% Bei einem Titelkopf ist nur die Variante möglich, dass eine Abschlussarbeit 
% in der Betreffzeile angegeben wird.
%    \begin{macrocode}
%<*book|report|article>
    \TUDoptions{subjectthesis=true}%
%</book|report|article>
%    \end{macrocode}
% Ähnlich wie bei der Titelseite wird auch beim Titelkopf die Inhalte von 
% \cs{@titlehead} und \cs{@subject} so nach oben verschoben, dass der Titel 
% selbst auf der gewünschten Höhe landet.
%    \begin{macrocode}
    \tud@maketitle@head%
%    \end{macrocode}
% Der eigentliche Titel nach dem Titelkopf.
%    \begin{macrocode}
    {\usekomafont{title}{\tud@title@format{\@title}\par}}%
    \ifx\@subtitle\@empty\else%
      {\usekomafont{subtitle}{\tud@title@format[partnumber]{\@subtitle}\par}}%
    \fi%
    \vskip 2ex\@plus1ex\@minus1ex%
%    \end{macrocode}
% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen.
%    \begin{macrocode}
%<*book|report|article>
    \vskip\bigskipamount%
    \let\tud@split@author@do\tud@split@author@title%
    \tud@multiple@split{@author}\par%
%    \end{macrocode}
% Ausgabe von Datum, Verlag und Danksagung wie im Original.
%    \begin{macrocode}
    \ifx\@date\@empty\else%
      \vskip 2ex\@plus1ex\@minus1ex%
      {\usekomafont{date}{\tud@date@print\par}}%
    \fi%
    \ifx\@publishers\@empty\else%
      \vskip 2ex\@plus1ex\@minus1ex%
      {\usekomafont{publishers}{\@publishers\par}}%
    \fi%
    \ifx\@dedication\@empty\else%
      \vskip 2ex\@plus1ex\@minus1ex%
      {\centering\usekomafont{dedication}{\@dedication\par}}%
    \fi%
%    \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\@graduation\@empty\else\tud@title@wrn{graduation}\fi%
    \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi%
    \ifx\@advisor\@empty\else\tud@title@wrn{advisor}\fi%
    \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
    \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi%
%    \end{macrocode}
% Am Ende wird noch etwas vertikaler Abstand eingefügt.
%    \begin{macrocode}
    \vskip\bigskipamount%
%</book|report|article>
    \ifnum\col@number>\@ne\relax%
      \tud@if@lengthregister{\multicolsep}{\vspace{-\multicolsep}}{}%
    \fi%
%    \end{macrocode}
% Wird das \DDC-Logo im Kompatibilitätsmodus für die Version~v2.02 gesetzt, 
% muss dafür am unteren Rand entsprechend Platz gelassen werden.
%    \begin{macrocode}
    \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
  }}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@maketitle@@inpage
% \end{macro}^^A \tud@maketitle@inpage
% \begin{macro}{\tud@maketitle@head}
% \changes{v2.06}{2018/08/17}{neu}^^A
% Mit diesem Makro wird dafür gesorgt, dass Titelkopf und Typisierung so 
% postioniert werden, dass der Titel selbst vertikal nicht verschoben wird.
% Hierfür wird 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 wird eine temporäre Standardbox verwendet. In diesen wird der 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 notwendige vertikale Freiraum vor dem eigentlichen
% Titel für \cs{@titlehead} und \cs{@subject} abgezogen werden. Anschließend
% wird die Box ausgegeben und der Aufbau der Titelseite kann beginnen.
%    \begin{macrocode}
\newcommand*\tud@maketitle@head{%
  \setbox\z@\vbox{%
    \ifx\@titlehead\@empty\else%
      \begin{minipage}[t]{\textwidth}%
        \usekomafont{titlehead}{\@titlehead\strut\par}%
      \end{minipage}%
    \fi%
%<*book|report|article>
    \tud@thesis@tosubject%
%</book|report|article>
    \ifx\@subject\@empty\else%
      \par\medskip%
      {\usekomafont{subject}{\tud@sec@format[partnumber]{\@subject}}}%
    \fi%
  }%
%    \end{macrocode}
% Der ermittelte Offset muss~-- warum auch immer~-- um \val{1pt} vergrößert
% werden. Zusätzlich wird ein mittlerer Abstand zwischen Kopf und Titel gesetzt.
%    \begin{macrocode}
  \tud@setdim\@tempdima{\ht\z@+\dp\z@}%
  \ifdim\@tempdima>\z@\relax%
%<*book|report|article>
    \vskip\dimexpr-\@tempdima-\p@-1\medskipamount\relax%
%</book|report|article>
    \usebox\z@\par\medskip%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@maketitle@head
%
% \subsubsection{Hilfsmakros für die Ausgabe}
%
% \begin{macro}{\tud@title@format}
% Für das Formatieren einzelner Felder auf dem Titel mit \cs{tud@sec@format}  
% wird dieser Befehl 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@format[2][]{%
  \begingroup%
    \let\\\newline%
    \tud@sec@format[{#1}]{#2}%
  \endgroup%
}
%    \end{macrocode}
% \end{macro}^^A \tud@title@format
%
% \iffalse
%<*book|report|article>
% \fi
%
% \begin{macro}{\tud@thesis@tosubject}
% 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@thesis@tosubject{%
  \if@tud@subjectthesis\ifx\@thesis\@empty\else%
    \ifx\@subject\@empty\else%
      \ClassWarning{\TUD@Class@Name}{%
        The option `subjectthesis' was activated, so\MessageBreak%
        the field `subject' will be overwritten with the\MessageBreak%
        given thesis%
      }%
    \fi%
    \let\@subject\@thesis%
  \fi\fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@thesis@tosubject
% \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}.
% \ToDo{generisch für beliebig viele Bezeichner (Drittgutachter)}[v2.07]
% \ToDo{...othername als Liste?}[v2.07]
%    \begin{macrocode}
\newcommand*\tud@title@names[1]{%
  \letcs\@tempa{@#1}%
  \ifx\@tempa\@empty\else%
    \def\and{%
      \ifcsvoid{#1othername}{\par}{%
        \vskip 1ex\@plus.5ex\@minus.5ex%
        {\usekomafont{titlepage}{\csuse{#1othername}\par}}%
      }%
      \let\and\par%
    }%
    \vskip 1ex\@plus.5ex\@minus.5ex%
    {\usekomafont{titlepage}{\csuse{#1name}\par}}%
    {\usekomafont{author}{\csuse{@#1}\par}}%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@title@names
% \begin{macro}{\titledelimiter}
% \begin{macro}{\tud@title@delimiter}
% Dieses Makro wird für das Trennzeichen auf der Titelseite genutzt.
%    \begin{macrocode}
\newcommand*\tud@title@delimiter{:\nobreakspace}
\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}}
%    \end{macrocode}
% \end{macro}^^A \tud@title@delimiter
% \end{macro}^^A \titledelimiter
% \begin{macro}{\tud@split@author@title}
% \changes{v2.04}{2015/05/12}{neu}^^A
% \begin{macro}{\tud@newline@title}
% Das Makro \cs{tud@split@author@title} dient der formatierten Ausgabe aller 
% Informationen für mehrere Autoren auf der Titelseite.
%    \begin{macrocode}
\newcommand*\tud@newline@title{}
\newcommand*\tud@split@author@title[2]{%
%    \end{macrocode}
% Zu Beginn werden alle Felder, welche innerhalb von \cs{@author} angegeben
% sind, gesichert. 
%    \begin{macrocode}
  \tud@multiple@fields@store{@author}{#1}%
%    \end{macrocode}
% Um die Abstände definiert zu setzen, wird \cs{tud@newline@title} 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}
  \renewcommand*\tud@newline@title{%
    \vskip .5ex\strut%
    \def\tud@newline@title{\newline\strut}%
  }%
%    \end{macrocode}
% Die Felder \cs{@author} und ggf. \cs{@authormore} werden sowohl auf der
% Titelseite als auch im Titelkopf jedoch nicht auf der Umschlagseite 
% ausgegeben. Gleiches gilt für E"~Mail-Adressen.
%    \begin{macrocode}
  {\usekomafont{author}{\ignorespaces#1\strut\unskip}}%
  \if@tud@coverpage\else%
    \ifx\@authormore\@empty\else%
      \tud@newline@title%
      \@authormore%
    \fi%
    \ifx\@emailaddress\@empty\else%
      \tud@newline@title%
      \@emailaddress%
    \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%
      \if@titlepage%
        \tud@newline@title%
        \tud@if@strblank{\dateofbirthtext}%
          {}%
          {\dateofbirthtext\tud@title@delimiter}%
        \@dateofbirth%
        \ifx\@placeofbirth\@empty\else%
          \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
        \fi%
      \else%
        \tud@title@wrn{dateofbirth}%
      \fi%
    \fi%
    \def\@tempc##1{%
      \expandafter\ifx\csname @##1\endcsname\@empty\else%
        \if@titlepage%
          \tud@newline@title%
          \tud@if@strblank{\csuse{##1name}}%
            {}%
            {\csuse{##1name}\tud@title@delimiter}%
          \csuse{@##1}%
        \else%
          \tud@title@wrn{##1}%
        \fi%
      \fi%
    }%
    \@tempc{course}%
    \@tempc{discipline}%
    \@tempc{matriculationnumber}%
    \@tempc{matriculationyear}%
  \fi%
%    \end{macrocode}
% Zunächst werden die zuvor bestehenden Feldinhalte wiederhergestellt. Danach 
% wird durch den Aufruf von \cs{tud@multiple@@@split} wird das übergebene
% \meta{Feld} sukzessive abgearbeitet.
%    \begin{macrocode}
  \tud@multiple@fields@restore{@author}%
  \tud@multiple@@@split{#2}{\vskip 1.5ex}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@newline@title
% \end{macro}^^A \tud@split@author@title
% \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{\TUD@Class@Name}{%
    `\@backslashchar#1' has to be used with\MessageBreak%
    activated titlepage option%
  }%
}
%    \end{macrocode}
% \end{macro}^^A \tud@title@wrn
% \begin{macro}{\tud@split@author@signature}
% \changes{v2.06}{2018/08/21}{neu}^^A
% Das Makro \cs{tud@split@author@signature} dient zum Erstellen von Feldern für 
% Unterschriften der Autoren am Ende der Titelseite.
%    \begin{macrocode}
\newcommand*\tud@split@author@signature[2]{%
%    \end{macrocode}
% Zu Beginn werden alle Felder, welche innerhalb von \cs{@author} angegeben
% sind, gesichert. 
%    \begin{macrocode}
  \tud@multiple@fields@store{@author}{#1}%
%    \end{macrocode}
% Für jeden Autor wird in einer Box ein Unterschriftenfeld mit fester Breite
% erzeugt. Innerhalb der Box wird erst eine Linie und darunter der Name des 
% Autors zentriert ausgegeben.
%    \begin{macrocode}
  \vbox{%
    \hsize=\dimexpr\textwidth*3/10\relax%
    \centering%
    \rule{\dimexpr\textwidth*3/10\relax}{.05pt}\newline%
    \ignorespaces#1\strut\unskip%
  }%
%    \end{macrocode}
% Zunächst werden die zuvor bestehenden Feldinhalte wiederhergestellt. Danach 
% wird durch den Aufruf von \cs{tud@multiple@@@split} wird das übergebene
% \meta{Feld} sukzessive abgearbeitet.
%    \begin{macrocode}
  \tud@multiple@fields@restore{@author}%
  \tud@multiple@@@split{#2}{\hfill}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@split@author@signature
%
% \iffalse
%</book|report|article>
% \fi
%
% \subsection{Einspaltige Titelei in zweispaltigen Dokumenten}
%
% \begin{macro}{\maketitleonecolumn}
% \changes{v2.02}{2014/08/16}{einspaltiger Text obligatorisch}^^A
% \begin{macro}{\tud@title@twocolumn}
% \changes{v2.03}{2015/01/13}{Bugfix für falsche Position des Titels}^^A
% \begin{macro}{\tud@title@box}
% Der Befehl \cs{maketitleonecolumn}\oarg{Parameter}\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{tud@title@twocolumn} zur Ausgabe genutzt.
% \hrfn{http://www.komascript.de/node/1699}{Danke an Markus Kohm für die Hilfe}.
%    \begin{macrocode}
\newcommand\maketitleonecolumn[2][]{%
%    \end{macrocode}
% Hier erfolgt die Unterscheidung der Ausgabe, abhängig von der Option
% \opt{titlepage}.
%    \begin{macrocode}
  \if@twocolumn%
%<*book|report|article>
    \if@titlepage%
      \tud@maketitle[{#1}]%
      \onecolumn#2\twocolumn%
    \else%
%</book|report|article>
      \tud@title@twocolumn{\tud@maketitle[{#1}]#2}%
%<*book|report|article>
    \fi%
%</book|report|article>
  \else%
    \ClassError{\TUD@Class@Name}{%
      `\string\maketitleonecolumn' can only be used in twocolumn mode%
    }{You should use `\string\maketitle' instead.}%
    \tud@maketitle[{#1}]#2%
  \fi%
}
%    \end{macrocode}
% Es folgt 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\tud@title@box
\newcommand\tud@title@twocolumn[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%
%    \end{macrocode}
% Sollte der Inhalt der Box größer als die verfügbare Texthöhe des Satzspiegels 
% sein, muss aufgrund der verwendeten Box ein zusätzlicher vertikaler Abstand 
% von |.9\baselineskip| zur korrekten Postionierung der Überschrift eingefügt
% werden.
%    \begin{macrocode}
    \global\setbox\tud@title@box\vbox{%
      \vspace*{\dimexpr1\baselineskip*9/10\relax}#1\bigskip%
    }%
  \endgroup%
%    \end{macrocode}
% Als erstes muss geprüft werden, ob der Inhalt größer als der Textbereich ist. 
% Vor der Version~v2.03 gab es für das \DDC-Logo einen abweichenden Satzspiegel 
% der ggf. beachtet werden muss.
%    \begin{macrocode}
  \tud@setdim\@tempdima{\textheight}%
  \tud@if@v@lower{2.03}{%
    \tud@ddc@check%
    \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
      \tud@setdim\@tempdima{\textheight-\tud@dim@ddcdiff}%
      \@tempswatrue%
    \fi%
  }{}%
%    \end{macrocode}
% Jetzt werden der Inhalt stückweise so lange auf einzelnen Seiten ausgeben,
% bis der immer kleiner werdende Rest in der Box auf eine Seite passt.
%    \begin{macrocode}
  \ifdim\ht\tud@title@box>\@tempdima\relax%
    \@whiledim\ht\tud@title@box>\@tempdima\do{%
      \splittopskip\topskip%
      \splitmaxdepth\maxdepth%
      \vsplit\tud@title@box to \@tempdima%
      \clearpage%
      \tud@setdim\@tempdima{\textheight}%
      \tud@if@v@lower{2.03}{\@tempswafalse}{}%
    }%
%    \end{macrocode}
% Passt der einspaltige Teil auf eine Seite, ist eine vertikale Korrektur von
% |.9\baselineskip| nicht notwendig. In diesem Fall wird die Box vor der
% Ausgabe einfach neu und ohne diese Länge gesetzt.
%    \begin{macrocode}
  \else%
    \setbox\tud@title@box\vbox{#1\bigskip}%
  \fi%
%    \end{macrocode}
% Der Rest wir einfach als optionales Argument von \cs{twocolumn} ausgegeben.
%    \begin{macrocode}
  \twocolumn[\unvbox\tud@title@box]%
%    \end{macrocode}
% In der Version~v2.02 wird eine Warnung ausgegeben, damit der Anwender den
% Satzspiegel manuell anpassen kann. Die Verwendung von \pkg{afterpage} liefert 
% leider nicht in allen Fällen das gewollte Ergebnis, weshalb darauf verzichtet 
% wird.
%    \begin{macrocode}
  \tud@if@v@lower{2.03}{%
    \if@tempswa%
      \ClassWarning{\TUD@Class@Name}{%
        You are using a two-column title along with\MessageBreak%
        the DDC-logo. Unfortunately in this case, the\MessageBreak%
        type area has to be adjusted manually. Please\MessageBreak%
        use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak%
        in both columns after the title%
      }%
    \fi%
  }{}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@title@box
% \end{macro}^^A \tud@title@twocolumn
% \end{macro}^^A \maketitleonecolumn
%
%
% \iffalse
%<*book|report|article>
% \fi
%
% \subsection{Umschlagseite (Cover)}
%
% Zusätzlich zur eigentlichen Titelseite kann für Druckerzeugnisse eine 
% separate Umschlagseite erzeugt werden. Um die Gestaltung dieser anzupassen, 
% wurden Einstellungsmöglichkeiten vorgesehen, die insbesondere den verwendeten
% Satzspiegel betreffen.
%
% \begin{macro}{\makecover}
% \changes{v2.02}{2014/06/23}{Warnung für die Option \opt{titlepage} mit dem
%   Wert \val{firstiscover}}^^A
% \changes{v2.02}{2014/08/08}{ohne \CD verwendbar}^^A
% \changes{v2.02}{2014/08/12}{Satzspiegel ohne CD-Layout änderbar}^^A
% \changes{v2.03}{2015/01/09}{Anpassungen für neue Satzspiegelerzeugung}^^A
% \begin{parameter}{cdcover}
% \changes{v2.03}{2015/01/12}{neu}^^A
% \begin{parameter}{cd}
% \changes{v2.03}{2015/01/12}{neu}^^A
% \begin{parameter}{pagenumber}
% \begin{parameter}{cdgeometry}
% \changes{v2.02}{2014/06/23}{neu}^^A
% \begin{macro}{\if@tud@cdgeometry@cover}
% \begin{macro}{\if@tud@cdgeometry@cover@locked}
% \begin{macro}{\if@tud@coverpage}
% Der Befehl \cs{makecover} ist für eine Umschlagseite bei einem gebundenen 
% Werk zu verwenden.
%    \begin{macrocode}
\tud@newif\if@tud@coverpage
\newcommand*\makecover[1][]{%
%    \end{macrocode}
% Ist die Option \opt{titlepage}|=|\val{firstiscover} aktiv, wird eine Warnung 
% erzeugt.
%    \begin{macrocode}
  \if@titlepageiscoverpage%
    \ClassWarning{\TUD@Class@Name}{%
      Using both option `titlepage=firstiscover' and\MessageBreak%
      `\string\makecover' together isn't supported. The\MessageBreak%
      option `titlepage=firstiscover' will be ignored. If you\MessageBreak%
      want to create an individual cover, you have to use\MessageBreak%
      `\string\extratitle' instead of `\string\makecover'. \MessageBreak%
      See also the documentation of KOMA-Script%
    }%
    \@titlepageiscoverpagefalse%
  \fi%
%    \end{macrocode}
% Die Erscheinung des Covers lässt sich durch wenige Optionen etwas anpassen.
% Standardmäßig ist das Cover farblos, die farbige Darstellung wird durch die 
% Klassenoption \opt{cdcover} gewählt. 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}
  \clearpage%
  \begingroup%
    \let\thanks\@gobble%
    \let\footnote\@gobble%
    \TUD@parameter@set{cover}{#1}%
    \let\tud@cd@title@num\tud@cd@cover@num%
    \tud@cd@process%
%    \end{macrocode}
% Je nachdem, ob das \CD verwendet wird, wird der Satzspiegel standardmäßig
% umgestellt oder eben nicht. Der Schalter \cs{if@tud@coverpage} wird innerhalb 
% des Befehles \cs{tud@maketitle} genutzt, um die Unterscheidung zu machen, ob
% es sich bei der aktuellen Ausgabe um das Cover im \CD oder eine beliebige
% Titelseite handelt.
%    \begin{macrocode}
    \ifcase\tud@cd@cover@num\relax% false
      \tud@locked@bool@preset{@tud@cdgeometry@cover}{false}%
      \@tud@coverpagefalse%
    \else% !false
      \tud@locked@bool@preset{@tud@cdgeometry@cover}{true}%
      \@tud@coverpagetrue%
    \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}
    \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
%    \end{macrocode}
% Ein Cover wird immer als komplette Seite und nie als Kopf gesetzt. Außerdem
% werden ein mit \cs{extatitle} gegebener Schmutztitel ebenso ignoriert, wie 
% die dazugehörige Rückseite, Danksagung oder Einträge für die Titelrückseite.
%    \begin{macrocode}
    \@titlepagetrue%
    \let\@extratitle\@empty%
    \let\@frontispiece\@empty%
    \let\@uppertitleback\@empty%
    \let\@lowertitleback\@empty%
    \let\@dedication\@empty%
%    \end{macrocode}
% Wird der Parameter \opt{cdgeometry} aktiviert, werden die Seitenränder wie 
% durch das \CD vorgegeben eingestellt. Andernfalls entsprechen diese den 
% Einstellungen des Satzspiegels und können mit |\coverpage|\meta{\dots}|margin|
% durch den Anwender angepasst werden.
%    \begin{macrocode}
    \if@tud@cdgeometry@cover%
%    \end{macrocode}
% Bei der Höhe des oberen Seitenrandes muss unterschieden werden, ob der
% Satzspiegel im \CD oder aber im Buchblock erscheinen soll. Die Makros werden
% von \KOMAScript via \cs{dimexpr} interpretiert.
%    \begin{macrocode}
      \if@tud@coverpage%
        \def\coverpagetopmargin{%
          \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
        }%
      \else%
        \tud@if@v@lower{2.03}{%
          \def\coverpagetopmargin{\tud@dim@bothmargin/2}%
        }{%
          \def\coverpagetopmargin{\tud@dim@slimmargin}%
        }%
      \fi%
      \tud@if@v@lower{2.03}{%
        \def\coverpagebottommargin{\tud@dim@bothmargin/2}%
      }{%
        \def\coverpagebottommargin{\tud@dim@widemargin}%
      }%
      \def\coverpageleftmargin{\tud@dim@widemargin}%
      \def\coverpagerightmargin{\tud@dim@slimmargin}%
    \fi%
    \if@tud@coverpage%
%    \end{macrocode}
% Der Satzspiegel wird hierfür äquivalent zu den \KOMAScript-Klassen gesetzt,
% wenn die Option \opt{titlepage}|=|\val{firstiscover} aktiviert ist.
%    \begin{macrocode}
      \edef\titlepage@restore{%
        \noexpand\endgroup%
        \noexpand\global\noexpand\@colht\the\@colht%
        \noexpand\global\noexpand\@colroom\the\@colroom%
        \noexpand\global\vsize\the\vsize%
        \noexpand\global\noexpand\@titlepageiscoverpagefalse%
        \noexpand\let\noexpand\titlepage@restore\noexpand\relax%
      }%
%    \end{macrocode}
% Linker und rechter Rand sowie die Textbreite werden identisch erzeugt. Für 
% das Layout im \CD wurden die Seitenränder (|\coverpage|\meta{\dots}|margin|) 
% zuvor angepasst.
%    \begin{macrocode}
      \begingroup%
        \tud@cover@setmargins%
        \tud@setdim\tud@dim@areavskip{\z@}%
%    \end{macrocode}
% Die Ausgabe des Covers und ggf. das Wiederherstellen des Satzspiegels.
%    \begin{macrocode}
        \tud@maketitle%
        \clearpage%
      \titlepage@restore%
%    \end{macrocode}
% Für den Fall, dass eine Umschlagseite gesetzt werden soll, die nicht im \CD 
% erscheint, wird einfach das originale \cs{maketitle} aufgerufen und die 
% Option \opt{titlepage}|=|\val{firstiscover} verwendet, um die Seitenränder
% anpassen zu können. 
%    \begin{macrocode}
    \else%
      \@titlepageiscoverpagetrue%
      \tud@cover@fixmargins%
      \ifx\tud@title@pagenumber\relax%
        \tud@cs@use{maketitle}%
      \else%
        \tud@cs@use{maketitle}[\tud@title@pagenumber]%
      \fi%
    \fi%
  \endgroup%
}
%    \end{macrocode}
% Die einzelnen Parameter dienen zur Einstellung der Umschlagseite und
% entsprechen~-- \prm{cdgeometry} ausgenommen~-- in ihrem Verhalten den
% gleichnamigen Klassenoptionen. Der genannte Parameter kann eigentlich nur mit
% booleschen Werten verwendet werden. Für einen benutzerdefinierten Satzspiegel 
% der Umschlagseite müssen die \KOMAScript-Makros
% |\coverpage|\meta{\dots}|margin| angepasst werden.
%    \begin{macrocode}
\tud@locked@newbool{@tud@cdgeometry@cover}
\TUD@parameter@family{cover}{%
  \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
  \TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
  \TUD@parameter@let{cd}{cdcover}%
  \TUD@parameter@def{cdgeometry}[true]{%
    \TUDoption{cdgeometry}{#1}%
    \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
      \tud@locked@bool@set{@tud@cdgeometry@cover}{true}%
    \else%
      \tud@locked@bool@set{@tud@cdgeometry@cover}{false}%
    \fi%
  }%
%    \end{macrocode}
% Mit \cs{TUD@parameter@ps@def} werden alle verfügbaren Parameter für 
% die Kopf- und Fußzeilen definiert.
%    \begin{macrocode}
  \TUD@parameter@ps@def{#1}%
%    \end{macrocode}
% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation angegeben
% wurde, wird versucht, das gegebene Argument entweder als booleschen Ausdruck 
% für das Seitenlayout oder als Seitenzahl zu interpretieren.
%    \begin{macrocode}
  \TUD@parameter@handler@value{pagenumber}%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@coverpage
% \end{macro}^^A \if@tud@cdgeometry@cover@locked
% \end{macro}^^A \if@tud@cdgeometry@cover
% \end{parameter}^^A cdgeometry
% \end{parameter}^^A pagenumber
% \end{parameter}^^A cd
% \end{parameter}^^A cdcover
% \end{macro}^^A \makecover
% \begin{macro}{\coverpagetopmargin}
% \begin{macro}{\coverpagebottommargin}
% Bei der Verwendung eines eigenen Satzspiegels kann der obere Seitenrand über 
% das Makro \cs{coverpagetopmargin} geändert werden. Die \KOMAScript-Befehle
% werden so angepasst, dass die Ränder für eine Cover im des \CDs korrekt
% voreingestellt sind. Das Vermeiden einer unerwünschten Überdeckung des Kopfes
% oder ein zu kleiner Fußbereich muss durch den Anwender korrigiert werden. 
%    \begin{macrocode}
\renewcommand*\coverpagetopmargin{%
  \if@tud@coverpage%
    \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
  \else%
    \topmargin+1in%
  \fi%
}
\renewcommand*\coverpagebottommargin{%
  \if@tud@coverpage%
    \tud@dim@widemargin%
  \else%
    \coverpagetopmargin*2%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \coverpagebottommargin
% \end{macro}^^A \coverpagetopmargin
% \begin{macro}{\tud@cover@fixmargins}
% \changes{v2.06}{2018/08/16}{neu}^^A
% \begin{macro}{\tud@cover@setmargins}
% \changes{v2.06}{2018/08/16}{neu}^^A
% Diese beiden Befehle werden verwendet, um die von \KOMAScript{} zur Verfügung 
% gestellten Befehle für die Definition der Cover-Seitenränder so anzupassen, 
% dass diese auch mit der Option \opt{layout} aus dem Paket \pkg{geometry} 
% genutzt werden können. Dafür werden die vom Anwender definierten Seitenränder 
% expandiert und mit dem notwendigen Offset beaufschlagt.
%    \begin{macrocode}
\newcommand*\tud@cover@fixmargins{%
  \begingroup%
    \tud@cdgeometry@assignlayout%
    \tud@x@geometry@fixmargins%
%    \end{macrocode}
% Standardmäßig ist \cs{coverbottommargin} abhängig von \cs{covertopmargin}, 
% weshalb dieses Makro als erstes expandiert wird.
%    \begin{macrocode}
    \tud@setdim\@tempdima{%
      \coverpagebottommargin-\tud@dim@layoutvoffset%
        +\paperheight-\tud@dim@layoutheight%
    }%
    \edef\coverpagebottommargin{\the\@tempdima}%
    \tud@setdim\@tempdima{\coverpagetopmargin+\tud@dim@layoutvoffset}%
    \edef\coverpagetopmargin{\the\@tempdima}%
%    \end{macrocode}
% Selbiges gilt für \cs{coverrightmargin} und \cs{coverleftmargin}.
%    \begin{macrocode}
    \tud@setdim\@tempdima{%
      \coverpagerightmargin-\tud@dim@layouthoffset%
        +\paperwidth-\tud@dim@layoutwidth%
    }%
    \edef\coverpagerightmargin{\the\@tempdima}%
    \tud@setdim\@tempdima{\coverpageleftmargin+\tud@dim@layouthoffset}%
    \edef\coverpageleftmargin{\the\@tempdima}%
%    \end{macrocode}
% Abschließend werden die gewünschten Längen nach der lokalen Gruppe definiert.
%    \begin{macrocode}
    \edef\tud@res@a{%
      \endgroup%
      \def\noexpand\coverpagetopmargin{\coverpagetopmargin}%
      \def\noexpand\coverpagebottommargin{\coverpagebottommargin}%
      \def\noexpand\coverpageleftmargin{\coverpageleftmargin}%
      \def\noexpand\coverpagerightmargin{\coverpagerightmargin}%
    }%
  \tud@res@a%
}
\newcommand*\tud@cover@setmargins{%
  \tud@cover@fixmargins%
  \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
  \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
  \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
  \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
    -\coverpagerightmargin\relax%
  \textheight=\dimexpr\paperheight-\coverpagetopmargin%
    -\coverpagebottommargin\relax%
  \headheight=0pt%
  \headsep=0pt%
  \footskip=1\baselineskip%
  \@colht=\textheight%
  \@colroom=\textheight%
  \vsize=\textheight%
  \columnwidth=\textwidth%
  \hsize=\columnwidth%
  \linewidth=\hsize%
}
%    \end{macrocode}
% \end{macro}^^A \tud@cover@setmargins
% \end{macro}^^A \tud@cover@fixmargins
%
% \iffalse
%</book|report|article>
%</class&body>
% \fi
%
% \PrintBackMatter
%
\endinput
