% \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} % % \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&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&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}% % %<*article> \tudbookmark[1]{\coverpagename}{cover}% % \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \else% %<*book|report> \tudbookmark[0]{\titlepagename}{title}% % %<*article> \tudbookmark[1]{\titlepagename}{title}% % \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]{% % %<*article> \begingroup% % \@tempa% \begingroup% \let\thispagestyle\@gobble% \next@tpage% \endgroup% %<*article> \tud@restorepagecolor% \endgroup% \tud@titleback% % %<*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 % % \fi % % \Finale % \endinput