diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls | 3677 |
1 files changed, 1967 insertions, 1710 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls index c1f10f56c1a..5ac84b10711 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls @@ -4,7 +4,7 @@ %% %% The original source files were: %% -%% tudscr-version.dtx (with options: `class,book') +%% tudscr-version.dtx (with options: `class,book,identify') %% tudscr-base.dtx (with options: `class,book,load') %% tudscr-base.dtx (with options: `class,book,option') %% tudscr-fonts.dtx (with options: `class,book,option') @@ -25,14 +25,15 @@ %% tudscr-layout.dtx (with options: `class,book,body') %% tudscr-title.dtx (with options: `class,book,body') %% tudscr-frontmatter.dtx (with options: `class,book,body') -%% tudscr-comp.dtx (with options: `class,book,body') %% tudscr-misc.dtx (with options: `class,book,body') +%% tudscr-comp.dtx (with options: `class,book,body') %% %% TUD-Script -- Corporate Design of Technische Universitaet Dresden +%% 2022/08/09 v2.06o TUD-Script %% -%% 2021/07/15 v2.06n TUD-Script -%% -%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2021 +%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2022 +%% https://github.com/tud-cd/tudscr +%% https://latex.wcms-file3.tu-dresden.de/phpBB3/ %% %% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- @@ -48,74 +49,80 @@ %% %% The current maintainer and author of this work is Falk Hanisch. %% -%%% From File: tudscr-version.dtx +%%%% From File: tudscr-version.dtx (no git version info was found) +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \begingroup - \catcode`\@11\relax - \ifx\TUD@Version\@undefined - \newcommand*\TUD@Version@Check[1]{% + \catcode`\@11\relax% + \ifx\TUD@Version\@undefined% + \newcommand*\TUD@@Version[2]{% \gdef\TUD@Version{#1}% - \gdef\TUDScriptVersion{#1}% - \def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}% - \edef\@tempa{\TUD@Version}% - \expandafter\@tempb\@tempa\relax? ? \relax\relax% - \gdef\TUD@Version@KOMA{3.32}% - } - \else - \newcommand*\TUD@Version@Check[1]{% + \gdef\TUD@KOMAVersion{#2}% + }% + \else% + \newcommand*\TUD@@Version[2]{% \def\@tempa{#1}% \ifx\TUD@Version\@tempa\else% \@latex@warning@no@line{% \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak% but `#1' was expected!\MessageBreak% You should not use classes, packages or files from\MessageBreak% - different TUD-Script-Bundle versions% + different TUD-Script bundle versions% }% \fi% - } - \fi - \TUD@Version@Check{2021/07/15 v2.06n TUD-Script} + }% + \fi% + \TUD@@Version{2022/08/09 v2.06o TUD-Script}{2022/05/01 v3.36 KOMA-Script}% + \ifx\TUDScriptVersion\@undefined% + \xdef\TUDScriptVersion{\TUD@Version}% + \def\@tempa#1 v#2 #3\relax#4\relax#5{\gdef#5{#2}}% + \expandafter\@tempa\TUD@Version ? ?\relax\relax{\TUDScriptVersionNumber}% + \expandafter\@tempa\TUD@KOMAVersion ? ?\relax\relax{\TUD@KOMAVersionNumber}% + \fi% \endgroup -\NeedsTeXFormat{LaTeX2e}[2019/10/01] -\providecommand*\tudscrmail{hanisch.latex@outlook.com} -\newcommand*\TUD@ProvidesClass[3]{% +\@ifundefined{TUDScript}{% + \DeclareRobustCommand\TUDScript{% + \mbox{% + \textsf{% + T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script% + }% + }\ifcsname xspace\endcsname\xspace\fi% + }% +}{} +\providecommand*\TUDScriptContact{hanisch.latex@outlook.com} +\providecommand*\TUDScriptRepository{https://github.com/tud-cd/tudscr} +\providecommand*\TUDScriptForum{https://latex.wcms-file3.tu-dresden.de/phpBB3/} +\newcommand*\TUD@ProvidesClass[3] +{% \ProvidesClass{#1}[% - 2021/07/15 v2.06n TUD-Script + 2022/08/09 v2.06o TUD-Script #3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% \ifx\TUD@Class@Parent\@undefined% - \newcommand*\TUD@Class@Name{#1}% - \TUD@Class@Info% + \newcommand*\TUD@Class@Name{#1}% + \newcommand*\TUDScriptClassName{#1}% + \providecommand*\TUDClassName{\TUDScriptClassName}% + \TUD@Class@Info% \fi% } \providecommand*\TUD@Class@Info{% \typeout{+------------------------------------------------------------------}% \typeout{| Corporate Design of Technische Universitaet Dresden}% - \typeout{| Class: \TUD@Class@Name}% - \typeout{| Version: \TUD@Version}% - \typeout{| Author: Falk Hanisch (\tudscrmail)}% - \typeout{| Repository: https://github.com/tud-cd/tudscr}% - \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}% + \typeout{| Class: \TUDScriptClassName}% + \typeout{| Version: \TUDScriptVersion}% + \typeout{| Author: Falk Hanisch (\TUDScriptContact)}% + \typeout{| Repository: \TUDScriptRepository}% + \typeout{| Forum: \TUDScriptForum}% \typeout{+------------------------------------------------------------------}% } \TUD@ProvidesClass{tudscrbook}{scrbook}{document class} -\edef\TUDScriptClassName{\TUD@Class@Name} -\providecommand*\TUDClassName{\TUDScriptClassName} -\@ifundefined{TUDScript}{% - \DeclareRobustCommand\TUDScript{% - \textsf{% - T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script% - }% - \ifcsname xspace\endcsname% - \xspace% - \fi% - }% -}{} -%%% From File: tudscr-base.dtx -\RequirePackage{tudscrbase}[\TUD@Version] +%%%% From File: tudscr-base.dtx (no git version info was found) +\RequirePackage{tudscrbase}[% + 2022/08/09 v2.06o TUD-Script +] \renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}} \AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions} -%%% From File: tudscr-base.dtx +%%%% From File: tudscr-base.dtx (no git version info was found) \newcommand*\tud@komafont@set[2]{% \ifcsdef{tud@komafont@#1}{}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}% \csdef{tud@komafont@#1}{#2\nobreak}% @@ -127,17 +134,23 @@ \newcommand*\tud@komafont@reset[1]{% \ifcsdef{tud@komafont@#1}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}{}% } -%%% From File: tudscr-fonts.dtx +%%%% From File: tudscr-fonts.dtx (no git version info was found) +\newcommand*\tud@catcodes@restore{} +\edef\tud@catcodes@restore{% + \catcode`\noexpand\"\the\catcode`\"\relax% +}% +\@makeother\"% +\AtEndOfClass{\tud@catcodes@restore} \PreventPackageFromLoading[% \ClassWarning{\TUD@Class@Name}{% The package `tudscrfonts' must not be used with\MessageBreak% a TUD-Script class% }% ]{tudscrfonts} -\newif\if@tud@cdfont@active -\newif\if@tud@cdfont@heavy -\newif\if@tud@cdfont@ultrabold -\newif\if@tud@cdfont@lining +\tud@newif\if@tud@cdfont@active +\tud@newif\if@tud@cdfont@heavy +\tud@newif\if@tud@cdfont@ultrabold +\tud@newif\if@tud@cdfont@lining \@tud@cdfont@liningtrue \TUD@key{cdfont}[true]{% \TUD@set@numkey{cdfont}{@tempa}{% @@ -235,14 +248,11 @@ \TUDoptions{cdhead=heavy}% \fi% \else% - \tud@lowerstring\tud@res@a{#1}% - \ifdimen{\tud@res@a}{% - \ifdim\tud@res@a>\z@\relax% - \TUDoptions{fontsize=#1}% - \tud@cdfont@activate% - \FamilyKeyStateProcessed% - \fi% - }{}% + \TUD@set@dimkey{cdfont}{\@tempa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \TUDoptions{fontsize=#1}% + \tud@cdfont@activate% + \fi% \fi% } \newcommand*\tud@cdfont@activate{% @@ -263,8 +273,8 @@ \tud@locked@bool@preset{@tud@cdmath@active}{false}% \TUD@SpecialOptionAtDocument{tud@math@set}% } -\newif\if@tud@cdoldfont@active -\newif\if@tud@cdoldfont@nodin +\tud@newif\if@tud@cdoldfont@active +\tud@newif\if@tud@cdoldfont@nodin \TUD@key{cdoldfont}[true]{% \TUD@set@numkey{cdoldfont}{@tempa}{% \TUD@bool@numkey,% @@ -297,6 +307,7 @@ \TUDoptions{cdfont=#1}% \fi% } +\TUD@key{cdoldfonts}[true]{\TUDoptions{cdoldfont=#1}} \AtEndOfClass% {% \if@tud@cdoldfont@active% @@ -323,12 +334,24 @@ }% \fi% } -\newif\if@tud@x@scr@fontsize@set +\tud@newif\if@tud@x@scr@fontsize@set \TUD@key{fontsize}{% - \TUD@set@dimenkey{fontsize}{\@tempa}{#1}% + \TUD@set@dimkey{fontsize}{\@tempa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \@tud@x@scr@fontsize@settrue% - \TUD@KOMAoptions{fontsize=#1}% + \ifdim\@tempa<\p@\relax% + \FamilyKeyStateUnknownValue% + \else% + \@tud@x@scr@fontsize@settrue% + \TUD@KOMAoptions{fontsize=#1}% + \fi% + \fi% + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue% + \ClassWarningNoLine{\TUD@Class@Name}% + {% + The value for option `fontsize' must be a dimension\MessageBreak% + and at least 1pt but `#1' was given% + }% + \FamilyKeyStateProcessed% \fi% } \AtEndOfClass% @@ -336,17 +359,17 @@ \RelaxFamilyKey{TUD}{fontsize}% \DefineFamilyMember{KOMA}% \DefineFamilyKey{KOMA}{fontsize}{% + \FamilyKeyStateUnknownValue% \@tud@x@scr@fontsize@settrue% \ClassWarning{\TUD@Class@Name}% {% The key `fontsize=#1' should only be\MessageBreak% used as class option% }% - \TUD@SpecialOptionAtDocument{tud@font@set}% - \FamilyKeyStateProcessed% + \TUD@SpecialOptionAtDocument{tud@relspacing@set}% }% } -\newif\if@tud@relspacing +\tud@newif\if@tud@relspacing \TUD@key{relspacing}[true]{% \TUD@set@numkey{relspacing}{@tempa}{% \TUD@bool@numkey,% @@ -359,7 +382,7 @@ \or% true \@tud@relspacingtrue% \fi% - \TUD@SpecialOptionAtDocument{tud@font@skip@set}% + \TUD@SpecialOptionAtDocument{tud@relspacing@set}% \fi% } \newcommand*\tud@ttfont@num{0} @@ -432,13 +455,13 @@ } \TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}} \TUD@key{slantedGreeks}[true]{\TUDoptions{slantedgreek=#1}} -\newif\if@tud@lgrgreeks +\tud@newif\if@tud@lgrgreeks \TUD@key{lgrgreeks}[true]{\TUD@set@ifkey{lgrgreeks}{@tud@lgrgreeks}{#1}} \TUD@key{lgrgreek}[true]{\TUDoptions{lgrgreeks=#1}} \TUD@key{LGRgreeks}[true]{\TUDoptions{lgrgreeks=#1}} \TUD@key{LGRgreek}[true]{\TUDoptions{lgrgreeks=#1}} -%%% From File: tudscr-area.dtx -\newif\if@tud@cdgeometry@reset +%%%% From File: tudscr-area.dtx (no git version info was found) +\tud@newif\if@tud@cdgeometry@reset \newcommand*\tud@cdgeometry@reset[1]{% \@tud@cdgeometry@resettrue% \TUDoptions{cdgeometry=#1}% @@ -487,7 +510,7 @@ \or% custom \tud@locked@num@set{tud@cdgeometry@num}{1}% \fi% - \if@atdocument% + \tud@if@preamble{}{% \if@tud@cdgeometry@reset\else% false \ifcase\tud@cdgeometry@num\relax% \tud@loadgeometry{current@typearea}% @@ -498,51 +521,54 @@ \fi% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% \fi% - \fi% + }% \fi% } -\newcommand*\tud@dim@extrabottommargin{\z@} +\newcommand*\tud@extrabottommargin@dim{0pt} \TUD@key{extrabottommargin}{% - \TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}% + \TUD@set@dimkey{extrabottommargin}{\tud@extrabottommargin@dim}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% \fi% } -\newcommand*\tud@dim@bleedmargin{.2in} +\newcommand*\tud@bleedmargin@dim{.2in} \TUD@key{bleedmargin}{% - \TUD@set@dimenkey{bleedmargin}{\tud@dim@bleedmargin}{#1}% + \TUD@set@dimkey{bleedmargin}{\tud@bleedmargin@dim}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifdim\dimexpr\tud@dim@bleedmargin\relax<\z@\relax% - \def\@tempa-##1\@nil{\def\tud@dim@bleedmargin{##1}}% - \@tempa#1\@nil% - \fi% + \tud@length@setabsolute\tud@bleedmargin@dim% \fi% } \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{twoside}{% + \FamilyKeyStateUnknownValue% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% - \FamilyKeyStateProcessed% } \DefineFamilyKey{KOMA}{twocolumn}{% + \FamilyKeyStateUnknownValue% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% - \FamilyKeyStateProcessed% } \newcommand*\tud@x@typearea@warnings@off[1][]{% \IfArgIsEmpty{#1}{}{\let#1\@empty}% \tud@cs@store{PackageWarningNoLine}% \renewcommand*\PackageWarningNoLine[2]{% \@tud@res@swatrue% - \ifstr{##1}{typearea}{% - \ifstrstart{##2}{Bad type area settings!}{\@tud@res@swafalse}{}% - \ifstrstart{##2}{% + \tud@if@strequal{##1}{typearea}{% + \tud@if@strstart{##2}{% + Bad type area settings!% + }{\@tud@res@swafalse}{}% + \tud@if@strstart{##2}{% Maybe no optimal type area settings!% }{\@tud@res@swafalse}{}% - \ifstrstart{##2}{Very low DIV value!}{\@tud@res@swafalse}{}% + \tud@if@strstart{##2}{% + Very low DIV value!% + }{\@tud@res@swafalse}{}% }{}% \if@tud@res@swa% - \tud@cs@use{PackageWarning}{##1}{##2}% + \tud@cs@use{PackageWarningNoLine}{##1}{##2}% \else% - \IfArgIsEmpty{#1}{}{\listeadd#1{##2}}% + \IfArgIsEmpty{#1}{}{% + \listeadd#1{\noexpand\tud@cs@use{PackageWarningNoLine}{##1}{##2}}% + }% \fi% }% } @@ -555,12 +581,75 @@ \AfterPackage{typearea}{% \tud@x@typearea@warnings@on% } -%%% From File: tudscr-pagestyle.dtx +%%%% From File: tudscr-pagestyle.dtx (no git version info was found) +\tud@newif\if@tud@ddc@internal +\newcommand*\tud@comp@clearpage{}% +\newcommand*\tud@comp@resetpagestyle{}% +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@bool@numkey,% + {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% + {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% + {gray}{4},{grey}{4},{hks92}{4},{cdgray}{4},{cdgrey}{4},% + {black}{5},{cdblack}{5},% + {blue}{6},{hks41}{6},{cdblue}{6},{cddarkblue}{6},% + {white}{7},{cdwhite}{7}% +} +\tud@newif\if@tud@headlogo@option@set +\tud@newif\if@tud@footlogo@option@set +\tud@newif\if@tud@ddc@auto +\newcommand*\tud@ddc@auto@num{0} +\TUD@key{ddc}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal% + \@tud@ddc@autofalse% + \else% + \@tud@ddc@autotrue% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@internalfalse% + \fi% + \global\@tud@headlogo@option@settrue% + \global\@tud@footlogo@option@settrue% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@head@num{0} +\TUD@key{ddchead}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddcfoot=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@foot@num{0} +\TUD@key{ddcfoot}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} \tud@locked@newnum{tud@head@font@num}{0} \tud@locked@newnum{tud@head@bar@num}{0} \tud@locked@newbool{@tud@head@widebar} -\newif\if@tud@head@font@set -\newif\if@tud@head@date +\tud@newif\if@tud@head@font@set +\tud@newif\if@tud@head@date \TUD@key{cdhead}[true]{% \TUD@set@numkey{cdhead}{@tempa}{% \TUD@bool@numkey,% @@ -649,8 +738,10 @@ \tud@locked@bool@set{@tud@foot@colored}{true}% \fi% \else% - \tud@lowerstring\tud@res@a{#1}% - \ifdimen{\tud@res@a}{\TUDoptions{extrabottommargin=#1}}{}% + \TUD@set@dimkey{cdfoot}{\@tempa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \TUDoptions{extrabottommargin=#1}% + \fi% \fi% } \newcommand*\tud@ps@store[1]{% @@ -687,87 +778,20 @@ \tud@ps@@restore{#1}{even}{middle}{foot}% } \newcommand*\tud@ps@@restore[4]{% - \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% + \ifcsundef{@@tud@ps@#1@#2@#3@#4}{}{% \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% \csundef{@@tud@ps@#1@#2@#3@#4}% - }{}% + }% } -\newcommand*\tud@dim@footlogoheight{} -\let\tud@dim@footlogoheight\relax +\newcommand*\tud@footlogoheight@dim{0pt} \TUD@key{footlogoheight}{% - \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% - \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% - \@tempa#1\@nil% - \fi% - \global\@tud@footlogo@option@settrue% - \fi% -} -\newif\if@tud@ddc@internal -\newcommand*\tud@comp@clearpage{}% -\newcommand*\tud@comp@resetpagestyle{}% -\newcommand*\tud@ddc@switch{} -\edef\tud@ddc@switch{% - \TUD@bool@numkey,% - {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% - {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% - {gray}{4},{grey}{4},{hks92}{4},{cdgray}{4},{cdgrey}{4},% - {black}{5},{cdblack}{5},% - {blue}{6},{hks41}{6},{cdblue}{6},{cddarkblue}{6},% - {white}{7},{cdwhite}{7}% -} -\newif\if@tud@headlogo@option@set -\newif\if@tud@footlogo@option@set -\newif\if@tud@ddc@auto -\newcommand*\tud@ddc@auto@num{0} -\TUD@key{ddc}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% + \TUD@set@dimkey{footlogoheight}{\tud@footlogoheight@dim}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal% - \@tud@ddc@autofalse% - \else% - \@tud@ddc@autotrue% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddcfoot=false}% - \@tud@ddc@internalfalse% - \fi% - \global\@tud@headlogo@option@settrue% + \tud@length@setabsolute\tud@footlogoheight@dim% \global\@tud@footlogo@option@settrue% \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@head@num{0} -\TUD@key{ddchead}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddcfoot=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@foot@num{0} -\TUD@key{ddcfoot}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% } -%%% From File: tudscr-layout.dtx +%%%% From File: tudscr-layout.dtx (no git version info was found) \newcommand*\tud@cd@switch{} \edef\tud@cd@switch{% \TUD@bool@numkey,% @@ -795,13 +819,13 @@ \TUD@key@preset{cdchapter}{#1}% \TUD@key@preset{cdsection}{#1}% \TUD@SpecialOptionAtDocument{tud@cd@process}% - \if@atdocument\else% + \tud@if@preamble{% \ifcase\tud@cd@num\relax% false \tud@locked@num@preset{tud@cdgeometry@num}{0}% \else% !false \tud@locked@num@preset{tud@cdgeometry@num}{2}% \fi% - \fi% + }{}% \fi% } \newcommand*\tud@cd@cover@num{0} @@ -844,15 +868,15 @@ \TUD@SpecialOptionAtDocument{tud@cd@process}% \fi% } -\newif\if@tud@parttitle +\tud@newif\if@tud@parttitle \TUD@key{parttitle}[true]{% \TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}% } -\newif\if@tud@chapterpage +\tud@newif\if@tud@chapterpage \TUD@key{chapterpage}[true]{% \TUD@set@ifkey{chapterpage}{@tud@chapterpage}{#1}% } -\newif\if@tud@clearcolor +\tud@newif\if@tud@clearcolor \newcommand*\tud@cleardoublepage{\cleardoubleoddpage} \TUD@key{cleardoublespecialpage}[true]{% \TUD@set@numkey{cleardoublespecialpage}{@tempa}{% @@ -877,7 +901,7 @@ \renewcommand*\tud@cleardoublepage{\cleardoubleoddstandardpage}% \fi% \else% - \AfterPreamble{% + \AfterEndPreamble{% \ifcsundef{ps@#1}{% \ClassError{\TUD@Class@Name}{`#1' is no valid pagestyle}{% You tried to use `#1' as a pagestyle for option\MessageBreak% @@ -891,19 +915,28 @@ \fi% } \newcommand*\tud@pagecolor{}% -\newcommand*\tud@dim@pageheadingsvskip{0pt} -\TUD@key{pageheadingsvskip}{% - \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}% +\AfterPackage{xcolor}{% + \apptocmd\normalcolor{% + \tud@if@strequal{\tud@pagecolor}{HKS41}{\color{white}}{}% + }{}{\tud@patch@wrn{normalcolor}}% + \AtBeginDocument{% + \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}% + \normalcolor% + }% } -\newcommand*\tud@dim@headingsvskip{0pt} +\newcommand*\tud@headingsvskip@dim{0pt} \TUD@key{headingsvskip}{% - \TUD@set@dimenkey{headingsvskip}{\tud@dim@headingsvskip}{#1}% + \TUD@set@dimkey{headingsvskip}{\tud@headingsvskip@dim}{#1}% +} +\newcommand*\tud@pageheadingsvskip@dim{\tud@headingsvskip@dim} +\TUD@key{pageheadingsvskip}{% + \TUD@set@dimkey{pageheadingsvskip}{\tud@pageheadingsvskip@dim}{#1}% } -\newif\if@tud@heavyheadings +\tud@newif\if@tud@heavyheadings \TUD@key{headings}{% \TUD@set@numkey{headings}{@tempa}{% {light}{0},{lightfont}{0},{lite}{0},{litefont}{0},{noheavyfont}{0},% - {normal}{0},{standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},% + {standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},% {heavy}{1},{heavyfont}{1},{bold}{1},{boldfont}{1},% {ultrabold}{1},{boldultra}{1},{heavybold}{1},{boldheavy}{1},% {extendedbold}{1},{boldextended}{1}% @@ -918,27 +951,27 @@ } \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% + \FamilyKeyStateUnknownValue% \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% - \FamilyKeyStateProcessed% } \DefineFamilyKey{KOMA}{open}{% + \FamilyKeyStateUnknownValue% \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% - \FamilyKeyStateProcessed% } \DefineFamilyKey{KOMA}{chapterprefix}{% + \FamilyKeyStateUnknownValue% \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% - \FamilyKeyStateProcessed% } -%%% From File: tudscr-title.dtx -\newif\if@tud@subjectthesis +%%%% From File: tudscr-title.dtx (no git version info was found) +\tud@newif\if@tud@subjectthesis \TUD@key{subjectthesis}[true]{% \TUD@set@ifkey{subjectthesis}{@tud@subjectthesis}{#1}% } -\newif\if@tud@titlesignature +\tud@newif\if@tud@titlesignature \TUD@key{titlesignature}[true]{% \TUD@set@ifkey{titlesignature}{@tud@titlesignature}{#1}% } -%%% From File: tudscr-frontmatter.dtx +%%%% From File: tudscr-frontmatter.dtx (no git version info was found) \newcommand*\tud@fm@switch{% {section}{2},{sect}{2},{sec}{2},{addsec}{2},% {chapter}{3},{chap}{3},{addchap}{3},% @@ -958,11 +991,11 @@ } \newcommand*\tud@abstract@level@num{3} \tud@locked@newnum{tud@abstract@toc@num}{1} -\newif\if@tud@abstract@multi +\tud@newif\if@tud@abstract@multi \@tud@abstract@multitrue -\newif\if@tud@abstract@fil +\tud@newif\if@tud@abstract@fil \@tud@abstract@filtrue -\newif\if@tud@abstract@markboth +\tud@newif\if@tud@abstract@markboth \TUD@key{abstract}[chapter]{% \edef\@tempb{\tud@fm@switch}% \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% @@ -1017,15 +1050,16 @@ } \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{abstract}[true]{% + \FamilyKeyStateUnknownValue% \AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}% } \newcommand*\tud@declaration@level@num{3} \tud@locked@newnum{tud@declaration@toc@num}{1} -\newif\if@tud@declaration@multi +\tud@newif\if@tud@declaration@multi \@tud@declaration@multitrue -\newif\if@tud@declaration@fil +\tud@newif\if@tud@declaration@fil \@tud@declaration@filtrue -\newif\if@tud@declaration@markboth +\tud@newif\if@tud@declaration@markboth \TUD@key{declaration}[chapter]{% \edef\@tempb{\TUD@bool@numkey,\tud@fm@switch}% \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% @@ -1082,8 +1116,8 @@ \fi% \fi% } -%%% From File: tudscr-misc.dtx -\newif\if@tud@bookmarks +%%%% From File: tudscr-misc.dtx (no git version info was found) +\tud@newif\if@tud@bookmarks \TUD@key{tudbookmarks}[true]{% \TUD@set@ifkey{tudbookmarks}{@tud@bookmarks}{#1}% } @@ -1093,7 +1127,7 @@ } \newcommand*\tud@x@scr@pt{} \def\tud@x@scr@pt #1pt#2\@nil{% - \ifstr{#2}{pt}{\ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}% + \tud@if@strequal{#2}{pt}{\Ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}% } \newcommand*\tud@atdocument@hook{} \let\tud@atdocument@hook\relax @@ -1110,7 +1144,7 @@ \gappto\tud@atdocument@hook{\global\booltrue{@#1}}% }% } -%%% From File: tudscr-comp.dtx +%%%% From File: tudscr-comp.dtx (no git version info was found) \newcommand*\TUD@deprecated@key[2]{% \ClassWarning{\TUD@Class@Name}% {% @@ -1161,16 +1195,23 @@ \tud@res@c% }{}% } -\newcommand*\TUD@deprecated@lengthcs[2][]{% - \ifdim\csuse{#2}<\maxdimen\relax% - \ClassWarning{\TUD@Class@Name}{% - Using the length `\@backslashchar#2' is deprecated. \MessageBreak% - You should use option `#2' instead% - }% - \csxdef{tud@dim@#2}{\the\csuse{#2}}% - \expandafter\setlength\csname #2\endcsname{\maxdimen}% - \global\csuse{#2}=\csuse{#2}% - #1% +\newcommand*\TUD@deprecated@length[1]{% + \ifdim#1<\maxdimen\relax% + \begingroup% + \tud@strlength\tud@res@a{#1}% + \edef\tud@res@b{\expandafter\@gobble\string#1}% + \ClassWarning{\TUD@Class@Name}{% + Setting length `\string#1' is deprecated. \MessageBreak% + The option `\tud@res@b=\tud@res@a'\MessageBreak% + is used instead% + }% + \edef\tud@res@a{% + \endgroup% + \noexpand\TUDoption{\tud@res@b}{\tud@res@a}% + \global\noexpand\csletcs{tud@\tud@res@b @dim}{tud@\tud@res@b @dim}% + }% + \tud@res@a% + \global\setlength#1{\maxdimen}% \fi% } \newcommand*\tud@v@comp{\tud@v@last} @@ -1198,88 +1239,35 @@ {% \RelaxFamilyKey[.comp]{TUD}{tudscrver}% \TUD@key@toolate{tudscrver}% - \ifcsdef{scr@v@\TUD@Version@KOMA}{% - \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% - \ClassError{\TUD@Class@Name}{% - KOMA-Script compatibility level too low% - }{% - \TUD@Version\space must be used at least with\MessageBreak% - `version=3.12' KOMA-Script compatibility option.% - }% - \fi% - }{% - \ClassError{\TUD@Class@Name}{% - KOMA-Script v\TUD@Version@KOMA is required% - }{% - \TUD@Version\space must at least be used with\MessageBreak% - KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion was found.% - }% - }% } \csdef{tud@v@first}{0} \csdef{tud@v@2.00}{0} \csdef{tud@v@2.01}{0} -\csdef{tud@v@2.01a}{0} -\csdef{tud@v@2.01b}{0} \csdef{tud@v@2.02}{0} \csdef{tud@v@2.03}{1} -\csdef{tud@v@2.03a}{1} \csdef{tud@v@2.04}{2} -\csdef{tud@v@2.04a}{2} -\csdef{tud@v@2.04b}{2} -\csdef{tud@v@2.04c}{2} -\csdef{tud@v@2.04d}{2} -\csdef{tud@v@2.04e}{2} \csdef{tud@v@2.05}{3} -\csdef{tud@v@2.05a}{3} -\csdef{tud@v@2.05b}{3} -\csdef{tud@v@2.05c}{3} -\csdef{tud@v@2.05d}{3} -\csdef{tud@v@2.05e}{3} -\csdef{tud@v@2.05f}{3} -\csdef{tud@v@2.05g}{3} -\csdef{tud@v@2.05h}{3} -\csdef{tud@v@2.05i}{3} -\csdef{tud@v@2.05k}{3} -\csdef{tud@v@2.05l}{3} -\csdef{tud@v@2.05m}{3} \csdef{tud@v@2.06}{4} -\csdef{tud@v@2.06a}{4} -\csdef{tud@v@2.06b}{4} -\csdef{tud@v@2.06c}{4} -\csdef{tud@v@2.06d}{4} -\csdef{tud@v@2.06e}{4} -\csdef{tud@v@2.06f}{4} -\csdef{tud@v@2.06g}{4} -\csdef{tud@v@2.06h}{4} -\csdef{tud@v@2.06i}{4} -\csdef{tud@v@2.06j}{4} -\csdef{tud@v@2.06k}{4} -\csdef{tud@v@2.06l}{4} -\csdef{tud@v@2.06m}{4} -\csdef{tud@v@2.06n}{4} \csdef{tud@v@last}{4} \newcommand*\tud@v@get[2]{% \begingroup% - \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempa{% + \kernel@ifnextchar v% + {\@tempb}% + {\@tempb v}% + }% \def\@tempb v##1\@nil{\def\@tempc{##1}}% \@tempa #2\@nil% \edef\tud@reserved{% \endgroup% - \etex@unexpanded{\def#1}{\@tempc}% + \unexpanded{\def#1}{\@tempc}% }% \tud@reserved% } \newcommand*\tud@if@v@lower[1]{% \begingroup% \tud@v@get\@tempa{#1}% - \ifcsdef{tud@v@\@tempa}{% - \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% - \def\tud@reserved{\endgroup\@firstoftwo}% - \else% - \def\tud@reserved{\endgroup\@secondoftwo}% - \fi% - }{% + \ifcsundef{tud@v@\@tempa}{% \def\tud@reserved{% \ClassWarningNoLine{\TUD@Class@Name}% {% @@ -1288,6 +1276,12 @@ }% \endgroup\@firstoftwo% }% + }{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% }% \tud@reserved% } @@ -1441,7 +1435,7 @@ \fi% } \TUD@key{clearcolour}[true]{\TUDoptions{clearcolor=#1}} -\newif\if@tud@x@fontspec@requested +\tud@newif\if@tud@x@fontspec@requested \TUD@key{fontspec}[true]{% \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% @@ -1456,12 +1450,12 @@ {% \TUD@key@toolate{fontspec}% \if@tud@x@fontspec@requested% - \RequirePackage{fontspec}[2017/01/24]% + \RequirePackage{fontspec} \fi% } -%%% From File: tudscr-misc.dtx +%%%% From File: tudscr-misc.dtx (no git version info was found) \DeclareOption*{} -\FamilyProcessOptions[.comp]{TUD}\relax +\TUDProcessOptions[.comp]\relax \tud@if@v@lower{2.05}{% \TUD@key@preset{relspacing}{false}% }{% @@ -1476,34 +1470,36 @@ \TUD@key@preset{ttfont}{roboto}% \TUD@key@preset{headings}{heavy}% } -\DeclareOption*{\tud@x@scr@checkoptions} \TUDExecuteOptions{% cd=true,tudbookmarks=true% } +\DeclareOption*{\tud@x@scr@checkoptions} \TUDProcessOptions\relax -\LoadClass{\TUD@Class@KOMA}[2020/09/21] +\LoadClass{\TUD@Class@KOMA}[% + 2022/05/01 v3.36 KOMA-Script +] \newcommand*\TUD@key@toolate[1]{% - \csedef{tud@key@#1@error}{% + \csedef{tud@key@toolate@@#1}{% \noexpand\ClassError{\noexpand\TUD@Class@Name}% {Option `#1' too late}{% Option `#1' can only be set\space% - \ifcsname \@currname.\@currext-h@@k\endcsname% + \ifcsdef{\@currname.\@currext-h@@k}{% as optional \MessageBreak argument while loading\space% class `\noexpand\TUD@Class@Name'% - \else% - in the preamble - \fi% + }{% + in the preamble% + }% \MessageBreak but you have tried to set it up later.% }% }% - \TUD@key{#1}[]% + \TUD@key[]{#1}[]% {% - \csuse{tud@key@#1@error} + \csuse{tud@key@toolate@@#1}% \FamilyKeyStateProcessed% }% } -%%% From File: tudscr-base.dtx -\RequirePackage{environ}[2013/04/01] +%%%% From File: tudscr-base.dtx (no git version info was found) +\RequirePackage{environ} \newcommand*\tud@x@multicol@num{1} \newcommand*\tud@x@multicol@check{% \ifnum\tud@x@multicol@num>\@ne\relax% @@ -1523,14 +1519,16 @@ which now will be loaded automatically% }% }{}% - \RequirePackage{graphicx}[1999/02/16]% + \RequirePackage{graphicx} }% - \RequirePackage{tudscrcolor}[\TUD@Version]% + \RequirePackage{tudscrcolor}[% + 2022/08/09 v2.06o TUD-Script + ]% } -%%% From File: tudscr-fonts.dtx +%%%% From File: tudscr-fonts.dtx (no git version info was found) \newcommand*\tud@cdfont@wrn{\global\let\tud@cdfont@wrn\relax} \newcommand*\tud@cdmath@wrn{\global\let\tud@cdmath@wrn\relax} -\newif\if@tud@x@fontspec@enabled +\tud@newif\if@tud@x@fontspec@enabled \PassOptionsToPackage{no-math}{fontspec} \AfterPackage*{fontspec}{% \@ifpackagelater{fontspec}{2017/01/24}{% @@ -1569,11 +1567,9 @@ }% }% } -\TUD@RecommendPackage{mweights}[2017/03/30]% -\newif\if@tud@x@mweights@enabled +\TUD@RecommendPackage{mweights} +\tud@newif\if@tud@x@mweights@enabled \AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue} -\newif\if@tud@cdfont@fam@exist -\newif\if@tud@cdfont@db@exist \newcommand*\tud@cdfont@fam{opensans-TLF} \newcommand*\tud@cdfont@fam@lf{opensans-TLF} \newcommand*\tud@cdfont@fam@osf{opensans-TOsF} @@ -1586,12 +1582,17 @@ \newcommand*\tud@ttfont@fam{tudtt} \newcommand*\tud@ttfont@rb{tudtt} \newcommand*\tud@ttfont@lm{lmtt} -\newif\if@tud@ttfont@rb@exist +\tud@newif\if@tud@ttfont@rb@exist \IfFileExists{roboto-mono.sty}{% \@tud@ttfont@rb@existtrue% }{% \TUD@key@preset{ttfont}{lmodern}% } +\tud@newif\if@tud@cdfont@fam@exist +\tud@newif\if@tud@cdfont@db@exist +\tud@newif\if@tud@cdmath@fam@exist +\tud@newif\if@tud@cdmath@db@exist +\newcommand*\tud@x@mathastext@enc{OT1} \newcommand*\tud@cdfont@check{% \if@tud@cdoldfont@active% \tud@cdfont@@check{Univers}{% @@ -1599,8 +1600,8 @@ LightOblique,Oblique,BoldOblique,BlackOblique% }{\tud@cdfont@fam@lf}{@tud@cdfont@fam@exist}% \tud@cdfont@@check{DIN}{Bold}{\tud@cdfont@db}{@tud@cdfont@db@exist}% - \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}% - \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}% + \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}{@tud@cdmath@fam@exist}% + \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}{@tud@cdmath@db@exist}% \else% \@ifpackageloaded{opensans}{% \ClassWarningNoLine{\TUD@Class@Name}% @@ -1617,6 +1618,17 @@ Light,Regular,SemiBold,Bold,ExtraBold,% LightItalic,Italic,SemiBoldItalic,BoldItalic,ExtraBoldItalic% }{\tud@cdfont@fam@lf,\tud@cdfont@fam@osf}{@tud@cdfont@fam@exist}% + \@expandtwoargs\in@{,\encodingdefault,}{,OT1,T1,TU,EU1,EU2,}% + \ifin@% + \let\tud@x@mathastext@enc\encodingdefault% + \@expandtwoargs\in@{,\tud@x@mathastext@enc,}{,TU,EU1,EU2,}% + \ifin@% + \@tud@cdmath@fam@existtrue% + \else% + \tud@cdfont@@@check{\tud@x@mathastext@enc}% + {\tud@cdfont@fam@lf}{@tud@cdmath@fam@exist}% + \fi% + \fi% \fi% } \newcommand*\tud@cdfont@@check[5][-]{% @@ -1651,7 +1663,7 @@ \boolfalse{#5}% \fi% } -\newcommand*\tud@cdfont@@@check[2]{% +\newcommand*\tud@cdfont@@@check[3]{% \@tud@res@swatrue% \def\tud@res@a##1##2{% \@tud@res@swafalse% @@ -1668,7 +1680,10 @@ }% }% \@for\tud@res@c:={#1}\do{\tud@res@b{\tud@res@c}{#2}}% - \if@tud@res@swa\else% + \if@tud@res@swa% + \booltrue{#3}% + \else% + \boolfalse{#3}% \AtBeginDocument{% \if@tud@cdmath@active% \ClassWarningNoLine{\TUD@Class@Name}% @@ -1676,8 +1691,12 @@ Some math font encodings are missing. \MessageBreak% The option `cdmath=false' is executed. You should\MessageBreak% either use this option by yourself or install\MessageBreak% - all necessary fonts with a installation script\MessageBreak% - listed in the manual + \if@tud@cdoldfont@active% + all necessary fonts with a installation script\MessageBreak% + listed in the manual% + \else% + package `opensans'% + \fi% }% \fi% \TUDoptions{cdmath=false}% @@ -1691,7 +1710,7 @@ not found for `#1' encoding. \MessageBreak% }% \if@tud@x@fontspec@enabled% - \ifstr{\encodingdefault}{#1}{% + \tud@if@strequal{#1}{\encodingdefault}{% \appto\tud@res@a{% It seems, you haven't installed the required\MessageBreak% OTF-font on your system. You should provide\MessageBreak% @@ -1709,7 +1728,7 @@ \fi% \@tud@res@swafalse% \@for\tud@res@c:=\tud@res@b\do{% - \ifstr{\tud@res@c}{#1}{\@tud@res@swatrue}{}% + \tud@if@strequal{#1}{\tud@res@c}{\@tud@res@swatrue}{}% }% \if@tud@res@swa% \appto\tud@res@a{% @@ -1723,8 +1742,8 @@ . \MessageBreak% }% \else% - \ifstr{\encodingdefault}{#1}{% - \ifstr{TU}{#1}{% + \tud@if@strequal{#1}{\encodingdefault}{% + \tud@if@strequal{#1}{TU}{% \appto\tud@res@a{% You should either load package `fontspec'\MessageBreak% or % @@ -1741,40 +1760,12 @@ \fi% \appto\tud@res@a{A fallback layout is used}% \edef\tud@res@c{% - \etex@unexpanded{\ClassWarning{\TUD@Class@Name}}% - {\tud@res@a} + \unexpanded{\ClassWarningNoLine{\TUD@Class@Name}}% + {\tud@res@a}% }% \xappto#3{\expandonce\tud@res@c}% \endgroup% } -\begingroup -\catcode`\^=7 -\catcode30=12 -\catcode`\!=12 -\edef\tud@reserved{\@gobble^^^^0021} -\expandafter\endgroup -\ifx\tud@reserved\@empty\relax - \RequirePackage{newunicodechar}[2012/11/12]% - \uccode"00DF="1E9E% - \lccode"1E9E="00DF% - \newunicodechar{^^^^00df}{\iffontchar\font"00DF \symbol{"00DF}\else ss\fi}% - \newunicodechar{^^^^1e9e}{\iffontchar\font"1E9E \symbol{"1E9E}\else SS\fi}% -\fi -\newcommand*\tud@raggedright{\raggedright} -\newcommand*\tud@RaggedRight{\raggedright} -\AfterPackage*{ragged2e}{% - \ifundef{\LaTeXraggedright}{}{% - \renewcommand*\tud@raggedright{\LaTeXraggedright}% - }% - \renewcommand*\tud@RaggedRight{\RaggedRight}% -} -\newif\if@tud@x@siunitx@enabled -\AfterAtEndOfPackage*{siunitx}{% - \@tud@x@siunitx@enabledtrue% - \providecommand*\lseries{\fontseries{l}\selectfont}% -} -\newif\if@tud@x@bm@requested -\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} \newcommand*\tud@x@fontspec@init[2]{% \begingroup% \edef\tud@res@a{% @@ -1804,7 +1795,7 @@ }% \edef\tud@res@a{% \endgroup% - \noexpand\DeclareRobustCommand% + \noexpand\renewrobustcmd*% \expandafter\noexpand\csname #1family\endcsname{% \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname% }% @@ -1812,8 +1803,9 @@ }% \tud@res@a% } -\newcommand*\tud@font@set{% +\newcommand*\tud@font@set[1][\tud@cdfont@wrn]{% \if@tud@cdfont@active% + #1% \tud@cs@store{rmdefault}% \tud@cs@store{sfdefault}% \tud@cs@store{ttdefault}% @@ -1838,13 +1830,6 @@ \tud@cs@store{sffamily}% \tud@cs@store{ttfamily}% \fi% - \renewcommand*\rmdefault{\sfdefault}% - \renewcommand*\updefault{n}% - \renewcommand*\itdefault{it}% - \renewcommand*\sldefault{sl}% - \renewcommand*\familydefault{\sfdefault}% - \renewcommand*\seriesdefault{\mddefault}% - \renewcommand*\shapedefault{\updefault}% \tud@cdfont@set% \tud@cdfont@symbols@set% \tud@ttfont@set% @@ -1893,12 +1878,19 @@ \edef\mddef@ult{\mddefault}% \edef\famdef@ult{\familydefault}% \fi% - \tud@font@skip@set% + \tud@relspacing@set% \normalfont\selectfont% \tud@cd@process% \global\@tud@head@font@settrue% } \newcommand*\tud@cdfont@set{% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\updefault{n}% + \renewcommand*\itdefault{it}% + \renewcommand*\sldefault{sl}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% \if@tud@cdfont@fam@exist% \if@tud@cdfont@lining% \let\tud@cdfont@fam\tud@cdfont@fam@lf% @@ -1912,7 +1904,6 @@ \fi% \tud@cdfont@@set% \fi% - \tud@cdfont@wrn% } \newcommand*\tud@cdfont@md{m} \newcommand*\tud@cdfont@bf{b} @@ -1980,7 +1971,7 @@ \tud@res@a% \expandafter\robustify\csname tud@cdfont@symbol@#1\endcsname% } -\newtoks\tud@cdfont@symbols@toks +\tud@newtoks\tud@cdfont@symbols@toks \newcommand*\tud@cdfont@symbols@set{% \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdfont@symbols@toks}{% \forlistloop\tud@cdfont@symbols@set@cmd\tud@cdfont@symb@list% @@ -2001,35 +1992,57 @@ \tud@cdfont@declare@symb{textlangle}{TS1}{iwona}{60}% \tud@cdfont@declare@symb{textrangle}{TS1}{iwona}{62}% } -\newcommand*\tud@font@skip@set{% +\newcommand*\tud@relspacing@set{% \if@tud@relspacing% - \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% + \tud@cslength@store{smallskipamount}% + \tud@cslength@store{medskipamount}% + \tud@cslength@store{bigskipamount}% + \tud@cslength@store{abovecaptionskip}% + \tud@cslength@store{belowcaptionskip}% + \tud@cslength@store{columnsep}% + \tud@relspacing@@set% \else% - \tud@skip@restore{smallskipamount}% - \tud@skip@restore{medskipamount}% - \tud@skip@restore{bigskipamount}% - \tud@skip@restore{abovecaptionskip}% - \tud@skip@restore{belowcaptionskip}% - \tud@skip@restore{columnsep}% - \fi% -} -\newcommand*\tud@font@skip@@set{% - \smallskipamount=\partopsep% - \medskipamount=\partopsep% - \multiply\medskipamount by 2% - \bigskipamount=\partopsep% - \multiply\bigskipamount by 4% - \tud@skip@set{abovecaptionskip}{\dimexpr\bigskipamount*5/6\relax}% - \tud@skip@set{belowcaptionskip}{\z@}% - \tud@skip@set{columnsep}{1.1\baselineskip}% + \tud@cslength@restore{smallskipamount}% + \tud@cslength@restore{medskipamount}% + \tud@cslength@restore{bigskipamount}% + \tud@cslength@restore{abovecaptionskip}% + \tud@cslength@restore{belowcaptionskip}% + \tud@cslength@restore{columnsep}% + \fi% +} +\newcommand*\tud@relspacing@@set{% + \tud@if@v@lower{2.06}{% + \bigskipamount=\partopsep% + \multiply\bigskipamount by 4% + }{% + \begingroup% + \tud@setdim\@tempdima{\dimexpr\abovedisplayskip\relax}% + \tud@setdim\@tempdimb{\@tempdima/3}% + \edef\tud@res@a{% + \endgroup% + \noexpand\tud@setglue\noexpand\bigskipamount{% + \the\@tempdima\@plus\the\@tempdimb\@minus\the\@tempdimb% + }% + }% + \tud@res@a% + }% + \medskipamount=\bigskipamount% + \divide\medskipamount by 2% + \smallskipamount=\bigskipamount% + \divide\smallskipamount by 4% + \tud@if@lengthregister{\abovecaptionskip}{% + \tud@setdim\abovecaptionskip{1\bigskipamount*5/6}% + }{}% + \tud@if@lengthregister{\belowcaptionskip}{% + \tud@setdim\belowcaptionskip{\z@}% + }{}% + \tud@setdim\columnsep{1\baselineskip*11/10}% } \newcommand*\tud@cdfont@init{% + \tud@cdfont@@init% + \tud@cdfont@@@init% +} +\newcommand*\tud@cdfont@@init{% \if@tud@cdfont@fam@exist% \if@tud@x@fontspec@enabled% \def\tud@res@a{% @@ -2070,28 +2083,33 @@ }{}% \tud@cdfont@declare@textsymb% \fi% - \newrobustcmd*\cdfontln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}} - \newrobustcmd*\cdfontrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}} - \newrobustcmd*\cdfontsn{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{n}} - \newrobustcmd*\cdfontbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}} - \newrobustcmd*\cdfontxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}} - \newrobustcmd*\cdfontli{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{it}} - \newrobustcmd*\cdfontri{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{it}} - \newrobustcmd*\cdfontsi{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{it}} - \newrobustcmd*\cdfontbi{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{it}} - \newrobustcmd*\cdfontxi{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{it}} + \def\tud@res@a##1##2##3{% + \newrobustcmd*##1{\usefont{\f@encoding}{\tud@cdfont@fam}{##2}{##3}}% + }% + \tud@res@a\cdfontln{l}{n}% + \tud@res@a\cdfontrn{m}{n}% + \tud@res@a\cdfontsn{sb}{n}% + \tud@res@a\cdfontbn{b}{n}% + \tud@res@a\cdfontxn{eb}{n}% + \tud@res@a\cdfontli{l}{it}% + \tud@res@a\cdfontri{m}{it}% + \tud@res@a\cdfontsi{sb}{it}% + \tud@res@a\cdfontbi{b}{it}% + \tud@res@a\cdfontxi{eb}{it}% \else% - \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up} - \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up} - \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up} - \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up} - \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up} - \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it} - \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it} - \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it} - \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it} - \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it} - \fi% + \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up}% + \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up}% + \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up}% + \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up}% + \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up}% + \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it}% + \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it}% + \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it}% + \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it}% + \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it}% + \fi% +} +\newcommand*\tud@cdfont@@@init{% \newcommand*\textcdln{}% \newcommand*\textcdrn{}% \newcommand*\textcdsn{}% @@ -2114,7 +2132,7 @@ \DeclareTextFontCommand\textcdxi{\cdfontxi}% } \if@tud@cdoldfont@active - \renewcommand*\tud@cdfont@init{% + \renewcommand*\tud@cdfont@@init{% \if@tud@cdfont@fam@exist% \if@tud@x@fontspec@enabled% \def\tud@res@a{% @@ -2132,23 +2150,26 @@ }% \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}% \fi% - \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}} - \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}} - \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}} - \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}} - \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{sl}} - \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{sl}} - \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{sl}} - \newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{sl}} + \def\tud@res@a##1##2##3{% + \newrobustcmd*##1{\usefont{\f@encoding}{\tud@cdfont@fam}{##2}{##3}}% + }% + \tud@res@a\univln{l}{n}% + \tud@res@a\univrn{m}{n}% + \tud@res@a\univbn{b}{n}% + \tud@res@a\univxn{eb}{n}% + \tud@res@a\univls{l}{it}% + \tud@res@a\univrs{m}{it}% + \tud@res@a\univbs{b}{it}% + \tud@res@a\univxs{eb}{it}% \else% - \tud@cdfont@fallback\univln{Univers-Light}{md}{up} - \tud@cdfont@fallback\univrn{Univers}{md}{up} - \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up} - \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up} - \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{sl} - \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{sl} - \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{sl} - \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{sl} + \tud@cdfont@fallback\univln{Univers-Light}{md}{up}% + \tud@cdfont@fallback\univrn{Univers}{md}{up}% + \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up}% + \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up}% + \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{it}% + \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{it}% + \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{it}% + \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{it}% \fi% \newcommand*\textuln{}% \newcommand*\texturn{}% @@ -2176,26 +2197,6 @@ \newrobustcmd*\cdfontsi{\univrs}% \newrobustcmd*\cdfontbi{\univbs}% \newrobustcmd*\cdfontxi{\univxs}% - \newcommand*\textcdln{}% - \newcommand*\textcdrn{}% - \newcommand*\textcdsn{}% - \newcommand*\textcdbn{}% - \newcommand*\textcdxn{}% - \newcommand*\textcdli{}% - \newcommand*\textcdri{}% - \newcommand*\textcdsi{}% - \newcommand*\textcdbi{}% - \newcommand*\textcdxi{}% - \DeclareTextFontCommand\textcdln{\cdfontln}% - \DeclareTextFontCommand\textcdrn{\cdfontrn}% - \DeclareTextFontCommand\textcdsn{\cdfontsn}% - \DeclareTextFontCommand\textcdbn{\cdfontbn}% - \DeclareTextFontCommand\textcdxn{\cdfontxn}% - \DeclareTextFontCommand\textcdli{\cdfontli}% - \DeclareTextFontCommand\textcdri{\cdfontri}% - \DeclareTextFontCommand\textcdsi{\cdfontsi}% - \DeclareTextFontCommand\textcdbi{\cdfontbi}% - \DeclareTextFontCommand\textcdxi{\cdfontxi}% \if@tud@cdfont@db@exist% \if@tud@x@fontspec@enabled% \def\tud@res@a{% @@ -2214,7 +2215,7 @@ \tud@x@fontspec@init{\tud@cdfont@db}{\tud@res@a}% \fi% \newrobustcmd*\tud@db{% - \usefont{\encodingdefault}{\tud@cdfont@db}{b}{n}% + \usefont{\f@encoding}{\tud@cdfont@db}{b}{n}% \if@tud@cdmath@active\mathversion{tuddin}\fi% }% \newrobustcmd*\dinbn{\tud@db}% @@ -2223,7 +2224,7 @@ \newcommand*\tud@db@wrn{% \ClassWarning{\TUD@Class@Name}% {% - Font `DIN-Bold' is not available and therefore\MessageBreak + Font `DIN-Bold' is not available and therefore\MessageBreak% can not be used for headings% }% \global\let\tud@db@wrn\relax% @@ -2265,7 +2266,7 @@ \renewcommand*\cdfont[1]{% \tud@cdfont@get{#1}% \ifx\@tempc\relax\else% - \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}% + \tud@if@strequal{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}% \fi% }% \renewcommand*\textcd[2]{% @@ -2273,29 +2274,29 @@ \ifx\@tempc\relax% \textsf{#2}% \else% - \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}% + \tud@if@strequal{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}% \fi% }% \fi \newcommand*\tud@cdfont@get[1]{% \tud@cdfont@trim\@tempa{#1}% - \ifstr{\@tempa}{l}{\def\@tempc{ln}}{% - \ifstr{\@tempa}{}{\def\@tempc{rn}}{% - \ifstr{\@tempa}{r}{\def\@tempc{rn}}{% - \ifstr{\@tempa}{s}{\def\@tempc{sn}}{% - \ifstr{\@tempa}{b}{\def\@tempc{bn}}{% - \ifstr{\@tempa}{x}{\def\@tempc{xn}}{% - \ifstr{\@tempa}{li}{\def\@tempc{li}}{% - \ifstr{\@tempa}{il}{\def\@tempc{li}}{% - \ifstr{\@tempa}{i}{\def\@tempc{ri}}{% - \ifstr{\@tempa}{ri}{\def\@tempc{ri}}{% - \ifstr{\@tempa}{ir}{\def\@tempc{ri}}{% - \ifstr{\@tempa}{si}{\def\@tempc{si}}{% - \ifstr{\@tempa}{is}{\def\@tempc{si}}{% - \ifstr{\@tempa}{bi}{\def\@tempc{bi}}{% - \ifstr{\@tempa}{ib}{\def\@tempc{bi}}{% - \ifstr{\@tempa}{xi}{\def\@tempc{xi}}{% - \ifstr{\@tempa}{ix}{\def\@tempc{xi}}{% + \tud@if@strequal{\@tempa}{l} {\def\@tempc{ln}}{% + \tud@if@strequal{\@tempa}{} {\def\@tempc{rn}}{% + \tud@if@strequal{\@tempa}{r} {\def\@tempc{rn}}{% + \tud@if@strequal{\@tempa}{s} {\def\@tempc{sn}}{% + \tud@if@strequal{\@tempa}{b} {\def\@tempc{bn}}{% + \tud@if@strequal{\@tempa}{x} {\def\@tempc{xn}}{% + \tud@if@strequal{\@tempa}{li}{\def\@tempc{li}}{% + \tud@if@strequal{\@tempa}{il}{\def\@tempc{li}}{% + \tud@if@strequal{\@tempa}{i} {\def\@tempc{ri}}{% + \tud@if@strequal{\@tempa}{ri}{\def\@tempc{ri}}{% + \tud@if@strequal{\@tempa}{ir}{\def\@tempc{ri}}{% + \tud@if@strequal{\@tempa}{si}{\def\@tempc{si}}{% + \tud@if@strequal{\@tempa}{is}{\def\@tempc{si}}{% + \tud@if@strequal{\@tempa}{bi}{\def\@tempc{bi}}{% + \tud@if@strequal{\@tempa}{ib}{\def\@tempc{bi}}{% + \tud@if@strequal{\@tempa}{xi}{\def\@tempc{xi}}{% + \tud@if@strequal{\@tempa}{ix}{\def\@tempc{xi}}{% \let\@tempc\relax% \ClassWarning{\TUD@Class@Name}% {The font `#1' is unknown}% @@ -2304,20 +2305,20 @@ \if@tud@cdoldfont@active \renewcommand*\tud@cdfont@get[1]{% \tud@cdfont@trim\@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}}{% + \tud@if@strequal{\@tempa}{45} {\def\@tempc{ln}}{% + \tud@if@strequal{\@tempa}{55} {\def\@tempc{rn}}{% + \tud@if@strequal{\@tempa}{65} {\def\@tempc{bn}}{% + \tud@if@strequal{\@tempa}{75} {\def\@tempc{xn}}{% + \tud@if@strequal{\@tempa}{45oblique}{\def\@tempc{ls}}{% + \tud@if@strequal{\@tempa}{55oblique}{\def\@tempc{rs}}{% + \tud@if@strequal{\@tempa}{65oblique}{\def\@tempc{bs}}{% + \tud@if@strequal{\@tempa}{75oblique}{\def\@tempc{xs}}{% + \tud@if@strequal{\@tempa}{oblique45}{\def\@tempc{ls}}{% + \tud@if@strequal{\@tempa}{oblique55}{\def\@tempc{rs}}{% + \tud@if@strequal{\@tempa}{oblique65}{\def\@tempc{bs}}{% + \tud@if@strequal{\@tempa}{oblique75}{\def\@tempc{xs}}{% + \tud@if@strequal{\@tempa}{din} {\def\@tempc{dinbn}}{% + \tud@if@strequal{\@tempa}{din65} {\def\@tempc{dinbn}}{% \let\@tempc\relax% \ClassWarning{\TUD@Class@Name}% {The font `#1' is unknown}% @@ -2325,8 +2326,7 @@ }% \fi \newcommand*\tud@cdfont@trim[2]{% - \protected@edef\@tempa{\trim@spaces{#2}}% - \tud@lowerstring{\@tempa}{\@tempa}% + \tud@strlowercase\@tempa{\trim@spaces{#2}}% \tud@cdfont@@trim{ }{}% \tud@cdfont@@trim{-}{}% \tud@cdfont@@trim{_}{}% @@ -2335,9 +2335,9 @@ \tud@cdfont@@trim{light}{l}% \tud@cdfont@@trim{regular}{r}% \tud@cdfont@@trim{book}{r}% - \tud@cdfont@@trim{semibold}{s}% + \tud@cdfont@@trim{semi}{s}% \tud@cdfont@@trim{demi}{s}% - \tud@cdfont@@trim{extrabold}{x}% + \tud@cdfont@@trim{extra}{x}% \tud@cdfont@@trim{black}{x}% \tud@cdfont@@trim{bold}{b}% \tud@cdfont@@trim{italic}{i}% @@ -2347,8 +2347,7 @@ } \if@tud@cdoldfont@active \renewcommand*\tud@cdfont@trim[2]{% - \protected@edef\@tempa{\trim@spaces{#2}}% - \tud@lowerstring{\@tempa}{\@tempa}% + \tud@strlowercase\@tempa{\trim@spaces{#2}}% \tud@cdfont@@trim{ }{}% \tud@cdfont@@trim{-}{}% \tud@cdfont@@trim{_}{}% @@ -2391,12 +2390,12 @@ \let\tud@ttfont@fam\ttdefault% \or% roboto \let\tud@ttfont@fam\tud@ttfont@rb% - \or% lmodern + \else% lmodern \let\tud@ttfont@fam\tud@ttfont@lm% \fi% \ifcase\tud@ttfont@num\relax\else% !false \if@tud@x@fontspec@enabled% - \ifx\ttdefault\tud@ttfont@fam\else% + \ifx\tud@ttfont@fam\ttdefault\else% \tud@x@fontspec@set{tt}{\tud@ttfont@fam}% \fi% \else% @@ -2481,24 +2480,24 @@ \edef\tud@ttfont@rb@scale{s*[\tud@ttfont@rb@scale]}% \begingroup% \def\tud@res@c##1##2{% - \tud@lowerstring\tud@res@a{##1}% + \tud@strlowercase\tud@res@a{##1}% \DeclareFontFamily{##1}{\tud@ttfont@rb}{\hyphenchar\font=\m@ne}% \def\tud@res@b####1####2####3{% \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{n}{% - <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a% + <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a% }{}% \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{it}{% - <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a% + <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a% }{}% \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sl}{% <->ssub*\tud@ttfont@rb/####1/it% }{}% \ifbool{##2}{% \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sc}{% - <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a% + <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a% }{}% \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scit}{% - <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a% + <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a% }{}% \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scsl}{% <->ssub*\tud@ttfont@rb/####1/scit% @@ -2513,8 +2512,18 @@ }% \tud@res@c{OT1}{true}% \tud@res@c{T1}{true}% - \ifcsundef{T@TS1}{}{\tud@res@c{TS1}{false}}% - \endgroup% + \tud@res@c{TS1}{false}% + \def\tud@res@a{\endgroup}% + \def\tud@res@b{TS1:RobotoMono-TLF}% + \ifcsundef{\tud@res@b}{% + \ClassWarningNoLine{\TUD@Class@Name}% + {`\tud@res@b' encoding subset undefinied}% + }{% + \eappto\tud@res@a{% + \noexpand\DeclareEncodingSubset{TS1}{tudtt}{\csuse{\tud@res@b}}% + }% + }% + \tud@res@a% \fi% \fi% } @@ -2598,7 +2607,7 @@ \newcommand*\tud@math@map@@@greeks[1]{% \ifcsundef{it#1}{\ifcsundef{var#1}{}{\csletcs{it#1}{var#1}}}{}% \ifcsundef{up#1}{% - \tud@lowerstring\tud@res@a{#1}% + \tud@strlowercase\tud@res@a{#1}% \edef\tud@res@a{Up\tud@res@a}% \ifcsundef{\tud@res@a}{}{\csletcs{up#1}{\tud@res@a}}% }{}% @@ -2626,7 +2635,7 @@ }% \tud@cs@use{mv@normal}% \let\tud@res@c\@empty% - \ifstr{\tud@math@letters@enc}{\detokenize{OML}}{% + \tud@if@strequal{\tud@math@letters@enc}{OML}{% \def\tud@res@a##1{% \ifcsundef{it##1}{% \eappto\tud@res@c{% @@ -2639,7 +2648,7 @@ \tud@res@cnt=\z@\relax% \tud@math@loop@greeks@all\tud@res@a% }{}% - \ifstr{\tud@math@operators@enc}{\detokenize{OT1}}{% + \tud@if@strequal{\tud@math@operators@enc}{OT1}{% \def\tud@res@a##1{% \ifcsundef{up##1}{% \eappto\tud@res@c{% @@ -2738,26 +2747,19 @@ }% }% \@tud@res@swafalse% - \ifcsdef{upalpha}{% - \ifx\upalpha\alpha% - \@tud@res@swatrue% - \fi% - }{}% + \ifundef{\upalpha}{}{\ifx\upalpha\alpha\@tud@res@swatrue\fi}% \if@tud@res@swa% \def\tud@res@c{\TUD@key@preset{slantedgreek}{false}}% \else% - \ifcsdef{itGamma}{% - \ifx\itGamma\Gamma% - \@tud@res@swatrue% - \fi% - }{% + \ifundef{\itGamma}{}{\ifx\itGamma\Gamma\@tud@res@swatrue\fi}% + \if@tud@res@swa\else% \let\tud@res@a\relax% \let\tud@res@b\relax% \DeclareMathSymbol{\tud@res@a}{\mathalpha}{letters}{0}% \DeclareMathSymbol{\tud@res@b}{\mathord}{letters}{0}% - \ifx\Gamma\tud@res@a\relax\@tud@res@swatrue\fi% - \ifx\Gamma\tud@res@b\relax\@tud@res@swatrue\fi% - }% + \ifx\Gamma\tud@res@a\@tud@res@swatrue\fi% + \ifx\Gamma\tud@res@b\@tud@res@swatrue\fi% + \fi% \if@tud@res@swa% \def\tud@res@c{\TUD@key@preset{slantedgreek}{true}}% \fi% @@ -2765,43 +2767,9 @@ \edef\tud@res@c{\endgroup\expandonce\tud@res@c}% \tud@res@c% } -\newcommand*\mv@tudnormal{} -\newcommand*\mv@tudbold{} -\newcommand*\mv@tuddin{} -\AfterPackage*{mathastext}{% - \newrobustcmd*\tud@mathversion[1]{% - \begingroup% - \let\tud@res@a\relax% - \if@tud@cdmath@active% - \ifstr{#1}{normal}{% - \def\tud@res@a{tudnormal}% - }{% - \ifstr{#1}{bold}{% - \def\tud@res@a{tudbold}% - }{}% - }% - \fi% - \edef\tud@res@a{% - \endgroup% - \noexpand\tud@cs@restore{mathversion}% - \ifx\tud@res@a\relax% - \noexpand\mathversion{#1}% - \else% - \noexpand\MTversion*{\tud@res@a}% - \fi% - \noexpand\tud@cs@store{mathversion}% - \noexpand\tud@cs@letltx{mathversion}{tud@mathversion}% - }% - \tud@res@a% - }% - \AtEndPreamble{% - \tud@cs@store{mathversion}% - \tud@cs@letltx{mathversion}{tud@mathversion}% - }% -} \newcommand*\tud@cdmath@init{% \@tud@res@swafalse% - \if@tud@cdfont@fam@exist% + \if@tud@cdmath@fam@exist% \@tud@res@swatrue% \if@tud@cdoldfont@active\else% \tud@if@fdfileexists{LGR}{cmr}{}{% @@ -2847,12 +2815,11 @@ subdued,defaultmathsizes,nosmalldelims,noequal,% defaultrm,defaultbf,defaultit,defaultsf,defaulttt% }{mathastext}% - \RequirePackage{mathastext}[2018/08/22]% + \RequirePackage{mathastext} \tud@math@declare@lgrgreeks{cmr}{m}{bx}{n}{it}% \fi% \providecommand*\MTDeclareVersion[6][]{\DeclareMathVersion{##2}}% - \providecommand*\MTversion@@[1]{}% - \tud@cdmath@@init{\tud@cdfont@fam@lf}{\tud@ttfont@fam}% + \tud@cdmath@@init% \if@tud@cdoldfont@active% \tud@res@cnt=\z@\relax% \tud@math@loop@greeks@uc\tud@cdmath@declare@greek@uc% @@ -2862,104 +2829,128 @@ \fi% \tud@cdmath@declare@char{*}{\mathbin}{symbols}{"03}% \tud@cdmath@also@greeks% - \else% - \let\mv@tudnormal\mv@normal% - \let\mv@tudbold\mv@bold% - \if@tud@cdoldfont@active% + \fi% + \if@tud@cdoldfont@active% + \if@tud@cdmath@db@exist% + \tud@cdmath@db@init{\tud@cdfont@db}% + \else% \let\mv@tuddin\mv@bold% \fi% \fi% } -\newcommand*\tud@x@mathastext@enc{OT1} -\newcommand*\tud@cdmath@@init[2]{% - \tud@cdfont@@set% - \tud@ttfont@@set% +\newcommand*\tud@cdmath@set{} +\newcommand*\tud@cdmath@normal@name{tudnormal@\tud@cdfont@md\tud@cdfont@bf}% +\newcommand*\tud@cdmath@bold@name{tudbold@\tud@cdfont@md\tud@cdfont@bf}% +\newcommand*\tud@cdmath@@init{% + \begingroup% + \let\tud@res@b\@empty% + \def\tud@res@a##1##2{% + \setbool{@tud@cdfont@heavy}{##1}% + \setbool{@tud@cdfont@ultrabold}{##2}% + \tud@cdfont@@set% + \tud@ttfont@@set% + \eappto\tud@res@b{% + \noexpand\tud@cdmath@@@init% + {\tud@cdmath@normal@name}% + {\tud@cdmath@bold@name}% + {\tud@cdfont@fam@lf}{\tud@cdfont@md}{\tud@cdfont@bf}{\tud@cdfont@ebf}% + {\tud@ttfont@fam}{\tud@ttfont@md}{\tud@ttfont@bf}% + }% + }% + \tud@res@a{false}{false}% + \tud@res@a{false}{true}% + \tud@res@a{true}{false}% + \tud@res@a{true}{true}% + \if@tud@cdfont@active\else% + \preto\tud@res@b{% + \@tud@cdfont@activetrue% + \tud@font@set[]% + }% + \appto\tud@res@b{% + \@tud@cdfont@activefalse% + \tud@font@set[]% + }% + \fi% + \preto\tud@res@b{\endgroup}% + \tud@res@b% + \renewcommand*\tud@cdmath@set{% + \begingroup% + \tud@cdfont@@set% + \edef\tud@res@a{% + \endgroup% + \unexpanded{\letcs\mv@normal}{mv@\tud@cdmath@normal@name}% + \unexpanded{\letcs\mv@bold}{mv@\tud@cdmath@bold@name}% + }% + \tud@res@a% + }% +} +\newcommand*\tud@cdmath@@@init[9]{% \if@tud@cdoldfont@active% - \DeclareMathVersion{tudnormal}% - \DeclareMathVersion{tudbold}% - \DeclareMathVersion{tuddin}% - \SetSymbolFont{operators}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}% - \SetSymbolFont{operators}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}% - \SetSymbolFont{operators}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}% - \SetSymbolFont{letters}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}% - \SetSymbolFont{letters}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}% - \SetSymbolFont{letters}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}% - \SetSymbolFont{symbols}{tudnormal}{OMS}{#1}{\tud@cdfont@md}{n}% - \SetSymbolFont{symbols}{tudbold}{OMS}{#1}{\tud@cdfont@bf}{n}% - \SetSymbolFont{symbols}{tuddin}{OMS}{\tud@cdfont@db}{b}{n}% - \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}% - \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}% - \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}% - \SetMathAlphabet{\mathnormal}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}% - \SetMathAlphabet{\mathnormal}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}% - \SetMathAlphabet{\mathnormal}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}% + \DeclareMathVersion{#1}% + \DeclareMathVersion{#2}% + \SetSymbolFont{operators}{#1}{OT1}{#3}{#4}{n}% + \SetSymbolFont{operators}{#2}{OT1}{#3}{#5}{n}% + \SetSymbolFont{letters}{#1}{OML}{#3}{#4}{it}% + \SetSymbolFont{letters}{#2}{OML}{#3}{#5}{it}% + \SetSymbolFont{symbols}{#1}{OMS}{#3}{#4}{n}% + \SetSymbolFont{symbols}{#2}{OMS}{#3}{#5}{n}% + \SetSymbolFont{largesymbols}{#1}{OMX}{iwona}{#4}{n}% + \SetSymbolFont{largesymbols}{#2}{OMX}{iwona}{#5}{n}% + \SetMathAlphabet{\mathnormal}{#1}{OML}{#3}{#4}{it}% + \SetMathAlphabet{\mathnormal}{#2}{OML}{#3}{#5}{it}% \tud@if@ismathalphabet{\mathbold}{% - \SetMathAlphabet{\mathbold}{tudnormal}{OML}{#1}{\tud@cdfont@bf}{sl}% - \SetMathAlphabet{\mathbold}{tudbold}{OML}{#1}{\tud@cdfont@ebf}{sl}% - \SetMathAlphabet{\mathbold}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}% + \SetMathAlphabet{\mathbold}{#1}{OML}{#3}{#5}{it}% + \SetMathAlphabet{\mathbold}{#2}{OML}{#3}{#6}{it}% }{}% \else% - \edef\tud@res@b{\encodingdefault}% - \@tfor\tud@res@a:={T1}{TU}{EU1}{EU2}\do{% - \ifx\tud@res@a\tud@res@b% - \let\tud@x@mathastext@enc\tud@res@b% - \@break@tfor - \fi% - }% - \MTDeclareVersion[it]{tudnormal}% - {\tud@x@mathastext@enc}{#1}{\tud@cdfont@md}{n}% - \MTDeclareVersion[it]{tudbold}% - {\tud@x@mathastext@enc}{#1}{\tud@cdfont@bf}{n}% - \SetSymbolFont{operators}{tudnormal}{OT1}{iwona}{\tud@cdfont@md}{n}% - \SetSymbolFont{operators}{tudbold}{OT1}{iwona}{\tud@cdfont@bf}{n}% - \SetSymbolFont{letters}{tudnormal}{OML}{iwona}{\tud@cdfont@md}{it}% - \SetSymbolFont{letters}{tudbold}{OML}{iwona}{\tud@cdfont@bf}{it}% - \SetSymbolFont{symbols}{tudnormal}{OMS}{iwona}{\tud@cdfont@md}{n}% - \SetSymbolFont{symbols}{tudbold}{OMS}{iwona}{\tud@cdfont@bf}{n}% - \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}% - \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}% - \SetSymbolFont{tudupgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{n}% - \SetSymbolFont{tuditgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{it}% - \SetSymbolFont{tudupgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{n}% - \SetSymbolFont{tuditgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{it}% + \MTDeclareVersion[it]{#1}{\tud@x@mathastext@enc}{#3}{#4}{n}% + \MTDeclareVersion[it]{#2}{\tud@x@mathastext@enc}{#3}{#5}{n}% + \SetSymbolFont{operators}{#1}{OT1}{iwona}{#4}{n}% + \SetSymbolFont{operators}{#2}{OT1}{iwona}{#5}{n}% + \SetSymbolFont{letters}{#1}{OML}{iwona}{#4}{it}% + \SetSymbolFont{letters}{#2}{OML}{iwona}{#5}{it}% + \SetSymbolFont{symbols}{#1}{OMS}{iwona}{#4}{n}% + \SetSymbolFont{symbols}{#2}{OMS}{iwona}{#5}{n}% + \SetSymbolFont{largesymbols}{#1}{OMX}{iwona}{#4}{n}% + \SetSymbolFont{largesymbols}{#2}{OMX}{iwona}{#5}{n}% + \SetSymbolFont{tuditgrk}{#1}{LGR}{#3}{#4}{it}% + \SetSymbolFont{tuditgrk}{#2}{LGR}{#3}{#5}{it}% + \SetSymbolFont{tudupgrk}{#1}{LGR}{#3}{#4}{n}% + \SetSymbolFont{tudupgrk}{#2}{LGR}{#3}{#5}{n}% \tud@if@ismathalphabet{\mathbold}{% - \SetMathAlphabet{\mathbold}{tudnormal}% - {\tud@x@mathastext@enc}{#1}{\tud@cdfont@bf}{it}% - \SetMathAlphabet{\mathbold}{tudbold}% - {\tud@x@mathastext@enc}{#1}{\tud@cdfont@ebf}{it}% + \SetMathAlphabet{\mathbold}{#1}{\tud@x@mathastext@enc}{#3}{#5}{it}% + \SetMathAlphabet{\mathbold}{#2}{\tud@x@mathastext@enc}{#3}{#6}{it}% }{}% \fi% - \SetMathAlphabet{\mathrm}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}% - \SetMathAlphabet{\mathrm}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}% - \SetMathAlphabet{\mathbf}{tudnormal}{OT1}{#1}{\tud@cdfont@bf}{n}% - \SetMathAlphabet{\mathbf}{tudbold}{OT1}{#1}{\tud@cdfont@ebf}{n}% - \SetMathAlphabet{\mathsf}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}% - \SetMathAlphabet{\mathsf}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}% - \SetMathAlphabet{\mathit}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{it}% - \SetMathAlphabet{\mathit}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{it}% - \SetMathAlphabet{\mathtt}{tudnormal}{OT1}{#2}{\tud@ttfont@md}{n}% - \SetMathAlphabet{\mathtt}{tudbold}{OT1}{#2}{\tud@ttfont@bf}{n}% + \AtBeginDocument{% + \tud@if@issymbolfont{legacymaths}{% + \SetSymbolFont{legacymaths}{#1}{OT1}{#3}{#4}{n}% + \SetSymbolFont{legacymaths}{#2}{OT1}{#3}{#5}{n}% + }{}% + }% \if@tud@cdoldfont@active% - \SetMathAlphabet{\mathrm}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}% - \SetMathAlphabet{\mathbf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}% - \SetMathAlphabet{\mathsf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}% - \SetMathAlphabet{\mathit}{tuddin}{OT1}{\tud@cdfont@db}{b}{sl}% - \SetMathAlphabet{\mathtt}{tuddin}{OT1}{#2}{\tud@ttfont@ebf}{n}% - \fi% + \def\tud@res@a{OT1}% + \else% + \let\tud@res@a\tud@x@mathastext@enc% + \fi% + \SetMathAlphabet{\mathrm}{#1}{\tud@res@a}{#3}{#4}{n}% + \SetMathAlphabet{\mathrm}{#2}{\tud@res@a}{#3}{#5}{n}% + \SetMathAlphabet{\mathbf}{#1}{\tud@res@a}{#3}{#5}{n}% + \SetMathAlphabet{\mathbf}{#2}{\tud@res@a}{#3}{#6}{n}% + \SetMathAlphabet{\mathsf}{#1}{\tud@res@a}{#3}{#4}{n}% + \SetMathAlphabet{\mathsf}{#2}{\tud@res@a}{#3}{#5}{n}% + \SetMathAlphabet{\mathit}{#1}{\tud@res@a}{#3}{#4}{it}% + \SetMathAlphabet{\mathit}{#2}{\tud@res@a}{#3}{#5}{it}% + \SetMathAlphabet{\mathtt}{#1}{\tud@res@a}{#7}{#8}{n}% + \SetMathAlphabet{\mathtt}{#2}{\tud@res@a}{#7}{#9}{n}% \IfFileExists{ueus.fd}{% - \SetMathAlphabet{\mathcal}{tudnormal}{U}{eus}{m}{n}% - \SetMathAlphabet{\mathcal}{tudbold}{U}{eus}{b}{n}% - \if@tud@cdoldfont@active% - \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}% - \fi% + \SetMathAlphabet{\mathcal}{#1}{U}{eus}{m}{n}% + \SetMathAlphabet{\mathcal}{#2}{U}{eus}{b}{n}% }{}% \tud@if@ismathalphabet{\mathfrak}{% \IfFileExists{ueuf.fd}{% - \SetMathAlphabet{\mathfrak}{tudnormal}{U}{euf}{m}{n}% - \SetMathAlphabet{\mathfrak}{tudbold}{U}{euf}{b}{n}% - \if@tud@cdoldfont@active% - \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}% - \fi% + \SetMathAlphabet{\mathfrak}{#1}{U}{euf}{m}{n}% + \SetMathAlphabet{\mathfrak}{#2}{U}{euf}{b}{n}% }{}% }{}% \AtBeginDocument{% @@ -2968,14 +2959,14 @@ \tud@if@issymbolfont{AMSb}{\@tud@res@swatrue}{}% \if@tud@res@swa% \if@tud@cdoldfont@active% - \DeclareFontFamily{U}{\tud@cdfont@fam@lf a}{}% - \DeclareFontShape{U}{\tud@cdfont@fam@lf a}{m}{n}{<->cmbras10}{}% - \SetSymbolFont{AMSa}{tudnormal}{U}{\tud@cdfont@fam@lf a}{m}{n}% - \SetSymbolFont{AMSa}{tudbold}{U}{\tud@cdfont@fam@lf a}{m}{n}% - \DeclareFontFamily{U}{\tud@cdfont@fam@lf b}{}% - \DeclareFontShape{U}{\tud@cdfont@fam@lf b}{m}{n}{<->cmbrbs10}{}% - \SetSymbolFont{AMSb}{tudnormal}{U}{\tud@cdfont@fam@lf b}{m}{n}% - \SetSymbolFont{AMSb}{tudbold}{U}{\tud@cdfont@fam@lf b}{m}{n}% + \DeclareFontFamily{U}{#3a}{}% + \DeclareFontShape{U}{#3a}{m}{n}{<->cmbras10}{}% + \SetSymbolFont{AMSa}{#1}{U}{#3a}{m}{n}% + \SetSymbolFont{AMSa}{#2}{U}{#3a}{m}{n}% + \DeclareFontFamily{U}{#3b}{}% + \DeclareFontShape{U}{#3b}{m}{n}{<->cmbrbs10}{}% + \SetSymbolFont{AMSb}{#1}{U}{#3b}{m}{n}% + \SetSymbolFont{AMSb}{#2}{U}{#3b}{m}{n}% \else% \@ifpackageloaded{mdsymbol}{}{% \appto\tud@cdmath@wrn{% @@ -2988,18 +2979,73 @@ }% \fi% \fi% - \tud@if@issymbolfont{legacymaths}{% - \SetSymbolFont{legacymaths}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}% - \SetSymbolFont{legacymaths}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}% - \if@tud@cdoldfont@active% - \SetSymbolFont{legacymaths}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}% - \fi% + }% +} +\if@tud@cdoldfont@active + \newcommand*\tud@cdmath@db@init[1]{% + \DeclareMathVersion{tuddin}% + \SetSymbolFont{operators}{tuddin}{OT1}{#1}{b}{n}% + \SetSymbolFont{letters}{tuddin}{OML}{#1}{b}{it}% + \SetSymbolFont{symbols}{tuddin}{OMS}{#1}{b}{n}% + \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}% + \AtBeginDocument{% + \tud@if@issymbolfont{legacymaths}{% + \SetSymbolFont{legacymaths}{tuddin}{OT1}{#1}{b}{n}% + }{}% + }% + \SetMathAlphabet{\mathnormal}{tuddin}{OML}{#1}{b}{it}% + \tud@if@ismathalphabet{\mathbold}{% + \SetMathAlphabet{\mathbold}{tuddin}{OML}{#1}{b}{it}% }{}% - \if@tud@cdoldfont@active% + \SetMathAlphabet{\mathrm}{tuddin}{OT1}{#1}{b}{n}% + \SetMathAlphabet{\mathbf}{tuddin}{OT1}{#1}{b}{n}% + \SetMathAlphabet{\mathsf}{tuddin}{OT1}{#1}{b}{n}% + \SetMathAlphabet{\mathit}{tuddin}{OT1}{#1}{b}{it}% + \IfFileExists{ueus.fd}{% + \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}% + }{}% + \tud@if@ismathalphabet{\mathfrak}{% + \IfFileExists{ueuf.fd}{% + \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}% + }{}% + }{}% + \AtBeginDocument{% \if@tud@cdmath@active% - \sbox\z@{\mathversion{tudnormal}$ $\mathversion{tuddin}$ $}% + \sbox\z@{\mathversion{normal}$ $\mathversion{tuddin}$ $}% \fi% - \fi% + }% + }% +\fi +\AfterPackage*{mathastext}{% + \newrobustcmd*\tud@mathversion[1]{% + \begingroup% + \let\tud@res@a\relax% + \if@tud@cdmath@active% + \tud@if@strequal{#1}{normal}{% + \edef\tud@res@a{\tud@cdmath@normal@name}% + }{% + \tud@if@strequal{#1}{bold}{% + \edef\tud@res@a{\tud@cdmath@bold@name}% + }{}% + }% + \fi% + \edef\tud@res@a{% + \endgroup% + \noexpand\tud@cs@restore{mathversion}% + \ifx\tud@res@a\relax% + \noexpand\mathversion{#1}% + \else% + \noexpand\MTversion*{\tud@res@a}% + \fi% + \noexpand\tud@cs@store{mathversion}% + \noexpand\tud@cs@letltx{mathversion}{tud@mathversion}% + }% + \tud@res@a% + \ifcsundef{mv@#1}{}{\edef\math@version{#1}}% + }% + \AtEndPreamble{% + \tud@cs@store{mathversion}% + \tud@cs@letltx{mathversion}{tud@mathversion}% }% } \newcommand*\tud@cdmath@symb@list{} @@ -3028,7 +3074,7 @@ }% \tud@res@a% } -\newtoks\tud@cdmath@symbols@toks +\tud@newtoks\tud@cdmath@symbols@toks \newcommand*\tud@cdmath@symbols@set{% \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdmath@symbols@toks}{% \forlistloop\tud@cdmath@symbols@set@cmd\tud@cdmath@symb@list% @@ -3051,7 +3097,7 @@ } \newcommand*\tud@cdmath@symbols@set@chr[1]{% \edef\tud@res@a{\global\mathcode`#1=\the\mathcode`#1\relax}% - \eaddto@hook\tud@cdmath@symbols@toks{\tud@res@a}% + \addto@hook@expandafter\tud@cdmath@symbols@toks{\tud@res@a}% \begingroup% \edef\tud@res@a{\expandafter\meaning\csname tud@cdmath@symbol@#1\endcsname}% \def\tud@res@b##1"##2\@nil{"##2}% @@ -3154,7 +3200,7 @@ }% } \newcommand*\tud@cdmath@also@@@greeks[1]{% - \tud@lowerstring\tud@res@a{#1}% + \tud@strlowercase\tud@res@a{#1}% \edef\tud@res@a{Up\tud@res@a}% \ifcsundef{\tud@res@a}{}{% \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{up#1}% @@ -3163,13 +3209,12 @@ \expandafter\tud@cdmath@declare@alias\expandafter{var#1}{it#1}% }% } -\newcommand*\tud@math@set{% +\newcommand*\tud@math@set[1][\tud@cdmath@wrn]{% \if@tud@cdmath@active% - \tud@cdmath@wrn% + #1% \tud@cs@store{mv@normal}% \tud@cs@store{mv@bold}% - \let\mv@normal\mv@tudnormal% - \let\mv@bold\mv@tudbold% + \tud@cdmath@set% \tud@cdmath@symbols@set% \ifcase\tud@slantedgreek@num\relax% upright \tud@math@loop@greeks@all\tud@math@upright@greeks% @@ -3184,7 +3229,7 @@ \tud@cs@restore{mv@bold}% \tud@cdmath@symbols@reset% \fi% - \mathversion{normal}% + \expandafter\mathversion\expandafter{\math@version}% } \newcommand*\tud@math@upright@greeks[1]{% \ifcsundef{up#1}{}{% @@ -3198,49 +3243,7 @@ \csletcs{other#1}{up#1}% }% } -\AtEndPreamble{% - \if@tud@x@mweights@enabled% - \ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}% - \ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}% - \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}% - \ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}% - \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}% - \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}% - \fi% - \tud@cdfont@check% - \tud@cdfont@init% - \tud@ttfont@init% - \tud@cdmath@init% - \if@tud@x@bm@requested% - \UnPreventPackageFromLoading{bm}% - \if@tud@cdmath@active% - \tud@cs@store{mv@normal}% - \tud@cs@store{mv@bold}% - \let\mv@normal\mv@tudnormal% - \let\mv@bold\mv@tudbold% - \fi% - \RequirePackage{bm}[2017/01/16]% - \tud@cs@restore{mv@normal}% - \tud@cs@restore{mv@bold}% - \fi% - \if@tud@x@siunitx@enabled% - \if@tud@cdfont@active% - \if@tud@cdfont@heavy% - \def\tud@reserved{\TUDoptions{cdfont=heavy}}% - \else% - \def\tud@reserved{\TUDoptions{cdfont=true}}% - \fi% - \else% - \def\tud@reserved{\TUDoptions{cdfont=false}}% - \fi% - \expandafter\AfterEndPreamble\expandafter{\tud@reserved}% - \TUDoptions{cdfont=false}% - \fi% - \tud@font@set% - \tud@math@map@greeks% - \tud@math@checkslanted@greeks% - \AtBeginDocument{\tud@math@set}% -} +\newcommand*\tud@font@phantomglyphs{\"A\"O\"Ugjpqy} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@bold{} \newcommand*\tud@head@font@set{% @@ -3260,14 +3263,14 @@ \if@tud@head@font@set% \if@tud@x@mweights@enabled% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {\sfdefault}{\mdseries@sf}{\updefault}{\tud@head@fontsize}% + {\sfdefault}{\mdseries@sf}{\shapedefault}{\tud@head@fontsize}% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% - {\sfdefault}{\bfseries@sf}{\updefault}{\tud@head@fontsize}% + {\sfdefault}{\bfseries@sf}{\shapedefault}{\tud@head@fontsize}% \else% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}% + {\sfdefault}{\mddefault}{\shapedefault}{\tud@head@fontsize}% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% - {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}% + {\sfdefault}{\bfdefault}{\shapedefault}{\tud@head@fontsize}% \fi% \ifcase\tud@head@font@num\relax\else% true/heavy \tud@head@cdfont@set% @@ -3306,7 +3309,110 @@ \fi% }% \fi -%%% From File: tudscr-fields.dtx +\begingroup +\catcode`\^=7 +\catcode30=12 +\catcode`\!=12 +\edef\tud@reserved{\@gobble^^^^0021} +\expandafter\endgroup +\ifx\tud@reserved\@empty + \RequirePackage{newunicodechar} + \uccode"00DF="1E9E + \lccode"1E9E="00DF + \newunicodechar{^^^^00df}{\iffontchar\font"00DF \symbol{"00DF}\else ss\fi} + \newunicodechar{^^^^1e9e}{\iffontchar\font"1E9E \symbol{"1E9E}\else SS\fi} +\fi +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage*{ragged2e}{% + \ifundef{\LaTeXraggedright}{}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }% + \renewcommand*\tud@RaggedRight{\RaggedRight}% +} +\AfterAtEndOfPackage*{siunitx}{% + \IfPackageAtLeastTF{siunitx}{2021-04-18}{% + \newcommand*\tud@x@siunitx@mapping{% + \if@tud@cdfont@active + \csname keys_set:nx\endcsname { siunitx / series-version-mapping } + { + \tud@cdfont@md = normal, + \tud@cdfont@bf = bold, + \tud@cdfont@ebf = bold + } + \else + \csname keys_set:nn\endcsname { siunitx / series-version-mapping } + { + ul = light , + el = light , + l = light , + sl = light , + m = normal , + sb = bold , + b = bold , + eb = bold , + ub = bold + } + \fi + } + \xapptocmd\tud@font@set% + {\tud@x@siunitx@mapping}% + {}{\tud@patch@wrn{tud@font@set}}% + }{% + \newcommand*\tud@x@siunitx@reset{}% + \providecommand*\lseries{\fontseries{l}\selectfont}% + \AtEndPreamble{% + \if@tud@cdfont@active% + \if@tud@cdfont@heavy% + \def\tud@x@siunitx@reset{\TUDoptions{cdfont=heavy}}% + \else% + \def\tud@x@siunitx@reset{\TUDoptions{cdfont=true}}% + \fi% + \appto\tud@x@siunitx@reset{\tud@font@set[]}% + \TUDoptions{cdfont=false}% + \tud@font@set[]% + \fi% + }% + \AtBeginDocument{\tud@x@siunitx@reset}% + } +} +\tud@newif\if@tud@x@bm@requested +\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} +\newcommand*\tud@x@bm@delayed{% + \if@tud@x@bm@requested% + \UnPreventPackageFromLoading{bm}% + \if@tud@cdmath@active% + \tud@cs@store{mv@normal}% + \tud@cs@store{mv@bold}% + \tud@cdmath@set% + \fi% + \RequirePackage{bm} + \tud@cs@restore{mv@normal}% + \tud@cs@restore{mv@bold}% + \fi% + \let\tud@x@bm@delayed\relax% +} +\BeforePackage{mathastext}{\tud@x@bm@delayed} +\AtEndPreamble{% + \if@tud@x@mweights@enabled% + \ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}% + \ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}% + \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}% + \ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}% + \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}% + \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}% + \fi% + \tud@cdfont@check% + \tud@cdfont@init% + \tud@ttfont@init% + \tud@font@set% + \tud@cdmath@init% + \tud@x@bm@delayed% + \tud@math@map@greeks% + \tud@math@checkslanted@greeks% + \AtBeginDocument{\tud@math@set}% +} +%%%% From File: tudscr-fields.dtx (no git version info was found) \newcommand*\getfield[2][\@firstofone]{% \begingroup% \def\tud@res@b{#1}% @@ -3332,20 +3438,26 @@ \newcommand*\@department{} \newcommand*\@institute{} \newcommand*\@chair{} -\newcommand*\faculty[2][]{\tud@head@text@field{faculty}{#2}} -\newcommand*\department[2][]{\tud@head@text@field{department}{#2}} -\newcommand*\institute[2][]{\tud@head@text@field{institute}{#2}} -\newcommand*\chair[2][]{\tud@head@text@field{chair}{#2}} +\newcommand*\faculty{\@dblarg{\tud@head@text@field{faculty}}} +\newcommand*\department{\@dblarg{\tud@head@text@field{department}}} +\newcommand*\institute{\@dblarg{\tud@head@text@field{institute}}} +\newcommand*\chair{\@dblarg{\tud@head@text@field{chair}}} \newcommand*\@extraheadline{} -\newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}{#1}} -\newcommand*\tud@head@text@field[2]{% - \csgdef{@#1}{\trim@spaces{#2}}% +\newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}[]{#1}} +\newcommand*\tud@head@text@field{} +\def\tud@head@text@field#1[#2]#3{% + \expandafter\tud@trim@field\csname @#1\endcsname{#3}% \global\@tud@head@text@settrue% } +\newcommand*\tud@trim@field[2]{% + \def#1{#2}% + \trim@spaces@in#1% + \global\let#1#1% +} \newcommand*\@@title{} \robustify\@title \renewcommand*\title[1]{% - \gdef\@title{#1}% + \tud@trim@field\@title{#1}% \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% @@ -3356,7 +3468,7 @@ } \newcommand*\@@author{} \renewcommand*\author[1]{% - \gdef\@author{#1}% + \tud@trim@field\@author{#1}% \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% @@ -3388,128 +3500,160 @@ \endgroup% } \newcommand*\@authormore{} -\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces} +\newrobustcmd*\authormore[1]{\tud@trim@field\@authormore{#1}} \newcommand*\@emailaddress{} -\newrobustcmd*\emailaddress{% - \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}% +\newrobustcmd*\emailaddress[2][]{% + \kernel@ifstar% + {\tud@emailaddress@simple{#2}}% + {\tud@emailaddress@hyper[{#1}]{#2}}% } -\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}} -\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}} +\newrobustcmd*\tud@emailaddress@simple[1]{\tud@trim@field\@emailaddress{#1}} +\newrobustcmd*\tud@emailaddress@hyper[2][]{\tud@trim@field\@emailaddress{#2}} \AfterPackage{hyperref}{% \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{% - \gdef\@emailaddress{% + \tud@trim@field\@emailaddress{#2}% + \xdef\@emailaddress{% \begingroup% - \urlstyle{same}% - \hypersetup{#1}% - \href{mailto:#2}{\nolinkurl{#2}}% + \noexpand\urlstyle{same}% + \unexpanded{\hypersetup{#1}}% + \noexpand\href% + {mailto:\expandonce\@emailaddress}% + {\noexpand\nolinkurl{\expandonce\@emailaddress}}% \endgroup% }% }% } \newcommand*\@course{} -\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces} +\newrobustcmd*\course[1]{\tud@trim@field\@course{#1}} \newcommand*\@discipline{} -\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces} +\newrobustcmd*\discipline[1]{\tud@trim@field\@discipline{#1}} \newcommand*\@matriculationnumber{} -\newrobustcmd*\matriculationnumber[1]{% - \gdef\@matriculationnumber{#1}\ignorespaces% -} +\newrobustcmd*\matriculationnumber[1]{\tud@trim@field\@matriculationnumber{#1}} \newcommand*\@matriculationyear{} -\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces} +\newrobustcmd*\matriculationyear[1]{\tud@trim@field\@matriculationyear{#1}} \newcommand*\@placeofbirth{} -\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces} +\newrobustcmd*\placeofbirth[1]{\tud@trim@field\@placeofbirth{#1}} \newcommand*\@thesis{} \newcommand*\@@thesis{} -\newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}} -\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} -\newcommand*\tud@thanks{} -\newcommand*\tud@thesis@do[2]{% +\newcommand*\thesis[1]{\tud@thesis@evaluate{thesis}{#1}} +\CheckCommand*\subject[1]{\gdef\@subject{#1}} +\newcommand*\@@subject{} +\renewcommand*\subject[1]{\tud@thesis@evaluate{subject}{#1}} +\newcommand*\tud@thesis@evaluate[2]{% \begingroup% - \global\let\tud@thanks\relax% - \def\thanks##1{\gdef\tud@thanks{##1}}% + \expandafter\tud@trim@field\csname @#1\endcsname{#2}% + \let\tud@res@c\@empty% + \def\thanks##1{\listgadd\tud@res@c{##1}}% \let\footnote\thanks% \sbox\z@{#2}% \let\thanks\@gobble% \let\footnote\@gobble% - \tud@lowerstring{\@tempa}{#2}% - \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}% - \protected@edef\@tempa{% + \protected@csxdef{@@#1}{\trim@spaces{#2}}% + \letcs\tud@res@a{@@#1}% + \TUD@set@numkey{thesis}{@tempa}{% + {habil}{0}, + {diss}{1},{doctoral}{1},{phd}{1}, + {diploma}{2}, + {master}{3}, + {bachelor}{4}, + {student}{5}, + {evidence}{6}, + {project}{7}, + {seminar}{8}, + {term}{9}, + {research}{10}, + {log}{11}, + {report}{12}, + {internship}{13} + }{\tud@res@a}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% habil + \def\tud@res@a{\habilitationname}% + \or% diss + \def\tud@res@a{\dissertationname}% + \or% diploma + \def\tud@res@a{\diplomathesisname}% + \or% master + \def\tud@res@a{\masterthesisname}% + \or% bachelor + \def\tud@res@a{\bachelorthesisname}% + \or% student + \def\tud@res@a{\studentthesisname}% + \or% evidence + \def\tud@res@a{\studentresearchname}% + \or% project + \def\tud@res@a{\projectpapername}% + \or% seminar + \def\tud@res@a{\seminarpapername}% + \or% term + \def\tud@res@a{\termpapername}% + \or% research + \def\tud@res@a{\researchname}% + \or% log + \def\tud@res@a{\logname}% + \or% report + \def\tud@res@a{\reportname}% + \or% internship + \def\tud@res@a{\internshipname}% + \else% + \FamilyKeyStateUnknownValue% + \fi% + \fi% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \global\cslet{@@#1}\tud@res@a% + \tud@if@strequal{#1}{subject}{% + \ifx\@@thesis\@empty\global\let\@@thesis\@@subject\fi% + }{}% + \def\do##1{\appto\tud@res@a{\thanks{##1}}}% + \dolistloop{\tud@res@c}% + \fi% + \edef\tud@res@a{% \endgroup% - \def\noexpand\@tempa{\@tempa}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \noexpand\csgdef{@#1}{\expandonce\tud@res@a}% + \fi% }% - \@tempa% - \ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{% - \ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{% - \ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{% - \ifstr{\@tempa}{diploma}{\tud@thesis@@do{#1}{\diplomathesisname}}{% - \ifstr{\@tempa}{master}{\tud@thesis@@do{#1}{\masterthesisname}}{% - \ifstr{\@tempa}{bachelor}{\tud@thesis@@do{#1}{\bachelorthesisname}}{% - \ifstr{\@tempa}{student}{\tud@thesis@@do{#1}{\studentthesisname}}{% - \ifstr{\@tempa}{evidence}{\tud@thesis@@do{#1}{\studentresearchname}}{% - \ifstr{\@tempa}{project}{\tud@thesis@@do{#1}{\projectpapername}}{% - \ifstr{\@tempa}{seminar}{\tud@thesis@@do{#1}{\seminarpapername}}{% - \ifstr{\@tempa}{term}{\tud@thesis@@do{#1}{\termpapername}}{% - \ifstr{\@tempa}{research}{\tud@thesis@@do{#1}{\researchname}}{% - \ifstr{\@tempa}{log}{\tud@thesis@@do{#1}{\logname}}{% - \ifstr{\@tempa}{report}{\tud@thesis@@do{#1}{\reportname}}{% - \ifstr{\@tempa}{internship}{\tud@thesis@@do{#1}{\internshipname}}{% - \csdef{@#1}{#2}% - }}}}}}}}}}}}}}}% -} -\newcommand*\tud@thesis@@do[2]{% - \ifstr{#1}{subject}{% - \ifx\@thesis\@empty\else% - \ClassWarning{\TUD@Class@Name}{% - Field `thesis' is overwritten by `subject'% - }% - \fi% - \TUD@key@preset{subjectthesis}{true}% - }{% - \TUD@key@preset{subjectthesis}{false}% - }% - \ifx\tud@thanks\relax% - \gdef\@thesis{#2}% - \else% - \protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% - \fi% - \protected@xdef\@@thesis{\trim@spaces{#2}}% + \tud@res@a% } \newcommand*\@graduation{} \newcommand*\@graduationabbreviation{} \newcommand*\graduation[2][]{% - \gdef\@graduationabbreviation{}% - \ifxblank{#1}{}{\gdef\@graduationabbreviation{(#1)}}% - \gdef\@graduation{#2}% + \tud@trim@field\@graduationabbreviation{#1}% + \tud@trim@field\@graduation{#2}% } \newcommand*\@professor{} -\newcommand*\professor[1]{\gdef\@professor{#1}} +\newcommand*\professor[1]{\tud@trim@field\@professor{#1}} \newcommand*\@supervisor{} -\newcommand*\supervisor[1]{\gdef\@supervisor{#1}} +\newcommand*\supervisor[1]{\tud@trim@field\@supervisor{#1}} \newcommand*\@supporter{} -\newcommand*\supporter[1]{\gdef\@supporter{#1}} +\newcommand*\supporter[1]{\tud@trim@field\@supporter{#1}} \newcommand*\@company{} -\newcommand*\company[1]{\gdef\@company{#1}} +\newcommand*\company[1]{\tud@trim@field\@company{#1}} \newcommand*\@referee{} -\newcommand*\referee[1]{\gdef\@referee{#1}} +\newcommand*\referee[1]{\tud@trim@field\@referee{#1}} \newcommand*\@advisor{} -\newcommand*\advisor[1]{\gdef\@advisor{#1}} -\newlength\tud@len@signatureskip -\setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex} +\newcommand*\advisor[1]{\tud@trim@field\@advisor{#1}} +\tud@newglue\tud@glue@signaturevskip +\tud@setglue\tud@glue@signaturevskip{8ex plus 6ex minus 6ex} \newcommand*\@confirmationclosing{% \tud@date@check% \ifx\@date\@empty\else% \medskip\noindent% \ifx\@place\@empty\else\@place,\nobreakspace\fi\@date% \fi% - \vskip\tud@len@signatureskip\noindent% + \vskip\tud@glue@signaturevskip\noindent% \begingroup% \let\and\hfil% \@@author\hfil% \endgroup% } -\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}} +\newcommand*\confirmationclosing[1]{\tud@trim@field\@confirmationclosing{#1}} \newcommand*\@place{Dresden} -\newcommand*\place[1]{\gdef\@place{#1}} +\newcommand*\place[1]{\tud@trim@field\@place{#1}} +\CheckCommand*\subtitle[1]{\gdef\@subtitle{#1}} +\renewcommand*\subtitle[1]{\tud@trim@field\@subtitle{#1}} +\CheckCommand\publishers[1]{\gdef\@publishers{#1}}% +\renewcommand*\publishers[1]{\tud@trim@field\@publishers{#1}} \providecommand*\publisher[1]{\publishers{#1}} \TUD@UnwindPackage{isodate}{% \@ifpackageloaded{datetime2}{% @@ -3522,9 +3666,10 @@ \ifx\today#2\relax% \gdef#1{#2}% \else% - \ifxblank{#2}% - {\gdef#1{}}% - {\gdef#1{\printdate{#2}}}% + \tud@trim@field#1{#2}% + \tud@if@strblank{#1}% + {}% + {\xdef#1{\noexpand\printdate{\expandonce#1}}}% \fi% } \newcommand*\tud@date@check{% @@ -3570,26 +3715,43 @@ } \newcommand*\tud@date@print{% \ifx\@date\@empty\else% + \trim@spaces@in\@beforedate% \ifx\@beforedate\@empty\else% - \expandafter\trim@spaces@noexp\expandafter{\@beforedate}\nobreakspace% + \@beforedate\nobreakspace% \fi% \@date% + \trim@spaces@in\@afterdate% \ifx\@afterdate\@empty\else% - \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\@afterdate}% + \nobreakspace\@afterdate% \fi% \fi% } \newcommand*\@defensedate{} \newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} \newcommand*\@dateofbirth{} -\newrobustcmd*\dateofbirth[1]{% - \tud@printdate{\@dateofbirth}{#1}\ignorespaces% +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +\newcommand*\tud@if@field@unset[1]{% + \begingroup% + \edef\tud@res@a{% + \def\noexpand\tud@res@a####1\string\@latex@####2\noexpand\@nil{% + \noexpand\IfArgIsEmpty{####2}% + \unexpanded{\@tud@res@swafalse\@tud@res@swatrue}% + }% + \noexpand\tud@res@a% + \expandafter\strip@prefix\meaning#1% + \string\@latex@\noexpand\@nil% + }% + \tud@res@a% + \if@tud@res@swa% + \aftergroup\@firstoftwo% + \else% + \aftergroup\@secondoftwo% + \fi% + \endgroup% } \newcommand*\tud@multiple@@split{} \newcommand*\tud@multiple@split[1]{% - \expandafter\ifpatchable\expandafter{\csname#1\endcsname}{% - \@latex@warning@no@line% - }{% + \expandafter\tud@if@field@unset\expandafter{\csname #1\endcsname}{% \csuse{#1}\csgdef{#1}{}% }{}% \def\tud@multiple@@split##1\and##2\relax{% @@ -3599,20 +3761,27 @@ \let\and\relax% \let\newline\@empty% \let\\\@empty% - \edef\@tempa{\csname#1\endcsname\and}% + \edef\@tempa{\csname #1\endcsname\and}% \expandafter\endgroup% \expandafter\tud@multiple@@split\@tempa\relax% } \newcommand*\tud@multiple@@@split[2]{% - \ifx\relax#1\relax% + \IfArgIsEmpty{#1}{% \let\@tempb\relax% - \else% + }{% \def\@tempb{#2\tud@multiple@@split#1\relax}% - \fi% + }% \@tempb% } \newcommand*\tud@multiple@fields@store[2]{% - \def\@tempa##1{\ifcsdef{@##1}{\tud@cs@store{@##1}}{}}% + \def\@tempa##1{% + \ifcsdef{@##1}{\tud@cs@store{@##1}}{}% + \ifcsdef{##1}{% + \tud@cs@store{##1}% + \expandafter\xapptocmd\csname ##1\endcsname{\ignorespaces}% + {}{\tud@patch@wrn##1}% + }{}% + }% \letcs\@tempb{tud@split#1@list}% \let\and\relax% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% @@ -3628,6 +3797,7 @@ \tud@cs@restore{@##1}% \global\csletcs{@##1}{@##1}% }{}% + \ifcsdef{##1}{\tud@cs@restore{##1}}{}% }% \letcs\@tempb{tud@split#1@list}% \let\and\relax% @@ -3636,16 +3806,16 @@ \newcommand*\tud@multiple@fields@preset[3]{% \def\@tempa##1{% \edef\@tempc{\csuse{##1}}% - \ifstr{#2}{*}{% + \if\detokenize{#2*}\relax% \csdef{@##1}{}% - }{% + \else% \begingroup% \protected@expandtwoargs\in@{\@tempc}{\csuse{#1}}% \ifin@% \ifcsvoid{@##1}{\@tempc{#2}}{}% \fi% \endgroup% - }% + \fi% }% \letcs\@tempb{tud@split#1@list}% \let\and\relax% @@ -3663,7 +3833,7 @@ matriculationnumber,studentid,matriculationid,% placeofbirth,birthplace,dateofbirth,birthday,% } -%%% From File: tudscr-localization.dtx +%%%% From File: tudscr-localization.dtx (no git version info was found) \newcommand*\tud@localization@define[1]{% \providecommand*#1{% \ClassError{\TUD@Class@Name}{% @@ -3673,7 +3843,7 @@ languages german and english as well as its dialects. You\MessageBreak% must define single patterns by yourself, e.g.:\MessageBreak% `\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak% - You can send your definitions to \tudscrmail\space in\MessageBreak% + You can send your definitions to \TUDScriptContact\space in\MessageBreak% order to implement support for additional languages.% }% }% @@ -3705,6 +3875,7 @@ \tud@localization@define{\disciplinename} \tud@localization@define{\listingname} \tud@localization@define{\listlistingname} +\tud@localization@define{\habilitationname} \tud@localization@define{\dissertationname} \tud@localization@define{\diplomathesisname} \tud@localization@define{\masterthesisname} @@ -3830,6 +4001,7 @@ \tud@localization@german{\disciplinename}{Studienrichtung} \tud@localization@german{\listingname}{Quelltext} \tud@localization@german{\listlistingname}{Quelltextverzeichnis} +\tud@localization@german{\habilitationname}{Habilitation} \tud@localization@german{\dissertationname}{Dissertation} \tud@localization@german{\diplomathesisname}{Diplomarbeit} \tud@localization@german{\masterthesisname}{Master-Arbeit} @@ -3936,6 +4108,7 @@ \tud@localization@english{\disciplinename}{Discipline} \tud@localization@english{\listingname}{Listing} \tud@localization@english{\listlistingname}{List of Listings} +\tud@localization@english{\habilitationname}{Habilitation} \tud@localization@english{\dissertationname}{Dissertation} \tud@localization@english{\diplomathesisname}{Diploma Thesis} \tud@localization@english{\masterthesisname}{Master Thesis} @@ -3959,8 +4132,8 @@ \tud@localization@english{\@commaswap}{\,}% \tud@localization@english{\@dotswap}{.}% } -%%% From File: tudscr-area.dtx -\newif\if@tud@x@crop@center +%%%% From File: tudscr-area.dtx (no git version info was found) +\tud@newif\if@tud@x@crop@center \AfterPackage{crop}{% \CheckCommand*\CROP@center{% \voffset\stockheight @@ -3970,73 +4143,73 @@ \advance\hoffset-\paperwidth \hoffset.5\hoffset }% - \pretocmd{\CROP@center}{% + \pretocmd\CROP@center{% \@tud@x@crop@centertrue% }{}{\tud@patch@wrn{CROP@center}}% } -\newif\if@tud@x@standalone@crop +\tud@newif\if@tud@x@standalone@crop \AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} -\newlength\tud@len@widemargin -\newlength\tud@len@slimmargin -\newlength\tud@len@both -\newlength\tud@len@topmargin -\newlength\tud@len@barheight -\newlength\tud@len@headsep -\newlength\tud@len@footsep -\newlength\tud@len@logox -\newlength\tud@len@logoy -\newlength\tud@len@logowidth -\newlength\tud@len@line -\newlength\tud@len@heavyline -\newlength\tud@len@thinline -\newlength\tud@len@areaheadvskip -\newlength\tud@len@areadiff -\newlength\tud@len@areavskip -\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{} +\tud@newdim\tud@dim@widemargin +\tud@newdim\tud@dim@slimmargin +\tud@newdim\tud@dim@bothmargin +\tud@newdim\tud@dim@topmargin +\tud@newdim\tud@dim@barheight +\tud@newdim\tud@dim@headsep +\tud@newdim\tud@dim@footsep +\tud@newdim\tud@dim@logox +\tud@newdim\tud@dim@logoy +\tud@newdim\tud@dim@logowidth +\tud@newdim\tud@dim@line +\tud@newdim\tud@dim@heavyline +\tud@newdim\tud@dim@thinline +\tud@newdim\tud@dim@areaheadvskip +\tud@newdim\tud@dim@areadiff +\tud@newdim\tud@dim@areavskip +\tud@if@v@lower{2.03}{\tud@newdim\tud@dim@ddcdiff}{} \newcommand*\tud@head@fontsize{} -\newif\if@tud@cdgeometry@adjust -\newlength\tud@len@layoutwidth -\newlength\tud@len@layoutheight -\newlength\tud@len@layouthoffset -\newlength\tud@len@layoutvoffset +\tud@newif\if@tud@cdgeometry@adjust +\tud@newdim\tud@dim@layoutwidth +\tud@newdim\tud@dim@layoutheight +\tud@newdim\tud@dim@layouthoffset +\tud@newdim\tud@dim@layoutvoffset \newcommand*\tud@cdgeometry@set{% \tud@cdgeometry@assignlayout% \tud@if@v@lower{2.05}{% - \ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax% + \ifdim\tud@dim@layoutheight<\dimexpr105mm+1.5mm\relax% \def\@tempa{0}% - \else\ifdim\tud@len@layoutheight<\dimexpr148mm+1.5mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr148mm+1.5mm\relax% \def\@tempa{1}% - \else\ifdim\tud@len@layoutheight<\dimexpr229mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr229mm+2mm\relax% \def\@tempa{2}% - \else\ifdim\tud@len@layoutheight<\dimexpr297mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr297mm+2mm\relax% \def\@tempa{3}% - \else\ifdim\tud@len@layoutheight<\dimexpr420mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr420mm+2mm\relax% \def\@tempa{4}% - \else\ifdim\tud@len@layoutheight<\dimexpr594mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr594mm+2mm\relax% \def\@tempa{5}% - \else\ifdim\tud@len@layoutheight<\dimexpr841mm+3mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr841mm+3mm\relax% \def\@tempa{6}% - \else\ifdim\tud@len@layoutheight<\dimexpr1189mm+3mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr1189mm+3mm\relax% \def\@tempa{7}% \else% \def\@tempa{8}% \fi\fi\fi\fi\fi\fi\fi\fi% }{% - \ifdim\tud@len@layoutheight<\dimexpr125mm+1.5mm\relax% + \ifdim\tud@dim@layoutheight<\dimexpr125mm+1.5mm\relax% \def\@tempa{0}% - \else\ifdim\tud@len@layoutheight<\dimexpr176mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr176mm+2mm\relax% \def\@tempa{1}% - \else\ifdim\tud@len@layoutheight<\dimexpr250mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr250mm+2mm\relax% \def\@tempa{2}% - \else\ifdim\tud@len@layoutheight<\dimexpr353mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr353mm+2mm\relax% \def\@tempa{3}% - \else\ifdim\tud@len@layoutheight<\dimexpr500mm+2mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr500mm+2mm\relax% \def\@tempa{4}% - \else\ifdim\tud@len@layoutheight<\dimexpr707mm+3mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr707mm+3mm\relax% \def\@tempa{5}% - \else\ifdim\tud@len@layoutheight<\dimexpr1000mm+3mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr1000mm+3mm\relax% \def\@tempa{6}% - \else\ifdim\tud@len@layoutheight<\dimexpr1414mm+3mm\relax% + \else\ifdim\tud@dim@layoutheight<\dimexpr1414mm+3mm\relax% \def\@tempa{7}% \else% \def\@tempa{8}% @@ -4059,58 +4232,58 @@ calculate a proper type area% }% \fi% - \tud@divide\@tempa{\tud@len@layoutheight}{148mm}% - \setlength\tud@len@widemargin{15mm}% - \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}% - \setlength\tud@len@heavyline{0.5pt}% - \setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}% - \setlength\tud@len@thinline{0.25pt}% - \setlength\tud@len@thinline{\@tempa\tud@len@thinline}% - \setlength\@tempdima{4.5pt}% - \setlength\@tempdima{\@tempa\@tempdima}% + \tud@divide\@tempa{\tud@dim@layoutheight}{148mm}% + \tud@setdim\tud@dim@widemargin{15mm}% + \tud@setdim\tud@dim@widemargin{\@tempa\tud@dim@widemargin}% + \tud@setdim\tud@dim@heavyline{0.5pt}% + \tud@setdim\tud@dim@heavyline{\@tempa\tud@dim@heavyline}% + \tud@setdim\tud@dim@thinline{0.25pt}% + \tud@setdim\tud@dim@thinline{\@tempa\tud@dim@thinline}% + \tud@setdim\@tempdima{4.5pt}% + \tud@setdim\@tempdima{\@tempa\@tempdima}% \edef\tud@head@fontsize{\strip@pt\@tempdima}% \or% <=A6/B6 - \setlength\tud@len@widemargin{15mm}% - \setlength\tud@len@heavyline{0.5pt}% - \setlength\tud@len@thinline{0.25pt}% + \tud@setdim\tud@dim@widemargin{15mm}% + \tud@setdim\tud@dim@heavyline{0.5pt}% + \tud@setdim\tud@dim@thinline{0.25pt}% \renewcommand*\tud@head@fontsize{4.5}% \or% <=A5/B5 \ifnum\tud@cdgeometry@calc@num=\z@\relax% restricted \@tud@cdgeometry@adjusttrue% - \setlength\tud@len@widemargin{30mm}% - \setlength\tud@len@heavyline{1pt}% - \setlength\tud@len@thinline{0.5pt}% + \tud@setdim\tud@dim@widemargin{30mm}% + \tud@setdim\tud@dim@heavyline{1pt}% + \tud@setdim\tud@dim@thinline{0.5pt}% \renewcommand*\tud@head@fontsize{9}% \else% - \setlength\tud@len@widemargin{21.213203mm}% - \setlength\tud@len@heavyline{0.707107pt}% - \setlength\tud@len@thinline{0.353553pt}% + \tud@setdim\tud@dim@widemargin{21.213203mm}% + \tud@setdim\tud@dim@heavyline{0.707107pt}% + \tud@setdim\tud@dim@thinline{0.353553pt}% \renewcommand*\tud@head@fontsize{6.363961}% \fi% \or% <=A4/B4 - \setlength\tud@len@widemargin{30mm}% - \setlength\tud@len@heavyline{1pt}% - \setlength\tud@len@thinline{0.5pt}% + \tud@setdim\tud@dim@widemargin{30mm}% + \tud@setdim\tud@dim@heavyline{1pt}% + \tud@setdim\tud@dim@thinline{0.5pt}% \renewcommand*\tud@head@fontsize{9}% \or% <=A3/B3 - \setlength\tud@len@widemargin{42.426407mm}% - \setlength\tud@len@heavyline{1.414214pt}% - \setlength\tud@len@thinline{0.707107pt}% + \tud@setdim\tud@dim@widemargin{42.426407mm}% + \tud@setdim\tud@dim@heavyline{1.414214pt}% + \tud@setdim\tud@dim@thinline{0.707107pt}% \renewcommand*\tud@head@fontsize{12.727922}% \or% <=A2/B2 - \setlength\tud@len@widemargin{60mm}% - \setlength\tud@len@heavyline{2pt}% - \setlength\tud@len@thinline{1pt}% + \tud@setdim\tud@dim@widemargin{60mm}% + \tud@setdim\tud@dim@heavyline{2pt}% + \tud@setdim\tud@dim@thinline{1pt}% \renewcommand*\tud@head@fontsize{18}% \or% <=A1/B1 - \setlength\tud@len@widemargin{84.852814mm}% - \setlength\tud@len@heavyline{2.828427pt}% - \setlength\tud@len@thinline{1.414214pt}% + \tud@setdim\tud@dim@widemargin{84.852814mm}% + \tud@setdim\tud@dim@heavyline{2.828427pt}% + \tud@setdim\tud@dim@thinline{1.414214pt}% \renewcommand*\tud@head@fontsize{25.455844}% \or% <=A0/B0 - \setlength\tud@len@widemargin{120mm}% - \setlength\tud@len@heavyline{4pt}% - \setlength\tud@len@thinline{2pt}% + \tud@setdim\tud@dim@widemargin{120mm}% + \tud@setdim\tud@dim@heavyline{4pt}% + \tud@setdim\tud@dim@thinline{2pt}% \renewcommand*\tud@head@fontsize{36}% \else% >A0/B0 \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else% @@ -4121,50 +4294,48 @@ calculate a proper type area% }% \fi% - \tud@divide\@tempa{\tud@len@layoutheight}{1189mm}% - \setlength\tud@len@widemargin{120mm}% - \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}% - \setlength\tud@len@heavyline{4pt}% - \setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}% - \setlength\tud@len@thinline{2pt}% - \setlength\tud@len@thinline{\@tempa\tud@len@thinline}% - \setlength\@tempdima{36pt}% - \setlength\@tempdima{\@tempa\@tempdima}% + \tud@divide\@tempa{\tud@dim@layoutheight}{1189mm}% + \tud@setdim\tud@dim@widemargin{120mm}% + \tud@setdim\tud@dim@widemargin{\@tempa\tud@dim@widemargin}% + \tud@setdim\tud@dim@heavyline{4pt}% + \tud@setdim\tud@dim@heavyline{\@tempa\tud@dim@heavyline}% + \tud@setdim\tud@dim@thinline{2pt}% + \tud@setdim\tud@dim@thinline{\@tempa\tud@dim@thinline}% + \tud@setdim\@tempdima{36pt}% + \tud@setdim\@tempdima{\@tempa\@tempdima}% \edef\tud@head@fontsize{\strip@pt\@tempdima}% \fi% \ifnum\tud@cdgeometry@calc@num=\tw@\relax% - \tud@divide\@tempa{\tud@len@layoutheight}{297mm}% - \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}% - \setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}% - \setlength\tud@len@thinline{\@tempa\tud@len@thinline}% - \setlength\@tempdima{\tud@head@fontsize pt}% - \setlength\@tempdima{\@tempa\@tempdima}% + \tud@divide\@tempa{\tud@dim@layoutheight}{297mm}% + \tud@setdim\tud@dim@widemargin{\@tempa\tud@dim@widemargin}% + \tud@setdim\tud@dim@heavyline{\@tempa\tud@dim@heavyline}% + \tud@setdim\tud@dim@thinline{\@tempa\tud@dim@thinline}% + \tud@setdim\@tempdima{\tud@head@fontsize pt}% + \tud@setdim\@tempdima{\@tempa\@tempdima}% \edef\tud@head@fontsize{\strip@pt\@tempdima}% \fi% \global\@tud@head@font@settrue% - \setlength\tud@len@slimmargin{\dimexpr2\tud@len@widemargin/3\relax}% - \setlength\tud@len@both{\dimexpr5\tud@len@widemargin/3\relax}% - \setlength\tud@len@topmargin{\dimexpr7\tud@len@widemargin/6\relax}% - \setlength\tud@len@barheight{\dimexpr\tud@len@widemargin/6\relax}% - \setlength\tud@len@headsep{\dimexpr2\tud@len@widemargin/5\relax}% - \setlength\tud@len@logox{\dimexpr1.1\tud@len@widemargin/3\relax}% - \setlength\tud@len@logoy{\dimexpr0.45\tud@len@widemargin\relax}% - \setlength\tud@len@logowidth{\dimexpr1.9\tud@len@widemargin\relax}% - \setlength\tud@len@footsep{% - \dimexpr\tud@len@widemargin-.6\tud@len@topmargin\relax% - }% + \tud@setdim\tud@dim@slimmargin{\tud@dim@widemargin*2/3}% + \tud@setdim\tud@dim@bothmargin{\tud@dim@widemargin*5/3}% + \tud@setdim\tud@dim@topmargin{\tud@dim@widemargin*7/6}% + \tud@setdim\tud@dim@barheight{\tud@dim@widemargin/6}% + \tud@setdim\tud@dim@headsep{\tud@dim@widemargin*2/5}% + \tud@setdim\tud@dim@logox{\tud@dim@widemargin*11/30}% + \tud@setdim\tud@dim@logoy{\tud@dim@widemargin*9/20}% + \tud@setdim\tud@dim@logowidth{\tud@dim@widemargin*19/10}% + \tud@setdim\tud@dim@footsep{\tud@dim@widemargin-\tud@dim@topmargin*3/5}% \if@tud@cdgeometry@adjust% - \setlength\tud@len@headsep{\dimexpr.707107\tud@len@headsep\relax}% - \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}% + \tud@setdim\tud@dim@headsep{.707107\tud@dim@headsep}% + \tud@setdim\tud@dim@footsep{.707107\tud@dim@footsep}% \fi% \tud@cdgeometry@papersize@store% } \newcommand*\tud@cdgeometry@assignlayout{% - \ifdim\tud@len@layoutwidth<\p@\relax% - \setlength\tud@len@layoutwidth{\paperwidth}% + \ifdim\tud@dim@layoutwidth<\p@\relax% + \tud@setdim\tud@dim@layoutwidth{\paperwidth}% \fi% - \ifdim\tud@len@layoutheight<\p@\relax% - \setlength\tud@len@layoutheight{\paperheight}% + \ifdim\tud@dim@layoutheight<\p@\relax% + \tud@setdim\tud@dim@layoutheight{\paperheight}% \fi% } \newcommand*\tud@cdgeometry@papersize@last{} @@ -4180,8 +4351,8 @@ }% \ifx\tud@res@a\tud@cdgeometry@papersize@last\else% \appto\tud@res@b{% - \setlength\tud@len@layoutwidth{\z@}% - \setlength\tud@len@layoutheight{\z@}% + \tud@setdim\tud@dim@layoutwidth{\z@}% + \tud@setdim\tud@dim@layoutheight{\z@}% \tud@x@geometry@fixmargins% }% \fi% @@ -4195,11 +4366,11 @@ \expandafter\pagestyle\expandafter{\currentpagestyle}% } \if@tud@x@standalone@crop - \PreventPackageFromLoading{geometry}% - \let\tud@cdgeometry@process\relax% + \PreventPackageFromLoading{geometry} + \let\tud@cdgeometry@process\relax \else - \RequirePackage{geometry}[2010/09/12]% -\fi% + \RequirePackage{geometry} +\fi \AfterPackage*{geometry}{% \CheckCommand*\Gm@initnewgm{% \Gm@passfalse @@ -4337,7 +4508,7 @@ }{\@nameuse{Gm@restore@@#1}% \Gm@changelayout}% }% - \newif\if@tud@x@geometry@enabled% + \tud@newif\if@tud@x@geometry@enabled% \@tud@x@geometry@enabledtrue% \tud@cs@store{geometry}% \tud@cs@store{newgeometry}% @@ -4351,7 +4522,7 @@ }% \renewcommand*\restoregeometry[1][custom]{% \tud@cdgeometry@reset{#1}% - \if@atdocument% + \tud@if@preamble{}{% \ifcase\tud@cdgeometry@num\relax% false \tud@loadgeometry{init@typearea}% \@tud@x@geometry@fixmarginstrue% @@ -4360,11 +4531,11 @@ \@tud@x@geometry@fixmarginstrue% \fi% \tud@cdgeometry@process% - \fi% + }% }% - \apptocmd{\Gm@changelayout}{% + \apptocmd\Gm@changelayout{% \if@tud@x@geometry@enabled% - \if@atdocument% + \tud@if@preamble{}{% \@tud@x@geometry@fixmarginstrue% \ifcase\tud@cdgeometry@num\relax% false \tud@cdgeometry@reset{typearea}% @@ -4372,15 +4543,15 @@ \tud@cdgeometry@reset{custom}% \fi% \tud@cdgeometry@process% - \fi% + }% \fi% }{}{\tud@patch@wrn{Gm@changelayout}}% - \newif\if@tud@x@geometry@fixmargins% + \tud@newif\if@tud@x@geometry@fixmargins% \newcommand*\tud@x@geometry@fixmargins{% \ifGm@pass\else% - \addtolength\oddsidemargin{-\tud@len@layouthoffset}% - \addtolength\evensidemargin{-\tud@len@layouthoffset}% - \addtolength\topmargin{-\tud@len@layoutvoffset}% + \tud@addtodim\oddsidemargin{-\tud@dim@layouthoffset}% + \tud@addtodim\evensidemargin{-\tud@dim@layouthoffset}% + \tud@addtodim\topmargin{-\tud@dim@layoutvoffset}% \@tud@x@geometry@fixmarginsfalse% \fi% }% @@ -4401,16 +4572,19 @@ \tud@cdgeometry@assignlayout% \edef\tud@res@a{% \endgroup% - \noexpand\setlength\noexpand\tud@len@layoutwidth{\the\paperwidth}% - \noexpand\setlength\noexpand\tud@len@layoutheight{\the\paperheight}% + \unexpanded{\tud@setdim\tud@dim@layoutwidth}{\the\paperwidth}% + \unexpanded{\tud@setdim\tud@dim@layoutheight}{\the\paperheight}% }% \tud@res@a% \fi% - \ifstr{#2}{newgeometry}{% - \eappto\Gm@restore@org{% + \tud@if@strequal{#2}{newgeometry}{% + \edef\@tempb{% \noexpand\paperwidth=\the\paperwidth\relax% \noexpand\paperheight=\the\paperheight\relax% }% + \expandafter\apptocmd\expandafter\Gm@restore@org\expandafter{% + \@tempb% + }{}{\tud@patch@wrn{Gm@restore@org}}% \ifcase\tud@cdgeometry@num\relax% \typearea[current]{current}% \ifx\tud@x@geometry@parameter\@empty\else% @@ -4449,11 +4623,11 @@ \tud@x@geometry@area@def{paper}{\paperwidth:#1}% }% \TUD@parameter@def{layout}{% - \ifstr{#1}{false}{% - \setlength\tud@len@layoutwidth{\z@}% - \setlength\tud@len@layoutheight{\z@}% - \setlength\tud@len@layouthoffset{\z@}% - \setlength\tud@len@layoutvoffset{\z@}% + \tud@if@strequal{#1}{false}{% + \tud@setdim\tud@dim@layoutwidth{\z@}% + \tud@setdim\tud@dim@layoutheight{\z@}% + \tud@setdim\tud@dim@layouthoffset{\z@}% + \tud@setdim\tud@dim@layoutvoffset{\z@}% }{% \tud@x@geometry@area@def{layout}{#1}% }% @@ -4470,25 +4644,25 @@ \@tempa#1,,\@nil% }% \TUD@parameter@def{layoutwidth}{% - \tud@x@geometry@area@def{layout}{#1:\tud@len@layoutheight}% + \tud@x@geometry@area@def{layout}{#1:\tud@dim@layoutheight}% }% \TUD@parameter@def{layoutheight}{% - \tud@x@geometry@area@def{layout}{\tud@len@layoutwidth:#1}% + \tud@x@geometry@area@def{layout}{\tud@dim@layoutwidth:#1}% }% \TUD@parameter@def{layoutoffset}{% \def\@tempa##1,##2,##3\@nil{% \IfArgIsEmpty{##2}{% - \setlength\tud@len@layouthoffset{##1}% - \setlength\tud@len@layoutvoffset{##1}% + \tud@setdim\tud@dim@layouthoffset{##1}% + \tud@setdim\tud@dim@layoutvoffset{##1}% }{% - \setlength\tud@len@layouthoffset{##1}% - \setlength\tud@len@layoutvoffset{##2}% + \tud@setdim\tud@dim@layouthoffset{##1}% + \tud@setdim\tud@dim@layoutvoffset{##2}% }% }% \@tempa#1,,\@nil% }% - \TUD@parameter@def{layouthoffset}{\setlength\tud@len@layouthoffset{#1}}% - \TUD@parameter@def{layoutvoffset}{\setlength\tud@len@layoutvoffset{#1}}% + \TUD@parameter@def{layouthoffset}{\tud@setdim\tud@dim@layouthoffset{#1}}% + \TUD@parameter@def{layoutvoffset}{\tud@setdim\tud@dim@layoutvoffset{#1}}% \TUD@parameter@def{bleedmargin}{\TUDoption{bleedmargin}{#1}}% \TUD@parameter@handler@macro{% \eappto\tud@x@geometry@parameter{% @@ -4499,20 +4673,24 @@ }% }% \newcommand*\tud@x@geometry@area@def[2]{% - \tud@lowerstring{\@tempa}{#2}% + \tud@strlowercase\@tempa{#2}% \def\@tempb##1paper##2\@nil{% - \ifstr{##2}{paper}{\def\@tempa{##1}}{}% + \tud@if@strequal{##2}{paper}{\def\@tempa{##1}}{}% }% \expandafter\@tempb\@tempa paper\@nil% \@tempswafalse% - \ifstr{\@tempa}{seascape}{\@tempswatrue}{}% - \ifstr{\@tempa}{landscape}{\@tempswatrue}{}% - \ifstr{\@tempa}{portrait}{\@tempswatrue}{}% - \ifstr{\@tempa}{letter}{\@tempswatrue}{}% - \ifstr{\@tempa}{executive}{\@tempswatrue}{}% - \ifstr{\@tempa}{legal}{\@tempswatrue}{}% + \TUD@set@numkey{paper}{@tempc}{% + {seascape}{0},{landscape}{0},{portrait}{0},% + {letter}{0},{executive}{0},{legal}{0}% + }{\@tempa}% + \@tempswafalse% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempc\relax% + \@tempswatrue% + \fi% + \fi% \if@tempswa\else% - \ifx\@tempa\@empty\relax\else% + \ifx\@tempa\@empty\else% \def\@tempb##1##2\@nil{% \if ##1a\@tempswatrue% \else\if ##1b\@tempswatrue% @@ -4521,7 +4699,7 @@ \fi\fi\fi\fi% \if@tempswa% \@tempswafalse% - \IfArgIsEmpty{##2}{}{\ifnumber{##2}{\@tempswatrue}{}}% + \IfArgIsEmpty{##2}{}{\Ifnumber{##2}{\@tempswatrue}{}}% \fi% }% \expandafter\@tempb\@tempa\@nil% @@ -4537,7 +4715,7 @@ \if@tempswa\else% \def\tud@reserved##1:##2:##3:##4\@nil{% \if@tempswa\else% - \ifstr{\@tempa}{##1}{% + \tud@if@strequal{\@tempa}{##1}{% \@tempswatrue% \def\@tempa{##2##4:##3##4}% }{}% @@ -4572,7 +4750,7 @@ \IfArgIsEmpty{##2}{% \KOMAoption{paper}{##1}% }{% - \ifstr{#1}{layout}{\let\scr@setpaperorientation\relax}{}% + \tud@if@strequal{#1}{layout}{\let\scr@setpaperorientation\relax}{}% \KOMAoption{paper}{##1:##2}% }% }% @@ -4587,16 +4765,16 @@ \begingroup% \tud@cdgeometry@assignlayout% \@tud@res@swafalse% - \ifdim\tud@len@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi% - \ifdim\tud@len@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi% + \ifdim\tud@dim@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi% + \ifdim\tud@dim@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi% \edef\tud@res@a{% \endgroup% - \etex@unexpanded{\def#1}{% + \unexpanded{\def#1}{% layoutoffset={% - \the\tud@len@layouthoffset,\the\tud@len@layoutvoffset% + \the\tud@dim@layouthoffset,\the\tud@dim@layoutvoffset% }% \if@tud@res@swa% - ,layoutsize={\the\tud@len@layoutwidth,\the\tud@len@layoutheight}% + ,layoutsize={\the\tud@dim@layoutwidth,\the\tud@dim@layoutheight}% \fi% }% }% @@ -4605,24 +4783,25 @@ }% \newcommand*\tud@x@geometry@set[1]{% \@tud@x@geometry@enabledfalse% - \if@atdocument% + \tud@if@preamble{% + \Gm@initnewgm% + \edef\@tempa{papersize={\the\paperwidth,\the\paperheight},#1}% + \def\@tempc{\tud@cs@use{geometry}}% + \expandafter\@tempc\expandafter{\@tempa,driver=none}% + }{% \edef\@tempa{#1}% \tud@cs@store{Gm@restore@org}% - \eappto\Gm@restore@org{% + \edef\@tempb{% \noexpand\paperwidth=\the\paperwidth\relax% \noexpand\paperheight=\the\paperheight\relax% }% + \expandafter\apptocmd\expandafter\Gm@restore@org\expandafter{% + \@tempb% + }{}{\tud@patch@wrn{Gm@restore@org}}% \def\@tempc{\tud@cs@use{newgeometry}}% \expandafter\@tempc\expandafter{\@tempa}% \tud@cs@restore{Gm@restore@org}% - \else% - \Gm@initnewgm% - \edef\@tempa{% - paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1% - }% - \def\@tempc{\tud@cs@use{geometry}}% - \expandafter\@tempc\expandafter{\@tempa,driver=none}% - \fi% + }% \@tud@x@geometry@enabledtrue% }% \newcommand*\tud@savegeometry[1]{% @@ -4673,7 +4852,7 @@ \fi% \ifcase\tud@cdgeometry@num\relax% \edef\tud@cdgeometry@hmargin{% - left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,% + left=\the\dimexpr\glueexpr\oddsidemargin+1in-\ta@bcor\relax\relax,% textwidth=\the\textwidth,% \tud@cdgeometry@mpincl,% marginparwidth=\the\marginparwidth,% @@ -4691,8 +4870,7 @@ top=\the\dimexpr\topmargin+1in\relax,% \else% includehead=false,% - top=\the\dimexpr\topmargin% - +\headheight+\headsep+1in\relax,% + top=\the\dimexpr\topmargin+\headheight+\headsep+1in\relax,% \fi% headheight=\the\headheight,% headsep=\the\headsep,% @@ -4703,7 +4881,8 @@ \else% custom \ifGm@pass\else% \edef\tud@cdgeometry@hmargin{% - left=\the\dimexpr\oddsidemargin+1in-\Gm@bindingoffset\relax,% + left=\the\dimexpr\glueexpr\oddsidemargin+1in% + -\Gm@bindingoffset\relax\relax,% textwidth=\the\textwidth,% \ifGm@includemp% includemp=true,% @@ -4725,8 +4904,7 @@ top=\the\dimexpr\topmargin+1in\relax,% \else% includehead=false,% - top=\the\dimexpr\topmargin% - +\headheight+\headsep+1in\relax,% + top=\the\dimexpr\topmargin+\headheight+\headsep+1in\relax,% \fi% headheight=\the\headheight,% headsep=\the\headsep,% @@ -4740,37 +4918,43 @@ }% \fi% \fi% - \setlength\tud@len@areadiff{% - \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep% - -\topmargin-\headheight-\headsep-1in\relax% + \if@twoside% + \appto\tud@cdgeometry@hmargin{,twoside}% + \fi% + \if@twocolumn% + \appto\tud@cdgeometry@hmargin{,twocolumn}% + \fi% + \tud@setdim\tud@dim@areadiff{% + \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\topmargin-\headheight-\headsep-1in% }% - \ifdim\tud@len@areadiff<\z@\relax% - \addtolength\tud@len@headsep{-\tud@len@areadiff}% - \setlength\@tempdima{\z@}% + \ifdim\tud@dim@areadiff<\z@\relax% + \tud@addtodim\tud@dim@headsep{-\tud@dim@areadiff}% + \tud@setdim\@tempdima{\z@}% \else% - \setlength\@tempdima{\tud@len@areadiff}% + \tud@setdim\@tempdima{\tud@dim@areadiff}% \fi% \edef\tud@cdgeometry@tudmargin{% ignorehead=true,% - top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight% - +\tud@len@headsep\relax,% - headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight% - -\tud@len@logoy\relax,% - headsep=\the\tud@len@headsep,% + 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\textheight-\@tempdima\relax% }% \tud@if@v@lower{2.03}{% - \setlength\tud@len@ddcdiff{% - \dimexpr.6\tud@len@topmargin-\footskip+\tud@len@headsep% - +\footheight-1.25\baselineskip\relax% + \tud@setdim\tud@dim@ddcdiff{% + \tud@dim@topmargin*3/5-\footskip+\tud@dim@headsep% + +\footheight-1\baselineskip*5/4% }% \edef\tud@cdgeometry@ddcmargin{% - textheight=\the\dimexpr\textheight-\tud@len@areadiff% - -\tud@len@ddcdiff\relax,% - footskip=\the\dimexpr\footskip+\tud@len@ddcdiff\relax% + textheight=\the\dimexpr\textheight-\tud@dim@areadiff% + -\tud@dim@ddcdiff\relax,% + footskip=\the\dimexpr\footskip+\tud@dim@ddcdiff\relax% }% }{}% - \ifdim\dimexpr\tud@dim@extrabottommargin\relax=\z@\relax\else% + \ifdim\dimexpr\tud@extrabottommargin@dim\relax=\z@\relax\else% \begingroup% \edef\tud@res@a{% The key `extrabottommargin' is ineffective\MessageBreak% @@ -4789,45 +4973,43 @@ }% \tud@res@a% \fi% - \else% true/symmetric/twoside - \ifcase\tud@cdgeometry@num\relax\or\or% true - \setlength\@tempdima{\tud@len@widemargin}% + \else% true/symmetric/twoside + \ifcase\tud@cdgeometry@num\relax\or\or% true + \tud@setdim\@tempdima{\tud@dim@widemargin}% \if@reversemargin% - \setlength\@tempdimc{\tud@len@widemargin}% + \tud@setdim\@tempdimc{\tud@dim@widemargin}% \else% - \setlength\@tempdimc{\tud@len@slimmargin}% + \tud@setdim\@tempdimc{\tud@dim@slimmargin}% \fi% \or% symmetric - \setlength\@tempdima{.5\tud@len@both}% - \setlength\@tempdimc{.5\tud@len@both}% + \tud@setdim\@tempdima{\tud@dim@bothmargin/2}% + \tud@setdim\@tempdimc{\tud@dim@bothmargin/2}% \or% twoside \if@twoside% - \setlength\@tempdima{.4\tud@len@both}% + \tud@setdim\@tempdima{\tud@dim@bothmargin*2/5}% \else% - \setlength\@tempdima{.5\tud@len@both}% + \tud@setdim\@tempdima{\tud@dim@bothmargin/2}% \fi% - \setlength\@tempdimc{.5\tud@len@both}% + \tud@setdim\@tempdimc{\tud@dim@bothmargin/2}% \if@twoside% \if@reversemargin% - \setlength\@tempdimc{.4\tud@len@both}% + \tud@setdim\@tempdimc{\tud@dim@bothmargin*2/5}% \else% - \setlength\@tempdimc{.6\tud@len@both}% + \tud@setdim\@tempdimc{\tud@dim@bothmargin*3/5}% \fi% \fi% \fi% - \addtolength\@tempdimc{-\headsep}% - \setlength\@tempdimb{% - \dimexpr\tud@len@layoutwidth-\tud@len@both-\ta@bcor\relax% - }% + \tud@addtodim\@tempdimc{-\headsep}% + \tud@setdim\@tempdimb{\tud@dim@layoutwidth-\tud@dim@bothmargin-\ta@bcor}% \if@mincl% - \addtolength\@tempdimb{-\@tempdimc}% + \tud@addtodim\@tempdimb{-\@tempdimc}% \fi% \edef\tud@cdgeometry@hmargin{% left=\the\@tempdima,% textwidth=\the\@tempdimb,% \tud@cdgeometry@mpincl,% marginparwidth=\the\@tempdimc,% - marginparsep=\the\dimexpr.5\headsep\relax,% + marginparsep=\the\dimexpr\headsep/2\relax,% \if@reversemargin% reversemarginpar=true,% \else% @@ -4848,68 +5030,69 @@ \tud@if@v@lower{2.03}{% \edef\tud@cdgeometry@vmargin{% \tud@cdgeometry@hincl,% - top=\the\dimexpr.5\tud@len@both\relax,% + top=\the\dimexpr\tud@dim@bothmargin/2\relax,% headheight=\the\headheight,% - headsep=\the\tud@len@headsep,% - bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin\relax,% + headsep=\the\tud@dim@headsep,% + bottom=\the\dimexpr\glueexpr\tud@dim@bothmargin/2% + +\tud@extrabottommargin@dim\relax\relax,% \tud@cdgeometry@fincl,% - footskip=\the\dimexpr\tud@len@headsep+\footheight% - -1.25\baselineskip\relax% + footskip=\the\dimexpr\tud@dim@headsep+\footheight% + -1\baselineskip*5/4\relax% }% }{% \edef\tud@cdgeometry@vmargin{% \tud@cdgeometry@hincl,% - top=\the\tud@len@slimmargin,% + top=\the\tud@dim@slimmargin,% headheight=\the\headheight,% headsep=\the\headsep,% - bottom=\the\dimexpr\tud@len@widemargin% - +\tud@dim@extrabottommargin\relax,% + bottom=\the\dimexpr\glueexpr\tud@dim@widemargin% + +\tud@extrabottommargin@dim\relax\relax,% \tud@cdgeometry@fincl,% - footskip=\the\dimexpr\tud@len@footsep+\footheight\relax% + footskip=\the\dimexpr\tud@dim@footsep+\footheight\relax% }% }% \edef\tud@cdgeometry@tudmargin{% ignorehead=true,% - top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight% - +\tud@len@headsep\relax,% - headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight% - -\tud@len@logoy\relax,% - headsep=\the\tud@len@headsep% + 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% }% - \setlength\tud@len@areadiff{% - \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep% - -\tud@len@slimmargin\relax% + \tud@setdim\tud@dim@areadiff{% + \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@dim@slimmargin% }% \tud@if@v@lower{2.03}{% - \setlength\tud@len@areadiff{% - \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep% - -.5\tud@len@both\relax% + \tud@setdim\tud@dim@areadiff{% + \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@dim@bothmargin/2% }% - \setlength\tud@len@ddcdiff{.6\tud@len@topmargin}% + \tud@setdim\tud@dim@ddcdiff{\tud@dim@topmargin*3/5}% \edef\tud@cdgeometry@ddcmargin{% \if@fincl% - bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin% - +\tud@len@ddcdiff+\tud@len@headsep+\footheight% - -1.25\baselineskip\relax,% + bottom=\the\dimexpr\glueexpr\tud@dim@bothmargin/2% + +\tud@extrabottommargin@dim+\tud@dim@ddcdiff+\tud@dim@headsep% + +\footheight-1\baselineskip*5/4\relax\relax,% \else% - bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin% - +\tud@len@ddcdiff\relax,% + bottom=\the\dimexpr\glueexpr\tud@dim@bothmargin/2% + +\tud@extrabottommargin@dim+\tud@dim@ddcdiff\relax\relax,% \fi% - footskip=\the\dimexpr\tud@len@headsep+\footheight% - -1.25\baselineskip+\tud@len@ddcdiff\relax,% + footskip=\the\dimexpr\tud@dim@headsep+\footheight% + -1\baselineskip*5/4+\tud@dim@ddcdiff\relax,% }% }{}% \fi% - \ifdim\tud@len@areadiff<\z@\relax\setlength\tud@len@areadiff{\z@}\fi% - \global\tud@len@areadiff=\tud@len@areadiff% - \setlength\tud@len@areaheadvskip{.22\tud@len@topmargin}% + \ifdim\tud@dim@areadiff<\z@\relax\tud@setdim\tud@dim@areadiff{\z@}\fi% + \global\tud@dim@areadiff=\tud@dim@areadiff% + \tud@setdim\tud@dim@areaheadvskip{\tud@dim@topmargin*11/50}% \if@tud@cdgeometry@adjust% - \setlength\tud@len@areaheadvskip{.5\tud@len@areaheadvskip}% + \tud@setdim\tud@dim@areaheadvskip{\tud@dim@areaheadvskip/2}% \fi% - \global\tud@len@areaheadvskip=\tud@len@areaheadvskip% + \global\tud@dim@areaheadvskip=\tud@dim@areaheadvskip% \tud@if@v@lower{2.03}{% - \ifdim\tud@len@ddcdiff<\z@\relax\setlength\tud@len@ddcdiff{\z@}\fi% - \global\tud@len@ddcdiff=\tud@len@ddcdiff% + \ifdim\tud@dim@ddcdiff<\z@\relax\tud@setdim\tud@dim@ddcdiff{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% }{}% \tud@cdgeometry@@@process% }% @@ -4944,11 +5127,11 @@ \or% custom \tud@savegeometry{current@custom}% \fi% - \if@atdocument% - \ifstr{\tud@currentgeometry}{stdarea}{}{% + \tud@if@preamble{}{% + \tud@if@strequal{\tud@currentgeometry}{stdarea}{}{% \expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}% }% - \fi% + }% }% \newcommand*\tud@cdgeometry@hincl{% \if@hincl% @@ -4975,12 +5158,12 @@ \csuse{@ta@usegeometryfalse}% \tud@x@geometry@getlayout{\tud@cdgeometry@layout}% \tud@cs@store{tud@cdgeometry@num}% - \tud@cs@store{tud@dim@extrabottommargin}% - \def\tud@dim@extrabottommargin{\z@}% + \tud@cs@store{tud@extrabottommargin@dim}% + \def\tud@extrabottommargin@dim{0pt}% \tud@cdgeometry@reset{custom}% \begingroup% \epreto\tud@x@geometry@init{% - paperwidth=\the\paperwidth,paperheight=\the\paperheight,% + papersize={\the\paperwidth,\the\paperheight},% \tud@cdgeometry@layout,% \tud@cdgeometry@mpincl,% \if@reversemargin% @@ -5006,14 +5189,14 @@ \tud@x@typearea@warnings@on% \tud@cdgeometry@@process% \tud@savegeometry{init@typearea}% - \def\tud@res@b##1{% - \eappto\Gm@restore@@init@typearea{% - \noexpand\PackageWarningNoLine{typearea}{##1}% - }% + \def\do##1{% + \apptocmd\Gm@restore@@init@typearea{% + ##1% + }{}{\tud@patch@wrn{Gm@restore@@init@typearea}}% }% - \forlistloop\tud@res@b{\tud@res@a}% + \dolistloop{\tud@res@a}% \tud@cs@restore{tud@cdgeometry@num}% - \tud@cs@restore{tud@dim@extrabottommargin}% + \tud@cs@restore{tud@extrabottommargin@dim}% \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}% \ifcase\tud@cdgeometry@num\relax% typearea \tud@loadgeometry{init@typearea}% @@ -5024,90 +5207,84 @@ \tud@cdgeometry@process% \let\tud@cdgeometry@@init\relax% }% - \newcommand*\tud@currentgeometry{} + \newcommand*\tud@currentgeometry{}% \newcommand*\tud@BeforeSelectAnyPageStyle[1]{% - \ifstr{#1}{\GetRealPageStyle{#1}}{% + \tud@if@strequal{#1}{\GetRealPageStyle{#1}}{% \tud@if@tudheadings{#1}{% \tud@if@v@lower{2.03}{% \tud@ddc@check% \ifcase\@tempb\relax% \tud@ddc@foot@num=false - \ifstr{\tud@currentgeometry}{tudarea}{}{% + \tud@if@strequal{\tud@currentgeometry}{tudarea}{}{% \tud@loadgeometry{tudarea}% \gdef\tud@currentgeometry{tudarea}% }% \else% \tud@ddc@foot@num!=false - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@if@strequal{\tud@currentgeometry}{tudareaddc}{}{% \tud@loadgeometry{tudareaddc}% \gdef\tud@currentgeometry{tudareaddc}% }% \fi% }{% - \ifstr{\tud@currentgeometry}{tudarea}{}{% + \tud@if@strequal{\tud@currentgeometry}{tudarea}{}{% \tud@loadgeometry{tudarea}% \gdef\tud@currentgeometry{tudarea}% }% }% - \setlength\tud@len@areavskip{\z@}% - \tud@komafont@set{pagenumber}{\usekomafont{tudheadings}}% - \tud@komafont@set{pagefoot}{\usekomafont{tudheadings}}% + \tud@setdim\tud@dim@areavskip{\z@}% }{% - \ifstr{\tud@currentgeometry}{stdarea}{}{% + \tud@if@strequal{\tud@currentgeometry}{stdarea}{}{% \tud@loadgeometry{stdarea}% \gdef\tud@currentgeometry{stdarea}% }% - \setlength\tud@len@areavskip{\tud@len@areadiff}% + \tud@setdim\tud@dim@areavskip{\tud@dim@areadiff}% \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside \if@hincl% - \addtolength\tud@len@areavskip{% - \dimexpr-\headheight-\tud@len@headsep\relax% - }% + \tud@addtodim\tud@dim@areavskip{-\headheight-\tud@dim@headsep}% \fi% \fi% - \tud@komafont@unset{pagenumber}% - \tud@komafont@unset{pagefoot}% }% - \global\tud@len@areavskip=\tud@len@areavskip% + \global\tud@dim@areavskip=\tud@dim@areavskip% }{}% - } + }% } \newcommand*\tud@x@typearea@before{% \tud@cdgeometry@resetlayout% - \tud@skip@store{paperheight}% - \tud@skip@store{paperwidth}% + \tud@cslength@store{paperheight}% + \tud@cslength@store{paperwidth}% \begingroup% \tud@cdgeometry@assignlayout% \edef\tud@res@a{% \endgroup% - \etex@unexpanded{\setlength\paperheight}{\the\tud@len@layoutheight}% - \etex@unexpanded{\setlength\paperwidth}{\the\tud@len@layoutwidth}% + \unexpanded{\tud@setdim\paperheight}{\the\tud@dim@layoutheight}% + \unexpanded{\tud@setdim\paperwidth}{\the\tud@dim@layoutwidth}% }% \tud@res@a% } \newcommand*\tud@x@typearea@after{% - \tud@skip@restore{paperheight}% - \tud@skip@restore{paperwidth}% - \if@atdocument% + \tud@cslength@restore{paperheight}% + \tud@cslength@restore{paperwidth}% + \tud@if@preamble{% + \TUD@key@preset{cdgeometry}{false}% + }{% \tud@cdgeometry@reset{typearea}% \tud@cdgeometry@process% - \else% - \TUD@key@preset{cdgeometry}{false}% - \fi% + }% } \newcommand*\tud@x@typearea@init{\recalctypearea}% \xpretocmd{\typearea}{% \tud@x@typearea@before% - \def\tud@x@typearea@init{\typearea[#1]{#2}}% + \def\tud@x@typearea@init{\typearea[{#1}]{#2}}% }{}{\tud@patch@wrn{typearea}} \xapptocmd{\typearea}{\tud@x@typearea@after}{}{\tud@patch@wrn{typearea}} \xpretocmd{\areaset}{% \tud@x@typearea@before% \begingroup% - \setlength\@tempdima{#2}% - \setlength\@tempdimb{#3}% + \tud@setdim\@tempdima{#2}% + \tud@setdim\@tempdimb{#3}% \edef\tud@res@a{% \endgroup% - \noexpand\def\noexpand\tud@x@typearea@init{% - \noexpand\areaset[#1]{\the\@tempdima}{\the\@tempdimb}% + \def\noexpand\tud@x@typearea@init{% + \unexpanded{\areaset[{#1}]}{\the\@tempdima}{\the\@tempdimb}% }% }% \tud@res@a% @@ -5115,17 +5292,17 @@ \xapptocmd{\areaset}{\tud@x@typearea@after}{}{\tud@patch@wrn{areaset}} \tud@cs@store{storeareas} \renewcommand*\storeareas[1]{% - \begingroup + \begingroup% \tud@x@geometry@fixmargins% \tud@cs@use{storeareas}{#1}% - \def\tud@res@b##1{\unexpanded{\setlength##1}{\the##1}}% + \def\tud@res@b##1{\unexpanded{\tud@setdim##1}{\the##1}}% \edef\tud@res@a{% \endgroup% - \etex@unexpanded{\def#1}{% - \tud@res@b{\tud@len@layoutwidth}% - \tud@res@b{\tud@len@layoutheight}% - \tud@res@b{\tud@len@layouthoffset}% - \tud@res@b{\tud@len@layoutvoffset}% + \unexpanded{\def#1}{% + \tud@res@b{\tud@dim@layoutwidth}% + \tud@res@b{\tud@dim@layoutheight}% + \tud@res@b{\tud@dim@layouthoffset}% + \tud@res@b{\tud@dim@layoutvoffset}% \expandonce#1% \def\noexpand\tud@cdgeometry@num{\tud@cdgeometry@num}% }% @@ -5139,8 +5316,8 @@ \let\tud@cdgeometry@@init\relax% }% \newcommand*\tud@cdgeometry@@process{% - \setlength\tud@len@layoutwidth{\paperwidth}% - \setlength\tud@len@layoutheight{\paperheight}% + \tud@setdim\tud@dim@layoutwidth{\paperwidth}% + \tud@setdim\tud@dim@layoutheight{\paperheight}% \tud@cdgeometry@set% }% \newcommand*\tud@x@geometry@fixmargins{}% @@ -5155,41 +5332,52 @@ \fi% }% } -\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% - \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle% +\patchcmd\cleardoubleoddpageusingstyle{% + \pagestyle% +}{% + \let\tud@BeforeSelectAnyPageStyle\@gobble% + \pagestyle% }{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} -\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% - \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle% +\patchcmd\cleardoubleevenpageusingstyle{% + \pagestyle% +}{% + \let\tud@BeforeSelectAnyPageStyle\@gobble% + \pagestyle% }{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} -\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% - \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle% +\patchcmd\cleardoublepageusingstyle{% + \pagestyle% +}{% + \let\tud@BeforeSelectAnyPageStyle\@gobble% + \pagestyle% }{}{\tud@patch@wrn{cleardoublepageusingstyle}} \tud@if@v@lower{2.03}{% \newcommand*\tud@ddc@enlargepage[1][]{% \tud@if@tudheadings{#1}{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@if@strequal{\tud@currentgeometry}{tudareaddc}{}{% \tud@ddc@check% \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false - \enlargethispage{-\tud@len@ddcdiff}% + \enlargethispage{-\tud@dim@ddcdiff}% \fi% }% }{}% }% }{} -%%% From File: tudscr-pagestyle.dtx +%%%% From File: tudscr-pagestyle.dtx (no git version info was found) \if@tud@x@standalone@crop \PreventPackageFromLoading{scrlayer-scrpage}% \else \PassOptionsToPackage{automark}{scrlayer-scrpage}% - \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2020/09/21]}% + \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[% + 2022/05/01 v3.36 KOMA-Script + ]}% \fi \AfterPackage{scrlayer-scrpage}{% \DeclareNewLayer[% background,headsep,% - addhoffset=\dimexpr\tud@len@logox-\tud@len@widemargin\relax,% - addwidth=\dimexpr-\tud@len@logox+\tud@len@widemargin\relax,% - voffset=\tud@len@logoy,% - addvoffset=\tud@len@layoutvoffset,% + addhoffset=\tud@dim@logox-\tud@dim@widemargin,% + addwidth=-\tud@dim@logox+\tud@dim@widemargin,% + voffset=\tud@dim@logoy,% + addvoffset=\tud@dim@layoutvoffset,% contents={% \tud@mainlogo@set% \tud@headlogo@option@set% @@ -5198,10 +5386,10 @@ ]{tudheadings.head.content}% \DeclareNewLayer[% background,% - width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,% - addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,% - height=\dimexpr\tud@len@topmargin+\tud@dim@bleedmargin\relax,% - addvoffset=\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax,% + width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,% + addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,% + height=\glueexpr\tud@dim@topmargin+\tud@bleedmargin@dim\relax,% + addvoffset=\glueexpr\tud@dim@layoutvoffset-\tud@bleedmargin@dim\relax,% contents={% \ifnum\tud@head@bar@num>\tw@\relax% cdhead=color \color{HKS41}% @@ -5211,24 +5399,24 @@ ]{tudheadings.head.back}% \DeclareNewLayer[% background,% - width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,% - addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,% - height=\tud@len@barheight,% - voffset=\tud@len@topmargin,% - addvoffset=\tud@len@layoutvoffset,% + width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,% + addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,% + height=\tud@dim@barheight,% + voffset=\tud@dim@topmargin,% + addvoffset=\tud@dim@layoutvoffset,% contents={% \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color \color{HKS41!60}% - \setlength\@tempdima{\dimexpr\ht\strutbox-\tud@len@barheight\relax}% - \ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi% + \tud@setdim\@tempdima{\ht\strutbox-\tud@dim@barheight}% + \ifdim\@tempdima<\z@\relax\tud@setdim\@tempdima{\z@}\fi% \raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}% \fi% },% ]{tudheadings.head.bar}% \DeclareNewLayer[% background,headsep,% - voffset=\dimexpr\tud@len@topmargin+\tud@len@line\relax,% - addvoffset=\tud@len@layoutvoffset,% + voffset=\tud@dim@topmargin+\tud@dim@line,% + addvoffset=\tud@dim@layoutvoffset,% contents={% \tud@head@font@set% \tud@head@text@set% @@ -5237,8 +5425,8 @@ ]{tudheadings.head.text}% \DeclareNewLayer[% background,headsep,% - voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,% - addvoffset=\tud@len@layoutvoffset,% + voffset=\tud@dim@topmargin-\tud@dim@line/2,% + addvoffset=\tud@dim@layoutvoffset,% contents={% \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi% @@ -5247,9 +5435,8 @@ ]{tudheadings.head.upline}% \DeclareNewLayer[% background,headsep,% - voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight% - -.5\tud@len@line\relax,% - addvoffset=\tud@len@layoutvoffset,% + voffset=\tud@dim@topmargin+\tud@dim@barheight-\tud@dim@line/2,% + addvoffset=\tud@dim@layoutvoffset,% contents={% \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi% @@ -5258,10 +5445,10 @@ ]{tudheadings.head.lowline}% \DeclareNewLayer[% background,% - width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,% - addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,% - voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,% - addvoffset=\tud@len@layoutvoffset,% + width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,% + addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,% + voffset=\tud@dim@topmargin-\tud@dim@line/2,% + addvoffset=\tud@dim@layoutvoffset,% contents={% \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi% @@ -5270,11 +5457,10 @@ ]{tudheadings.head.uplinewide}% \DeclareNewLayer[% background,% - width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,% - addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,% - voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight% - -.5\tud@len@line\relax,% - addvoffset=\tud@len@layoutvoffset,% + width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,% + addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,% + voffset=\tud@dim@topmargin+\tud@dim@barheight-\tud@dim@line/2,% + addvoffset=\tud@dim@layoutvoffset,% contents={% \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi% @@ -5283,16 +5469,16 @@ ]{tudheadings.head.lowlinewide}% \DeclareNewLayer[% foreground,headsep,% - addvoffset=.5\tud@len@headsep,% - height=\baselineskip,% + addvoffset=\tud@dim@headsep/2,% + height=1\baselineskip,% contents={\if@tud@head@date\hfill\tud@date@print\fi},% ]{tudheadings.head.date}% \DeclareNewLayer[% background,foot,% - width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,% - hoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,% - height=\dimexpr\tud@len@layoutheight-\layeryoffset% - +\tud@len@layoutvoffset+\tud@dim@bleedmargin\relax,% + width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,% + hoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,% + height=\glueexpr\tud@dim@layoutheight-\layeryoffset% + +\tud@dim@layoutvoffset+\tud@bleedmargin@dim\relax,% addvoffset=-\dp\strutbox,% contents={% \if@tud@foot@colored% @@ -5307,7 +5493,9 @@ \fi% }{% \def\@tempc{\color{HKS41}}% - \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!60}}}{}% + \tud@if@strequal{\tud@pagecolor}{HKS41}% + {\def\@tempc{\color{HKS41!60}}}% + {}% }% \ifx\@tempc\relax\else% \@tempc\rule{\layerwidth}{\layerheight}% @@ -5317,7 +5505,7 @@ ]{tudheadings.foot.back}% \tud@if@v@lower{2.03}{% \ModifyLayer[% - addvoffset=-\tud@len@ddcdiff+\ht\strutbox,% + addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,% contents={% \if@tud@foot@colored% \let\@tempc\relax% @@ -5329,7 +5517,9 @@ \fi% }{% \def\@tempc{\color{HKS41}}% - \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!60}}}{}% + \tud@if@strequal{\tud@pagecolor}{HKS41}% + {\def\@tempc{\color{HKS41!60}}}% + {}% }% \ifx\@tempc\relax\else% \tud@ddc@check% @@ -5337,7 +5527,7 @@ \vbox to \layerheight{% \vfil\@tempc% \rule{\layerwidth}{% - \dimexpr\layerheight-\tud@len@ddcdiff+\ht\strutbox\relax% + \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax% }% }% \else% \tud@ddc@foot@num!=false @@ -5350,13 +5540,9 @@ }{}% \DeclareNewLayer[% background,foot,% - height=\dimexpr\tud@len@layoutheight-\layeryoffset% - +\tud@len@layoutvoffset\relax,% + height=\tud@dim@layoutheight-\layeryoffset+\tud@dim@layoutvoffset,% contents={% - \TUD@deprecated@lengthcs[% - \global\@tud@footlogo@option@settrue% - ]{footlogoheight}% - \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}% + \tud@setdim\@tempdima{\layerheight-\dp\strutbox}% \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}% \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}% \tud@footcontent@use{\@tempdima}{\layerwidth}% @@ -5364,16 +5550,13 @@ ]{tudheadings.foot.content}% \tud@if@v@lower{2.03}{% \ModifyLayer[% - addvoffset=-\tud@len@ddcdiff+\ht\strutbox,% + addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,% contents={% - \TUD@deprecated@lengthcs[% - \global\@tud@footlogo@option@settrue% - ]{footlogoheight}% - \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}% + \tud@setdim\@tempdima{\layerheight-\dp\strutbox}% \tud@ddc@check% \ifcase\@tempb\relax% \tud@ddc@foot@num=false - \addtolength\@tempdima{\dimexpr\ht\strutbox-\tud@len@ddcdiff\relax}% - \vskip\dimexpr\tud@len@ddcdiff-\ht\strutbox-\baselineskip\relax% + \tud@addtodim\@tempdima{\ht\strutbox-\tud@dim@ddcdiff}% + \vskip\dimexpr\tud@dim@ddcdiff-\ht\strutbox-1\baselineskip\relax% \fi% \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}% \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}% @@ -5386,7 +5569,7 @@ contents=\tud@head@bar@restore,% ]{tudheadings.last}% \DeclareNewPageStyleByLayers[% - onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + onbackground=\tud@ps@onbackground% ]{tudheadings}{% tudheadings.head.back,% tudheadings.head.content,% @@ -5410,7 +5593,7 @@ \DeclareNewPageStyleAlias{tudscr}{tudheadings}% \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% \DeclareNewPageStyleByLayers[% - onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + onbackground=\tud@ps@onbackground% ]{plain.tudheadings}{% tudheadings.head.back,% tudheadings.head.content,% @@ -5436,7 +5619,7 @@ \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}% \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}% \DeclareNewPageStyleByLayers[% - onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + onbackground=\tud@ps@onbackground% ]{empty.tudheadings}{% tudheadings.head.back,% tudheadings.head.content,% @@ -5458,12 +5641,10 @@ \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}% \DeclareNewLayer[% background,% - area=% - {\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax}% - {\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax}% - {\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax}% - {\dimexpr\tud@len@layoutheight+\tud@dim@bleedmargin*2\relax}% - ,% + hoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,% + voffset=\glueexpr\tud@dim@layoutvoffset-\tud@bleedmargin@dim\relax,% + width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,% + height=\glueexpr\tud@dim@layoutheight+(\tud@bleedmargin@dim)*2\relax,% contents={% \ifdefvoid{\tud@pagecolor}{}{% \color{\tud@pagecolor}% @@ -5472,6 +5653,22 @@ },% ]{tudheadings.pagecolor}% \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% + \AddToLayerPageStyleOptions{@everystyle@}{% + onselect={% + \tud@if@tudheadings{\currentpagestyle}{% + \DeclarePageStyleAlias{plain}{plain.tudheadings}% + \DeclarePageStyleAlias{headings}{tudheadings}% + \def\sls@currentheadings{tudheadings}% + \def\sls@currentplain{plain.tudheadings}% + \TUD@deprecated@length\footlogoheight% + \tud@komafont@set{pagenumber}{\usekomafont{tudheadings}}% + \tud@komafont@set{pagefoot}{\usekomafont{tudheadings}}% + }{% + \tud@komafont@unset{pagenumber}% + \tud@komafont@unset{pagefoot}% + }% + }% + }% } \newcommand*\tud@ps@list{} \listadd\tud@ps@list{tudheadings} @@ -5480,13 +5677,15 @@ \newcommand*\tud@if@tudheadings[3]{% \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% } -\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% +\patchcmd\thispagestyle{% + \gdef\@specialstyle{#1}% +}{% \xdef\@specialstyle{\GetRealPageStyle{#1}}% }{}{\tud@patch@wrn{thispagestyle}} \newcommand*\tud@pagestyle{} \let\tud@pagestyle\pagestyle \newcommand*\currentpagestyle{plain} -\pretocmd{\tud@pagestyle}{% +\pretocmd\tud@pagestyle{% \tud@BeforeSelectAnyPageStyle{#1}% \edef\currentpagestyle{#1}% }{}{\tud@patch@wrn{pagestyle}} @@ -5502,26 +5701,21 @@ } \AfterAtEndOfPackage*{scrlayer-scrpage}{\AtEndPreamble{\tud@cdgeometry@init}} \TUD@UnwindPackage{scrlayer-scrpage}{% - \ifcsundef{if@chapter}{% + \ifundef{\if@chapter}{% \newif\if@chapter% - \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% + \ifundef{\chapter}{\@chapterfalse}{\@chaptertrue}% }{}% \cslet{ps@tudheadings}{\ps@headings}% \cslet{ps@plain.tudheadings}{\ps@plain}% \cslet{ps@empty.tudheadings}{\ps@empty}% \providecommand*\currentpagestyle{plain}% \providecommand*\BeforeSelectAnyPageStyle[1]{}% + \providecommand*\tud@BeforeSelectAnyPageStyle[1]{}% \providecommand*\GetRealPageStyle[1]{#1}% \let\pagestyle\tud@pagestyle% \undef\tud@pagestyle% \tud@cdgeometry@init% } -\newcommand*\tud@ps@onselect{% - \DeclarePageStyleAlias{plain}{plain.tudheadings}% - \DeclarePageStyleAlias{headings}{tudheadings}% - \def\sls@currentheadings{tudheadings}% - \def\sls@currentplain{plain.tudheadings}% -} \newcommand*\tud@head@logocolor{black} \newcommand*\tud@head@fontcolor{} \newcommand*\tud@foot@logocolor{black} @@ -5561,7 +5755,7 @@ \fi% }{% \tud@locked@bool@preset{@tud@head@widebar}{true}% - \ifstr{\tud@pagecolor}{HKS41}{% + \tud@if@strequal{\tud@pagecolor}{HKS41}{% \renewcommand*\tud@head@logocolor{white}% \renewcommand*\tud@head@fontcolor{white}% \renewcommand*\tud@foot@logocolor{white}% @@ -5586,8 +5780,10 @@ \fi% }% }% - \let\tud@len@line\tud@len@thinline% - \ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}% + \let\tud@dim@line\tud@dim@thinline% + \tud@if@strequal{\tud@head@fontcolor}{white}% + {\let\tud@dim@line\tud@dim@heavyline}% + {}% \global\let\tud@foot@fontcolor\tud@foot@fontcolor% } \newcommand*\tud@head@text@line{} @@ -5595,13 +5791,13 @@ \newcommand*\tud@head@text@delimiter{} \newcommand*\tud@head@text@buffer{} \newcommand*\tud@head@text@add[3][{, }]{% - \ifxblank{#3}{}{% + \tud@if@strblank{#3}{}{% \edef\tud@head@text@delimiter{\expandonce\tud@head@text@buffer}% \def\tud@head@text@buffer{#1}% \edef\@tempa{% \expandonce\tud@head@text@line% \expandonce\tud@head@text@delimiter% - \etex@unexpanded{#2#3}% + \unexpanded{#2#3}% }% \settowidth\@tempdima{\@tempa}% \ifdim\@tempdima>\textwidth\relax% @@ -5612,7 +5808,7 @@ \fi% }% } -\newif\if@tud@head@text@set +\tud@newif\if@tud@head@text@set \newcommand*\tud@head@text@wrn[1]{} \newcommand*\tud@head@text@set{% \if@tud@head@text@set% @@ -5624,7 +5820,7 @@ \tud@head@text@add{\tud@head@font@light}{\@institute}% \tud@head@text@add{\tud@head@font@light}{\@chair}% \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}% - \ifxblank{\@extraheadline}{}{% + \tud@if@strblank{\@extraheadline}{}{% \listadd\tud@head@text@list{\tud@head@font@light\@extraheadline}% }% \gdef\tud@head@text@wrn##1{% @@ -5638,7 +5834,7 @@ } \newcommand*\tud@head@text@box{% \def\@tempb{\tud@color{\tud@head@fontcolor}}% - \def\@tempc{\depth+\tud@len@heavyline}% + \def\@tempc{\depth+\tud@dim@heavyline}% \def\@tempa##1{% \settowidth\@tempdima{##1}% \ifdim\@tempdima>\textwidth\relax% @@ -5650,16 +5846,16 @@ \@tempb% \tud@head@text@write[\@tempc]{##1}% \def\@tempb{\newline}% - \def\@tempc{\z@}% + \let\@tempc\z@% \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{% - \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% + \tud@if@strequal{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% }% \fi% }% \vbox{% \let\@raggedtwoe@everyselectfont\relax% - \setlength\spaceskip{\z@}% + \tud@setdim\spaceskip{\z@}% \selectfont% \offinterlineskip% \forlistloop\@tempa{\tud@head@text@list}% @@ -5667,16 +5863,18 @@ \global\let\tud@head@text@wrn\@gobble% } \newcommand*\tud@head@text@write[2][\z@]{% - \raisebox{\dimexpr(\tud@len@barheight+2\tud@len@line-\totalheight)/2\relax}[% - \dimexpr\tud@len@barheight-\depth\relax% - ][\dimexpr#1\relax]{#2\vphantom{gjpqy\"A\"O\"U}}% + \raisebox{% + \dimexpr(\tud@dim@barheight+\tud@dim@line*2-\totalheight)/2\relax% + }[% + \dimexpr\tud@dim@barheight-\depth\relax% + ][\dimexpr\glueexpr#1\relax\relax]{#2\vphantom{\tud@font@phantomglyphs}}% } \newcommand*\tud@head@rule[1]{% \tud@color{\tud@head@fontcolor}% - \rule[\ht\strutbox]{#1}{\tud@len@line}% + \rule[\ht\strutbox]{#1}{\tud@dim@line}% } \newcommand*\tud@newlayerbox[1]{% - \expandafter\newsavebox\csname tud@layer@#1\endcsname% + \global\expandafter\newsavebox\csname tud@layer@#1\endcsname% } \newcommand*\tud@savelayerbox[1]{% \global\expandafter\sbox\csname tud@layer@#1\endcsname% @@ -5684,33 +5882,74 @@ \newcommand*\tud@uselayerbox[1]{% \expandafter\usebox\csname tud@layer@#1\endcsname% } -\newcommand*\tud@vlayerbox[3]{% +\newcommand*\tud@vlayerbox[4][]{% \begingroup% - \setbox\z@\vbox{#2}% - \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@-#1\relax}% - \ifdim\@tempdima>\z@\relax% - \ClassWarning{\TUD@Class@Name}{% - #3\MessageBreak% - The maximum height is exceeded by \the\@tempdima\MessageBreak% + \setbox\z@\vbox{#3}% + \tud@setdim\tud@res@glue{\dimexpr\glueexpr#2\relax\relax}% + \ifdim\dimexpr\ht\z@+\dp\z@-\tud@res@glue\relax>\p@\relax% + \edef\tud@res@a{% + \noexpand\ClassWarning{\noexpand\TUD@Class@Name}{% + #4\noexpand\MessageBreak% + The total height of \the\dimexpr\ht\z@+\dp\z@\relax\space exceeds the% + \noexpand\MessageBreak maximum height (\the\tud@res@glue)% + }% + }% + \IfArgIsEmpty{#1}{\tud@res@a}{% + \expandafter\ifx\csname tud@layer@#1@wrn\endcsname\tud@res@a\else% + \tud@res@a% + \global\cslet{tud@layer@#1@wrn}\tud@res@a% + \fi% }% \fi% \endgroup% - \vbox to #1{#2}% + \vbox to #2{#3}% +} +\tud@if@v@lower{2.04}{% + \renewcommand*\tud@comp@clearpage{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% + \fi% + }% + \renewcommand*\tud@comp@resetpagestyle{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }{}% + \fi% + }% +}{}% +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head@num% + \let\@tempb\tud@ddc@foot@num% + \if@tud@ddc@auto% + \ifdefvoid{\tud@headlogo@filename}{% + \let\@tempa\tud@ddc@auto@num% + \let\@tempb\z@% + }{% + \let\@tempa\z@% + \let\@tempb\tud@ddc@auto@num% + }% + \fi% + \tud@if@v@lower{2.03}{% + \ifnum\@tempb=\z@\relax% + \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% + \fi% + }{}% } \tud@newlayerbox{main@black} \tud@newlayerbox{main@HKS41} \tud@newlayerbox{main@white} -\newlength\tud@len@mainlogoheight +\tud@newdim\tud@dim@mainlogoheight \newcommand*\tud@mainlogo@wrn[1]{} -\newif\if@tud@mainlogo@set +\tud@newif\if@tud@mainlogo@set \newcommand*\tud@mainlogo@set{% \if@tud@mainlogo@set% - \def\@tempa{\includegraphics[keepaspectratio,width=\tud@len@logowidth]}% + \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}}% - \settoheight\tud@len@mainlogoheight{\tud@uselayerbox{main@black}}% - \global\tud@len@mainlogoheight=\tud@len@mainlogoheight% + \settoheight\tud@dim@mainlogoheight{\tud@uselayerbox{main@black}}% + \global\tud@dim@mainlogoheight=\tud@dim@mainlogoheight% \gdef\tud@mainlogo@wrn##1{% \ifdim##1<\ta@bcor\relax% \ClassWarning{\TUD@Class@Name}{% @@ -5725,14 +5964,18 @@ \fi% }% \tud@headlogo@set% - \@tud@footlogo@option@settrue% + \global\@tud@footlogo@option@settrue% \tud@footlogo@option@set% \global\@tud@mainlogo@setfalse% \fi% } +\AtBeginDocument{% + \@tud@mainlogo@settrue% + \tud@mainlogo@set% +} \newcommand*\tud@mainlogo@use{% \tud@mainlogo@wrn{% - \dimexpr\oddsidemargin+1in+\tud@len@logox-\tud@len@widemargin\relax% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax% }% \tud@uselayerbox{main@\tud@head@logocolor}% } @@ -5742,26 +5985,17 @@ \tud@newlayerbox{head@option} \newcommand*\tud@headlogo@filename{} \newcommand*\tud@headlogo@fileoptions{} -\newcommand*\tud@headlogo@wrn{} \newcommand*\headlogo[2][]{% \tud@comp@clearpage% \renewcommand*\tud@headlogo@filename{#2}% \renewcommand*\tud@headlogo@fileoptions{#1}% \global\@tud@headlogo@option@settrue% \global\@tud@footlogo@option@settrue% - \gdef\tud@headlogo@wrn{% - \ClassWarning{\TUD@Class@Name}{% - Secondary logo `\string\headlogo{\tud@headlogo@filename}'\MessageBreak% - is overwritten with DDC logo. Maybe you should\MessageBreak% - use `ddcfoot' or better `ddc' instead of `ddchead'% - }% - \global\let\tud@headlogo@wrn\relax% - }% \tud@comp@resetpagestyle% } \newcommand*\tud@headlogo@set{% \def\@tempa{% - \includegraphics[keepaspectratio,totalheight=\tud@len@mainlogoheight]% + \includegraphics[keepaspectratio,totalheight=\tud@dim@mainlogoheight]% }% \tud@savelayerbox{head@black}{\@tempa{DDC-24}}% \tud@savelayerbox{head@HKS41}{\@tempa{DDC-27}}% @@ -5772,18 +6006,19 @@ \if@tud@headlogo@option@set% \def\@tempc##1##2{% \tud@savelayerbox{head@option}{% - \includegraphics[% - keepaspectratio,totalheight=\tud@len@mainlogoheight,##2% - ]{##1}% + \includegraphics[{% + keepaspectratio,% + totalheight=\tud@dim@mainlogoheight,% + ##2% + }]{##1}% }% }% \tud@savelayerbox{head@option}{}% \tud@ddc@check% \ifcase\@tempa\relax% \tud@ddc@head@num=false \ifdefvoid{\tud@headlogo@filename}{}{% - \protected@edef\tud@headlogo@filename{% - \expandafter\trim@spaces\expandafter{\tud@headlogo@filename}% - }% + \protected@edef\tud@headlogo@filename{\tud@headlogo@filename}% + \trim@spaces@in\tud@headlogo@filename% \protected@edef\@tempb{% \noexpand\@tempc{\tud@headlogo@filename}{\tud@headlogo@fileoptions}% }% @@ -5802,11 +6037,21 @@ \or% \tud@ddc@head@num=white \@tempc{DDC-30}{}% \fi% + \ifnum\@tempa>\z@\relax + \ifdefvoid{\tud@headlogo@filename}{}{% + \ClassWarning{\TUD@Class@Name}{% + Secondary logo `\tud@headlogo@filename'\MessageBreak% + is overwritten with DDC logo. Maybe you should\MessageBreak% + use `ddcfoot' or better `ddc' instead of `ddchead'% + }% + }% + \fi% \global\@tud@headlogo@option@setfalse% \fi% } +\newcommand*\tud@layer@headlogo@wrn{} \newcommand*\tud@headlogo@use{% - \tud@vlayerbox{\tud@len@mainlogoheight}{% + \tud@vlayerbox[headlogo]{\tud@dim@mainlogoheight}{% \vss% \hbox{% \tud@ddc@check% @@ -5820,57 +6065,59 @@ }{% The given `\string\headlogo{\tud@headlogo@filename}' is too large.% }% - \ifdefvoid{\tud@headlogo@filename}{}{% - \tud@ddc@check% - \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% - }% } -\AtEndOfClass{% - \ifdefvoid{\tud@dim@footlogoheight}{% +\newcommand*\tud@footlogoheight@set{% + \ifdim\dimexpr\tud@footlogoheight@dim\relax=\z@\relax% \tud@if@v@lower{2.03}{% - \def\tud@dim@footlogoheight{.6\tud@len@topmargin}% + \def\tud@footlogoheight@dim{\tud@dim@topmargin*3/5}% }{% - \def\tud@dim@footlogoheight{\tud@len@mainlogoheight}% + \def\tud@footlogoheight@dim{\tud@dim@mainlogoheight}% }% - }{}% + \fi% } \tud@newlayerbox{foot@black} \tud@newlayerbox{foot@HKS41} \tud@newlayerbox{foot@white} \tud@newlayerbox{foot@option} \newcommand*\tud@footlogo@ddc@set[2]{% - \tud@savelayerbox{foot@#1}{% - \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}% + \tud@savelayerbox{#1}{% + \includegraphics[% + keepaspectratio,% + totalheight=\dimexpr\glueexpr\tud@footlogoheight@dim\relax\relax% + ]{#2}% }% } \newcommand*\tud@footlogo@option@set{% + \tud@footlogoheight@set% \if@tud@footlogo@option@set% - \tud@footlogo@ddc@set{black}{DDC-22}% - \tud@footlogo@ddc@set{HKS41}{DDC-25}% - \tud@footlogo@ddc@set{white}{DDC-28}% + \tud@footlogo@ddc@set{foot@black}{DDC-22}% + \tud@footlogo@ddc@set{foot@HKS41}{DDC-25}% + \tud@footlogo@ddc@set{foot@white}{DDC-28}% \tud@ddc@check% \ifcase\@tempb\relax\or\or% \tud@ddc@foot@num=color - \tud@footlogo@ddc@set{option}{DDC-01}% + \tud@footlogo@ddc@set{foot@option}{DDC-01}% \or% \tud@ddc@foot@num=colorblack - \tud@footlogo@ddc@set{option}{DDC-07}% + \tud@footlogo@ddc@set{foot@option}{DDC-07}% \or% \tud@ddc@foot@num=gray - \tud@footlogo@ddc@set{option}{DDC-19}% + \tud@footlogo@ddc@set{foot@option}{DDC-19}% \or% \tud@ddc@foot@num=black - \tud@footlogo@ddc@set{option}{DDC-22}% + \tud@footlogo@ddc@set{foot@option}{DDC-22}% \or% \tud@ddc@foot@num=blue - \tud@footlogo@ddc@set{option}{DDC-25}% + \tud@footlogo@ddc@set{foot@option}{DDC-25}% \or% \tud@ddc@foot@num=white - \tud@footlogo@ddc@set{option}{DDC-28}% + \tud@footlogo@ddc@set{foot@option}{DDC-28}% \fi% \global\@tud@footlogo@option@setfalse% + \global\@tud@footlogo@cmd@settrue% \fi% } +\newcommand*\tud@layer@footlogo@wrn{} \newcommand*\tud@footlogo@ddc@use[2]{% \tud@ddc@check% \ifcase\@tempb\relax\else% \tud@ddc@foot@num=!false \tud@footlogo@option@set% \setbox\z@\hbox{% - \tud@vlayerbox{#1}{% + \tud@vlayerbox[footlogo]{#1}{% \vss% \hbox to #2{% \hss% @@ -5882,12 +6129,12 @@ }% \vss\vss% }{% - You should reduce `footlogoheight', because it is\MessageBreak% - too high (\the\dimexpr\tud@dim@footlogoheight\relax).% + You should reduce `footlogoheight', because it is\noexpand\MessageBreak% + too high. % \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside - \MessageBreak% - Alternatively you can enlarge the bottom margin\MessageBreak% - by using option `extrabottommargin'.% + Alternatively you could use\noexpand\MessageBreak% + option `extrabottommargin=<length>'\noexpand\MessageBreak% + in order to enlarge the bottom margin. % \fi% }% }% @@ -5905,14 +6152,15 @@ \global\@tud@footlogo@cmd@settrue% \tud@comp@resetpagestyle% } -\newif\if@tud@footlogo@cmd@set +\tud@newif\if@tud@footlogo@cmd@set \newcommand*\tud@footlogo@cmd@set[2]{% \if@tud@footlogo@cmd@set% \tud@savelayerbox{foot@cmd}{% \hbox to #2{% \let\@tempa\relax% \@for\@tempb:=\tud@footlogo@filenames\do{% - \edef\@tempb{\expandafter\trim@spaces\expandafter{\@tempb}}% + \protected@edef\@tempb{\@tempb}% + \trim@spaces@in{\@tempb}% \@tempa% \ifx\@tempb\@empty\else% \expandafter\tud@footlogo@cmd@@set\expandafter{\@tempb}{#1}% @@ -5942,11 +6190,14 @@ \DeclareListParser{\@tempc}{:}% \@tempc{#1}% \preto\tud@footlogo@fileoptions{% - keepaspectratio,totalheight=\tud@dim@footlogoheight,% + keepaspectratio,% + totalheight=\dimexpr\glueexpr\tud@footlogoheight@dim\relax\relax,% }% \eappto\tud@footlogo@fileoptions{\expandonce\@tempb}% \protected@edef\@tempc{% - \noexpand\includegraphics[\expandonce\tud@footlogo@fileoptions]{\@tempa}% + \noexpand\includegraphics[{% + \expandonce\tud@footlogo@fileoptions% + }]{\@tempa}% }% \tud@vlayerbox{#2}{\vss\hbox{\@tempc}\vss\vss}{% The given `\string\footlogo{\@tempa}' is too large.% @@ -5960,26 +6211,27 @@ \usebox\z@\hspace*{-\wd\z@}% } \newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}} -\newcommand*\tud@footcontent@usefont[1]{% +\newcommand*\tud@footcontent@font@use[1]{% \usekomafont{tudheadings}{% - \tud@footcontent@fontsize% - \tud@footcontent@fontface% + \tud@footcontent@font@size% + \tud@footcontent@font@face% \selectfont% #1% }% } -\newcommand*\tud@footcontent@fontsize{} -\newcommand*\tud@footcontent@fontface{} +\newcommand*\tud@footcontent@font@size{} +\newcommand*\tud@footcontent@font@face{} \newcommand*\tud@footcontent@left{} -\newcommand*\tud@footcontent@right{\@nil} +\newcommand*\tud@footcontent@right{} +\let\tud@footcontent@right\@nnil \newcommand*\footcontent{% \kernel@ifstar{% - \renewcommand*\tud@footcontent@fontsize{}% + \renewcommand*\tud@footcontent@font@size{}% \tud@footcontent@do% }{% - \renewcommand*\tud@footcontent@fontsize{% - \setlength\@tempdima{\tud@head@fontsize\p@}% - \fontsize{\@tempdima}{1.25\@tempdima}% + \renewcommand*\tud@footcontent@font@size{% + \tud@setdim\tud@res@glue{\tud@head@fontsize\p@}% + \fontsize{\tud@res@glue}{\dimexpr1\tud@res@glue*5/4\relax}% }% \tud@footcontent@do% }% @@ -5991,22 +6243,22 @@ } \newcommand*\tud@footcontent@@do{} \def\tud@footcontent@@do#1#2[#3]{% - \if\detokenize{*#1}\relax\else% - \renewcommand*\tud@footcontent@fontface{#1}% + \if\detokenize{#1*}\relax\else% + \renewcommand*\tud@footcontent@font@face{#1}% \fi% - \if\detokenize{*#2}\relax\else% + \if\detokenize{#2*}\relax\else% \renewcommand*\tud@footcontent@left{#2}% \fi% - \if\detokenize{*#3}\relax\else% + \if\detokenize{#3*}\relax\else% \renewcommand*\tud@footcontent@right{#3}% \fi% } +\newcommand*\tud@layer@footcontent@wrn{} \newcommand*\tud@footcontent@use[2]{% \@tempswafalse% - \ifx\tud@footcontent@left\@empty\relax% - \def\@tempa{\@nil}% - \ifx\@tempa\tud@footcontent@right\relax\else% - \ifx\tud@footcontent@right\@empty\relax\else% + \ifx\tud@footcontent@left\@empty% + \ifx\tud@footcontent@right\@nnil\else% + \ifx\tud@footcontent@right\@empty\else% \@tempswatrue% \fi% \fi% @@ -6016,44 +6268,29 @@ \if@tempswa% \tud@ddc@check% \ifcase\@tempb\relax% - \setlength\@tempdimc{\z@}% + \tud@setdim\@tempdimc{\z@}% \else% \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}% - \addtolength\@tempdimc{\columnsep}% + \tud@addtodim\@tempdimc{\columnsep}% \fi% - \tud@vlayerbox{#1}{% + \tud@vlayerbox[footcontent]{#1}{% \linespread{1}% \vss% \hbox to #2{% - \tud@footcontent@usefont{% - \def\@tempa{\@nil}% - \ifx\@tempa\tud@footcontent@right\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% + \tud@footcontent@font@use{% + \tud@setglue\tud@res@glue{#2}% + \tud@footcontent@@use{\tud@res@glue}% \hss% }% }% \vss\vss% }{% - The content for the footer (`\string\footcontent')\MessageBreak% - is too high. You should either reduce the content\MessageBreak% + The content for the footer (`\string\footcontent')\noexpand\MessageBreak% + is too high. You should either reduce the content\noexpand\MessageBreak% or lower the fontsize via the optional argument.% \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside - \MessageBreak% - Alternatively you can enlarge the bottom margin\MessageBreak% + \noexpand\MessageBreak% + Alternatively you can enlarge the bottom margin\noexpand\MessageBreak% by using option `extrabottommargin'.% \fi% }% @@ -6061,39 +6298,25 @@ \hbox to #2{}% \fi% } -\tud@if@v@lower{2.04}{% - \renewcommand*\tud@comp@clearpage{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% - \fi% - }% - \renewcommand*\tud@comp@resetpagestyle{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{% - \expandafter\pagestyle\expandafter{\currentpagestyle}% - }{}% - \fi% - }% -}{}% -\newcommand*\tud@ddc@check{% - \let\@tempa\tud@ddc@head@num% - \let\@tempb\tud@ddc@foot@num% - \if@tud@ddc@auto% - \ifdefvoid{\tud@headlogo@filename}{% - \let\@tempa\tud@ddc@auto@num% - \let\@tempb\z@% - }{% - \let\@tempa\z@% - \let\@tempb\tud@ddc@auto@num% +\newcommand*\tud@footcontent@@use[1]{% + \ifx\tud@footcontent@right\@nnil% + \vtop{% + \hsize=\dimexpr\glueexpr#1-\@tempdimc\relax\relax% + \strut\ignorespaces\tud@footcontent@left\strut% + }% + \else% + \vtop{% + \hsize=\dimexpr\glueexpr(#1-\columnsep)/2\relax\relax% + \strut\ignorespaces\tud@footcontent@left\strut% + }% + \hspace{\columnsep}% + \vtop{% + \hsize=\dimexpr\glueexpr(#1-\columnsep)/2-\@tempdimc\relax\relax% + \strut\ignorespaces\tud@footcontent@right\strut% }% \fi% - \tud@if@v@lower{2.03}{% - \ifnum\@tempb=\z@\relax% - \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% - \fi% - }{}% } -\newif\if@tud@parameter@ps@font@set +\tud@newif\if@tud@parameter@ps@font@set \newcommand*\TUD@parameter@ps@def[1]{% \TUD@parameter@def{cdfont}[true]{% \TUDoption{cdfont}{#1}% @@ -6122,13 +6345,13 @@ \newcommand*\tud@envir@ps{tudheadings} \newcommand*\tud@envir@selectps{% \expandafter\pagestyle\expandafter{\tud@envir@ps}% - \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty}{% + \tud@if@strequal{\GetRealPageStyle{\tud@envir@ps}}{empty}{% \renewcommand*\titlepagestyle{empty}% \renewcommand*\partpagestyle{empty}% \renewcommand*\chapterpagestyle{empty}% \renewcommand*\indexpagestyle{empty}% }{}% - \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty.tudheadings}{% + \tud@if@strequal{\GetRealPageStyle{\tud@envir@ps}}{empty.tudheadings}{% \renewcommand*\titlepagestyle{empty.tudheadings}% \renewcommand*\partpagestyle{empty.tudheadings}% \renewcommand*\chapterpagestyle{empty.tudheadings}% @@ -6169,11 +6392,12 @@ \TUD@parameter@def{language}{\selectlanguage{#1}}% \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}% \TUD@parameter@def{pagestyle}{% - \tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{% - \ifstr{#1}{empty}{\renewcommand*\tud@envir@ps{empty.tudheadings}}{% - \ifstr{#1}{plain}{\renewcommand*\tud@envir@ps{plain.tudheadings}}{% - \ifstr{#1}{headings}{\renewcommand*\tud@envir@ps{tudheadings}}{% - \TUD@parameter@error{pagestyle}{% + \tud@if@tudheadings{#1}{\def\tud@envir@ps{#1}}{% + \def\tud@envir@ps{tudheadings}% + \tud@if@strequal{#1}{empty}{\def\tud@envir@ps{empty.tudheadings}}{% + \tud@if@strequal{#1}{plain}{\def\tud@envir@ps{plain.tudheadings}}{% + \tud@if@strequal{#1}{headings}{}{% + \TUD@parameter@err{pagestyle}{% headings, plain, empty or any tudheadings page style type% }% }}}% @@ -6189,7 +6413,7 @@ capabilities of package `scrlayer-scrpage' instead% }% ]{fancyhdr} -%%% From File: tudscr-layout.dtx +%%%% From File: tudscr-layout.dtx (no git version info was found) \newcommand*\tud@cleardoublespecialpage[2][]{% \begingroup% \addtokomafont{pagenumber}{\usekomafont{tudheadings}}% @@ -6226,37 +6450,49 @@ }% \global\let\tud@clearcolor@wrn\relax% } -\newcommand*\tud@x@scr@headings@current{} -\newcommand*\tud@sec@fontsize{} -\newcommand*\tud@thesis@fontsize{} -\newcommand*\tud@x@scr@headings@set[1][]{% - \def\@tempa##1##2##3{% - \ifstr{##1}{\tud@x@scr@headings@current}{}{% - \renewcommand*\tud@x@scr@headings@current{##1}% - \renewcommand*\tud@sec@fontsize{##2}% - \renewcommand*\tud@thesis@fontsize{##3}% - #1% - }% - }% - \KOMAoptionOf[\def\@tempb]{\KOMAClassFileName}{headings}% - \@for\@tempc:=\@tempb\do{% - \ifstr{standardclasses}{\@tempc}{\@tempa{standardclasses}{\Huge}{\LARGE}}{% - \ifstr{big}{\@tempc}{\@tempa{big}{\Huge}{\LARGE}}{% - \ifstr{normal}{\@tempc}{\@tempa{normal}{\huge}{\Large}}{% - \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\large}}{}}}}% - }% - \begingroup - \tud@sec@fontsize% - \@tempskipa=\glueexpr% - .8\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip% - \relax\relax% +\newcommand*\tud@subtitle@fontsizecmd{\LARGE} +\newcommand*\tud@prefix@fontsizecmd{\huge} +\newcommand*\tud@sec@fontsizecmd{\Huge} +\newcommand*\tud@sec@baselineskip@@dim{} +\newcommand*\tud@sec@baselineskip@set{% + \begingroup% + \tud@sec@fontsizecmd% \edef\tud@res@a{% \endgroup% - \def\noexpand\tud@cd@afterskip{\the\@tempskipa}% + \unexpanded{\def\tud@sec@baselineskip@@dim}{% + \the\dimexpr\glueexpr\f@baselineskip\relax\relax% + }% }% \tud@res@a% } -\AtEndPreamble{\tud@x@scr@headings@set} +\tud@sec@baselineskip@set +\newcommand*\tud@x@scr@headings@set[1][]{% + \def\@tempb##1##2##3{% + \renewcommand*\tud@sec@fontsizecmd{##1}% + \renewcommand*\tud@prefix@fontsizecmd{##2}% + \renewcommand*\tud@subtitle@fontsizecmd{##3}% + \tud@sec@baselineskip@set% + #1% + }% + \KOMAoptionOf[\def\@tempc]{\KOMAClassFileName}{headings}% + \@for\@tempc:=\@tempc\do{% + \TUD@set@numkey{headings}{@tempa}{% + {standardclasses}{0},{big}{1},{normal}{2},{small}{3}% + }{\@tempc}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% standardclasses + \@tempb{\Huge} {\LARGE}{\Large}% + \or% big + \@tempb{\Huge} {\huge} {\LARGE}% + \or% normal + \@tempb{\huge} {\LARGE}{\Large}% + \or% small + \@tempb{\LARGE}{\Large}{\large}% + \fi% + \fi% + }% +} +\AfterEndPreamble{\tud@x@scr@headings@set} \newcommand*\tud@x@scr@headings@reset{% \tud@cd@process% \tud@x@scr@headings@set[% @@ -6278,15 +6514,25 @@ \newcommand*\tud@sec@fontface[1][]{\tud@sec@@fontface{#1}}% \newcommand*\tud@sec@@fontface[1]{% \sectfont#1% - \if@tud@cdfont@active\if@tud@heavyheadings% - \if@tud@x@mweights@enabled% - \edef\bfseries@rm{\tud@cdfont@ebf}% - \edef\bfseries@sf{\tud@cdfont@ebf}% - \edef\bfseries@tt{\tud@ttfont@ebf}% + \if@tud@cdfont@active% + \if@tud@heavyheadings% + \if@tud@x@mweights@enabled% + \edef\bfseries@rm{\tud@cdfont@ebf}% + \edef\bfseries@sf{\tud@cdfont@ebf}% + \edef\bfseries@tt{\tud@ttfont@ebf}% + \fi% + \let\bfdefault\tud@cdfont@ebf% + \fontseriesforce{\tud@cdfont@ebf}% \fi% - \let\bfdefault\tud@cdfont@ebf% - \fontseries{\tud@cdfont@ebf}% - \fi\fi% + \else% + \fontfamily{\tud@cdfont@fam}% + \if@tud@heavyheadings% + \let\bfdefault\tud@cdfont@ebf% + \else% + \let\bfdefault\tud@cdfont@bf% + \fi% + \fontseriesforce{\bfdefault}% + \fi% \selectfont% } \if@tud@cdoldfont@active @@ -6298,46 +6544,35 @@ \fi% }% \fi -\newcommand*\tud@sec@format[2][]{% - \IfArgIsEmpty{#1}{% - \tud@sec@strut% - }{% - \begingroup% - \usefontofkomafont{#1}% - \tud@sec@strut% - \endgroup% - }% - #2% +\tud@newif\if@tud@sec +\newrobustcmd*\tud@sec@format{% + \@tud@sectrue% + \kernel@ifstar{\tud@sec@@format{}}{\tud@sec@@format{\strut}}% } -\if@tud@cdoldfont@active - \newcommand*\tud@sec@uppercase{\MakeUppercase}% - \AfterPackage*{textcase}{% - \renewcommand*\tud@sec@uppercase{\MakeTextUppercase}% - }% - \renewcommand*\tud@sec@format[2][]{% - \@tud@res@swafalse% - \IfArgIsEmpty{#1}{% - \tud@sec@strut% - \tud@ifdin{\@tud@res@swatrue}{}% - }{% - \begingroup% - \usefontofkomafont{#1}% - \tud@sec@strut% - \tud@ifdin{\aftergroup\@tud@res@swatrue}{}% - \endgroup% - }% - \if@tud@res@swa% - \tud@sec@uppercase{#2}% - \else% - #2% - \fi% - }% -\fi -\newrobustcmd*\tud@sec@strut{% +\newcommand*\tud@sec@@format[1]{% + \kernel@ifnextchar[%] + {\tud@sec@@@format{#1}}% + {\tud@sec@@@format{#1}[]}% +} +\newcommand*\tud@sec@@@format{} +\def\tud@sec@@@format#1[#2]#3{% \begingroup% - \strut\setbox\strutbox\hbox{\vphantom{\textsuperscript{\"A\"O\"U}}}\strut% + \IfArgIsEmpty{#2}% + {\let\tud@res@a\@firstofone}% + {\def\tud@res@a{\usekomafont{#2}}}% + \tud@res@a{% + \nobreak#1\nobreak\vphantom{\textsuperscript{\tud@font@phantomglyphs}}% + }% \endgroup% + \tud@sec@@@@format{#3}% } +\newcommand*\tud@sec@@@@format[1]{#1} +\if@tud@cdoldfont@active + \def\tud@sec@@@@format#1{\tud@ifdin{\MakeUppercase{#1}}{#1}}% +\fi +\newcommand*\tud@part@hook{} +\let\tud@part@hook\relax +\AddtoDoHook{heading/begingroup/part}{\tud@part@hook} \newcommand*\tud@title@fontcolor{} \newcommand*\tud@part@fontcolor{} \newcommand*\tud@chapter@fontcolor{} @@ -6361,16 +6596,17 @@ \usekomafont{disposition}% \raggedtitle% \tud@sec@fontface% - \tud@sec@fontsize% + \tud@sec@fontsizecmd% \tud@color{\tud@title@fontcolor}% }% \tud@komafont@set{subtitle}{% - \tud@thesis@fontsize% - \fontseries{\tud@cdfont@bf}\selectfont% + \tud@subtitle@fontsizecmd% + \fontseriesforce{\tud@cdfont@bf}\selectfont% }% \tud@komafont@set{subject}{% - \sffamily% \usesizeofkomafont{section}% + \sffamily% + \fontseriesforce{\tud@cdfont@bf}\selectfont% \tud@color{\tud@title@fontcolor}% }% \tud@komafont@set{author}{\usekomafont{subject}}% @@ -6378,6 +6614,7 @@ \tud@komafont@set{date}{\usekomafont{titlepage}}% \fi% \ifcase\tud@cd@part@num\relax% false + \tud@cs@restore{partlineswithprefixformat}% \tud@cs@restore{scr@part@beforeskip}% \tud@cs@restore{scr@part@innerskip}% \tud@cs@restore{scr@part@afterskip}% @@ -6385,17 +6622,19 @@ \tud@cs@restore{partheadendvskip}% \tud@cs@restore{partheademptypage}% \tud@cs@restore{partpagestyle}% - \tud@cs@restore{partlineswithprefixformat}% + \let\tud@part@hook\relax% \tud@komafont@unset{part}% \tud@komafont@unset{partnumber}% \tud@cs@restore{raggedpart}% \else% !false + \tud@cs@store{partlineswithprefixformat}% + \let\partlineswithprefixformat\tud@partlineswithprefixformat% \tud@cs@store{scr@part@beforeskip}% - \renewcommand*\scr@part@beforeskip{\tud@cd@beforeskip}% + \renewcommand*\scr@part@beforeskip{\tud@cd@beforevskip@@dim}% \tud@cs@store{scr@part@innerskip}% - \renewcommand*\scr@part@innerskip{\tud@cd@innerskip}% + \renewcommand*\scr@part@innerskip{\tud@cd@innervskip@@dim}% \tud@cs@store{scr@part@afterskip}% - \renewcommand*\scr@part@afterskip{\tud@cd@afterskip}% + \renewcommand*\scr@part@afterskip{\tud@cd@aftervskip@@glue}% \tud@cs@store{partheadstartvskip}% \let\partheadstartvskip\tud@partheadstartvskip% \tud@cs@store{partheadendvskip}% @@ -6404,51 +6643,51 @@ \let\partheademptypage\tud@partheademptypage% \tud@cs@store{partpagestyle}% \renewcommand*\partpagestyle{plain.tudheadings}% - \tud@cs@store{partlineswithprefixformat}% - \let\partlineswithprefixformat\tud@partlineswithprefixformat% + \def\tud@part@hook{\let\setparsizes\@gobblefour}% \tud@komafont@set{part}{% \tud@sec@fontface% \tud@color{\tud@part@fontcolor}% }% \tud@komafont@set{partnumber}{% \tud@sec@fontface% + \tud@prefix@fontsizecmd% \tud@color{\tud@part@fontcolor}% }% \tud@cs@store{raggedpart}% \renewcommand*\raggedpart{\tud@raggedright}% \fi% \ifcase\tud@cd@chapter@num\relax% false + \tud@cs@restore{chapterlineswithprefixformat}% + \tud@cs@restore{chapterlinesformat}% \tud@cs@restore{scr@chapter@beforeskip}% \tud@cs@restore{scr@chapter@innerskip}% \tud@cs@restore{scr@chapter@afterskip}% \tud@cs@restore{chapterheadstartvskip}% - \tud@cs@restore{chapterlineswithprefixformat}% - \tud@cs@restore{chapterlinesformat}% \tud@cs@restore{tud@chapter@before@hook}% \tud@cs@restore{tud@chapter@after@hook}% \tud@komafont@unset{chapter}% \tud@komafont@unset{chapterprefix}% \tud@cs@restore{raggedchapter}% \else% !false + \tud@cs@store{chapterlineswithprefixformat}% + \let\chapterlineswithprefixformat\tud@chapterlineswithprefixformat% + \tud@cs@store{chapterlinesformat}% + \let\chapterlinesformat\tud@chapterlinesformat% \tud@cs@store{scr@chapter@beforeskip}% - \renewcommand*\scr@chapter@beforeskip{\tud@cd@beforeskip}% + \renewcommand*\scr@chapter@beforeskip{\tud@cd@beforevskip@@dim}% \tud@cs@store{scr@chapter@innerskip}% - \renewcommand*\scr@chapter@innerskip{\tud@cd@innerskip}% + \renewcommand*\scr@chapter@innerskip{\tud@cd@innervskip@@dim}% \tud@cs@store{scr@chapter@afterskip}% - \renewcommand*\scr@chapter@afterskip{\tud@cd@afterskip}% + \renewcommand*\scr@chapter@afterskip{\tud@cd@aftervskip@@glue}% \tud@cs@store{chapterheadstartvskip}% \let\chapterheadstartvskip\tud@chapterheadstartvskip% - \tud@cs@store{chapterlineswithprefixformat}% - \let\chapterlineswithprefixformat\tud@chapterlineswithprefixformat% - \tud@cs@store{chapterlinesformat}% - \let\chapterlinesformat\tud@chapterlinesformat% \tud@cs@store{tud@chapter@before@hook}% \renewcommand*\tud@chapter@before@hook{\tud@chapter@pre}% \tud@cs@store{tud@chapter@after@hook}% \renewcommand*\tud@chapter@after@hook{\tud@chapter@app}% \tud@komafont@set{chapter}{% \tud@sec@fontface% - \tud@sec@fontsize% + \tud@sec@fontsizecmd% \tud@color{\tud@chapter@fontcolor}% }% \tud@komafont@set{chapterprefix}{\usesizeofkomafont{partnumber}}% @@ -6493,12 +6732,12 @@ \renewcommand*\raggedsection{\tud@raggedright}% \tud@cs@store{minisec}% \renewcommand\minisec[1]{% - \tud@cs@use{minisec}{\tud@sec@format{##1}}% + \tud@cs@use{minisec}{\tud@sec@format*{##1}}% }% \tud@komafont@set{minisec}{% \tud@sec@fontface% \ifcase\tud@cd@section@num\relax\or\else% *color - \ifstr{\tud@pagecolor}{HKS41}{}{\color{HKS41}}% + \tud@if@strequal{\tud@pagecolor}{HKS41}{}{\color{HKS41}}% \fi% }% \fi% @@ -6518,35 +6757,64 @@ \tud@komafont@unset{footnote}% \tud@cs@restore{footnoterule}% } -\newcommand*\tud@cd@beforeskip{% - \dimexpr-\tud@len@areavskip-\tud@len@areaheadvskip\relax% +\newcommand*\tud@cd@beforevskip@@dim{% + \dimexpr-\tud@dim@areavskip-\tud@dim@areaheadvskip\relax% } -\newcommand*\tud@cd@innerskip{.25\baselineskip}% -\newcommand*\tud@cd@afterskip{% - .75\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip% +\newcommand*\tud@cd@innervskip@@dim{% + \dimexpr(\tud@sec@baselineskip@@dim)/5\relax% +}% +\newcommand*\tud@cd@aftervskip@@glue{% + \glueexpr + \dimexpr(\tud@sec@baselineskip@@dim)*4/5\relax + \@plus\dimexpr(\tud@sec@baselineskip@@dim)/20\relax + \@minus\dimexpr(\tud@sec@baselineskip@@dim)/10\relax + \relax } -\newcommand*\tud@cd@headstartvskip{% - \@tempskipa=\glueexpr\tud@cd@beforeskip\relax\relax% - \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi% - \null\vskip-\baselineskip\vskip\@tempskipa% +\newcommand*\tud@cd@headstart@vskip{% + \tud@setdim\@tempdima{\tud@cd@beforevskip@@dim}% + \tud@length@setabsolute\@tempdima% + \null\vskip\dimexpr\glueexpr\@tempdima-\f@baselineskip-\parskip\relax\relax% } \newcommand*\tud@cd@vphantom{% \begingroup% - \usekomafont{partnumber}{\nobreak\tud@sec@strut}% - \setlength\@tempskipa{\tud@cd@innerskip}% - \par\nobreak\vskip\@tempskipa% + \usekomafont{partnumber}{% + \tud@sec@format{\vskip\tud@cd@innervskip@@dim}% + }% \endgroup% } +\patchcmd\scr@startpart{% + \partheadstartvskip + \vbox to\z@{\vss\use@preamble{#1@o}\strut\par}% + \vskip-\baselineskip\nobreak +}{% + \ifcase\tud@cd@part@num\relax% false + \partheadstartvskip% + \vbox to\z@{\vss\use@preamble{#1@o}\strut\par}% + \vskip-\baselineskip\nobreak% + \else% + {% + \setbox\z@\vbox{% + \vskip\dimexpr% + \tud@cd@innervskip@@dim-\tud@sec@baselineskip@@dim-\baselineskip% + \relax% + \use@preamble{#1@o}\strut\par% + }% + \vbox to \z@{\box\z@\vss}% + \vskip\dimexpr\parskip-\baselineskip\relax% + }% + \partheadstartvskip% + \fi% +}{}{\tud@patch@wrn{scr@startpart}} \newcommand*\tud@preamble@fontcolor{} \newcommand*\tud@partpreamble{% - \@tempskipa=\glueexpr\tud@cd@afterskip\relax% - \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi% + \tud@setglue\@tempskipa{\tud@cd@aftervskip@@glue}% + \tud@length@setabsolute\@tempskipa% \vskip\@tempskipa% \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap \renewcommand*\tud@abstract@level@num{1}% \fi% \KOMAoptions{titlepage=false}% - \null\vskip-\baselineskip% + \null\vskip-1\baselineskip% \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}% \let\tud@preamble@fontcolor\tud@part@fontcolor% @@ -6557,7 +6825,7 @@ \renewcommand*\tud@abstract@level@num{1}% \fi% \KOMAoptions{titlepage=false}% - \null\vskip-\baselineskip% + \null\vskip-1\baselineskip% \if@tud@chapterpage% \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}% @@ -6570,7 +6838,7 @@ \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% }% } -\patchcmd{\set@@@@preamble}{% +\patchcmd\set@@@@preamble{% \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% }{% \def\@tempa####1@####2{% @@ -6586,24 +6854,30 @@ \newcommand*\tud@part@subtitle{} \newcommand*\setpartsubtitle[1]{\gdef\tud@part@subtitle{#1}} \newkomafont{partsubtitle}{% - \tud@thesis@fontsize% - \fontseries{\tud@cdfont@bf}\selectfont% + \tud@subtitle@fontsizecmd% + \fontseriesforce{\tud@cdfont@bf}\selectfont% \tud@color{\tud@part@fontcolor}% } \aliaskomafont{parttitle}{partsubtitle} \newcommand*\tud@chapter@subtitle{} \newcommand*\setchaptersubtitle[1]{\gdef\tud@chapter@subtitle{#1}} \newkomafont{chaptersubtitle}{% - \tud@thesis@fontsize% - \fontseries{\tud@cdfont@bf}\selectfont% + \tud@subtitle@fontsizecmd% + \fontseriesforce{\tud@cdfont@bf}\selectfont% \tud@color{\tud@chapter@fontcolor}% } \newcommand*\tud@sec@subtitle[1]{% \ifcsvoid{tud@#1@subtitle}{}{% - {\usekomafont{#1subtitle}{\tud@sec@format{\csuse{tud@#1@subtitle}}}}\par% + {\usekomafont{#1subtitle}{% + \vskip-1\parskip% + \tud@sec@format{\csuse{tud@#1@subtitle}}% + }}\par% \global\cslet{tud@#1@subtitle}{\@empty}% }% } +\AddtoDoHook{heading/preinit/part}{ + \TUD@deprecated@length\pageheadingsvskip% +} \newcommand*\tud@partheadstartvskip{% \renewcommand*\tud@part@fontcolor{}% false/true \ifcase\tud@cd@part@num\relax\or\or% litecolor @@ -6618,9 +6892,8 @@ \renewcommand*\tud@part@fontcolor{HKS41!30}% \fi% \tud@cd@specialpage@set{part}% - \tud@cd@headstartvskip% - \TUD@deprecated@lengthcs{pageheadingsvskip}% - \vspace*{\tud@dim@pageheadingsvskip}% + \tud@cd@headstart@vskip% + \vspace*{\dimexpr\tud@pageheadingsvskip@dim\relax}% } \newcommand*\tud@partheademptypage{% \tud@cleardoublespecialpage{% @@ -6646,6 +6919,7 @@ } \newcommand*\tud@partformat{}% \newcommand*\tud@partlineswithprefixformat[3]{% + \vskip-2\parskip% \if@tud@parttitle% \ifx\@@title\@empty% \ClassWarning{\TUD@Class@Name}{% @@ -6654,48 +6928,59 @@ }% \fi% \tud@cd@vphantom% - \tud@sec@format[#1]{% - \usekomafont{#1}{\nobreak\interlinepenalty \@M\@@title\strut\@@par}% + \usekomafont{#1}{% + \tud@sec@format{\nobreak\interlinepenalty\@M\@@title\strut\@@par}% }% - \setpartsubtitle{% - \setkomafont{part}{}% - \tud@sec@format[partnumber]{\IfUseNumber{\partformat\enskip}{}#3}% + \def\tud@partformat##1\nobreak\interlinepenalty\@M##2\strut\@@par##3\@nil{% + \def\tud@partformat{\IfUseNumber{\partformat\enskip}{}##2}% }% + \expandafter\expandafter\expandafter\tud@partformat% + \expandafter\@firstofone\@gobbletwo#3\@nil% + \expandafter\setpartsubtitle\expandafter{\tud@partformat}% \else% \edef\tud@partformat{\noexpand\tud@sec@format{\expandonce\partformat}}% \let\partformat\tud@partformat% \IfUseNumber{}{\tud@cd@vphantom}% - #2\tud@sec@format[#1]{#3}% + #2\tud@sec@format[{#1}]{#3}% \fi% \tud@sec@subtitle{#1}% } +\if@tud@cdoldfont@active + \patchcmd\tud@partlineswithprefixformat + {#2\tud@sec@format[{#1}]{#3}} + {#2\tud@sec@format[{#1}]{}\addtokomafont{#1}{\tud@sec@format}#3} + {}{\tud@patch@wrn{tud@partlineswithprefixformat}} +\fi +\AddtoDoHook{heading/preinit/chapter}{ + \if@tud@chapterpage% + \TUD@deprecated@length\pageheadingsvskip% + \else% + \TUD@deprecated@length\headingsvskip% + \fi% +} \newcommand*\tud@chapterheadstartvskip{% \renewcommand*\tud@chapter@fontcolor{}% \ifcase\tud@cd@chapter@num\relax\or\else% *color \renewcommand*\tud@chapter@fontcolor{HKS41}% \fi% - \tud@cd@headstartvskip% + \tud@cd@headstart@vskip% \if@tud@chapterpage% - \TUD@deprecated@lengthcs{pageheadingsvskip}% - \vspace*{\tud@dim@pageheadingsvskip}% + \vspace*{\dimexpr\tud@pageheadingsvskip@dim\relax}% \else% - \TUD@deprecated@lengthcs{headingsvskip}% - \vspace*{\tud@dim@headingsvskip}% + \vspace*{\dimexpr\tud@headingsvskip@dim\relax}% \fi% } \newcommand*\tud@chapterformat{}% \newcommand*\tud@chapterlineswithprefixformat[3]{% - \edef\tud@chapterformat{% - \noexpand\tud@sec@format{\expandonce\chapterformat}% - }% + \edef\tud@chapterformat{\noexpand\tud@sec@format{\expandonce\chapterformat}}% \let\chapterformat\tud@chapterformat% \IfUseNumber{}{\tud@cd@vphantom}% - #2\tud@sec@format[#1]{#3}% + #2\tud@sec@format[{#1}]{#3}% \tud@sec@subtitle{#1}% } \newcommand*\tud@chapterlinesformat[3]{% \tud@cd@vphantom% - \@hangfrom{#2}{\tud@sec@format[#1]{#3}}% + \@hangfrom{#2}{\tud@sec@format[{#1}]{#3}}% \tud@sec@subtitle{#1}% } \newcommand*\tud@chapter@pre{% @@ -6757,34 +7042,33 @@ } \newcommand*\tud@chapter@before@hook{} \newcommand*\tud@chapter@after@hook{} -\pretocmd{\scr@startchapter}{% +\pretocmd\scr@startchapter{% \tud@chapter@before@hook% }{}{\tud@patch@wrn{scr@startchapter}} -\apptocmd{\scr@@startchapter}{% +\apptocmd\scr@@startchapter{% \tud@chapter@after@hook% }{}{\tud@patch@wrn{scr@@startchapter}} -\apptocmd{\scr@@startschapter}{% +\apptocmd\scr@@startschapter{% \tud@chapter@after@hook% }{}{\tud@patch@wrn{scr@@startschapter}} \At@startsection{% \renewcommand*\tud@section@fontcolor{}% \ifcase\tud@cd@section@num\relax\or\else% *color - \ifstr{\tud@pagecolor}{HKS41}{}{% + \tud@if@strequal{\tud@pagecolor}{HKS41}{}{% \renewcommand*\tud@section@fontcolor{HKS41}% }% \fi% } \newcommand*\tud@sectionlinesformat[4]{% - \@hangfrom{\hskip #2#3}{\tud@sec@format[#1]{#4}}% + \@hangfrom{\hskip #2#3}{\tud@sec@format*[{#1}]{#4}}% } \newcommand*\tud@sectioncatchphraseformat[4]{% - \let\tud@sec@strut\relax% - \hskip #2#3\tud@sec@format[#1]{#4}% + \hskip #2#3\tud@sec@format*[{#1}]{#4}% } -%%% From File: tudscr-title.dtx +%%%% From File: tudscr-title.dtx (no git version info was found) \newkomafont{thesis}{% \usekomafont{title}% - \tud@thesis@fontsize% + \tud@subtitle@fontsizecmd% } \newkomafont{titlepage}{% \raggedtitle% @@ -6798,6 +7082,8 @@ \newcommand*\tud@title@pagenumber{} \let\tud@title@pagenumber\relax \newcommand*\tud@maketitle[1][]{% + \TUD@deprecated@length\pageheadingsvskip% + \TUD@deprecated@length\headingsvskip% \begingroup% \cleardoublepage% \TUD@parameter@set{title}{#1}% @@ -6811,7 +7097,9 @@ \tud@cs@use{maketitle}[\tud@title@pagenumber]% \fi% \tud@if@tudheadings{\currentpagestyle}{% - \ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}% + \tud@if@strequal{\titlepagestyle}{empty}% + {\thispagestyle{empty.tudheadings}}% + {}% }{}% \else% !false \if@tud@parameter@ps@font@set\else% @@ -6845,7 +7133,9 @@ } \tud@cs@store{maketitle} \let\maketitle\tud@maketitle -\patchcmd{\titlepage}{\thispagestyle{empty}}{% +\patchcmd\titlepage{% + \thispagestyle{empty}% +}{% \tud@if@tudheadings{\currentpagestyle}{% \thispagestyle{empty.tudheadings}% }{% @@ -6915,19 +7205,18 @@ \fi% \next@tdpage% \fi% - \tud@cd@headstartvskip% - \TUD@deprecated@lengthcs{pageheadingsvskip}% - \vspace*{\tud@dim@pageheadingsvskip}% + \vspace*{-\baselineskip}% + \tud@cd@headstart@vskip% + \vspace*{\dimexpr\tud@pageheadingsvskip@dim\relax}% \tud@cd@vphantom% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% {\usekomafont{titlepage}{% \tud@maketitle@head% {\usekomafont{title}{\tud@title@format{\@title}\par}}% \ifx\@subtitle\@empty\else% - {\usekomafont{partnumber}{\nobreak\tud@sec@strut}}% - {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}% + {\usekomafont{subtitle}{\tud@title@format[partnumber]{\@subtitle}\par}}% \fi% - \vskip 2\bigskipamount% + \vskip\glueexpr\bigskipamount*2\relax% \let\tud@split@author@do\tud@split@author@title% \tud@multiple@split{@author}\par% \vskip 2ex\@plus1ex\@minus1ex% @@ -6950,7 +7239,7 @@ \def\@tempc{% \@graduation% \ifx\@graduationabbreviation\@empty\else% - \nobreakspace\@graduationabbreviation% + \nobreakspace(\@graduationabbreviation)% \fi% }% {\usekomafont{titlepage}{\graduationtext\par}}% @@ -6970,10 +7259,10 @@ \tud@date@check% \ifx\@date\@empty\else% \vskip 2ex\@plus1ex\@minus1ex% - \ifxblank{\datetext}{}{\datetext\tud@title@delimiter}% + \tud@if@strblank{\datetext}{}{\datetext\tud@title@delimiter}% {\usekomafont{date}{\tud@date@print\par}}% \ifx\@defensedate\@empty\else% - \ifxblank{\defensedatetext}{}{% + \tud@if@strblank{\defensedatetext}{}{% \defensedatetext\tud@title@delimiter% }% {\usekomafont{date}{\@defensedate\par}}% @@ -6982,7 +7271,7 @@ \fi% \if@tud@titlesignature% \let\tud@split@@author@do\tud@split@author@signature% - \vskip\tud@len@signatureskip\noindent% + \vskip\tud@glue@signaturevskip\noindent% \tud@ifin@and{\@@author}{}{\hfill}% \tud@multiple@split{@@author}% \fi% @@ -7060,7 +7349,9 @@ \newcommand*\tud@maketitle@inpage{% \renewcommand*\tud@title@fontcolor{}% \ifcase\tud@cd@title@num\relax\or\else% *color - \ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}% + \tud@if@strequal{\tud@pagecolor}{HKS41}% + {}% + {\renewcommand*\tud@title@fontcolor{HKS41}}% \fi% \par% \ifx\tud@title@pagenumber\relax\else% @@ -7084,7 +7375,7 @@ \ifx\@extratitle\@empty% \ifx\@frontispiece\@empty\else% \if@twoside\null\fi% - \fi + \fi% \else% \tud@res@a{\@makeextratitle}% \fi% @@ -7100,9 +7391,9 @@ } \newcommand*\tud@maketitle@@inpage{% \global\@topnum=\z@% - \tud@cd@headstartvskip% - \TUD@deprecated@lengthcs{headingsvskip}% - \vspace*{\tud@dim@headingsvskip}% + \vspace*{-\baselineskip}% + \tud@cd@headstart@vskip% + \vspace*{\dimexpr\tud@headingsvskip@dim\relax}% \tud@cd@vphantom% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% {\usekomafont{titlepage}{% @@ -7111,11 +7402,10 @@ \tud@maketitle@head% {\usekomafont{title}{\tud@title@format{\@title}\par}}% \ifx\@subtitle\@empty\else% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}% + {\usekomafont{subtitle}{\tud@title@format[partnumber]{\@subtitle}\par}}% \fi% \vskip 2ex\@plus1ex\@minus1ex% - \vskip 2\bigskipamount% + \vskip\bigskipamount% \let\tud@split@author@do\tud@split@author@title% \tud@multiple@split{@author}\par% \ifx\@date\@empty\else% @@ -7135,11 +7425,9 @@ \ifx\@advisor\@empty\else\tud@title@wrn{advisor}\fi% \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi% \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% - \vskip 2\bigskipamount% + \vskip\bigskipamount% \ifnum\col@number>\@ne\relax% - \ifdefvoid{\multicolsep}{}{% - \ifisskip{\multicolsep}{\vspace{-\multicolsep}}{}% - }% + \tud@if@lengthregister{\multicolsep}{\vspace{-\multicolsep}}{}% \fi% \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% }}% @@ -7147,43 +7435,27 @@ \newcommand*\tud@maketitle@head{% \setbox\z@\vbox{% \ifx\@titlehead\@empty\else% - {\usekomafont{titlehead}{% - \begin{minipage}[t]{\textwidth}% - \@titlehead\tud@sec@strut% - \end{minipage}% - }}% + \begin{minipage}[t]{\textwidth}% + \usekomafont{titlehead}{\@titlehead\strut\par}% + \end{minipage}% \fi% \tud@thesis@tosubject% \ifx\@subject\@empty\else% \par\medskip% - {\usekomafont{subject}{% - \@subject\tud@sec@strut% - }}% + {\usekomafont{subject}{\tud@sec@format[partnumber]{\@subject}}}% \fi% }% - \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}% + \tud@setdim\@tempdima{\ht\z@+\dp\z@}% \ifdim\@tempdima>\z@\relax% - \vskip\dimexpr-\@tempdima-\p@-\medskipamount\relax% + \vskip\dimexpr-\@tempdima-\p@-1\medskipamount\relax% \usebox\z@\par\medskip% \fi% } -\newcommand*\tud@title@format[1]{% +\newcommand*\tud@title@format[2][]{% \begingroup% \let\\\newline% - \let\tud@thanks\relax% - \def\thanks##1{\gdef\tud@thanks{##1}}% - \let\footnote\thanks% - \sbox\z@{#1}% - \let\thanks\@gobble% - \let\footnote\@gobble% - \tud@sec@format{#1}% - \edef\tud@res@a{% - \endgroup% - \ifx\tud@thanks\relax\else% - \noexpand\thanks{\expandonce\tud@thanks}% - \fi% - }% - \tud@res@a% + \tud@sec@format[{#1}]{#2}% + \endgroup% } \newcommand*\tud@thesis@tosubject{% \if@tud@subjectthesis\ifx\@thesis\@empty\else% @@ -7234,7 +7506,9 @@ \ifx\@dateofbirth\@empty\else% \if@titlepage% \tud@newline@title% - \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% + \tud@if@strblank{\dateofbirthtext}% + {}% + {\dateofbirthtext\tud@title@delimiter}% \@dateofbirth% \ifx\@placeofbirth\@empty\else% \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% @@ -7244,15 +7518,17 @@ \fi% \fi% \def\@tempc##1{% - \ifstr{\csuse{@##1}}{}{}{% + \expandafter\ifx\csname @##1\endcsname\@empty\else% \if@titlepage% \tud@newline@title% - \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% + \tud@if@strblank{\csuse{##1name}}% + {}% + {\csuse{##1name}\tud@title@delimiter}% \csuse{@##1}% \else% \tud@title@wrn{##1}% \fi% - }% + \fi% }% \@tempc{course}% \@tempc{discipline}% @@ -7271,9 +7547,9 @@ \newcommand*\tud@split@author@signature[2]{% \tud@multiple@fields@store{@author}{#1}% \vbox{% - \hsize=.3\textwidth% + \hsize=\dimexpr\textwidth*3/10\relax% \centering% - \rule{.3\textwidth}{.05pt}\newline% + \rule{\dimexpr\textwidth*3/10\relax}{.05pt}\newline% \ignorespaces#1\strut\unskip% }% \tud@multiple@fields@restore{@author}% @@ -7282,15 +7558,16 @@ \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% - \tud@maketitle[#1]% - \onecolumn{#2}\twocolumn% + \tud@maketitle[{#1}]% + \onecolumn#2\twocolumn% \else% - \tud@title@twocolumn{\tud@maketitle[#1]{#2}}% + \tud@title@twocolumn{\tud@maketitle[{#1}]#2}% \fi% \else% \ClassError{\TUD@Class@Name}{% `\string\maketitleonecolumn' can only be used in twocolumn mode% - }{}% + }{You should use `\string\maketitle' instead.}% + \tud@maketitle[{#1}]#2% \fi% } \newsavebox\tud@title@box @@ -7300,14 +7577,14 @@ \let\clearpage\relax% \let\newpage\relax% \global\setbox\tud@title@box\vbox{% - \vspace*{.9\baselineskip}#1\bigskip% + \vspace*{\dimexpr1\baselineskip*9/10\relax}#1\bigskip% }% \endgroup% - \setlength\@tempdima{\textheight}% + \tud@setdim\@tempdima{\textheight}% \tud@if@v@lower{2.03}{% \tud@ddc@check% \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false - \setlength\@tempdima{\dimexpr\textheight-\tud@len@ddcdiff\relax}% + \tud@setdim\@tempdima{\textheight-\tud@dim@ddcdiff}% \@tempswatrue% \fi% }{}% @@ -7317,7 +7594,7 @@ \splitmaxdepth\maxdepth% \vsplit\tud@title@box to \@tempdima% \clearpage% - \setlength\@tempdima{\textheight}% + \tud@setdim\@tempdima{\textheight}% \tud@if@v@lower{2.03}{\@tempswafalse}{}% }% \else% @@ -7330,13 +7607,13 @@ You are using a two-column title along with\MessageBreak% the DDC-logo. Unfortunately in this case, the\MessageBreak% type area has to be adjusted manually. Please\MessageBreak% - use `\string\enlargethispage{-\the\tud@len@ddcdiff}'\MessageBreak% + use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak% in both columns after the title% }% \fi% }{}% } -\newif\if@tud@coverpage +\tud@newif\if@tud@coverpage \newcommand*\makecover[1][]{% \if@titlepageiscoverpage% \ClassWarning{\TUD@Class@Name}{% @@ -7373,23 +7650,22 @@ \if@tud@cdgeometry@cover% \if@tud@coverpage% \def\coverpagetopmargin{% - \dimexpr\tud@len@topmargin+\tud@len@barheight% - +\tud@len@headsep\relax% + \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% }% \else% \tud@if@v@lower{2.03}{% - \def\coverpagetopmargin{.5\tud@len@both}% + \def\coverpagetopmargin{\tud@dim@bothmargin/2}% }{% - \def\coverpagetopmargin{\tud@len@slimmargin}% + \def\coverpagetopmargin{\tud@dim@slimmargin}% }% \fi% \tud@if@v@lower{2.03}{% - \def\coverpagebottommargin{.5\tud@len@both}% + \def\coverpagebottommargin{\tud@dim@bothmargin/2}% }{% - \def\coverpagebottommargin{\tud@len@widemargin}% + \def\coverpagebottommargin{\tud@dim@widemargin}% }% - \def\coverpageleftmargin{\tud@len@widemargin}% - \def\coverpagerightmargin{\tud@len@slimmargin}% + \def\coverpageleftmargin{\tud@dim@widemargin}% + \def\coverpagerightmargin{\tud@dim@slimmargin}% \fi% \if@tud@coverpage% \edef\titlepage@restore{% @@ -7402,7 +7678,7 @@ }% \begingroup% \tud@cover@setmargins% - \tud@len@areavskip=\z@% + \tud@setdim\tud@dim@areavskip{\z@}% \tud@maketitle% \clearpage% \titlepage@restore% @@ -7433,41 +7709,37 @@ \TUD@parameter@ps@def{#1}% \TUD@parameter@handler@value{pagenumber}% } -\renewcommand*{\coverpagetopmargin}{% +\renewcommand*\coverpagetopmargin{% \if@tud@coverpage% - \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep\relax% + \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% \else% - \dimexpr\topmargin+1in\relax% + \topmargin+1in% \fi% } -\renewcommand*{\coverpagebottommargin}{% +\renewcommand*\coverpagebottommargin{% \if@tud@coverpage% - \dimexpr\tud@len@widemargin\relax% + \tud@dim@widemargin% \else% - 2\dimexpr\coverpagetopmargin\relax% + \coverpagetopmargin*2% \fi% } \newcommand*\tud@cover@fixmargins{% \begingroup% \tud@cdgeometry@assignlayout% \tud@x@geometry@fixmargins% - \setlength\@tempdima{% - \dimexpr\coverpagebottommargin-\tud@len@layoutvoffset - +\paperheight-\tud@len@layoutheight\relax% + \tud@setdim\@tempdima{% + \coverpagebottommargin-\tud@dim@layoutvoffset% + +\paperheight-\tud@dim@layoutheight% }% \edef\coverpagebottommargin{\the\@tempdima}% - \setlength\@tempdima{% - \dimexpr\coverpagetopmargin+\tud@len@layoutvoffset\relax% - }% + \tud@setdim\@tempdima{\coverpagetopmargin+\tud@dim@layoutvoffset}% \edef\coverpagetopmargin{\the\@tempdima}% - \setlength\@tempdima{% - \dimexpr\coverpagerightmargin-\tud@len@layouthoffset - +\paperwidth-\tud@len@layoutwidth\relax% + \tud@setdim\@tempdima{% + \coverpagerightmargin-\tud@dim@layouthoffset% + +\paperwidth-\tud@dim@layoutwidth% }% \edef\coverpagerightmargin{\the\@tempdima}% - \setlength\@tempdima{% - \dimexpr\coverpageleftmargin+\tud@len@layouthoffset\relax% - }% + \tud@setdim\@tempdima{\coverpageleftmargin+\tud@dim@layouthoffset}% \edef\coverpageleftmargin{\the\@tempdima}% \edef\tud@res@a{% \endgroup% @@ -7489,7 +7761,7 @@ -\coverpagebottommargin\relax% \headheight=0pt% \headsep=0pt% - \footskip=\baselineskip% + \footskip=1\baselineskip% \@colht=\textheight% \@colroom=\textheight% \vsize=\textheight% @@ -7497,10 +7769,10 @@ \hsize=\columnwidth% \linewidth=\hsize% } -%%% From File: tudscr-frontmatter.dtx +%%%% From File: tudscr-frontmatter.dtx (no git version info was found) \newcommand*\tud@fm@check[2]{% \global\let\tud@fm@set\tud@fm@first% - \ifnumless{\csuse{tud@#1@level@num}}{3}{% false/true/section + \ifnum\csuse{tud@#1@level@num}<3\relax% false/true/section \ifboolexpr{% bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}% }{% @@ -7519,10 +7791,10 @@ \boolfalse{@tud@#1@fil}% \fi% }{}% - }{% chapter + \else% chapter \boolfalse{@tud@#1@multi}% \boolfalse{@tud@#1@fil}% - }% + \fi% \ifnum\csuse{tud@#1@toc@num}>\tw@\relax% \tud@fm@toc{#1}{#2}% \fi% @@ -7530,26 +7802,27 @@ #2% } \newcommand*\tud@fm@@toc{} -\newcommand*\tud@fm@@@toc{} \newcommand*\tud@fm@toc[2]{% \ifbool{@tud@#1@multi}{% \begingroup% - \let\tud@fm@@@toc\@empty% + \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/}% + \protected@xdef\tud@fm@@toc{% + \ifx\tud@fm@@toc\@empty\else\tud@fm@@toc/\fi##2% + }% }% \let\clearpage\relax% \sbox\z@{\vbox{#2}}% \csuse{phantomsection}% \protected@edef\@tempa{% - \noexpand\endgroup% - \noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{% - \noexpand\addchaptertocentry{}{\tud@fm@@toc}% - }{% - \noexpand\addsectiontocentry{}{\tud@fm@@toc}% - }% + \endgroup% + \ifx\tud@fm@@toc\@empty\else% + \ifodd\csuse{tud@#1@toc@num}\relax + \noexpand\addchaptertocentry{}{\tud@fm@@toc}% + \else + \noexpand\addsectiontocentry{}{\tud@fm@@toc}% + \fi + \fi% }% \@tempa% }{% @@ -7626,19 +7899,20 @@ \ifcase\csuse{tud@#1@level@num}\relax% false \if@titlepage\endgraf\fi% \csuse{phantomsection}% - \ifstr{\@currenvir}{\tud@quoting}{}{% + \tud@if@strequal{\@currenvir}{\tud@quoting}{}{% \if@twocolumn% - \vskip\dimexpr\smallskipamount-\parskip\relax% + \vskip\smallskipamount% \else% - \vskip\dimexpr\bigskipamount-\parskip\relax% + \vskip\bigskipamount% \fi% + \vskip-\parskip% }% \or% true \if@titlepage\endgraf\fi% \csuse{phantomsection}% \@afterindentfalse% - \ifstr{\@currenvir}{\tud@quoting}{}{% - \vskip\dimexpr\bigskipamount-\parskip\relax% + \tud@if@strequal{\@currenvir}{\tud@quoting}{}{% + \vskip\bigskipamount\vskip-\parskip% }% \begingroup% \noindent\centering% @@ -7647,7 +7921,7 @@ \endgraf% \endgroup% \nopagebreak% - \vskip\dimexpr\medskipamount-\parskip\relax% + \vskip\medskipamount\vskip-\parskip% \@afterheading% \or% section \section*{#2}% @@ -7716,7 +7990,7 @@ \clearpage% \else% \ifnum\tud@abstract@level@num=\tw@\relax% - \vskip\dimexpr\bigskipamount-\parskip\relax% + \vskip\bigskipamount\vskip-\parskip% \fi% \fi% ] @@ -7725,7 +7999,7 @@ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}% \TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% \TUD@parameter@def{markboth}[true]{% - \ifstrbool{#1}{% + \tud@if@strbool{#1}{% \@tud@abstract@markbothtrue% \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi% }{% @@ -7746,7 +8020,7 @@ the environment `abstract'.% }% } -\newif\if@tud@declarations +\tud@newif\if@tud@declarations \NewEnviron{declarations}[1][]{% \@tud@declarationstrue% \ifnum\tud@declaration@level@num>\tw@\relax\@titlepagetrue\fi% chapter @@ -7775,7 +8049,7 @@ \clearpage% \else% \ifnum\tud@declaration@level@num=\tw@\relax% - \vskip\dimexpr\bigskipamount-\parskip\relax% + \vskip\bigskipamount\vskip-\parskip% \fi% \fi% ] @@ -7784,7 +8058,7 @@ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}% \TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% \TUD@parameter@def{markboth}[true]{% - \ifstrbool{#1}{% + \tud@if@strbool{#1}{% \@tud@declaration@markbothtrue% \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi% }{% @@ -7815,29 +8089,29 @@ }% } \newcommand*\tud@fm@declaration[1][]{% - \ifbool{@tud@declarations}{% + \if@tud@declarations% \begingroup% - \tud@fm@@confirmation[\tud@fm@supporter,#1]% - \tud@fm@blocking[#1]% + \tud@fm@@confirmation[{\tud@fm@supporter,#1}]% + \tud@fm@blocking[{#1}]% \endgroup% - }{% - \begin{declarations}[\tud@fm@supporter,#1]% + \else% + \begin{declarations}[{\tud@fm@supporter,#1}]% \tud@fm@@confirmation% \tud@fm@blocking% \end{declarations}% - }% + \fi% } \newcommand*\nextdeclaration[3][]{% - \ifbool{@tud@declarations}{% + \if@tud@declarations% \tud@fm@body@start{declaration}{#1}{#2}% #3% \tud@fm@body@end{declaration}% - }{% + \else% \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextdeclaration'}{% The command `\string\nextdeclaration' can only be used\MessageBreak% within the environment `declarations'.% }% - }% + \fi% } \newcommand*\confirmation{% \kernel@ifstar{% @@ -7852,18 +8126,18 @@ \begingroup% \TUD@parameter@handler@default[declaration]{supporter}% \undef\KV@declaration@company% - \ifbool{@tud@declarations}{% - \tud@fm@@confirmation[\tud@fm@supporter,#1]% - }{% - \begin{declarations}[\tud@fm@supporter,#1]% + \if@tud@declarations% + \tud@fm@@confirmation[{\tud@fm@supporter,#1}]% + \else% + \begin{declarations}[{\tud@fm@supporter,#1}]% \tud@fm@@confirmation% \end{declarations}% - }% + \fi% \endgroup% } \newcommand*\tud@fm@@confirmation[1][]{% \tud@fm@body@start{declaration}{#1}{\confirmationname}% - \confirmationtext\vskip\z@\@confirmationclosing% + \confirmationtext\vskip\z@skip\@confirmationclosing% \tud@fm@body@end{declaration}% } \newcommand*\blocking[1][]{% @@ -7872,13 +8146,13 @@ \undef\KV@declaration@supporter% \undef\KV@declaration@closing% \undef\KV@declaration@confirmationclosing% - \ifbool{@tud@declarations}{% - \tud@fm@blocking[#1]% - }{% - \begin{declarations}[#1]% + \if@tud@declarations% + \tud@fm@blocking[{#1}]% + \else% + \begin{declarations}[{#1}]% \tud@fm@blocking% \end{declarations}% - }% + \fi% \endgroup% } \newcommand*\tud@fm@blocking[1][]{% @@ -7886,76 +8160,15 @@ \blockingtext% \tud@fm@body@end{declaration}% } -%%% From File: tudscr-comp.dtx -\newlength\footlogoheight -\setlength\footlogoheight{\maxdimen} -\newlength\pageheadingsvskip -\setlength\pageheadingsvskip{\maxdimen} -\newlength\headingsvskip -\setlength\headingsvskip{\maxdimen} -\newcommand*\chapterheadingvskip{} -\let\chapterheadingvskip\headingsvskip -\TUD@deprecated@cs{professorship}{chair} -\TUD@deprecated@cs{studentid}{matriculationnumber} -\TUD@deprecated@cs{matriculationid}{matriculationnumber} -\TUD@deprecated@cs{enrolmentyear}{matriculationyear} -\TUD@deprecated@cs{birthplace}{placeofbirth} -\TUD@deprecated@cs{submissiondate}{date} -\TUD@deprecated@cs{oralexaminationdate}{defensedate} -\TUD@deprecated@cs{birthday}{dateofbirth} -\TUD@deprecated@cs{location}{place} -\TUD@deprecated@cs{logofile}{headlogo} -\TUD@deprecated@cs{logofilename}{headlogo} -\AfterPackage{tudscrsupervisor}{% - \TUD@deprecated@cs{startdate}{issuedate}% - \TUD@deprecated@cs{finaldate}{duedate}% - \TUD@deprecated@cs{maturitydate}{duedate}% -} -\TUD@deprecated@cs{textcdfont}{textcd}% -\TUD@deprecated@cs{tudfont}{cdfont}% -\TUD@deprecated@cs{univln}{cdfontln}% -\TUD@deprecated@cs{univrn}{cdfontrn}% -\TUD@deprecated@cs{univbn}{cdfontsn}% -\TUD@deprecated@cs{univxn}{cdfontbn}% -\TUD@deprecated@cs{univls}{cdfontli}% -\TUD@deprecated@cs{univrs}{cdfontri}% -\TUD@deprecated@cs{univbs}{cdfontsi}% -\TUD@deprecated@cs{univxs}{cdfontbi}% -\TUD@deprecated@cs{textuln}{textcdln}% -\TUD@deprecated@cs{texturn}{textcdrn}% -\TUD@deprecated@cs{textubn}{textcdsn}% -\TUD@deprecated@cs{textuxn}{textcdbn}% -\TUD@deprecated@cs{textuls}{textcdli}% -\TUD@deprecated@cs{texturs}{textcdri}% -\TUD@deprecated@cs{textubs}{textcdsi}% -\TUD@deprecated@cs{textuxs}{textcdbi}% -\TUD@deprecated@cs{dinbn}{cdfontxn}% -\TUD@deprecated@cs{textdbn}{textcdxn}% -\TUD@deprecated@cs{ifdin}{@secondoftwo} -\newrobustcmd*\tud@ifdin{% - \ifx\f@family\tud@cdfont@db% - \expandafter\@firstoftwo% - \else% - \expandafter\@secondoftwo% - \fi% -} -\if@tud@cdoldfont@active - \newcommand*\ifdin{}% - \let\ifdin\tud@ifdin% -\fi -\def\tud@res@a#1{% - \TUD@deprecated@cs{var#1}{it#1}% -} -\tud@math@loop@greeks@uc\tud@res@a% -%%% From File: tudscr-misc.dtx +%%%% From File: tudscr-misc.dtx (no git version info was found) \newcommand*\tudbookmark[1][]{\@gobbletwo} \newcommand*\tud@x@hyperref@realfootnotes{} \AfterPackage{hyperref}{% - \renewcommand*\tudbookmark[3][]{% + \renewcommand*\tudbookmark[3][0]{% \relax% \if@tud@bookmarks% - \phantomsection% - \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}% + \csuse{phantomsection}% + \pdfbookmark[{#1}]{#2}{#3}% \fi% }% \renewcommand*\tud@x@hyperref@realfootnotes{% @@ -7964,7 +8177,6 @@ \let\@footnotemark\H@@footnotemark% \let\@footnotetext\H@@footnotetext% }% - \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% } \newcommand*\tud@x@bookmark@startatroot{\relax} \AfterPackage{bookmark}{% @@ -7972,7 +8184,7 @@ \if@tud@bookmarks\bookmarksetup{startatroot}\fi% }% } -\apptocmd{\titlepage}{% +\apptocmd\titlepage{% \tud@x@bookmark@startatroot% \@tud@res@swafalse% \if@tud@coverpage\@tud@res@swatrue\fi% @@ -7987,13 +8199,13 @@ ]{\titlepagename}{title}% \fi% }{}{\tud@patch@wrn{titlepage}} -\pretocmd{\tud@maketitle@inpage}{% +\pretocmd\tud@maketitle@inpage{% \tud@x@bookmark@startatroot% \tudbookmark[% 0% ]{\titlename}{title}% }{}{\tud@patch@wrn{tud@maketitle@inpage}} -\pretocmd{\@maketitle}{% +\pretocmd\@maketitle{% \tud@x@bookmark@startatroot% \tudbookmark[% 0% @@ -8020,10 +8232,10 @@ \AtBeginDocument{% \if@tud@x@scr@fontsize@set\else% \@tud@res@swafalse% - \ifdim\tud@len@layoutwidth<208mm\relax\@tud@res@swatrue\fi% - \ifdim\tud@len@layoutwidth>212mm\relax\@tud@res@swatrue\fi% - \ifdim\tud@len@layoutheight<295mm\relax\@tud@res@swatrue\fi% - \ifdim\tud@len@layoutheight>299mm\relax\@tud@res@swatrue\fi% + \ifdim\tud@dim@layoutwidth<208mm\relax\@tud@res@swatrue\fi% + \ifdim\tud@dim@layoutwidth>212mm\relax\@tud@res@swatrue\fi% + \ifdim\tud@dim@layoutheight<295mm\relax\@tud@res@swatrue\fi% + \ifdim\tud@dim@layoutheight>299mm\relax\@tud@res@swatrue\fi% \if@tud@res@swa% \ClassWarningNoLine{\TUD@Class@Name}{% You've set a layout size, which is different from\MessageBreak% @@ -8034,22 +8246,22 @@ \fi% \fi% } -\newif\if@tud@font@set -\newif\if@tud@math@set -\newif\if@tud@font@skip@set -\newif\if@tud@x@scr@headings@reset -\newif\if@tud@cd@process -\newif\if@tud@cdgeometry@process +\tud@newif\if@tud@font@set +\tud@newif\if@tud@math@set +\tud@newif\if@tud@relspacing@set +\tud@newif\if@tud@x@scr@headings@reset +\tud@newif\if@tud@cd@process +\tud@newif\if@tud@cdgeometry@process \newcommand*\tud@atdocument@process{% \if@tud@font@set% \tud@font@set% \global\@tud@font@setfalse% - \global\@tud@font@skip@setfalse% + \global\@tud@relspacing@setfalse% \global\@tud@cd@processfalse% \fi% - \if@tud@font@skip@set% - \tud@font@skip@set% - \global\@tud@font@skip@setfalse% + \if@tud@relspacing@set% + \tud@relspacing@set% + \global\@tud@relspacing@setfalse% \fi% \if@tud@math@set% \tud@math@set% @@ -8069,22 +8281,67 @@ \global\@tud@cdgeometry@processfalse% \fi% } +%%%% From File: tudscr-comp.dtx (no git version info was found) +\tud@newglue\footlogoheight +\tud@setdim\footlogoheight{\maxdimen} +\tud@newglue\pageheadingsvskip +\tud@setdim\pageheadingsvskip{\maxdimen} +\tud@newglue\headingsvskip +\tud@setdim\headingsvskip{\maxdimen} +\newcommand*\chapterheadingvskip{} +\let\chapterheadingvskip\headingsvskip +\TUD@deprecated@cs{professorship}{chair} +\TUD@deprecated@cs{studentid}{matriculationnumber} +\TUD@deprecated@cs{matriculationid}{matriculationnumber} +\TUD@deprecated@cs{enrolmentyear}{matriculationyear} +\TUD@deprecated@cs{birthplace}{placeofbirth} +\TUD@deprecated@cs{submissiondate}{date} +\TUD@deprecated@cs{oralexaminationdate}{defensedate} +\TUD@deprecated@cs{birthday}{dateofbirth} +\TUD@deprecated@cs{location}{place} +\TUD@deprecated@cs{logofile}{headlogo} +\TUD@deprecated@cs{logofilename}{headlogo} +\AfterPackage{tudscrsupervisor}{% + \TUD@deprecated@cs{startdate}{issuedate}% + \TUD@deprecated@cs{finaldate}{duedate}% + \TUD@deprecated@cs{maturitydate}{duedate}% +} +\TUD@deprecated@cs{textcdfont}{textcd}% +\TUD@deprecated@cs{tudfont}{cdfont}% +\TUD@deprecated@cs{univln}{cdfontln}% +\TUD@deprecated@cs{univrn}{cdfontrn}% +\TUD@deprecated@cs{univbn}{cdfontsn}% +\TUD@deprecated@cs{univxn}{cdfontbn}% +\TUD@deprecated@cs{univls}{cdfontli}% +\TUD@deprecated@cs{univrs}{cdfontri}% +\TUD@deprecated@cs{univbs}{cdfontsi}% +\TUD@deprecated@cs{univxs}{cdfontbi}% +\TUD@deprecated@cs{textuln}{textcdln}% +\TUD@deprecated@cs{texturn}{textcdrn}% +\TUD@deprecated@cs{textubn}{textcdsn}% +\TUD@deprecated@cs{textuxn}{textcdbn}% +\TUD@deprecated@cs{textuls}{textcdli}% +\TUD@deprecated@cs{texturs}{textcdri}% +\TUD@deprecated@cs{textubs}{textcdsi}% +\TUD@deprecated@cs{textuxs}{textcdbi}% +\TUD@deprecated@cs{dinbn}{cdfontxn}% +\TUD@deprecated@cs{textdbn}{textcdxn}% +\TUD@deprecated@cs{ifdin}{@secondoftwo} +\newrobustcmd*\tud@ifdin{% + \ifx\f@family\tud@cdfont@db% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} \if@tud@cdoldfont@active - \RequirePackage{textcase}[2004/10/07] - \AfterPackage*{textcase}{% - \robustify\NoCaseChange% - \newcommand*\tud@x@textcase@uclcnotmath{% - \@nonchangecase\hologo% - \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% - \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% - \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}% - }% - \patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% - \@nonchangecase\ensuremath\tud@x@textcase@uclcnotmath% - }{}{\tud@patch@wrn{@uclcnotmath}}% - }% + \newcommand*\ifdin{} + \let\ifdin\tud@ifdin \fi -\TUD@deprecated@cs{NoCaseChange}{@firstofone} +\def\tud@res@a#1{% + \TUD@deprecated@cs{var#1}{it#1}% +} +\tud@math@loop@greeks@uc\tud@res@a% \endinput %% %% End of file `tudscrbook.cls'. |