summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx1945
1 files changed, 1256 insertions, 689 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx
index f3c196cde38..311650d066a 100644
--- a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx
@@ -1,29 +1,33 @@
-% \CheckSum{1513}
+% \CheckSum{1954}
% \iffalse meta-comment
-% ======================================================================
+%
+% ============================================================================
+%
+% TUD-KOMA-Script
+% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015
+%
+% ============================================================================
+%
+% This work may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License, version 1.3c of the license. The latest
+% version of this license is in http://www.latex-project.org/lppl.txt and
+% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+% or later and of this work. This work has the LPPL maintenance status
+% "author-maintained". The current maintainer and author of this work
+% is Falk Hanisch.
+%
+% ----------------------------------------------------------------------------
+%
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%
+% ============================================================================
%
-% 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
@@ -47,7 +51,7 @@
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-pagestyle.dtx}[%
- 2014/12/17 v2.02 TUD-KOMA-Script (pagestyle)%
+ 2015/02/15 v2.03 TUD-KOMA-Script (pagestyle)%
]
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrdoc}
@@ -69,7 +73,7 @@
% \selectlanguage{ngerman}
%
% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A
-% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A
+% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A
%
% \section{Der Seitenstil des \CDs}
%
@@ -98,60 +102,62 @@
%<*class&body>
% \fi
%
-% \begin{length}{\tud@dim@left}
-% \begin{length}{\tud@dim@right}
+% \begin{length}{\tud@dim@widemargin}
+% \begin{length}{\tud@dim@slimmargin}
% \begin{length}{\tud@dim@both}
% Die Seitenränder für links und rechts sowie deren Summe, welche später für
% weitere Layouts dazu verwendet wird, diese anteilig zu verteilen.
% \begin{macrocode}
-\newlength{\tud@dim@left}
-\newlength{\tud@dim@right}
-\newlength{\tud@dim@both}
+\newlength\tud@dim@widemargin
+\newlength\tud@dim@slimmargin
+\newlength\tud@dim@both
% \end{macrocode}
% \end{length}^^A \tud@dim@both
-% \end{length}^^A \tud@dim@right
-% \end{length}^^A \tud@dim@left
+% \end{length}^^A \tud@dim@slimmargin
+% \end{length}^^A \tud@dim@widemargin
% \begin{length}{\tud@dim@top}
+% \changes{v2.02}{2015/01/09}{entfernt}%^^A
% \begin{length}{\tud@dim@bottom}
+% \changes{v2.02}{2015/01/09}{entfernt}%^^A
% \begin{length}{\tud@dim@footskip}
-% Die Seitenränder für sowohl oben als auch unten sowie der Abstand zwischen
-% Textkörper und Fußzeile.
-% \begin{macrocode}
-\newlength{\tud@dim@top}
-\newlength{\tud@dim@bottom}
-\newlength{\tud@dim@footskip}
-% \end{macrocode}
+% \changes{v2.02}{2015/01/09}{entfernt}%^^A
+% Die Befehle wurden mit der \TUDScript-Version~v2.03 allesamt entfernt, da
+% diese redundant waren und implizit durch andere, bereits für das \CD
+% definierte Längen dargestellt werden können.
% \end{length}^^A \tud@dim@footskip
% \end{length}^^A \tud@dim@bottom
% \end{length}^^A \tud@dim@top
-% \begin{length}{\tud@dim@headheight}
+% \begin{length}{\tud@dim@topmargin}
% \begin{length}{\tud@dim@barheight}
% \begin{length}{\tud@dim@headsep}
+% \begin{length}{\tud@dim@footsep}
% Es folgen die speziellen Maße für die Seiten mit dem TUD-Kopf, also die Höhe
% oberhalb des Querbalkens, die Höhe des Querbalkens selbst sowie der vertikale
-% (Mindest"~)Abstand zwischen Querbalken und Textkörper.
+% (Mindest"~)Abstand zwischen Querbalken und Textkörper sowie der Fußzeile.
% \begin{macrocode}
-\newlength{\tud@dim@headheight}
-\newlength{\tud@dim@barheight}
-\newlength{\tud@dim@headsep}
+\newlength\tud@dim@topmargin
+\newlength\tud@dim@barheight
+\newlength\tud@dim@headsep
+\newlength\tud@dim@footsep
% \end{macrocode}
+% \end{length}^^A \tud@dim@footsep
% \end{length}^^A \tud@dim@headsep
% \end{length}^^A \tud@dim@barheight
-% \end{length}^^A \tud@dim@headheight
+% \end{length}^^A \tud@dim@topmargin
% \begin{length}{\tud@dim@logox}
% \begin{length}{\tud@dim@logoy}
% \begin{length}{\tud@dim@logowidth}
% \begin{length}{\tud@dim@logoheight}
+% \changes{v2.03}{2015/01/13}{entfernt}%^^A
% Außerdem müssen noch die Abmessungen und die Position des TUD-Logos definiert
% werden, nämlich der horizontale (Soll"~)Abstand zwischen linkem Seitenrand
% und Logo, der vertikale (Soll"~)Abstand zwischen oberem Seitenrand und Logo
% sowie die Breite und Höhe\footnote{Proportionen sind durch die Grafik
% vorgegeben} des Logos.
% \begin{macrocode}
-\newlength{\tud@dim@logox}
-\newlength{\tud@dim@logoy}
-\newlength{\tud@dim@logowidth}
-\newlength{\tud@dim@logoheight}
+\newlength\tud@dim@logox
+\newlength\tud@dim@logoy
+\newlength\tud@dim@logowidth
% \end{macrocode}
% \end{length}^^A \tud@dim@logoheight
% \end{length}^^A \tud@dim@logowidth
@@ -159,8 +165,8 @@
% \end{length}^^A \tud@dim@logox
% \begin{length}{\tud@dim@line}
% \changes{v2.02}{2014/06/23}{neu}%^^A
-% \begin{length}{\tud@dim@thinline}
% \begin{length}{\tud@dim@heavyline}
+% \begin{length}{\tud@dim@thinline}
% Die Linienstärke der Outline im Kopf ist für ein monochromes Layout schmaler
% als im Layout mit farbigem Hintergrund.\footnote{%
% monochrom \cs{tud@dim@thinline}, koloriert \cs{tud@dim@heavyline}}%
@@ -168,141 +174,93 @@
% \cs{tud@dim@line} durch den Seitenstil situativ entweder auf den Wert von
% \cs{tud@dim@thinline} oder aber \cs{tud@dim@heavyline} gesetzt.
% \begin{macrocode}
-\newlength{\tud@dim@line}
-\newlength{\tud@dim@thinline}
-\newlength{\tud@dim@heavyline}
+\newlength\tud@dim@line
+\newlength\tud@dim@heavyline
+\newlength\tud@dim@thinline
% \end{macrocode}
-% \end{length}^^A \tud@dim@heavyline
% \end{length}^^A \tud@dim@thinline
+% \end{length}^^A \tud@dim@heavyline
% \end{length}^^A \tud@dim@line
+% \begin{length}{\tud@dim@headdiff}
% \begin{length}{\tud@dim@headingsvskip}
-% Die Länge für den vertikalen Standardversatz der Überschriften.
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% Die Längen für den vertikalen Standardversatz der Überschriften sowie die
+% Differenz der Kopfhöhen von normalem Satzspiegel und dem mit dem TUD-Kopf.
% \begin{macrocode}
-\newlength{\tud@dim@headingsvskip}
+\newlength\tud@dim@headdiff
+\newlength\tud@dim@headingsvskip
% \end{macrocode}
+% \end{length}^^A \tud@dim@headdiff
% \end{length}^^A \tud@dim@headingsvskip
-% \begin{length}{\tud@dim@headdiff}
-% \changes{v2.02}{2014/06/23}{neu}%^^A
% \begin{length}{\tud@dim@ddcdiff}
% \changes{v2.02}{2014/06/23}{neu}%^^A
-% \begin{length}{\tud@dim@ddcfoot}
-% \changes{v2.02}{2014/06/23}{neu, Umbenennung von \cs{tud@dim@ddcheight}}%^^A
-% Zu guter Letzt noch die Höhe des \DDC-Logos in der Fußzeile. Die maximale Höhe
-% der Fußzeile ist fest vorgegeben.
+% Zu guter Letzt noch die Länge \cs{tud@dim@ddcdiff} für den Höhenausgleich des
+% Seitenfußes, welcher bei der Verwendung des \DDC-Logos in der Fußzeile bei
+% Version~v2.02 für den Satzspiegel notwendig war. Dieser etwas verschrobene
+% Satzspiegel wird im Kompatibilitätsmodus weiterhin angeboten.
% \begin{macrocode}
-\newlength{\tud@dim@headdiff}
-\newlength{\tud@dim@ddcdiff}
-\newlength{\tud@dim@ddcfoot}
+\iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{}
% \end{macrocode}
-% \end{length}^^A \tud@dim@ddcfoot
% \end{length}^^A \tud@dim@ddcdiff
-% \end{length}^^A \tud@dim@headdiff
% \begin{macro}{\tud@geometry@set}
+% \changes{v2.03}{2015/01/23}{Längenberechnung für den Satzspiegel an
+% Referenzlänge \cs{tud@dim@widemargin} gekoppelt}%^^A
% \begin{macro}{\tud@head@font@size}
% Hiermit werden in Abhängigkeit der gewählten Papiergröße die Maße für die
% Größe der Kopfzeile, die Position des Logos, die Seitenränder sowie die
% Schriftgröße in der Kopfzeile definiert. Aufgerufen wird der Befehl durch
-% \cs{tud@geometry@process}.
+% \cs{tud@geometry@process}. Dabei fungiert \cs{tud@dim@widemargin} als
+% Bezugslänge. Die maßgebliche Papiergröße ist DIN~A4. Die Längen für alle
+% anderen Papiermaße unterscheiden sich um den Faktor~$\sqrt{2}$, wobei das
+% Format DIN~A5 nach den Vorgaben des \CDs übersprungen wird.
% \begin{macrocode}
\newcommand*\tud@head@font@size{}
\newcommand*\tud@geometry@set{%
\ifdim\paperheight<148.1mm\relax%
- \setlength{\tud@dim@headheight}{17.5mm}%
- \setlength{\tud@dim@barheight}{2.5mm}%
- \setlength{\tud@dim@headsep}{6mm}%
- \setlength{\tud@dim@logox}{5.5mm}%
- \setlength{\tud@dim@logoy}{6.5mm}%
- \setlength{\tud@dim@logowidth}{28.5mm}%
- \setlength{\tud@dim@left}{15mm}%
- \setlength{\tud@dim@right}{10mm}%
- \setlength{\tud@dim@top}{12.5mm}%
- \setlength{\tud@dim@bottom}{12.5mm}%
- \setlength{\tud@dim@footskip}{6mm}%
- \setlength{\tud@dim@heavyline}{0.75pt}%
- \setlength{\tud@dim@thinline}{0.5pt}%
+ \setlength\tud@dim@widemargin{15mm}%
+ \setlength\tud@dim@heavyline{0.5pt}%
+ \setlength\tud@dim@thinline{0.25pt}%
\def\tud@head@font@size{4.5}%
\else\ifdim\paperheight<297.1mm\relax%
- \setlength{\tud@dim@headheight}{35mm}%
- \setlength{\tud@dim@barheight}{5mm}%
- \setlength{\tud@dim@headsep}{12mm}%
- \setlength{\tud@dim@logox}{11mm}%
- \setlength{\tud@dim@logoy}{13.5mm}%
- \setlength{\tud@dim@logowidth}{57mm}%
- \setlength{\tud@dim@left}{30mm}%
- \setlength{\tud@dim@right}{20mm}%
- \setlength{\tud@dim@top}{25mm}%
- \setlength{\tud@dim@bottom}{25mm}%
- \setlength{\tud@dim@footskip}{12mm}%
- \setlength{\tud@dim@heavyline}{1pt}%
- \setlength{\tud@dim@thinline}{0.5pt}%
+ \setlength\tud@dim@widemargin{30mm}%
+ \setlength\tud@dim@heavyline{1pt}%
+ \setlength\tud@dim@thinline{0.5pt}%
\def\tud@head@font@size{9}%
\else\ifdim\paperheight<420.1mm\relax%
- \setlength{\tud@dim@headheight}{50mm}%
- \setlength{\tud@dim@barheight}{7mm}%
- \setlength{\tud@dim@headsep}{17mm}%
- \setlength{\tud@dim@logox}{15.5mm}%
- \setlength{\tud@dim@logoy}{19mm}%
- \setlength{\tud@dim@logowidth}{80mm}%
- \setlength{\tud@dim@left}{42mm}%
- \setlength{\tud@dim@right}{28mm}%
- \setlength{\tud@dim@top}{35mm}%
- \setlength{\tud@dim@bottom}{35mm}%
- \setlength{\tud@dim@footskip}{17mm}%
- \setlength{\tud@dim@heavyline}{1.4pt}%
- \setlength{\tud@dim@thinline}{0.7pt}%
- \def\tud@head@font@size{13}%
+ \setlength\tud@dim@widemargin{42.426407mm}%
+ \setlength\tud@dim@heavyline{1.414214pt}%
+ \setlength\tud@dim@thinline{0.707107pt}%
+ \def\tud@head@font@size{12.727922}%
\else\ifdim\paperheight<594.1mm\relax%
- \setlength{\tud@dim@headheight}{70mm}%
- \setlength{\tud@dim@barheight}{10mm}%
- \setlength{\tud@dim@headsep}{24mm}%
- \setlength{\tud@dim@logox}{22mm}%
- \setlength{\tud@dim@logoy}{27mm}%
- \setlength{\tud@dim@logowidth}{114mm}%
- \setlength{\tud@dim@left}{60mm}%
- \setlength{\tud@dim@right}{40mm}%
- \setlength{\tud@dim@top}{50mm}%
- \setlength{\tud@dim@bottom}{50mm}%
- \setlength{\tud@dim@footskip}{24mm}%
- \setlength{\tud@dim@heavyline}{1.7pt}%
- \setlength{\tud@dim@thinline}{1pt}%
- \def\tud@head@font@size{13.5}%
+ \setlength\tud@dim@widemargin{60mm}%
+ \setlength\tud@dim@heavyline{2pt}%
+ \setlength\tud@dim@thinline{1pt}%
+ \def\tud@head@font@size{18}%
\else\ifdim\paperheight<841.1mm\relax%
- \setlength{\tud@dim@headheight}{100mm}%
- \setlength{\tud@dim@barheight}{14mm}%
- \setlength{\tud@dim@headsep}{34mm}%
- \setlength{\tud@dim@logox}{31mm}%
- \setlength{\tud@dim@logoy}{38mm}%
- \setlength{\tud@dim@logowidth}{161.5mm}%
- \setlength{\tud@dim@left}{85mm}%
- \setlength{\tud@dim@right}{56.5mm}%
- \setlength{\tud@dim@top}{71mm}%
- \setlength{\tud@dim@bottom}{71mm}%
- \setlength{\tud@dim@footskip}{34mm}%
- \setlength{\tud@dim@heavyline}{1.9pt}%
- \setlength{\tud@dim@thinline}{1.5pt}%
- \def\tud@head@font@size{14}%
+ \setlength\tud@dim@widemargin{84.852814mm}%
+ \setlength\tud@dim@heavyline{2.828427pt}%
+ \setlength\tud@dim@thinline{1.414214pt}%
+ \def\tud@head@font@size{25.455844}%
\else%
- \setlength{\tud@dim@headheight}{140mm}%
- \setlength{\tud@dim@barheight}{20mm}%
- \setlength{\tud@dim@headsep}{48mm}%
- \setlength{\tud@dim@logox}{44mm}%
- \setlength{\tud@dim@logoy}{54mm}%
- \setlength{\tud@dim@logowidth}{228mm}%
- \setlength{\tud@dim@left}{120mm}%
- \setlength{\tud@dim@right}{80mm}%
- \setlength{\tud@dim@top}{100mm}%
- \setlength{\tud@dim@bottom}{100mm}%
- \setlength{\tud@dim@footskip}{48mm}%
- \setlength{\tud@dim@heavyline}{2.1pt}%
- \setlength{\tud@dim@thinline}{2pt}%
- \def\tud@head@font@size{20}%
+ \setlength\tud@dim@widemargin{120mm}%
+ \setlength\tud@dim@heavyline{4pt}%
+ \setlength\tud@dim@thinline{2pt}%
+ \def\tud@head@font@size{36}%
\fi\fi\fi\fi\fi%
- \setlength{\tud@dim@both}{\dimexpr\tud@dim@left+\tud@dim@right\relax}%
% \end{macrocode}
-% Hiermit wird sichergestellt, dass bei der Verwendung des \DDC-Logos im Fuß
-% ausreichend Platz zur Verfügung steht.
-% \begin{macrocode}
- \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}%
+% Zum Schluss werden die restlichen Längen aus der Referenzlänge berechnet.
+% \begin{macrocode}
+ \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}%
+ \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}%
+ \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}%
+ \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}%
+ \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}%
+ \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}%
+ \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}%
+ \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}%
+ \setlength\tud@dim@footsep{%
+ \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax%
+ }%
}
% \end{macrocode}
% \end{macro}^^A \tud@head@font@size
@@ -310,7 +268,7 @@
%
% \subsection{Unterstützung der \cls{standalone}-Klasse}
%
-% \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}"=Klasse}%^^A
+% \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}-Klasse}%^^A
%
% Mit der Klasse~\cls{standalone} können insbesondere Grafiken als separate
% Dateien erzeugt und später im Dokument eingebunden werden. Diese Klasse
@@ -318,7 +276,7 @@
% der Verwendung mit den \TUDScript-Klassen nicht in die Quere kommen, müssen
% für einige Einstellungen unterdrückt werden.
%
-% \begin{macro}{\tud@ifsacrop}
+% \begin{macro}{\ifstandalonecrop}
% \changes{v2.02}{2014/09/08}{neu}%^^A
% Mit diesem Makro kann die Verwendung der Option \opt{crop} mit der Klasse
% \cls{standalone} geprüft werden. Das erste Argument wird ausgeführt, wenn
@@ -326,7 +284,7 @@
% ausgeführt, wenn entweder die Option \opt{crop} deaktiviert ist oder die
% Klasse \cls{standalone} gar nicht geladen wurde.
% \begin{macrocode}
-\newcommand*\tud@ifsacrop{%
+\newcommand*\ifstandalonecrop{%
\ifcsdef{ifsa@crop}{%
\ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}%
}{%
@@ -334,7 +292,7 @@
}%
}
% \end{macrocode}
-% \end{macro}^^A \tud@ifsacrop
+% \end{macro}^^A \ifstandalonecrop
%
% Ist die Klasse \cls{standalone} zusammen mit der Option \opt{crop} aktiv,
% werden die Seitenränder auf die Einstellungen dieser Klasse gesetzt und das
@@ -342,7 +300,7 @@
%
% \begin{macrocode}
\AtEndPreamble{%
- \tud@ifsacrop{%
+ \ifstandalonecrop{%
\PreventPackageFromLoading{scrlayer-scrpage}%
\pagestyle{empty}%
\hoffset=-72.27pt%
@@ -357,7 +315,7 @@
\oddsidemargin=0pt%
\evensidemargin=0pt%
\topskip=0pt%
- \textheight=\dimexpr\maxdimen%
+ \textheight=\maxdimen%
}{}%
}
% \end{macrocode}
@@ -378,198 +336,438 @@
% \changes{v2.02}{2014/06/23}{neu}%^^A
% \begin{pagestyle}{empty.tudheadings}
% \changes{v2.02}{2014/06/23}{neu}%^^A
-% Es wird ein neuer Seitenstil kreiert, der das \CD der TU~Dresden mit der
+% Es wird ein neuer Seitenstil kreiert, der das \CD der \TnUD mit der
% prägenden Kopfzeile umsetzt. Dabei soll dieser Kopf auch verwendbar sein,
% wenn nicht die vom \CD vorgeschriebenen Seitenränder sondern das Paket
% \pkg{typearea} genutzt wird. Dafür wird das Logo im Kopf so wie im \CD
% vorgesehen mit dem Logo der \TnUD in den Rand und dem Schriftzug bündig zum
-% Textblock gesetzt. Für den Fall, dass das Dokument nicht ausschließlich mit
-% dem TUD-Kopf auf jeder Seite gesetzt wird, muss der komplette vertikale
-% Satzspiegel angepasst werden, sonst wäre der obere Rand optisch viel zu groß.
-% Hierfür wird das Paket \pkg{geometry} genutzt.Durch \cs{tud@geometry@process}
-% werden drei Layouts erstellt. Diese können mit \cs{loadgeometry}\marg{Stil}
-% geladen werden.
+% Textblock gesetzt.
+%
+% Für das Erzeugen der Seitenstile wird das Paket \pkg{scrlayer-scrpage}
+% genutzt. Mit diesem können verschiedene Ebenen erstellt werden, aus welchen
+% anschließend der eigentliche Seitenstil zusammengesetzt wird.
% \begin{macrocode}
\AtEndPreamble{%
% \end{macrocode}
% Damit der Anwender beliebige Optionen an \pkg{scrlayer-scrpage} übergeben
% kann, wird das Paket erst zum Ende der Präambel geladen, wenn dies nicht
-% bereits vorher geschehen ist.
-% \ToDo{Versionsanforderung rein, sobald aktuelle Version auf CTAN vorhanden}
+% bereits vorher geschehen ist. Anschließend werden verschiedene, sogeannte
+% Layers respektive Ebenen für die einzelnen Elemente auf einer Seite erstellt.
% \begin{macrocode}
\RequirePackage{scrlayer-scrpage}[2013/12/14]%
+ \AfterPackage*{scrlayer-scrpage}{%
% \end{macrocode}
-% Anschließend werden verschiedene, sogeannte Layers für die einzelnen Elemente
-% auf einer Seite erstellt. Dies sind das aus dem Satzspiegel nach links
-% verschobene Logo der \TnUD sowie \dots
+% \begin{layer}{tudheadings.head.mainlogo}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \begin{layer}{tudheadings.head.logo}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% Dies sind das links aus dem Satzspiegel verschobene Logo der \TnUD, \dots
% \begin{macrocode}
- \AfterPackage*{scrlayer-scrpage}{%
\DeclareNewLayer[%
- background,head,align=tl,%
+ background,headsep,%
voffset=\tud@dim@logoy,%
contents={%
- \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo%
+ \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}%
+ \tud@mainlogo%
},%
]{tudheadings.head.mainlogo}%
% \end{macrocode}
-% \dots das Zweitlogo, \dots
+% \dots und das Zweitlogo.
% \begin{macrocode}
\DeclareNewLayer[%
- background,head,align=tl,%
+ background,headsep,%
voffset=\tud@dim@logoy,%
contents={\hfill\tud@headlogo},%
]{tudheadings.head.logo}%
% \end{macrocode}
-% \dots die obere und untere Linie des Querbalkens sowohl in der normalen
+% \end{layer}^^A tudheadings.head.logo
+% \end{layer}^^A tudheadings.head.mainlogo
+% \begin{layer}{tudheadings.head.back}
+% \changes{v2.03}{2015/02/14}{neu}%^^A
+% \begin{layer}{tudheadings.head.bar}
+% \changes{v2.03}{2015/02/14}{neu}%^^A
+% Außerdem gibt es eine Variante ohne Querbalken-Outline. Stattdessen werden
+% der Querbalken und der darüberliegende Kopf farbig abgesetzt.
+% \begin{macrocode}
+ \DeclareNewLayer[%
+ background,%
+ contents={%
+ \ifnum\tud@head@bar>\@ne\relax%
+ \color{HKS41}%
+ \rule{\layerwidth}{\tud@dim@topmargin}%
+ \fi%
+ },%
+ ]{tudheadings.head.back}%
+ \DeclareNewLayer[%
+ background,%
+ voffset=\tud@dim@topmargin,%
+ contents={%
+ \ifnum\tud@head@bar>\@ne\relax%
+ \color{HKS41!80}%
+ \rule{\layerwidth}{\tud@dim@barheight}%
+ \fi%
+ },%
+ ]{tudheadings.head.bar}%
+% \end{macrocode}
+% \end{layer}^^A tudheadings.head.bar
+% \end{layer}^^A tudheadings.head.back
+% \begin{layer}{tudheadings.head.text}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% Fakultät, Einrichtung, Institut und Lehrstuhl als Inhalt des Querbalkens.
+% \begin{macrocode}
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,%
+ contents={\tud@head@text@box},%
+ ]{tudheadings.head.text}%
+% \end{macrocode}
+% \end{layer}^^A tudheadings.head.text
+% \begin{layer}{tudheadings.head.upperline}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \begin{layer}{tudheadings.head.lowerline}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \begin{layer}{tudheadings.head.upperwideline}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \begin{layer}{tudheadings.head.lowerwideline}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% Die Ebenen für obere und untere Linie des Querbalkens sowohl in der normalen
% Version, welche den Textbereich überspannt als auch in der Variante über die
% komplette Seitenbreite. Dabei muss für beide Varianten der entsprechenden
% horizontale Versatz beachtet werden. Dafür wird ggf. der Parameter \val{head}
% von \pkg{scrlayer-scrpage} verwendet. Darauf folgt \dots
% \begin{macrocode}
\DeclareNewLayer[%
- background,head,align=tl,%
- voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,%
- contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},%
- ]{tudheadings.head.topline}%
- \DeclareNewLayer[%
- background,head,align=tl,%
- voffset={%
- \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax%
+ background,headsep,%
+ voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else%
+ \tud@head@rule{\textwidth}%
+ \fi\fi%
},%
- contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},%
- ]{tudheadings.head.bottomline}%
+ ]{tudheadings.head.upperline}%
\DeclareNewLayer[%
- background,align=tl,%
- voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,%
- contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},%
- ]{tudheadings.head.topwideline}%
+ background,headsep,%
+ voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else%
+ \tud@head@rule{\textwidth}%
+ \fi\fi%
+ },%
+ ]{tudheadings.head.lowerline}%
\DeclareNewLayer[%
- background,align=tl,%
- voffset={%
- \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax%
+ background,%
+ voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar%
+ \tud@head@rule{\paperwidth}%
+ \fi\fi%
},%
- contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},%
- ]{tudheadings.head.bottomwideline}%
-% \end{macrocode}
-% \dots der Inhalt mit Fakultät, Einrichtung, Institut und Lehrstuhl.
-% \begin{macrocode}
+ ]{tudheadings.head.upperwideline}%
\DeclareNewLayer[%
- background,head,align=tl,%
- voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,%
- contents={\tud@head@text@box},%
- ]{tudheadings.head.text}%
+ background,%
+ voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar%
+ \tud@head@rule{\paperwidth}%
+ \fi\fi%
+ },%
+ ]{tudheadings.head.lowerwideline}%
% \end{macrocode}
-% Außerdem wird eine weitere Ebene mit dem \DDC-Logo im Seitenfuß erstellt.
+% \end{layer}^^A tudheadings.head.lowerwideline
+% \end{layer}^^A tudheadings.head.upperwideline
+% \end{layer}^^A tudheadings.head.lowerline
+% \end{layer}^^A tudheadings.head.upperline
+% \begin{layer}{tudheadings.foot.logo}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \changes{v2.03}{2015/01/13}{Ebenendeklaration ist kompatibilitätsabhängig}%^^A
+% \begin{layer}{tudheadings.foot.back}
+% \changes{v2.03}{2015/02/15}{neu}%^^A
+% Außerdem wird eine weitere Ebene für Drittlogos sowie das \DDC-Logo im
+% Seitenfuß erstellt. Dabei wird die Ebene in Abhängigkeit vom gewählten
+% Kompatibilitätsmodus unterschiedlich definiert.
+%
+% Ab Version~v2.03 wird der Satzspiegel so gewählt, dass das \DDC-Logo in den
+% normalen Seitenfuß passt.
% \begin{macrocode}
\DeclareNewLayer[%
background,foot,%
+ height=\dimexpr\paperheight-\layeryoffset\relax,%
contents={%
- \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox%
- \hfill\tud@footlogo%
- },%
- ]{tudheadings.foot.ddclogo}%
% \end{macrocode}
-% Aus den zuvor erstellten Ebenen werden jetzt die eigentlichen Seitenstile
-% zusammengesetzt. Mit \cs{newpairofpagestyles} wird neben dem Seitenstil
-% \pgs{tudheadings} der passende Seitenstil \pgs{plain.tudheadings} gleich mit
-% deklariert.
+% Falls die Höhe der Logos im Fuß nicht durch den Anwender festgelegt wurden,
+% werden passende Standardwerte gesetzt.
% \begin{macrocode}
- \newpairofpagestyles{tudheadings}{}%
+ \ifdim\footlogoheight>\z@\relax\else%
+ \settoheight\footlogoheight{\tud@mainlogo}%
+ \iftudscrverlower{2.03}{%
+ \setlength\footlogoheight{.6\tud@dim@topmargin}%
+ }{}%
+ \fi%
% \end{macrocode}
-% Allerdings führt der Befehl dazu, dass zunächst eine Vielzahl an Ebenen
-% hinzugefügt wird, welche nicht benötigt werden. Deshalb werden diese mit
-% \cs{RemoveLayersFromPageStyle} zunächst entfernt.
+% Die gesetzt Größe der Logos im Fuß wird geprüft. Sollten diese zu groß sein,
+% wird eine Warnug ausgegeben.
% \begin{macrocode}
- \ForEachLayerOfPageStyle{tudheadings}{%
- \RemoveLayersFromPageStyle{tudheadings}{#1}%
- }%
- \ForEachLayerOfPageStyle{plain.tudheadings}{%
- \RemoveLayersFromPageStyle{plain.tudheadings}{#1}%
- }%
+ \setlength\@tempdima{%
+ \dimexpr\footlogoheight-\layerheight+\dp\strutbox\relax%
+ }%
+ \ifdim\@tempdima>\vfuzz\relax%
+ \ClassWarning{\tudcls@name}{%
+ The chosen `\string\footlogoheight'
+ (\the\footlogoheight)\MessageBreak%
+ is \the\@tempdima\space higher than recommended. You\MessageBreak%
+ should decrease this length
+ \ifcase\tud@geometry\relax\else%
+ or alternatively\MessageBreak%
+ enlarge the bottom margin by using option\MessageBreak%
+ `extrabottommargin'%
+ \fi%
+ }%
+ \fi%
+% \end{macrocode}
+% Hier erfolgt die eigentliche Ausgabe der Logos. Dabei werden ggf. zuerst die
+% mit \cs{footlogo} angegeben wurden, anschließend wird das \DDC-Logo gesetzt,
+% fall dies gefordert ist.
+% \begin{macrocode}
+ \let\@tempa\relax%
+ \@for\@tempb:=\tud@@footlogo\do{%
+ \@tempa%
+ \ifx\@tempb\@empty\else%
+ \expandafter\tud@footlogo\expandafter{\@tempb}%
+ \fi%
+ \let\@tempa\footlogosep%
+ }%
+ \tud@ddclogo%
+ },%
+ ]{tudheadings.foot.logo}%
+% \end{macrocode}
+% Bis zur Version~v2.02 wurde für die Verwendung des \DDC-Logos der Satzspiegel
+% geändert. Hier wird dem Rechnung getragen.
+% \begin{macrocode}
+ \iftudscrverlower{2.03}{%
+ \ModifyLayer[%
+ voffset=\dimexpr\topmargin+1in+\headheight+\headsep+\textheight%
+ +\footskip-\footheight-\tud@dim@ddcdiff%
+ \ifcase\tud@geometry\relax\else+\ht\strutbox+\dp\strutbox\fi%
+ \relax,%
+ height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,%
+ ]{tudheadings.foot.logo}%
+ }{}%
% \end{macrocode}
-% Nun folgt das Hinzufügen der Ebenen zu den jetzt leeren Seitenstilen. Damit
-% die Benutzerschnittstelle von \pkg{scrlayer-scrpage} für die Fußzeile
-% weiterhin durch den Anwender verwendet werden kann, werden die entsprechenden
-% \pgs{scrheadings}-Ebenen verwendet.
+% Diese Ebene wird als Hintergrund für den Fußbereich definiert.
% \begin{macrocode}
- \AddLayersToPageStyle{tudheadings}{%
+ \DeclareNewLayer[%
+ background,%
+ hoffset=0pt,%
+ width=\paperwidth,%
+ voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}%
+ -\dp\strutbox\relax,%
+ height=\dimexpr\paperheight-\layeryoffset\relax,%
+ contents={%
+ \if@tud@footcolor%
+ \let\@tempc\relax%
+ \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi%
+ \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}%
+ \ifx\@tempc\relax\else%
+ \iftudscrverlower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax%
+ \vbox to \layerheight{%
+ \vfil\@tempc%
+ \rule{\layerwidth}{%
+ \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax%
+ }%
+ }%
+ \else%
+ \@tempc\rule{\layerwidth}{\layerheight}%
+ \fi%
+ }{\@tempc\rule{\layerwidth}{\layerheight}}%
+ \fi%
+ \fi%
+ },%
+ ]{tudheadings.foot.back}%
+% \end{macrocode}
+% \end{layer}^^A tudheadings.foot.back
+% \end{layer}^^A tudheadings.foot.logo
+% Aus den zuvor erstellten Ebenen werden jetzt die eigentlichen Seitenstile
+% zusammengesetzt. Als erstes wird der \pgs{headings}-Seitenstil definiert.
+% Dieser verwendet den TUD-Kopf und die Fußzeilenebenen des Seitenstils
+% \pgs{scrheadings}, welche zur Definition des Seitenstils verwendet werden.
+% Beim Aktivieren des Seitenstils wird außerdem \cs{tud@ps@init} ausgeführt.
+% Damit die Benutzerschnittstelle von \pkg{scrlayer-scrpage} für die Fußzeile
+% weiterhin durch den Anwender verwendet werden kann, werden wie erwähnt die
+% entsprechenden \pgs{scrheadings}-Ebenen verwendet.
+% \begin{macrocode}
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{tudheadings}{%
+ tudheadings.head.back,%
tudheadings.head.mainlogo,%
tudheadings.head.logo,%
- tudheadings.head.topline,%
- tudheadings.head.bottomline,%
- tudheadings.head.topwideline,%
- tudheadings.head.bottomwideline,%
+ tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.foot.ddclogo,%
+ tudheadings.head.upperline,%
+ tudheadings.head.lowerline,%
+ tudheadings.head.upperwideline,%
+ tudheadings.head.lowerwideline,%
+ tudheadings.foot.back,%
+ tudheadings.foot.logo,%
scrheadings.foot.odd,%
scrheadings.foot.even,%
scrheadings.foot.oneside,%
scrheadings.foot.above.line,%
scrheadings.foot.below.line%
}%
- \AddLayersToPageStyle{plain.tudheadings}{%
+% \end{macrocode}
+% Zuletzt werden Aliasnamen für den Seitenstil definiert.
+% \begin{macrocode}
+ \DeclareNewPageStyleAlias{tud}{tudheadings}%
+ \DeclareNewPageStyleAlias{tudscr}{tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
+% \end{macrocode}
+% Für den \pgs{plain}-Seitenstil wird ebenso verfahren. Hier werden für die
+% Fußzeilenebenen des Seitenstils \pgs{plain.scrheadings} hinzugefügt.
+% \begin{macrocode}
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{plain.tudheadings}{%
+ tudheadings.head.back,%
tudheadings.head.mainlogo,%
tudheadings.head.logo,%
- tudheadings.head.topline,%
- tudheadings.head.bottomline,%
- tudheadings.head.topwideline,%
- tudheadings.head.bottomwideline,%
+ tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.foot.ddclogo,%
+ tudheadings.head.upperline,%
+ tudheadings.head.lowerline,%
+ tudheadings.head.upperwideline,%
+ tudheadings.head.lowerwideline,%
+ tudheadings.foot.back,%
+ tudheadings.foot.logo,%
plain.scrheadings.foot.odd,%
plain.scrheadings.foot.even,%
plain.scrheadings.foot.oneside,%
plain.scrheadings.foot.above.line,%
plain.scrheadings.foot.below.line%
}%
- \DeclareNewPageStyleByLayers{empty.tudheadings}{%
+ \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}%
+% \end{macrocode}
+% Des Weiteren gibt es einen selbstständigen \enquote{leeren} Seitenstil, der
+% lediglich aus dem Kopf besteht und einen lerren Seitenfuß hat.
+% \begin{macrocode}
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{empty.tudheadings}{%
+ tudheadings.head.back,%
tudheadings.head.mainlogo,%
tudheadings.head.logo,%
- tudheadings.head.topline,%
- tudheadings.head.bottomline,%
- tudheadings.head.topwideline,%
- tudheadings.head.bottomwideline,%
+ tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.foot.ddclogo,%
- }%
-% \end{macrocode}
-% Normalerweise werden durch \pkg{scrlayer-scrpage} bei der Umschaltung auf
-% einen mit dem Befehl \cs{newpairofpagestyles}\marg{Seitenstil} definierten
-% Seitenstil, die Seitenstile \pgs{headings} und \pgs{plain} als Alias für
-% \pgs{\meta{Seitenstil}} und \pgs{plain.\meta{Seitenstil}} definiert. Hiermit
-% wird zusätzlich dafür gesorgt, das der Seitenstil \pgs{empty} ebenfalls als
-% Alias für \pgs{empty.tudheadings} verwendet werden kann.
-% \begin{macrocode}
- \AddToLayerPageStyleOptions{tudheadings}{%
- onselect={\letcs\ps@empty{ps@empty.tudheadings}}%
- }%
- \AddToLayerPageStyleOptions{plain.tudheadings}{%
- onselect={\letcs\ps@empty{ps@empty.tudheadings}}%
+ tudheadings.head.upperline,%
+ tudheadings.head.lowerline,%
+ tudheadings.head.upperwideline,%
+ tudheadings.head.lowerwideline,%
+ tudheadings.foot.back,%
+ tudheadings.foot.logo,%
}%
- \AddToLayerPageStyleOptions{empty.tudheadings}{%
- onselect={%
- \letcs\ps@empty{ps@empty.tudheadings}%
- \letcs\ps@plain{ps@plain.tudheadings}%
- \letcs\ps@headings{ps@tudheadings}%
- }%
- }%
-% \end{macrocode}
-% Außerdem wird der Alias-Seitenstil \pgs{tudscrheadings} definiert.
-% \begin{macrocode}
- \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
- \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
\DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
+% \end{macrocode}
+% \begin{layer}{tudheadings.pagecolor}
+% \changes{v2.03}{2015/01/09}{neu}%^^A
+% Um farbige Titel- Teil- und Kapitelseiten \emph{unabhängig} vom aktuell
+% verwendeten Seitenstil erstellen zu können, wird die zusätzliche Ebene
+% \val{tudheadings.pagecolor} definiert, die \emph{allen} Seitenstilen
+% hinzugefügt wird.
+% \begin{macrocode}
+ \DeclareNewLayer[
+ background,page,%
+ contents={%
+ \ifdefvoid{\tud@pagecolor}{}{%
+ \color{\tud@pagecolor}%
+ \rule{\layerwidth}{\layerheight}%
+ }%
+ },%
+ ]{tudheadings.pagecolor}
+ \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
% \end{macrocode}
-% Der TUD-Kopf erfordert einen eigenen Satzspiegel, der ggf. durch
-% \cs{tud@beforepagestyle} aktiviert bzw. deaktiviert wird.
+% \end{layer}^^A tudheadings.pagecolor
+% Der Kopf im \CD der \TnUD erfordert einen eigenen Satzspiegel, der ggf. durch
+% \cs{tud@beforeselectanypagestyle} aktiviert bzw. deaktiviert wird.
% \begin{macrocode}
- \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}%
+ \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}%
}%
}
% \end{macrocode}
% \end{pagestyle}^^A empty.tudheadings
% \end{pagestyle}^^A plain.tudheadings
% \end{pagestyle}^^A tudheadings
+% \begin{macro}{\tud@ps@onselect}
+% \changes{v2.03}{2015/01/09}{neu}%^^A
+% \begin{macro}{\tud@ps@onbackground}
+% \changes{v2.03}{2015/02/14}{neu}%^^A
+% \begin{macro}{\tud@head@logocolor}
+% \begin{macro}{\tud@foot@logocolor}
+% \changes{v2.03}{2015/02/15}{neu}%^^A
+% Diese Befehle werden bei der Initialiserung der Seitenstile beziehungsweise
+% zu Beginn der Ebenenausgabe aufgerufen.
+% \begin{macrocode}
+\newcommand*\tud@ps@onselect{%
+% \end{macrocode}
+% Normalerweise werden durch \pkg{scrlayer-scrpage} bei der Umschaltung auf
+% einen mit dem Befehl \cs{newpairofpagestyles}\marg{Seitenstil} definierten
+% Seitenstil, die Seitenstile \pgs{headings} und \pgs{plain} als Aliase für
+% \pgs{\meta{Seitenstil}} und \pgs{plain.\meta{Seitenstil}} festgelegt.
+% Allerdings definiert dieser Befehl zusätzliche Ebenen für Kopf- und Fußzeile,
+% weshalb auf die Verwendung verziichtet wird. Das automatische Umschalten soll
+% dennoch ermöglicht werden.
+% \begin{macrocode}
+ \DeclarePageStyleAlias{plain}{plain.tudheadings}%
+ \DeclarePageStyleAlias{headings}{tudheadings}%
+ \def\sls@currentheadings{tudheadings}%
+ \def\sls@currentplain{plain.tudheadings}%
+}
+% Das Makro \cs{tud@head@logocolor} enthält die Farbe des Kopfes. Die Gestalt
+% des Querbalkens kann über die Option \opt{cdhead} geändert werden. Für Titel,
+% Teil und Kapitel gibt es speziell dazugehörige Optionen, womit das Aussehen
+% des Kopfes ggf. angepasst werden kann. Mit \cs{tud@foot@logocolor} erfolgt
+% dies gleichermaßen für ein etwaiges \DDC-Logo.
+% \begin{macrocode}
+\newcommand*\tud@head@logocolor{black}
+\newcommand*\tud@foot@logocolor{black}
+\newcommand*\tud@ps@onbackground{%
+ \ifcase\tud@head@bar\relax%
+ \def\tud@head@logocolor{black}%
+ \def\tud@foot@logocolor{black}%
+ \or%
+ \def\tud@head@logocolor{HKS41}%
+ \def\tud@foot@logocolor{HKS41}%
+ \or%
+ \def\tud@head@logocolor{white}%
+ \if@tud@footcolor%
+ \def\tud@foot@logocolor{white}%
+ \else%
+ \def\tud@foot@logocolor{HKS41}%
+ \fi%
+ \fi%
+% \end{macrocode}
+% In Abhängigkeit von der eingestzten Hintergrundfarbe der Seite wird die
+% Linienstärke des Querbalkens gesetzt.
+% \begin{macrocode}
+ \let\tud@dim@line\tud@dim@thinline%
+ \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@foot@logocolor
+% \end{macro}^^A \tud@head@logocolor
+% \end{macro}^^A \tud@ps@onbackground
+% \end{macro}^^A \tud@ps@onselect
% \begin{macro}{\ps@tudpage@plain}
% \changes{v2.02}{2014/06/23}{entfernt}%^^A
% \begin{macro}{\ps@tudpage@empty}
@@ -577,124 +775,175 @@
% Diese Befehle wurden mit der \TUDScript-Version~v2.02 entfernt.
% \end{macro}^^A \ps@tudpage@empty
% \end{macro}^^A \ps@tudpage@plain
-% \begin{macro}{\tud@beforepagestyle}
+% \begin{macro}{\thispagestyle}
+% \changes{v2.03}{2015/01/20}{Auswahl eines Aliasseitenstils unterdrückt}%^^A
+% \begin{macrocode}
+\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{%
+ \xdef\@specialstyle{\GetRealPageStyle{#1}}
+}{}{\tud@patch@wrn{thispagestyle}}
+% \end{macrocode}
+% \end{macro}^^A \tud@beforeselectanypagestyle
+% \begin{macro}{\tud@beforeselectanypagestyle}
% \changes{v2.02}{2014/06/23}{neu}%^^A
% \begin{macro}{\tud@currentgeometry}
% \changes{v2.02}{2014/06/23}{neu}%^^A
-% Mit \cs{tud@beforepagestyle} wird beim Umschalten des Seitenstils ggf. der
-% Satzspiegel geändert.
+% Mit \cs{tud@beforeselectanypagestyle} wird beim Umschalten des Seitenstils
+% gegebenfalls der Satzspiegel geändert. Dabei wird der aktivierte Satzspiegel
+% in dem Makro \cs{tud@currentgeometry} gesichert, um darauf zu einem späteren
+% Zeitpunkt prüfen zu können.
+%
+% Für den Fall, dass das Dokument nicht ausschließlich mit dem Kopf im \CD
+% auf jeder Seite gesetzt wird, muss der komplette vertikale Satzspiegel
+% angepasst werden, sonst wäre der obere Rand optisch viel zu groß. Hierfür
+% wird das Paket \pkg{geometry} genutzt. Durch \cs{tud@geometry@process}
+% werden zwei~-- für die KOmpatibilitätsvariante drei~-- Layouts erstellt.
+% Diese können mit \cs{loadgeometry}\marg{Stil} geladen werden.
% \begin{macrocode}
\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@beforepagestyle[1]{%
+\newcommand*\tud@beforeselectanypagestyle[1]{%
% \end{macrocode}
% Der \pgs{tudheadings}-Seitenstil wird mit dem Befehl \cs{newpairofpagestyles}
-% derart definiert, dass zwischen \pgs{tudheadings}, \pgs{plain.tudheadings}
-% sowie~-- durch die Anpassungen weiter oben~-- \pgs{empty.tudheadings} auch
-% mit \LaTeX-Standardseitenstilen \pgs{headings}, \pgs{plain} und \pgs{empty}
+% derart definiert, dass zwischen \pgs{tudheadings} und \pgs{plain.tudheadings}
+% auch mit \LaTeX-Standardseitenstilen \pgs{headings} bzw. \pgs{plain}
% umgeschaltet werden kann. Dies wird hiermit beachtet.
% \begin{macrocode}
- \def\@tempa{#1}%
- \ifstr{\sls@currentheadings}{tudheadings}{%
- \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}%
- \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}%
- \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}%
- }{}%
+ \ifstr{#1}{\GetRealPageStyle{#1}}{%
+ \def\@tempa{#1}%
+% \end{macrocode}
+% Vor der \KOMAScript-Version~v3.15 wurden die Seitenstile \pgs{headings} und
+% \pgs{plain} nicht als Alias definiert. Dieses Problem wird hiermit behoben.
+% \begin{macrocode}
+ \ifcsdef{scr@v@3.15}{}{%
+ \ifstr{\sls@currentheadings}{tudheadings}{%
+ \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}%
+ \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}%
+ }{}%
+ }%
+% \end{macrocode}
+% Für den Fall, das ein \pgs{tudheadings}-Seitenstil geladen werden soll, muss
+% der dazugehörige Satzspiegel ausgewählt werden\dots
+% \begin{macrocode}
+ \iftudpagestyle{\@tempa}{%
% \end{macrocode}
-% Für den Fall, das ein \pgs{tudheadings}-Seitenstil geladen werden soll\dots
+% \dots wobei in der Version~v2.02 zwei unterschiedliche existierten, und
+% abhängig von der Verwendung des \DDC-Logos im Fuß waren.
% \begin{macrocode}
- \tud@ifinpslist{\@tempa}{%
+ \iftudscrverlower{2.03}{%
% \end{macrocode}
-% \dots werden die Einstellungen für den Seitenfuß mit \cs{tud@ddc@check} in
+% In diesem Fall werden die Seitenfußeinstellungen mit \cs{tud@ddc@check} in
% \cs{@tempb} geschrieben und abhängig davon der richtige Satzspiegel geladen.
% Dabei wird zuvor mit dem Wert aus \cs{tud@currentgeometry} geprüft, ob dies
% überhaupt notwendig ist.
% \begin{macrocode}
- \tud@ddc@check%
+ \tud@ddc@check%
% \end{macrocode}
% Das \DDC-Logo im Fuß ist nicht aktiviert.
% \begin{macrocode}
- \ifcase \@tempb\relax%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
- }%
+ \ifcase\@tempb\relax%
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
% \end{macrocode}
% Das \DDC-Logo im Fuß ist aktiviert.
% \begin{macrocode}
- \else%
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
+ \else%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \loadgeometry{tudareaddc}%
+ \gdef\tud@currentgeometry{tudareaddc}%
+ }%
+ \fi%
+% \end{macrocode}
+% Ab der Version~v2.03 ist nur noch ein Satzspiegel vonnöten.
+% \begin{macrocode}
+ }{%
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
}%
- \fi%
% \end{macrocode}
% Die Länge \cs{tud@dim@headdiff} gibt an, wie groß die Differenz zwischen
% Kopfhöhe zwischen aktuellem und dem speziellen \pgs{tudheadings}-Seitenstil
% ist. Da diese in diesem Fall identisch sind, wird die Länge zu \cs{z@}
% gesetzt.
% \begin{macrocode}
- \setlength{\tud@dim@headdiff}{\z@}%
+ \setlength\tud@dim@headdiff{\z@}%
% \end{macrocode}
% Hier ist der Fall, wenn kein \pgs{tudheadings}-Seitenstil geladen werden soll.
% Zusätzlich zum Satzspeigel wird außerdem der Seitenstil \pgs{empty}
% zurückgesetzt.
% \begin{macrocode}
- }{%
- \ifstr{\tud@currentgeometry}{typearea}{}{%
- \loadgeometry{typearea}%
- \gdef\tud@currentgeometry{typearea}%
- \RedeclarePageStyleByLayers{empty}{}%
- }%
+ }{%
+ \ifstr{\tud@currentgeometry}{typearea}{}{%
+ \loadgeometry{typearea}%
+ \gdef\tud@currentgeometry{typearea}%
+ }%
% \end{macrocode}
% Die Länge \cs{tud@dim@headdiff} wird auf den berechneten Wert gesetzt. Nur
% für den Fall, dass die Kopfzeile zum Satzspiegel gerechnet wird und dieser
% nicht durch \pkg{typearea} berechnet wurde, muss diese Länge etwas angepasst
% werden.
% \begin{macrocode}
- \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}%
- \ifcase \tud@geometry\relax\else%
- \if@hincl%
- \addtolength{\tud@dim@headdiff}{%
- \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax%
- }%
+ \setlength\tud@dim@headdiff{\tud@ta@headdiff}%
+ \ifcase\tud@geometry\relax\else%
+ \if@hincl%
+ \addtolength\tud@dim@headdiff{%
+ \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax%
+ }%
+ \fi%
\fi%
- \fi%
- }%
+ }%
% \end{macrocode}
% Die Länge \cs{tud@dim@headdiff} wird vorsichtshalber global gesetzt.
% \begin{macrocode}
- \global\tud@dim@headdiff=\tud@dim@headdiff%
+ \global\tud@dim@headdiff=\tud@dim@headdiff%
+ }{}%
}
% \end{macrocode}
+% \end{macro}^^A \tud@currentgeometry
+% \end{macro}^^A \tud@beforeselectanypagestyle
+% \begin{macro}{\cleardoubleoddpageusingstyle}
+% \begin{macro}{\cleardoubleevenpageusingstyle}
+% \begin{macro}{\cleardoublepageusingstyle}
% Damit die Satzspiegelumstellungen nicht durchgeführt werden, wenn durch die
% folgenden \KOMAScript-Befehle Leerseiten erzeugt werden, müssen diese minimal
% angepasst werden.
% \begin{macrocode}
\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
- \let\tud@beforepagestyle\@gobble\pagestyle%
+ \let\tud@beforeselectanypagestyle\@gobble\pagestyle%
}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
- \let\tud@beforepagestyle\@gobble\pagestyle%
+ \let\tud@beforeselectanypagestyle\@gobble\pagestyle%
}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
- \let\tud@beforepagestyle\@gobble\pagestyle%
+ \let\tud@beforeselectanypagestyle\@gobble\pagestyle%
}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
% \end{macrocode}
-% \end{macro}^^A \tud@currentgeometry
-% \end{macro}^^A \tud@beforepagestyle
+% \end{macro}^^A \cleardoublepageusingstyle
+% \end{macro}^^A \cleardoubleevenpageusingstyle
+% \end{macro}^^A \cleardoubleoddpageusingstyle
% \begin{macro}{\tud@ddc@enlargepage}
% \changes{v2.02}{2014/06/23}{neu}%^^A
-% Der Befehl wird für die Titelkopf- und Kapitelseiten verwendet. Er
-% verkleinert die entsprechenden Seiten, wenn für diese mit dem Befehl
-% \cs{thispagestyle} einer der \pgs{tudheadings}"=Seitenstile gewählt wurde
-% \emph{und} des \DDC-Logo im Fuß gesetzt werden soll.
-% \begin{macrocode}
-\newcommand*\tud@ddc@enlargepage{%
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@ddc@check%
- \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\fi%
+% Der Befehl wird nur für den Kompatibilitätsmodus zur Version~v2.02 benötigt
+% und für die Titelkopf- und Kapitelseiten verwendet. Er verkleinert die
+% entsprechenden Seiten, wenn für diese mit dem Befehl \cs{thispagestyle} einer
+% der \pgs{tudheadings}"=Seitenstile gewählt wird \emph{und} das \DDC-Logo im
+% Fuß gesetzt werden soll. Der entsprechende Seitenstil kann im optionalen
+% Argument angegeben werden, wenn der Befehl bedingt ausgeführt werden soll.
+% \begin{macrocode}
+\iftudscrverlower{2.03}{%
+ \newcommand*\tud@ddc@enlargepage[1][]{%
+ \iftudpagestyle{#1}{%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else%
+ \enlargethispage{-\tud@dim@ddcdiff}%
+ \fi%
+ }%
+ }{}%
}%
-}
+}{}
% \end{macrocode}
% \end{macro}^^A \tud@ddc@enlargepage
% \begin{macro}{\tud@head@text}
@@ -702,7 +951,6 @@
% \begin{macro}{\tud@head@text@second}
% \begin{macro}{\tud@head@text@delimiter}
% \begin{macro}{\tud@head@text@buffer}
-% \begin{macro}{\tud@head@font}
% Diese Befehle sind Hilfsmakros, die bei der Erzeugung der Textzeile inner- und
% unterhalb des Querbalkens des TUD-Kopfes dienen.
% \begin{macrocode}
@@ -711,9 +959,7 @@
\newcommand*\tud@head@text@second{}
\newcommand*\tud@head@text@delimiter{}
\newcommand*\tud@head@text@buffer{}
-\newcommand*\tud@head@font{}
% \end{macrocode}
-% \end{macro}^^A \tud@head@font
% \end{macro}^^A \tud@head@text@buffer
% \end{macro}^^A \tud@head@text@delimiter
% \end{macro}^^A \tud@head@text@second
@@ -721,14 +967,14 @@
% \end{macro}^^A \tud@head@text
% \begin{macro}{\tud@head@rule}
% \changes{v2.02}{2014/06/23}{gewünschte Breite als Argument}%^^A
-% Der Querbalken des Kopfes läuft je nach gewähltem Parameter \opt{widehead}
+% Der Querbalken des Kopfes läuft je nach gewähltem Parameter \cs{tud@head@bar}
% entweder nur über den Textbereich oder aber über die gesamte Seitenbreite.
% Der Befehl erzeugt eine horizontale Linie mit der übergebenen Breite und
% über \cs{tud@dim@line} definierter Dicke.
% \begin{macrocode}
\newcommand*\tud@head@rule[1]{%
- \color{\tud@head@color}%
- \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}%
+ \color{\tud@head@logocolor}%
+ \rule[\ht\strutbox]{#1}{\tud@dim@line}%
}
% \end{macrocode}
% \end{macro}^^A \tud@head@rule
@@ -742,7 +988,6 @@
% nachfolgt.
% \begin{macrocode}
\newcommand*\tud@head@text@add[3][, ]{%
- \def\tud@head@font{#2}%
\edef\tud@head@text{#3}%
\ifx\tud@head@text\@empty%
\def\tud@head@text@delimiter{}%
@@ -754,10 +999,10 @@
\def\@tempa{%
\tud@head@text@first%
\tud@head@text@delimiter%
- \tud@head@font%
+ #2%
\tud@head@text%
}%
- \settowidth{\@tempdima}{\@tempa}%
+ \settowidth\@tempdima{\@tempa}%
\ifdim\@tempdima>\textwidth\relax%
\@tempswatrue%
\def\tud@head@text@delimiter{}%
@@ -769,7 +1014,7 @@
\edef\tud@head@text@second{%
\tud@head@text@second%
\tud@head@text@delimiter%
- \tud@head@font%
+ #2%
\tud@head@text%
}%
\fi%
@@ -778,7 +1023,10 @@
% \end{macro}^^A \tud@head@text@add
% \begin{macro}{\tud@head@text@box}
% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \changes{v2.03}{2015/01/09}{Bugfix für zweite Zeile. Diese muss in jedem Fall
+% gesetzt werden, auch wenn sie leer ist.}%^^A
% Dieser Befehl ist der Inhalt der Ebene für den Text der Kopfzeile.
+% \ToDo{Zeilenabstand bei unterschiedlichen Papiergrößen prüfen}[v2.04]
% \begin{macrocode}
\newcommand*\tud@head@text@box{%
% \end{macrocode}
@@ -789,14 +1037,8 @@
\faculty{}%
\fi%
% \end{macrocode}
-% Die Farbe des Kopfes wird für Titel und Teileseiten durch die gewählten
-% Optionen\footnote{\opt{cdtitle}, \opt{cdpart}} bestimmt.\footnote{für
-% die \env{tudpage}-Umgebung kann dieser angepasst werden}
-% \begin{macrocode}
- \color{\tud@head@color}%
-% \end{macrocode}
-% Abhängig vom Schalter \cs{if@tud@cdfonts}~-- gesetzt entweder von der globalen
-% Klassenoption oder vom lokalelParameter \opt{cdfont}~-- werden entweder die
+% Abhängig vom Wert \cs{tud@cdfont}~-- gesetzt entweder von der globalen
+% Klassenoption oder vom lokalen Parameter \opt{cdfont}~-- werden entweder die
% Schriften des \CDs oder aber die serifenlose Standardschrift für die Kopfzeile
% verwendet.
% \begin{macrocode}
@@ -823,7 +1065,7 @@
% Sollte die zweite Textzeile zu lang sein, was bei kleinen Papierformaten
% vorkommen kann, dann wird eine Warnung ausgegeben.
% \begin{macrocode}
- \settowidth{\@tempdima}{\tud@head@text@second}%
+ \settowidth\@tempdima{\tud@head@text@second}%
\ifdim\@tempdima>\textwidth\relax%
\tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
\hfuzz=\@tempdima%
@@ -834,15 +1076,26 @@
% \begin{macrocode}
\vbox{%
\linespread{0}\selectfont%
+% \end{macrocode}
+% Die Farbe des Textes der ersten Zeile entspricht immer der des Kopfes\dots
+% \begin{macrocode}
+ \color{\tud@head@logocolor}%
\tud@head@text@write{\tud@head@text@first}%
+% \end{macrocode}
+% Die zweite und dritte Zeile sind bei zweifarbigen Kopf normalerweise blau,
+% nur für einen dunklen Seitenhintergrund weiß.
+% \begin{macrocode}
+ \ifnum\tud@head@bar>\@ne%
+ \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{%
+ \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}%
+ }%
+ \fi%
\ifx\tud@head@text@second\@empty%
- \ifx\@extraheadline\@empty\else%
- \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}%
- \fi%
+ \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}%
\else%
\newline\tud@head@text@write{\tud@head@text@second}%
\ifx\@extraheadline\@empty\else%
- \newline\tud@head@font@light\@extraheadline%
+ \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline%
\fi%
\fi%
}%
@@ -923,12 +1176,12 @@
\newcommand*\tud@ddc@switch{}
\edef\tud@ddc@switch{%
\TUD@numkey@bool,%
- {color}{2},{colour}{2},%
- {colorblack}{3},{colourblack}{3},%
- {gray}{4},{grey}{4},{cdgray}{4},%
- {black}{5},%
- {blue}{6},{cddarkblue}{6},%
- {white}{7}%
+ {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},%
+ {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},%
+ {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},%
+ {black}{5},{cdblack}{5},%
+ {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},%
+ {white}{7},{cdwhite}{7}%
}
% \end{macrocode}
% \end{macro}^^A \tud@ddc@switch
@@ -964,16 +1217,17 @@
% \begin{macrocode}
\TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}%
- \ifcase \tud@ddc\relax%
+ \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
+ \ifcase\tud@ddc\relax%
\@tud@ddc@autosetfalse%
\else%
\@tud@ddc@autosettrue%
\fi%
% \end{macrocode}
% Abschließend wird der aktuelle Seitenstil erneut aufgerufen, um bei einem
-% geänderten Fuß den notwendigen Satzspiegel zu laden. Siehe dazu auch
-% \cs{tud@beforepagestyle}.
+% geänderten Fuß den notwendigen Satzspiegel zu laden. Dies ist jedoch nur
+% notwendig, wenn die Option innerhalb des Dokumentes verwendet wurde. Siehe
+% \cs{tud@beforeselectanypagestyle}.
% \begin{macrocode}
\if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
\fi%
@@ -982,6 +1236,7 @@
% \end{macro}^^A \if@tud@ddc@autoset
% \end{macro}^^A \tud@ddc
% \begin{macro}{\tud@ddc@head}
+% \changes{v2.03}{2015/01/22}{Bugfix Seitenstilauswahl bei Deaktivierung}%^^A
% Die Option \opt{ddchead} dient zum zwingenden Setzen des \DDC-Logos im Kopf
% der Seiten im Stil von \pgs{tudheadings}.
% \begin{macrocode}
@@ -1001,14 +1256,16 @@
\if@tud@ddc@save%
\begingroup%
\let\tud@ddc@head\tud@ddc@save%
- \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}%
+ \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
\endgroup%
\fi%
% \end{macrocode}
% Danach werden die sich ausschließenden Optionen deaktiviert, ohne eine
% Sicherung der Werte vorzunehmen.
% \begin{macrocode}
- \ifcase \tud@ddc@head\relax\else%
+ \ifcase\tud@ddc@head\relax%
+ \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
+ \else%
\@tud@ddc@savefalse%
\TUDoptions{ddc=false}%
\TUDoptions{ddcfoot=false}%
@@ -1019,6 +1276,7 @@
% \end{macrocode}
% \end{macro}^^A \tud@ddc@head
% \begin{macro}{\tud@ddc@foot}
+% \changes{v2.03}{2015/01/22}{Bugfix Seitenstilauswahl bei Deaktivierung}%^^A
% Die Option \opt{ddcfoot} dient zum zwingenden Setzen des \DDC-Logos im Fuß
% der Seiten im Stil von \pgs{tudheadings}. Das Vorgehen beim Umschalten des
% Schlüssels ist äquivalent zur Option \opt{ddchead}
@@ -1031,10 +1289,12 @@
\if@tud@ddc@save%
\begingroup%
\let\tud@ddc@foot\tud@ddc@save%
- \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}%
+ \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
\endgroup%
\fi%
- \ifcase \tud@ddc@foot\relax\else%
+ \ifcase\tud@ddc@foot\relax%
+ \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
+ \else%
\@tud@ddc@savefalse%
\TUDoptions{ddc=false}%
\TUDoptions{ddchead=false}%
@@ -1065,45 +1325,52 @@
\let\@tempb\tud@ddc%
\fi%
\fi%
+ \iftudscrverlower{2.03}{%
+ \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi%
+ }{}%
}
% \end{macrocode}
% \end{macro}^^A \tud@ddc@check
% \end{option}^^A ddcfoot
% \end{option}^^A ddchead
% \end{option}^^A ddc
-% \begin{macro}{\tud@ifinpslist}
+% \begin{macro}{\iftudpagestyle}
% \changes{v2.02}{2014/06/23}{neu}%^^A
-% \begin{macro}{\tud@pslist}
+% \begin{macro}{\tud@ps@list}
% \changes{v2.02}{2014/06/23}{neu}%^^A
-% Mit dem Befehl \cs{tud@ifinpslist} wird geprüft, ob der übergebene
-% Seitenstil~-- was auch das Makro \cs{currentpagestyle} sein kann, welches
-% durch das Paket \pkg{scrlayer-scrpage} definiert wird und den aktuellen
-% Seitenstil beinhaltet~-- einem aus \cs{tud@pslist} entspricht. Ist dies der
-% Fall, wird das zweite Argument ausgeführt, sonst das dritte.
-% \begin{macrocode}
-\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}}
-\newcommand*\tud@pslist{}
-\forcsvlist{\listadd\tud@pslist}{%
+% Mit dem Befehl \cs{iftudpagestyle} wird geprüft, ob der im ersten Argument
+% gegebene Seitenstil~-- was auch das Makro \cs{currentpagestyle} sein kann,
+% welches durch das Paket \pkg{scrlayer-scrpage} definiert wird und den
+% aktuellen Seitenstil beinhaltet~-- einem aus der Liste \cs{tud@ps@list}
+% entspricht. Ist dies der Fall, wird das zweite Argument ausgeführt,
+% anderfalls das dritte.
+% \begin{macrocode}
+\newcommand*\iftudpagestyle[3]{%
+ \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}%
+}
+\newcommand*\tud@ps@list{}
+\forcsvlist{\listadd\tud@ps@list}{%
tudheadings,plain.tudheadings,empty.tudheadings%
}
% \end{macrocode}
-% \end{macro}^^A \tud@pslist
-% \end{macro}^^A \tud@ifinpslist
-% \begin{option}{widehead}
-% \begin{macro}{\if@tud@widehead}
-% \begin{macro}{\if@tud@widehead@locked}
-% Der Schalter dient zur Steuerung der Breite des Querbalkens im Kopf der
-% \env{tudpage}-Seite. Entweder der Querbalken liegt im Satzspiegel oder
-% aber über die komplette Papierbreite.
-% \begin{macrocode}
-\newif\if@tud@widehead
-\TUD@key@lock{widehead}[true]{%
- \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}%
+% \end{macro}^^A \tud@ps@list
+% \end{macro}^^A \iftudpagestyle
+% \begin{option}{extrabottommargin}
+% \begin{length}{\tud@dim@extrabottommargin}
+% Diese Option dient dazu, die Höhe des Fußes anzupassen. Dies ist jedoch nur
+% möglich, wenn der Satzspiegel des \CDs verwendet wird. Kommt \pkg{typearea}
+% zum Einsatz, ist die Option wirkungslos.
+% \begin{macrocode}
+\newlength\tud@dim@extrabottommargin
+\TUD@key{extrabottommargin}{%
+ \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@atdocument\tud@geometry@process\fi%
+ \fi%
}
% \end{macrocode}
-% \end{macro}^^A \if@tud@widehead@locked
-% \end{macro}^^A \if@tud@widehead
-% \end{option}^^A widehead
+% \end{length}^^A \tud@dim@extrabottommargin
+% \end{option}^^A extrabottommargin
%
% \iffalse
%</class&option>
@@ -1129,8 +1396,8 @@
% eine Warnung ausgegeben, damit das Problem durch den Anwender behoben werden
% kann.
% \begin{macrocode}
- \setlength{\@tempdima}{%
- \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax%
+ \setlength\@tempdima{%
+ \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax%
}%
\ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi%
% \end{macrocode}
@@ -1138,13 +1405,10 @@
% geändert.
% \begin{macrocode}
\def\tud@@mainlogo{TUD-black}%
- \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}%
- \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}%
- \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}%
- \global\let\tud@dim@line\tud@dim@thinline%
- \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}%
- \color{\tud@head@color}%
- \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}%
+ \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}%
+ \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}%
+ \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}%
+ \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}%
}
% \end{macrocode}
% \end{macro}^^A \tud@@mainlogo
@@ -1169,7 +1433,7 @@
% \cs{includegraphics} weitergereicht werden können.
% \begin{macrocode}
\newcommand*\headlogo[2][]{%
- \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}%
+ \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
\def\tud@@headlogo{#2}%
\def\tud@@@headlogo{#1}%
\if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
@@ -1181,11 +1445,11 @@
\ifx\tud@@headlogo\@empty\else%
\ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi%
\fi%
- \ifcase \@tempa\relax\or%
+ \ifcase\@tempa\relax\or%
\def\tud@@headlogo{DDC-24}%
- \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}%
- \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}%
- \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}%
+ \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}%
+ \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}%
+ \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}%
\or%
\def\tud@@headlogo{DDC-03}%
\or%
@@ -1200,9 +1464,10 @@
\def\tud@@headlogo{DDC-30}%
\fi%
\ifx\tud@@headlogo\@empty\else%
- \settoheight{\tud@dim@logoheight}{\tud@mainlogo}%
- \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}%
- {}{\tud@patch@wrn{tud@@@headlogo}}%
+ \settoheight\@tempdima{\tud@mainlogo}%
+ \protected@epreto\tud@@@headlogo{%
+ keepaspectratio,totalheight=\the\@tempdima,%
+ }%
\expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}%
\fi%
}
@@ -1220,57 +1485,205 @@
% \end{macro}^^A \tud@@headlogo
% \end{macro}^^A \tud@headlogo
% \end{macro}^^A \headlogo
-% \begin{macro}{\tud@ddc@sethead}
-% \changes{v2.02}{2014/06/23}{entfernt}%^^A
-% Dieser Befehl wurde mit der \TUDScript-Version~v2.02 entfernt.
-% \end{macro}^^A \tud@ddc@sethead
+% \begin{macro}{\footlogo}
+% \changes{v2.03}{2015/01/27}{neu}%^^A
+% \begin{macro}{\footlogosep}
+% \changes{v2.03}{2015/01/27}{neu}%^^A
+% \begin{length}{\footlogoheight}
+% \changes{v2.03}{2015/01/27}{neu}%^^A
% \begin{macro}{\tud@footlogo}
-% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \changes{v2.03}{2015/01/27}{neu}%^^A
+% \changes{v2.03}{2015/02/02}{optionale Parameter datei-individuell nutzbar}%^^A
+% \begin{macro}{\tud@footlogo@parser}
+% \changes{v2.03}{2015/02/02}{neu}%^^A
% \begin{macro}{\tud@@footlogo}
+% \changes{v2.03}{2015/01/27}{neu}%^^A
+% \begin{macro}{\tud@@@footlogo}
+% \changes{v2.03}{2015/01/27}{neu}%^^A
+% Mit dem Befehl \cs{footlogo} kann eine kommasparierte Liste für Logos im
+% Fuß angegeben werden, die mit \cs{footlogosep} voneinander getrennt werden.
+% \begin{macrocode}
+\newlength\footlogoheight
+\newcommand*\footlogosep{\hfill}
+\newcommand*\footlogo[2][]{%
+ \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
+ \def\tud@@footlogo{#2}%
+ \def\tud@@@footlogo{#1}%
+ \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
+}
+\newcommand*\tud@@footlogo{}
+\newcommand*\tud@@@footlogo{}
+% \end{macrocode}
+% Der Befehl \cs{tud@footlogo} wird genutzt, um die Logos für den Fuß innerhalb
+% der Ebene \val{tudheadings.foot.logo} auszugeben.
+% \begin{macrocode}
+\DeclareListParser{\tud@footlogo@parser}{:}%
+\newcommand*\tud@footlogo[1]{%
+ \begingroup%
+% \end{macrocode}
+% Dabei soll es möglich sein, optionale Parameter an \cs{includegraphics} zu
+% übergeben. Dies soll zum einen global für alle Dateien als auch individuell
+% für einzelne Logos möglich sein. Zu diesem Zweck wird die Schnittstelle für
+% den Anwender so gestaltet, dass individuelle Parameter mit einem Doppelpunkt
+% direkt an den Dateinamen angehangen werden können.
+% \begin{macrocode}
+ \def\@tempa{}%
+ \def\@tempb{}%
+ \@tempswatrue%
+ \def\do##1{%
+ \if@tempswa%
+ \def\@tempa{##1}%
+ \@tempswafalse%
+ \else%
+ \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}%
+ \fi%
+ }%
+ \tud@footlogo@parser{#1}%
+% \end{macrocode}
+% Wurden tatsächlich inidviduelle Parameter übergeben, so werden diese als
+% letztes ausgeführt, um vorige Einstellungen überschreiben zu können.
+% \begin{macrocode}
+ \protected@eappto\tud@@@footlogo{\@tempb}%
+% \end{macrocode}
+% In jedem Fall werden die Grundeinstellungen als erstes ausgeführt.
+% \begin{macrocode}
+ \protected@epreto\tud@@@footlogo{%
+ keepaspectratio,totalheight=\the\footlogoheight,%
+ }%
+ \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}%
+ \vbox to \dimexpr\layerheight-\dp\strutbox\relax{%
+ \vfil\hbox{\@tempc}\vfil\vfil%
+ }%
+ \endgroup%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@@@footlogo
+% \end{macro}^^A \tud@@footlogo
+% \end{macro}^^A \tud@footlogo@parser
+% \end{macro}^^A \tud@footlogo
+% \end{length}^^A \footlogoheight
+% \end{macro}^^A \footlogosep
+% \end{macro}^^A \footlogo
+% \begin{macro}{\tud@ddclogo}
+% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \begin{macro}{\tud@@ddclogo}
% \changes{v2.02}{2014/06/23}{neu, \cs{tud@foot@logo} umbenannt}%^^A
+% \changes{v2.03}{2015/01/13}{Größe des Logos kompatibilitätsabhängig}%^^A
% Diese Befehle dienen zum Einbinden des \DDC-Logos im Fuß der Seiten im Stil
% \pgs{tudheadings}.
% \begin{macrocode}
-\newcommand*\tud@@footlogo{}
-\newcommand*\tud@footlogo{%
+\newcommand*\tud@@ddclogo{}
+\newcommand*\tud@ddclogo{%
\tud@ddc@check%
- \ifcase \@tempb\relax\or%
- \def\tud@@footlogo{DDC-22}%
- \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}%
- \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}%
- \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}%
+ \ifcase\@tempb\relax\or%
+ \def\tud@@ddclogo{DDC-22}%
+ \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}%
+ \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}%
+ \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}%
\or%
- \def\tud@@footlogo{DDC-01}%
+ \def\tud@@ddclogo{DDC-01}%
\or%
- \def\tud@@footlogo{DDC-07}%
+ \def\tud@@ddclogo{DDC-07}%
\or%
- \def\tud@@footlogo{DDC-19}%
+ \def\tud@@ddclogo{DDC-19}%
\or%
- \def\tud@@footlogo{DDC-22}%
+ \def\tud@@ddclogo{DDC-22}%
\or%
- \def\tud@@footlogo{DDC-25}%
+ \def\tud@@ddclogo{DDC-25}%
\or%
- \def\tud@@footlogo{DDC-28}%
+ \def\tud@@ddclogo{DDC-28}%
\fi%
- \ifx\tud@@footlogo\@empty\else%
- \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}%
+ \ifx\tud@@ddclogo\@empty\else%
+ \let\tud@@@footlogo\relax%
+ \hfill\tud@footlogo{\tud@@ddclogo}%
\fi%
}
% \end{macrocode}
-% \end{macro}^^A \tud@@footlogo
-% \end{macro}^^A \tud@footlogo
+% \end{macro}^^A \tud@@ddclogo
+% \end{macro}^^A \tud@ddclogo
+% \begin{macro}{\tud@ddc@sethead}
+% \changes{v2.02}{2014/06/23}{entfernt}%^^A
% \begin{macro}{\tud@ddc@setfoot}
% \changes{v2.02}{2014/06/23}{entfernt}%^^A
-% Dieser Befehl wurde mit der \TUDScript-Version~v2.02 entfernt.
+% Diese Befehle wurden mit der \TUDScript-Version~v2.02 entfernt.
% \end{macro}^^A \tud@ddc@setfoot
+% \end{macro}^^A \tud@ddc@sethead
%
% \iffalse
%</class&body>
%<*class&option>
% \fi
%
+% \begin{option}{cdhead}
+% \changes{v2.03}{2015/01/29}{neu}%^^A
+% \begin{macro}{\tud@head@font}
+% \changes{v2.03}{2015/02/04}{neu}%^^A
+% \begin{macro}{\if@tud@head@font@locked}
+% \changes{v2.03}{2015/02/04}{neu}%^^A
+% \begin{macro}{\tud@head@bar}
+% \changes{v2.03}{2015/02/04}{neu}%^^A
+% \begin{macro}{\if@tud@head@widebar}
+% \changes{v2.03}{2015/02/14}{neu}%^^A
+% \begin{macro}{\if@tud@head@widebar@locked}
+% \changes{v2.03}{2015/02/14}{neu}%^^A
+% Mit dieser Option wird die zentrale Benutzerschnittstelle für Einstellungen
+% des typischen Querbalkens für den TUD-Kopf geschaffen. Durch sie können
+% sowohl die verwendete Schrift als auch die Stärke für den Balkentext
+% (Institut, Fakultät etc.) geändert werden. Zusätzlich ist die Laufweite des
+% Querbalkens bzw. die Farbe einstellbar.
+% \begin{macrocode}
+\cs@lock{tud@head@font}{0}
+\newcommand*\tud@head@bar{0}
+\bool@lock{@tud@head@widebar}
+\TUD@key{cdhead}[true]{%
+ \TUD@set@numkey{cdhead}{@tempa}{%
+ \TUD@numkey@bool,%
+ {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
+ {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
+ {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
+ {heavy}{2},{heavyfont}{2},%
+ {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},%
+ {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},%
+ {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},%
+ {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},%
+ {bicolor}{5},{bicolour}{5},{twocolor}{5},{twocolour}{5},%
+ {bichrome}{5},{bichromatic}{5},{dichrome}{5},{dichromatic}{5},%
+ {color}{5},{colour}{5},%
+ {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5},%
+ {textwidth}{6},{slim}{6},{slimhead}{6},{nowide}{6},{nowidehead}{6},%
+ {paperwidth}{7},{wide}{7},{widehead}{7}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax%
+ \cs@set@lock{tud@head@font}{0}%
+ \or%
+ \cs@set@lock{tud@head@font}{1}%
+ \or%
+ \cs@set@lock{tud@head@font}{2}%
+ \or%
+ \def\tud@head@bar{0}%
+ \or%
+ \def\tud@head@bar{1}%
+ \or%
+ \def\tud@head@bar{2}%
+ \or%
+ \bool@set@lock{@tud@head@widebar}{false}%
+ \or%
+ \bool@set@lock{@tud@head@widebar}{true}%
+ \fi%
+ \fi%
+}
+% \end{macrocode}
+% \end{macro}^^A \if@tud@head@widebar@locked
+% \end{macro}^^A \if@tud@head@widebar
+% \end{macro}^^A \tud@head@bar
+% \end{macro}^^A \if@tud@head@font@locked
+% \end{macro}^^A \tud@head@font
+% \end{option}^^A cdhead
% \begin{option}{cdfoot}
-% \begin{macro}{\if@tud@cdfoot}
+% \changes{v2.03}{2015/02/02}{Option \opt{extrabottommargin} bei Längenangabe
+% indirekt nutzbar}%^^A
+% \begin{macro}{\if@tud@footcolor}
% \begin{macro}{\tud@ps@store}
% \changes{v2.02}{2014/06/23}{neu}%^^A
% \begin{macro}{\tud@@ps@store}
@@ -1281,21 +1694,41 @@
% \changes{v2.02}{2014/06/23}{neu}%^^A
% Dieser Seitenstil mit dem Kolumnentitel im Fuß wurde bereits für die alte
% \cls{tudbook}-Klasse bereitgestellt und soll auch hier optional angeboten
-% werden.
+% werden. Zusätzlich kann mit dieser Option ggf. ein farbiger Hintergrund in
+% der Fußzeile aktiviert werden.
% \begin{macrocode}
-\newif\if@tud@cdfoot
+\newif\if@tud@footcolor
\TUD@key{cdfoot}[true]{%
- \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}%
+ \TUD@set@numkey{cdfoot}{@tempa}{%
+ \TUD@numkey@bool,%
+ {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},%
+ {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
+ {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
+ {color}{3},{colour}{3},%
+ {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax%
+% \end{macrocode}
+% Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@restore}
+% wiederhergestellt. Dies wird allerdings frühestens nach dem Laden von
+% \pkg{scrlayer-scrpage} durchgeführt.
+% \begin{macrocode}
+ \TUD@AfterPackage{scrlayer-scrpage}{%
+ \tud@ps@restore{scrheadings}%
+ \tud@ps@restore{plain.scrheadings}%
+ \tud@font@koma@unset{pageheadfoot}%
+ }%
% \end{macrocode}
% Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@store}
% gesichert, um gegebenenfalls zurückschalten zu können. Anschließend werden
-% diese mit dem neuen Stil überschrieben.
+% diese mit dem neuen Stil überschrieben. Dies wird allerdings frühestens nach
+% dem Laden von \pkg{scrlayer-scrpage} durchgeführt.
% \begin{macrocode}
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument%
- \if@tud@cdfoot%
- \tud@ps@store{headings}%
- \tud@ps@store{plain}%
+ \or%
+ \TUD@AfterPackage{scrlayer-scrpage}{%
+ \tud@ps@store{scrheadings}%
+ \tud@ps@store{plain.scrheadings}%
\tud@font@koma@set{pageheadfoot}{\upshape}%
\clearpairofpagestyles%
\ofoot[\pagemark]{%
@@ -1303,34 +1736,38 @@
{\footnotesize\headmark}%
\if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi%
}%
+ }%
% \end{macrocode}
-% Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@restore}
-% wiederhergestellt.
+% Hier kann die Hintergrundfarbe des Fußes aktiviert bzw. deaktiviert werden.
% \begin{macrocode}
- \else%
- \tud@ps@restore{headings}%
- \tud@ps@restore{plain}%
- \tud@font@koma@unset{pageheadfoot}%
- \fi%
+ \or%
+ \@tud@footcolorfalse%
+ \or%
+ \@tud@footcolortrue%
\fi%
+% \end{macrocode}
+% Außerdem kann mit der Option \opt{extrabottommargin} gesetzt werden.
+% \begin{macrocode}
+ \else%
+ \TUDoptions{extrabottommargin=#1}%
\fi%
}
% \end{macrocode}
% Die nächsten beiden Befehle dienen zum Sichern der Kopf- und Fußzeilen\dots
% \begin{macrocode}
\newcommand*\tud@ps@store[1]{%
- \tud@@ps@store{#1}{odd}{left}{head}{}%
- \tud@@ps@store{#1}{odd}{right}{head}{}%
- \tud@@ps@store{#1}{odd}{middle}{head}{}%
- \tud@@ps@store{#1}{even}{left}{head}{}%
- \tud@@ps@store{#1}{even}{right}{head}{}%
- \tud@@ps@store{#1}{even}{middle}{head}{}%
- \tud@@ps@store{#1}{odd}{left}{foot}{}%
- \tud@@ps@store{#1}{odd}{right}{foot}{}%
- \tud@@ps@store{#1}{odd}{middle}{foot}{}%
- \tud@@ps@store{#1}{even}{left}{foot}{}%
- \tud@@ps@store{#1}{even}{right}{foot}{}%
- \tud@@ps@store{#1}{even}{middle}{foot}{}%
+ \tud@@ps@store{#1}{odd}{left}{head}%
+ \tud@@ps@store{#1}{odd}{right}{head}%
+ \tud@@ps@store{#1}{odd}{middle}{head}%
+ \tud@@ps@store{#1}{even}{left}{head}%
+ \tud@@ps@store{#1}{even}{right}{head}%
+ \tud@@ps@store{#1}{even}{middle}{head}%
+ \tud@@ps@store{#1}{odd}{left}{foot}%
+ \tud@@ps@store{#1}{odd}{right}{foot}%
+ \tud@@ps@store{#1}{odd}{middle}{foot}%
+ \tud@@ps@store{#1}{even}{left}{foot}%
+ \tud@@ps@store{#1}{even}{right}{foot}%
+ \tud@@ps@store{#1}{even}{middle}{foot}%
}
% \end{macrocode}
% \dots, wobei hierfür auf die internen Befehle von \pkg{scrlayer-scrpage}
@@ -1338,40 +1775,35 @@
% \begin{macrocode}
\newcommand*\tud@@ps@store[4]{%
\ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{%
- \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}%
+ \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}%
}%
}
\newcommand*\tud@ps@restore[1]{%
- \tud@@ps@restore{#1}{odd}{left}{head}{}%
- \tud@@ps@restore{#1}{odd}{right}{head}{}%
- \tud@@ps@restore{#1}{odd}{middle}{head}{}%
- \tud@@ps@restore{#1}{even}{left}{head}{}%
- \tud@@ps@restore{#1}{even}{right}{head}{}%
- \tud@@ps@restore{#1}{even}{middle}{head}{}%
- \tud@@ps@restore{#1}{odd}{left}{foot}{}%
- \tud@@ps@restore{#1}{odd}{right}{foot}{}%
- \tud@@ps@restore{#1}{odd}{middle}{foot}{}%
- \tud@@ps@restore{#1}{even}{left}{foot}{}%
- \tud@@ps@restore{#1}{even}{right}{foot}{}%
- \tud@@ps@restore{#1}{even}{middle}{foot}{}%
+ \tud@@ps@restore{#1}{odd}{left}{head}%
+ \tud@@ps@restore{#1}{odd}{right}{head}%
+ \tud@@ps@restore{#1}{odd}{middle}{head}%
+ \tud@@ps@restore{#1}{even}{left}{head}%
+ \tud@@ps@restore{#1}{even}{right}{head}%
+ \tud@@ps@restore{#1}{even}{middle}{head}%
+ \tud@@ps@restore{#1}{odd}{left}{foot}%
+ \tud@@ps@restore{#1}{odd}{right}{foot}%
+ \tud@@ps@restore{#1}{odd}{middle}{foot}%
+ \tud@@ps@restore{#1}{even}{left}{foot}%
+ \tud@@ps@restore{#1}{even}{right}{foot}%
+ \tud@@ps@restore{#1}{even}{middle}{foot}%
}
\newcommand*\tud@@ps@restore[4]{%
\ifcsdef{@@tud@ps@#1@#2@#3@#4}{%
- \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}%
+ \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}%
\csundef{@@tud@ps@#1@#2@#3@#4}%
- }%
+ }{}%
}
% \end{macrocode}
-% Damit die Einstellungen aus der Präambel übernommen werden, wird die Option
-% ggf. zu Beginn mit \cs{AtBeginDocument} aufgerufen.
-% \begin{macrocode}
-\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi}
-% \end{macrocode}
% \end{macro}^^A \tud@@ps@restore
% \end{macro}^^A \tud@ps@restore
% \end{macro}^^A \tud@@ps@store
% \end{macro}^^A \tud@ps@store
-% \end{macro}^^A \if@tud@cdfoot
+% \end{macro}^^A \if@tud@footcolor
% \end{option}^^A cdfoot
% \begin{macro}{\tud@ps@headings}
% \changes{v2.02}{2014/06/23}{entfernt}%^^A
@@ -1385,7 +1817,7 @@
% \end{macro}^^A \tud@ps@plain
% \end{macro}^^A \tud@ps@myheadings
% \end{macro}^^A \tud@ps@headings
-% \begin{option}{geometry}
+% \begin{option}{cdgeometry}
% \begin{macro}{\tud@geometry}
% \begin{macro}{\if@tud@geometry@locked}
% Für das \CD sind standardmäßig feste Seitenränder vorgegeben. Diese sind
@@ -1402,8 +1834,8 @@
% Satzspiegeloptionen umgesetzt und nachfolgend definiert.
% \begin{macrocode}
\newcommand*\tud@geometry{0}
-\TUD@key@lock{geometry}[true]{%
- \TUD@set@numkey@lock{geometry}{tud@geometry}{%
+\TUD@key@lock{cdgeometry}[true]{%
+ \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{%
\TUD@numkey@bool,%
{typearea}{0},%
{tud}{1},{asymmetric}{1},{cd}{1},%
@@ -1417,7 +1849,7 @@
% \end{macrocode}
% \end{macro}^^A \if@tud@geometry@locked
% \end{macro}^^A \tud@geometry
-% \end{option}^^A geometry
+% \end{option}^^A cdgeometry
%
% \iffalse
%</class&option>
@@ -1428,18 +1860,22 @@
% \begin{length}{\tud@ta@topmargin}
% \begin{length}{\tud@ta@headheight}
% \begin{length}{\tud@ta@headsep}
+% \begin{length}{\tud@ta@footheight}
+% \changes{v2.03}{2015/01/09}{neu, für entsprechende \pkg{typearea}-Option}%^^A
% \begin{length}{\tud@ta@footskip}
% Diese Längen werden benötigt, um einen mit \pkg{typearea} berechneten
% Satzspiegel an \pkg{geometry} weiterzureichen und die unterschiedlichen, vom
% Satzspiegel abhängigen Seitenlayouts zu erstelen.
% \begin{macrocode}
-\newlength{\tud@ta@textheight}
-\newlength{\tud@ta@topmargin}
-\newlength{\tud@ta@headheight}
-\newlength{\tud@ta@headsep}
-\newlength{\tud@ta@footskip}
+\newlength\tud@ta@textheight
+\newlength\tud@ta@topmargin
+\newlength\tud@ta@headheight
+\newlength\tud@ta@headsep
+\newlength\tud@ta@footheight
+\newlength\tud@ta@footskip
% \end{macrocode}
% \end{length}^^A \tud@ta@footskip
+% \end{length}^^A \tud@ta@footheight
% \end{length}^^A \tud@ta@headsep
% \end{length}^^A \tud@ta@headheight
% \end{length}^^A \tud@ta@topmargin
@@ -1455,7 +1891,7 @@
% das \CD vorgegeben ist oder der durch \pkg{typearea} berechnete. Die Länge
% \cs{tud@ta@footdiff} wurde mit der \TUDScript-Version~v2.02 entfernt.
% \begin{macrocode}
-\newlength{\tud@ta@headdiff}
+\newlength\tud@ta@headdiff
% \end{macrocode}
% \end{length}^^A \tud@ta@footdiff
% \end{length}^^A \tud@ta@headdiff
@@ -1474,11 +1910,16 @@
% \begin{macrocode}
\newcommand*\tud@geometry@restore{}
\AfterCalculatingTypearea{%
- \setlength{\tud@ta@textheight}{\textheight}%
- \setlength{\tud@ta@topmargin}{\topmargin}%
- \setlength{\tud@ta@headheight}{\headheight}%
- \setlength{\tud@ta@headsep}{\headsep}%
- \setlength{\tud@ta@footskip}{\footskip}%
+ \setlength\tud@ta@textheight{\textheight}%
+ \setlength\tud@ta@topmargin{\topmargin}%
+ \setlength\tud@ta@headheight{\headheight}%
+ \setlength\tud@ta@headsep{\headsep}%
+ \ifcsvoid{ta@fh}{%
+ \setlength\tud@ta@footheight{\footheight}%
+ }{%
+ \setlength\tud@ta@footheight{\ta@fh}%
+ }%
+ \setlength\tud@ta@footskip{\footskip}%
\let\tud@geometry@restore\Gm@restore@org%
\if@atdocument%
\let\Gm@restore@org\relax%
@@ -1487,7 +1928,8 @@
% Damit Änderungen am Satzspiegel im Dokument sicher übernommen werden, wird
% das Setzen des Satzspiegels forciert. Dafür wird \cs{tud@currentgeometry}
% zurückgesetzt und anschließend der aktuelle Seitenstil erneut geladen, um das
-% erneute und korrekte Ausführen von \cs{tud@beforepagestyle} zu erzwingen.
+% erneute und korrekte Ausführen von \cs{tud@beforeselectanypagestyle} zu
+% erzwingen.
% \begin{macrocode}
\gdef\tud@currentgeometry{}%
\expandafter\pagestyle\expandafter{\currentpagestyle}%
@@ -1498,25 +1940,26 @@
% \end{macro}^^A \tud@geometry@restore
% \begin{macro}{\tud@geometry@hmargin}
% \begin{macro}{\tud@geometry@vmargin}
-% \begin{macro}{\tud@geometry@pmargin}
-% \begin{macro}{\tud@geometry@dmargin}
-% Dies sind Hilfsmakros zur Definition unterschiedicher Seitenlayouts
-% (horizontale und vertikale Ränder). Es handelt sich dabei um die Definition
-% der horizontalen und vertikalen Seitenränder sowie die angepassten vertikalen
-% Einstellungen für die Seitenstilvarianten mit TUD-Kopf und/oder \DDC-Fuß.
-% Gesetzt werden diese in Abhängigkeit von der Option \opt{geometry} im
+% \begin{macro}{\tud@geometry@tudmargin}
+% \begin{macro}{\tud@geometry@ddcmargin}
+% Dies sind Hilfsmakros für die Definition der unterschiedichen Seitenlayouts
+% (horizontale und vertikale Ränder). Es handelt sich dabei um die Seitenränder
+% für den normalen Textbereich sowie die angepassten vertikalen Einstellungen
+% für die Seitenstilvarianten mit TUD-Kopf. Im Kompatibilitätsmodus für die
+% Version~v2.02 gibt es außerdem einen separaten Satzspiegel für den \DDC-Fuß.
+% Gesetzt werden diese in Abhängigkeit von der Option \opt{cdgeometry} im
% Makro \cs{tud@geometry@process} bzw. \cs{tud@geometry@@process}.
% \begin{macrocode}
\newcommand*\tud@geometry@hmargin{}
\newcommand*\tud@geometry@vmargin{}
-\newcommand*\tud@geometry@pmargin{}
-\newcommand*\tud@geometry@dmargin{}
+\newcommand*\tud@geometry@tudmargin{}
+\iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{}
% \end{macrocode}
-% \end{macro}^^A \tud@geometry@dmargin
-% \end{macro}^^A \tud@geometry@pmargin
+% \end{macro}^^A \tud@geometry@ddcmargin
+% \end{macro}^^A \tud@geometry@tudmargin
% \end{macro}^^A \tud@geometry@vmargin
% \end{macro}^^A \tud@geometry@hmargin
-% \changes{v2.02}{2014/06/29}{Verzögertes Laden von \pkg{geometry}}%^^A
+% \changes{v2.02}{2014/06/29}{\pkg{geometry} Laden verzögert}%^^A
% Das Paket \pkg{geometry} erlaubt eine genaue Vorgabe des Satzspiegels und
% der Seitenränder, wie es vom \CD der TU~Dresden verlangt wird. Damit dieses
% alle Satzspiegeleinstellungen korrekt vornimmt und auch alle Klassenoptionen
@@ -1528,7 +1971,7 @@
% \opt{crop} geladen wurde, um die Seitenränder nicht zu ändern.
% \begin{macrocode}
\AtEndPreamble{%
- \tud@ifsacrop{}{%
+ \ifstandalonecrop{}{%
\recalctypearea%
\RequirePackage{geometry}[2010/09/12]%
\tud@geometry@process%
@@ -1538,6 +1981,9 @@
% \end{macrocode}
% \begin{macro}{\tud@geometry@process}
% \changes{v2.02}{2014/06/23}{diverse Anpassungen an \pkg{scrlayer-scrpage}}%^^A
+% \changes{v2.03}{2015/01/09}{Satzspiegel des \CDs angepasst}%^^A
+% \changes{v2.03}{2015/01/09}{intiale Festlegung der Länge \cs{marginpar}}%^^A
+% \changes{v2.03}{2015/01/13}{Satzspiegel kompatibilitätsabhängig}%^^A
% \begin{macro}{\tud@geometry@@process}
% Das Makro \cs{tud@geometry@process} setzt die Option für den gewünschten
% Satzspiegel um, sowohl für die Seitenränder als auch zur Einberechnung der
@@ -1562,52 +2008,73 @@
% Dazu werden die berechneten Werte in die entsprechenden Hilfsmakros
% für die Erstellung der \pkg{geometry}-Satzspiegel übergeben.
% \begin{macrocode}
- \ifcase \tud@geometry\relax%
+ \ifcase\tud@geometry\relax%
\def\tud@geometry@hmargin{%
left=\dimexpr\oddsidemargin+1in\relax,%
width=\textwidth,%
+ marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,%
+ \if@twoside\if@reversemargin%
+ marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,%
+ \fi\fi%
+ marginparsep=.5\tud@ta@headsep,%
}%
\def\tud@geometry@vmargin{%
- top={%
- \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax%
- },%
+ top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep%
+ +1in\relax,%
headheight=\tud@ta@headheight,%
headsep=\tud@ta@headsep,%
textheight=\tud@ta@textheight,%
footskip=\tud@ta@footskip,%
}%
- \def\tud@geometry@pmargin{%
- top={%
- \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax%
- },%
- headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,%
+ \def\tud@geometry@tudmargin{%
+ top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ +\tud@dim@headsep\relax,%
+ headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -\tud@dim@logoy\relax,%
headsep=\tud@dim@headsep,%
textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,%
- footskip=\tud@ta@footskip,%
- }%
- \def\tud@geometry@dmargin{%
- textheight={%
- \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax%
- },%
- footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,%
+ ignorehead,%
}%
% \end{macrocode}
% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile
% für den \pkg{typearea}-Satzspiegel berechnet.
% \begin{macrocode}
- \setlength{\tud@ta@headdiff}{\dimexpr%
- \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax%
- }%
- \setlength{\tud@dim@ddcdiff}{\dimexpr%
- \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax%
+ \setlength\tud@ta@headdiff{%
+ \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
+ -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax%
}%
% \end{macrocode}
% Sollte der \pkg{typearea}-Satzspiegel noch unterhalb des TUD-Kopfes liegen,
% wird der Abstand zum Kopf vergrößert.
% \begin{macrocode}
\ifdim\tud@ta@headdiff<\z@\relax%
- \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}%
+ \addtolength\tud@dim@headsep{-\tud@ta@headdiff}%
+ \fi%
+% \end{macrocode}
+% Für den Kompatibilitätsmodus der Version~v2.02 gibt es für den \DDC-Fuß einen
+% separaten Satzspiegel.
+% \begin{macrocode}
+ \iftudscrverlower{2.03}{%
+ \setlength\tud@dim@ddcdiff{%
+ \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep%
+ +\tud@ta@footheight-1.25\baselineskip\relax%
+ }%
+ \def\tud@geometry@ddcmargin{%
+ textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff%
+ -\tud@dim@ddcdiff\relax,%
+ footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,%
+ }%
+ }{}%
+% \end{macrocode}
+% Sollte die Option \opt{extrabottommargin} verwendet worden sein, wird eine
+% Warnung ausgegeben, dass diese für den \pkg{typearea}-Satzspiegel wirkungslos
+% ist.
+% \begin{macrocode}
+ \ifdim\tud@dim@extrabottommargin=\z@\relax\else%
+ \ClassWarning{\tudcls@name}{%
+ Option `extrabottommargin' is ineffective when\MessageBreak%
+ package typearea is used (`cdgeometry=no')%
+ }%
\fi%
% \end{macrocode}
% Hier erfolgt die Definition der Hilfsmakros für das CD-konforme asymmetrische
@@ -1616,10 +2083,16 @@
% unterschiedlichen Optionen definiert. Danach kommt der Gleichanteil.
% \begin{macrocode}
\else%
- \ifcase \tud@geometry\or%
+ \ifcase\tud@geometry\or%
\def\tud@geometry@hmargin{%
- left=\tud@dim@left,%
+ left=\tud@dim@widemargin,%
textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ \if@reversemargin%
+ marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,%
+ \else%
+ marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,%
+ \fi%
+ marginparsep=.5\tud@ta@headsep,%
bindingoffset=\ta@bcor,%
\if@twoside asymmetric,\fi%
}%
@@ -1631,6 +2104,8 @@
\def\tud@geometry@hmargin{%
left=.5\tud@dim@both,%
textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
+ marginparsep=.5\tud@ta@headsep,%
bindingoffset=\ta@bcor,%
}%
% \end{macrocode}
@@ -1648,67 +2123,106 @@
left=.5\tud@dim@both,%
\fi%
textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ \if@twoside%
+ \if@reversemargin%
+ marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,%
+ \else%
+ marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,%
+ \fi%
+ \else%
+ marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
+ \fi%
+ marginparsep=.5\tud@ta@headsep,%
bindingoffset=\ta@bcor,%
}%
\fi%
% \end{macrocode}
-% Für alle drei Varianten der vertikale Gleichanteil.
-% \begin{macrocode}
- \def\tud@geometry@vmargin{%
- top=\tud@dim@top,%
- headheight=\tud@ta@headheight,%
- headsep=\tud@dim@headsep,%
- bottom=\tud@dim@bottom,%
- footskip=\tud@dim@footskip,%
- \tud@geometry@hincl,%
- \tud@geometry@fincl,%
+% Für alle drei Varianten der vertikale Gleichanteil. Der Satzspiegel der
+% Version~v2.02 wird aus Gründen der Kompatibilität weiterhin vorgehalten.
+% \begin{macrocode}
+ \iftudscrverlower{2.03}{%
+ \def\tud@geometry@vmargin{%
+ top=.5\tud@dim@both,%
+ headheight=\tud@ta@headheight,%
+ headsep=\tud@dim@headsep,%
+ bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,%
+ footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ -1.25\baselineskip\relax,%
+ \tud@geometry@hincl,%
+ \tud@geometry@fincl,%
+ }%
+ }{%
+ \def\tud@geometry@vmargin{%
+ top=\tud@dim@slimmargin,%
+ headheight=\tud@ta@headheight,%
+ headsep=\tud@ta@headsep,%
+ bottom=\dimexpr\tud@dim@widemargin+\tud@dim@extrabottommargin\relax,%
+ footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,%
+ \tud@geometry@hincl,%
+ \tud@geometry@fincl,%
+ }%
}%
- \def\tud@geometry@pmargin{%
- top={%
- \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax%
- },%
- headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,%
+ \def\tud@geometry@tudmargin{%
+ top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ +\tud@dim@headsep\relax,%
+ headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -\tud@dim@logoy\relax,%
headsep=\tud@dim@headsep,%
- bottom=\tud@dim@bottom,%
- footskip=\tud@dim@footskip,%
- }%
-% \end{macrocode}
-% Wird die Fußzeile zum Satzspiegel gerechnet, ist für Seiten mit \DDC-Fuß
-% etwas Handarbeit notwendig, damit dieser nicht allzu weit nach oben ragt.
-% \begin{macrocode}
- \def\tud@geometry@dmargin{%
- \if@fincl%
- bottom=\dimexpr%
- \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,%
- \else%
- bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,%
- \fi%
- footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,%
+ ignorehead,%
}%
% \end{macrocode}
% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile
% für den Satzspiegel des \CDs berechnet.
% \begin{macrocode}
- \setlength{\tud@ta@headdiff}{%
- \dimexpr\tud@dim@headheight+\tud@dim@barheight%
- +\tud@dim@headsep-\tud@dim@top\relax%
- }%
- \setlength{\tud@dim@ddcdiff}{\dimexpr%
- \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax%
+ \setlength\tud@ta@headdiff{%
+ \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
+ -\tud@dim@slimmargin\relax%
}%
+% \end{macrocode}
+% Für die Kompatibilitätsvariante wieder mal die Extrawurst\dots
+% \begin{macrocode}
+ \iftudscrverlower{2.03}{%
+ \setlength\tud@ta@headdiff{%
+ \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
+ -.5\tud@dim@both\relax%
+ }%
+% \end{macrocode}
+% Wird die Fußzeile zum Satzspiegel gerechnet, ist für Seiten mit \DDC-Fuß
+% etwas Handarbeit notwendig, damit dieser nicht allzu weit nach oben ragt.
+% \begin{macrocode}
+ \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}%
+ \def\tud@geometry@ddcmargin{%
+ \if@fincl%
+ bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
+ +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight%
+ -1.25\baselineskip\relax,%
+ \else%
+ bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
+ +\tud@dim@ddcdiff\relax,%
+ \fi%
+ footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ -1.25\baselineskip+\tud@dim@ddcdiff\relax,%
+ }%
+ }{}%
\fi%
% \end{macrocode}
% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile
% für den Satzspiegel des \CDs berechnet. Außerdem wird die standardmäßige
% vertikale Verschiebung der Überschriften festgelegt.
% \begin{macrocode}
- \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi%
+ \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi%
\global\tud@ta@headdiff=\tud@ta@headdiff%
- \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi%
- \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
- \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}%
+ \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}%
\global\tud@dim@headingsvskip=\tud@dim@headingsvskip%
% \end{macrocode}
+% Für den Satzspiegel der Version~v2.02 wird außerdem die Länge für den höheren
+% Seitenfuß gesetzt.
+% \begin{macrocode}
+ \iftudscrverlower{2.03}{%
+ \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi%
+ \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
+ }{}%
+% \end{macrocode}
% Es wird \cs{tud@geometry@@process} aufgerufen, was die zuvor definierten
% Hilfsmakros nutzt, um alle benötigten Seitenlayouts optionsabhängig zu
% erstellen.
@@ -1726,32 +2240,34 @@
% \begin{macrocode}
\newcommand*\tud@geometry@@process{%
% \end{macrocode}
-% Als erstes wird der Satzspiegel für TUD-Kopf und \DDC-Fuß erstellt. Das
-% Einbeziehen der Fußzeile in den Satzspiegel erfolgt ggf. manuell bei der
-% Definition von \cs{tud@geometry@dmargin}.
-% \begin{macrocode}
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@pmargin,%
- \tud@geometry@dmargin,%
- ignorehead,ignorefoot,%
- }%
- \expandafter\newgeometry\expandafter{\@tempa}%
- \savegeometry{tudareaddc}%
+% Für den Satzspiegel der Version~v2.02 wird als erstes der Satzspiegel für den
+% TUD-Kopf zusammen mit dem \DDC-Fuß erstellt. Das Einbeziehen der Fußzeile in
+% den Satzspiegel erfolgt nicht ggf. über die Option \opt{includefoot} sondern
+% manuell bei der Definition von \cs{tud@geometry@ddcmargin}.
+% \begin{macrocode}
+ \iftudscrverlower{2.03}{%
+ \edef\@tempa{%
+ \tud@geometry@hmargin,%
+ \tud@geometry@vmargin,%
+ \tud@geometry@tudmargin,%
+ \tud@geometry@ddcmargin,%
+ ignorehead,ignorefoot,%
+ }%
+ \expandafter\newgeometry\expandafter{\@tempa}%
+ \savegeometry{tudareaddc}%
+ }{}%
% \end{macrocode}
-% Danach folgt der Seitenstil, welcher zwar den TUD-Kopf aber lediglich die
-% Standardfußzeile hat.
+% Danach folgt der Seitenstil, mit dem TUD-Kopf und der Standardfußzeile.
% \begin{macrocode}
\edef\@tempa{%
\tud@geometry@hmargin,%
- \tud@geometry@pmargin,%
- ignorehead,%
- \tud@geometry@fincl%
+ \tud@geometry@vmargin,%
+ \tud@geometry@tudmargin,%
}%
\expandafter\newgeometry\expandafter{\@tempa}%
\savegeometry{tudarea}%
% \end{macrocode}
-% Der Standardsatzspiegel wird erstellt.
+% Als letztes wird der Standardsatzspiegel erstellt.
% \begin{macrocode}
\edef\@tempa{%
\tud@geometry@hmargin,%
@@ -1796,15 +2312,16 @@
% \changes{v2.02}{2014/07/18}{neu}%^^A
% \begin{macro}{\tud@currentpagestyle@reset}
% \changes{v2.02}{2014/07/18}{neu}%^^A
+% \changes{v2.03}{2015/01/09}{Bugfix, wenn \cs{tud@currentpagestyle} void}%^^A
% Durch den hohen TUD-Kopf muss bei der Verwendung dessens das Seitenlayout
% temporär umgeschaltet werden, um die Höhe des Satzspiegels zu verringern.
% Dies geschieht innerhalb dieser Umgebung reversibel mit \cs{pagestyle}.
% Dabei wird mit \cs{loadgeometry} ein Seitenumbruch erzwungen und der
% benötigte Satzspiegel geladen.
%
-% Die Befehle \cs{tud@currentpagestyle@set} und
-% \cs{tud@currentpagestyle@reset} sind für die Sicherung und Wiederherstellung
-% des vor der Umgebung geladenen Seitenstils verantwortlich.
+% Die Befehle \cs{tud@currentpagestyle@set} und \cs{tud@currentpagestyle@reset}
+% sind für die Sicherung und Wiederherstellung des vor der Umgebung geladenen
+% Seitenstils verantwortlich.
%
% Zu Beginn der Umgebung werden die weiter unten beschriebenen Optionen für
% diese Umgebung mit \cs{TUD@parameter@set} ausgeführt. Nach dem Beenden der
@@ -1815,12 +2332,22 @@
\newcommand*\tud@ps{tudheadings}
\newcommand*\tud@ps@select{%
\expandafter\pagestyle\expandafter{\tud@ps}%
+ \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{%
+ \renewcommand*\titlepagestyle{empty}%
%<*book|report>
- \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}%
- \ifstr{\tud@ps}{empty.tudheadings}{%
- \renewcommand*\chapterpagestyle{empty.tudheadings}%
+ \renewcommand*\partpagestyle{empty}%
+ \renewcommand*\chapterpagestyle{empty}%
+%</book|report>
+ \renewcommand*\indexpagestyle{empty}%
}{}%
+ \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{%
+ \renewcommand*\titlepagestyle{empty.tudheadings}%
+%<*book|report>
+ \renewcommand*\partpagestyle{empty.tudheadings}%
+ \renewcommand*\chapterpagestyle{empty.tudheadings}%
%</book|report>
+ \renewcommand*\indexpagestyle{empty.tudheadings}%
+ }{}%
}
\newcommand*\tud@currentpagestyle{}
\newcommand*\tud@currentpagestyle@set{%
@@ -1829,8 +2356,10 @@
}{}%
}
\newcommand*\tud@currentpagestyle@reset{%
- \expandafter\pagestyle\expandafter{\tud@currentpagestyle}%
- \let\tud@currentpagestyle\relax%
+ \ifdefvoid{\tud@currentpagestyle}{}{%
+ \expandafter\pagestyle\expandafter{\tud@currentpagestyle}%
+ \let\tud@currentpagestyle\relax%
+ }%
}
\NewEnviron{tudpage}[1][]{%
% \end{macrocode}
@@ -1838,8 +2367,9 @@
% dieser im Hilfsmakro \cs{tud@currentpagestyle} gespeichert.
% \begin{macrocode}
\tud@currentpagestyle@set%
- \clearpage\def\tud@ps{tudheadings}%
- \TUD@parameter@set[tudpage]{#1}%
+ \clearpage%
+ \def\tud@ps{tudheadings}%
+ \TUD@parameter@set{tudpage}{#1}%
\tud@ps@select%
\tud@multicols@check%
% \end{macrocode}
@@ -1871,45 +2401,51 @@
% \end{macro}^^A \tud@ps@select
% \end{macro}^^A \tud@ps
% \end{environment}^^A tudpage
+% \begin{macro}{\TUD@parameter@define@ps}
% Im Folgenden werden die einzelnen Parameter für die \env{tudpage}"=Umgebung
-% definiert. Mit \cs{TUD@parameter}\marg{Family}\marg{\dots} wird die
-% Parameterfamilie festgelegt und anschließend die Definitionen getätigt.
+% definiert. Die Parameter für Kopf- und Fußzeile werden nicht nur für die
+% \env{tudpage}-Umgebung sondern auch noch für Titel und Umschlagseite
+% verwendet, weshalb deren Definitionen zur einfacheren Wiederverwendung in das
+% Makro \cs{TUD@parameter@define@ps} ausgelagert werden.
% \begin{macrocode}
-\TUD@parameter{tudpage}{%
+\newcommand*\TUD@parameter@define@ps[1]{%
% \end{macrocode}
-% \begin{parameter}{language}
-% Mit diesem Parameter kann die Sprache in der Umgebung umgeschaltet werden. Die
-% Sprache kann auch ohne den entsprechenden Schlüssel direkt als Parameter
-% angegeben werden.
+% \begin{parameter}{cdfont}
+% Die Option \opt{cdfont} bestimmt, ob die Schriften des \CDs oder aber die
+% standardmäßigen Serifenlosen für die Auszeichnugen in der Kopfzeile und
+% Serifen im Inhalt verwendet werden.
% \begin{macrocode}
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
+ \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
% \end{macrocode}
-% \end{parameter} ^^A language
-% \begin{parameter}{columns}
-% Hiermit kann die Anzahl der Spalten für die Umgebung angegeben werden. Für
-% mehr als zwei Spalten muss das Paket \pkg{multicols} geladen werden. Die
-% Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter
-% angegeben werden.
+% \end{parameter}^^A cdfont
+% \begin{parameter}{cdhead}
+% \changes{v2.03}{2015/01/28}{\val{barfont} und \val{widehead} überlagert}%^^A
+% Mit dem Parameter \val{cdhead} kann die Verwendung der Schriften des \CDs
+% aktiviert werden, wenn diese im Fließtext nicht zum Einsatz kommen. Die
+% Breite des Querbalkens kann über diesen Parameter ebenfalls geändert werden.
% \begin{macrocode}
- \TUD@parameter@define{columns}{\def\tud@multicols{#1}}%
+ \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}%
% \end{macrocode}
-% \end{parameter} ^^A columns
-% \begin{parameter}{color}
-% \begin{parameter}{colour}
-% Die \opt{color}"=Option ändert die Farbe von Schrift, Querbalken und im
-% pdf\LaTeX-Modus auch die des TUD-Logos.
+% \end{parameter}^^A cdhead
+% \begin{parameter}{cdfoot}
+% \changes{v2.03}{2015/01/30}{neu}%^^A
+% Über \val{cdfoot} kann gg. die Hintergrundfarbe sowie die Standardfußzeile
+% des \CDs aktiviert werden.
% \begin{macrocode}
- \TUD@parameter@define{color}[HKS41]{\def\tud@head@color{#1}}%
- \TUD@parameter@let{colour}{color}%
+ \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
% \end{macrocode}
-% \end{parameter}^^A colour
-% \end{parameter}^^A color
-% \begin{parameter}{widehead}
-% Die Breite des Querbalkens kann ebenfalls geändert werden.
+% \end{parameter}^^A cdfoot
+% \begin{parameter}{headlogo}
+% \changes{v2.03}{2015/01/28}{neu}%^^A
+% \begin{parameter}{footlogo}
+% \changes{v2.03}{2015/01/28}{neu}%^^A
+% Das Zweit- und die Drittlogos können ebenfalls lokal geändert werden.
% \begin{macrocode}
- \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}%
+ \TUD@parameter@define{headlogo}{\headlogo{#1}}%
+ \TUD@parameter@define{footlogo}{\footlogo{#1}}%
% \end{macrocode}
-% \end{parameter}^^A widehead
+% \end{parameter}^^A footlogo
+% \end{parameter}^^A headlogo
% \begin{parameter}{ddc}
% \changes{v2.02}{2014/08/16}{neu}%^^A
% \begin{parameter}{ddchead}
@@ -1920,79 +2456,110 @@
\TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}%
\TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
% \end{macrocode}
-% \end{parameter}^^A ddc
-% \end{parameter}^^A ddchead
% \end{parameter}^^A ddcfoot
-% \begin{parameter}{head}
-% \changes{v2.02}{2014/06/30}{entfernt, Funktionalität teilweise durch Option
-% \opt{ddchead} übernommen}%^^A
-% \begin{parameter}{foot}
-% \changes{v2.02}{2014/06/30}{entfernt, Funktinalität teilweise durch Option
-% \opt{ddcfoot} übernommen}%^^A
-% Diese Parameter wurden entfernt. Innerhalb der Umgebung können hierfür
-% \cs{TUDoptions} mit den Schlüsseln \opt{ddchead=\dots} und \opt{ddcfoot=\dots}
-% sowie \cs{headlogo} bzw. für den Querbalken \opt{widehead=true/false} genutzt
-% werden.
-% \end{parameter}^^A head
-% \end{parameter}^^A foot
-% \begin{parameter}{cdfont}
+% \end{parameter}^^A ddchead
+% \end{parameter}^^A ddc
% \begin{parameter}{cdfonts}
-% \changes{v2.02}{2014/08/08}{entfernt}^^A
% \begin{parameter}{tudfonts}
-% \changes{v2.02}{2014/08/08}{entfernt}^^A
-% Die Option \opt{cdfont} bzw. \opt{cdfonts} bestimmt, ob die Schriften des
-% \CDs{} oder aber die standarmäßigen Serifenlosen für die Auszeichnugen in der
-% Kopfzeile und Serifen im Inhalt verwendet werden.
+% \begin{parameter}{barfont}
+% \begin{parameter}{widehead}
+% \begin{parameter}{tudfoot}
+% \begin{parameter}{logo}
+% Für die Kompatibilität werden auch veraltete Parameter bereitgestellt.
% \begin{macrocode}
- \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
+ \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}%
+ \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}%
+ \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
+ \TUD@parameter@let{logo}{headlogo}%
% \end{macrocode}
+% \end{parameter}^^A logo
+% \end{parameter}^^A tudfoot
+% \end{parameter}^^A widehead
+% \end{parameter}^^A barfont
% \end{parameter}^^A tudfonts
% \end{parameter}^^A cdfonts
-% \end{parameter}^^A cdfont
-% \begin{parameter}{barfont}
-% \changes{v2.02}{2014/07/08}{neu}%^^A
-% Mit der Option \opt{headfont} kann die Verwendung der Schriften des \CDs
-% aktiviert werden, wenn diese im Fließtext nicht zum Einsatz kommen.
+% Damit sind alle notwendigen Parameter für die Kopf- und Fußzeile der Seiten
+% im Stil \pgs{tudheadings} definiert.
% \begin{macrocode}
- \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}%
+}
+% \end{macrocode}
+% \end{macro}^^A \TUD@parameter@define@ps
+% Mit \cs{TUD@parameter}\marg{Family}\marg{\dots} wird die Parameterfamilie
+% festgelegt und anschließend die Definitionen getätigt.
+% \begin{macrocode}
+\TUD@parameter{tudpage}{%
+% \end{macrocode}
+% \begin{parameter}{language}
+% Mit diesem Parameter kann die Sprache in der Umgebung umgeschaltet werden. Die
+% Sprache kann auch ohne den entsprechenden Schlüssel direkt als Parameter
+% angegeben werden.
+% \begin{macrocode}
+ \TUD@parameter@define{language}{\selectlanguage{#1}}%
+% \end{macrocode}
+% \end{parameter} ^^A language
+% \begin{parameter}{columns}
+% Hiermit kann die Anzahl der Spalten für die Umgebung angegeben werden. Für
+% mehr als zwei Spalten muss das Paket \pkg{multicols} geladen werden. Die
+% Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter
+% angegeben werden.
+% \begin{macrocode}
+ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}%
% \end{macrocode}
-% \end{parameter}^^A headfont
+% \end{parameter} ^^A columns
+% \begin{parameter}{color}
+% \changes{v2.03}{2015/01/28}{entfernt}%^^A
+% \begin{parameter}{colour}
+% \changes{v2.03}{2015/01/28}{entfernt}%^^A
+% Beide Parameter wurden entfernt, da diese augenscheinlich für das \CD nicht
+% notwendig sind.
+% \end{parameter}^^A colour
+% \end{parameter}^^A color
% \begin{parameter}{pagestyle}
% \changes{v2.02}{2014/06/23}{neu}%^^A
+% \changes{v2.03}{2015/01/28}{\cs{iftudpagestyle} verwendet}%^^A
% Mit diesem Parameter kann der verwendete Seitenstil eingestellt werden, wobei
-% entweder \pgs{tudheadings} oder aber\pgs{plain.tudheadings} bzw.
-% \pgs{empty.tudheadings} verwendet wird.
+% einer der \pgs{tudheadings}-Seitenstile verwendet wird.
% \begin{macrocode}
\TUD@parameter@define{pagestyle}{%
- \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{%
- \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{%
- \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{%
- \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{%
- \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{%
- \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{%
- \TUD@parameter@wrn{pagestyle}{%
- headings, plain, empty or any tudheadings page style type%
- }%
- }}}}}}%
+ \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{%
+ \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{%
+ \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{%
+ \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{%
+ \TUD@parameter@error{pagestyle}{%
+ headings, plain, empty or any tudheadings page style type%
+ }%
+ }}}%
+ }%
}%
% \end{macrocode}
% \end{parameter}^^A pagestyle
-% \begin{parameter}{headlogo}
-% \begin{parameter}{logo}
-% Das sekundäre Logo kann ebenfalls lokal geändert werden.
+% \begin{parameter}{head}
+% \changes{v2.02}{2014/06/30}{entfernt, Funktionalität teilweise durch Option
+% \opt{ddchead} übernommen}%^^A
+% \begin{parameter}{foot}
+% \changes{v2.02}{2014/06/30}{entfernt, Funktinalität teilweise durch Option
+% \opt{ddcfoot} übernommen}%^^A
+% Diese Parameter wurden entfernt. Stattdessen kann innerhalb der Umgebung
+% entweder der Befehl \cs{TUDoptions} mit den Schlüsseln \opt{ddchead=\dots}
+% und \opt{ddcfoot=\dots} bzw. für den Querbalken \opt{cdhead=\dots} sowie das
+% Makro \cs{headlogo} genutzt werden oder aber die gleichnamigen Parameter der
+% Umgebung.
+% \end{parameter}^^A head
+% \end{parameter}^^A foot
+% Hier werden die Parameter für Kopf- und Fußzeile tatsächlich defniert.
% \begin{macrocode}
- \TUD@parameter@define{headlogo}{\headlogo{#1}}%
- \TUD@parameter@let{logo}{headlogo}%
+ \TUD@parameter@define@ps{#1}%
% \end{macrocode}
-% \end{parameter}^^A logo
-% \end{parameter}^^A headlogo
% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation gegeben
-% wird, erfolgt eine Sonderbehandlung durch \cs{tud@environmenthandler}, bei der
-% erst auf eine Zahl geprüft wird und anschießend versucht wird, das Argument
-% als Sprache zu setzen. Nach der Definition aller Parameter wird der Befehl
-% \cs{TUD@parameter} und damit auch die aktuelle Parameterfamilie beendet.
+% wird, erfolgt eine Sonderbehandlung durch \cs{TUD@parameter@defaulthandler},
+% bei dererst auf eine Zahl geprüft wird und anschießend versucht wird, das
+% Argument als Sprache zu setzen. Nach der Definition aller Parameter wird der
+% Befehl \cs{TUD@parameter} und damit auch die aktuelle Parameterfamilie
+% beendet.
% \begin{macrocode}
- \TUD@parameter@sethandler{\tud@environmenthandler{#1}}%
+ \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}%
}
% \end{macrocode}
%