diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx | 1532 |
1 files changed, 1532 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..50ea0d764dd --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx @@ -0,0 +1,1532 @@ +% \CheckSum{1021} +% \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> +\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-layout.dtx}[% + 2014/11/21 v2.02 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} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v2.02}{2014/07/08}{Nutzung \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{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@cover} +% \changes{v2.02}{2014/08/08}{neu}^^A +% \begin{macro}{\tud@layout@title} +% \begin{macro}{\tud@layout@part} +% \begin{macro}{\tud@layout@chapter} +% \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} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@cover}{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +%<*book|report> +\csdef@lock{tud@layout@chapter}{0} +%</book|report> +% \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,% + {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} +% Es folgt die eigentliche Option. +% \begin{macrocode} +\TUD@key{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@cover}{0}% + \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@cover}{1}% + \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}% +% \end{macrocode} +% Die Umschlagseite wird standardmäßig immer monochrom gesetzt. +% \begin{macrocode} + \csstd@lock{tud@layout@cover}{1}% + \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@cover}{1}% + \csstd@lock{tud@layout@title}{3}% +% \end{macrocode} +% Ein komplett farbiges Layout ist bloß für 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% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@layout@switch +% \end{macro}^^A \tud@layout@chapter +% \end{macro}^^A \tud@layout@part +% \end{macro}^^A \tud@layout@title +% \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 +% 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% + \csset@lock{tud@layout@cover}{0}% + \or% + \csset@lock{tud@layout@cover}{1}% + \or% + \csset@lock{tud@layout@cover}{2}% + \or% + \csset@lock{tud@layout@cover}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +% \end{option}^^A cdcover +% \begin{option}{cdtitle} +% \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% + \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% + \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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \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% + \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@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \csset@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \fi% + \if@atdocument\tud@layout@process\fi% + \fi% +} +%</book|report> +% \end{macrocode} +% \end{option}^^A cdchapter +% \begin{option}{headings} +% 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} +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{headings}{% + \AtEndOfFamilyOptions{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% + \ifcase \tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% +%<*book|report> + \fi% + \ifcase \tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% + \let\chapterheadstartvskip\tud@chapterheadstartvskip% +%</book|report> + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% + }% +} +% \end{macrocode} +% \end{option}^^A headings +% +% \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} +% \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}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@layout@process\fi% + \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 +% \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 +% \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@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% + }{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \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. +% \begin{macrocode} + \ifx\@currname\tudcls@name% + \ifx\@currext\@clsextension% + \ifstr{#1}{headings}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{% + \tud@ifinpslist{#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + \FamilyKeyStateProcessed% + }{}% + }% + \fi% + \fi% + }% + }}}% + \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&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@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 +% \begin{KOMAfont}{tud@heading} +% \changes{v2.02}{2014/08/24}{entfernt}%^^A +% \begin{KOMAfont}{parttitle} +% \begin{macro}{\tud@font@heading} +% \begin{macro}{\tud@font@heading@size} +% \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 +% Mit \cs{tud@font@heading} wird die Schriftart für Ü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\tud@raggedright\else\tud@RaggedRight\fi% +} +\newcommand*\tud@font@heading@size{\Huge} +% \end{macrocode} +% Anschließend wird das Schriftelement für die Option \opt{parttitle} erstellt. +% \begin{macrocode} +\newkomafont{parttitle}{% + \tud@font@heading% + \color{\tud@color@partfont}% + \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{macro}^^A \tud@font@heading@size +% \end{macro}^^A \tud@font@heading +% \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@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% + \stdbool@lock{@tud@cover@cdlayout}{false}% + \else% + \stdbool@lock{@tud@cover@cdlayout}{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% + \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% + \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% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{% + \fontfamily{\sfdefault}% + \fontseries{\bfdefault}% + \selectfont% + \color{\tud@color@titlefont}% + }% + \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. +% \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@unset{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}{\usekomafont{parttitle}}% + \tud@font@koma@set{partnumber}{\usekomafont{parttitle}}% + \renewcommand*\partheadmidvskip{\enskip}% + \else% + \tud@sectioning@set[addpart]{part}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \tud@font@koma@set{partnumber}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \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@heading% + \color{\tud@color@partfont}% + }% + \tud@font@koma@set{partnumber}{% + \tud@font@heading% + \color{\tud@color@partfont}% + }% + \renewcommand*\partheadmidvskip{\par\nobreak\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% +%<*book|report> + \let\partheadendvskip\tud@partheadendvskip% + \renewcommand*\partheademptypage{}% + \renewcommand*\partpagestyle{plain.tudheadings}% +%</book|report> + \let\@part\tud@@part% +%<*book|report> + \let\@spart\tud@@spart% +%</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@sectioning@reset[addchap]{chapter}% + \tud@font@koma@unset{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@sectioning@set[addchap]{chapter}{% + \tud@font@heading% + \tud@font@heading@size% + \color{\tud@color@chapterfont}% + }% + \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} +% Und wieder erfolgt die Zuweisung der angepassten Befehle über \cs{let}. +% \begin{macrocode} +%<*book|report> + \let\chapterheadstartvskip\tud@chapterheadstartvskip% + \let\@@makechapterhead\tud@@@makechapterhead% +%</book|report> + \fi% +} +% \end{macrocode} +% Die beteiligten Optionen führen den Befehl nur nach der Präambel aus. Um die +% Grundeinstellungen zu Beginn des Dokumentes umzusetzen, werden die Befehle +% am Ende der Präambel einmalig ausgeführt. +% \begin{macrocode} +\AtEndPreamble{% + \let\tud@font@heading@size\size@part% + \tud@layout@process% +} +% \end{macrocode} +% \end{macro}^^A \tud@layout@process +% \begin{macro}{\tud@partheadstartvskip} +% \changes{v2.02}{2014/11/05}{Nutzung der Option \opt{parttitle} verbessert}%^^A +% 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. +% \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% + \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% + \color{\tud@color@partfont}% + \ifx\@@title\@empty% + \tud@makeuppercase{\strut}% + \else% + \tud@makeuppercase{\@@title}% + \fi% + \par\nobreak\vskip .775\baselineskip% + \endgroup% + \else% + \usekomafont{partnumber}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \fi% + \endgroup% +} +%</book|report> +% \end{macrocode} +% \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{% + \tud@pagecolor{\tud@color@partpage}% + \def\tud@head@color{\tud@color@parthead}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \clearpage% + }% +} +% \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 +%</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 +\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}}% +%</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\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@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@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% + \if@tud@chapterpage% + \vspace*{\pageheadingsvskip}% + \else% + \vspace*{\headingsvskip}% + \fi% +}% +% \end{macrocode} +% \end{macro}^^A \tud@chapterheadstartvskip +% \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}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \endgroup% + \fi% +}{}{\tud@patch@wrn{@@makechapterhead}} +\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \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=true}% + \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 +% 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. 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. +% \begin{macrocode} +\patchcmd{\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% + \let\phantomsection\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +% \end{macrocode} +% \begin{macro}{\tud@chapter@pre} +% \begin{macro}{\tud@chapter@app} +% Diese beiden Makros dienen zur Behandlung der Besonderheiten von spearaten +% Kapitelseiten (Option~\opt{chapterpage}). Eingefügt werden sie für die +% die Gliederungsbefehle der Kapitel innerhalb von \cs{tud@sectioning@case}. +% \begin{macrocode} +\newcommand*\tud@chapter@pre{% + \if@tud@chapterpage% +% 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 dies mit \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 für den Zweispaltensatz auf normales Verhalten zurückgestellt. +% \begin{macrocode} + \if@restonecol\twocolumn\fi% +% \end{macrocode} +% Sollten keine reinen Kapitelseiten verwendet werden, muss gegebenenfalls im +% Fuß genügend Freiraum für das \DDC-Logo gelassen werden. +% \begin{macrocode} + \else% + \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \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@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 +% Damit ist das Intermezzo für die beiden Klassen \cls{tudscrbook} und +% \cls{tudscrreprt} beendet. +% +% \iffalse +%</book|report> +% \fi +% +% \begin{macro}{\SecDef} +% \begin{macro}{\scr@section@dblarg} +% \begin{macro}{\scr@section@xdblarg} +% Diese Befehle werden ab der \KOMAScript-Version~v3.13a eingeführt. Damit +% werden obligatorische Argumente der Gliederungsebenen besser auf das +% optionale Argument dupliziert, falls dieses nicht angegeben wurde. Damit das +% auch mit der Version~v3.12 funktioniert, werden die entsprechenden Befehle +% hier bereitgehalten. +% \begin{macrocode} +\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} +\providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% +} +\providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a +} +% \end{macrocode} +% \end{macro}^^A \scr@section@xdblarg +% \end{macro}^^A \scr@section@dblarg +% \end{macro}^^A \SecDef +% \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} +% \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{} +%</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@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@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 +% \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} +% 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}% + \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. 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% +%</book|report> +} +% \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@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} +% 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}% +} +% \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 +% \end{macro}^^A \tud@sectioning@uppercase +% \end{macro}^^A \tud@sectioning@reset +% \end{macro}^^A \tud@sectioning@case +% \end{macro}^^A \tud@sectioning@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 +% +% \iffalse +%</class&body> +% \fi +% +% \Finale +% +\endinput |