summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-07-02 22:12:17 +0000
committerKarl Berry <karl@freefriends.org>2015-07-02 22:12:17 +0000
commit586aedcf63ecf6ea7da1c1529e5ea5ba8f5cb426 (patch)
treeb679941add6df7f6b1ee8c135b24181f992dcb65 /Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
parentfecdcd43eaa7f73e830159293fe22a202803086b (diff)
tudscr (2jul15)
git-svn-id: svn://tug.org/texlive/trunk@37736 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls')
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls4389
1 files changed, 2574 insertions, 1815 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
index 8a119fa94be..368005bcefe 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
@@ -11,19 +11,19 @@
%% tudscr-layout.dtx (with options: `class,book,option')
%% tudscr-frontmatter.dtx (with options: `class,book,option')
%% tudscr-title.dtx (with options: `class,book,option')
-%% tudscr-misc.dtx (with options: `class,book,option')
%% tudscr-comp.dtx (with options: `class,book,option')
-%% tudscr-base.dtx (with options: `execute')
+%% tudscr-misc.dtx (with options: `class,book,option')
+%% tudscr-misc.dtx (with options: `class,execute')
+%% tudscr-base.dtx (with options: `class,body')
%% tudscr-fonts.dtx (with options: `class,body')
-%% tudscr-color.dtx (with options: `class,body')
%% tudscr-fields.dtx (with options: `class,body')
%% tudscr-locale.dtx (with options: `class,book,body')
%% tudscr-pagestyle.dtx (with options: `class,book,body')
%% tudscr-layout.dtx (with options: `class,book,body')
%% tudscr-frontmatter.dtx (with options: `class,book,body')
%% tudscr-title.dtx (with options: `class,book,body')
-%% tudscr-misc.dtx (with options: `class,book,body')
%% tudscr-comp.dtx (with options: `class,book,body')
+%% tudscr-misc.dtx (with options: `class,book,body')
%%
%% ============================================================================
%%
@@ -70,22 +70,29 @@
\fi%
}%
\fi%
- \@TUDVersion{2015/06/11 v2.03a TUD-KOMA-Script}%
+ \@TUDVersion{2015/07/02 v2.04 TUD-KOMA-Script}%
\endgroup%
\providecommand*\tudscrmail{tudscr@gmail.com}
-\newcommand*\cls@name{book}
-\newcommand*\scrcls@name{scrbook}
-\newcommand*\tudcls@name{tudscrbook}
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\ProvidesClass{\tudcls@name}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
- document class (\cls@name)%
-]
-\typeout{The Corporate Design of Technische Universitaet Dresden}
-\typeout{Class: \tudcls@name}
-\typeout{Version: \TUDVersion}
-\typeout{Author: Falk Hanisch (\tudscrmail)}
-\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
+\newcommand*\TUD@ProvidesClass[3]{%
+ \newcommand*\TUDClassName@KOMA{#2}%
+ \@ifundefined{TUDClassName@Parent}{\newcommand*\TUDClassName{#1}}{}%
+ \ProvidesClass{#1}[%
+ 2015/07/02 v2.04 TUD-KOMA-Script
+ ^^J#3 (#2)%
+ ]%
+ \@ifundefined{TUDClassName@Parent}{\TUD@ClassInfo}{}%
+}
+\providecommand*\TUD@ClassInfo{%
+ \typeout{+---------------------------------------------------------------}
+ \typeout{| The Corporate Design of Technische Universitaet Dresden}
+ \typeout{| Class: \TUDClassName}
+ \typeout{| Version: \TUDVersion}
+ \typeout{| Author: Falk Hanisch (\tudscrmail)}
+ \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
+ \typeout{+---------------------------------------------------------------}
+}
+\NeedsTeXFormat{LaTeX2e}
+\TUD@ProvidesClass{tudscrbook}{scrbook}{document class}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand{\TUDScript}{%
\ifdin{TUD-KOMA-SCRIPT}{%
@@ -97,7 +104,7 @@
\RequirePackage{tudscrbase}[\TUDVersion]
%%% From File: tudscr-fonts.dtx
\PreventPackageFromLoading[%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
The package `tudscrfonts' must not be used with\MessageBreak%
a TUD-KOMA-Script class%
}%
@@ -108,74 +115,30 @@
\newcommand*\tud@dinbold{0m6}
\newif\if@tud@fontspec
\TUD@key{fontspec}[true]{%
+ \ClassWarning{\TUDClassName}%
+ {%
+ The option key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
+ }%
\TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
}
\AtEndOfClass%
{%
- \TUD@key{fontspec}[]
+ \TUD@key{fontspec}[]%
{%
- \ClassError{\tudcls@name}
+ \ClassError{\TUDClassName}%
{Option `fontspec' too late}{%
Option `fontspec' can only be set while loading the\MessageBreak%
- class `\tudcls@name'
+ class `\TUDClassName'
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
}%
\if@tud@fontspec%
- \PreventPackageFromLoading[%
- \ClassWarning{\tudcls@name}%
- {%
- You must not load the package `fontspec' as it is\MessageBreak%
- loaded automatically at the end of the preamble.\MessageBreak%
- If you want to pass options to `fontspec' use\MessageBreak%
- `\string\PassOptionsToPackage{<option list>}{fontspec}'
- }%
- ]{fontspec}
- \fi%
-}
-\AtEndPreamble{%
- \if@tud@fontspec%
- \edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{OT1\tud@univers.fd}}%
- }%
- \def\@tempb#1{%
- \ClassInfoNoLine{\tudcls@name}{%
- `#1' fonts not found for math typesetting%
- }%
- }%
- \else%
- \edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}%
- }%
- \def\@tempb#1{%
- \ClassWarningNoLine{\tudcls@name}{%
- `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
- Please use on of the installation scripts out of the\MessageBreak%
- tudscr-bundle, which suits to your OS or choose a\MessageBreak%
- possible encoding. A fallback layout is used%
- }%
- }%
- \fi%
- \@tempa{\@tud@universtrue}{\@tempb{Univers}}%
- \if@tud@fontspec%
- \edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{OT1\tud@dinbold.fd}}%
- }%
- \else%
- \edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}%
- }%
- \fi%
- \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}%
- \if@tud@fontspec%
- \UnPreventPackageFromLoading{fontspec}%
- \if@tud@univers\if@tud@dinbold%
- \PassOptionsToPackage{no-math}{fontspec}%
- \fi\fi%
\RequirePackage{fontspec}[2014/06/21]%
\fi%
}
+\AfterPackage*{fontspec}{\@tud@fontspectrue}
\RequirePackage{textcase}[2004/10/07]
\newcommand*\tud@uclcnotmath{%
\def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
@@ -228,77 +191,104 @@
{upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},%
{slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},%
{fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
- {nofontspec}{13},{pdftex}{13},{pdflatex}{13}%
+ {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\def\tud@cdfont{0}%
\if@atdocument\tud@font@set\fi%
- \or%
+ \or% true
\def\tud@cdfont{1}%
\if@atdocument\tud@font@set\fi%
- \or%
+ \or% heavy
\def\tud@cdfont{2}%
\if@atdocument\tud@font@set\fi%
- \or%
+ \or% nodin
\renewcommand*\tud@font@heading{\tud@RaggedRight}%
- \or%
- \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}
- \or%
+ \or% din
+ \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
+ \or% nohead
\TUDoptions{cdhead=false}%
- \or%
+ \or% head
\TUDoptions{cdhead=true}%
- \or%
+ \or% heavyhead
\TUDoptions{cdhead=heavy}%
- \or%
+ \or% nomath
\TUDoptions{cdmath=false}%
- \or%
+ \or% math
\TUDoptions{cdmath=true}%
- \or%
+ \or% upgreek
\TUDoptions{slantedgreek=false}%
- \or%
+ \or% slgreek
\TUDoptions{slantedgreek=true}%
- \or%
+ \or% fontspec
\TUDoptions{fontspec=true}%
- \or%
+ \or% nofontspec
\TUDoptions{fontspec=false}%
\fi%
+ \else%
+ \KOMAoptions{fontsize=#1}%
+ \ifcase\tud@cdfont\relax% false to true
+ \def\tud@cdfont{1}%
+ \if@atdocument\tud@font@set\fi%
+ \fi%
\fi%
}
-\AtBeginDocument{\tud@font@set}%
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{fontsize}{%
+ \AtEndOfFamilyOptions{\if@atdocument\tud@font@skip@set\fi}%
+ \FamilyKeyStateProcessed%
+}
\bool@lock{@tud@cdmath}
\TUD@key{cdmath}[true]{%
\TUD@set@numkey{cdmath}{@tempa}{%
\TUD@numkey@bool,%
{serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
{sansmath}{1},{sans}{1},%
- {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},%
- {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
+ {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\bool@set@lock{@tud@cdmath}{false}%
- \TUD@std@ifkey@lock{slantedgreek}{false}%
\if@atdocument\tud@font@math@set\fi%
- \or%
+ \or% true
\bool@set@lock{@tud@cdmath}{true}%
- \TUD@std@ifkey@lock{slantedgreek}{true}%
\if@atdocument\tud@font@math@set\fi%
- \or
+ \or% upgreek
\TUDoptions{slantedgreek=false}%
- \or
+ \or% slgreek
\TUDoptions{slantedgreek=true}%
\fi%
\fi%
}
-\newif\if@tud@slantedgreek
-\TUD@key@lock{slantedgreek}[true]{%
- \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}%
+\bool@lock{@tud@slantedgreek}
+\TUD@key{slantedgreek}[true]{%
+ \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \bool@set@lock{@tud@slantedgreek}{#1}%
\if@atdocument\tud@font@math@set\fi%
\fi%
}
+\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
%%% From File: tudscr-pagestyle.dtx
+\newcommand*\tud@ps@list{}
+\newcommand*\tud@iftudps[3]{%
+ \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}%
+}
+\newif\if@tud@ddc@internal
+\newcommand*\tud@clearpage@iftudps{%
+ \if@tud@ddc@internal\else\if@atdocument%
+ \tud@iftudps{\currentpagestyle}{\clearpage}{}%
+ \fi\fi%
+}
+\newcommand*\tud@pagestyle@iftudps{%
+ \if@tud@ddc@internal\else\if@atdocument%
+ \tud@iftudps{\currentpagestyle}{%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ }{}%
+ \fi\fi%
+}
\newcommand*\tud@ddc@switch{}
\edef\tud@ddc@switch{%
\TUD@numkey@bool,%
@@ -309,88 +299,72 @@
{blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},%
{white}{7},{cdwhite}{7}%
}
-\newcommand*\tud@ddc@save{}
-\newif\if@tud@ddc@save
-\@tud@ddc@savetrue
+\newif\if@tud@ddc@auto
\newcommand*\tud@ddc{0}
-\newif\if@tud@ddc@autoset
\TUD@key{ddc}[true]{%
+ \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
\TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
- \ifcase\tud@ddc\relax%
- \@tud@ddc@autosetfalse%
+ \if@tud@ddc@internal%
+ \@tud@ddc@autofalse%
\else%
- \@tud@ddc@autosettrue%
+ \@tud@ddc@autotrue%
+ \@tud@ddc@internaltrue%
+ \TUDoptions{ddchead=false}%
+ \TUDoptions{ddcfoot=false}%
+ \@tud@ddc@internalfalse%
\fi%
- \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
+ \global\@tud@headlogo@option@settrue%
+ \global\@tud@footlogo@option@settrue%
\fi%
+ \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
}
\newcommand*\tud@ddc@head{0}
\TUD@key{ddchead}[true]{%
- \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@head\fi%
+ \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
\TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tud@ddc@save%
- \begingroup%
- \let\tud@ddc@head\tud@ddc@save%
- \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
- \endgroup%
- \fi%
- \ifcase\tud@ddc@head\relax%
- \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
- \else%
- \@tud@ddc@savefalse%
- \TUDoptions{ddc=false}%
+ \if@tud@ddc@internal\else%
+ \@tud@ddc@internaltrue%
\TUDoptions{ddcfoot=false}%
- \@tud@ddc@savetrue%
+ \TUDoptions{ddc=false}%
+ \@tud@ddc@internalfalse%
\fi%
\fi%
+ \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
}
\newcommand*\tud@ddc@foot{0}
\TUD@key{ddcfoot}[true]{%
- \if@tud@ddc@save\let\tud@ddc@save\tud@ddc@foot\fi%
+ \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
\TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tud@ddc@save%
- \begingroup%
- \let\tud@ddc@foot\tud@ddc@save%
- \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
- \endgroup%
- \fi%
- \ifcase\tud@ddc@foot\relax%
- \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
- \else%
- \@tud@ddc@savefalse%
- \TUDoptions{ddc=false}%
+ \if@tud@ddc@internal\else%
+ \@tud@ddc@internaltrue%
\TUDoptions{ddchead=false}%
- \@tud@ddc@savetrue%
+ \TUDoptions{ddc=false}%
+ \@tud@ddc@internalfalse%
\fi%
\fi%
+ \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
}
\newcommand*\tud@ddc@check{%
\let\@tempa\tud@ddc@head%
\let\@tempb\tud@ddc@foot%
- \if@tud@ddc@autoset%
- \ifx\tud@@headlogo\@empty%
+ \if@tud@ddc@auto%
+ \ifdefvoid{\@headlogo}{%
\let\@tempa\tud@ddc%
\let\@tempb\z@%
- \else%
+ }{%
\let\@tempa\z@%
\let\@tempb\tud@ddc%
- \fi%
+ }%
\fi%
- \iftudscrverlower{2.03}{%
- \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi%
+ \tud@ifverlower{2.03}{%
+ \ifnum\@tempb=\z@\relax%
+ \ifdefvoid{\@footlogo}{}{\let\@tempb\m@ne}%
+ \fi%
}{}%
}
-\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%
-}
\newlength\tud@dim@extrabottommargin
\TUD@key{extrabottommargin}{%
\TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
@@ -399,7 +373,7 @@
\fi%
}
\cs@lock{tud@head@font}{0}
-\newcommand*\tud@head@bar{0}
+\cs@lock{tud@head@bar}{0}
\bool@lock{@tud@head@widebar}
\TUD@key{cdhead}[true]{%
\TUD@set@numkey{cdhead}{@tempa}{%
@@ -412,34 +386,38 @@
{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}%
+ {colorbar}{5},{barcolor}{5},{colourbar}{5},{barcolour}{5},%
+ {bicolor}{6},{bicolour}{6},{twocolor}{6},{twocolour}{6},%
+ {bichrome}{6},{bichromatic}{6},{dichrome}{6},{dichromatic}{6},%
+ {color}{6},{colour}{6},%
+ {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},%
+ {textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},%
+ {paperwidth}{8},{wide}{8},{widehead}{8}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\cs@set@lock{tud@head@font}{0}%
- \or%
+ \or% true
\cs@set@lock{tud@head@font}{1}%
- \or%
+ \or% heavy
\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%
+ \or% nocolor
+ \cs@set@lock{tud@head@bar}{0}%
+ \or% litecolor
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% barcolor
+ \cs@set@lock{tud@head@bar}{2}%
+ \or% color
+ \cs@set@lock{tud@head@bar}{3}%
+ \or% textwidth
\bool@set@lock{@tud@head@widebar}{false}%
- \or%
+ \or% paperwidth
\bool@set@lock{@tud@head@widebar}{true}%
\fi%
\fi%
}
-\newif\if@tud@footcolor
+\TUD@AfterPackage@Set{scrlayer-scrpage}
+\newif\if@tud@foot@colored
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@numkey@bool,%
@@ -450,13 +428,13 @@
{full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\TUD@AfterPackage{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
\tud@font@koma@unset{pageheadfoot}%
}%
- \or%
+ \or% true
\TUD@AfterPackage{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
@@ -467,11 +445,12 @@
{\footnotesize\headmark}%
\if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi%
}%
+ \ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
- \or%
- \@tud@footcolorfalse%
- \or%
- \@tud@footcolortrue%
+ \or% nocolor
+ \@tud@foot@coloredfalse%
+ \or% color
+ \@tud@foot@coloredtrue%
\fi%
\else%
\TUDoptions{extrabottommargin=#1}%
@@ -521,8 +500,9 @@
\TUD@set@numkey@lock{cdgeometry}{tud@geometry}{%
\TUD@numkey@bool,%
{typearea}{0},%
- {tud}{1},{asymmetric}{1},{cd}{1},%
+ {cd}{1},{tud}{1},{asymmetric}{1},%
{symmetric}{2},{centred}{2},{centered}{2},%
+ {normal}{2},{standard}{2},{std}{2},%
{twoside}{3},{balanced}{3}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
@@ -541,58 +521,65 @@
{lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
{light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},%
{pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},%
- {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
- {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
- {color}{4},{colour}{4},%
- {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5}%
+ {colorbar}{3},{barcolor}{3},{colourbar}{3},{barcolour}{3},%
+ {bicolor}{4},{bicolour}{4},{twocolor}{4},{twocolour}{4},%
+ {bichrome}{4},{bichromatic}{4},{dichrome}{4},{dichromatic}{4},%
+ {color}{5},{colour}{5},%
+ {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
\newcommand*\tud@cd{0}
\TUD@key{cd}[true]{%
\TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\tud@cd\relax%
+ \ifcase\tud@cd\relax% false
\cs@std@lock{tud@layout@cover}{0}%
\cs@std@lock{tud@layout@title}{0}%
\cs@std@lock{tud@layout@part}{0}%
\cs@std@lock{tud@layout@chapter}{0}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% true
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{1}%
\cs@std@lock{tud@layout@part}{1}%
\cs@std@lock{tud@layout@chapter}{1}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% litecolor
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{2}%
\cs@std@lock{tud@layout@part}{2}%
\cs@std@lock{tud@layout@chapter}{2}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% barcolor
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{3}%
\cs@std@lock{tud@layout@part}{3}%
\cs@std@lock{tud@layout@chapter}{3}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% bicolor
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{4}%
\cs@std@lock{tud@layout@part}{4}%
\cs@std@lock{tud@layout@chapter}{4}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
- \or%
+ \TUD@std@ifkey@lock{chapterpage}{false}%
+ \or% color
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{5}%
\cs@std@lock{tud@layout@part}{5}%
\cs@std@lock{tud@layout@chapter}{5}%
\TUD@std@ifkey@lock{chapterpage}{true}%
+ \or% full
+ \cs@std@lock{tud@layout@cover}{1}%
+ \cs@std@lock{tud@layout@title}{6}%
+ \cs@std@lock{tud@layout@part}{6}%
+ \cs@std@lock{tud@layout@chapter}{6}%
+ \TUD@std@ifkey@lock{chapterpage}{true}%
\fi%
\if@atdocument%
\tud@layout@process%
\else%
- \ifcase\tud@cd\relax%
+ \ifcase\tud@cd\relax% false
\TUD@std@numkey@lock{cdgeometry}{false}%
- \else%
+ \else% !false
\TUD@std@numkey@lock{cdgeometry}{true}%
\fi%
\fi%
@@ -601,18 +588,20 @@
\TUD@key{cdcover}[true]{%
\TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\cs@set@lock{tud@layout@cover}{0}%
- \or%
+ \or% true
\cs@set@lock{tud@layout@cover}{1}%
- \or%
+ \or% litecolor
\cs@set@lock{tud@layout@cover}{2}%
- \or%
+ \or% barcolor
\cs@set@lock{tud@layout@cover}{3}%
- \or%
+ \or% bicolor
\cs@set@lock{tud@layout@cover}{4}%
- \or%
+ \or% color
\cs@set@lock{tud@layout@cover}{5}%
+ \or% full
+ \cs@set@lock{tud@layout@cover}{6}%
\fi%
\if@atdocument\tud@layout@process\fi%
\fi%
@@ -620,18 +609,20 @@
\TUD@key{cdtitle}[true]{%
\TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\cs@set@lock{tud@layout@title}{0}%
- \or%
+ \or% true
\cs@set@lock{tud@layout@title}{1}%
- \or%
+ \or% litecolor
\cs@set@lock{tud@layout@title}{2}%
- \or%
+ \or% barcolor
\cs@set@lock{tud@layout@title}{3}%
- \or%
+ \or% bicolor
\cs@set@lock{tud@layout@title}{4}%
- \or%
+ \or% color
\cs@set@lock{tud@layout@title}{5}%
+ \or% full
+ \cs@set@lock{tud@layout@title}{6}%
\fi%
\if@atdocument\tud@layout@process\fi%
\fi%
@@ -639,18 +630,20 @@
\TUD@key{cdpart}[true]{%
\TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\cs@set@lock{tud@layout@part}{0}%
- \or%
+ \or% true
\cs@set@lock{tud@layout@part}{1}%
- \or%
+ \or% litecolor
\cs@set@lock{tud@layout@part}{2}%
- \or%
+ \or% barcolor
\cs@set@lock{tud@layout@part}{3}%
- \or%
+ \or% bicolor
\cs@set@lock{tud@layout@part}{4}%
- \or%
+ \or% color
\cs@set@lock{tud@layout@part}{5}%
+ \or% full
+ \cs@set@lock{tud@layout@part}{6}%
\fi%
\if@atdocument\tud@layout@process\fi%
\fi%
@@ -658,51 +651,31 @@
\TUD@key{cdchapter}[true]{%
\TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\cs@set@lock{tud@layout@chapter}{0}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% true
\cs@set@lock{tud@layout@chapter}{1}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% litecolor
\cs@set@lock{tud@layout@chapter}{2}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% barcolor
\cs@set@lock{tud@layout@chapter}{3}%
\TUD@std@ifkey@lock{chapterpage}{false}%
- \or%
+ \or% bicolor
\cs@set@lock{tud@layout@chapter}{4}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
- \or%
+ \TUD@std@ifkey@lock{chapterpage}{false}%
+ \or% color
\cs@set@lock{tud@layout@chapter}{5}%
\TUD@std@ifkey@lock{chapterpage}{true}%
+ \or% full
+ \cs@set@lock{tud@layout@chapter}{6}%
+ \TUD@std@ifkey@lock{chapterpage}{true}%
\fi%
\if@atdocument\tud@layout@process\fi%
\fi%
}
-\newcommand*\tud@font@heading@size{}
-\AtEndOfClass{\let\tud@font@heading@size\size@part}
-\DefineFamilyMember{KOMA}
-\DefineFamilyKey{KOMA}{headings}{%
- \AtEndOfFamilyOptions{%
- \let\tud@font@heading@size\size@part%
- \if@atdocument%
- \tud@layout@process%
- \ifcase\tud@layout@part\relax\else%
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
- \fi%
- \ifcase\tud@layout@chapter\relax\else%
- \tud@font@koma@reset{chapter}%
- \tud@font@koma@reset{chapterprefix}%
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
- \tud@font@koma@reset{minisec}%
- \fi%
- \fi%
- }%
-}
\newif\if@tud@parttitle
\TUD@key{parttitle}[true]{%
\TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}%
@@ -734,9 +707,9 @@
\ifcsdef{ps@#1}{%
\def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
}{%
- \ClassError{\tudcls@name}{`#1' is no valid pagestyle}{%
+ \ClassError{\TUDClassName}{`#1' is no valid pagestyle}{%
You tried to use `#1' as a pagestyle for option\MessageBreak%
- `cleardoublespecialpage', but it was never defined%
+ `cleardoublespecialpage', but it was never defined.%
}%
}%
}%
@@ -774,107 +747,176 @@
\newif\if@tud@clearcolor
\TUD@ifkey{clearcolor}{@tud@clearcolor}
\TUD@ifkey{clearcolour}{@tud@clearcolor}
+\newcommand*\tud@font@koma@set[2]{%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}%
+ \@namedef{tud@font@koma@#1}{#2\nobreak}%
+}
+\newcommand*\tud@font@koma@reset[1]{%
+ \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}%
+}
+\newcommand*\tud@font@koma@unset[1]{%
+ \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}%
+}
+\newcommand*\tud@font@heading@size{}
+\AtEndOfClass{\let\tud@font@heading@size\size@part}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{headings}{%
+ \AtEndOfFamilyOptions{%
+ \let\tud@font@heading@size\size@part%
+ \if@atdocument%
+ \tud@layout@process%
+ \ifcase\tud@layout@part\relax\else% !false
+ \tud@font@koma@reset{part}%
+ \tud@font@koma@reset{partnumber}%
+ \fi%
+ \ifcase\tud@layout@chapter\relax\else% !false
+ \tud@font@koma@reset{chapter}%
+ \tud@font@koma@reset{chapterprefix}%
+ \tud@font@koma@reset{section}%
+ \tud@font@koma@reset{subsection}%
+ \tud@font@koma@reset{subsubsection}%
+ \tud@font@koma@reset{minisec}%
+ \fi%
+ \fi%
+ }%
+}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@switch{%
{section}{2},{sect}{2},{sec}{2},{addsec}{2},%
{chapter}{3},{chap}{3},{addchap}{3},%
{new}{3},{standard}{3},{heading}{3},%
- {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},%
- {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},%
- {nottotoc}{6},{notoc}{6},%
- {markboth}{7},{mark}{7},%
- {nomarkboth}{8},{nomark}{8},%
- {one}{9},{simple}{9},{single}{9},%
- {multi}{10},{multiple}{10},{all}{10},{two}{10},{both}{10},{double}{10},%
- {nofil}{11},{nofill}{11},{novfil}{11},{novfill}{11},%
- {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}%
+ {single}{4},{one}{4},{simple}{4},%
+ {multiple}{5},{multi}{5},{all}{5},{aggregate}{5},%
+ {two}{5},{both}{5},{double}{5},%
+ {nofil}{6},{nofill}{6},{novfil}{6},{novfill}{6},%
+ {fil}{7},{fill}{7},{vfil}{7},{vfill}{7},%
+ {markboth}{8},{mark}{8},%
+ {nomarkboth}{9},{nomark}{9},%
+ {nottotoc}{10},{notoc}{10},%
+ {totoc}{11},{toc}{11},{totoclevelup}{11},{toclevelup}{11},{levelup}{11},%
+ {totocleveldown}{12},{tocleveldown}{12},{leveldown}{12},%
+ {tocmultiple}{13},{tocmulti}{13},{tocall}{13},{tocaggregate}{13},%
+ {totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
\newcommand*\tud@abstract@level{3}
-\bool@lock[true]{@tud@abstract@toc}
-\newif\if@tud@abstract@toc@leveldown
-\newif\if@tud@abstract@markboth
+\cs@lock{tud@abstract@toc}{1}
\newif\if@tud@abstract@multi
+\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
\@tud@abstract@filtrue
+\newif\if@tud@abstract@markboth
\TUD@key{abstract}[chapter]{%
\edef\@tempb{\tud@fm@switch}%
\TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
- \or%
- \or%
+ \ifcase\@tempa\relax% false
+ \or% true
+ \or% section
\def\tud@abstract@level{2}%
- \bool@std@lock{@tud@abstract@toc}{true}%
- \or%
+ \cs@std@lock{tud@abstract@toc}{1}%
+ \or% chapter
\def\tud@abstract@level{3}%
- \bool@std@lock{@tud@abstract@toc}{true}%
- \or%
- \bool@set@lock{@tud@abstract@toc}{true}%
- \@tud@abstract@toc@leveldownfalse%
- \or%
- \bool@set@lock{@tud@abstract@toc}{true}%
- \@tud@abstract@toc@leveldowntrue%
- \or%
- \bool@set@lock{@tud@abstract@toc}{false}%
- \or%
- \@tud@abstract@markbothtrue%
- \or%
- \@tud@abstract@markbothfalse%
- \or%
+ \cs@std@lock{tud@abstract@toc}{1}%
+ \or% single
\@tud@abstract@multifalse%
- \or%
+ \or% multiple
\@tud@abstract@multitrue%
- \or%
+ \or% nofil
\@tud@abstract@filfalse%
- \or%
+ \or% fil
\@tud@abstract@filtrue%
+ \or% markboth
+ \@tud@abstract@markbothtrue%
+ \or% nomarkboth
+ \@tud@abstract@markbothfalse%
+ \or% nottotoc
+ \cs@set@lock{tud@abstract@toc}{0}%
+ \or% totoc
+ \ifnum\tud@abstract@toc<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc}{1}%
+ \else%
+ \cs@set@lock{tud@abstract@toc}{3}%
+ \fi%
+ \or% totocleveldown
+ \ifnum\tud@abstract@toc<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc}{2}%
+ \else%
+ \cs@set@lock{tud@abstract@toc}{4}%
+ \fi%
+ \or% totocmutliple
+ \ifnum\tud@abstract@toc=\z@\relax%
+ \cs@set@lock{tud@abstract@toc}{1}%
+ \fi%
+ \ifnum\tud@abstract@toc<\thr@@\relax%
+ \edef\@tempa{%
+ \noexpand\cs@set@lock{tud@abstract@toc}{%
+ \the\numexpr\tud@abstract@toc+2\relax%
+ }%
+ }\@tempa%
+ \fi%
\fi%
\fi%
}
\newcommand*\tud@declaration@level{3}
-\bool@lock[true]{@tud@declaration@toc}
-\newif\if@tud@declaration@toc@leveldown
-\newif\if@tud@declaration@markboth
+\cs@lock{tud@declaration@toc}{1}
\newif\if@tud@declaration@multi
-\newif\if@tud@declaration@fil
\@tud@declaration@multitrue
+\newif\if@tud@declaration@fil
\@tud@declaration@filtrue
+\newif\if@tud@declaration@markboth
\TUD@key{declaration}[chapter]{%
\edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}%
\TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\def\tud@declaration@level{0}%
- \bool@std@lock{@tud@declaration@toc}{false}%
- \or%
+ \cs@std@lock{tud@declaration@toc}{0}%
+ \or% true
\def\tud@declaration@level{1}%
- \bool@std@lock{@tud@declaration@toc}{false}%
- \or%
+ \cs@std@lock{tud@declaration@toc}{0}%
+ \or% section
\def\tud@declaration@level{2}%
- \bool@std@lock{@tud@declaration@toc}{true}%
- \or%
+ \cs@std@lock{tud@declaration@toc}{1}%
+ \or% chapter
\def\tud@declaration@level{3}%
- \bool@std@lock{@tud@declaration@toc}{true}%
- \or%
- \bool@set@lock{@tud@declaration@toc}{true}%
- \@tud@declaration@toc@leveldownfalse%
- \or%
- \bool@set@lock{@tud@declaration@toc}{true}%
- \@tud@declaration@toc@leveldowntrue%
- \or%
- \bool@set@lock{@tud@declaration@toc}{false}%
- \or%
- \@tud@declaration@markbothtrue%
- \or%
- \@tud@declaration@markbothfalse%
- \or%
+ \cs@std@lock{tud@declaration@toc}{1}%
+ \or% single
\@tud@declaration@multifalse%
- \or%
+ \or% multiple
\@tud@declaration@multitrue%
- \or%
+ \or% nofil
\@tud@declaration@filfalse%
- \or%
+ \or% fil
\@tud@declaration@filtrue%
+ \or% markboth
+ \@tud@declaration@markbothtrue%
+ \or% nomarkboth
+ \@tud@declaration@markbothfalse%
+ \or% nottotoc
+ \cs@set@lock{tud@declaration@toc}{0}%
+ \or% totoc
+ \ifnum\tud@declaration@toc<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc}{1}%
+ \else%
+ \cs@set@lock{tud@declaration@toc}{3}%
+ \fi%
+ \or% totocleveldown
+ \ifnum\tud@declaration@toc<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc}{2}%
+ \else%
+ \cs@set@lock{tud@declaration@toc}{4}%
+ \fi%
+ \or% totocmutliple
+ \ifnum\tud@declaration@toc=\z@\relax%
+ \cs@set@lock{tud@declaration@toc}{1}%
+ \fi%
+ \ifnum\tud@declaration@toc<\thr@@\relax%
+ \edef\@tempa{%
+ \noexpand\cs@set@lock{tud@declaration@toc}{%
+ \the\numexpr\tud@declaration@toc+2\relax%
+ }%
+ }\@tempa%
+ \fi%
\fi%
\fi%
}
@@ -883,115 +925,97 @@
\TUD@key@lock{subjectthesis}[true]{%
\TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
}
-%%% From File: tudscr-misc.dtx
-\newcommand*\TUD@AfterPackage[2]{%
- \if@atdocument#2\else\AfterPackage!{#1}{#2}\fi%
-}
-\newif\if@tud@symbolheadings
-\TUD@key{footnotes}{%
- \TUD@set@numkey{footnotes}{@tempa}{%
- {nosymbolheadings}{0},{numberheadings}{0},%
- {symbolheadings}{1}%
- }{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
- \@tud@symbolheadingsfalse%
- \or%
- \@tud@symbolheadingstrue%
- \fi%
- \fi%
-}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
%%% From File: tudscr-comp.dtx
-\newcommand*\tud@deprecated@key[2]{%
- \ClassWarning{\tudcls@name}%
+\newcommand*\TUD@deprecated@key[2]{%
+ \ClassWarning{\TUDClassName}%
{%
The option key `#1' is deprecated.\MessageBreak%
- It's recommended to use `#2' instead%
+ It's recommended to use `#2'\MessageBreak%
+ instead%
}%
+ \TUDoptions{#2}%
}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{cdfonts}{cdfont}%
\if@tempswa%
- \TUDoptions{cdfont=true}%
+ \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
\else%
- \TUDoptions{cdfont=false}%
+ \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
\fi%
\fi%
}
\TUD@key{tudfonts}[true]{%
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{tudfonts}{cdfont}%
\if@tempswa%
- \TUDoptions{cdfont=true}%
+ \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
\else%
- \TUDoptions{cdfont=false}%
+ \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
\fi%
\fi%
}
\TUD@key{heavyfont}[true]{%
\TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{heavyfont}{cdfont}%
\if@tempswa%
- \TUDoptions{cdfont=heavy}%
+ \TUD@deprecated@key{heavyfont}{cdfont=heavy}%
\else%
- \TUDoptions{cdfont=true}%
+ \TUD@deprecated@key{heavyfont=#1}{cdfont=true}%
\fi%
\fi%
}
\TUD@key{din}[true]{%
\TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{din}{cdfont}%
\if@tempswa%
- \TUDoptions{cdfont=din}%
+ \TUD@deprecated@key{din}{cdfont=din}%
\else%
- \TUDoptions{cdfont=nodin}%
+ \TUD@deprecated@key{din=#1}{cdfont=nodin}%
\fi%
\fi%
}
\TUD@key{nodin}[true]{%
\TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{nodin}{cdfont}%
\if@tempswa%
- \TUDoptions{cdfont=nodin}%
+ \TUD@deprecated@key{nodin}{cdfont=nodin}%
\else%
- \TUDoptions{cdfont=din}%
+ \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \fi%
+ \fi%
+}
+\TUD@key{noDIN}[true]{%
+ \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \else%
+ \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
\fi%
\fi%
}
\TUD@key{sansmath}[true]{%
\TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{sansmath}{cdmath}%
\if@tempswa%
- \TUDoptions{cdmath=true}%
+ \TUD@deprecated@key{sansmath}{cdmath=true}%
\else%
- \TUDoptions{cdmath=false}%
+ \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
\TUD@key{serifmath}[true]{%
\TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{sansmath}{cdmath}%
\if@tempswa%
- \TUDoptions{cdmath=false}%
+ \TUD@deprecated@key{serifmath}{cdmath=false}%
\else%
- \TUDoptions{cdmath=true}%
+ \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{geometry}[true]{%
- \tud@deprecated@key{geometry}{cdgeometry}%
- \TUDoptions{cdgeometry=#1}%
-}
+\TUD@key{geometry}[true]{\TUD@deprecated@key{geometry=#1}{cdgeometry=#1}}
\TUD@key{barfont}[true]{%
\TUD@set@numkey{barfont}{@tempa}{%
\TUD@numkey@bool,%
@@ -1001,35 +1025,32 @@
{heavy}{2},{heavyfont}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{barfont}{cdhead}%
- \ifcase\@tempa\relax%
- \TUDoptions{cdhead=false}%
- \or%
- \TUDoptions{cdhead=true}%
- \or%
- \TUDoptions{cdhead=heavy}%
+ \ifcase\@tempa\relax% false
+ \TUD@deprecated@key{barfont=#1}{cdhead=false}%
+ \or% true
+ \TUD@deprecated@key{barfont=#1}{cdhead=true}%
+ \or% heavy
+ \TUD@deprecated@key{barfont=#1}{cdhead=heavy}%
\fi%
\fi%
}
\TUD@key{widehead}[true]{%
\TUD@set@ifkey{widehead}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{widehead}{cdhead}%
\if@tempswa%
- \TUDoptions{cdhead=paperwidth}%
+ \TUD@deprecated@key{widehead}{cdhead=paperwidth}%
\else%
- \TUDoptions{cdhead=textwidth}%
+ \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}%
\fi%
\fi%
}
\TUD@key{tudfoot}[true]{%
\TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{tudfoot}{cdfoot}%
\if@tempswa%
- \TUDoptions{cdfoot=true}%
+ \TUD@deprecated@key{tudfoot}{cdfoot=true}%
\else%
- \TUDoptions{cdfoot=false}%
+ \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}%
\fi%
\fi%
}
@@ -1037,27 +1058,26 @@
\TUD@set@numkey{color}{@tempa}{%
\TUD@numkey@bool,%
{nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},%
- {lite}{1},{light}{1},{pale}{1},%
- {colorlite}{1},{litecolor}{1},{colourlite}{1},{litecolour}{1},%
- {colorlight}{1},{lightcolor}{1},{colourlight}{1},{lightcolour}{1},%
- {colorpale}{1},{palecolor}{1},{colourpale}{1},{palecolour}{1},%
- {bicolor}{2},{bicolour}{2},{twocolor}{2},{twocolour}{2},%
- {bichrome}{2},{bichromatic}{2},{dichrome}{2},{dichromatic}{2},%
- {color}{3},{colour}{3},%
+ {color}{1},{colour}{1},%
+ {lite}{2},{light}{2},{pale}{2},%
+ {colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
+ {colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},%
+ {colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},%
+ {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
+ {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
{full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \tud@deprecated@key{color}{cd}%
- \ifcase\@tempa\relax%
- \TUDoptions{cd=true}%
- \or%
- \TUDoptions{cd=pale}%
- \or%
- \TUDoptions{cd=bicolor}%
- \or%
- \TUDoptions{cd=color}%
- \or%
- \TUDoptions{cd=fullcolor}%
+ \ifcase\@tempa\relax% false
+ \TUD@deprecated@key{color=#1}{cd=true}%
+ \or% true
+ \TUD@deprecated@key{color=#1}{cd=color}%
+ \or% litecolor
+ \TUD@deprecated@key{color=#1}{cd=pale}%
+ \or% bicolor
+ \TUD@deprecated@key{color=#1}{cd=bicolor}%
+ \or% full
+ \TUD@deprecated@key{color=#1}{cd=fullcolor}%
\fi%
\fi%
}
@@ -1066,198 +1086,445 @@
\TUD@key{tudscrver}[last]{%
\ifcsvoid{tud@v@#1}{%
\def\tud@v@comp{0}%
- \ClassWarningNoLine{\tudcls@name}{%
+ \ClassWarningNoLine{\TUDClassName}%
+ {%
You have set option `tudscrver' to `#1', but\MessageBreak%
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
\FamilyKeyStateProcessed%
}{%
- \ClassInfoNoLine{\tudcls@name}{%
+ \ClassInfoNoLine{\TUDClassName}%
+ {%
Switching compatibility level to `#1'%
}%
\edef\tud@v@comp{\@nameuse{tud@v@#1}}%
\FamilyKeyStateProcessed%
}%
}
-\AtEndOfClass{%
+\AtEndOfClass%
+{%
\TUD@key{tudscrver}[]{%
- \ClassError{\tudcls@name}{Option `tudscrver' too late}{%
+ \ClassError{\TUDClassName}%
+ {Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\tudcls@name' but you have tried to set it up later.%
+ class `\TUDClassName'
+ but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
}%
- \ifcsdef{scr@v@3.12}{%
+ \ifcsdef{scr@v@3.17}{%
\ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax%
- \ClassError{\tudcls@name}{%
+ \ClassError{\TUDClassName}{%
KOMA-Script compatibility level too low%
}{%
\TUDVersion\space has to be used at least with\MessageBreak%
- KOMA-Script `version=v3.12'%
+ KOMA-Script compatibility option `version=v3.12'.%
}%
\fi%
}{%
- \ClassError{\tudcls@name}{%
- outdated version of KOMA-Script%
+ \ClassError{\TUDClassName}{%
+ KOMA-Script v3.17 is required%
}{%
- \TUDVersion\space has to be used with KOMA-Script v3.12 or newer%
+ \TUDVersion\space has to be used with KOMA-Script v3.17\MessageBreak%
+ at least. You're using \KOMAScriptVersion%
}%
}%
}
\@namedef{tud@v@first}{0}
\@namedef{tud@v@2.02}{0}
+\@namedef{tud@v@v2.02}{0}
\@namedef{tud@v@2.03}{1}
-\@namedef{tud@v@last}{1}
-\newcommand*\iftudscrverlower[1]{%
+\@namedef{tud@v@v2.03}{1}
+\@namedef{tud@v@2.04}{2}
+\@namedef{tud@v@v2.04}{2}
+\@namedef{tud@v@last}{2}
+\newcommand*\tud@ifverlower[1]{%
\ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
}
-%%% From File: tudscr-base.dtx
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}}
-\TUDExecuteOptions{cd,cdfont,tudbookmarks}
+%%% From File: tudscr-misc.dtx
+\newif\if@tud@symbolheadings
+\TUD@key{footnotes}{%
+ \TUD@set@numkey{footnotes}{@tempa}{%
+ {nosymbolheadings}{0},{numberheadings}{0},%
+ {symbolheadings}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% nosymbolheadings
+ \@tud@symbolheadingsfalse%
+ \or% symbolheadings
+ \@tud@symbolheadingstrue%
+ \fi%
+ \fi%
+}
+\newif\if@tud@bookmarks
+\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
+%%% From File: tudscr-misc.dtx
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUDClassName@KOMA}}
+\TUDExecuteOptions{cd=true,cdfont=true,tudbookmarks=true}
\TUDProcessOptions\relax
-\LoadClass{\scrcls@name}[2013/12/19]
+\LoadClass{\TUDClassName@KOMA}[2015/04/23]
+%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
- \ClassWarningNoLine{\tudcls@name}{%
- The package `graphics' was superseded by `graphicx'%
+ \ClassWarningNoLine{\TUDClassName}{%
+ The package `graphics' was superseded by `graphicx',\MessageBreak%
+ which is automatically loaded%
}%
}{}%
}%
\RequirePackage{graphicx}[1999/02/16]%
\RequirePackage{tudscrcolor}[\TUDVersion]%
}
+\newcommand*\TUD@parameter@defaulthandler[2]{%
+ \def\@tempa{#2}%
+ \@for\@tempb:=\@tempa\do{%
+ \ifx\@tempb\@empty\else%
+ \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}%
+ \ifxnumber{\@tempb}{%
+ \TUD@parameter@set{#1}{columns=\@tempb}%
+ }{%
+ \TUD@parameter@set{#1}{language=\@tempb}%
+ }%
+ \fi%
+ }%
+}
+\cs@lock{tud@multicols}{1}
+\newcommand*\tud@multicols@check{%
+ \ifdef{\multicols}{}{%
+ \ifnum\tud@multicols>\@ne\relax%
+ \ClassWarning{\TUDClassName}{%
+ The option `columns=\tud@multicols' is only supported,\MessageBreak%
+ when package `multicol' is loaded%
+ }%
+ \cs@set@lock{tud@multicols}{1}%
+ \fi%
+ }%
+}
%%% From File: tudscr-fonts.dtx
-\AtEndPreamble{%
+\newcommand*\tud@font@greek@loop[1]{%
+ \@for\@tempa:={%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+ }\do{#1{\@tempa}}%
+}
+\newcommand*\tud@font@greek@declare[1]{%
+ \edef\@tempb{%
+ \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
+ {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
+ }\@tempb%
+ \edef\@tempb{%
+ \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
+ {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
+ }\@tempb%
+ \csletcs{tud@#1}{tud@up#1}%
+ \advance \@tempcnta by 1%
+}
+\@tempcnta=\z@\relax
+\tud@font@greek@loop\tud@font@greek@declare
+\newcommand*\tud@font@check{%
\if@tud@fontspec%
- \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]%
- \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]%
- \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
- \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
- \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
- \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
- \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
- \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
- \newcommand*\textuln[1]{{\univln#1}}%
- \newcommand*\texturn[1]{{\univrn#1}}%
- \newcommand*\textubn[1]{{\univbn#1}}%
- \newcommand*\textuxn[1]{{\univxn#1}}%
- \newcommand*\textuls[1]{{\univls#1}}%
- \newcommand*\texturs[1]{{\univrs#1}}%
- \newcommand*\textubs[1]{{\univbs#1}}%
- \newcommand*\textuxs[1]{{\univxs#1}}%
+ \edef\@tempa{%
+ \lowercase{\noexpand\IfFileExists{OT1\tud@univers.fd}}%
+ }%
+ \edef\@tempb{%
+ \lowercase{\noexpand\IfFileExists{OT1\tud@dinbold.fd}}%
+ }%
+ \def\@tempc##1{%
+ \ClassInfoNoLine{\TUDClassName}%
+ {%
+ `##1' fonts for math typesetting not found\MessageBreak%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual%
+ }%
+ }%
\else%
- \if@tud@univers%
- \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
- \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
- \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}%
- \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}%
- \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}%
- \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}%
- \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
- \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
- \else%
- \newcommand*\univln{}%
- \newcommand*\univrn{}%
- \newcommand*\univbn{}%
- \newcommand*\univxn{}%
- \newcommand*\univls{}%
- \newcommand*\univrs{}%
- \newcommand*\univbs{}%
- \newcommand*\univxs{}%
- \fi%
- \newcommand*\textuln{}%
- \newcommand*\texturn{}%
- \newcommand*\textubn{}%
- \newcommand*\textuxn{}%
- \newcommand*\textuls{}%
- \newcommand*\texturs{}%
- \newcommand*\textubs{}%
- \newcommand*\textuxs{}%
- \DeclareTextFontCommand{\textuln}{\univln}%
- \DeclareTextFontCommand{\texturn}{\univrn}%
- \DeclareTextFontCommand{\textubn}{\univbn}%
- \DeclareTextFontCommand{\textuxn}{\univxn}%
- \DeclareTextFontCommand{\textuls}{\univls}%
- \DeclareTextFontCommand{\texturs}{\univrs}%
- \DeclareTextFontCommand{\textubs}{\univbs}%
- \DeclareTextFontCommand{\textuxs}{\univxs}%
+ \edef\@tempa{%
+ \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@univers.fd}}%
+ }%
+ \edef\@tempb{%
+ \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@dinbold.fd}}%
+ }%
+ \def\@tempc##1{%
+ \@tempswafalse%
+ \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}
+ \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}
+ \ClassWarningNoLine{\TUDClassName}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
+ \if@tempswa%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual.\MessageBreak%
+ \else%
+ Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
+ \fi%
+ A fallback layout is used%
+ }%
+ }%
\fi%
- \if@tud@fontspec%
- \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
- \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}%
- \newcommand*\textdbn[1]{{\dinbn#1}}%
+ \@tempa{\@tud@universtrue}{\@tempc{Univers}}%
+ \@tempb{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
+ \undef\tud@font@check%
+}
+\newcommand*\tud@font@init{%
+ \undef\tud@font@init@fontspec%
+ \undef\tud@font@init@nfss%
+ \undef\tud@font@init%
+}
+\newcommand*\tud@font@init@fontspec{%
+ \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]%
+ \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]%
+ \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
+ \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
+ \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
+ \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
+ \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
+ \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
+ \newcommand*\textuln[1]{{\univln##1}}%
+ \newcommand*\texturn[1]{{\univrn##1}}%
+ \newcommand*\textubn[1]{{\univbn##1}}%
+ \newcommand*\textuxn[1]{{\univxn##1}}%
+ \newcommand*\textuls[1]{{\univls##1}}%
+ \newcommand*\texturs[1]{{\univrs##1}}%
+ \newcommand*\textubs[1]{{\univbs##1}}%
+ \newcommand*\textuxs[1]{{\univxs##1}}%
+ \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
+ \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}%
+ \newcommand*\textdbn[1]{{\dinbn##1}}%
+}
+\newcommand*\tud@font@init@nfss{%
+ \if@tud@univers%
+ \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
+ \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
+ \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}%
+ \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}%
+ \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}%
+ \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}%
+ \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
+ \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
\else%
- \if@tud@dinbold%
- \newcommand*\dinbn{%
- \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
- \mathversion{dinbold}%
+ \newcommand*\univln{}%
+ \newcommand*\univrn{}%
+ \newcommand*\univbn{}%
+ \newcommand*\univxn{}%
+ \newcommand*\univls{}%
+ \newcommand*\univrs{}%
+ \newcommand*\univbs{}%
+ \newcommand*\univxs{}%
+ \fi%
+ \newcommand*\textuln{}%
+ \newcommand*\texturn{}%
+ \newcommand*\textubn{}%
+ \newcommand*\textuxn{}%
+ \newcommand*\textuls{}%
+ \newcommand*\texturs{}%
+ \newcommand*\textubs{}%
+ \newcommand*\textuxs{}%
+ \DeclareTextFontCommand{\textuln}{\univln}%
+ \DeclareTextFontCommand{\texturn}{\univrn}%
+ \DeclareTextFontCommand{\textubn}{\univbn}%
+ \DeclareTextFontCommand{\textuxn}{\univxn}%
+ \DeclareTextFontCommand{\textuls}{\univls}%
+ \DeclareTextFontCommand{\texturs}{\univrs}%
+ \DeclareTextFontCommand{\textubs}{\univbs}%
+ \DeclareTextFontCommand{\textuxs}{\univxs}%
+ \if@tud@dinbold%
+ \newcommand*\dinbn{%
+ \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
+ \mathversion{dinbold}%
+ }%
+ \else%
+ \let\dinbn\sectfont%
+ \fi%
+ \newcommand*\textdbn{}%
+ \DeclareTextFontCommand{\textdbn}{\dinbn}%
+}
+\newcommand*\cdfont[1]{%
+ \@cdfont{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\@nameuse{univ\@tempc}}%
+ \fi%
+}
+\providecommand*\tudfont[1]{\cdfont{#1}}
+\newcommand*\textcdfont[2]{%
+ \@cdfont{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\@nameuse{textu\@tempc}{#2}}%
+ \fi%
+}
+\newcommand*\@cdfont[1]{%
+ \tud@trimfontname\@tempa{#1}%
+ \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \let\@tempc\relax%
+ \PackageWarning{tudscrfonts}{The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+}
+\newcommand*\tud@trimfontname[2]{%
+ \protected@edef\@tempa{\trim@spaces{#2}}%
+ \tud@lowerstring{\@tempa}{\@tempa}%
+ \tud@@trimfontname{ }{}%
+ \tud@@trimfontname{-}{}%
+ \tud@@trimfontname{_}{}%
+ \tud@@trimfontname{~}{}%
+ \tud@@trimfontname{ce}{}%
+ \tud@@trimfontname{ff}{}%
+ \tud@@trimfontname{univers}{}%
+ \tud@@trimfontname{60}{65}%
+ \tud@@trimfontname{light}{45}%
+ \tud@@trimfontname{regular}{55}%
+ \tud@@trimfontname{bold}{65}%
+ \tud@@trimfontname{black}{75}%
+ \tud@@trimfontname{4545}{45}%
+ \tud@@trimfontname{5555}{55}%
+ \tud@@trimfontname{6565}{65}%
+ \tud@@trimfontname{7575}{75}%
+ \tud@@trimfontname{italic}{oblique}%
+ \tud@@trimfontname{slanted}{oblique}%
+ \let#1\@tempa%
+}
+\newcommand*\tud@@trimfontname[2]{%
+ \def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
+ \@expandtwoargs\in@{#1}{\@tempa}%
+ \@whilesw\ifin@\fi{%
+ \expandafter\@tempb\@tempa\relax%
+ \@expandtwoargs\in@{#1}{\@tempa}%
+ }%
+}
+\newcommand*\mv@univers{}%
+\newcommand*\mv@universbold{}%
+\newcommand*\mv@dinbold{}%
+\newcommand*\tud@font@math@init{%
+ \if@tud@fontspec\if@tud@univers\if@tud@dinbold%
+ \@ifpackagewith{fontspec}{no-math}{}{%
+ \ClassWarningNoLine{\TUDClassName}%
+ {%
+ It's recommended to load package `fontspec' with\MessageBreak%
+ option `no-math'%
}%
+ }%
+ \fi\fi\fi%
+ \if@tud@univers%
+ \DeclareMathVersion{univers}%
+ \DeclareMathVersion{universbold}%
+ \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
+ \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
+ \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
+ \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
+ \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
+ \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
+ \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
+ \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
+ \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
+ \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%
+ \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
+ \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
+ \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
+ \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
+ \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
+ \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
+ \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
+ \@ifpackageloaded{amsfonts}{%
+ \DeclareFontFamily{U}{\tud@univers a}{}%
+ \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
+ \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
+ \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
+ \DeclareFontFamily{U}{\tud@univers b}{}%
+ \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
+ \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
+ \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
+ }{}%
+ \fi%
+ \if@tud@dinbold%
+ \DeclareMathVersion{dinbold}%
+ \SetSymbolFont{operators}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
+ \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
+ \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}%
+ \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}%
+ \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
+ \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
+ \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
+ \fi%
+ \@ifpackageloaded{unicode-math}{%
+ \let\tud@font@math@set\relax%
+ \bool@set@lock{@tud@cdmath}{false}%
+ }{%
+ \let\@tempb\relax%
+ \let\@tempc\relax%
+ \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
+ \@tempswafalse%
+ \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
+ \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
+ \if@tempswa%
+ \bool@std@lock{@tud@slantedgreek}{true}%
+ \fi%
+ \tud@font@greek@loop\tud@font@greek@init%
+ \tud@font@math@set%
+ }%
+ \sbox\z@{\dinbn$ $}%
+ \undef\tud@font@math@init%
+}
+\AtEndPreamble%
+{%
+ \tud@font@check%
+ \if@tud@fontspec%
+ \preto\tud@font@init\tud@font@init@fontspec%
+ \else%
+ \preto\tud@font@init\tud@font@init@nfss%
+ \fi%
+ \tud@font@init%
+ \tud@font@set[nomath]%
+ \AtBeginDocument{\tud@font@math@init}%
+}
+\newcommand*\tud@font@greek@init[1]{%
+ \ifcsdef{up#1}{}{%
+ \if@tempswa%
+ \csletcs{up#1}{tud@up#1}%
\else%
- \let\dinbn\sectfont%
+ \csletcs{up#1}{#1}%
\fi%
- \newcommand*\textdbn{}%
- \DeclareTextFontCommand{\textdbn}{\dinbn}%
+ }%
+ \ifcsdef{var#1}{}{%
+ \if@tempswa%
+ \csletcs{var#1}{#1}%
+ \else%
+ \csletcs{var#1}{tud@var#1}%
+ \fi%
+ }%
+}
+\newif\if@tud@mweights
+\AfterPackage*{mweights}{\@tud@mweightstrue}
+\newcommand*\tud@font@set[1][]{%
+ \if@tud@mweights%
+ \ifdef{\bfseries@rm}{}{\edef\bfseries@rm{\bfdefault}}%
+ \ifdef{\bfseries@sf}{}{\edef\bfseries@sf{\bfdefault}}%
+ \ifdef{\bfseries@tt}{}{\edef\bfseries@tt{\bfdefault}}%
+ \ifdef{\mdseries@rm}{}{\edef\mdseries@rm{\mddefault}}%
+ \ifdef{\mdseries@sf}{}{\edef\mdseries@sf{\mddefault}}%
+ \ifdef{\mdseries@tt}{}{\edef\mdseries@tt{\mddefault}}%
\fi%
- \DeclareMathVersion{univers}%
- \DeclareMathVersion{universbold}%
- \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
- \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
- \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
- \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
- \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
- \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
- \DeclareMathVersion{dinbold}%
- \SetSymbolFont{operators}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
- \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}%
- \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}%
- \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
- \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}%
- \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}%
- \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}%
- \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}%
- \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}%
- \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}%
- \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}%
- \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}%
- \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}%
- \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}%
- \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}%
- \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}%
- \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}%
- \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}%
- \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}%
- \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}%
- \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}%
- \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}%
- \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}%
- \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}%
- \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}%
- \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}%
- \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}%
- \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}%
-}
-\newcommand*\tud@font@set{%
- \ifcase\tud@cdfont\relax%
+ \ifcase\tud@cdfont\relax% false
\tud@cmd@restore{rmdefault}%
\tud@cmd@restore{sfdefault}%
\tud@cmd@restore{ttdefault}%
@@ -1267,9 +1534,17 @@
\tud@cmd@restore{familydefault}%
\tud@cmd@restore{seriesdefault}%
\tud@cmd@restore{shapedefault}%
+ \if@tud@mweights%
+ \tud@cmd@restore{bfseries@rm}%
+ \tud@cmd@restore{bfseries@sf}%
+ \tud@cmd@restore{bfseries@tt}%
+ \tud@cmd@restore{mdseries@rm}%
+ \tud@cmd@restore{mdseries@sf}%
+ \tud@cmd@restore{mdseries@tt}%
+ \fi%
\bool@std@lock{@tud@cdmath}{false}%
\cs@std@lock{tud@head@font}{0}%
- \else%
+ \else% true/heavy
\tud@cmd@store{rmdefault}%
\tud@cmd@store{sfdefault}%
\tud@cmd@store{ttdefault}%
@@ -1279,10 +1554,18 @@
\tud@cmd@store{familydefault}%
\tud@cmd@store{seriesdefault}%
\tud@cmd@store{shapedefault}%
+ \if@tud@mweights%
+ \tud@cmd@store{bfseries@rm}%
+ \tud@cmd@store{bfseries@sf}%
+ \tud@cmd@store{bfseries@tt}%
+ \tud@cmd@store{mdseries@rm}%
+ \tud@cmd@store{mdseries@sf}%
+ \tud@cmd@store{mdseries@tt}%
+ \fi%
\bool@std@lock{@tud@cdmath}{true}%
\cs@std@lock{tud@head@font}{\tud@cdfont}%
\if@tud@fontspec%
- \ifnum\tud@cdfont=\@ne\relax%
+ \ifnum\tud@cdfont=\@ne\relax% true
\setsansfont{Univers Light}[%
BoldFont = Univers,%
ItalicFont = Univers Light Oblique,%
@@ -1293,7 +1576,7 @@
ItalicFont = LMMonoLt10-Oblique,%
BoldItalicFont = LMMonoSlant10-Regular,%
]%
- \else%
+ \else% heavy
\setsansfont{Univers}[%
BoldFont = Univers Bold,%
ItalicFont = Univers Oblique,%
@@ -1309,12 +1592,28 @@
\if@tud@univers%
\renewcommand*\sfdefault{\tud@univers}%
\renewcommand*\ttdefault{\tud@univers t}%
- \ifnum\tud@cdfont=\@ne\relax%
+ \ifnum\tud@cdfont=\@ne\relax% true
\renewcommand*\bfdefault{m}%
\renewcommand*\mddefault{l}%
- \else%
+ \if@tud@mweights%
+ \def\bfseries@rm{m}%
+ \def\bfseries@sf{m}%
+ \def\bfseries@tt{m}%
+ \def\mdseries@rm{l}%
+ \def\mdseries@sf{l}%
+ \def\mdseries@tt{l}%
+ \fi%
+ \else% heavy
\renewcommand*\bfdefault{b}%
\renewcommand*\mddefault{m}%
+ \if@tud@mweights%
+ \def\bfseries@rm{b}%
+ \def\bfseries@sf{b}%
+ \def\bfseries@tt{b}%
+ \def\mdseries@rm{m}%
+ \def\mdseries@sf{m}%
+ \def\mdseries@tt{m}%
+ \fi%
\fi%
\fi%
\fi%
@@ -1323,10 +1622,50 @@
\renewcommand*\seriesdefault{\mddefault}%
\renewcommand*\shapedefault{\updefault}%
\fi%
+ \if@tud@mweights%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \fi%
+ \tud@font@skip@set%
+ \ifstr{#1}{nomath}{}{\tud@font@math@set}%
\normalfont\selectfont%
- \tud@font@math@set%
\tud@layout@process%
}
+\newcommand*\tud@font@skip@set{%
+ \tud@ifverlower{2.04}{}{%
+ \ifcase\tud@cdfont\relax% false
+ \tud@skip@restore{smallskipamount}%
+ \tud@skip@restore{medskipamount}%
+ \tud@skip@restore{bigskipamount}%
+ \tud@skip@restore{abovecaptionskip}%
+ \tud@skip@restore{belowcaptionskip}%
+ \tud@skip@restore{columnsep}%
+ \else% true/heavy
+ \tud@skip@store{smallskipamount}%
+ \tud@skip@store{medskipamount}%
+ \tud@skip@store{bigskipamount}%
+ \tud@skip@store{abovecaptionskip}%
+ \tud@skip@store{belowcaptionskip}%
+ \tud@skip@store{columnsep}%
+ \tud@font@skip@@set%
+ \fi%
+ }%
+}
+\newcommand*\tud@font@skip@@set{%
+ \setlength{\@tempdimb}{\f@baselineskip}%
+ \scr@setlength\smallskipamount{\dimexpr\@tempdimb/4\relax}%
+ {\dimexpr\@tempdimb/12\relax}{\dimexpr\@tempdimb/12\relax}%
+ \scr@setlength\medskipamount{\dimexpr\@tempdimb/2\relax}%
+ {\dimexpr\@tempdimb/6\relax}{\dimexpr\@tempdimb/6\relax}%
+ \scr@setlength\bigskipamount{\@tempdimb}%
+ {\dimexpr\@tempdimb/3\relax}{\dimexpr\@tempdimb/3\relax}%
+ \tud@skip@set\abovecaptionskip{\dimexpr4\@tempdimb/5\relax}%
+ \tud@skip@set\belowcaptionskip{\z@}%
+ \tud@skip@set\columnsep{1.1\baselineskip}%
+}
\newcommand*\tud@font@math@set{%
\if@tud@univers%
\if@tud@cdmath%
@@ -1334,79 +1673,67 @@
\tud@cmd@store{mv@bold}%
\let\mv@normal\mv@univers%
\let\mv@bold\mv@universbold%
+ \tud@font@greek@loop\tud@font@greek@set%
\else%
\tud@cmd@restore{mv@normal}%
\tud@cmd@restore{mv@bold}%
+ \tud@font@greek@loop\tud@font@greek@reset%
\fi%
\fi%
\if@tud@slantedgreek%
- \tud@font@greek@slanted%
+ \tud@font@greek@loop\tud@font@greek@slanted%
\else%
- \tud@font@greek@upright%
+ \tud@font@greek@loop\tud@font@greek@upright%
\fi%
\mathversion{normal}%
}
-\newcount\tud@font@greek@upGamma
-\tud@font@greek@upGamma\Gamma
-\newcount\tud@font@greek@offset
-\let\@tempa\relax
-\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0}
-\tud@font@greek@offset\@tempa
-\advance\tud@font@greek@offset-\Gamma
-\newcommand*\tud@font@greek@slanted{%
- \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi%
-}
-\newcommand*\tud@font@greek@upright{%
- \ifnum\Gamma>\tud@font@greek@upGamma%
- \tud@font@greek@offset=-\tud@font@greek@offset%
- \tud@font@greek@changeshape%
- \tud@font@greek@offset=-\tud@font@greek@offset%
- \fi%
-}
-\newcommand*\tud@font@greek@def[2]{%
- \expandafter\@tempcnta\csname #1\endcsname%
- \advance\@tempcnta#2%
- \expandafter\mathchardef\csname #1\endcsname\@tempcnta%
-}
-\newcommand*\tud@font@greek@uc{%
- Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
-}
-\newcommand*\tud@font@greek@changeshape{%
- \@for\@tempa:=\tud@font@greek@uc\do{%
- \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}%
- }%
-}
+\newcommand*\tud@font@greek@set[1]{%
+ \tud@cmd@store{#1}%
+ \tud@cmd@store{up#1}%
+ \tud@cmd@store{var#1}%
+ \csletcs{#1}{tud@#1}%
+ \csletcs{up#1}{tud@up#1}%
+ \csletcs{var#1}{tud@var#1}%
+}
+\newcommand*\tud@font@greek@reset[1]{%
+ \tud@cmd@restore{#1}%
+ \tud@cmd@restore{up#1}%
+ \tud@cmd@restore{var#1}%
+}
+\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
+\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
\newcommand*\tud@head@font@bold{}
\newcommand*\tud@head@font@light{}
\newcommand*\tud@head@font@set{%
\ifdef{\@raggedtwoe@everyselectfont}{%
\let\@raggedtwoe@everyselectfont\relax%
- \spaceskip\z@\selectfont%
+ \setlength\spaceskip{\z@}%
+ \selectfont%
}{}%
\DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
{\sfdefault}{bx}{n}{\tud@head@font@size}%
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
\@tempswafalse%
- \ifcase\tud@head@font\relax%
- \ifnum\tud@cdfont>\z@\relax%
- \ClassWarning{\tudcls@name}{%
+ \ifcase\tud@head@font\relax% false
+ \ifnum\tud@cdfont>\z@\relax% true/heavy
+ \ClassWarning{\TUDClassName}{%
It isn't possible to use `cdhead=false'\MessageBreak%
together with `cdfont=true'%
}%
\@tempswatrue%
\fi%
- \else%
+ \else% true/heavy
\@tempswatrue%
\fi%
- \if@tempswa%
+ \if@tempswa% true/heavy
\if@tud@fontspec%
\DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
{UniversBold}{m}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or%
+ \ifcase\tud@head@font\relax\or% true
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{UniversLight}{m}{n}{\tud@head@font@size}%
- \or%
+ \or% heavy
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{UniversRegular}{m}{n}{\tud@head@font@size}%
\fi%
@@ -1414,10 +1741,10 @@
\if@tud@univers%
\DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
{\tud@univers}{b}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or%
+ \ifcase\tud@head@font\relax\or% true
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{\tud@univers}{l}{n}{\tud@head@font@size}%
- \or%
+ \or% heavy
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{\tud@univers}{m}{n}{\tud@head@font@size}%
\fi%
@@ -1436,19 +1763,9 @@
\expandafter\@secondoftwo%
\fi%
}
-\AfterPackage*{amsfonts}{%
- \DeclareFontFamily{U}{msa}{}%
- \DeclareFontShape{U}{msa}{m}{n}{%
- <-9>cmbras8%
- <9-10>cmbras9%
- <10->cmbras10%
- }{}%
- \DeclareFontFamily{U}{msb}{}%
- \DeclareFontShape{U}{msb}{m}{n}{%
- <-9>cmbrbs8%
- <9-10>cmbrbs9%
- <10->cmbrbs10%
- }{}%
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+ \protect\vphantom{\"A\"O\"U}%
}
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
@@ -1458,19 +1775,19 @@
}{}%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
-%%% From File: tudscr-color.dtx
-\newcommand*\tud@pagecolor{}
-\AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}
+}
%%% From File: tudscr-fields.dtx
\RequirePackage{trimspaces}[2009/09/17]
\newcommand*\@faculty{}
-\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}}
+\newcommand*\faculty[2][]{\gdef\@faculty{\trim@spaces{#2}}}
\newcommand*\@department{}
-\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}}
+\newcommand*\department[2][]{\gdef\@department{\trim@spaces{#2}}}
\newcommand*\@institute{}
-\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}}
+\newcommand*\institute[2][]{\gdef\@institute{\trim@spaces{#2}}}
\newcommand*\@chair{}
-\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}}
+\newcommand*\chair[2][]{\gdef\@chair{\trim@spaces{#2}}}
\newcommand*\@extraheadline{}
\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}}
\newcommand*\@@title{}
@@ -1489,38 +1806,37 @@
\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
\newcommand*\tud@thanks{}
\newcommand*\tud@thesis[2]{%
- \AfterPreamble{%
- \begingroup%
- \global\let\tud@thanks\relax%
- \def\thanks##1{\gdef\tud@thanks{##1}}%
- \let\footnote\thanks%
- \setbox0\vbox{#2}%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \tud@lowerstring{\@tempa}{#2}%
- \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
- \endgroup%
- \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{%
- \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{%
- \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{%
- \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{%
- \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{%
- \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{%
- \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{%
- \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{%
- \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{%
- \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{%
- \@namedef{@#1}{#2}%
- }}}}}}}}}}}}}%
- }%
+ \begingroup%
+ \global\let\tud@thanks\relax%
+ \def\thanks##1{\gdef\tud@thanks{##1}}%
+ \let\footnote\thanks%
+ \sbox\z@{#2}%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \tud@lowerstring{\@tempa}{#2}%
+ \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
+ \global\let\@tempa\@tempa%
+ \endgroup%
+ \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{%
+ \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{%
+ \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{%
+ \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{%
+ \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{%
+ \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{%
+ \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{%
+ \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{%
+ \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{%
+ \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{%
+ \@namedef{@#1}{#2}%
+ }}}}}}}}}}}}}%
}
\newcommand*\tud@@thesis[2]{%
\ifstr{#1}{subject}{%
\ifx\@thesis\@empty\else%
- \ClassWarning{\tudcls@name}{Field `thesis' is overwritten by `subject'}%
+ \ClassWarning{\TUDClassName}{Field `thesis' is overwritten by `subject'}%
\fi%
\TUD@std@ifkey@lock{subjectthesis}{true}%
}{%
@@ -1541,7 +1857,7 @@
\gdef\@graduation{#2}%
}
\newcommand*\@professor{}
-\newcommand*\professor[1]{\gdef\@professor{#1}}
+\newcommand*\professor[2][]{\gdef\@professor{#2}}
\newcommand*\@supervisor{}
\newcommand*\supervisor[1]{\gdef\@supervisor{#1}}
\newcommand*\@supporter{}
@@ -1561,15 +1877,25 @@
\newcommand*\@placeofbirth{}
\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}}
\providecommand*\publisher[1]{\publishers{#1}}
+\newlength\tud@signatureskip
+\setlength\tud@signatureskip{15mm plus 10mm minus 10mm}
\newcommand*\@confirmationclosing{%
- \medskip%
- \noindent\@place, \@date%
- \\[20mm plus 10mm minus 10mm]%
+ \tud@datecheck%
+ \ifx\@date\@empty\else%
+ \medskip\noindent%
+ \ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
+ \fi%
+ \vskip\tud@signatureskip\noindent%
\begingroup%
- \let\and\hfil%
\let\thanks\@gobble%
\let\footnote\@gobble%
- \@author%
+ \renewcommand*\tud@split@author[2]{%
+ \tud@multiple@fields@store{@author}{##1}%
+ \ignorespaces##1%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{##2}{\hfil}%
+ }%
+ \tud@multiple@split{@author}%
\hfil%
\endgroup%
}
@@ -1579,7 +1905,7 @@
\newcommand*\printdate[1]{#1}
\BeforePackage{isodate}{\undef\printdate}
\newcommand*\tud@printdate[2]{%
- \ifx\today#2%
+ \ifx\today#2\relax%
\gdef#1{#2}%
\else%
\ifxblank{#2}%
@@ -1587,28 +1913,99 @@
{\gdef#1{\printdate{#2}}}%
\fi%
}
+\newcommand*\tud@datecheck{%
+ \ifdefvoid{\@duedate}{%
+ \ClassWarning{\TUDClassName}{%
+ `\string\date' was not given.\MessageBreak%
+ Since a thesis is a self-contained work, an end\MessageBreak%
+ date should be specified by the author.\MessageBreak%
+ Nevertheless, today's date is used%
+ }%
+ }{%
+ \ClassWarning{\TUDClassName}{%
+ `\string\date' was not given.\MessageBreak%
+ It's substituted by the given due date%
+ }%
+ \global\let\@date\@duedate%
+ }%
+ \global\let\tud@datecheck\relax%
+}
\newcommand*\@datemore{}
\renewcommand*\date[2][]{%
- \gdef\@datemore{#1}%
+ \gdef\@datemore{\trim@spaces{#1}}%
\tud@printdate{\@date}{#2}%
+ \global\let\tud@datecheck\relax%
}
\newcommand*\@defensedate{}
\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}}
+\newcommand*\tud@multiple@@split{}%
+\newcommand*\tud@multiple@split[1]{%
+ \expandafter\ifpatchable\expandafter{\csname#1\endcsname}{%
+ \@latex@warning@no@line}{\csuse{#1}\csgdef{#1}{}%
+ }{}%
+ \def\tud@multiple@@split##1\and##2\relax{%
+ \expandafter\csname tud@split#1\endcsname{##1}{##2}%
+ }%
+ \begingroup%
+ \let\and\relax%
+ \edef\@tempa{\csname#1\endcsname\and}%
+ \expandafter\endgroup%
+ \expandafter\tud@multiple@@split\@tempa\relax%
+}
+\newcommand*\tud@multiple@@@split[2]{%
+ \ifx\relax#1\relax%
+ \let\@tempb\relax%
+ \else%
+ \def\@tempb{#2\tud@multiple@@split#1\relax}%
+ \fi%
+ \@tempb%
+}
+\newcommand*\tud@multiple@fields@store[2]{%
+ \letcs\@tempa{tud@split#1@list}%
+ \let\and\relax%
+ \@for\@tempb:=\@tempa\do{%
+ \ifx\@tempb\@empty\else%
+ \ifcsdef{@\@tempb}{\tud@cmd@store{@\@tempb}}{}%
+ \fi%
+ }%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \sbox\z@{#2}%
+ \endgroup%
+}
+\newcommand*\tud@multiple@fields@restore[1]{%
+ \letcs\@tempa{tud@split#1@list}%
+ \let\and\relax%
+ \@for\@tempb:=\@tempa\do{%
+ \ifx\@tempb\@empty\else%
+ \ifcsdef{@\@tempb}{%
+ \tud@cmd@restore{@\@tempb}%
+ \global\csletcs{@\@tempb}{@\@tempb}%
+ }{}%
+ \fi%
+ }%
+}
+\newcommand*\tud@split@author[2]{}
+\newcommand*\tud@split@author@list{%
+ authormore,matriculationyear,enrolmentyear,%
+ matriculationnumber,studentid,matriculationid,%
+ placeofbirth,birthplace,dateofbirth,birthday,%
+}
%%% From File: tudscr-locale.dtx
\newcommand*\tud@locale@define[1]{%
\providecommand*#1{%
- \ClassError{\tudcls@name}{%
+ \ClassError{\TUDClassName}{%
`\string#1' not defined for language `\languagename'%
}{%
- Currently the class `\tudcls@name' only supports the\MessageBreak%
+ Currently the class `\TUDClassName' only supports the\MessageBreak%
languages german and english an its dialects. You must\MessageBreak%
define single patterns by yourself, e.g.:\MessageBreak%
`\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak%
- To implement new languages, it would be nice if you could\MessageBreak%
- contact the author of this class and send your definitions\MessageBreak%
- to \tudscrmail%
+ You can send your definitions to \tudscrmail\space in\MessageBreak%
+ order to implement support for additional languages.
}%
}%
}
@@ -1660,7 +2057,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@referee}%
+ \sbox\z@{\@referee}%
}%
\endgroup%
\if@tempswa%
@@ -1677,7 +2074,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@professor}%
+ \sbox\z@{\@professor}%
}%
\endgroup%
\if@tempswa%
@@ -1723,10 +2120,10 @@
Diese \ifx\@@thesis\@empty Arbeit \else\@@thesis{} \fi
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
enth\"alt vertrauliche Informationen\ifx\@company\@empty\else
- , offengelegt durch \@company{}\fi. Ver\"offentlichungen,
+ , offengelegt durch \emph{\@company}\fi. Ver\"offentlichungen,
Vervielf\"altigungen und Einsichtnahme~-- auch nur auszugsweise~--
sind ohne ausdr\"uckliche Genehmigung \ifx\@company\@empty\else
- durch \@company{} \fi nicht gestattet, ebenso wie
+ durch \emph{\@company} \fi nicht gestattet, ebenso wie
Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die
vorliegende Arbeit ist nur dem Betreuer an der Technischen
Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des
@@ -1758,7 +2155,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@referee}%
+ \sbox\z@{\@referee}%
}%
\endgroup%
\if@tempswa%
@@ -1775,7 +2172,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@professor}%
+ \sbox\z@{\@professor}%
}%
\endgroup%
\if@tempswa%
@@ -1821,9 +2218,9 @@
This \ifx\@@thesis\@empty thesis \else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
contains confidential data\ifx\@company\@empty\else
- , disclosed by \@company{}\fi. Publications, duplications and
+ , disclosed by \emph{\@company}\fi. Publications, duplications and
inspections---even in part---are prohibited without explicit
- permission\ifx\@company\@empty\else\space by \@company{}\fi,
+ permission\ifx\@company\@empty\else\space by \emph{\@company}\fi,
as well as publications about the content of this thesis.
This thesis may only be made accessible to the supervisor at
Technische Universit\"at Dresden, the reviewers and also the
@@ -1868,7 +2265,7 @@
\newlength\tud@dim@thinline
\newlength\tud@dim@headdiff
\newlength\tud@dim@headingsvskip
-\iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{}
+\tud@ifverlower{2.03}{\newlength\tud@dim@ddcdiff}{}
\newcommand*\tud@head@font@size{}
\newcommand*\tud@geometry@set{%
\ifdim\paperheight<148.1mm\relax%
@@ -1914,267 +2311,305 @@
\dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax%
}%
}
-\newcommand*\ifstandalonecrop{%
+\newcommand*\tud@ifsacrop{%
\ifcsdef{ifsa@crop}{%
\ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}%
}{%
\@secondoftwo%
}%
}
+\tud@ifsacrop{%
+ \PreventPackageFromLoading{scrlayer-scrpage}%
+ \pagestyle{empty}%
+ \hoffset=-72.27pt%
+ \voffset=-72.27pt%
+ \topmargin=0pt%
+ \headheight=0pt%
+ \headsep=0pt%
+ \marginparsep=0pt%
+ \marginparwidth=0pt%
+ \footskip=0pt%
+ \marginparpush=0pt%
+ \oddsidemargin=0pt%
+ \evensidemargin=0pt%
+ \topskip=0pt%
+ \textheight=\maxdimen%
+}{%
+ \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+}
+\tud@cmd@store{pagestyle}
+\cslet{ps@tudheadings}{\ps@headings}%
+\cslet{ps@plain.tudheadings}{\ps@plain}%
+\cslet{ps@empty.tudheadings}{\ps@empty}%
+\providecommand*\currentpagestyle{plain}
+\providecommand*\BeforeSelectAnyPageStyle[1]{}
+\providecommand*\GetRealPageStyle[1]{#1}
+\BeforePackage{scrlayer-scrpage}{%
+ \tud@cmd@restore{pagestyle}%
+ \csundef{ps@tudheadings}%
+ \csundef{ps@plain.tudheadings}%
+ \csundef{ps@empty.tudheadings}%
+ \undef\currentpagestyle%
+ \undef\BeforeSelectAnyPageStyle%
+ \undef\GetRealPageStyle%
+}
+\let\tud@pagestyle\pagestyle
+\apptocmd{\tud@pagestyle}{%
+ \edef\currentpagestyle{#1}%
+}{}{\tud@patch@wrn{pagestyle}}%
+\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
\AtEndPreamble{%
- \ifstandalonecrop{%
- \PreventPackageFromLoading{scrlayer-scrpage}%
- \pagestyle{empty}%
- \hoffset=-72.27pt%
- \voffset=-72.27pt%
- \topmargin=0pt%
- \headheight=0pt%
- \headsep=0pt%
- \marginparsep=0pt%
- \marginparwidth=0pt%
- \footskip=0pt%
- \marginparpush=0pt%
- \oddsidemargin=0pt%
- \evensidemargin=0pt%
- \topskip=0pt%
- \textheight=\maxdimen%
- }{}%
+ \@ifpackageloaded{scrlayer-scrpage}{}{%
+ \let\pagestyle\tud@pagestyle%
+ \undef\tud@pagestyle%
+ }%
}
-\AtEndPreamble{%
- \RequirePackage{scrlayer-scrpage}[2013/12/14]%
- \AfterPackage*{scrlayer-scrpage}{%
- \DeclareNewLayer[%
- background,headsep,%
- voffset=\tud@dim@logoy,%
- contents={%
- \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}%
- \tud@mainlogo%
- },%
- ]{tudheadings.head.mainlogo}%
- \DeclareNewLayer[%
- background,headsep,%
- voffset=\tud@dim@logoy,%
- contents={\hfill\tud@headlogo},%
- ]{tudheadings.head.logo}%
- \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}%
- \DeclareNewLayer[%
- background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,%
- contents={\tud@head@text@box},%
- ]{tudheadings.head.text}%
- \DeclareNewLayer[%
- background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
- contents={%
- \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else%
- \tud@head@rule{\textwidth}%
- \fi\fi%
- },%
- ]{tudheadings.head.upperline}%
- \DeclareNewLayer[%
- background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
- contents={%
- \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else%
- \tud@head@rule{\textwidth}%
- \fi\fi%
- },%
- ]{tudheadings.head.lowerline}%
- \DeclareNewLayer[%
- background,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
- contents={%
- \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar%
- \tud@head@rule{\paperwidth}%
- \fi\fi%
- },%
- ]{tudheadings.head.upperwideline}%
- \DeclareNewLayer[%
- background,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
- contents={%
- \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar%
- \tud@head@rule{\paperwidth}%
- \fi\fi%
- },%
- ]{tudheadings.head.lowerwideline}%
- \DeclareNewLayer[%
- background,foot,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
- contents={%
- \ifdim\footlogoheight>\z@\relax\else%
- \settoheight\footlogoheight{\tud@mainlogo}%
- \iftudscrverlower{2.03}{%
- \setlength\footlogoheight{.6\tud@dim@topmargin}%
- }{}%
- \fi%
- \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%
- \let\@tempa\relax%
- \@for\@tempb:=\tud@@footlogo\do{%
- \@tempa%
- \ifx\@tempb\@empty\else%
- \expandafter\tud@footlogo\expandafter{\@tempb}%
+\AfterPackage{scrlayer-scrpage}{%
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\tud@dim@logoy,%
+ contents={%
+ \tud@mainlogo@set%
+ \tud@headlogo@option@set%
+ \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}%
+ \tud@mainlogo@use\hfill\tud@headlogo@use%
+ },%
+ ]{tudheadings.head.content}%
+ \DeclareNewLayer[%
+ background,%
+ contents={%
+ \ifnum\tud@head@bar>\tw@\relax% cdhead=color
+ \color{HKS41}%
+ \rule{\layerwidth}{\tud@dim@topmargin}%
+ \fi%
+ },%
+ ]{tudheadings.head.back}%
+ \DeclareNewLayer[%
+ background,%
+ voffset=\tud@dim@topmargin,%
+ contents={%
+ \ifnum\tud@head@bar>\@ne\relax% cdhead=barcolor/color
+ \color{HKS41!60}%
+ \rule{\layerwidth}{\tud@dim@barheight}%
+ \fi%
+ },%
+ ]{tudheadings.head.bar}%
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,%
+ contents={\tud@head@text@box},%
+ ]{tudheadings.head.text}%
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.upperline}%
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.lowerline}%
+ \DeclareNewLayer[%
+ background,%
+ voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.upperwideline}%
+ \DeclareNewLayer[%
+ background,%
+ voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -.5\tud@dim@line\relax,%
+ contents={%
+ \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.lowerwideline}%
+ \DeclareNewLayer[%
+ background,foot,%
+ hoffset=0pt,%
+ width=\paperwidth,%
+ addvoffset=-\dp\strutbox,%
+ height=\dimexpr\paperheight-\layeryoffset\relax,%
+ contents={%
+ \if@tud@foot@colored%
+ \let\@tempc\relax%
+ \ifdefvoid{\tud@pagecolor}{%
+ \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=color
+ \def\@tempc{\color{HKS41}}%
\fi%
- \let\@tempa\footlogosep%
+ }{%
+ \def\@tempc{\color{HKS41}}%
+ \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!60}}}{}%
}%
- \tud@ddclogo%
- },%
- ]{tudheadings.foot.logo}%
- \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}%
- }{}%
- \DeclareNewLayer[%
- background,%
- hoffset=0pt,%
- width=\paperwidth,%
- voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}%
- -\dp\strutbox\relax,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
+ \ifx\@tempc\relax\else%
+ \@tempc\rule{\layerwidth}{\layerheight}%
+ \fi%
+ \fi%
+ },%
+ ]{tudheadings.foot.back}%
+ \tud@ifverlower{2.03}{%
+ \ModifyLayer[%
+ addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
contents={%
- \if@tud@footcolor%
+ \if@tud@foot@colored%
\let\@tempc\relax%
- \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi%
- \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}%
+ \ifdefvoid{\tud@pagecolor}{%
+ \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=color
+ \def\@tempc{\color{HKS41}}%
+ \fi%
+ }{%
+ \def\@tempc{\color{HKS41}}%
+ \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!60}}}{}%
+ }%
\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%
- }%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot=false
+ \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}}%
+ }%
+ \else% \tud@ddc@foot!=false
+ \@tempc\rule{\layerwidth}{\layerheight}%
+ \fi%
\fi%
\fi%
},%
]{tudheadings.foot.back}%
- \DeclareNewPageStyleByLayers[%
- onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
- ]{tudheadings}{%
- tudheadings.head.back,%
- tudheadings.head.mainlogo,%
- tudheadings.head.logo,%
- tudheadings.head.bar,%
- tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
- tudheadings.foot.back,%
- tudheadings.foot.logo,%
- scrheadings.foot.odd,%
- scrheadings.foot.even,%
- scrheadings.foot.oneside,%
- scrheadings.foot.above.line,%
- scrheadings.foot.below.line%
- }%
- \DeclareNewPageStyleAlias{tud}{tudheadings}%
- \DeclareNewPageStyleAlias{tudscr}{tudheadings}%
- \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
- \DeclareNewPageStyleByLayers[%
- onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
- ]{plain.tudheadings}{%
- tudheadings.head.back,%
- tudheadings.head.mainlogo,%
- tudheadings.head.logo,%
- tudheadings.head.bar,%
- tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
- tudheadings.foot.back,%
- tudheadings.foot.logo,%
- plain.scrheadings.foot.odd,%
- plain.scrheadings.foot.even,%
- plain.scrheadings.foot.oneside,%
- plain.scrheadings.foot.above.line,%
- plain.scrheadings.foot.below.line%
- }%
- \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
- \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
- \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
- \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}%
- \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}%
- \DeclareNewPageStyleByLayers[%
- onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
- ]{empty.tudheadings}{%
- tudheadings.head.back,%
- tudheadings.head.mainlogo,%
- tudheadings.head.logo,%
- tudheadings.head.bar,%
- tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
- tudheadings.foot.back,%
- tudheadings.foot.logo,%
- }%
- \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
- \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
- \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
- \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
- \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
- \DeclareNewLayer[
- background,page,%
- contents={%
- \ifdefvoid{\tud@pagecolor}{}{%
- \color{\tud@pagecolor}%
- \rule{\layerwidth}{\layerheight}%
- }%
- },%
- ]{tudheadings.pagecolor}
- \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
- \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}%
+ }{}%
+ \DeclareNewLayer[%
+ background,foot,%
+ height=\dimexpr\paperheight-\layeryoffset\relax,%
+ contents={%
+ \tud@footlogoheight@set%
+ \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
+ \tud@footlogo@option@set%
+ \tud@footlogo@cmd@set{\@tempdima}{\layerwidth}%
+ \tud@footcontent@use{\@tempdima}{\layerwidth}%
+ \hspace*{-\layerwidth}%
+ \tud@footlogo@cmd@use%
+ \hspace*{-\layerwidth}%
+ \hfill\tud@footlogo@ddc@use{\@tempdima}%
+ },%
+ ]{tudheadings.foot.content}%
+ \tud@ifverlower{2.03}{%
+ \ModifyLayer[%
+ addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
+ height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,%
+ ]{tudheadings.foot.content}%
+ }{}%
+ \DeclareNewLayer[%
+ background,%
+ contents=\tud@head@bar@restore,%
+ ]{tudheadings.last}%
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{tudheadings}{%
+ tudheadings.head.back,%
+ tudheadings.head.content,%
+ tudheadings.head.bar,%
+ tudheadings.head.text,%
+ tudheadings.head.upperline,%
+ tudheadings.head.lowerline,%
+ tudheadings.head.upperwideline,%
+ tudheadings.head.lowerwideline,%
+ tudheadings.foot.back,%
+ tudheadings.foot.content,%
+ tudheadings.last,%
+ scrheadings.foot.odd,%
+ scrheadings.foot.even,%
+ scrheadings.foot.oneside,%
+ scrheadings.foot.above.line,%
+ scrheadings.foot.below.line%
+ }%
+ \listadd\tud@ps@list{tudheadings}%
+ \DeclareNewPageStyleAlias{tud}{tudheadings}%
+ \DeclareNewPageStyleAlias{tudscr}{tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{plain.tudheadings}{%
+ tudheadings.head.back,%
+ tudheadings.head.content,%
+ tudheadings.head.bar,%
+ tudheadings.head.text,%
+ tudheadings.head.upperline,%
+ tudheadings.head.lowerline,%
+ tudheadings.head.upperwideline,%
+ tudheadings.head.lowerwideline,%
+ tudheadings.foot.back,%
+ tudheadings.foot.content,%
+ tudheadings.last,%
+ plain.scrheadings.foot.odd,%
+ plain.scrheadings.foot.even,%
+ plain.scrheadings.foot.oneside,%
+ plain.scrheadings.foot.above.line,%
+ plain.scrheadings.foot.below.line%
+ }%
+ \listadd\tud@ps@list{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}%
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{empty.tudheadings}{%
+ tudheadings.head.back,%
+ tudheadings.head.content,%
+ tudheadings.head.bar,%
+ tudheadings.head.text,%
+ tudheadings.head.upperline,%
+ tudheadings.head.lowerline,%
+ tudheadings.head.upperwideline,%
+ tudheadings.head.lowerwideline,%
+ tudheadings.foot.back,%
+ tudheadings.foot.content,%
+ tudheadings.last%
}%
+ \listadd\tud@ps@list{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
+ \newcommand*\tud@pagecolor{}%
+ \DeclareNewLayer[%
+ background,page,%
+ contents={%
+ \ifdefvoid{\tud@pagecolor}{}{%
+ \color{\tud@pagecolor}%
+ \rule{\layerwidth}{\layerheight}%
+ }%
+ },%
+ ]{tudheadings.pagecolor}%
+ \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
}
+\PreventPackageFromLoading[%
+ \ClassWarning{\TUDClassName}{%
+ The package `fancyhdr' must not be used with a\MessageBreak%
+ TUD-KOMA-Script class. You should make use of the\MessageBreak%
+ capabilities of package `scrlayer-scrpage' instead%
+ }%
+]{fancyhdr}
\newcommand*\tud@ps@onselect{%
\DeclarePageStyleAlias{plain}{plain.tudheadings}%
\DeclarePageStyleAlias{headings}{tudheadings}%
@@ -2182,108 +2617,88 @@
\def\sls@currentplain{plain.tudheadings}%
}
\newcommand*\tud@head@logocolor{black}
+\newcommand*\tud@head@fontcolor{}
\newcommand*\tud@foot@logocolor{black}
+\newcommand*\tud@foot@fontcolor{}
\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%
+ \ifdefvoid{\tud@pagecolor}{%
+ \ifcase\tud@head@bar\relax% cdhead=nocolor
+ \def\tud@head@logocolor{black}%
+ \def\tud@head@fontcolor{}%
+ \def\tud@foot@logocolor{black}%
+ \def\tud@foot@fontcolor{}%
+ \or% cdhead=litecolor
+ \def\tud@head@logocolor{HKS41}%
+ \def\tud@head@fontcolor{HKS41}%
\def\tud@foot@logocolor{HKS41}%
+ \def\tud@foot@fontcolor{HKS41}%
+ \or% cdhead=barcolor
+ \def\tud@head@logocolor{HKS41}%
+ \def\tud@head@fontcolor{white}%
+ \if@tud@foot@colored%
+ \def\tud@foot@logocolor{white}%
+ \def\tud@foot@fontcolor{white}%
+ \else%
+ \def\tud@foot@logocolor{HKS41}%
+ \def\tud@foot@fontcolor{HKS41}%
+ \fi%
+ \or% cdhead=color
+ \def\tud@head@logocolor{white}%
+ \def\tud@head@fontcolor{white}%
+ \if@tud@foot@colored%
+ \def\tud@foot@logocolor{white}%
+ \def\tud@foot@fontcolor{white}%
+ \else%
+ \def\tud@foot@logocolor{HKS41}%
+ \def\tud@foot@fontcolor{HKS41}%
+ \fi%
\fi%
- \fi%
+ }{%
+ \ifstr{\tud@pagecolor}{HKS41}{%
+ \def\tud@head@logocolor{white}%
+ \def\tud@head@fontcolor{white}%
+ \def\tud@foot@logocolor{white}%
+ \if@tud@foot@colored%
+ \def\tud@foot@fontcolor{white}%
+ \else%
+ \def\tud@foot@fontcolor{HKS41!30}%
+ \fi%
+ \bool@std@lock{@tud@head@widebar}{true}%
+ }{%
+ \def\tud@head@logocolor{HKS41}%
+ \def\tud@head@fontcolor{HKS41}%
+ \ifcase\tud@head@bar\relax\or\or\or% cdhead=color
+ \def\tud@head@logocolor{white}%
+ \def\tud@head@fontcolor{white}%
+ \fi%
+ \if@tud@foot@colored%
+ \def\tud@foot@logocolor{white}%
+ \def\tud@foot@fontcolor{white}%
+ \else%
+ \def\tud@foot@logocolor{HKS41}%
+ \def\tud@foot@fontcolor{HKS41}%
+ \fi%
+ \bool@std@lock{@tud@head@widebar}{true}%
+ }%
+ }%
\let\tud@dim@line\tud@dim@thinline%
- \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}%
+ \ifstr{\tud@head@fontcolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}%
+ \global\let\tud@foot@fontcolor\tud@foot@fontcolor%
}
\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{%
\xdef\@specialstyle{\GetRealPageStyle{#1}}
}{}{\tud@patch@wrn{thispagestyle}}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@beforeselectanypagestyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \def\@tempa{#1}%
- \ifcsdef{scr@v@3.15}{}{%
- \ifstr{\sls@currentheadings}{tudheadings}{%
- \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}%
- \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}%
- }{}%
- }%
- \iftudpagestyle{\@tempa}{%
- \iftudscrverlower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
- }%
- \else%
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
- }%
- \fi%
- }{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
- }%
- }%
- \setlength\tud@dim@headdiff{\z@}%
- }{%
- \ifstr{\tud@currentgeometry}{typearea}{}{%
- \loadgeometry{typearea}%
- \gdef\tud@currentgeometry{typearea}%
- }%
- \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%
- }%
- \global\tud@dim@headdiff=\tud@dim@headdiff%
- }{}%
-}
-\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
- \let\tud@beforeselectanypagestyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
-\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
- \let\tud@beforeselectanypagestyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
-\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
- \let\tud@beforeselectanypagestyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
-\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%
- }%
- }{}%
- }%
-}{}
\newcommand*\tud@head@text{}
\newcommand*\tud@head@text@first{}
\newcommand*\tud@head@text@second{}
\newcommand*\tud@head@text@delimiter{}
\newcommand*\tud@head@text@buffer{}
\newcommand*\tud@head@rule[1]{%
- \color{\tud@head@logocolor}%
+ \tud@color{\tud@head@fontcolor}%
\rule[\ht\strutbox]{#1}{\tud@dim@line}%
}
\newcommand*\tud@head@text@add[3][, ]{%
- \edef\tud@head@text{#3}%
+ \protected@edef\tud@head@text{#3}%
\ifx\tud@head@text\@empty%
\def\tud@head@text@delimiter{}%
\else%
@@ -2302,11 +2717,11 @@
\@tempswatrue%
\def\tud@head@text@delimiter{}%
\else%
- \edef\tud@head@text@first{\@tempa}%
+ \protected@edef\tud@head@text@first{\@tempa}%
\fi%
\fi%
\if@tempswa%
- \edef\tud@head@text@second{%
+ \protected@edef\tud@head@text@second{%
\tud@head@text@second%
\tud@head@text@delimiter%
#2%
@@ -2316,7 +2731,7 @@
}
\newcommand*\tud@head@text@box{%
\ifx\@faculty\@empty%
- \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}%
+ \ClassWarningNoLine{\TUDClassName}{No `\string\faculty' given}%
\faculty{}%
\fi%
\tud@head@font@set%
@@ -2334,20 +2749,20 @@
\hfuzz=\@tempdima%
\fi%
\vbox{%
- \linespread{0}\selectfont%
- \color{\tud@head@logocolor}%
+ \linespread{0}\selectfont\offinterlineskip%
+ \tud@color{\tud@head@fontcolor}%
\tud@head@text@write{\tud@head@text@first}%
- \ifnum\tud@head@bar>\@ne%
+ \ifnum\tud@head@bar>\@ne% cdhead=barcolor/color
\ifdefvoid{\tud@pagecolor}{\color{HKS41}}{%
\ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}%
}%
\fi%
\ifx\tud@head@text@second\@empty%
- \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}%
+ \newline\tud@head@text@write{\tud@head@font@light\@extraheadline}%
\else%
\newline\tud@head@text@write{\tud@head@text@second}%
\ifx\@extraheadline\@empty\else%
- \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline%
+ \newline\vbox{\tud@head@font@light\@extraheadline}%
\fi%
\fi%
}%
@@ -2355,98 +2770,269 @@
\newcommand*\tud@head@text@write[1]{%
\raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[%
\dimexpr\tud@dim@barheight-\depth\relax%
- ][\depth]{#1\vphantom{gjpqy\"A\"O\"U}}%
+ ][\dimexpr\depth+\tud@dim@heavyline\relax]{#1\vphantom{gjpqy\"A\"O\"U}}%
}
\newcommand\tud@head@text@wrn[1]{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
The given entries for the headline\MessageBreak%
(faculty, institute etc.) are #1\MessageBreak%
too wide for the textwidth%
}%
\global\let\tud@head@text@wrn\@gobble%
}
-\newcommand*\tud@mainlogo@wrn[1]{%
- \ClassWarning{\tudcls@name}{%
- The selected page layout means that the\MessageBreak%
- logo of TUD extends beyond the printing area.\MessageBreak%
- The inner margin is smaller than BCOR\MessageBreak%
- (`BCOR=\the\ta@bcor', inner margin is #1)\MessageBreak%
- Maybe you should decrease the current value\MessageBreak%
- of DIV (`DIV=\the\ta@div')%
- }%
- \global\let\tud@mainlogo@wrn\@gobble%
+\newcommand*\tud@newlayerbox[1]{%
+ \expandafter\newsavebox\csname tud@logo@#1\endcsname%
+}
+\newcommand*\tud@savelayerbox[1]{%
+ \global\expandafter\sbox\csname tud@logo@#1\endcsname%
+}
+\newcommand*\tud@uselayerbox[1]{%
+ \expandafter\usebox\csname tud@logo@#1\endcsname%
+}
+\newcommand*\tud@vlayerbox[3]{%
+ \begingroup%
+ \setbox\z@\vbox{#2}%
+ \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@-#1\relax}%
+ \ifdim\@tempdima>\z@\relax%
+ \ClassWarning{\TUDClassName}{%
+ #3\MessageBreak%
+ The maximum height is exceeded by \the\@tempdima%
+ }%
+ \fi%
+ \endgroup%
+ \vbox to #1{#2}%
+}
+\tud@newlayerbox{main@black}
+\tud@newlayerbox{main@HKS41}
+\tud@newlayerbox{main@white}
+\newlength\tud@mainlogoheight
+\newcommand*\tud@mainlogo@wrn[1]{}
+\newif\if@tud@mainlogo@set
+\newcommand*\tud@mainlogo@set{%
+ \if@tud@mainlogo@set%
+ \def\@tempa{\includegraphics[keepaspectratio,width=\tud@dim@logowidth]}%
+ \tud@savelayerbox{main@black}{\@tempa{TUD-black}}%
+ \tud@savelayerbox{main@HKS41}{\@tempa{TUD-blue}}%
+ \tud@savelayerbox{main@white}{\@tempa{TUD-white}}%
+ \setlength\tud@mainlogoheight{\ht\tud@logo@main@black}%
+ \global\tud@mainlogoheight=\tud@mainlogoheight%
+ \gdef\tud@mainlogo@wrn##1{%
+ \ifdim##1<\ta@bcor\relax%
+ \ClassWarning{\TUDClassName}{%
+ The selected page layout means that the\MessageBreak%
+ logo of TUD extends beyond the printing area.\MessageBreak%
+ The inner margin is smaller than BCOR\MessageBreak%
+ (`BCOR=\the\ta@bcor', inner margin is \the##1)\MessageBreak%
+ Maybe you should decrease the current value\MessageBreak%
+ of DIV (`DIV=\the\ta@div')%
+ }%
+ \global\let\tud@mainlogo@wrn\@gobble%
+ \fi%
+ }%
+ \tud@headlogo@set%
+ \tud@footlogo@set%
+ \global\@tud@mainlogo@setfalse%
+ \fi%
}
-\newcommand*\tud@@mainlogo{}
-\newcommand*\tud@mainlogo{%
- \setlength\@tempdima{%
+\newcommand*\tud@mainlogo@use{%
+ \tud@mainlogo@wrn{%
\dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax%
}%
- \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi%
- \def\tud@@mainlogo{TUD-black}%
- \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}%
- \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}%
- \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}%
- \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}%
-}
+ \tud@uselayerbox{main@\tud@head@logocolor}%
+}
+\tud@newlayerbox{head@black}
+\tud@newlayerbox{head@HKS41}
+\tud@newlayerbox{head@white}
+\tud@newlayerbox{head@option}
+\newcommand*\@headlogo{}
+\newcommand*\@@headlogo{}
+\newcommand*\tud@headlogo@wrn{}
\newcommand*\headlogo[2][]{%
- \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi%
- \def\tud@@headlogo{#2}%
- \def\tud@@@headlogo{#1}%
- \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi%
-}
-\newcommand*\tud@@headlogo{}
-\newcommand*\tud@@@headlogo{}
-\newcommand*\tud@headlogo{%
- \tud@ddc@check%
- \ifx\tud@@headlogo\@empty\else%
- \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi%
- \fi%
- \ifcase\@tempa\relax\or%
- \def\tud@@headlogo{DDC-24}%
- \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}%
- \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}%
- \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}%
- \or%
- \def\tud@@headlogo{DDC-03}%
- \or%
- \def\tud@@headlogo{DDC-09}%
- \or%
- \def\tud@@headlogo{DDC-21}%
- \or%
- \def\tud@@headlogo{DDC-24}%
- \or%
- \def\tud@@headlogo{DDC-27}%
- \or%
- \def\tud@@headlogo{DDC-30}%
- \fi%
- \ifx\tud@@headlogo\@empty\else%
- \settoheight\@tempdima{\tud@mainlogo}%
- \protected@epreto\tud@@@headlogo{%
- keepaspectratio,totalheight=\the\@tempdima,%
+ \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
+ \def\@headlogo{#2}%
+ \def\@@headlogo{#1}%
+ \global\@tud@headlogo@option@settrue%
+ \global\@tud@footlogo@option@settrue%
+ \gdef\tud@headlogo@wrn{%
+ \ClassWarning{\TUDClassName}{%
+ The secondary logo `\string\headlogo{\@headlogo}' is\MessageBreak%
+ overwritten with DDC logo. Maybe you should use\MessageBreak%
+ `ddcfoot' or better `ddc' instead of `ddchead'%
+ }%
+ \global\let\tud@headlogo@wrn\relax%
+ }%
+ \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+}
+\newcommand*\tud@headlogo@set{%
+ \def\@tempa{%
+ \includegraphics[keepaspectratio,totalheight=\tud@mainlogoheight]%
+ }%
+ \tud@savelayerbox{head@black}{\@tempa{DDC-24}}%
+ \tud@savelayerbox{head@HKS41}{\@tempa{DDC-27}}%
+ \tud@savelayerbox{head@white}{\@tempa{DDC-30}}%
+ \tud@headlogo@option@set%
+}
+\newif\if@tud@headlogo@option@set
+\newcommand*\tud@headlogo@option@set{%
+ \if@tud@headlogo@option@set%
+ \def\@tempc##1##2{%
+ \tud@savelayerbox{head@option}{%
+ \includegraphics[%
+ keepaspectratio,totalheight=\tud@mainlogoheight,##2%
+ ]{\trim@spaces{##1}}%
+ }%
}%
- \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}%
+ \tud@savelayerbox{head@option}{}%
+ \tud@ddc@check%
+ \ifcase\@tempa\relax% \tud@ddc@head=false
+ \ifdefvoid{\@headlogo}{}{%
+ \protected@edef\@tempb{\noexpand\@tempc{\@headlogo}{\@@headlogo}}%
+ \@tempb%
+ }%
+ \or\or% \tud@ddc@head=color
+ \@tempc{DDC-03}{}%
+ \or% \tud@ddc@head=colorblack
+ \@tempc{DDC-09}{}%
+ \or% \tud@ddc@head=gray
+ \@tempc{DDC-21}{}%
+ \or% \tud@ddc@head=black
+ \@tempc{DDC-24}{}%
+ \or% \tud@ddc@head=blue
+ \@tempc{DDC-27}{}%
+ \or% \tud@ddc@head=white
+ \@tempc{DDC-30}{}%
+ \fi%
+ \global\@tud@headlogo@option@setfalse%
\fi%
}
-\newcommand*\tud@headlogo@wrn{%
- \ClassWarning{\tudcls@name}{%
- The secondary logo given with `\string\headlogo' is\MessageBreak%
- overwritten with DDC logo. Maybe you should use\MessageBreak%
- `ddcfoot' or better `ddc' instead of `ddchead'%
+\newcommand*\tud@headlogo@use{%
+ \tud@vlayerbox{\tud@mainlogoheight}{%
+ \vss%
+ \hbox{%
+ \tud@ddc@check%
+ \ifnum\@tempa=\@ne\relax% \tud@ddc@head=true
+ \tud@uselayerbox{head@\tud@head@logocolor}%
+ \else%
+ \tud@uselayerbox{head@option}%
+ \fi%
+ }%
+ \vss%
+ }{%
+ The given `\string\headlogo{\@headlogo}' is too large.%
+ }
+ \ifdefvoid{\@headlogo}{}{%
+ \tud@ddc@check%
+ \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi%
}%
- \global\let\tud@headlogo@wrn\relax%
}
+\tud@newlayerbox{foot@black}
+\tud@newlayerbox{foot@HKS41}
+\tud@newlayerbox{foot@white}
+\tud@newlayerbox{foot@option}
\newlength\footlogoheight
+\newlength\tud@footlogoheight
+\newcommand*\tud@footlogoheight@set{%
+ \ifdim\footlogoheight=\z@\relax%
+ \tud@ifverlower{2.03}{%
+ \setlength\tud@footlogoheight{.6\tud@dim@topmargin}%
+ }{%
+ \setlength\tud@footlogoheight{\tud@mainlogoheight}%
+ }%
+ \else%
+ \ifdim\footlogoheight=\tud@footlogoheight\relax\else%
+ \setlength\tud@footlogoheight{\footlogoheight}%
+ \global\@tud@footlogo@option@settrue%
+ \fi%
+ \fi%
+ \global\tud@footlogoheight=\tud@footlogoheight%
+}
+\newcommand*\tud@footlogo@ddc@set[2]{%
+ \tud@footlogoheight@set%
+ \tud@savelayerbox{foot@#1}{%
+ \includegraphics[keepaspectratio,totalheight=\tud@footlogoheight]{#2}%
+ }%
+}
+\newcommand*\tud@footlogo@set{%
+ \tud@footlogo@ddc@set{black}{DDC-22}%
+ \tud@footlogo@ddc@set{HKS41}{DDC-25}%
+ \tud@footlogo@ddc@set{white}{DDC-28}%
+ \tud@footlogo@option@set%
+}
+\newif\if@tud@footlogo@option@set
+\newcommand*\tud@footlogo@option@set{%
+ \if@tud@footlogo@option@set%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\or\or% \tud@ddc@foot=color
+ \tud@footlogo@ddc@set{option}{DDC-01}%
+ \or% \tud@ddc@foot=colorblack
+ \tud@footlogo@ddc@set{option}{DDC-07}%
+ \or% \tud@ddc@foot=gray
+ \tud@footlogo@ddc@set{option}{DDC-19}%
+ \or% \tud@ddc@foot=black
+ \tud@footlogo@ddc@set{option}{DDC-22}%
+ \or% \tud@ddc@foot=blue
+ \tud@footlogo@ddc@set{option}{DDC-25}%
+ \or% \tud@ddc@foot=white
+ \tud@footlogo@ddc@set{option}{DDC-28}%
+ \fi%
+ \global\@tud@footlogo@option@setfalse%
+ \fi%
+}
+\newcommand*\tud@footlogo@ddc@use[1]{%
+ \tud@vlayerbox{#1}{%
+ \vss%
+ \hbox{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\or% \tud@ddc@foot=true
+ \tud@uselayerbox{foot@\tud@foot@logocolor}%
+ \else%
+ \tud@uselayerbox{foot@option}%
+ \fi%
+ }%
+ \vss\vss%
+ }{%
+ The `\string\footlogoheight' (\the\footlogoheight) is too\MessageBreak%
+ high. You should reduce this length.%
+ \ifcase\tud@geometry\relax\else% true/symmetric/twoside
+ \MessageBreak%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
+ \fi%
+ }%
+}
+\tud@newlayerbox{foot@cmd}
\newcommand*\footlogosep{\hfill}
+\newcommand*\@footlogo{}
+\newcommand*\@@footlogo{}
\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{}
-\DeclareListParser{\tud@footlogo@parser}{:}%
-\newcommand*\tud@footlogo[1]{%
+ \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
+ \def\@footlogo{#2}%
+ \def\@@footlogo{#1}%
+ \global\@tud@footlogo@cmd@settrue%
+ \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+}
+\newif\if@tud@footlogo@cmd@set
+\newcommand*\tud@footlogo@cmd@set[2]{%
+ \if@tud@footlogo@cmd@set%
+ \tud@footlogoheight@set%
+ \tud@savelayerbox{foot@cmd}{%
+ \hbox to #2{%
+ \let\@tempa\relax%
+ \@for\@tempb:=\@footlogo\do{%
+ \edef\@tempb{\expandafter\trim@spaces\expandafter{\@tempb}}%
+ \@tempa%
+ \ifx\@tempb\@empty\else%
+ \expandafter\tud@footlogo@cmd@@set\expandafter{\@tempb}{#1}%
+ \fi%
+ \let\@tempa\footlogosep%
+ }%
+ \hss%
+ }%
+ }%
+ \global\@tud@footlogo@cmd@setfalse%
+ \fi%
+}
+\newcommand*\tud@footlogo@cmd@@set[2]{%
\begingroup%
\def\@tempa{}%
\def\@tempb{}%
@@ -2459,283 +3045,467 @@
\expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}%
\fi%
}%
- \tud@footlogo@parser{#1}%
- \protected@eappto\tud@@@footlogo{\@tempb}%
- \protected@epreto\tud@@@footlogo{%
- keepaspectratio,totalheight=\the\footlogoheight,%
+ \let\@tempc\relax%
+ \DeclareListParser{\@tempc}{:}%
+ \@tempc{#1}%
+ \preto\@@footlogo{%
+ keepaspectratio,totalheight=\tud@footlogoheight,%
}%
- \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}%
- \vbox to \dimexpr\layerheight-\dp\strutbox\relax{%
- \vfil\hbox{\@tempc}\vfil\vfil%
+ \appto\@@footlogo{\@tempb}%
+ \protected@edef\@tempc{\noexpand\includegraphics[\@@footlogo]{\@tempa}}%
+ \tud@vlayerbox{#2}{\vss\hbox{\@tempc}\vss\vss}{%
+ The given `\string\footlogo{\@tempa}' is too large.%
}%
\endgroup%
}
-\newcommand*\tud@@ddclogo{}
-\newcommand*\tud@ddclogo{%
- \tud@ddc@check%
- \ifcase\@tempb\relax\or%
- \def\tud@@ddclogo{DDC-22}%
- \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}%
- \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}%
- \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}%
- \or%
- \def\tud@@ddclogo{DDC-01}%
- \or%
- \def\tud@@ddclogo{DDC-07}%
- \or%
- \def\tud@@ddclogo{DDC-19}%
- \or%
- \def\tud@@ddclogo{DDC-22}%
- \or%
- \def\tud@@ddclogo{DDC-25}%
- \or%
- \def\tud@@ddclogo{DDC-28}%
- \fi%
- \ifx\tud@@ddclogo\@empty\else%
- \let\tud@@@footlogo\relax%
- \hfill\tud@footlogo{\tud@@ddclogo}%
+\newcommand*\tud@footlogo@cmd@use{\tud@uselayerbox{foot@cmd}}%
+\newkomafont{tudheadings}{%
+ \sffamily%
+ \tud@color{\tud@foot@fontcolor}%
+}
+\newcommand*\tud@footcontent@font{}
+\newcommand*\tud@footcontent@left{}
+\newcommand*\tud@footcontent@right{}
+\newcommand*\footcontent{%
+ \@ifstar{%
+ \@tempswafalse%
+ \@footcontent%
+ }{%
+ \@tempswatrue%
+ \@footcontent%
+ }%
+}
+\newcommand*\@footcontent[2][]{%
+ \kernel@ifnextchar[%]
+ {\@@footcontent{#1}{#2}}%
+ {\@@footcontent{#1}{#2}[\@nnil]}%
+}
+\newcommand*\@@footcontent{}
+\def\@@footcontent#1#2[#3]{%
+ \if@tempswa%
+ \def\tud@footcontent@font{%
+ \usekomafont{tudheadings}%
+ \tud@divide\@tempa{\tud@head@font@size}{\f@size}%
+ \linespread{\@tempa}%
+ \selectfont%
+ \tud@head@font@light%
+ #1%
+ }%
+ \else%
+ \def\tud@footcontent@font{#1}%
\fi%
+ \def\tud@footcontent@left{#2}%
+ \def\tud@footcontent@right{#3}%
}
-\newlength\tud@ta@textheight
-\newlength\tud@ta@topmargin
-\newlength\tud@ta@headheight
-\newlength\tud@ta@headsep
-\newlength\tud@ta@footheight
-\newlength\tud@ta@footskip
-\newlength\tud@ta@headdiff
-\newcommand*\tud@geometry@restore{}
-\AfterCalculatingTypearea{%
- \setlength\tud@ta@textheight{\textheight}%
- \setlength\tud@ta@topmargin{\topmargin}%
- \setlength\tud@ta@headheight{\headheight}%
- \setlength\tud@ta@headsep{\headsep}%
- \ifcsvoid{ta@fh}{%
- \setlength\tud@ta@footheight{\footheight}%
+\newcommand*\tud@footcontent@use[2]{%
+ \tud@ddc@check%
+ \ifcase\@tempb%
+ \setlength\@tempdimc{\z@}%
+ \else%
+ \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
+ \addtolength\@tempdimc{\columnsep}%
+ \fi%
+ \tud@vlayerbox{#1}{%
+ \vss%
+ \hbox to #2{%
+ \tud@footcontent@font%
+ \expandafter\ifx\tud@footcontent@right\@nnil\relax%
+ \vtop{%
+ \hsize=\dimexpr#2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \else%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
+ }%
+ \fi%
+ \hss%
+ }%
+ \vss\vss%
}{%
- \setlength\tud@ta@footheight{\ta@fh}%
+ The content for the footer (`\string\footcontent')\MessageBreak%
+ is too high. You should either reduce the content or\MessageBreak%
+ lower the fontsize via the optional argument.%
+ \ifcase\tud@geometry\relax\else% true/symmetric/twoside
+ \MessageBreak%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
+ \fi%
}%
- \setlength\tud@ta@footskip{\footskip}%
- \let\tud@geometry@restore\Gm@restore@org%
- \if@atdocument%
- \let\Gm@restore@org\relax%
- \tud@geometry@process%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- \fi%
- \let\Gm@restore@org\tud@geometry@restore%
}
-\newcommand*\tud@geometry@hmargin{}
-\newcommand*\tud@geometry@vmargin{}
-\newcommand*\tud@geometry@tudmargin{}
-\iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{}
\AtEndPreamble{%
- \ifstandalonecrop{}{%
- \recalctypearea%
- \RequirePackage{geometry}[2010/09/12]%
- \tud@geometry@process%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ \@ifpackageloaded{geometry}{}{%
+ \def\tud@geometry@process{\tud@geometry@set}%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble%
}%
}
-\newcommand*\tud@geometry@process{%
- \tud@geometry@set%
- \ifcase\tud@geometry\relax%
- \def\tud@geometry@hmargin{%
- left=\dimexpr\oddsidemargin+1in\relax,%
- width=\textwidth,%
- marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,%
- \if@twoside\if@reversemargin%
- marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,%
- \fi\fi%
- marginparsep=.5\tud@ta@headsep,%
- }%
- \def\tud@geometry@vmargin{%
- top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep%
- +1in\relax,%
- headheight=\tud@ta@headheight,%
- headsep=\tud@ta@headsep,%
- textheight=\tud@ta@textheight,%
- footskip=\tud@ta@footskip,%
- }%
- \def\tud@geometry@tudmargin{%
- top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\tud@dim@headsep,%
- textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,%
- ignorehead,%
- }%
- \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%
- }%
- \ifdim\tud@ta@headdiff<\z@\relax%
- \addtolength\tud@dim@headsep{-\tud@ta@headdiff}%
+\tud@ifsacrop{%
+ \PreventPackageFromLoading{geometry}%
+}{%
+ \RequirePackage{geometry}[2010/09/12]%
+ \newcommand*\tud@geometry@hmargin{}%
+ \newcommand*\tud@geometry@vmargin{}%
+ \newcommand*\tud@geometry@tudmargin{}%
+ \tud@ifverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{}%
+ \newcommand*\tud@newgeometry[1]{%
+ \if@atdocument%
+ \edef\@tempa{#1}%
+ \expandafter\newgeometry\expandafter{#1}%
+ \else%
+ \edef\@tempa{paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1}%
+ \expandafter\geometry\expandafter{\@tempa}%
\fi%
- \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,%
- }%
- }{}%
- \ifdim\tud@dim@extrabottommargin=\z@\relax\else%
- \ClassWarning{\tudcls@name}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea is used (`cdgeometry=no')%
+ }%
+ \newcommand*\tud@geometry@process{%
+ \tud@geometry@set%
+ \ifcase\tud@geometry\relax% false
+ \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%
}%
- \fi%
- \else%
- \ifcase\tud@geometry\or%
- \def\tud@geometry@hmargin{%
- left=\tud@dim@widemargin,%
- textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ \ifdim\tud@ta@headdiff<\z@\relax%
+ \addtolength\tud@dim@headsep{-\tud@ta@headdiff}%
+ \fi%
+ \edef\tud@geometry@hmargin{%
+ bindingoffset=\the\ta@bcor,%
+ left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
+ textwidth=\the\textwidth,%
+ \tud@geometry@mpincl,%
+ marginparwidth=\the\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,%
\if@reversemargin%
- marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,%
+ reversemarginpar=true,%
+ \if@twoside%
+ marginparwidth=\the\dimexpr\oddsidemargin+1in%
+ -\tud@ta@headsep\relax,%
+ \fi%
\else%
- marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,%
+ reversemarginpar=false,%
\fi%
- marginparsep=.5\tud@ta@headsep,%
- bindingoffset=\ta@bcor,%
- \if@twoside asymmetric,\fi%
- }%
- \or%
- \def\tud@geometry@hmargin{%
- left=.5\tud@dim@both,%
- textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
- marginparsep=.5\tud@ta@headsep,%
- bindingoffset=\ta@bcor,%
+ marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
}%
- \or%
- \def\tud@geometry@hmargin{%
- \if@twoside%
- left=.4\tud@dim@both,%
- twoside,%
+ \edef\tud@geometry@vmargin{%
+ \if@hincl%
+ includehead=true,%
+ top=\the\dimexpr\tud@ta@topmargin+1in\relax,%
\else%
- left=.5\tud@dim@both,%
+ includehead=false,%
+ top=\the\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep%
+ +1in\relax,%
\fi%
- textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \if@twoside%
+ headheight=\the\tud@ta@headheight,%
+ headsep=\the\tud@ta@headsep,%
+ textheight=\the\tud@ta@textheight,%
+ \tud@geometry@fincl,%
+ footskip=\the\tud@ta@footskip%
+ }%
+ \ifdim\tud@ta@headdiff<\z@\relax%
+ \setlength\@tempdima{\z@}%
+ \else%
+ \setlength\@tempdima{\tud@ta@headdiff}%
+ \fi%
+ \edef\tud@geometry@tudmargin{%
+ top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ +\tud@dim@headsep\relax,%
+ headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -\tud@dim@logoy\relax,%
+ headsep=\the\tud@dim@headsep,%
+ textheight=\the\dimexpr\tud@ta@textheight-\@tempdima\relax,%
+ ignorehead%
+ }%
+ \tud@ifverlower{2.03}{%
+ \setlength\tud@dim@ddcdiff{%
+ \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep%
+ +\tud@ta@footheight-1.25\baselineskip\relax%
+ }%
+ \edef\tud@geometry@ddcmargin{%
+ textheight=\the\dimexpr\tud@ta@textheight-\tud@ta@headdiff%
+ -\tud@dim@ddcdiff\relax,%
+ footskip=\the\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax%
+ }%
+ }{}%
+ \ifdim\tud@dim@extrabottommargin=\z@\relax\else%
+ \ClassWarning{\TUDClassName}{%
+ Option `extrabottommargin' is ineffective when\MessageBreak%
+ package typearea is used (`cdgeometry=no')%
+ }%
+ \fi%
+ \else% true/symmetric/twoside
+ \ifcase\tud@geometry\or% true
+ \edef\tud@geometry@hmargin{%
+ bindingoffset=\the\ta@bcor,%
+ left=\the\tud@dim@widemargin,%
+ textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ \if@twoside asymmetric,\fi%
+ \tud@geometry@mpincl,%
\if@reversemargin%
- marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,%
+ reversemarginpar=true,%
+ marginparwidth=\the\dimexpr\tud@dim@widemargin%
+ -\tud@ta@headsep\relax,%
\else%
- marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,%
+ reversemarginpar=false,%
+ marginparwidth=\the\dimexpr\tud@dim@slimmargin%
+ -\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%
- \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,%
+ marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
+ }%
+ \or% symmetric
+ \edef\tud@geometry@hmargin{%
+ bindingoffset=\the\ta@bcor,%
+ left=\the\dimexpr.5\tud@dim@both\relax,%
+ textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ \tud@geometry@mpincl,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
+ marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
+ }%
+ \or% twoside
+ \edef\tud@geometry@hmargin{%
+ bindingoffset=\the\ta@bcor,%
+ \if@twoside%
+ left=\the\dimexpr.4\tud@dim@both\relax,%
+ twoside,%
+ \else%
+ left=\the\dimexpr.5\tud@dim@both\relax,%
+ \fi%
+ textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ \tud@geometry@mpincl,%
+ marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \if@twoside%
+ marginparwidth=\the\dimexpr.4\tud@dim@both%
+ -\tud@ta@headsep\relax,%
+ \fi%
+ \else%
+ reversemarginpar=false,%
+ \if@twoside%
+ marginparwidth=\the\dimexpr.6\tud@dim@both%
+ -\tud@ta@headsep\relax,%
+ \fi%
+ \fi%
+ marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
+ }%
+ \fi%
+ \tud@ifverlower{2.03}{%
+ \edef\tud@geometry@vmargin{%
+ top=\the\dimexpr.5\tud@dim@both\relax,%
+ headheight=\the\tud@ta@headheight,%
+ headsep=\the\tud@dim@headsep,%
+ bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,%
+ footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ -1.25\baselineskip\relax,%
+ \tud@geometry@hincl,%
+ \tud@geometry@fincl%
+ }%
+ }{%
+ \edef\tud@geometry@vmargin{%
+ top=\the\tud@dim@slimmargin,%
+ headheight=\the\tud@ta@headheight,%
+ headsep=\the\tud@ta@headsep,%
+ bottom=\the\dimexpr\tud@dim@widemargin%
+ +\tud@dim@extrabottommargin\relax,%
+ footskip=\the\dimexpr\tud@dim@footsep+\tud@ta@footheight\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,%
+ \edef\tud@geometry@tudmargin{%
+ top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ +\tud@dim@headsep\relax,%
+ headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
+ -\tud@dim@logoy\relax,%
+ headsep=\the\tud@dim@headsep,%
+ ignorehead%
}%
- }%
- \def\tud@geometry@tudmargin{%
- top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\tud@dim@headsep,%
- ignorehead,%
- }%
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@dim@slimmargin\relax%
- }%
- \iftudscrverlower{2.03}{%
\setlength\tud@ta@headdiff{%
\dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -.5\tud@dim@both\relax%
+ -\tud@dim@slimmargin\relax%
}%
- \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,%
+ \tud@ifverlower{2.03}{%
+ \setlength\tud@ta@headdiff{%
+ \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
+ -.5\tud@dim@both\relax%
+ }%
+ \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}%
+ \edef\tud@geometry@ddcmargin{%
+ \if@fincl%
+ bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
+ +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight%
+ -1.25\baselineskip\relax,%
+ \else%
+ bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
+ +\tud@dim@ddcdiff\relax,%
+ \fi%
+ footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ -1.25\baselineskip+\tud@dim@ddcdiff\relax,%
+ }%
+ }{}%
+ \fi%
+ \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi%
+ \global\tud@ta@headdiff=\tud@ta@headdiff%
+ \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}%
+ \global\tud@dim@headingsvskip=\tud@dim@headingsvskip%
+ \tud@ifverlower{2.03}{%
+ \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi%
+ \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
+ }{}%
+ \tud@geometry@@process%
+ }%
+ \newcommand*\tud@geometry@@process{%
+ \edef\Gm@restore@org{\Gm@restore}%
+ \tud@ifverlower{2.03}{%
+ \edef\@tempa{%
+ \tud@geometry@hmargin,%
+ \tud@geometry@vmargin,%
+ \tud@geometry@tudmargin,%
+ \tud@geometry@ddcmargin,%
+ ignorehead,ignorefoot%
}%
+ \tud@newgeometry{\@tempa}%
+ \savegeometry{tudareaddc}%
}{}%
- \fi%
- \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi%
- \global\tud@ta@headdiff=\tud@ta@headdiff%
- \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}%
- \global\tud@dim@headingsvskip=\tud@dim@headingsvskip%
- \iftudscrverlower{2.03}{%
- \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi%
- \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
- }{}%
- \tud@geometry@@process%
-}
-\newcommand*\tud@geometry@@process{%
- \iftudscrverlower{2.03}{%
\edef\@tempa{%
\tud@geometry@hmargin,%
\tud@geometry@vmargin,%
- \tud@geometry@tudmargin,%
- \tud@geometry@ddcmargin,%
- ignorehead,ignorefoot,%
+ \tud@geometry@tudmargin%
}%
- \expandafter\newgeometry\expandafter{\@tempa}%
- \savegeometry{tudareaddc}%
- }{}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin,%
+ \tud@newgeometry{\@tempa}%
+ \savegeometry{tudarea}%
+ \edef\@tempa{%
+ \tud@geometry@hmargin,%
+ \tud@geometry@vmargin%
+ }%
+ \tud@newgeometry{\@tempa}%
+ \savegeometry{typearea}%
}%
- \expandafter\newgeometry\expandafter{\@tempa}%
- \savegeometry{tudarea}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
+ \newcommand*\tud@geometry@hincl{%
+ \if@hincl%
+ includehead=true%
+ \else%
+ includehead=false%
+ \fi%
+ }%
+ \newcommand*\tud@geometry@fincl{%
+ \if@fincl%
+ includefoot=true%
+ \else%
+ includefoot=false%
+ \fi%
+ }%
+ \newcommand*\tud@geometry@mpincl{%
+ \if@mincl%
+ includemp=true%
+ \else%
+ includemp=false%
+ \fi%
}%
- \expandafter\newgeometry\expandafter{\@tempa}%
- \savegeometry{typearea}%
}
-\newcommand*\tud@geometry@hincl{%
- \if@hincl%
- includehead,%
- \else%
- ignorehead,%
- \fi%
+\newcommand*\tud@currentgeometry{}
+\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
+ \ifstr{#1}{\GetRealPageStyle{#1}}{%
+ \tud@iftudps{#1}{%
+ \tud@ifverlower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot=false
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
+ \else% \tud@ddc@foot!=false
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \loadgeometry{tudareaddc}%
+ \gdef\tud@currentgeometry{tudareaddc}%
+ }%
+ \fi%
+ }{%
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
+ }%
+ \setlength\tud@dim@headdiff{\z@}%
+ \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
+ \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
+ }{%
+ \ifstr{\tud@currentgeometry}{typearea}{}{%
+ \loadgeometry{typearea}%
+ \gdef\tud@currentgeometry{typearea}%
+ }%
+ \setlength\tud@dim@headdiff{\tud@ta@headdiff}%
+ \ifcase\tud@geometry\relax\else% true/symmetric/twoside
+ \if@hincl%
+ \addtolength\tud@dim@headdiff{%
+ \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax%
+ }%
+ \fi%
+ \fi%
+ \tud@font@koma@unset{pagefoot}%
+ \tud@font@koma@unset{pagenumber}%
+ }%
+ \global\tud@dim@headdiff=\tud@dim@headdiff%
+ }{}%
}
-\newcommand*\tud@geometry@fincl{%
- \if@fincl%
- includefoot,%
- \else%
- ignorefoot,%
- \fi%
+\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
+\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
+\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
+\tud@ifverlower{2.03}{%
+ \newcommand*\tud@ddc@enlargepage[1][]{%
+ \tud@iftudps{#1}{%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
+ \enlargethispage{-\tud@dim@ddcdiff}%
+ \fi%
+ }%
+ }{}%
+ }%
+}{}
+\newlength\tud@ta@textheight
+\newlength\tud@ta@topmargin
+\newlength\tud@ta@headheight
+\newlength\tud@ta@headsep
+\newlength\tud@ta@footheight
+\newlength\tud@ta@footskip
+\newlength\tud@ta@headdiff
+\newcommand*\tud@AfterChangingArea{%
+ \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}%
+ \tud@geometry@process%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+}
+\AtEndPreamble{%
+ \tud@ifsacrop{}{%
+ \AfterCalculatingTypearea{\tud@AfterChangingArea}%
+ \AfterSettingArea{\tud@AfterChangingArea}%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{#1}}%
+ \recalctypearea%
+ }%
}
\newcommand*\tud@ps{tudheadings}
\newcommand*\tud@ps@select{%
@@ -2772,11 +3542,11 @@
\TUD@parameter@set{tudpage}{#1}%
\tud@ps@select%
\tud@multicols@check%
- \ifnum\tud@multicols>1\relax%
+ \ifnum\tud@multicols>\@ne\relax%
\begin{multicols}{\tud@multicols}%
\fi%
\BODY%
- \ifnum\tud@multicols>1\relax%
+ \ifnum\tud@multicols>\@ne\relax%
\end{multicols}%
\fi%
}[%
@@ -2801,9 +3571,9 @@
}
\TUD@parameter{tudpage}{%
\TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\def\tud@multicols{#1}}%
+ \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
\TUD@parameter@define{pagestyle}{%
- \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{%
+ \tud@iftudps{#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}}{%
@@ -2817,27 +3587,27 @@
\TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}%
}
%%% From File: tudscr-layout.dtx
-\newcommand*\tud@part@fontcolor{black}
-\newcommand*\tud@chapter@fontcolor{black}
+\newcommand*\tud@part@fontcolor{}
+\newcommand*\tud@chapter@fontcolor{}
\newkomafont{parttitle}{%
\tud@font@heading%
- \color{\tud@part@fontcolor}%
+ \tud@color{\tud@part@fontcolor}%
\usesizeofkomafont{section}%
}
\newlength\pageheadingsvskip
\newlength\headingsvskip
\newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}}
\newcommand*\tud@headmidvskip@neg{%
- \setbox0\vbox{\tud@headmidvskip}%
- \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht0\relax}%
+ \setbox\z@\vbox{\tud@headmidvskip}%
+ \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}%
}
\newcommand*\tud@layout@process{%
- \ifcase\tud@layout@cover\relax%
+ \ifcase\tud@layout@cover\relax% false
\bool@std@lock{@tud@cover@cdgeometry}{false}%
- \else%
+ \else% !false
\bool@std@lock{@tud@cover@cdgeometry}{true}%
\fi%
- \ifcase\tud@layout@title\relax%
+ \ifcase\tud@layout@title\relax% false
\tud@cmd@restore{maketitle}%
\tud@cmd@restore{@maketitle}%
\tud@cmd@restore{titlepagestyle}%
@@ -2848,7 +3618,7 @@
\tud@font@koma@unset{author}%
\tud@font@koma@unset{date}%
\tud@font@koma@unset{publishers}%
- \else%
+ \else% !false
\tud@cmd@store{maketitle}%
\tud@cmd@store{@maketitle}%
\tud@cmd@store{titlepagestyle}%
@@ -2857,18 +3627,18 @@
\usekomafont{disposition}%
\tud@font@heading%
\tud@font@heading@size%
- \color{\tud@title@fontcolor}%
+ \tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subtitle}{%
\tud@font@heading%
\usesizeofkomafont{section}%
- \color{\tud@title@fontcolor}%
+ \tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subject}{%
\fontfamily{\sfdefault}%
\fontseries{\bfdefault}%
\selectfont%
- \color{\tud@title@fontcolor}%
+ \tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{author}{\usekomafont{subject}}%
\tud@font@koma@set{date}{\usekomafont{titlepage}}%
@@ -2876,68 +3646,87 @@
\let\maketitle\tud@maketitle%
\renewcommand*\titlepagestyle{plain.tudheadings}%
\fi%
- \ifcase\tud@layout@part\relax%
+ \ifcase\tud@layout@part\relax% false
\tud@cmd@restore{partheadstartvskip}%
- \tud@cmd@restore{partheadmidvskip}%
\tud@cmd@restore{partheadendvskip}%
\tud@cmd@restore{partheademptypage}%
\tud@cmd@restore{partpagestyle}%
- \tud@cmd@restore{@part}%
- \tud@cmd@restore{@spart}%
+ \ifcsdef{scr@v@3.18}{%
+ \tud@cmd@restore{scr@@startpart}%
+ \tud@cmd@restore{scr@@startspart}%
+ }{%
+ \tud@cmd@restore{@part}%
+ \tud@cmd@restore{@spart}%
+ }%
\tud@sectioning@reset[addpart]{part}%
\tud@font@koma@unset{partnumber}%
- \else%
+ \else% !false
\tud@cmd@store{partheadstartvskip}%
- \tud@cmd@store{partheadmidvskip}%
\tud@cmd@store{partheadendvskip}%
\tud@cmd@store{partheademptypage}%
\tud@cmd@store{partpagestyle}%
- \tud@cmd@store{@part}%
- \tud@cmd@store{@spart}%
+ \ifcsdef{scr@v@3.18}{%
+ \tud@cmd@store{scr@@startpart}%
+ \tud@cmd@store{scr@@startspart}%
+ }{%
+ \tud@cmd@store{@part}%
+ \tud@cmd@store{@spart}%
+ }%
\if@tud@parttitle%
\tud@sectioning@set[addpart]{part}{\usekomafont{parttitle}}%
\tud@font@koma@set{partnumber}{\usekomafont{parttitle}}%
- \renewcommand*\partheadmidvskip{\enskip}%
\else%
\tud@sectioning@set[addpart]{part}{%
\tud@font@heading%
- \color{\tud@part@fontcolor}%
+ \tud@color{\tud@part@fontcolor}%
}%
\tud@font@koma@set{partnumber}{%
\tud@font@heading%
- \color{\tud@part@fontcolor}%
+ \tud@color{\tud@part@fontcolor}%
}%
- \let\partheadmidvskip\tud@headmidvskip%
\fi%
\let\partheadstartvskip\tud@partheadstartvskip%
\let\partheadendvskip\tud@partheadendvskip%
\let\partheademptypage\relax%
\renewcommand*\partpagestyle{plain.tudheadings}%
- \let\@part\tud@@part%
- \let\@spart\tud@@spart%
+ \ifcsdef{scr@v@3.18}{%
+ \let\scr@@startpart\tud@@startpart%
+ \let\scr@@startspart\tud@@startspart%
+ }{%
+ \let\@part\tud@@part%
+ \let\@spart\tud@@spart%
+ }%
\fi%
- \ifcase\tud@layout@chapter\relax%
+ \ifcase\tud@layout@chapter\relax% false
\tud@cmd@restore{chapterheadstartvskip}%
\tud@cmd@restore{chapterformat}%
\tud@cmd@restore{@chapter}%
\tud@cmd@restore{@schapter}%
- \tud@cmd@restore{@@makechapterhead}%
+ \ifcsdef{scr@v@3.18}{%
+ \tud@cmd@restore{scr@@makechapterhead}%
+ }{%
+ \tud@cmd@restore{@@makechapterhead}%
+ }%
\tud@sectioning@reset[addchap]{chapter}%
\tud@font@koma@unset{chapterprefix}%
\tud@sectioning@reset[addsec]{section}%
\tud@sectioning@reset{subsection}%
\tud@sectioning@reset{subsubsection}%
\tud@sectioning@reset{minisec}%
- \else%
+ \else% !false
\tud@cmd@store{chapterheadstartvskip}%
\tud@cmd@store{chapterformat}%
\tud@cmd@store{@chapter}%
\tud@cmd@store{@schapter}%
- \tud@cmd@store{@@makechapterhead}%
+ \ifcsdef{scr@v@3.18}{%
+ \tud@cmd@store{scr@@makechapterhead}%
+ }{%
+ \tud@cmd@store{@@makechapterhead}%
+ }%
\tud@sectioning@set[addchap]{chapter}{%
\tud@font@heading%
\tud@font@heading@size%
- \color{\tud@chapter@fontcolor}%
+ \tud@color{\tud@chapter@fontcolor}%
}%
\tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
\tud@sectioning@set[addsec]{section}{\tud@font@heading}%
@@ -2945,20 +3734,42 @@
\tud@sectioning@set{subsubsection}{\tud@font@heading}%
\tud@sectioning@set{minisec}{\tud@font@heading}%
\let\chapterheadstartvskip\tud@chapterheadstartvskip%
- \let\@@makechapterhead\tud@@@makechapterhead%
+ \ifcsdef{scr@v@3.18}{%
+ \let\scr@@makechapterhead\tud@@@makechapterhead%
+ }{%
+ \let\@@makechapterhead\tud@@@makechapterhead%
+ }%
\fi%
}
+\newcommand*\tud@layout@specialpage@set[1]{%
+ \tud@font@koma@set{footnote}{%
+ \edef\@tempa{%
+ \noexpand\tud@color{%
+ \expandafter\noexpand\csname tud@#1@fontcolor\endcsname%
+ }%
+ }\@tempa%
+ }%
+ \tud@cmd@store{footnoterule}%
+ \let\footnoterule\relax%
+}
+\newcommand*\tud@layout@specialpage@unset{%
+ \tud@font@koma@unset{footnote}%
+ \tud@cmd@restore{footnoterule}%
+}
\newcommand*\tud@partheadstartvskip{%
- \def\tud@part@fontcolor{black}%
- \ifcase\tud@layout@part\relax\or\or%
+ \def\tud@part@fontcolor{}% false/true
+ \ifcase\tud@layout@part\relax\or\or% litecolor
+ \def\tud@part@fontcolor{HKS41}%
+ \or% barcolor
\def\tud@part@fontcolor{HKS41}%
- \or%
+ \or% bicolor
\def\tud@part@fontcolor{HKS41}%
- \or%
+ \or% color
\def\tud@part@fontcolor{HKS41!30}%
- \or%
+ \or% full
\def\tud@part@fontcolor{HKS41!30}%
\fi%
+ \tud@layout@specialpage@set{part}%
\begingroup%
\vspace*{%
\dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
@@ -2970,55 +3781,62 @@
\begingroup%
\tud@font@heading%
\tud@font@heading@size%
- \color{\tud@part@fontcolor}%
+ \tud@color{\tud@part@fontcolor}%
\ifx\@@title\@empty%
+ \ClassWarning{\TUDClassName}{%
+ You activated the option `parttitle' but\MessageBreak%
+ no title was given%
+ }%
\tud@makeuppercase{\strut}%
\else%
\tud@makeuppercase{\@@title}%
\fi%
- \par\nobreak
- {\usekomafont{titlepage}\vskip 2ex\@plus1ex\@minus1ex}%
+ \par\nobreak%
+ {\usekomafont{titlepage}{\vskip 2ex\@plus1ex\@minus1ex}}%
\endgroup%
\else%
- \usekomafont{partnumber}%
- \tud@headmidvskip@neg%
+ \usekomafont{partnumber}{\tud@headmidvskip@neg}%
\fi%
\endgroup%
}
\newcommand*\tud@partheadendvskip{%
\tud@cleardoublespecialpage{%
\def\tud@pagecolor{}%
- \ifcase\tud@layout@part\relax\or%
- \def\tud@head@bar{0}%
- \or%
- \def\tud@head@bar{1}%
- \or%
- \def\tud@head@bar{2}%
- \or%
+ \ifcase\tud@layout@part\relax\or% true
+ \cs@std@lock{tud@head@bar}{0}%
+ \or% litecolor
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% barcolor
+ \cs@set@lock{tud@head@bar}{2}%
+ \or% bicolor
+ \cs@set@lock{tud@head@bar}{3}%
+ \or% color
\def\tud@pagecolor{HKS41}%
- \def\tud@head@bar{-1}%
- \def\tud@head@logocolor{white}%
- \def\tud@foot@logocolor{white}%
- \bool@std@lock{@tud@head@widebar}{true}%
- \or%
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% full
\def\tud@pagecolor{HKS41}%
- \def\tud@head@bar{2}%
+ \cs@set@lock{tud@head@bar}{3}%
\fi%
- \addtokomafont{pagenumber}{\sffamily\color{\tud@part@fontcolor}}%
+ \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
+ \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\clearpage%
}%
-}
-\let\tud@@part\@part
-\ifcsdef{scr@v@3.17}{%
- \patchcmd{\tud@@part}{%
- \ifnumbered{part}{%
- \size@partnumber{\partformat}%
- \setlength{\@tempskipa}{\scr@part@innerskip}%
- \partheadmidvskip%
+ \tud@layout@specialpage@unset%
+}
+\@tempswafalse
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+\if@tempswa
+ \newcommand*\tud@@startpart{}%
+ \let\tud@@startpart\scr@@startpart%
+ \patchcmd{\tud@@startpart}{%
+ \ifnumbered{#1}{%
+ \usekomafont{#1prefix}{\@nameuse{#1format}}%
+ \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
+ \partheadmidvskip
}{}%
}{%
- \ifnumbered{part}{%
- \size@partnumber{\tud@makeuppercase{\partformat}}%
+ \ifnumbered{#1}{%
+ \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}%
\if@tud@parttitle%
\enskip%
\else%
@@ -3026,63 +3844,77 @@
\fi%
}{%
\if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
+ \usekomafont{#1prefix}{\vphantom{\partname}}%
\tud@headmidvskip%
\fi%
}%
- }{}{\tud@patch@wrn{@part}}%
-}{%
+ }{}{\tud@patch@wrn{scr@startpart}}%
+ \newcommand*\tud@@startspart{}%
+ \let\tud@@startspart\scr@@startspart%
+ \patchcmd{\tud@@startspart}{%
+ \normalfont
+ \sectfont\nobreak
+ }{%
+ \normalfont\sectfont\nobreak%
+ \if@tud@parttitle\else%
+ \size@partnumber{\vphantom{\partname}}%
+ \tud@headmidvskip\nobreak%
+ \fi%
+ }{}{\tud@patch@wrn{scr@@startspart}}%
+\else
+ \newcommand*\tud@@part{}%
+ \let\tud@@part\@part
\patchcmd{\tud@@part}{%
\ifnumbered{part}{%
\size@partnumber{\partformat}%
+ \setlength{\@tempskipa}{\scr@part@innerskip}%
\partheadmidvskip%
}{}%
}{%
\ifnumbered{part}{%
\size@partnumber{\tud@makeuppercase{\partformat}}%
- \partheadmidvskip%
+ \if@tud@parttitle%
+ \enskip%
+ \else%
+ \tud@headmidvskip%
+ \fi%
}{%
\if@tud@parttitle\else%
\size@partnumber{\vphantom{\partname}}%
- \partheadmidvskip%
+ \tud@headmidvskip%
\fi%
}%
}{}{\tud@patch@wrn{@part}}%
-}
-\let\tud@@spart\@spart
-\patchcmd{\tud@@spart}{%
- \normalfont
- \sectfont\nobreak\size@part
-}{%
- \normalfont\sectfont\nobreak%
- \if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
- \fi%
- \partheadmidvskip\unskip%
- \size@part%
-}{}{\tud@patch@wrn{@spart}}
+ \newcommand*\tud@@spart{}%
+ \let\tud@@spart\@spart
+ \patchcmd{\tud@@spart}{%
+ \normalfont
+ \sectfont\nobreak\size@part
+ }{%
+ \normalfont\sectfont\nobreak%
+ \if@tud@parttitle\else%
+ \size@partnumber{\vphantom{\partname}}%
+ \tud@headmidvskip\nobreak%
+ \fi%
+ \size@part%
+ }{}{\tud@patch@wrn{@spart}}
+\fi
\newcommand*\tud@partpreamble{%
- \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi%
+ \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap
\KOMAoptions{titlepage=false}%
- \addtokomafont{disposition}{\color{\tud@part@fontcolor}}%
- \addtokomafont{dictumtext}{\color{\tud@part@fontcolor}}%
- \color{\tud@part@fontcolor}%
+ \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}%
+ \addtokomafont{dictumtext}{\tud@color{\tud@part@fontcolor}}%
+ \tud@color{\tud@part@fontcolor}%
\vskip\dimexpr\topskip+.9\baselineskip\relax%
\@afterindentfalse\@afterheading%
}
\newcommand*\tud@chapterheadstartvskip{%
- \def\tud@chapter@fontcolor{black}%
- \ifcase\tud@layout@chapter\relax\or\else%
+ \def\tud@chapter@fontcolor{}%
+ \ifcase\tud@layout@chapter\relax\or\else% *color
\def\tud@chapter@fontcolor{HKS41}%
\fi%
- \ifcsdef{scr@v@3.15}{%
- \vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax%
- }%
- }{%
- \vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax%
- }%
+ \vspace*{%
+ \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax%
}%
\if@tud@chapterpage%
\vspace*{\pageheadingsvskip}%
@@ -3090,71 +3922,64 @@
\vspace*{\headingsvskip}%
\fi%
}%
-\newcommand*\tud@@@makechapterhead{}
-\let\tud@@@makechapterhead\@@makechapterhead
-\ifcsdef{scr@v@3.15}{%
- \ifcsdef{scr@v@3.17}{%
- \patchcmd{\tud@@@makechapterhead}{%
- \chapterformat
- \setlength{\@tempskipa}{\scr@chapter@innerskip}%
- \chapterheadmidvskip
- }{%
- \tud@headmidvskip@neg%
- \tud@makeuppercase{\chapterformat}%
- \tud@headmidvskip%
- }{}{\tud@patch@wrn{@@makechapterhead}}%
+\@tempswafalse
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+\if@tempswa
+ \newcommand*\tud@@@makechapterhead{}
+ \let\tud@@@makechapterhead\scr@@makechapterhead
+ \patchcmd{\tud@@@makechapterhead}{%
+ \csname #1format\endcsname
+ \setlength{\@tempskipa}{%
+ \csname scr@#1@innerskip\endcsname
+ }%
+ \chapterheadmidvskip
}{%
- \patchcmd{\tud@@@makechapterhead}{\chapterformat\chapterheadmidvskip}{%
- \tud@headmidvskip@neg%
- \tud@makeuppercase{\chapterformat}\tud@headmidvskip
- }{}{\tud@patch@wrn{@@makechapterhead}}%
- }%
+ \tud@headmidvskip@neg%
+ \tud@makeuppercase{\csname #1format\endcsname}%
+ \tud@headmidvskip%
+ }{}{\tud@patch@wrn{scr@@makechapterhead}}%
\patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{%
\IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}%
- }{}{\tud@patch@wrn{@@makechapterhead}}%
-}{%
- \patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{%
- \chapterheadstartvskip%
- \ifnumbered{chapter}{%
- \if@chapterprefix%
- \begingroup%
- \usekomafont{chapterprefix}%
- \tud@headmidvskip@neg%
- \endgroup%
- \fi%
- }{}%
- }{}{\tud@patch@wrn{@@makechapterhead}}
- \patchcmd{\tud@@@makechapterhead}{\chapterformat}{%
+ }{}{\tud@patch@wrn{scr@@makechapterhead}}%
+\else
+ \newcommand*\tud@@@makechapterhead{}
+ \let\tud@@@makechapterhead\@@makechapterhead
+ \patchcmd{\tud@@@makechapterhead}{%
+ \chapterformat
+ \setlength{\@tempskipa}{\scr@chapter@innerskip}%
+ \chapterheadmidvskip
+ }{%
+ \tud@headmidvskip@neg%
\tud@makeuppercase{\chapterformat}%
- }{}{\tud@patch@wrn{@@makechapterhead}}
- \patchcmd{\tud@@@makechapterhead}{\endgraf\nobreak\vskip.5\baselineskip}{%
- \tud@headmidvskip
- }{}{\tud@patch@wrn{@@makechapterhead}}
- \patchcmd{\tud@@@makechapterhead}{\interlinepenalty}{%
- \ifnumbered{chapter}{\setlength\parskip{\z@}}{}\interlinepenalty
- }{}{\tud@patch@wrn{@@makechapterhead}}
-}
+ \tud@headmidvskip%
+ }{}{\tud@patch@wrn{@@makechapterhead}}%
+ \patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{%
+ \IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}%
+ }{}{\tud@patch@wrn{@@makechapterhead}}%
+\fi
\newcommand*\tud@chapterpreamble{%
- \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi%
+ \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap
\KOMAoptions{titlepage=false}%
\if@tud@chapterpage%
- \ifcase\tud@cdfont\relax\or%
+ \ifcase\tud@cdfont\relax\or% true
\TUDoptions{cdfont=true}%
- \or%
+ \or% heavy
\TUDoptions{cdfont=heavy}%
\fi%
- \addtokomafont{disposition}{\color{\tud@chapter@fontcolor}}%
- \addtokomafont{dictumtext}{\color{\tud@chapter@fontcolor}}%
- \color{\tud@chapter@fontcolor}%
+ \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}%
+ \addtokomafont{dictumtext}{\tud@color{\tud@chapter@fontcolor}}%
+ \tud@color{\tud@chapter@fontcolor}%
\fi%
\@afterindentfalse\@afterheading%
}
\patchcmd{\set@@@@preamble}{%
\hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
}{%
- \def\@tempa####1@####2{\@nameuse{tud@####1preamble}}%
+ \def\@tempa####1@####2{%
+ \@nameuse{tud@####1preamble}%
+ \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}%
+ }%
\hbox to\hsize{%
- \let\@parboxrestore\relax%
\let\phantomsection\relax%
#4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par%
}%
@@ -3163,61 +3988,72 @@
\if@tud@chapterpage%
\@restonecolfalse%
\if@twocolumn\@restonecoltrue\onecolumn\fi%
+ \tud@layout@specialpage@set{chapter}%
\fi%
}
+\newcommand*\tud@head@bar@store{}%
+\let\tud@head@bar@store\relax%
+\newcommand*\tud@head@bar@restore{}%
+\let\tud@head@bar@restore\relax%
\newcommand*\tud@chapter@app{%
\if@tud@chapterpage%
\tud@cleardoublespecialpage{%
\def\tud@pagecolor{}%
- \ifcase\tud@layout@chapter\relax\or%
- \def\tud@head@bar{0}%
- \or%
- \def\tud@head@bar{1}%
- \or%
- \def\tud@head@bar{2}%
- \or%
+ \let\tud@foot@fontcolor\tud@chapter@fontcolor%
+ \ifcase\tud@layout@chapter\relax\or% true
+ \cs@std@lock{tud@head@bar}{0}%
+ \or% litecolor
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% barcolor
+ \cs@set@lock{tud@head@bar}{2}%
+ \or% bicolor
+ \cs@set@lock{tud@head@bar}{3}%
+ \or% color
\def\tud@pagecolor{HKS41!10}%
- \def\tud@head@bar{-1}%
- \def\tud@head@logocolor{HKS41}%
- \def\tud@foot@logocolor{HKS41}%
- \bool@std@lock{@tud@head@widebar}{true}%
- \or%
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% fullcolor
\def\tud@pagecolor{HKS41!10}%
- \def\tud@head@bar{2}%
+ \cs@set@lock{tud@head@bar}{3}%
\fi%
- \addtokomafont{pagenumber}{\sffamily\color{\tud@chapter@fontcolor}}%
+ \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
+ \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\clearpage%
}%
+ \tud@layout@specialpage@unset%
\if@restonecol\twocolumn\fi%
\else%
- \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
+ \edef\tud@head@bar@store{\tud@head@bar}%
+ \edef\tud@head@bar@restore{%
+ \gdef\noexpand\tud@head@bar{\tud@head@bar@store}%
+ \global\let\noexpand\tud@head@bar@store\relax%
+ \global\let\noexpand\tud@head@bar@restore\relax%
+ }%
+ \ifcase\tud@layout@chapter\relax\or% true
+ \cs@std@lock{tud@head@bar}{0}%
+ \or% litecolor
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% barcolor
+ \cs@set@lock{tud@head@bar}{2}%
+ \or% bicolor
+ \cs@set@lock{tud@head@bar}{3}%
+ \or% color
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% fullcolor
+ \cs@set@lock{tud@head@bar}{3}%
+ \fi%
+ \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
\fi%
\if@twocolumn%
\@afterindentfalse\@afterheading%
\fi%
}
\newcommand*\tud@clearcolor@wrn{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
Option `clearcolor' is only available together with\MessageBreak%
options `twoside' and `open=right'%
}%
\global\let\tud@clearcolor@wrn\relax%
}
-\ifcsdef{scr@v@3.14}{}{%
- \providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}}
- \providecommand\scr@section@dblarg[1]{%
- \kernel@ifnextchar[%]
- {#1}%
- {\scr@section@xdblarg{#1}}%
- }
- \providecommand\scr@section@xdblarg[2]{%
- \begingroup
- \edef\reserved@a{%
- \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}%
- {\scr@osectarg}}%
- \reserved@a
- }
-}
\newcommand*\tud@part{}
\newcommand*\tud@spart{}
\newcommand*\tud@addpart{}
@@ -3228,6 +4064,8 @@
\newcommand*\tud@saddchap{}
\newcommand*\tud@section{}
\newcommand*\tud@ssection{}
+\newcommand*\tud@addsec{}
+\newcommand*\tud@saddsec{}
\newcommand*\tud@subsection{}
\newcommand*\tud@ssubsection{}
\newcommand*\tud@subsubsection{}
@@ -3301,155 +4139,185 @@
\tud@makeuppercase{#1}%
\endgroup%
}
-\newcommand*\tud@font@koma@set[2]{%
- \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}%
- \@namedef{tud@font@koma@#1}{#2\nobreak}%
-}
-\newcommand*\tud@font@koma@reset[1]{%
- \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}%
-}
-\newcommand*\tud@font@koma@unset[1]{%
- \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}%
-}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@check[2]{%
- \ifnumless{\@nameuse{tud@#1@level}}{3}{%
- \@tempswatrue%
- \ifboolexpr{bool {@tud@#1@fil} and bool {@tud@#1@multi}}{%
- \setbox0\vbox{%
- \ifcase\@nameuse{tud@#1@level}\relax\or\or%
- \vspace*{-\parskip}%
- {\usekomafont{section}\vspace*{-\baselineskip}}%
- \fi%
- #2%
- }%
- \ifdim\textheight<\dimexpr\ht0+\dp0\relax%
- \ClassWarning{\tudcls@name}{%
+ \global\let\tud@fm@set\tud@fm@first%
+ \ifnumless{\@nameuse{tud@#1@level}}{3}{% false/true/section
+ \ifboolexpr{%
+ bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
+ }{%
+ \sbox\z@{\vbox{#2}}%
+ \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
+ \ClassWarning{\TUDClassName}{%
The given content within the `#1'\MessageBreak%
environment is too large, so it wasn't possible\MessageBreak%
to center the body vertically. Setting the option\MessageBreak%
`#1=nofill' would be a solution. You\MessageBreak%
could also use multiple `#1' environments%
}%
- \@tempswafalse%
+ \boolfalse{@tud@#1@fil}%
\fi%
}{}%
- }{}%
- #2%
-}
-\newcommand*\tud@fm@set[3]{%
- \ifnumless{\@nameuse{tud@#1@level}}{3}{}{%
+ }{% chapter
\boolfalse{@tud@#1@multi}%
\boolfalse{@tud@#1@fil}%
}%
- \if@twocolumn%
- \tud@fm@body{#1}{#2}{#3}%
- \else%
+ \ifnum\@nameuse{tud@#1@toc}>\tw@\relax%
+ \tud@fm@toc{#1}{#2}%
+ \fi%
+ \global\let\tud@fm@set\tud@fm@first%
+ #2%
+}
+\newcommand*\tud@fm@@toc{}
+\newcommand*\tud@fm@@@toc{}
+\newcommand*\tud@fm@toc[2]{%
+ \ifbool{@tud@#1@multi}{%
+ \begingroup%
+ \let\tud@fm@@@toc\@empty%
+ \renewcommand*\tud@fm@head[2]{%
+ \protected@edef\@tempa{##2}%
+ \protected@xdef\tud@fm@@toc{\tud@fm@@@toc\@tempa}%
+ \protected@xdef\tud@fm@@@toc{\tud@fm@@toc/}%
+ }%
+ \let\clearpage\relax%
+ \sbox\z@{\vbox{#2}}%
+ \protected@edef\@tempa{%
+ \noexpand\endgroup%
+ \noexpand\ifnumodd{\csname tud@#1@toc\endcsname}{%
+ \noexpand\addchaptertocentry{}{\tud@fm@@toc}%
+ }{%
+ \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
+ }%
+ }%
+ \@tempa%
+ }{%
+ \ClassWarning{\TUDClassName}{%
+ It isn't possible to use `#1=single'\MessageBreak%
+ or `#1=chapter'
+ with `#1=tocmultiple'%
+ }%
+ \edef\@tempa{%
+ \noexpand\cs@set@lock{tud@#1@toc}{%
+ \the\numexpr\@nameuse{tud@#1@toc}-2\relax%
+ }%
+ }%
+ \@tempa%
+ }%
+}
+\newcommand\tud@fm@set[1]{}
+\newcommand\tud@fm@first[1]{%
+ \global\let\tud@fm@set\tud@fm@next%
+ \if@twocolumn\else%
\if@titlepage%
- \ifbool{@tud@#1@multi}{}{\clearpage}%
\ifbool{@tud@#1@fil}{%
- \ifcase\@nameuse{tud@#1@level}\relax\or\or%
- \vspace*{-\parskip}%
- {\usekomafont{section}\vspace*{-2\baselineskip}}%
+ \null\vfil%
+ \ifnum\@nameuse{tud@#1@level}=\tw@\relax% section
+ \vspace{\dimexpr-\parskip-\baselineskip\relax}%
+ {\usekomafont{section}{\vspace{-\baselineskip}}}%
\fi%
- \if@tempswa\vspace*{\z@ \@plus 1fil}\fi%
}{}%
- \tud@fm@body{#1}{#2}{#3}%
- \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 2fil}}{}%
- \else%
- \ifnum\@nameuse{tud@#1@level}<2\begin{\tud@quoting}\fi%
- \tud@fm@body{#1}{#2}{#3}%
- \ifnum\@nameuse{tud@#1@level}<2\end{\tud@quoting}\fi%
\fi%
\fi%
}
-\newcommand*\tud@fm@body[3]{%
- \ifnum\tud@multicols>1\relax%
- \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]%
+\newcommand\tud@fm@next[1]{%
+ \if@twocolumn%
+ \ifbool{@tud@#1@multi}{\par}{\newpage}%
\else%
- \ifbool{@tud@#1@multi}{%
- \ifcase\@nameuse{tud@#1@level}\relax\or%
- \vspace{\dimexpr\bigskipamount-\parskip\relax}%
+ \if@titlepage%
+ \ifbool{@tud@#1@multi}{%
+ \ifbool{@tud@#1@fil}{\vfil}{}%
+ }{%
+ \ifbool{@tud@#1@fil}{\null\clearpage\null\vfil}{\clearpage}%
+ }%
+ \else%
+ \ifnum\@nameuse{tud@#1@level}=\z@%
+ \ifdef{\main@language}{\vspace*{-\baselineskip}}{}%
\fi%
- }{}%
- \tud@fm@head{#1}{#2}%
- \fi%
- #3\par%
- \ifnum\tud@multicols>1\relax%
- \end{multicols}%
+ \fi%
\fi%
}
+\newcommand*\tud@fm@body@start[3]{%
+ \begingroup%
+ \TUD@parameter@set{#1}{#2}%
+ \tud@fm@set{#1}%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\@nameuse{tud@#1@level}<\tw@\begin{\tud@quoting}\fi% false/true
+ \fi\fi%
+ \ifnum\tud@multicols>\@ne\relax%
+ \setlength\multicolsep{\z@}%
+ \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#3}}]%
+ \else%
+ \tud@fm@head{#1}{#3}%
+ \fi%
+}
+\newcommand*\tud@fm@body@end[1]{%
+ \ifnum\tud@multicols>\@ne\relax%
+ \end{multicols}%
+ \else%
+ \par%
+ \fi%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\@nameuse{tud@#1@level}<\tw@\end{\tud@quoting}\par\fi% false/true
+ \fi\fi%
+ \endgroup%
+}
\newcommand*\tud@fm@head[2]{%
- \ifcase\@nameuse{tud@#1@level}\relax%
+ \ifcase\@nameuse{tud@#1@level}\relax% false
\if@titlepage\endgraf\fi%
\csname phantomsection\endcsname%
- \or%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \if@twocolumn%
+ \vskip\dimexpr\smallskipamount-\parskip\relax%
+ \else%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ }%
+ \or% true
\if@titlepage\endgraf\fi%
\csname phantomsection\endcsname%
\@afterindentfalse%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ }%
\begingroup%
- \centering%
+ \noindent\centering%
\normalfont\sectfont\nobreak#2%
\@endparpenalty\@M%
\endgraf%
\endgroup%
\nopagebreak%
- \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \vskip\dimexpr\medskipamount-\parskip\relax%
\@afterheading%
- \or%
+ \or% section
\section*{#2}%
\ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
- \or%
+ \or% chapter
\chapter*{#2}%
\@mkdouble{\MakeMarkcase{#2}}%
\fi%
\ifbool{@tud@#1@markboth}{%
\markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
}{}%
- \ifbool{@tud@#1@toc}{%
- \ifbool{@tud@#1@toc@leveldown}{%
- \addsectiontocentry{}{#2}%
- }{%
- \addchaptertocentry{}{#2}%
- }%
- }{}%
-}
-\newcommand*\tud@fm@next[2]{%
- \TUD@parameter@set{#1}{#2}%
- \if@twocolumn%
- \ifbool{@tud@#1@multi}{\par}{\newpage}%
- \else%
- \if@titlepage%
- \ifbool{@tud@#1@fil}{%
- \vspace*{\z@ \@plus 1fil}%
- \ifbool{@tud@#1@multi}{}{%
- \vspace*{\z@ \@plus 1fil}%
- \clearpage%
- \ifcase\@nameuse{tud@#1@level}\relax\or\or%
- \vspace*{-\parskip}%
- {\usekomafont{section}\vspace*{-2\baselineskip}}%
- \fi%
- \vspace*{\z@ \@plus 1fil}%
- }%
- }{\ifbool{@tud@#1@multi}{}{\clearpage}}%
- \else%
- \ifnum\@nameuse{tud@#1@level}<2%
- \end{\tud@quoting}%
- \begin{\tud@quoting}%
- \fi%
+ \ifnum\@nameuse{tud@#1@toc}>\z@\relax%
+ \ifnum\@nameuse{tud@#1@toc}<\thr@@\relax%
+ \ifnumodd{\csname tud@#1@toc\endcsname}{%
+ \addchaptertocentry{}{#2}%
+ }{%
+ \addsectiontocentry{}{#2}%
+ }%
\fi%
\fi%
}
\newcommand*\tud@fm@pagestyle[2]{%
\if@titlepage%
\ifcsdef{ps@#2}{\def\tud@ps{#2}}{%
- \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{%
+ \ClassError{\TUDClassName}{`#2' is no valid pagestyle}{%
You tried to use `#2' as a pagestyle for the\MessageBreak%
- `#1' environment, but it was never defined%
+ `#1' environment, but it was never defined.%
}%
}%
\else%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
The key `pagestyle' can only be used either with\MessageBreak%
activated option `titlepage' or with chapter\MessageBreak%
headings (`#1=chapter')%
@@ -3459,7 +4327,7 @@
\newcommand*\tud@quoting{quotation}
\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
\NewEnviron{abstract}[1][]{%
- \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}%
+ \ifnum\@nameuse{tud@abstract@level}>\tw@\relax\@titlepagetrue\fi% chapter
\let\tud@ps\relax%
\TUD@parameter@set{abstract}{#1}%
\tud@multicols@check%
@@ -3469,16 +4337,25 @@
\clearpage%
\tud@ps@select%
\fi%
- \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}%
+ \renewcommand*\nextabstract[1][]{%
+ \tud@fm@body@end{abstract}%
+ \tud@fm@body@start{abstract}{##1}{\abstractname}%
+ }%
+ \tud@fm@check{abstract}{%
+ \tud@fm@body@start{abstract}{#1}{\abstractname}%
+ \BODY%
+ \tud@fm@body@end{abstract}%
+ }%
}[%
\if@titlepage%
+ \if@tud@abstract@fil\vfil\null\fi%
\aftergroup\tud@currentpagestyle@reset%
\clearpage%
\fi%
]
\TUD@parameter{abstract}{%
\TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\def\tud@multicols{#1}}%
+ \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
\TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
\TUD@parameter@define{markboth}[true]{%
\ifstrbool{#1}{%
@@ -3497,26 +4374,15 @@
\TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}%
}
\newcommand*\nextabstract[1][]{%
- \ifnum\tud@multicols>1\relax%
- \end{multicols}%
- \else%
- \ifbool{@tud@abstract@multi}{%
- \ifcase\@nameuse{tud@abstract@level}\relax\or%
- \vspace{\dimexpr\bigskipamount-\parskip\relax}%
- \fi%
- }{}%
- \fi%
- \tud@fm@next{abstract}{#1}%
- \ifnum\tud@multicols>1\relax%
- \begin{multicols}{\tud@multicols}[{\tud@fm@head{abstract}{\abstractname}}]%
- \else%
- \tud@fm@head{abstract}{\abstractname}%
- \fi%
+ \ClassError{\TUDClassName}{Incorrect usage of `\string\nextabstract'}{%
+ The command `\string\nextabstract' can only be used within\MessageBreak%
+ the environment `abstract'.%
+ }%
}
\newif\if@tud@declarations
\NewEnviron{declarations}[1][]{%
\@tud@declarationstrue%
- \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}%
+ \ifnum\@nameuse{tud@declaration@level}>\tw@\relax\@titlepagetrue\fi% chapter
\let\tud@ps\relax%
\TUD@parameter@set{declaration}{#1}%
\tud@multicols@check%
@@ -3526,24 +4392,17 @@
\clearpage%
\tud@ps@select%
\fi%
- \tud@fm@check{declaration}{%
- \ifnum\tud@multicols>1\relax%
- \begin{multicols}{\tud@multicols}%
- \fi%
- \BODY%
- \ifnum\tud@multicols>1\relax%
- \end{multicols}%
- \fi%
- }%
+ \tud@fm@check{declaration}{\BODY}%
}[%
\if@titlepage%
+ \if@tud@declaration@fil\vfil\null\fi%
\aftergroup\tud@currentpagestyle@reset%
\clearpage%
\fi%
]
\TUD@parameter{declaration}{%
\TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\def\tud@multicols{#1}}%
+ \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
\TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
\TUD@parameter@define{markboth}[true]{%
\ifstrbool{#1}{%
@@ -3567,14 +4426,10 @@
\TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}%
}
\newcommand*\declaration[1][]{%
- \ifnum\tud@multicols>1\relax%
- \end{multicols}%
- \fi%
\ifbool{@tud@declarations}{%
\begingroup%
- \TUD@parameter@set{declaration}{#1}%
- \tud@fm@confirmation%
- \tud@fm@blocking%
+ \tud@fm@confirmation[#1]%
+ \tud@fm@blocking[#1]%
\endgroup%
}{%
\begin{declarations}[#1]%
@@ -3582,21 +4437,26 @@
\tud@fm@blocking%
\end{declarations}%
}%
- \ifnum\tud@multicols>1\relax%
- \begin{multicols}{\tud@multicols}%
- \fi%
+}
+\newcommand*\nextdeclaration[3][]{%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@body@start{declaration}{#1}{#2}
+ #3%
+ \tud@fm@body@end{declaration}%
+ }{%
+ \ClassError{\TUDClassName}{Incorrect usage of `\string\nextdeclaration'}{%
+ The command `\string\nextdeclaration' can only be used\MessageBreak%
+ within the environment `declarations'.%
+ }%
+ }%
}
\newcommand*\confirmation[1][]{%
- \ifnum\tud@multicols>1\relax%
- \end{multicols}%
- \fi%
\TUD@parameter@sethandler[declaration]{%
\TUD@parameter@set{declaration}{supporter=##1}%
}%
\ifbool{@tud@declarations}{%
\begingroup%
- \TUD@parameter@set{declaration}{#1}%
- \tud@fm@confirmation%
+ \tud@fm@confirmation[#1]%
\endgroup%
}{%
\begin{declarations}[#1]%
@@ -3606,28 +4466,19 @@
\TUD@parameter@sethandler[declaration]{%
\TUD@parameter@defaulthandler{declaration}{##1}%
}%
- \ifnum\tud@multicols>1\relax%
- \begin{multicols}{\tud@multicols}%
- \fi%
}
-\newcommand*\tud@fm@confirmation{%
- \tud@fm@check{declaration}{%
- \tud@fm@set{declaration}{\confirmationname}{%
- \confirmationtext\vskip\z@\@confirmationclosing%
- }%
- }%
+\newcommand*\tud@fm@confirmation[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\confirmationname}%
+ \confirmationtext\vskip\z@\@confirmationclosing%
+ \tud@fm@body@end{declaration}%
}
\newcommand*\blocking[1][]{%
- \ifnum\tud@multicols>1\relax%
- \end{multicols}%
- \fi%
\TUD@parameter@sethandler[declaration]{%
\TUD@parameter@set{declaration}{company=##1}%
}%
\ifbool{@tud@declarations}{%
\begingroup%
- \TUD@parameter@set{declaration}{#1}%
- \tud@fm@blocking%
+ \tud@fm@blocking[#1]%
\endgroup%
}{%
\begin{declarations}[#1]%
@@ -3637,14 +4488,11 @@
\TUD@parameter@sethandler[declaration]{%
\TUD@parameter@defaulthandler{declaration}{##1}%
}%
- \ifnum\tud@multicols>1\relax%
- \begin{multicols}{\tud@multicols}%
- \fi%
}
-\newcommand*\tud@fm@blocking{%
- \tud@fm@check{declaration}{%
- \tud@fm@set{declaration}{\blockingname}{\blockingtext}%
- }%
+\newcommand*\tud@fm@blocking[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\blockingname}%
+ \blockingtext%
+ \tud@fm@body@end{declaration}%
}
%%% From File: tudscr-title.dtx
\newkomafont{thesis}{\usekomafont{title}\LARGE}
@@ -3654,21 +4502,21 @@
\selectfont%
\large%
}
-\newcommand*\tud@title@fontcolor{black}
+\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@titlepagenumber{}%
\let\tud@titlepagenumber\relax%
\newcommand*\tud@maketitle[1][]{%
\begingroup%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title\relax%
+ \ifcase\tud@layout@title\relax% false
\ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
\tud@cmd@use{maketitle}[\tud@titlepagenumber]%
- \else%
+ \else% !false
\if@titlepage%
\tud@maketitlepage%
\else%
- \def\tud@title@fontcolor{black}%
- \ifcase\tud@layout@title\relax\or\else%
+ \def\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title\relax\or\else% *color
\def\tud@title@fontcolor{HKS41}%
\fi%
\let\@maketitle\tud@@maketitle%
@@ -3693,17 +4541,20 @@
\robustify{\footnotemark}%
\newcommand*\tud@titleback{}%
\newcommand*\tud@maketitlepage{%
- \def\tud@title@fontcolor{black}%
- \ifcase\tud@layout@title\relax\or\or%
+ \def\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title\relax\or\or% litecolor
\def\tud@title@fontcolor{HKS41}%
- \or%
+ \or% barcolor
\def\tud@title@fontcolor{HKS41}%
- \or%
+ \or% bicolor
+ \def\tud@title@fontcolor{HKS41}%
+ \or% color
\def\tud@title@fontcolor{HKS41!30}%
- \or%
+ \or% full
\def\tud@title@fontcolor{HKS41!30}%
\fi%
\begin{titlepage}%
+ \tud@layout@specialpage@set{title}%
\ifx\tud@titlepagenumber\relax\else%
\setcounter{page}{\tud@titlepagenumber}%
\fi%
@@ -3717,7 +4568,7 @@
\tud@footnote@unhyper%
\ifx\@extratitle\@empty%
\if@titlepageiscoverpage%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
Using option `titlepage=firstiscover' is only\MessageBreak%
possible with an extra title. Alternatively you can\MessageBreak%
create a cover with `\string\makecover'%
@@ -3775,21 +4626,21 @@
\usekomafont{titlepage}%
\setlength\@tempdima{\z@}%
\ifx\@titlehead\@empty\else%
- \setbox0\vbox{%
+ \sbox\z@{\vbox{%
\begin{minipage}[t]{\textwidth}%
{\usekomafont{titlehead}{\@titlehead\par\null}}%
\end{minipage}\newline\null%
- }%
- \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}%
+ }}%
+ \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
\tud@letsubjectthesis%
\ifx\@subject\@empty\else%
- \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}%
- \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}%
+ \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
+ \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
\fi%
\vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox0\par\fi%
- \ifx\@subject\@empty\else\usebox1\par\fi%
+ \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
+ \ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
@@ -3797,14 +4648,14 @@
\vskip 2ex\@plus1ex\@minus1ex%
\fi%
\vskip 2\bigskipamount%
- \tud@check@author%
+ \let\tud@split@author\tud@split@author@title%
\tud@multiple@split{@author}\par%
\vskip 2ex\@plus1ex\@minus1ex%
\ifx\@thesis\@empty%
\if@tud@cover\else%
\ifx\@date\@empty\else%
\vskip 2ex\@plus.1fill%
- {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}%
+ {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
\fi%
\fi%
\vskip 2ex\@plus.25fill%
@@ -3818,7 +4669,7 @@
\ifx\@graduation\@empty\else%
\def\@tempc{%
\@graduation%
- \ifx\@graduationabbr\@empty\else\space\@graduationabbr\fi%
+ \ifx\@graduationabbr\@empty\else\nobreakspace\@graduationabbr\fi%
}%
{\usekomafont{titlepage}{\graduationtext\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
@@ -3838,26 +4689,11 @@
\tud@title@names{advisor}%
\tud@title@names{professor}%
\ifx\@thesis\@empty\else%
- \ifdefstring{\@date}{\today}{%
- \ifdefvoid{\@duedate}{%
- \ClassWarning{\tudcls@name}{%
- `\string\date' was not given.\MessageBreak%
- Since a thesis is a self-contained work, an end\MessageBreak%
- date should be specified by the author.\MessageBreak%
- Nevertheless, today's date is used%
- }%
- }{%
- \ClassWarning{\tudcls@name}{%
- `\string\date' was not given.\MessageBreak%
- It's substituted by the given due date%
- }%
- \let\@date\@duedate%
- }%
- }{}%
+ \tud@datecheck%
\ifx\@date\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
\ifstr{\datetext}{}{}{\datetext\@titledelim}%
- {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}%
+ {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
\ifx\@defensedate\@empty\else%
\ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}%
{\usekomafont{date}{\@defensedate\par}}%
@@ -3893,27 +4729,26 @@
\fi%
\def\@tempa{%
\def\tud@pagecolor{}%
- \ifcase\tud@layout@title\relax\or%
- \def\tud@head@bar{0}%
- \or%
- \def\tud@head@bar{1}%
- \or%
- \def\tud@head@bar{2}%
- \or%
+ \ifcase\tud@layout@title\relax\or% true
+ \cs@std@lock{tud@head@bar}{0}%
+ \or% litecolor
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% barcolor
+ \cs@set@lock{tud@head@bar}{2}%
+ \or% bicolor
+ \cs@set@lock{tud@head@bar}{3}%
+ \or% color
\def\tud@pagecolor{HKS41}%
- \def\tud@head@bar{-1}%
- \def\tud@head@logocolor{white}%
- \def\tud@foot@logocolor{white}%
- \bool@std@lock{@tud@head@widebar}{true}%
- \or%
+ \cs@set@lock{tud@head@bar}{1}%
+ \or% full
\def\tud@pagecolor{HKS41}%
- \def\tud@head@bar{2}%
+ \cs@set@lock{tud@head@bar}{3}%
\fi%
- \color{\tud@title@fontcolor}%
- \addtokomafont{pagenumber}{\sffamily\color{\tud@title@fontcolor}}%
- \addtokomafont{footnote}{\sffamily\color{\tud@title@fontcolor}}%
+ \tud@color{\tud@title@fontcolor}%
+ \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
+ \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\thispagestyle{empty.tudheadings}%
- \iftudscrverlower{2.03}{\tud@ddc@enlargepage}{}%
+ \tud@ifverlower{2.03}{\tud@ddc@enlargepage}{}%
}%
\if@tud@cover%
\begingroup%
@@ -3947,7 +4782,7 @@
\begingroup%
\def\thanks##1{\gdef\@tempa{##1}}%
\let\footnote\thanks%
- \setbox0\vbox{#1}%
+ \sbox\z@{#1}%
\let\thanks\@gobble%
\let\footnote\@gobble%
\tud@makeuppercase{#1}%
@@ -3984,22 +4819,22 @@
\tud@footnote@unhyper%
\setlength\@tempdima{\z@}%
\ifx\@titlehead\@empty\else%
- \setbox0\vbox{%
+ \sbox\z@{\vbox{%
\begin{minipage}[t]{\textwidth}%
{\usekomafont{titlehead}{\@titlehead\par\null}}%
\end{minipage}\newline\null%
- }%
- \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}%
+ }}%
+ \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
\TUDoptions{subjectthesis=true}%
\tud@letsubjectthesis%
\ifx\@subject\@empty\else%
- \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}%
- \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}%
+ \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
+ \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
\fi%
\vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox0\par\fi%
- \ifx\@subject\@empty\else\usebox1\par\fi%
+ \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
+ \ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
@@ -4007,10 +4842,10 @@
\vskip 2ex\@plus1ex\@minus1ex%
\fi%
\vskip 2\bigskipamount%
- \tud@check@author%
+ \let\tud@split@author\tud@split@author@title%
\tud@multiple@split{@author}\par%
\vskip 2ex\@plus1ex\@minus1ex%
- {\usekomafont{date}{\@date\space\ignorespaces\@datemore\par}}%
+ {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
\ifx\@publishers\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
{\usekomafont{publishers}{\@publishers\par}}%
@@ -4024,53 +4859,12 @@
\ifx\@referee\@empty\else\tud@title@wrn{referee}\fi%
\ifx\@professor\@empty\else\tud@title@wrn{professor}\fi%
\vskip 2\bigskipamount%
- \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
-}
-\newcommand*\tud@multiple@field{}
-\newcommand*\tud@multiple@split[1]{%
- \gdef\tud@multiple@field{#1}%
- \begingroup%
- \let\and\relax%
- \edef\@tempa{\csname#1\endcsname\and}%
- \expandafter\endgroup%
- \expandafter\tud@multiple@@split\@tempa\relax%
-}
-\newcommand*\tud@multiple@@split{}%
-\def\tud@multiple@@split#1\and#2\relax{%
- \expandafter\csname tud@split\tud@multiple@field\endcsname{#1}{#2}%
-}
-\newcommand*\tud@multiple@@@split[2]{%
- \ifx\relax#1\relax%
- \def\@tempb{}%
- \else%
- \def\@tempb{#2\tud@multiple@@split#1\relax}%
- \fi%
- \@tempb%
-}
-\newcommand*\tud@multiple@setfields[2]{%
- \letcs\@tempa{tud@split\tud@multiple@field @list}%
- \let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \begingroup%
- \protected@expandtwoargs\in@{\@tempb}{\@nameuse{\tud@multiple@field}}%
- \ifin@ \@tempb{#1}\fi%
- \endgroup%
- \fi%
- }%
- \begingroup%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \setbox0\vtop{#2}%
+ \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
\endgroup%
}
\newcommand*\tud@newline{}
-\newcommand*\tud@check@author{%
- \ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}%
-}
-\newcommand*\tud@split@author[2]{%
- \tud@multiple@setfields{}{#1}%
+\newcommand*\tud@split@author@title[2]{%
+ \tud@multiple@fields@store{@author}{#1}%
\def\tud@newline{\vskip .5ex\let\tud@newline\newline}%
{\usekomafont{author}{\ignorespaces#1}}%
\if@tud@cover\else%
@@ -4084,7 +4878,7 @@
\ifstr{\dateofbirthtext}{}%
{}{\dateofbirthtext\@titledelim}\@dateofbirth%
\ifx\@placeofbirth\@empty\else%
- \space\placeofbirthtext\unskip\space\@placeofbirth%
+ \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
\fi%
\else%
\tud@title@wrn{dateofbirth}%
@@ -4111,13 +4905,9 @@
\fi%
\fi%
\fi%
+ \tud@multiple@fields@restore{@author}%
\tud@multiple@@@split{#2}{\vskip 2ex}%
}
-\newcommand*\tud@split@author@list{%
- \authormore,\matriculationyear,\enrolmentyear,%
- \matriculationnumber,\studentid,\matriculationid,%
- \placeofbirth,\birthplace,\dateofbirth,\birthday,%
-}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
\if@titlepage%
@@ -4127,7 +4917,7 @@
\tud@title@twocolumn{\maketitle[#1]{#2}}%
\fi%
\else%
- \ClassError{\tudcls@name}{%
+ \ClassError{\TUDClassName}{%
`\string\maketitleonecolumn' can only be used in twocolumn mode%
}{}%
\fi%
@@ -4143,9 +4933,9 @@
}%
\endgroup%
\setlength\@tempdima{\textheight}%
- \iftudscrverlower{2.03}{%
+ \tud@ifverlower{2.03}{%
\tud@ddc@check%
- \ifcase\@tempb\relax\else%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
\setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}%
\@tempswatrue%
\fi%
@@ -4157,18 +4947,18 @@
\vsplit\tud@title@twocolumn@box to \@tempdima%
\clearpage%
\setlength\@tempdima{\textheight}%
- \iftudscrverlower{2.03}{\@tempswafalse}{}%
+ \tud@ifverlower{2.03}{\@tempswafalse}{}%
}%
\else%
\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}%
\fi%
\twocolumn[\unvbox\tud@title@twocolumn@box]%
- \iftudscrverlower{2.03}{%
+ \tud@ifverlower{2.03}{%
\if@tempswa%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
You are using a two-column title along with\MessageBreak%
the DDC-logo. Unfortunately in this case, the\MessageBreak%
- type area hast to be adjusted manually. Please\MessageBreak%
+ type area has to be adjusted manually. Please\MessageBreak%
use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak%
in both columns after the title%
}%
@@ -4178,7 +4968,7 @@
\newcommand*\tud@letsubjectthesis{%
\if@tud@subjectthesis\ifx\@thesis\@empty\else%
\ifx\@subject\@empty\else%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
The option `subjectthesis' was activated.\MessageBreak%
The field `subject' will be overwritten with the\MessageBreak%
given thesis%
@@ -4188,7 +4978,7 @@
\fi\fi%
}
\newcommand*\tud@title@wrn[1]{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
`\@backslashchar#1' has to be used with\MessageBreak%
activated titlepage option%
}%
@@ -4196,7 +4986,7 @@
\newif\if@tud@cover
\newcommand*\makecover[1][]{%
\if@titlepageiscoverpage%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
Using both option `titlepage=firstiscover' and\MessageBreak%
`\string\makecover' together isn't supported. The\MessageBreak%
option `titlepage=firstiscover' will be ignored. If you\MessageBreak%
@@ -4218,12 +5008,12 @@
\let\coverpagebottommargin\tud@dim@widemargin%
\let\coverpageleftmargin\tud@dim@widemargin%
\let\coverpagerightmargin\tud@dim@slimmargin%
- \iftudscrverlower{2.03}{%
+ \tud@ifverlower{2.03}{%
\def\coverpagetopmargin{.5\tud@dim@both}%
\def\coverpagebottommargin{.5\tud@dim@both}%
}{}%
\fi%
- \ifcase\tud@layout@cover\relax%
+ \ifcase\tud@layout@cover\relax% false
\KOMAoptions{titlepage=firstiscover}%
\let\@extratitle\@empty%
\let\@uppertitleback\@empty%
@@ -4231,7 +5021,7 @@
\let\@dedication\@empty%
\ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
\tud@cmd@use{maketitle}[\tud@titlepagenumber]%
- \else%
+ \else% !false
\@tud@covertrue%
\@titlepagetrue%
\edef\titlepage@restore{%
@@ -4249,7 +5039,7 @@
\headheight=0pt%
\headsep=0pt%
\footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax%
- \iftudscrverlower{2.03}{%
+ \tud@ifverlower{2.03}{%
\footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight%
-1.25\baselineskip\relax%
}{}%
@@ -4264,7 +5054,7 @@
\def\@tempa{2\dimexpr\coverpagetopmargin\relax}%
\ifx\@tempa\coverpagebottommargin\relax%
\let\coverpagebottommargin\tud@dim@widemargin%
- \iftudscrverlower{2.03}{%
+ \tud@ifverlower{2.03}{%
\def\coverpagebottommargin{.5\tud@dim@both}%
}{}%
\fi%
@@ -4309,8 +5099,41 @@
}%
}%
}
+%%% From File: tudscr-comp.dtx
+\newcommand*\tud@deprecated@cmd[2]{%
+ \AtBeginDocument{%
+ \ifcsdef{#1}{}{%
+ \expandafter\newrobustcmd\csname #1\endcsname{%
+ \ClassWarning{\TUDClassName}{%
+ The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ It's recommended to use `\@backslashchar#2' instead%
+ }%
+ \csletcs{#1}{#2}%
+ \@nameuse{#2}%
+ }%
+ }%
+ }%
+}
+\newlength\chapterheadingvskip
+\let\chapterheadingvskip\headingsvskip
+\tud@deprecated@cmd{professorship}{chair}
+\tud@deprecated@cmd{studentid}{matriculationnumber}
+\tud@deprecated@cmd{matriculationid}{matriculationnumber}
+\tud@deprecated@cmd{enrolmentyear}{matriculationyear}%
+\tud@deprecated@cmd{birthplace}{placeofbirth}
+\tud@deprecated@cmd{location}{place}
+\tud@deprecated@cmd{submissiondate}{date}
+\tud@deprecated@cmd{oralexaminationdate}{defensedate}%
+\tud@deprecated@cmd{birthday}{dateofbirth}
+\tud@deprecated@cmd{logofile}{headlogo}
+\tud@deprecated@cmd{logofilename}{headlogo}
+\AfterPackage{tudscrsupervisor}{%
+ \tud@deprecated@cmd{startdate}{issuedate}%
+ \tud@deprecated@cmd{finaldate}{duedate}%
+ \tud@deprecated@cmd{maturitydate}{duedate}%
+}
%%% From File: tudscr-misc.dtx
-\newcounter{symbolheadings}[chapter]
+\newcounter{symbolheadings}[chapter]%
\newcommand*\tudbookmark[1][]{\@gobbletwo}
\newcommand*\tud@footnote@unhyper{}
\AfterPackage{hyperref}{%
@@ -4341,78 +5164,14 @@
\fi%
\tudbookmark[0]{\contentsname}{toc}%
}{}{\tud@patch@wrn{tableofcontents}}
-\newcommand*\TUD@parameter@defaulthandler[2]{%
- \def\@tempa{#2}%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}%
- \ifxnumber{\@tempb}{%
- \TUD@parameter@set{#1}{columns=\@tempb}%
- }{%
- \TUD@parameter@set{#1}{language=\@tempb}%
- }%
- \fi%
- }%
-}
-\newcommand*\tud@multicols{1}
-\newcommand*\tud@multicols@check{%
- \ifdef{\multicols}{}{%
- \ifnum\tud@multicols>1\relax%
- \ClassWarning{\tudcls@name}{%
- The option `columns=\tud@multicols' is only supported,\MessageBreak%
- when package `multicol' is loaded%
- }%
- \def\tud@multicols{1}%
- \fi%
- }%
-}
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
-}
-\newcommand*\tud@lowerstring[2]{%
- \protected@edef#1{#2}%
- \lowercase\expandafter{%
- \expandafter\gdef\expandafter #1\expandafter{#1}%
- }%
-}
-\providecommand*\protected@expandtwoargs[3]{%
- \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a%
-}
-%%% From File: tudscr-comp.dtx
-\newcommand*\tud@deprecated@cmd[2]{%
- \AtBeginDocument{%
- \ifcsdef{#1}{}{%
- \expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\tudcls@name}{%
- The command `\@backslashchar#1' is deprecated.\MessageBreak%
- It's recommended to use `\@backslashchar#2' instead%
- }%
- \csletcs{#1}{#2}%
- \@nameuse{#2}%
- }%
- }%
+\BeforePackage{tocloft}{%
+ \ClassWarning{\TUDClassName}{%
+ It is not recommended to use package `tocloft'.\MessageBreak%
+ Loading the package will certainly lead to problems\MessageBreak%
+ with table of contents and any list of floats. You\MessageBreak%
+ should use the appropriate options of KOMA-Script%
}%
}
-\newlength\chapterheadingvskip
-\let\chapterheadingvskip\headingsvskip
-\tud@deprecated@cmd{professorship}{chair}
-\tud@deprecated@cmd{student}{author}
-\tud@deprecated@cmd{studentid}{matriculationnumber}
-\tud@deprecated@cmd{matriculationid}{matriculationnumber}
-\tud@deprecated@cmd{enrolmentyear}{matriculationyear}%
-\tud@deprecated@cmd{birthplace}{placeofbirth}
-\tud@deprecated@cmd{location}{place}
-\tud@deprecated@cmd{submissiondate}{date}
-\tud@deprecated@cmd{oralexaminationdate}{defensedate}%
-\tud@deprecated@cmd{birthday}{dateofbirth}
-\tud@deprecated@cmd{logofile}{headlogo}
-\tud@deprecated@cmd{logofilename}{headlogo}
-\AfterPackage*{tudscrsupervisor}{%
- \tud@deprecated@cmd{startdate}{issuedate}%
- \tud@deprecated@cmd{finaldate}{duedate}%
- \tud@deprecated@cmd{maturitydate}{duedate}%
-}
\endinput
%%
%% End of file `tudscrbook.cls'.