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