summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
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
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')
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/mathswap.sty36
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls4017
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty122
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls4389
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty10
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty64
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls48
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty981
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrman.cls260
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrman.sty122
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls4393
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty177
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/twocolfix.sty8
13 files changed, 8671 insertions, 5956 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
index 0ea5c29909a..292fd15c671 100644
--- a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
@@ -34,9 +34,9 @@
%% ============================================================================
%%
%%% From File: tudscr-mathswap.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mathswap}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+ 2015/07/02 v2.04 TUD-KOMA-Script
package
(swap mathematical separators)%
]
@@ -55,6 +55,8 @@
\mathcode\expandafter`.="8000%
\mathswapon%
}
+\newcommand*\ms@commaswap{}
+\newcommand*\ms@dotswap{}
\newcommand*\mathswapon{%
\def\ms@commaswap{\@commaswap}%
\def\ms@dotswap{\@dotswap}%
@@ -63,18 +65,7 @@
\def\ms@commaswap{\ms@commachar}%
\def\ms@dotswap{\ms@dotchar}%
}
-\newcommand*\ms@commaswap{}
-\newcommand*\ms@dotswap{}
-\newcommand*\ms@token{}
-\begingroup%
- \catcode`,=\active%
- \gdef,{\futurelet\ms@token\ms@smartcomma}%
- \catcode`.=\active%
- \gdef.{\futurelet\ms@token\ms@smartdot}%
-\endgroup%
-\def\ms@smartcomma{\ms@ifnum{\ms@commaswap}{\ms@commachar}}
-\def\ms@smartdot{\ms@ifnum{\ms@dotswap}{\ms@dotchar}}
-\def\ms@ifnum#1#2{%
+\newcommand*\ms@ifnum[2]{%
\ifx\ms@token0\ms@@ifnum{#1}\else%
\ifx\ms@token1\ms@@ifnum{#1}\else%
\ifx\ms@token2\ms@@ifnum{#1}\else%
@@ -88,13 +79,22 @@
#2%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi%
}
-\def\ms@@ifnum#1{%
+\newcommand*\ms@@ifnum[1]{%
\begingroup%
- \mathcode\expandafter`,=\the\ms@comma%
- \mathcode\expandafter`.=\the\ms@dot%
- #1%
+ \mathcode\expandafter`,=\the\ms@comma%
+ \mathcode\expandafter`.=\the\ms@dot%
+ #1%
\endgroup%
}
+\newcommand*\ms@token{}
+\begingroup%
+ \catcode`,=\active%
+ \gdef,{\futurelet\ms@token\ms@smartcomma}%
+ \catcode`.=\active%
+ \gdef.{\futurelet\ms@token\ms@smartdot}%
+\endgroup%
+\newcommand*\ms@smartcomma{\ms@ifnum{\ms@commaswap}{\ms@commachar}}
+\newcommand*\ms@smartdot{\ms@ifnum{\ms@dotswap}{\ms@dotchar}}
\endinput
%%
%% End of file `mathswap.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
index f1811041cfa..fb8ca334a57 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
@@ -11,19 +11,19 @@
%% tudscr-layout.dtx (with options: `class,article,option')
%% tudscr-frontmatter.dtx (with options: `class,article,option')
%% tudscr-title.dtx (with options: `class,article,option')
-%% tudscr-misc.dtx (with options: `class,article,option')
%% tudscr-comp.dtx (with options: `class,article,option')
-%% tudscr-base.dtx (with options: `execute')
+%% tudscr-misc.dtx (with options: `class,article,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,article,body')
%% tudscr-pagestyle.dtx (with options: `class,article,body')
%% tudscr-layout.dtx (with options: `class,article,body')
%% tudscr-frontmatter.dtx (with options: `class,article,body')
%% tudscr-title.dtx (with options: `class,article,body')
-%% tudscr-misc.dtx (with options: `class,article,body')
%% tudscr-comp.dtx (with options: `class,article,body')
+%% tudscr-misc.dtx (with options: `class,article,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{article}
-\newcommand*\scrcls@name{scrartcl}
-\newcommand*\tudcls@name{tudscrartcl}
-\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{tudscrartcl}{scrartcl}{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%
@@ -540,46 +520,51 @@
{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}%
- \or%
+ \or% true
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{1}%
\cs@std@lock{tud@layout@part}{1}%
- \or%
+ \or% litecolor
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{2}%
\cs@std@lock{tud@layout@part}{2}%
- \or%
+ \or% barcolor
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{3}%
\cs@std@lock{tud@layout@part}{3}%
- \or%
+ \or% bicolor
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{4}%
\cs@std@lock{tud@layout@part}{4}%
- \or%
+ \or% color
\cs@std@lock{tud@layout@cover}{1}%
\cs@std@lock{tud@layout@title}{5}%
\cs@std@lock{tud@layout@part}{5}%
+ \or% full
+ \cs@std@lock{tud@layout@cover}{1}%
+ \cs@std@lock{tud@layout@title}{6}%
+ \cs@std@lock{tud@layout@part}{6}%
\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%
@@ -588,18 +573,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%
@@ -607,18 +594,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%
@@ -626,22 +615,34 @@
\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%
}
+\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}
@@ -650,7 +651,7 @@
\let\tud@font@heading@size\size@part%
\if@atdocument%
\tud@layout@process%
- \ifcase\tud@layout@part\relax\else%
+ \ifcase\tud@layout@part\relax\else% !false
\tud@font@koma@reset{part}%
\tud@font@koma@reset{partnumber}%
\tud@font@koma@reset{section}%
@@ -665,102 +666,138 @@
\newcommand*\tud@fm@switch{%
{section}{2},{sect}{2},{sec}{2},{addsec}{2},%
{new}{2},{standard}{2},{heading}{2},%
- {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{0}
-\bool@lock{@tud@abstract@toc}
-\newif\if@tud@abstract@toc@leveldown
-\newif\if@tud@abstract@markboth
+\cs@lock{tud@abstract@toc}{0}
\newif\if@tud@abstract@multi
+\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
\@tud@abstract@filtrue
+\newif\if@tud@abstract@markboth
\TUD@key{abstract}[true]{%
\edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}%
\TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\def\tud@abstract@level{0}%
- \bool@std@lock{@tud@abstract@toc}{false}%
- \or%
+ \cs@std@lock{tud@abstract@toc}{0}%
+ \or% true
\def\tud@abstract@level{1}%
- \bool@std@lock{@tud@abstract@toc}{false}%
- \or%
+ \cs@std@lock{tud@abstract@toc}{0}%
+ \or% section
\def\tud@abstract@level{2}%
- \bool@std@lock{@tud@abstract@toc}{true}%
- \or%
- \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% chapter
+ \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{1}
-\bool@lock{@tud@declaration@toc}
-\newif\if@tud@declaration@toc@leveldown
-\newif\if@tud@declaration@markboth
+\cs@lock{tud@declaration@toc}{0}
\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}[true]{%
\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%
- \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% chapter
+ \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%
}
@@ -769,115 +806,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,%
@@ -887,35 +906,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%
}
@@ -923,27 +939,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%
}
@@ -952,198 +967,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%
+ \csletcs{up#1}{#1}%
+ \fi%
+ }%
+ \ifcsdef{var#1}{}{%
+ \if@tempswa%
+ \csletcs{var#1}{#1}%
\else%
- \let\dinbn\sectfont%
- \fi%
- \newcommand*\textdbn{}%
- \DeclareTextFontCommand{\textdbn}{\dinbn}%
- \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%
+ \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%
+ \ifcase\tud@cdfont\relax% false
\tud@cmd@restore{rmdefault}%
\tud@cmd@restore{sfdefault}%
\tud@cmd@restore{ttdefault}%
@@ -1153,9 +1415,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}%
@@ -1165,10 +1435,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,%
@@ -1179,7 +1457,7 @@
ItalicFont = LMMonoLt10-Oblique,%
BoldItalicFont = LMMonoSlant10-Regular,%
]%
- \else%
+ \else% heavy
\setsansfont{Univers}[%
BoldFont = Univers Bold,%
ItalicFont = Univers Oblique,%
@@ -1195,12 +1473,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%
@@ -1209,10 +1503,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%
@@ -1220,79 +1554,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%
@@ -1300,10 +1622,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%
@@ -1322,19 +1644,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}
@@ -1344,19 +1656,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{}
@@ -1375,38 +1687,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}%
}{%
@@ -1427,7 +1738,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{}
@@ -1447,15 +1758,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%
}
@@ -1465,7 +1786,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}%
@@ -1473,28 +1794,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.
}%
}%
}
@@ -1545,7 +1937,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@referee}%
+ \sbox\z@{\@referee}%
}%
\endgroup%
\if@tempswa%
@@ -1562,7 +1954,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@professor}%
+ \sbox\z@{\@professor}%
}%
\endgroup%
\if@tempswa%
@@ -1607,10 +1999,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
@@ -1642,7 +2034,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@referee}%
+ \sbox\z@{\@referee}%
}%
\endgroup%
\if@tempswa%
@@ -1659,7 +2051,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@professor}%
+ \sbox\z@{\@professor}%
}%
\endgroup%
\if@tempswa%
@@ -1704,9 +2096,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
@@ -1751,7 +2143,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%
@@ -1797,267 +2189,304 @@
\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,%
+ ]{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}%
@@ -2065,108 +2494,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%
@@ -2185,11 +2594,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%
@@ -2199,7 +2608,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%
@@ -2217,20 +2626,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%
}%
@@ -2238,98 +2647,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@@mainlogo{}
-\newcommand*\tud@mainlogo{%
- \setlength\@tempdima{%
+\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@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%
+ \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}}%
+ }%
+ }%
+ \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%
- \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,%
- }%
- \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}%
- \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'%
- }%
- \global\let\tud@headlogo@wrn\relax%
}
+\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%
+ }%
+}
+\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{}%
@@ -2342,283 +2922,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}%
- }%
-}
-\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}%
- \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')%
- }%
+ \@ifpackageloaded{geometry}{}{%
+ \def\tud@geometry@process{\tud@geometry@set}%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble%
+ }%
+}
+\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%
- \else%
- \ifcase\tud@geometry\or%
- \def\tud@geometry@hmargin{%
- left=\tud@dim@widemargin,%
- textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
+ }%
+ \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%
+ }%
+ \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%
+ marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
}%
- \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,%
- }%
- \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}%
+ \tud@newgeometry{\@tempa}%
+ \savegeometry{tudarea}%
+ \edef\@tempa{%
+ \tud@geometry@hmargin,%
+ \tud@geometry@vmargin%
+ }%
+ \tud@newgeometry{\@tempa}%
+ \savegeometry{typearea}%
+ }%
+ \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%
+ }%
+}
+\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%
}{}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin,%
- }%
- \expandafter\newgeometry\expandafter{\@tempa}%
- \savegeometry{tudarea}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- }%
- \expandafter\newgeometry\expandafter{\@tempa}%
- \savegeometry{typearea}%
-}
-\newcommand*\tud@geometry@hincl{%
- \if@hincl%
- includehead,%
- \else%
- ignorehead,%
- \fi%
}
-\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{%
@@ -2651,11 +3415,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%
}[%
@@ -2680,9 +3444,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}}{%
@@ -2696,22 +3460,16 @@
\TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}%
}
%%% From File: tudscr-layout.dtx
-\newcommand*\tud@part@fontcolor{black}
-\newkomafont{parttitle}{%
- \tud@font@heading%
- \color{\tud@part@fontcolor}%
- \usesizeofkomafont{section}%
-}
+\newcommand*\tud@part@fontcolor{}
\newlength\pageheadingsvskip
\newlength\headingsvskip
-\newcommand*\tud@headmidvskip{\par\nobreak}
\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}%
@@ -2722,7 +3480,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}%
@@ -2731,18 +3489,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}}%
@@ -2750,34 +3508,43 @@
\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{@part}%
+ \ifcsdef{scr@v@3.18}{%
+ \tud@cmd@restore{scr@@startpart}%
+ }{%
+ \tud@cmd@restore{@part}%
+ }%
\tud@sectioning@reset[addpart]{part}%
\tud@font@koma@unset{partnumber}%
- \else%
+ \else% !false
\tud@cmd@store{partheadstartvskip}%
- \tud@cmd@store{partheadmidvskip}%
- \tud@cmd@store{@part}%
- \tud@sectioning@set[addpart]{part}{%
- \tud@font@heading%
- \color{\tud@part@fontcolor}%
- }%
- \tud@font@koma@set{partnumber}{%
- \tud@font@heading%
- \color{\tud@part@fontcolor}%
+ \ifcsdef{scr@v@3.18}{%
+ \tud@cmd@store{scr@@startpart}%
+ }{%
+ \tud@cmd@store{@part}%
}%
- \let\partheadmidvskip\tud@headmidvskip%
+ \tud@sectioning@set[addpart]{part}{%
+ \tud@font@heading%
+ \tud@color{\tud@part@fontcolor}%
+ }%
+ \tud@font@koma@set{partnumber}{%
+ \tud@font@heading%
+ \tud@color{\tud@part@fontcolor}%
+ }%
\let\partheadstartvskip\tud@partheadstartvskip%
- \let\@part\tud@@part%
+ \ifcsdef{scr@v@3.18}{%
+ \let\scr@@startpart\tud@@startpart%
+ }{%
+ \let\@part\tud@@part%
+ }%
\fi%
- \ifcase\tud@layout@part\relax%
+ \ifcase\tud@layout@part\relax% false
\tud@sectioning@reset[addsec]{section}%
\tud@sectioning@reset{subsection}%
\tud@sectioning@reset{subsubsection}%
\tud@sectioning@reset{minisec}%
- \else%
+ \else% !false
\tud@sectioning@set[addsec]{section}{\tud@font@heading}%
\tud@sectioning@set{subsection}{\tud@font@heading}%
\tud@sectioning@set{subsubsection}{\tud@font@heading}%
@@ -2787,37 +3554,36 @@
\newcommand*\tud@partheadstartvskip{}
\let\tud@partheadstartvskip\partheadstartvskip%
\pretocmd{\tud@partheadstartvskip}{%
- \def\tud@part@fontcolor{black}%
- \ifcase\tud@layout@part\relax\or\else%
+ \def\tud@part@fontcolor{}% false/true
+ \ifcase\tud@layout@part\relax\or\else% *color
\def\tud@part@fontcolor{HKS41}%
\fi%
}{}{\tud@patch@wrn{tud@partheadstartvskip}}
-\let\tud@@part\@part
-\patchcmd{\tud@@part}%
- {\size@partnumber{\partformat}}%
- {\size@partnumber{\tud@makeuppercase{\partformat}}}%
- {}{\tud@patch@wrn{@part}}%
-\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
- }
-}
+\@tempswafalse
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+\if@tempswa
+ \newcommand*\tud@@startpart{}%
+ \let\tud@@startpart\scr@@startpart%
+ \patchcmd{\tud@@startpart}%
+ {\usekomafont{#1prefix}{\@nameuse{#1format}}}%
+ {\usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}}%
+ {}{\tud@patch@wrn{scr@@startpart}}%
+\else
+ \newcommand*\tud@@part{}%
+ \let\tud@@part\@part
+ \patchcmd{\tud@@part}%
+ {\size@partnumber{\partformat}}%
+ {\size@partnumber{\tud@makeuppercase{\partformat}}}%
+ {}{\tud@patch@wrn{@part}}%
+\fi
\newcommand*\tud@part{}
\newcommand*\tud@spart{}
\newcommand*\tud@addpart{}
\newcommand*\tud@saddpart{}
\newcommand*\tud@section{}
\newcommand*\tud@ssection{}
+\newcommand*\tud@addsec{}
+\newcommand*\tud@saddsec{}
\newcommand*\tud@subsection{}
\newcommand*\tud@ssubsection{}
\newcommand*\tud@subsubsection{}
@@ -2877,148 +3643,179 @@
\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%
}{}%
- }{}%
+ }{% chapter
+ }%
+ \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@set[3]{%
- \if@twocolumn%
- \tud@fm@body{#1}{#2}{#3}%
- \else%
+\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\addsectiontocentry{}{\tud@fm@@toc}%
+ }{%
+ \noexpand\addsubsectiontocentry{}{\tud@fm@@toc}%
+ }%
+ }%
+ \@tempa%
+ }{%
+ \ClassWarning{\TUDClassName}{%
+ It isn't possible to use `#1=single'\MessageBreak%
+ 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%
\fi%
\ifbool{@tud@#1@markboth}{%
\markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
}{}%
- \ifbool{@tud@#1@toc}{%
- \ifbool{@tud@#1@toc@leveldown}{%
- \addsubsectiontocentry{}{#2}%
- }{%
- \addsectiontocentry{}{#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}{%
+ \addsectiontocentry{}{#2}%
+ }{%
+ \addsubsectiontocentry{}{#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 with\MessageBreak%
activated option `titlepage'%
}%
@@ -3029,7 +3826,7 @@
\csundef{abstract}
\csundef{endabstract}
\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%
@@ -3039,16 +3836,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}{%
@@ -3067,26 +3873,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%
@@ -3096,24 +3891,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}{%
@@ -3137,14 +3925,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]%
@@ -3152,21 +3936,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]%
@@ -3176,28 +3965,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]%
@@ -3207,14 +3987,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}
@@ -3224,21 +4001,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%
@@ -3263,17 +4040,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% barcolor
\def\tud@title@fontcolor{HKS41}%
- \or%
+ \or% bicolor
\def\tud@title@fontcolor{HKS41}%
- \or%
+ \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%
@@ -3287,7 +4067,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'%
@@ -3345,21 +4125,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%
@@ -3367,14 +4147,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%
@@ -3388,7 +4168,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%
@@ -3408,26 +4188,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}}%
@@ -3463,27 +4228,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%
@@ -3497,7 +4261,6 @@
\let\thispagestyle\@gobble%
\next@tpage%
\endgroup%
- \tud@restorepagecolor%
\endgroup%
\tud@titleback%
\ifx\@dedication\@empty\else%
@@ -3519,7 +4282,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}%
@@ -3556,22 +4319,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%
@@ -3579,10 +4342,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}}%
@@ -3596,53 +4359,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%
@@ -3656,7 +4378,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}%
@@ -3683,13 +4405,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%
@@ -3699,7 +4417,7 @@
\tud@title@twocolumn{\maketitle[#1]{#2}}%
\fi%
\else%
- \ClassError{\tudcls@name}{%
+ \ClassError{\TUDClassName}{%
`\string\maketitleonecolumn' can only be used in twocolumn mode%
}{}%
\fi%
@@ -3715,9 +4433,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%
@@ -3729,18 +4447,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%
}%
@@ -3750,7 +4468,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%
@@ -3760,7 +4478,7 @@
\fi\fi%
}
\newcommand*\tud@title@wrn[1]{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
`\@backslashchar#1' has to be used with\MessageBreak%
activated titlepage option%
}%
@@ -3768,7 +4486,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%
@@ -3790,12 +4508,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%
@@ -3803,7 +4521,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{%
@@ -3821,7 +4539,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%
}{}%
@@ -3836,7 +4554,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%
@@ -3881,8 +4599,39 @@
}%
}%
}
+%%% 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}%
+ }%
+ }%
+ }%
+}
+\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}
+\newcounter{symbolheadings}%
\newcommand*\tudbookmark[1][]{\@gobbletwo}
\newcommand*\tud@footnote@unhyper{}
\AfterPackage{hyperref}{%
@@ -3913,76 +4662,14 @@
\fi%
\tudbookmark[1]{\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%
+\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%
}%
}
-\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}%
- }%
- }%
- }%
-}
-\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 `tudscrartcl.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
index 7f759137ad7..53be98263f4 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
@@ -52,7 +52,7 @@
\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}
\@ifundefined{TUDScript}{%
@@ -63,9 +63,9 @@
}%
}{}
%%% From File: tudscr-base.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrbase}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+ 2015/07/02 v2.04 TUD-KOMA-Script
package
(basics for the bundle)%
]
@@ -95,6 +95,43 @@
}%
}%
}
+\providecommand*\protected@expandtwoargs[3]{%
+ \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a%
+}
+\newcommand*\tud@divide[3]{%
+ \begingroup%
+ \@defaultunits\@tempdima #2pt\relax\@nnil%
+ \@defaultunits\@tempdimb #3pt\relax\@nnil%
+ \ifdim\@tempdima>\@tempdimb\relax%
+ \@whiledim\@tempdimb>1pt\relax\do{%
+ \setlength\@tempdima{.1\@tempdima}%
+ \setlength\@tempdimb{.1\@tempdimb}%
+ }%
+ \setlength\@tempdimc{\@tempdima}%
+ \else%
+ \@whiledim\@tempdima>1pt\relax\do{%
+ \setlength\@tempdima{.1\@tempdima}%
+ \setlength\@tempdimb{.1\@tempdimb}%
+ }%
+ \setlength\@tempdimc{\@tempdimb}%
+ \fi%
+ \@tempcnta=1\relax%
+ \@whiledim\dimexpr\@tempcnta\@tempdimc\relax<.01\maxdimen\do{%
+ \multiply\@tempcnta by 10\relax%
+ }%
+ \setlength{\@tempdimc}{%
+ \dimexpr(\@tempcnta\@tempdima / \@tempdimb * \p@)\relax%
+ }%
+ \setlength{\@tempdimc}{\dimexpr \@tempdimc/\@tempcnta\relax}%
+ \edef\@tempa{\endgroup\def\noexpand#1{\strip@pt\@tempdimc}}%
+ \@tempa%
+}
+\newcommand*\tud@lowerstring[2]{%
+ \protected@edef#1{#2}%
+ \lowercase\expandafter{%
+ \expandafter\def\expandafter #1\expandafter{#1}%
+ }%
+}
\DefineFamily{TUD}
\newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}}
\newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}}
@@ -107,9 +144,11 @@
\kernel@ifnextchar[%]
{\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}%
}
+\newcommand*\TUD@@key{}
\def\TUD@@key[#1]#2[#3]#4{%
\DefineFamilyKey[#1]{TUD}{#2}[{#3}]{\TUD@noworlater{#4}}%
}
+\newcommand*\TUD@@@key{}
\def\TUD@@@key[#1]#2#3{%
\DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}%
}
@@ -152,7 +191,7 @@
\TUD@set@numkey{#1}%
}
\newcommand*\cs@lock[2]{%
- \csdef{#1}{#2}%
+ \expandafter\newcommand\expandafter*\csname#1\endcsname{#2}%
\newbool{#1@locked}%
}
\newcommand*\cs@std@lock[2]{%
@@ -181,29 +220,29 @@
\booltrue{#1@locked}%
}
\newcommand*\tud@cmd@store[1]{%
- \ifcsdef{@@tud@#1}{}{%
- \tud@cmd@check{#1}%
- \csletcs{@@tud@#1}{#1}%
- }%
-}
-\newcommand*\tud@cmd@reset[1]{%
- \ifcsdef{@@tud@#1}{%
- \tud@cmd@check{#1}%
- \csletcs{#1}{@@tud@#1}%
- }{}%
+ \tud@cmd@check{#1}%
+ \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}%
}
\newcommand*\tud@cmd@restore[1]{%
+ \tud@cmd@check{#1}%
\ifcsdef{@@tud@#1}{%
- \tud@cmd@check{#1}%
\csletcs{#1}{@@tud@#1}%
\csundef{@@tud@#1}%
}{}%
}
+\newcommand*\tud@cmd@reset[1]{%
+ \tud@cmd@check{#1}%
+ \ifcsdef{@@tud@#1}{\csletcs{#1}{@@tud@#1}}{}%
+}
+\newcommand*\tud@cmd@update[1]{%
+ \tud@cmd@check{#1}%
+ \ifcsdef{@@tud@#1}{\csletcs{@@tud@#1}{#1}}{}%
+}
\newcommand*\tud@cmd@use[1]{%
+ \tud@cmd@check{#1}%
\ifcsdef{@@tud@#1}{%
\@nameuse{@@tud@#1}%
}{%
- \tud@cmd@check{#1}%
\@nameuse{#1}%
}%
}
@@ -214,10 +253,36 @@
}{%
The command `\@backslashchar#1' was never defined.\MessageBreak%
Please contact the TUD-KOMA-Script maintainer\MessageBreak%
- via \tudscrmail. A bugfix is urgently required
+ via \tudscrmail. A bugfix is urgently required.%
}%
}%
}
+\newcommand*\tud@skip@store[1]{%
+ \ifcsdef{@@tud@skip@#1}{}{%
+ \@tempswafalse%
+ \ifisskip{\csname #1\endcsname}{\@tempswatrue}{}%
+ \ifisdimen{\csname #1\endcsname}{\@tempswatrue}{}%
+ \if@tempswa%
+ \csedef{@@tud@skip@#1}{\expandafter\the\csname #1\endcsname}%
+ \fi%
+ }%
+}
+\newcommand*\tud@skip@restore[1]{%
+ \ifcsdef{@@tud@skip@#1}{%
+ \csname #1\endcsname=\csname @@tud@skip@#1\endcsname%
+ \csundef{@@tud@skip@#1}%
+ }{}%
+}
+\newcommand*\tud@skip@set[2]{%
+ \ifdef{#1}{%
+ \@tempswafalse%
+ \ifisskip{#1}{\@tempswatrue}{}%
+ \ifisdimen{#1}{\@tempswatrue}{}%
+ \if@tempswa%
+ \setlength#1{#2}%
+ \fi%
+ }{}%
+}
\newcommand*\tud@patch@wrn[1]{%
\PackageWarning{tudscrbase}{%
It wasn't possible to patch `\@backslashchar#1'.\MessageBreak%
@@ -236,11 +301,11 @@
\newcommand*\TUD@parameter@checkfamily[1]{%
\ifx\TUD@parameter@family\relax%
\PackageError{tudscrbase}{%
- No family for keys given.
+ No family for keys given%
}{%
You have to use \string#1\space within the\MessageBreak%
second argument of \string\TUD@parameter. The first \MessageBreak%
- argument of \string\TUD@parameter\space has to be a unique family name.
+ argument of \string\TUD@parameter\space has to be a unique family name.%
}%
\fi%
}
@@ -284,6 +349,25 @@
`#1' can only be used with values:\MessageBreak#2%
}%
}
+\newcommand*\TUD@AfterPackage@Set[1]{%
+ \newbool{@tud@#1@loaded}%
+ \AfterPackage!{#1}{\booltrue{@tud@#1@loaded}}
+}
+\newcommand*\TUD@AfterPackage[2]{%
+ \ifcsdef{if@tud@#1@loaded}{%
+ \if@atdocument%
+ \ifbool{@tud@#1@loaded}{#2}{}%
+ \else%
+ \AfterPackage!{#1}{#2}%
+ \fi%
+ }{%
+ \PackageError{tudscrbase}{\string\TUD@AfterPackage@Set{#1} missing}{%
+ You have to set \string\TUD@AfterPackage@Set{#1} before\MessageBreak%
+ the usage of \string\TUD@AfterPackage{#1}{<code>} is\MessageBreak%
+ possible.%
+ }%
+ }%
+}
\endinput
%%
%% End of file `tudscrbase.sty'.
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'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
index c2ab1173471..33cfc8ad959 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
@@ -52,7 +52,7 @@
\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}
\@ifundefined{TUDScript}{%
@@ -63,9 +63,9 @@
}%
}{}
%%% From File: tudscr-color.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrcolor}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+ 2015/07/02 v2.04 TUD-KOMA-Script
package
(corporate design colors)%
]
@@ -73,8 +73,7 @@
\DeclareOption{reduced}{\let\setcdcolors@add\relax}
\DeclareOption{oldcolors}{\let\setcdcolors@add\setcdcolors@oldcolors}
\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@oldcolors}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}}
-\providecommand*\nopagecolor{\pagecolor{white}}%
+\newcommand*\tud@color[1]{\ifdefvoid{#1}{}{\color{#1}}}
\newcommand*\setcdcolors@add{}
\newcommand*\setcdcolors[1]{%
\def\@tempa{#1}\ifx\@tempa\@empty\else%
@@ -277,6 +276,7 @@
\colorlet{HKS07-90}{HKS07!90}
\colorlet{HKS07-100}{HKS07!100}
}
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}}
\ExecuteOptions{reduced}
\ProcessOptions\relax
\RequirePackage{xcolor}[2007/01/21]
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
index a23e5c561e5..34040687d31 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
@@ -4,8 +4,10 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package,comp,tudscr')
-%% tudscr-comp.dtx (with options: `package')
+%% tudscr-version.dtx (with options: `package,comp')
+%% tudscr-comp.dtx (with options: `package,identify')
+%% tudscr-comp.dtx (with options: `package,option')
+%% tudscr-comp.dtx (with options: `package,body')
%%
%% ============================================================================
%%
@@ -52,15 +54,15 @@
\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}
-\@ifundefined{tudcls@name}{%
+\@ifundefined{TUDClassName}{%
\PackageError{%
tudscrcomp%
}{Unsupported class found}{%
This package can only be used with a class out of the\MessageBreak%
- tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)%
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl).%
}
\endinput
}{}
@@ -72,35 +74,13 @@
}%
}{}
%%% From File: tudscr-comp.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrcomp}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+ 2015/07/02 v2.04 TUD-KOMA-Script
package
(compatibility for old tud(scr) classes)%
]
-\newcommand*\einrichtung{}
-\let\einrichtung\faculty
-\newcommand*\fachrichtung{}
-\let\fachrichtung\department
-\newcommand*\institut{}
-\let\institut\institute
-\newcommand*\professur{}
-\let\professur\chair
-\newcommand*\moreauthor{}
-\let\moreauthor\authormore
-\newcommand*\submitdate{}
-\let\submitdate\date
-\newcommand*\supervisorII[1]{%
- \expandafter\gdef\expandafter\@supervisor\expandafter{\@supervisor\and #1}%
-}
-\newcommand*\supervisedby[1]{\gdef\supervisorname{#1}}
-\newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}}
-\newcommand*\submittedon[1]{\gdef\datetext{#1}}
-\newcommand*\dissertation{%
- \thesis{\dissertationname}%
- \let\supervisorname\refereename%
- \let\supervisorothername\refereeothername%
-}
+%%% From File: tudscr-comp.dtx
\TUD@key{colortitle}[true]{%
\TUD@set@ifkey{colortitle}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
@@ -131,12 +111,30 @@
\fi%
\fi%
}
+%%% From File: tudscr-comp.dtx
+\newcommand*\einrichtung{\faculty}
+\newcommand*\fachrichtung{\department}
+\newcommand*\institut{\institute}
+\newcommand*\professur{\chair}
+\newcommand*\moreauthor{\authormore}
+\newcommand*\submitdate{\date}
+\newcommand*\supervisorII[1]{%
+ \expandafter\gdef\expandafter\@supervisor\expandafter{\@supervisor\and #1}%
+}
+\newcommand*\supervisedby[1]{\gdef\supervisorname{#1}}
+\newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}}
+\newcommand*\submittedon[1]{\gdef\datetext{#1}}
+\newcommand*\dissertation{%
+ \thesis{\dissertationname}%
+ \let\supervisorname\refereename%
+ \let\supervisorothername\refereeothername%
+}
\AtBeginDocument{%
\ifdef{\theglossary}{}{%
\providecommand*{\glossaryname}{Glossar}
\newenvironment{theglossary}[1][]{%
- \ClassWarning{\tudcls@name}{%
- Using the environment theglossary is not\MessageBreak%
+ \PackageWarning{tudscrcomp}{%
+ Using the environment `theglossary' is not\MessageBreak%
recommended. You should rather use an appropriate\MessageBreak%
package such as glossaries%
}%
@@ -171,7 +169,7 @@
\global\@tud@chapterpage@tempfalse%
}
\newcommand*\tud@chapterpage@wrn{%
- \ClassWarning{\tudcls@name}{%
+ \PackageWarning{tudscrcomp}{%
The command \string\chapterpage\space is not\MessageBreak%
recommended. You should use the same style for\MessageBreak%
chapters throughout the document
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
index a05ef97aae8..319684680ee 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
@@ -6,7 +6,7 @@
%%
%% tudscr-version.dtx (with options: `class,doc')
%% tudscr-doc.dtx (with options: `class,doc')
-%% tudscr-misc.dtx (with options: `class,doc')
+%% tudscr-manual.dtx (with options: `class,doc')
%%
%% ============================================================================
%%
@@ -53,12 +53,31 @@
\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{doc}
-\newcommand*\scrcls@name{scrdoc}
-\newcommand*\tudcls@name{tudscrdoc}
+\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{tudscrdoc}{scrdoc}{%
+ internal source code documentation class%
+}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand{\TUDScript}{%
\ifdin{TUD-KOMA-SCRIPT}{%
@@ -67,12 +86,6 @@
}%
}{}
%%% From File: tudscr-doc.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\ProvidesClass{tudscrdoc}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
- class
- (source code documentation based on scrdoc)%
-]
\LoadClassWithOptions{scrdoc}
\setlength\marginparwidth{140pt}
\setlength\marginparsep{8pt}
@@ -83,8 +96,9 @@
\setlength\topmargin{-1in}
\setlength\headheight{0pt}
\setlength\headsep{30pt}
-\setlength\footskip{1.5\headsep}
+\setlength\footskip{1.25\headsep}
\setlength\textheight{\dimexpr\paperheight-2\headsep-\footskip\relax}
+\AfterPackage{tudscrfonts}{\AtBeginDocument{\setlength\columnsep{10pt}}}
\RequirePackage{dox}[2010/12/16]
\def\generalname{Allgemeines}
\title{%
@@ -138,20 +152,20 @@
\providecommand*\url[1]{\texttt{#1}}%
\providecommand*\texorpdfstring[2]{#1}%
\@ifpackageloaded{babel}{}{%
- \ClassWarning{\tudcls@name}{Package `babel' not loaded}%
+ \ClassWarning{\TUDClassName}{Package `babel' not loaded}%
\let\selectlanguage\@gobble%
\let\glqq\relax%
\let\grqq\relax%
}%
\@ifpackageloaded{csquotes}{}{%
- \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}%
+ \ClassWarning{\TUDClassName}{Package `csquotes' not loaded}%
\providecommand\enquote[1]{\glqg#1\grqq{}}%
}%
\providecommand*\ifdin[2]{#2}%
}
\AtBeginDocument{%
\@ifundefined{tud@cdfont}{\def\tud@cdfont{0}}{}%
- \ifnum\tud@cdfont>\z@\relax%
+ \ifnum\tud@cdfont>\z@\relax% true/heavy
\RequirePackage{mweights}[2013/07/21]%
\def\mddefault{m}%
\def\mdseries@tt{m}%
@@ -160,7 +174,7 @@
\RequirePackage{lmodern}[2009/10/30]%
\fi%
}%
-%%% From File: tudscr-misc.dtx
+%%% From File: tudscr-manual.dtx
\RequirePackage{xspace}[2009/10/20]
\xspaceaddexceptions{"=}
\newcommand*\vTUDScript{}
@@ -169,7 +183,7 @@
\edef\@tempa{\TUDVersion}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
}
-\newcommand*\vKOMAScript{v3.12\xspace}
+\newcommand*\vKOMAScript{v3.17\xspace}
\RequirePackage{scrhack}[2014/02/27]
\newcommand*\CD{Corporate Design\xspace}
\newcommand*\CDs{Corporate Designs\xspace}
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
index 4a4d7182b54..14982cc2df7 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
@@ -7,10 +7,12 @@
%% tudscr-version.dtx (with options: `package')
%% tudscr-fonts.dtx (with options: `package,identify')
%% tudscr-base.dtx (with options: `load')
+%% tudscr-comp.dtx (with options: `package,preset,fonts')
%% tudscr-fonts.dtx (with options: `package,option')
-%% tudscr-comp.dtx (with options: `fonts,option')
-%% tudscr-fonts.dtx (with options: `package,execute')
+%% tudscr-comp.dtx (with options: `package,option,fonts')
+%% tudscr-misc.dtx (with options: `package,execute,fonts')
%% tudscr-fonts.dtx (with options: `package,body')
+%% tudscr-comp.dtx (with options: `package,body,fonts')
%%
%% ============================================================================
%%
@@ -57,7 +59,7 @@
\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}
\@ifundefined{TUDScript}{%
@@ -68,38 +70,34 @@
}%
}{}
%%% From File: tudscr-fonts.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\ProvidesPackage{tudscrfonts}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{%
+ tudscrfonts%
+}[%
+ 2015/07/02 v2.04 TUD-KOMA-Script
package
(corporate design fonts)%
]
+\ifcsname KOMAClassName\endcsname\else%
+ \RequirePackage{scrextend}[2013/12/19]%
+\fi
+\RequirePackage{trimspaces}[2009/09/17]
+%%% From File: tudscr-base.dtx
+\RequirePackage{tudscrbase}[\TUDVersion]
+%%% From File: tudscr-comp.dtx
\newif\if@tud@oldclass
-\newif\if@tud@oldscrclass
\@ifclassloaded{tudbook}{\@tud@oldclasstrue}{}%
\@ifclassloaded{tudbeamer}{\@tud@oldclasstrue}{}%
\@ifclassloaded{tudfax}{\@tud@oldclasstrue}{}%
\@ifclassloaded{tudform}{\@tud@oldclasstrue}{}%
\@ifclassloaded{tudhaus}{\@tud@oldclasstrue}{}%
\@ifclassloaded{tudletter}{\@tud@oldclasstrue}{}%
+\@ifclassloaded{tudposter}{\@tud@oldclasstrue}{}%
+\@ifclassloaded{tudmathposter}{\@tud@oldclasstrue}{}%
+\newif\if@tud@oldscrclass
\@ifclassloaded{tudscrbookold}{\@tud@oldscrclasstrue}{}%
\@ifclassloaded{tudscrreprtold}{\@tud@oldscrclasstrue}{}%
\@ifclassloaded{tudscrartclold}{\@tud@oldscrclasstrue}{}%
-\if@tud@oldscrclass
- \let\TUDoptions\relax
- \let\TUDoption\relax
- \let\univln\relax
- \let\univrn\relax
- \let\univbn\relax
- \let\univxn\relax
- \let\univls\relax
- \let\univrs\relax
- \let\univbs\relax
- \let\univxs\relax
- \let\dinbn\relax
-\fi
-%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUDVersion]
%%% From File: tudscr-fonts.dtx
\newif\if@tud@univers
\newif\if@tud@dinbold
@@ -107,13 +105,18 @@
\newcommand*\tud@dinbold{0m6}
\newif\if@tud@fontspec
\TUD@key{fontspec}[true]{%
+ \PackageWarning{tudscrfonts}
+ {%
+ The option key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
+ }%
\TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
}
\AtEndOfPackage%
{%
- \TUD@key{fontspec}[]
+ \TUD@key{fontspec}[]%
{%
- \PackageError{tudscrfonts}
+ \PackageError{tudscrfonts}%
{Option `fontspec' too late}{%
Option `fontspec' can only be set while loading the\MessageBreak%
package `tudscrfonts'
@@ -121,66 +124,11 @@
}%
\FamilyKeyStateProcessed%
}%
- \@ifpackageloaded{fontspec}{%
- \PackageError{tudscrfonts}{Package `fontspec' too early}{%
- When using the option `fontspec' you must not load\MessageBreak%
- the package `fontspec' before `tudscrfonts'.%
- }%
- }{}
- \if@tud@fontspec%
- \PreventPackageFromLoading[%
- \PackageWarning{tudscrfonts}%
- {%
- 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{%
- \PackageInfoNoLine{tudscrfonts}{%
- `#1' fonts not found for math typesetting%
- }%
- }%
- \else%
- \edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}%
- }%
- \def\@tempb#1{%
- \PackageWarningNoLine{tudscrfonts}{%
- `#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}%
@@ -205,288 +153,575 @@
{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%
- \or%
- \or%
+ \or% din
+ \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
+ \or% nohead
+ \or% head
+ \or% heavyhead
+ \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-comp.dtx
-\newcommand*\tud@deprecated@key[2]{%
+\newcommand*\TUD@deprecated@key[2]{%
\PackageWarning{tudscrfonts}%
{%
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%
}
-%%% From File: tudscr-fonts.dtx
-\TUDoptions{cdfont=true}
-\DeclareOption*{\TUDoptions{\CurrentOption}}
+\newcommand*\tud@v@comp{\tud@v@last}
+\TUD@key{tudscrver}[last]{%
+ \ifcsvoid{tud@v@#1}{%
+ \def\tud@v@comp{0}%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ 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%
+ }{%
+ \PackageInfoNoLine{tudscrfonts}%
+ {%
+ Switching compatibility level to `#1'%
+ }%
+ \edef\tud@v@comp{\@nameuse{tud@v@#1}}%
+ \FamilyKeyStateProcessed%
+ }%
+}
+\AtEndOfPackage%
+{%
+ \TUD@key{tudscrver}[]{%
+ \PackageError{tudscrfonts}%
+ {Option `tudscrver' too late}{%
+ Option `tudscrver' can only be set while loading the\MessageBreak%
+ package `tudscrfonts'
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+}
+\@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@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-misc.dtx
+\DeclareOption*{\KOMAoptions{\CurrentOption}}
+\TUDExecuteOptions{cdfont=true}
\TUDProcessOptions\relax
%%% 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{%
+ \PackageInfoNoLine{tudscrfonts}%
+ {%
+ `##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}{}
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ `##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%
- \ifdef{\sectfont}{}{\let\sectfont\relax}%
- \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}{}{%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ 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%
+}
+\ifbool{@tud@oldscrclass}{%
+ \let\univln\relax%
+ \let\univrn\relax%
+ \let\univbn\relax%
+ \let\univxn\relax%
+ \let\univls\relax%
+ \let\univrs\relax%
+ \let\univbs\relax%
+ \let\univxs\relax%
+ \let\dinbn\relax%
+ \let\textuln\relax%
+ \let\texturn\relax%
+ \let\textubn\relax%
+ \let\textuxn\relax%
+ \let\textuls\relax%
+ \let\texturs\relax%
+ \let\textubs\relax%
+ \let\textuxs\relax%
+ \let\textdbn\relax%
+ \AtBeginDocument{%
+ \cmd@restore{rmdefault}%
+ \cmd@restore{sfdefault}%
+ \cmd@restore{bfdefault}%
+ \cmd@restore{mddefault}%
+ \cmd@restore{familydefault}%
+ \cmd@restore{seriesdefault}%
+ \cmd@restore{shapedefault}%
+ \cmd@restore{rmfamily}%
+ \cmd@restore{sffamily}%
+ \cmd@restore{ttfamily}%
+ }%
+}{}
+\AtBeginDocument%
+{%
+ \tud@font@check%
+ \if@tud@fontspec%
+ \preto\tud@font@init\tud@font@init@fontspec%
+ \else%
+ \preto\tud@font@init\tud@font@init@nfss%
+ \fi%
+ \ifdef{\sectfont}{}{\let\sectfont\relax}%
+ \tud@font@init%
+ \tud@font@set[nomath]%
+ \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}%
@@ -496,8 +731,16 @@
\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}%
- \else%
+ \else% true/heavy
\tud@cmd@store{rmdefault}%
\tud@cmd@store{sfdefault}%
\tud@cmd@store{ttdefault}%
@@ -507,9 +750,17 @@
\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}%
\if@tud@fontspec%
- \ifnum\tud@cdfont=\@ne\relax%
+ \ifnum\tud@cdfont=\@ne\relax% true
\setsansfont{Univers Light}[%
BoldFont = Univers,%
ItalicFont = Univers Light Oblique,%
@@ -527,7 +778,7 @@
BoldItalicFont = Univers Bold Oblique,%
]%
}{}%
- \else%
+ \else% heavy
\setsansfont{Univers}[%
BoldFont = Univers Bold,%
ItalicFont = Univers Oblique,%
@@ -543,15 +794,31 @@
\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}%
\ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
\renewcommand*\bfdefault{b}%
}{}%
\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%
@@ -560,8 +827,48 @@
\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%
+}
+\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%
@@ -570,48 +877,35 @@
\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@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@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@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}}
\newrobustcmd*\ifdin{%
\@tempswafalse%
\@expandtwoargs\in@{DINBold}{\f@family}%
@@ -623,8 +917,24 @@
\expandafter\@secondoftwo%
\fi%
}
-\AtBeginDocument{%
- \ifbool{@tud@oldclass}{%
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+ \protect\vphantom{\"A\"O\"U}%
+}
+\newcommand*\tud@raggedright{\raggedright}
+\newcommand*\tud@RaggedRight{\raggedright}
+\AfterPackage*{ragged2e}{%
+ \ifdef{\LaTeXraggedright}{%
+ \renewcommand*\tud@raggedright{\LaTeXraggedright}%
+ }{}%
+ \renewcommand*\tud@RaggedRight{\RaggedRight}%
+}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}
+}
+%%% From File: tudscr-comp.dtx
+\ifbool{@tud@oldclass}{%
+ \AtBeginDocument{%
\if@tud@fontspec%
\DeclareFixedFont{\univLightVII}{\encodingdefault}%
{UniversLight}{m}{n}{7}%
@@ -683,27 +993,62 @@
\SetSymbolFont{aunLetters}{bold}{OT1}{\tud@univers}{b}{sl}%
\DeclareSymbolFont{aunOperators}{OT1}{\tud@univers}{l}{n}%
\SetSymbolFont{aunOperators}{bold}{OT1}{\tud@univers}{b}{n}%
+ \DeclareSymbolFont{aunUpright}{OT1}{\tud@univers}{l}{n}%
+ \SetSymbolFont{aunUpright}{bold}{OT1}{\tud@univers}{b}{n}%
\DeclareSymbolFontAlphabet{\mathsf}{aunOperators}%
\DeclareSymbolFontAlphabet{\mathnormal}{aunLetters}%
\DeclareMathAlphabet\mathbf{OT1}{\tud@univers}{b}{n}%
\SetMathAlphabet\mathbf{bold}{OT1}{\tud@univers}{b}{n}%
\DeclareMathAlphabet\mathit{OT1}{\tud@univers}{l}{sl}%
\SetMathAlphabet\mathit{bold}{OT1}{\tud@univers}{l}{sl}%
+ \@ifpackageloaded{tudfonts}{%
+ \let\mv@normal\mv@univers%
+ \let\mv@bold\mv@universbold%
+ }{}%
\fi%
\let\dinBold\dinbn%
\let\dinfamily\dinbn%
- }{}%
- \ifbool{@tud@oldscrclass}{%
- \cmd@restore{rmdefault}%
- \cmd@restore{sfdefault}%
- \cmd@restore{bfdefault}%
- \cmd@restore{mddefault}%
- \cmd@restore{familydefault}%
- \cmd@restore{seriesdefault}%
- \cmd@restore{shapedefault}%
- \cmd@restore{rmfamily}%
- \cmd@restore{sffamily}%
- \cmd@restore{ttfamily}%
+ }%
+}{}
+\@ifclassloaded{tudbook}{%
+ \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}%
+ {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}%
+ \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}%
+ {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}%
+ \patchcmd{\section}{\dinBold\Large\bfseries}%
+ {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}%
+ \patchcmd{\showtitle}{\dinBold\Huge\bfseries}%
+ {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}%
+}{}
+\@ifclassloaded{tudmathposter}{%
+ \setkomafont{title}{\bfseries\tud@font@heading\Huge}%
+ \renewcommand*\subtitlefont{\fontseries{m}\tud@font@heading\huge}%
+ \if@mathevorgabe%
+ \renewcommand*\sectionfont{\univbn\LARGE}%
+ \renewcommand*\subsectionfont{\univbn\large}%
+ \fi%
+}{}
+\@ifpackageloaded{tudfonts}{%
+ \let\if@sansmath\if@tudfonts@sansmath%
+ \renewcommand*\tudfont[1]{\cdfont{#1}}%
+ \if@sansmath%
+ \if@tudfonts@eulermath%
+ \PackageWarningNoLine{tudscrfonts}{%
+ You're using non-serif fonts in math mode. It's\MessageBreak%
+ recommended to pass the option `noeulermath' to\MessageBreak%
+ package `tudfonts'%
+ }%
+ \fi%
+ \fi%
+}{%
+ \newif\if@tudfonts@nodin%
+ \@ifundefined{if@sansmath}{\newif\if@sansmath}{}%
+}
+\@ifclassloaded{tudposter}{%
+ \let\if@sansmath\if@tudposter@sansmath%
+}{}
+\ifbool{@tud@oldscrclass}{%
+ \AtBeginDocument{%
\DeclareSymbolFontAlphabet{\mathrm}{operators}
\if@tud@fontspec%
\DeclareFixedFont{\univLightHead}{\encodingdefault}%
@@ -718,39 +1063,7 @@
{\tud@univers}{b}{n}{\tud@head@fntsz}%
\fi%
\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@raggedright{\raggedright}
-\newcommand*\tud@RaggedRight{\raggedright}
-\AfterPackage*{ragged2e}{%
- \ifdef{\LaTeXraggedright}{%
- \renewcommand*\tud@raggedright{\LaTeXraggedright}%
- }{}%
- \renewcommand*\tud@RaggedRight{\RaggedRight}%
-}
-\@ifclassloaded{tudbook}{%
- \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}%
- \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}%
- \patchcmd{\section}{\dinBold\Large\bfseries}%
- {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}%
- \patchcmd{\showtitle}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}%
+ }%
}{}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
index d1094d7e3d0..21698058b0c 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
@@ -4,13 +4,12 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `class,inherit')
-%% tudscr-manual.dtx (with options: `class,identify')
+%% tudscr-version.dtx (with options: `class,manual')
+%% tudscr-manual.dtx (with options: `class')
%% tudscr-base.dtx (with options: `load')
%% tudscr-manual.dtx (with options: `class,option')
-%% tudscr-base.dtx (with options: `execute,inherit')
+%% tudscr-misc.dtx (with options: `class,inherit,execute')
%% tudscr-manual.dtx (with options: `class,body')
-%% tudscr-misc.dtx (with options: `class,manual')
%%
%% ============================================================================
%%
@@ -57,10 +56,31 @@
\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*\tudinh@name{tudscrreprt}
+\newcommand*\TUD@ProvidesWrapperClass[3]{%
+ \newcommand*\TUDClassName@Parent{#2}%
+ \newcommand*\TUDClassName{#1}%
+ \ProvidesClass{#1}[%
+ 2015/07/02 v2.04 TUD-KOMA-Script
+ ^^J#3 (#2)%
+ ]%
+ \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@ProvidesWrapperClass{tudscrman}{tudscrreprt}{%
+ internal manual class%
+}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand{\TUDScript}{%
\ifdin{TUD-KOMA-SCRIPT}{%
@@ -69,11 +89,6 @@
}%
}{}
%%% From File: tudscr-manual.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\ProvidesClass{tudscrman}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
- class (internal manual)%
-]
%%% From File: tudscr-base.dtx
\RequirePackage{tudscrbase}[\TUDVersion]
%%% From File: tudscr-manual.dtx
@@ -98,7 +113,7 @@
captions=tableheading,%
numbers=noenddot,%
cd=color,%
-}{\tudinh@name}
+}{\TUDClassName@Parent}
\PassOptionsToPackage{automark}{scrlayer-scrpage}
\DeclareOption{final}{\let\tudfinalflag\relax}
\DeclareOption{print}{\let\tudprintflag\relax}
@@ -109,21 +124,21 @@
\PassOptionsToPackage{hidelinks}{hyperref}%
}{}%
}
-%%% From File: tudscr-base.dtx
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\tudinh@name}}
+%%% From File: tudscr-misc.dtx
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUDClassName@Parent}}
\TUDProcessOptions\relax
-\LoadClass{\tudinh@name}
+\LoadClass{\TUDClassName@Parent}
%%% From File: tudscr-manual.dtx
\RequirePackage{xparse}[2013/12/31]
\RequirePackage{textcomp}[2005/09/27]
-\RequirePackage{fixltx2e}[2014/06/10]
\RequirePackage{setspace}[2011/12/19]
\setstretch{1.1}\recalctypearea
\RequirePackage{babel}[2014/03/24]
\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
\AtBeginDocument{%
\@ifpackageloaded{csquotes}{}{%
- \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}%
+ \ClassWarning%
+ {tudscrman}{Package `csquotes' not loaded}%
\providecommand\enquote[1]{\glqg#1\grqq{}}%
}%
}
@@ -218,52 +233,52 @@
)%
}
\write\tud@write@i{(markup-range :sep "--")}
-\write\tud@write@i{(merge-rule "\[(.*)\]" "" :eregexp)}
\write\tud@write@i{%
- (define-attributes (("declare" "!" "important" "?" "deprecated" "default")))%
+(merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
+}
+\write\tud@write@i{%
+(define-attributes (("declare" "!" "important" "?" "deprecated" "default")))%
}
-\write\tud@write@i{(merge-to "important" "default")}
-\write\tud@write@i{(merge-to "?" "default")}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "declare"^^J%
\space\space :open "\string\textbf{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "declare"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "!"^^J%
\space\space :open "\string\textbf{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "!"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "important"^^J%
\space\space :open "\string\textsl{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "important"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "?"^^J%
\space\space :open "\string\textsl{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "?"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "default"^^J%
\space\space :open "\string\hyperpage{"^^J%
\space\space :close "}"^^J%
-\space\space :attr "default"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "deprecated"^^J%
\space\space :open "\string\deprecatedhyperpage{"^^J%
\space\space :close "}"^^J%
-\space\space :attr "deprecated"^^J%
)%
}
\write\tud@write@i{%
@@ -322,15 +337,16 @@
\hyperref{tutorials/#1.pdf}{\jobname}{tutorials:#1}{\textsbn{#1.pdf}#2}%
}
\NewDocumentCommand\Tutorial{smd||}{%
- \ifnum\pdfshellescape=1\relax%
+ \ifnum\pdfshellescape=\@ne\relax%
\filemodCmp{tutorials/#2.pdf}{tutorials/#2.tex}{}{%
\immediate\openout\tud@write@i=tutorials.sh%
\immediate\write\tud@write@i{%
cd tutorials^^J%
pdflatex -shell-escape #2^^J%
+ pdflatex #2^^J%
biber #2^^J%
+ pdflatex -shell-escape #2^^J%
makeglossaries #2^^J%
- pdflatex #2^^J%
pdflatex #2%
}%
\immediate\closeout\tud@write@i%
@@ -356,10 +372,9 @@
}
\newcommand*\IncludeExample[1]{%
\lstinputlisting[style=tudscr]{examples/#1}%
- \ifnum\pdfshellescape=1\relax%
+ \ifnum\pdfshellescape=\@ne\relax%
\filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{%
\immediate\write18{%
- pdflatex -shell-escape -output-directory examples examples/#1.tex
pdflatex -output-directory examples examples/#1.tex
pdflatex -output-directory examples examples/#1.tex
}%
@@ -401,7 +416,9 @@
}%
\@tempswafalse
\ifdefvoid{\tud@todo@type}{\@tempswatrue}{}%
- \IfValueT{#2}{\ifstr{#2}{\tud@todo@type}{\@tempswatrue}{}}%
+ \IfValueT{#2}{%
+ \@for\@tempa:=#2\do{\ifstr{\@tempa}{\tud@todo@type}{\@tempswatrue}{}}%
+ }%
\if@tempswa%
\vskip.8ex%
\IfValueT{#4}{%
@@ -423,7 +440,8 @@
\reversemarginpar
\newrobustcmd*\bsc{\@backslashchar}
\newcommand*\tud@shellescape@wrn{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning%
+ {tudscrman}{%
You have to recompile this document with\MessageBreak%
activated shell escape option%
}%
@@ -641,7 +659,7 @@
\newcommand*\CheckIndexFormat[2]{%
\IfBooleanT{#1}{%
\IfValueT{#2}{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{tudscrman}{%
You've used the starred version so no entry for\MessageBreak%
the index is created and the optional argument\MessageBreak%
|#2| will be ignored%
@@ -665,7 +683,7 @@
\if@declare%
\if@openindex%
\IfValueT{#3}{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{tudscrman}{%
It is not possible to use any cross-reference\MessageBreak%
shorthand like '#3' within the arguments of\MessageBreak%
the environment `Declaration'%
@@ -677,32 +695,38 @@
\manualhyperdef{\@tempa}%
}%
\else%
- \ifx\@IndexFormat\@empty\else%
- \ClassWarning{\tudcls@name}{%
- It is not possible to use any indexing format\MessageBreak%
- like |\@IndexFormat| within the arguments of the\MessageBreak%
- environment `Declaration'%
- }%
- \fi%
- \if@stareddeclare%
- \manualhyperdef'{\@tempa}%
- \else%
+ \expandafter\IfBooleanTF\expandafter{\@IndexFormat}{%
\manualhyperdef{\@tempa}%
- \fi%
- \@HyperIndex{#5}{#6}{#7}{#8}{#9}{(declare}%
+ }{%
+ \ifx\@IndexFormat\@empty\else%
+ \ClassWarning{tudscrman}{%
+ It is not possible to use any indexing format\MessageBreak%
+ like |\@IndexFormat| within the arguments of the\MessageBreak%
+ environment `Declaration'%
+ }%
+ \fi%
+ \if@stareddeclare%
+ \manualhyperdef'{\@tempa}%
+ \else%
+ \manualhyperdef{\@tempa}%
+ \fi%
+ \@HyperIndex{#5}{#6}{#7}{#8}{#9}{(declare}%
+ }%
\fi%
\if@stareddeclare\else%
#1\IfValueT{#2}{#2}%
\fi%
\else%
\if@deprecated\else%
- \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}%
+ \expandafter\IfBooleanF\expandafter{\@IndexFormat}{%
+ \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}%
+ }%
\fi%
\fi%
\else%
\ifx\@IndexFormat\relax%
- \ClassError{\tudcls@name}{\string\SetIndexFormat\space unused}{%
- It seems you have forgotten to use \string\SetIndexFormat%
+ \ClassError{tudscrman}{\string\SetIndexFormat\space unused}{%
+ It seems you have forgotten to use \string\SetIndexFormat.%
}%
\else%
\expandafter\IfBooleanF\expandafter{\@IndexFormat}{%
@@ -715,7 +739,7 @@
\def\@tempc{\mbox{\hyperref{}{\jobname}{\@tempa}{#1}\IfValueT{#2}{#2}}}%
\IfValueT{#3}{%
\def\@tempb{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{tudscrman}{%
You've used the unknown cross-reference\MessageBreak%
shorthand '#3'. Only 'auto', 'page'\MessageBreak%
and 'full' as well as 'none' are valid%
@@ -733,12 +757,14 @@
\@tempc\@tempb%
}{%
\IfValueT{#3}{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{tudscrman}{%
No cross-reference created, label \@tempa\space is missing%
}%
}%
\IfValueTF{#4}{%
- \href{http://www.ctan.org/pkg/#4}{\mbox{#1\IfValueT{#2}{#2}}}%
+ \ifstr{#4}{}{\mbox{#1\IfValueT{#2}{#2}}}{%
+ \href{http://www.ctan.org/pkg/#4}{\mbox{#1\IfValueT{#2}{#2}}}%
+ }%
}{%
\mbox{#1\IfValueT{#2}{#2}}%
}%
@@ -841,7 +867,7 @@
}%
}{%
\ifx\@declarationlist\relax\else%
- \ClassError{\tudcls@name}{\string\printdeclarationlist\space is missing}{%
+ \ClassError{tudscrman}{\string\printdeclarationlist\space is missing}{%
\string\@declarationlist\space is not empty. Did you forget\MessageBreak%
to print this list with \string\printdeclarationlist?%
}%
@@ -864,7 +890,7 @@
}%
\IfValueT{#2}{%
\if@additionallist%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{tudscrman}{%
It is not possible to use the optional argument\MessageBreak%
of \string\printdeclarationlist due to the given\MessageBreak%
additional information as argument of the\MessageBreak%
@@ -897,7 +923,7 @@
\if@presetlist%
\qquad%
\texttt{%
- \begin{tabular}{l}%
+ \begin{tabular}{l@{}}%
\forlistloop\@tempa{\@presetlist}%
\end{tabular}%
}%
@@ -930,7 +956,7 @@
\@stareddeclarefalse%
}{%
\ifx\@changedatdeclarelist\relax\else%
- \ClassError{\tudcls@name}{\string\printchangedatlist\space is missing}{%
+ \ClassError{tudscrman}{\string\printchangedatlist\space is missing}{%
\string\@changedatdeclarelist\space is not empty. Did you\MessageBreak%
forget to print this list with \string\printchangedatlist?%
}%
@@ -960,13 +986,16 @@
topsep=.5\baselineskipglue,labelwidth=\columnwidth,labelsep=0pt,%
font=\normalfont\ttfamily,before*=\before@values%
}
+\newcommand*\itemvalues{}
\newcommand*\before@values{%
- \let\item@values\item%
- \let\item\tud@item%
+ \ifdefvoid{\itemvalues}{%
+ \let\itemvalues\item%
+ \let\item\tud@item%
+ \setlength\changedatskip{-\baselineskip}%
+ }{}%
}
\newcommand*\itemfalse{\def\tud@item@val{false/off/no}\item}
\newcommand*\itemtrue{\def\tud@item@val{true/on/yes}\item}
-\newcommand*\item@values{}
\newcommand*\tud@item@val{}
\newcommand*\tud@item@add{}
\newcommand*\tud@item@format{}
@@ -989,7 +1018,7 @@
{\edef\@tempa{\tud@item@val/#1}}%
}%
\def\tud@item@val{}%
- \ifstr{\@tempa}{}{\item@values}{\tud@@@item}%
+ \ifstr{\@tempa}{}{\itemvalues}{\tud@@@item}%
}
\newcommand*\tud@@@item[1][]{%
\ifblank{#1}{}{%
@@ -999,7 +1028,7 @@
\appto\tud@item@add{~#1}%
\fi%
}%
- \item@values[%
+ \itemvalues[%
\tud@item@format{\@tempa:}%
\ifx\tud@item@add\relax\else%
{\normalfont\space\footnotesize\tud@item@add}%
@@ -1030,9 +1059,10 @@
\ifdefvoid{\itempackages}{%
\let\itempackages\item%
\let\item\tud@item@pkg%
+ \setlength\changedatskip{-\baselineskip}%
}{}%
}
-\NewDocumentCommand\tud@item@pkg{od()}{%
+\NewDocumentCommand\tud@item@pkg{od()od''}{%
\itempackages[{%
\IfValueT{#1}{%
\manualhyperdef{files:#1}%
@@ -1042,6 +1072,30 @@
\def\@tempa{http://www.ctan.org/pkg/#1}%
}%
\href{\@tempa}{\Package{#1}'none'|!|}%
+ \IfValueT{#3}{%
+ \quad(%
+ \let\@tempb\relax%
+ \@for\@tempa:=#3\do{%
+ \@tempb%
+ \manualhyperdef{files:\@tempa}%
+ \expandafter\Package\expandafter{\@tempa}'none'|!|%
+ \def\@tempb{, }%
+ }%
+ )%
+ }%
+ \IfValueT{#4}{%
+ \quad(%
+ \let\@tempb\relax%
+ \@for\@tempa:=#4\do{%
+ \@tempb%
+ \manualhyperdef{files:\@tempa}%
+ \href{http://www.ctan.org/pkg/\@tempa}{%
+ \expandafter\Package\expandafter{\@tempa}'none'|!|%
+ }%
+ \def\@tempb{, }%
+ }%
+ )%
+ }%
}%
}]%
}
@@ -1085,7 +1139,8 @@
}%
\fi%
}
-\NewDocumentCommand\ChangedAt{sO{\z@}mO{Allgemein}}{%
+\newlength\changedatskip
+\NewDocumentCommand\ChangedAt{sO{\changedatskip}mO{Allgemein}}{%
\ChangedAt@Process[#1]{#2}[#4]{#3}%
}
\newcommand*\@changedatlist{}
@@ -1203,7 +1258,7 @@
\if@listsorted%
\expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}%
\else%
- \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<0\relax%
+ \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<\z@\relax%
\ifx\@tempb\@empty%
\expandafter\edef\expandafter\@tempb\expandafter{%
#1,\@tempa%
@@ -1250,7 +1305,9 @@
}
\newcommand*\PrintIndexPrologue[1]{\long\gdef\@printindexprologue{#1}}
\newcommand*\@printindexprologue{}
-\newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi}
+\newcommand*\@printindexskip{%
+ \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
+}
\newcommand*\@printindex[1][]{%
\pagebreak[3]%
\ifblank{#1}{%
@@ -1302,7 +1359,6 @@
\renewrobustcmd*\seealso[2]{%
\ifstr{#1}{*}{\emph{\alsoname}~#2}{\emph{\alsoname}~#1}%
}
-%%% From File: tudscr-misc.dtx
\RequirePackage{xspace}[2009/10/20]
\xspaceaddexceptions{"=}
\newcommand*\vTUDScript{}
@@ -1311,8 +1367,31 @@
\edef\@tempa{\TUDVersion}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
}
-\newcommand*\vKOMAScript{v3.12\xspace}
+\newcommand*\vKOMAScript{v3.17\xspace}
\RequirePackage{scrhack}[2014/02/27]
+\newcommand*\CD{Corporate Design\xspace}
+\newcommand*\CDs{Corporate Designs\xspace}
+\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
+\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
+\newcommand*\DDC{%
+ \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em
+ N\kern.1em-\kern.1em concept}\xspace%
+}
+\AfterPackage*{babel}{%
+ \@expandtwoargs\in@{,english,}{,\bbl@loaded,}%
+ \ifin@%
+ \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace}
+ \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace}
+ \fi
+}
+\newcommand*\Univers{\textubn{Univers}\xspace}
+\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace}
+\newcommand*\textsbn{}
+\newcommand*\sbnfont{\sffamily\bfseries\upshape}
+\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape}
+\newcommand*\textsbs{}
+\newcommand*\sbsfont{\sffamily\bfseries\slshape}
+\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape}
\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}}
\NewDocumentCommand\Forum{s}{%
\IfBooleanTF{#1}{%
@@ -1322,18 +1401,6 @@
}%
\xspace%
}
-\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scriptsize\url{#1}}}
-\NewDocumentCommand\scrguide{s}{%
- \def\@tempc{%
- http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf%
- }%
- \IfBooleanTF{#1}{%
- \href{\@tempc}{\File{scrguide.pdf}}%
- }{%
- \hrfn{\@tempc}{\File{scrguide.pdf}}%
- }%
- \xspace%
-}
\NewDocumentCommand\GitHubRepo{s}{%
\def\@tempc{%
https://github.com/tud-cd/tudscr/releases%
@@ -1349,29 +1416,18 @@
F\"ur die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verf\"ugbar.
}
\newlength\tempdim
-\newcommand*\CD{Corporate Design\xspace}
-\newcommand*\CDs{Corporate Designs\xspace}
-\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
-\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
-\newcommand*\DDC{%
- \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em
- N\kern.1em-\kern.1em concept}\xspace%
-}
-\AfterPackage*{babel}{%
- \@expandtwoargs\in@{,english,}{,\bbl@loaded,}%
- \ifin@%
- \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace}
- \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace}
- \fi
+\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scalebox{0.97}{\url{#1}}}}
+\NewDocumentCommand\scrguide{s}{%
+ \def\@tempc{%
+ http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf%
+ }%
+ \IfBooleanTF{#1}{%
+ \href{\@tempc}{\File{scrguide.pdf}}%
+ }{%
+ \hrfn{\@tempc}{\File{scrguide.pdf}}%
+ }%
+ \xspace%
}
-\newcommand*\Univers{\textubn{Univers}\xspace}
-\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace}
-\newcommand*\sbnfont{\sffamily\bfseries\upshape}
-\newcommand*\sbsfont{\sffamily\bfseries\slshape}
-\newcommand*\textsbn{}
-\newcommand*\textsbs{}
-\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape}
-\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape}
\endinput
%%
%% End of file `tudscrman.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty
index c57ab622c9e..41c74f9a63d 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty
@@ -4,13 +4,12 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package,manual,tudscr')
+%% tudscr-version.dtx (with options: `package,manual')
%% tudscr-manual.dtx (with options: `package,identify')
%% tudscr-base.dtx (with options: `load')
%% tudscr-manual.dtx (with options: `package,option')
-%% tudscr-base.dtx
+%% tudscr-misc.dtx
%% tudscr-manual.dtx (with options: `package,body')
-%% tudscr-misc.dtx (with options: `package,manual')
%%
%% ============================================================================
%%
@@ -57,15 +56,15 @@
\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}
-\@ifundefined{tudcls@name}{%
+\@ifundefined{TUDClassName}{%
\PackageError{%
- tudscrmanual%
+ tudscrman%
}{Unsupported class found}{%
This package can only be used with a class out of the\MessageBreak%
- tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)%
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl).%
}
\endinput
}{}
@@ -77,9 +76,9 @@
}%
}{}
%%% From File: tudscr-manual.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrman}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+ 2015/07/02 v2.04 TUD-KOMA-Script
package (internal tutorials)%
]
%%% From File: tudscr-base.dtx
@@ -101,24 +100,23 @@
\KOMAoptions{headings=small}
\TUDoptions{cd=true,cdfoot=true}
\AfterPackage*{pstricks}{%
- \ifnum\pdfshellescape=1\relax
- \RequirePackage{auto-pst-pdf}[2009/04/26]
- \else
- \RequirePackage[off]{auto-pst-pdf}[2009/04/26]
- \fi
+ \ifnum\pdfshellescape=\@ne\relax\else%
+ \PassOptionsToPackage{off}{auto-pst-pdf}%
+ \fi%
+ \RequirePackage{auto-pst-pdf}[2009/04/26]%
}
-%%% From File: tudscr-base.dtx
+%%% From File: tudscr-misc.dtx
%%% From File: tudscr-manual.dtx
\RequirePackage{xparse}[2013/12/31]
\RequirePackage{textcomp}[2005/09/27]
-\RequirePackage{fixltx2e}[2014/06/10]
\RequirePackage{setspace}[2011/12/19]
\setstretch{1.1}\recalctypearea
\RequirePackage{babel}[2014/03/24]
\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
\AtBeginDocument{%
\@ifpackageloaded{csquotes}{}{%
- \ClassWarning{\tudcls@name}{Package `csquotes' not loaded}%
+ \PackageWarning%
+ {tudscrman}{Package `csquotes' not loaded}%
\providecommand\enquote[1]{\glqg#1\grqq{}}%
}%
}
@@ -206,52 +204,52 @@
)%
}
\write\tud@write@i{(markup-range :sep "--")}
-\write\tud@write@i{(merge-rule "\[(.*)\]" "" :eregexp)}
\write\tud@write@i{%
- (define-attributes (("declare" "!" "important" "?" "deprecated" "default")))%
+(merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
+}
+\write\tud@write@i{%
+(define-attributes (("declare" "!" "important" "?" "deprecated" "default")))%
}
-\write\tud@write@i{(merge-to "important" "default")}
-\write\tud@write@i{(merge-to "?" "default")}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "declare"^^J%
\space\space :open "\string\textbf{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "declare"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "!"^^J%
\space\space :open "\string\textbf{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "!"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "important"^^J%
\space\space :open "\string\textsl{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "important"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "?"^^J%
\space\space :open "\string\textsl{\string\hyperpage{"^^J%
\space\space :close "}}"^^J%
-\space\space :attr "?"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "default"^^J%
\space\space :open "\string\hyperpage{"^^J%
\space\space :close "}"^^J%
-\space\space :attr "default"^^J%
)%
}
\write\tud@write@i{%
(markup-locref^^J%
+\space\space :attr "deprecated"^^J%
\space\space :open "\string\deprecatedhyperpage{"^^J%
\space\space :close "}"^^J%
-\space\space :attr "deprecated"^^J%
)%
}
\write\tud@write@i{%
@@ -314,7 +312,9 @@
}%
\@tempswafalse
\ifdefvoid{\tud@todo@type}{\@tempswatrue}{}%
- \IfValueT{#2}{\ifstr{#2}{\tud@todo@type}{\@tempswatrue}{}}%
+ \IfValueT{#2}{%
+ \@for\@tempa:=#2\do{\ifstr{\@tempa}{\tud@todo@type}{\@tempswatrue}{}}%
+ }%
\if@tempswa%
\vskip.8ex%
\IfValueT{#4}{%
@@ -336,7 +336,8 @@
\reversemarginpar
\newrobustcmd*\bsc{\@backslashchar}
\newcommand*\tud@shellescape@wrn{%
- \ClassWarning{\tudcls@name}{%
+ \PackageWarning%
+ {tudscrman}{%
You have to recompile this document with\MessageBreak%
activated shell escape option%
}%
@@ -576,7 +577,7 @@
\noindent\ignorespaces%
}
\newcommand*\InputCode{\input{\jobname-temp.tex}}
-\ifnum\pdfshellescape=1\relax%
+\ifnum\pdfshellescape=\@ne\relax%
\ActivateWarningFilters[Tutorial]%
\begin{filecontents*}{tutorial-temp.tex}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
@@ -595,7 +596,7 @@
\DeactivateWarningFilters[Tutorial]%
\fi
\newcommand*\tud@tut@pdf{%
- \ifnum\pdfshellescape=1\relax%
+ \ifnum\pdfshellescape=\@ne\relax%
\immediate\write18{%
pdflatex -jobname=\jobname-temp tutorial-temp.tex
pdflatex -jobname=\jobname-temp tutorial-temp.tex
@@ -613,7 +614,7 @@
\IfFileExists{#2-temp.pdf}{%
\@tempcnta\z@%
\@for\@tempa:=#3\do{\advance\@tempcnta\@ne}%
- \ifnum\@tempcnta>\z@%
+ \ifnum\@tempcnta>\z@\relax%
\setlength\@tempdima{\textwidth}%
\divide\@tempdima\@tempcnta%
\advance\@tempcnta\m@ne%
@@ -626,7 +627,7 @@
\IfValueT{#1}{#1}%
}
\fbox{\expandafter\includegraphics\expandafter[\@tempb]{#2-temp.pdf}}%
- \ifnum\@tempcnta>\z@\hfill\fi%
+ \ifnum\@tempcnta>\z@\relax\hfill\fi%
}%
\fi%
}{%
@@ -705,7 +706,9 @@
\@printindex[files]%
\endgroup%
}
-\newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi}
+\newcommand*\@printindexskip{%
+ \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
+}
\newcommand*\@printindex[1][]{%
\pagebreak[3]%
\indexprologue[\@printindexskip]{}%
@@ -717,7 +720,6 @@
\renewrobustcmd*\seealso[2]{%
\ifstr{#1}{*}{\emph{\alsoname}~#2}{\emph{\alsoname}~#1}%
}
-%%% From File: tudscr-misc.dtx
\RequirePackage{xspace}[2009/10/20]
\xspaceaddexceptions{"=}
\newcommand*\vTUDScript{}
@@ -726,29 +728,8 @@
\edef\@tempa{\TUDVersion}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
}
-\newcommand*\vKOMAScript{v3.12\xspace}
+\newcommand*\vKOMAScript{v3.17\xspace}
\RequirePackage{scrhack}[2014/02/27]
-\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}}
-\NewDocumentCommand\Forum{s}{%
- \IfBooleanTF{#1}{%
- \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- }{%
- \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}%
- }%
- \xspace%
-}
-\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scriptsize\url{#1}}}
-\NewDocumentCommand\scrguide{s}{%
- \def\@tempc{%
- http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf%
- }%
- \IfBooleanTF{#1}{%
- \href{\@tempc}{\File{scrguide.pdf}}%
- }{%
- \hrfn{\@tempc}{\File{scrguide.pdf}}%
- }%
- \xspace%
-}
\newcommand*\CD{Corporate Design\xspace}
\newcommand*\CDs{Corporate Designs\xspace}
\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
@@ -766,12 +747,33 @@
}
\newcommand*\Univers{\textubn{Univers}\xspace}
\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace}
-\newcommand*\sbnfont{\sffamily\bfseries\upshape}
-\newcommand*\sbsfont{\sffamily\bfseries\slshape}
\newcommand*\textsbn{}
-\newcommand*\textsbs{}
+\newcommand*\sbnfont{\sffamily\bfseries\upshape}
\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape}
+\newcommand*\textsbs{}
+\newcommand*\sbsfont{\sffamily\bfseries\slshape}
\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape}
+\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}}
+\NewDocumentCommand\Forum{s}{%
+ \IfBooleanTF{#1}{%
+ \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
+ }{%
+ \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}%
+ }%
+ \xspace%
+}
+\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scalebox{0.97}{\url{#1}}}}
+\NewDocumentCommand\scrguide{s}{%
+ \def\@tempc{%
+ http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf%
+ }%
+ \IfBooleanTF{#1}{%
+ \href{\@tempc}{\File{scrguide.pdf}}%
+ }{%
+ \hrfn{\@tempc}{\File{scrguide.pdf}}%
+ }%
+ \xspace%
+}
\endinput
%%
%% End of file `tudscrman.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
index b56c900ad86..a78a7e48c8d 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
@@ -11,19 +11,19 @@
%% tudscr-layout.dtx (with options: `class,report,option')
%% tudscr-frontmatter.dtx (with options: `class,report,option')
%% tudscr-title.dtx (with options: `class,report,option')
-%% tudscr-misc.dtx (with options: `class,report,option')
%% tudscr-comp.dtx (with options: `class,report,option')
-%% tudscr-base.dtx (with options: `execute')
+%% tudscr-misc.dtx (with options: `class,report,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,report,body')
%% tudscr-pagestyle.dtx (with options: `class,report,body')
%% tudscr-layout.dtx (with options: `class,report,body')
%% tudscr-frontmatter.dtx (with options: `class,report,body')
%% tudscr-title.dtx (with options: `class,report,body')
-%% tudscr-misc.dtx (with options: `class,report,body')
%% tudscr-comp.dtx (with options: `class,report,body')
+%% tudscr-misc.dtx (with options: `class,report,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{report}
-\newcommand*\scrcls@name{scrreprt}
-\newcommand*\tudcls@name{tudscrreprt}
-\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{tudscrreprt}{scrreprt}{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,111 +747,180 @@
\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{0}
-\bool@lock{@tud@abstract@toc}
-\newif\if@tud@abstract@toc@leveldown
-\newif\if@tud@abstract@markboth
+\cs@lock{tud@abstract@toc}{0}
\newif\if@tud@abstract@multi
+\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
\@tud@abstract@filtrue
+\newif\if@tud@abstract@markboth
\TUD@key{abstract}[true]{%
\edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}%
\TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\def\tud@abstract@level{0}%
- \bool@std@lock{@tud@abstract@toc}{false}%
- \or%
+ \cs@std@lock{tud@abstract@toc}{0}%
+ \or% true
\def\tud@abstract@level{1}%
- \bool@std@lock{@tud@abstract@toc}{false}%
- \or%
+ \cs@std@lock{tud@abstract@toc}{0}%
+ \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{1}
-\bool@lock{@tud@declaration@toc}
-\newif\if@tud@declaration@toc@leveldown
-\newif\if@tud@declaration@markboth
+\cs@lock{tud@declaration@toc}{0}
\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}[true]{%
\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%
}
@@ -887,115 +929,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,%
@@ -1005,35 +1029,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%
}
@@ -1041,27 +1062,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%
}
@@ -1070,198 +1090,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}%
@@ -1271,9 +1538,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}%
@@ -1283,10 +1558,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,%
@@ -1297,7 +1580,7 @@
ItalicFont = LMMonoLt10-Oblique,%
BoldItalicFont = LMMonoSlant10-Regular,%
]%
- \else%
+ \else% heavy
\setsansfont{Univers}[%
BoldFont = Univers Bold,%
ItalicFont = Univers Oblique,%
@@ -1313,12 +1596,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%
@@ -1327,10 +1626,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%
@@ -1338,79 +1677,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%
@@ -1418,10 +1745,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%
@@ -1440,19 +1767,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}
@@ -1462,19 +1779,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{}
@@ -1493,38 +1810,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}%
}{%
@@ -1545,7 +1861,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{}
@@ -1565,15 +1881,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%
}
@@ -1583,7 +1909,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}%
@@ -1591,28 +1917,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.
}%
}%
}
@@ -1663,7 +2060,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@referee}%
+ \sbox\z@{\@referee}%
}%
\endgroup%
\if@tempswa%
@@ -1680,7 +2077,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@professor}%
+ \sbox\z@{\@professor}%
}%
\endgroup%
\if@tempswa%
@@ -1725,10 +2122,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
@@ -1760,7 +2157,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@referee}%
+ \sbox\z@{\@referee}%
}%
\endgroup%
\if@tempswa%
@@ -1777,7 +2174,7 @@
\protecting{%
\global\@tempswafalse%
\def\and{\global\@tempswatrue}%
- \savebox0{\@professor}%
+ \sbox\z@{\@professor}%
}%
\endgroup%
\if@tempswa%
@@ -1822,9 +2219,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
@@ -1869,7 +2266,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%
@@ -1915,267 +2312,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}%
@@ -2183,108 +2618,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%
@@ -2303,11 +2718,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%
@@ -2317,7 +2732,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%
@@ -2335,20 +2750,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%
}%
@@ -2356,98 +2771,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{}%
@@ -2460,283 +3046,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{%
@@ -2773,11 +3543,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%
}[%
@@ -2802,9 +3572,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}}{%
@@ -2818,27 +3588,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}%
@@ -2849,7 +3619,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}%
@@ -2858,18 +3628,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}}%
@@ -2877,68 +3647,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}%
@@ -2946,20 +3735,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%
@@ -2971,55 +3782,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%
@@ -3027,63 +3845,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}%
@@ -3091,71 +3923,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%
}%
@@ -3164,61 +3989,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{}
@@ -3229,6 +4065,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{}
@@ -3302,155 +4140,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')%
@@ -3462,7 +4330,7 @@
\csundef{abstract}
\csundef{endabstract}
\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%
@@ -3472,16 +4340,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}{%
@@ -3500,26 +4377,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%
@@ -3529,24 +4395,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}{%
@@ -3570,14 +4429,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]%
@@ -3585,21 +4440,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]%
@@ -3609,28 +4469,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]%
@@ -3640,14 +4491,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}
@@ -3657,21 +4505,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%
@@ -3696,17 +4544,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%
@@ -3720,7 +4571,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'%
@@ -3778,21 +4629,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%
@@ -3800,14 +4651,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%
@@ -3821,7 +4672,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%
@@ -3841,26 +4692,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}}%
@@ -3896,27 +4732,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%
@@ -3950,7 +4785,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}%
@@ -3987,22 +4822,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%
@@ -4010,10 +4845,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}}%
@@ -4027,53 +4862,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%
@@ -4087,7 +4881,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}%
@@ -4114,13 +4908,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%
@@ -4130,7 +4920,7 @@
\tud@title@twocolumn{\maketitle[#1]{#2}}%
\fi%
\else%
- \ClassError{\tudcls@name}{%
+ \ClassError{\TUDClassName}{%
`\string\maketitleonecolumn' can only be used in twocolumn mode%
}{}%
\fi%
@@ -4146,9 +4936,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%
@@ -4160,18 +4950,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%
}%
@@ -4181,7 +4971,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%
@@ -4191,7 +4981,7 @@
\fi\fi%
}
\newcommand*\tud@title@wrn[1]{%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
`\@backslashchar#1' has to be used with\MessageBreak%
activated titlepage option%
}%
@@ -4199,7 +4989,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%
@@ -4221,12 +5011,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%
@@ -4234,7 +5024,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{%
@@ -4252,7 +5042,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%
}{}%
@@ -4267,7 +5057,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%
@@ -4312,8 +5102,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}{%
@@ -4344,78 +5167,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 `tudscrreprt.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
index 3e1dcd4b761..eaf2f6b57e9 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
@@ -4,7 +4,7 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package,supervisor,tudscr')
+%% tudscr-version.dtx (with options: `package,supervisor')
%% tudscr-supervisor.dtx (with options: `package')
%% tudscr-fields.dtx (with options: `package,supervisor')
%% tudscr-locale.dtx (with options: `package,supervisor')
@@ -54,15 +54,15 @@
\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}
-\@ifundefined{tudcls@name}{%
+\@ifundefined{TUDClassName}{%
\PackageError{%
tudscrsupervisor%
}{Unsupported class found}{%
This package can only be used with a class out of the\MessageBreak%
- tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)%
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl).%
}
\endinput
}{}
@@ -74,9 +74,9 @@
}%
}{}
%%% From File: tudscr-supervisor.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrsupervisor}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+ 2015/07/02 v2.04 TUD-KOMA-Script
package
(commands for supervisors)%
]
@@ -105,7 +105,7 @@
\ifx\supervisorothername\@empty\else\supervisorothername\@titledelim\fi%
& \def\and{\tabularnewline &}%
}%
- \vskip-\lastskip%
+ \removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi\medskip%
\begingroup%
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
@@ -115,7 +115,7 @@
\issuedatetext\@titledelim & \@issuedate\tabularnewline%
\duedatetext\@titledelim & \@duedate\tabularnewline%
\end{tabular}%
- \vskip 15mm plus 10mm minus 10mm%
+ \vskip\tud@signatureskip\noindent%
\ifx\@chairman\@empty\else%
\begin{tabular}{@{}l@{}}%
\@chairman\tabularnewline%
@@ -136,7 +136,7 @@
}
\newcommand\taskform[3][]{%
\begin{task}[#1]
- \vskip-\lastskip%
+ \removelastskip%
\ifxblank{#2}{}{\minisec{\objectivesname}#2}%
\ifxblank{#3}{}{%
\minisec{\focusname}%
@@ -167,19 +167,19 @@
}%
\tud@author@table%
}{%
- \vskip-\lastskip%
+ \removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
- \medskip%
+ \setlength{\@tempskipa}{\smallskipamount}%
\ifx\@grade\@empty\else%
- \noindent\gradetext%
- \vskip\bigskipamount%
+ \vskip\@tempskipa\noindent%
+ \gradetext%
+ \setlength{\@tempskipa}{\bigskipamount}%
\fi%
\ifx\@date\@empty\else%
- \noindent%
- \ifx\@place\@empty\else\@place,~\fi\@date%
- \vskip\bigskipamount%
+ \vskip\@tempskipa\noindent%
+ \ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
\fi%
- \bigskip\bigskip\noindent%
+ \vskip\tud@signatureskip\noindent%
\ifx\@referee\@empty\let\@referee\@supervisor\fi%
\let\@tempa\refereename%
\def\and{%
@@ -201,39 +201,24 @@
}
\newcommand\evaluationform[5][]{%
\begin{evaluation}[#1]
- \vskip-\lastskip%
+ \removelastskip%
\ifxblank{#2}{}{\minisec{\taskname}#2}%
\ifxblank{#3}{}{\minisec{\contentname}#3}%
\ifxblank{#4}{}{\minisec{\assessmentname}#4}%
\ifxblank{#5}{}{\def\@grade{#5}}%
\end{evaluation}%
}
+\newcommand*\student{\author}
\newlength\tud@dim@table%
\newcommand*\tud@author@table{%
- \tud@check@author%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
- \renewcommand*\tud@split@author[2]{%
- \tud@multiple@setfields{\null}{##1}%
- \begin{tabular}{l@{}}%
- \ifx\@course\@empty\else\@course\tabularnewline\fi%
- \ifx\@discipline\@empty\else\@discipline\tabularnewline\fi%
- \textsf{\textbf{\ignorespaces##1}}\tabularnewline%
- \ifx\@matriculationnumber\@empty\else%
- \@matriculationnumber\tabularnewline%
- \fi%
- \ifx\@matriculationyear\@empty\else%
- \@matriculationyear\tabularnewline%
- \fi%
- \end{tabular}%
- \tud@multiple@@@split{##2}{~~\hspace{\tabcolsep}}
- }%
+ \tud@multiple@split{@author}%
+ \tud@multiple@fields@preset{@author}{\null}{}%
\setlength\tud@dim@table{2em}%
- \gdef\tud@multiple@field{@author}%
- \tud@multiple@setfields{\null}{}%
\edef\@tempa{%
- \authorname,\titlename,\supervisorname,\supervisorothername,%
+ \namesname,\titlename,\supervisorname,\supervisorothername,%
\issuedatetext,\duedatetext,%
\expandafter\ifx\@matriculationnumber\@empty\else%
\matriculationnumbername%
@@ -260,7 +245,7 @@
\ifx\@discipline\@empty\else%
\disciplinename\@titledelim\tabularnewline%
\fi%
- \authorname\@titledelim\tabularnewline%
+ \namesname\@titledelim\tabularnewline%
\ifx\@matriculationnumber\@empty\else%
\matriculationnumbername\@titledelim\tabularnewline%
\fi%
@@ -268,6 +253,23 @@
\matriculationyearname\@titledelim\tabularnewline%
\fi%
\end{tabular}%
+ \renewcommand*\tud@split@author[2]{%
+ \tud@multiple@fields@store{@author}{##1}%
+ \tud@multiple@fields@preset{@author}{\null}{##1}%
+ \begin{tabular}{l@{}}%
+ \ifx\@course\@empty\else\@course\tabularnewline\fi%
+ \ifx\@discipline\@empty\else\@discipline\tabularnewline\fi%
+ \textsf{\textbf{\ignorespaces##1}}\tabularnewline%
+ \ifx\@matriculationnumber\@empty\else%
+ \@matriculationnumber\tabularnewline%
+ \fi%
+ \ifx\@matriculationyear\@empty\else%
+ \@matriculationyear\tabularnewline%
+ \fi%
+ \end{tabular}%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{##2}{\enskip\hspace{\tabcolsep}}%
+ }%
\tud@multiple@split{@author}%
\vskip\smallskipamount%
\begin{tabular}{@{}p{\tud@dim@table}%
@@ -280,8 +282,9 @@
\endgroup%
\noindent\ignorespaces%
}
-\patchcmd{\tud@split@author@list}{\authormore}%
- {\authormore,\course,\discipline}{}{\tud@patch@wrn{tud@split@author@list}}
+\patchcmd{\tud@split@author@list}{authormore}{%
+ authormore,course,discipline%
+}{}{\tud@patch@wrn{tud@split@author@list}}
\newenvironment{notice}[1][]{%
\cleardoubleoddpage%
\def\@headline{\noticename}%
@@ -307,8 +310,20 @@
}{%
\ifx\@contactperson\@empty\let\@contactperson\@supervisor\fi%
\ifx\@contactperson\@empty\else%
- \vskip-\lastskip%
+ \removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
+ \renewcommand*\tud@split@contactperson[2]{%
+ \tud@multiple@fields@store{@contactperson}{##1}%
+ \tud@multiple@fields@preset{@contactperson}{}{##1}%
+ \begin{tabular}[t]{@{}l@{}}%
+ \ignorespaces##1\tabularnewline%
+ \ifx\@office\@empty\else\@office\tabularnewline\fi%
+ \ifx\@telephone\@empty\else\@telephone\tabularnewline\fi%
+ \ifx\@emailaddress\@empty\else\@emailaddress\tabularnewline\fi%
+ \end{tabular}%
+ \tud@multiple@fields@restore{@contactperson}%
+ \tud@multiple@@@split{##2}{\hfill}%
+ }%
\subsection*{\contactpersonname}%
\noindent\tud@multiple@split{@contactperson}\hfill\null%
\fi%
@@ -317,7 +332,7 @@
}
\newcommand\noticeform[3][]{%
\begin{notice}[#1]
- \vskip-\lastskip%
+ \removelastskip%
\ifxblank{#2}{}{%
\ifx\@@title\@empty\else%
\minisec{\expandonce{\@@title}}%
@@ -332,17 +347,6 @@
}%
\end{notice}%
}
-\newcommand*\tud@split@contactperson[2]{%
- \tud@multiple@setfields{\null}{#1}%
- \begin{tabular}{@{}l@{}}%
- \ignorespaces#1\tabularnewline%
- \ifx\@office\@empty\else\@office\tabularnewline\fi%
- \ifx\@telephone\@empty\else\@telephone\tabularnewline\fi%
- \ifx\@emailaddress\@empty\else\@emailaddress\tabularnewline\fi%
- \end{tabular}%
- \tud@multiple@@@split{#2}{\hfill}%
-}
-\newcommand*\tud@split@contactperson@list{\office,\telephone,\emailaddress}
%%% From File: tudscr-fields.dtx
\newcommand*\@course{}
\newrobustcmd*\course[1]{\gdef\@course{#1}}
@@ -350,19 +354,6 @@
\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}}
\newcommand*\@chairman{}
\newcommand*\chairman[1]{\gdef\@chairman{#1}}
-\newcommand*\@contactperson{}
-\newcommand*\contactperson[1]{\gdef\@contactperson{#1}}
-\newcommand*\@office{}
-\newrobustcmd*\office[1]{\gdef\@office{#1}}
-\newcommand*\@telephone{}
-\newrobustcmd*\telephone[1]{\gdef\@telephone{#1}}
-\newcommand*\@emailaddress{}
-\newrobustcmd*\emailaddress[1]{\gdef\@emailaddress{#1}}
-\AfterPackage*{hyperref}{%
- \renewrobustcmd*\emailaddress[1]{%
- \gdef\@emailaddress{\href{mailto:#1}{\nolinkurl{#1}}}%
- }%
-}
\newcommand*\@grade{}
\newcommand*\grade[1]{\gdef\@grade{#1}}
\newcommand*\@headline{}
@@ -372,10 +363,58 @@
\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}}
\newcommand*\finaldate{}
\newcommand*\maturitydate{}
+\@ifpackageloaded{%
+ tudscrposter%
+}{}{%
+ \newcommand*\@contactperson{}
+ \newcommand*\contactperson[1]{\gdef\@contactperson{#1}}
+ \newcommand*\@office{}
+ \newrobustcmd*\office[1]{\gdef\@office{#1}}
+ \newcommand*\@telephone{}
+ \newrobustcmd*\telephone[1]{\gdef\@telephone{#1}}
+ \newcommand*\@emailaddress{}
+ \newrobustcmd*\emailaddress[2][]{\gdef\@emailaddress{#2}}
+ \AfterPackage*{hyperref}{%
+ \renewrobustcmd*\emailaddress[2][hidelinks]{%
+ \gdef\@emailaddress{%
+ \begingroup%
+ \hypersetup{#1}%
+ \href{mailto:#2}{#2}%
+ \endgroup%
+ }%
+ }%
+ }%
+ \newcommand*\tud@multiple@fields@preset[3]{%
+ \letcs\@tempa{tud@split#1@list}%
+ \let\and\relax%
+ \@for\@tempb:=\@tempa\do{%
+ \ifx\@tempb\@empty\else%
+ \edef\@tempc{\@nameuse{\@tempb}}%
+ \ifstr{#2}{*}{%
+ \@namedef{@\@tempb}{}%
+ }{%
+ \begingroup%
+ \protected@expandtwoargs\in@{\@tempc}{\@nameuse{#1}}%
+ \ifin@%
+ \ifcsempty{@\@tempb}{\@tempc{#2}}{}%
+ \fi%
+ \endgroup%
+ }%
+ \fi%
+ }%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \sbox\z@{#3}%
+ \endgroup%
+ }%
+ \newcommand*\tud@split@contactperson[2]{}
+ \newcommand*\tud@split@contactperson@list{office,telephone,emailaddress}
+}
%%% From File: tudscr-locale.dtx
\tud@locale@define{\taskname}
\tud@locale@define{\tasktext}
-\tud@locale@define{\authorname}
+\tud@locale@define{\namesname}
\tud@locale@define{\titlename}
\tud@locale@define{\coursename}
\tud@locale@define{\disciplinename}
@@ -393,7 +432,7 @@
\tud@locale@define{\contactpersonname}
\tud@locale@german{\taskname}{Aufgabenstellung}%
\tud@locale@german{\tasktext}{f\"ur die Anfertigung einer}%
-\tud@locale@german{\authorname}{Name}%
+\tud@locale@german{\namesname}{Name}%
\tud@locale@german{\titlename}{Titel}%
\tud@locale@german{\coursename}{Studiengang}%
\tud@locale@german{\disciplinename}{Studienrichtung}%
@@ -413,7 +452,7 @@
\tud@locale@german{\contactpersonname}{Ansprechpartner}%
\tud@locale@english{\taskname}{Task}%
\tud@locale@english{\tasktext}{for the preparation of a}%
-\tud@locale@english{\authorname}{Name}%
+\tud@locale@english{\namesname}{Name}%
\tud@locale@english{\titlename}{Title}%
\tud@locale@english{\coursename}{Course}%
\tud@locale@english{\disciplinename}{Discipline}%
diff --git a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
index b867e5bdd79..2a73477fe98 100644
--- a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
@@ -34,9 +34,9 @@
%% ============================================================================
%%
%%% From File: tudscr-twocolfix.dtx
-\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{twocolfix}[%
- 2015/06/11 v2.03a TUD-KOMA-Script
+ 2015/07/02 v2.04 TUD-KOMA-Script
package
(twocolumn layout bugfix)%
]
@@ -50,6 +50,10 @@
\begingroup%
\normalcolor%
\hsize\textwidth%
+ \@parboxrestore%
+ \ifcsname KOMAClassName\endcsname%
+ \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}%
+ \fi%
\col@number \@ne%
\ignorespaces #1\par%
\ifdim\parskip>\z@\null\fi%