% \CheckSum{1230} % \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-layout.dtx %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-layout.dtx}[% 2015/06/15 v2.04 TUD-KOMA-Script (layout)% ] \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-layout.dtx} \begin{document} \maketitle \DocInput{\filename} \end{document} % % \fi % % \selectlanguage{ngerman} % % \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}^^A % % \section{Das Layout des \CDs} % % Für das \CD werden sowohl Teile- als auch die Kapitelseiten neu gestaltet. % Es werden eine monochrome Version, eine Version mit leichtem Farbeinsatz und % eine durchweg farbige Version bereitgestellt. Außerdem wird hier das Aussehen % und die Position der Überschriften festgelegt. % % \StopEventually{\PrintIndex\PrintChanges} % % \iffalse %<*class&option> % \fi % % \subsection{Optionen} % % \begin{option}{cd} % \changes{v2.04}{2015/05/18}{Wert \val{barcolor} neu}^^A % \begin{macro}{\tud@cd} % \begin{macro}{\tud@layout@cover} % \changes{v2.02}{2014/08/08}{neu}^^A % \begin{macro}{\if@tud@layout@cover@locked} % \changes{v2.02}{2014/08/08}{neu}^^A % \begin{macro}{\tud@layout@title} % \begin{macro}{\if@tud@layout@title@locked} % \begin{macro}{\tud@layout@part} % \begin{macro}{\if@tud@layout@part@locked} % \begin{macro}{\tud@layout@chapter} % \begin{macro}{\if@tud@layout@chapter@locked} % \begin{macro}{\tud@layout@switch} % Ein zentraler Teil der Wrapper-Klassen ist die Auswahl der Darstellung des % \CDs. Dabei kann gewählt werden, ob es einfarbig, mit leichtem oder aber mit % starkem Farbeinsatz genutzt werden soll. Diese Option dient zur globalen % Einstellung für Cover- Titel-, Teil- und Kapitelseiten. Mit dem Schalter % werden die gleichen Einstellungen für alle drei Komponenten gesetzt. Die % Standardfarbe des Kopfes der \env{tudpage}"=Seite ist schwarz und wird für % die farbigen Layouts auf dunkelblau gesetzt. Abhängig von der gewählten % Option, die über \cs{tud@layout@switch} festgelegt ist, werden die % sogenannten Layoutschlüssel (\cs{tud@layout@\dots}) auf einen Wert gesetzt % (0\dots 3), welcher im weiteren Verlauf ausgewertet werden kann. Der Schalter % für Kapitel wird lediglich für \cls{tudscrbook}- und \cls{tudscrreprt} jedoch % nicht für die \cls{tudscrartcl}-Klasse definiert und genutzt. Eigentlich % werden alle Komponenten mit einer zentralen Option festgelegt, können aber % auch durch den Nutzer explizit überschrieben werden. % \begin{macrocode} \cs@lock{tud@layout@cover}{0} \cs@lock{tud@layout@title}{0} \cs@lock{tud@layout@part}{0} %<*book|report> \cs@lock{tud@layout@chapter}{0} % % \end{macrocode} % Dies sind die Standardoptionen für alle einzelnen Einstellungen des Layouts. % Es gibt die Varianten monochrom~(1), leichter~(2) und voller Farbeinsatz~(3) % sowie die Möglichkeit, das \CD vollständig zu deaktivieren (0). % \begin{macrocode} \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% \TUD@numkey@bool,% {nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},% {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% {colorbar}{3},{barcolor}{3},{colourbar}{3},{barcolour}{3},% {bicolor}{4},{bicolour}{4},{twocolor}{4},{twocolour}{4},% {bichrome}{4},{bichromatic}{4},{dichrome}{4},{dichromatic}{4},% {color}{5},{colour}{5},% {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}% } % \end{macrocode} % Es folgt die eigentliche Option. % \begin{macrocode} \newcommand*\tud@cd{0} \TUD@key{cd}[true]{% \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% % \end{macrocode} % Layout nicht im \CD. % \begin{macrocode} \ifcase\tud@cd\relax% false \cs@std@lock{tud@layout@cover}{0}% \cs@std@lock{tud@layout@title}{0}% \cs@std@lock{tud@layout@part}{0}% %<*book|report> \cs@std@lock{tud@layout@chapter}{0}% \TUD@std@ifkey@lock{chapterpage}{false}% % % \end{macrocode} % Layout im \CD mit schwarzer Schrift und schwarzem Kopf. % \begin{macrocode} \or% true \cs@std@lock{tud@layout@cover}{1}% \cs@std@lock{tud@layout@title}{1}% \cs@std@lock{tud@layout@part}{1}% %<*book|report> \cs@std@lock{tud@layout@chapter}{1}% \TUD@std@ifkey@lock{chapterpage}{false}% % % \end{macrocode} % Layout im \CD mit blauer Schrift und blauem Kopf. % \begin{macrocode} \or% litecolor % \end{macrocode} % Die Umschlagseite wird standardmäßig immer monochrom gesetzt. % \begin{macrocode} \cs@std@lock{tud@layout@cover}{1}% \cs@std@lock{tud@layout@title}{2}% \cs@std@lock{tud@layout@part}{2}% %<*book|report> \cs@std@lock{tud@layout@chapter}{2}% \TUD@std@ifkey@lock{chapterpage}{false}% % % \end{macrocode} % Layout im \CD mit blauer Schrift und farbigem Querbalken. % \begin{macrocode} \or% barcolor \cs@std@lock{tud@layout@cover}{1}% \cs@std@lock{tud@layout@title}{3}% \cs@std@lock{tud@layout@part}{3}% %<*book|report> \cs@std@lock{tud@layout@chapter}{3}% \TUD@std@ifkey@lock{chapterpage}{false}% % % \end{macrocode} % Layout im \CD mit blauer Schrift und zweifarbigem Kopf. % \begin{macrocode} \or% bicolor \cs@std@lock{tud@layout@cover}{1}% \cs@std@lock{tud@layout@title}{4}% \cs@std@lock{tud@layout@part}{4}% %<*book|report> \cs@std@lock{tud@layout@chapter}{4}% \TUD@std@ifkey@lock{chapterpage}{false}% % % \end{macrocode} % Farbiges Layout mit farbigem Hintergrund im \CD mit weißer Schrift und % Outline im Kopf. % \begin{macrocode} \or% color \cs@std@lock{tud@layout@cover}{1}% \cs@std@lock{tud@layout@title}{5}% \cs@std@lock{tud@layout@part}{5}% %<*book|report> \cs@std@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% % % \end{macrocode} % Farbiges Layout mit farbigem Hintergrund im \CD mit weißer Schrift und % farbigem Querbalken im Kopf. % \begin{macrocode} \or% full \cs@std@lock{tud@layout@cover}{1}% \cs@std@lock{tud@layout@title}{6}% \cs@std@lock{tud@layout@part}{6}% %<*book|report> \cs@std@lock{tud@layout@chapter}{6}% \TUD@std@ifkey@lock{chapterpage}{true}% % \fi% % \end{macrocode} % Die Ausführung des Befehls \cs{tud@layout@process} sorgt dafür, dass alle % Optionen auch verarbeitet und wirksam werden. Dieser wird standardmäßig nach % der Abarbeitung aller Optionen innerhalb der Präambel einmalig ausgeführt. % Deshalb wird er hier nur innerhalb des Dokumentes genutzt. Dies gilt auch für % die folgenden Optionen. % \begin{macrocode} \if@atdocument% \tud@layout@process% \else% % \end{macrocode} % Innerhalb der Präambel wird der Satzspiegel abhängig vom gewünschten Layout % festgelegt. Dies kann vom Benutzer mit dem Setzen der Option \opt{cdgeometry} % überschrieben werden. % \begin{macrocode} \ifcase\tud@cd\relax% false \TUD@std@numkey@lock{cdgeometry}{false}% \else% !false \TUD@std@numkey@lock{cdgeometry}{true}% \fi% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \tud@layout@switch % \end{macro}^^A \if@tud@layout@chapter@locked % \end{macro}^^A \tud@layout@chapter % \end{macro}^^A \if@tud@layout@part@locked % \end{macro}^^A \tud@layout@part % \end{macro}^^A \if@tud@layout@title@locked % \end{macro}^^A \tud@layout@title % \end{macro}^^A \if@tud@layout@cover@locked % \end{macro}^^A \tud@layout@cover % \end{macro}^^A \if@tud@cd % \end{option}^^A cd % \begin{option}{cdcover} % \changes{v2.02}{2014/08/08}{neue Option für \cs{makecover}}^^A % \changes{v2.04}{2015/05/18}{Wert \val{barcolor} neu}^^A % Das durch die Option \opt{cd} insgesamt festgelegte Layout kann für die % einzelnen Elemente Umschlagseite (\opt{cdcover}),\dots % \begin{macrocode} \TUD@key{cdcover}[true]{% \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false \cs@set@lock{tud@layout@cover}{0}% \or% true \cs@set@lock{tud@layout@cover}{1}% \or% litecolor \cs@set@lock{tud@layout@cover}{2}% \or% barcolor \cs@set@lock{tud@layout@cover}{3}% \or% bicolor \cs@set@lock{tud@layout@cover}{4}% \or% color \cs@set@lock{tud@layout@cover}{5}% \or% full \cs@set@lock{tud@layout@cover}{6}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } % \end{macrocode} % \end{option}^^A cdcover % \begin{option}{cdtitle} % \changes{v2.04}{2015/05/18}{Wert \val{barcolor} neu}^^A % \dots Titel (\opt{cdtitle}),\dots % \begin{macrocode} \TUD@key{cdtitle}[true]{% \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false \cs@set@lock{tud@layout@title}{0}% \or% true \cs@set@lock{tud@layout@title}{1}% \or% litecolor \cs@set@lock{tud@layout@title}{2}% \or% barcolor \cs@set@lock{tud@layout@title}{3}% \or% bicolor \cs@set@lock{tud@layout@title}{4}% \or% color \cs@set@lock{tud@layout@title}{5}% \or% full \cs@set@lock{tud@layout@title}{6}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } % \end{macrocode} % \end{option}^^A cdtitle % \begin{option}{cdpart} % \changes{v2.04}{2015/05/18}{Wert \val{barcolor} neu}^^A % \dots Teile- (\opt{cdpart}) und\dots % \begin{macrocode} \TUD@key{cdpart}[true]{% \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false \cs@set@lock{tud@layout@part}{0}% \or% true \cs@set@lock{tud@layout@part}{1}% \or% litecolor \cs@set@lock{tud@layout@part}{2}% \or% barcolor \cs@set@lock{tud@layout@part}{3}% \or% bicolor \cs@set@lock{tud@layout@part}{4}% \or% color \cs@set@lock{tud@layout@part}{5}% \or% full \cs@set@lock{tud@layout@part}{6}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } % \end{macrocode} % \end{option}^^A cdpart % \begin{option}{cdchapter} % \changes{v2.04}{2015/05/18}{Wert \val{barcolor} neu}^^A % \dots bei den entsprechenden Klassen (\cls{tudscrbook} und \cls{tudscrreprt}) % auch für die Kapitelseiten (\opt{cdchapter}) separat für die einzelnen % Elemente geändert bzw. überschrieben werden. % \begin{macrocode} %<*book|report> \TUD@key{cdchapter}[true]{% \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false \cs@set@lock{tud@layout@chapter}{0}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% true \cs@set@lock{tud@layout@chapter}{1}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% litecolor \cs@set@lock{tud@layout@chapter}{2}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% barcolor \cs@set@lock{tud@layout@chapter}{3}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% bicolor \cs@set@lock{tud@layout@chapter}{4}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% color \cs@set@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% \or% full \cs@set@lock{tud@layout@chapter}{6}% \TUD@std@ifkey@lock{chapterpage}{true}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } % % \end{macrocode} % \end{option}^^A cdchapter % % \iffalse %<*book|report> % \fi % % Die nun folgenden Optionen und Befehle werden nur für die beiden Klassen % \cls{tudscrbook} und \cls{tudscrreprt} definiert. % \begin{option}{parttitle} % \begin{macro}{\if@tud@parttitle} % Der Schalter dient zur Steuerung, ob der Titel des Dokumentes wie im Handbuch % des \CDs auf den Teileseiten stehen soll. % \begin{macrocode} \newif\if@tud@parttitle \TUD@key{parttitle}[true]{% \TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\tud@layout@process\fi% \fi% } % \end{macrocode} % \end{macro}^^A \if@tud@parttitle % \end{option}^^A parttitle % \begin{option}{chapterpage} % \begin{macro}{\if@tud@chapterpage} % \begin{macro}{\if@tud@chapterpage@locked} % Mit dieser Option können Kapitelüberschriften alleine auf einer Seite stehen. % Es werden separate Kapitelseiten erzeugt. % \begin{macrocode} \newif\if@tud@chapterpage \TUD@key@lock{chapterpage}[true]{% \TUD@set@ifkey@lock{chapterpage}{@tud@chapterpage}{#1}% } % \end{macrocode} % \end{macro}^^A \if@tud@chapterpage@locked % \end{macro}^^A \if@tud@chapterpage % \end{option}^^A chapterpage % \begin{option}{cleardoublespecialpage} % \changes{v2.02}{2014/07/08}{Nutzung als globale Klassenoption mit Werten für % Seitenstile aus den \KOMAScript{} bzw. \TUDScript-Klassen}^^A % \changes{v2.03}{2015/01/09}{Prüfung des Seitenstils mit \cs{AfterPreamble} % auf Beginn des Dokumentes verzögert}^^A % \begin{macro}{\tud@cleardoublepage} % \begin{macro}{\tud@cleardoublespecialpage} % \changes{v2.03}{2015/01/09}{Makro \cs{tud@restorepagecolor} ist aufgrund der % Nutzung von \pkg{scrlayer-scrpage} für Seitenhintergrund überflüssig}^^A % Für Klassen mit separaten Teileseiten und Kapiteln wird eine zusätzliche % Option definiert, welche nur bei zweiseitigem Satz (\opt{twoside}) und % zusätzlich immer auf nur der rechten Seite öffnenden Teilen bzw. Kapiteln % (\opt{open=right}) zum Tragen kommen. % % Diese Option steuert, ob die Rückseite von Titel, Teilen und ggf. auch bei % separaten Kapitelseiten\footnote{bei aktivierter \opt{chapterpage}"=Option} % entweder zwingend als leere Seite oder aber ~-- abhängig von der % \KOMAScript-Option \opt{cleardoublepage}~-- als Vakatseite ausgegeben werden. % Auch die Festlegung eines bestimmten Seitenstiles ist möglich. % % Der Befehl \cs{tud@cleardoublepage} enthält die Definition der zu erzeugenden % Doppelseite. % \begin{macrocode} \newcommand*\tud@cleardoublepage{\cleardoubleoddpage} % \end{macrocode} % Mit der Option \opt{cleardoublespecialpage} kann dieser festgelegt werden. % \begin{macrocode} \TUD@key{cleardoublespecialpage}[true]{% \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}% % \end{macrocode} % Dabei wird die Rückseite entweder wie alle Vakatseiten oder leer gesetzt. % \begin{macrocode} \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \def\tud@cleardoublepage{\cleardoubleoddpage}% \else% \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}% \fi% \else% % \end{macrocode} % Zusätzlich wird die Seite ggf. auch farbig ausgegeben (s. \opt{color}). % \begin{macrocode} \ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{% \ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{% % \end{macrocode} % Außerdem kann ein Seitenstil gezielt ausgewählt werden. % \begin{macrocode} \ifstr{#1}{current}{% \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% \FamilyKeyStateProcessed% }{% % \end{macrocode} % Beim Laden der Klasse selbst sind die speziellen Seitenstile der \KOMAScript- % bzw. \TUDScript-Klassen noch nicht definiert. Diese sollen als Werte jedoch % trotzdem erlaubt sein. Deshalb wird für diesen Fall das Überprüfen mit % \cs{AfterPreamble} auf den Beginn des Dokumentes verzögert. % \begin{macrocode} \AfterPreamble{% \ifcsdef{ps@#1}{% \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% }{% \ClassError{\TUDClassName}{`#1' is no valid pagestyle}{% You tried to use `#1' as a pagestyle for option\MessageBreak% `cleardoublespecialpage', but it was never defined.% }% }% }% \FamilyKeyStateProcessed% }}}% \fi% } % \end{macrocode} % Der Befehl \cs{tud@cleardoublespecialpage} dient zur eigentlichen Umsetzung. % Das obligatorische Argument enthält alles, was innerhalb der Gruppe an % lokalen Einstellungen vorgenommen werden soll. Das optionale Argument wird % ggf. genutzt, um einen Inhalt auf der Rückseite auszugeben. % \begin{macrocode} \newcommand*\tud@cleardoublespecialpage[2][]{% \begingroup% #2% \ifboolexpr{bool {@twoside} and bool {@openright}}{% \if@tud@clearcolor% \def\@tempa{% #1% \tud@cleardoublepage% \endgroup% }% \else% \def\@tempa{% \endgroup% #1% \tud@cleardoublepage% }% \fi% }{% \if@tud@clearcolor\tud@clearcolor@wrn\fi% \def\@tempa{% \endgroup% #1% }% }% \@tempa% \@afterindentfalse\@afterheading% } % \end{macrocode} % \end{macro}^^A \tud@cleardoublespecialpage % \end{macro}^^A \tud@cleardoublepage % \end{option}^^A cleardoublespecialpage % \begin{option}{clearcolor} % \begin{option}{clearcolour} % \begin{macro}{\if@tud@clearcolor} % Bei starkem Farbeinsatz im Stil des \CDs auf Titel- Teil- oder Kapitelseiten % (\opt{cd\dots=color}) wird die entsprechende Rückseite in der gleichen % Farbe wie die dazugehörige Vorderseite gestaltet. Für Teile- bzw. % Kapitelseiten muss die entsprechende Option aktiviert sein.% % \footnote{\opt{cleardoublespecialpage}} % \begin{macrocode} \newif\if@tud@clearcolor \TUD@ifkey{clearcolor}{@tud@clearcolor} \TUD@ifkey{clearcolour}{@tud@clearcolor} % \end{macrocode} % \end{macro}^^A \if@tud@clearcolor % \end{option}^^A clearcolour % \end{option}^^A clearcolor % Damit endet der exklusive Abschnitt für \cls{tudscrbook}- und % \cls{tudscrreprt}-Klasse. % % \iffalse % % \fi % % \begin{macro}{\tud@font@koma@set} % \begin{macro}{\tud@font@koma@reset} % \changes{v2.02}{2014/08/24}{neu}^^A % \begin{macro}{\tud@font@koma@unset} % Es wird die Möglichkeit geschaffen, bestimmten Schriftelementen weitere % Eigenschaften mitzugeben. Damit dies optionsabhängig geschehen kann und % \cs{addtokomafont} nur einmalig verwendete werden muss, wird im Zweifelsfall % einem Schriftelement ein Hilfsmakro \cs{tud@font@koma@\meta{Element}} % zugewiesen, welches intern angepasst werden kann. Mit \cs{tud@font@koma@set} % werden dem angegebenen Element die gewünschten Schriftattribute zugeteilt. % \begin{macrocode} \newcommand*\tud@font@koma@set[2]{% \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% \@namedef{tud@font@koma@#1}{#2\nobreak}% } % \end{macrocode} % Durch die Option \opt{headings} werden die Schriftelemente zurückgesetzt. % Mit dem hier definierten Befehl \cs{tud@font@koma@reset} kann diesen das % Hilfsmakro abermals zugewiesen % werden. % \begin{macrocode} \newcommand*\tud@font@koma@reset[1]{% \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% } % \end{macrocode} % Mit \cs{tud@font@koma@unset} kann das angegebene Element wieder zurückgesetzt % werden. Dabei wird das zuvor hinzugefügte Makro auf \cs{relax} gesetzt. % \begin{macrocode} \newcommand*\tud@font@koma@unset[1]{% \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% } % \end{macrocode} % \end{macro}^^A \tud@font@koma@unset % \end{macro}^^A \tud@font@koma@reset % \end{macro}^^A \tud@font@koma@set % \begin{macro}{\usesizeofkomafont} % \changes{v2.02}{2014/05/17}{entfernt}^^A % Mit \TUDScript~v2.02 wurde die Bereitstellung dieses Befehls aufgrund der % zwingenden Verwendung von \KOMAScript{}~v3.12 entfernt. % \end{macro}^^A \usesizeofkomafont % \begin{option}{headings} % \begin{macro}{\tud@font@heading@size} % Die \KOMAScript-Option \opt{headings} setzt die Formatierung aller % Überschriften zurück. Damit die Einstellungen für das \CD aktiv bleiben, % werden nach der Ausführung der Option die mit \cs{tud@font@koma@set} % definierten Makros \cs{tud@font@koma@\meta{Element}} erneut an die % entsprechenden Schriftelemente angehängt. % \begin{macrocode} \newcommand*\tud@font@heading@size{} \AtEndOfClass{\let\tud@font@heading@size\size@part} \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \AtEndOfFamilyOptions{% \let\tud@font@heading@size\size@part% \if@atdocument% \tud@layout@process% \ifcase\tud@layout@part\relax\else% !false \tud@font@koma@reset{part}% \tud@font@koma@reset{partnumber}% %<*book|report> \fi% \ifcase\tud@layout@chapter\relax\else% !false \tud@font@koma@reset{chapter}% \tud@font@koma@reset{chapterprefix}% % \tud@font@koma@reset{section}% \tud@font@koma@reset{subsection}% \tud@font@koma@reset{subsubsection}% \tud@font@koma@reset{minisec}% \fi% \fi% }% } % \end{macrocode} % \end{macro}^^A \tud@font@heading@size % \end{option}^^A headings % % \iffalse % %<*class&body> % \fi % % \subsection{Umsetzung des Layouts} % % Unter Layout wird die Wahl von Schriftart und "~größe, die Positionierung % verschiedener Textelemente sowie die farbliche Gestaltung verstanden. Für das % \CD gibt es dabei drei Ausprägungen, die für die verschiedenen Elemente % auch unabhängig gewählt werden können. % \begin{macro}{\tud@part@fontcolor} % \begin{macro}{\tud@chapter@fontcolor} % Die Makros werden für die Farbe der Überschriften verwendet. % \begin{macrocode} \newcommand*\tud@part@fontcolor{} %<*book|report> \newcommand*\tud@chapter@fontcolor{} % % \end{macrocode} % \end{macro}^^A \tud@chapter@fontcolor % \end{macro}^^A \tud@part@fontcolor % \begin{KOMAfont}{tud@heading} % \changes{v2.02}{2014/08/24}{entfernt}^^A % \begin{KOMAfont}{parttitle} % \changes{v2.02}{2014/08/24}{neu}^^A % \begin{macro}{\tud@font@heading@numsize} % \changes{v2.02}{2014/08/24}{entfernt}^^A % \begin{macro}{\tud@font@part} % \changes{v2.02}{2014/08/24}{entfernt}^^A % \begin{macro}{\tud@font@part@number} % \changes{v2.02}{2014/06/23}{entfernt}^^A % \begin{macro}{\tud@font@part@title} % \changes{v2.02}{2014/06/23}{entfernt}^^A % \begin{macro}{\tud@font@chapter} % \changes{v2.02}{2014/08/24}{entfernt}^^A % Es wird das Schriftelement für die Option \opt{parttitle} erstellt. % \begin{macrocode} %<*book|report> \newkomafont{parttitle}{% \tud@font@heading% \tud@color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } % % \end{macrocode} % \end{macro}^^A \tud@font@chapter % \end{macro}^^A \tud@font@part@title % \end{macro}^^A \tud@font@part@number % \end{macro}^^A \tud@font@part % \end{macro}^^A \tud@font@heading@numsize % \end{KOMAfont}^^A parttitle % \end{KOMAfont}^^A tud@heading % \begin{length}{\pageheadingsvskip} % \changes{v2.02}{2014/06/23}{neu}^^A % \begin{length}{\headingsvskip} % \changes{v2.02}{2014/06/23}{neu}^^A % Mit diesen Längen kann der Anwender die Überschriften von Titel, Teilen und % Kapiteln vertikal von ihrer Standardposition verschieben, welche vom \CD % eigentlich vorgegeben ist. Die Länge \cs{pageheadingsvskip} verschiebt dabei % Überschriften, welche allein auf einer Seite stehen, also Überschriften von % Teilen oder auf Kapitelseiten. Auch die vertikale Position des Titels kann % damit beeinflusst werden. Mit \cs{headingsvskip} werden Überschriften von % Kapiteln oder aber die des Titelkopfes (\opt{titlepage=false}) verschoben, % bei denen nach der Überschrift direkt der Fließtext folgt. % \begin{macrocode} \newlength\pageheadingsvskip \newlength\headingsvskip % \end{macrocode} % \end{length}^^A \headingsvskip % \end{length}^^A \pageheadingsvskip % \begin{macro}{\tud@headmidvskip} % \changes{v2.03}{2015/01/21}{neu}^^A % \begin{macro}{\tud@headmidvskip@neg} % \changes{v2.03}{2015/01/21}{neu}^^A % Mit \cs{tud@headmidvskip} wird der Abstände zwischen Nummerierung eines % Titels und der eigentlichen Bezeichnung gesetzt. Das gleiche gilt für eine % separate Kapitelnummernzeile (\opt{chapterprefix}) und dem eigentlichen % Kapiteltitel. Das Makro \cs{tud@headmidvskip@neg} wird benötigt, um ggf. % vorher um den eingefügten Abstand nach oben zu verschieben. % \begin{macrocode} %<*book|report> \newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}} \newcommand*\tud@headmidvskip@neg{% \setbox\z@\vbox{\tud@headmidvskip}% \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}% } % % \end{macrocode} % \end{macro}^^A \tud@headmidvskip@neg % \end{macro}^^A \tud@headmidvskip % \begin{macro}{\tud@layout@process} % \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A % Dieser Befehl kümmert sich darum, dass die gewählten Optionen für den % Seitenstil auch umgesetzt werden. Dabei wird insbesondere darauf Wert gelegt, % dass die Optionen auch zur Laufzeit geändert und wiederhergestellt werden % können. % \begin{macrocode} \newcommand*\tud@layout@process{% % \end{macrocode} % Die Einstellungen für die Umschlagseite. Je nachdem, ob das \CD verwendet % wird, wird der Satzspiegel standardmäßig umgestellt oder eben nicht. % \begin{macrocode} \ifcase\tud@layout@cover\relax% false \bool@std@lock{@tud@cover@cdgeometry}{false}% \else% !false \bool@std@lock{@tud@cover@cdgeometry}{true}% \fi% % \end{macrocode} % Die Einstellungen für den Titel. Vor dessen Umstellung werden die relevanten % Originalbefehle mit \cs{tud@cmd@store}\marg{Befehl} gesichert, damit diese % später gegebenenfalls mit \cs{tud@cmd@restore}\marg{Befehl} wiederhergestellt % werden können. % \begin{macrocode} \ifcase\tud@layout@title\relax% false \tud@cmd@restore{maketitle}% \tud@cmd@restore{@maketitle}% \tud@cmd@restore{titlepagestyle}% \tud@font@koma@unset{titlehead}% \tud@font@koma@unset{title}% \tud@font@koma@unset{subtitle}% \tud@font@koma@unset{subject}% \tud@font@koma@unset{author}% \tud@font@koma@unset{date}% \tud@font@koma@unset{publishers}% \else% !false \tud@cmd@store{maketitle}% \tud@cmd@store{@maketitle}% \tud@cmd@store{titlepagestyle}% \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}% \tud@font@koma@set{title}{% \usekomafont{disposition}% \tud@font@heading% \tud@font@heading@size% \tud@color{\tud@title@fontcolor}% }% \tud@font@koma@set{subtitle}{% \tud@font@heading% \usesizeofkomafont{section}% \tud@color{\tud@title@fontcolor}% }% \tud@font@koma@set{subject}{% \fontfamily{\sfdefault}% \fontseries{\bfdefault}% \selectfont% \tud@color{\tud@title@fontcolor}% }% \tud@font@koma@set{author}{\usekomafont{subject}}% \tud@font@koma@set{date}{\usekomafont{titlepage}}% \tud@font@koma@set{publishers}{\usekomafont{author}}% \let\maketitle\tud@maketitle% \renewcommand*\titlepagestyle{plain.tudheadings}% \fi% % \end{macrocode} % Das gleiche für die Teileseiten. % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \ifcase\tud@layout@part\relax% false \tud@cmd@restore{partheadstartvskip}% %<*book|report> \tud@cmd@restore{partheadendvskip}% \tud@cmd@restore{partheademptypage}% \tud@cmd@restore{partpagestyle}% % \ifcsdef{scr@v@3.18}{% \tud@cmd@restore{scr@@startpart}% %<*book|report> \tud@cmd@restore{scr@@startspart}% % }{% \tud@cmd@restore{@part}% %<*book|report> \tud@cmd@restore{@spart}% % }% \tud@sectioning@reset[addpart]{part}% \tud@font@koma@unset{partnumber}% % \end{macrocode} % Es werden die Standardbefehle gesichert und für das \CD angepasst. % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \else% !false \tud@cmd@store{partheadstartvskip}% %<*book|report> \tud@cmd@store{partheadendvskip}% \tud@cmd@store{partheademptypage}% \tud@cmd@store{partpagestyle}% % \ifcsdef{scr@v@3.18}{% \tud@cmd@store{scr@@startpart}% %<*book|report> \tud@cmd@store{scr@@startspart}% % }{% \tud@cmd@store{@part}% %<*book|report> \tud@cmd@store{@spart}% % }% % \end{macrocode} % Es wird die Schriftfarbe, "~größe und "~art angepasst, je nachdem ob der % Titel des Dokumentes auf den Teileseiten auftauchen soll oder eben nicht. % Für die Artikel-Klasse gibt es die \opt{parttitle}-Option nicht. % \begin{macrocode} %<*book|report> \if@tud@parttitle% \tud@sectioning@set[addpart]{part}{\usekomafont{parttitle}}% \tud@font@koma@set{partnumber}{\usekomafont{parttitle}}% \else% % \tud@sectioning@set[addpart]{part}{% \tud@font@heading% \tud@color{\tud@part@fontcolor}% }% \tud@font@koma@set{partnumber}{% \tud@font@heading% \tud@color{\tud@part@fontcolor}% }% %<*book|report> \fi% % % \end{macrocode} % Einigen Makros werden mittels \cs{let} Definitionen von anderen Makros % zugewiesen, die sich wiederum am Original orientieren. Hintergrund ist, dass % die originalen Befehle angepasst werden sollen. Damit dies nicht bei jeder % Optionswahl sondern nur einmalig geschehen muss und um möglichst einfach auf % die Originaldefinition zurückschalten zu können, wird so verfahren. Die % angepassten Befehle selbst und die dazugehörige Beschreibung sind etwas % weiter unten im Quelltext zu finden. % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \let\partheadstartvskip\tud@partheadstartvskip% %<*book|report> \let\partheadendvskip\tud@partheadendvskip% \let\partheademptypage\relax% \renewcommand*\partpagestyle{plain.tudheadings}% % \ifcsdef{scr@v@3.18}{% \let\scr@@startpart\tud@@startpart% %<*book|report> \let\scr@@startspart\tud@@startspart% % }{% \let\@part\tud@@part% %<*book|report> \let\@spart\tud@@spart% % }% \fi% % \end{macrocode} % Die Einstellungen für die Kapitel bzw. die folgenden Gliederungsebenen. Auch % hier werden alle relevanten Befehle gesichert, damit diese wiederhergestellt % werden können. Verständlicherweise fällt für die \cls{tudscrartcl}-Klasse % der Anteil für die Kapitel weg. Das Verhalten der nachgelagerten % Gliederungsebenen orientiert für diese Klasse an den Einstellungen für die % Teileseiten. % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} %<*article> \ifcase\tud@layout@part\relax% false % %<*book|report> \ifcase\tud@layout@chapter\relax% false \tud@cmd@restore{chapterheadstartvskip}% \tud@cmd@restore{chapterformat}% \tud@cmd@restore{@chapter}% \tud@cmd@restore{@schapter}% \ifcsdef{scr@v@3.18}{% \tud@cmd@restore{scr@@makechapterhead}% }{% \tud@cmd@restore{@@makechapterhead}% }% \tud@sectioning@reset[addchap]{chapter}% \tud@font@koma@unset{chapterprefix}% % \tud@sectioning@reset[addsec]{section}% \tud@sectioning@reset{subsection}% \tud@sectioning@reset{subsubsection}% \tud@sectioning@reset{minisec}% % \end{macrocode} % Auch hier werden die Standardbefehle für ein mögliches Deaktivieren der % Optionen gesichert und anschließend geändert. % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \else% !false %<*book|report> \tud@cmd@store{chapterheadstartvskip}% \tud@cmd@store{chapterformat}% \tud@cmd@store{@chapter}% \tud@cmd@store{@schapter}% \ifcsdef{scr@v@3.18}{% \tud@cmd@store{scr@@makechapterhead}% }{% \tud@cmd@store{@@makechapterhead}% }% \tud@sectioning@set[addchap]{chapter}{% \tud@font@heading% \tud@font@heading@size% \tud@color{\tud@chapter@fontcolor}% }% \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% % \tud@sectioning@set[addsec]{section}{\tud@font@heading}% \tud@sectioning@set{subsection}{\tud@font@heading}% \tud@sectioning@set{subsubsection}{\tud@font@heading}% \tud@sectioning@set{minisec}{\tud@font@heading}% % \end{macrocode} % Und wieder erfolgt die Zuweisung der angepassten Befehle über \cs{let}. % \begin{macrocode} %<*book|report> \let\chapterheadstartvskip\tud@chapterheadstartvskip% \ifcsdef{scr@v@3.18}{% \let\scr@@makechapterhead\tud@@@makechapterhead% }{% \let\@@makechapterhead\tud@@@makechapterhead% }% % \fi% } % \end{macrocode} % \end{macro}^^A \tud@layout@process % \begin{macro}{\tud@layout@specialpage@set} % \changes{v2.04}{2015/04/21}{neu}^^A % \begin{macro}{\tud@layout@specialpage@unset} % \changes{v2.04}{2015/04/21}{neu}^^A % Diese beiden Hilfsmakros werden für Titel- Teile und separate Kapitelseite % benötigt, um die Fußnoten auf diesen speziellen Seiten in der gleichen Farbe % wie den Rest der verwendeten Schriften zu setzen. % \begin{macrocode} %<*book|report> \newcommand*\tud@layout@specialpage@set[1]{% \tud@font@koma@set{footnote}{% \edef\@tempa{% \noexpand\tud@color{% \expandafter\noexpand\csname tud@#1@fontcolor\endcsname% }% }\@tempa% }% \tud@cmd@store{footnoterule}% \let\footnoterule\relax% } \newcommand*\tud@layout@specialpage@unset{% \tud@font@koma@unset{footnote}% \tud@cmd@restore{footnoterule}% } % % \end{macrocode} % \end{macro}^^A \tud@layout@specialpage@unset % \end{macro}^^A \tud@layout@specialpage@set % \begin{macro}{\tud@partheadstartvskip} % \changes{v2.02}{2014/11/05}{Nutzung der Option \opt{parttitle} verbessert}^^A % \changes{v2.03}{2015/01/21}{Bei Verwendung der Option \opt{parttitle}: % Abstand ist identisch zu Untertitel auf Titelseite}^^A % \begin{macro}{\partheadstartvskip} % Dieses Makro ersetzt den Standardbefehl \cs{partheadstartvskip} für die % CD-Teilseiten. Damit lassen sich insbesondere die Farbanpassungen für alle % Klassen sowie die Option \opt{parttitle} für \cls{tudscrreprt}- und % \cls{tudscrbook}-Klasse einfach realisieren und gleichzeitig das % Zurückschalten auf das Standardverhalten gewährleisten. % % Für die \cls{tudscrartcl}-Klasse wird der vertikale Standardabstand % beibehalten und lediglich die Farbanpassung hinzugefügt. % \begin{macrocode} %<*article> \newcommand*\tud@partheadstartvskip{} \let\tud@partheadstartvskip\partheadstartvskip% \pretocmd{\tud@partheadstartvskip}{% \def\tud@part@fontcolor{}% false/true \ifcase\tud@layout@part\relax\or\else% *color \def\tud@part@fontcolor{HKS41}% \fi% }{}{\tud@patch@wrn{tud@partheadstartvskip}} % % \end{macrocode} % Für \cls{tudscrreprt}- und \cls{tudscrbook}-Klasse werden die Farben gesetzt % und die vertikalen Abstände neu definiert. % \begin{macrocode} %<*book|report> \newcommand*\tud@partheadstartvskip{% \def\tud@part@fontcolor{}% false/true \ifcase\tud@layout@part\relax\or\or% litecolor \def\tud@part@fontcolor{HKS41}% \or% barcolor \def\tud@part@fontcolor{HKS41}% \or% bicolor \def\tud@part@fontcolor{HKS41}% \or% color \def\tud@part@fontcolor{HKS41!30}% \or% full \def\tud@part@fontcolor{HKS41!30}% \fi% \tud@layout@specialpage@set{part}% \begingroup% \vspace*{% \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% % \end{macrocode} % Sollte die \opt{parttitle}-Option aktiviert sein, so wird der Titel des % Dokumentes statt des Teiletitels mit \cs{tud@parttitle} auf die Seite % gesetzt. % \begin{macrocode} \if@tud@parttitle% \begingroup% \tud@font@heading% \tud@font@heading@size% \tud@color{\tud@part@fontcolor}% \ifx\@@title\@empty% \ClassWarning{\TUDClassName}{% You activated the option `parttitle' but\MessageBreak% no title was given% }% \tud@makeuppercase{\strut}% \else% \tud@makeuppercase{\@@title}% \fi% % \end{macrocode} % Der Titel des Teils wird auf der gleichen Höhe wie der Untertitel auf der % Titelseite ausgegeben. % \begin{macrocode} \par\nobreak% {\usekomafont{titlepage}{\vskip 2ex\@plus1ex\@minus1ex}}% \endgroup% \else% \usekomafont{partnumber}{\tud@headmidvskip@neg}% \fi% \endgroup% } % % \end{macrocode} % \end{macro}^^A \partheadstartvskip % \end{macro}^^A \tud@partheadstartvskip % % \iffalse %<*book|report> % \fi % % \begin{macro}{\tud@partheadendvskip} % \changes{v2.02}{2014/06/23}{neu}^^A % Hiermit wird die Seitenfarbe gesetzt sowie die Schrift für Kopf und % Seitenzahl verändert. Die Änderungen sollen dabei lokal bleiben, wofür das % obligatorische Argument des Befehls \cs{tud@cleardoublespecialpage} verwendet % wird. Damit wird abhängig von den Einstellungen für die beiden Optionen % \opt{cleardoublespecialpage} und \opt{clearcolor} die Rückseite farbig % gesetzt. % \begin{macrocode} \newcommand*\tud@partheadendvskip{% \tud@cleardoublespecialpage{% \def\tud@pagecolor{}% \ifcase\tud@layout@part\relax\or% true \cs@std@lock{tud@head@bar}{0}% \or% litecolor \cs@set@lock{tud@head@bar}{1}% \or% barcolor \cs@set@lock{tud@head@bar}{2}% \or% bicolor \cs@set@lock{tud@head@bar}{3}% \or% color \def\tud@pagecolor{HKS41}% \cs@set@lock{tud@head@bar}{1}% \or% full \def\tud@pagecolor{HKS41}% \cs@set@lock{tud@head@bar}{3}% \fi% \addtokomafont{pagenumber}{\usekomafont{tudheadings}}% \addtokomafont{pagefoot}{\usekomafont{tudheadings}}% \clearpage% }% \tud@layout@specialpage@unset% } % \end{macrocode} % \end{macro}^^A \tud@partheadendvskip % \begin{macro}{\tud@parttitle} % \changes{v2.02}{2014/06/23}{entfernt}^^A % \end{macro}^^A \tud@parttitle % % \iffalse % % \fi % % Für Teile ist zur Formatierung etwas Patcherei notwendig. Zuerst die Patches % für für \KOMAScript~v3.18: % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \@tempswafalse \ifcsdef{scr@v@3.18}{\@tempswatrue}{}% \if@tempswa % \end{macrocode} % % \begin{macro}{\tud@@startpart} % \changes{v2.04}{2015/06/15}{\KOMAScript~v3.18}^^A % \begin{macro}{\scr@@startpart} % \changes{v2.04}{2015/06/15}{\KOMAScript~v3.18}^^A % Damit auch das Präfix der Teile in Majuskeln erscheint, wird dem Befehl % \cs{partformat}, welcher das Präfix enthält, für die \cls{tudscrartcl}-Klasse % der entsprechende Befehl vorangestellt. Die Patches % \begin{macrocode} %<*article> \newcommand*\tud@@startpart{}% \let\tud@@startpart\scr@@startpart% \patchcmd{\tud@@startpart}% {\usekomafont{#1prefix}{\@nameuse{#1format}}}% {\usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}}% {}{\tud@patch@wrn{scr@@startpart}}% % % \end{macrocode} % Für \cls{tudscrbook}- und \cls{tudscrreprt}-Klasse ist etwas mehr Arbeit % nötig. Für separate Teileseiten muss dafür Sorge getragen werden, dass die % Überschrift unabhängig von der Tiefe der Nummerierung immer an der gleichen % Position steht. % \begin{macrocode} %<*book|report> \newcommand*\tud@@startpart{}% \let\tud@@startpart\scr@@startpart% \patchcmd{\tud@@startpart}{% \ifnumbered{#1}{% \usekomafont{#1prefix}{\@nameuse{#1format}}% \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}% \partheadmidvskip }{}% }{% \ifnumbered{#1}{% \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}% \if@tud@parttitle% \enskip% \else% \tud@headmidvskip% \fi% }{% \if@tud@parttitle\else% \usekomafont{#1prefix}{\vphantom{\partname}}% \tud@headmidvskip% \fi% }% }{}{\tud@patch@wrn{scr@startpart}}% % % \end{macrocode} % \end{macro}^^A \scr@@startpart % \end{macro}^^A \tud@@startpart % \begin{macro}{\tud@@startspart} % \changes{v2.04}{2015/06/15}{\KOMAScript~v3.18}^^A % \begin{macro}{\scr@@startspart} % \changes{v2.04}{2015/06/15}{\KOMAScript~v3.18}^^A % Bei den Teile-Befehlen ohne Gliederungsnummerierung muss zusätzlich der % Freiraum vorgehalten werden, damit alle Überschriften auf der gleichen % vertikalen Position liegen. % \begin{macrocode} %<*book|report> \newcommand*\tud@@startspart{}% \let\tud@@startspart\scr@@startspart% \patchcmd{\tud@@startspart}{% \normalfont \sectfont\nobreak }{% \normalfont\sectfont\nobreak% \if@tud@parttitle\else% \size@partnumber{\vphantom{\partname}}% \tud@headmidvskip\nobreak% \fi% }{}{\tud@patch@wrn{scr@@startspart}}% % % \end{macrocode} % \end{macro}^^A \scr@@startspart % \end{macro}^^A \tud@@startspart % % Und nun das Gleiche für \KOMAScript~v3.17: % \begin{macrocode} \else % \end{macrocode} % \begin{macro}{\tud@@part} % \changes{v2.03}{2015/01/21}{Korrektur bei der Position der Überschrift}^^A % \begin{macro}{\@part} % \begin{macrocode} \newcommand*\tud@@part{}% %<*article> \let\tud@@part\@part \patchcmd{\tud@@part}% {\size@partnumber{\partformat}}% {\size@partnumber{\tud@makeuppercase{\partformat}}}% {}{\tud@patch@wrn{@part}}% % %<*book|report> \let\tud@@part\@part \patchcmd{\tud@@part}{% \ifnumbered{part}{% \size@partnumber{\partformat}% \setlength{\@tempskipa}{\scr@part@innerskip}% \partheadmidvskip% }{}% }{% \ifnumbered{part}{% \size@partnumber{\tud@makeuppercase{\partformat}}% \if@tud@parttitle% \enskip% \else% \tud@headmidvskip% \fi% }{% \if@tud@parttitle\else% \size@partnumber{\vphantom{\partname}}% \tud@headmidvskip% \fi% }% }{}{\tud@patch@wrn{@part}}% % % \end{macrocode} % \end{macro}^^A \@part % \end{macro}^^A \tud@@part % \begin{macro}{\tud@@spart} % \begin{macro}{\@spart} % \begin{macrocode} %<*book|report> \newcommand*\tud@@spart{}% \let\tud@@spart\@spart \patchcmd{\tud@@spart}{% \normalfont \sectfont\nobreak\size@part }{% \normalfont\sectfont\nobreak% \if@tud@parttitle\else% \size@partnumber{\vphantom{\partname}}% \tud@headmidvskip\nobreak% \fi% \size@part% }{}{\tud@patch@wrn{@spart}} % % \end{macrocode} % \end{macro}^^A \@spart % \end{macro}^^A \tud@@spart % % Damit ist die Patcherei beendet. % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \fi % \end{macrocode} % % \iffalse %<*book|report> % \fi % % \begin{macro}{\tud@partpreamble} % Um die \KOMAScript-Befehle für die Teilepräambel auch für das farbige Layout % nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln wird % die Überschrift einer Zusammenfassung ausschließlich zentriert und relativ % klein gesetzt. Außerdem wird für eine mögliche Zusammenfassung die % \opt{titlepage}-Option deaktiviert. Aufgerufen wird der Befehl durch die % gepatchte Version von \cs{set@@@@preamble}. % \begin{macrocode} \newcommand*\tud@partpreamble{% \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap \KOMAoptions{titlepage=false}% \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% \addtokomafont{dictumtext}{\tud@color{\tud@part@fontcolor}}% \tud@color{\tud@part@fontcolor}% % \end{macrocode} % Hiermit wird der unterschiedliche Abstand bei Teil- und Kapitelpräambeln % ausgeglichen. % \begin{macrocode} \vskip\dimexpr\topskip+.9\baselineskip\relax% \@afterindentfalse\@afterheading% } % \end{macrocode} % \end{macro}^^A \tud@partpreamble % \begin{macro}{\tud@chapterheadstartvskip} % \changes{v2.02}{2014/06/23}{neu}^^A % \cs{chapterheadstartvskip} wird für die Position der Kapitelüberschriften im % \CD angepasst. Mit der Länge \cs{headingsvskip} kann diese Position vertikal % durch den Benutzer verschoben werden. Außerdem werden die benötigten Farben % für die jeweilig gewählte Option ausgewählt. % \begin{macrocode} \newcommand*\tud@chapterheadstartvskip{% \def\tud@chapter@fontcolor{}% \ifcase\tud@layout@chapter\relax\or\else% *color \def\tud@chapter@fontcolor{HKS41}% \fi% \vspace*{% \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax% }% \if@tud@chapterpage% \vspace*{\pageheadingsvskip}% \else% \vspace*{\headingsvskip}% \fi% }% % \end{macrocode} % \end{macro}^^A \tud@chapterheadstartvskip % % Für die Kapitel ist zur Formatierung ebenfalls etwas Patcherei notwendig. % Zuerst die Patches für für \KOMAScript~v3.18: % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \@tempswafalse \ifcsdef{scr@v@3.18}{\@tempswatrue}{}% \if@tempswa % \end{macrocode} % % \begin{macro}{\tud@@@makechapterhead} % \begin{macro}{\scr@@makechapterhead} % Für das Präfix des Kapitels bei der gegebenenfalls aktivierten Option % \opt{chapterprefix} ist einiges an Anpassungen notwendig, um die eigentliche % Überschrift auf der gewünschten Position erscheinen zu lassen. % % Zunächst muss die Überschrift um die Höhe des Präfixes nach oben verschoben % werden. Der Befehl \cs{chapterformat} enthält das Präfix slbst. Damit dieses % in Majuskeln erscheint, wird \cs{chapterformat} im Argument des Makros % \cs{tud@makeuppercase} verwendet. Zuletzt wird der Abstand zwischen Präfix % und Kapiteltitel auf \cs{tud@headmidvskip} gesetzt. Weiterhin wird die Länge % \cs{parskip} auf \cs{z@} gesetzt, damit die Überschriften für alle % Einstellmöglichkieten der \opt{parskip}-Option immer auf exakt der selben % Höhe liegen und auch die Abstände zwischen den ggf. genutzten Präfixen % identisch sind. % \begin{macrocode} \newcommand*\tud@@@makechapterhead{} \let\tud@@@makechapterhead\scr@@makechapterhead \patchcmd{\tud@@@makechapterhead}{% \csname #1format\endcsname \setlength{\@tempskipa}{% \csname scr@#1@innerskip\endcsname }% \chapterheadmidvskip }{% \tud@headmidvskip@neg% \tud@makeuppercase{\csname #1format\endcsname}% \tud@headmidvskip% }{}{\tud@patch@wrn{scr@@makechapterhead}}% \patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{% \IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}% }{}{\tud@patch@wrn{scr@@makechapterhead}}% % \end{macrocode} % \end{macro}^^A \@@makechapterhead % \end{macro}^^A \tud@@@makechapterhead % % Und nun das Gleiche für \KOMAScript~v3.17: % \begin{macrocode} \else % \end{macrocode} % % \begin{macro}{\tud@@@makechapterhead} % \begin{macro}{\@@makechapterhead} % \begin{macrocode} \newcommand*\tud@@@makechapterhead{} \let\tud@@@makechapterhead\@@makechapterhead \patchcmd{\tud@@@makechapterhead}{% \chapterformat \setlength{\@tempskipa}{\scr@chapter@innerskip}% \chapterheadmidvskip }{% \tud@headmidvskip@neg% \tud@makeuppercase{\chapterformat}% \tud@headmidvskip% }{}{\tud@patch@wrn{@@makechapterhead}}% \patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{% \IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}% }{}{\tud@patch@wrn{@@makechapterhead}}% % \end{macrocode} % \end{macro}^^A \@@makechapterhead % \end{macro}^^A \tud@@@makechapterhead % % Damit ist die Patcherei beendet. % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.05] % \begin{macrocode} \fi % \end{macrocode} % % \begin{macro}{\tud@chapterpreamble} % Um die \KOMAScript-Befehle für die Kapitelpräambel auch für das farbige Layout % nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln der % Kapitel gilt das gleiche wie für die der Teileseiten. Auch hier erfolgt die % Ausführung des Befehls durch die gepatchte Version von \cs{set@@@@preamble}. % \begin{macrocode} \newcommand*\tud@chapterpreamble{% \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap \KOMAoptions{titlepage=false}% % \end{macrocode} % Die Farb- und Schrifteinstellungen sind nur für reine Kapitelseiten notwendig. % \begin{macrocode} \if@tud@chapterpage% \ifcase\tud@cdfont\relax\or% true \TUDoptions{cdfont=true}% \or% heavy \TUDoptions{cdfont=heavy}% \fi% \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% \addtokomafont{dictumtext}{\tud@color{\tud@chapter@fontcolor}}% \tud@color{\tud@chapter@fontcolor}% \fi% \@afterindentfalse\@afterheading% } % \end{macrocode} % \end{macro}^^A \tud@chapterpreamble % \begin{macro}{\set@@@@preamble} % Die beiden Befehle für Präambeln aus \KOMAScript{} ignorieren in ihrer % ursprünglichen Form die Einstellungen für \opt{parskip}. Dies wird mit diesem % Patch beseitigt. Außerdem wird das Makro für die Layouteinstellungen für % Teile (\cs{tud@partpreamble}) respektive Kapitel (\cs{tud@chapterpreamble}) % aufgerufen. Für die Verwendung der \env{abstract}-Umgebung in den Präambeln % wird außerdem der Befehl \cs{phantomsection} auf \cs{relax} gesetzt, um mit % \cs{autoref} automatisch generierte Querverweise aus dem Paket \pkg{hyperref} % nicht zu verändern. Alternativ zu \cs{let}\cs{@parboxrestore}\cs{relax} % müsste innerhalb des Argumentes von \cs{parbox} die \KOMAScript-Option % \opt{parbox} neu gesetzt werden. % \begin{macrocode} \patchcmd{\set@@@@preamble}{% \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% }{% \def\@tempa####1@####2{% \@nameuse{tud@####1preamble}% \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% }% \hbox to\hsize{% \let\phantomsection\relax% #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% }% }{}{\tud@patch@wrn{set@@@@preamble}} % \end{macrocode} % \end{macro}^^A \set@@@@preamble % \begin{macro}{\tud@chapter@pre} % \begin{macro}{\tud@chapter@app} % \begin{macro}{\tud@head@bar@store} % \changes{v2.04}{2015/04/01}{neu}^^A % \begin{macro}{\tud@head@bar@restore} % \changes{v2.04}{2015/04/01}{neu}^^A % Diese Makros dienen zur Behandlung der Besonderheiten von Kapiteln. Dies gilt % sowohl für normale Kapitelüberschriften als auch für separate Kapitelseiten % (Option~\opt{chapterpage}). Eingefügt werden sie für die Gliederungsbefehle % der Kapitel (\cs{chapter} und \cs{addchap}) durch \cs{tud@sectioning@case}. % \begin{macrocode} \newcommand*\tud@chapter@pre{% \if@tud@chapterpage% % \end{macrocode} % Für den zweispaltigen Satz und aktivierter \opt{chapterpage}-Option muss % für die Kapitelseiten temporär auf einseitigen Satz umgestellt werden, damit % alle Befehle und Einstellungen beim Erzeugen des jeweiligen Kapitels zum % Tragen kommen. Soll der Fehler behoben werden, dass bei Kapitelüberschriften % im zweispaltigen Satz der Abstand zwischen Überschrift und Textkörper nicht % stimmt, sei außerdem das Paket \pkg{twocolfix} empfohlen. % \begin{macrocode} \@restonecolfalse% \if@twocolumn\@restonecoltrue\onecolumn\fi% \tud@layout@specialpage@set{chapter}% \fi% } % \end{macrocode} % Unabhängig von der Verwendung einer Kapitelseite, wird die Einstellung der % Option \opt{cdchapter} für die Gestalt des TUD-Kopfes beachtet, falls dieser % zum Einsatz kommt. % \begin{macrocode} \newcommand*\tud@head@bar@store{}% \let\tud@head@bar@store\relax% \newcommand*\tud@head@bar@restore{}% \let\tud@head@bar@restore\relax% \newcommand*\tud@chapter@app{% % \end{macrocode} % Nach dem Setzen der Kapitelüberschrift selbst werden die Farbe für den % Hintergrund, die Seitenzahl und den ggf. verwendeten TUD-Kopf angewendet. % Danach wird die Seite beendet. Sollte zweiseitiger Satz, immer rechts % öffnende Kapitel und die Option \opt{chapterpage} gewählt sein, so wird für % ein konsistentes Layout für Überschriften auf Einzelseiten die Rückseite % abhängig von der Option \opt{clearcolor} gegebenenfalls farbig gesetzt und % die Option \opt{cleardoublespecialpage} bezüglich des Seitenstils der % Rückseite beachtet. Umgesetzt wird dies mit \cs{tud@cleardoublespecialpage}. % \begin{macrocode} \if@tud@chapterpage% \tud@cleardoublespecialpage{% \def\tud@pagecolor{}% \let\tud@foot@fontcolor\tud@chapter@fontcolor% \ifcase\tud@layout@chapter\relax\or% true \cs@std@lock{tud@head@bar}{0}% \or% litecolor \cs@set@lock{tud@head@bar}{1}% \or% barcolor \cs@set@lock{tud@head@bar}{2}% \or% bicolor \cs@set@lock{tud@head@bar}{3}% \or% color \def\tud@pagecolor{HKS41!10}% \cs@set@lock{tud@head@bar}{1}% \or% fullcolor \def\tud@pagecolor{HKS41!10}% \cs@set@lock{tud@head@bar}{3}% \fi% \addtokomafont{pagenumber}{\usekomafont{tudheadings}}% \addtokomafont{pagefoot}{\usekomafont{tudheadings}}% \clearpage% }% \tud@layout@specialpage@unset% % \end{macrocode} % Außerdem wird für den Zweispaltensatz auf normales Verhalten zurückgestellt. % \begin{macrocode} \if@restonecol\twocolumn\fi% % \end{macrocode} % Sollten keine reinen Kapitelseiten verwendet werden, wird die Einstellung für % die Gestalt des Kopfes im restlichen Dokument (\cs{tud@head@bar}) im Makro % \cs{tud@head@bar@store} gesichert und das Makro \cs{tud@head@bar@restore} % definiert, welches beim Ausführen der Ebene \pgs{tudheadings.last} den % gesicherten Wert für die darauffolgenden Seite wiederherstellt. % \begin{macrocode} \else% \edef\tud@head@bar@store{\tud@head@bar}% \edef\tud@head@bar@restore{% \gdef\noexpand\tud@head@bar{\tud@head@bar@store}% \global\let\noexpand\tud@head@bar@store\relax% \global\let\noexpand\tud@head@bar@restore\relax% }% \ifcase\tud@layout@chapter\relax\or% true \cs@std@lock{tud@head@bar}{0}% \or% litecolor \cs@set@lock{tud@head@bar}{1}% \or% barcolor \cs@set@lock{tud@head@bar}{2}% \or% bicolor \cs@set@lock{tud@head@bar}{3}% \or% color \cs@set@lock{tud@head@bar}{1}% \or% fullcolor \cs@set@lock{tud@head@bar}{3}% \fi% % \end{macrocode} % Im Kompatibilitätsmodus muss gegebenenfalls zusätzlich genügend Freiraum für % das \DDC-Logo gelassen werden. % \begin{macrocode} \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}% \fi% % \end{macrocode} % Unabhängig von der Option \opt{chapterpage} wird deim zweispaltigen Layout % der Einzug des ersten Absatzes verhindert. % \begin{macrocode} \if@twocolumn% \@afterindentfalse\@afterheading% \fi% } % \end{macrocode} % \end{macro}^^A \tud@head@bar@restore % \end{macro}^^A \tud@head@bar@store % \end{macro}^^A \tud@chapter@pre % \end{macro}^^A \tud@chapter@app % \begin{macro}{\tud@clearcolor@wrn} % Warnung für den Fall, dass die Option \opt{clearcolor} ohne \opt{open=right} % und \opt{twoside} verwendet wird. % \begin{macrocode} \newcommand*\tud@clearcolor@wrn{% \ClassWarning{\TUDClassName}{% Option `clearcolor' is only available together with\MessageBreak% options `twoside' and `open=right'% }% \global\let\tud@clearcolor@wrn\relax% } % \end{macrocode} % \end{macro}^^A \tud@clearcolor@wrn % Damit ist das Intermezzo für die beiden Klassen \cls{tudscrbook} und % \cls{tudscrreprt} beendet. % % \iffalse % % \fi % % \begin{macro}{\tud@part} % \begin{macro}{\tud@spart} % \begin{macro}{\tud@addpart} % \begin{macro}{\tud@saddpart} % \begin{macro}{\tud@chapter} % \begin{macro}{\tud@schapter} % \begin{macro}{\tud@addchap} % \begin{macro}{\tud@saddchap} % \begin{macro}{\tud@section} % \begin{macro}{\tud@ssection} % \begin{macro}{\tud@addsec} % \begin{macro}{\tud@saddsec} % \begin{macro}{\tud@subsection} % \begin{macro}{\tud@ssubsection} % \begin{macro}{\tud@subsubsection} % \begin{macro}{\tud@ssubsubsection} % \begin{macro}{\tud@npart} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@opart} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@naddpart} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@oaddpart} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@nchapter} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@ochapter} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@naddchap} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@oaddchap} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@nsection} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@osection} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@nsubsection} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@osubsection} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@nsubsubsection} % \changes{v2.02}{2014/09/12}{entfernt}^^A % \begin{macro}{\tud@osubsubsection} % \changes{v2.02}{2014/09/12}{entfernt}^^A % Das \CD verlangt, dass sämtliche Auszeichnungen, die in DIN~Bold gesetzt % werden, groß zu schreiben sind. Für die Klassen bedeutet dies, dass alle % Überschriften automatisch in Majuskeln und in der gewünschten Schriftart % erscheinen müssen. Dies erfordert eine Anpassung der Gliederungsbefehle, ohne % deren normales Verhalten zu beeinflussen. % % Dazu werden die benötigten Hilfsmakros initialisiert. Die Gliederungsbefehle % selbst werden innerhalb des Befehles \cs{tud@sectioning@set} durch % \cs{tud@cmd@store} gesichert und anschließend mit \cs{tud@sectioning@case} % neu definiert. Dabei wird mit \cs{SecDef} unterschieden, ob die Sternversion % des Gliederungsbefehls durch den Anwender verwendet wird und ggf. das % Hilfsmakro \cs{tud@s\meta{Gliederungsbefehl}} aufgerufen. Andernfalls wird % \cs{tud@\meta{Gliederungsbefehl}} verwendet. % % Alle für die \TUDScript-Klassen angepassten Gliederungsbefehle von \cs{part} % bis \cs{subsubsection} werden seit Version~v2.02 ausnahmslos mit \cs{SecDef} % erzeugt. Damit wurden die in vorherigen Versionen benötigten Hilfsmakros % \cs{tud@n\meta{Gliederungsbefehl}} und \cs{tud@o\meta{Gliederungsbefehl}} % überflüssig unt deshalb entfernt. % \begin{macrocode} \newcommand*\tud@part{} \newcommand*\tud@spart{} \newcommand*\tud@addpart{} \newcommand*\tud@saddpart{} %<*book|report> \newcommand*\tud@chapter{} \newcommand*\tud@schapter{} \newcommand*\tud@addchap{} \newcommand*\tud@saddchap{} % \newcommand*\tud@section{} \newcommand*\tud@ssection{} \newcommand*\tud@addsec{} \newcommand*\tud@saddsec{} \newcommand*\tud@subsection{} \newcommand*\tud@ssubsection{} \newcommand*\tud@subsubsection{} \newcommand*\tud@ssubsubsection{} % \end{macrocode} % \end{macro}^^A \tud@osubsubsection % \end{macro}^^A \tud@nsubsubsection % \end{macro}^^A \tud@osubsection % \end{macro}^^A \tud@nsubsection % \end{macro}^^A \tud@osection % \end{macro}^^A \tud@nsection % \end{macro}^^A \tud@oaddchap % \end{macro}^^A \tud@naddchap % \end{macro}^^A \tud@ochapter % \end{macro}^^A \tud@nchapter % \end{macro}^^A \tud@oaddpart % \end{macro}^^A \tud@naddpart % \end{macro}^^A \tud@opart % \end{macro}^^A \tud@npart % \end{macro}^^A \tud@ssubsubsection % \end{macro}^^A \tud@subsubsection % \end{macro}^^A \tud@ssubsection % \end{macro}^^A \tud@subsection % \end{macro}^^A \tud@saddsec % \end{macro}^^A \tud@addsec % \end{macro}^^A \tud@ssection % \end{macro}^^A \tud@section % \end{macro}^^A \tud@saddchap % \end{macro}^^A \tud@addchap % \end{macro}^^A \tud@schapter % \end{macro}^^A \tud@chapter % \end{macro}^^A \tud@saddpart % \end{macro}^^A \tud@addpart % \end{macro}^^A \tud@spart % \end{macro}^^A \tud@part % \begin{macro}{\tud@sectioning@set} % \changes{v2.02}{2014/08/16}{Bug mit Majuskeln bei \cs{addsec} behoben}^^A % \begin{macro}{\tud@sectioning@case} % \changes{v2.02}{2014/09/12}{Reimplementierung mit \cs{SecDef}}^^A % \begin{macro}{\tud@sectioning@reset} % \begin{macro}{\tud@sectioning@uppercase} % \changes{v2.02}{2014/07/25}{neu}^^A % Das Makro \cs{tud@sectioning@set} sichert und überschreibt die gegebenen % Befehle der einzelnen Gliederungsebenen und fügt diesen die zusätzlich % angegebene Schriftdefinition mit dem Makro \cs{tud@font@koma@set} zu. Das % optionale Argument ermöglicht die Anpassung des gegebenen Gliederungsbefehls % ohne zusätzliche Definition der Schrift. Dies ist für die von \KOMAScript{} % obendrein bereitgestellten Gliederungsbefehle (\cs{add\dots}) notwendig. % \begin{macrocode} \newcommand*\tud@sectioning@set[3][]{% \tud@cmd@store{#2}% % \end{macrocode} % Für die Überschriften, welche mit \cs{minisec} gesetzt werden, genügt jedoch % ein vereinfachtes Vorgehen. % \begin{macrocode} \ifstr{#2}{minisec}{% \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}% % \end{macrocode} % Hier erfolgt die Anpassung und Formatierung aller anderen Gliederungsbefehle. % \begin{macrocode} }{% \tud@sectioning@case{#2}% \ifblank{#1}{}{% \tud@cmd@store{#1}% \tud@sectioning@case{#1}% }% }% \tud@font@koma@set{#2}{#3}% } % \end{macrocode} % Da die Großschreibung der Überschriften nur beim Setzen der Überschrift % selbst, nicht aber beispielsweise im Inhaltsverzeichnis oder aber in der % Kopfzeile unerwünscht erfolgen soll, werden die Gliederungsbefehle angepasst. % Dabei müssen alle Varianten, also auch die mit Stern und optionalen Argument % beachtet werden. % \begin{macrocode} \newcommand*\tud@sectioning@case[1]{% % \end{macrocode} % Als erstes wird unterschieden, ob die normale oder aber die nicht-nummerierte % sprich die Sternversion gefordert ist. Dies passiert mit \cs{SecDef}. Für die % Teileebene werden beispielsweise entweder \cs{tud@part} oder \cs{tud@spart} % aufgerufen. Dabei wird durch \cs{SecDef} für \cs{tud@part} das obligatorische % in das optionale Argument kopiert, falls keines angegeben wurde. % \begin{macrocode} \csedef{#1}{% \noexpand\SecDef% \expandafter\expandafter\expandafter\noexpand% \expandafter\csname tud@#1\endcsname% \expandafter\expandafter\expandafter\noexpand% \expandafter\csname tud@s#1\endcsname% }% % \end{macrocode} % Da für die normale Version das optionale Argument ggf. durch \cs{SecDef} % automatisch erzeugt wird, ist nur die Definition eines Befehls mit optionalen % Argument notwendig. Dabei wird der in \cs{@@tud@\meta{Gliederungsbefehl}} % gesicherte Originalbefehl mit dem gewünschten Eintrag als optionales Argument % aufgerufen und nur das obligatorische Argument mit \cs{tud@makeuppercase} % behandelt. % \begin{macrocode} \csedef{tud@#1}[##1]##2{% \expandafter\expandafter\expandafter\noexpand% \expandafter\csname @@tud@#1\endcsname% [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}% }% % \end{macrocode} % Für die Version mit Stern gibt es kein optionales Argument. Dementsprechend % wird hier lediglich das obligatorische Argument in Großbuchstaben gesetzt. % \begin{macrocode} \csedef{tud@s#1}##1{% \expandafter\expandafter\expandafter\noexpand% \expandafter\csname @@tud@#1\endcsname*% {\noexpand\tud@sectioning@uppercase{##1}}% }% % \end{macrocode} % Aus nicht ganz nachvollziehbaren Gründen gibt es bei Überschriften, die mit % \cs{addsec} gesetzt werden, ein Problem, wenn innerhalb dieser der Befehl % \cs{NoCaseChange} verwendet wird. Dieser bleibt hier wirkungslos. Es liegt % sehr wahrscheinlich daran, dass diese Befehle intern \cs{section*} verwenden. % Deshalb werden für \cs{addsec} die Befehle leicht abgewandelt definiert. % \begin{macrocode} \ifstr{#1}{addsec}{% \def\tud@addsec[##1]##2{% \@@tud@addsec[{##1}]{\tud@sectioning@uppercase##2}% }% \def\tud@saddsec##1{% \@@tud@addsec*{\tud@sectioning@uppercase##1}% }% }{}% % \end{macrocode} % Die Änderungen durch \cs{tud@chapter@pre} und \cs{tud@chapter@app} sollen bei % der Erzeugung eines Kapitels greifen. Damit die originalen Befehle nicht % beeinflusst werden, erfolgt die Manipulation der bereits adaptierten Befehle % für Kapitel. % \begin{macrocode} %<*book|report> \@tempswafalse% \ifstr{#1}{chapter}{\@tempswatrue}{}% \ifstr{#1}{addchap}{\@tempswatrue}{}% \if@tempswa% \def\@tempa{,s}% \@for\@tempb:=\@tempa\do{% \expandafter\pretocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% \tud@chapter@pre% }{}{\tud@patch@wrn{tud@sectioning@case}}% \expandafter\apptocmd\expandafter{\csname tud@\@tempb#1\endcsname}{% \tud@chapter@app% }{}{\tud@patch@wrn{tud@sectioning@case}}% }% \fi% % } % \end{macrocode} % Mit dem Makro \cs{tud@sectioning@reset} können die manipulierten % Gliederungsbefehle wieder auf ihr ursprüngliches Verhalten zurückgesetzt % werden. % \begin{macrocode} \newcommand*\tud@sectioning@reset[2][]{% \tud@cmd@restore{#2}% \ifblank{#1}{}{\tud@cmd@restore{#1}}% \tud@font@koma@unset{#2}% } % \end{macrocode} % Der Befehl \cs{tud@sectioning@uppercase} ist für das Setzen der % Gliederungsüberschriften in Majuskeln verantwortlich. Außerdem wird ggf. die % Option \opt{footnotes=symbolheadings} umgesetzt. % \begin{macrocode} \robustify{\footnote}% \newcommand*\tud@sectioning@uppercase[1]{% \begingroup% \if@tud@symbolheadings% \let\c@footnote\c@symbolheadings% \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}% \fi% \tud@makeuppercase{#1}% \endgroup% } % \end{macrocode} % \end{macro}^^A \tud@sectioning@uppercase % \end{macro}^^A \tud@sectioning@reset % \end{macro}^^A \tud@sectioning@case % \end{macro}^^A \tud@sectioning@set % % \iffalse % % \fi % % \Finale % \endinput