summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-12-22 23:40:36 +0000
committerKarl Berry <karl@freefriends.org>2014-12-22 23:40:36 +0000
commit4f902263451a27826c05b01add75eba8ad70bcbb (patch)
tree122905b415c3dad65734d26cd0a706f6e13729b4 /Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
parent6a25d658147c100681ee893ce36f28ef9b689995 (diff)
tudscr has fallback for free fonts, so fine, restore
git-svn-id: svn://tug.org/texlive/trunk@35882 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx1360
1 files changed, 1360 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
new file mode 100644
index 00000000000..f2461fd028a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx
@@ -0,0 +1,1360 @@
+% \CheckSum{1375}
+% \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>
+\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
+\ProvidesFile{tudscr-title.dtx}[%
+ 2014/11/13 v2.02 TUD-KOMA-Script (title)%
+]
+\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
+\documentclass[english,ngerman]{tudscrdoc}
+\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
+\usepackage[T1]{fontenc}
+\usepackage{babel}
+\usepackage{tudscrfonts} % only load this package, if the fonts are installed
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-title.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \changes{v2.02}{2014/06/24}{Unterstützung für \pkg{titlepage} entfernt}%^^A
+%
+% \section{Titelei}
+%
+% Die Titelseite wird für die \TUDScript-Klassen bereitgestellt.
+%
+% \StopEventually{\PrintIndex\PrintChanges}
+%
+% \iffalse
+%<*class&body>
+% \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&body>
+%<*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}
+\newif\if@tud@subjectthesis
+\TUD@key@lock{subjectthesis}[true]{%
+ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@subjectthesis@locked
+% \end{macro}^^A \if@tud@subjectthesis
+% \end{option}^^A subjectthesis
+%
+% \iffalse
+%</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{subthesis}
+% 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}
+\newkomafont{thesis}{\usekomafont{title}\LARGE}
+\newkomafont{titlepage}{%
+ \usekomafont{subject}%
+ \fontseries{\mddefault}%
+ \selectfont%
+ \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}
+\newcommand*\tud@color@titlefont{black}
+\newcommand*\tud@color@titlepage{white}
+\newcommand*\tud@color@titlehead{black}
+% \end{macrocode}
+% \end{macro}^^A \tud@color@titlehead
+% \end{macro}^^A \tud@color@titlepage
+% \end{macro}^^A \tud@color@titlefont
+% \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}{Neue Parameter}%^^A
+% \changes{v2.02}{2014/09/05}{Titelseite mit \cs{tud@maketitlepage}}%^^A
+% \begin{macro}{\tud@titlepagenumber}
+% \changes{v2.02}{2014/06/23}{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@layout@process}) und kann ggf.
+% wiederhergestellt bzw. mit \cs{tud@cmd@use} verwendet werden. Ist das Layout
+% des \CDs gefordert wird entweder mit \cs{tud@maketitlepage} eine Titelseite
+% gesetzt~-- wobei sich diese in ihrer Struktur am originalen \cs{maketitle}
+% orientiert~-- oder das Titelkopflayout wird angepasst.
+% \begin{macrocode}
+\newcommand*\tud@titlepagenumber{}%
+\let\tud@titlepagenumber\relax%
+\newcommand*\tud@maketitle[1][]{%
+ \begingroup%
+% \end{macrocode}
+% Das optionale Argument wird für das Setzen der Parameter verwendet.
+% \begin{macrocode}
+ \TUD@parameter@set[title]{#1}%
+ \ifcase \tud@layout@title
+ \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
+ \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \else%
+ \if@titlepage%
+ \tud@maketitlepage%
+% \end{macrocode}
+% Neben einer kompletten Titelseite gibt es auch noch einen Titelkopf. Auch
+% hierfür wird die Ausprägung festgelegt.
+% \begin{macrocode}
+ \else%
+ \ifcase \tud@layout@title\relax\or\else%
+ \def\tud@color@titlefont{HKS41}%
+ \def\tud@color@titlehead{HKS41}%
+ \fi%
+% \end{macrocode}
+% Um einen Titelkopf zu setzen, wird einfach der Originalbefehl verwendet und
+% nur der innere Teil (\cs{@maketitle}) angepasst.
+% \begin{macrocode}
+ \let\@maketitle\tud@@maketitle%
+ \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
+% \end{macrocode}
+% Um einen zweispaltigen Satz für den Titelkopf ermöglichen zu können und
+% gleichzeitig dabei den TUD-Kopf zu verwenden, wird der interne Befehl
+% \cs{tud@title@twocolumn} verwendet. Damit wird der Titel selber einspaltig
+% gesetzt und direkt danach der zweispaltige Satz begonnen.
+% \begin{macrocode}
+ \if@twocolumn%
+ \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]%
+ \else%
+ \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \fi%
+ \fi%
+ \fi%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@titlepagenumber
+% \end{macro}^^A \tud@maketitle
+% \begin{parameter}{pagenumber}
+% \changes{v2.02}{2014/09/05}{neu}^^A
+% \begin{parameter}{cdfont}
+% \changes{v2.02}{2014/09/05}{neu}^^A
+% Die einzelnen Parameter dienen zur Einstellung der Titelseite und entsprechen
+% in ihrem Verhalten den gleichnamigen Klassenoptionen.
+% \begin{macrocode}
+\TUD@parameter{title}{%
+ \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
+ \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}%
+}%
+% \end{macrocode}
+% \end{parameter}^^A cdfont
+% \end{parameter}^^A pagenumber
+% 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}
+% \begin{macro}{\tud@maketitlepage}
+% \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@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. Mit \cs{tud@titlepagenumber}
+% kann eine Seitenzahl für den Titel~-- auch über den Befehl \cs{makecover}~--
+% angegeben werden.
+% \begin{macrocode}
+\newcommand*\tud@titleback{}%
+\newcommand*\tud@maketitlepage{%
+% \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}
+ \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%
+% \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}%
+% \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@titlepagenumber\relax\else%
+ \setcounter{page}{\tud@titlepagenumber}%
+ \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@cover\else%
+ \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 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@footnote@unhyper%
+% \end{macrocode}
+% Im Gegensatz zu den \KOMAScript-Klassen wird für eine Umschlagseite die
+% Option \opt{titlepage=firstiscover} nur für den Schmutztitel \cs{extratitle}
+% und nicht für die eigentlcihe Titelseite unterstützt. Für ein Cover im \CD
+% ist der Befehl \cs{makecover} mit den dazugehörigen Parametern zu nutzen.
+% \begin{macrocode}
+ \ifx\@extratitle\@empty%
+ \if@titlepageiscoverpage%
+ \ClassWarning{\tudcls@name}{%
+ Using option `titlepage=firstiscover' is only\MessageBreak%
+ possible with an extra title. Alternatively you can\MessageBreak%
+ create a cover with `\string\makecover'%
+ }%
+ \fi%
+ \else%
+% \end{macrocode}
+% Der Teil ist aus den \KOMAScript-Klassen kopiert\dots
+% \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%
+ \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=\baselineskip%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
+ \else%
+ \let\titlepage@restore\relax%
+ \fi%
+ \noindent\@extratitle\next@tdpage%
+ \fi%
+ \fi%
+% \end{macrocode}
+% Ist die Option \opt{tudbookmarks} aktiviert, werden für Umschlag- und
+% Titelseite PDF"=Lesezeichen gesetzt.
+% \begin{macrocode}
+ \if@tud@bookmarks%
+ \if@tud@cover%
+%<*book|report>
+ \tudbookmark[0]{\coverpagename}{cover}%
+%</book|report>
+%<*article>
+ \tudbookmark[1]{\coverpagename}{cover}%
+%</article>
+ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+ \else%
+%<*book|report>
+ \tudbookmark[0]{\titlepagename}{title}%
+%</book|report>
+%<*article>
+ \tudbookmark[1]{\titlepagename}{title}%
+%</article>
+ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+ \fi%
+ \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*{\dimexpr%
+ \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax%
+ }%
+ \vspace*{\pageheadingsvskip}%
+ \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 (\cs{begingroup}) gesetzt.
+% \begin{macrocode}
+ \begingroup%
+ \usekomafont{titlepage}%
+% \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{titlehead}{\@titlehead\par\null}}%
+ \end{minipage}\newline\null%
+ }%
+ \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}%
+ \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\relax}%
+ \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}
+ {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ \vskip 2ex\@plus1ex\@minus1ex%
+% \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}\par}}%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ \fi%
+ \vskip 2\bigskipamount%
+% \end{macrocode}
+% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen.
+% \begin{macrocode}
+ \tud@check@author%
+ \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@cover\else%
+ \ifx\@date\@empty\else%
+ \vskip 2ex\@plus.1fill%
+ {\usekomafont{date}{\@date\space\ignorespaces\@datemore\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@uppercase{\@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@cover\else%
+ \ifx\@graduation\@empty\else%
+ \def\@tempc{%
+ \@graduation%
+ \ifx\@graduationabbr\@empty\else\space\@graduationabbr\fi%
+ }%
+ {\usekomafont{titlepage}{\graduationtext\par}}%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ \if@tud@subjectthesis%
+ {\usekomafont{subject}{\@tempc\par}}%
+ \else%
+ {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}%
+ \fi%
+ \vskip 3ex\@plus1ex\@minus1ex%
+ \fi%
+ \fi%
+ \vskip 2ex\@plus.5fill%
+ \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}%
+ \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.
+% \begin{macrocode}
+ \ifx\@thesis\@empty\else%
+ \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' or `\string\date' 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' or `\string\date' was not given.%
+ \MessageBreak It's substituted by the given due date%
+ }%
+ \let\@date\@duedate%
+ }%
+ }{}%
+ \ifx\@date\@empty\else%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ \ifstr{\datetext}{}{}{\datetext\@titledelim}%
+ {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}%
+% \end{macrocode}
+% Zusätzlich kann noch ein Datum der mündlichen Verteidigung angegeben werden.
+% \begin{macrocode}
+ \ifx\@defensedate\@empty\else%
+ \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}%
+ {\usekomafont{date}{\@defensedate\par}}%
+ \fi%
+ \fi%
+ \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%
+ \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%
+ \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 \opt{heavyfont} 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{%
+ \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}}%
+ \thispagestyle{empty.tudheadings}%
+ \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@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%
+ \begingroup%
+ \let\thispagestyle\@gobble%
+ \next@tpage%
+ \endgroup%
+%<*article>
+ \tud@restorepagecolor%
+ \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}%
+ \if@tud@cover\else%
+ \setcounter{footnote}{0}%
+ \global\let\and\relax%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@titleback
+% \end{macro}^^A \tud@maketitlepage
+% \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%
+ \def\and{%
+ \ifcsvoid{#1othername}{\par}{%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
+ {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}%
+ }%
+ \let\and\par%
+ }%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
+ {\usekomafont{titlepage}{\@nameuse{#1name}\par}}%
+ {\usekomafont{author}{\@nameuse{@#1}\par}}%
+ \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
+% \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.
+% \begin{macrocode}
+ \global\@topnum=\z@%
+ \vspace*{\dimexpr%
+ \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax%
+ }%
+ \vspace*{\headingsvskip}%
+ \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 (\cs{begingroup}) gesetzt. Außerdem werden
+% wie auch für die Titelseite die Hyperlinks der Fußnoten deaktiviert.
+% \begin{macrocode}
+ \begingroup%
+ \usekomafont{titlepage}%
+ \tud@footnote@unhyper%
+% \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}
+ \setlength{\@tempdima}{\z@}%
+ \ifx\@titlehead\@empty\else%
+ \setbox0\vbox{%
+ \begin{minipage}[t]{\textwidth}%
+ {\usekomafont{titlehead}{\@titlehead\par\null}}%
+ \end{minipage}\newline\null%
+ }%
+ \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}%
+ \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=true}%
+ \tud@letsubjectthesis%
+ \ifx\@subject\@empty\else%
+ \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}%
+ \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}%
+ \fi%
+ \vspace*{-\@tempdima}%
+ \ifx\@titlehead\@empty\else\usebox0\par\fi%
+ \ifx\@subject\@empty\else\usebox1\par\fi%
+ {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ \ifx\@subtitle\@empty\else%
+ {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ \fi%
+ \vskip 2\bigskipamount%
+% \end{macrocode}
+% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen.
+% \begin{macrocode}
+ \tud@check@author%
+ \tud@multiple@split{@author}\par%
+ \vskip 2ex\@plus1ex\@minus1ex%
+% \end{macrocode}
+% Ausgabe von Datum, Verlag und Danksagung wie im Original.
+% \begin{macrocode}
+ {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}%
+ \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\@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%
+% \end{macrocode}
+% Am Ende wird noch etwas vertikaler Abstand eingefügt.
+% \begin{macrocode}
+ \vskip 2\bigskipamount%
+% \end{macrocode}
+% Wird das \DDC-Logo gesetzt, muss dafür am unteren Rand entsprechend Platz
+% gelassen werden.
+% \begin{macrocode}
+ \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@@maketitle
+% 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.
+% \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%
+ \protected@expandtwoargs\in@{\@tempb}{\@nameuse{\tud@multiple@field}}%
+ \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@check@author}
+% \changes{v2.02}{2014/08/17}{neu}%^^A
+% \begin{macro}{\tud@split@author}
+% \changes{v2.02}{2014/07/25}{neu, aus Umbenennung \cs{tud@split@@author}}%^^A
+% \begin{macro}{\tud@split@author@list}
+% \changes{v2.02}{2014/07/25}{neu, Umbenennung \cs{tud@split@@author@list}}%^^A
+% \begin{macro}{\tud@newline}
+% Das Makro \cs{tud@split@author} dient der formatierten Ausgabe aller
+% Informationen für mehrere Autoren auf der Titelseite. Falls das Autorenfeld
+% nicht gesetzt wurde, wird mit \cs{tud@check@author} die standardmäßig
+% vorhandene Warnung ausgegeben und danach das Feld als leer definiert.
+% \begin{macrocode}
+\newcommand*\tud@newline{}
+\newcommand*\tud@check@author{%
+ \ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}%
+}
+\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 jedoch nicht auf der Umschlagseite
+% ausgegeben.
+% \begin{macrocode}
+ {\usekomafont{author}{\ignorespaces#1}}%
+ \if@tud@cover\else%
+ \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%
+ \if@titlepage%
+ \tud@newline%
+ \ifstr{\dateofbirthtext}{}%
+ {}{\dateofbirthtext\@titledelim}\@dateofbirth%
+ \ifx\@placeofbirth\@empty\else%
+ \space\placeofbirthtext\unskip\space\@placeofbirth%
+ \fi%
+ \else%
+ \tud@title@wrn{dateofbirth}%
+ \fi%
+ \fi%
+ \ifx\@matriculationnumber\@empty\else%
+ \if@titlepage%
+ \tud@newline%
+ \ifstr{\matriculationnumbername}{}%
+ {}{\matriculationnumbername\@titledelim}%
+ \@matriculationnumber%
+ \else%
+ \tud@title@wrn{matriculationnumber}%
+ \fi%
+ \fi%
+ \ifx\@matriculationyear\@empty\else%
+ \if@titlepage%
+ \tud@newline%
+ \ifstr{\matriculationyearname}{}%
+ {}{\matriculationyearname\@titledelim}%
+ \@matriculationyear%
+ \else%
+ \tud@title@wrn{matriculationyear}%
+ \fi%
+ \fi%
+ \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
+% \end{macro}^^A \tud@check@author
+% \begin{macro}{\maketitleonecolumn}
+% \changes{v2.02}{2014/08/16}{einspaltiger Text obligatorisch}%^^A
+% \begin{macro}{\@maketitleonecolumn}
+% \changes{v2.02}{2014/08/12}{entfernt}%^^A
+% \begin{macro}{\tud@title@twocolumn}
+% \begin{macro}{\tud@title@twocolumn@box}
+% 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{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.
+% \begin{macrocode}
+\RequirePackage{afterpage}[1995/10/27]
+\newcommand\maketitleonecolumn[2][]{%
+% \end{macrocode}
+% Hier erfolgt die Unterscheidung der Ausgabe, abhängig von der Option
+% \opt{titlepage}.
+% \begin{macrocode}
+ \if@twocolumn%
+ \if@titlepage%
+ \maketitle[#1]%
+ \onecolumn{#2}\twocolumn%
+ \else%
+ \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]%
+ \fi%
+ \else%
+ \ClassError{\tudcls@name}{%
+ `\string\maketitleonecolumn' can only be used in twocolumn mode%
+ }{}%
+ \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@twocolumn@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%
+ \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}%
+ \endgroup%
+% \end{macrocode}
+% Für den speziellen Satzspiegel mit dem \DDC-Logo im Fuß ist im Zweifelsfall
+% etwas Anpassungarbeit von Nöten. Sollte dieser für die Titelseite benötigt
+% werden, der entsprechende Seitenstil ist aber nicht geladen, so wird für die
+% folgende Ausgaberoutine im ersten Durchlauf der Platz auf der Titelseite
+% reduziert.
+% \begin{macrocode}
+ \setlength{\@tempdimc}{\textheight}%
+ \tud@ifinpslist{\titlepagestyle}{%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@ddc@check%
+ \ifcase \@tempb\relax\else%
+ \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}%
+ \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. Dabei
+% sollen für das seitenweise Zerteilen des Inhaltes innerhalb der Box dieselben
+% Rahmenbedingungen für den Seitenaufbau gelten, wie auch im normalen Dokument.
+% Nach der Ausgabe der ersten vollständigen Seite wird der verfügbare Platz auf
+% das normale Maß zurückgesetzt.
+% \begin{macrocode}
+ \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{%
+ \splittopskip\topskip%
+ \splitmaxdepth\maxdepth%
+ \vsplit\tud@title@twocolumn@box to \@tempdimc%
+ \clearpage%
+ \setlength{\@tempdimc}{\textheight}%
+ }%
+% \end{macrocode}
+% Der Rest wir einfach als optionales Argument von \cs{twocolumn} ausgegeben.
+% \begin{macrocode}
+ \twocolumn[\unvbox\tud@title@twocolumn@box]%
+% \end{macrocode}
+% Sollte der einspaltige Teil bereits auf der Titelseite selbst beendet worden
+% sein, so muss im zweispaltigen Satz für beide Spalten der Platz eingeschränkt
+% werden. Leider ist das Vergrößern zweier Spalten in \LaTeXe nicht trivial
+% möglich, weshalb hierfür wird das Paket \pkg{afterpage} benötigt wird. Es
+% wird die aktuelle und mit \cs{afterpage} die nächstfolgende Spalte verkürzt.
+% \begin{macrocode}
+ \ifdim\@tempdimc<\textheight\relax%
+ \enlargethispage{-\tud@dim@ddcdiff}%
+ \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@title@twocolumn@box
+% \end{macro}^^A \tud@title@twocolumn
+% \end{macro}^^A \@maketitleonecolumn
+% \end{macro}^^A \maketitleonecolumn
+% \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%
+ \ClassWarning{\tudcls@name}{%
+ 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
+% \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' has to be used with\MessageBreak%
+ activated titlepage option%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@title@wrn
+% \begin{macro}{\next@tdpage}
+% \changes{v2.02}{2014/05/17}{entfernt}%^^A
+% \begin{macro}{\tud@extratitle}
+% \changes{v2.02}{2014/06/23}{entfernt}%^^A
+% Mit \TUDScript~v2.02 wurde die Bereitstellung dieser beiden Befehle aufgrund
+% der zwingenden Verwendung von \KOMAScript{}~v3.12 entfernt.
+% \end{macro}^^A \tud@extratitle
+% \end{macro}^^A \next@tdpage
+%
+% \subsection{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}{\cs{makecover} jetzt auch ohne \CD verwendbar}^^A
+% \begin{macro}{\if@tud@cover}
+% \begin{macro}{\tud@coverpagetopmargin}
+% \changes{v2.02}{2014/08/12}{neu}^^A
+% Der Befehl ist für ein Cover bei einem gebundenen Werk zu verwenden.
+% \begin{macrocode}
+\newif\if@tud@cover
+\newcommand*\tud@coverpagetopmargin{}
+\let\tud@coverpagetopmargin\coverpagetopmargin
+\newcommand*\makecover[1][]{%
+% \changes{v2.02}{2014/08/12}{Satzspiegel bei \opt{cdlayout=false}
+% anpassbar}%^^A
+% \end{macrocode}
+% Ist die Option \opt{titlepage=firstiscover} aktiv, wird eine Warnung erzeugt.
+% \begin{macrocode}
+ \if@titlepageiscoverpage%
+ \ClassWarning{\tudcls@name}{%
+ Using both option `titlepage=firstiscover' and\MessageBreak%
+ `\string\makecover' together isn't supported. The\MessageBreak%
+ option `titlepage=firstiscover' will be ignorded. 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@layout@title\tud@layout@cover%
+ \tud@layout@process%
+% \end{macrocode}
+% Wird der Parameter \opt{cdlayout} aktiviert, werden die Seitenränder wie
+% durch das \CD vorgegeben eingestellt. Andernfalls entsprechen diese den
+% Einstellungen des Satzspiegels und können mit \cs{coverpage\dots margin}
+% durch den Anwender angepasst werden. Der mit \cs{coverpagetopmargin}
+% zusätzlich eingefügte, obere Seitenrand wird bei aktiviertem Parameter
+% \opt{cdlayout} im Normalfall~-- sprich ohne eine Änderung des Befehls
+% \cs{coverpagetopmargin}~-- durch \cs{tud@coverpagetopmargin} ausgeglichen, um
+% den Titel auf der Umschlagseite in der richtigen vertikalen Position
+% erscheinen zu lassen.
+% \begin{macrocode}
+ \if@tud@cover@cdlayout%
+ \ifcase \tud@layout@cover\relax%
+ \let\coverpagetopmargin\tud@dim@top%
+ \else%
+ \def\coverpagetopmargin{%
+ \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax%
+ }%
+ \fi%
+ \let\coverpagebottommargin\tud@dim@bottom%
+ \let\coverpageleftmargin\tud@dim@left%
+ \let\coverpagerightmargin\tud@dim@right%
+ \else%
+ \ifcase \tud@layout@cover\relax\else%
+ \expandafter\def\expandafter\coverpagetopmargin\expandafter{%
+ \coverpagetopmargin-\tud@coverpagetopmargin%
+ }%
+ \fi%
+ \fi%
+% \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 dabei
+% die Option \opt{titlepage=firstiscover} verwendet, um die Seitenränder
+% anpassen zu können. Außerdem werden ein mit \cs{extatitle} gegebener
+% Schmutztitel ebenso ignoriert, wie Danksagung oder Einträge für die Rückseite.
+% \begin{macrocode}
+ \ifcase \tud@layout@cover\relax%
+ \KOMAoptions{titlepage=firstiscover}%
+ \let\@extratitle\@empty%
+ \let\@uppertitleback\@empty%
+ \let\@lowertitleback\@empty%
+ \let\@dedication\@empty%
+ \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
+ \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \else%
+% \end{macrocode}
+% Der Befehl verwendet das Layout des Titels im \CD. Allerdings werden nicht
+% alle sondern nur für ein Cover relavante Angaben ausgegeben. 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%
+% \end{macrocode}
+% Der Satzspiegel wird hierfür äquivalent zu den \KOMAScript-Klassen gesetzt,
+% wenn die Option \opt{titlepage=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\let\noexpand\titlepage@restore\noexpand\relax%
+ }%
+ \begingroup%
+ \topmargin=\dimexpr \coverpagetopmargin-1in\relax%
+ \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax%
+ \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax%
+ \textwidth=\dimexpr%
+ \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax%
+% \end{macrocode}
+% Bei der Höhe des Textbereiches und der Kopfzeile muss unterschieden werden,
+% ob der Satzspiegel im \CD oder aber im Buchblock erfolgen soll.
+% \begin{macrocode}
+ \if@tud@cover@cdlayout%
+ \textheight=\dimexpr%
+ \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax%
+ \headheight=0pt%
+ \headsep=0pt%
+ \else%
+ \textheight=\dimexpr\paperheight-\coverpagebottommargin%
+ -\tud@dim@headheight-\tud@dim@barheight%
+ -\tud@dim@headsep-\tud@dim@bottom\relax%
+ \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax%
+ \headsep=\tud@dim@headsep%
+ \fi%
+ \footskip=\tud@dim@footskip%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
+ \tud@dim@headdiff=\z@%
+% \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 und ggf. das Wiederherstellen des Satzspiegels.
+% \begin{macrocode}
+ \tud@maketitle%
+ \clearpage%
+ \csname titlepage@restore\endcsname%
+ \fi%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@coverpagetopmargin
+% \end{macro}^^A \if@tud@cover
+% \end{macro}^^A \makecover
+% \begin{parameter}{pagenumber}
+% \begin{parameter}{cdfont}
+% \begin{parameter}{cdfonts}
+% \changes{v2.02}{2014/08/08}{entfernt}^^A
+% \begin{parameter}{tudfonts}
+% \changes{v2.02}{2014/08/08}{entfernt}^^A
+% \begin{parameter}{cdlayout}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \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}
+\newbool@lock{@tud@cover@cdlayout}
+\TUD@parameter{cover}{%
+ \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
+ \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@define{cdlayout}[true]{%
+ \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{%
+ \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{%
+ \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{%
+ \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{%
+ \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{%
+ \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{%
+ \TUD@parameter@wrn{cdlayout}{true,false}%
+ }}}}}}%
+ }%
+ \TUD@parameter@sethandler{%
+ \ifxnumber{#1}{%
+ \TUD@parameter@set[cover]{pagenumber=#1}%
+ }{%
+ \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 pagenumber
+%
+% \iffalse
+%</class&body>
+% \fi
+%
+% \Finale
+%
+\endinput