% \CheckSum{1954} % \iffalse meta-comment % % ============================================================================ % % TUD-KOMA-Script % Copyright (c) Falk Hanisch , 2012-2015 % % ============================================================================ % % 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 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 % in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle % Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und % Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 % oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status % "author-maintained", wird somit 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-pagestyle.dtx %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-pagestyle.dtx}[% 2015/02/15 v2.03 TUD-KOMA-Script (pagestyle)% ] \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-pagestyle.dtx} \begin{document} \maketitle \DocInput{\filename} \end{document} % % \fi % % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A % \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A % % \section{Der Seitenstil des \CDs} % % Das \CD verlangt (eigentlich) einen fest vorgegebenen Satzspiegel. Für das % Setzen längerer wissenschaftlicher Abhandlungen ist dieser jedoch alles % andere als glücklich gewählt. Insbesondere für den doppelseitigen Satz ist % das Standardlayout nicht gut nutzbar. Für die \TUDScript"=Klassen wird % deshalb die Abweichung vom sonst fest vorgegebenen Satzspiegel ermöglicht. % % \StopEventually{\PrintIndex\PrintChanges} % % \subsection{Definition der konstanten Größen und Maße} % % Die Vorlagen sollen neben den vom \CD vorgegebenen Seitenrändern weitere % Layouts ermöglichen und u.\,a. auch die Nutzung des Paketes \pkg{typearea} % erlauben. Damit ein einheitliches Verfahren zur Wahl bzw. Umschaltung des % Satzspiegels genutzt werden kann, wird das Paket \pkg{geometry} genutzt. % Dabei werden entweder die gewünschten Maße der Seitenränder direkt gewählt % oder aber die mit \pkg{typearea} berechneten Maße an \pkg{geometry} % durchgereicht. % % Als erstes werden die Standardmaße für die Seitenränder im \CD definiert, % danach speziell für die \env{tudpage}"=Umgebung. % % \iffalse %<*class&body> % \fi % % \begin{length}{\tud@dim@widemargin} % \begin{length}{\tud@dim@slimmargin} % \begin{length}{\tud@dim@both} % Die Seitenränder für links und rechts sowie deren Summe, welche später für % weitere Layouts dazu verwendet wird, diese anteilig zu verteilen. % \begin{macrocode} \newlength\tud@dim@widemargin \newlength\tud@dim@slimmargin \newlength\tud@dim@both % \end{macrocode} % \end{length}^^A \tud@dim@both % \end{length}^^A \tud@dim@slimmargin % \end{length}^^A \tud@dim@widemargin % \begin{length}{\tud@dim@top} % \changes{v2.02}{2015/01/09}{entfernt}%^^A % \begin{length}{\tud@dim@bottom} % \changes{v2.02}{2015/01/09}{entfernt}%^^A % \begin{length}{\tud@dim@footskip} % \changes{v2.02}{2015/01/09}{entfernt}%^^A % Die Befehle wurden mit der \TUDScript-Version~v2.03 allesamt entfernt, da % diese redundant waren und implizit durch andere, bereits für das \CD % definierte Längen dargestellt werden können. % \end{length}^^A \tud@dim@footskip % \end{length}^^A \tud@dim@bottom % \end{length}^^A \tud@dim@top % \begin{length}{\tud@dim@topmargin} % \begin{length}{\tud@dim@barheight} % \begin{length}{\tud@dim@headsep} % \begin{length}{\tud@dim@footsep} % Es folgen die speziellen Maße für die Seiten mit dem TUD-Kopf, also die Höhe % oberhalb des Querbalkens, die Höhe des Querbalkens selbst sowie der vertikale % (Mindest"~)Abstand zwischen Querbalken und Textkörper sowie der Fußzeile. % \begin{macrocode} \newlength\tud@dim@topmargin \newlength\tud@dim@barheight \newlength\tud@dim@headsep \newlength\tud@dim@footsep % \end{macrocode} % \end{length}^^A \tud@dim@footsep % \end{length}^^A \tud@dim@headsep % \end{length}^^A \tud@dim@barheight % \end{length}^^A \tud@dim@topmargin % \begin{length}{\tud@dim@logox} % \begin{length}{\tud@dim@logoy} % \begin{length}{\tud@dim@logowidth} % \begin{length}{\tud@dim@logoheight} % \changes{v2.03}{2015/01/13}{entfernt}%^^A % Außerdem müssen noch die Abmessungen und die Position des TUD-Logos definiert % werden, nämlich der horizontale (Soll"~)Abstand zwischen linkem Seitenrand % und Logo, der vertikale (Soll"~)Abstand zwischen oberem Seitenrand und Logo % sowie die Breite und Höhe\footnote{Proportionen sind durch die Grafik % vorgegeben} des Logos. % \begin{macrocode} \newlength\tud@dim@logox \newlength\tud@dim@logoy \newlength\tud@dim@logowidth % \end{macrocode} % \end{length}^^A \tud@dim@logoheight % \end{length}^^A \tud@dim@logowidth % \end{length}^^A \tud@dim@logoy % \end{length}^^A \tud@dim@logox % \begin{length}{\tud@dim@line} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{length}{\tud@dim@heavyline} % \begin{length}{\tud@dim@thinline} % Die Linienstärke der Outline im Kopf ist für ein monochromes Layout schmaler % als im Layout mit farbigem Hintergrund.\footnote{% % monochrom \cs{tud@dim@thinline}, koloriert \cs{tud@dim@heavyline}}% % Da im Dokument beide Varianten vorkommen können, wird die Breite % \cs{tud@dim@line} durch den Seitenstil situativ entweder auf den Wert von % \cs{tud@dim@thinline} oder aber \cs{tud@dim@heavyline} gesetzt. % \begin{macrocode} \newlength\tud@dim@line \newlength\tud@dim@heavyline \newlength\tud@dim@thinline % \end{macrocode} % \end{length}^^A \tud@dim@thinline % \end{length}^^A \tud@dim@heavyline % \end{length}^^A \tud@dim@line % \begin{length}{\tud@dim@headdiff} % \begin{length}{\tud@dim@headingsvskip} % \changes{v2.02}{2014/06/23}{neu}%^^A % Die Längen für den vertikalen Standardversatz der Überschriften sowie die % Differenz der Kopfhöhen von normalem Satzspiegel und dem mit dem TUD-Kopf. % \begin{macrocode} \newlength\tud@dim@headdiff \newlength\tud@dim@headingsvskip % \end{macrocode} % \end{length}^^A \tud@dim@headdiff % \end{length}^^A \tud@dim@headingsvskip % \begin{length}{\tud@dim@ddcdiff} % \changes{v2.02}{2014/06/23}{neu}%^^A % Zu guter Letzt noch die Länge \cs{tud@dim@ddcdiff} für den Höhenausgleich des % Seitenfußes, welcher bei der Verwendung des \DDC-Logos in der Fußzeile bei % Version~v2.02 für den Satzspiegel notwendig war. Dieser etwas verschrobene % Satzspiegel wird im Kompatibilitätsmodus weiterhin angeboten. % \begin{macrocode} \iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{} % \end{macrocode} % \end{length}^^A \tud@dim@ddcdiff % \begin{macro}{\tud@geometry@set} % \changes{v2.03}{2015/01/23}{Längenberechnung für den Satzspiegel an % Referenzlänge \cs{tud@dim@widemargin} gekoppelt}%^^A % \begin{macro}{\tud@head@font@size} % Hiermit werden in Abhängigkeit der gewählten Papiergröße die Maße für die % Größe der Kopfzeile, die Position des Logos, die Seitenränder sowie die % Schriftgröße in der Kopfzeile definiert. Aufgerufen wird der Befehl durch % \cs{tud@geometry@process}. Dabei fungiert \cs{tud@dim@widemargin} als % Bezugslänge. Die maßgebliche Papiergröße ist DIN~A4. Die Längen für alle % anderen Papiermaße unterscheiden sich um den Faktor~$\sqrt{2}$, wobei das % Format DIN~A5 nach den Vorgaben des \CDs übersprungen wird. % \begin{macrocode} \newcommand*\tud@head@font@size{} \newcommand*\tud@geometry@set{% \ifdim\paperheight<148.1mm\relax% \setlength\tud@dim@widemargin{15mm}% \setlength\tud@dim@heavyline{0.5pt}% \setlength\tud@dim@thinline{0.25pt}% \def\tud@head@font@size{4.5}% \else\ifdim\paperheight<297.1mm\relax% \setlength\tud@dim@widemargin{30mm}% \setlength\tud@dim@heavyline{1pt}% \setlength\tud@dim@thinline{0.5pt}% \def\tud@head@font@size{9}% \else\ifdim\paperheight<420.1mm\relax% \setlength\tud@dim@widemargin{42.426407mm}% \setlength\tud@dim@heavyline{1.414214pt}% \setlength\tud@dim@thinline{0.707107pt}% \def\tud@head@font@size{12.727922}% \else\ifdim\paperheight<594.1mm\relax% \setlength\tud@dim@widemargin{60mm}% \setlength\tud@dim@heavyline{2pt}% \setlength\tud@dim@thinline{1pt}% \def\tud@head@font@size{18}% \else\ifdim\paperheight<841.1mm\relax% \setlength\tud@dim@widemargin{84.852814mm}% \setlength\tud@dim@heavyline{2.828427pt}% \setlength\tud@dim@thinline{1.414214pt}% \def\tud@head@font@size{25.455844}% \else% \setlength\tud@dim@widemargin{120mm}% \setlength\tud@dim@heavyline{4pt}% \setlength\tud@dim@thinline{2pt}% \def\tud@head@font@size{36}% \fi\fi\fi\fi\fi% % \end{macrocode} % Zum Schluss werden die restlichen Längen aus der Referenzlänge berechnet. % \begin{macrocode} \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}% \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}% \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}% \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}% \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}% \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}% \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}% \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}% \setlength\tud@dim@footsep{% \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax% }% } % \end{macrocode} % \end{macro}^^A \tud@head@font@size % \end{macro}^^A \tud@geometry@set % % \subsection{Unterstützung der \cls{standalone}-Klasse} % % \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}-Klasse}%^^A % % Mit der Klasse~\cls{standalone} können insbesondere Grafiken als separate % Dateien erzeugt und später im Dokument eingebunden werden. Diese Klasse % ändert allerhand an den Einstellungen der Seitenränder. Damit sich diese bei % der Verwendung mit den \TUDScript-Klassen nicht in die Quere kommen, müssen % für einige Einstellungen unterdrückt werden. % % \begin{macro}{\ifstandalonecrop} % \changes{v2.02}{2014/09/08}{neu}%^^A % Mit diesem Makro kann die Verwendung der Option \opt{crop} mit der Klasse % \cls{standalone} geprüft werden. Das erste Argument wird ausgeführt, wenn % die Klasse geladen und die Option aktiv ist. Das zweite Argument wird % ausgeführt, wenn entweder die Option \opt{crop} deaktiviert ist oder die % Klasse \cls{standalone} gar nicht geladen wurde. % \begin{macrocode} \newcommand*\ifstandalonecrop{% \ifcsdef{ifsa@crop}{% \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% }{% \@secondoftwo% }% } % \end{macrocode} % \end{macro}^^A \ifstandalonecrop % % Ist die Klasse \cls{standalone} zusammen mit der Option \opt{crop} aktiv, % werden die Seitenränder auf die Einstellungen dieser Klasse gesetzt und das % Laden von \pkg{scrlayer-scrpage} verhindert. % % \begin{macrocode} \AtEndPreamble{% \ifstandalonecrop{% \PreventPackageFromLoading{scrlayer-scrpage}% \pagestyle{empty}% \hoffset=-72.27pt% \voffset=-72.27pt% \topmargin=0pt% \headheight=0pt% \headsep=0pt% \marginparsep=0pt% \marginparwidth=0pt% \footskip=0pt% \marginparpush=0pt% \oddsidemargin=0pt% \evensidemargin=0pt% \topskip=0pt% \textheight=\maxdimen% }{}% } % \end{macrocode} % % \subsection{Definition des Seitenstils mittels \pkg{scrlayer-scrpage}} % % Ein zentraler Bestandteil der Vorlagen ist der Seitenkopf des \CDs. Dieser % wird ab der Version~v2.02 mit Hilfe des Paketes \pkg{scrlayer-scrpage} % erstellt. Dafür werden einzelnene Seitenstile erstellt, welche zum einen von % verschiedenen Befehlen wie beispielsweise von\cs{maketitle} oder \cs{part} % bzw. \cs{addpart} genutzt werden. Zum anderen kann der Anwender selbst diese % entweder direkt über die Wahl des Seitenstils oder aber mit der % \env{tudpage}"=Umgebung nutzen. % % \begin{pagestyle}{tudheadings} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{pagestyle}{plain.tudheadings} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{pagestyle}{empty.tudheadings} % \changes{v2.02}{2014/06/23}{neu}%^^A % Es wird ein neuer Seitenstil kreiert, der das \CD der \TnUD mit der % prägenden Kopfzeile umsetzt. Dabei soll dieser Kopf auch verwendbar sein, % wenn nicht die vom \CD vorgeschriebenen Seitenränder sondern das Paket % \pkg{typearea} genutzt wird. Dafür wird das Logo im Kopf so wie im \CD % vorgesehen mit dem Logo der \TnUD in den Rand und dem Schriftzug bündig zum % Textblock gesetzt. % % Für das Erzeugen der Seitenstile wird das Paket \pkg{scrlayer-scrpage} % genutzt. Mit diesem können verschiedene Ebenen erstellt werden, aus welchen % anschließend der eigentliche Seitenstil zusammengesetzt wird. % \begin{macrocode} \AtEndPreamble{% % \end{macrocode} % Damit der Anwender beliebige Optionen an \pkg{scrlayer-scrpage} übergeben % kann, wird das Paket erst zum Ende der Präambel geladen, wenn dies nicht % bereits vorher geschehen ist. Anschließend werden verschiedene, sogeannte % Layers respektive Ebenen für die einzelnen Elemente auf einer Seite erstellt. % \begin{macrocode} \RequirePackage{scrlayer-scrpage}[2013/12/14]% \AfterPackage*{scrlayer-scrpage}{% % \end{macrocode} % \begin{layer}{tudheadings.head.mainlogo} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{layer}{tudheadings.head.logo} % \changes{v2.02}{2014/06/23}{neu}%^^A % Dies sind das links aus dem Satzspiegel verschobene Logo der \TnUD, \dots % \begin{macrocode} \DeclareNewLayer[% background,headsep,% voffset=\tud@dim@logoy,% contents={% \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}% \tud@mainlogo% },% ]{tudheadings.head.mainlogo}% % \end{macrocode} % \dots und das Zweitlogo. % \begin{macrocode} \DeclareNewLayer[% background,headsep,% voffset=\tud@dim@logoy,% contents={\hfill\tud@headlogo},% ]{tudheadings.head.logo}% % \end{macrocode} % \end{layer}^^A tudheadings.head.logo % \end{layer}^^A tudheadings.head.mainlogo % \begin{layer}{tudheadings.head.back} % \changes{v2.03}{2015/02/14}{neu}%^^A % \begin{layer}{tudheadings.head.bar} % \changes{v2.03}{2015/02/14}{neu}%^^A % Außerdem gibt es eine Variante ohne Querbalken-Outline. Stattdessen werden % der Querbalken und der darüberliegende Kopf farbig abgesetzt. % \begin{macrocode} \DeclareNewLayer[% background,% contents={% \ifnum\tud@head@bar>\@ne\relax% \color{HKS41}% \rule{\layerwidth}{\tud@dim@topmargin}% \fi% },% ]{tudheadings.head.back}% \DeclareNewLayer[% background,% voffset=\tud@dim@topmargin,% contents={% \ifnum\tud@head@bar>\@ne\relax% \color{HKS41!80}% \rule{\layerwidth}{\tud@dim@barheight}% \fi% },% ]{tudheadings.head.bar}% % \end{macrocode} % \end{layer}^^A tudheadings.head.bar % \end{layer}^^A tudheadings.head.back % \begin{layer}{tudheadings.head.text} % \changes{v2.02}{2014/06/23}{neu}%^^A % Fakultät, Einrichtung, Institut und Lehrstuhl als Inhalt des Querbalkens. % \begin{macrocode} \DeclareNewLayer[% background,headsep,% voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,% contents={\tud@head@text@box},% ]{tudheadings.head.text}% % \end{macrocode} % \end{layer}^^A tudheadings.head.text % \begin{layer}{tudheadings.head.upperline} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{layer}{tudheadings.head.lowerline} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{layer}{tudheadings.head.upperwideline} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{layer}{tudheadings.head.lowerwideline} % \changes{v2.02}{2014/06/23}{neu}%^^A % Die Ebenen für obere und untere Linie des Querbalkens sowohl in der normalen % Version, welche den Textbereich überspannt als auch in der Variante über die % komplette Seitenbreite. Dabei muss für beide Varianten der entsprechenden % horizontale Versatz beachtet werden. Dafür wird ggf. der Parameter \val{head} % von \pkg{scrlayer-scrpage} verwendet. Darauf folgt \dots % \begin{macrocode} \DeclareNewLayer[% background,headsep,% voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% contents={% \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% \tud@head@rule{\textwidth}% \fi\fi% },% ]{tudheadings.head.upperline}% \DeclareNewLayer[% background,headsep,% voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% -.5\tud@dim@line\relax,% contents={% \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% \tud@head@rule{\textwidth}% \fi\fi% },% ]{tudheadings.head.lowerline}% \DeclareNewLayer[% background,% voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% contents={% \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% \tud@head@rule{\paperwidth}% \fi\fi% },% ]{tudheadings.head.upperwideline}% \DeclareNewLayer[% background,% voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% -.5\tud@dim@line\relax,% contents={% \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% \tud@head@rule{\paperwidth}% \fi\fi% },% ]{tudheadings.head.lowerwideline}% % \end{macrocode} % \end{layer}^^A tudheadings.head.lowerwideline % \end{layer}^^A tudheadings.head.upperwideline % \end{layer}^^A tudheadings.head.lowerline % \end{layer}^^A tudheadings.head.upperline % \begin{layer}{tudheadings.foot.logo} % \changes{v2.02}{2014/06/23}{neu}%^^A % \changes{v2.03}{2015/01/13}{Ebenendeklaration ist kompatibilitätsabhängig}%^^A % \begin{layer}{tudheadings.foot.back} % \changes{v2.03}{2015/02/15}{neu}%^^A % Außerdem wird eine weitere Ebene für Drittlogos sowie das \DDC-Logo im % Seitenfuß erstellt. Dabei wird die Ebene in Abhängigkeit vom gewählten % Kompatibilitätsmodus unterschiedlich definiert. % % Ab Version~v2.03 wird der Satzspiegel so gewählt, dass das \DDC-Logo in den % normalen Seitenfuß passt. % \begin{macrocode} \DeclareNewLayer[% background,foot,% height=\dimexpr\paperheight-\layeryoffset\relax,% contents={% % \end{macrocode} % Falls die Höhe der Logos im Fuß nicht durch den Anwender festgelegt wurden, % werden passende Standardwerte gesetzt. % \begin{macrocode} \ifdim\footlogoheight>\z@\relax\else% \settoheight\footlogoheight{\tud@mainlogo}% \iftudscrverlower{2.03}{% \setlength\footlogoheight{.6\tud@dim@topmargin}% }{}% \fi% % \end{macrocode} % Die gesetzt Größe der Logos im Fuß wird geprüft. Sollten diese zu groß sein, % wird eine Warnug ausgegeben. % \begin{macrocode} \setlength\@tempdima{% \dimexpr\footlogoheight-\layerheight+\dp\strutbox\relax% }% \ifdim\@tempdima>\vfuzz\relax% \ClassWarning{\tudcls@name}{% The chosen `\string\footlogoheight' (\the\footlogoheight)\MessageBreak% is \the\@tempdima\space higher than recommended. You\MessageBreak% should decrease this length \ifcase\tud@geometry\relax\else% or alternatively\MessageBreak% enlarge the bottom margin by using option\MessageBreak% `extrabottommargin'% \fi% }% \fi% % \end{macrocode} % Hier erfolgt die eigentliche Ausgabe der Logos. Dabei werden ggf. zuerst die % mit \cs{footlogo} angegeben wurden, anschließend wird das \DDC-Logo gesetzt, % fall dies gefordert ist. % \begin{macrocode} \let\@tempa\relax% \@for\@tempb:=\tud@@footlogo\do{% \@tempa% \ifx\@tempb\@empty\else% \expandafter\tud@footlogo\expandafter{\@tempb}% \fi% \let\@tempa\footlogosep% }% \tud@ddclogo% },% ]{tudheadings.foot.logo}% % \end{macrocode} % Bis zur Version~v2.02 wurde für die Verwendung des \DDC-Logos der Satzspiegel % geändert. Hier wird dem Rechnung getragen. % \begin{macrocode} \iftudscrverlower{2.03}{% \ModifyLayer[% voffset=\dimexpr\topmargin+1in+\headheight+\headsep+\textheight% +\footskip-\footheight-\tud@dim@ddcdiff% \ifcase\tud@geometry\relax\else+\ht\strutbox+\dp\strutbox\fi% \relax,% height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,% ]{tudheadings.foot.logo}% }{}% % \end{macrocode} % Diese Ebene wird als Hintergrund für den Fußbereich definiert. % \begin{macrocode} \DeclareNewLayer[% background,% hoffset=0pt,% width=\paperwidth,% voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}% -\dp\strutbox\relax,% height=\dimexpr\paperheight-\layeryoffset\relax,% contents={% \if@tud@footcolor% \let\@tempc\relax% \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi% \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}% \ifx\@tempc\relax\else% \iftudscrverlower{2.03}{% \tud@ddc@check% \ifcase\@tempb\relax% \vbox to \layerheight{% \vfil\@tempc% \rule{\layerwidth}{% \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax% }% }% \else% \@tempc\rule{\layerwidth}{\layerheight}% \fi% }{\@tempc\rule{\layerwidth}{\layerheight}}% \fi% \fi% },% ]{tudheadings.foot.back}% % \end{macrocode} % \end{layer}^^A tudheadings.foot.back % \end{layer}^^A tudheadings.foot.logo % Aus den zuvor erstellten Ebenen werden jetzt die eigentlichen Seitenstile % zusammengesetzt. Als erstes wird der \pgs{headings}-Seitenstil definiert. % Dieser verwendet den TUD-Kopf und die Fußzeilenebenen des Seitenstils % \pgs{scrheadings}, welche zur Definition des Seitenstils verwendet werden. % Beim Aktivieren des Seitenstils wird außerdem \cs{tud@ps@init} ausgeführt. % Damit die Benutzerschnittstelle von \pkg{scrlayer-scrpage} für die Fußzeile % weiterhin durch den Anwender verwendet werden kann, werden wie erwähnt die % entsprechenden \pgs{scrheadings}-Ebenen verwendet. % \begin{macrocode} \DeclareNewPageStyleByLayers[% onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% ]{tudheadings}{% tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% tudheadings.head.bar,% tudheadings.head.text,% tudheadings.head.upperline,% tudheadings.head.lowerline,% tudheadings.head.upperwideline,% tudheadings.head.lowerwideline,% tudheadings.foot.back,% tudheadings.foot.logo,% scrheadings.foot.odd,% scrheadings.foot.even,% scrheadings.foot.oneside,% scrheadings.foot.above.line,% scrheadings.foot.below.line% }% % \end{macrocode} % Zuletzt werden Aliasnamen für den Seitenstil definiert. % \begin{macrocode} \DeclareNewPageStyleAlias{tud}{tudheadings}% \DeclareNewPageStyleAlias{tudscr}{tudheadings}% \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% % \end{macrocode} % Für den \pgs{plain}-Seitenstil wird ebenso verfahren. Hier werden für die % Fußzeilenebenen des Seitenstils \pgs{plain.scrheadings} hinzugefügt. % \begin{macrocode} \DeclareNewPageStyleByLayers[% onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% ]{plain.tudheadings}{% tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% tudheadings.head.bar,% tudheadings.head.text,% tudheadings.head.upperline,% tudheadings.head.lowerline,% tudheadings.head.upperwideline,% tudheadings.head.lowerwideline,% tudheadings.foot.back,% tudheadings.foot.logo,% plain.scrheadings.foot.odd,% plain.scrheadings.foot.even,% plain.scrheadings.foot.oneside,% plain.scrheadings.foot.above.line,% plain.scrheadings.foot.below.line% }% \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}% \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}% \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}% \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}% % \end{macrocode} % Des Weiteren gibt es einen selbstständigen \enquote{leeren} Seitenstil, der % lediglich aus dem Kopf besteht und einen lerren Seitenfuß hat. % \begin{macrocode} \DeclareNewPageStyleByLayers[% onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% ]{empty.tudheadings}{% tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% tudheadings.head.bar,% tudheadings.head.text,% tudheadings.head.upperline,% tudheadings.head.lowerline,% tudheadings.head.upperwideline,% tudheadings.head.lowerwideline,% tudheadings.foot.back,% tudheadings.foot.logo,% }% \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}% \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}% \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}% \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}% % \end{macrocode} % \begin{layer}{tudheadings.pagecolor} % \changes{v2.03}{2015/01/09}{neu}%^^A % Um farbige Titel- Teil- und Kapitelseiten \emph{unabhängig} vom aktuell % verwendeten Seitenstil erstellen zu können, wird die zusätzliche Ebene % \val{tudheadings.pagecolor} definiert, die \emph{allen} Seitenstilen % hinzugefügt wird. % \begin{macrocode} \DeclareNewLayer[ background,page,% contents={% \ifdefvoid{\tud@pagecolor}{}{% \color{\tud@pagecolor}% \rule{\layerwidth}{\layerheight}% }% },% ]{tudheadings.pagecolor} \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% % \end{macrocode} % \end{layer}^^A tudheadings.pagecolor % Der Kopf im \CD der \TnUD erfordert einen eigenen Satzspiegel, der ggf. durch % \cs{tud@beforeselectanypagestyle} aktiviert bzw. deaktiviert wird. % \begin{macrocode} \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}% }% } % \end{macrocode} % \end{pagestyle}^^A empty.tudheadings % \end{pagestyle}^^A plain.tudheadings % \end{pagestyle}^^A tudheadings % \begin{macro}{\tud@ps@onselect} % \changes{v2.03}{2015/01/09}{neu}%^^A % \begin{macro}{\tud@ps@onbackground} % \changes{v2.03}{2015/02/14}{neu}%^^A % \begin{macro}{\tud@head@logocolor} % \begin{macro}{\tud@foot@logocolor} % \changes{v2.03}{2015/02/15}{neu}%^^A % Diese Befehle werden bei der Initialiserung der Seitenstile beziehungsweise % zu Beginn der Ebenenausgabe aufgerufen. % \begin{macrocode} \newcommand*\tud@ps@onselect{% % \end{macrocode} % Normalerweise werden durch \pkg{scrlayer-scrpage} bei der Umschaltung auf % einen mit dem Befehl \cs{newpairofpagestyles}\marg{Seitenstil} definierten % Seitenstil, die Seitenstile \pgs{headings} und \pgs{plain} als Aliase für % \pgs{\meta{Seitenstil}} und \pgs{plain.\meta{Seitenstil}} festgelegt. % Allerdings definiert dieser Befehl zusätzliche Ebenen für Kopf- und Fußzeile, % weshalb auf die Verwendung verziichtet wird. Das automatische Umschalten soll % dennoch ermöglicht werden. % \begin{macrocode} \DeclarePageStyleAlias{plain}{plain.tudheadings}% \DeclarePageStyleAlias{headings}{tudheadings}% \def\sls@currentheadings{tudheadings}% \def\sls@currentplain{plain.tudheadings}% } % Das Makro \cs{tud@head@logocolor} enthält die Farbe des Kopfes. Die Gestalt % des Querbalkens kann über die Option \opt{cdhead} geändert werden. Für Titel, % Teil und Kapitel gibt es speziell dazugehörige Optionen, womit das Aussehen % des Kopfes ggf. angepasst werden kann. Mit \cs{tud@foot@logocolor} erfolgt % dies gleichermaßen für ein etwaiges \DDC-Logo. % \begin{macrocode} \newcommand*\tud@head@logocolor{black} \newcommand*\tud@foot@logocolor{black} \newcommand*\tud@ps@onbackground{% \ifcase\tud@head@bar\relax% \def\tud@head@logocolor{black}% \def\tud@foot@logocolor{black}% \or% \def\tud@head@logocolor{HKS41}% \def\tud@foot@logocolor{HKS41}% \or% \def\tud@head@logocolor{white}% \if@tud@footcolor% \def\tud@foot@logocolor{white}% \else% \def\tud@foot@logocolor{HKS41}% \fi% \fi% % \end{macrocode} % In Abhängigkeit von der eingestzten Hintergrundfarbe der Seite wird die % Linienstärke des Querbalkens gesetzt. % \begin{macrocode} \let\tud@dim@line\tud@dim@thinline% \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}% } % \end{macrocode} % \end{macro}^^A \tud@foot@logocolor % \end{macro}^^A \tud@head@logocolor % \end{macro}^^A \tud@ps@onbackground % \end{macro}^^A \tud@ps@onselect % \begin{macro}{\ps@tudpage@plain} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % \begin{macro}{\ps@tudpage@empty} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % Diese Befehle wurden mit der \TUDScript-Version~v2.02 entfernt. % \end{macro}^^A \ps@tudpage@empty % \end{macro}^^A \ps@tudpage@plain % \begin{macro}{\thispagestyle} % \changes{v2.03}{2015/01/20}{Auswahl eines Aliasseitenstils unterdrückt}%^^A % \begin{macrocode} \patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% \xdef\@specialstyle{\GetRealPageStyle{#1}} }{}{\tud@patch@wrn{thispagestyle}} % \end{macrocode} % \end{macro}^^A \tud@beforeselectanypagestyle % \begin{macro}{\tud@beforeselectanypagestyle} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@currentgeometry} % \changes{v2.02}{2014/06/23}{neu}%^^A % Mit \cs{tud@beforeselectanypagestyle} wird beim Umschalten des Seitenstils % gegebenfalls der Satzspiegel geändert. Dabei wird der aktivierte Satzspiegel % in dem Makro \cs{tud@currentgeometry} gesichert, um darauf zu einem späteren % Zeitpunkt prüfen zu können. % % Für den Fall, dass das Dokument nicht ausschließlich mit dem Kopf im \CD % auf jeder Seite gesetzt wird, muss der komplette vertikale Satzspiegel % angepasst werden, sonst wäre der obere Rand optisch viel zu groß. Hierfür % wird das Paket \pkg{geometry} genutzt. Durch \cs{tud@geometry@process} % werden zwei~-- für die KOmpatibilitätsvariante drei~-- Layouts erstellt. % Diese können mit \cs{loadgeometry}\marg{Stil} geladen werden. % \begin{macrocode} \newcommand*\tud@currentgeometry{} \newcommand*\tud@beforeselectanypagestyle[1]{% % \end{macrocode} % Der \pgs{tudheadings}-Seitenstil wird mit dem Befehl \cs{newpairofpagestyles} % derart definiert, dass zwischen \pgs{tudheadings} und \pgs{plain.tudheadings} % auch mit \LaTeX-Standardseitenstilen \pgs{headings} bzw. \pgs{plain} % umgeschaltet werden kann. Dies wird hiermit beachtet. % \begin{macrocode} \ifstr{#1}{\GetRealPageStyle{#1}}{% \def\@tempa{#1}% % \end{macrocode} % Vor der \KOMAScript-Version~v3.15 wurden die Seitenstile \pgs{headings} und % \pgs{plain} nicht als Alias definiert. Dieses Problem wird hiermit behoben. % \begin{macrocode} \ifcsdef{scr@v@3.15}{}{% \ifstr{\sls@currentheadings}{tudheadings}{% \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% }{}% }% % \end{macrocode} % Für den Fall, das ein \pgs{tudheadings}-Seitenstil geladen werden soll, muss % der dazugehörige Satzspiegel ausgewählt werden\dots % \begin{macrocode} \iftudpagestyle{\@tempa}{% % \end{macrocode} % \dots wobei in der Version~v2.02 zwei unterschiedliche existierten, und % abhängig von der Verwendung des \DDC-Logos im Fuß waren. % \begin{macrocode} \iftudscrverlower{2.03}{% % \end{macrocode} % In diesem Fall werden die Seitenfußeinstellungen mit \cs{tud@ddc@check} in % \cs{@tempb} geschrieben und abhängig davon der richtige Satzspiegel geladen. % Dabei wird zuvor mit dem Wert aus \cs{tud@currentgeometry} geprüft, ob dies % überhaupt notwendig ist. % \begin{macrocode} \tud@ddc@check% % \end{macrocode} % Das \DDC-Logo im Fuß ist nicht aktiviert. % \begin{macrocode} \ifcase\@tempb\relax% \ifstr{\tud@currentgeometry}{tudarea}{}{% \loadgeometry{tudarea}% \gdef\tud@currentgeometry{tudarea}% }% % \end{macrocode} % Das \DDC-Logo im Fuß ist aktiviert. % \begin{macrocode} \else% \ifstr{\tud@currentgeometry}{tudareaddc}{}{% \loadgeometry{tudareaddc}% \gdef\tud@currentgeometry{tudareaddc}% }% \fi% % \end{macrocode} % Ab der Version~v2.03 ist nur noch ein Satzspiegel vonnöten. % \begin{macrocode} }{% \ifstr{\tud@currentgeometry}{tudarea}{}{% \loadgeometry{tudarea}% \gdef\tud@currentgeometry{tudarea}% }% }% % \end{macrocode} % Die Länge \cs{tud@dim@headdiff} gibt an, wie groß die Differenz zwischen % Kopfhöhe zwischen aktuellem und dem speziellen \pgs{tudheadings}-Seitenstil % ist. Da diese in diesem Fall identisch sind, wird die Länge zu \cs{z@} % gesetzt. % \begin{macrocode} \setlength\tud@dim@headdiff{\z@}% % \end{macrocode} % Hier ist der Fall, wenn kein \pgs{tudheadings}-Seitenstil geladen werden soll. % Zusätzlich zum Satzspeigel wird außerdem der Seitenstil \pgs{empty} % zurückgesetzt. % \begin{macrocode} }{% \ifstr{\tud@currentgeometry}{typearea}{}{% \loadgeometry{typearea}% \gdef\tud@currentgeometry{typearea}% }% % \end{macrocode} % Die Länge \cs{tud@dim@headdiff} wird auf den berechneten Wert gesetzt. Nur % für den Fall, dass die Kopfzeile zum Satzspiegel gerechnet wird und dieser % nicht durch \pkg{typearea} berechnet wurde, muss diese Länge etwas angepasst % werden. % \begin{macrocode} \setlength\tud@dim@headdiff{\tud@ta@headdiff}% \ifcase\tud@geometry\relax\else% \if@hincl% \addtolength\tud@dim@headdiff{% \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% }% \fi% \fi% }% % \end{macrocode} % Die Länge \cs{tud@dim@headdiff} wird vorsichtshalber global gesetzt. % \begin{macrocode} \global\tud@dim@headdiff=\tud@dim@headdiff% }{}% } % \end{macrocode} % \end{macro}^^A \tud@currentgeometry % \end{macro}^^A \tud@beforeselectanypagestyle % \begin{macro}{\cleardoubleoddpageusingstyle} % \begin{macro}{\cleardoubleevenpageusingstyle} % \begin{macro}{\cleardoublepageusingstyle} % Damit die Satzspiegelumstellungen nicht durchgeführt werden, wenn durch die % folgenden \KOMAScript-Befehle Leerseiten erzeugt werden, müssen diese minimal % angepasst werden. % \begin{macrocode} \patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} \patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} \patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoublepageusingstyle}} % \end{macrocode} % \end{macro}^^A \cleardoublepageusingstyle % \end{macro}^^A \cleardoubleevenpageusingstyle % \end{macro}^^A \cleardoubleoddpageusingstyle % \begin{macro}{\tud@ddc@enlargepage} % \changes{v2.02}{2014/06/23}{neu}%^^A % Der Befehl wird nur für den Kompatibilitätsmodus zur Version~v2.02 benötigt % und für die Titelkopf- und Kapitelseiten verwendet. Er verkleinert die % entsprechenden Seiten, wenn für diese mit dem Befehl \cs{thispagestyle} einer % der \pgs{tudheadings}"=Seitenstile gewählt wird \emph{und} das \DDC-Logo im % Fuß gesetzt werden soll. Der entsprechende Seitenstil kann im optionalen % Argument angegeben werden, wenn der Befehl bedingt ausgeführt werden soll. % \begin{macrocode} \iftudscrverlower{2.03}{% \newcommand*\tud@ddc@enlargepage[1][]{% \iftudpagestyle{#1}{% \ifstr{\tud@currentgeometry}{tudareaddc}{}{% \tud@ddc@check% \ifcase\@tempb\relax\else% \enlargethispage{-\tud@dim@ddcdiff}% \fi% }% }{}% }% }{} % \end{macrocode} % \end{macro}^^A \tud@ddc@enlargepage % \begin{macro}{\tud@head@text} % \begin{macro}{\tud@head@text@first} % \begin{macro}{\tud@head@text@second} % \begin{macro}{\tud@head@text@delimiter} % \begin{macro}{\tud@head@text@buffer} % Diese Befehle sind Hilfsmakros, die bei der Erzeugung der Textzeile inner- und % unterhalb des Querbalkens des TUD-Kopfes dienen. % \begin{macrocode} \newcommand*\tud@head@text{} \newcommand*\tud@head@text@first{} \newcommand*\tud@head@text@second{} \newcommand*\tud@head@text@delimiter{} \newcommand*\tud@head@text@buffer{} % \end{macrocode} % \end{macro}^^A \tud@head@text@buffer % \end{macro}^^A \tud@head@text@delimiter % \end{macro}^^A \tud@head@text@second % \end{macro}^^A \tud@head@text@first % \end{macro}^^A \tud@head@text % \begin{macro}{\tud@head@rule} % \changes{v2.02}{2014/06/23}{gewünschte Breite als Argument}%^^A % Der Querbalken des Kopfes läuft je nach gewähltem Parameter \cs{tud@head@bar} % entweder nur über den Textbereich oder aber über die gesamte Seitenbreite. % Der Befehl erzeugt eine horizontale Linie mit der übergebenen Breite und % über \cs{tud@dim@line} definierter Dicke. % \begin{macrocode} \newcommand*\tud@head@rule[1]{% \color{\tud@head@logocolor}% \rule[\ht\strutbox]{#1}{\tud@dim@line}% } % \end{macrocode} % \end{macro}^^A \tud@head@rule % \begin{macro}{\tud@head@text@add} % Dieser Befehl dient zum Füllen eines Puffer-Strings. Es werden sequentiell % alle potentiellen Felder hinzugefügt. Sollte das zuletzt hinzugefügte Feld % dazu führen, dass der Text der Kopfzeile über den Seitenrand hinausragt, so % wird eine zweite Zeile begonnen. In diesem Fall wird der temporäre Schalter % \cs{@tempswa} aktiviert. Auch das Trennzeichen zwischen einzelnen Feldern % muss gepuffert werden, da dieses nur gesetzt wird, wenn ein weiteres Feld % nachfolgt. % \begin{macrocode} \newcommand*\tud@head@text@add[3][, ]{% \edef\tud@head@text{#3}% \ifx\tud@head@text\@empty% \def\tud@head@text@delimiter{}% \else% \edef\tud@head@text@delimiter{\tud@head@text@buffer}% \def\tud@head@text@buffer{#1}% \fi% \if@tempswa\else% \def\@tempa{% \tud@head@text@first% \tud@head@text@delimiter% #2% \tud@head@text% }% \settowidth\@tempdima{\@tempa}% \ifdim\@tempdima>\textwidth\relax% \@tempswatrue% \def\tud@head@text@delimiter{}% \else% \edef\tud@head@text@first{\@tempa}% \fi% \fi% \if@tempswa% \edef\tud@head@text@second{% \tud@head@text@second% \tud@head@text@delimiter% #2% \tud@head@text% }% \fi% } % \end{macrocode} % \end{macro}^^A \tud@head@text@add % \begin{macro}{\tud@head@text@box} % \changes{v2.02}{2014/06/23}{neu}%^^A % \changes{v2.03}{2015/01/09}{Bugfix für zweite Zeile. Diese muss in jedem Fall % gesetzt werden, auch wenn sie leer ist.}%^^A % Dieser Befehl ist der Inhalt der Ebene für den Text der Kopfzeile. % \ToDo{Zeilenabstand bei unterschiedlichen Papiergrößen prüfen}[v2.04] % \begin{macrocode} \newcommand*\tud@head@text@box{% % \end{macrocode} % Sollte keine Fakultät angegeben sein, wird eine Warnung ausgegeben. % \begin{macrocode} \ifx\@faculty\@empty% \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% \faculty{}% \fi% % \end{macrocode} % Abhängig vom Wert \cs{tud@cdfont}~-- gesetzt entweder von der globalen % Klassenoption oder vom lokalen Parameter \opt{cdfont}~-- werden entweder die % Schriften des \CDs oder aber die serifenlose Standardschrift für die Kopfzeile % verwendet. % \begin{macrocode} \tud@head@font@set% % \end{macrocode} % Der Inhalt der Kopfzeile wird durch die angegeben Fakultät etc. vorgegeben. % Sollte der Platz in einer Zeile dafür nicht ausreichen, wird eine zweite % Zeile begonnen. Ob diese benötigt wird, ist abhängig vom Inhalt und von der % sich daraus ergebenden Breite der Textzeile. Das Erzeugen der ersten und % gegebenenfalls der zweiten Textzeile im Kopf erfolgt durch das Makro % \cs{tud@head@text@add}\oarg{Trennzeichen}\marg{Schrift}\marg{Feld}. Der dafür % verwendete Schalter \cs{@tempswa} und die benötigten Hilfsmakros werden % vor der Verwendung initialisiert. % \begin{macrocode} \@tempswafalse% \def\tud@head@text@first{}% \def\tud@head@text@second{}% \def\tud@head@text@buffer{}% \tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}% \tud@head@text@add{\tud@head@font@light}{\@department}% \tud@head@text@add{\tud@head@font@light}{\@institute}% \tud@head@text@add{\tud@head@font@light}{\@chair}% % \end{macrocode} % Sollte die zweite Textzeile zu lang sein, was bei kleinen Papierformaten % vorkommen kann, dann wird eine Warnung ausgegeben. % \begin{macrocode} \settowidth\@tempdima{\tud@head@text@second}% \ifdim\@tempdima>\textwidth\relax% \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}% \hfuzz=\@tempdima% \fi% % \end{macrocode} % Es erfolgt die Ausgabe der Textzeile(n) mit Fakultät etc. über % \cs{tud@head@text@write} sowie einer möglichen Extrazeile. % \begin{macrocode} \vbox{% \linespread{0}\selectfont% % \end{macrocode} % Die Farbe des Textes der ersten Zeile entspricht immer der des Kopfes\dots % \begin{macrocode} \color{\tud@head@logocolor}% \tud@head@text@write{\tud@head@text@first}% % \end{macrocode} % Die zweite und dritte Zeile sind bei zweifarbigen Kopf normalerweise blau, % nur für einen dunklen Seitenhintergrund weiß. % \begin{macrocode} \ifnum\tud@head@bar>\@ne% \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{% \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% }% \fi% \ifx\tud@head@text@second\@empty% \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% \else% \newline\tud@head@text@write{\tud@head@text@second}% \ifx\@extraheadline\@empty\else% \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline% \fi% \fi% }% } % \end{macrocode} % \end{macro}^^A \tud@head@text@box % \begin{macro}{\tud@head@text@write} % \changes{v2.02}{2014/06/23}{Vertikaler Freiraum für Ober- und Unterlängen % mit \cs{vphantom} eingefügt}%^^A % \changes{v2.02}{2014/12/04}{optische Zentrierung des Zeilentextes}%^^A % Befehl zur Ausgabe der ersten und evtl. zweiten Textzeile im TUD-Kopf % \begin{macrocode} \newcommand*\tud@head@text@write[1]{% \raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[% \dimexpr\tud@dim@barheight-\depth\relax% ][\depth]{#1\vphantom{gjpqy\"A\"O\"U}}% } % \end{macrocode} % \end{macro}^^A \tud@head@text@write % \begin{macro}{\tud@head@text@wrn} % Warnung für den Fall, dass die Kopfinformationen breiter werden, als die % Textbreite, was bei besonders kleinen Papierformaten geschehen kann. % \begin{macrocode} \newcommand\tud@head@text@wrn[1]{% \ClassWarning{\tudcls@name}{% The given entries for the headline\MessageBreak% (faculty, institute etc.) are #1\MessageBreak% too wide for the textwidth% }% \global\let\tud@head@text@wrn\@gobble% } % \end{macrocode} % \end{macro}^^A \tud@head@text@wrn % \begin{macro}{\tud@mainlogo@wrn} % \changes{v2.02}{2014/06/23}{Umbenennen von \cs{tud@head@logo@wrn}}%^^A % Warnung für den Fall, dass die Kopfinformationen breiter werden, als die % Textbreite, was bei besonders kleinen Papierformaten geschehen kann. % \begin{macrocode} \newcommand*\tud@mainlogo@wrn[1]{% \ClassWarning{\tudcls@name}{% The selected page layout means that the\MessageBreak% logo of TUD extends beyond the printing area.\MessageBreak% The inner margin is smaller than BCOR\MessageBreak% (`BCOR=\the\ta@bcor', inner margin is #1)\MessageBreak% Maybe you should decrease the current value\MessageBreak% of DIV (`DIV=\the\ta@div')% }% \global\let\tud@mainlogo@wrn\@gobble% } % \end{macrocode} % \end{macro}^^A \tud@mainlogo@wrn % % \iffalse % %<*class&option> % \fi % % \subsection{Befehle, Optionen und Umsetzung der Seitenstilvarianten} % % \begin{option}{ddc} % \changes{v2.02}{2014/06/23}{automatische Logowahl}%^^A % \begin{option}{ddchead} % \changes{v2.02}{2014/06/23}{\DDC-Logo entweder in Kopf oder Fuß}%^^A % \begin{option}{ddcfoot} % \changes{v2.02}{2014/06/23}{\DDC-Logo entweder in Kopf oder Fuß}%^^A % Diese Optionen dienen zur Auswahl des \DDC-Logos auf Seiten mit dem Stil % \pgs{tudheadings}. Die Option \opt{ddchead} setzt das Logo dabei immer in den % Kopf, wobei ein mit \cs{headlogo} definiertes Zweitlogo gegebenenfalls % überschrieben wird. Die Option \opt{ddcfoot} setzt das Logo immer in den Fuß. % Mit der Option \opt{ddc} wird das Logo nur in den Kopf gesetzt, wenn kein % Zweitlogo angegeben ist. Ist dies jedoch der Fall, wird das Logo stattdessen % im Fuß ausgegeben. % \begin{macro}{\tud@ddc@switch} % \changes{v2.02}{2014/06/23}{neu}%^^A % Dieser Befehl enthält die gültigen Werte für die Optionen \opt{ddc}, % \opt{ddchead} sowie \opt{ddcfoot}. % \begin{macrocode} \newcommand*\tud@ddc@switch{} \edef\tud@ddc@switch{% \TUD@numkey@bool,% {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},% {black}{5},{cdblack}{5},% {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},% {white}{7},{cdwhite}{7}% } % \end{macrocode} % \end{macro}^^A \tud@ddc@switch % \begin{macro}{\tud@ddc@save} % \changes{v2.02}{2014/07/08}{neu}%^^A % \begin{macro}{\if@tud@ddc@save} % \changes{v2.02}{2014/07/08}{neu}%^^A % Diese beiden Befehle werden von den Optionen \opt{ddchead} und \opt{ddcfoot} % benötigt, um nach dem Setzen der Option den vorherigen Wert vor dem möglichen % Beenden einer Seite mit \cs{clearpage} wiederherstellen zu können. % \begin{macrocode} \newcommand*\tud@ddc@save{} \newif\if@tud@ddc@save \@tud@ddc@savetrue % \end{macrocode} % \end{macro}^^A \if@tud@ddc@save % \end{macro}^^A \tud@ddc@save % \begin{macro}{\tud@ddc} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\if@tud@ddc@autoset} % \changes{v2.02}{2014/06/23}{neu}%^^A % Die Option \opt{ddc}. % \begin{macrocode} \newcommand*\tud@ddc{0} \newif\if@tud@ddc@autoset \TUD@key{ddc}[true]{% % \end{macrocode} % Sollte diese innerhalb des Dokumentes aufgerufen werden, so wird für den Fall, % dass ein \pgs{tudheadings}-Seitenstil gewählt ist, ein \cs{clearpage} % ausgeführt, da eventuell eine Änderung des Layers sowie des Satzspeigels % notwendig ist. Anschließend wird der Schalter \cs{if@tud@ddc@autoset} % entsprechend des angegebenen Wertes gesetzt. % \begin{macrocode} \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \ifcase\tud@ddc\relax% \@tud@ddc@autosetfalse% \else% \@tud@ddc@autosettrue% \fi% % \end{macrocode} % Abschließend wird der aktuelle Seitenstil erneut aufgerufen, um bei einem % geänderten Fuß den notwendigen Satzspiegel zu laden. Dies ist jedoch nur % notwendig, wenn die Option innerhalb des Dokumentes verwendet wurde. Siehe % \cs{tud@beforeselectanypagestyle}. % \begin{macrocode} \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% \fi% } % \end{macrocode} % \end{macro}^^A \if@tud@ddc@autoset % \end{macro}^^A \tud@ddc % \begin{macro}{\tud@ddc@head} % \changes{v2.03}{2015/01/22}{Bugfix Seitenstilauswahl bei Deaktivierung}%^^A % Die Option \opt{ddchead} dient zum zwingenden Setzen des \DDC-Logos im Kopf % der Seiten im Stil von \pgs{tudheadings}. % \begin{macrocode} \newcommand*\tud@ddc@head{0} \TUD@key{ddchead}[true]{% % \end{macrocode} % Der aktuelle Zustand des Schlüssels wird gesichert. Anschließend wird der % Schlüssel mit dem neuen Wert gesetzt. % \begin{macrocode} \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@head\fi% \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}% % \end{macrocode} % Sollte ein gültiger Wert für den Schlüssel übergeben worden sein, wird dieser % lokal auf den alten Wert gesetzt, um ggf. eine neue Seite zu erzeugen. % \begin{macrocode} \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tud@ddc@save% \begingroup% \let\tud@ddc@head\tud@ddc@save% \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% % \end{macrocode} % Danach werden die sich ausschließenden Optionen deaktiviert, ohne eine % Sicherung der Werte vorzunehmen. % \begin{macrocode} \ifcase\tud@ddc@head\relax% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddcfoot=false}% \@tud@ddc@savetrue% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \tud@ddc@head % \begin{macro}{\tud@ddc@foot} % \changes{v2.03}{2015/01/22}{Bugfix Seitenstilauswahl bei Deaktivierung}%^^A % Die Option \opt{ddcfoot} dient zum zwingenden Setzen des \DDC-Logos im Fuß % der Seiten im Stil von \pgs{tudheadings}. Das Vorgehen beim Umschalten des % Schlüssels ist äquivalent zur Option \opt{ddchead} % \begin{macrocode} \newcommand*\tud@ddc@foot{0} \TUD@key{ddcfoot}[true]{% \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@foot\fi% \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tud@ddc@save% \begingroup% \let\tud@ddc@foot\tud@ddc@save% \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% \ifcase\tud@ddc@foot\relax% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddchead=false}% \@tud@ddc@savetrue% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \tud@ddc@foot % \begin{macro}{\tud@ddc@check} % \changes{v2.02}{2014/06/23}{neu}%^^A % Dieses Hilfsmakro wird aufgerufen, wenn geprüft werden soll, welche % Einstellungen für Kopf und Fuß des Seitenstiles \pgs{tudheadings} zum Tragen % kommen sollen. Dabei wird insbesondere geprüft, ob die automatischen Auswahl % des \DDC-Logos aktiviert ist. Die jeweils gültige Auswahl für Kopf bzw. Fuß % wird in \cs{@tempa} bzw. \cs{@tempb} geschrieben und kann anschließend % ausgewertet werden. % \begin{macrocode} \newcommand*\tud@ddc@check{% \let\@tempa\tud@ddc@head% \let\@tempb\tud@ddc@foot% \if@tud@ddc@autoset% \ifx\tud@@headlogo\@empty% \let\@tempa\tud@ddc% \let\@tempb\z@% \else% \let\@tempa\z@% \let\@tempb\tud@ddc% \fi% \fi% \iftudscrverlower{2.03}{% \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi% }{}% } % \end{macrocode} % \end{macro}^^A \tud@ddc@check % \end{option}^^A ddcfoot % \end{option}^^A ddchead % \end{option}^^A ddc % \begin{macro}{\iftudpagestyle} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@ps@list} % \changes{v2.02}{2014/06/23}{neu}%^^A % Mit dem Befehl \cs{iftudpagestyle} wird geprüft, ob der im ersten Argument % gegebene Seitenstil~-- was auch das Makro \cs{currentpagestyle} sein kann, % welches durch das Paket \pkg{scrlayer-scrpage} definiert wird und den % aktuellen Seitenstil beinhaltet~-- einem aus der Liste \cs{tud@ps@list} % entspricht. Ist dies der Fall, wird das zweite Argument ausgeführt, % anderfalls das dritte. % \begin{macrocode} \newcommand*\iftudpagestyle[3]{% \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% } \newcommand*\tud@ps@list{} \forcsvlist{\listadd\tud@ps@list}{% tudheadings,plain.tudheadings,empty.tudheadings% } % \end{macrocode} % \end{macro}^^A \tud@ps@list % \end{macro}^^A \iftudpagestyle % \begin{option}{extrabottommargin} % \begin{length}{\tud@dim@extrabottommargin} % Diese Option dient dazu, die Höhe des Fußes anzupassen. Dies ist jedoch nur % möglich, wenn der Satzspiegel des \CDs verwendet wird. Kommt \pkg{typearea} % zum Einsatz, ist die Option wirkungslos. % \begin{macrocode} \newlength\tud@dim@extrabottommargin \TUD@key{extrabottommargin}{% \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\tud@geometry@process\fi% \fi% } % \end{macrocode} % \end{length}^^A \tud@dim@extrabottommargin % \end{option}^^A extrabottommargin % % \iffalse % %<*class&body> % \fi % % \begin{macro}{\tud@mainlogo} % \changes{v2.02}{2014/08/04}{Dateinamen der TUD-Logos geändert}%^^A % \begin{macro}{\tud@@mainlogo} % Mit diesem Makro wird das Logo der TU~Dresden eingebunden. Bei der Verwendung % von pdf\LaTeX{} kann wird Farbe des Logos an die Kopffarbe angepasst. Wird % der klassische Weg über dvi gewählt, so muss abhängig von der gewählten % Kopffarbe das entsprechend gefärbte Logo eingebunden werden. % % \begin{macrocode} \newcommand*\tud@@mainlogo{} \newcommand*\tud@mainlogo{% % \end{macrocode} % Es soll sichergestellt werden, dass das bei der Verwendung von \pkg{typearea} % über den Satzspiegel in den Seitenrand hinausragende TUD-Logo nicht außerhalb % des Druckrandes liegt. Dies kann beispielsweise bei zweiseitigem Satz % und/oder einem zu großen \opt{DIV}-Wertes passieren. Es wird in diesem Fall % eine Warnung ausgegeben, damit das Problem durch den Anwender behoben werden % kann. % \begin{macrocode} \setlength\@tempdima{% \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax% }% \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% % \end{macrocode} % Es wird das Standardlogo festgelegt und dieses ggf. für eine andere Kopffarbe % geändert. % \begin{macrocode} \def\tud@@mainlogo{TUD-black}% \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}% \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}% } % \end{macrocode} % \end{macro}^^A \tud@@mainlogo % \end{macro}^^A \tud@mainlogo % \begin{macro}{\headlogo} % \changes{v2.02}{2014/06/23}{Anpassung an automatische Wahl des \DDC-Logos}%^^A % \begin{macro}{\tud@headlogo} % \changes{v2.02}{2014/06/23}{neu, \cs{tud@head@logo} umbenannt}%^^A % \changes{v2.02}{2014/06/23}{von \cs{tud@ddc@sethead} wurde die Auswahl des % \DDC-Logos übernommen und erweitert}%^^A % \begin{macro}{\tud@@headlogo} % \changes{v2.02}{2014/06/23}{neu, \cs{tud@head@@logo} umbenannt}%^^A % \begin{macro}{\tud@@@headlogo} % \changes{v2.02}{2014/06/23}{Umbenennen des Befehls \cs{tud@head@@@logo}}%^^A % \begin{macro}{\tud@headlogo@wrn} % \changes{v2.02}{2014/06/23}{neu}%^^A % Diese Befehle dienen zum Einbinden eines Zweitlogos im Kopf bündig zum % rechten Seitenrand. Bei der Angabe des Logos mit % \cs{headlogo}\oarg{Optionsliste}\marg{Dateiname} wird der Dateiname in % \cs{tud@@headlogo} und das optionale Argument in \cs{tud@@@headlogo} % gespeichert, damit diese später über \cs{tud@headlogo} an den Befehl % \cs{includegraphics} weitergereicht werden können. % \begin{macrocode} \newcommand*\headlogo[2][]{% \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \def\tud@@headlogo{#2}% \def\tud@@@headlogo{#1}% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% } \newcommand*\tud@@headlogo{} \newcommand*\tud@@@headlogo{} \newcommand*\tud@headlogo{% \tud@ddc@check% \ifx\tud@@headlogo\@empty\else% \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% \fi% \ifcase\@tempa\relax\or% \def\tud@@headlogo{DDC-24}% \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}% \or% \def\tud@@headlogo{DDC-03}% \or% \def\tud@@headlogo{DDC-09}% \or% \def\tud@@headlogo{DDC-21}% \or% \def\tud@@headlogo{DDC-24}% \or% \def\tud@@headlogo{DDC-27}% \or% \def\tud@@headlogo{DDC-30}% \fi% \ifx\tud@@headlogo\@empty\else% \settoheight\@tempdima{\tud@mainlogo}% \protected@epreto\tud@@@headlogo{% keepaspectratio,totalheight=\the\@tempdima,% }% \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% \fi% } \newcommand*\tud@headlogo@wrn{% \ClassWarning{\tudcls@name}{% The secondary logo given with `\string\headlogo' is\MessageBreak% overwritten with DDC logo. Maybe you should use\MessageBreak% `ddcfoot' or better `ddc' instead of `ddchead'% }% \global\let\tud@headlogo@wrn\relax% } % \end{macrocode} % \end{macro}^^A \tud@headlogo@wrn % \end{macro}^^A \tud@@@headlogo % \end{macro}^^A \tud@@headlogo % \end{macro}^^A \tud@headlogo % \end{macro}^^A \headlogo % \begin{macro}{\footlogo} % \changes{v2.03}{2015/01/27}{neu}%^^A % \begin{macro}{\footlogosep} % \changes{v2.03}{2015/01/27}{neu}%^^A % \begin{length}{\footlogoheight} % \changes{v2.03}{2015/01/27}{neu}%^^A % \begin{macro}{\tud@footlogo} % \changes{v2.03}{2015/01/27}{neu}%^^A % \changes{v2.03}{2015/02/02}{optionale Parameter datei-individuell nutzbar}%^^A % \begin{macro}{\tud@footlogo@parser} % \changes{v2.03}{2015/02/02}{neu}%^^A % \begin{macro}{\tud@@footlogo} % \changes{v2.03}{2015/01/27}{neu}%^^A % \begin{macro}{\tud@@@footlogo} % \changes{v2.03}{2015/01/27}{neu}%^^A % Mit dem Befehl \cs{footlogo} kann eine kommasparierte Liste für Logos im % Fuß angegeben werden, die mit \cs{footlogosep} voneinander getrennt werden. % \begin{macrocode} \newlength\footlogoheight \newcommand*\footlogosep{\hfill} \newcommand*\footlogo[2][]{% \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \def\tud@@footlogo{#2}% \def\tud@@@footlogo{#1}% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% } \newcommand*\tud@@footlogo{} \newcommand*\tud@@@footlogo{} % \end{macrocode} % Der Befehl \cs{tud@footlogo} wird genutzt, um die Logos für den Fuß innerhalb % der Ebene \val{tudheadings.foot.logo} auszugeben. % \begin{macrocode} \DeclareListParser{\tud@footlogo@parser}{:}% \newcommand*\tud@footlogo[1]{% \begingroup% % \end{macrocode} % Dabei soll es möglich sein, optionale Parameter an \cs{includegraphics} zu % übergeben. Dies soll zum einen global für alle Dateien als auch individuell % für einzelne Logos möglich sein. Zu diesem Zweck wird die Schnittstelle für % den Anwender so gestaltet, dass individuelle Parameter mit einem Doppelpunkt % direkt an den Dateinamen angehangen werden können. % \begin{macrocode} \def\@tempa{}% \def\@tempb{}% \@tempswatrue% \def\do##1{% \if@tempswa% \def\@tempa{##1}% \@tempswafalse% \else% \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}% \fi% }% \tud@footlogo@parser{#1}% % \end{macrocode} % Wurden tatsächlich inidviduelle Parameter übergeben, so werden diese als % letztes ausgeführt, um vorige Einstellungen überschreiben zu können. % \begin{macrocode} \protected@eappto\tud@@@footlogo{\@tempb}% % \end{macrocode} % In jedem Fall werden die Grundeinstellungen als erstes ausgeführt. % \begin{macrocode} \protected@epreto\tud@@@footlogo{% keepaspectratio,totalheight=\the\footlogoheight,% }% \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}% \vbox to \dimexpr\layerheight-\dp\strutbox\relax{% \vfil\hbox{\@tempc}\vfil\vfil% }% \endgroup% } % \end{macrocode} % \end{macro}^^A \tud@@@footlogo % \end{macro}^^A \tud@@footlogo % \end{macro}^^A \tud@footlogo@parser % \end{macro}^^A \tud@footlogo % \end{length}^^A \footlogoheight % \end{macro}^^A \footlogosep % \end{macro}^^A \footlogo % \begin{macro}{\tud@ddclogo} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@@ddclogo} % \changes{v2.02}{2014/06/23}{neu, \cs{tud@foot@logo} umbenannt}%^^A % \changes{v2.03}{2015/01/13}{Größe des Logos kompatibilitätsabhängig}%^^A % Diese Befehle dienen zum Einbinden des \DDC-Logos im Fuß der Seiten im Stil % \pgs{tudheadings}. % \begin{macrocode} \newcommand*\tud@@ddclogo{} \newcommand*\tud@ddclogo{% \tud@ddc@check% \ifcase\@tempb\relax\or% \def\tud@@ddclogo{DDC-22}% \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}% \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}% \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}% \or% \def\tud@@ddclogo{DDC-01}% \or% \def\tud@@ddclogo{DDC-07}% \or% \def\tud@@ddclogo{DDC-19}% \or% \def\tud@@ddclogo{DDC-22}% \or% \def\tud@@ddclogo{DDC-25}% \or% \def\tud@@ddclogo{DDC-28}% \fi% \ifx\tud@@ddclogo\@empty\else% \let\tud@@@footlogo\relax% \hfill\tud@footlogo{\tud@@ddclogo}% \fi% } % \end{macrocode} % \end{macro}^^A \tud@@ddclogo % \end{macro}^^A \tud@ddclogo % \begin{macro}{\tud@ddc@sethead} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % \begin{macro}{\tud@ddc@setfoot} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % Diese Befehle wurden mit der \TUDScript-Version~v2.02 entfernt. % \end{macro}^^A \tud@ddc@setfoot % \end{macro}^^A \tud@ddc@sethead % % \iffalse % %<*class&option> % \fi % % \begin{option}{cdhead} % \changes{v2.03}{2015/01/29}{neu}%^^A % \begin{macro}{\tud@head@font} % \changes{v2.03}{2015/02/04}{neu}%^^A % \begin{macro}{\if@tud@head@font@locked} % \changes{v2.03}{2015/02/04}{neu}%^^A % \begin{macro}{\tud@head@bar} % \changes{v2.03}{2015/02/04}{neu}%^^A % \begin{macro}{\if@tud@head@widebar} % \changes{v2.03}{2015/02/14}{neu}%^^A % \begin{macro}{\if@tud@head@widebar@locked} % \changes{v2.03}{2015/02/14}{neu}%^^A % Mit dieser Option wird die zentrale Benutzerschnittstelle für Einstellungen % des typischen Querbalkens für den TUD-Kopf geschaffen. Durch sie können % sowohl die verwendete Schrift als auch die Stärke für den Balkentext % (Institut, Fakultät etc.) geändert werden. Zusätzlich ist die Laufweite des % Querbalkens bzw. die Farbe einstellbar. % \begin{macrocode} \cs@lock{tud@head@font}{0} \newcommand*\tud@head@bar{0} \bool@lock{@tud@head@widebar} \TUD@key{cdhead}[true]{% \TUD@set@numkey{cdhead}{@tempa}{% \TUD@numkey@bool,% {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2},% {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},% {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},% {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},% {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},% {bicolor}{5},{bicolour}{5},{twocolor}{5},{twocolour}{5},% {bichrome}{5},{bichromatic}{5},{dichrome}{5},{dichromatic}{5},% {color}{5},{colour}{5},% {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5},% {textwidth}{6},{slim}{6},{slimhead}{6},{nowide}{6},{nowidehead}{6},% {paperwidth}{7},{wide}{7},{widehead}{7}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% \cs@set@lock{tud@head@font}{0}% \or% \cs@set@lock{tud@head@font}{1}% \or% \cs@set@lock{tud@head@font}{2}% \or% \def\tud@head@bar{0}% \or% \def\tud@head@bar{1}% \or% \def\tud@head@bar{2}% \or% \bool@set@lock{@tud@head@widebar}{false}% \or% \bool@set@lock{@tud@head@widebar}{true}% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \if@tud@head@widebar@locked % \end{macro}^^A \if@tud@head@widebar % \end{macro}^^A \tud@head@bar % \end{macro}^^A \if@tud@head@font@locked % \end{macro}^^A \tud@head@font % \end{option}^^A cdhead % \begin{option}{cdfoot} % \changes{v2.03}{2015/02/02}{Option \opt{extrabottommargin} bei Längenangabe % indirekt nutzbar}%^^A % \begin{macro}{\if@tud@footcolor} % \begin{macro}{\tud@ps@store} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@@ps@store} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@ps@restore} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@@ps@restore} % \changes{v2.02}{2014/06/23}{neu}%^^A % Dieser Seitenstil mit dem Kolumnentitel im Fuß wurde bereits für die alte % \cls{tudbook}-Klasse bereitgestellt und soll auch hier optional angeboten % werden. Zusätzlich kann mit dieser Option ggf. ein farbiger Hintergrund in % der Fußzeile aktiviert werden. % \begin{macrocode} \newif\if@tud@footcolor \TUD@key{cdfoot}[true]{% \TUD@set@numkey{cdfoot}{@tempa}{% \TUD@numkey@bool,% {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},% {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% {color}{3},{colour}{3},% {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% % \end{macrocode} % Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@restore} % wiederhergestellt. Dies wird allerdings frühestens nach dem Laden von % \pkg{scrlayer-scrpage} durchgeführt. % \begin{macrocode} \TUD@AfterPackage{scrlayer-scrpage}{% \tud@ps@restore{scrheadings}% \tud@ps@restore{plain.scrheadings}% \tud@font@koma@unset{pageheadfoot}% }% % \end{macrocode} % Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@store} % gesichert, um gegebenenfalls zurückschalten zu können. Anschließend werden % diese mit dem neuen Stil überschrieben. Dies wird allerdings frühestens nach % dem Laden von \pkg{scrlayer-scrpage} durchgeführt. % \begin{macrocode} \or% \TUD@AfterPackage{scrlayer-scrpage}{% \tud@ps@store{scrheadings}% \tud@ps@store{plain.scrheadings}% \tud@font@koma@set{pageheadfoot}{\upshape}% \clearpairofpagestyles% \ofoot[\pagemark]{% \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi% {\footnotesize\headmark}% \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% }% }% % \end{macrocode} % Hier kann die Hintergrundfarbe des Fußes aktiviert bzw. deaktiviert werden. % \begin{macrocode} \or% \@tud@footcolorfalse% \or% \@tud@footcolortrue% \fi% % \end{macrocode} % Außerdem kann mit der Option \opt{extrabottommargin} gesetzt werden. % \begin{macrocode} \else% \TUDoptions{extrabottommargin=#1}% \fi% } % \end{macrocode} % Die nächsten beiden Befehle dienen zum Sichern der Kopf- und Fußzeilen\dots % \begin{macrocode} \newcommand*\tud@ps@store[1]{% \tud@@ps@store{#1}{odd}{left}{head}% \tud@@ps@store{#1}{odd}{right}{head}% \tud@@ps@store{#1}{odd}{middle}{head}% \tud@@ps@store{#1}{even}{left}{head}% \tud@@ps@store{#1}{even}{right}{head}% \tud@@ps@store{#1}{even}{middle}{head}% \tud@@ps@store{#1}{odd}{left}{foot}% \tud@@ps@store{#1}{odd}{right}{foot}% \tud@@ps@store{#1}{odd}{middle}{foot}% \tud@@ps@store{#1}{even}{left}{foot}% \tud@@ps@store{#1}{even}{right}{foot}% \tud@@ps@store{#1}{even}{middle}{foot}% } % \end{macrocode} % \dots, wobei hierfür auf die internen Befehle von \pkg{scrlayer-scrpage} % zurückgegriffen werden muss. % \begin{macrocode} \newcommand*\tud@@ps@store[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}% }% } \newcommand*\tud@ps@restore[1]{% \tud@@ps@restore{#1}{odd}{left}{head}% \tud@@ps@restore{#1}{odd}{right}{head}% \tud@@ps@restore{#1}{odd}{middle}{head}% \tud@@ps@restore{#1}{even}{left}{head}% \tud@@ps@restore{#1}{even}{right}{head}% \tud@@ps@restore{#1}{even}{middle}{head}% \tud@@ps@restore{#1}{odd}{left}{foot}% \tud@@ps@restore{#1}{odd}{right}{foot}% \tud@@ps@restore{#1}{odd}{middle}{foot}% \tud@@ps@restore{#1}{even}{left}{foot}% \tud@@ps@restore{#1}{even}{right}{foot}% \tud@@ps@restore{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@restore[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% \csundef{@@tud@ps@#1@#2@#3@#4}% }{}% } % \end{macrocode} % \end{macro}^^A \tud@@ps@restore % \end{macro}^^A \tud@ps@restore % \end{macro}^^A \tud@@ps@store % \end{macro}^^A \tud@ps@store % \end{macro}^^A \if@tud@footcolor % \end{option}^^A cdfoot % \begin{macro}{\tud@ps@headings} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % \begin{macro}{\tud@ps@myheadings} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % \begin{macro}{\tud@ps@plain} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % Diese Befehle wurden bei der Umstellung auf das Paket~\pkg{scrlayer-scrpage} % mit der \TUDScript-Version~v2.02 allesamt entfernt. Die Funktionalität wird % seitdem durch die \pgs{tudheadings}-Seitenstile bereitgestellt. % \end{macro}^^A \tud@ps@plain % \end{macro}^^A \tud@ps@myheadings % \end{macro}^^A \tud@ps@headings % \begin{option}{cdgeometry} % \begin{macro}{\tud@geometry} % \begin{macro}{\if@tud@geometry@locked} % Für das \CD sind standardmäßig feste Seitenränder vorgegeben. Diese sind % jedoch leider nur aus gestalterischen Motiven und ohne die Beachtung % typographischer Belange gewählt und festgelegt worden. Beispielweise ist ein % doppelseitiger Satz einer Abschlussarbeit im \CD nur mit einem grauenhaften % Satzspiegel möglich. Um dem Anwender einen gewissen Spielraum zu geben, wird % alternativ zum asymmetrischen (\opt{geomery=on}) ein symmetrischer % Satzspiegel bereitgestellt (\opt{geomery=normal}), welcher bei einseitigem % Satz zentriert ist und bei zweiseitigem Satz den inneren Rand kleiner setzt % als den äußeren. Des Weiteren kann die Satzspiegelberechnung auch direkt % durch \pkg{typearea} aus dem \KOMAScript"=Paket erfolgen % (\opt{geomery=no}). Mit \cs{tud@geometry@process} werden alle getroffenen % Satzspiegeloptionen umgesetzt und nachfolgend definiert. % \begin{macrocode} \newcommand*\tud@geometry{0} \TUD@key@lock{cdgeometry}[true]{% \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{% \TUD@numkey@bool,% {typearea}{0},% {tud}{1},{asymmetric}{1},{cd}{1},% {symmetric}{2},{centred}{2},{centered}{2},% {twoside}{3},{balanced}{3}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\recalctypearea\fi% \fi% } % \end{macrocode} % \end{macro}^^A \if@tud@geometry@locked % \end{macro}^^A \tud@geometry % \end{option}^^A cdgeometry % % \iffalse % %<*class&body> % \fi % % \begin{length}{\tud@ta@textheight} % \begin{length}{\tud@ta@topmargin} % \begin{length}{\tud@ta@headheight} % \begin{length}{\tud@ta@headsep} % \begin{length}{\tud@ta@footheight} % \changes{v2.03}{2015/01/09}{neu, für entsprechende \pkg{typearea}-Option}%^^A % \begin{length}{\tud@ta@footskip} % Diese Längen werden benötigt, um einen mit \pkg{typearea} berechneten % Satzspiegel an \pkg{geometry} weiterzureichen und die unterschiedlichen, vom % Satzspiegel abhängigen Seitenlayouts zu erstelen. % \begin{macrocode} \newlength\tud@ta@textheight \newlength\tud@ta@topmargin \newlength\tud@ta@headheight \newlength\tud@ta@headsep \newlength\tud@ta@footheight \newlength\tud@ta@footskip % \end{macrocode} % \end{length}^^A \tud@ta@footskip % \end{length}^^A \tud@ta@footheight % \end{length}^^A \tud@ta@headsep % \end{length}^^A \tud@ta@headheight % \end{length}^^A \tud@ta@topmargin % \end{length}^^A \tud@ta@textheight % \begin{length}{\tud@ta@headdiff} % \begin{length}{\tud@ta@footdiff} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % Eine Länge für den Ausgleich zwischen normalem und benötigtem Satzspiegel für % das spezielle Layout des \CDs. Die Differenz zwischen den unterschiedlichen % Kopfhöhen der Satzspiegelvarianten wird bei der Ausführung von % \cs{tud@geometry@process} berechnet und in \cs{tud@ta@headdiff} gespeichert. % Dabei muss unterschieden werden, ober der Satzspiegel genutzt wird, der durch % das \CD vorgegeben ist oder der durch \pkg{typearea} berechnete. Die Länge % \cs{tud@ta@footdiff} wurde mit der \TUDScript-Version~v2.02 entfernt. % \begin{macrocode} \newlength\tud@ta@headdiff % \end{macrocode} % \end{length}^^A \tud@ta@footdiff % \end{length}^^A \tud@ta@headdiff % \begin{macro}{\tud@geometry@restore} % \changes{v2.02}{2014/06/27}{neu}%^^A % Der Befehl \cs{AfterCalculatingTypearea} wird durch das Paket \pkg{typearea} % bereitgestellt. Die durch \pkg{typearea} berechneten Längenwerte für den % Satzspiegel werden zur Weiterverarbeitung gesichert. Für die Erstellung des % Satzspiegels wird das Paket \pkg{geometry} verwendet. Bei der entsprechenden % Option (\opt{geometry=no}) wird jedoch der von \pkg{typearea} berechnete % Satzspiegel an \pkg{geometry} weitergereicht. Somit wird es möglich, % unabhängig vom genutzten Paket\footnote{\pkg{typearea} oder \pkg{geometry}} % zur Festlegung des Satzspiegels, diesen innerhalb des Dokumentes zu ändern. % Damit auch Änderungen an der Papiergröße möglich sind, muss ein einzelnes % Makro (\cs{Gm@restore@org}) aus \pkg{geometry} temporär deaktiviert werden. % \begin{macrocode} \newcommand*\tud@geometry@restore{} \AfterCalculatingTypearea{% \setlength\tud@ta@textheight{\textheight}% \setlength\tud@ta@topmargin{\topmargin}% \setlength\tud@ta@headheight{\headheight}% \setlength\tud@ta@headsep{\headsep}% \ifcsvoid{ta@fh}{% \setlength\tud@ta@footheight{\footheight}% }{% \setlength\tud@ta@footheight{\ta@fh}% }% \setlength\tud@ta@footskip{\footskip}% \let\tud@geometry@restore\Gm@restore@org% \if@atdocument% \let\Gm@restore@org\relax% \tud@geometry@process% % \end{macrocode} % Damit Änderungen am Satzspiegel im Dokument sicher übernommen werden, wird % das Setzen des Satzspiegels forciert. Dafür wird \cs{tud@currentgeometry} % zurückgesetzt und anschließend der aktuelle Seitenstil erneut geladen, um das % erneute und korrekte Ausführen von \cs{tud@beforeselectanypagestyle} zu % erzwingen. % \begin{macrocode} \gdef\tud@currentgeometry{}% \expandafter\pagestyle\expandafter{\currentpagestyle}% \fi% \let\Gm@restore@org\tud@geometry@restore% } % \end{macrocode} % \end{macro}^^A \tud@geometry@restore % \begin{macro}{\tud@geometry@hmargin} % \begin{macro}{\tud@geometry@vmargin} % \begin{macro}{\tud@geometry@tudmargin} % \begin{macro}{\tud@geometry@ddcmargin} % Dies sind Hilfsmakros für die Definition der unterschiedichen Seitenlayouts % (horizontale und vertikale Ränder). Es handelt sich dabei um die Seitenränder % für den normalen Textbereich sowie die angepassten vertikalen Einstellungen % für die Seitenstilvarianten mit TUD-Kopf. Im Kompatibilitätsmodus für die % Version~v2.02 gibt es außerdem einen separaten Satzspiegel für den \DDC-Fuß. % Gesetzt werden diese in Abhängigkeit von der Option \opt{cdgeometry} im % Makro \cs{tud@geometry@process} bzw. \cs{tud@geometry@@process}. % \begin{macrocode} \newcommand*\tud@geometry@hmargin{} \newcommand*\tud@geometry@vmargin{} \newcommand*\tud@geometry@tudmargin{} \iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{} % \end{macrocode} % \end{macro}^^A \tud@geometry@ddcmargin % \end{macro}^^A \tud@geometry@tudmargin % \end{macro}^^A \tud@geometry@vmargin % \end{macro}^^A \tud@geometry@hmargin % \changes{v2.02}{2014/06/29}{\pkg{geometry} Laden verzögert}%^^A % Das Paket \pkg{geometry} erlaubt eine genaue Vorgabe des Satzspiegels und % der Seitenränder, wie es vom \CD der TU~Dresden verlangt wird. Damit dieses % alle Satzspiegeleinstellungen korrekt vornimmt und auch alle Klassenoptionen % korrekt verarbeitet, wird das Laden mit \cs{AtEndPreamble} bis ans Ende der % Präambel verzögert und vorher der Satzspiegel neu berechnet. Anschließend % erstellt \cs{tud@geometry@process} alle benötigten Satzspiegel. Durch das % Setzen des Seitenstils wird der richtige Satzspiegel ausgewählt. Dies % geschieht \emph{nicht}, wenn die \cls{standalone}-Klasse mit der Option % \opt{crop} geladen wurde, um die Seitenränder nicht zu ändern. % \begin{macrocode} \AtEndPreamble{% \ifstandalonecrop{}{% \recalctypearea% \RequirePackage{geometry}[2010/09/12]% \tud@geometry@process% \expandafter\pagestyle\expandafter{\currentpagestyle}% }% } % \end{macrocode} % \begin{macro}{\tud@geometry@process} % \changes{v2.02}{2014/06/23}{diverse Anpassungen an \pkg{scrlayer-scrpage}}%^^A % \changes{v2.03}{2015/01/09}{Satzspiegel des \CDs angepasst}%^^A % \changes{v2.03}{2015/01/09}{intiale Festlegung der Länge \cs{marginpar}}%^^A % \changes{v2.03}{2015/01/13}{Satzspiegel kompatibilitätsabhängig}%^^A % \begin{macro}{\tud@geometry@@process} % Das Makro \cs{tud@geometry@process} setzt die Option für den gewünschten % Satzspiegel um, sowohl für die Seitenränder als auch zur Einberechnung der % Kopf- und/oder Fußzeile. Um mehrere Satzspiegel verwenden zu können~-- was % für die unterschiedlichen Höhen für Kopf- und Fußzeile nötig ist~-- wird das % Paket \pkg{geometry} verwendet. Soll \pkg{typearea} zur Satzspiegelerstellung % genutzt werden, so werden die damit berechneten Werte an \pkg{geometry} % weitergereicht. % Es werden drei Layouts erstellt: normaler Satzspiegel, nur TUD-Kopf sowie % TUD-Kopf und "~Fuß und mit \cs{savegeometry}\marg{Stil} gesichert. Damit kann % innerhalb des Dokumentes mit dem Befehl \cs{loadgeometry}\marg{Stil} oberer % sowie ggf. untere Seitenrand geändert werden. % \begin{macrocode} \newcommand*\tud@geometry@process{% % \end{macrocode} % Die Maßvorgaben werden entsprechend der Seitengröße gesetzt. % \begin{macrocode} \tud@geometry@set% % \end{macrocode} % Für den Fall, dass \pkg{typearea} die Satzspiegelberechnung übernimmt, werden % die Ergebnisse aus der Berechnung direkt an \pkg{geometry} weitergereicht. % Dazu werden die berechneten Werte in die entsprechenden Hilfsmakros % für die Erstellung der \pkg{geometry}-Satzspiegel übergeben. % \begin{macrocode} \ifcase\tud@geometry\relax% \def\tud@geometry@hmargin{% left=\dimexpr\oddsidemargin+1in\relax,% width=\textwidth,% marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,% \if@twoside\if@reversemargin% marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,% \fi\fi% marginparsep=.5\tud@ta@headsep,% }% \def\tud@geometry@vmargin{% top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep% +1in\relax,% headheight=\tud@ta@headheight,% headsep=\tud@ta@headsep,% textheight=\tud@ta@textheight,% footskip=\tud@ta@footskip,% }% \def\tud@geometry@tudmargin{% top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% +\tud@dim@headsep\relax,% headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% ignorehead,% }% % \end{macrocode} % Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile % für den \pkg{typearea}-Satzspiegel berechnet. % \begin{macrocode} \setlength\tud@ta@headdiff{% \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% }% % \end{macrocode} % Sollte der \pkg{typearea}-Satzspiegel noch unterhalb des TUD-Kopfes liegen, % wird der Abstand zum Kopf vergrößert. % \begin{macrocode} \ifdim\tud@ta@headdiff<\z@\relax% \addtolength\tud@dim@headsep{-\tud@ta@headdiff}% \fi% % \end{macrocode} % Für den Kompatibilitätsmodus der Version~v2.02 gibt es für den \DDC-Fuß einen % separaten Satzspiegel. % \begin{macrocode} \iftudscrverlower{2.03}{% \setlength\tud@dim@ddcdiff{% \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep% +\tud@ta@footheight-1.25\baselineskip\relax% }% \def\tud@geometry@ddcmargin{% textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff% -\tud@dim@ddcdiff\relax,% footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% }% }{}% % \end{macrocode} % Sollte die Option \opt{extrabottommargin} verwendet worden sein, wird eine % Warnung ausgegeben, dass diese für den \pkg{typearea}-Satzspiegel wirkungslos % ist. % \begin{macrocode} \ifdim\tud@dim@extrabottommargin=\z@\relax\else% \ClassWarning{\tudcls@name}{% Option `extrabottommargin' is ineffective when\MessageBreak% package typearea is used (`cdgeometry=no')% }% \fi% % \end{macrocode} % Hier erfolgt die Definition der Hilfsmakros für das CD-konforme asymmetrische % bzw. an das \CD angelehnte Layout für einseitigen und zweiseitigen Satz. % Zuerst werden die verschiedenen unterschiedlichen horizontalen Ränder für die % unterschiedlichen Optionen definiert. Danach kommt der Gleichanteil. % \begin{macrocode} \else% \ifcase\tud@geometry\or% \def\tud@geometry@hmargin{% left=\tud@dim@widemargin,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% \if@reversemargin% marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,% \else% marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,% \fi% marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% \if@twoside asymmetric,\fi% }% % \end{macrocode} % Die zweite Variante ist eigentlich nicht konform mit dem \CD. Sie ist sowohl % im einseitigen als auch im zweiseitgigen Satz symmetrisch. % \begin{macrocode} \or% \def\tud@geometry@hmargin{% left=.5\tud@dim@both,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% % \end{macrocode} % Eigentlich ist auch die dritte Variante nach dem \CD nicht zulässig. Sie ist % im einseitigen Satz symmetrisch, im zweiseitgigen Satz wird die innere Seite % schmaler gesetzt als die äußere, wobei hier auf das in den Seitenrand ragende % TUD-Logo geachtet werden muss. % \begin{macrocode} \or% \def\tud@geometry@hmargin{% \if@twoside% left=.4\tud@dim@both,% twoside,% \else% left=.5\tud@dim@both,% \fi% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% \if@twoside% \if@reversemargin% marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,% \else% marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,% \fi% \else% marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% \fi% marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \fi% % \end{macrocode} % Für alle drei Varianten der vertikale Gleichanteil. Der Satzspiegel der % Version~v2.02 wird aus Gründen der Kompatibilität weiterhin vorgehalten. % \begin{macrocode} \iftudscrverlower{2.03}{% \def\tud@geometry@vmargin{% top=.5\tud@dim@both,% headheight=\tud@ta@headheight,% headsep=\tud@dim@headsep,% bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,% footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% -1.25\baselineskip\relax,% \tud@geometry@hincl,% \tud@geometry@fincl,% }% }{% \def\tud@geometry@vmargin{% top=\tud@dim@slimmargin,% headheight=\tud@ta@headheight,% headsep=\tud@ta@headsep,% bottom=\dimexpr\tud@dim@widemargin+\tud@dim@extrabottommargin\relax,% footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,% \tud@geometry@hincl,% \tud@geometry@fincl,% }% }% \def\tud@geometry@tudmargin{% top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% +\tud@dim@headsep\relax,% headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% ignorehead,% }% % \end{macrocode} % Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile % für den Satzspiegel des \CDs berechnet. % \begin{macrocode} \setlength\tud@ta@headdiff{% \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% -\tud@dim@slimmargin\relax% }% % \end{macrocode} % Für die Kompatibilitätsvariante wieder mal die Extrawurst\dots % \begin{macrocode} \iftudscrverlower{2.03}{% \setlength\tud@ta@headdiff{% \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% -.5\tud@dim@both\relax% }% % \end{macrocode} % Wird die Fußzeile zum Satzspiegel gerechnet, ist für Seiten mit \DDC-Fuß % etwas Handarbeit notwendig, damit dieser nicht allzu weit nach oben ragt. % \begin{macrocode} \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}% \def\tud@geometry@ddcmargin{% \if@fincl% bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight% -1.25\baselineskip\relax,% \else% bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% +\tud@dim@ddcdiff\relax,% \fi% footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% -1.25\baselineskip+\tud@dim@ddcdiff\relax,% }% }{}% \fi% % \end{macrocode} % Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile % für den Satzspiegel des \CDs berechnet. Außerdem wird die standardmäßige % vertikale Verschiebung der Überschriften festgelegt. % \begin{macrocode} \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi% \global\tud@ta@headdiff=\tud@ta@headdiff% \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}% \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% % \end{macrocode} % Für den Satzspiegel der Version~v2.02 wird außerdem die Länge für den höheren % Seitenfuß gesetzt. % \begin{macrocode} \iftudscrverlower{2.03}{% \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi% \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% }{}% % \end{macrocode} % Es wird \cs{tud@geometry@@process} aufgerufen, was die zuvor definierten % Hilfsmakros nutzt, um alle benötigten Seitenlayouts optionsabhängig zu % erstellen. % \begin{macrocode} \tud@geometry@@process% } % \end{macrocode} % Der Befehl \cs{tud@geometry@@process} setzt mit den zuvor definierten % Hilfsmakros die \pkg{geometry}"=Optionen für sowohl die seitlichen als auch % die oberen sowie unteren Seitenränder und inkludiert ggf. Kopf- und Fußzeile % in den Satzspiegel. Die unterschiedlichen Layouts sind dabei \opt{tudddc} für % TUD-Kopf und \DDC-Fuß, \opt{tudpage} für den alleinigen TUD-Kopf sowie % \opt{tudarea} für den normalen bzw. mit \pkg{typearea} berechneten % Satzspiegel. % \begin{macrocode} \newcommand*\tud@geometry@@process{% % \end{macrocode} % Für den Satzspiegel der Version~v2.02 wird als erstes der Satzspiegel für den % TUD-Kopf zusammen mit dem \DDC-Fuß erstellt. Das Einbeziehen der Fußzeile in % den Satzspiegel erfolgt nicht ggf. über die Option \opt{includefoot} sondern % manuell bei der Definition von \cs{tud@geometry@ddcmargin}. % \begin{macrocode} \iftudscrverlower{2.03}{% \edef\@tempa{% \tud@geometry@hmargin,% \tud@geometry@vmargin,% \tud@geometry@tudmargin,% \tud@geometry@ddcmargin,% ignorehead,ignorefoot,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{tudareaddc}% }{}% % \end{macrocode} % Danach folgt der Seitenstil, mit dem TUD-Kopf und der Standardfußzeile. % \begin{macrocode} \edef\@tempa{% \tud@geometry@hmargin,% \tud@geometry@vmargin,% \tud@geometry@tudmargin,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{tudarea}% % \end{macrocode} % Als letztes wird der Standardsatzspiegel erstellt. % \begin{macrocode} \edef\@tempa{% \tud@geometry@hmargin,% \tud@geometry@vmargin,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{typearea}% } % \end{macrocode} % \end{macro}^^A \tud@geometry@@process % \end{macro}^^A \tud@geometry@process % \begin{macro}{\tud@geometry@hincl} % \changes{v2.02}{2014/06/23}{diverse Anpassungen an \pkg{scrlayer-scrpage}}%^^A % \begin{macro}{\tud@geometry@fincl} % Diese beiden Hilfsmakro werten die Optionen für das Einbeziehen von Kopf- und % Fußzeile aus. % \begin{macrocode} \newcommand*\tud@geometry@hincl{% \if@hincl% includehead,% \else% ignorehead,% \fi% } \newcommand*\tud@geometry@fincl{% \if@fincl% includefoot,% \else% ignorefoot,% \fi% } % \end{macrocode} % \end{macro}^^A \tud@geometry@fincl % \end{macro}^^A \tud@geometry@hincl % \begin{environment}{tudpage} % \changes{v2.02}{2014/06/23}{an Paket \pkg{scrlayer-scrpage} angepasst}%^^A % \begin{macro}{\tud@ps} % \begin{macro}{\tud@ps@select} % \changes{v2.02}{2014/07/19}{neu}%^^A % \begin{macro}{\tud@currentpagestyle} % \begin{macro}{\tud@currentpagestyle@set} % \changes{v2.02}{2014/07/18}{neu}%^^A % \begin{macro}{\tud@currentpagestyle@reset} % \changes{v2.02}{2014/07/18}{neu}%^^A % \changes{v2.03}{2015/01/09}{Bugfix, wenn \cs{tud@currentpagestyle} void}%^^A % Durch den hohen TUD-Kopf muss bei der Verwendung dessens das Seitenlayout % temporär umgeschaltet werden, um die Höhe des Satzspiegels zu verringern. % Dies geschieht innerhalb dieser Umgebung reversibel mit \cs{pagestyle}. % Dabei wird mit \cs{loadgeometry} ein Seitenumbruch erzwungen und der % benötigte Satzspiegel geladen. % % Die Befehle \cs{tud@currentpagestyle@set} und \cs{tud@currentpagestyle@reset} % sind für die Sicherung und Wiederherstellung des vor der Umgebung geladenen % Seitenstils verantwortlich. % % Zu Beginn der Umgebung werden die weiter unten beschriebenen Optionen für % diese Umgebung mit \cs{TUD@parameter@set} ausgeführt. Nach dem Beenden der % Umgebung wird nache einem weiteren Seitenumbruch das Standardseitenlayout % wiederhergestellt. Die gewünschte Sprache der Umgebung kann als einzelner % Wert ohne Schlüssel angegben werden. % \begin{macrocode} \newcommand*\tud@ps{tudheadings} \newcommand*\tud@ps@select{% \expandafter\pagestyle\expandafter{\tud@ps}% \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{% \renewcommand*\titlepagestyle{empty}% %<*book|report> \renewcommand*\partpagestyle{empty}% \renewcommand*\chapterpagestyle{empty}% % \renewcommand*\indexpagestyle{empty}% }{}% \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{% \renewcommand*\titlepagestyle{empty.tudheadings}% %<*book|report> \renewcommand*\partpagestyle{empty.tudheadings}% \renewcommand*\chapterpagestyle{empty.tudheadings}% % \renewcommand*\indexpagestyle{empty.tudheadings}% }{}% } \newcommand*\tud@currentpagestyle{} \newcommand*\tud@currentpagestyle@set{% \ifdefvoid{\tud@currentpagestyle}{% \xdef\tud@currentpagestyle{\currentpagestyle}% }{}% } \newcommand*\tud@currentpagestyle@reset{% \ifdefvoid{\tud@currentpagestyle}{}{% \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% \let\tud@currentpagestyle\relax% }% } \NewEnviron{tudpage}[1][]{% % \end{macrocode} % Um beim Umschalten des Seitenstils den aktuellen selbst zu behalten, wird % dieser im Hilfsmakro \cs{tud@currentpagestyle} gespeichert. % \begin{macrocode} \tud@currentpagestyle@set% \clearpage% \def\tud@ps{tudheadings}% \TUD@parameter@set{tudpage}{#1}% \tud@ps@select% \tud@multicols@check% % \end{macrocode} % Falls das \pkg{multicol}-Paket geladen ist und eine Spaltenanzahl angegeben % ist, wird die entsprechende Umgebung gesartet, mit \cs{BODY} der Inhalt der % \env{tudpage}-Umgebung ausgegeben und anschließend gegebenenfalls die % \env{multicols}-Umgebung beendet. % \begin{macrocode} \ifnum\tud@multicols>1\relax% \begin{multicols}{\tud@multicols}% \fi% \BODY% \ifnum\tud@multicols>1\relax% \end{multicols}% \fi% % \end{macrocode} % Am Ende der Umgebung wird der vorhergehende Seitenstil zurückgesetzt und der % dazugehörige Satzspiegel geladen. Dazu wird die Ausführung das Hilfsmakro % \cs{@tempa} auf das Beenden der Umgebung mit \cs{aftergroup} verzögert. % \begin{macrocode} }[% \aftergroup\tud@currentpagestyle@reset% \clearpage% ] % \end{macrocode} % \end{macro}^^A \tud@currentpagestyle@reset % \end{macro}^^A \tud@currentpagestyle@set % \end{macro}^^A \tud@currentpagestyle % \end{macro}^^A \tud@ps@select % \end{macro}^^A \tud@ps % \end{environment}^^A tudpage % \begin{macro}{\TUD@parameter@define@ps} % Im Folgenden werden die einzelnen Parameter für die \env{tudpage}"=Umgebung % definiert. Die Parameter für Kopf- und Fußzeile werden nicht nur für die % \env{tudpage}-Umgebung sondern auch noch für Titel und Umschlagseite % verwendet, weshalb deren Definitionen zur einfacheren Wiederverwendung in das % Makro \cs{TUD@parameter@define@ps} ausgelagert werden. % \begin{macrocode} \newcommand*\TUD@parameter@define@ps[1]{% % \end{macrocode} % \begin{parameter}{cdfont} % Die Option \opt{cdfont} bestimmt, ob die Schriften des \CDs oder aber die % standardmäßigen Serifenlosen für die Auszeichnugen in der Kopfzeile und % Serifen im Inhalt verwendet werden. % \begin{macrocode} \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% % \end{macrocode} % \end{parameter}^^A cdfont % \begin{parameter}{cdhead} % \changes{v2.03}{2015/01/28}{\val{barfont} und \val{widehead} überlagert}%^^A % Mit dem Parameter \val{cdhead} kann die Verwendung der Schriften des \CDs % aktiviert werden, wenn diese im Fließtext nicht zum Einsatz kommen. Die % Breite des Querbalkens kann über diesen Parameter ebenfalls geändert werden. % \begin{macrocode} \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}% % \end{macrocode} % \end{parameter}^^A cdhead % \begin{parameter}{cdfoot} % \changes{v2.03}{2015/01/30}{neu}%^^A % Über \val{cdfoot} kann gg. die Hintergrundfarbe sowie die Standardfußzeile % des \CDs aktiviert werden. % \begin{macrocode} \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}% % \end{macrocode} % \end{parameter}^^A cdfoot % \begin{parameter}{headlogo} % \changes{v2.03}{2015/01/28}{neu}%^^A % \begin{parameter}{footlogo} % \changes{v2.03}{2015/01/28}{neu}%^^A % Das Zweit- und die Drittlogos können ebenfalls lokal geändert werden. % \begin{macrocode} \TUD@parameter@define{headlogo}{\headlogo{#1}}% \TUD@parameter@define{footlogo}{\footlogo{#1}}% % \end{macrocode} % \end{parameter}^^A footlogo % \end{parameter}^^A headlogo % \begin{parameter}{ddc} % \changes{v2.02}{2014/08/16}{neu}%^^A % \begin{parameter}{ddchead} % \begin{parameter}{ddcfoot} % Mit diesen Parametern kann das \DDC-Logo im Kopf bzw. Fuß eingeblendet werden. % \begin{macrocode} \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% % \end{macrocode} % \end{parameter}^^A ddcfoot % \end{parameter}^^A ddchead % \end{parameter}^^A ddc % \begin{parameter}{cdfonts} % \begin{parameter}{tudfonts} % \begin{parameter}{barfont} % \begin{parameter}{widehead} % \begin{parameter}{tudfoot} % \begin{parameter}{logo} % Für die Kompatibilität werden auch veraltete Parameter bereitgestellt. % \begin{macrocode} \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}% \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}% \TUD@parameter@let{logo}{headlogo}% % \end{macrocode} % \end{parameter}^^A logo % \end{parameter}^^A tudfoot % \end{parameter}^^A widehead % \end{parameter}^^A barfont % \end{parameter}^^A tudfonts % \end{parameter}^^A cdfonts % Damit sind alle notwendigen Parameter für die Kopf- und Fußzeile der Seiten % im Stil \pgs{tudheadings} definiert. % \begin{macrocode} } % \end{macrocode} % \end{macro}^^A \TUD@parameter@define@ps % Mit \cs{TUD@parameter}\marg{Family}\marg{\dots} wird die Parameterfamilie % festgelegt und anschließend die Definitionen getätigt. % \begin{macrocode} \TUD@parameter{tudpage}{% % \end{macrocode} % \begin{parameter}{language} % Mit diesem Parameter kann die Sprache in der Umgebung umgeschaltet werden. Die % Sprache kann auch ohne den entsprechenden Schlüssel direkt als Parameter % angegeben werden. % \begin{macrocode} \TUD@parameter@define{language}{\selectlanguage{#1}}% % \end{macrocode} % \end{parameter} ^^A language % \begin{parameter}{columns} % Hiermit kann die Anzahl der Spalten für die Umgebung angegeben werden. Für % mehr als zwei Spalten muss das Paket \pkg{multicols} geladen werden. Die % Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter % angegeben werden. % \begin{macrocode} \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% % \end{macrocode} % \end{parameter} ^^A columns % \begin{parameter}{color} % \changes{v2.03}{2015/01/28}{entfernt}%^^A % \begin{parameter}{colour} % \changes{v2.03}{2015/01/28}{entfernt}%^^A % Beide Parameter wurden entfernt, da diese augenscheinlich für das \CD nicht % notwendig sind. % \end{parameter}^^A colour % \end{parameter}^^A color % \begin{parameter}{pagestyle} % \changes{v2.02}{2014/06/23}{neu}%^^A % \changes{v2.03}{2015/01/28}{\cs{iftudpagestyle} verwendet}%^^A % Mit diesem Parameter kann der verwendete Seitenstil eingestellt werden, wobei % einer der \pgs{tudheadings}-Seitenstile verwendet wird. % \begin{macrocode} \TUD@parameter@define{pagestyle}{% \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{% \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% \TUD@parameter@error{pagestyle}{% headings, plain, empty or any tudheadings page style type% }% }}}% }% }% % \end{macrocode} % \end{parameter}^^A pagestyle % \begin{parameter}{head} % \changes{v2.02}{2014/06/30}{entfernt, Funktionalität teilweise durch Option % \opt{ddchead} übernommen}%^^A % \begin{parameter}{foot} % \changes{v2.02}{2014/06/30}{entfernt, Funktinalität teilweise durch Option % \opt{ddcfoot} übernommen}%^^A % Diese Parameter wurden entfernt. Stattdessen kann innerhalb der Umgebung % entweder der Befehl \cs{TUDoptions} mit den Schlüsseln \opt{ddchead=\dots} % und \opt{ddcfoot=\dots} bzw. für den Querbalken \opt{cdhead=\dots} sowie das % Makro \cs{headlogo} genutzt werden oder aber die gleichnamigen Parameter der % Umgebung. % \end{parameter}^^A head % \end{parameter}^^A foot % Hier werden die Parameter für Kopf- und Fußzeile tatsächlich defniert. % \begin{macrocode} \TUD@parameter@define@ps{#1}% % \end{macrocode} % Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation gegeben % wird, erfolgt eine Sonderbehandlung durch \cs{TUD@parameter@defaulthandler}, % bei dererst auf eine Zahl geprüft wird und anschießend versucht wird, das % Argument als Sprache zu setzen. Nach der Definition aller Parameter wird der % Befehl \cs{TUD@parameter} und damit auch die aktuelle Parameterfamilie % beendet. % \begin{macrocode} \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}% } % \end{macrocode} % % \iffalse % % \fi % % \Finale % \endinput