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