summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx1345
1 files changed, 1345 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx
new file mode 100644
index 00000000000..8a1ea390fac
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx
@@ -0,0 +1,1345 @@
+% \CheckSum{901}
+% \iffalse meta-comment
+% ======================================================================
+%
+% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
+%
+% ======================================================================
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+% This work has the LPPL maintenance status "author-maintained".
+% The current maintainer and author of this work is Falk Hanisch.
+% ----------------------------------------------------------------------
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+% ======================================================================
+% \fi
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse
+%%% From File: tudscr-layout.dtx
+%<*driver>
+% \fi
+\ProvidesFile{tudscr-layout.dtx}%
+ [2014/04/24 v2.00 TUD-KOMA-Script (layout)]
+% \iffalse
+\documentclass{tudscrdoc}
+\KOMAoptions{parskip=half-}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{tudscr-layout.dtx}
+\begin{document}
+ \maketitle
+ \DocInput{\filename}
+\end{document}
+%</driver>
+% \fi
+%
+% \selectlanguage{ngerman}
+%
+% \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{macro}{\tud@head@color}
+% Dieses Makro definiert die Farbe des Kopfes. Diese kann durch die
+% entsprechende Option der \env{tudpage}"=Umgebung geändert werden. Außerdem
+% gibt es für Titel, Teil und Kapitel speziell dazugehörige Farben, so dass
+% das Aussehen des Kopfes ggf. angepasst wird.
+% \begin{macrocode}
+\newcommand*\tud@head@color{black}
+% \end{macrocode}
+% \end{macro}^^A \tud@head@color
+% \begin{option}{cd}
+% \begin{macro}{\tud@cd}
+% \begin{macro}{\tud@layout@title}
+% \begin{macro}{\tud@layout@part}
+% \begin{macro}{\tud@layout@chapter}
+% 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 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}
+\newcommand*\tud@cd{0}
+\csdef@lock{tud@layout@title}{0}
+\csdef@lock{tud@layout@part}{0}
+%<*book|report>
+\csdef@lock{tud@layout@chapter}{0}
+%</book|report>
+\TUD@key{cd}[true]{%
+ \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}%
+ \def\tud@head@color{black}%
+ \ifcase \tud@cd\relax%
+ \csstd@lock{tud@layout@title}{0}%
+ \csstd@lock{tud@layout@part}{0}%
+%<*book|report>
+ \csstd@lock{tud@layout@chapter}{0}%
+%</book|report>
+ \or%
+ \csstd@lock{tud@layout@title}{1}%
+ \csstd@lock{tud@layout@part}{1}%
+%<*book|report>
+ \csstd@lock{tud@layout@chapter}{1}%
+%</book|report>
+ \or%
+ \def\tud@head@color{HKS41}%
+ \csstd@lock{tud@layout@title}{2}%
+ \csstd@lock{tud@layout@part}{2}%
+%<*book|report>
+ \csstd@lock{tud@layout@chapter}{2}%
+%</book|report>
+ \or%
+ \def\tud@head@color{HKS41}%
+ \csstd@lock{tud@layout@title}{3}%
+% \end{macrocode}
+% Ein komplett farbiges Layout ist bloß für die Klassen mit Teil- und
+% Kapitelseiten (\cls{tudscrbook} und \cls{tudscrreprt}) möglich. Ansonsten
+% werden lediglich die Überschriften, jedoch nicht der Seitenhintergrund
+% farbig gestaltet.
+% \begin{macrocode}
+%<*article>
+ \csstd@lock{tud@layout@part}{2}%
+%</article>
+%<*book|report>
+ \csstd@lock{tud@layout@part}{3}%
+ \csstd@lock{tud@layout@chapter}{3}%
+%</book|report>
+% \end{macrocode}
+% Die Klassenoptionen \opt{chapterpage} und \opt{widehead} werden für den
+% Fall der komplett farbigen Darstellung standardmäßig aktiviert
+% können allerdings vom Anwender überschrieben werden.
+% \begin{macrocode}
+%<*book|report>
+ \TUD@std@ifkey@lock{chapterpage}{true}%
+ \TUD@std@ifkey@lock{widehead}{true}%
+%</book|report>
+ \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{geometry}
+% überschrieben werden.
+% \begin{macrocode}
+ \ifcase \tud@cd\relax%
+ \TUD@std@numkey@lock{geometry}{false}%
+ \else%
+ \TUD@std@numkey@lock{geometry}{true}%
+ \fi%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@layout@chapter
+% \end{macro}^^A \tud@layout@part
+% \end{macro}^^A \tud@layout@title
+% \end{macro}^^A \if@tud@cd
+% \end{option}^^A cd
+% \begin{option}{cdtitle}
+% Das durch die Option \opt{cd} insgesamt festgelegte Layout kann für die
+% einzelnen Elemente Titel (\opt{cdtitle}),\dots
+% \begin{macrocode}
+\TUD@key{cdtitle}[true]{%
+ \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
+ \ifcase \@tempa\relax%
+ \csset@lock{tud@layout@title}{0}%
+ \or%
+ \csset@lock{tud@layout@title}{1}%
+ \or%
+ \csset@lock{tud@layout@title}{2}%
+ \or%
+ \csset@lock{tud@layout@title}{3}%
+ \fi%
+ \if@atdocument\tud@layout@process\fi%
+}
+% \end{macrocode}
+% \end{option}^^A cdtitle
+% \begin{option}{cdpart}
+% \dots Teile- (\opt{cdpart}) und\dots
+% \begin{macrocode}
+\TUD@key{cdpart}[true]{%
+ \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
+ \ifcase \@tempa\relax%
+ \csset@lock{tud@layout@part}{0}%
+ \or%
+ \csset@lock{tud@layout@part}{1}%
+ \or%
+ \csset@lock{tud@layout@part}{2}%
+ \or%
+%<*article>
+ \csset@lock{tud@layout@part}{2}%
+%</article>
+%<*book|report>
+ \csset@lock{tud@layout@part}{3}%
+%</book|report>
+ \fi%
+ \if@atdocument\tud@layout@process\fi%
+}
+% \end{macrocode}
+% \end{option}^^A cdpart
+% \begin{option}{cdchapter}
+% \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@std@ifkey@lock{chapterpage}{false}%
+ \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}%
+ \ifcase \@tempa\relax%
+ \csset@lock{tud@layout@chapter}{0}%
+ \or%
+ \csset@lock{tud@layout@chapter}{1}%
+ \or%
+ \csset@lock{tud@layout@chapter}{2}%
+ \or%
+ \csset@lock{tud@layout@chapter}{3}%
+ \TUD@std@ifkey@lock{chapterpage}{true}%
+ \fi%
+ \if@atdocument\tud@layout@process\fi%
+}
+%</book|report>
+% \end{macrocode}
+% \end{option}^^A cdchapter
+% \todo[v3.12]{%
+% zusätzl. Schalter, um Layout für part und chapter einzustellen
+% (tudpage=on/off) nach Umstellung auf (scrlayer)
+% }
+% \begin{macro}{\tud@layout@switch}
+% 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{%
+ {false}{0},{off}{0},{no}{0},%
+ {true}{1},{on}{1},{yes}{1},%
+ {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{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},%
+ {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},%
+ {color}{3},{colour}{3}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@layout@switch
+% \begin{option}{color}
+% \begin{option}{colour}
+% Die alte \cls{tudbook}-Klasse hat die Option \opt{color} definiert, mit
+% welcher ein Umschalten auf farbige Titel- und Kapitelseiten möglich ist. Aus
+% Kompatibilitätsgründen wird diese hier ebenfalls vorgehalten.
+% \begin{macrocode}
+\TUD@key{color}[true]{%
+ \TUD@set@ifkey{color}{@tempswa}{#1}%
+ \TUD@set@numkey{color}{@tempa}{%
+ {false}{0},{off}{0},{no}{0},%
+ {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},%
+ {true}{1},{on}{1},{yes}{1},{color}{1},{colour}{1},%
+ {full}{1},{colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},%
+ {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
+ {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},%
+ {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}%
+ }{#1}%
+ \ifcase \@tempa\relax%
+ \TUDoptions{cd}%
+ \or%
+ \TUDoptions{cd=color}%
+ \else%
+ \TUDoptions{cd=lite}%
+ \fi%
+}
+\TUD@key{colour}[true]{\TUDoptions{color=#1}}
+% \end{macrocode}
+% \end{option}^^A colour
+% \end{option}^^A color
+%
+% \iffalse
+%<*book|report>
+% \fi
+%
+% Die nun folgenden Optionen und Befehle werden nur für die \cls{tudscrbook}-
+% und \cls{tudscrreprt}-Klasse definiert.
+% \begin{option}{parttitle}
+% \begin{macro}{\if@tud@parttitle}
+% \begin{macro}{\if@tud@parttitle@locked}
+% 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@lock{parttitle}[true]{%
+ \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}%
+ \if@atdocument\tud@layout@process\fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@parttitle@locked
+% \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
+% \todo[v3.12]{\cs{FamilyElseValue} funktioniert nicht}
+% \begin{option}{cleardoublespecialpage}
+% \begin{macro}{\tud@cleardoublepage}
+% \begin{macro}{\tud@cleardoublespecialpage}
+% 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@lowerstring{\@tempa}{#1}%
+ \ifstr{\@tempa}{color}{\TUDoptions{clearcolor}}{%
+ \ifstr{\@tempa}{colour}{\TUDoptions{clearcolor}}{%
+ \ifstr{\@tempa}{current}{%
+ \def\tud@cleardoublepage{\cleardoubleoddstandardpage}%
+ }{%
+ \ifcsdef{ps@#1}{%
+ \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
+ }{%
+ \def\FamilyElseValue{%
+ , 'color', 'current' or any defined pagestyle e.g. 'empty','plain'%
+ }%
+ \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}%
+ \if@tempswa%
+ \def\tud@cleardoublepage{\cleardoubleoddpage}%
+ \else%
+ \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
+ \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%
+ \tud@restorepagecolor%
+ \endgroup%
+ }%
+ \else%
+ \def\@tempa{%
+ \endgroup%
+ \tud@restorepagecolor%
+ #1%
+ \tud@cleardoublepage%
+ }%
+ \fi%
+ }{%
+ \if@tud@clearcolor\tud@clearcolor@wrn\fi%
+ \def\@tempa{%
+ \tud@restorepagecolor%
+ \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
+%</book|report>
+%</class&option>
+%<*class&!option>
+% \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@color@partfont}
+% \begin{macro}{\tud@color@partpage}
+% \begin{macro}{\tud@color@parthead}
+% \begin{macro}{\tud@color@chapterfont}
+% \begin{macro}{\tud@color@chapterpage}
+% Die Makros werden für die Hintergrundfarbe der Seiten und die Farbe der
+% Überschriften verwendet.
+% \begin{macrocode}
+\newcommand*\tud@color@partfont{black}
+%<*book|report>
+\newcommand*\tud@color@partpage{white}
+\newcommand*\tud@color@parthead{black}
+\newcommand*\tud@color@chapterfont{black}
+\newcommand*\tud@color@chapterpage{white}
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \tud@color@chapterpage
+% \end{macro}^^A \tud@color@chapterfont
+% \end{macro}^^A \tud@color@parthead
+% \end{macro}^^A \tud@color@partpage
+% \end{macro}^^A \tud@color@partfont
+% \todo[v3.12]{auf \cs{usesizeofkomafont} umstellen, allerdings schwierig wegen
+% des Rumgemoschel mit Kapitelüberschriften (scrlayer)}
+% \begin{macro}{\tud@font@heading}
+% \begin{macro}{\tud@font@heading@size}
+% \begin{macro}{\tud@font@heading@numsize}
+% \begin{macro}{\tud@font@part}
+% \begin{macro}{\tud@font@part@number}
+% \begin{macro}{\tud@font@part@title}
+% \begin{macro}{\tud@font@chapter}
+% Es werden die zu Beginn der Klasse Größen der notwendigen Schriftelemente,
+% welche anhand der gewählten Dokumentschriftgröße definiert wurden, für die
+% weitere Verwendung gesichert. Außerdem wird in \cs{tud@font@heading} die
+% Schriftart für die Überschriften definiert. Falls die Schriftarten des \CDs
+% installiert wurden, wird DIN-Bold verwendet, sonst die Standardüberschriften.
+% \begin{macrocode}
+\newcommand*\tud@font@heading{\if@tud@din\dinbn\fi\tud@raggedright}
+\newcommand*\tud@font@heading@size{}
+\newcommand*\tud@font@heading@numsize{}
+\let\tud@font@heading@size\size@part%
+\let\tud@font@heading@numsize\size@partnumber%
+% \end{macrocode}
+% Anschließend werden später benötigte Schriftformatierungen erstellt.
+% \begin{macrocode}
+\newkomafont{tud@heading}{\tud@font@heading\tud@font@heading@size}%
+\newcommand*\tud@font@part{\usekomafont{tud@heading}\color{\tud@color@partfont}}
+\newcommand*\tud@font@part@number{\tud@font@part\tud@font@heading@numsize}
+%<*book|report>
+\newcommand*\tud@font@part@title{\tud@font@part\usesizeofkomafont{section}}
+\newcommand*\tud@font@chapter{%
+ \usekomafont{tud@heading}%
+ \color{\tud@color@chapterfont}%
+}
+%</book|report>
+% \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{macro}^^A \tud@font@heading@size
+% \end{macro}^^A \tud@font@heading
+% \begin{length}{\chapterheadingvskip}
+% \begin{length}{\headingsvskip}
+% Mit dieser Länge kann der Anwender die Überschriften von Titel, Teilen und
+% Kapiteln vertikal von ihrer Standardposition verschieben, welche vom \CD
+% eigentlich vorgegeben ist. Um die zuvor genannten Überschriften überhaupt auf
+% dieser Position zu setzen, ist die Länge \cs{tud@dim@headingsvskip} bereits
+% auf 30\,mm gesetzt, mit \cs{chapterheadingvskip} kann dies korrigiert werden.
+% Die Länge \cs{headingsvskip} existiert nur, um zur Version v1.0 kompatibel
+% zu sein.
+% \begin{macrocode}
+\newlength{\chapterheadingvskip}
+\newlength{\headingsvskip}
+\let\headingsvskip\chapterheadingvskip
+% \end{macrocode}
+% \end{length}^^A \headingsvskip
+% \end{length}^^A \chapterheadingvskip
+% \todo[v3.12]{%
+% Einbinden Schriften von titlehead, author, date, publishers und dedication
+% }
+% \begin{macro}{\tud@layout@process}
+% 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 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%
+ \tud@cmd@restore{maketitle}%
+ \tud@cmd@restore{@maketitle}%
+ \tud@font@koma@reset{title}%
+ \tud@font@koma@reset{subtitle}%
+ \tud@font@koma@reset{subject}%
+ \else%
+ \tud@cmd@store{maketitle}%
+ \tud@cmd@store{@maketitle}%
+ \tud@font@koma@set{title}{%
+ \usekomafont{tud@heading}%
+ \color{\tud@color@titlefont}%
+ }%
+ \tud@font@koma@set{subtitle}{%
+ \tud@font@heading%
+ \usesizeofkomafont{section}%
+ \color{\tud@color@titlefont}%
+ }%
+ \tud@font@koma@set{subject}{\color{\tud@color@titlefont}\sffamily}%
+ \let\maketitle\tud@maketitle%
+ \fi%
+% \end{macrocode}
+% Das gleiche für die Teileseiten.
+% \begin{macrocode}
+ \ifcase \tud@layout@part\relax%
+ \tud@cmd@restore{partheadstartvskip}%
+ \tud@cmd@restore{partheadmidvskip}%
+%<*book|report>
+ \tud@cmd@restore{partheadendvskip}%
+ \tud@cmd@restore{partheademptypage}%
+ \tud@cmd@restore{partpagestyle}%
+%</book|report>
+ \tud@cmd@restore{@part}%
+%<*book|report>
+ \tud@cmd@restore{@spart}%
+%</book|report>
+ \tud@sectioning@reset[addpart]{part}%
+ \tud@font@koma@reset{partnumber}%
+% \end{macrocode}
+% Es werden die Standardbefehle gesichert und für das \CD angepasst.
+% \begin{macrocode}
+ \else%
+ \tud@cmd@store{partheadstartvskip}%
+ \tud@cmd@store{partheadmidvskip}%
+%<*book|report>
+ \tud@cmd@store{partheadendvskip}%
+ \tud@cmd@store{partheademptypage}%
+ \tud@cmd@store{partpagestyle}%
+%</book|report>
+ \tud@cmd@store{@part}%
+%<*book|report>
+ \tud@cmd@store{@spart}%
+%</book|report>
+% \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.
+% \begin{macrocode}
+%<*book|report>
+ \if@tud@parttitle%
+ \tud@sectioning@set[addpart]{part}{\tud@font@part@title}%
+ \tud@font@koma@set{partnumber}{\tud@font@part@title}%
+ \renewcommand*\partheadmidvskip{\enskip}%
+ \else%
+ \tud@sectioning@set[addpart]{part}{\tud@font@part}%
+ \tud@font@koma@set{partnumber}{\tud@font@part@number}%
+ \renewcommand*\partheadmidvskip{%
+ \par\nobreak\vspace{.5\baselineskip}%
+ }%
+ \fi%
+%</book|report>
+% \end{macrocode}
+% Für die Artikel-Klasse gibt es die \opt{parttitle}-Option nicht.
+% \begin{macrocode}
+%<*article>
+ \tud@sectioning@set[addpart]{part}{\tud@font@part}%
+ \tud@font@koma@set{partnumber}{\tud@font@part@number}%
+ \renewcommand*\partheadmidvskip{\vskip.3\baselineskip}%
+%</article>
+% \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.
+% \begin{macrocode}
+ \let\partheadstartvskip\tud@partheadstartvskip%
+ \let\@part\tud@@part%
+%<*book|report>
+ \let\@spart\tud@@spart%
+%</book|report>
+% \end{macrocode}
+% Nachdem die Schriften in Gestalt und Position angepasst wurden, wird jetzt
+% das Layout für die Teileseiten festgelegt. Es wird der Satzspiegel und der
+% Seitenstil angepasst, 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 \opt{clearcolor} und
+% \opt{cleardoublespecialpage} die Rückseite farbig und in einem bestimmten
+% Seitenstil gesetzt.
+% \todo[v3.12]{partpagestyle und scrlayer, siehe \cs{tud@layout@switch}}
+% \begin{macrocode}
+%<*book|report>
+ \renewcommand*\partheadendvskip{%
+ \tud@cleardoublespecialpage{%
+ \tud@pagecolor{\tud@color@partpage}%
+ \def\tud@head@color{\tud@color@parthead}%
+ \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}%
+ \begingroup%
+ \let\ps@empty\ps@tudpage@empty%
+ \let\ps@plain\ps@tudpage@plain%
+ \clearpage%
+ \endgroup%
+ }
+ \loadgeometry{tudarea}%
+ }%
+ \renewcommand*\partheademptypage{}%
+%</book|report>
+ \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.
+% \begin{macrocode}
+%<*article>
+ \ifcase \tud@layout@part\relax%
+%</article>
+%<*book|report>
+ \ifcase \tud@layout@chapter\relax%
+ \tud@cmd@restore{chapterheadstartvskip}%
+ \tud@cmd@restore{chapterformat}%
+ \tud@cmd@restore{@chapter}%
+ \tud@cmd@restore{@schapter}%
+ \tud@cmd@restore{@@makechapterhead}%
+ \tud@cmd@restore{set@@@@preamble}%
+ \tud@sectioning@reset[addchap]{chapter}%
+ \tud@font@koma@reset{chapterprefix}%
+%</book|report>
+ \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.
+% \begin{macrocode}
+ \else%
+%<*book|report>
+ \tud@cmd@store{chapterheadstartvskip}%
+ \tud@cmd@store{chapterformat}%
+ \tud@cmd@store{@chapter}%
+ \tud@cmd@store{@schapter}%
+ \tud@cmd@store{@@makechapterhead}%
+ \tud@cmd@store{set@@@@preamble}%
+ \tud@sectioning@set[addchap]{chapter}{\tud@font@chapter}%
+ \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
+%</book|report>
+ \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}
+% \cs{chapterheadstartvskip} wird für die Position der Kapitelüberschriften im
+% \CD angepasst. Mit der Länge \cs{chapterheadingvskip} 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}
+%<*book|report>
+ \renewcommand*\chapterheadstartvskip{%
+ \def\tud@color@chapterpage{white}%
+ \def\tud@color@chapterfont{black}%
+ \ifcase \tud@layout@chapter\relax\or\or%
+ \def\tud@color@chapterpage{white}%
+ \def\tud@color@chapterfont{HKS41}%
+ \or%
+ \def\tud@color@chapterpage{HKS41!10}%
+ \def\tud@color@chapterfont{HKS41}%
+ \fi%
+ \vspace*{\dimexpr\tud@ta@headdiff+\tud@dim@headingsvskip}%
+ \if@tud@chapterpage\else\vspace*{\chapterheadingvskip}\fi%
+ }%
+% \end{macrocode}
+% Und wieder erfolgt die Zuweisung der angepassten Befehle über \cs{let}.
+% \begin{macrocode}
+ \let\@@makechapterhead\tud@@@makechapterhead%
+ \let\set@@@@preamble\tud@set@@@@preamble%
+%</book|report>
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@layout@process
+% \begin{macro}{\tud@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@color@partfont{black}%
+ \ifcase \tud@layout@part\relax\or\or%
+ \def\tud@color@partfont{HKS41}%
+ \fi%
+}{}{\tud@patch@wrn{tud@partheadstartvskip}}
+%</article>
+% \end{macrocode}
+% Für \cls{tudscrreprt}- und \cls{tudscrbook}-Klasse werden die Farben gesetzt
+% und die vertikalen Abstände neu definiert.
+% \todo[v3.12]{%
+% für part und chapter mehrere layer für ddc definieren, Satzspiegel abhängig
+% von \cs{tud@ddc@foot} entweder tudpage oder tudddc
+% }
+% \begin{macrocode}
+%<*book|report>
+\newcommand*\tud@partheadstartvskip{%
+ \def\tud@color@partfont{black}%
+ \def\tud@color@partpage{white}%
+ \def\tud@color@parthead{black}%
+ \ifcase \tud@layout@part\relax\or\or%
+ \def\tud@color@partfont{HKS41}%
+ \def\tud@color@partpage{white}%
+ \def\tud@color@parthead{HKS41}%
+ \or%
+ \def\tud@color@partpage{HKS41}%
+ \def\tud@color@partfont{HKS41!30}%
+ \def\tud@color@parthead{white}%
+ \fi%
+ \loadgeometry{tudpage}%
+ \begingroup%
+ \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}%
+ \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%
+ \tud@parttitle%
+ \else%
+ \usesizeofkomafont{partnumber}%
+ \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}%
+ \fi%
+ \endgroup%
+}
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \tud@partheadstartvskip
+%
+% \iffalse
+%<*book|report>
+% \fi
+%
+% \begin{macro}{\tud@parttitle}
+% Der Befehl \cs{tud@parttitle} wird für die Option \opt{parttitle}
+% definiert. Dieser setzt den Titel in Majuskeln auf jeder Teilseite.
+% \begin{macrocode}
+\newcommand*\tud@parttitle{%
+ \begingroup%
+ \usekomafont{tud@heading}%
+ \color{\tud@color@partfont}%
+ \tud@makeuppercase{\expandonce{\@@title}}%
+ \par\nobreak\vskip .5\baselineskip%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@parttitle
+%
+% \iffalse
+%</book|report>
+% \fi
+%
+% \begin{macro}{\tud@@part}
+% 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.
+% \begin{macrocode}
+%<*article>
+\let\tud@@part\@part
+\patchcmd{\tud@@part}%
+ {\size@partnumber{\partformat}}%
+ {\size@partnumber{\tud@makeuppercase\partformat}}%
+ {}{\tud@patch@wrn{@part}}%
+%</article>
+% \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>
+\let\tud@@part\@part
+\ifnum\scr@compatibility>\@nameuse{scr@v@3.11b}\relax
+ \patchcmd{\tud@@part}{%
+ \ifnumbered{part}{%
+ \size@partnumber{\partformat}%
+ \partheadmidvskip
+ }{}%
+ }{%
+ \ifnumbered{part}{%
+ \size@partnumber{\tud@makeuppercase\partformat}%
+ }{%
+ \size@partnumber{\strut}%
+ }%
+ \unskip\partheadmidvskip%
+ }{}{\tud@patch@wrn{@part}}%
+\else
+ \patchcmd{\tud@@part}{%
+ \ifnum \c@secnumdepth >-2\relax
+ \size@partnumber{\partformat}%
+ \partheadmidvskip
+ \fi
+ }{%
+ \ifnum \c@secnumdepth >-2\relax%
+ \size@partnumber{\tud@makeuppercase\partformat}%
+ \else%
+ \size@partnumber{\strut}%
+ \fi%
+ \unskip\partheadmidvskip%
+ }{}{\tud@patch@wrn{@part}}%
+\fi
+%</book|report>
+% \end{macrocode}
+% \end{macro}^^A \tud@@part
+%
+% \iffalse
+%<*book|report>
+% \fi
+%
+% \begin{macro}{\tud@@spart}
+% Bei den Teile-Befehlen ohne Gliederungsnummerierung muss zusätzlich der
+% Freiraum vorgehalten werden, damit alle Überschriften auf der gleichen
+% vertikalen Position liegen.
+% \begin{macrocode}
+\let\tud@@spart\@spart
+\patchcmd{\tud@@spart}{%
+ \normalfont
+ \sectfont\nobreak\size@part
+}{%
+ \normalfont\sectfont\nobreak%
+ \size@partnumber{\strut}%
+ \partheadmidvskip\unskip%
+ \size@part%
+}{}{\tud@patch@wrn{@spart}}
+% \end{macrocode}
+% \end{macro}^^A \tud@@spart
+% \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>1\relax\def\tud@abstract@level{1}\fi%
+ \KOMAoptions{titlepage=false}%
+ \addtokomafont{disposition}{\color{\tud@color@partfont}}%
+ \addtokomafont{dictumtext}{\color{\tud@color@partfont}}%
+ \color{\tud@color@partfont}%
+% \end{macrocode}
+% Hiermit wird der unterschiedliche Abstand bei Teil- und Kapitelpräambeln
+% ausgeglichen.
+% \begin{macrocode}
+ \vskip\dimexpr\topskip+.9\baselineskip%
+ \@afterindentfalse\@afterheading%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@partpreamble
+% \begin{macro}{\tud@@@makechapterhead}
+% Damit das Präfix des Kapitels bei der gegebenenfalls aktivierten Option
+% \opt{chapterprefix} in Majuskeln erscheint, wird dem Befehl
+% \cs{chapterformat}, welcher das Präfix enthält, der entsprechende Befehl
+% vorangestellt. Außerdem muss die Überschrift bei aktivierter
+% \opt{chapterprefix}-Option um die Höhe des Präfixes nach oben verschoben
+% werden, damit die Überschrift selbst auf der richtigen Höhe liegt.
+% \begin{macrocode}
+\newcommand*\tud@@@makechapterhead{}
+\let\tud@@@makechapterhead\@@makechapterhead
+\patchcmd{\tud@@@makechapterhead}{\chapterformat}{%
+ \if@chapterprefix%
+ \usesizeofkomafont{chapterprefix}%
+ \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}%
+ \fi%
+ \tud@makeuppercase{\chapterformat}%
+}{}{\tud@patch@wrn{@@makechapterhead}}
+% \end{macrocode}
+% Weiterhin müssen alle vertikalen Abstände gelöscht werden, damit die
+% Überschriften für alle Einstellungen 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}
+\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{%
+ \setlength{\parskip}{\z@}%
+ \size@chapter{#1}%
+}{}{\tud@patch@wrn{@@makechapterhead}}
+% \end{macrocode}
+% \end{macro}^^A \tud@@@makechapterhead
+% \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>1\relax\def\tud@abstract@level{1}\fi%
+ \KOMAoptions{titlepage=false}%
+% \end{macrocode}
+% Die Farb- und Schrifteinstellungen sind nur für reine Kapitelseiten notwendig.
+% \begin{macrocode}
+ \if@tud@chapterpage%
+ \if@tud@cdfonts%
+ \if@tud@heavyfont%
+ \TUDoptions{cdfont=heavy}%
+ \else%
+ \TUDoptions{cdfont}%
+ \fi%
+ \fi%
+ \addtokomafont{disposition}{\color{\tud@color@chapterfont}}%
+ \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}%
+ \color{\tud@color@chapterfont}%
+ \fi%
+ \@afterindentfalse\@afterheading%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@chapterpreamble
+% \begin{macro}{\tud@chapter@pre}
+% \begin{macro}{\tud@chapter@app}
+% Diese beiden Makros dienen zur Behandlung der Besonderheiten von spearaten
+% Kapitelseiten (Option~\opt{chapterpage}).
+% \begin{macrocode}
+\newcommand*\tud@chapter@pre{%
+ \if@tud@chapterpage%
+% \end{macrocode}
+% Der Seitenstil wird aus Gründen der Konsistenz auf den Stil von Teilseiten
+% gesetzt. Vorher wird dieser gesichert.
+% \begin{macrocode}
+ \tud@cmd@store{chapterpagestyle}%
+ \renewcommand*\chapterpagestyle{\partpagestyle}%
+% \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%
+ \fi%
+}
+\newcommand*\tud@chapter@app{%
+ \if@tud@chapterpage%
+% \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 das Ganze mit dem Befehl \cs{tud@cleardoublespecialpage}.
+% \begin{macrocode}
+ \tud@cleardoublespecialpage{%
+ \tud@pagecolor{\tud@color@chapterpage}%
+ \def\tud@head@color{\tud@color@chapterfont}%
+ \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}%
+ \clearpage%
+ }%
+% \end{macrocode}
+% Außerdem wird der Seitenstil der Kapitel wiederhergestellt und für den
+% Zweispaltensatz auf normales Verhalten zurückgestellt.
+% \begin{macrocode}
+ \tud@cmd@restore{chapterpagestyle}%
+ \if@restonecol\twocolumn\fi%
+ \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}
+% Die Änderungen 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}
+\AtEndPreamble{%
+ \pretocmd{\tud@nchapter}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@nchapter}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@schapter}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@schapter}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@ochapter}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@ochapter}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@naddchap}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@naddchap}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@saddchap}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@saddchap}{\tud@chapter@app}{}{}
+ \pretocmd{\tud@oaddchap}{\tud@chapter@pre}{}{}
+ \apptocmd{\tud@oaddchap}{\tud@chapter@app}{}{}
+}
+% \end{macrocode}
+% \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{\tudcls@name}{%
+ 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
+% \begin{macro}{\tud@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 werden das Makro für die Layouteinstellungen für
+% Teile bzw. Kapitel (\cs{tud@\dots preamble}) aufgerufen.
+% \begin{macrocode}
+\newcommand*\tud@set@@@@preamble{}
+\let\tud@set@@@@preamble\set@@@@preamble
+\patchcmd{\tud@set@@@@preamble}{%
+ \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
+}{%
+ \def\@tempa####1@####2{\@nameuse{tud@####1preamble}}%
+ \hbox to\hsize{%
+ \let\@parboxrestore\relax%
+ #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par%
+ }%
+}{}{\tud@patch@wrn{set@@@@preamble}}
+% \end{macrocode}
+% \end{macro}^^A \tud@set@@@@preamble
+% Damit ist das Intermezzo für die beiden Klassen \cls{tudscrbook} und
+% \cls{tudscrreprt} beendet.
+%
+% \iffalse
+%</book|report>
+% \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@subsection}
+% \begin{macro}{\tud@ssubsection}
+% \begin{macro}{\tud@subsubsection}
+% \begin{macro}{\tud@ssubsubsection}
+% 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 in der ersten Stufe 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.
+% \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{}
+%</book|report>
+\newcommand*\tud@section{}
+\newcommand*\tud@ssection{}
+\newcommand*\tud@subsection{}
+\newcommand*\tud@ssubsection{}
+\newcommand*\tud@subsubsection{}
+\newcommand*\tud@ssubsubsection{}
+% \end{macrocode}
+% \end{macro}^^A \tud@ssubsubsection
+% \end{macro}^^A \tud@subsubsection
+% \end{macro}^^A \tud@ssubsection
+% \end{macro}^^A \tud@subsection
+% \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@npart}
+% \begin{macro}{\tud@opart}
+% \begin{macro}{\tud@naddpart}
+% \begin{macro}{\tud@oaddpart}
+% \begin{macro}{\tud@nchapter}
+% \begin{macro}{\tud@ochapter}
+% \begin{macro}{\tud@naddchap}
+% \begin{macro}{\tud@oaddchap}
+% \begin{macro}{\tud@nsection}
+% \begin{macro}{\tud@osection}
+% \begin{macro}{\tud@nsubsection}
+% \begin{macro}{\tud@osubsection}
+% \begin{macro}{\tud@nsubsubsection}
+% \begin{macro}{\tud@osubsubsection}
+% Wird keine Sternversion verwendet, sind zwei weitere Hilfsmakros nötig, um
+% zwischen den Varianten mit und ohne optionales Argument zu entscheiden.
+% \begin{macrocode}
+\newcommand*\tud@npart{}
+\newcommand*\tud@opart{}
+\newcommand*\tud@naddpart{}
+\newcommand*\tud@oaddpart{}
+%<*book|report>
+\newcommand*\tud@nchapter{}
+\newcommand*\tud@ochapter{}
+\newcommand*\tud@naddchap{}
+\newcommand*\tud@oaddchap{}
+%</book|report>
+\newcommand*\tud@nsection{}
+\newcommand*\tud@osection{}
+\newcommand*\tud@nsubsection{}
+\newcommand*\tud@osubsection{}
+\newcommand*\tud@nsubsubsection{}
+\newcommand*\tud@osubsubsection{}
+% \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
+% \begin{macro}{\tud@sectioning@set}
+% \begin{macro}{\tud@sectioning@case}
+% \begin{macro}{\tud@sectioning@reset}
+% \begin{macro}{\tud@font@koma@set}
+% \begin{macro}{\tud@font@koma@reset}
+% Der Befehl\cs{tud@sectioning@set} sichert und überschreibt die gegebenen
+% Gliederungsbefehle 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 angegebenen Gliederungsbefehls ohne zusätzliche Definition der
+% Schrift. Dies ist für die von \KOMAScript{} zusätzlich 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@cmd@use{minisec}{\tud@makeuppercase{##1}}%
+ }%
+% \end{macrocode}
+% Hier erfolgt die Anpassung und Formatierung aller anderen Gliederungsbefehle.
+% \begin{macrocode}
+ }{%
+ \tud@sectioning@case{#2}%
+ \ifstrempty{#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. Für die Teileebene werden also
+% beispielsweise \cs{tud@part} und \cs{tud@spart} aufgerufen.
+% \begin{macrocode}
+ \@namedef{#1}{\@ifstar{\@nameuse{tud@s#1}}{\@nameuse{tud@#1}}}%
+% \end{macrocode}
+% Für die normale Version wird geprüft, ob ein optionales Argument angegeben
+% wurde. Am Beispiel nachvollzogen bedeutet dies, dass bei einem gegebenen
+% optionalen Argument der Befehl \cs{tud@opart} aufgerufen wird, sonst
+% \cs{tud@npart}.
+% \begin{macrocode}
+ \@namedef{tud@#1}{\@ifnextchar[%]
+ {\@nameuse{tud@o#1}}{\@nameuse{tud@n#1}}%
+ }%
+% \end{macrocode}
+% Für die normale Version 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}
+ \@namedef{tud@n#1}##1{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##1}}}%
+% \end{macrocode}
+% Für die Version mit optionalen Argument wird dieses einfach an den originalen
+% Befehl durchgereicht. Das obligatorische Argument wird wie immer mit
+% \cs{tud@makeuppercase} behandelt.
+% \begin{macrocode}
+ \@namedef{tud@o#1}[##1]##2{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##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}
+ \@namedef{tud@s#1}##1{\@nameuse{@@tud@#1}*{\tud@makeuppercase{##1}}}%
+}
+% \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}%
+ \ifstrempty{#1}{}{\tud@cmd@restore{#1}}%
+ \tud@font@koma@reset{#2}%
+}
+% \end{macrocode}
+% 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 zugewiesen, welches per Option angepasst
+% werden kann. Mit \cs{tud@font@koma@set} werden dem angegebenen Element die
+% gewünschten Schriftattribute zugeteilt. Dabei wird der entsprechenden Schrift
+% ein Makro zugewiesen, welches beliebig angepasst werden kann.
+% \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}%
+}
+% \end{macrocode}
+% Mit \cs{tud@font@koma@reset} 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@reset[1]{%
+ \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@font@koma@reset
+% \end{macro}^^A \tud@font@koma@set
+% \end{macro}^^A \tud@sectioning@reset
+% \end{macro}^^A \tud@sectioning@case
+% \end{macro}^^A \tud@sectioning@set
+% Dieser Befehl extrahiert aus einer verwendeten Schrift nur die dazugehörige
+% Schriftgröße.
+% \todo[v3.12]{\cs{usesizeofkomafont} raus}
+% \begin{macrocode}
+\providecommand*\usesizeofkomafont[1]{%
+ \begingroup%
+ \usekomafont{#1}%
+ \edef\reserved@a{\noexpand\endgroup%
+ \noexpand\fontsize{\f@size}{\f@baselineskip}}%
+ \reserved@a\selectfont%
+}
+% \end{macrocode}
+%
+% \iffalse
+%</class&!option>
+% \fi
+%
+% \Finale
+%
+\endinput \ No newline at end of file