From 68695b0b7015bb233b4f5697ebdb9def46b9cb4a Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 16 Feb 2015 21:40:28 +0000
Subject: tudscr (16feb15)

git-svn-id: svn://tug.org/texlive/trunk@36296 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls | 2942 ++++++++++++--------
 1 file changed, 1766 insertions(+), 1176 deletions(-)

(limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls')

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

