%%
%% This is file `tudscrartcl.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tudscr-version.dtx  (with options: `class,article,identify')
%% tudscr-base.dtx  (with options: `class,article,load')
%% tudscr-base.dtx  (with options: `class,article,option')
%% tudscr-fonts.dtx  (with options: `class,article,option')
%% tudscr-area.dtx  (with options: `class,article,option')
%% tudscr-pagestyle.dtx  (with options: `class,article,option')
%% tudscr-layout.dtx  (with options: `class,article,option')
%% tudscr-title.dtx  (with options: `class,article,option')
%% tudscr-frontmatter.dtx  (with options: `class,article,option')
%% tudscr-misc.dtx  (with options: `class,article,option')
%% tudscr-comp.dtx  (with options: `class,article,option')
%% tudscr-misc.dtx  (with options: `class,article,execute')
%% tudscr-base.dtx  (with options: `class,article,body')
%% tudscr-fonts.dtx  (with options: `class,article,body')
%% tudscr-fields.dtx  (with options: `class,article,body')
%% tudscr-localization.dtx  (with options: `class,article,body')
%% tudscr-area.dtx  (with options: `class,article,body')
%% tudscr-pagestyle.dtx  (with options: `class,article,body')
%% tudscr-layout.dtx  (with options: `class,article,body')
%% tudscr-title.dtx  (with options: `class,article,body')
%% tudscr-frontmatter.dtx  (with options: `class,article,body')
%% tudscr-misc.dtx  (with options: `class,article,body')
%% tudscr-comp.dtx  (with options: `class,article,body')
%% 
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%               2022/08/09 v2.06o TUD-Script
%% 
%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2022
%%               https://github.com/tud-cd/tudscr
%%               https://latex.wcms-file3.tu-dresden.de/phpBB3/
%% 
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
%% 
%% This work may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License, either version 1.3c of this license or
%% any later version. The latest version of this license is in
%%   http://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of
%% LaTeX version 2008-05-04 or later.
%% 
%% This work has the LPPL maintenance status "maintained".
%% 
%% The current maintainer and author of this work is Falk Hanisch.
%% 
%%%% From File: tudscr-version.dtx (no git version info was found)
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\begingroup
  \catcode`\@11\relax%
  \ifx\TUD@Version\@undefined%
    \newcommand*\TUD@@Version[2]{%
      \gdef\TUD@Version{#1}%
      \gdef\TUD@KOMAVersion{#2}%
    }%
  \else%
    \newcommand*\TUD@@Version[2]{%
      \def\@tempa{#1}%
      \ifx\TUD@Version\@tempa\else%
        \@latex@warning@no@line{%
          \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
          but `#1' was expected!\MessageBreak%
          You should not use classes, packages or files from\MessageBreak%
          different TUD-Script bundle versions%
        }%
      \fi%
    }%
  \fi%
  \TUD@@Version{2022/08/09 v2.06o TUD-Script}{2022/05/01 v3.36 KOMA-Script}%
  \ifx\TUDScriptVersion\@undefined%
    \xdef\TUDScriptVersion{\TUD@Version}%
    \def\@tempa#1 v#2 #3\relax#4\relax#5{\gdef#5{#2}}%
    \expandafter\@tempa\TUD@Version ? ?\relax\relax{\TUDScriptVersionNumber}%
    \expandafter\@tempa\TUD@KOMAVersion ? ?\relax\relax{\TUD@KOMAVersionNumber}%
  \fi%
\endgroup
\@ifundefined{TUDScript}{%
  \DeclareRobustCommand\TUDScript{%
    \mbox{%
      \textsf{%
        T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script%
      }%
    }\ifcsname xspace\endcsname\xspace\fi%
  }%
}{}
\providecommand*\TUDScriptContact{hanisch.latex@outlook.com}
\providecommand*\TUDScriptRepository{https://github.com/tud-cd/tudscr}
\providecommand*\TUDScriptForum{https://latex.wcms-file3.tu-dresden.de/phpBB3/}
\newcommand*\TUD@ProvidesClass[3]
{%
  \ProvidesClass{#1}[%
  2022/08/09 v2.06o TUD-Script
    #3 (#2)%
  ]%
  \newcommand*\TUD@Class@KOMA{#2}%
  \ifx\TUD@Class@Parent\@undefined%
  \newcommand*\TUD@Class@Name{#1}%
  \newcommand*\TUDScriptClassName{#1}%
  \providecommand*\TUDClassName{\TUDScriptClassName}%
  \TUD@Class@Info%
  \fi%
}
\providecommand*\TUD@Class@Info{%
  \typeout{+------------------------------------------------------------------}%
  \typeout{| Corporate Design of Technische Universitaet Dresden}%
  \typeout{| Class:      \TUDScriptClassName}%
  \typeout{| Version:    \TUDScriptVersion}%
  \typeout{| Author:     Falk Hanisch (\TUDScriptContact)}%
  \typeout{| Repository: \TUDScriptRepository}%
  \typeout{| Forum:      \TUDScriptForum}%
  \typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesClass{tudscrartcl}{scrartcl}{document class}
%%%% From File: tudscr-base.dtx (no git version info was found)
\RequirePackage{tudscrbase}[%
  2022/08/09 v2.06o TUD-Script
]
\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}}
\AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions}
%%%% From File: tudscr-base.dtx (no git version info was found)
\newcommand*\tud@komafont@set[2]{%
  \ifcsdef{tud@komafont@#1}{}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}%
  \csdef{tud@komafont@#1}{#2\nobreak}%
}
\newcommand*\tud@komafont@unset[1]{%
  \ifcsdef{tud@komafont@#1}{}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}%
  \csdef{tud@komafont@#1}{\relax}%
}
\newcommand*\tud@komafont@reset[1]{%
  \ifcsdef{tud@komafont@#1}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}{}%
}
%%%% From File: tudscr-fonts.dtx (no git version info was found)
\newcommand*\tud@catcodes@restore{}
\edef\tud@catcodes@restore{%
  \catcode`\noexpand\"\the\catcode`\"\relax%
}%
\@makeother\"%
\AtEndOfClass{\tud@catcodes@restore}
\PreventPackageFromLoading[%
  \ClassWarning{\TUD@Class@Name}{%
    The package `tudscrfonts' must not be used with\MessageBreak%
    a TUD-Script class%
  }%
]{tudscrfonts}
\tud@newif\if@tud@cdfont@active
\tud@newif\if@tud@cdfont@heavy
\tud@newif\if@tud@cdfont@ultrabold
\tud@newif\if@tud@cdfont@lining
\@tud@cdfont@liningtrue
\TUD@key{cdfont}[true]{%
  \TUD@set@numkey{cdfont}{@tempa}{%
    \TUD@bool@numkey,%
    {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
    {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
    {normalbold}{3},{boldnormal}{3},%
    {ultrabold}{4},{boldultra}{4},{heavybold}{4},{boldheavy}{4},%
    {extendedbold}{4},{boldextended}{4},%
    {lf}{5},{lfigures}{5},{liningfigures}{5},{lining}{5},%
    {ln}{5},{lnumbers}{5},{liningnumbers}{5},%
    {nf}{5},{nfigures}{5},{normalfigures}{5},%
    {nn}{5},{nnumbers}{5},{normalnumbers}{5},%
    {osf}{6},{osfigures}{6},{oldfigures}{6},{oldstylefigures}{6},{oldstyle}{6},%
    {osn}{6},{osnumbers}{6},{oldnumbers}{6},{oldstylenumbers}{6},%
    {nomath}{7},{nocdmath}{7},%
    {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},%
    {math}{8},{cdmath}{8},{sansmath}{8},{sans}{8},%
    {upgreek}{9},{uprightgreek}{9},{uprightgreeks}{9},%
    {slgreek}{10},{slantedgreek}{10},{slantedgreeks}{10},%
    {itgreek}{10},{italicgreek}{10},{italicgreeks}{10},%
    {texgreek}{11},{latexgreek}{11},{texgreeks}{11},{latexgreeks}{11},%
    {standardgreek}{11},{standardgreeks}{11},%
    {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
    {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
    ,{nohead}{14},{nocdhead}{14},{noheadfont}{14},{noheadcdfont}{14},%
    {nocdheadfont}{14},{nobar}{14},{nobarfont}{14},%
    {head}{15},{headfont}{15},{cdhead}{15},{headcdfont}{15},{cdheadfont}{15},%
    {bar}{15},{barfont}{15},%
    {lighthead}{15},{lightheadfont}{15},{lightfonthead}{15},%
    {lightcdhead}{15},{lightheadcdfont}{15},{lightcdheadfont}{15},%
    {lightbar}{15},{lightbarfont}{15},{lightfontbar}{15},%
    {headlight}{15},{headfontlight}{15},{headlightfont}{15},%
    {cdheadlight}{15},{headcdfontlight}{15},{cdheadfontlight}{15},%
    {barlight}{15},{barfontlight}{15},{barlightfont}{15},%
    {litehead}{15},{liteheadfont}{15},{litefonthead}{15},%
    {litecdhead}{15},{liteheadcdfont}{15},{litecdheadfont}{15},%
    {litebar}{15},{litebarfont}{15},{litefontbar}{15},%
    {headlite}{15},{headfontlite}{15},{headlitefont}{15},%
    {cdheadlite}{15},{headcdfontlite}{15},{cdheadfontlite}{15},%
    {barlite}{15},{barfontlite}{15},{barlitefont}{15},%
    {noheavyhead}{15},{noheavyheadfont}{15},{noheavyfonthead}{15},%
    {noheavycdhead}{15},{noheavyheadcdfont}{15},{noheavycdheadfont}{15},%
    {noheavybar}{15},{noheavybarfont}{15},{noheavyfontbar}{15},%
    {headnoheavy}{15},{headfontnoheavy}{15},{headnoheavyfont}{15},%
    {cdheadnoheavy}{15},{headcdfontnoheavy}{15},{cdheadfontnoheavy}{15},%
    {barnoheavy}{15},{barfontnoheavy}{15},{barnoheavyfont}{15},%
    {heavyhead}{16},{heavyheadfont}{16},{heavyfonthead}{16},%
    {heavycdhead}{16},{heavyheadcdfont}{16},{heavycdheadfont}{16},%
    {heavybar}{16},{heavybarfont}{16},{heavyfontbar}{16},%
    {headheavy}{16},{headfontheavy}{16},{headheavyfont}{16},%
    {cdheadheavy}{16},{headcdfontheavy}{16},{cdheadfontheavy}{16},%
    {barheavy}{16},{barfontheavy}{16},{barheavyfont}{16}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \tud@cdfont@deactivate%
    \or% true
      \@tud@cdfont@heavyfalse%
      \tud@cdfont@activate%
    \or% heavy
      \@tud@cdfont@heavytrue%
      \tud@cdfont@activate%
    \or% normalbold
      \@tud@cdfont@ultraboldfalse%
      \tud@cdfont@activate%
    \or% ultrabold
      \@tud@cdfont@ultraboldtrue%
      \tud@cdfont@activate%
    \or% liningfigures
      \@tud@cdfont@liningtrue%
      \tud@cdfont@activate%
    \or% oldstylefigures
      \@tud@cdfont@liningfalse%
      \tud@cdfont@activate%
    \or% nomath
      \TUDoptions{cdmath=false}%
    \or% math
      \TUDoptions{cdmath=true}%
    \or% uprightgreek
      \TUDoptions{slantedgreek=false}%
    \or% slantedgreek
      \TUDoptions{slantedgreek=true}%
    \or% standardgreek
      \TUDoptions{slantedgreek=standard}%
    \or% fontspec
      \TUDoptions{fontspec=true}%
    \or% nofontspec
      \TUDoptions{fontspec=false}%
    \or% nohead
      \TUDoptions{cdhead=false}%
    \or% head
      \TUDoptions{cdhead=true}%
    \or% heavyhead
      \TUDoptions{cdhead=heavy}%
    \fi%
  \else%
    \TUD@set@dimkey{cdfont}{\@tempa}{#1}%
    \ifx\FamilyKeyState\FamilyKeyStateProcessed%
      \TUDoptions{fontsize=#1}%
      \tud@cdfont@activate%
    \fi%
  \fi%
}
\newcommand*\tud@cdfont@activate{%
  \@tud@cdfont@activetrue%
  \if@tud@cdfont@heavy%
    \tud@locked@num@preset{tud@head@font@num}{2}%
  \else%
    \tud@locked@num@preset{tud@head@font@num}{1}%
  \fi%
  \TUD@SpecialOptionAtDocument{tud@font@set}%
  \tud@locked@bool@preset{@tud@cdmath@active}{true}%
  \TUD@SpecialOptionAtDocument{tud@math@set}%
}
\newcommand*\tud@cdfont@deactivate{%
  \@tud@cdfont@activefalse%
  \tud@locked@num@preset{tud@head@font@num}{0}%
  \TUD@SpecialOptionAtDocument{tud@font@set}%
  \tud@locked@bool@preset{@tud@cdmath@active}{false}%
  \TUD@SpecialOptionAtDocument{tud@math@set}%
}
\tud@newif\if@tud@cdoldfont@active
\tud@newif\if@tud@cdoldfont@nodin
\TUD@key{cdoldfont}[true]{%
  \TUD@set@numkey{cdoldfont}{@tempa}{%
    \TUD@bool@numkey,%
    {din}{1},{dinbold}{1},%
    {nodin}{2},{nodinbold}{2},%
    {onlydin}{3},{onlydinbold}{3}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \@tud@cdoldfont@activefalse%
      \@tud@cdoldfont@nodintrue%
      \if@tud@cdoldfont@active%
        \tud@cdfont@deactivate%
      \fi%
    \or% true/din
      \@tud@cdoldfont@activetrue%
      \@tud@cdoldfont@nodinfalse%
      \tud@cdfont@activate%
    \or% nodin
      \@tud@cdoldfont@activetrue%
      \@tud@cdoldfont@nodintrue%
      \tud@cdfont@activate%
    \or% onlydin
      \@tud@cdoldfont@activetrue%
      \@tud@cdoldfont@nodinfalse%
      \tud@cdfont@deactivate%
    \fi%
  \else%
    \@tud@cdoldfont@activetrue%
    \TUDoptions{cdfont=#1}%
  \fi%
}
\TUD@key{cdoldfonts}[true]{\TUDoptions{cdoldfont=#1}}
\AtEndOfClass%
{%
  \if@tud@cdoldfont@active%
    \let\@tud@cdoldfont@activefalse\@tud@cdoldfont@activetrue%
    \TUD@key[.comp]{cdfont}{%
      \TUD@set@numkey{cdfont}{@tempa}{%
        {din}{1},{dinbold}{1},%
        {nodin}{2},{nodinbold}{2},%
        {onlydin}{3},{onlydinbold}{3}%
      }{#1}%
      \ifx\FamilyKeyState\FamilyKeyStateProcessed%
        \TUDoptions{cdoldfont=#1}%
      \fi%
    }%
  \else%
    \TUD@key{cdoldfont}[]{%
      \ClassError{\TUD@Class@Name}%
      {Option `cdoldfont' not active}{%
        Option `cdoldfont' must be activated while loading the\MessageBreak%
        class `\TUD@Class@Name'\space%
        but you have tried to set it up later.%
      }%
      \FamilyKeyStateProcessed%
    }%
  \fi%
}
\tud@newif\if@tud@x@scr@fontsize@set
\TUD@key{fontsize}{%
  \TUD@set@dimkey{fontsize}{\@tempa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifdim\@tempa<\p@\relax%
      \FamilyKeyStateUnknownValue%
    \else%
      \@tud@x@scr@fontsize@settrue%
      \TUD@KOMAoptions{fontsize=#1}%
    \fi%
  \fi%
  \ifx\FamilyKeyState\FamilyKeyStateUnknownValue%
    \ClassWarningNoLine{\TUD@Class@Name}%
    {%
      The value for option `fontsize' must be a dimension\MessageBreak%
      and at least 1pt but `#1' was given%
    }%
    \FamilyKeyStateProcessed%
  \fi%
}
\AtEndOfClass%
{%
  \RelaxFamilyKey{TUD}{fontsize}%
  \DefineFamilyMember{KOMA}%
  \DefineFamilyKey{KOMA}{fontsize}{%
    \FamilyKeyStateUnknownValue%
    \@tud@x@scr@fontsize@settrue%
    \ClassWarning{\TUD@Class@Name}%
    {%
      The key `fontsize=#1' should only be\MessageBreak%
      used as class option%
    }%
    \TUD@SpecialOptionAtDocument{tud@relspacing@set}%
  }%
}
\tud@newif\if@tud@relspacing
\TUD@key{relspacing}[true]{%
  \TUD@set@numkey{relspacing}{@tempa}{%
    \TUD@bool@numkey,%
    {absolute}{0},{classic}{0},{standard}{0},%
    {relative}{1},{fontsize}{1},{font}{1},{size}{1}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \@tud@relspacingfalse%
    \or% true
      \@tud@relspacingtrue%
    \fi%
    \TUD@SpecialOptionAtDocument{tud@relspacing@set}%
  \fi%
}
\newcommand*\tud@ttfont@num{0}
\TUD@key{ttfont}[true]{%
  \TUD@set@numkey{ttfont}{@tempa}{%
    \TUD@bool@numkey,%
    {roboto}{1},{roboto-mono}{1},{robo}{1},%
    {lm}{2},{lmtt}{2},{lmodern}{2}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \renewcommand*\tud@ttfont@num{0}%
    \or% roboto
      \renewcommand*\tud@ttfont@num{1}%
    \or% lmodern
      \renewcommand*\tud@ttfont@num{2}%
    \fi%
    \TUD@SpecialOptionAtDocument{tud@font@set}%
  \fi%
}
\tud@locked@newbool{@tud@cdmath@active}
\tud@locked@bool@preset{@tud@cdmath@active}{true}%
\TUD@key{cdmath}[true]{%
  \TUD@set@numkey{cdmath}{@tempa}{%
    \TUD@bool@numkey,%
    {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
    {sansmath}{1},{sans}{1},%
    {upgreek}{2},{uprightgreek}{2},{uprightgreeks}{2},%
    {slgreek}{3},{slantedgreek}{3},{slantedgreeks}{3},%
    {itgreek}{3},{italicgreek}{3},{italicgreeks}{3},%
    {texgreek}{4},{latexgreek}{4},{texgreeks}{4},{latexgreeks}{4},%
    {standardgreek}{4},{standardgreeks}{4}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \tud@locked@bool@set{@tud@cdmath@active}{false}%
      \TUD@SpecialOptionAtDocument{tud@math@set}%
    \or% true
      \tud@locked@bool@set{@tud@cdmath@active}{true}%
      \TUD@SpecialOptionAtDocument{tud@math@set}%
    \or% uprightgreek
      \TUDoptions{slantedgreek=false}%
    \or% slantedgreek
      \TUDoptions{slantedgreek=true}%
    \or% standardgreek
      \TUDoptions{slantedgreek=standard}%
    \fi%
  \fi%
}
\newcommand*\tud@slantedgreek@num{0}
\TUD@key{slantedgreek}[true]{%
  \TUD@set@numkey{slantedgreek}{@tempa}{%
    \TUD@bool@numkey,%
    {up}{0},{upright}{0},%
    {sl}{1},{slanted}{1},{it}{1},{italic}{1},%
    {standard}{2},{std}{2},{tex}{2},{latex}{2},{stdgrk}{2},{stdgrks}{2},%
    {standardgreek}{2},{standardgreeks}{2},%
    {texgreek}{2},{latexgreek}{2},{texgreeks}{2},{latexgreeks}{2}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% upright
      \renewcommand*\tud@slantedgreek@num{0}%
    \or% slanted
      \renewcommand*\tud@slantedgreek@num{1}%
    \or% standard
      \renewcommand*\tud@slantedgreek@num{2}%
    \fi%
    \TUD@SpecialOptionAtDocument{tud@math@set}%
  \fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
\TUD@key{slantedGreeks}[true]{\TUDoptions{slantedgreek=#1}}
\tud@newif\if@tud@lgrgreeks
\TUD@key{lgrgreeks}[true]{\TUD@set@ifkey{lgrgreeks}{@tud@lgrgreeks}{#1}}
\TUD@key{lgrgreek}[true]{\TUDoptions{lgrgreeks=#1}}
\TUD@key{LGRgreeks}[true]{\TUDoptions{lgrgreeks=#1}}
\TUD@key{LGRgreek}[true]{\TUDoptions{lgrgreeks=#1}}
%%%% From File: tudscr-area.dtx (no git version info was found)
\tud@newif\if@tud@cdgeometry@reset
\newcommand*\tud@cdgeometry@reset[1]{%
  \@tud@cdgeometry@resettrue%
  \TUDoptions{cdgeometry=#1}%
  \@tud@cdgeometry@resetfalse%
}
\tud@locked@newnum{tud@cdgeometry@num}{0}
\newcommand*\tud@cdgeometry@calc@num{0}
\TUD@key{cdgeometry}[true]{%
  \TUD@set@numkey{cdgeometry}{@tempa}{%
    \TUD@bool@numkey,%
    {typearea}{0},%
    {cd}{1},{tud}{1},{asymmetric}{1},%
    {symmetric}{2},{centred}{2},{centered}{2},%
    {normal}{2},{standard}{2},{std}{2},%
    {twoside}{3},{balanced}{3},%
    {oneside}{4},%
    {restricted}{5},%
    {adapted}{6},{adapt}{6},{adapting}{6},{unrestricted}{6},%
    {calculated}{7},{calc}{7},{calculate}{7},{calculating}{7},%
    {custom}{8},{user}{8},{package}{8}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false/typearea
      \tud@locked@num@set{tud@cdgeometry@num}{0}%
    \or% true/cd
      \tud@locked@num@set{tud@cdgeometry@num}{2}%
    \or% symmetric
      \tud@locked@num@set{tud@cdgeometry@num}{3}%
    \or% twoside
      \tud@locked@num@set{tud@cdgeometry@num}{4}%
      \TUD@KOMAoptions{twoside=true}%
    \or% oneside
      \ifnum\tud@cdgeometry@num>\thr@@\relax%
        \tud@locked@num@set{tud@cdgeometry@num}{3}%
      \fi%
      \TUD@KOMAoptions{twoside=false}%
    \or% restricted
      \tud@locked@num@preset{tud@cdgeometry@num}{2}%
      \renewcommand*\tud@cdgeometry@calc@num{0}%
    \or% adapted
      \tud@locked@num@preset{tud@cdgeometry@num}{2}%
      \renewcommand*\tud@cdgeometry@calc@num{1}%
    \or% calculated
      \tud@locked@num@preset{tud@cdgeometry@num}{2}%
      \renewcommand*\tud@cdgeometry@calc@num{2}%
    \or% custom
      \tud@locked@num@set{tud@cdgeometry@num}{1}%
    \fi%
    \tud@if@preamble{}{%
      \if@tud@cdgeometry@reset\else% false
        \ifcase\tud@cdgeometry@num\relax%
          \tud@loadgeometry{current@typearea}%
          \@tud@x@geometry@fixmarginstrue%
        \or% custom
          \tud@loadgeometry{current@custom}%
          \@tud@x@geometry@fixmarginstrue%
        \fi%
        \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
      \fi%
    }%
  \fi%
}
\newcommand*\tud@extrabottommargin@dim{0pt}
\TUD@key{extrabottommargin}{%
  \TUD@set@dimkey{extrabottommargin}{\tud@extrabottommargin@dim}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
  \fi%
}
\newcommand*\tud@bleedmargin@dim{.2in}
\TUD@key{bleedmargin}{%
  \TUD@set@dimkey{bleedmargin}{\tud@bleedmargin@dim}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \tud@length@setabsolute\tud@bleedmargin@dim%
  \fi%
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{twoside}{%
  \FamilyKeyStateUnknownValue%
  \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
}
\DefineFamilyKey{KOMA}{twocolumn}{%
  \FamilyKeyStateUnknownValue%
  \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
}
\newcommand*\tud@x@typearea@warnings@off[1][]{%
  \IfArgIsEmpty{#1}{}{\let#1\@empty}%
  \tud@cs@store{PackageWarningNoLine}%
  \renewcommand*\PackageWarningNoLine[2]{%
    \@tud@res@swatrue%
    \tud@if@strequal{##1}{typearea}{%
      \tud@if@strstart{##2}{%
        Bad type area settings!%
      }{\@tud@res@swafalse}{}%
      \tud@if@strstart{##2}{%
        Maybe no optimal type area settings!%
      }{\@tud@res@swafalse}{}%
      \tud@if@strstart{##2}{%
        Very low DIV value!%
      }{\@tud@res@swafalse}{}%
    }{}%
    \if@tud@res@swa%
      \tud@cs@use{PackageWarningNoLine}{##1}{##2}%
    \else%
      \IfArgIsEmpty{#1}{}{%
        \listeadd#1{\noexpand\tud@cs@use{PackageWarningNoLine}{##1}{##2}}%
      }%
    \fi%
  }%
}
\newcommand*\tud@x@typearea@warnings@on{%
  \tud@cs@restore{PackageWarningNoLine}%
}
\BeforePackage{typearea}{%
  \tud@x@typearea@warnings@off%
}
\AfterPackage{typearea}{%
  \tud@x@typearea@warnings@on%
}
%%%% From File: tudscr-pagestyle.dtx (no git version info was found)
\tud@newif\if@tud@ddc@internal
\newcommand*\tud@comp@clearpage{}%
\newcommand*\tud@comp@resetpagestyle{}%
\newcommand*\tud@ddc@switch{}
\edef\tud@ddc@switch{%
  \TUD@bool@numkey,%
  {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},%
  {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},%
  {gray}{4},{grey}{4},{hks92}{4},{cdgray}{4},{cdgrey}{4},%
  {black}{5},{cdblack}{5},%
  {blue}{6},{hks41}{6},{cdblue}{6},{cddarkblue}{6},%
  {white}{7},{cdwhite}{7}%
}
\tud@newif\if@tud@headlogo@option@set
\tud@newif\if@tud@footlogo@option@set
\tud@newif\if@tud@ddc@auto
\newcommand*\tud@ddc@auto@num{0}
\TUD@key{ddc}[true]{%
  \tud@comp@clearpage%
  \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tud@ddc@internal%
      \@tud@ddc@autofalse%
    \else%
      \@tud@ddc@autotrue%
      \@tud@ddc@internaltrue%
      \TUDoptions{ddchead=false}%
      \TUDoptions{ddcfoot=false}%
      \@tud@ddc@internalfalse%
    \fi%
    \global\@tud@headlogo@option@settrue%
    \global\@tud@footlogo@option@settrue%
  \fi%
  \tud@comp@resetpagestyle%
}
\newcommand*\tud@ddc@head@num{0}
\TUD@key{ddchead}[true]{%
  \tud@comp@clearpage%
  \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tud@ddc@internal\else%
      \@tud@ddc@internaltrue%
      \TUDoptions{ddcfoot=false}%
      \TUDoptions{ddc=false}%
      \@tud@ddc@internalfalse%
    \fi%
  \fi%
  \tud@comp@resetpagestyle%
}
\newcommand*\tud@ddc@foot@num{0}
\TUD@key{ddcfoot}[true]{%
  \tud@comp@clearpage%
  \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tud@ddc@internal\else%
      \@tud@ddc@internaltrue%
      \TUDoptions{ddchead=false}%
      \TUDoptions{ddc=false}%
      \@tud@ddc@internalfalse%
    \fi%
  \fi%
  \tud@comp@resetpagestyle%
}
\tud@locked@newnum{tud@head@font@num}{0}
\tud@locked@newnum{tud@head@bar@num}{0}
\tud@locked@newbool{@tud@head@widebar}
\tud@newif\if@tud@head@font@set
\tud@newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
  \TUD@set@numkey{cdhead}{@tempa}{%
    \TUD@bool@numkey,%
    {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},{bold}{2},{boldfont}{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},%
    {colorbar}{5},{barcolor}{5},{colourbar}{5},{barcolour}{5},%
    {bicolor}{6},{bicolour}{6},{twocolor}{6},{twocolour}{6},%
    {bichrome}{6},{bichromatic}{6},{dichrome}{6},{dichromatic}{6},%
    {color}{6},{colour}{6},%
    {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},%
    {textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},%
    {narrow}{7},{narrowhead}{7},{small}{7},{smallhead}{7},%
    {paperwidth}{8},{wide}{8},{widehead}{8},%
    {date}{9},{showdate}{9},{dateon}{9},{datetrue}{9},{dateyes}{9},%
    {nodate}{10},{hidedate}{10},{dateoff}{10},{datefalse}{10},{dateno}{10}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \tud@locked@num@set{tud@head@font@num}{0}%
    \or% true
      \tud@locked@num@set{tud@head@font@num}{1}%
    \or% heavy
      \tud@locked@num@set{tud@head@font@num}{2}%
    \or% nocolor
      \tud@locked@num@set{tud@head@bar@num}{0}%
    \or% litecolor
      \tud@locked@num@set{tud@head@bar@num}{1}%
    \or% barcolor
      \tud@locked@num@set{tud@head@bar@num}{2}%
    \or% color
      \tud@locked@num@set{tud@head@bar@num}{3}%
    \or% textwidth
      \tud@locked@bool@set{@tud@head@widebar}{false}%
    \or% paperwidth
      \tud@locked@bool@set{@tud@head@widebar}{true}%
    \or% date
      \@tud@head@datetrue%
    \or% nodate
      \@tud@head@datefalse%
    \fi%
    \ifnum\@tempa<\thr@@\relax%
      \global\@tud@head@font@settrue%
    \fi%
  \fi%
}
\TUD@AfterPackage@set{scrlayer-scrpage}
\tud@locked@newbool{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
  \TUD@set@numkey{cdfoot}{@tempa}{%
    \TUD@bool@numkey,%
    {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%
    \ifcase\@tempa\relax% false
      \TUD@AfterPackage@do{scrlayer-scrpage}{%
        \tud@ps@restore{scrheadings}%
        \tud@ps@restore{plain.scrheadings}%
        \tud@komafont@unset{pageheadfoot}%
      }%
    \or% true
      \TUD@AfterPackage@do{scrlayer-scrpage}{%
        \tud@ps@store{scrheadings}%
        \tud@ps@store{plain.scrheadings}%
        \tud@komafont@set{pageheadfoot}{\upshape}%
        \clearpairofpagestyles%
        \ofoot[\pagemark]{%
          \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi%
          {\footnotesize\headmark}%
          \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi%
        }%
        \ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
      }%
    \or% nocolor
      \tud@locked@bool@set{@tud@foot@colored}{false}%
    \or% color
      \tud@locked@bool@set{@tud@foot@colored}{true}%
    \fi%
  \else%
    \TUD@set@dimkey{cdfoot}{\@tempa}{#1}%
    \ifx\FamilyKeyState\FamilyKeyStateProcessed%
      \TUDoptions{extrabottommargin=#1}%
    \fi%
  \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}%
}
\newcommand*\tud@ps@@store[4]{%
  \ifcsundef{@@tud@ps@#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}%
}
\newcommand*\tud@ps@@restore[4]{%
  \ifcsundef{@@tud@ps@#1@#2@#3@#4}{}{%
    \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}%
    \csundef{@@tud@ps@#1@#2@#3@#4}%
  }%
}
\newcommand*\tud@footlogoheight@dim{0pt}
\TUD@key{footlogoheight}{%
  \TUD@set@dimkey{footlogoheight}{\tud@footlogoheight@dim}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \tud@length@setabsolute\tud@footlogoheight@dim%
    \global\@tud@footlogo@option@settrue%
  \fi%
}
%%%% From File: tudscr-layout.dtx (no git version info was found)
\newcommand*\tud@cd@switch{}
\edef\tud@cd@switch{%
  \TUD@bool@numkey,%
  {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},%
  {colorbar}{3},{barcolor}{3},{colourbar}{3},{barcolour}{3},%
  {bicolor}{4},{bicolour}{4},{twocolor}{4},{twocolour}{4},%
  {bichrome}{4},{bichromatic}{4},{dichrome}{4},{dichromatic}{4},%
  {color}{5},{colour}{5},%
  {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
\newcommand*\tud@cd@num{0}
\TUD@key{cd}[true]{%
  \TUD@set@numkey{cd}{tud@cd@num}{\tud@cd@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\tud@cd@num\relax% false
      \TUD@key@preset{cdcover}{false}%
    \else% !false
      \TUD@key@preset{cdcover}{true}%
    \fi%
    \TUD@key@preset{cdtitle}{#1}%
    \TUD@key@preset{cdpart}{#1}%
    \TUD@key@preset{cdsection}{#1}%
    \TUD@SpecialOptionAtDocument{tud@cd@process}%
    \tud@if@preamble{%
      \ifcase\tud@cd@num\relax% false
        \tud@locked@num@preset{tud@cdgeometry@num}{0}%
      \else% !false
        \tud@locked@num@preset{tud@cdgeometry@num}{2}%
      \fi%
    }{}%
  \fi%
}
\newcommand*\tud@cd@cover@num{0}
\TUD@key{cdcover}[true]{%
  \TUD@set@numkey{cdcover}{tud@cd@cover@num}{\tud@cd@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@SpecialOptionAtDocument{tud@cd@process}%
  \fi%
}
\newcommand*\tud@cd@title@num{0}
\TUD@key{cdtitle}[true]{%
  \TUD@set@numkey{cdtitle}{tud@cd@title@num}{\tud@cd@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@SpecialOptionAtDocument{tud@cd@process}%
  \fi%
}
\newcommand*\tud@cd@part@num{0}
\TUD@key{cdpart}[true]{%
  \TUD@set@numkey{cdpart}{tud@cd@part@num}{\tud@cd@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@SpecialOptionAtDocument{tud@cd@process}%
  \fi%
}
\newcommand*\tud@cd@section@num{0}
\TUD@key{cdsection}[true]{%
  \TUD@set@numkey{cdsection}{tud@cd@section@num}{\tud@cd@switch}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@SpecialOptionAtDocument{tud@cd@process}%
  \fi%
}
\newcommand*\tud@pagecolor{}%
\AfterPackage{xcolor}{%
  \apptocmd\normalcolor{%
    \tud@if@strequal{\tud@pagecolor}{HKS41}{\color{white}}{}%
  }{}{\tud@patch@wrn{normalcolor}}%
  \AtBeginDocument{%
    \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}%
    \normalcolor%
  }%
}
\newcommand*\tud@headingsvskip@dim{0pt}
\TUD@key{headingsvskip}{%
  \TUD@set@dimkey{headingsvskip}{\tud@headingsvskip@dim}{#1}%
}
\newcommand*\tud@pageheadingsvskip@dim{\tud@headingsvskip@dim}
\TUD@key{pageheadingsvskip}{%
  \TUD@set@dimkey{pageheadingsvskip}{\tud@pageheadingsvskip@dim}{#1}%
}
\tud@newif\if@tud@heavyheadings
\TUD@key{headings}{%
  \TUD@set@numkey{headings}{@tempa}{%
    {light}{0},{lightfont}{0},{lite}{0},{litefont}{0},{noheavyfont}{0},%
    {standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},%
    {heavy}{1},{heavyfont}{1},{bold}{1},{boldfont}{1},%
    {ultrabold}{1},{boldultra}{1},{heavybold}{1},{boldheavy}{1},%
    {extendedbold}{1},{boldextended}{1}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% light
      \@tud@heavyheadingsfalse%
    \or% heavy
      \@tud@heavyheadingstrue%
    \fi%
  \fi%
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{headings}{%
  \FamilyKeyStateUnknownValue%
  \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
}
%%%% From File: tudscr-title.dtx (no git version info was found)
\tud@newif\if@tud@subjectthesis
\TUD@key{subjectthesis}[true]{%
  \TUD@set@ifkey{subjectthesis}{@tud@subjectthesis}{#1}%
}
\tud@newif\if@tud@titlesignature
\TUD@key{titlesignature}[true]{%
  \TUD@set@ifkey{titlesignature}{@tud@titlesignature}{#1}%
}
%%%% From File: tudscr-frontmatter.dtx (no git version info was found)
\newcommand*\tud@fm@switch{%
  {section}{2},{sect}{2},{sec}{2},{addsec}{2},%
  {new}{2},{standard}{2},{heading}{2},%
  {single}{4},{one}{4},{simple}{4},%
  {multiple}{5},{multi}{5},{all}{5},{aggregate}{5},%
  {two}{5},{both}{5},{double}{5},%
  {nofil}{6},{nofill}{6},{novfil}{6},{novfill}{6},%
  {fil}{7},{fill}{7},{vfil}{7},{vfill}{7},%
  {markboth}{8},{mark}{8},%
  {nomarkboth}{9},{nomark}{9},%
  {nottotoc}{10},{notoc}{10},%
  {totoc}{11},{toc}{11},{totoclevelup}{11},{toclevelup}{11},{levelup}{11},%
  {totocleveldown}{12},{tocleveldown}{12},{leveldown}{12},%
  {tocmultiple}{13},{tocmulti}{13},{tocall}{13},{tocaggregate}{13},%
  {totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
\newcommand*\tud@abstract@level@num{0}
\tud@locked@newnum{tud@abstract@toc@num}{0}
\tud@newif\if@tud@abstract@multi
\@tud@abstract@multitrue
\tud@newif\if@tud@abstract@fil
\@tud@abstract@filtrue
\tud@newif\if@tud@abstract@markboth
\TUD@key{abstract}[true]{%
  \edef\@tempb{\TUD@bool@numkey,\tud@fm@switch}%
  \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \renewcommand*\tud@abstract@level@num{0}%
      \tud@locked@num@preset{tud@abstract@toc@num}{0}%
    \or% true
      \renewcommand*\tud@abstract@level@num{1}%
      \tud@locked@num@preset{tud@abstract@toc@num}{0}%
    \or% section
      \renewcommand*\tud@abstract@level@num{2}%
      \tud@locked@num@preset{tud@abstract@toc@num}{1}%
    \or% chapter
    \or% single
      \@tud@abstract@multifalse%
    \or% multiple
      \@tud@abstract@multitrue%
    \or% nofil
      \@tud@abstract@filfalse%
    \or% fil
      \@tud@abstract@filtrue%
    \or% markboth
      \@tud@abstract@markbothtrue%
    \or% nomarkboth
      \@tud@abstract@markbothfalse%
    \or% nottotoc
      \tud@locked@num@set{tud@abstract@toc@num}{0}%
    \or% totoc
      \ifnum\tud@abstract@toc@num<\thr@@\relax%
        \tud@locked@num@set{tud@abstract@toc@num}{1}%
      \else%
        \tud@locked@num@set{tud@abstract@toc@num}{3}%
      \fi%
    \or% totocleveldown
      \ifnum\tud@abstract@toc@num<\thr@@\relax%
        \tud@locked@num@set{tud@abstract@toc@num}{2}%
      \else%
        \tud@locked@num@set{tud@abstract@toc@num}{4}%
      \fi%
    \or% totocmutliple
      \ifnum\tud@abstract@toc@num=\z@\relax%
        \tud@locked@num@set{tud@abstract@toc@num}{1}%
      \fi%
      \ifnum\tud@abstract@toc@num<\thr@@\relax%
        \edef\@tempa{%
          \noexpand\tud@locked@num@set{tud@abstract@toc@num}{%
            \the\numexpr\tud@abstract@toc@num+2\relax%
          }%
        }\@tempa%
      \fi%
    \fi%
  \fi%
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{abstract}[true]{%
  \FamilyKeyStateUnknownValue%
  \AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
}
\newcommand*\tud@declaration@level@num{1}
\tud@locked@newnum{tud@declaration@toc@num}{0}
\tud@newif\if@tud@declaration@multi
\@tud@declaration@multitrue
\tud@newif\if@tud@declaration@fil
\@tud@declaration@filtrue
\tud@newif\if@tud@declaration@markboth
\TUD@key{declaration}[true]{%
  \edef\@tempb{\TUD@bool@numkey,\tud@fm@switch}%
  \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \renewcommand*\tud@declaration@level@num{0}%
      \tud@locked@num@preset{tud@declaration@toc@num}{0}%
    \or% true
      \renewcommand*\tud@declaration@level@num{1}%
      \tud@locked@num@preset{tud@declaration@toc@num}{0}%
    \or% section
      \renewcommand*\tud@declaration@level@num{2}%
      \tud@locked@num@preset{tud@declaration@toc@num}{1}%
    \or% chapter
    \or% single
      \@tud@declaration@multifalse%
    \or% multiple
      \@tud@declaration@multitrue%
    \or% nofil
      \@tud@declaration@filfalse%
    \or% fil
      \@tud@declaration@filtrue%
    \or% markboth
      \@tud@declaration@markbothtrue%
    \or% nomarkboth
      \@tud@declaration@markbothfalse%
    \or% nottotoc
      \tud@locked@num@set{tud@declaration@toc@num}{0}%
    \or% totoc
      \ifnum\tud@declaration@toc@num<\thr@@\relax%
        \tud@locked@num@set{tud@declaration@toc@num}{1}%
      \else%
        \tud@locked@num@set{tud@declaration@toc@num}{3}%
      \fi%
    \or% totocleveldown
      \ifnum\tud@declaration@toc@num<\thr@@\relax%
        \tud@locked@num@set{tud@declaration@toc@num}{2}%
      \else%
        \tud@locked@num@set{tud@declaration@toc@num}{4}%
      \fi%
    \or% totocmutliple
      \ifnum\tud@declaration@toc@num=\z@\relax%
        \tud@locked@num@set{tud@declaration@toc@num}{1}%
      \fi%
      \ifnum\tud@declaration@toc@num<\thr@@\relax%
        \edef\@tempa{%
          \noexpand\tud@locked@num@set{tud@declaration@toc@num}{%
            \the\numexpr\tud@declaration@toc@num+2\relax%
          }%
        }\@tempa%
      \fi%
    \fi%
  \fi%
}
%%%% From File: tudscr-misc.dtx (no git version info was found)
\tud@newif\if@tud@bookmarks
\TUD@key{tudbookmarks}[true]{%
  \TUD@set@ifkey{tudbookmarks}{@tud@bookmarks}{#1}%
}
\newcommand*\tud@x@scr@checkoptions{%
  \expandafter\tud@x@scr@pt\CurrentOption pt\@nil%
  \expandafter\PassOptionsToClass\expandafter{\CurrentOption}{\TUD@Class@KOMA}%
}
\newcommand*\tud@x@scr@pt{}
\def\tud@x@scr@pt #1pt#2\@nil{%
  \tud@if@strequal{#2}{pt}{\Ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}%
}
\newcommand*\tud@atdocument@hook{}
\let\tud@atdocument@hook\relax
\newcommand*\TUD@SpecialOptionAtDocument[1]{}
\AfterEndPreamble{%
  \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
    \ifx\tud@atdocument@hook\relax%
      \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
      \AtEndOfFamilyOptions*{%
        \tud@atdocument@hook%
        \tud@atdocument@process%
      }%
    \fi%
    \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
  }%
}
%%%% From File: tudscr-comp.dtx (no git version info was found)
\newcommand*\TUD@deprecated@key[2]{%
  \ClassWarning{\TUD@Class@Name}%
  {%
    The key `#1' is deprecated. It's\MessageBreak%
    recommended to use `#2'\MessageBreak%
    instead%
  }%
  \TUDoptions{#2}%
}
\newcommand*\TUD@deprecated@cs[2]{%
  \begingroup%
    \edef\tud@res@a{%
      \endgroup%
      \noexpand\AfterEndPreamble{%
        \noexpand\TUD@deprecated@@cs{#1}{#2}%
      }%
    }%
  \tud@res@a%
}
\newcommand*\TUD@deprecated@@cs[2]{%
  \ifcsundef{#1}{%
    \begingroup%
      \def\tud@res@a{%
        The command `\@backslashchar#1' is deprecated. \MessageBreak%
      }%
      \def\tud@res@b##1@##2\@nil{%
        \IfArgIsEmpty{##2}{%
          \appto\tud@res@a{%
            You should use `\@backslashchar#2' instead%
          }%
        }{%
          \appto\tud@res@a{%
            You should not use this command. It is substituted\MessageBreak%
            with `\@backslashchar#2' internally%
          }%
        }%
      }%
      \tud@res@b#2@\@nil%
      \edef\tud@res@c{%
        \endgroup%
        \noexpand\newrobustcmd\csname #1\endcsname{%
          \noexpand\ClassWarning{\noexpand\TUD@Class@Name}%
          {\tud@res@a}%
          \noexpand\csletcs{#1}{#2}%
          \noexpand\csuse{#2}%
        }%
      }%
    \tud@res@c%
  }{}%
}
\newcommand*\TUD@deprecated@length[1]{%
  \ifdim#1<\maxdimen\relax%
    \begingroup%
      \tud@strlength\tud@res@a{#1}%
      \edef\tud@res@b{\expandafter\@gobble\string#1}%
      \ClassWarning{\TUD@Class@Name}{%
        Setting length `\string#1' is deprecated. \MessageBreak%
        The option `\tud@res@b=\tud@res@a'\MessageBreak%
        is used instead%
      }%
      \edef\tud@res@a{%
        \endgroup%
        \noexpand\TUDoption{\tud@res@b}{\tud@res@a}%
        \global\noexpand\csletcs{tud@\tud@res@b @dim}{tud@\tud@res@b @dim}%
      }%
    \tud@res@a%
    \global\setlength#1{\maxdimen}%
  \fi%
}
\newcommand*\tud@v@comp{\tud@v@last}
\TUD@key[.comp]{tudscrver}[last]{%
  \tud@v@get\@tempa{#1}%
  \ifcsundef{tud@v@\@tempa}{%
    \ClassWarningNoLine{\TUD@Class@Name}%
    {%
      You have set option `tudscrver' to `\@tempa', but\MessageBreak%
      this value is not supported. Because of this,\MessageBreak%
      `tudscrver=first' was set%
    }%
    \renewcommand*\tud@v@comp{0}%
  }{%
    \ClassInfoNoLine{\TUD@Class@Name}%
    {%
      Switching compatibility level to `v\@tempa'%
    }%
    \edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
  }%
  \FamilyKeyStateProcessed%
}
\TUD@key{tudscrver}{\FamilyKeyStateProcessed}%
\AtEndOfClass%
{%
  \RelaxFamilyKey[.comp]{TUD}{tudscrver}%
  \TUD@key@toolate{tudscrver}%
}
\csdef{tud@v@first}{0}
\csdef{tud@v@2.00}{0}
\csdef{tud@v@2.01}{0}
\csdef{tud@v@2.02}{0}
\csdef{tud@v@2.03}{1}
\csdef{tud@v@2.04}{2}
\csdef{tud@v@2.05}{3}
\csdef{tud@v@2.06}{4}
\csdef{tud@v@last}{4}
\newcommand*\tud@v@get[2]{%
  \begingroup%
    \def\@tempa{%
      \kernel@ifnextchar v%
        {\@tempb}%
        {\@tempb v}%
    }%
    \def\@tempb v##1\@nil{\def\@tempc{##1}}%
    \@tempa #2\@nil%
    \edef\tud@reserved{%
      \endgroup%
      \unexpanded{\def#1}{\@tempc}%
    }%
  \tud@reserved%
}
\newcommand*\tud@if@v@lower[1]{%
  \begingroup%
    \tud@v@get\@tempa{#1}%
    \ifcsundef{tud@v@\@tempa}{%
      \def\tud@reserved{%
        \ClassWarningNoLine{\TUD@Class@Name}%
        {%
          Erroneous usage of `\string\tud@if@v@lower'. \MessageBreak%
          There's no defined macro `\string\tud@v@\@tempa'%
        }%
        \endgroup\@firstoftwo%
      }%
    }{%
      \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax%
        \def\tud@reserved{\endgroup\@firstoftwo}%
      \else%
        \def\tud@reserved{\endgroup\@secondoftwo}%
      \fi%
    }%
  \tud@reserved%
}
\TUD@key{cdfonts}[true]{%
  \TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}%
  \fi%
}
\TUD@key{tudfonts}[true]{%
  \TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}%
  \fi%
}
\TUD@key{heavyfont}[true]{%
  \TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{heavyfont}{cdfont=heavy}%
    \else%
      \TUD@deprecated@key{heavyfont=#1}{cdfont=true}%
    \fi%
  \fi%
}
\TUD@key{sansmath}[true]{%
  \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{sansmath}{cdmath=true}%
    \else%
      \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
    \fi%
  \fi%
}
\TUD@key{serifmath}[true]{%
  \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{serifmath}{cdmath=false}%
    \else%
      \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
    \fi%
  \fi%
}
\TUD@key{din}[true]{%
  \TUD@set@ifkey{din}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{din}{cdoldfont=din}%
    \else%
      \TUD@deprecated@key{din=#1}{cdoldfont=nodin}%
    \fi%
  \fi%
}
\TUD@key{nodin}[true]{%
  \TUD@set@ifkey{nodin}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{nodin}{cdoldfont=nodin}%
    \else%
      \TUD@deprecated@key{nodin=#1}{cdoldfont=din}%
    \fi%
  \fi%
}
\TUD@key{noDIN}[true]{%
  \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{noDIN}{cdoldfont=nodin}%
    \else%
      \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}%
    \fi%
  \fi%
}
\TUD@key{geometry}[true]{\TUD@deprecated@key{geometry=#1}{cdgeometry=#1}}
\TUD@key{barfont}[true]{%
  \TUD@set@numkey{barfont}{@tempa}{%
    \TUD@bool@numkey,%
    {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},{bold}{2},{boldfont}{2}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \TUD@deprecated@key{barfont=#1}{cdhead=false}%
    \or% true
      \TUD@deprecated@key{barfont=#1}{cdhead=true}%
    \or% heavy
      \TUD@deprecated@key{barfont=#1}{cdhead=heavy}%
    \fi%
  \fi%
}
\TUD@key{widehead}[true]{%
  \TUD@set@ifkey{widehead}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{widehead}{cdhead=paperwidth}%
    \else%
      \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}%
    \fi%
  \fi%
}
\TUD@key{tudfoot}[true]{%
  \TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{tudfoot}{cdfoot=true}%
    \else%
      \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}%
    \fi%
  \fi%
}
\TUD@key{color}[true]{%
  \TUD@set@numkey{color}{@tempa}{%
    \TUD@bool@numkey,%
    {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},%
    {color}{1},{colour}{1},%
    {lite}{2},{light}{2},{pale}{2},%
    {colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
    {colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},%
    {colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},%
    {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
    {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
    {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \TUD@deprecated@key{color=#1}{cd=true}%
    \or% true
      \TUD@deprecated@key{color=#1}{cd=color}%
    \or% litecolor
      \TUD@deprecated@key{color=#1}{cd=pale}%
    \or% bicolor
      \TUD@deprecated@key{color=#1}{cd=bicolor}%
    \or% full
      \TUD@deprecated@key{color=#1}{cd=fullcolor}%
    \fi%
  \fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
\tud@newif\if@tud@x@fontspec@requested
\TUD@key{fontspec}[true]{%
  \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ClassWarningNoLine{\TUD@Class@Name}%
    {%
      The key `fontspec' is deprecated. \MessageBreak%
      You should load the package `fontspec' manually%
    }%
  \fi%
}
\AtEndOfClass%
{%
  \TUD@key@toolate{fontspec}%
  \if@tud@x@fontspec@requested%
    \RequirePackage{fontspec}
  \fi%
}
%%%% From File: tudscr-misc.dtx (no git version info was found)
\DeclareOption*{}
\TUDProcessOptions[.comp]\relax
\tud@if@v@lower{2.05}{%
  \TUD@key@preset{relspacing}{false}%
}{%
  \TUD@key@preset{relspacing}{true}%
}
\tud@if@v@lower{2.06}{%
  \TUD@key@preset{cdoldfont}{true}%
  \TUD@key@preset{ttfont}{lmodern}%
  \TUD@key@preset{headings}{light}%
}{%
  \TUD@key@preset{cdfont}{true}%
  \TUD@key@preset{ttfont}{roboto}%
  \TUD@key@preset{headings}{heavy}%
}
\TUDExecuteOptions{%
  cd=true,tudbookmarks=true%
}
\DeclareOption*{\tud@x@scr@checkoptions}
\TUDProcessOptions\relax
\LoadClass{\TUD@Class@KOMA}[%
  2022/05/01 v3.36 KOMA-Script
]
\newcommand*\TUD@key@toolate[1]{%
  \csedef{tud@key@toolate@@#1}{%
    \noexpand\ClassError{\noexpand\TUD@Class@Name}%
    {Option `#1' too late}{%
      Option `#1' can only be set\space%
      \ifcsdef{\@currname.\@currext-h@@k}{%
        as optional \MessageBreak argument while loading\space%
        class `\noexpand\TUD@Class@Name'%
      }{%
        in the preamble%
      }%
      \MessageBreak but you have tried to set it up later.%
    }%
  }%
  \TUD@key[]{#1}[]%
  {%
    \csuse{tud@key@toolate@@#1}%
    \FamilyKeyStateProcessed%
  }%
}
%%%% From File: tudscr-base.dtx (no git version info was found)
\RequirePackage{environ}
\newcommand*\tud@x@multicol@num{1}
\newcommand*\tud@x@multicol@check{%
  \ifnum\tud@x@multicol@num>\@ne\relax%
    \ClassWarning{\TUD@Class@Name}{%
      The option `columns=\tud@x@multicol@num' is only\MessageBreak%
      supported, when package `multicol' is loaded%
    }%
    \renewcommand*\tud@x@multicol@num{1}%
  \fi%
}
\AfterPackage{multicol}{\let\tud@x@multicol@check\relax}
\AtEndPreamble{%
  \@ifpackageloaded{graphicx}{}{%
    \@ifpackageloaded{graphics}{%
      \ClassWarningNoLine{\TUD@Class@Name}{%
        Package `graphics' was superseded by `graphicx',\MessageBreak%
        which now will be loaded automatically%
      }%
    }{}%
    \RequirePackage{graphicx}
  }%
  \RequirePackage{tudscrcolor}[%
  2022/08/09 v2.06o TUD-Script
  ]%
}
%%%% From File: tudscr-fonts.dtx (no git version info was found)
\newcommand*\tud@cdfont@wrn{\global\let\tud@cdfont@wrn\relax}
\newcommand*\tud@cdmath@wrn{\global\let\tud@cdmath@wrn\relax}
\tud@newif\if@tud@x@fontspec@enabled
\PassOptionsToPackage{no-math}{fontspec}
\AfterPackage*{fontspec}{%
  \@ifpackagelater{fontspec}{2017/01/24}{%
    \@tud@x@fontspec@enabledtrue%
    \@tud@res@swafalse%
    \@ifpackagewith{fontspec}{no-math}{}{\@tud@res@swatrue}%
    \@ifpackagewith{fontspec}{math}{\@tud@res@swatrue}{}%
    \if@tud@res@swa%
      \appto\tud@cdmath@wrn{%
        \ClassWarningNoLine{\TUD@Class@Name}%
        {%
          It's recommended to load package `fontspec'\MessageBreak%
          with option `no-math', if you want to use the\MessageBreak%
          corporate design fonts in math mode%
        }%
      }%
    \fi%
  }{%
    \@tud@x@fontspec@enabledfalse%
    \ClassWarningNoLine{\TUD@Class@Name}%
    {%
      Version `2017/01/24' of package `fontspec' is needed,\MessageBreak%
      but only version\MessageBreak%
      `\csname ver@fontspec.sty\endcsname'\MessageBreak%
      is available, so a fallback layout is used%
    }%
  }%
}
\AfterPackage*{unicode-math}{%
  \appto\tud@cdmath@wrn{%
    \ClassWarningNoLine{\TUD@Class@Name}%
    {%
      The usage of package `unicode-math' will\MessageBreak%
      most likely cause erroneous outputs in math mode\MessageBreak%
      with corporate design fonts%
    }%
  }%
}
\TUD@RecommendPackage{mweights}
\tud@newif\if@tud@x@mweights@enabled
\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
\newcommand*\tud@cdfont@fam{opensans-TLF}
\newcommand*\tud@cdfont@fam@lf{opensans-TLF}
\newcommand*\tud@cdfont@fam@osf{opensans-TOsF}
\if@tud@cdoldfont@active
  \renewcommand*\tud@cdfont@fam{lun}
  \renewcommand*\tud@cdfont@fam@lf{lun}
  \renewcommand*\tud@cdfont@fam@osf{lun}
  \newcommand*\tud@cdfont@db{0m6}
\fi
\newcommand*\tud@ttfont@fam{tudtt}
\newcommand*\tud@ttfont@rb{tudtt}
\newcommand*\tud@ttfont@lm{lmtt}
\tud@newif\if@tud@ttfont@rb@exist
\IfFileExists{roboto-mono.sty}{%
  \@tud@ttfont@rb@existtrue%
}{%
  \TUD@key@preset{ttfont}{lmodern}%
}
\tud@newif\if@tud@cdfont@fam@exist
\tud@newif\if@tud@cdfont@db@exist
\tud@newif\if@tud@cdmath@fam@exist
\tud@newif\if@tud@cdmath@db@exist
\newcommand*\tud@x@mathastext@enc{OT1}
\newcommand*\tud@cdfont@check{%
  \if@tud@cdoldfont@active%
    \tud@cdfont@@check{Univers}{%
      Light,,Bold,Black,%
      LightOblique,Oblique,BoldOblique,BlackOblique%
    }{\tud@cdfont@fam@lf}{@tud@cdfont@fam@exist}%
    \tud@cdfont@@check{DIN}{Bold}{\tud@cdfont@db}{@tud@cdfont@db@exist}%
    \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}{@tud@cdmath@fam@exist}%
    \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}{@tud@cdmath@db@exist}%
  \else%
    \@ifpackageloaded{opensans}{%
      \ClassWarningNoLine{\TUD@Class@Name}%
      {%
        You should not load package `opensans'\MessageBreak%
        manually but just use option `cdfont=true'%
      }%
    }{}%
    \if@tud@cdfont@active%
      \TUD@CheckPackage{opensans}{2019/06/20}%
      \TUD@CheckPackage{iwona}{2005/10/03}%
    \fi%
    \tud@cdfont@@check{OpenSans}{%
      Light,Regular,SemiBold,Bold,ExtraBold,%
      LightItalic,Italic,SemiBoldItalic,BoldItalic,ExtraBoldItalic%
    }{\tud@cdfont@fam@lf,\tud@cdfont@fam@osf}{@tud@cdfont@fam@exist}%
    \@expandtwoargs\in@{,\encodingdefault,}{,OT1,T1,TU,EU1,EU2,}%
    \ifin@%
      \let\tud@x@mathastext@enc\encodingdefault%
      \@expandtwoargs\in@{,\tud@x@mathastext@enc,}{,TU,EU1,EU2,}%
      \ifin@%
        \@tud@cdmath@fam@existtrue%
      \else%
        \tud@cdfont@@@check{\tud@x@mathastext@enc}%
          {\tud@cdfont@fam@lf}{@tud@cdmath@fam@exist}%
      \fi%
    \fi%
  \fi%
}
\newcommand*\tud@cdfont@@check[5][-]{%
  \@tud@res@swatrue%
  \def\tud@res@a##1{%
    \@tud@res@swafalse%
    \tud@cdfont@missing{##1}{\tud@cdfont@wrn}%
  }%
  \if@tud@x@fontspec@enabled%
    \def\tud@res@b##1{\IfFontExistsTF{##1}{}{\tud@res@a{##1}}}%
    \@for\tud@res@c:={#3}\do{%
      \expandafter\IfArgIsEmpty\expandafter{\tud@res@c}%
        {\tud@res@b{#2}}%
        {\tud@res@b{#2#1\tud@res@c}}%
    }%
  \else%
    \def\tud@res@b##1##2{%
      \tud@if@fdfileexists{##1}{##2}{}{%
        \begingroup%
          \edef\tud@res@a{%
            \endgroup%
            \noexpand\tud@res@a{##1##2.fd}%
          }%
        \tud@res@a%
      }%
    }%
    \@for\tud@res@c:={#4}\do{\tud@res@b{\encodingdefault}{\tud@res@c}}%
  \fi%
  \if@tud@res@swa%
    \booltrue{#5}%
  \else%
    \boolfalse{#5}%
  \fi%
}
\newcommand*\tud@cdfont@@@check[3]{%
  \@tud@res@swatrue%
  \def\tud@res@a##1##2{%
    \@tud@res@swafalse%
    \tud@cdfont@missing[{##1}]{##2}{\tud@cdmath@wrn}%
  }%
  \def\tud@res@b##1##2{%
    \tud@if@fdfileexists{##1}{##2}{}{%
      \begingroup%
        \edef\tud@res@a{%
          \endgroup%
          \noexpand\tud@res@a{##1}{##1##2.fd}%
        }%
      \tud@res@a%
    }%
  }%
  \@for\tud@res@c:={#1}\do{\tud@res@b{\tud@res@c}{#2}}%
  \if@tud@res@swa%
    \booltrue{#3}%
  \else%
    \boolfalse{#3}%
    \AtBeginDocument{%
      \if@tud@cdmath@active%
        \ClassWarningNoLine{\TUD@Class@Name}%
        {%
          Some math font encodings are missing. \MessageBreak%
          The option `cdmath=false' is executed. You should\MessageBreak%
          either use this option by yourself or install\MessageBreak%
          \if@tud@cdoldfont@active%
            all necessary fonts with a installation script\MessageBreak%
            listed in the manual%
          \else%
            package `opensans'%
          \fi%
        }%
      \fi%
      \TUDoptions{cdmath=false}%
    }%
  \fi%
}
\newcommand*\tud@cdfont@missing[3][\encodingdefault]{%
  \begingroup%
    \def\tud@res@a{%
      `#2' font\MessageBreak%
      not found for `#1' encoding. \MessageBreak%
    }%
    \if@tud@x@fontspec@enabled%
      \tud@if@strequal{#1}{\encodingdefault}{%
        \appto\tud@res@a{%
          It seems, you haven't installed the required\MessageBreak%
          OTF-font on your system. You should provide\MessageBreak%
          the fonts manually to your OS\MessageBreak%
          \if@tud@cdoldfont@active\else%
            or install package `opensans'\MessageBreak%
          \fi%
        }%
      }{}%
    \else%
      \if@tud@cdoldfont@active%
        \def\tud@res@b{T1,OT1,OMS,OML}%
      \else%
        \def\tud@res@b{T1,OT1,T2A,T2B,T2C,X2,LGR}%
      \fi%
      \@tud@res@swafalse%
      \@for\tud@res@c:=\tud@res@b\do{%
        \tud@if@strequal{#1}{\tud@res@c}{\@tud@res@swatrue}{}%
      }%
      \if@tud@res@swa%
        \appto\tud@res@a{%
          You should %
          \if@tud@cdoldfont@active%
            try to install the necessary fonts\MessageBreak%
            with a installation script listed in the manual%
          \else%
            install package `opensans'%
          \fi%
          . \MessageBreak%
        }%
      \else%
        \tud@if@strequal{#1}{\encodingdefault}{%
          \tud@if@strequal{#1}{TU}{%
            \appto\tud@res@a{%
              You should either load package `fontspec'\MessageBreak%
              or %
            }%
          }{%
            \appto\tud@res@a{Please }%
          }%
          \appto\tud@res@a{%
            choose a possible encoding with package\MessageBreak%
            `fontenc' (\tud@res@b). \MessageBreak%
          }%
        }{}%
      \fi%
    \fi%
    \appto\tud@res@a{A fallback layout is used}%
    \edef\tud@res@c{%
      \unexpanded{\ClassWarningNoLine{\TUD@Class@Name}}%
        {\tud@res@a}%
    }%
    \xappto#3{\expandonce\tud@res@c}%
  \endgroup%
}
\newcommand*\tud@x@fontspec@init[2]{%
  \begingroup%
    \edef\tud@res@a{%
      \noexpand\defaultfontfeatures[{#1}]{%
        NFSSFamily=#1,%
        Ligatures=TeX,%
        BoldFont={},%
        ItalicFont={},%
        BoldItalicFont={},%
        SmallCapsFont={},%
        #2%
      }%
    }%
    \edef\tud@res@b{%
      \noexpand\newfontfamily%
        \expandafter\noexpand\csname tud@x@fontspec@fam@#1\endcsname{#1}%
    }%
    \edef\tud@res@c{%
      \endgroup\expandonce\tud@res@a\expandonce\tud@res@b%
    }%
  \tud@res@c%
}
\newcommand*\tud@x@fontspec@set[2]{%
  \begingroup%
    \edef\tud@res@a{%
      \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
    }%
    \edef\tud@res@a{%
      \endgroup%
      \noexpand\renewrobustcmd*%
          \expandafter\noexpand\csname #1family\endcsname{%
        \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
      }%
      \def\expandafter\noexpand\csname #1default\endcsname{\tud@cdfont@fam}%
    }%
  \tud@res@a%
}
\newcommand*\tud@font@set[1][\tud@cdfont@wrn]{%
  \if@tud@cdfont@active%
    #1%
    \tud@cs@store{rmdefault}%
    \tud@cs@store{sfdefault}%
    \tud@cs@store{ttdefault}%
    \tud@cs@store{bfdefault}%
    \tud@cs@store{mddefault}%
    \tud@cs@store{updefault}%
    \tud@cs@store{sldefault}%
    \tud@cs@store{itdefault}%
    \tud@cs@store{familydefault}%
    \tud@cs@store{seriesdefault}%
    \tud@cs@store{shapedefault}%
    \if@tud@x@mweights@enabled%
      \tud@cs@store{bfseries@rm}%
      \tud@cs@store{mdseries@rm}%
      \tud@cs@store{bfseries@sf}%
      \tud@cs@store{mdseries@sf}%
      \tud@cs@store{bfseries@tt}%
      \tud@cs@store{mdseries@tt}%
    \fi%
    \if@tud@x@fontspec@enabled%
      \tud@cs@store{rmfamily}%
      \tud@cs@store{sffamily}%
      \tud@cs@store{ttfamily}%
    \fi%
    \tud@cdfont@set%
    \tud@cdfont@symbols@set%
    \tud@ttfont@set%
    \if@tud@x@mweights@enabled%
      \edef\bfseries@rm{\tud@cdfont@bf}%
      \edef\mdseries@rm{\tud@cdfont@md}%
      \edef\bfseries@sf{\tud@cdfont@bf}%
      \edef\mdseries@sf{\tud@cdfont@md}%
      \edef\bfseries@tt{\tud@ttfont@bf}%
      \edef\mdseries@tt{\tud@ttfont@md}%
    \fi%
    \let\bfdefault\tud@cdfont@bf%
    \let\mddefault\tud@cdfont@md%
  \else%
    \tud@cs@restore{rmdefault}%
    \tud@cs@restore{sfdefault}%
    \tud@cs@restore{ttdefault}%
    \tud@cs@restore{bfdefault}%
    \tud@cs@restore{mddefault}%
    \tud@cs@restore{updefault}%
    \tud@cs@restore{sldefault}%
    \tud@cs@restore{itdefault}%
    \tud@cs@restore{familydefault}%
    \tud@cs@restore{seriesdefault}%
    \tud@cs@restore{shapedefault}%
    \if@tud@x@mweights@enabled%
      \tud@cs@restore{bfseries@rm}%
      \tud@cs@restore{mdseries@rm}%
      \tud@cs@restore{bfseries@sf}%
      \tud@cs@restore{mdseries@sf}%
      \tud@cs@restore{bfseries@tt}%
      \tud@cs@restore{mdseries@tt}%
    \fi%
    \if@tud@x@fontspec@enabled%
      \tud@cs@restore{rmfamily}%
      \tud@cs@restore{sffamily}%
      \tud@cs@restore{ttfamily}%
    \fi%
    \tud@cdfont@symbols@reset%
  \fi%
  \if@tud@x@mweights@enabled%
    \edef\rmdef@ult{\rmdefault}%
    \edef\sfdef@ult{\sfdefault}%
    \edef\ttdef@ult{\ttdefault}%
    \edef\bfdef@ult{\bfdefault}%
    \edef\mddef@ult{\mddefault}%
    \edef\famdef@ult{\familydefault}%
  \fi%
  \tud@relspacing@set%
  \normalfont\selectfont%
  \tud@cd@process%
  \global\@tud@head@font@settrue%
}
\newcommand*\tud@cdfont@set{%
  \renewcommand*\rmdefault{\sfdefault}%
  \renewcommand*\updefault{n}%
  \renewcommand*\itdefault{it}%
  \renewcommand*\sldefault{sl}%
  \renewcommand*\familydefault{\sfdefault}%
  \renewcommand*\seriesdefault{\mddefault}%
  \renewcommand*\shapedefault{\updefault}%
  \if@tud@cdfont@fam@exist%
    \if@tud@cdfont@lining%
      \let\tud@cdfont@fam\tud@cdfont@fam@lf%
    \else%
      \let\tud@cdfont@fam\tud@cdfont@fam@osf%
    \fi%
    \if@tud@x@fontspec@enabled%
      \tud@x@fontspec@set{sf}{\tud@cdfont@fam}%
    \else%
      \renewcommand*\sfdefault{\tud@cdfont@fam}%
    \fi%
    \tud@cdfont@@set%
  \fi%
}
\newcommand*\tud@cdfont@md{m}
\newcommand*\tud@cdfont@bf{b}
\newcommand*\tud@cdfont@ebf{bx}
\newcommand*\tud@cdfont@@set{%
  \if@tud@cdfont@heavy%
    \renewcommand*\tud@cdfont@md{m}%
    \if@tud@cdfont@ultrabold%
      \renewcommand*\tud@cdfont@bf{b}%
      \renewcommand*\tud@cdfont@ebf{eb}%
    \else%
      \renewcommand*\tud@cdfont@bf{sb}%
      \renewcommand*\tud@cdfont@ebf{b}%
    \fi%
  \else%
    \renewcommand*\tud@cdfont@md{l}%
    \if@tud@cdfont@ultrabold%
      \renewcommand*\tud@cdfont@bf{sb}%
      \renewcommand*\tud@cdfont@ebf{b}%
    \else%
      \renewcommand*\tud@cdfont@bf{m}%
      \renewcommand*\tud@cdfont@ebf{sb}%
    \fi%
  \fi%
}
\if@tud@cdoldfont@active
  \renewcommand*\tud@cdfont@@set{%
    \if@tud@cdfont@heavy%
      \renewcommand*\tud@cdfont@md{m}%
      \if@tud@cdfont@ultrabold%
        \renewcommand*\tud@cdfont@bf{eb}%
        \renewcommand*\tud@cdfont@ebf{eb}%
      \else%
        \renewcommand*\tud@cdfont@bf{b}%
        \renewcommand*\tud@cdfont@ebf{eb}%
      \fi%
    \else%
      \renewcommand*\tud@cdfont@md{l}%
      \if@tud@cdfont@ultrabold%
        \renewcommand*\tud@cdfont@bf{b}%
        \renewcommand*\tud@cdfont@ebf{eb}%
      \else%
        \renewcommand*\tud@cdfont@bf{m}%
        \renewcommand*\tud@cdfont@ebf{b}%
      \fi%
    \fi%
  }%
\fi
\newcommand*\tud@cdfont@symb@list{}
\newcommand*\tud@cdfont@declare@symb[4]{%
  \listeadd\tud@cdfont@symb@list{#1}%
  \tud@DeclareTextSymbol{#1}{#2}{#3}{#4}%
}
\newcommand*\tud@DeclareTextSymbol[4]{%
  \begingroup%
    \edef\tud@res@a{%
      \endgroup%
      \noexpand\DeclareTextCommand%
        {\csname tud@cdfont@symbol@#1\endcsname}{#2}%
        {\unexpanded{{\fontfamily{#3}\selectfont\char#4}}}%
      \noexpand\DeclareTextCommandDefault%
        {\csname tud@cdfont@symbol@#1\endcsname}%
        {\noexpand\UseTextSymbol{#2}{\csname tud@cdfont@symbol@#1\endcsname}}%
    }%
  \tud@res@a%
  \expandafter\robustify\csname tud@cdfont@symbol@#1\endcsname%
}
\tud@newtoks\tud@cdfont@symbols@toks
\newcommand*\tud@cdfont@symbols@set{%
  \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdfont@symbols@toks}{%
    \forlistloop\tud@cdfont@symbols@set@cmd\tud@cdfont@symb@list%
    \addto@hook\tud@cdfont@symbols@toks{\tud@cdfont@symbols@toks{}}%
  }{}%
}
\newcommand*\tud@cdfont@symbols@set@cmd[1]{%
  \tud@cs@store{#1}%
  \addto@hook\tud@cdfont@symbols@toks{\tud@cs@restore{#1}}%
  \tud@cs@letltx{#1}{tud@cdfont@symbol@#1}%
}
\newcommand*\tud@cdfont@symbols@reset{\the\tud@cdfont@symbols@toks}
\newcommand*\tud@cdfont@declare@textsymb{%
  \tud@cdfont@declare@symb{textleftarrow}{TS1}{iwona}{24}%
  \tud@cdfont@declare@symb{textrightarrow}{TS1}{iwona}{25}%
  \tud@cdfont@declare@symb{textuparrow}{TS1}{iwona}{94}%
  \tud@cdfont@declare@symb{textdownarrow}{TS1}{iwona}{95}%
  \tud@cdfont@declare@symb{textlangle}{TS1}{iwona}{60}%
  \tud@cdfont@declare@symb{textrangle}{TS1}{iwona}{62}%
}
\newcommand*\tud@relspacing@set{%
  \if@tud@relspacing%
    \tud@cslength@store{smallskipamount}%
    \tud@cslength@store{medskipamount}%
    \tud@cslength@store{bigskipamount}%
    \tud@cslength@store{abovecaptionskip}%
    \tud@cslength@store{belowcaptionskip}%
    \tud@cslength@store{columnsep}%
    \tud@relspacing@@set%
  \else%
    \tud@cslength@restore{smallskipamount}%
    \tud@cslength@restore{medskipamount}%
    \tud@cslength@restore{bigskipamount}%
    \tud@cslength@restore{abovecaptionskip}%
    \tud@cslength@restore{belowcaptionskip}%
    \tud@cslength@restore{columnsep}%
  \fi%
}
\newcommand*\tud@relspacing@@set{%
  \tud@if@v@lower{2.06}{%
    \bigskipamount=\partopsep%
    \multiply\bigskipamount by 4%
  }{%
    \begingroup%
      \tud@setdim\@tempdima{\dimexpr\abovedisplayskip\relax}%
      \tud@setdim\@tempdimb{\@tempdima/3}%
      \edef\tud@res@a{%
        \endgroup%
        \noexpand\tud@setglue\noexpand\bigskipamount{%
          \the\@tempdima\@plus\the\@tempdimb\@minus\the\@tempdimb%
        }%
      }%
    \tud@res@a%
  }%
  \medskipamount=\bigskipamount%
  \divide\medskipamount by 2%
  \smallskipamount=\bigskipamount%
  \divide\smallskipamount by 4%
  \tud@if@lengthregister{\abovecaptionskip}{%
    \tud@setdim\abovecaptionskip{1\bigskipamount*5/6}%
  }{}%
  \tud@if@lengthregister{\belowcaptionskip}{%
    \tud@setdim\belowcaptionskip{\z@}%
  }{}%
  \tud@setdim\columnsep{1\baselineskip*11/10}%
}
\newcommand*\tud@cdfont@init{%
  \tud@cdfont@@init%
  \tud@cdfont@@@init%
}
\newcommand*\tud@cdfont@@init{%
  \if@tud@cdfont@fam@exist%
    \if@tud@x@fontspec@enabled%
      \def\tud@res@a{%
        UprightFont={OpenSans-Regular},%
        FontFace={l}{n}{OpenSans-Light},%
        FontFace={m}{n}{OpenSans-Regular},%
        FontFace={sb}{n}{OpenSans-SemiBold},%
        FontFace={b}{n}{OpenSans-Bold},%
        FontFace={bx}{n}{OpenSans-Bold},%
        FontFace={eb}{n}{OpenSans-ExtraBold},%
        FontFace={l}{it}{OpenSans-LightItalic},%
        FontFace={m}{it}{OpenSans-Italic},%
        FontFace={sb}{it}{OpenSans-SemiBoldItalic},%
        FontFace={b}{it}{OpenSans-BoldItalic},%
        FontFace={bx}{it}{OpenSans-BoldItalic},%
        FontFace={eb}{it}{OpenSans-ExtraBoldItalic}%
      }%
      \tud@x@fontspec@init{\tud@cdfont@fam@osf}{Numbers=OldStyle,\tud@res@a}%
      \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
    \else%
      \IfFileExists{omliwona.fd}{%
        \input{omliwona.fd}%
        \@for\tud@res@a:={l,m,sb,b,eb}\do{%
          \csletcs{OML/\tud@cdfont@fam@lf/\tud@res@a/it}%
            {OML/iwona/\tud@res@a/it}%
          \csletcs{OML/\tud@cdfont@fam@osf/\tud@res@a/it}%
            {OML/iwona/\tud@res@a/it}%
        }%
      }{}%
      \IfFileExists{omsiwona.fd}{%
        \input{omsiwona.fd}%
        \@for\tud@res@a:={l,m,sb,b,eb}\do{%
          \csletcs{OMS/\tud@cdfont@fam@lf/\tud@res@a/n}%
            {OMS/iwona/\tud@res@a/n}%
          \csletcs{OMS/\tud@cdfont@fam@osf/\tud@res@a/n}%
            {OMS/iwona/\tud@res@a/n}%
        }%
      }{}%
      \tud@cdfont@declare@textsymb%
    \fi%
    \def\tud@res@a##1##2##3{%
      \newrobustcmd*##1{\usefont{\f@encoding}{\tud@cdfont@fam}{##2}{##3}}%
    }%
    \tud@res@a\cdfontln{l}{n}%
    \tud@res@a\cdfontrn{m}{n}%
    \tud@res@a\cdfontsn{sb}{n}%
    \tud@res@a\cdfontbn{b}{n}%
    \tud@res@a\cdfontxn{eb}{n}%
    \tud@res@a\cdfontli{l}{it}%
    \tud@res@a\cdfontri{m}{it}%
    \tud@res@a\cdfontsi{sb}{it}%
    \tud@res@a\cdfontbi{b}{it}%
    \tud@res@a\cdfontxi{eb}{it}%
  \else%
    \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up}%
    \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up}%
    \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up}%
    \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up}%
    \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up}%
    \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it}%
    \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it}%
    \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it}%
    \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it}%
    \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it}%
  \fi%
}
\newcommand*\tud@cdfont@@@init{%
  \newcommand*\textcdln{}%
  \newcommand*\textcdrn{}%
  \newcommand*\textcdsn{}%
  \newcommand*\textcdbn{}%
  \newcommand*\textcdxn{}%
  \newcommand*\textcdli{}%
  \newcommand*\textcdri{}%
  \newcommand*\textcdsi{}%
  \newcommand*\textcdbi{}%
  \newcommand*\textcdxi{}%
  \DeclareTextFontCommand\textcdln{\cdfontln}%
  \DeclareTextFontCommand\textcdrn{\cdfontrn}%
  \DeclareTextFontCommand\textcdsn{\cdfontsn}%
  \DeclareTextFontCommand\textcdbn{\cdfontbn}%
  \DeclareTextFontCommand\textcdxn{\cdfontxn}%
  \DeclareTextFontCommand\textcdli{\cdfontli}%
  \DeclareTextFontCommand\textcdri{\cdfontri}%
  \DeclareTextFontCommand\textcdsi{\cdfontsi}%
  \DeclareTextFontCommand\textcdbi{\cdfontbi}%
  \DeclareTextFontCommand\textcdxi{\cdfontxi}%
}
\if@tud@cdoldfont@active
  \renewcommand*\tud@cdfont@@init{%
    \if@tud@cdfont@fam@exist%
      \if@tud@x@fontspec@enabled%
        \def\tud@res@a{%
          UprightFont={Univers},%
          FontFace={l}{n}{Univers-Light},%
          FontFace={m}{n}{Univers},%
          FontFace={b}{n}{Univers-Bold},%
          FontFace={bx}{n}{Univers-Bold},%
          FontFace={eb}{n}{Univers-Black},%
          FontFace={l}{it}{Univers-LightOblique},%
          FontFace={m}{it}{Univers-Oblique},%
          FontFace={b}{it}{Univers-BoldOblique},%
          FontFace={bx}{it}{Univers-BoldOblique},%
          FontFace={eb}{it}{Univers-BlackOblique}%
        }%
        \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
      \fi%
      \def\tud@res@a##1##2##3{%
        \newrobustcmd*##1{\usefont{\f@encoding}{\tud@cdfont@fam}{##2}{##3}}%
      }%
      \tud@res@a\univln{l}{n}%
      \tud@res@a\univrn{m}{n}%
      \tud@res@a\univbn{b}{n}%
      \tud@res@a\univxn{eb}{n}%
      \tud@res@a\univls{l}{it}%
      \tud@res@a\univrs{m}{it}%
      \tud@res@a\univbs{b}{it}%
      \tud@res@a\univxs{eb}{it}%
    \else%
      \tud@cdfont@fallback\univln{Univers-Light}{md}{up}%
      \tud@cdfont@fallback\univrn{Univers}{md}{up}%
      \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up}%
      \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up}%
      \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{it}%
      \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{it}%
      \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{it}%
      \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{it}%
    \fi%
    \newcommand*\textuln{}%
    \newcommand*\texturn{}%
    \newcommand*\textubn{}%
    \newcommand*\textuxn{}%
    \newcommand*\textuls{}%
    \newcommand*\texturs{}%
    \newcommand*\textubs{}%
    \newcommand*\textuxs{}%
    \DeclareTextFontCommand\textuln{\univln}%
    \DeclareTextFontCommand\texturn{\univrn}%
    \DeclareTextFontCommand\textubn{\univbn}%
    \DeclareTextFontCommand\textuxn{\univxn}%
    \DeclareTextFontCommand\textuls{\univls}%
    \DeclareTextFontCommand\texturs{\univrs}%
    \DeclareTextFontCommand\textubs{\univbs}%
    \DeclareTextFontCommand\textuxs{\univxs}%
    \newrobustcmd*\cdfontln{\univln}%
    \newrobustcmd*\cdfontrn{\univrn}%
    \newrobustcmd*\cdfontsn{\univrn}%
    \newrobustcmd*\cdfontbn{\univbn}%
    \newrobustcmd*\cdfontxn{\univxn}%
    \newrobustcmd*\cdfontli{\univls}%
    \newrobustcmd*\cdfontri{\univrs}%
    \newrobustcmd*\cdfontsi{\univrs}%
    \newrobustcmd*\cdfontbi{\univbs}%
    \newrobustcmd*\cdfontxi{\univxs}%
    \if@tud@cdfont@db@exist%
      \if@tud@x@fontspec@enabled%
        \def\tud@res@a{%
          UprightFont={DIN-Bold},%
          FontFace={l}{n}{DIN-Bold},%
          FontFace={m}{n}{DIN-Bold},%
          FontFace={b}{n}{DIN-Bold},%
          FontFace={bx}{n}{DIN-Bold},%
          FontFace={eb}{n}{DIN-Bold},%
          FontFace={l}{it}{Font=DIN-Bold,FakeSlant=0.15},%
          FontFace={m}{it}{Font=DIN-Bold,FakeSlant=0.15},%
          FontFace={b}{it}{Font=DIN-Bold,FakeSlant=0.15},%
          FontFace={bx}{it}{Font=DIN-Bold,FakeSlant=0.15},%
          FontFace={eb}{it}{Font=DIN-Bold,FakeSlant=0.15}%
        }%
        \tud@x@fontspec@init{\tud@cdfont@db}{\tud@res@a}%
      \fi%
      \newrobustcmd*\tud@db{%
        \usefont{\f@encoding}{\tud@cdfont@db}{b}{n}%
        \if@tud@cdmath@active\mathversion{tuddin}\fi%
      }%
      \newrobustcmd*\dinbn{\tud@db}%
    \else%
      \newrobustcmd*\tud@db{\tud@db@wrn\sectfont}%
      \newcommand*\tud@db@wrn{%
        \ClassWarning{\TUD@Class@Name}%
        {%
          Font `DIN-Bold' is not available and therefore\MessageBreak%
          can not be used for headings%
        }%
        \global\let\tud@db@wrn\relax%
      }%
      \newrobustcmd*\dinbn{\tud@cdfont@fallback@wrn{DIN-Bold}\sectfont}%
    \fi%
    \newcommand*\textdbn{}%
    \DeclareTextFontCommand\textdbn{\dinbn}%
  }%
\fi
\newcommand*\tud@cdfont@fallback[4]{%
  \newrobustcmd*#1{%
    \tud@cdfont@fallback@wrn{#2}%
    \sffamily\csuse{#3series}\csuse{#4shape}%
  }%
}
\newcommand*\tud@cdfont@fallback@wrn[1]{%
  \ClassWarning{\TUD@Class@Name}%
  {%
    The requested font `#1'\MessageBreak%
    is not available, a fallback layout is used%
  }%
}
\newcommand*\cdfont[1]{%
  \tud@cdfont@get{#1}%
  \ifx\@tempc\relax\else%
    \csuse{cdfont\@tempc}%
  \fi%
}
\newcommand*\textcd[2]{%
  \tud@cdfont@get{#1}%
  \ifx\@tempc\relax%
    \textsf{#2}%
  \else%
    \csuse{textcd\@tempc}{#2}%
  \fi%
}
\if@tud@cdoldfont@active
  \renewcommand*\cdfont[1]{%
    \tud@cdfont@get{#1}%
    \ifx\@tempc\relax\else%
      \tud@if@strequal{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
    \fi%
  }%
  \renewcommand*\textcd[2]{%
    \tud@cdfont@get{#1}%
    \ifx\@tempc\relax%
      \textsf{#2}%
    \else%
      \tud@if@strequal{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
    \fi%
  }%
\fi
\newcommand*\tud@cdfont@get[1]{%
  \tud@cdfont@trim\@tempa{#1}%
  \tud@if@strequal{\@tempa}{l} {\def\@tempc{ln}}{%
  \tud@if@strequal{\@tempa}{}  {\def\@tempc{rn}}{%
  \tud@if@strequal{\@tempa}{r} {\def\@tempc{rn}}{%
  \tud@if@strequal{\@tempa}{s} {\def\@tempc{sn}}{%
  \tud@if@strequal{\@tempa}{b} {\def\@tempc{bn}}{%
  \tud@if@strequal{\@tempa}{x} {\def\@tempc{xn}}{%
  \tud@if@strequal{\@tempa}{li}{\def\@tempc{li}}{%
  \tud@if@strequal{\@tempa}{il}{\def\@tempc{li}}{%
  \tud@if@strequal{\@tempa}{i} {\def\@tempc{ri}}{%
  \tud@if@strequal{\@tempa}{ri}{\def\@tempc{ri}}{%
  \tud@if@strequal{\@tempa}{ir}{\def\@tempc{ri}}{%
  \tud@if@strequal{\@tempa}{si}{\def\@tempc{si}}{%
  \tud@if@strequal{\@tempa}{is}{\def\@tempc{si}}{%
  \tud@if@strequal{\@tempa}{bi}{\def\@tempc{bi}}{%
  \tud@if@strequal{\@tempa}{ib}{\def\@tempc{bi}}{%
  \tud@if@strequal{\@tempa}{xi}{\def\@tempc{xi}}{%
  \tud@if@strequal{\@tempa}{ix}{\def\@tempc{xi}}{%
    \let\@tempc\relax%
    \ClassWarning{\TUD@Class@Name}%
      {The font `#1' is unknown}%
  }}}}}}}}}}}}}}}}}%
}
\if@tud@cdoldfont@active
  \renewcommand*\tud@cdfont@get[1]{%
    \tud@cdfont@trim\@tempa{#1}%
    \tud@if@strequal{\@tempa}{45}       {\def\@tempc{ln}}{%
    \tud@if@strequal{\@tempa}{55}       {\def\@tempc{rn}}{%
    \tud@if@strequal{\@tempa}{65}       {\def\@tempc{bn}}{%
    \tud@if@strequal{\@tempa}{75}       {\def\@tempc{xn}}{%
    \tud@if@strequal{\@tempa}{45oblique}{\def\@tempc{ls}}{%
    \tud@if@strequal{\@tempa}{55oblique}{\def\@tempc{rs}}{%
    \tud@if@strequal{\@tempa}{65oblique}{\def\@tempc{bs}}{%
    \tud@if@strequal{\@tempa}{75oblique}{\def\@tempc{xs}}{%
    \tud@if@strequal{\@tempa}{oblique45}{\def\@tempc{ls}}{%
    \tud@if@strequal{\@tempa}{oblique55}{\def\@tempc{rs}}{%
    \tud@if@strequal{\@tempa}{oblique65}{\def\@tempc{bs}}{%
    \tud@if@strequal{\@tempa}{oblique75}{\def\@tempc{xs}}{%
    \tud@if@strequal{\@tempa}{din}      {\def\@tempc{dinbn}}{%
    \tud@if@strequal{\@tempa}{din65}    {\def\@tempc{dinbn}}{%
      \let\@tempc\relax%
      \ClassWarning{\TUD@Class@Name}%
      {The font `#1' is unknown}%
    }}}}}}}}}}}}}}%
  }%
\fi
\newcommand*\tud@cdfont@trim[2]{%
  \tud@strlowercase\@tempa{\trim@spaces{#2}}%
  \tud@cdfont@@trim{ }{}%
  \tud@cdfont@@trim{-}{}%
  \tud@cdfont@@trim{_}{}%
  \tud@cdfont@@trim{~}{}%
  \tud@cdfont@@trim{opensans}{}%
  \tud@cdfont@@trim{light}{l}%
  \tud@cdfont@@trim{regular}{r}%
  \tud@cdfont@@trim{book}{r}%
  \tud@cdfont@@trim{semi}{s}%
  \tud@cdfont@@trim{demi}{s}%
  \tud@cdfont@@trim{extra}{x}%
  \tud@cdfont@@trim{black}{x}%
  \tud@cdfont@@trim{bold}{b}%
  \tud@cdfont@@trim{italic}{i}%
  \tud@cdfont@@trim{oblique}{i}%
  \tud@cdfont@@trim{slanted}{i}%
  \let#1\@tempa%
}
\if@tud@cdoldfont@active
  \renewcommand*\tud@cdfont@trim[2]{%
    \tud@strlowercase\@tempa{\trim@spaces{#2}}%
    \tud@cdfont@@trim{ }{}%
    \tud@cdfont@@trim{-}{}%
    \tud@cdfont@@trim{_}{}%
    \tud@cdfont@@trim{~}{}%
    \tud@cdfont@@trim{ce}{}%
    \tud@cdfont@@trim{ff}{}%
    \tud@cdfont@@trim{univers}{}%
    \tud@cdfont@@trim{60}{65}%
    \tud@cdfont@@trim{light}{45}%
    \tud@cdfont@@trim{regular}{55}%
    \tud@cdfont@@trim{bold}{65}%
    \tud@cdfont@@trim{black}{75}%
    \tud@cdfont@@trim{4545}{45}%
    \tud@cdfont@@trim{5555}{55}%
    \tud@cdfont@@trim{6565}{65}%
    \tud@cdfont@@trim{7575}{75}%
    \tud@cdfont@@trim{italic}{oblique}%
    \tud@cdfont@@trim{slanted}{oblique}%
    \let#1\@tempa%
  }%
\fi
\newcommand*\tud@cdfont@@trim[2]{%
  \def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
  \@expandtwoargs\in@{#1}{\@tempa}%
  \@whilesw\ifin@\fi{%
    \expandafter\@tempb\@tempa\relax%
    \@expandtwoargs\in@{#1}{\@tempa}%
  }%
}
\newcommand*\tud@ttfont@set{%
  \if@tud@ttfont@rb@exist\else\ifnum\tud@ttfont@num=\@ne\relax%
    \ClassWarning{\TUD@Class@Name}%
    {%
      The package `roboto-mono' is missing so the\MessageBreak%
      typewriter font of package `lmodern' is used%
    }%
    \TUDoptions{ttfont=lmodern}%
  \fi\fi%
  \ifcase\tud@ttfont@num\relax% false
    \let\tud@ttfont@fam\ttdefault%
  \or% roboto
    \let\tud@ttfont@fam\tud@ttfont@rb%
  \else% lmodern
    \let\tud@ttfont@fam\tud@ttfont@lm%
  \fi%
  \ifcase\tud@ttfont@num\relax\else% !false
    \if@tud@x@fontspec@enabled%
      \ifx\tud@ttfont@fam\ttdefault\else%
        \tud@x@fontspec@set{tt}{\tud@ttfont@fam}%
      \fi%
    \else%
      \renewcommand*\ttdefault{\tud@ttfont@fam}%
    \fi%
  \fi%
  \tud@ttfont@@set%
}
\newcommand*\tud@ttfont@md{}
\newcommand*\tud@ttfont@bf{}
\newcommand*\tud@ttfont@ebf{}
\newcommand*\tud@ttfont@@set{%
  \ifcase\tud@ttfont@num\relax%
    \ifundef{\mdseries@tt}{%
      \edef\tud@ttfont@md{\tud@cs@use{mddefault}}%
    }{%
      \edef\tud@ttfont@md{\mdseries@tt}%
    }%
    \ifundef{\bfseries@tt}{%
      \edef\tud@ttfont@bf{\tud@cs@use{bfdefault}}%
    }{%
      \edef\tud@ttfont@bf{\bfseries@tt}%
    }%
    \edef\tud@ttfont@ebf{\tud@ttfont@bf}%
  \or% roboto
    \renewcommand*\tud@ttfont@md{\tud@cdfont@md}%
    \renewcommand*\tud@ttfont@bf{\tud@cdfont@bf}%
    \renewcommand*\tud@ttfont@ebf{\tud@cdfont@ebf}%
  \else% lmodern
    \if@tud@cdfont@heavy%
      \renewcommand*\tud@ttfont@md{m}%
      \renewcommand*\tud@ttfont@bf{b}%
      \renewcommand*\tud@ttfont@ebf{b}%
    \else%
      \renewcommand*\tud@ttfont@md{l}%
      \if@tud@cdfont@ultrabold%
        \renewcommand*\tud@ttfont@bf{b}%
        \renewcommand*\tud@ttfont@ebf{b}%
      \else%
        \renewcommand*\tud@ttfont@bf{m}%
        \renewcommand*\tud@ttfont@ebf{b}%
      \fi%
    \fi%
  \fi%
}
\newcommand*\tud@ttfont@init{%
  \newcommand*\tud@ttfont@rb@scale{0.9}%
  \if@tud@x@fontspec@enabled%
    \if@tud@ttfont@rb@exist%
      \tud@x@fontspec@init{\tud@ttfont@rb}{%
        Scale={\tud@ttfont@rb@scale},%
        UprightFont={RobotoMono-Regular},%
        FontFace={l}{n}{RobotoMono-Light},%
        FontFace={m}{n}{RobotoMono-Regular},%
        FontFace={sb}{n}{RobotoMono-Medium},%
        FontFace={b}{n}{RobotoMono-Bold},%
        FontFace={bx}{n}{RobotoMono-Bold},%
        FontFace={eb}{n}{RobotoMono-Bold},%
        FontFace={l}{it}{RobotoMono-LightItalic},%
        FontFace={m}{it}{RobotoMono-Italic},%
        FontFace={sb}{it}{RobotoMono-MediumItalic},%
        FontFace={b}{it}{RobotoMono-BoldItalic},%
        FontFace={bx}{it}{RobotoMono-BoldItalic},%
        FontFace={eb}{it}{RobotoMono-BoldItalic}%
      }%
    \fi%
    \ifx\ttdefault\tud@ttfont@lm\else%
      \tud@x@fontspec@init{\tud@ttfont@lm}{%
        UprightFont={LMMono10-Regular},%
        FontFace={l}{n}{LMMonoLt10-Regular},%
        FontFace={m}{n}{LMMono10-Regular},%
        FontFace={b}{n}{LMMonoLt10-Bold},%
        FontFace={bx}{n}{LMMonoLt10-Bold},%
        FontFace={l}{it}{LMMonoLt10-Oblique},%
        FontFace={m}{it}{LMMonoSlant10-Regular},%
        FontFace={b}{it}{LMMonoLt10-BoldOblique},%
        FontFace={bx}{it}{LMMonoLt10-BoldOblique}%
      }%
    \fi%
  \else%
    \if@tud@ttfont@rb@exist%
      \edef\tud@ttfont@rb@scale{s*[\tud@ttfont@rb@scale]}%
      \begingroup%
        \def\tud@res@c##1##2{%
          \tud@strlowercase\tud@res@a{##1}%
          \DeclareFontFamily{##1}{\tud@ttfont@rb}{\hyphenchar\font=\m@ne}%
          \def\tud@res@b####1####2####3{%
            \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{n}{%
              <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a%
            }{}%
            \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{it}{%
              <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a%
            }{}%
            \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sl}{%
              <->ssub*\tud@ttfont@rb/####1/it%
            }{}%
            \ifbool{##2}{%
              \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sc}{%
                <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a%
              }{}%
              \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scit}{%
                <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a%
              }{}%
              \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scsl}{%
                <->ssub*\tud@ttfont@rb/####1/scit%
              }{}%
            }{}%
          }%
          \tud@res@b{l}{Light}{LightItalic}%
          \tud@res@b{m}{Regular}{Italic}%
          \tud@res@b{sb}{Medium}{MediumItalic}%
          \tud@res@b{b}{Bold}{BoldItalic}%
          \tud@res@b{bx}{Bold}{BoldItalic}%
        }%
        \tud@res@c{OT1}{true}%
        \tud@res@c{T1}{true}%
        \tud@res@c{TS1}{false}%
        \def\tud@res@a{\endgroup}%
        \def\tud@res@b{TS1:RobotoMono-TLF}%
        \ifcsundef{\tud@res@b}{%
          \ClassWarningNoLine{\TUD@Class@Name}%
            {`\tud@res@b' encoding subset undefinied}%
        }{%
          \eappto\tud@res@a{%
            \noexpand\DeclareEncodingSubset{TS1}{tudtt}{\csuse{\tud@res@b}}%
          }%
        }%
      \tud@res@a%
    \fi%
  \fi%
}
\newcommand*\tud@if@issymbolfont[1]{%
  \begingroup%
    \edef\tud@res@a{%
      \noexpand\in@\expandafter\noexpand%
        \csname sym#1\endcsname%
        {\expandonce\group@list}%
    }%
    \tud@res@a%
    \ifin@%
      \aftergroup\@firstoftwo%
    \else%
      \aftergroup\@secondoftwo%
    \fi%
  \endgroup%
}
\@onlypreamble\tud@if@issymbolfont
\newcommand*\tud@if@ismathalphabet[1]{%
  \begingroup%
    \edef\tud@res@a{%
      \noexpand\in@\expandafter\noexpand%
        \csname\expandafter\@gobble\string#1\space\endcsname%
        {\expandonce\alpha@list}%
    }%
    \tud@res@a%
    \ifin@%
      \aftergroup\@firstoftwo%
    \else%
      \aftergroup\@secondoftwo%
    \fi%
  \endgroup%
}
\@onlypreamble\tud@if@ismathalphabet
\newcommand*\tud@math@loop@greeks@all[1]{%
  \tud@math@loop@greeks@uc{#1}%
  \tud@math@loop@greeks@lc{#1}%
}
\newcommand*\tud@math@loop@greeks@uc[1]{%
  \forcsvlist#1{%
    Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
  }%
}
\newcommand*\tud@math@loop@greeks@lc[1]{%
  \forcsvlist#1{%
    alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,%
    mu,nu,xi,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,%
    varepsilon,vartheta,varpi,varrho,varsigma,varphi%
  }%
}
\newcommand*\tud@math@declare@lgrgreeks[5]{%
  \ifundef{\T@LGR}{\DeclareFontEncoding{LGR}{}{}}{}%
  \tud@if@issymbolfont{tudupgrk}{%
    \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#4}%
  }{%
    \DeclareSymbolFont{tudupgrk}{LGR}{#1}{#2}{#4}%
  }%
  \SetSymbolFont{tudupgrk}{bold}{LGR}{#1}{#3}{#4}%
  \tud@if@issymbolfont{tuditgrk}{%
    \SetSymbolFont{tuditgrk}{normal}{LGR}{#1}{#2}{#5}%
  }{%
    \DeclareSymbolFont{tuditgrk}{LGR}{#1}{#2}{#5}%
  }%
  \SetSymbolFont{tuditgrk}{bold}{LGR}{#1}{#3}{#5}%
}
\newcommand*\tud@math@map@greeks{%
  \tud@math@loop@greeks@all\tud@math@map@@greeks%
  \tud@math@loop@greeks@uc\tud@math@map@@@greeks%
  \tud@math@supplement@greeks%
}
\newcommand*\tud@math@map@@greeks[1]{%
  \ifcsundef{it#1}{%
    \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
      \ifcsundef{\tud@res@a}{}{\csletcs{it#1}{\tud@res@a}}%
    }%
  }{}%
  \ifcsundef{up#1}{\ifcsundef{#1up}{}{\csletcs{up#1}{#1up}}}{}%
  \ifcsundef{other#1}{\ifcsundef{#1other}{}{\csletcs{other#1}{#1other}}}{}%
}
\newcommand*\tud@math@map@@@greeks[1]{%
  \ifcsundef{it#1}{\ifcsundef{var#1}{}{\csletcs{it#1}{var#1}}}{}%
  \ifcsundef{up#1}{%
    \tud@strlowercase\tud@res@a{#1}%
    \edef\tud@res@a{Up\tud@res@a}%
    \ifcsundef{\tud@res@a}{}{\csletcs{up#1}{\tud@res@a}}%
  }{}%
}
\newcommand*\tud@math@supplement@greeks{%
  \begingroup%
    \newcommand*\tud@math@operators@enc{}%
    \newcommand*\tud@math@operators@fam{}%
    \newcommand*\tud@math@letters@enc{}%
    \newcommand*\tud@math@letters@fam{}%
    \def\getanddefine@fonts##1##2{%
      \ifx\symoperators##1%
        \expandafter\tud@res@a\string##2\@nil%
      \else\ifx\symletters##1%
        \expandafter\tud@res@b\string##2\@nil%
      \fi\fi%
    }%
    \def\tud@res@a##1##2/##3/##4\@nil{%
      \def\tud@math@operators@enc{##2}%
      \def\tud@math@operators@fam{##3}%
    }%
    \def\tud@res@b##1##2/##3/##4\@nil{%
      \def\tud@math@letters@enc{##2}%
      \def\tud@math@letters@fam{##3}%
    }%
    \tud@cs@use{mv@normal}%
    \let\tud@res@c\@empty%
    \tud@if@strequal{\tud@math@letters@enc}{OML}{%
      \def\tud@res@a##1{%
        \ifcsundef{it##1}{%
          \eappto\tud@res@c{%
            \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
              {\noexpand\mathalpha}{letters}{\the\tud@res@cnt}%
          }%
        }{}%
        \advance\tud@res@cnt\@ne\relax%
      }%
      \tud@res@cnt=\z@\relax%
      \tud@math@loop@greeks@all\tud@res@a%
    }{}%
    \tud@if@strequal{\tud@math@operators@enc}{OT1}{%
      \def\tud@res@a##1{%
        \ifcsundef{up##1}{%
          \eappto\tud@res@c{%
            \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
              {\noexpand\mathalpha}{operators}{\the\tud@res@cnt}%
          }%
        }{}%
        \advance\tud@res@cnt\@ne\relax%
      }%
      \tud@res@cnt=\z@\relax%
      \tud@math@loop@greeks@uc\tud@res@a%
    }{}%
    \let\tud@res@a\@empty%
    \if@tud@lgrgreeks%
      \tud@if@fdfileexists{LGR}{\tud@cs@use{familydefault}}{%
        \def\tud@res@a{\tud@cs@use{familydefault}}%
      }{%
        \tud@if@fdfileexists{LGR}{\tud@math@letters@fam}{%
          \let\tud@res@a\tud@math@letters@fam%
        }{%
          \tud@if@fdfileexists{LGR}{\tud@math@operators@fam}{%
            \let\tud@res@a\tud@math@operators@fam%
          }{}%
        }%
      }%
    \fi%
    \edef\tud@res@a{%
      \endgroup%
      \expandonce\tud@res@c%
      \edef\noexpand\tud@res@a{\tud@res@a}%
    }%
  \tud@res@a%
  \ifx\tud@res@a\@empty\else%
    \tud@math@declare@lgrgreeks{\tud@res@a}%
      {\tud@cs@use{mddefault}}{\tud@cs@use{bfdefault}}%
      {\tud@cs@use{updefault}}{\tud@cs@use{itdefault}}%
    \let\tud@res@c\@empty%
    \def\tud@res@b##1##2{%
      \ifcsundef{it##1}{%
        \eappto\tud@res@c{%
          \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
              {\noexpand\mathord}{tuditgrk}{##2}%
        }%
      }{}%
      \ifcsundef{up##1}{%
        \eappto\tud@res@c{%
          \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
              {\noexpand\mathord}{tudupgrk}{##2}%
        }%
      }{}%
    }%
    \tud@res@b{Gamma}{71}%
    \tud@res@b{Delta}{68}%
    \tud@res@b{Theta}{74}%
    \tud@res@b{Lambda}{76}%
    \tud@res@b{Xi}{88}%
    \tud@res@b{Pi}{80}%
    \tud@res@b{Sigma}{83}%
    \tud@res@b{Upsilon}{85}%
    \tud@res@b{Phi}{70}%
    \tud@res@b{Psi}{89}%
    \tud@res@b{Omega}{87}%
    \tud@res@b{alpha}{97}%
    \tud@res@b{beta}{98}%
    \tud@res@b{gamma}{103}%
    \tud@res@b{delta}{100}%
    \tud@res@b{epsilon}{101}%
    \tud@res@b{zeta}{122}%
    \tud@res@b{eta}{104}%
    \tud@res@b{theta}{106}%
    \tud@res@b{iota}{105}%
    \tud@res@b{kappa}{107}%
    \tud@res@b{lambda}{108}%
    \tud@res@b{mu}{109}%
    \tud@res@b{nu}{110}%
    \tud@res@b{xi}{120}%
    \tud@res@b{pi}{112}%
    \tud@res@b{rho}{114}%
    \tud@res@b{sigma}{115}%
    \tud@res@b{tau}{116}%
    \tud@res@b{upsilon}{117}%
    \tud@res@b{phi}{102}%
    \tud@res@b{chi}{113}%
    \tud@res@b{psi}{121}%
    \tud@res@b{omega}{119}%
    \tud@res@c%
  \fi%
}
\newcommand*\tud@math@checkslanted@greeks{%
  \begingroup%
    \def\tud@res@c{%
      \tud@if@v@lower{2.06}{%
        \TUD@key@preset{slantedgreek}{standard}%
      }{%
        \TUD@key@preset{slantedgreek}{true}%
      }%
    }%
    \@tud@res@swafalse%
    \ifundef{\upalpha}{}{\ifx\upalpha\alpha\@tud@res@swatrue\fi}%
    \if@tud@res@swa%
      \def\tud@res@c{\TUD@key@preset{slantedgreek}{false}}%
    \else%
      \ifundef{\itGamma}{}{\ifx\itGamma\Gamma\@tud@res@swatrue\fi}%
      \if@tud@res@swa\else%
        \let\tud@res@a\relax%
        \let\tud@res@b\relax%
        \DeclareMathSymbol{\tud@res@a}{\mathalpha}{letters}{0}%
        \DeclareMathSymbol{\tud@res@b}{\mathord}{letters}{0}%
        \ifx\Gamma\tud@res@a\@tud@res@swatrue\fi%
        \ifx\Gamma\tud@res@b\@tud@res@swatrue\fi%
      \fi%
      \if@tud@res@swa%
        \def\tud@res@c{\TUD@key@preset{slantedgreek}{true}}%
      \fi%
    \fi%
    \edef\tud@res@c{\endgroup\expandonce\tud@res@c}%
  \tud@res@c%
}
\newcommand*\tud@cdmath@init{%
  \@tud@res@swafalse%
  \if@tud@cdmath@fam@exist%
    \@tud@res@swatrue%
    \if@tud@cdoldfont@active\else%
      \tud@if@fdfileexists{LGR}{cmr}{}{%
        \@tud@res@swafalse%
        \def\tud@res@a{%
          \ClassWarningNoLine{\TUD@Class@Name}%
          {%
            The packages `cbfonts/cbgreek' and\MessageBreak%
            `cbfonts-fd' have to be installed for using\MessageBreak%
            corporate design fonts in math mode. As they\MessageBreak%
            are not, standard math versions are applied%
          }%
        }%
        \if@tud@cdmath@active%
          \tud@res@a%
        \else%
          \eappto\tud@cdmath@wrn{\expandonce\tud@res@a}%
        \fi%
      }%
    \fi%
  \fi%
  \if@tud@res@swa%
    \if@tud@cdoldfont@active\else%
      \if@tud@cdmath@active%
        \def\tud@res@a##1{%
          \ClassWarningNoLine{\TUD@Class@Name}%
          {%
            You should not load package `##1'\MessageBreak%
            manually when option `cdmath=true' is active as\MessageBreak%
            TUD-Script uses package `mathastext' internally\MessageBreak%
            with a specific set of required options for the\MessageBreak%
            math font setup%
          }%
        }%
        \@ifpackageloaded{sansmath}{%
          \tud@res@a{sansmath}%
        }{}%
        \@ifpackageloaded{mathastext}{%
          \tud@res@a{mathastext}%
        }{}%
      \fi%
      \PassOptionsToPackage{%
        subdued,defaultmathsizes,nosmalldelims,noequal,%
        defaultrm,defaultbf,defaultit,defaultsf,defaulttt%
      }{mathastext}%
      \RequirePackage{mathastext}
      \tud@math@declare@lgrgreeks{cmr}{m}{bx}{n}{it}%
    \fi%
    \providecommand*\MTDeclareVersion[6][]{\DeclareMathVersion{##2}}%
    \tud@cdmath@@init%
    \if@tud@cdoldfont@active%
      \tud@res@cnt=\z@\relax%
      \tud@math@loop@greeks@uc\tud@cdmath@declare@greek@uc%
      \tud@math@loop@greeks@lc\tud@cdmath@declare@greek@lc%
    \else%
      \tud@cdmath@declare@greek@lgr%
    \fi%
    \tud@cdmath@declare@char{*}{\mathbin}{symbols}{"03}%
    \tud@cdmath@also@greeks%
  \fi%
  \if@tud@cdoldfont@active%
    \if@tud@cdmath@db@exist%
      \tud@cdmath@db@init{\tud@cdfont@db}%
    \else%
      \let\mv@tuddin\mv@bold%
    \fi%
  \fi%
}
\newcommand*\tud@cdmath@set{}
\newcommand*\tud@cdmath@normal@name{tudnormal@\tud@cdfont@md\tud@cdfont@bf}%
\newcommand*\tud@cdmath@bold@name{tudbold@\tud@cdfont@md\tud@cdfont@bf}%
\newcommand*\tud@cdmath@@init{%
  \begingroup%
    \let\tud@res@b\@empty%
    \def\tud@res@a##1##2{%
      \setbool{@tud@cdfont@heavy}{##1}%
      \setbool{@tud@cdfont@ultrabold}{##2}%
      \tud@cdfont@@set%
      \tud@ttfont@@set%
      \eappto\tud@res@b{%
        \noexpand\tud@cdmath@@@init%
          {\tud@cdmath@normal@name}%
          {\tud@cdmath@bold@name}%
          {\tud@cdfont@fam@lf}{\tud@cdfont@md}{\tud@cdfont@bf}{\tud@cdfont@ebf}%
          {\tud@ttfont@fam}{\tud@ttfont@md}{\tud@ttfont@bf}%
      }%
    }%
    \tud@res@a{false}{false}%
    \tud@res@a{false}{true}%
    \tud@res@a{true}{false}%
    \tud@res@a{true}{true}%
    \if@tud@cdfont@active\else%
      \preto\tud@res@b{%
        \@tud@cdfont@activetrue%
        \tud@font@set[]%
      }%
      \appto\tud@res@b{%
        \@tud@cdfont@activefalse%
        \tud@font@set[]%
      }%
    \fi%
    \preto\tud@res@b{\endgroup}%
  \tud@res@b%
  \renewcommand*\tud@cdmath@set{%
    \begingroup%
      \tud@cdfont@@set%
      \edef\tud@res@a{%
        \endgroup%
        \unexpanded{\letcs\mv@normal}{mv@\tud@cdmath@normal@name}%
        \unexpanded{\letcs\mv@bold}{mv@\tud@cdmath@bold@name}%
      }%
    \tud@res@a%
  }%
}
\newcommand*\tud@cdmath@@@init[9]{%
  \if@tud@cdoldfont@active%
    \DeclareMathVersion{#1}%
    \DeclareMathVersion{#2}%
    \SetSymbolFont{operators}{#1}{OT1}{#3}{#4}{n}%
    \SetSymbolFont{operators}{#2}{OT1}{#3}{#5}{n}%
    \SetSymbolFont{letters}{#1}{OML}{#3}{#4}{it}%
    \SetSymbolFont{letters}{#2}{OML}{#3}{#5}{it}%
    \SetSymbolFont{symbols}{#1}{OMS}{#3}{#4}{n}%
    \SetSymbolFont{symbols}{#2}{OMS}{#3}{#5}{n}%
    \SetSymbolFont{largesymbols}{#1}{OMX}{iwona}{#4}{n}%
    \SetSymbolFont{largesymbols}{#2}{OMX}{iwona}{#5}{n}%
    \SetMathAlphabet{\mathnormal}{#1}{OML}{#3}{#4}{it}%
    \SetMathAlphabet{\mathnormal}{#2}{OML}{#3}{#5}{it}%
    \tud@if@ismathalphabet{\mathbold}{%
      \SetMathAlphabet{\mathbold}{#1}{OML}{#3}{#5}{it}%
      \SetMathAlphabet{\mathbold}{#2}{OML}{#3}{#6}{it}%
    }{}%
  \else%
    \MTDeclareVersion[it]{#1}{\tud@x@mathastext@enc}{#3}{#4}{n}%
    \MTDeclareVersion[it]{#2}{\tud@x@mathastext@enc}{#3}{#5}{n}%
    \SetSymbolFont{operators}{#1}{OT1}{iwona}{#4}{n}%
    \SetSymbolFont{operators}{#2}{OT1}{iwona}{#5}{n}%
    \SetSymbolFont{letters}{#1}{OML}{iwona}{#4}{it}%
    \SetSymbolFont{letters}{#2}{OML}{iwona}{#5}{it}%
    \SetSymbolFont{symbols}{#1}{OMS}{iwona}{#4}{n}%
    \SetSymbolFont{symbols}{#2}{OMS}{iwona}{#5}{n}%
    \SetSymbolFont{largesymbols}{#1}{OMX}{iwona}{#4}{n}%
    \SetSymbolFont{largesymbols}{#2}{OMX}{iwona}{#5}{n}%
    \SetSymbolFont{tuditgrk}{#1}{LGR}{#3}{#4}{it}%
    \SetSymbolFont{tuditgrk}{#2}{LGR}{#3}{#5}{it}%
    \SetSymbolFont{tudupgrk}{#1}{LGR}{#3}{#4}{n}%
    \SetSymbolFont{tudupgrk}{#2}{LGR}{#3}{#5}{n}%
    \tud@if@ismathalphabet{\mathbold}{%
      \SetMathAlphabet{\mathbold}{#1}{\tud@x@mathastext@enc}{#3}{#5}{it}%
      \SetMathAlphabet{\mathbold}{#2}{\tud@x@mathastext@enc}{#3}{#6}{it}%
    }{}%
  \fi%
  \AtBeginDocument{%
    \tud@if@issymbolfont{legacymaths}{%
      \SetSymbolFont{legacymaths}{#1}{OT1}{#3}{#4}{n}%
      \SetSymbolFont{legacymaths}{#2}{OT1}{#3}{#5}{n}%
    }{}%
  }%
  \if@tud@cdoldfont@active%
    \def\tud@res@a{OT1}%
  \else%
    \let\tud@res@a\tud@x@mathastext@enc%
  \fi%
  \SetMathAlphabet{\mathrm}{#1}{\tud@res@a}{#3}{#4}{n}%
  \SetMathAlphabet{\mathrm}{#2}{\tud@res@a}{#3}{#5}{n}%
  \SetMathAlphabet{\mathbf}{#1}{\tud@res@a}{#3}{#5}{n}%
  \SetMathAlphabet{\mathbf}{#2}{\tud@res@a}{#3}{#6}{n}%
  \SetMathAlphabet{\mathsf}{#1}{\tud@res@a}{#3}{#4}{n}%
  \SetMathAlphabet{\mathsf}{#2}{\tud@res@a}{#3}{#5}{n}%
  \SetMathAlphabet{\mathit}{#1}{\tud@res@a}{#3}{#4}{it}%
  \SetMathAlphabet{\mathit}{#2}{\tud@res@a}{#3}{#5}{it}%
  \SetMathAlphabet{\mathtt}{#1}{\tud@res@a}{#7}{#8}{n}%
  \SetMathAlphabet{\mathtt}{#2}{\tud@res@a}{#7}{#9}{n}%
  \IfFileExists{ueus.fd}{%
    \SetMathAlphabet{\mathcal}{#1}{U}{eus}{m}{n}%
    \SetMathAlphabet{\mathcal}{#2}{U}{eus}{b}{n}%
  }{}%
  \tud@if@ismathalphabet{\mathfrak}{%
    \IfFileExists{ueuf.fd}{%
      \SetMathAlphabet{\mathfrak}{#1}{U}{euf}{m}{n}%
      \SetMathAlphabet{\mathfrak}{#2}{U}{euf}{b}{n}%
    }{}%
  }{}%
  \AtBeginDocument{%
    \@tud@res@swafalse%
    \tud@if@issymbolfont{AMSa}{\@tud@res@swatrue}{}%
    \tud@if@issymbolfont{AMSb}{\@tud@res@swatrue}{}%
    \if@tud@res@swa%
      \if@tud@cdoldfont@active%
        \DeclareFontFamily{U}{#3a}{}%
        \DeclareFontShape{U}{#3a}{m}{n}{<->cmbras10}{}%
        \SetSymbolFont{AMSa}{#1}{U}{#3a}{m}{n}%
        \SetSymbolFont{AMSa}{#2}{U}{#3a}{m}{n}%
        \DeclareFontFamily{U}{#3b}{}%
        \DeclareFontShape{U}{#3b}{m}{n}{<->cmbrbs10}{}%
        \SetSymbolFont{AMSb}{#1}{U}{#3b}{m}{n}%
        \SetSymbolFont{AMSb}{#2}{U}{#3b}{m}{n}%
      \else%
        \@ifpackageloaded{mdsymbol}{}{%
          \appto\tud@cdmath@wrn{%
            \ClassInfoNoLine{\TUD@Class@Name}%
            {%
              You may load package `mdsymbol' in order to\MessageBreak%
              get symbols matching the used math font%
            }%
          }%
        }%
      \fi%
    \fi%
  }%
}
\if@tud@cdoldfont@active
  \newcommand*\tud@cdmath@db@init[1]{%
    \DeclareMathVersion{tuddin}%
    \SetSymbolFont{operators}{tuddin}{OT1}{#1}{b}{n}%
    \SetSymbolFont{letters}{tuddin}{OML}{#1}{b}{it}%
    \SetSymbolFont{symbols}{tuddin}{OMS}{#1}{b}{n}%
    \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}%
    \AtBeginDocument{%
      \tud@if@issymbolfont{legacymaths}{%
        \SetSymbolFont{legacymaths}{tuddin}{OT1}{#1}{b}{n}%
      }{}%
    }%
    \SetMathAlphabet{\mathnormal}{tuddin}{OML}{#1}{b}{it}%
    \tud@if@ismathalphabet{\mathbold}{%
      \SetMathAlphabet{\mathbold}{tuddin}{OML}{#1}{b}{it}%
    }{}%
    \SetMathAlphabet{\mathrm}{tuddin}{OT1}{#1}{b}{n}%
    \SetMathAlphabet{\mathbf}{tuddin}{OT1}{#1}{b}{n}%
    \SetMathAlphabet{\mathsf}{tuddin}{OT1}{#1}{b}{n}%
    \SetMathAlphabet{\mathit}{tuddin}{OT1}{#1}{b}{it}%
    \IfFileExists{ueus.fd}{%
      \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}%
    }{}%
    \tud@if@ismathalphabet{\mathfrak}{%
      \IfFileExists{ueuf.fd}{%
        \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}%
      }{}%
    }{}%
    \AtBeginDocument{%
      \if@tud@cdmath@active%
        \sbox\z@{\mathversion{normal}$ $\mathversion{tuddin}$ $}%
      \fi%
    }%
  }%
\fi
\AfterPackage*{mathastext}{%
  \newrobustcmd*\tud@mathversion[1]{%
    \begingroup%
      \let\tud@res@a\relax%
      \if@tud@cdmath@active%
        \tud@if@strequal{#1}{normal}{%
          \edef\tud@res@a{\tud@cdmath@normal@name}%
        }{%
          \tud@if@strequal{#1}{bold}{%
            \edef\tud@res@a{\tud@cdmath@bold@name}%
          }{}%
        }%
      \fi%
      \edef\tud@res@a{%
        \endgroup%
        \noexpand\tud@cs@restore{mathversion}%
        \ifx\tud@res@a\relax%
          \noexpand\mathversion{#1}%
        \else%
          \noexpand\MTversion*{\tud@res@a}%
        \fi%
        \noexpand\tud@cs@store{mathversion}%
        \noexpand\tud@cs@letltx{mathversion}{tud@mathversion}%
      }%
    \tud@res@a%
    \ifcsundef{mv@#1}{}{\edef\math@version{#1}}%
  }%
  \AtEndPreamble{%
    \tud@cs@store{mathversion}%
    \tud@cs@letltx{mathversion}{tud@mathversion}%
  }%
}
\newcommand*\tud@cdmath@symb@list{}
\newcommand*\tud@cdmath@declare@symb[4]{%
  \listeadd\tud@cdmath@symb@list{#1}%
  \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
}
\newcommand*\tud@cdmath@declare@alias[2]{%
  \listeadd\tud@cdmath@symb@list{#1}%
  \ifcsundef{tud@cdmath@symbol@#2}{}{%
    \csletcs{tud@cdmath@symbol@#1}{tud@cdmath@symbol@#2}%
  }%
}
\newcommand*\tud@cdmath@char@list{}
\newcommand*\tud@cdmath@declare@char[4]{%
  \listeadd\tud@cdmath@char@list{#1}%
  \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
}
\newcommand*\tud@DeclareMathSymbol[4]{%
  \begingroup%
    \edef\tud@res@a{%
      \endgroup%
      \noexpand\DeclareMathSymbol%
        {\csname tud@cdmath@symbol@#1\endcsname}%
        {\unexpanded{#2}}{#3}{#4}%
    }%
  \tud@res@a%
}
\tud@newtoks\tud@cdmath@symbols@toks
\newcommand*\tud@cdmath@symbols@set{%
  \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdmath@symbols@toks}{%
    \forlistloop\tud@cdmath@symbols@set@cmd\tud@cdmath@symb@list%
    \forlistloop\tud@cdmath@symbols@set@chr\tud@cdmath@char@list%
    \addto@hook\tud@cdmath@symbols@toks{\tud@cdmath@symbols@toks{}}%
  }{}%
}
\newcommand*\tud@cdmath@symbols@set@cmd[1]{%
  \ifcsundef{#1}{%
    \addto@hook\tud@cdmath@symbols@toks{\csundef{#1}}%
  }{%
    \tud@cs@store{#1}%
    \addto@hook\tud@cdmath@symbols@toks{\tud@cs@restore{#1}}%
  }%
  \ifcsundef{tud@cdmath@symbol@#1}{%
    \csundef{#1}%
  }{%
    \tud@cs@letltx{#1}{tud@cdmath@symbol@#1}%
  }%
}
\newcommand*\tud@cdmath@symbols@set@chr[1]{%
  \edef\tud@res@a{\global\mathcode`#1=\the\mathcode`#1\relax}%
  \addto@hook@expandafter\tud@cdmath@symbols@toks{\tud@res@a}%
  \begingroup%
    \edef\tud@res@a{\expandafter\meaning\csname tud@cdmath@symbol@#1\endcsname}%
    \def\tud@res@b##1"##2\@nil{"##2}%
    \edef\tud@res@c{\expandafter\tud@res@b\tud@res@a\@nil}%
    \edef\tud@res@a{%
      \endgroup%
      \global\mathcode`#1=\tud@res@c%
    }%
  \tud@res@a%
}
\newcommand*\tud@cdmath@symbols@reset{\the\tud@cdmath@symbols@toks}
\newcommand*\tud@cdmath@declare@greek@uc[1]{%
  \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
  \tud@cdmath@declare@symb{up#1}{\mathalpha}{operators}{\the\tud@res@cnt}%
  \advance\tud@res@cnt\@ne\relax%
}
\newcommand*\tud@cdmath@declare@greek@lc[1]{%
  \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
  \listeadd\tud@cdmath@symb@list{up#1}%
  \advance\tud@res@cnt\@ne\relax%
}
\newcommand*\tud@cdmath@declare@greek@lgr{%
  \tud@cdmath@declare@greek@@lgr{Gamma}{71}%
  \tud@cdmath@declare@greek@@lgr{Delta}{68}%
  \tud@cdmath@declare@greek@@lgr{Theta}{74}%
  \tud@cdmath@declare@greek@@lgr{Lambda}{76}%
  \tud@cdmath@declare@greek@@lgr{Xi}{88}%
  \tud@cdmath@declare@greek@@lgr{Pi}{80}%
  \tud@cdmath@declare@greek@@lgr{Sigma}{83}%
  \tud@cdmath@declare@greek@@lgr{Upsilon}{85}%
  \tud@cdmath@declare@greek@@lgr{Phi}{70}%
  \tud@cdmath@declare@greek@@lgr{Psi}{89}%
  \tud@cdmath@declare@greek@@lgr{Omega}{87}%
  \tud@cdmath@declare@greek@@lgr{alpha}{97}%
  \tud@cdmath@declare@greek@@lgr{beta}{98}%
  \tud@cdmath@declare@greek@@lgr{gamma}{103}%
  \tud@cdmath@declare@greek@@lgr{delta}{100}%
  \tud@cdmath@declare@greek@@lgr{epsilon}{101}%
  \tud@cdmath@declare@greek@@lgr{zeta}{122}%
  \tud@cdmath@declare@greek@@lgr{eta}{104}%
  \tud@cdmath@declare@greek@@lgr{theta}{106}%
  \tud@cdmath@declare@greek@@lgr{iota}{105}%
  \tud@cdmath@declare@greek@@lgr{kappa}{107}%
  \tud@cdmath@declare@greek@@lgr{lambda}{108}%
  \tud@cdmath@declare@greek@@lgr{mu}{109}%
  \tud@cdmath@declare@greek@@lgr{nu}{110}%
  \tud@cdmath@declare@greek@@lgr{xi}{120}%
  \tud@cdmath@declare@greek@@lgr{pi}{112}%
  \tud@cdmath@declare@greek@@lgr{rho}{114}%
  \tud@cdmath@declare@greek@@lgr{sigma}{115}%
  \tud@cdmath@declare@greek@@lgr{tau}{116}%
  \tud@cdmath@declare@greek@@lgr{upsilon}{117}%
  \tud@cdmath@declare@greek@@lgr{phi}{102}%
  \tud@cdmath@declare@greek@@lgr{chi}{113}%
  \tud@cdmath@declare@greek@@lgr{psi}{121}%
  \tud@cdmath@declare@greek@@lgr{omega}{119}%
  \tud@cdmath@declare@greek@@lgr{varepsilon}{101}%
  \tud@cdmath@declare@greek@@lgr{vartheta}{106}%
  \tud@cdmath@declare@greek@@lgr{varpi}{119}%
  \tud@cdmath@declare@greek@@lgr{varrho}{114}%
  \tud@cdmath@declare@greek@@lgr{varsigma}{99}%
  \tud@cdmath@declare@greek@@lgr{varphi}{102}%
}
\newcommand*\tud@cdmath@declare@greek@@lgr[2]{%
  \tud@cdmath@declare@symb{it#1}{\mathord}{tuditgrk}{#2}%
  \tud@cdmath@declare@symb{up#1}{\mathord}{tudupgrk}{#2}%
  \ifluatex%
    \begingroup%
      \def\tud@res@a{\if@tud@cdmath@active\fontencoding{LGR}\selectfont{}\fi}%
      \def\tud@res@b##1{%
        \csxdef{tud@cdmath@symbol@##1}{%
          {%
            \mathchar\expandafter\the\csuse{tud@cdmath@symbol@##1}%
            \expandonce\tud@res@a%
          }%
        }%
      }%
      \tud@res@b{it#1}%
      \tud@res@b{up#1}%
    \endgroup%
  \fi%
}
\newcommand*\tud@cdmath@also@greeks{%
  \tud@math@loop@greeks@all\tud@cdmath@also@@greeks%
  \tud@math@loop@greeks@uc\tud@cdmath@also@@@greeks%
}
\newcommand*\tud@cdmath@also@@greeks[1]{%
  \tud@cdmath@declare@alias{#1}{it#1}%
  \tud@cdmath@declare@alias{other#1}{up#1}%
  \ifcsundef{#1up}{}{%
    \tud@cdmath@declare@alias{#1up}{up#1}%
  }%
  \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
    \ifcsundef{\tud@res@a}{}{%
      \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{it#1}%
    }%
  }%
  \ifcsundef{#1other}{}{%
    \tud@cdmath@declare@alias{#1other}{other#1}%
  }%
}
\newcommand*\tud@cdmath@also@@@greeks[1]{%
  \tud@strlowercase\tud@res@a{#1}%
  \edef\tud@res@a{Up\tud@res@a}%
  \ifcsundef{\tud@res@a}{}{%
    \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{up#1}%
  }%
  \ifcsundef{var#1}{}{%
    \expandafter\tud@cdmath@declare@alias\expandafter{var#1}{it#1}%
  }%
}
\newcommand*\tud@math@set[1][\tud@cdmath@wrn]{%
  \if@tud@cdmath@active%
    #1%
    \tud@cs@store{mv@normal}%
    \tud@cs@store{mv@bold}%
    \tud@cdmath@set%
    \tud@cdmath@symbols@set%
    \ifcase\tud@slantedgreek@num\relax% upright
      \tud@math@loop@greeks@all\tud@math@upright@greeks%
    \or% slanted
      \tud@math@loop@greeks@all\tud@math@slanted@greeks%
    \or% standard
      \tud@math@loop@greeks@uc\tud@math@upright@greeks%
      \tud@math@loop@greeks@lc\tud@math@slanted@greeks%
    \fi%
  \else%
    \tud@cs@restore{mv@normal}%
    \tud@cs@restore{mv@bold}%
    \tud@cdmath@symbols@reset%
  \fi%
  \expandafter\mathversion\expandafter{\math@version}%
}
\newcommand*\tud@math@upright@greeks[1]{%
  \ifcsundef{up#1}{}{%
    \csletcs{#1}{up#1}%
    \csletcs{other#1}{it#1}%
  }%
}
\newcommand*\tud@math@slanted@greeks[1]{%
  \ifcsundef{up#1}{}{%
    \csletcs{#1}{it#1}%
    \csletcs{other#1}{up#1}%
  }%
}
\newcommand*\tud@font@phantomglyphs{\"A\"O\"Ugjpqy}
\newcommand*\tud@head@font@light{}
\newcommand*\tud@head@font@bold{}
\newcommand*\tud@head@font@set{%
  \if@tud@cdfont@active\ifcase\tud@head@font@num\relax% false
    \if@tud@head@font@set%
      \ClassWarning{\TUD@Class@Name}{%
        It isn't possible to use `cdhead=false'\MessageBreak%
        together with `cdfont=true'%
      }%
    \fi%
    \if@tud@cdfont@heavy%
      \TUDoptions{cdhead=heavy}%
    \else%
      \TUDoptions{cdhead=true}%
    \fi%
  \fi\fi%
  \if@tud@head@font@set%
    \if@tud@x@mweights@enabled%
      \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
        {\sfdefault}{\mdseries@sf}{\shapedefault}{\tud@head@fontsize}%
      \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
        {\sfdefault}{\bfseries@sf}{\shapedefault}{\tud@head@fontsize}%
    \else%
      \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
        {\sfdefault}{\mddefault}{\shapedefault}{\tud@head@fontsize}%
      \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
        {\sfdefault}{\bfdefault}{\shapedefault}{\tud@head@fontsize}%
    \fi%
    \ifcase\tud@head@font@num\relax\else% true/heavy
      \tud@head@cdfont@set%
    \fi%
    \global\@tud@head@font@setfalse%
    \global\@tud@head@text@settrue%
  \fi%
}
\newcommand*\tud@head@cdfont@set{%
  \if@tud@cdfont@fam@exist%
    \ifcase\tud@head@font@num\relax\or% true
      \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
        {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
      \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
        {\tud@cdfont@fam@lf}{sb}{n}{\tud@head@fontsize}%
    \or% heavy
      \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
        {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
      \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
        {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
    \fi%
  \fi%
}
\if@tud@cdoldfont@active
  \renewcommand*\tud@head@cdfont@set{%
    \if@tud@cdfont@fam@exist%
      \ifcase\tud@head@font@num\relax\or% true
        \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
          {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
      \or% heavy
        \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
          {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
      \fi%
      \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
        {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
    \fi%
  }%
\fi
\begingroup
\catcode`\^=7
\catcode30=12
\catcode`\!=12
\edef\tud@reserved{\@gobble^^^^0021}
\expandafter\endgroup
\ifx\tud@reserved\@empty
  \RequirePackage{newunicodechar}
  \uccode"00DF="1E9E
  \lccode"1E9E="00DF
  \newunicodechar{^^^^00df}{\iffontchar\font"00DF \symbol{"00DF}\else ss\fi}
  \newunicodechar{^^^^1e9e}{\iffontchar\font"1E9E \symbol{"1E9E}\else SS\fi}
\fi
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage*{ragged2e}{%
  \ifundef{\LaTeXraggedright}{}{%
    \renewcommand*\tud@raggedright{\LaTeXraggedright}%
  }%
  \renewcommand*\tud@RaggedRight{\RaggedRight}%
}
\AfterAtEndOfPackage*{siunitx}{%
  \IfPackageAtLeastTF{siunitx}{2021-04-18}{%
    \newcommand*\tud@x@siunitx@mapping{%
      \if@tud@cdfont@active
        \csname keys_set:nx\endcsname { siunitx / series-version-mapping }
          {
            \tud@cdfont@md  = normal,
            \tud@cdfont@bf  = bold,
            \tud@cdfont@ebf = bold
          }
      \else
        \csname keys_set:nn\endcsname { siunitx / series-version-mapping }
          {
            ul = light  ,
            el = light  ,
            l  = light  ,
            sl = light  ,
            m  = normal ,
            sb = bold   ,
            b  = bold   ,
            eb = bold   ,
            ub = bold
          }
      \fi
    }
    \xapptocmd\tud@font@set%
      {\tud@x@siunitx@mapping}%
      {}{\tud@patch@wrn{tud@font@set}}%
  }{%
    \newcommand*\tud@x@siunitx@reset{}%
    \providecommand*\lseries{\fontseries{l}\selectfont}%
    \AtEndPreamble{%
      \if@tud@cdfont@active%
        \if@tud@cdfont@heavy%
          \def\tud@x@siunitx@reset{\TUDoptions{cdfont=heavy}}%
        \else%
          \def\tud@x@siunitx@reset{\TUDoptions{cdfont=true}}%
        \fi%
        \appto\tud@x@siunitx@reset{\tud@font@set[]}%
        \TUDoptions{cdfont=false}%
        \tud@font@set[]%
      \fi%
    }%
    \AtBeginDocument{\tud@x@siunitx@reset}%
  }
}
\tud@newif\if@tud@x@bm@requested
\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm}
\newcommand*\tud@x@bm@delayed{%
  \if@tud@x@bm@requested%
    \UnPreventPackageFromLoading{bm}%
    \if@tud@cdmath@active%
      \tud@cs@store{mv@normal}%
      \tud@cs@store{mv@bold}%
      \tud@cdmath@set%
    \fi%
    \RequirePackage{bm}
    \tud@cs@restore{mv@normal}%
    \tud@cs@restore{mv@bold}%
  \fi%
  \let\tud@x@bm@delayed\relax%
}
\BeforePackage{mathastext}{\tud@x@bm@delayed}
\AtEndPreamble{%
  \if@tud@x@mweights@enabled%
    \ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}%
    \ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}%
    \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
    \ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
    \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
    \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
  \fi%
  \tud@cdfont@check%
  \tud@cdfont@init%
  \tud@ttfont@init%
  \tud@font@set%
  \tud@cdmath@init%
  \tud@x@bm@delayed%
  \tud@math@map@greeks%
  \tud@math@checkslanted@greeks%
  \AtBeginDocument{\tud@math@set}%
}
%%%% From File: tudscr-fields.dtx (no git version info was found)
\newcommand*\getfield[2][\@firstofone]{%
  \begingroup%
    \def\tud@res@b{#1}%
    \ifcsdef{@@#2}{%
      \letcs\tud@res@a{@@#2}%
    }{%
      \ifcsdef{@#2}{%
        \letcs\tud@res@a{@#2}%
      }{%
        \let\tud@res@a\@empty%
        \ClassWarning{\TUD@Class@Name}{%
          The internal field `@#2' does not exist%
        }%
      }%
    }%
    \edef\tud@res@a{%
      \endgroup%
      \expandonce\tud@res@b{\expandonce\tud@res@a}%
    }%
  \tud@res@a%
}
\newcommand*\@faculty{}
\newcommand*\@department{}
\newcommand*\@institute{}
\newcommand*\@chair{}
\newcommand*\faculty{\@dblarg{\tud@head@text@field{faculty}}}
\newcommand*\department{\@dblarg{\tud@head@text@field{department}}}
\newcommand*\institute{\@dblarg{\tud@head@text@field{institute}}}
\newcommand*\chair{\@dblarg{\tud@head@text@field{chair}}}
\newcommand*\@extraheadline{}
\newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}[]{#1}}
\newcommand*\tud@head@text@field{}
\def\tud@head@text@field#1[#2]#3{%
  \expandafter\tud@trim@field\csname @#1\endcsname{#3}%
  \global\@tud@head@text@settrue%
}
\newcommand*\tud@trim@field[2]{%
  \def#1{#2}%
  \trim@spaces@in#1%
  \global\let#1#1%
}
\newcommand*\@@title{}
\robustify\@title
\renewcommand*\title[1]{%
  \tud@trim@field\@title{#1}%
  \begingroup%
    \let\thanks\@gobble%
    \let\footnote\@gobble%
    \def\newline{\space\ignorespaces}%
    \def\\{\space\ignorespaces}%
    \protected@xdef\@@title{\trim@spaces{#1}}%
  \endgroup%
}
\newcommand*\@@author{}
\renewcommand*\author[1]{%
  \tud@trim@field\@author{#1}%
  \begingroup%
    \let\thanks\@gobble%
    \let\footnote\@gobble%
    \def\newline{\space\ignorespaces}%
    \def\\{\space\ignorespaces}%
    \let\@tempc\relax%
    \def\@tempa##1{\csedef{##1}####1{\@tempc}}%
    \let\@tempb\tud@split@author@list%
    \ifx\and\relax\else%
      \robustify\and%
    \fi%
    \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
    \def\@tempa##1##2{%
      \def\@tempb####1##2####2\@nil{%
        \IfArgIsEmpty{####2}{%
          \def##1{####1}%
        }{%
          \@tempb####1####2\@nil%
        }%
      }%
      \expandafter\@tempb##1##2\@nil%
    }%
    \protected@edef\@@author{#1}%
    \@tempa{\@@author}{ \@tempc }%
    \@tempa{\@@author}{\@tempc }%
    \@tempa{\@@author}{ \@tempc}%
    \@tempa{\@@author}{\@tempc}%
    \xdef\@@author{\expandonce\@@author}%
  \endgroup%
}
\newcommand*\@authormore{}
\newrobustcmd*\authormore[1]{\tud@trim@field\@authormore{#1}}
\newcommand*\@emailaddress{}
\newrobustcmd*\emailaddress[2][]{%
  \kernel@ifstar%
    {\tud@emailaddress@simple{#2}}%
    {\tud@emailaddress@hyper[{#1}]{#2}}%
}
\newrobustcmd*\tud@emailaddress@simple[1]{\tud@trim@field\@emailaddress{#1}}
\newrobustcmd*\tud@emailaddress@hyper[2][]{\tud@trim@field\@emailaddress{#2}}
\AfterPackage{hyperref}{%
  \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
    \tud@trim@field\@emailaddress{#2}%
    \xdef\@emailaddress{%
      \begingroup%
        \noexpand\urlstyle{same}%
        \unexpanded{\hypersetup{#1}}%
        \noexpand\href%
          {mailto:\expandonce\@emailaddress}%
          {\noexpand\nolinkurl{\expandonce\@emailaddress}}%
      \endgroup%
    }%
  }%
}
\newcommand*\@course{}
\newrobustcmd*\course[1]{\tud@trim@field\@course{#1}}
\newcommand*\@discipline{}
\newrobustcmd*\discipline[1]{\tud@trim@field\@discipline{#1}}
\newcommand*\@matriculationnumber{}
\newrobustcmd*\matriculationnumber[1]{\tud@trim@field\@matriculationnumber{#1}}
\newcommand*\@matriculationyear{}
\newrobustcmd*\matriculationyear[1]{\tud@trim@field\@matriculationyear{#1}}
\newcommand*\@placeofbirth{}
\newrobustcmd*\placeofbirth[1]{\tud@trim@field\@placeofbirth{#1}}
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
\newcommand*\thesis[1]{\tud@thesis@evaluate{thesis}{#1}}
\CheckCommand*\subject[1]{\gdef\@subject{#1}}
\newcommand*\@@subject{}
\renewcommand*\subject[1]{\tud@thesis@evaluate{subject}{#1}}
\newcommand*\tud@thesis@evaluate[2]{%
  \begingroup%
    \expandafter\tud@trim@field\csname @#1\endcsname{#2}%
    \let\tud@res@c\@empty%
    \def\thanks##1{\listgadd\tud@res@c{##1}}%
    \let\footnote\thanks%
    \sbox\z@{#2}%
    \let\thanks\@gobble%
    \let\footnote\@gobble%
    \protected@csxdef{@@#1}{\trim@spaces{#2}}%
    \letcs\tud@res@a{@@#1}%
    \TUD@set@numkey{thesis}{@tempa}{%
      {habil}{0},
      {diss}{1},{doctoral}{1},{phd}{1},
      {diploma}{2},
      {master}{3},
      {bachelor}{4},
      {student}{5},
      {evidence}{6},
      {project}{7},
      {seminar}{8},
      {term}{9},
      {research}{10},
      {log}{11},
      {report}{12},
      {internship}{13}
    }{\tud@res@a}%
    \ifx\FamilyKeyState\FamilyKeyStateProcessed%
      \ifcase\@tempa\relax% habil
        \def\tud@res@a{\habilitationname}%
      \or% diss
        \def\tud@res@a{\dissertationname}%
      \or% diploma
        \def\tud@res@a{\diplomathesisname}%
      \or% master
        \def\tud@res@a{\masterthesisname}%
      \or% bachelor
        \def\tud@res@a{\bachelorthesisname}%
      \or% student
        \def\tud@res@a{\studentthesisname}%
      \or% evidence
        \def\tud@res@a{\studentresearchname}%
      \or% project
        \def\tud@res@a{\projectpapername}%
      \or% seminar
        \def\tud@res@a{\seminarpapername}%
      \or% term
        \def\tud@res@a{\termpapername}%
      \or% research
        \def\tud@res@a{\researchname}%
      \or% log
        \def\tud@res@a{\logname}%
      \or% report
        \def\tud@res@a{\reportname}%
      \or% internship
        \def\tud@res@a{\internshipname}%
      \else%
        \FamilyKeyStateUnknownValue%
      \fi%
    \fi%
    \ifx\FamilyKeyState\FamilyKeyStateProcessed%
      \global\cslet{@@#1}\tud@res@a%
      \tud@if@strequal{#1}{subject}{%
        \ifx\@@thesis\@empty\global\let\@@thesis\@@subject\fi%
      }{}%
      \def\do##1{\appto\tud@res@a{\thanks{##1}}}%
      \dolistloop{\tud@res@c}%
    \fi%
    \edef\tud@res@a{%
      \endgroup%
      \ifx\FamilyKeyState\FamilyKeyStateProcessed%
        \noexpand\csgdef{@#1}{\expandonce\tud@res@a}%
      \fi%
    }%
  \tud@res@a%
}
\newcommand*\@graduation{}
\newcommand*\@graduationabbreviation{}
\newcommand*\graduation[2][]{%
  \tud@trim@field\@graduationabbreviation{#1}%
  \tud@trim@field\@graduation{#2}%
}
\newcommand*\@professor{}
\newcommand*\professor[1]{\tud@trim@field\@professor{#1}}
\newcommand*\@supervisor{}
\newcommand*\supervisor[1]{\tud@trim@field\@supervisor{#1}}
\newcommand*\@supporter{}
\newcommand*\supporter[1]{\tud@trim@field\@supporter{#1}}
\newcommand*\@company{}
\newcommand*\company[1]{\tud@trim@field\@company{#1}}
\newcommand*\@referee{}
\newcommand*\referee[1]{\tud@trim@field\@referee{#1}}
\newcommand*\@advisor{}
\newcommand*\advisor[1]{\tud@trim@field\@advisor{#1}}
\tud@newglue\tud@glue@signaturevskip
\tud@setglue\tud@glue@signaturevskip{8ex plus 6ex minus 6ex}
\newcommand*\@confirmationclosing{%
  \tud@date@check%
  \ifx\@date\@empty\else%
    \medskip\noindent%
    \ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
  \fi%
  \vskip\tud@glue@signaturevskip\noindent%
  \begingroup%
    \let\and\hfil%
    \@@author\hfil%
  \endgroup%
}
\newcommand*\confirmationclosing[1]{\tud@trim@field\@confirmationclosing{#1}}
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\tud@trim@field\@place{#1}}
\CheckCommand*\subtitle[1]{\gdef\@subtitle{#1}}
\renewcommand*\subtitle[1]{\tud@trim@field\@subtitle{#1}}
\CheckCommand\publishers[1]{\gdef\@publishers{#1}}%
\renewcommand*\publishers[1]{\tud@trim@field\@publishers{#1}}
\providecommand*\publisher[1]{\publishers{#1}}
\TUD@UnwindPackage{isodate}{%
  \@ifpackageloaded{datetime2}{%
    \providecommand*\printdate[1]{\DTMDate{#1}}%
  }{%
    \providecommand*\printdate[1]{#1}%
  }%
}
\newcommand*\tud@printdate[2]{%
  \ifx\today#2\relax%
    \gdef#1{#2}%
  \else%
    \tud@trim@field#1{#2}%
    \tud@if@strblank{#1}%
      {}%
      {\xdef#1{\noexpand\printdate{\expandonce#1}}}%
  \fi%
}
\newcommand*\tud@date@check{%
  \ifdefvoid{\@duedate}{%
    \ClassWarning{\TUD@Class@Name}{%
      `\string\date' was not given\MessageBreak%
      Since a thesis is a self-contained work, an end\MessageBreak%
      date should be specified by the author. \MessageBreak%
      Nevertheless, today's date is used%
    }%
  }{%
    \ClassWarning{\TUD@Class@Name}{%
      `\string\date' was not given\MessageBreak%
      It's substituted by the given due date%
    }%
    \global\let\@date\@duedate%
  }%
  \global\let\tud@date@check\relax%
}
\renewcommand*\date{%
  \kernel@ifstar{%
    \TUD@parameter@set{date}{pre=\noexpand\@place{,}}%
    \tud@date@set%
  }{\tud@date@set}%
}
\newcommand*\tud@date@set[2][]{%
  \tud@toks@{#1}%
  \TUD@parameter@set{date}{\the\tud@toks@}%
  \tud@printdate{\@date}{#2}%
  \global\let\tud@date@check\relax%
}
\newcommand*\@beforedate{}
\newcommand*\@afterdate{}
\TUD@parameter@family{date}{%
  \TUD@parameter@def{before}{\def\@beforedate{#1}}%
  \TUD@parameter@let{pre}{before}%
  \TUD@parameter@let{prefix}{before}%
  \TUD@parameter@def{after}{\def\@afterdate{#1}}%
  \TUD@parameter@let{app}{after}%
  \TUD@parameter@let{suffix}{after}%
  \TUD@parameter@def{place}{\def\@place{#1}\def\@beforedate{#1,}}%
  \TUD@parameter@handler@value{after}%
}
\newcommand*\tud@date@print{%
  \ifx\@date\@empty\else%
    \trim@spaces@in\@beforedate%
    \ifx\@beforedate\@empty\else%
      \@beforedate\nobreakspace%
    \fi%
    \@date%
    \trim@spaces@in\@afterdate%
    \ifx\@afterdate\@empty\else%
      \nobreakspace\@afterdate%
    \fi%
  \fi%
}
\newcommand*\@defensedate{}
\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}}
\newcommand*\tud@if@field@unset[1]{%
  \begingroup%
    \edef\tud@res@a{%
      \def\noexpand\tud@res@a####1\string\@latex@####2\noexpand\@nil{%
        \noexpand\IfArgIsEmpty{####2}%
        \unexpanded{\@tud@res@swafalse\@tud@res@swatrue}%
      }%
      \noexpand\tud@res@a%
        \expandafter\strip@prefix\meaning#1%
        \string\@latex@\noexpand\@nil%
    }%
    \tud@res@a%
    \if@tud@res@swa%
      \aftergroup\@firstoftwo%
    \else%
      \aftergroup\@secondoftwo%
    \fi%
  \endgroup%
}
\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
  \expandafter\tud@if@field@unset\expandafter{\csname #1\endcsname}{%
    \csuse{#1}\csgdef{#1}{}%
  }{}%
  \def\tud@multiple@@split##1\and##2\relax{%
    \expandafter\csname tud@split#1@do\endcsname{##1}{##2}%
  }%
  \begingroup%
    \let\and\relax%
    \let\newline\@empty%
    \let\\\@empty%
    \edef\@tempa{\csname #1\endcsname\and}%
  \expandafter\endgroup%
  \expandafter\tud@multiple@@split\@tempa\relax%
}
\newcommand*\tud@multiple@@@split[2]{%
  \IfArgIsEmpty{#1}{%
    \let\@tempb\relax%
  }{%
    \def\@tempb{#2\tud@multiple@@split#1\relax}%
  }%
  \@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
  \def\@tempa##1{%
    \ifcsdef{@##1}{\tud@cs@store{@##1}}{}%
    \ifcsdef{##1}{%
      \tud@cs@store{##1}%
      \expandafter\xapptocmd\csname ##1\endcsname{\ignorespaces}%
        {}{\tud@patch@wrn##1}%
    }{}%
  }%
  \letcs\@tempb{tud@split#1@list}%
  \let\and\relax%
  \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
  \begingroup%
    \let\thanks\@gobble%
    \let\footnote\@gobble%
    \sbox\z@{#2}%
  \endgroup%
}
\newcommand*\tud@multiple@fields@restore[1]{%
  \def\@tempa##1{%
    \ifcsdef{@##1}{%
      \tud@cs@restore{@##1}%
      \global\csletcs{@##1}{@##1}%
    }{}%
    \ifcsdef{##1}{\tud@cs@restore{##1}}{}%
  }%
  \letcs\@tempb{tud@split#1@list}%
  \let\and\relax%
  \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
}
\newcommand*\tud@multiple@fields@preset[3]{%
  \def\@tempa##1{%
    \edef\@tempc{\csuse{##1}}%
    \if\detokenize{#2*}\relax%
      \csdef{@##1}{}%
    \else%
      \begingroup%
        \protected@expandtwoargs\in@{\@tempc}{\csuse{#1}}%
        \ifin@%
          \ifcsvoid{@##1}{\@tempc{#2}}{}%
        \fi%
      \endgroup%
    \fi%
  }%
  \letcs\@tempb{tud@split#1@list}%
  \let\and\relax%
  \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
  \begingroup%
    \let\thanks\@gobble%
    \let\footnote\@gobble%
    \sbox\z@{#3}%
  \endgroup%
}
\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
  authormore,course,discipline,emailaddress,%
  matriculationyear,enrolmentyear,%
  matriculationnumber,studentid,matriculationid,%
  placeofbirth,birthplace,dateofbirth,birthday,%
}
%%%% From File: tudscr-localization.dtx (no git version info was found)
\newcommand*\tud@localization@define[1]{%
  \providecommand*#1{%
    \ClassError{\TUD@Class@Name}{%
      `\string#1' not defined for language `\languagename'%
    }{%
      Currently the class `\TUD@Class@Name' only supports the\MessageBreak%
      languages german and english as well as its dialects. You\MessageBreak%
      must define single patterns by yourself, e.g.:\MessageBreak%
      `\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak%
      You can send your definitions to \TUDScriptContact\space in\MessageBreak%
      order to implement support for additional languages.%
    }%
  }%
}
\tud@localization@define{\graduationtext}
\tud@localization@define{\refereename}
\tud@localization@define{\refereeothername}
\tud@localization@define{\advisorname}
\tud@localization@define{\advisorothername}
\tud@localization@define{\supervisorname}
\tud@localization@define{\supervisorothername}
\tud@localization@define{\professorname}
\tud@localization@define{\professorothername}
\tud@localization@define{\datetext}
\tud@localization@define{\dateofbirthtext}
\tud@localization@define{\placeofbirthtext}
\tud@localization@define{\defensedatetext}
\tud@localization@define{\matriculationyearname}
\tud@localization@define{\matriculationnumbername}
\tud@localization@define{\coverpagename}
\tud@localization@define{\titlepagename}
\tud@localization@define{\titlename}
\tud@localization@define{\confirmationname}
\tud@localization@define{\confirmationtext}
\tud@localization@define{\blockingname}
\tud@localization@define{\blockingtext}
\tud@localization@define{\coursename}
\tud@localization@define{\disciplinename}
\tud@localization@define{\listingname}
\tud@localization@define{\listlistingname}
\tud@localization@define{\habilitationname}
\tud@localization@define{\dissertationname}
\tud@localization@define{\diplomathesisname}
\tud@localization@define{\masterthesisname}
\tud@localization@define{\bachelorthesisname}
\tud@localization@define{\studentthesisname}
\tud@localization@define{\studentresearchname}
\tud@localization@define{\projectpapername}
\tud@localization@define{\seminarpapername}
\tud@localization@define{\termpapername}
\tud@localization@define{\researchname}
\tud@localization@define{\logname}
\tud@localization@define{\internshipname}
\tud@localization@define{\reportname}
\newrobustcmd*\tud@ifin@and[1]{%
  \begingroup%
    \let\and\relax%
    \robustify\\%
    \protected@edef\@tempb{#1}%
    \def\@tempa##1\and##2\relax{%
      \IfArgIsEmpty{##2}{%
        \aftergroup\@secondoftwo%
      }{%
        \aftergroup\@firstoftwo%
      }%
    }%
    \expandafter\@tempa\@tempb\and\relax%
  \endgroup%
}
\newcommand*\tud@localization@german{%
  \providecaptionname{%
    german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
  }%
}
\tud@localization@german{\graduationtext}{%
  zur Erlangung des akademischen Grades%
}
\tud@localization@german{\refereename}{%
  \tud@ifin@and{\@referee}{%
    \ifx\refereeothername\@empty%
      Gutachter%
    \else%
      Erstgutachter%
    \fi%
  }{Gutachter}%
}
\tud@localization@german{\refereeothername}{Zweitgutachter}
\tud@localization@german{\advisorname}{%
  \tud@ifin@and{\@advisor}{%
    \ifx\advisorothername\@empty%
      Fachreferenten%
    \else%
      Erster Fachreferent%
    \fi%
  }{Fachreferent}%
}
\tud@localization@german{\advisorothername}{}
\tud@localization@german{\supervisorname}{%
  \tud@ifin@and{\@supervisor}{%
    \ifx\supervisorothername\@empty%
      Betreuer%
    \else%
      Erstbetreuer%
    \fi%
  }{Betreuer}%
}
\tud@localization@german{\supervisorothername}{}
\tud@localization@german{\professorname}{%
  \tud@ifin@and{\@professor}{%
    \ifx\professorothername\@empty%
      Betreuende Hochschullehrer%
    \else%
      Erster betreuender Hochschullehrer%
    \fi%
  }{Betreuender Hochschullehrer}%
}
\tud@localization@german{\professorothername}{}
\tud@localization@german{\datetext}{Eingereicht am}
\tud@localization@german{\dateofbirthtext}{Geboren am}
\tud@localization@german{\placeofbirthtext}{in}
\tud@localization@german{\defensedatetext}{Verteidigt am}
\tud@localization@german{\matriculationyearname}{Immatrikulationsjahr}
\tud@localization@german{\matriculationnumbername}{Matrikelnummer}
\tud@localization@german{\coverpagename}{Umschlagseite}
\tud@localization@german{\titlepagename}{Titelblatt}
\tud@localization@german{\titlename}{Titel}
\tud@localization@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}
\tud@localization@german{\confirmationtext}{%
  Hiermit versichere ich, dass ich das vorliegende Dokument %
  \ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi%
  selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. %
  Es wurden keine anderen als die in diesem Dokument angegebenen Hilfsmittel %
  und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} %
  \"ubernommenen Zitate habe ich als solche kenntlich gemacht. %
  \ifx\@supporter\@empty%
    Es waren keine weiteren Personen an der geistigen Herstellung %
    des vorliegenden Dokumentes beteiligt. %
  \else%
    W\"ahrend der Anfertigung dieses Dokumentes wurde ich nur von %
    folgenden Personen unterst\"utzt:%
    \begin{quote}\def\and{\newline}\@supporter\end{quote}%
    \noindent Zus\"atzliche Personen waren an der geistigen Herstellung %
    des vorliegenden Dokumentes nicht beteiligt. %
  \fi%
  Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum %
  nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.%
}
\tud@localization@german{\blockingname}{Sperrvermerk}
\tud@localization@german{\blockingtext}{%
  Dieses Dokument %
  \ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi%
  enth\"alt vertrauliche Informationen%
  \ifx\@company\@empty\else, offengelegt durch \emph{\@company}\fi. %
  Ver\"offentlichungen, Vervielf\"altigungen und Einsichtnahme~-- auch nur %
  auszugsweise~-- sind ohne ausdr\"uckliche Genehmigung %
  \ifx\@company\@empty\else durch \emph{\@company} \fi%
  nicht gestattet, ebenso wie Ver\"offentlichungen \"uber den Inhalt dieses %
  Dokumentes. Es ist nur dem Betreuer an der Technischen Universit\"at %
  Dresden, den Gutachtern sowie den Mitgliedern des Pr\"ufungsausschusses %
  zug\"anglich zu machen.%
}
\tud@localization@german{\coursename}{Studiengang}
\tud@localization@german{\disciplinename}{Studienrichtung}
\tud@localization@german{\listingname}{Quelltext}
\tud@localization@german{\listlistingname}{Quelltextverzeichnis}
\tud@localization@german{\habilitationname}{Habilitation}
\tud@localization@german{\dissertationname}{Dissertation}
\tud@localization@german{\diplomathesisname}{Diplomarbeit}
\tud@localization@german{\masterthesisname}{Master-Arbeit}
\tud@localization@german{\bachelorthesisname}{Bachelor-Arbeit}
\tud@localization@german{\studentthesisname}{Studienarbeit}
\tud@localization@german{\studentresearchname}{Gro\ss{}er Beleg}
\tud@localization@german{\projectpapername}{Projektarbeit}
\tud@localization@german{\seminarpapername}{Seminararbeit}
\tud@localization@german{\termpapername}{Hausarbeit}
\tud@localization@german{\researchname}{Forschungsbericht}
\tud@localization@german{\logname}{Protokoll}
\tud@localization@german{\internshipname}{Praktikumsbericht}
\tud@localization@german{\reportname}{Bericht}
\newcommand*\tud@localization@english{%
  \providecaptionname{%
    american,australian,british,canadian,english,newzealand,UKenglish,USenglish%
  }%
}
\tud@localization@english{\graduationtext}{to achieve the academic degree}
\tud@localization@english{\refereename}{%
  \tud@ifin@and{\@referee}{%
    \ifx\refereeothername\@empty%
      Referees%
    \else%
      First referee%
    \fi%
  }{Referee}%
}
\tud@localization@english{\refereeothername}{Second referee}
\tud@localization@english{\advisorname}{%
  \tud@ifin@and{\@advisor}{%
    \ifx\advisorothername\@empty%
      Advisors%
    \else%
      First advisor%
    \fi%
  }{Advisor}%
}
\tud@localization@english{\advisorothername}{}
\tud@localization@english{\supervisorname}{%
  \tud@ifin@and{\@supervisor}{%
    \ifx\supervisorothername\@empty%
      Supervisors%
    \else%
      First supervisor%
    \fi%
  }{Supervisor}%
}
\tud@localization@english{\supervisorothername}{}
\tud@localization@english{\professorname}{%
  \tud@ifin@and{\@professor}{%
    \ifx\professorothername\@empty%
      Supervising professors%
    \else%
      First supervising professor%
    \fi%
  }{Supervising professor}%
}
\tud@localization@english{\professorothername}{}
\tud@localization@english{\datetext}{Submitted on}
\tud@localization@english{\dateofbirthtext}{Born on}
\tud@localization@english{\placeofbirthtext}{in}
\tud@localization@english{\defensedatetext}{Defended on}
\tud@localization@english{\matriculationyearname}{Matriculation year}
\tud@localization@english{\matriculationnumbername}{Matriculation number}
\tud@localization@english{\coverpagename}{Cover page}
\tud@localization@english{\titlepagename}{Title page}
\tud@localization@english{\titlename}{Title}
\tud@localization@english{\confirmationname}{Statement of authorship}
\tud@localization@english{\confirmationtext}{%
  I hereby certify that I have authored this document %
  \ifx\@@title\@empty\else entitled \emph{\@@title} \fi%
  independently and without undue assistance from third %
  parties. No other than the resources and references %
  indicated in this document have been used. I have marked %
  both literal and accordingly adopted quotations as such. %
  \ifx\@supporter\@empty%
    There were no additional persons involved in the %
  \else%
    During the preparation of this document I was only %
    supported by the following persons:%
    \begin{quote}\def\and{\newline}\@supporter\end{quote}%
    \noindent Additional persons were not involved in the %
  \fi%
  intellectual preparation of the present document. %
  I am aware that violations of this declaration may lead to %
  subsequent withdrawal of the academic degree.%
}
\tud@localization@english{\blockingname}{Restriction note}
\tud@localization@english{\blockingtext}{%
  This document %
  \ifx\@@title\@empty\else entitled \emph{\@@title} \fi%
  contains confidential data%
  \ifx\@company\@empty\else, disclosed by \emph{\@company}\fi. %
  Publications, duplications and inspections---even in part---are prohibited %
  without explicit permission%
  \ifx\@company\@empty\else\space by \emph{\@company}\fi, %
  as well as publications about the content of this document. %
  It may only be made accessible to the supervisor at Technische Universit\"at %
  Dresden, the reviewers and also the members of the examination board.%
}
\tud@localization@english{\coursename}{Course}
\tud@localization@english{\disciplinename}{Discipline}
\tud@localization@english{\listingname}{Listing}
\tud@localization@english{\listlistingname}{List of Listings}
\tud@localization@english{\habilitationname}{Habilitation}
\tud@localization@english{\dissertationname}{Dissertation}
\tud@localization@english{\diplomathesisname}{Diploma Thesis}
\tud@localization@english{\masterthesisname}{Master Thesis}
\tud@localization@english{\bachelorthesisname}{Bachelor Thesis}
\tud@localization@english{\studentthesisname}{Student Thesis}
\tud@localization@english{\studentresearchname}{Student Research Project}
\tud@localization@english{\projectpapername}{Project Paper}
\tud@localization@english{\seminarpapername}{Seminar Paper}
\tud@localization@english{\termpapername}{Term Paper}
\tud@localization@english{\researchname}{Research Report}
\tud@localization@english{\logname}{Log}
\tud@localization@english{\internshipname}{Internship Report}
\tud@localization@english{\reportname}{Report}
\AfterPackage{listings}{%
  \renewcommand*\lstlistingname{\listingname}%
  \renewcommand*\lstlistlistingname{\listlistingname}%
}
\AfterPackage{mathswap}{%
  \tud@localization@german{\@commaswap}{,}%
  \tud@localization@german{\@dotswap}{\,}%
  \tud@localization@english{\@commaswap}{\,}%
  \tud@localization@english{\@dotswap}{.}%
}
%%%% From File: tudscr-area.dtx (no git version info was found)
\tud@newif\if@tud@x@crop@center
\AfterPackage{crop}{%
  \CheckCommand*\CROP@center{%
    \voffset\stockheight
    \advance\voffset-\paperheight
    \voffset.5\voffset
    \hoffset\stockwidth
    \advance\hoffset-\paperwidth
    \hoffset.5\hoffset
  }%
  \pretocmd\CROP@center{%
    \@tud@x@crop@centertrue%
  }{}{\tud@patch@wrn{CROP@center}}%
}
\tud@newif\if@tud@x@standalone@crop
\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
\tud@newdim\tud@dim@widemargin
\tud@newdim\tud@dim@slimmargin
\tud@newdim\tud@dim@bothmargin
\tud@newdim\tud@dim@topmargin
\tud@newdim\tud@dim@barheight
\tud@newdim\tud@dim@headsep
\tud@newdim\tud@dim@footsep
\tud@newdim\tud@dim@logox
\tud@newdim\tud@dim@logoy
\tud@newdim\tud@dim@logowidth
\tud@newdim\tud@dim@line
\tud@newdim\tud@dim@heavyline
\tud@newdim\tud@dim@thinline
\tud@newdim\tud@dim@areaheadvskip
\tud@newdim\tud@dim@areadiff
\tud@newdim\tud@dim@areavskip
\tud@if@v@lower{2.03}{\tud@newdim\tud@dim@ddcdiff}{}
\newcommand*\tud@head@fontsize{}
\tud@newif\if@tud@cdgeometry@adjust
\tud@newdim\tud@dim@layoutwidth
\tud@newdim\tud@dim@layoutheight
\tud@newdim\tud@dim@layouthoffset
\tud@newdim\tud@dim@layoutvoffset
\newcommand*\tud@cdgeometry@set{%
  \tud@cdgeometry@assignlayout%
  \tud@if@v@lower{2.05}{%
    \ifdim\tud@dim@layoutheight<\dimexpr105mm+1.5mm\relax%
      \def\@tempa{0}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr148mm+1.5mm\relax%
      \def\@tempa{1}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr229mm+2mm\relax%
      \def\@tempa{2}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr297mm+2mm\relax%
      \def\@tempa{3}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr420mm+2mm\relax%
      \def\@tempa{4}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr594mm+2mm\relax%
      \def\@tempa{5}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr841mm+3mm\relax%
      \def\@tempa{6}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr1189mm+3mm\relax%
      \def\@tempa{7}%
    \else%
      \def\@tempa{8}%
    \fi\fi\fi\fi\fi\fi\fi\fi%
  }{%
    \ifdim\tud@dim@layoutheight<\dimexpr125mm+1.5mm\relax%
      \def\@tempa{0}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr176mm+2mm\relax%
      \def\@tempa{1}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr250mm+2mm\relax%
      \def\@tempa{2}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr353mm+2mm\relax%
      \def\@tempa{3}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr500mm+2mm\relax%
      \def\@tempa{4}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr707mm+3mm\relax%
      \def\@tempa{5}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr1000mm+3mm\relax%
      \def\@tempa{6}%
    \else\ifdim\tud@dim@layoutheight<\dimexpr1414mm+3mm\relax%
      \def\@tempa{7}%
    \else%
      \def\@tempa{8}%
    \fi\fi\fi\fi\fi\fi\fi\fi%
  }%
  \@tud@cdgeometry@adjustfalse%
  \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
    \ifnum\@tempa>\z@\relax%
      \ifnum\@tempa<8\relax%
        \def\@tempa{3}%
      \fi%
    \fi%
  \fi%
  \ifcase\@tempa\relax% <=A7/B7
    \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
      \ClassWarning{\TUD@Class@Name}{%
        There's no type area defined for such a\MessageBreak%
        small paper height. It is recommended to increase\MessageBreak%
        the paper size. Nevertheless, it will be tried to\MessageBreak%
        calculate a proper type area%
      }%
    \fi%
    \tud@divide\@tempa{\tud@dim@layoutheight}{148mm}%
    \tud@setdim\tud@dim@widemargin{15mm}%
    \tud@setdim\tud@dim@widemargin{\@tempa\tud@dim@widemargin}%
    \tud@setdim\tud@dim@heavyline{0.5pt}%
    \tud@setdim\tud@dim@heavyline{\@tempa\tud@dim@heavyline}%
    \tud@setdim\tud@dim@thinline{0.25pt}%
    \tud@setdim\tud@dim@thinline{\@tempa\tud@dim@thinline}%
    \tud@setdim\@tempdima{4.5pt}%
    \tud@setdim\@tempdima{\@tempa\@tempdima}%
    \edef\tud@head@fontsize{\strip@pt\@tempdima}%
  \or% <=A6/B6
    \tud@setdim\tud@dim@widemargin{15mm}%
    \tud@setdim\tud@dim@heavyline{0.5pt}%
    \tud@setdim\tud@dim@thinline{0.25pt}%
    \renewcommand*\tud@head@fontsize{4.5}%
  \or% <=A5/B5
    \ifnum\tud@cdgeometry@calc@num=\z@\relax% restricted
      \@tud@cdgeometry@adjusttrue%
      \tud@setdim\tud@dim@widemargin{30mm}%
      \tud@setdim\tud@dim@heavyline{1pt}%
      \tud@setdim\tud@dim@thinline{0.5pt}%
      \renewcommand*\tud@head@fontsize{9}%
    \else%
      \tud@setdim\tud@dim@widemargin{21.213203mm}%
      \tud@setdim\tud@dim@heavyline{0.707107pt}%
      \tud@setdim\tud@dim@thinline{0.353553pt}%
      \renewcommand*\tud@head@fontsize{6.363961}%
    \fi%
  \or% <=A4/B4
    \tud@setdim\tud@dim@widemargin{30mm}%
    \tud@setdim\tud@dim@heavyline{1pt}%
    \tud@setdim\tud@dim@thinline{0.5pt}%
    \renewcommand*\tud@head@fontsize{9}%
  \or% <=A3/B3
    \tud@setdim\tud@dim@widemargin{42.426407mm}%
    \tud@setdim\tud@dim@heavyline{1.414214pt}%
    \tud@setdim\tud@dim@thinline{0.707107pt}%
    \renewcommand*\tud@head@fontsize{12.727922}%
  \or% <=A2/B2
    \tud@setdim\tud@dim@widemargin{60mm}%
    \tud@setdim\tud@dim@heavyline{2pt}%
    \tud@setdim\tud@dim@thinline{1pt}%
    \renewcommand*\tud@head@fontsize{18}%
  \or% <=A1/B1
    \tud@setdim\tud@dim@widemargin{84.852814mm}%
    \tud@setdim\tud@dim@heavyline{2.828427pt}%
    \tud@setdim\tud@dim@thinline{1.414214pt}%
    \renewcommand*\tud@head@fontsize{25.455844}%
  \or% <=A0/B0
    \tud@setdim\tud@dim@widemargin{120mm}%
    \tud@setdim\tud@dim@heavyline{4pt}%
    \tud@setdim\tud@dim@thinline{2pt}%
    \renewcommand*\tud@head@fontsize{36}%
  \else% >A0/B0
    \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
      \ClassWarning{\TUD@Class@Name}{%
        There's no type area defined for such a\MessageBreak%
        huge paper height. It is recommended to reduce\MessageBreak%
        the paper size. Nevertheless, it will be tried to\MessageBreak%
        calculate a proper type area%
      }%
    \fi%
    \tud@divide\@tempa{\tud@dim@layoutheight}{1189mm}%
    \tud@setdim\tud@dim@widemargin{120mm}%
    \tud@setdim\tud@dim@widemargin{\@tempa\tud@dim@widemargin}%
    \tud@setdim\tud@dim@heavyline{4pt}%
    \tud@setdim\tud@dim@heavyline{\@tempa\tud@dim@heavyline}%
    \tud@setdim\tud@dim@thinline{2pt}%
    \tud@setdim\tud@dim@thinline{\@tempa\tud@dim@thinline}%
    \tud@setdim\@tempdima{36pt}%
    \tud@setdim\@tempdima{\@tempa\@tempdima}%
    \edef\tud@head@fontsize{\strip@pt\@tempdima}%
  \fi%
  \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
    \tud@divide\@tempa{\tud@dim@layoutheight}{297mm}%
    \tud@setdim\tud@dim@widemargin{\@tempa\tud@dim@widemargin}%
    \tud@setdim\tud@dim@heavyline{\@tempa\tud@dim@heavyline}%
    \tud@setdim\tud@dim@thinline{\@tempa\tud@dim@thinline}%
    \tud@setdim\@tempdima{\tud@head@fontsize pt}%
    \tud@setdim\@tempdima{\@tempa\@tempdima}%
    \edef\tud@head@fontsize{\strip@pt\@tempdima}%
  \fi%
  \global\@tud@head@font@settrue%
  \tud@setdim\tud@dim@slimmargin{\tud@dim@widemargin*2/3}%
  \tud@setdim\tud@dim@bothmargin{\tud@dim@widemargin*5/3}%
  \tud@setdim\tud@dim@topmargin{\tud@dim@widemargin*7/6}%
  \tud@setdim\tud@dim@barheight{\tud@dim@widemargin/6}%
  \tud@setdim\tud@dim@headsep{\tud@dim@widemargin*2/5}%
  \tud@setdim\tud@dim@logox{\tud@dim@widemargin*11/30}%
  \tud@setdim\tud@dim@logoy{\tud@dim@widemargin*9/20}%
  \tud@setdim\tud@dim@logowidth{\tud@dim@widemargin*19/10}%
  \tud@setdim\tud@dim@footsep{\tud@dim@widemargin-\tud@dim@topmargin*3/5}%
  \if@tud@cdgeometry@adjust%
    \tud@setdim\tud@dim@headsep{.707107\tud@dim@headsep}%
    \tud@setdim\tud@dim@footsep{.707107\tud@dim@footsep}%
  \fi%
  \tud@cdgeometry@papersize@store%
}
\newcommand*\tud@cdgeometry@assignlayout{%
  \ifdim\tud@dim@layoutwidth<\p@\relax%
    \tud@setdim\tud@dim@layoutwidth{\paperwidth}%
  \fi%
  \ifdim\tud@dim@layoutheight<\p@\relax%
    \tud@setdim\tud@dim@layoutheight{\paperheight}%
  \fi%
}
\newcommand*\tud@cdgeometry@papersize@last{}
\newcommand*\tud@cdgeometry@papersize@store{%
  \edef\tud@cdgeometry@papersize@last{\the\paperheight:\the\paperwidth}%
}
\newcommand*\tud@cdgeometry@resetlayout{%
  \begingroup%
    \edef\tud@res@a{\the\paperheight:\the\paperwidth}%
    \def\tud@res@b{%
      \endgroup%
      \tud@cdgeometry@papersize@store%
    }%
    \ifx\tud@res@a\tud@cdgeometry@papersize@last\else%
      \appto\tud@res@b{%
        \tud@setdim\tud@dim@layoutwidth{\z@}%
        \tud@setdim\tud@dim@layoutheight{\z@}%
        \tud@x@geometry@fixmargins%
      }%
    \fi%
  \tud@res@b%
}
\newcommand*\tud@cdgeometry@process{%
  \tud@cdgeometry@@process%
  \KOMAoptions{pagesize=\@pagesizelast}%
  \global\@tud@mainlogo@settrue%
  \gdef\tud@currentgeometry{}%
  \expandafter\pagestyle\expandafter{\currentpagestyle}%
}
\if@tud@x@standalone@crop
  \PreventPackageFromLoading{geometry}
  \let\tud@cdgeometry@process\relax
\else
  \RequirePackage{geometry}
\fi
\AfterPackage*{geometry}{%
  \CheckCommand*\Gm@initnewgm{%
    \Gm@passfalse
    \Gm@swap@papersizefalse
    \Gm@dimlist={}
    \Gm@hbodyfalse
    \Gm@vbodyfalse
    \Gm@heightroundedfalse
    \Gm@includeheadfalse
    \Gm@includefootfalse
    \Gm@includempfalse
    \let\Gm@width\@undefined
    \let\Gm@height\@undefined
    \let\Gm@textwidth\@undefined
    \let\Gm@textheight\@undefined
    \let\Gm@lines\@undefined
    \let\Gm@hscale\@undefined
    \let\Gm@vscale\@undefined
    \let\Gm@hmarginratio\@undefined
    \let\Gm@vmarginratio\@undefined
    \let\Gm@lmargin\@undefined
    \let\Gm@rmargin\@undefined
    \let\Gm@tmargin\@undefined
    \let\Gm@bmargin\@undefined
    \Gm@layoutfalse
    \Gm@layouthoffset\z@
    \Gm@layoutvoffset\z@
    \Gm@bindingoffset\z@
  }%
  \expandafter\CheckCommand%
  \csname\expandafter\@gobble\string\Gm@changelayout\space\endcsname{%
    \setlength{\@colht}{\textheight}
    \setlength{\@colroom}{\textheight}%
    \setlength{\vsize}{\textheight}
    \setlength{\columnwidth}{\textwidth}%
    \if@twocolumn%
      \advance\columnwidth-\columnsep
      \divide\columnwidth\tw@%
      \@firstcolumntrue%
    \fi%
    \setlength{\hsize}{\columnwidth}%
    \setlength{\linewidth}{\hsize}%
  }%
  \CheckCommand*\Gm@@process{%
    \Gm@expandlengths
    \Gm@adjustpaper
    \addtolength\Gm@layoutwidth{-\Gm@bindingoffset}%
    \Gm@adjustmp
    \Gm@adjustbody
    \Gm@detall{h}{width}{lmargin}{rmargin}%
    \Gm@detall{v}{height}{tmargin}{bmargin}%
    \setlength\textwidth{\Gm@width}%
    \setlength\textheight{\Gm@height}%
    \setlength\topmargin{\Gm@tmargin}%
    \setlength\oddsidemargin{\Gm@lmargin}%
    \addtolength\oddsidemargin{-1\Gm@truedimen in}%
    \ifGm@includemp
      \advance\textwidth-\Gm@wd@mp
      \advance\oddsidemargin\Gm@odd@mp
    \fi
    \if@mparswitch
      \setlength\evensidemargin{\Gm@rmargin}%
      \addtolength\evensidemargin{-1\Gm@truedimen in}%
      \ifGm@includemp
        \advance\evensidemargin\Gm@even@mp
      \fi
    \else
      \evensidemargin\oddsidemargin
    \fi
    \advance\oddsidemargin\Gm@bindingoffset
    \addtolength\topmargin{-1\Gm@truedimen in}%
    \ifGm@includehead
      \addtolength\textheight{-\headheight}%
      \addtolength\textheight{-\headsep}%
    \else
      \addtolength\topmargin{-\headheight}%
      \addtolength\topmargin{-\headsep}%
    \fi
    \ifGm@includefoot
      \addtolength\textheight{-\footskip}%
    \fi
    \ifGm@heightrounded
      \setlength\@tempdima{\textheight}%
      \addtolength\@tempdima{-\topskip}%
      \@tempcnta\@tempdima
      \@tempcntb\baselineskip
      \divide\@tempcnta\@tempcntb
      \setlength\@tempdimb{\baselineskip}%
      \multiply\@tempdimb\@tempcnta
      \advance\@tempdima-\@tempdimb
      \multiply\@tempdima\tw@
      \ifdim\@tempdima>\baselineskip
        \addtolength\@tempdimb{\baselineskip}%
      \fi
      \addtolength\@tempdimb{\topskip}%
      \textheight\@tempdimb
    \fi
    \advance\oddsidemargin\Gm@layouthoffset%
    \advance\evensidemargin\Gm@layouthoffset%
    \advance\topmargin\Gm@layoutvoffset%
    \addtolength\Gm@layoutwidth{\Gm@bindingoffset}%
  }%
  \CheckCommand\geometry[1]{%
    \Gm@clean
    \setkeys{Gm}{#1}%
    \Gm@process%
  }%
  \CheckCommand\newgeometry[1]{%
    \clearpage
    \Gm@restore@org
    \Gm@initnewgm
    \Gm@newgmtrue
    \setkeys{Gm}{#1}%
    \Gm@newgmfalse
    \Gm@process
    \ifnum\mag=\@m\else\Gm@magtooffset\fi
    \Gm@changelayout
    \Gm@showparams{newgeometry}%
  }%
  \CheckCommand\restoregeometry{%
    \clearpage
    \Gm@restore@pkg
    \Gm@changelayout%
  }%
  \CheckCommand*\savegeometry[1]{%
    \Gm@save
    \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}%
  }%
  \CheckCommand*\loadgeometry[1]{%
    \clearpage
    \@ifundefined{Gm@restore@@#1}{%
      \PackageError{geometry}{%
      \string\loadgeometry : name `#1' undefined}{%
      The name `#1' should be predefined with \string\savegeometry}%
    }{\@nameuse{Gm@restore@@#1}%
    \Gm@changelayout}%
  }%
  \tud@newif\if@tud@x@geometry@enabled%
  \@tud@x@geometry@enabledtrue%
  \tud@cs@store{geometry}%
  \tud@cs@store{newgeometry}%
  \renewcommand*\geometry[1]{%
    \tud@x@geometry@user{#1}{geometry}%
  }%
  \renewcommand*\newgeometry[1]{%
    \tud@cs@store{Gm@restore@org}%
    \tud@x@geometry@user{#1}{newgeometry}%
    \tud@cs@restore{Gm@restore@org}%
  }%
  \renewcommand*\restoregeometry[1][custom]{%
    \tud@cdgeometry@reset{#1}%
    \tud@if@preamble{}{%
      \ifcase\tud@cdgeometry@num\relax% false
        \tud@loadgeometry{init@typearea}%
        \@tud@x@geometry@fixmarginstrue%
      \or% custom
        \tud@loadgeometry{init@custom}%
        \@tud@x@geometry@fixmarginstrue%
      \fi%
      \tud@cdgeometry@process%
    }%
  }%
  \apptocmd\Gm@changelayout{%
    \if@tud@x@geometry@enabled%
      \tud@if@preamble{}{%
        \@tud@x@geometry@fixmarginstrue%
        \ifcase\tud@cdgeometry@num\relax% false
          \tud@cdgeometry@reset{typearea}%
        \or% custom
          \tud@cdgeometry@reset{custom}%
        \fi%
        \tud@cdgeometry@process%
      }%
    \fi%
  }{}{\tud@patch@wrn{Gm@changelayout}}%
  \tud@newif\if@tud@x@geometry@fixmargins%
  \newcommand*\tud@x@geometry@fixmargins{%
    \ifGm@pass\else%
      \tud@addtodim\oddsidemargin{-\tud@dim@layouthoffset}%
      \tud@addtodim\evensidemargin{-\tud@dim@layouthoffset}%
      \tud@addtodim\topmargin{-\tud@dim@layoutvoffset}%
      \@tud@x@geometry@fixmarginsfalse%
    \fi%
  }%
  \newcommand*\tud@x@geometry@paper{}%
  \newcommand*\tud@x@geometry@layout{}%
  \newcommand*\tud@x@geometry@parameter{}%
  \newcommand*\tud@x@geometry@init{}%
  \newcommand*\tud@x@geometry@user[2]{%
    \let\tud@x@geometry@paper\@empty%
    \let\tud@x@geometry@layout\@empty%
    \let\tud@x@geometry@parameter\@empty%
    \TUD@parameter@set{geometry}{#1}%
    \tud@x@geometry@area@set{paper}%
    \tud@cdgeometry@resetlayout%
    \ifx\tud@x@geometry@layout\@empty\else%
      \begingroup%
        \tud@x@geometry@area@set{layout}%
        \tud@cdgeometry@assignlayout%
        \edef\tud@res@a{%
          \endgroup%
            \unexpanded{\tud@setdim\tud@dim@layoutwidth}{\the\paperwidth}%
            \unexpanded{\tud@setdim\tud@dim@layoutheight}{\the\paperheight}%
        }%
      \tud@res@a%
    \fi%
    \tud@if@strequal{#2}{newgeometry}{%
      \edef\@tempb{%
        \noexpand\paperwidth=\the\paperwidth\relax%
        \noexpand\paperheight=\the\paperheight\relax%
      }%
      \expandafter\apptocmd\expandafter\Gm@restore@org\expandafter{%
        \@tempb%
      }{}{\tud@patch@wrn{Gm@restore@org}}%
      \ifcase\tud@cdgeometry@num\relax%
        \typearea[current]{current}%
        \ifx\tud@x@geometry@parameter\@empty\else%
          \ClassWarning{\TUD@Class@Name}{%
            It isn't possible to use \string\newgeometry with any\MessageBreak%
            key except `paper' or `layout' when package `typearea'\MessageBreak%
            is used with`cdgeometry=typearea'%
          }%
        \fi%
      \else%
        \def\tud@res@a{\tud@cs@use{newgeometry}}%
        \expandafter\tud@res@a\expandafter{\tud@x@geometry@parameter}%
        \edef\tud@x@geometry@init{\tud@x@geometry@parameter}%
      \fi%
    }{%
      \eappto\tud@x@geometry@init{\tud@x@geometry@parameter}%
    }%
  }%
  \TUD@parameter@family{geometry}{%
    \TUD@parameter@def{paper}{\tud@x@geometry@area@def{paper}{#1}}%
    \TUD@parameter@let{papername}{paper}%
    \TUD@parameter@def{papersize}{%
      \def\@tempa##1,##2,##3\@nil{%
        \IfArgIsEmpty{##2}{%
          \tud@x@geometry@area@def{paper}{##1:##1}%
        }{%
          \tud@x@geometry@area@def{paper}{##1:##2}%
        }%
      }%
      \@tempa#1,,\@nil%
    }%
    \TUD@parameter@def{paperwidth}{%
      \tud@x@geometry@area@def{paper}{#1:\paperheight}%
    }%
    \TUD@parameter@def{paperheight}{%
      \tud@x@geometry@area@def{paper}{\paperwidth:#1}%
    }%
    \TUD@parameter@def{layout}{%
      \tud@if@strequal{#1}{false}{%
        \tud@setdim\tud@dim@layoutwidth{\z@}%
        \tud@setdim\tud@dim@layoutheight{\z@}%
        \tud@setdim\tud@dim@layouthoffset{\z@}%
        \tud@setdim\tud@dim@layoutvoffset{\z@}%
      }{%
        \tud@x@geometry@area@def{layout}{#1}%
      }%
    }%
    \TUD@parameter@let{layoutname}{layout}%
    \TUD@parameter@def{layoutsize}{%
      \def\@tempa##1,##2,##3\@nil{%
        \IfArgIsEmpty{##2}{%
          \tud@x@geometry@area@def{layout}{##1:##1}%
        }{%
          \tud@x@geometry@area@def{layout}{##1:##2}%
        }%
      }%
      \@tempa#1,,\@nil%
    }%
    \TUD@parameter@def{layoutwidth}{%
      \tud@x@geometry@area@def{layout}{#1:\tud@dim@layoutheight}%
    }%
    \TUD@parameter@def{layoutheight}{%
      \tud@x@geometry@area@def{layout}{\tud@dim@layoutwidth:#1}%
    }%
    \TUD@parameter@def{layoutoffset}{%
      \def\@tempa##1,##2,##3\@nil{%
        \IfArgIsEmpty{##2}{%
          \tud@setdim\tud@dim@layouthoffset{##1}%
          \tud@setdim\tud@dim@layoutvoffset{##1}%
        }{%
          \tud@setdim\tud@dim@layouthoffset{##1}%
          \tud@setdim\tud@dim@layoutvoffset{##2}%
        }%
      }%
      \@tempa#1,,\@nil%
    }%
    \TUD@parameter@def{layouthoffset}{\tud@setdim\tud@dim@layouthoffset{#1}}%
    \TUD@parameter@def{layoutvoffset}{\tud@setdim\tud@dim@layoutvoffset{#1}}%
    \TUD@parameter@def{bleedmargin}{\TUDoption{bleedmargin}{#1}}%
    \TUD@parameter@handler@macro{%
      \eappto\tud@x@geometry@parameter{%
        \expandonce\kv@key=\expandonce\kv@value,%
      }%
    }{%
      \tud@x@geometry@area@def{paper}{#2}%
    }%
  }%
  \newcommand*\tud@x@geometry@area@def[2]{%
    \tud@strlowercase\@tempa{#2}%
    \def\@tempb##1paper##2\@nil{%
      \tud@if@strequal{##2}{paper}{\def\@tempa{##1}}{}%
    }%
    \expandafter\@tempb\@tempa paper\@nil%
    \@tempswafalse%
    \TUD@set@numkey{paper}{@tempc}{%
      {seascape}{0},{landscape}{0},{portrait}{0},%
      {letter}{0},{executive}{0},{legal}{0}%
    }{\@tempa}%
    \@tempswafalse%
    \ifx\FamilyKeyState\FamilyKeyStateProcessed%
      \ifcase\@tempc\relax%
        \@tempswatrue%
      \fi%
    \fi%
    \if@tempswa\else%
      \ifx\@tempa\@empty\else%
        \def\@tempb##1##2\@nil{%
          \if ##1a\@tempswatrue%
            \else\if ##1b\@tempswatrue%
              \else\if ##1c\@tempswatrue%
                \else\if ##1d\@tempswatrue%
          \fi\fi\fi\fi%
          \if@tempswa%
            \@tempswafalse%
            \IfArgIsEmpty{##2}{}{\Ifnumber{##2}{\@tempswatrue}{}}%
          \fi%
        }%
        \expandafter\@tempb\@tempa\@nil%
        \if@tempswa\else%
          \def\@tempb##1:##2:##3\@nil{%
            \IfArgIsEmpty{##2}{}{%
              \@tempswatrue%
              \def\@tempa{##1:##2}%
            }%
          }%
          \expandafter\@tempb\@tempa::\@nil%
        \fi%
        \if@tempswa\else%
          \def\tud@reserved##1:##2:##3:##4\@nil{%
            \if@tempswa\else%
              \tud@if@strequal{\@tempa}{##1}{%
                \@tempswatrue%
                \def\@tempa{##2##4:##3##4}%
              }{}%
            \fi%
          }%
          \tud@reserved b0j:1030:1456:mm\@nil%
          \tud@reserved b1j:728:1030:mm\@nil%
          \tud@reserved b2j:515:728:mm\@nil%
          \tud@reserved b3j:364:515:mm\@nil%
          \tud@reserved b4j:257:364:mm\@nil%
          \tud@reserved b5j:182:257:mm\@nil%
          \tud@reserved b6j:128:182:mm\@nil%
          \tud@reserved ansia:8.5:11:in\@nil%
          \tud@reserved ansib:11:17:in\@nil%
          \tud@reserved ansic:17:22:in\@nil%
          \tud@reserved ansid:22:34:in\@nil%
          \tud@reserved ansie:34:44:in\@nil%
          \tud@reserved screen:225:180:mm\@nil%
        \fi%
      \fi%
    \fi%
    \if@tempswa%
      \cseappto{tud@x@geometry@#1}{\@tempa,}%
    \else%
      \appto\tud@x@geometry@parameter{#2,}%
    \fi%
  }%
  \newcommand*\tud@x@geometry@area@set[1]{%
    \letcs{\@tempa}{tud@x@geometry@#1}%
    \ifdefvoid{\@tempa}{}{%
      \def\@tempb##1:##2:##3\@nil{%
        \IfArgIsEmpty{##2}{%
          \KOMAoption{paper}{##1}%
        }{%
          \tud@if@strequal{#1}{layout}{\let\scr@setpaperorientation\relax}{}%
          \KOMAoption{paper}{##1:##2}%
        }%
      }%
      \def\@tempc##1{\@tempb##1::\@nil}%
      \expandafter\forcsvlist\expandafter\@tempc\expandafter{\@tempa}%
    }%
  }%
  \newcommand*\tud@x@geometry@getlayout[1]{%
    \ifGm@pass%
      \let#1\@empty%
    \else%
      \begingroup%
        \tud@cdgeometry@assignlayout%
        \@tud@res@swafalse%
        \ifdim\tud@dim@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi%
        \ifdim\tud@dim@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi%
        \edef\tud@res@a{%
          \endgroup%
          \unexpanded{\def#1}{%
            layoutoffset={%
              \the\tud@dim@layouthoffset,\the\tud@dim@layoutvoffset%
            }%
            \if@tud@res@swa%
              ,layoutsize={\the\tud@dim@layoutwidth,\the\tud@dim@layoutheight}%
            \fi%
          }%
        }%
      \tud@res@a%
    \fi%
  }%
  \newcommand*\tud@x@geometry@set[1]{%
    \@tud@x@geometry@enabledfalse%
    \tud@if@preamble{%
      \Gm@initnewgm%
      \edef\@tempa{papersize={\the\paperwidth,\the\paperheight},#1}%
      \def\@tempc{\tud@cs@use{geometry}}%
      \expandafter\@tempc\expandafter{\@tempa,driver=none}%
    }{%
      \edef\@tempa{#1}%
      \tud@cs@store{Gm@restore@org}%
      \edef\@tempb{%
        \noexpand\paperwidth=\the\paperwidth\relax%
        \noexpand\paperheight=\the\paperheight\relax%
      }%
      \expandafter\apptocmd\expandafter\Gm@restore@org\expandafter{%
        \@tempb%
      }{}{\tud@patch@wrn{Gm@restore@org}}%
      \def\@tempc{\tud@cs@use{newgeometry}}%
      \expandafter\@tempc\expandafter{\@tempa}%
      \tud@cs@restore{Gm@restore@org}%
    }%
    \@tud@x@geometry@enabledtrue%
  }%
  \newcommand*\tud@savegeometry[1]{%
    \let\Gm@restore\@empty%
    \savegeometry{#1}%
    \csepreto{Gm@restore@@#1}{%
      \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
      \ifGm@includehead%
        \noexpand\Gm@includeheadtrue%
      \else%
        \noexpand\Gm@includeheadfalse%
      \fi%
      \ifGm@includefoot%
        \noexpand\Gm@includefoottrue%
      \else%
        \noexpand\Gm@includefootfalse%
      \fi%
      \ifGm@includemp%
        \noexpand\Gm@includemptrue%
      \else%
        \noexpand\Gm@includempfalse%
      \fi%
      \ifGm@layout%
        \noexpand\Gm@layouttrue%
      \else%
        \noexpand\Gm@layoutfalse%
      \fi%
    }%
  }%
  \newcommand*\tud@loadgeometry[1]{%
    \@tud@x@geometry@enabledfalse%
    \loadgeometry{#1}%
    \@currsize%
    \if@tud@x@crop@center\CROP@center\fi%
    \@tud@x@geometry@enabledtrue%
  }%
  \newcommand*\tud@cdgeometry@layout{}%
  \newcommand*\tud@cdgeometry@hmargin{}%
  \newcommand*\tud@cdgeometry@vmargin{}%
  \newcommand*\tud@cdgeometry@tudmargin{}%
  \tud@if@v@lower{2.03}{\newcommand*\tud@cdgeometry@ddcmargin{}}{}%
  \newcommand*\tud@cdgeometry@@process{%
    \csuse{@ta@usegeometryfalse}%
    \tud@cdgeometry@set%
    \ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
      \if@tud@x@geometry@fixmargins%
        \tud@x@geometry@fixmargins%
      \fi%
      \ifcase\tud@cdgeometry@num\relax%
        \edef\tud@cdgeometry@hmargin{%
          left=\the\dimexpr\glueexpr\oddsidemargin+1in-\ta@bcor\relax\relax,%
          textwidth=\the\textwidth,%
          \tud@cdgeometry@mpincl,%
          marginparwidth=\the\marginparwidth,%
          marginparsep=\the\marginparsep,%
          \if@reversemargin%
            reversemarginpar=true,%
          \else%
            reversemarginpar=false,%
          \fi%
          bindingoffset=\the\ta@bcor%
        }%
        \edef\tud@cdgeometry@vmargin{%
          \if@hincl%
            includehead=true,%
            top=\the\dimexpr\topmargin+1in\relax,%
          \else%
            includehead=false,%
            top=\the\dimexpr\topmargin+\headheight+\headsep+1in\relax,%
          \fi%
          headheight=\the\headheight,%
          headsep=\the\headsep,%
          textheight=\the\textheight,%
          \tud@cdgeometry@fincl,%
          footskip=\the\footskip%
        }%
      \else% custom
        \ifGm@pass\else%
          \edef\tud@cdgeometry@hmargin{%
            left=\the\dimexpr\glueexpr\oddsidemargin+1in%
              -\Gm@bindingoffset\relax\relax,%
            textwidth=\the\textwidth,%
            \ifGm@includemp%
              includemp=true,%
            \else%
              includemp=false,%
            \fi%
            marginparwidth=\the\marginparwidth,%
            marginparsep=\the\marginparsep,%
            \if@reversemargin%
              reversemarginpar=true,%
            \else%
              reversemarginpar=false,%
            \fi%
            bindingoffset=\the\Gm@bindingoffset%
          }%
          \edef\tud@cdgeometry@vmargin{%
            \ifGm@includehead%
              includehead=true,%
              top=\the\dimexpr\topmargin+1in\relax,%
            \else%
              includehead=false,%
              top=\the\dimexpr\topmargin+\headheight+\headsep+1in\relax,%
            \fi%
            headheight=\the\headheight,%
            headsep=\the\headsep,%
            textheight=\the\textheight,%
            \ifGm@includefoot%
              includefoot=true,%
            \else%
              includefoot=false,%
            \fi%
            footskip=\the\footskip%
          }%
        \fi%
      \fi%
      \if@twoside%
        \appto\tud@cdgeometry@hmargin{,twoside}%
      \fi%
      \if@twocolumn%
        \appto\tud@cdgeometry@hmargin{,twocolumn}%
      \fi%
      \tud@setdim\tud@dim@areadiff{%
        \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
          -\topmargin-\headheight-\headsep-1in%
      }%
      \ifdim\tud@dim@areadiff<\z@\relax%
        \tud@addtodim\tud@dim@headsep{-\tud@dim@areadiff}%
        \tud@setdim\@tempdima{\z@}%
      \else%
        \tud@setdim\@tempdima{\tud@dim@areadiff}%
      \fi%
      \edef\tud@cdgeometry@tudmargin{%
        ignorehead=true,%
        top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
          +\tud@dim@headsep\relax,%
        headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
          -\tud@dim@logoy\relax,%
        headsep=\the\tud@dim@headsep,%
        textheight=\the\dimexpr\textheight-\@tempdima\relax%
      }%
      \tud@if@v@lower{2.03}{%
        \tud@setdim\tud@dim@ddcdiff{%
          \tud@dim@topmargin*3/5-\footskip+\tud@dim@headsep%
            +\footheight-1\baselineskip*5/4%
        }%
        \edef\tud@cdgeometry@ddcmargin{%
          textheight=\the\dimexpr\textheight-\tud@dim@areadiff%
            -\tud@dim@ddcdiff\relax,%
          footskip=\the\dimexpr\footskip+\tud@dim@ddcdiff\relax%
        }%
      }{}%
      \ifdim\dimexpr\tud@extrabottommargin@dim\relax=\z@\relax\else%
        \begingroup%
          \edef\tud@res@a{%
            The key `extrabottommargin' is ineffective\MessageBreak%
            when\space%
            \ifcase\tud@cdgeometry@num%
              package `typearea' is used for layout with\MessageBreak%
              `cdgeometry=typearea'%
            \else%
              a user-defined layout is used with\MessageBreak%
              `cdgeometry=custom'%
            \fi%
          }%
          \edef\tud@res@a{%
            \endgroup%
            \noexpand\ClassWarning{\noexpand\TUD@Class@Name}{\tud@res@a}%
          }%
        \tud@res@a%
      \fi%
    \else% true/symmetric/twoside
      \ifcase\tud@cdgeometry@num\relax\or\or% true
        \tud@setdim\@tempdima{\tud@dim@widemargin}%
        \if@reversemargin%
          \tud@setdim\@tempdimc{\tud@dim@widemargin}%
        \else%
          \tud@setdim\@tempdimc{\tud@dim@slimmargin}%
        \fi%
      \or% symmetric
        \tud@setdim\@tempdima{\tud@dim@bothmargin/2}%
        \tud@setdim\@tempdimc{\tud@dim@bothmargin/2}%
      \or% twoside
        \if@twoside%
          \tud@setdim\@tempdima{\tud@dim@bothmargin*2/5}%
        \else%
          \tud@setdim\@tempdima{\tud@dim@bothmargin/2}%
        \fi%
        \tud@setdim\@tempdimc{\tud@dim@bothmargin/2}%
        \if@twoside%
          \if@reversemargin%
            \tud@setdim\@tempdimc{\tud@dim@bothmargin*2/5}%
          \else%
            \tud@setdim\@tempdimc{\tud@dim@bothmargin*3/5}%
          \fi%
        \fi%
      \fi%
      \tud@addtodim\@tempdimc{-\headsep}%
      \tud@setdim\@tempdimb{\tud@dim@layoutwidth-\tud@dim@bothmargin-\ta@bcor}%
      \if@mincl%
        \tud@addtodim\@tempdimb{-\@tempdimc}%
      \fi%
      \edef\tud@cdgeometry@hmargin{%
        left=\the\@tempdima,%
        textwidth=\the\@tempdimb,%
        \tud@cdgeometry@mpincl,%
        marginparwidth=\the\@tempdimc,%
        marginparsep=\the\dimexpr\headsep/2\relax,%
        \if@reversemargin%
          reversemarginpar=true,%
        \else%
          reversemarginpar=false,%
        \fi%
        bindingoffset=\the\ta@bcor%
      }%
      \if@twoside%
        \ifcase\tud@cdgeometry@num\relax\or\or% true
          \appto\tud@cdgeometry@hmargin{,asymmetric}%
        \else% symmetric/twoside
          \appto\tud@cdgeometry@hmargin{,twoside}%
        \fi%
      \fi%
      \if@twocolumn%
        \appto\tud@cdgeometry@hmargin{,twocolumn}%
      \fi%
      \tud@if@v@lower{2.03}{%
        \edef\tud@cdgeometry@vmargin{%
          \tud@cdgeometry@hincl,%
          top=\the\dimexpr\tud@dim@bothmargin/2\relax,%
          headheight=\the\headheight,%
          headsep=\the\tud@dim@headsep,%
          bottom=\the\dimexpr\glueexpr\tud@dim@bothmargin/2%
            +\tud@extrabottommargin@dim\relax\relax,%
          \tud@cdgeometry@fincl,%
          footskip=\the\dimexpr\tud@dim@headsep+\footheight%
            -1\baselineskip*5/4\relax%
        }%
      }{%
        \edef\tud@cdgeometry@vmargin{%
          \tud@cdgeometry@hincl,%
          top=\the\tud@dim@slimmargin,%
          headheight=\the\headheight,%
          headsep=\the\headsep,%
          bottom=\the\dimexpr\glueexpr\tud@dim@widemargin%
            +\tud@extrabottommargin@dim\relax\relax,%
          \tud@cdgeometry@fincl,%
          footskip=\the\dimexpr\tud@dim@footsep+\footheight\relax%
        }%
      }%
      \edef\tud@cdgeometry@tudmargin{%
        ignorehead=true,%
        top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
          +\tud@dim@headsep\relax,%
        headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
          -\tud@dim@logoy\relax,%
        headsep=\the\tud@dim@headsep%
      }%
      \tud@setdim\tud@dim@areadiff{%
        \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
          -\tud@dim@slimmargin%
      }%
      \tud@if@v@lower{2.03}{%
        \tud@setdim\tud@dim@areadiff{%
          \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
            -\tud@dim@bothmargin/2%
        }%
        \tud@setdim\tud@dim@ddcdiff{\tud@dim@topmargin*3/5}%
        \edef\tud@cdgeometry@ddcmargin{%
          \if@fincl%
            bottom=\the\dimexpr\glueexpr\tud@dim@bothmargin/2%
              +\tud@extrabottommargin@dim+\tud@dim@ddcdiff+\tud@dim@headsep%
              +\footheight-1\baselineskip*5/4\relax\relax,%
          \else%
            bottom=\the\dimexpr\glueexpr\tud@dim@bothmargin/2%
              +\tud@extrabottommargin@dim+\tud@dim@ddcdiff\relax\relax,%
          \fi%
          footskip=\the\dimexpr\tud@dim@headsep+\footheight%
            -1\baselineskip*5/4+\tud@dim@ddcdiff\relax,%
        }%
      }{}%
    \fi%
    \ifdim\tud@dim@areadiff<\z@\relax\tud@setdim\tud@dim@areadiff{\z@}\fi%
    \global\tud@dim@areadiff=\tud@dim@areadiff%
    \tud@setdim\tud@dim@areaheadvskip{\tud@dim@topmargin*11/50}%
    \if@tud@cdgeometry@adjust%
      \tud@setdim\tud@dim@areaheadvskip{\tud@dim@areaheadvskip/2}%
    \fi%
    \global\tud@dim@areaheadvskip=\tud@dim@areaheadvskip%
    \tud@if@v@lower{2.03}{%
      \ifdim\tud@dim@ddcdiff<\z@\relax\tud@setdim\tud@dim@ddcdiff{\z@}\fi%
      \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
    }{}%
    \tud@cdgeometry@@@process%
  }%
  \newcommand*\tud@cdgeometry@@@process{%
    \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
    \tud@if@v@lower{2.03}{%
      \tud@x@geometry@set{%
        \tud@cdgeometry@layout,%
        \tud@cdgeometry@hmargin,%
        \tud@cdgeometry@vmargin,%
        \tud@cdgeometry@tudmargin,%
        \tud@cdgeometry@ddcmargin,%
        ignorehead,ignorefoot%
      }%
      \tud@savegeometry{tudareaddc}%
    }{}%
    \tud@x@geometry@set{%
      \tud@cdgeometry@layout,%
      \tud@cdgeometry@hmargin,%
      \tud@cdgeometry@vmargin,%
      \tud@cdgeometry@tudmargin%
    }%
    \tud@savegeometry{tudarea}%
    \tud@x@geometry@set{%
      \tud@cdgeometry@layout,%
      \tud@cdgeometry@hmargin,%
      \tud@cdgeometry@vmargin%
    }%
    \tud@savegeometry{stdarea}%
    \ifcase\tud@cdgeometry@num\relax% false
      \tud@savegeometry{current@typearea}%
    \or% custom
      \tud@savegeometry{current@custom}%
    \fi%
    \tud@if@preamble{}{%
      \tud@if@strequal{\tud@currentgeometry}{stdarea}{}{%
        \expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
      }%
    }%
  }%
  \newcommand*\tud@cdgeometry@hincl{%
    \if@hincl%
      includehead=true%
    \else%
      includehead=false%
    \fi%
  }%
  \newcommand*\tud@cdgeometry@fincl{%
    \if@fincl%
      includefoot=true%
    \else%
      includefoot=false%
    \fi%
  }%
  \newcommand*\tud@cdgeometry@mpincl{%
    \if@mincl%
      includemp=true%
    \else%
      includemp=false%
    \fi%
  }%
  \newcommand*\tud@cdgeometry@@init{%
    \csuse{@ta@usegeometryfalse}%
    \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
    \tud@cs@store{tud@cdgeometry@num}%
    \tud@cs@store{tud@extrabottommargin@dim}%
    \def\tud@extrabottommargin@dim{0pt}%
    \tud@cdgeometry@reset{custom}%
    \begingroup%
      \epreto\tud@x@geometry@init{%
        papersize={\the\paperwidth,\the\paperheight},%
        \tud@cdgeometry@layout,%
        \tud@cdgeometry@mpincl,%
        \if@reversemargin%
          reversemarginpar=true,%
        \else%
          reversemarginpar=false,%
        \fi%
        bindingoffset=\the\ta@bcor,%
        \tud@cdgeometry@hincl,%
        \tud@cdgeometry@fincl,%
      }%
      \edef\tud@res@a{%
        \endgroup%
        \noexpand\tud@cs@use{geometry}{\tud@x@geometry@init,driver=none}%
        \noexpand\@tud@x@geometry@fixmarginstrue%
      }%
    \tud@res@a%
    \tud@cdgeometry@@process%
    \tud@savegeometry{init@custom}%
    \tud@cdgeometry@reset{typearea}%
    \tud@x@typearea@warnings@off[\tud@res@a]%
    \tud@x@typearea@init%
    \tud@x@typearea@warnings@on%
    \tud@cdgeometry@@process%
    \tud@savegeometry{init@typearea}%
    \def\do##1{%
      \apptocmd\Gm@restore@@init@typearea{%
        ##1%
      }{}{\tud@patch@wrn{Gm@restore@@init@typearea}}%
    }%
    \dolistloop{\tud@res@a}%
    \tud@cs@restore{tud@cdgeometry@num}%
    \tud@cs@restore{tud@extrabottommargin@dim}%
    \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
    \ifcase\tud@cdgeometry@num\relax% typearea
      \tud@loadgeometry{init@typearea}%
    \or% custom
      \tud@loadgeometry{init@custom}%
    \fi%
    \@tud@x@geometry@fixmarginstrue%
    \tud@cdgeometry@process%
    \let\tud@cdgeometry@@init\relax%
  }%
  \newcommand*\tud@currentgeometry{}%
  \newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
    \tud@if@strequal{#1}{\GetRealPageStyle{#1}}{%
      \tud@if@tudheadings{#1}{%
        \tud@if@v@lower{2.03}{%
          \tud@ddc@check%
          \ifcase\@tempb\relax% \tud@ddc@foot@num=false
            \tud@if@strequal{\tud@currentgeometry}{tudarea}{}{%
              \tud@loadgeometry{tudarea}%
              \gdef\tud@currentgeometry{tudarea}%
            }%
          \else% \tud@ddc@foot@num!=false
            \tud@if@strequal{\tud@currentgeometry}{tudareaddc}{}{%
              \tud@loadgeometry{tudareaddc}%
              \gdef\tud@currentgeometry{tudareaddc}%
            }%
          \fi%
        }{%
          \tud@if@strequal{\tud@currentgeometry}{tudarea}{}{%
            \tud@loadgeometry{tudarea}%
            \gdef\tud@currentgeometry{tudarea}%
          }%
        }%
        \tud@setdim\tud@dim@areavskip{\z@}%
      }{%
        \tud@if@strequal{\tud@currentgeometry}{stdarea}{}{%
          \tud@loadgeometry{stdarea}%
          \gdef\tud@currentgeometry{stdarea}%
        }%
        \tud@setdim\tud@dim@areavskip{\tud@dim@areadiff}%
        \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
          \if@hincl%
            \tud@addtodim\tud@dim@areavskip{-\headheight-\tud@dim@headsep}%
          \fi%
        \fi%
      }%
      \global\tud@dim@areavskip=\tud@dim@areavskip%
    }{}%
  }%
}
\newcommand*\tud@x@typearea@before{%
  \tud@cdgeometry@resetlayout%
  \tud@cslength@store{paperheight}%
  \tud@cslength@store{paperwidth}%
  \begingroup%
    \tud@cdgeometry@assignlayout%
    \edef\tud@res@a{%
      \endgroup%
      \unexpanded{\tud@setdim\paperheight}{\the\tud@dim@layoutheight}%
      \unexpanded{\tud@setdim\paperwidth}{\the\tud@dim@layoutwidth}%
    }%
  \tud@res@a%
}
\newcommand*\tud@x@typearea@after{%
  \tud@cslength@restore{paperheight}%
  \tud@cslength@restore{paperwidth}%
  \tud@if@preamble{%
    \TUD@key@preset{cdgeometry}{false}%
  }{%
    \tud@cdgeometry@reset{typearea}%
    \tud@cdgeometry@process%
  }%
}
\newcommand*\tud@x@typearea@init{\recalctypearea}%
\xpretocmd{\typearea}{%
  \tud@x@typearea@before%
  \def\tud@x@typearea@init{\typearea[{#1}]{#2}}%
}{}{\tud@patch@wrn{typearea}}
\xapptocmd{\typearea}{\tud@x@typearea@after}{}{\tud@patch@wrn{typearea}}
\xpretocmd{\areaset}{%
  \tud@x@typearea@before%
  \begingroup%
    \tud@setdim\@tempdima{#2}%
    \tud@setdim\@tempdimb{#3}%
    \edef\tud@res@a{%
      \endgroup%
      \def\noexpand\tud@x@typearea@init{%
        \unexpanded{\areaset[{#1}]}{\the\@tempdima}{\the\@tempdimb}%
      }%
    }%
  \tud@res@a%
}{}{\tud@patch@wrn{areaset}}
\xapptocmd{\areaset}{\tud@x@typearea@after}{}{\tud@patch@wrn{areaset}}
\tud@cs@store{storeareas}
\renewcommand*\storeareas[1]{%
  \begingroup%
    \tud@x@geometry@fixmargins%
    \tud@cs@use{storeareas}{#1}%
    \def\tud@res@b##1{\unexpanded{\tud@setdim##1}{\the##1}}%
    \edef\tud@res@a{%
      \endgroup%
      \unexpanded{\def#1}{%
        \tud@res@b{\tud@dim@layoutwidth}%
        \tud@res@b{\tud@dim@layoutheight}%
        \tud@res@b{\tud@dim@layouthoffset}%
        \tud@res@b{\tud@dim@layoutvoffset}%
        \expandonce#1%
        \def\noexpand\tud@cdgeometry@num{\tud@cdgeometry@num}%
      }%
    }%
  \tud@res@a%
}
\AfterRestoreareas{\tud@cdgeometry@process}%
\TUD@UnwindPackage{geometry}{%
  \newcommand*\tud@cdgeometry@@init{%
    \tud@cdgeometry@process%
    \let\tud@cdgeometry@@init\relax%
  }%
  \newcommand*\tud@cdgeometry@@process{%
    \tud@setdim\tud@dim@layoutwidth{\paperwidth}%
    \tud@setdim\tud@dim@layoutheight{\paperheight}%
    \tud@cdgeometry@set%
  }%
  \newcommand*\tud@x@geometry@fixmargins{}%
}
\newcommand*\tud@cdgeometry@init{\tud@cdgeometry@@init}%
\AfterPackage{svg-extract}{%
  \renewcommand*\tud@cdgeometry@init{%
    \if@svgx@standalone%
      \@tud@x@scr@fontsize@settrue%
    \else%
      \tud@cdgeometry@@init%
    \fi%
  }%
}
\patchcmd\cleardoubleoddpageusingstyle{%
  \pagestyle%
}{%
  \let\tud@BeforeSelectAnyPageStyle\@gobble%
  \pagestyle%
}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
\patchcmd\cleardoubleevenpageusingstyle{%
  \pagestyle%
}{%
  \let\tud@BeforeSelectAnyPageStyle\@gobble%
  \pagestyle%
}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
\patchcmd\cleardoublepageusingstyle{%
  \pagestyle%
}{%
  \let\tud@BeforeSelectAnyPageStyle\@gobble%
  \pagestyle%
}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
\tud@if@v@lower{2.03}{%
  \newcommand*\tud@ddc@enlargepage[1][]{%
    \tud@if@tudheadings{#1}{%
      \tud@if@strequal{\tud@currentgeometry}{tudareaddc}{}{%
        \tud@ddc@check%
        \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
          \enlargethispage{-\tud@dim@ddcdiff}%
        \fi%
      }%
    }{}%
  }%
}{}
%%%% From File: tudscr-pagestyle.dtx (no git version info was found)
\if@tud@x@standalone@crop
  \PreventPackageFromLoading{scrlayer-scrpage}%
\else
  \PassOptionsToPackage{automark}{scrlayer-scrpage}%
  \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[%
  2022/05/01 v3.36 KOMA-Script
  ]}%
\fi
\AfterPackage{scrlayer-scrpage}{%
  \DeclareNewLayer[%
    background,headsep,%
    addhoffset=\tud@dim@logox-\tud@dim@widemargin,%
    addwidth=-\tud@dim@logox+\tud@dim@widemargin,%
    voffset=\tud@dim@logoy,%
    addvoffset=\tud@dim@layoutvoffset,%
    contents={%
      \tud@mainlogo@set%
      \tud@headlogo@option@set%
      \tud@mainlogo@use\hfill\tud@headlogo@use%
    },%
  ]{tudheadings.head.content}%
  \DeclareNewLayer[%
    background,%
    width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,%
    addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,%
    height=\glueexpr\tud@dim@topmargin+\tud@bleedmargin@dim\relax,%
    addvoffset=\glueexpr\tud@dim@layoutvoffset-\tud@bleedmargin@dim\relax,%
    contents={%
      \ifnum\tud@head@bar@num>\tw@\relax% cdhead=color
        \color{HKS41}%
        \rule{\layerwidth}{\layerheight}%
      \fi%
    },%
  ]{tudheadings.head.back}%
  \DeclareNewLayer[%
    background,%
    width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,%
    addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,%
    height=\tud@dim@barheight,%
    voffset=\tud@dim@topmargin,%
    addvoffset=\tud@dim@layoutvoffset,%
    contents={%
      \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
        \color{HKS41!60}%
        \tud@setdim\@tempdima{\ht\strutbox-\tud@dim@barheight}%
        \ifdim\@tempdima<\z@\relax\tud@setdim\@tempdima{\z@}\fi%
        \raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
      \fi%
    },%
  ]{tudheadings.head.bar}%
  \DeclareNewLayer[%
    background,headsep,%
    voffset=\tud@dim@topmargin+\tud@dim@line,%
    addvoffset=\tud@dim@layoutvoffset,%
    contents={%
      \tud@head@font@set%
      \tud@head@text@set%
      \tud@head@text@box%
    },%
  ]{tudheadings.head.text}%
  \DeclareNewLayer[%
    background,headsep,%
    voffset=\tud@dim@topmargin-\tud@dim@line/2,%
    addvoffset=\tud@dim@layoutvoffset,%
    contents={%
      \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
        \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
      \fi%
    },%
  ]{tudheadings.head.upline}%
  \DeclareNewLayer[%
    background,headsep,%
    voffset=\tud@dim@topmargin+\tud@dim@barheight-\tud@dim@line/2,%
    addvoffset=\tud@dim@layoutvoffset,%
    contents={%
      \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
        \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
      \fi%
    },%
  ]{tudheadings.head.lowline}%
  \DeclareNewLayer[%
    background,%
    width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,%
    addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,%
    voffset=\tud@dim@topmargin-\tud@dim@line/2,%
    addvoffset=\tud@dim@layoutvoffset,%
    contents={%
      \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
        \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
      \fi%
    },%
  ]{tudheadings.head.uplinewide}%
  \DeclareNewLayer[%
    background,%
    width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,%
    addhoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,%
    voffset=\tud@dim@topmargin+\tud@dim@barheight-\tud@dim@line/2,%
    addvoffset=\tud@dim@layoutvoffset,%
    contents={%
      \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
        \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
      \fi%
    },%
  ]{tudheadings.head.lowlinewide}%
  \DeclareNewLayer[%
    foreground,headsep,%
    addvoffset=\tud@dim@headsep/2,%
    height=1\baselineskip,%
    contents={\if@tud@head@date\hfill\tud@date@print\fi},%
  ]{tudheadings.head.date}%
  \DeclareNewLayer[%
    background,foot,%
    width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,%
    hoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,%
    height=\glueexpr\tud@dim@layoutheight-\layeryoffset%
      +\tud@dim@layoutvoffset+\tud@bleedmargin@dim\relax,%
    addvoffset=-\dp\strutbox,%
    contents={%
      \if@tud@foot@colored%
        \let\@tempc\relax%
        \ifdefvoid{\tud@pagecolor}{%
          \ifcase\tud@head@bar@num\relax\or% cdhead=litecolor
            \def\@tempc{\color{HKS41!60}}%
          \or% cdhead=barcolor
            \def\@tempc{\color{HKS41!60}}%
          \or% cdhead=color
            \def\@tempc{\color{HKS41}}%
          \fi%
        }{%
          \def\@tempc{\color{HKS41}}%
          \tud@if@strequal{\tud@pagecolor}{HKS41}%
            {\def\@tempc{\color{HKS41!60}}}%
            {}%
        }%
        \ifx\@tempc\relax\else%
          \@tempc\rule{\layerwidth}{\layerheight}%
        \fi%
      \fi%
    },%
  ]{tudheadings.foot.back}%
  \tud@if@v@lower{2.03}{%
    \ModifyLayer[%
      addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
      contents={%
        \if@tud@foot@colored%
          \let\@tempc\relax%
          \ifdefvoid{\tud@pagecolor}{%
            \ifcase\tud@head@bar@num\relax\or\or% cdhead=barcolor
              \def\@tempc{\color{HKS41!60}}%
            \or% cdhead=color
              \def\@tempc{\color{HKS41}}%
            \fi%
          }{%
            \def\@tempc{\color{HKS41}}%
            \tud@if@strequal{\tud@pagecolor}{HKS41}%
              {\def\@tempc{\color{HKS41!60}}}%
              {}%
          }%
          \ifx\@tempc\relax\else%
            \tud@ddc@check%
            \ifcase\@tempb\relax% \tud@ddc@foot@num=false
              \vbox to \layerheight{%
                \vfil\@tempc%
                \rule{\layerwidth}{%
                  \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax%
                }%
              }%
            \else% \tud@ddc@foot@num!=false
              \@tempc\rule{\layerwidth}{\layerheight}%
            \fi%
          \fi%
        \fi%
      },%
    ]{tudheadings.foot.back}%
  }{}%
  \DeclareNewLayer[%
    background,foot,%
    height=\tud@dim@layoutheight-\layeryoffset+\tud@dim@layoutvoffset,%
    contents={%
      \tud@setdim\@tempdima{\layerheight-\dp\strutbox}%
      \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
      \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
      \tud@footcontent@use{\@tempdima}{\layerwidth}%
    },%
  ]{tudheadings.foot.content}%
  \tud@if@v@lower{2.03}{%
    \ModifyLayer[%
      addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
      contents={%
        \tud@setdim\@tempdima{\layerheight-\dp\strutbox}%
        \tud@ddc@check%
        \ifcase\@tempb\relax% \tud@ddc@foot@num=false
          \tud@addtodim\@tempdima{\ht\strutbox-\tud@dim@ddcdiff}%
          \vskip\dimexpr\tud@dim@ddcdiff-\ht\strutbox-1\baselineskip\relax%
        \fi%
        \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
        \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
        \tud@footcontent@use{\@tempdima}{\layerwidth}%
      },%
    ]{tudheadings.foot.content}%
  }{}%
  \DeclareNewLayer[%
    background,%
  ]{tudheadings.last}%
  \DeclareNewPageStyleByLayers[%
    onbackground=\tud@ps@onbackground%
  ]{tudheadings}{%
    tudheadings.head.back,%
    tudheadings.head.content,%
    tudheadings.head.bar,%
    tudheadings.head.text,%
    tudheadings.head.upline,%
    tudheadings.head.lowline,%
    tudheadings.head.uplinewide,%
    tudheadings.head.lowlinewide,%
    tudheadings.head.date,%
    tudheadings.foot.back,%
    tudheadings.foot.content,%
    tudheadings.last,%
    scrheadings.foot.odd,%
    scrheadings.foot.even,%
    scrheadings.foot.oneside,%
    scrheadings.foot.above.line,%
    scrheadings.foot.below.line%
  }%
  \DeclareNewPageStyleAlias{tud}{tudheadings}%
  \DeclareNewPageStyleAlias{tudscr}{tudheadings}%
  \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
  \DeclareNewPageStyleByLayers[%
    onbackground=\tud@ps@onbackground%
  ]{plain.tudheadings}{%
    tudheadings.head.back,%
    tudheadings.head.content,%
    tudheadings.head.bar,%
    tudheadings.head.text,%
    tudheadings.head.upline,%
    tudheadings.head.lowline,%
    tudheadings.head.uplinewide,%
    tudheadings.head.lowlinewide,%
    tudheadings.head.date,%
    tudheadings.foot.back,%
    tudheadings.foot.content,%
    tudheadings.last,%
    plain.scrheadings.foot.odd,%
    plain.scrheadings.foot.even,%
    plain.scrheadings.foot.oneside,%
    plain.scrheadings.foot.above.line,%
    plain.scrheadings.foot.below.line%
  }%
  \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
  \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
  \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
  \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}%
  \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}%
  \DeclareNewPageStyleByLayers[%
    onbackground=\tud@ps@onbackground%
  ]{empty.tudheadings}{%
    tudheadings.head.back,%
    tudheadings.head.content,%
    tudheadings.head.bar,%
    tudheadings.head.text,%
    tudheadings.head.upline,%
    tudheadings.head.lowline,%
    tudheadings.head.uplinewide,%
    tudheadings.head.lowlinewide,%
    tudheadings.head.date,%
    tudheadings.foot.back,%
    tudheadings.foot.content,%
    tudheadings.last%
  }%
  \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
  \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
  \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
  \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
  \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
  \DeclareNewLayer[%
    background,%
    hoffset=\glueexpr\tud@dim@layouthoffset-\tud@bleedmargin@dim\relax,%
    voffset=\glueexpr\tud@dim@layoutvoffset-\tud@bleedmargin@dim\relax,%
    width=\glueexpr\tud@dim@layoutwidth+(\tud@bleedmargin@dim)*2\relax,%
    height=\glueexpr\tud@dim@layoutheight+(\tud@bleedmargin@dim)*2\relax,%
    contents={%
      \ifdefvoid{\tud@pagecolor}{}{%
        \color{\tud@pagecolor}%
        \rule{\layerwidth}{\layerheight}%
      }%
    },%
  ]{tudheadings.pagecolor}%
  \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
  \AddToLayerPageStyleOptions{@everystyle@}{%
    onselect={%
      \tud@if@tudheadings{\currentpagestyle}{%
        \DeclarePageStyleAlias{plain}{plain.tudheadings}%
        \DeclarePageStyleAlias{headings}{tudheadings}%
        \def\sls@currentheadings{tudheadings}%
        \def\sls@currentplain{plain.tudheadings}%
        \TUD@deprecated@length\footlogoheight%
        \tud@komafont@set{pagenumber}{\usekomafont{tudheadings}}%
        \tud@komafont@set{pagefoot}{\usekomafont{tudheadings}}%
      }{%
        \tud@komafont@unset{pagenumber}%
        \tud@komafont@unset{pagefoot}%
      }%
    }%
  }%
}
\newcommand*\tud@ps@list{}
\listadd\tud@ps@list{tudheadings}
\listadd\tud@ps@list{plain.tudheadings}
\listadd\tud@ps@list{empty.tudheadings}
\newcommand*\tud@if@tudheadings[3]{%
  \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}%
}
\patchcmd\thispagestyle{%
  \gdef\@specialstyle{#1}%
}{%
  \xdef\@specialstyle{\GetRealPageStyle{#1}}%
}{}{\tud@patch@wrn{thispagestyle}}
\newcommand*\tud@pagestyle{}
\let\tud@pagestyle\pagestyle
\newcommand*\currentpagestyle{plain}
\pretocmd\tud@pagestyle{%
  \tud@BeforeSelectAnyPageStyle{#1}%
  \edef\currentpagestyle{#1}%
}{}{\tud@patch@wrn{pagestyle}}
\tud@cs@store{pagestyle}
\renewcommand*\pagestyle[1]{%
  \csuse{ps@#1}%
  \AfterAtEndOfPackage*{scrlayer-scrpage}{\pagestyle{#1}}%
}
\BeforePackage{scrlayer-scrpage}{%
  \tud@cs@restore{pagestyle}%
  \undef\tud@pagestyle%
  \undef\currentpagestyle%
}
\AfterAtEndOfPackage*{scrlayer-scrpage}{\AtEndPreamble{\tud@cdgeometry@init}}
\TUD@UnwindPackage{scrlayer-scrpage}{%
  \ifundef{\if@chapter}{%
    \newif\if@chapter%
    \ifundef{\chapter}{\@chapterfalse}{\@chaptertrue}%
  }{}%
  \cslet{ps@tudheadings}{\ps@headings}%
  \cslet{ps@plain.tudheadings}{\ps@plain}%
  \cslet{ps@empty.tudheadings}{\ps@empty}%
  \providecommand*\currentpagestyle{plain}%
  \providecommand*\BeforeSelectAnyPageStyle[1]{}%
  \providecommand*\tud@BeforeSelectAnyPageStyle[1]{}%
  \providecommand*\GetRealPageStyle[1]{#1}%
  \let\pagestyle\tud@pagestyle%
  \undef\tud@pagestyle%
  \tud@cdgeometry@init%
}
\newcommand*\tud@head@logocolor{black}
\newcommand*\tud@head@fontcolor{}
\newcommand*\tud@foot@logocolor{black}
\newcommand*\tud@foot@fontcolor{}
\newcommand*\tud@ps@onbackground{%
  \ifdefvoid{\tud@pagecolor}{%
    \ifcase\tud@head@bar@num\relax% cdhead=nocolor
      \renewcommand*\tud@head@logocolor{black}%
      \renewcommand*\tud@head@fontcolor{}%
    \or% cdhead=litecolor
      \renewcommand*\tud@head@logocolor{HKS41}%
      \renewcommand*\tud@head@fontcolor{HKS41}%
    \or% cdhead=barcolor
      \renewcommand*\tud@head@logocolor{HKS41}%
      \renewcommand*\tud@head@fontcolor{white}%
    \or% cdhead=color
      \renewcommand*\tud@head@logocolor{white}%
      \renewcommand*\tud@head@fontcolor{white}%
    \fi%
    \ifcase\tud@head@bar@num\relax% cdhead=nocolor
      \renewcommand*\tud@foot@logocolor{black}%
      \renewcommand*\tud@foot@fontcolor{}%
      \if@tud@foot@colored%
        \ClassWarning{\TUD@Class@Name}{%
          It isn't possible to use a colored foot together\MessageBreak%
          with a non-colored head (`cdhead=nocolor')%
        }%
      \fi%
    \else% cdhead=*color
      \if@tud@foot@colored%
        \renewcommand*\tud@foot@logocolor{white}%
        \renewcommand*\tud@foot@fontcolor{white}%
      \else%
        \renewcommand*\tud@foot@logocolor{HKS41}%
        \renewcommand*\tud@foot@fontcolor{HKS41}%
      \fi%
    \fi%
  }{%
    \tud@locked@bool@preset{@tud@head@widebar}{true}%
    \tud@if@strequal{\tud@pagecolor}{HKS41}{%
      \renewcommand*\tud@head@logocolor{white}%
      \renewcommand*\tud@head@fontcolor{white}%
      \renewcommand*\tud@foot@logocolor{white}%
      \if@tud@foot@colored%
        \renewcommand*\tud@foot@fontcolor{white}%
      \else%
        \renewcommand*\tud@foot@fontcolor{HKS41!30}%
      \fi%
    }{%
      \renewcommand*\tud@head@logocolor{HKS41}%
      \renewcommand*\tud@head@fontcolor{HKS41}%
      \ifcase\tud@head@bar@num\relax\or\or\or% cdhead=color
        \renewcommand*\tud@head@logocolor{white}%
        \renewcommand*\tud@head@fontcolor{white}%
      \fi%
      \if@tud@foot@colored%
        \renewcommand*\tud@foot@logocolor{white}%
        \renewcommand*\tud@foot@fontcolor{white}%
      \else%
        \renewcommand*\tud@foot@logocolor{HKS41}%
        \renewcommand*\tud@foot@fontcolor{HKS41}%
      \fi%
    }%
  }%
  \let\tud@dim@line\tud@dim@thinline%
  \tud@if@strequal{\tud@head@fontcolor}{white}%
    {\let\tud@dim@line\tud@dim@heavyline}%
    {}%
  \global\let\tud@foot@fontcolor\tud@foot@fontcolor%
}
\newcommand*\tud@head@text@line{}
\newcommand*\tud@head@text@list{}
\newcommand*\tud@head@text@delimiter{}
\newcommand*\tud@head@text@buffer{}
\newcommand*\tud@head@text@add[3][{, }]{%
  \tud@if@strblank{#3}{}{%
    \edef\tud@head@text@delimiter{\expandonce\tud@head@text@buffer}%
    \def\tud@head@text@buffer{#1}%
    \edef\@tempa{%
      \expandonce\tud@head@text@line%
      \expandonce\tud@head@text@delimiter%
      \unexpanded{#2#3}%
    }%
    \settowidth\@tempdima{\@tempa}%
    \ifdim\@tempdima>\textwidth\relax%
      \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
      \protected@edef\tud@head@text@line{#2#3}%
    \else%
      \edef\tud@head@text@line{\expandonce\@tempa}%
    \fi%
  }%
}
\tud@newif\if@tud@head@text@set
\newcommand*\tud@head@text@wrn[1]{}
\newcommand*\tud@head@text@set{%
  \if@tud@head@text@set%
    \let\tud@head@text@line\@empty%
    \let\tud@head@text@list\@empty%
    \let\tud@head@text@buffer\@empty%
    \tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}%
    \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}%
    \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
    \tud@if@strblank{\@extraheadline}{}{%
      \listadd\tud@head@text@list{\tud@head@font@light\@extraheadline}%
    }%
    \gdef\tud@head@text@wrn##1{%
      \ClassWarning{\TUD@Class@Name}{%
        The given entries for the headline\MessageBreak%
        (faculty, institute etc.) are ##1\MessageBreak%
        too wide for the textwidth%
      }%
    }%
  \fi%
}
\newcommand*\tud@head@text@box{%
  \def\@tempb{\tud@color{\tud@head@fontcolor}}%
  \def\@tempc{\depth+\tud@dim@heavyline}%
  \def\@tempa##1{%
    \settowidth\@tempdima{##1}%
    \ifdim\@tempdima>\textwidth\relax%
      \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
      \ifdim\dimexpr\@tempdima-\textwidth\relax>\hfuzz\relax%
        \hfuzz=\dimexpr\@tempdima-\textwidth\relax%
      \fi%
    \fi%
    \@tempb%
    \tud@head@text@write[\@tempc]{##1}%
    \def\@tempb{\newline}%
    \let\@tempc\z@%
    \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
      \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{%
        \tud@if@strequal{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}%
      }%
    \fi%
  }%
  \vbox{%
    \let\@raggedtwoe@everyselectfont\relax%
    \tud@setdim\spaceskip{\z@}%
    \selectfont%
    \offinterlineskip%
    \forlistloop\@tempa{\tud@head@text@list}%
  }%
  \global\let\tud@head@text@wrn\@gobble%
}
\newcommand*\tud@head@text@write[2][\z@]{%
  \raisebox{%
    \dimexpr(\tud@dim@barheight+\tud@dim@line*2-\totalheight)/2\relax%
  }[%
    \dimexpr\tud@dim@barheight-\depth\relax%
  ][\dimexpr\glueexpr#1\relax\relax]{#2\vphantom{\tud@font@phantomglyphs}}%
}
\newcommand*\tud@head@rule[1]{%
  \tud@color{\tud@head@fontcolor}%
  \rule[\ht\strutbox]{#1}{\tud@dim@line}%
}
\newcommand*\tud@newlayerbox[1]{%
  \global\expandafter\newsavebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@savelayerbox[1]{%
  \global\expandafter\sbox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@uselayerbox[1]{%
  \expandafter\usebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@vlayerbox[4][]{%
  \begingroup%
    \setbox\z@\vbox{#3}%
    \tud@setdim\tud@res@glue{\dimexpr\glueexpr#2\relax\relax}%
    \ifdim\dimexpr\ht\z@+\dp\z@-\tud@res@glue\relax>\p@\relax%
      \edef\tud@res@a{%
        \noexpand\ClassWarning{\noexpand\TUD@Class@Name}{%
          #4\noexpand\MessageBreak%
          The total height of \the\dimexpr\ht\z@+\dp\z@\relax\space exceeds the%
          \noexpand\MessageBreak maximum height (\the\tud@res@glue)%
        }%
      }%
      \IfArgIsEmpty{#1}{\tud@res@a}{%
        \expandafter\ifx\csname tud@layer@#1@wrn\endcsname\tud@res@a\else%
          \tud@res@a%
          \global\cslet{tud@layer@#1@wrn}\tud@res@a%
        \fi%
      }%
    \fi%
  \endgroup%
  \vbox to #2{#3}%
}
\tud@if@v@lower{2.04}{%
  \renewcommand*\tud@comp@clearpage{%
    \if@tud@ddc@internal\else%
      \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
    \fi%
  }%
  \renewcommand*\tud@comp@resetpagestyle{%
    \if@tud@ddc@internal\else%
      \tud@if@tudheadings{\currentpagestyle}{%
        \expandafter\pagestyle\expandafter{\currentpagestyle}%
      }{}%
    \fi%
  }%
}{}%
\newcommand*\tud@ddc@check{%
  \let\@tempa\tud@ddc@head@num%
  \let\@tempb\tud@ddc@foot@num%
  \if@tud@ddc@auto%
    \ifdefvoid{\tud@headlogo@filename}{%
      \let\@tempa\tud@ddc@auto@num%
      \let\@tempb\z@%
    }{%
      \let\@tempa\z@%
      \let\@tempb\tud@ddc@auto@num%
    }%
  \fi%
  \tud@if@v@lower{2.03}{%
    \ifnum\@tempb=\z@\relax%
      \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}%
    \fi%
  }{}%
}
\tud@newlayerbox{main@black}
\tud@newlayerbox{main@HKS41}
\tud@newlayerbox{main@white}
\tud@newdim\tud@dim@mainlogoheight
\newcommand*\tud@mainlogo@wrn[1]{}
\tud@newif\if@tud@mainlogo@set
\newcommand*\tud@mainlogo@set{%
  \if@tud@mainlogo@set%
    \def\@tempa{\includegraphics[keepaspectratio,width=\tud@dim@logowidth]}%
    \tud@savelayerbox{main@black}{\@tempa{TUD-black}}%
    \tud@savelayerbox{main@HKS41}{\@tempa{TUD-blue}}%
    \tud@savelayerbox{main@white}{\@tempa{TUD-white}}%
    \settoheight\tud@dim@mainlogoheight{\tud@uselayerbox{main@black}}%
    \global\tud@dim@mainlogoheight=\tud@dim@mainlogoheight%
    \gdef\tud@mainlogo@wrn##1{%
      \ifdim##1<\ta@bcor\relax%
        \ClassWarning{\TUD@Class@Name}{%
          The selected page layout means that the\MessageBreak%
          logo of TUD extends beyond the printing area. \MessageBreak%
          The inner margin is smaller than BCOR\MessageBreak%
          (`BCOR=\the\ta@bcor', inner margin is \the##1)\MessageBreak%
          Maybe you should decrease the current value\MessageBreak%
          of DIV (`DIV=\the\ta@div')%
        }%
        \global\let\tud@mainlogo@wrn\@gobble%
      \fi%
    }%
    \tud@headlogo@set%
    \global\@tud@footlogo@option@settrue%
    \tud@footlogo@option@set%
    \global\@tud@mainlogo@setfalse%
  \fi%
}
\AtBeginDocument{%
  \@tud@mainlogo@settrue%
  \tud@mainlogo@set%
}
\newcommand*\tud@mainlogo@use{%
  \tud@mainlogo@wrn{%
    \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax%
  }%
  \tud@uselayerbox{main@\tud@head@logocolor}%
}
\tud@newlayerbox{head@black}
\tud@newlayerbox{head@HKS41}
\tud@newlayerbox{head@white}
\tud@newlayerbox{head@option}
\newcommand*\tud@headlogo@filename{}
\newcommand*\tud@headlogo@fileoptions{}
\newcommand*\headlogo[2][]{%
  \tud@comp@clearpage%
  \renewcommand*\tud@headlogo@filename{#2}%
  \renewcommand*\tud@headlogo@fileoptions{#1}%
  \global\@tud@headlogo@option@settrue%
  \global\@tud@footlogo@option@settrue%
  \tud@comp@resetpagestyle%
}
\newcommand*\tud@headlogo@set{%
  \def\@tempa{%
    \includegraphics[keepaspectratio,totalheight=\tud@dim@mainlogoheight]%
  }%
  \tud@savelayerbox{head@black}{\@tempa{DDC-24}}%
  \tud@savelayerbox{head@HKS41}{\@tempa{DDC-27}}%
  \tud@savelayerbox{head@white}{\@tempa{DDC-30}}%
  \tud@headlogo@option@set%
}
\newcommand*\tud@headlogo@option@set{%
  \if@tud@headlogo@option@set%
    \def\@tempc##1##2{%
      \tud@savelayerbox{head@option}{%
        \includegraphics[{%
          keepaspectratio,%
          totalheight=\tud@dim@mainlogoheight,%
          ##2%
        }]{##1}%
      }%
    }%
    \tud@savelayerbox{head@option}{}%
    \tud@ddc@check%
    \ifcase\@tempa\relax% \tud@ddc@head@num=false
      \ifdefvoid{\tud@headlogo@filename}{}{%
        \protected@edef\tud@headlogo@filename{\tud@headlogo@filename}%
        \trim@spaces@in\tud@headlogo@filename%
        \protected@edef\@tempb{%
          \noexpand\@tempc{\tud@headlogo@filename}{\tud@headlogo@fileoptions}%
        }%
        \@tempb%
      }%
    \or\or% \tud@ddc@head@num=color
      \@tempc{DDC-03}{}%
    \or% \tud@ddc@head@num=colorblack
      \@tempc{DDC-09}{}%
    \or% \tud@ddc@head@num=gray
      \@tempc{DDC-21}{}%
    \or% \tud@ddc@head@num=black
      \@tempc{DDC-24}{}%
    \or% \tud@ddc@head@num=blue
      \@tempc{DDC-27}{}%
    \or% \tud@ddc@head@num=white
      \@tempc{DDC-30}{}%
    \fi%
    \ifnum\@tempa>\z@\relax
      \ifdefvoid{\tud@headlogo@filename}{}{%
        \ClassWarning{\TUD@Class@Name}{%
          Secondary logo `\tud@headlogo@filename'\MessageBreak%
          is overwritten with DDC logo. Maybe you should\MessageBreak%
          use `ddcfoot' or better `ddc' instead of `ddchead'%
        }%
      }%
    \fi%
    \global\@tud@headlogo@option@setfalse%
  \fi%
}
\newcommand*\tud@layer@headlogo@wrn{}
\newcommand*\tud@headlogo@use{%
  \tud@vlayerbox[headlogo]{\tud@dim@mainlogoheight}{%
    \vss%
    \hbox{%
      \tud@ddc@check%
      \ifnum\@tempa=\@ne\relax% \tud@ddc@head@num=true
        \tud@uselayerbox{head@\tud@head@logocolor}%
      \else%
        \tud@uselayerbox{head@option}%
      \fi%
    }%
    \vss%
  }{%
    The given `\string\headlogo{\tud@headlogo@filename}' is too large.%
  }%
}
\newcommand*\tud@footlogoheight@set{%
  \ifdim\dimexpr\tud@footlogoheight@dim\relax=\z@\relax%
    \tud@if@v@lower{2.03}{%
      \def\tud@footlogoheight@dim{\tud@dim@topmargin*3/5}%
    }{%
      \def\tud@footlogoheight@dim{\tud@dim@mainlogoheight}%
    }%
  \fi%
}
\tud@newlayerbox{foot@black}
\tud@newlayerbox{foot@HKS41}
\tud@newlayerbox{foot@white}
\tud@newlayerbox{foot@option}
\newcommand*\tud@footlogo@ddc@set[2]{%
  \tud@savelayerbox{#1}{%
    \includegraphics[%
      keepaspectratio,%
      totalheight=\dimexpr\glueexpr\tud@footlogoheight@dim\relax\relax%
    ]{#2}%
  }%
}
\newcommand*\tud@footlogo@option@set{%
  \tud@footlogoheight@set%
  \if@tud@footlogo@option@set%
    \tud@footlogo@ddc@set{foot@black}{DDC-22}%
    \tud@footlogo@ddc@set{foot@HKS41}{DDC-25}%
    \tud@footlogo@ddc@set{foot@white}{DDC-28}%
    \tud@ddc@check%
    \ifcase\@tempb\relax\or\or% \tud@ddc@foot@num=color
      \tud@footlogo@ddc@set{foot@option}{DDC-01}%
    \or% \tud@ddc@foot@num=colorblack
      \tud@footlogo@ddc@set{foot@option}{DDC-07}%
    \or% \tud@ddc@foot@num=gray
      \tud@footlogo@ddc@set{foot@option}{DDC-19}%
    \or% \tud@ddc@foot@num=black
      \tud@footlogo@ddc@set{foot@option}{DDC-22}%
    \or% \tud@ddc@foot@num=blue
      \tud@footlogo@ddc@set{foot@option}{DDC-25}%
    \or% \tud@ddc@foot@num=white
      \tud@footlogo@ddc@set{foot@option}{DDC-28}%
    \fi%
    \global\@tud@footlogo@option@setfalse%
    \global\@tud@footlogo@cmd@settrue%
  \fi%
}
\newcommand*\tud@layer@footlogo@wrn{}
\newcommand*\tud@footlogo@ddc@use[2]{%
  \tud@ddc@check%
  \ifcase\@tempb\relax\else% \tud@ddc@foot@num=!false
    \tud@footlogo@option@set%
    \setbox\z@\hbox{%
      \tud@vlayerbox[footlogo]{#1}{%
        \vss%
        \hbox to #2{%
          \hss%
          \ifcase\@tempb\relax\or% \tud@ddc@foot@num=true
            \tud@uselayerbox{foot@\tud@foot@logocolor}%
          \else%
            \tud@uselayerbox{foot@option}%
          \fi%
        }%
        \vss\vss%
      }{%
        You should reduce `footlogoheight', because it is\noexpand\MessageBreak%
        too high. %
        \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
          Alternatively you could use\noexpand\MessageBreak%
          option `extrabottommargin=<length>'\noexpand\MessageBreak%
          in order to enlarge the bottom margin. %
        \fi%
      }%
    }%
    \usebox\z@\hspace*{-\wd\z@}%
  \fi%
}
\tud@newlayerbox{foot@cmd}
\newcommand*\footlogosep{\hfill}
\newcommand*\tud@footlogo@filenames{}
\newcommand*\tud@footlogo@fileoptions{}
\newcommand*\footlogo[2][]{%
  \tud@comp@clearpage%
  \renewcommand*\tud@footlogo@filenames{#2}%
  \renewcommand*\tud@footlogo@fileoptions{#1}%
  \global\@tud@footlogo@cmd@settrue%
  \tud@comp@resetpagestyle%
}
\tud@newif\if@tud@footlogo@cmd@set
\newcommand*\tud@footlogo@cmd@set[2]{%
  \if@tud@footlogo@cmd@set%
    \tud@savelayerbox{foot@cmd}{%
      \hbox to #2{%
        \let\@tempa\relax%
        \@for\@tempb:=\tud@footlogo@filenames\do{%
          \protected@edef\@tempb{\@tempb}%
          \trim@spaces@in{\@tempb}%
          \@tempa%
          \ifx\@tempb\@empty\else%
            \expandafter\tud@footlogo@cmd@@set\expandafter{\@tempb}{#1}%
          \fi%
          \let\@tempa\footlogosep%
        }%
        \hss%
      }%
    }%
    \global\@tud@footlogo@cmd@setfalse%
  \fi%
}
\newcommand*\tud@footlogo@cmd@@set[2]{%
  \begingroup%
    \let\@tempa\@empty%
    \let\@tempb\@empty%
    \@tempswatrue%
    \def\do##1{%
      \if@tempswa%
        \def\@tempa{##1}%
        \@tempswafalse%
      \else%
        \l@addto@macro\@tempb{,##1}%
      \fi%
    }%
    \let\@tempc\relax%
    \DeclareListParser{\@tempc}{:}%
    \@tempc{#1}%
    \preto\tud@footlogo@fileoptions{%
      keepaspectratio,%
      totalheight=\dimexpr\glueexpr\tud@footlogoheight@dim\relax\relax,%
    }%
    \eappto\tud@footlogo@fileoptions{\expandonce\@tempb}%
    \protected@edef\@tempc{%
      \noexpand\includegraphics[{%
        \expandonce\tud@footlogo@fileoptions%
      }]{\@tempa}%
    }%
    \tud@vlayerbox{#2}{\vss\hbox{\@tempc}\vss\vss}{%
      The given `\string\footlogo{\@tempa}' is too large.%
    }%
  \endgroup%
}
\newcommand*\tud@footlogo@cmd@use[2]{%
  \tud@footlogo@option@set%
  \tud@footlogo@cmd@set{#1}{#2}%
  \setbox\z@\hbox{\tud@uselayerbox{foot@cmd}}%
  \usebox\z@\hspace*{-\wd\z@}%
}
\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
\newcommand*\tud@footcontent@font@use[1]{%
  \usekomafont{tudheadings}{%
    \tud@footcontent@font@size%
    \tud@footcontent@font@face%
    \selectfont%
    #1%
  }%
}
\newcommand*\tud@footcontent@font@size{}
\newcommand*\tud@footcontent@font@face{}
\newcommand*\tud@footcontent@left{}
\newcommand*\tud@footcontent@right{}
\let\tud@footcontent@right\@nnil
\newcommand*\footcontent{%
  \kernel@ifstar{%
    \renewcommand*\tud@footcontent@font@size{}%
    \tud@footcontent@do%
  }{%
    \renewcommand*\tud@footcontent@font@size{%
      \tud@setdim\tud@res@glue{\tud@head@fontsize\p@}%
      \fontsize{\tud@res@glue}{\dimexpr1\tud@res@glue*5/4\relax}%
    }%
    \tud@footcontent@do%
  }%
}
\newcommand*\tud@footcontent@do[2][]{%
  \kernel@ifnextchar[%]
    {\tud@footcontent@@do{#1}{#2}}%
    {\tud@footcontent@@do{#1}{#2}[\@nil]}%
}
\newcommand*\tud@footcontent@@do{}
\def\tud@footcontent@@do#1#2[#3]{%
  \if\detokenize{#1*}\relax\else%
    \renewcommand*\tud@footcontent@font@face{#1}%
  \fi%
  \if\detokenize{#2*}\relax\else%
    \renewcommand*\tud@footcontent@left{#2}%
  \fi%
  \if\detokenize{#3*}\relax\else%
    \renewcommand*\tud@footcontent@right{#3}%
  \fi%
}
\newcommand*\tud@layer@footcontent@wrn{}
\newcommand*\tud@footcontent@use[2]{%
  \@tempswafalse%
  \ifx\tud@footcontent@left\@empty%
    \ifx\tud@footcontent@right\@nnil\else%
      \ifx\tud@footcontent@right\@empty\else%
        \@tempswatrue%
      \fi%
    \fi%
  \else%
    \@tempswatrue%
  \fi%
  \if@tempswa%
    \tud@ddc@check%
    \ifcase\@tempb\relax%
      \tud@setdim\@tempdimc{\z@}%
    \else%
      \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
      \tud@addtodim\@tempdimc{\columnsep}%
    \fi%
    \tud@vlayerbox[footcontent]{#1}{%
      \linespread{1}%
      \vss%
      \hbox to #2{%
        \tud@footcontent@font@use{%
          \tud@setglue\tud@res@glue{#2}%
          \tud@footcontent@@use{\tud@res@glue}%
          \hss%
        }%
      }%
      \vss\vss%
    }{%
      The content for the footer (`\string\footcontent')\noexpand\MessageBreak%
      is too high. You should either reduce the content\noexpand\MessageBreak%
      or lower the fontsize via the optional argument.%
      \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
        \noexpand\MessageBreak%
        Alternatively you can enlarge the bottom margin\noexpand\MessageBreak%
        by using option `extrabottommargin'.%
      \fi%
    }%
  \else%
    \hbox to #2{}%
  \fi%
}
\newcommand*\tud@footcontent@@use[1]{%
  \ifx\tud@footcontent@right\@nnil%
    \vtop{%
      \hsize=\dimexpr\glueexpr#1-\@tempdimc\relax\relax%
      \strut\ignorespaces\tud@footcontent@left\strut%
    }%
  \else%
    \vtop{%
      \hsize=\dimexpr\glueexpr(#1-\columnsep)/2\relax\relax%
      \strut\ignorespaces\tud@footcontent@left\strut%
    }%
    \hspace{\columnsep}%
    \vtop{%
      \hsize=\dimexpr\glueexpr(#1-\columnsep)/2-\@tempdimc\relax\relax%
      \strut\ignorespaces\tud@footcontent@right\strut%
    }%
  \fi%
}
\tud@newif\if@tud@parameter@ps@font@set
\newcommand*\TUD@parameter@ps@def[1]{%
  \TUD@parameter@def{cdfont}[true]{%
    \TUDoption{cdfont}{#1}%
    \@tud@parameter@ps@font@settrue%
  }%
  \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}%
  \TUD@parameter@def{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
  \TUD@parameter@def{headlogo}{\headlogo{#1}}%
  \TUD@parameter@def{footlogo}{\footlogo{#1}}%
  \TUD@parameter@def{ddc}[true]{\TUDoption{ddc}{#1}}%
  \TUD@parameter@def{ddchead}[true]{\TUDoption{ddchead}{#1}}%
  \TUD@parameter@def{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
  \TUD@parameter@def{cdfonts}[true]{%
    \TUDoption{cdfonts}{#1}%
    \@tud@parameter@ps@font@settrue%
  }%
  \TUD@parameter@def{tudfonts}[true]{%
    \TUDoption{tudfonts}{#1}%
    \@tud@parameter@ps@font@settrue%
  }%
  \TUD@parameter@def{barfont}[true]{\TUDoption{barfont}{#1}}%
  \TUD@parameter@def{widehead}[true]{\TUDoption{widehead}{#1}}%
  \TUD@parameter@def{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
  \TUD@parameter@let{logo}{headlogo}%
}
\newcommand*\tud@envir@ps{tudheadings}
\newcommand*\tud@envir@selectps{%
  \expandafter\pagestyle\expandafter{\tud@envir@ps}%
  \tud@if@strequal{\GetRealPageStyle{\tud@envir@ps}}{empty}{%
    \renewcommand*\titlepagestyle{empty}%
    \renewcommand*\indexpagestyle{empty}%
  }{}%
  \tud@if@strequal{\GetRealPageStyle{\tud@envir@ps}}{empty.tudheadings}{%
    \renewcommand*\titlepagestyle{empty.tudheadings}%
    \renewcommand*\indexpagestyle{empty.tudheadings}%
  }{}%
}
\newcommand*\tud@currentpagestyle@value{}
\newcommand*\tud@currentpagestyle@set{%
  \ifdefvoid{\tud@currentpagestyle@value}{%
    \xdef\tud@currentpagestyle@value{\currentpagestyle}%
  }{}%
}
\newcommand*\tud@currentpagestyle@reset{%
  \ifdefvoid{\tud@currentpagestyle@value}{}{%
    \expandafter\pagestyle\expandafter{\tud@currentpagestyle@value}%
    \let\tud@currentpagestyle@value\relax%
  }%
}
\NewEnviron{tudpage}[1][]{%
  \tud@currentpagestyle@set%
  \clearpage%
  \def\tud@envir@ps{tudheadings}%
  \TUD@parameter@set{tudpage}{#1}%
  \tud@envir@selectps%
  \tud@x@multicol@check%
  \ifnum\tud@x@multicol@num>\@ne\relax%
    \begin{multicols}{\tud@x@multicol@num}%
  \fi%
  \BODY%
  \ifnum\tud@x@multicol@num>\@ne\relax%
    \end{multicols}%
  \fi%
}[%
  \aftergroup\tud@currentpagestyle@reset%
  \clearpage%
]
\TUD@parameter@family{tudpage}{%
  \TUD@parameter@def{language}{\selectlanguage{#1}}%
  \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
  \TUD@parameter@def{pagestyle}{%
    \tud@if@tudheadings{#1}{\def\tud@envir@ps{#1}}{%
      \def\tud@envir@ps{tudheadings}%
      \tud@if@strequal{#1}{empty}{\def\tud@envir@ps{empty.tudheadings}}{%
      \tud@if@strequal{#1}{plain}{\def\tud@envir@ps{plain.tudheadings}}{%
      \tud@if@strequal{#1}{headings}{}{%
        \TUD@parameter@err{pagestyle}{%
          headings, plain, empty or any tudheadings page style type%
        }%
      }}}%
    }%
  }%
  \TUD@parameter@ps@def{#1}%
  \TUD@parameter@handler@default{}%
}
\PreventPackageFromLoading[%
  \ClassWarning{\TUD@Class@Name}{%
    The package `fancyhdr' must not be used with a\MessageBreak%
    TUD-Script class. You should make use of the\MessageBreak%
    capabilities of package `scrlayer-scrpage' instead%
  }%
]{fancyhdr}
%%%% From File: tudscr-layout.dtx (no git version info was found)
\newcommand*\tud@subtitle@fontsizecmd{\LARGE}
\newcommand*\tud@prefix@fontsizecmd{\huge}
\newcommand*\tud@sec@fontsizecmd{\Huge}
\newcommand*\tud@sec@baselineskip@@dim{}
\newcommand*\tud@sec@baselineskip@set{%
  \begingroup%
    \tud@sec@fontsizecmd%
    \edef\tud@res@a{%
      \endgroup%
      \unexpanded{\def\tud@sec@baselineskip@@dim}{%
        \the\dimexpr\glueexpr\f@baselineskip\relax\relax%
      }%
    }%
  \tud@res@a%
}
\tud@sec@baselineskip@set
\newcommand*\tud@x@scr@headings@set[1][]{%
  \def\@tempb##1##2##3{%
    \renewcommand*\tud@sec@fontsizecmd{##1}%
    \renewcommand*\tud@prefix@fontsizecmd{##2}%
    \renewcommand*\tud@subtitle@fontsizecmd{##3}%
    \tud@sec@baselineskip@set%
    #1%
  }%
  \KOMAoptionOf[\def\@tempc]{\KOMAClassFileName}{headings}%
  \@for\@tempc:=\@tempc\do{%
    \TUD@set@numkey{headings}{@tempa}{%
      {standardclasses}{0},{big}{1},{normal}{2},{small}{3}%
    }{\@tempc}%
    \ifx\FamilyKeyState\FamilyKeyStateProcessed%
      \ifcase\@tempa\relax% standardclasses
        \@tempb{\Huge} {\LARGE}{\Large}%
      \or% big
        \@tempb{\Huge} {\huge} {\LARGE}%
      \or% normal
        \@tempb{\huge} {\LARGE}{\Large}%
      \or% small
        \@tempb{\LARGE}{\Large}{\large}%
      \fi%
    \fi%
  }%
}
\AfterEndPreamble{\tud@x@scr@headings@set}
\newcommand*\tud@x@scr@headings@reset{%
  \tud@cd@process%
  \tud@x@scr@headings@set[%
    \ifcase\tud@cd@part@num\relax\else% !false
      \tud@komafont@reset{part}%
      \tud@komafont@reset{partnumber}%
    \fi%
    \ifcase\tud@cd@section@num\relax\else% !false
      \tud@komafont@reset{section}%
      \tud@komafont@reset{subsection}%
      \tud@komafont@reset{subsubsection}%
    \fi%
  ]%
}
\newcommand*\tud@sec@fontface[1][]{\tud@sec@@fontface{#1}}%
\newcommand*\tud@sec@@fontface[1]{%
  \sectfont#1%
  \if@tud@cdfont@active%
    \if@tud@heavyheadings%
      \if@tud@x@mweights@enabled%
        \edef\bfseries@rm{\tud@cdfont@ebf}%
        \edef\bfseries@sf{\tud@cdfont@ebf}%
        \edef\bfseries@tt{\tud@ttfont@ebf}%
      \fi%
      \let\bfdefault\tud@cdfont@ebf%
      \fontseriesforce{\tud@cdfont@ebf}%
    \fi%
  \else%
    \fontfamily{\tud@cdfont@fam}%
    \if@tud@heavyheadings%
      \let\bfdefault\tud@cdfont@ebf%
    \else%
      \let\bfdefault\tud@cdfont@bf%
    \fi%
    \fontseriesforce{\bfdefault}%
  \fi%
  \selectfont%
}
\if@tud@cdoldfont@active
  \renewcommand*\tud@sec@fontface[1][]{%
    \if@tud@cdoldfont@nodin%
      \tud@sec@@fontface{#1}%
    \else%
      \tud@db\tud@raggedright%
    \fi%
  }%
\fi
\tud@newif\if@tud@sec
\newrobustcmd*\tud@sec@format{%
  \@tud@sectrue%
  \kernel@ifstar{\tud@sec@@format{}}{\tud@sec@@format{\strut}}%
}
\newcommand*\tud@sec@@format[1]{%
  \kernel@ifnextchar[%]
    {\tud@sec@@@format{#1}}%
    {\tud@sec@@@format{#1}[]}%
}
\newcommand*\tud@sec@@@format{}
\def\tud@sec@@@format#1[#2]#3{%
  \begingroup%
    \IfArgIsEmpty{#2}%
      {\let\tud@res@a\@firstofone}%
      {\def\tud@res@a{\usekomafont{#2}}}%
    \tud@res@a{%
      \nobreak#1\nobreak\vphantom{\textsuperscript{\tud@font@phantomglyphs}}%
    }%
  \endgroup%
  \tud@sec@@@@format{#3}%
}
\newcommand*\tud@sec@@@@format[1]{#1}
\if@tud@cdoldfont@active
  \def\tud@sec@@@@format#1{\tud@ifdin{\MakeUppercase{#1}}{#1}}%
\fi
\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
\newcommand*\tud@section@fontcolor{}
\providecommand*\raggedtitle{\tud@raggedright}
\newcommand*\tud@cd@process{%
  \ifcase\tud@cd@title@num\relax% false
    \tud@cs@restore{titlepagestyle}%
    \tud@komafont@unset{titlehead}%
    \tud@komafont@unset{title}%
    \tud@komafont@unset{subtitle}%
    \tud@komafont@unset{subject}%
    \tud@komafont@unset{author}%
    \tud@komafont@unset{date}%
    \tud@komafont@unset{publishers}%
  \else% !false
    \tud@cs@store{titlepagestyle}%
    \renewcommand*\titlepagestyle{plain.tudheadings}%
    \tud@komafont@set{titlehead}{\usekomafont{titlepage}}%
    \tud@komafont@set{title}{%
      \usekomafont{disposition}%
      \raggedtitle%
      \tud@sec@fontface%
      \tud@sec@fontsizecmd%
      \tud@color{\tud@title@fontcolor}%
    }%
    \tud@komafont@set{subtitle}{%
      \tud@subtitle@fontsizecmd%
      \fontseriesforce{\tud@cdfont@bf}\selectfont%
    }%
    \tud@komafont@set{subject}{%
      \usesizeofkomafont{section}%
      \sffamily%
      \fontseriesforce{\tud@cdfont@bf}\selectfont%
      \tud@color{\tud@title@fontcolor}%
    }%
    \tud@komafont@set{author}{\usekomafont{subject}}%
    \tud@komafont@set{publishers}{\usekomafont{author}}%
    \tud@komafont@set{date}{\usekomafont{titlepage}}%
  \fi%
  \ifcase\tud@cd@part@num\relax% false
    \tud@cs@restore{partlineswithprefixformat}%
    \tud@cs@restore{scr@part@beforeskip}%
    \tud@cs@restore{scr@part@afterskip}%
    \tud@cs@restore{partheadstartvskip}%
    \tud@komafont@unset{part}%
    \tud@komafont@unset{partnumber}%
    \tud@cs@restore{raggedpart}%
  \else% !false
    \tud@cs@store{partlineswithprefixformat}%
    \let\partlineswithprefixformat\tud@partlineswithprefixformat%
    \tud@cs@store{scr@part@beforeskip}%
    \renewcommand*\scr@part@beforeskip{%
      \glueexpr\tud@cd@aftervskip@@glue+\baselineskip\relax%
    }%
    \tud@cs@store{scr@part@afterskip}%
    \renewcommand*\scr@part@afterskip{\tud@cd@aftervskip@@glue}%
    \tud@cs@store{partheadstartvskip}%
    \let\partheadstartvskip\tud@partheadstartvskip%
    \tud@komafont@set{part}{%
      \tud@sec@fontface%
      \tud@color{\tud@part@fontcolor}%
    }%
    \tud@komafont@set{partnumber}{%
      \tud@sec@fontface%
      \tud@prefix@fontsizecmd%
      \tud@color{\tud@part@fontcolor}%
    }%
    \tud@cs@store{raggedpart}%
    \renewcommand*\raggedpart{\tud@raggedright}%
  \fi%
  \ifcase\tud@cd@section@num\relax% false
    \tud@cs@restore{sectionlinesformat}%
    \tud@cs@restore{sectioncatchphraseformat}%
    \tud@komafont@unset{section}%
    \tud@komafont@unset{subsection}%
    \tud@komafont@unset{subsubsection}%
    \tud@komafont@unset{paragraph}%
    \tud@komafont@unset{subparagraph}%
    \tud@cs@restore{raggedsection}%
    \tud@cs@restore{minisec}%
    \tud@komafont@unset{minisec}%
  \else% !false
    \tud@cs@store{sectionlinesformat}%
    \let\sectionlinesformat\tud@sectionlinesformat%
    \tud@cs@store{sectioncatchphraseformat}%
    \let\sectioncatchphraseformat\tud@sectioncatchphraseformat%
    \tud@komafont@set{section}{%
      \tud@sec@fontface%
      \tud@color{\tud@section@fontcolor}%
    }%
    \tud@komafont@set{subsection}{%
      \tud@sec@fontface%
      \tud@color{\tud@section@fontcolor}%
    }%
    \tud@komafont@set{subsubsection}{%
      \tud@sec@fontface%
      \tud@color{\tud@section@fontcolor}%
    }%
    \tud@komafont@set{paragraph}{%
      \tud@color{\tud@section@fontcolor}%
    }%
    \tud@komafont@set{subparagraph}{%
      \tud@color{\tud@section@fontcolor}%
    }%
    \tud@cs@store{raggedsection}%
    \renewcommand*\raggedsection{\tud@raggedright}%
    \tud@cs@store{minisec}%
    \renewcommand\minisec[1]{%
      \tud@cs@use{minisec}{\tud@sec@format*{##1}}%
    }%
    \tud@komafont@set{minisec}{%
      \tud@sec@fontface%
      \ifcase\tud@cd@section@num\relax\or\else% *color
        \tud@if@strequal{\tud@pagecolor}{HKS41}{}{\color{HKS41}}%
      \fi%
    }%
  \fi%
}
\newcommand*\tud@cd@specialpage@set[1]{%
  \tud@komafont@set{footnote}{%
    \edef\@tempa{%
      \noexpand\tud@color{%
        \expandafter\noexpand\csname tud@#1@fontcolor\endcsname%
      }%
    }\@tempa%
  }%
  \tud@cs@store{footnoterule}%
  \let\footnoterule\relax%
}
\newcommand*\tud@cd@beforevskip@@dim{%
  \dimexpr-\tud@dim@areavskip-\tud@dim@areaheadvskip\relax%
}
\newcommand*\tud@cd@innervskip@@dim{%
  \dimexpr(\tud@sec@baselineskip@@dim)/5\relax%
}%
\newcommand*\tud@cd@aftervskip@@glue{%
  \glueexpr
    \dimexpr(\tud@sec@baselineskip@@dim)*4/5\relax
    \@plus\dimexpr(\tud@sec@baselineskip@@dim)/20\relax
    \@minus\dimexpr(\tud@sec@baselineskip@@dim)/10\relax
  \relax
}
\newcommand*\tud@cd@headstart@vskip{%
  \tud@setdim\@tempdima{\tud@cd@beforevskip@@dim}%
  \tud@length@setabsolute\@tempdima%
  \null\vskip\dimexpr\glueexpr\@tempdima-\f@baselineskip-\parskip\relax\relax%
}
\newcommand*\tud@cd@vphantom{%
  \begingroup%
    \usekomafont{partnumber}{%
      \tud@sec@format{\vskip\tud@cd@innervskip@@dim}%
    }%
  \endgroup%
}
\newcommand*\tud@part@subtitle{}
\newcommand*\setpartsubtitle[1]{\gdef\tud@part@subtitle{#1}}
\newkomafont{partsubtitle}{%
  \tud@subtitle@fontsizecmd%
  \fontseriesforce{\tud@cdfont@bf}\selectfont%
  \tud@color{\tud@part@fontcolor}%
}
\aliaskomafont{parttitle}{partsubtitle}
\newcommand*\tud@sec@subtitle[1]{%
  \ifcsvoid{tud@#1@subtitle}{}{%
    {\usekomafont{#1subtitle}{%
      \vskip-1\parskip%
      \tud@sec@format{\csuse{tud@#1@subtitle}}%
    }}\par%
    \global\cslet{tud@#1@subtitle}{\@empty}%
  }%
}
\newcommand*\tud@partheadstartvskip{}
\let\tud@partheadstartvskip\partheadstartvskip
\pretocmd\tud@partheadstartvskip{%
  \renewcommand*\tud@part@fontcolor{}% false/true
  \ifcase\tud@cd@part@num\relax\or\else% *color
    \renewcommand*\tud@part@fontcolor{HKS41}%
  \fi%
}{}{\tud@patch@wrn{tud@partheadstartvskip}}
\newcommand*\tud@partformat{}%
\newcommand*\tud@partlineswithprefixformat[3]{%
    \edef\tud@partformat{\noexpand\tud@sec@format{\expandonce\partformat}}%
    \let\partformat\tud@partformat%
    \IfUseNumber{}{\tud@cd@vphantom}%
    #2\tud@sec@format[{#1}]{#3}%
  \tud@sec@subtitle{#1}%
}
\if@tud@cdoldfont@active
  \patchcmd\tud@partlineswithprefixformat
    {#2\tud@sec@format[{#1}]{#3}}
    {#2\tud@sec@format[{#1}]{}\addtokomafont{#1}{\tud@sec@format}#3}
    {}{\tud@patch@wrn{tud@partlineswithprefixformat}}
\fi
\At@startsection{%
  \renewcommand*\tud@section@fontcolor{}%
  \ifcase\tud@cd@section@num\relax\or\else% *color
    \tud@if@strequal{\tud@pagecolor}{HKS41}{}{%
      \renewcommand*\tud@section@fontcolor{HKS41}%
    }%
  \fi%
}
\newcommand*\tud@sectionlinesformat[4]{%
  \@hangfrom{\hskip #2#3}{\tud@sec@format*[{#1}]{#4}}%
}
\newcommand*\tud@sectioncatchphraseformat[4]{%
  \hskip #2#3\tud@sec@format*[{#1}]{#4}%
}
%%%% From File: tudscr-title.dtx (no git version info was found)
\newkomafont{thesis}{%
  \usekomafont{title}%
  \tud@subtitle@fontsizecmd%
}
\newkomafont{titlepage}{%
  \raggedtitle%
  \sffamily%
  \mdseries%
  \usesizeofkomafont{subsection}%
  \tud@color{\tud@title@fontcolor}%
}
\robustify{\thanks}
\robustify{\footnotemark}
\newcommand*\tud@title@pagenumber{}
\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
  \TUD@deprecated@length\pageheadingsvskip%
  \TUD@deprecated@length\headingsvskip%
  \begingroup%
    \cleardoublepage%
    \TUD@parameter@set{title}{#1}%
    \ifcase\tud@cd@title@num\relax% false
      \if@titlepageiscoverpage%
        \tud@cover@fixmargins%
      \fi%
      \ifx\tud@title@pagenumber\relax%
        \tud@cs@use{maketitle}%
      \else%
        \tud@cs@use{maketitle}[\tud@title@pagenumber]%
      \fi%
      \tud@if@tudheadings{\currentpagestyle}{%
        \tud@if@strequal{\titlepagestyle}{empty}%
          {\thispagestyle{empty.tudheadings}}%
          {}%
      }{}%
    \else% !false
      \if@tud@parameter@ps@font@set\else%
        \if@tud@cdfont@active\else%
          \if@tud@cdfont@heavy%
            \TUDoptions{cdfont=heavy}%
          \else%
            \TUDoptions{cdfont=true}%
          \fi%
        \fi%
      \fi%
      \if@titlepage%
        \tud@maketitle@page%
      \else%
        \tud@maketitle@inpage%
      \fi%
    \fi%
  \endgroup%
  \setcounter{footnote}{0}%
  \global\let\and\relax%
}
\TUD@parameter@family{title}{%
  \TUD@parameter@def{titlepage}[true]{\KOMAoption{titlepage}{#1}}%
  \TUD@parameter@def{titlesignature}[true]{\TUDoption{titlesignature}{#1}}%
  \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
  \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
  \TUD@parameter@let{cd}{cdtitle}%
  \TUD@parameter@def{cdgeometry}[true]{\TUDoption{cdgeometry}{#1}}%
  \TUD@parameter@ps@def{#1}%
  \TUD@parameter@handler@value{pagenumber}%
}
\tud@cs@store{maketitle}
\let\maketitle\tud@maketitle
\patchcmd\titlepage{%
  \thispagestyle{empty}%
}{%
  \tud@if@tudheadings{\currentpagestyle}{%
    \thispagestyle{empty.tudheadings}%
  }{%
    \thispagestyle{empty}%
  }%
}{}{\tud@patch@wrn{titlepage}}
\newcommand*\tud@titleback{}
\newcommand*\tud@maketitle@page{%
  \renewcommand*\tud@title@fontcolor{}%
  \ifcase\tud@cd@title@num\relax\or\or% litecolor
    \renewcommand*\tud@title@fontcolor{HKS41}%
  \or% barcolor
    \renewcommand*\tud@title@fontcolor{HKS41}%
  \or% bicolor
    \renewcommand*\tud@title@fontcolor{HKS41}%
  \or% color
    \renewcommand*\tud@title@fontcolor{HKS41!30}%
  \or% full
    \renewcommand*\tud@title@fontcolor{HKS41!30}%
  \fi%
  \begin{titlepage}%
    \tud@cd@specialpage@set{title}%
    \ifx\tud@title@pagenumber\relax\else%
      \setcounter{page}{\tud@title@pagenumber}%
    \fi%
    \if@tud@coverpage\else%
      \addtokomafont{footnote}{\sffamily}%
      \let\footnotesize\small%
      \let\footnoterule\relax%
      \let\footnote\thanks%
      \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
      \let\@oldmakefnmark\@makefnmark%
      \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
      \tud@x@hyperref@realfootnotes%
      \ifx\@extratitle\@empty%
        \if@titlepageiscoverpage%
          \ClassWarning{\TUD@Class@Name}{%
            Using option `titlepage=firstiscover' is only\MessageBreak%
            possible with an extra title. Alternatively you can\MessageBreak%
            create a cover with `\string\makecover'%
          }%
          \@titlepageiscoverpagefalse%
        \fi%
        \ifx\@frontispiece\@empty\else%
          \if@twoside\null\fi%
        \fi%
      \else%
        \if@titlepageiscoverpage%
          \edef\titlepage@restore{%
            \noexpand\endgroup%
            \noexpand\global\noexpand\@colht\the\@colht%
            \noexpand\global\noexpand\@colroom\the\@colroom%
            \noexpand\global\vsize\the\vsize%
            \noexpand\global\noexpand\@titlepageiscoverpagefalse%
            \noexpand\let\noexpand\titlepage@restore\noexpand\relax%
          }%
          \begingroup%
          \tud@cover@setmargins%
        \else%
          \let\titlepage@restore\relax%
        \fi%
        \noindent\@extratitle%
      \fi%
      \next@tpage%
      \ifx\@frontispiece\@empty\else%
        \noindent\@frontispiece%
      \fi%
      \next@tdpage%
    \fi%
    \vspace*{-\baselineskip}%
    \tud@cd@headstart@vskip%
    \vspace*{\dimexpr\tud@pageheadingsvskip@dim\relax}%
    \tud@cd@vphantom%
    \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
    {\usekomafont{titlepage}{%
      \tud@maketitle@head%
      {\usekomafont{title}{\tud@title@format{\@title}\par}}%
      \ifx\@subtitle\@empty\else%
        {\usekomafont{subtitle}{\tud@title@format[partnumber]{\@subtitle}\par}}%
      \fi%
      \vskip\glueexpr\bigskipamount*2\relax%
      \let\tud@split@author@do\tud@split@author@title%
      \tud@multiple@split{@author}\par%
      \vskip 2ex\@plus1ex\@minus1ex%
      \ifx\@thesis\@empty%
        \if@tud@coverpage\else%
          \ifx\@date\@empty\else%
            \vskip 2ex\@plus.1fill%
            {\usekomafont{date}{\tud@date@print\par}}%
          \fi%
        \fi%
        \vskip 2ex\@plus.25fill%
      \else%
        \vskip 2ex\@plus.25fill%
        \if@tud@subjectthesis\else%
          {\usekomafont{thesis}{\tud@title@format{\@thesis}\par}}%
          \vskip 2ex\@plus1ex\@minus1ex%
        \fi%
        \if@tud@coverpage\else%
          \ifx\@graduation\@empty\else%
            \def\@tempc{%
              \@graduation%
              \ifx\@graduationabbreviation\@empty\else%
                \nobreakspace(\@graduationabbreviation)%
              \fi%
            }%
            {\usekomafont{titlepage}{\graduationtext\par}}%
            \vskip 2.5ex\@plus1ex\@minus1ex%
            {\usekomafont{thesis}{\tud@title@format{\@tempc}\par}}%
            \vskip 3ex\@plus1ex\@minus1ex%
          \fi%
        \fi%
        \vskip 2ex\@plus.5fill%
      \fi%
      \if@tud@coverpage\else%
        \tud@title@names{referee}%
        \tud@title@names{advisor}%
        \tud@title@names{supervisor}%
        \tud@title@names{professor}%
        \ifx\@thesis\@empty\else%
          \tud@date@check%
          \ifx\@date\@empty\else%
            \vskip 2ex\@plus1ex\@minus1ex%
            \tud@if@strblank{\datetext}{}{\datetext\tud@title@delimiter}%
            {\usekomafont{date}{\tud@date@print\par}}%
            \ifx\@defensedate\@empty\else%
              \tud@if@strblank{\defensedatetext}{}{%
                \defensedatetext\tud@title@delimiter%
              }%
              {\usekomafont{date}{\@defensedate\par}}%
            \fi%
          \fi%
        \fi%
        \if@tud@titlesignature%
          \let\tud@split@@author@do\tud@split@author@signature%
          \vskip\tud@glue@signaturevskip\noindent%
          \tud@ifin@and{\@@author}{}{\hfill}%
          \tud@multiple@split{@@author}%
        \fi%
      \fi%
      \ifx\@publishers\@empty\else%
        \vskip 2ex\@plus.25fill%
        {\usekomafont{publishers}{\@publishers\par}}%
        \vskip\z@\@plus.25fill%
      \fi%
    }}%
    \let\tud@titleback\relax%
    \if@twoside%
      \@tempswatrue%
      \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty%
        \@tempswafalse%
      \fi\fi%
      \if@tempswa%
        \gdef\tud@titleback{%
          \next@tpage%
          \begin{minipage}[t]{\textwidth}%
            \@uppertitleback%
          \end{minipage}\par%
          \vfill%
          \begin{minipage}[b]{\textwidth}%
            \@lowertitleback%
          \end{minipage}\par%
          \@thanks\let\@thanks\@empty%
        }%
      \fi%
    \fi%
    \def\@tempa{%
      \renewcommand*\tud@pagecolor{}%
      \ifcase\tud@cd@title@num\relax\or% true
        \tud@locked@num@preset{tud@head@bar@num}{0}%
      \or% litecolor
        \tud@locked@num@set{tud@head@bar@num}{1}%
      \or% barcolor
        \tud@locked@num@set{tud@head@bar@num}{2}%
      \or% bicolor
        \tud@locked@num@set{tud@head@bar@num}{3}%
      \or% color
        \renewcommand*\tud@pagecolor{HKS41}%
        \tud@locked@num@set{tud@head@bar@num}{1}%
      \or% full
        \renewcommand*\tud@pagecolor{HKS41}%
        \tud@locked@num@set{tud@head@bar@num}{3}%
      \fi%
      \tud@color{\tud@title@fontcolor}%
      \thispagestyle{empty.tudheadings}%
      \tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
    }%
    \if@tud@coverpage%
      \begingroup%
        \@tempa%
        \cleardoubleemptypage%
      \endgroup%
    \else%
      \begingroup%
        \@tempa%
        \begingroup%
          \let\thispagestyle\@gobble%
          \next@tpage%
        \endgroup%
      \endgroup%
      \tud@titleback%
      \ifx\@dedication\@empty\else%
        \next@tdpage\null\vfill%
        {\centering\usekomafont{dedication}{\@dedication\par}}%
        \vskip\z@\@plus3fill%
        \@thanks\let\@thanks\@empty%
        \cleardoubleemptypage%
      \fi%
    \fi%
  \end{titlepage}%
}
\newcommand*\tud@maketitle@inpage{%
  \renewcommand*\tud@title@fontcolor{}%
  \ifcase\tud@cd@title@num\relax\or\else% *color
    \tud@if@strequal{\tud@pagecolor}{HKS41}%
      {}%
      {\renewcommand*\tud@title@fontcolor{HKS41}}%
  \fi%
  \par%
  \ifx\tud@title@pagenumber\relax\else%
    \ifnum\tud@title@pagenumber=\@ne\relax\else%
      \ClassWarning{\TUD@Class@Name}{%
        Optional argument of \string\maketitle\space ignored\MessageBreak%
        at notitlepage-mode%
      }%
    \fi%
  \fi%
  \begingroup%
    \let\titlepage@restore\relax%
    \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
    \let\@oldmakefnmark\@makefnmark%
    \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
    \next@tdpage%
    \def\tud@res@a##1{##1}%
    \if@twocolumn\ifnum\col@number>\@ne\relax%
      \def\tud@res@a##1{\twocolumn[{##1}]}%
    \fi\fi%
    \ifx\@extratitle\@empty%
      \ifx\@frontispiece\@empty\else%
        \if@twoside\null\fi%
      \fi%
    \else%
      \tud@res@a{\@makeextratitle}%
    \fi%
    \next@tpage%
    \ifx\@frontispiece\@empty\else%
      \tud@res@a{\@makefrontispiece}%
    \fi%
    \next@tdpage%
    \tud@res@a{\tud@maketitle@@inpage}%
    \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
    \@thanks%
  \endgroup%
}
\newcommand*\tud@maketitle@@inpage{%
  \global\@topnum=\z@%
  \vspace*{-\baselineskip}%
  \tud@cd@headstart@vskip%
  \vspace*{\dimexpr\tud@headingsvskip@dim\relax}%
  \tud@cd@vphantom%
  \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
  {\usekomafont{titlepage}{%
    \tud@x@hyperref@realfootnotes%
    \TUDoptions{subjectthesis=true}%
    \tud@maketitle@head%
    {\usekomafont{title}{\tud@title@format{\@title}\par}}%
    \ifx\@subtitle\@empty\else%
      {\usekomafont{subtitle}{\tud@title@format[partnumber]{\@subtitle}\par}}%
    \fi%
    \vskip 2ex\@plus1ex\@minus1ex%
    \vskip\bigskipamount%
    \let\tud@split@author@do\tud@split@author@title%
    \tud@multiple@split{@author}\par%
    \ifx\@date\@empty\else%
      \vskip 2ex\@plus1ex\@minus1ex%
      {\usekomafont{date}{\tud@date@print\par}}%
    \fi%
    \ifx\@publishers\@empty\else%
      \vskip 2ex\@plus1ex\@minus1ex%
      {\usekomafont{publishers}{\@publishers\par}}%
    \fi%
    \ifx\@dedication\@empty\else%
      \vskip 2ex\@plus1ex\@minus1ex%
      {\centering\usekomafont{dedication}{\@dedication\par}}%
    \fi%
    \ifx\@graduation\@empty\else\tud@title@wrn{graduation}\fi%
    \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi%
    \ifx\@advisor\@empty\else\tud@title@wrn{advisor}\fi%
    \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
    \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi%
    \vskip\bigskipamount%
    \ifnum\col@number>\@ne\relax%
      \tud@if@lengthregister{\multicolsep}{\vspace{-\multicolsep}}{}%
    \fi%
    \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
  }}%
}
\newcommand*\tud@maketitle@head{%
  \setbox\z@\vbox{%
    \ifx\@titlehead\@empty\else%
      \begin{minipage}[t]{\textwidth}%
        \usekomafont{titlehead}{\@titlehead\strut\par}%
      \end{minipage}%
    \fi%
    \tud@thesis@tosubject%
    \ifx\@subject\@empty\else%
      \par\medskip%
      {\usekomafont{subject}{\tud@sec@format[partnumber]{\@subject}}}%
    \fi%
  }%
  \tud@setdim\@tempdima{\ht\z@+\dp\z@}%
  \ifdim\@tempdima>\z@\relax%
    \vskip\dimexpr-\@tempdima-\p@-1\medskipamount\relax%
    \usebox\z@\par\medskip%
  \fi%
}
\newcommand*\tud@title@format[2][]{%
  \begingroup%
    \let\\\newline%
    \tud@sec@format[{#1}]{#2}%
  \endgroup%
}
\newcommand*\tud@thesis@tosubject{%
  \if@tud@subjectthesis\ifx\@thesis\@empty\else%
    \ifx\@subject\@empty\else%
      \ClassWarning{\TUD@Class@Name}{%
        The option `subjectthesis' was activated, so\MessageBreak%
        the field `subject' will be overwritten with the\MessageBreak%
        given thesis%
      }%
    \fi%
    \let\@subject\@thesis%
  \fi\fi%
}
\newcommand*\tud@title@names[1]{%
  \letcs\@tempa{@#1}%
  \ifx\@tempa\@empty\else%
    \def\and{%
      \ifcsvoid{#1othername}{\par}{%
        \vskip 1ex\@plus.5ex\@minus.5ex%
        {\usekomafont{titlepage}{\csuse{#1othername}\par}}%
      }%
      \let\and\par%
    }%
    \vskip 1ex\@plus.5ex\@minus.5ex%
    {\usekomafont{titlepage}{\csuse{#1name}\par}}%
    {\usekomafont{author}{\csuse{@#1}\par}}%
  \fi%
}
\newcommand*\tud@title@delimiter{:\nobreakspace}
\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}}
\newcommand*\tud@newline@title{}
\newcommand*\tud@split@author@title[2]{%
  \tud@multiple@fields@store{@author}{#1}%
  \renewcommand*\tud@newline@title{%
    \vskip .5ex\strut%
    \def\tud@newline@title{\newline\strut}%
  }%
  {\usekomafont{author}{\ignorespaces#1\strut\unskip}}%
  \if@tud@coverpage\else%
    \ifx\@authormore\@empty\else%
      \tud@newline@title%
      \@authormore%
    \fi%
    \ifx\@emailaddress\@empty\else%
      \tud@newline@title%
      \@emailaddress%
    \fi%
    \ifx\@dateofbirth\@empty\else%
      \if@titlepage%
        \tud@newline@title%
        \tud@if@strblank{\dateofbirthtext}%
          {}%
          {\dateofbirthtext\tud@title@delimiter}%
        \@dateofbirth%
        \ifx\@placeofbirth\@empty\else%
          \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
        \fi%
      \else%
        \tud@title@wrn{dateofbirth}%
      \fi%
    \fi%
    \def\@tempc##1{%
      \expandafter\ifx\csname @##1\endcsname\@empty\else%
        \if@titlepage%
          \tud@newline@title%
          \tud@if@strblank{\csuse{##1name}}%
            {}%
            {\csuse{##1name}\tud@title@delimiter}%
          \csuse{@##1}%
        \else%
          \tud@title@wrn{##1}%
        \fi%
      \fi%
    }%
    \@tempc{course}%
    \@tempc{discipline}%
    \@tempc{matriculationnumber}%
    \@tempc{matriculationyear}%
  \fi%
  \tud@multiple@fields@restore{@author}%
  \tud@multiple@@@split{#2}{\vskip 1.5ex}%
}
\newcommand*\tud@title@wrn[1]{%
  \ClassWarning{\TUD@Class@Name}{%
    `\@backslashchar#1' has to be used with\MessageBreak%
    activated titlepage option%
  }%
}
\newcommand*\tud@split@author@signature[2]{%
  \tud@multiple@fields@store{@author}{#1}%
  \vbox{%
    \hsize=\dimexpr\textwidth*3/10\relax%
    \centering%
    \rule{\dimexpr\textwidth*3/10\relax}{.05pt}\newline%
    \ignorespaces#1\strut\unskip%
  }%
  \tud@multiple@fields@restore{@author}%
  \tud@multiple@@@split{#2}{\hfill}%
}
\newcommand\maketitleonecolumn[2][]{%
  \if@twocolumn%
    \if@titlepage%
      \tud@maketitle[{#1}]%
      \onecolumn#2\twocolumn%
    \else%
      \tud@title@twocolumn{\tud@maketitle[{#1}]#2}%
    \fi%
  \else%
    \ClassError{\TUD@Class@Name}{%
      `\string\maketitleonecolumn' can only be used in twocolumn mode%
    }{You should use `\string\maketitle' instead.}%
    \tud@maketitle[{#1}]#2%
  \fi%
}
\newsavebox\tud@title@box
\newcommand\tud@title@twocolumn[1]{%
  \onecolumn%
  \begingroup%
    \let\clearpage\relax%
    \let\newpage\relax%
    \global\setbox\tud@title@box\vbox{%
      \vspace*{\dimexpr1\baselineskip*9/10\relax}#1\bigskip%
    }%
  \endgroup%
  \tud@setdim\@tempdima{\textheight}%
  \tud@if@v@lower{2.03}{%
    \tud@ddc@check%
    \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
      \tud@setdim\@tempdima{\textheight-\tud@dim@ddcdiff}%
      \@tempswatrue%
    \fi%
  }{}%
  \ifdim\ht\tud@title@box>\@tempdima\relax%
    \@whiledim\ht\tud@title@box>\@tempdima\do{%
      \splittopskip\topskip%
      \splitmaxdepth\maxdepth%
      \vsplit\tud@title@box to \@tempdima%
      \clearpage%
      \tud@setdim\@tempdima{\textheight}%
      \tud@if@v@lower{2.03}{\@tempswafalse}{}%
    }%
  \else%
    \setbox\tud@title@box\vbox{#1\bigskip}%
  \fi%
  \twocolumn[\unvbox\tud@title@box]%
  \tud@if@v@lower{2.03}{%
    \if@tempswa%
      \ClassWarning{\TUD@Class@Name}{%
        You are using a two-column title along with\MessageBreak%
        the DDC-logo. Unfortunately in this case, the\MessageBreak%
        type area has to be adjusted manually. Please\MessageBreak%
        use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak%
        in both columns after the title%
      }%
    \fi%
  }{}%
}
\tud@newif\if@tud@coverpage
\newcommand*\makecover[1][]{%
  \if@titlepageiscoverpage%
    \ClassWarning{\TUD@Class@Name}{%
      Using both option `titlepage=firstiscover' and\MessageBreak%
      `\string\makecover' together isn't supported. The\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%
    }%
    \@titlepageiscoverpagefalse%
  \fi%
  \clearpage%
  \begingroup%
    \let\thanks\@gobble%
    \let\footnote\@gobble%
    \TUD@parameter@set{cover}{#1}%
    \let\tud@cd@title@num\tud@cd@cover@num%
    \tud@cd@process%
    \ifcase\tud@cd@cover@num\relax% false
      \tud@locked@bool@preset{@tud@cdgeometry@cover}{false}%
      \@tud@coverpagefalse%
    \else% !false
      \tud@locked@bool@preset{@tud@cdgeometry@cover}{true}%
      \@tud@coverpagetrue%
    \fi%
    \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
    \@titlepagetrue%
    \let\@extratitle\@empty%
    \let\@frontispiece\@empty%
    \let\@uppertitleback\@empty%
    \let\@lowertitleback\@empty%
    \let\@dedication\@empty%
    \if@tud@cdgeometry@cover%
      \if@tud@coverpage%
        \def\coverpagetopmargin{%
          \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
        }%
      \else%
        \tud@if@v@lower{2.03}{%
          \def\coverpagetopmargin{\tud@dim@bothmargin/2}%
        }{%
          \def\coverpagetopmargin{\tud@dim@slimmargin}%
        }%
      \fi%
      \tud@if@v@lower{2.03}{%
        \def\coverpagebottommargin{\tud@dim@bothmargin/2}%
      }{%
        \def\coverpagebottommargin{\tud@dim@widemargin}%
      }%
      \def\coverpageleftmargin{\tud@dim@widemargin}%
      \def\coverpagerightmargin{\tud@dim@slimmargin}%
    \fi%
    \if@tud@coverpage%
      \edef\titlepage@restore{%
        \noexpand\endgroup%
        \noexpand\global\noexpand\@colht\the\@colht%
        \noexpand\global\noexpand\@colroom\the\@colroom%
        \noexpand\global\vsize\the\vsize%
        \noexpand\global\noexpand\@titlepageiscoverpagefalse%
        \noexpand\let\noexpand\titlepage@restore\noexpand\relax%
      }%
      \begingroup%
        \tud@cover@setmargins%
        \tud@setdim\tud@dim@areavskip{\z@}%
        \tud@maketitle%
        \clearpage%
      \titlepage@restore%
    \else%
      \@titlepageiscoverpagetrue%
      \tud@cover@fixmargins%
      \ifx\tud@title@pagenumber\relax%
        \tud@cs@use{maketitle}%
      \else%
        \tud@cs@use{maketitle}[\tud@title@pagenumber]%
      \fi%
    \fi%
  \endgroup%
}
\tud@locked@newbool{@tud@cdgeometry@cover}
\TUD@parameter@family{cover}{%
  \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
  \TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
  \TUD@parameter@let{cd}{cdcover}%
  \TUD@parameter@def{cdgeometry}[true]{%
    \TUDoption{cdgeometry}{#1}%
    \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
      \tud@locked@bool@set{@tud@cdgeometry@cover}{true}%
    \else%
      \tud@locked@bool@set{@tud@cdgeometry@cover}{false}%
    \fi%
  }%
  \TUD@parameter@ps@def{#1}%
  \TUD@parameter@handler@value{pagenumber}%
}
\renewcommand*\coverpagetopmargin{%
  \if@tud@coverpage%
    \tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
  \else%
    \topmargin+1in%
  \fi%
}
\renewcommand*\coverpagebottommargin{%
  \if@tud@coverpage%
    \tud@dim@widemargin%
  \else%
    \coverpagetopmargin*2%
  \fi%
}
\newcommand*\tud@cover@fixmargins{%
  \begingroup%
    \tud@cdgeometry@assignlayout%
    \tud@x@geometry@fixmargins%
    \tud@setdim\@tempdima{%
      \coverpagebottommargin-\tud@dim@layoutvoffset%
        +\paperheight-\tud@dim@layoutheight%
    }%
    \edef\coverpagebottommargin{\the\@tempdima}%
    \tud@setdim\@tempdima{\coverpagetopmargin+\tud@dim@layoutvoffset}%
    \edef\coverpagetopmargin{\the\@tempdima}%
    \tud@setdim\@tempdima{%
      \coverpagerightmargin-\tud@dim@layouthoffset%
        +\paperwidth-\tud@dim@layoutwidth%
    }%
    \edef\coverpagerightmargin{\the\@tempdima}%
    \tud@setdim\@tempdima{\coverpageleftmargin+\tud@dim@layouthoffset}%
    \edef\coverpageleftmargin{\the\@tempdima}%
    \edef\tud@res@a{%
      \endgroup%
      \def\noexpand\coverpagetopmargin{\coverpagetopmargin}%
      \def\noexpand\coverpagebottommargin{\coverpagebottommargin}%
      \def\noexpand\coverpageleftmargin{\coverpageleftmargin}%
      \def\noexpand\coverpagerightmargin{\coverpagerightmargin}%
    }%
  \tud@res@a%
}
\newcommand*\tud@cover@setmargins{%
  \tud@cover@fixmargins%
  \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=1\baselineskip%
  \@colht=\textheight%
  \@colroom=\textheight%
  \vsize=\textheight%
  \columnwidth=\textwidth%
  \hsize=\columnwidth%
  \linewidth=\hsize%
}
%%%% From File: tudscr-frontmatter.dtx (no git version info was found)
\newcommand*\tud@fm@check[2]{%
  \global\let\tud@fm@set\tud@fm@first%
  \ifnum\csuse{tud@#1@level@num}<3\relax% false/true/section
    \ifboolexpr{%
      bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
    }{%
      \sbox\z@{%
        \renewcommand*\addtocentrydefault[3]{}%
        \vbox{#2}%
      }%
      \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
        \ClassWarning{\TUD@Class@Name}{%
          The given content within the `#1'\MessageBreak%
          environment is too large, so it wasn't possible\MessageBreak%
          to center the body vertically. Setting the option\MessageBreak%
          `#1=nofill' would be a solution. You\MessageBreak%
          could also use multiple `#1' environments%
        }%
        \boolfalse{@tud@#1@fil}%
      \fi%
    }{}%
  \else% chapter
  \fi%
  \ifnum\csuse{tud@#1@toc@num}>\tw@\relax%
    \tud@fm@toc{#1}{#2}%
  \fi%
  \global\let\tud@fm@set\tud@fm@first%
  #2%
}
\newcommand*\tud@fm@@toc{}
\newcommand*\tud@fm@toc[2]{%
  \ifbool{@tud@#1@multi}{%
    \begingroup%
      \let\tud@fm@@toc\@empty%
      \renewcommand*\tud@fm@head[2]{%
        \protected@xdef\tud@fm@@toc{%
          \ifx\tud@fm@@toc\@empty\else\tud@fm@@toc/\fi##2%
        }%
      }%
      \let\clearpage\relax%
      \sbox\z@{\vbox{#2}}%
      \csuse{phantomsection}%
      \protected@edef\@tempa{%
        \endgroup%
        \ifx\tud@fm@@toc\@empty\else%
          \ifodd\csuse{tud@#1@toc@num}\relax
            \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
          \else
            \noexpand\addsubsectiontocentry{}{\tud@fm@@toc}%
          \fi
        \fi%
      }%
    \@tempa%
  }{%
    \ClassWarning{\TUD@Class@Name}{%
      It isn't possible to use `#1=single'\MessageBreak%
      with `#1=tocmultiple'%
    }%
    \edef\@tempa{%
      \noexpand\tud@locked@num@set{tud@#1@toc@num}{%
        \the\numexpr\csuse{tud@#1@toc@num}-2\relax%
      }%
    }%
    \@tempa%
  }%
}
\newcommand\tud@fm@set[1]{}
\newcommand\tud@fm@first[1]{%
  \if@twocolumn\else%
    \if@titlepage%
      \ifbool{@tud@#1@fil}{\null\vfil}{}%
    \fi%
  \fi%
  \global\let\tud@fm@set\tud@fm@next%
}
\newcommand\tud@fm@next[1]{%
  \if@twocolumn%
    \ifbool{@tud@#1@multi}{\par}{\newpage}%
  \else%
    \if@titlepage%
      \ifbool{@tud@#1@multi}{%
        \ifbool{@tud@#1@fil}{\vfil}{}%
      }{%
        \ifbool{@tud@#1@fil}{\vfil\null\clearpage\null\vfil}{\clearpage}%
      }%
    \else%
      \ifnum\csuse{tud@#1@level@num}=\z@\relax%
        \ifundef{\main@language}{}{\vspace*{-\baselineskip}}%
      \fi%
    \fi%
  \fi%
}
\newcommand*\tud@fm@body@start[3]{%
  \begingroup%
    \TUD@parameter@set{#1}{#2}%
    \tud@fm@set{#1}%
    \if@twocolumn\else\if@titlepage\else\relax%
      \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
        \begin{\tud@quoting}%
      \fi%
    \fi\fi%
    \ifnum\tud@x@multicol@num>\@ne\relax%
      \vspace{-\multicolsep}%
      \begin{multicols}{\tud@x@multicol@num}[{\tud@fm@head{#1}{#3}}]%
    \else%
      \tud@fm@head{#1}{#3}%
    \fi%
}
\newcommand*\tud@fm@body@end[1]{%
    \ifnum\tud@x@multicol@num>\@ne\relax%
      \end{multicols}%
      \vspace{-\multicolsep}%
    \else%
      \par%
    \fi%
    \if@twocolumn\else\if@titlepage\else\relax%
      \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
        \end{\tud@quoting}\par%
      \fi%
    \fi\fi%
  \endgroup%
}
\newcommand*\tud@fm@head[2]{%
  \ifcase\csuse{tud@#1@level@num}\relax% false
    \if@titlepage\endgraf\fi%
    \csuse{phantomsection}%
    \tud@if@strequal{\@currenvir}{\tud@quoting}{}{%
      \if@twocolumn%
        \vskip\smallskipamount%
      \else%
        \vskip\bigskipamount%
      \fi%
      \vskip-\parskip%
    }%
  \or% true
    \if@titlepage\endgraf\fi%
    \csuse{phantomsection}%
    \@afterindentfalse%
    \tud@if@strequal{\@currenvir}{\tud@quoting}{}{%
      \vskip\bigskipamount\vskip-\parskip%
    }%
    \begingroup%
      \noindent\centering%
      \normalfont\sectfont\nobreak#2%
      \@endparpenalty\@M%
      \endgraf%
    \endgroup%
    \nopagebreak%
    \vskip\medskipamount\vskip-\parskip%
    \@afterheading%
  \or% section
    \section*{#2}%
    \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
  \fi%
  \ifbool{@tud@#1@markboth}{%
    \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
  }{}%
  \ifcase\csuse{tud@#1@toc@num}\relax\or% totoc
    \addsectiontocentry{}{#2}%
  \or% totocleveldown
    \addsubsectiontocentry{}{#2}%
  \fi%
}
\newcommand*\tud@fm@pagestyle[2]{%
  \if@titlepage%
    \ifcsundef{ps@#2}{%
      \ClassError{\TUD@Class@Name}{`#2' is no valid pagestyle}{%
        You tried to use `#2' as a pagestyle for the\MessageBreak%
        `#1' environment, but it was never defined.%
      }%
    }{\def\tud@envir@ps{#2}}%
  \else%
    \ClassWarning{\TUD@Class@Name}{%
      The key `pagestyle' can only be used with\MessageBreak%
      activated option `titlepage'%
    }%
  \fi%
}
\newcommand*\tud@quoting{quotation}
\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
\undef\abstract
\undef\endabstract
\NewEnviron{abstract}[1][]{%
  \let\tud@envir@ps\relax%
  \TUD@parameter@set{abstract}{#1}%
  \tud@x@multicol@check%
  \if@titlepage%
    \tud@currentpagestyle@set%
    \ifx\tud@envir@ps\relax%
      \tud@if@tudheadings{\currentpagestyle}{%
        \def\tud@envir@ps{empty.tudheadings}%
      }{%
        \def\tud@envir@ps{empty}%
      }%
    \fi%
    \clearpage%
    \tud@envir@selectps%
  \fi%
  \renewcommand*\nextabstract[1][]{%
    \tud@fm@body@end{abstract}%
    \tud@fm@body@start{abstract}{##1}{\abstractname}%
  }%
  \tud@fm@check{abstract}{%
    \tud@fm@body@start{abstract}{#1}{\abstractname}%
      \BODY%
    \tud@fm@body@end{abstract}%
  }%
}[%
  \if@titlepage%
    \if@tud@abstract@fil\vfil\null\fi%
    \aftergroup\tud@currentpagestyle@reset%
    \clearpage%
  \else%
    \ifnum\tud@abstract@level@num=\tw@\relax%
      \vskip\bigskipamount\vskip-\parskip%
    \fi%
  \fi%
]
\TUD@parameter@family{abstract}{%
  \TUD@parameter@def{language}{\selectlanguage{#1}}%
  \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
  \TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
  \TUD@parameter@def{markboth}[true]{%
    \tud@if@strbool{#1}{%
      \@tud@abstract@markbothtrue%
      \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
    }{%
      \@tud@abstract@markbothfalse%
    }{%
      \@tud@abstract@markbothfalse%
      \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
      \manualmark\markboth{#1}{#1}%
    }%
  }%
  \TUD@parameter@def{abstract}{\TUDoption{abstract}{#1}}%
  \TUD@parameter@let{option}{abstract}%
  \TUD@parameter@handler@default{}%
}
\newcommand*\nextabstract[1][]{%
  \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextabstract'}{%
    The command `\string\nextabstract' can only be used within\MessageBreak%
    the environment `abstract'.%
  }%
}
\tud@newif\if@tud@declarations
\NewEnviron{declarations}[1][]{%
  \@tud@declarationstrue%
  \let\tud@envir@ps\relax%
  \TUD@parameter@set{declaration}{#1}%
  \tud@x@multicol@check%
  \if@titlepage%
    \tud@currentpagestyle@set%
    \ifx\tud@envir@ps\relax%
      \tud@if@tudheadings{\currentpagestyle}{%
        \def\tud@envir@ps{empty.tudheadings}%
      }{%
        \def\tud@envir@ps{empty}%
      }%
    \fi%
    \clearpage%
    \tud@envir@selectps%
  \fi%
  \def\and{, }%
  \let\thanks\@gobble%
  \tud@fm@check{declaration}{\BODY}%
}[%
  \if@titlepage%
    \if@tud@declaration@fil\vfil\null\fi%
    \aftergroup\tud@currentpagestyle@reset%
    \clearpage%
  \else%
    \ifnum\tud@declaration@level@num=\tw@\relax%
      \vskip\bigskipamount\vskip-\parskip%
    \fi%
  \fi%
]
\TUD@parameter@family{declaration}{%
  \TUD@parameter@def{language}{\selectlanguage{#1}}%
  \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
  \TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
  \TUD@parameter@def{markboth}[true]{%
    \tud@if@strbool{#1}{%
      \@tud@declaration@markbothtrue%
      \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
    }{%
      \@tud@declaration@markbothfalse%
    }{%
      \@tud@declaration@markbothfalse%
      \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
      \manualmark\markboth{#1}{#1}%
    }%
  }%
  \TUD@parameter@def{company}{\def\@company{#1}}%
  \TUD@parameter@def{supporter}{\def\@supporter{#1}}%
  \TUD@parameter@def{place}{\def\@place{#1}}%
  \TUD@parameter@def{closing}{\def\@confirmationclosing{#1}}%
  \TUD@parameter@let{confirmationclosing}{closing}%
  \TUD@parameter@def{declaration}{\TUDoption{declaration}{#1}}%
  \TUD@parameter@let{option}{declaration}%
  \TUD@parameter@handler@default{}%
}
\newcommand*\tud@fm@supporter{}
\newcommand*\declaration{%
  \kernel@ifstar{%
    \def\tud@fm@supporter{supporter=\@supervisor}%
    \tud@fm@declaration%
  }{%
    \def\tud@fm@supporter{supporter=\@supporter}%
    \tud@fm@declaration%
  }%
}
\newcommand*\tud@fm@declaration[1][]{%
  \if@tud@declarations%
    \begingroup%
      \tud@fm@@confirmation[{\tud@fm@supporter,#1}]%
      \tud@fm@blocking[{#1}]%
    \endgroup%
  \else%
    \begin{declarations}[{\tud@fm@supporter,#1}]%
      \tud@fm@@confirmation%
      \tud@fm@blocking%
    \end{declarations}%
  \fi%
}
\newcommand*\nextdeclaration[3][]{%
  \if@tud@declarations%
    \tud@fm@body@start{declaration}{#1}{#2}%
      #3%
    \tud@fm@body@end{declaration}%
  \else%
    \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextdeclaration'}{%
      The command `\string\nextdeclaration' can only be used\MessageBreak%
      within the environment `declarations'.%
    }%
  \fi%
}
\newcommand*\confirmation{%
  \kernel@ifstar{%
    \def\tud@fm@supporter{supporter=\@supervisor}%
    \tud@fm@confirmation%
  }{%
    \def\tud@fm@supporter{supporter=\@supporter}%
    \tud@fm@confirmation%
  }%
}
\newcommand*\tud@fm@confirmation[1][]{%
  \begingroup%
    \TUD@parameter@handler@default[declaration]{supporter}%
    \undef\KV@declaration@company%
    \if@tud@declarations%
      \tud@fm@@confirmation[{\tud@fm@supporter,#1}]%
    \else%
      \begin{declarations}[{\tud@fm@supporter,#1}]%
        \tud@fm@@confirmation%
      \end{declarations}%
    \fi%
  \endgroup%
}
\newcommand*\tud@fm@@confirmation[1][]{%
  \tud@fm@body@start{declaration}{#1}{\confirmationname}%
    \confirmationtext\vskip\z@skip\@confirmationclosing%
  \tud@fm@body@end{declaration}%
}
\newcommand*\blocking[1][]{%
  \begingroup%
    \TUD@parameter@handler@default[declaration]{company}%
    \undef\KV@declaration@supporter%
    \undef\KV@declaration@closing%
    \undef\KV@declaration@confirmationclosing%
    \if@tud@declarations%
      \tud@fm@blocking[{#1}]%
    \else%
      \begin{declarations}[{#1}]%
        \tud@fm@blocking%
      \end{declarations}%
    \fi%
  \endgroup%
}
\newcommand*\tud@fm@blocking[1][]{%
  \tud@fm@body@start{declaration}{#1}{\blockingname}%
    \blockingtext%
  \tud@fm@body@end{declaration}%
}
%%%% From File: tudscr-misc.dtx (no git version info was found)
\newcommand*\tudbookmark[1][]{\@gobbletwo}
\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
  \renewcommand*\tudbookmark[3][0]{%
    \relax%
    \if@tud@bookmarks%
      \csuse{phantomsection}%
      \pdfbookmark[{#1}]{#2}{#3}%
    \fi%
  }%
  \renewcommand*\tud@x@hyperref@realfootnotes{%
    \let\Hy@saved@footnotemark\@footnotemark%
    \let\Hy@saved@footnotetext\@footnotetext%
    \let\@footnotemark\H@@footnotemark%
    \let\@footnotetext\H@@footnotetext%
  }%
}
\newcommand*\tud@x@bookmark@startatroot{\relax}
\AfterPackage{bookmark}{%
  \renewcommand*\tud@x@bookmark@startatroot{%
    \if@tud@bookmarks\bookmarksetup{startatroot}\fi%
  }%
}
\apptocmd\titlepage{%
  \tud@x@bookmark@startatroot%
  \@tud@res@swafalse%
  \if@tud@coverpage\@tud@res@swatrue\fi%
  \if@titlepageiscoverpage\@tud@res@swatrue\fi%
  \if@tud@res@swa%
    \tudbookmark[%
    1%
    ]{\coverpagename}{cover}%
  \else%
    \tudbookmark[%
    1%
    ]{\titlepagename}{title}%
  \fi%
}{}{\tud@patch@wrn{titlepage}}
\pretocmd\tud@maketitle@inpage{%
  \tud@x@bookmark@startatroot%
  \tudbookmark[%
  1%
  ]{\titlename}{title}%
}{}{\tud@patch@wrn{tud@maketitle@inpage}}
\pretocmd\@maketitle{%
  \tud@x@bookmark@startatroot%
  \tudbookmark[%
  1%
  ]{\titlename}{title}%
}{}{\tud@patch@wrn{@maketitle}}
\BeforeTOCHead[toc]{%
  \tud@x@bookmark@startatroot%
  \let\@tempc\relax%
  \Iftocfeature{toc}{totoc}{}{%
    \if@tud@bookmarks%
      \setuptoc{toc}{totoc}%
      \tud@cs@store{addtocontents}%
      \def\@tempc{%
        \unsettoc{toc}{totoc}%
        \tud@cs@restore{addtocontents}%
      }%
      \let\addtocontents\@gobbletwo%
    \fi%
  }%
}
\AfterTOCHead[toc]{\@tempc}
\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
\AtBeginDocument{%
  \if@tud@x@scr@fontsize@set\else%
    \@tud@res@swafalse%
    \ifdim\tud@dim@layoutwidth<208mm\relax\@tud@res@swatrue\fi%
    \ifdim\tud@dim@layoutwidth>212mm\relax\@tud@res@swatrue\fi%
    \ifdim\tud@dim@layoutheight<295mm\relax\@tud@res@swatrue\fi%
    \ifdim\tud@dim@layoutheight>299mm\relax\@tud@res@swatrue\fi%
    \if@tud@res@swa%
      \ClassWarningNoLine{\TUD@Class@Name}{%
        You've set a layout size, which is different from\MessageBreak%
        default (paper=a4, paper=portrait). Therefore you\MessageBreak%
        should explicitly specify an font size. See the\MessageBreak%
        manual for further information%
      }%
    \fi%
  \fi%
}
\tud@newif\if@tud@font@set
\tud@newif\if@tud@math@set
\tud@newif\if@tud@relspacing@set
\tud@newif\if@tud@x@scr@headings@reset
\tud@newif\if@tud@cd@process
\tud@newif\if@tud@cdgeometry@process
\newcommand*\tud@atdocument@process{%
  \if@tud@font@set%
    \tud@font@set%
    \global\@tud@font@setfalse%
    \global\@tud@relspacing@setfalse%
    \global\@tud@cd@processfalse%
  \fi%
  \if@tud@relspacing@set%
    \tud@relspacing@set%
    \global\@tud@relspacing@setfalse%
  \fi%
  \if@tud@math@set%
    \tud@math@set%
    \global\@tud@math@setfalse%
  \fi%
  \if@tud@x@scr@headings@reset%
    \tud@x@scr@headings@reset%
    \global\@tud@x@scr@headings@resetfalse%
    \global\@tud@cd@processfalse%
  \fi%
  \if@tud@cd@process%
    \tud@cd@process%
    \global\@tud@cd@processfalse%
  \fi%
  \if@tud@cdgeometry@process%
    \tud@cdgeometry@process%
    \global\@tud@cdgeometry@processfalse%
  \fi%
}
%%%% From File: tudscr-comp.dtx (no git version info was found)
\tud@newglue\footlogoheight
\tud@setdim\footlogoheight{\maxdimen}
\tud@newglue\pageheadingsvskip
\tud@setdim\pageheadingsvskip{\maxdimen}
\tud@newglue\headingsvskip
\tud@setdim\headingsvskip{\maxdimen}
\TUD@deprecated@cs{professorship}{chair}
\TUD@deprecated@cs{studentid}{matriculationnumber}
\TUD@deprecated@cs{matriculationid}{matriculationnumber}
\TUD@deprecated@cs{enrolmentyear}{matriculationyear}
\TUD@deprecated@cs{birthplace}{placeofbirth}
\TUD@deprecated@cs{submissiondate}{date}
\TUD@deprecated@cs{oralexaminationdate}{defensedate}
\TUD@deprecated@cs{birthday}{dateofbirth}
\TUD@deprecated@cs{location}{place}
\TUD@deprecated@cs{logofile}{headlogo}
\TUD@deprecated@cs{logofilename}{headlogo}
\AfterPackage{tudscrsupervisor}{%
  \TUD@deprecated@cs{startdate}{issuedate}%
  \TUD@deprecated@cs{finaldate}{duedate}%
  \TUD@deprecated@cs{maturitydate}{duedate}%
}
\TUD@deprecated@cs{textcdfont}{textcd}%
\TUD@deprecated@cs{tudfont}{cdfont}%
\TUD@deprecated@cs{univln}{cdfontln}%
\TUD@deprecated@cs{univrn}{cdfontrn}%
\TUD@deprecated@cs{univbn}{cdfontsn}%
\TUD@deprecated@cs{univxn}{cdfontbn}%
\TUD@deprecated@cs{univls}{cdfontli}%
\TUD@deprecated@cs{univrs}{cdfontri}%
\TUD@deprecated@cs{univbs}{cdfontsi}%
\TUD@deprecated@cs{univxs}{cdfontbi}%
\TUD@deprecated@cs{textuln}{textcdln}%
\TUD@deprecated@cs{texturn}{textcdrn}%
\TUD@deprecated@cs{textubn}{textcdsn}%
\TUD@deprecated@cs{textuxn}{textcdbn}%
\TUD@deprecated@cs{textuls}{textcdli}%
\TUD@deprecated@cs{texturs}{textcdri}%
\TUD@deprecated@cs{textubs}{textcdsi}%
\TUD@deprecated@cs{textuxs}{textcdbi}%
\TUD@deprecated@cs{dinbn}{cdfontxn}%
\TUD@deprecated@cs{textdbn}{textcdxn}%
\TUD@deprecated@cs{ifdin}{@secondoftwo}
\newrobustcmd*\tud@ifdin{%
  \ifx\f@family\tud@cdfont@db%
    \expandafter\@firstoftwo%
  \else%
    \expandafter\@secondoftwo%
  \fi%
}
\if@tud@cdoldfont@active
  \newcommand*\ifdin{}
  \let\ifdin\tud@ifdin
\fi
\def\tud@res@a#1{%
  \TUD@deprecated@cs{var#1}{it#1}%
}
\tud@math@loop@greeks@uc\tud@res@a%
\endinput
%%
%% End of file `tudscrartcl.cls'.
