diff options
author | Karl Berry <karl@freefriends.org> | 2015-07-02 22:12:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-07-02 22:12:17 +0000 |
commit | 586aedcf63ecf6ea7da1c1529e5ea5ba8f5cb426 (patch) | |
tree | b679941add6df7f6b1ee8c135b24181f992dcb65 /Master/texmf-dist/tex/latex | |
parent | fecdcd43eaa7f73e830159293fe22a202803086b (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.sty | 36 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls | 4017 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty | 122 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls | 4389 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty | 10 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty | 64 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls | 48 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty | 981 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrman.cls | 260 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrman.sty | 122 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls | 4393 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty | 177 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/twocolfix.sty | 8 |
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% |