diff options
author | Karl Berry <karl@freefriends.org> | 2015-02-16 21:40:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-02-16 21:40:28 +0000 |
commit | 68695b0b7015bb233b4f5697ebdb9def46b9cb4a (patch) | |
tree | 94745a5ea3bedbf6b6904bf5cbb949151e8f41fd /Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls | |
parent | e016928e2bd0e7163bde478d7ab2419f49468c3c (diff) |
tudscr (16feb15)
git-svn-id: svn://tug.org/texlive/trunk@36296 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls | 2938 |
1 files changed, 1764 insertions, 1174 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls index 8b647c47984..8b7faa9a31b 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls @@ -28,7 +28,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -42,13 +42,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 2005/12/01 oder spaeter und dieses -%% Werks. Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained", -%% wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und -%% Autor dieses Werkes ist Falk Hanisch. +%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz +%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle +%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 +%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +%% "author-maintained", wird somit allein durch den Autor verwaltet. Der +%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. %% %% ============================================================================ %% @@ -70,7 +70,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\cls@name{book} @@ -78,7 +78,7 @@ \newcommand*\tudcls@name{tudscrbook} \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesClass{\tudcls@name}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script document class (\cls@name)% ] \typeout{The Corporate Design of Technische Universitaet Dresden} @@ -100,7 +100,7 @@ \ClassWarning{\tudcls@name}{% The package `tudscrfonts' must not be used with\MessageBreak% a TUD-KOMA-Script class% - } + }% ]{tudscrfonts} \newif\if@tud@univers \newif\if@tud@dinbold @@ -108,17 +108,32 @@ \newcommand*\tud@dinbold{0m6} \newcommand*\tud@mathenc{OT1} \newif\if@tud@fontspec -\TUD@key@lock{fontspec}[true]{% - \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% -} -\AtEndOfClass{% - \TUD@key{fontspec}[]{% - \ClassError{\tudcls@name}{Option `fontspec' too late}{% +\TUD@key{fontspec}[true]{% + \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfClass% +{% + \TUD@key{fontspec}[] + {% + \ClassError{\tudcls@name} + {Option `fontspec' too late}{% Option `fontspec' can only be set while loading the\MessageBreak% - class `\tudcls@name' but you have tried to set it up later.% + class `\tudcls@name' + but you have tried to set it up later.% }% \FamilyKeyStateProcessed% }% + \if@tud@fontspec% + \PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}% + {% + You must not load the package `fontspec' as it is\MessageBreak% + loaded automatically at the end of the preamble.\MessageBreak% + If you want to pass options to `fontspec' use\MessageBreak% + `\string\PassOptionsToPackage{<option list>}{fontspec}' + }% + ]{fontspec} + \fi% } \AtEndPreamble{% \@expandtwoargs\in@{OT}{\encodingdefault}% @@ -142,9 +157,10 @@ }% \def\@tempb#1{% \ClassWarningNoLine{\tudcls@name}{% - `#1' fonts not found. Please use on of the\MessageBreak% - installation scripts out of the tudscr-bundle,\MessageBreak% - which suits to your OS. A fallback layout is used% + `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak% + Please use on of the installation scripts out of the\MessageBreak% + tudscr-bundle, which suits to your OS or choose a\MessageBreak% + possible encoding. A fallback layout is used% }% }% \fi% @@ -160,6 +176,7 @@ \fi% \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% \if@tud@fontspec% + \UnPreventPackageFromLoading{fontspec}% \if@tud@univers\if@tud@dinbold% \PassOptionsToPackage{no-math}{fontspec}% \fi\fi% @@ -167,54 +184,83 @@ \fi% } \RequirePackage{textcase}[2004/10/07] -\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% - \@nonchangecase\ensuremath% +\newcommand*\tud@uclcnotmath{% \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@uclcnotmath }{}{\tud@patch@wrn{@uclcnotmath}}% -\newcommand*\tud@cdfont{0} +\newcommand*\tud@font@heading{\dinbn\tud@raggedright} +\newcommand*\tud@cdfont{1} \TUD@key{cdfont}[true]{% - \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@set@numkey{cdfont}{@tempa}{% \TUD@numkey@bool,% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2},% {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% - {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% - {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% - {noheavybarfont}{5},{barfontnoheavy}{5},% - {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% - {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% - {sansmath}{8},{sans}{8},% - {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% - {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% - {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% - {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},% + {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},% + {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},% + {bar}{6},{barfont}{6},% + {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},% + {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},% + {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},% + {headlight}{6},{headfontlight}{6},{headlightfont}{6},% + {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},% + {barlight}{6},{barfontlight}{6},{barlightfont}{6},% + {litehead}{6},{liteheadfont}{6},{litefonthead}{6},% + {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},% + {litebar}{6},{litebarfont}{6},{litefontbar}{6},% + {headlite}{6},{headfontlite}{6},{headlitefont}{6},% + {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},% + {barlite}{6},{barfontlite}{6},{barlitefont}{6},% + {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},% + {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},% + {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},% + {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},% + {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},% + {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},% + {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},% + {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},% + {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},% + {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},% + {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},% + {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},% + {nomath}{8},{nocdmath}{8},% + {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},% + {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},% + {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},% + {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},% + {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},% + {nofontspec}{13},{pdftex}{13},{pdflatex}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \tud@cdfont\relax% - \TUDoptions{cdfonts=false}% - \TUD@std@numkey@lock{barfont}{false}% + \ifcase\@tempa\relax% + \def\tud@cdfont{0}% + \if@atdocument\tud@font@set\fi% + \or% + \def\tud@cdfont{1}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=false}% - \TUD@std@numkey@lock{barfont}{true}% + \def\tud@cdfont{2}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=true}% - \TUD@std@numkey@lock{barfont}{heavy}% + \renewcommand*\tud@font@heading{\tud@RaggedRight}% \or% - \TUDoptions{din=false}% + \renewcommand*\tud@font@heading{\dinbn\tud@raggedright} \or% - \TUDoptions{din=true}% + \TUDoptions{cdhead=false}% \or% - \TUDoptions{barfont=true}% + \TUDoptions{cdhead=true}% \or% - \TUDoptions{barfont=heavy}% + \TUDoptions{cdhead=heavy}% \or% - \TUDoptions{sansmath=false}% + \TUDoptions{cdmath=false}% \or% - \TUDoptions{sansmath=true}% + \TUDoptions{cdmath=true}% \or% \TUDoptions{slantedgreek=false}% \or% @@ -226,75 +272,49 @@ \fi% \fi% } -\newif\if@tud@cdfonts -\TUD@key{cdfonts}[true]{% - \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@cdfonts% - \if@atdocument\tud@font@cdfonts\fi% - \TUD@std@ifkey@lock{sansmath}{true}% - \TUD@std@ifkey@lock{slantedgreek}{true}% - \else% - \if@atdocument% - \tud@cmd@restore{rmdefault}% - \tud@cmd@restore{sfdefault}% - \tud@cmd@restore{ttdefault}% - \tud@cmd@restore{bfdefault}% - \tud@cmd@restore{mddefault}% - \tud@cmd@restore{itdefault}% - \tud@cmd@restore{familydefault}% - \tud@cmd@restore{seriesdefault}% - \tud@cmd@restore{shapedefault}% - \normalfont\selectfont% - \fi% - \TUD@std@ifkey@lock{sansmath}{false}% - \TUD@std@ifkey@lock{slantedgreek}{false}% - \fi% - \if@atdocument\tud@layout@process\fi% - \fi% -} -\newif\if@tud@heavyfont -\TUD@key{heavyfont}[true]{% - \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@cdfonts\fi% - \fi% -} -\newcommand*\tud@barfont{0} -\TUD@key@lock{barfont}[true]{% - \TUD@set@numkey@lock{barfont}{tud@barfont}{% +\AtBeginDocument{\tud@font@set}% +\bool@lock{@tud@cdmath} +\TUD@key{cdmath}[true]{% + \TUD@set@numkey{cdmath}{@tempa}{% \TUD@numkey@bool,% - {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% - {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% - {heavy}{2},{heavyfont}{2}% + {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},% + {sansmath}{1},{sans}{1},% + {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},% + {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}% }{#1}% -} -\newif\if@tud@din\@tud@dintrue -\TUD@ifkey{din}{@tud@din} -\newif\if@tud@sansmath -\TUD@key@lock{sansmath}[true]{% - \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \ifcase\@tempa\relax% + \bool@set@lock{@tud@cdmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \if@atdocument\tud@font@math@set\fi% + \or% + \bool@set@lock{@tud@cdmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \if@atdocument\tud@font@math@set\fi% + \or + \TUDoptions{slantedgreek=false}% + \or + \TUDoptions{slantedgreek=true}% + \fi% \fi% } \newif\if@tud@slantedgreek \TUD@key@lock{slantedgreek}[true]{% \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \if@atdocument\tud@font@math@set\fi% \fi% } %%% From File: tudscr-pagestyle.dtx \newcommand*\tud@ddc@switch{} \edef\tud@ddc@switch{% \TUD@numkey@bool,% - {color}{2},{colour}{2},% - {colorblack}{3},{colourblack}{3},% - {gray}{4},{grey}{4},{cdgray}{4},% - {black}{5},% - {blue}{6},{cddarkblue}{6},% - {white}{7}% + {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% + {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% + {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},% + {black}{5},{cdblack}{5},% + {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},% + {white}{7},{cdwhite}{7}% } \newcommand*\tud@ddc@save{} \newif\if@tud@ddc@save @@ -304,8 +324,8 @@ \TUD@key{ddc}[true]{% \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% - \ifcase \tud@ddc\relax% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \ifcase\tud@ddc\relax% \@tud@ddc@autosetfalse% \else% \@tud@ddc@autosettrue% @@ -321,10 +341,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@head\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@head\relax\else% + \ifcase\tud@ddc@head\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddcfoot=false}% @@ -340,10 +362,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@foot\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@foot\relax\else% + \ifcase\tud@ddc@foot\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddchead=false}% @@ -363,24 +387,86 @@ \let\@tempb\tud@ddc% \fi% \fi% + \iftudscrverlower{2.03}{% + \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi% + }{}% +} +\newcommand*\iftudpagestyle[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% } -\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} -\newcommand*\tud@pslist{} -\forcsvlist{\listadd\tud@pslist}{% +\newcommand*\tud@ps@list{} +\forcsvlist{\listadd\tud@ps@list}{% tudheadings,plain.tudheadings,empty.tudheadings% } -\newif\if@tud@widehead -\TUD@key@lock{widehead}[true]{% - \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +\newlength\tud@dim@extrabottommargin +\TUD@key{extrabottommargin}{% + \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@geometry@process\fi% + \fi% +} +\cs@lock{tud@head@font}{0} +\newcommand*\tud@head@bar{0} +\bool@lock{@tud@head@widebar} +\TUD@key{cdhead}[true]{% + \TUD@set@numkey{cdhead}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},% + {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},% + {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},% + {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},% + {bicolor}{5},{bicolour}{5},{twocolor}{5},{twocolour}{5},% + {bichrome}{5},{bichromatic}{5},{dichrome}{5},{dichromatic}{5},% + {color}{5},{colour}{5},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5},% + {textwidth}{6},{slim}{6},{slimhead}{6},{nowide}{6},{nowidehead}{6},% + {paperwidth}{7},{wide}{7},{widehead}{7}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% + \cs@set@lock{tud@head@font}{0}% + \or% + \cs@set@lock{tud@head@font}{1}% + \or% + \cs@set@lock{tud@head@font}{2}% + \or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \bool@set@lock{@tud@head@widebar}{false}% + \or% + \bool@set@lock{@tud@head@widebar}{true}% + \fi% + \fi% } -\newif\if@tud@cdfoot +\newif\if@tud@footcolor \TUD@key{cdfoot}[true]{% - \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \TUD@set@numkey{cdfoot}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{3},{colour}{3},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}% + }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument% - \if@tud@cdfoot% - \tud@ps@store{headings}% - \tud@ps@store{plain}% + \ifcase\@tempa\relax% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@restore{scrheadings}% + \tud@ps@restore{plain.scrheadings}% + \tud@font@koma@unset{pageheadfoot}% + }% + \or% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@store{scrheadings}% + \tud@ps@store{plain.scrheadings}% \tud@font@koma@set{pageheadfoot}{\upshape}% \clearpairofpagestyles% \ofoot[\pagemark]{% @@ -388,57 +474,58 @@ {\footnotesize\headmark}% \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% }% - \else% - \tud@ps@restore{headings}% - \tud@ps@restore{plain}% - \tud@font@koma@unset{pageheadfoot}% - \fi% + }% + \or% + \@tud@footcolorfalse% + \or% + \@tud@footcolortrue% \fi% + \else% + \TUDoptions{extrabottommargin=#1}% \fi% } \newcommand*\tud@ps@store[1]{% - \tud@@ps@store{#1}{odd}{left}{head}{}% - \tud@@ps@store{#1}{odd}{right}{head}{}% - \tud@@ps@store{#1}{odd}{middle}{head}{}% - \tud@@ps@store{#1}{even}{left}{head}{}% - \tud@@ps@store{#1}{even}{right}{head}{}% - \tud@@ps@store{#1}{even}{middle}{head}{}% - \tud@@ps@store{#1}{odd}{left}{foot}{}% - \tud@@ps@store{#1}{odd}{right}{foot}{}% - \tud@@ps@store{#1}{odd}{middle}{foot}{}% - \tud@@ps@store{#1}{even}{left}{foot}{}% - \tud@@ps@store{#1}{even}{right}{foot}{}% - \tud@@ps@store{#1}{even}{middle}{foot}{}% + \tud@@ps@store{#1}{odd}{left}{head}% + \tud@@ps@store{#1}{odd}{right}{head}% + \tud@@ps@store{#1}{odd}{middle}{head}% + \tud@@ps@store{#1}{even}{left}{head}% + \tud@@ps@store{#1}{even}{right}{head}% + \tud@@ps@store{#1}{even}{middle}{head}% + \tud@@ps@store{#1}{odd}{left}{foot}% + \tud@@ps@store{#1}{odd}{right}{foot}% + \tud@@ps@store{#1}{odd}{middle}{foot}% + \tud@@ps@store{#1}{even}{left}{foot}% + \tud@@ps@store{#1}{even}{right}{foot}% + \tud@@ps@store{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@store[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% - \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}% }% } \newcommand*\tud@ps@restore[1]{% - \tud@@ps@restore{#1}{odd}{left}{head}{}% - \tud@@ps@restore{#1}{odd}{right}{head}{}% - \tud@@ps@restore{#1}{odd}{middle}{head}{}% - \tud@@ps@restore{#1}{even}{left}{head}{}% - \tud@@ps@restore{#1}{even}{right}{head}{}% - \tud@@ps@restore{#1}{even}{middle}{head}{}% - \tud@@ps@restore{#1}{odd}{left}{foot}{}% - \tud@@ps@restore{#1}{odd}{right}{foot}{}% - \tud@@ps@restore{#1}{odd}{middle}{foot}{}% - \tud@@ps@restore{#1}{even}{left}{foot}{}% - \tud@@ps@restore{#1}{even}{right}{foot}{}% - \tud@@ps@restore{#1}{even}{middle}{foot}{}% + \tud@@ps@restore{#1}{odd}{left}{head}% + \tud@@ps@restore{#1}{odd}{right}{head}% + \tud@@ps@restore{#1}{odd}{middle}{head}% + \tud@@ps@restore{#1}{even}{left}{head}% + \tud@@ps@restore{#1}{even}{right}{head}% + \tud@@ps@restore{#1}{even}{middle}{head}% + \tud@@ps@restore{#1}{odd}{left}{foot}% + \tud@@ps@restore{#1}{odd}{right}{foot}% + \tud@@ps@restore{#1}{odd}{middle}{foot}% + \tud@@ps@restore{#1}{even}{left}{foot}% + \tud@@ps@restore{#1}{even}{right}{foot}% + \tud@@ps@restore{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@restore[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% - \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% \csundef{@@tud@ps@#1@#2@#3@#4}% - }% + }{}% } -\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} \newcommand*\tud@geometry{0} -\TUD@key@lock{geometry}[true]{% - \TUD@set@numkey@lock{geometry}{tud@geometry}{% +\TUD@key@lock{cdgeometry}[true]{% + \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{% \TUD@numkey@bool,% {typearea}{0},% {tud}{1},{asymmetric}{1},{cd}{1},% @@ -450,58 +537,70 @@ \fi% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@head@color{black} -\newcommand*\tud@cd{0} -\csdef@lock{tud@layout@cover}{0} -\csdef@lock{tud@layout@title}{0} -\csdef@lock{tud@layout@part}{0} -\csdef@lock{tud@layout@chapter}{0} +\cs@lock{tud@layout@cover}{0} +\cs@lock{tud@layout@title}{0} +\cs@lock{tud@layout@part}{0} +\cs@lock{tud@layout@chapter}{0} \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% \TUD@numkey@bool,% - {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},% {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% - {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% - {color}{3},{colour}{3}% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{4},{colour}{4},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5}% } +\newcommand*\tud@cd{0} \TUD@key{cd}[true]{% \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \def\tud@head@color{black}% - \ifcase \tud@cd\relax% - \csstd@lock{tud@layout@cover}{0}% - \csstd@lock{tud@layout@title}{0}% - \csstd@lock{tud@layout@part}{0}% - \csstd@lock{tud@layout@chapter}{0}% - \or% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{1}% - \csstd@lock{tud@layout@part}{1}% - \csstd@lock{tud@layout@chapter}{1}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{2}% - \csstd@lock{tud@layout@part}{2}% - \csstd@lock{tud@layout@chapter}{2}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{3}% - \csstd@lock{tud@layout@part}{3}% - \csstd@lock{tud@layout@chapter}{3}% + \ifcase\tud@cd\relax% + \cs@std@lock{tud@layout@cover}{0}% + \cs@std@lock{tud@layout@title}{0}% + \cs@std@lock{tud@layout@part}{0}% + \cs@std@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{1}% + \cs@std@lock{tud@layout@part}{1}% + \cs@std@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{2}% + \cs@std@lock{tud@layout@part}{2}% + \cs@std@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{3}% + \cs@std@lock{tud@layout@part}{3}% + \cs@std@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{4}% + \cs@std@lock{tud@layout@part}{4}% + \cs@std@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{5}% + \cs@std@lock{tud@layout@part}{5}% + \cs@std@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% - \TUD@std@ifkey@lock{widehead}{true}% \fi% \if@atdocument% \tud@layout@process% \else% - \ifcase \tud@cd\relax% - \TUD@std@numkey@lock{geometry}{false}% + \ifcase\tud@cd\relax% + \TUD@std@numkey@lock{cdgeometry}{false}% \else% - \TUD@std@numkey@lock{geometry}{true}% + \TUD@std@numkey@lock{cdgeometry}{true}% \fi% \fi% \fi% @@ -509,14 +608,18 @@ \TUD@key{cdcover}[true]{% \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@cover}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@cover}{0}% + \or% + \cs@set@lock{tud@layout@cover}{1}% \or% - \csset@lock{tud@layout@cover}{1}% + \cs@set@lock{tud@layout@cover}{2}% \or% - \csset@lock{tud@layout@cover}{2}% + \cs@set@lock{tud@layout@cover}{3}% \or% - \csset@lock{tud@layout@cover}{3}% + \cs@set@lock{tud@layout@cover}{4}% + \or% + \cs@set@lock{tud@layout@cover}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -524,14 +627,18 @@ \TUD@key{cdtitle}[true]{% \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@title}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@title}{0}% + \or% + \cs@set@lock{tud@layout@title}{1}% + \or% + \cs@set@lock{tud@layout@title}{2}% \or% - \csset@lock{tud@layout@title}{1}% + \cs@set@lock{tud@layout@title}{3}% \or% - \csset@lock{tud@layout@title}{2}% + \cs@set@lock{tud@layout@title}{4}% \or% - \csset@lock{tud@layout@title}{3}% + \cs@set@lock{tud@layout@title}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -539,14 +646,18 @@ \TUD@key{cdpart}[true]{% \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@part}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@part}{0}% + \or% + \cs@set@lock{tud@layout@part}{1}% + \or% + \cs@set@lock{tud@layout@part}{2}% \or% - \csset@lock{tud@layout@part}{1}% + \cs@set@lock{tud@layout@part}{3}% \or% - \csset@lock{tud@layout@part}{2}% + \cs@set@lock{tud@layout@part}{4}% \or% - \csset@lock{tud@layout@part}{3}% + \cs@set@lock{tud@layout@part}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -554,45 +665,54 @@ \TUD@key{cdchapter}[true]{% \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@chapter}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@chapter}{0}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{1}% + \cs@set@lock{tud@layout@chapter}{1}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{2}% + \cs@set@lock{tud@layout@chapter}{2}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{3}% + \cs@set@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@set@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \or% + \cs@set@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } +\newcommand*\tud@font@heading@size{} +\AtEndOfClass{\let\tud@font@heading@size\size@part} \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \AtEndOfFamilyOptions{% \let\tud@font@heading@size\size@part% - \tud@layout@process% - \ifcase \tud@layout@part\relax\else% - \tud@font@koma@reset{part}% - \tud@font@koma@reset{partnumber}% - \fi% - \ifcase \tud@layout@chapter\relax\else% - \tud@font@koma@reset{chapter}% - \tud@font@koma@reset{chapterprefix}% - \let\chapterheadstartvskip\tud@chapterheadstartvskip% - \tud@font@koma@reset{section}% - \tud@font@koma@reset{subsection}% - \tud@font@koma@reset{subsubsection}% - \tud@font@koma@reset{minisec}% + \if@atdocument% + \tud@layout@process% + \ifcase\tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% + \fi% + \ifcase\tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% \fi% }% } \newif\if@tud@parttitle -\TUD@key@lock{parttitle}[true]{% - \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% +\TUD@key{parttitle}[true]{% + \TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\tud@layout@process\fi% \fi% @@ -617,24 +737,17 @@ \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% \FamilyKeyStateProcessed% }{% - \ifcsdef{ps@#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% - \ifx\@currname\tudcls@name% - \ifx\@currext\@clsextension% - \ifstr{#1}{headings}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% - \tud@ifinpslist{#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{}% - }% - \fi% - \fi% + \AfterPreamble{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + }{% + \ClassError{\tudcls@name}{`#1' is no valid pagestyle}{% + You tried to use `#1' as a pagestyle for option\MessageBreak% + `cleardoublespecialpage', but it was never defined% + }% + }% }% + \FamilyKeyStateProcessed% }}}% \fi% } @@ -646,13 +759,11 @@ \def\@tempa{% #1% \tud@cleardoublepage% - \tud@restorepagecolor% \endgroup% }% \else% \def\@tempa{% \endgroup% - \tud@restorepagecolor% #1% \tud@cleardoublepage% }% @@ -660,7 +771,6 @@ }{% \if@tud@clearcolor\tud@clearcolor@wrn\fi% \def\@tempa{% - \tud@restorepagecolor% \endgroup% #1% }% @@ -675,7 +785,7 @@ \newcommand*\tud@fm@switch{% {section}{2},{sect}{2},{sec}{2},{addsec}{2},% {chapter}{3},{chap}{3},{addchap}{3},% - {new}{3},{std}{3},{heading}{3},% + {new}{3},{standard}{3},{heading}{3},% {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% {nottotoc}{6},{notoc}{6},% @@ -687,7 +797,7 @@ {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% } \newcommand*\tud@abstract@level{3} -\newbool@lock[true]{@tud@abstract@toc} +\bool@lock[true]{@tud@abstract@toc} \newif\if@tud@abstract@toc@leveldown \newif\if@tud@abstract@markboth \newif\if@tud@abstract@multi @@ -697,22 +807,22 @@ \edef\@tempb{\tud@fm@switch}% \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \or% \or% \def\tud@abstract@level{2}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% \def\tud@abstract@level{3}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldownfalse% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldowntrue% \or% - \setbool@lock{@tud@abstract@toc}{false}% + \bool@set@lock{@tud@abstract@toc}{false}% \or% \@tud@abstract@markbothtrue% \or% @@ -729,37 +839,37 @@ \fi% } \newcommand*\tud@declaration@level{3} -\newbool@lock[true]{@tud@declaration@toc} +\bool@lock[true]{@tud@declaration@toc} \newif\if@tud@declaration@toc@leveldown \newif\if@tud@declaration@markboth \newif\if@tud@declaration@multi -\@tud@declaration@multitrue \newif\if@tud@declaration@fil +\@tud@declaration@multitrue \@tud@declaration@filtrue \TUD@key{declaration}[chapter]{% \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \def\tud@declaration@level{0}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{1}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{2}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% \def\tud@declaration@level{3}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldownfalse% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldowntrue% \or% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@set@lock{@tud@declaration@toc}{false}% \or% \@tud@declaration@markbothtrue% \or% @@ -781,6 +891,9 @@ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% } %%% From File: tudscr-misc.dtx +\newcommand*\TUD@AfterPackage[2]{% + \if@atdocument#2\else\AfterPackage!{#1}{#2}\fi% +} \newif\if@tud@symbolheadings \TUD@key{footnotes}{% \TUD@set@numkey{footnotes}{@tempa}{% @@ -788,7 +901,7 @@ {symbolheadings}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \@tud@symbolheadingsfalse% \or% \@tud@symbolheadingstrue% @@ -798,30 +911,28 @@ \newif\if@tud@bookmarks \TUD@ifkey{tudbookmarks}{@tud@bookmarks} %%% From File: tudscr-comp.dtx -\TUD@key{color}[true]{% - \TUD@set@numkey{color}{@tempa}{% - \TUD@numkey@bool,% - {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% - {color}{1},{colour}{1},{full}{1},% - {colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% - {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% - {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% - {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% - }{#1}% +\newcommand*\tud@deprecated@key[2]{% + \ClassWarning{\tudcls@name}% + {% + The option key `#1' is deprecated.\MessageBreak% + It's recommended to use `#2' instead% + }% +} +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \TUDoptions{cd=true}% - \or% - \TUDoptions{cd=color}% - \or% - \TUDoptions{cd=lite}% + \tud@deprecated@key{cdfonts}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% \fi% \fi% } -\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} \TUD@key{tudfonts}[true]{% \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfonts}{cdfont}% \if@tempswa% \TUDoptions{cdfont=true}% \else% @@ -829,9 +940,99 @@ \fi% \fi% } +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{heavyfont}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont=true}% + \fi% + \fi% +} +\TUD@key{din}[true]{% + \TUD@set@ifkey{din}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{din}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=din}% + \else% + \TUDoptions{cdfont=nodin}% + \fi% + \fi% +} +\TUD@key{nodin}[true]{% + \TUD@set@ifkey{nodin}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{nodin}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=nodin}% + \else% + \TUDoptions{cdfont=din}% + \fi% + \fi% +} +\TUD@key{sansmath}[true]{% + \TUD@set@ifkey{sansmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=true}% + \else% + \TUDoptions{cdmath=false}% + \fi% + \fi% +} +\TUD@key{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=false}% + \else% + \TUDoptions{cdmath=true}% + \fi% + \fi% +} +\TUD@key{geometry}[true]{% + \tud@deprecated@key{geometry}{cdgeometry}% + \TUDoptions{cdgeometry=#1}% +} +\TUD@key{barfont}[true]{% + \TUD@set@numkey{barfont}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{barfont}{cdhead}% + \ifcase\@tempa\relax% + \TUDoptions{cdhead=false}% + \or% + \TUDoptions{cdhead=true}% + \or% + \TUDoptions{cdhead=heavy}% + \fi% + \fi% +} +\TUD@key{widehead}[true]{% + \TUD@set@ifkey{widehead}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{widehead}{cdhead}% + \if@tempswa% + \TUDoptions{cdhead=paperwidth}% + \else% + \TUDoptions{cdhead=textwidth}% + \fi% + \fi% +} \TUD@key{tudfoot}[true]{% \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfoot}{cdfoot}% \if@tempswa% \TUDoptions{cdfoot=true}% \else% @@ -839,21 +1040,50 @@ \fi% \fi% } -\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},% + {lite}{1},{light}{1},{pale}{1},% + {colorlite}{1},{litecolor}{1},{colourlite}{1},{litecolour}{1},% + {colorlight}{1},{lightcolor}{1},{colourlight}{1},{lightcolour}{1},% + {colorpale}{1},{palecolor}{1},{colourpale}{1},{palecolour}{1},% + {bicolor}{2},{bicolour}{2},{twocolor}{2},{twocolour}{2},% + {bichrome}{2},{bichromatic}{2},{dichrome}{2},{dichromatic}{2},% + {color}{3},{colour}{3},% + {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{color}{cd}% + \ifcase\@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=pale}% + \or% + \TUDoptions{cd=bicolor}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=fullcolor}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +\newcommand*\tud@v@comp{\tud@v@last} \TUD@key{tudscrver}[last]{% - \scr@ifundefinedorrelax{tudscr@v@#1}{% - \def\tudscr@v@comp{0}% + \ifcsvoid{tud@v@#1}{% + \def\tud@v@comp{0}% \ClassWarningNoLine{\tudcls@name}{% You have set option `tudscrver' to `#1', but\MessageBreak% - this value of version is not supported.\MessageBreak% - Because of this, version was set to `first'% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% }% \FamilyKeyStateProcessed% }{% \ClassInfoNoLine{\tudcls@name}{% Switching compatibility level to `#1'% }% - \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \edef\tud@v@comp{\@nameuse{tud@v@#1}}% \FamilyKeyStateProcessed% }% } @@ -882,12 +1112,20 @@ }% }% } -\@namedef{tudscr@v@first}{0} -\@namedef{tudscr@v@2.02}{0} -\@namedef{tudscr@v@last}{0} +\@namedef{tud@v@first}{0} +\@namedef{tud@v@2.02}{0} +\@namedef{tud@v@2.03}{1} +\@namedef{tud@v@last}{1} +\newcommand*\iftudscrverlower[1]{% + \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} %%% From File: tudscr-base.dtx \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} -\TUDExecuteOptions{\TUDDefaultOptions} +\TUDExecuteOptions{cd,cdfont,tudbookmarks} \TUDProcessOptions\relax \LoadClass{\scrcls@name}[2013/12/19] \RequirePackage{environ}[2013/04/01] @@ -905,22 +1143,22 @@ %%% From File: tudscr-fonts.dtx \AtEndPreamble{% \if@tud@fontspec% - \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% - \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% - \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% - \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% - \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% - \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% - \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% - \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% - \newcommand*\textuln[1]{{\univln#1}} - \newcommand*\texturn[1]{{\univrn#1}} - \newcommand*\textubn[1]{{\univbn#1}} - \newcommand*\textuxn[1]{{\univxn#1}} - \newcommand*\textuls[1]{{\univls#1}} - \newcommand*\texturs[1]{{\univrs#1}} - \newcommand*\textubs[1]{{\univbs#1}} - \newcommand*\textuxs[1]{{\univxs#1}} + \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]% + \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]% + \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% + \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% + \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% + \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% + \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% + \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% + \newcommand*\textuln[1]{{\univln#1}}% + \newcommand*\texturn[1]{{\univrn#1}}% + \newcommand*\textubn[1]{{\univbn#1}}% + \newcommand*\textuxn[1]{{\univxn#1}}% + \newcommand*\textuls[1]{{\univls#1}}% + \newcommand*\texturs[1]{{\univrs#1}}% + \newcommand*\textubs[1]{{\univbs#1}}% + \newcommand*\textuxs[1]{{\univxs#1}}% \else% \if@tud@univers% \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% @@ -959,9 +1197,9 @@ \DeclareTextFontCommand{\textuxs}{\univxs}% \fi% \if@tud@fontspec% - \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% - \newcommand*\textdbn[1]{{\dinbn#1}} + \newcommand*\textdbn[1]{{\dinbn#1}}% \else% \if@tud@dinbold% \newcommand*\dinbn{% @@ -972,220 +1210,239 @@ \let\dinbn\sectfont% \fi% \newcommand*\textdbn{}% - \DeclareTextFontCommand{\textdbn}{\dinbn} - \fi% - \DeclareMathVersion{univers} - \DeclareMathVersion{universbold} - \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} - \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} - \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} - \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} - \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} - \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} - \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} - \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n} - \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} - \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} - \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n} - \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} - \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} - \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} - \DeclareMathVersion{dinbold} - \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} - \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n} - \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} - \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} - \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} - \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} - \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} - \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} - \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} - \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} - \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} - \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} - \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} - \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} - \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} - \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} - \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} - \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} - \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} - \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} - \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} -} -\newcommand*\tud@font@cdfonts{% - \tud@cmd@store{rmdefault}% - \tud@cmd@store{sfdefault}% - \tud@cmd@store{ttdefault}% - \tud@cmd@store{bfdefault}% - \tud@cmd@store{mddefault}% - \tud@cmd@store{itdefault}% - \tud@cmd@store{familydefault}% - \tud@cmd@store{seriesdefault}% - \tud@cmd@store{shapedefault}% - \if@tud@fontspec% - \if@tud@heavyfont% - \setsansfont{Univers}[% - BoldFont = Univers Bold,% - ItalicFont = Univers Oblique,% - BoldItalicFont = Univers Bold Oblique,% - ]% - \setmonofont{LMMono10-Regular}[% - BoldFont = LMMonoLt10-Bold,% - ItalicFont = LMMonoSlant10-Regular,% - BoldItalicFont = LMMonoLt10-BoldOblique,% - ] - \else% - \setsansfont{Univers Light}[% - BoldFont = Univers,% - ItalicFont = Univers Light Oblique,% - BoldItalicFont = Univers Oblique,% - ]% - \setmonofont{LMMonoLt10-Regular}[% - BoldFont = LMMono10-Regular,% - ItalicFont = LMMonoLt10-Oblique,% - BoldItalicFont = LMMonoSlant10-Regular,% - ]% - \fi% + \DeclareTextFontCommand{\textdbn}{\dinbn}% + \fi% + \DeclareMathVersion{univers}% + \DeclareMathVersion{universbold}% + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}% + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}% + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}% + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}% + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}% + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}% + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}% + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}% + \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}% + \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}% + \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}% + \DeclareMathVersion{dinbold}% + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}% + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}% + \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}% + \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}% + \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}% + \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}% + \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}% + \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}% + \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}% + \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}% + \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}% + \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}% + \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}% + \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}% + \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}% + \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}% + \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}% + \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}% + \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}% + \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}% + \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}% +} +\newcommand*\tud@font@set{% + \ifcase\tud@cdfont\relax% + \tud@cmd@restore{rmdefault}% + \tud@cmd@restore{sfdefault}% + \tud@cmd@restore{ttdefault}% + \tud@cmd@restore{bfdefault}% + \tud@cmd@restore{mddefault}% + \tud@cmd@restore{itdefault}% + \tud@cmd@restore{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \bool@std@lock{@tud@cdmath}{false}% + \cs@std@lock{tud@head@font}{0}% \else% - \if@tud@univers% - \renewcommand*\sfdefault{\tud@univers}% - \renewcommand*\ttdefault{\tud@univers t}% - \if@tud@heavyfont% - \renewcommand*\bfdefault{b}% - \renewcommand*\mddefault{m}% + \tud@cmd@store{rmdefault}% + \tud@cmd@store{sfdefault}% + \tud@cmd@store{ttdefault}% + \tud@cmd@store{bfdefault}% + \tud@cmd@store{mddefault}% + \tud@cmd@store{itdefault}% + \tud@cmd@store{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \bool@std@lock{@tud@cdmath}{true}% + \cs@std@lock{tud@head@font}{\tud@cdfont}% + \if@tud@fontspec% + \ifnum\tud@cdfont=\@ne\relax% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% \else% - \renewcommand*\bfdefault{m}% - \renewcommand*\mddefault{l}% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \ifnum\tud@cdfont=\@ne\relax% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \else% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \fi% \fi% \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% \fi% - \renewcommand*\rmdefault{\sfdefault}% - \renewcommand*\familydefault{\sfdefault}% - \renewcommand*\seriesdefault{\mddefault}% - \renewcommand*\shapedefault{\updefault}% \normalfont\selectfont% + \tud@font@math@set% + \tud@layout@process% } -\newcommand*\tud@font@mathfonts{% - \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% - \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% - \mathversion{normal}% -} -\newcommand*\tud@sansmath{% +\newcommand*\tud@font@math@set{% \if@tud@univers% - \tud@cmd@store{mv@normal}% - \tud@cmd@store{mv@bold}% - \let\mv@normal\mv@univers% - \let\mv@bold\mv@universbold% - \mathversion{normal}% + \if@tud@cdmath% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \else% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \fi% \fi% -} -\newcommand*\tud@serifmath{% - \if@tud@univers% - \tud@cmd@restore{mv@normal}% - \tud@cmd@restore{mv@bold}% - \mathversion{normal}% + \if@tud@slantedgreek% + \tud@font@greek@slanted% + \else% + \tud@font@greek@upright% \fi% + \mathversion{normal}% } -\newcount\tud@greek@upGamma -\tud@greek@upGamma\Gamma -\newcount\tud@greek@offset +\newcount\tud@font@greek@upGamma +\tud@font@greek@upGamma\Gamma +\newcount\tud@font@greek@offset \let\@tempa\relax \DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} -\tud@greek@offset\@tempa -\advance\tud@greek@offset-\Gamma -\newcommand*\tud@greek@slanted{% - \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% -} -\newcommand*\tud@greek@upright{% - \ifnum\Gamma>\tud@greek@upGamma% - \tud@greek@offset=-\tud@greek@offset% - \tud@greek@changeshape% - \tud@greek@offset=-\tud@greek@offset% +\tud@font@greek@offset\@tempa +\advance\tud@font@greek@offset-\Gamma +\newcommand*\tud@font@greek@slanted{% + \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi% +} +\newcommand*\tud@font@greek@upright{% + \ifnum\Gamma>\tud@font@greek@upGamma% + \tud@font@greek@offset=-\tud@font@greek@offset% + \tud@font@greek@changeshape% + \tud@font@greek@offset=-\tud@font@greek@offset% \fi% } -\newcommand*\tud@greek@def[2]{% +\newcommand*\tud@font@greek@def[2]{% \expandafter\@tempcnta\csname #1\endcsname% \advance\@tempcnta#2% \expandafter\mathchardef\csname #1\endcsname\@tempcnta% } -\newcommand*\tud@greek@uc{% +\newcommand*\tud@font@greek@uc{% Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% } -\newcommand*\tud@greek@changeshape{% - \@for\@tempa:=\tud@greek@uc\do{% - \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% +\newcommand*\tud@font@greek@changeshape{% + \@for\@tempa:=\tud@font@greek@uc\do{% + \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}% }% } \newcommand*\tud@head@font@bold{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@set{% + \ifdef{\@raggedtwoe@everyselectfont}{% + \let\@raggedtwoe@everyselectfont\relax% + \spaceskip\z@\selectfont% + }{}% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\sfdefault}{bx}{n}{\tud@head@font@size}% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {\sfdefault}{\mddefault}{n}{\tud@head@font@size}% - \ifcase \tud@barfont\relax% - \if@tud@cdfonts% + \@tempswafalse% + \ifcase\tud@head@font\relax% + \ifnum\tud@cdfont>\z@\relax% \ClassWarning{\tudcls@name}{% - It isn't possible to use `barfont=false'\MessageBreak% + It isn't possible to use `cdhead=false'\MessageBreak% together with `cdfont=true'% }% + \@tempswatrue% \fi% - \or% - \@tud@cdfontstrue% - \def\mddefault{l}% - \or% - \@tud@cdfontstrue% - \def\mddefault{m}% + \else% + \@tempswatrue% \fi% - \if@tud@cdfonts% + \if@tempswa% \if@tud@fontspec% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {UniversBold}{m}{n}{\tud@head@font@size}% - \ifstr{\mddefault}{m}{% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {UniversRegular}{m}{n}{\tud@head@font@size}% - }{% + \ifcase\tud@head@font\relax\or% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {UniversLight}{m}{n}{\tud@head@font@size}% - }% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + \fi% \else% \if@tud@univers% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\tud@univers}{b}{n}{\tud@head@font@size}% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {\tud@univers}{\mddefault}{n}{\tud@head@font@size}% + \ifcase\tud@head@font\relax\or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@font@size}% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{m}{n}{\tud@head@font@size}% + \fi% \fi% \fi% \fi% } \newrobustcmd*\ifdin{% - \@tempswafalse + \@tempswafalse% \@expandtwoargs\in@{DINBold}{\f@family}% \ifin@\@tempswatrue\fi% \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% - \if@tempswa + \if@tempswa% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% \fi% } -\AtBeginDocument{% - \if@tud@cdfonts\tud@font@cdfonts\fi% - \tud@font@mathfonts% -} \AfterPackage*{amsfonts}{% \DeclareFontFamily{U}{msa}{}% \DeclareFontShape{U}{msa}{m}{n}{% @@ -1209,17 +1466,7 @@ \renewcommand*\tud@RaggedRight{\RaggedRight}% } %%% From File: tudscr-color.dtx -\newcommand*\tud@pagecolor[1]{} -\newcommand*\tud@restorepagecolor{} -\AfterPackage{tudscrcolor}{% - \providecommand*\nopagecolor{\pagecolor{white}}% - \let\tud@pagecolor\pagecolor% - \let\tud@restorepagecolor\nopagecolor% - \AfterPackage*{pagecolor}{% - \let\tud@pagecolor\newpagecolor% - \let\tud@restorepagecolor\restorepagecolor% - }% -} +\newcommand*\tud@pagecolor{} \AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} %%% From File: tudscr-fields.dtx \RequirePackage{trimspaces}[2009/09/17] @@ -1613,123 +1860,68 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-pagestyle.dtx -\newlength{\tud@dim@left} -\newlength{\tud@dim@right} -\newlength{\tud@dim@both} -\newlength{\tud@dim@top} -\newlength{\tud@dim@bottom} -\newlength{\tud@dim@footskip} -\newlength{\tud@dim@headheight} -\newlength{\tud@dim@barheight} -\newlength{\tud@dim@headsep} -\newlength{\tud@dim@logox} -\newlength{\tud@dim@logoy} -\newlength{\tud@dim@logowidth} -\newlength{\tud@dim@logoheight} -\newlength{\tud@dim@line} -\newlength{\tud@dim@thinline} -\newlength{\tud@dim@heavyline} -\newlength{\tud@dim@headingsvskip} -\newlength{\tud@dim@headdiff} -\newlength{\tud@dim@ddcdiff} -\newlength{\tud@dim@ddcfoot} +\newlength\tud@dim@widemargin +\newlength\tud@dim@slimmargin +\newlength\tud@dim@both +\newlength\tud@dim@topmargin +\newlength\tud@dim@barheight +\newlength\tud@dim@headsep +\newlength\tud@dim@footsep +\newlength\tud@dim@logox +\newlength\tud@dim@logoy +\newlength\tud@dim@logowidth +\newlength\tud@dim@line +\newlength\tud@dim@heavyline +\newlength\tud@dim@thinline +\newlength\tud@dim@headdiff +\newlength\tud@dim@headingsvskip +\iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{} \newcommand*\tud@head@font@size{} \newcommand*\tud@geometry@set{% \ifdim\paperheight<148.1mm\relax% - \setlength{\tud@dim@headheight}{17.5mm}% - \setlength{\tud@dim@barheight}{2.5mm}% - \setlength{\tud@dim@headsep}{6mm}% - \setlength{\tud@dim@logox}{5.5mm}% - \setlength{\tud@dim@logoy}{6.5mm}% - \setlength{\tud@dim@logowidth}{28.5mm}% - \setlength{\tud@dim@left}{15mm}% - \setlength{\tud@dim@right}{10mm}% - \setlength{\tud@dim@top}{12.5mm}% - \setlength{\tud@dim@bottom}{12.5mm}% - \setlength{\tud@dim@footskip}{6mm}% - \setlength{\tud@dim@heavyline}{0.75pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{15mm}% + \setlength\tud@dim@heavyline{0.5pt}% + \setlength\tud@dim@thinline{0.25pt}% \def\tud@head@font@size{4.5}% \else\ifdim\paperheight<297.1mm\relax% - \setlength{\tud@dim@headheight}{35mm}% - \setlength{\tud@dim@barheight}{5mm}% - \setlength{\tud@dim@headsep}{12mm}% - \setlength{\tud@dim@logox}{11mm}% - \setlength{\tud@dim@logoy}{13.5mm}% - \setlength{\tud@dim@logowidth}{57mm}% - \setlength{\tud@dim@left}{30mm}% - \setlength{\tud@dim@right}{20mm}% - \setlength{\tud@dim@top}{25mm}% - \setlength{\tud@dim@bottom}{25mm}% - \setlength{\tud@dim@footskip}{12mm}% - \setlength{\tud@dim@heavyline}{1pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{30mm}% + \setlength\tud@dim@heavyline{1pt}% + \setlength\tud@dim@thinline{0.5pt}% \def\tud@head@font@size{9}% \else\ifdim\paperheight<420.1mm\relax% - \setlength{\tud@dim@headheight}{50mm}% - \setlength{\tud@dim@barheight}{7mm}% - \setlength{\tud@dim@headsep}{17mm}% - \setlength{\tud@dim@logox}{15.5mm}% - \setlength{\tud@dim@logoy}{19mm}% - \setlength{\tud@dim@logowidth}{80mm}% - \setlength{\tud@dim@left}{42mm}% - \setlength{\tud@dim@right}{28mm}% - \setlength{\tud@dim@top}{35mm}% - \setlength{\tud@dim@bottom}{35mm}% - \setlength{\tud@dim@footskip}{17mm}% - \setlength{\tud@dim@heavyline}{1.4pt}% - \setlength{\tud@dim@thinline}{0.7pt}% - \def\tud@head@font@size{13}% + \setlength\tud@dim@widemargin{42.426407mm}% + \setlength\tud@dim@heavyline{1.414214pt}% + \setlength\tud@dim@thinline{0.707107pt}% + \def\tud@head@font@size{12.727922}% \else\ifdim\paperheight<594.1mm\relax% - \setlength{\tud@dim@headheight}{70mm}% - \setlength{\tud@dim@barheight}{10mm}% - \setlength{\tud@dim@headsep}{24mm}% - \setlength{\tud@dim@logox}{22mm}% - \setlength{\tud@dim@logoy}{27mm}% - \setlength{\tud@dim@logowidth}{114mm}% - \setlength{\tud@dim@left}{60mm}% - \setlength{\tud@dim@right}{40mm}% - \setlength{\tud@dim@top}{50mm}% - \setlength{\tud@dim@bottom}{50mm}% - \setlength{\tud@dim@footskip}{24mm}% - \setlength{\tud@dim@heavyline}{1.7pt}% - \setlength{\tud@dim@thinline}{1pt}% - \def\tud@head@font@size{13.5}% + \setlength\tud@dim@widemargin{60mm}% + \setlength\tud@dim@heavyline{2pt}% + \setlength\tud@dim@thinline{1pt}% + \def\tud@head@font@size{18}% \else\ifdim\paperheight<841.1mm\relax% - \setlength{\tud@dim@headheight}{100mm}% - \setlength{\tud@dim@barheight}{14mm}% - \setlength{\tud@dim@headsep}{34mm}% - \setlength{\tud@dim@logox}{31mm}% - \setlength{\tud@dim@logoy}{38mm}% - \setlength{\tud@dim@logowidth}{161.5mm}% - \setlength{\tud@dim@left}{85mm}% - \setlength{\tud@dim@right}{56.5mm}% - \setlength{\tud@dim@top}{71mm}% - \setlength{\tud@dim@bottom}{71mm}% - \setlength{\tud@dim@footskip}{34mm}% - \setlength{\tud@dim@heavyline}{1.9pt}% - \setlength{\tud@dim@thinline}{1.5pt}% - \def\tud@head@font@size{14}% + \setlength\tud@dim@widemargin{84.852814mm}% + \setlength\tud@dim@heavyline{2.828427pt}% + \setlength\tud@dim@thinline{1.414214pt}% + \def\tud@head@font@size{25.455844}% \else% - \setlength{\tud@dim@headheight}{140mm}% - \setlength{\tud@dim@barheight}{20mm}% - \setlength{\tud@dim@headsep}{48mm}% - \setlength{\tud@dim@logox}{44mm}% - \setlength{\tud@dim@logoy}{54mm}% - \setlength{\tud@dim@logowidth}{228mm}% - \setlength{\tud@dim@left}{120mm}% - \setlength{\tud@dim@right}{80mm}% - \setlength{\tud@dim@top}{100mm}% - \setlength{\tud@dim@bottom}{100mm}% - \setlength{\tud@dim@footskip}{48mm}% - \setlength{\tud@dim@heavyline}{2.1pt}% - \setlength{\tud@dim@thinline}{2pt}% - \def\tud@head@font@size{20}% + \setlength\tud@dim@widemargin{120mm}% + \setlength\tud@dim@heavyline{4pt}% + \setlength\tud@dim@thinline{2pt}% + \def\tud@head@font@size{36}% \fi\fi\fi\fi\fi% - \setlength{\tud@dim@both}{\dimexpr\tud@dim@left+\tud@dim@right\relax}% - \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% + \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}% + \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}% + \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}% + \setlength\tud@dim@footsep{% + \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax% + }% } -\newcommand*\tud@ifsacrop{% +\newcommand*\ifstandalonecrop{% \ifcsdef{ifsa@crop}{% \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% }{% @@ -1737,7 +1929,7 @@ }% } \AtEndPreamble{% - \tud@ifsacrop{% + \ifstandalonecrop{% \PreventPackageFromLoading{scrlayer-scrpage}% \pagestyle{empty}% \hoffset=-72.27pt% @@ -1752,192 +1944,352 @@ \oddsidemargin=0pt% \evensidemargin=0pt% \topskip=0pt% - \textheight=\dimexpr\maxdimen% + \textheight=\maxdimen% }{}% } \AtEndPreamble{% \RequirePackage{scrlayer-scrpage}[2013/12/14]% \AfterPackage*{scrlayer-scrpage}{% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={% - \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}% + \tud@mainlogo% },% ]{tudheadings.head.mainlogo}% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={\hfill\tud@headlogo},% ]{tudheadings.head.logo}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.topline}% - \DeclareNewLayer[% - background,head,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41}% + \rule{\layerwidth}{\tud@dim@topmargin}% + \fi% },% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.bottomline}% + ]{tudheadings.head.back}% \DeclareNewLayer[% - background,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.topwideline}% - \DeclareNewLayer[% - background,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + voffset=\tud@dim@topmargin,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41!80}% + \rule{\layerwidth}{\tud@dim@barheight}% + \fi% },% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.bottomwideline}% + ]{tudheadings.head.bar}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,% contents={\tud@head@text@box},% ]{tudheadings.head.text}% \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperline}% + \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperwideline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerwideline}% + \DeclareNewLayer[% background,foot,% + height=\dimexpr\paperheight-\layeryoffset\relax,% contents={% - \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% - \hfill\tud@footlogo% + \ifdim\footlogoheight>\z@\relax\else% + \settoheight\footlogoheight{\tud@mainlogo}% + \iftudscrverlower{2.03}{% + \setlength\footlogoheight{.6\tud@dim@topmargin}% + }{}% + \fi% + \setlength\@tempdima{% + \dimexpr\footlogoheight-\layerheight+\dp\strutbox\relax% + }% + \ifdim\@tempdima>\vfuzz\relax% + \ClassWarning{\tudcls@name}{% + The chosen `\string\footlogoheight' + (\the\footlogoheight)\MessageBreak% + is \the\@tempdima\space higher than recommended. You\MessageBreak% + should decrease this length + \ifcase\tud@geometry\relax\else% + or alternatively\MessageBreak% + enlarge the bottom margin by using option\MessageBreak% + `extrabottommargin'% + \fi% + }% + \fi% + \let\@tempa\relax% + \@for\@tempb:=\tud@@footlogo\do{% + \@tempa% + \ifx\@tempb\@empty\else% + \expandafter\tud@footlogo\expandafter{\@tempb}% + \fi% + \let\@tempa\footlogosep% + }% + \tud@ddclogo% },% - ]{tudheadings.foot.ddclogo}% - \newpairofpagestyles{tudheadings}{}% - \ForEachLayerOfPageStyle{tudheadings}{% - \RemoveLayersFromPageStyle{tudheadings}{#1}% - }% - \ForEachLayerOfPageStyle{plain.tudheadings}{% - \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% - }% - \AddLayersToPageStyle{tudheadings}{% + ]{tudheadings.foot.logo}% + \iftudscrverlower{2.03}{% + \ModifyLayer[% + voffset=\dimexpr\topmargin+1in+\headheight+\headsep+\textheight% + +\footskip-\footheight-\tud@dim@ddcdiff% + \ifcase\tud@geometry\relax\else+\ht\strutbox+\dp\strutbox\fi% + \relax,% + height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,% + ]{tudheadings.foot.logo}% + }{}% + \DeclareNewLayer[% + background,% + hoffset=0pt,% + width=\paperwidth,% + voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}% + -\dp\strutbox\relax,% + height=\dimexpr\paperheight-\layeryoffset\relax,% + contents={% + \if@tud@footcolor% + \let\@tempc\relax% + \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi% + \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}% + \ifx\@tempc\relax\else% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \vbox to \layerheight{% + \vfil\@tempc% + \rule{\layerwidth}{% + \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax% + }% + }% + \else% + \@tempc\rule{\layerwidth}{\layerheight}% + \fi% + }{\@tempc\rule{\layerwidth}{\layerheight}}% + \fi% + \fi% + },% + ]{tudheadings.foot.back}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% scrheadings.foot.odd,% scrheadings.foot.even,% scrheadings.foot.oneside,% scrheadings.foot.above.line,% scrheadings.foot.below.line% }% - \AddLayersToPageStyle{plain.tudheadings}{% + \DeclareNewPageStyleAlias{tud}{tudheadings}% + \DeclareNewPageStyleAlias{tudscr}{tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{plain.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% plain.scrheadings.foot.odd,% plain.scrheadings.foot.even,% plain.scrheadings.foot.oneside,% plain.scrheadings.foot.above.line,% plain.scrheadings.foot.below.line% }% - \DeclareNewPageStyleByLayers{empty.tudheadings}{% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{empty.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% - }% - \AddToLayerPageStyleOptions{tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% - }% - \AddToLayerPageStyleOptions{plain.tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% }% - \AddToLayerPageStyleOptions{empty.tudheadings}{% - onselect={% - \letcs\ps@empty{ps@empty.tudheadings}% - \letcs\ps@plain{ps@plain.tudheadings}% - \letcs\ps@headings{ps@tudheadings}% - }% - }% - \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% - \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% - \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}% + \DeclareNewLayer[ + background,page,% + contents={% + \ifdefvoid{\tud@pagecolor}{}{% + \color{\tud@pagecolor}% + \rule{\layerwidth}{\layerheight}% + }% + },% + ]{tudheadings.pagecolor} + \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% + \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}% }% } -\newcommand*\tud@currentgeometry{} -\newcommand*\tud@beforepagestyle[1]{% - \def\@tempa{#1}% - \ifstr{\sls@currentheadings}{tudheadings}{% - \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% - \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% - \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% - }{}% - \tud@ifinpslist{\@tempa}{% - \tud@ddc@check% - \ifcase \@tempb\relax% - \ifstr{\tud@currentgeometry}{tudarea}{}{% - \loadgeometry{tudarea}% - \gdef\tud@currentgeometry{tudarea}% - }% +\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@foot@logocolor{black} +\newcommand*\tud@ps@onbackground{% + \ifcase\tud@head@bar\relax% + \def\tud@head@logocolor{black}% + \def\tud@foot@logocolor{black}% + \or% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \or% + \def\tud@head@logocolor{white}% + \if@tud@footcolor% + \def\tud@foot@logocolor{white}% \else% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \loadgeometry{tudareaddc}% - \gdef\tud@currentgeometry{tudareaddc}% - }% + \def\tud@foot@logocolor{HKS41}% \fi% - \setlength{\tud@dim@headdiff}{\z@}% - }{% - \ifstr{\tud@currentgeometry}{typearea}{}{% - \loadgeometry{typearea}% - \gdef\tud@currentgeometry{typearea}% - \RedeclarePageStyleByLayers{empty}{}% - }% - \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% - \ifcase \tud@geometry\relax\else% - \if@hincl% - \addtolength{\tud@dim@headdiff}{% - \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + \fi% + \let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}} +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforeselectanypagestyle[1]{% + \ifstr{#1}{\GetRealPageStyle{#1}}{% + \def\@tempa{#1}% + \ifcsdef{scr@v@3.15}{}{% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + }{}% + }% + \iftudpagestyle{\@tempa}{% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% + }{% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% }% + }% + \setlength\tud@dim@headdiff{\z@}% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + }% + \setlength\tud@dim@headdiff{\tud@ta@headdiff}% + \ifcase\tud@geometry\relax\else% + \if@hincl% + \addtolength\tud@dim@headdiff{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% \fi% - \fi% - }% - \global\tud@dim@headdiff=\tud@dim@headdiff% + }% + \global\tud@dim@headdiff=\tud@dim@headdiff% + }{}% } \patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} \patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} \patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoublepageusingstyle}} -\newcommand*\tud@ddc@enlargepage{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\fi% +\iftudscrverlower{2.03}{% + \newcommand*\tud@ddc@enlargepage[1][]{% + \iftudpagestyle{#1}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \enlargethispage{-\tud@dim@ddcdiff}% + \fi% + }% + }{}% }% -} +}{} \newcommand*\tud@head@text{} \newcommand*\tud@head@text@first{} \newcommand*\tud@head@text@second{} \newcommand*\tud@head@text@delimiter{} \newcommand*\tud@head@text@buffer{} -\newcommand*\tud@head@font{} \newcommand*\tud@head@rule[1]{% - \color{\tud@head@color}% - \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% + \color{\tud@head@logocolor}% + \rule[\ht\strutbox]{#1}{\tud@dim@line}% } \newcommand*\tud@head@text@add[3][, ]{% - \def\tud@head@font{#2}% \edef\tud@head@text{#3}% \ifx\tud@head@text\@empty% \def\tud@head@text@delimiter{}% @@ -1949,10 +2301,10 @@ \def\@tempa{% \tud@head@text@first% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% - \settowidth{\@tempdima}{\@tempa}% + \settowidth\@tempdima{\@tempa}% \ifdim\@tempdima>\textwidth\relax% \@tempswatrue% \def\tud@head@text@delimiter{}% @@ -1964,7 +2316,7 @@ \edef\tud@head@text@second{% \tud@head@text@second% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% \fi% @@ -1974,7 +2326,6 @@ \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% \faculty{}% \fi% - \color{\tud@head@color}% \tud@head@font@set% \@tempswafalse% \def\tud@head@text@first{}% @@ -1984,22 +2335,26 @@ \tud@head@text@add{\tud@head@font@light}{\@department}% \tud@head@text@add{\tud@head@font@light}{\@institute}% \tud@head@text@add{\tud@head@font@light}{\@chair}% - \settowidth{\@tempdima}{\tud@head@text@second}% + \settowidth\@tempdima{\tud@head@text@second}% \ifdim\@tempdima>\textwidth\relax% \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}% \hfuzz=\@tempdima% \fi% \vbox{% \linespread{0}\selectfont% + \color{\tud@head@logocolor}% \tud@head@text@write{\tud@head@text@first}% + \ifnum\tud@head@bar>\@ne% + \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{% + \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% + }% + \fi% \ifx\tud@head@text@second\@empty% - \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% - \fi% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% \else% \newline\tud@head@text@write{\tud@head@text@second}% \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\@extraheadline% + \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline% \fi% \fi% }% @@ -2030,21 +2385,18 @@ } \newcommand*\tud@@mainlogo{} \newcommand*\tud@mainlogo{% - \setlength{\@tempdima}{% - \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + \setlength\@tempdima{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax% }% \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% \def\tud@@mainlogo{TUD-black}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% - \global\let\tud@dim@line\tud@dim@thinline% - \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% - \color{\tud@head@color}% - \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}% } \newcommand*\headlogo[2][]{% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \def\tud@@headlogo{#2}% \def\tud@@@headlogo{#1}% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% @@ -2056,11 +2408,11 @@ \ifx\tud@@headlogo\@empty\else% \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% \fi% - \ifcase \@tempa\relax\or% + \ifcase\@tempa\relax\or% \def\tud@@headlogo{DDC-24}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}% \or% \def\tud@@headlogo{DDC-03}% \or% @@ -2075,9 +2427,10 @@ \def\tud@@headlogo{DDC-30}% \fi% \ifx\tud@@headlogo\@empty\else% - \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% - \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% - {}{\tud@patch@wrn{tud@@@headlogo}}% + \settoheight\@tempdima{\tud@mainlogo}% + \protected@epreto\tud@@@headlogo{% + keepaspectratio,totalheight=\the\@tempdima,% + }% \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% \fi% } @@ -2089,44 +2442,86 @@ }% \global\let\tud@headlogo@wrn\relax% } +\newlength\footlogoheight +\newcommand*\footlogosep{\hfill} +\newcommand*\footlogo[2][]{% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \def\tud@@footlogo{#2}% + \def\tud@@@footlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} \newcommand*\tud@@footlogo{} -\newcommand*\tud@footlogo{% +\newcommand*\tud@@@footlogo{} +\DeclareListParser{\tud@footlogo@parser}{:}% +\newcommand*\tud@footlogo[1]{% + \begingroup% + \def\@tempa{}% + \def\@tempb{}% + \@tempswatrue% + \def\do##1{% + \if@tempswa% + \def\@tempa{##1}% + \@tempswafalse% + \else% + \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}% + \fi% + }% + \tud@footlogo@parser{#1}% + \protected@eappto\tud@@@footlogo{\@tempb}% + \protected@epreto\tud@@@footlogo{% + keepaspectratio,totalheight=\the\footlogoheight,% + }% + \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}% + \vbox to \dimexpr\layerheight-\dp\strutbox\relax{% + \vfil\hbox{\@tempc}\vfil\vfil% + }% + \endgroup% +} +\newcommand*\tud@@ddclogo{} +\newcommand*\tud@ddclogo{% \tud@ddc@check% - \ifcase \@tempb\relax\or% - \def\tud@@footlogo{DDC-22}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \ifcase\@tempb\relax\or% + \def\tud@@ddclogo{DDC-22}% + \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}% \or% - \def\tud@@footlogo{DDC-01}% + \def\tud@@ddclogo{DDC-01}% \or% - \def\tud@@footlogo{DDC-07}% + \def\tud@@ddclogo{DDC-07}% \or% - \def\tud@@footlogo{DDC-19}% + \def\tud@@ddclogo{DDC-19}% \or% - \def\tud@@footlogo{DDC-22}% + \def\tud@@ddclogo{DDC-22}% \or% - \def\tud@@footlogo{DDC-25}% + \def\tud@@ddclogo{DDC-25}% \or% - \def\tud@@footlogo{DDC-28}% + \def\tud@@ddclogo{DDC-28}% \fi% - \ifx\tud@@footlogo\@empty\else% - \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \ifx\tud@@ddclogo\@empty\else% + \let\tud@@@footlogo\relax% + \hfill\tud@footlogo{\tud@@ddclogo}% \fi% } -\newlength{\tud@ta@textheight} -\newlength{\tud@ta@topmargin} -\newlength{\tud@ta@headheight} -\newlength{\tud@ta@headsep} -\newlength{\tud@ta@footskip} -\newlength{\tud@ta@headdiff} +\newlength\tud@ta@textheight +\newlength\tud@ta@topmargin +\newlength\tud@ta@headheight +\newlength\tud@ta@headsep +\newlength\tud@ta@footheight +\newlength\tud@ta@footskip +\newlength\tud@ta@headdiff \newcommand*\tud@geometry@restore{} \AfterCalculatingTypearea{% - \setlength{\tud@ta@textheight}{\textheight}% - \setlength{\tud@ta@topmargin}{\topmargin}% - \setlength{\tud@ta@headheight}{\headheight}% - \setlength{\tud@ta@headsep}{\headsep}% - \setlength{\tud@ta@footskip}{\footskip}% + \setlength\tud@ta@textheight{\textheight}% + \setlength\tud@ta@topmargin{\topmargin}% + \setlength\tud@ta@headheight{\headheight}% + \setlength\tud@ta@headsep{\headsep}% + \ifcsvoid{ta@fh}{% + \setlength\tud@ta@footheight{\footheight}% + }{% + \setlength\tud@ta@footheight{\ta@fh}% + }% + \setlength\tud@ta@footskip{\footskip}% \let\tud@geometry@restore\Gm@restore@org% \if@atdocument% \let\Gm@restore@org\relax% @@ -2138,10 +2533,10 @@ } \newcommand*\tud@geometry@hmargin{} \newcommand*\tud@geometry@vmargin{} -\newcommand*\tud@geometry@pmargin{} -\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@tudmargin{} +\iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{} \AtEndPreamble{% - \tud@ifsacrop{}{% + \ifstandalonecrop{}{% \recalctypearea% \RequirePackage{geometry}[2010/09/12]% \tud@geometry@process% @@ -2150,50 +2545,68 @@ } \newcommand*\tud@geometry@process{% \tud@geometry@set% - \ifcase \tud@geometry\relax% + \ifcase\tud@geometry\relax% \def\tud@geometry@hmargin{% left=\dimexpr\oddsidemargin+1in\relax,% width=\textwidth,% + marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,% + \if@twoside\if@reversemargin% + marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,% + \fi\fi% + marginparsep=.5\tud@ta@headsep,% }% \def\tud@geometry@vmargin{% - top={% - \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% - },% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep% + +1in\relax,% headheight=\tud@ta@headheight,% headsep=\tud@ta@headsep,% textheight=\tud@ta@textheight,% footskip=\tud@ta@footskip,% }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% - footskip=\tud@ta@footskip,% - }% - \def\tud@geometry@dmargin{% - textheight={% - \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% - },% - footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + ignorehead,% }% - \setlength{\tud@ta@headdiff}{\dimexpr% - \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% - -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% - }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% }% \ifdim\tud@ta@headdiff<\z@\relax% - \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \addtolength\tud@dim@headsep{-\tud@ta@headdiff}% + \fi% + \iftudscrverlower{2.03}{% + \setlength\tud@dim@ddcdiff{% + \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep% + +\tud@ta@footheight-1.25\baselineskip\relax% + }% + \def\tud@geometry@ddcmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff% + -\tud@dim@ddcdiff\relax,% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + }{}% + \ifdim\tud@dim@extrabottommargin=\z@\relax\else% + \ClassWarning{\tudcls@name}{% + Option `extrabottommargin' is ineffective when\MessageBreak% + package typearea is used (`cdgeometry=no')% + }% \fi% \else% - \ifcase \tud@geometry\or% + \ifcase\tud@geometry\or% \def\tud@geometry@hmargin{% - left=\tud@dim@left,% + left=\tud@dim@widemargin,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@reversemargin% + marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% \if@twoside asymmetric,\fi% }% @@ -2201,6 +2614,8 @@ \def\tud@geometry@hmargin{% left=.5\tud@dim@both,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \or% @@ -2212,66 +2627,99 @@ left=.5\tud@dim@both,% \fi% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@twoside% + \if@reversemargin% + marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + \else% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \fi% - \def\tud@geometry@vmargin{% - top=\tud@dim@top,% - headheight=\tud@ta@headheight,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - \tud@geometry@hincl,% - \tud@geometry@fincl,% - }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - }% - \def\tud@geometry@dmargin{% - \if@fincl% - bottom=\dimexpr% - \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% - \else% - bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% - \fi% - footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + \iftudscrverlower{2.03}{% + \def\tud@geometry@vmargin{% + top=.5\tud@dim@both,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + }{% + \def\tud@geometry@vmargin{% + top=\tud@dim@slimmargin,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + bottom=\dimexpr\tud@dim@widemargin+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% }% - \setlength{\tud@ta@headdiff}{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight% - +\tud@dim@headsep-\tud@dim@top\relax% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% + headsep=\tud@dim@headsep,% + ignorehead,% }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@dim@slimmargin\relax% }% + \iftudscrverlower{2.03}{% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -.5\tud@dim@both\relax% + }% + \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}% + \def\tud@geometry@ddcmargin{% + \if@fincl% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \else% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff\relax,% + \fi% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip+\tud@dim@ddcdiff\relax,% + }% + }{}% \fi% - \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi% \global\tud@ta@headdiff=\tud@ta@headdiff% - \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% - \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% - \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}% \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% + \iftudscrverlower{2.03}{% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + }{}% \tud@geometry@@process% } \newcommand*\tud@geometry@@process{% + \iftudscrverlower{2.03}{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% + \tud@geometry@ddcmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + }{}% \edef\@tempa{% \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - \tud@geometry@dmargin,% - ignorehead,ignorefoot,% - }% - \expandafter\newgeometry\expandafter{\@tempa}% - \savegeometry{tudareaddc}% - \edef\@tempa{% - \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - ignorehead,% - \tud@geometry@fincl% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{tudarea}% @@ -2299,9 +2747,17 @@ \newcommand*\tud@ps{tudheadings} \newcommand*\tud@ps@select{% \expandafter\pagestyle\expandafter{\tud@ps}% - \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}% - \ifstr{\tud@ps}{empty.tudheadings}{% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{% + \renewcommand*\titlepagestyle{empty}% + \renewcommand*\partpagestyle{empty}% + \renewcommand*\chapterpagestyle{empty}% + \renewcommand*\indexpagestyle{empty}% + }{}% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{% + \renewcommand*\titlepagestyle{empty.tudheadings}% + \renewcommand*\partpagestyle{empty.tudheadings}% \renewcommand*\chapterpagestyle{empty.tudheadings}% + \renewcommand*\indexpagestyle{empty.tudheadings}% }{}% } \newcommand*\tud@currentpagestyle{} @@ -2311,13 +2767,16 @@ }{}% } \newcommand*\tud@currentpagestyle@reset{% - \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% - \let\tud@currentpagestyle\relax% + \ifdefvoid{\tud@currentpagestyle}{}{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% + }% } \NewEnviron{tudpage}[1][]{% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{tudheadings}% - \TUD@parameter@set[tudpage]{#1}% + \clearpage% + \def\tud@ps{tudheadings}% + \TUD@parameter@set{tudpage}{#1}% \tud@ps@select% \tud@multicols@check% \ifnum\tud@multicols>1\relax% @@ -2331,57 +2790,61 @@ \aftergroup\tud@currentpagestyle@reset% \clearpage% ] -\TUD@parameter{tudpage}{% - \TUD@parameter@define{language}{\selectlanguage{#1}}% - \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% - \TUD@parameter@define{color}[HKS41]{\def\tud@head@color{#1}}% - \TUD@parameter@let{colour}{color}% - \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% +\newcommand*\TUD@parameter@define@ps[1]{% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}% + \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@define{footlogo}{\footlogo{#1}}% \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}% \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}% + \TUD@parameter@let{logo}{headlogo}% +} +\TUD@parameter{tudpage}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{% - \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% - \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% - \TUD@parameter@wrn{pagestyle}{% - headings, plain, empty or any tudheadings page style type% - }% - }}}}}}% + \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@error{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}% + }% }% - \TUD@parameter@define{headlogo}{\headlogo{#1}}% - \TUD@parameter@let{logo}{headlogo}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@color@partfont{black} -\newcommand*\tud@color@partpage{white} -\newcommand*\tud@color@parthead{black} -\newcommand*\tud@color@chapterfont{black} -\newcommand*\tud@color@chapterpage{white} -\newcommand*\tud@font@heading{% - \if@tud@din\dinbn\tud@raggedright\else\tud@RaggedRight\fi% -} -\newcommand*\tud@font@heading@size{\Huge} +\newcommand*\tud@part@fontcolor{black} +\newcommand*\tud@chapter@fontcolor{black} \newkomafont{parttitle}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } -\newlength{\pageheadingsvskip} -\newlength{\headingsvskip} +\newlength\pageheadingsvskip +\newlength\headingsvskip +\newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}} +\newcommand*\tud@headmidvskip@neg{% + \setbox0\vbox{\tud@headmidvskip}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht0\relax}% +} \newcommand*\tud@layout@process{% - \ifcase \tud@layout@cover\relax% - \stdbool@lock{@tud@cover@cdlayout}{false}% + \ifcase\tud@layout@cover\relax% + \bool@std@lock{@tud@cover@cdgeometry}{false}% \else% - \stdbool@lock{@tud@cover@cdlayout}{true}% + \bool@std@lock{@tud@cover@cdgeometry}{true}% \fi% - \ifcase \tud@layout@title\relax% + \ifcase\tud@layout@title\relax% \tud@cmd@restore{maketitle}% \tud@cmd@restore{@maketitle}% \tud@cmd@restore{titlepagestyle}% @@ -2401,18 +2864,18 @@ \usekomafont{disposition}% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subtitle}{% \tud@font@heading% \usesizeofkomafont{section}% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subject}{% \fontfamily{\sfdefault}% \fontseries{\bfdefault}% \selectfont% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{author}{\usekomafont{subject}}% \tud@font@koma@set{date}{\usekomafont{titlepage}}% @@ -2420,7 +2883,7 @@ \let\maketitle\tud@maketitle% \renewcommand*\titlepagestyle{plain.tudheadings}% \fi% - \ifcase \tud@layout@part\relax% + \ifcase\tud@layout@part\relax% \tud@cmd@restore{partheadstartvskip}% \tud@cmd@restore{partheadmidvskip}% \tud@cmd@restore{partheadendvskip}% @@ -2445,22 +2908,22 @@ \else% \tud@sectioning@set[addpart]{part}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% \tud@font@koma@set{partnumber}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% - \renewcommand*\partheadmidvskip{\par\nobreak\vspace{.5\baselineskip}}% + \let\partheadmidvskip\tud@headmidvskip% \fi% \let\partheadstartvskip\tud@partheadstartvskip% \let\partheadendvskip\tud@partheadendvskip% - \renewcommand*\partheademptypage{}% + \let\partheademptypage\relax% \renewcommand*\partpagestyle{plain.tudheadings}% \let\@part\tud@@part% \let\@spart\tud@@spart% \fi% - \ifcase \tud@layout@chapter\relax% + \ifcase\tud@layout@chapter\relax% \tud@cmd@restore{chapterheadstartvskip}% \tud@cmd@restore{chapterformat}% \tud@cmd@restore{@chapter}% @@ -2481,7 +2944,7 @@ \tud@sectioning@set[addchap]{chapter}{% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@chapterfont}% + \color{\tud@chapter@fontcolor}% }% \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% \tud@sectioning@set[addsec]{section}{\tud@font@heading}% @@ -2492,26 +2955,21 @@ \let\@@makechapterhead\tud@@@makechapterhead% \fi% } -\AtEndPreamble{% - \let\tud@font@heading@size\size@part% - \tud@layout@process% -} \newcommand*\tud@partheadstartvskip{% - \def\tud@color@partfont{black}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{black}% - \ifcase \tud@layout@part\relax\or\or% - \def\tud@color@partfont{HKS41}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{HKS41}% + \def\tud@part@fontcolor{black}% + \ifcase\tud@layout@part\relax\or\or% + \def\tud@part@fontcolor{HKS41}% + \or% + \def\tud@part@fontcolor{HKS41}% \or% - \def\tud@color@partpage{HKS41}% - \def\tud@color@partfont{HKS41!30}% - \def\tud@color@parthead{white}% + \def\tud@part@fontcolor{HKS41!30}% + \or% + \def\tud@part@fontcolor{HKS41!30}% \fi% \begingroup% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% @@ -2519,25 +2977,41 @@ \begingroup% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \ifx\@@title\@empty% \tud@makeuppercase{\strut}% \else% \tud@makeuppercase{\@@title}% \fi% - \par\nobreak\vskip .775\baselineskip% + \par\nobreak + {\usekomafont{titlepage}\vskip 2ex\@plus1ex\@minus1ex}% \endgroup% \else% \usekomafont{partnumber}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \tud@headmidvskip@neg% \fi% \endgroup% } \newcommand*\tud@partheadendvskip{% \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@partpage}% - \def\tud@head@color{\tud@color@parthead}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@part\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@part@fontcolor}}% \clearpage% }% } @@ -2549,11 +3023,14 @@ }{}% }{% \ifnumbered{part}{% - \size@partnumber{\tud@makeuppercase\partformat}% + \size@partnumber{\tud@makeuppercase{\partformat}}% + \partheadmidvskip% }{% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \partheadmidvskip% + \fi% }% - \unskip\partheadmidvskip% }{}{\tud@patch@wrn{@part}}% \let\tud@@spart\@spart \patchcmd{\tud@@spart}{% @@ -2561,31 +3038,34 @@ \sectfont\nobreak\size@part }{% \normalfont\sectfont\nobreak% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \fi% \partheadmidvskip\unskip% \size@part% }{}{\tud@patch@wrn{@spart}} \newcommand*\tud@partpreamble{% \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% \KOMAoptions{titlepage=false}% - \addtokomafont{disposition}{\color{\tud@color@partfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@partfont}}% - \color{\tud@color@partfont}% + \addtokomafont{disposition}{\color{\tud@part@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@part@fontcolor}}% + \color{\tud@part@fontcolor}% \vskip\dimexpr\topskip+.9\baselineskip\relax% \@afterindentfalse\@afterheading% } \newcommand*\tud@chapterheadstartvskip{% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{black}% - \ifcase \tud@layout@chapter\relax\or\or% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{HKS41}% - \or% - \def\tud@color@chapterpage{HKS41!10}% - \def\tud@color@chapterfont{HKS41}% + \def\tud@chapter@fontcolor{black}% + \ifcase\tud@layout@chapter\relax\or\else% + \def\tud@chapter@fontcolor{HKS41}% \fi% - \vspace*{% - \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + \ifcsdef{scr@v@3.15}{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax% + }% + }{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% }% \if@tud@chapterpage% \vspace*{\pageheadingsvskip}% @@ -2595,36 +3075,48 @@ }% \newcommand*\tud@@@makechapterhead{} \let\tud@@@makechapterhead\@@makechapterhead -\patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% - \chapterheadstartvskip% - \if@chapterprefix% - \begingroup% - \usekomafont{chapterprefix}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% - \endgroup% - \fi% -}{}{\tud@patch@wrn{@@makechapterhead}} -\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% - \tud@makeuppercase{\chapterformat}% -}{}{\tud@patch@wrn{@@makechapterhead}} -\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{% - \setlength{\parskip}{\z@}% - \size@chapter{#1}% -}{}{\tud@patch@wrn{@@makechapterhead}} +\ifcsdef{scr@v@3.15}{% + \patchcmd{\tud@@@makechapterhead}{\chapterformat\chapterheadmidvskip}{% + \tud@headmidvskip@neg% + \tud@makeuppercase{\chapterformat}\tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{% + \IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}% + }{}{\tud@patch@wrn{@@makechapterhead}} +}{% + \patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \ifnumbered{chapter}{% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \tud@headmidvskip@neg% + \endgroup% + \fi% + }{}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \tud@makeuppercase{\chapterformat}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\endgraf\nobreak\vskip.5\baselineskip}{% + \tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\interlinepenalty}{% + \ifnumbered{chapter}{\setlength\parskip{\z@}}{}\interlinepenalty + }{}{\tud@patch@wrn{@@makechapterhead}} +} \newcommand*\tud@chapterpreamble{% \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% \KOMAoptions{titlepage=false}% \if@tud@chapterpage% - \if@tud@cdfonts% - \if@tud@heavyfont% - \TUDoptions{cdfont=heavy}% - \else% - \TUDoptions{cdfont=true}% - \fi% + \ifcase\tud@cdfont\relax\or% + \TUDoptions{cdfont=true}% + \or% + \TUDoptions{cdfont=heavy}% \fi% - \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% - \color{\tud@color@chapterfont}% + \addtokomafont{disposition}{\color{\tud@chapter@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@chapter@fontcolor}}% + \color{\tud@chapter@fontcolor}% \fi% \@afterindentfalse\@afterheading% } @@ -2647,14 +3139,29 @@ \newcommand*\tud@chapter@app{% \if@tud@chapterpage% \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@chapterpage}% - \def\tud@head@color{\tud@color@chapterfont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@chapter\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@chapter@fontcolor}}% \clearpage% }% \if@restonecol\twocolumn\fi% \else% - \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}% \fi% \if@twocolumn% \@afterindentfalse\@afterheading% @@ -2667,18 +3174,20 @@ }% \global\let\tud@clearcolor@wrn\relax% } -\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} -\providecommand\scr@section@dblarg[1]{% - \kernel@ifnextchar[%] - {#1}% - {\scr@section@xdblarg{#1}}% -} -\providecommand\scr@section@xdblarg[2]{% - \begingroup - \edef\reserved@a{% - \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% - {\scr@osectarg}}% - \reserved@a +\ifcsdef{scr@v@3.14}{}{% + \providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} + \providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% + } + \providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a + } } \newcommand*\tud@part{} \newcommand*\tud@spart{} @@ -2700,7 +3209,7 @@ \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}% }{% \tud@sectioning@case{#2}% - \ifstrempty{#1}{}{% + \ifblank{#1}{}{% \tud@cmd@store{#1}% \tud@sectioning@case{#1}% }% @@ -2750,7 +3259,7 @@ } \newcommand*\tud@sectioning@reset[2][]{% \tud@cmd@restore{#2}% - \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \ifblank{#1}{}{\tud@cmd@restore{#1}}% \tud@font@koma@unset{#2}% } \robustify{\footnote}% @@ -2765,7 +3274,7 @@ } \newcommand*\tud@font@koma@set[2]{% \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% - \@namedef{tud@font@koma@#1}{#2}% + \@namedef{tud@font@koma@#1}{#2\nobreak}% } \newcommand*\tud@font@koma@reset[1]{% \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% @@ -2873,13 +3382,13 @@ \addsectiontocentry{}{#2}% }{% \addchaptertocentry{}{#2}% - } + }% }{}% } \newcommand*\tud@fm@next[2]{% - \TUD@parameter@set[#1]{#2}% + \TUD@parameter@set{#1}{#2}% \if@twocolumn% - \ifbool{@tud@#1@multi}{\par}{\newpage} + \ifbool{@tud@#1@multi}{\par}{\newpage}% \else% \if@titlepage% \ifbool{@tud@#1@fil}{% @@ -2895,17 +3404,20 @@ }% }{\ifbool{@tud@#1@multi}{}{\clearpage}}% \else% - \ifnum\@nameuse{tud@#1@level}<2 - \end{\tud@quoting} - \begin{\tud@quoting} + \ifnum\@nameuse{tud@#1@level}<2% + \end{\tud@quoting}% + \begin{\tud@quoting}% \fi% \fi% \fi% } \newcommand*\tud@fm@pagestyle[2]{% \if@titlepage% - \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% - \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + \ifcsdef{ps@#2}{\def\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{% + You tried to use `#2' as a pagestyle for the\MessageBreak% + `#1' environment, but it was never defined% + }% }% \else% \ClassWarning{\tudcls@name}{% @@ -2919,14 +3431,15 @@ \AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}} \NewEnviron{abstract}[1][]{% \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{abstract}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \TUD@parameter@set[abstract]{#1}% - \if@tud@abstract@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% }[% \if@titlepage% @@ -2939,19 +3452,20 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@abstract@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% + \@tud@abstract@markbothfalse% + }{% \@tud@abstract@markbothfalse% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% \manualmark\markboth{#1}{#1}% - }}}}}}% + }% }% \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% - \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{abstract}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}% } \newcommand*\nextabstract[1][]{% \ifnum\tud@multicols>1\relax% @@ -2972,17 +3486,26 @@ } \newif\if@tud@declarations \NewEnviron{declarations}[1][]{% + \@tud@declarationstrue% \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{declaration}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \@tud@declarationstrue% - \TUD@parameter@set[declaration]{#1}% - \if@tud@declaration@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% - \tud@fm@check{declaration}{\BODY}% + \tud@fm@check{declaration}{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + }% }[% \if@titlepage% \aftergroup\tud@currentpagestyle@reset% @@ -2994,30 +3517,35 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@declaration@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% \@tud@declaration@markbothfalse% + }{% + \@tud@declaration@markbothfalse% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% \manualmark\markboth{#1}{#1}% - }}}}}}% + }% }% \TUD@parameter@define{company}{\def\@company{#1}}% \TUD@parameter@define{supporter}{\def\@supporter{#1}}% \TUD@parameter@define{place}{\def\@place{#1}}% \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}% + \TUD@parameter@let{confirmationclosing}{closing}% \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% - \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{declaration}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}% } \newcommand*\declaration[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% - \tud@fm@blocking + \tud@fm@blocking% \endgroup% }{% \begin{declarations}[#1]% @@ -3025,12 +3553,20 @@ \tud@fm@blocking% \end{declarations}% }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\confirmation[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{supporter=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% \endgroup% }{% @@ -3038,20 +3574,30 @@ \tud@fm@confirmation% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@confirmation{% \tud@fm@check{declaration}{% \tud@fm@set{declaration}{\confirmationname}{% - \confirmationtext\vskip0pt\@confirmationclosing% + \confirmationtext\vskip\z@\@confirmationclosing% }% }% } \newcommand*\blocking[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{company=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@blocking% \endgroup% }{% @@ -3059,7 +3605,12 @@ \tud@fm@blocking% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@blocking{% \tud@fm@check{declaration}{% @@ -3074,29 +3625,27 @@ \selectfont% \large% } -\newcommand*\tud@color@titlefont{black} -\newcommand*\tud@color@titlepage{white} -\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@title@fontcolor{black} \newcommand*\tud@titlepagenumber{}% \let\tud@titlepagenumber\relax% \newcommand*\tud@maketitle[1][]{% \begingroup% - \TUD@parameter@set[title]{#1}% - \ifcase \tud@layout@title + \TUD@parameter@set{title}{#1}% + \ifcase\tud@layout@title\relax% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \else% \if@titlepage% \tud@maketitlepage% \else% - \ifcase \tud@layout@title\relax\or\else% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\else% + \def\tud@title@fontcolor{HKS41}% \fi% \let\@maketitle\tud@@maketitle% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \if@twocolumn% - \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}% \else% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \fi% @@ -3105,21 +3654,25 @@ \endgroup% } \TUD@parameter{title}{% + \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}% + \TUD@parameter@let{cd}{cdtitle}% \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}% }% \robustify{\thanks}% \robustify{\footnotemark}% \newcommand*\tud@titleback{}% \newcommand*\tud@maketitlepage{% - \ifcase \tud@layout@title\relax\or\or% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41!30}% \or% - \def\tud@color@titlepage{HKS41}% - \def\tud@color@titlefont{HKS41!30}% - \def\tud@color@titlehead{white}% + \def\tud@title@fontcolor{HKS41!30}% \fi% \begin{titlepage}% \ifx\tud@titlepagenumber\relax\else% @@ -3152,13 +3705,13 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin\relax% \headheight=0pt% \headsep=0pt% \footskip=\baselineskip% @@ -3183,26 +3736,27 @@ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% \fi% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -3258,16 +3812,15 @@ \ifdefstring{\@date}{\today}{% \ifdefvoid{\@duedate}{% \ClassWarning{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak% + `\string\date' was not given.\MessageBreak% Since a thesis is a self-contained work, an end\MessageBreak% date should be specified by the author.\MessageBreak% Nevertheless, today's date is used% }% }{% \ClassWarning{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak It's substituted by the given due date% + `\string\date' was not given.\MessageBreak% + It's substituted by the given due date% }% \let\@date\@duedate% }% @@ -3310,19 +3863,33 @@ \fi% \fi% \def\@tempa{% - \tud@pagecolor{\tud@color@titlepage}% - \def\tud@head@color{\tud@color@titlehead}% - \color{\tud@color@titlefont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% - \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@title\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \color{\tud@title@fontcolor}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@title@fontcolor}}% + \addtokomafont{footnote}{\sffamily\color{\tud@title@fontcolor}}% \thispagestyle{empty.tudheadings}% - \tud@ddc@enlargepage% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage}{}% }% \if@tud@cover% \begingroup% \@tempa% \cleardoubleemptypage% - \tud@restorepagecolor% \endgroup% \else% \tud@cleardoublespecialpage[\tud@titleback]{% @@ -3377,28 +3944,29 @@ \newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} \newcommand*\tud@@maketitle{% \global\@topnum=\z@% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\headingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% \tud@footnote@unhyper% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \TUDoptions{subjectthesis=true}% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -3427,7 +3995,7 @@ \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% \vskip 2\bigskipamount% - \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } \newcommand*\tud@multiple@field{} @@ -3521,14 +4089,13 @@ \matriculationnumber,\studentid,\matriculationid,% \placeofbirth,\birthplace,\dateofbirth,\birthday,% } -\RequirePackage{afterpage}[1995/10/27] \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% \maketitle[#1]% \onecolumn{#2}\twocolumn% \else% - \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \tud@title@twocolumn{\maketitle[#1]{#2}}% \fi% \else% \ClassError{\tudcls@name}{% @@ -3537,34 +4104,47 @@ \fi% } \newsavebox\tud@title@twocolumn@box -\newcommand\tud@title@twocolumn[1][]{% +\newcommand\tud@title@twocolumn[1]{% \onecolumn% \begingroup% \let\clearpage\relax% \let\newpage\relax% - \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \global\setbox\tud@title@twocolumn@box\vbox{% + \vspace*{.9\baselineskip}#1\bigskip% + }% \endgroup% - \setlength{\@tempdimc}{\textheight}% - \tud@ifinpslist{\titlepagestyle}{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else% - \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% - \fi% - }{}% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}% + \@tempswatrue% + \fi% }{}% - \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% - \splittopskip\topskip% - \splitmaxdepth\maxdepth% - \vsplit\tud@title@twocolumn@box to \@tempdimc% - \clearpage% - \setlength{\@tempdimc}{\textheight}% - }% - \twocolumn[\unvbox\tud@title@twocolumn@box]% - \ifdim\@tempdimc<\textheight\relax% - \enlargethispage{-\tud@dim@ddcdiff}% - \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax% + \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdima% + \clearpage% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{\@tempswafalse}{}% + }% + \else% + \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% \fi% + \twocolumn[\unvbox\tud@title@twocolumn@box]% + \iftudscrverlower{2.03}{% + \if@tempswa% + \ClassWarning{\tudcls@name}{% + You are using a two-column title along with\MessageBreak% + the DDC-logo. Unfortunately in this case, the\MessageBreak% + type area hast to be adjusted manually. Please\MessageBreak% + use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak% + in both columns after the title% + }% + \fi% + }{}% } \newcommand*\tud@letsubjectthesis{% \if@tud@subjectthesis\ifx\@thesis\@empty\else% @@ -3585,14 +4165,12 @@ }% } \newif\if@tud@cover -\newcommand*\tud@coverpagetopmargin{} -\let\tud@coverpagetopmargin\coverpagetopmargin \newcommand*\makecover[1][]{% \if@titlepageiscoverpage% \ClassWarning{\tudcls@name}{% Using both option `titlepage=firstiscover' and\MessageBreak% `\string\makecover' together isn't supported. The\MessageBreak% - option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + option `titlepage=firstiscover' will be ignored. If you\MessageBreak% want to create an individual cover, you have to use\MessageBreak% `\string\extratitle' instead of `\string\makecover'.\MessageBreak% See also the documentation of KOMA-Script% @@ -3603,28 +4181,20 @@ \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% - \TUD@parameter@set[cover]{#1}% + \TUD@parameter@set{cover}{#1}% \let\tud@layout@title\tud@layout@cover% \tud@layout@process% - \if@tud@cover@cdlayout% - \ifcase \tud@layout@cover\relax% - \let\coverpagetopmargin\tud@dim@top% - \else% - \def\coverpagetopmargin{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - }% - \fi% - \let\coverpagebottommargin\tud@dim@bottom% - \let\coverpageleftmargin\tud@dim@left% - \let\coverpagerightmargin\tud@dim@right% - \else% - \ifcase \tud@layout@cover\relax\else% - \expandafter\def\expandafter\coverpagetopmargin\expandafter{% - \coverpagetopmargin-\tud@coverpagetopmargin% - }% - \fi% + \if@tud@cover@cdgeometry% + \let\coverpagetopmargin\tud@dim@slimmargin% + \let\coverpagebottommargin\tud@dim@widemargin% + \let\coverpageleftmargin\tud@dim@widemargin% + \let\coverpagerightmargin\tud@dim@slimmargin% + \iftudscrverlower{2.03}{% + \def\coverpagetopmargin{.5\tud@dim@both}% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% \fi% - \ifcase \tud@layout@cover\relax% + \ifcase\tud@layout@cover\relax% \KOMAoptions{titlepage=firstiscover}% \let\@extratitle\@empty% \let\@uppertitleback\@empty% @@ -3643,60 +4213,73 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \if@tud@cover@cdlayout% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% \headheight=0pt% \headsep=0pt% - \else% - \textheight=\dimexpr\paperheight-\coverpagebottommargin% - -\tud@dim@headheight-\tud@dim@barheight% - -\tud@dim@headsep-\tud@dim@bottom\relax% - \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% - \headsep=\tud@dim@headsep% - \fi% - \footskip=\tud@dim@footskip% - \@colht=\textheight% - \@colroom=\textheight% - \vsize=\textheight% - \columnwidth=\textwidth% - \hsize=\columnwidth% - \linewidth=\hsize% - \tud@dim@headdiff=\z@% - \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% - \tud@maketitle% - \clearpage% + \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax% + \iftudscrverlower{2.03}{% + \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax% + }{}% + \if@tud@cover@cdgeometry% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax% + }% + \else% + \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep-1in\relax% + \def\@tempa{2\dimexpr\coverpagetopmargin\relax}% + \ifx\@tempa\coverpagebottommargin\relax% + \let\coverpagebottommargin\tud@dim@widemargin% + \iftudscrverlower{2.03}{% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% + \fi% + \fi% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin-\tud@dim@extrabottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \tud@maketitle% + \clearpage% \csname titlepage@restore\endcsname% \fi% \endgroup% } -\newbool@lock{@tud@cover@cdlayout} +\bool@lock{@tud@cover@cdgeometry} \TUD@parameter{cover}{% - \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@define{cdlayout}[true]{% - \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \TUD@parameter@wrn{cdlayout}{true,false}% - }}}}}}% + \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}% + \TUD@parameter@let{cd}{cdcover}% + \TUD@parameter@define{cdgeometry}[true]{% + \ifstrbool{#1}{% + \bool@set@lock{@tud@cover@cdgeometry}{true}% + }{% + \bool@set@lock{@tud@cover@cdgeometry}{false}% + }{% + \TUD@parameter@error{cdgeometry}{true,false}% + }% }% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define@ps{#1}% \TUD@parameter@sethandler{% \ifxnumber{#1}{% - \TUD@parameter@set[cover]{pagenumber=#1}% + \TUD@parameter@set{cover}{pagenumber=#1}% }{% - \TUD@parameter@set[cover]{cdlayout=#1}% + \TUD@parameter@set{cover}{cdgeometry=#1}% }% }% -}% +} %%% From File: tudscr-misc.dtx \newcounter{symbolheadings}[chapter] \newcommand*\tudbookmark[1][]{\@gobbletwo} @@ -3724,20 +4307,21 @@ \tudbookmark[0]{\titlepagename}{title}% }{}{\tud@patch@wrn{maketitle}} \pretocmd{\tableofcontents}{% - \if@openright\cleardoublepage\else\clearpage\fi% \if@tud@bookmarks% \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% \tudbookmark[0]{\contentsname}{toc}% }{}{\tud@patch@wrn{tableofcontents}} -\newcommand*\tud@environmenthandler[1]{% - \def\@tempa{#1}% +\newcommand*\TUD@parameter@defaulthandler[2]{% + \def\@tempa{#2}% \@for\@tempb:=\@tempa\do{% \ifx\@tempb\@empty\else% - \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% - \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% - \expandafter\selectlanguage\expandafter{\@tempb}% - }}% + \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}% + \ifxnumber{\@tempb}{% + \TUD@parameter@set{#1}{columns=\@tempb}% + }{% + \TUD@parameter@set{#1}{language=\@tempb}% + }% \fi% }% } @@ -3756,7 +4340,6 @@ \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% \protect\vphantom{\"A\"O\"U}% -%% \addtokomafont{section}{\strut\ignorespaces}% } \newcommand*\tud@lowerstring[2]{% \protected@edef#1{#2}% @@ -3768,32 +4351,39 @@ \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% } %%% From File: tudscr-comp.dtx -\newlength{\chapterheadingvskip} +\newcommand*\tud@deprecated@cmd[2]{% + \AtBeginDocument{% + \ifcsdef{#1}{}{% + \expandafter\newrobustcmd\csname #1\endcsname{% + \ClassWarning{\tudcls@name}{% + The command `\@backslashchar#1' is deprecated.\MessageBreak% + It's recommended to use `\@backslashchar#2' instead% + }% + \csletcs{#1}{#2}% + \@nameuse{#2}% + }% + }% + }% +} +\newlength\chapterheadingvskip \let\chapterheadingvskip\headingsvskip -\newcommand*\professorship{} -\let\professorship\chair -\newcommand*\student{} -\let\student\author -\newrobustcmd*\studentid{} -\newrobustcmd*\matriculationid{} -\let\studentid\matriculationnumber -\let\matriculationid\matriculationnumber -\newrobustcmd*\enrolmentyear{} -\let\enrolmentyear\matriculationyear -\newrobustcmd*\birthplace{} -\let\birthplace\placeofbirth -\newcommand*\location{} -\let\location\place -\newcommand*\submissiondate{} -\let\submissiondate\date -\newcommand*\oralexaminationdate{} -\let\oralexaminationdate\defensedate -\newrobustcmd*\birthday{} -\let\birthday\dateofbirth -\newcommand*\logofile{} -\let\logofile\headlogo -\newcommand*\logofilename{} -\let\logofilename\headlogo +\tud@deprecated@cmd{professorship}{chair} +\tud@deprecated@cmd{student}{author} +\tud@deprecated@cmd{studentid}{matriculationnumber} +\tud@deprecated@cmd{matriculationid}{matriculationnumber} +\tud@deprecated@cmd{enrolmentyear}{matriculationyear}% +\tud@deprecated@cmd{birthplace}{placeofbirth} +\tud@deprecated@cmd{location}{place} +\tud@deprecated@cmd{submissiondate}{date} +\tud@deprecated@cmd{oralexaminationdate}{defensedate}% +\tud@deprecated@cmd{birthday}{dateofbirth} +\tud@deprecated@cmd{logofile}{headlogo} +\tud@deprecated@cmd{logofilename}{headlogo} +\AfterPackage*{tudscrsupervisor}{% + \tud@deprecated@cmd{startdate}{issuedate}% + \tud@deprecated@cmd{finaldate}{duedate}% + \tud@deprecated@cmd{maturitydate}{duedate}% +} \endinput %% %% End of file `tudscrbook.cls'. |