% \CheckSum{1323}
% \iffalse meta-comment
% 
% ============================================================================
% 
%  TUD-KOMA-Script
%  Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
% 
% ============================================================================
% 
%  This work may be distributed and/or modified under the conditions of the
%  LaTeX Project Public License, version 1.3c of the license. 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 2005/12/01
%  or later and of this work. This work has the LPPL maintenance status 
%  "author-maintained". The current maintainer and author of this work
%  is Falk Hanisch.
% 
% ----------------------------------------------------------------------------
% 
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle 
% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und 
% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 
% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status 
% "author-maintained", wird somit allein durch den Autor verwaltet. Der 
% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
% 
% ============================================================================
%
% \fi
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \iffalse
%%% From File: tudscr-fonts.dtx
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-fonts.dtx}[%
  2015/11/29 v2.04c TUD-KOMA-Script\space%
%</driver>
%<package&identify>\NeedsTeXFormat{LaTeX2e}
%<package&identify>\ProvidesPackage{%
%<package&identify&!fontsizes>  tudscrfonts%
%<package&identify&fontsizes>  tudscrfontsizes%
%<package&identify>}[%
%<*driver|package&identify>
%!TUDVersion
%<package>  package
%<!fontsizes>  (corporate design fonts)%
%<fontsizes>  (creatings fontsize files)%
]
%</driver|package&identify>
%<*driver>
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrdoc}
\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{tudscrfonts} % only load this package, if the fonts are installed
\KOMAoptions{parskip=half-}
\CodelineIndex
\RecordChanges
\GetFileInfo{tudscr-fonts.dtx}
\begin{document}
  \maketitle
  \DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% \selectlanguage{ngerman}
%
% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}^^A
% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}^^A
% \changes{v2.02}{2014/08/29}{Verwendung von \pkg{mweights} entfernt}^^A
% \changes{v2.02}{2014/08/29}{Unterstützung für \pkg{fontspec}}^^A
% \changes{v2.04}{2015/02/27}{Interaktion mit Paketen insbesondere für 
%   den Mathematiksatz verbessert}^^A
% \changes{v2.04c}{2015/11/29}{Bugfix für \pkg{fontspec} bei fehlenden 
%   Schriften}^^A
%
% \section{Schriften des \CDs}
%
% Für das \CD der Technischen Universität Dresden werden die Schriften Univers
% und DIN"~Bold zwingend benötigt. Zur fehlerfreien Verwendung dieser Klassen
% sollten diese bitte installiert werden. Hier werden die \LaTeX-Befehle zur
% Verwendung der Schriften im Dokument definiert. Sollen nur kurze Passagen in
% einer anderen Schrift als der restliche Text gesetzt werden, so sollten
% anstatt der einfachen Schalter wie beispielsweise \cs{univ\dots} besser die
% Befehle \cs{text\dots}\marg{Auszeichnungstext} verwendet werden.
%
% Die Schriften des \CDs können nicht nur mit den \TUDScript-Klassen sondern 
% auch mit anderen \LaTeX-Dokumentklassen verwendet werden. Hierfür wird das
% Paket \pkg{tudscrfonts} bereitgestellt. Damit kann auf die Installtion der 
% Schriftfamilien für die alten Klassen verzichtet werden. Im Vergleich zu 
% dieser Installation werden dabei fehlende Glyphen ergänzt und Probleme beim
% Kerning behoben. 
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
%<*!fontsizes>
%<*class&option>
% \fi
%
% \subsection{Verwendbarkeit und Nutzung des Paketes \pkg{tudscrfonts}}
%
%    \begin{macrocode}
\PreventPackageFromLoading[%
  \ClassWarning{\TUDClassName}{%
    The package `tudscrfonts' must not be used with\MessageBreak%
    a TUD-KOMA-Script class%
  }%
]{tudscrfonts}
%    \end{macrocode}
%
% \iffalse
%</class&option>
%<*package&identify>
% \fi
%
% Sollte keine \KOMAScript-Klasse genutzt werden, wird zusätzlich das Paket
% \pkg{scrextend} benötigt. Das Paket \pkg{trimspaces} ist für die alternative 
% Schriftauswahl mit \cs{cdfont} bzw. \cs{textcdfont} notwendig.
%    \begin{macrocode}
\ifcsname KOMAClassName\endcsname\else%
  \RequirePackage{scrextend}[2013/12/19]%
\fi
\RequirePackage{trimspaces}[2009/09/17]
%    \end{macrocode}
%
% \iffalse
%</package&identify>
%<*(class|package)&option>
% \fi
%
% \subsection{Schriftauswahl im \TUDScript-Bundle}
%
% Das \TUDScript-Bundle unterstützt sowohl die Schriftauswahl im klassischen 
% New Font Selection Scheme (NFSS) als auch das Einbinden der Schriften im 
% OpenType"=Format aus dem System über das Paket \pkg{fontspec} für Lua\LaTeX 
% bzw. Xe\LaTeX, wobei die letztere Variante nicht ideal ist. Zum einen 
% funktioniert das Kerning nicht sonderlich gut und zum anderen sind keine 
% Schriften für den mathematischen Satz vorhanden. Da die skriptbasierte
% Installation der PostScript"=Schriften gut funktioniert, ist diese Variante 
% zu bevorzugen. Trotzdem werden beide Varianten, die Schriftfamilie des \CDs 
% für den Fließtext und die Überschriften zu verwenden, angeboten.
% \begin{option}{fontspec}
% \changes{v2.02}{2014/08/29}{neu}^^A
% \begin{macro}{\if@tud@fontspec}
% \changes{v2.02}{2014/08/29}{neu}^^A
% \begin{macro}{\if@tud@univers}
% \begin{macro}{\if@tud@dinbold}
% \changes{v2.02}{2014/08/29}{neu}^^A
% \begin{macro}{\tud@univers}
% \begin{macro}{\tud@dinbold}
% \begin{macro}{\tud@mathenc}
% \changes{v2.04}{2015/02/19}{entfernt}^^A
% Mit der Option \opt{fontspec} kann die explizite Verwendung des Paketes 
% \pkg{fontspec} aktiviert werden. Alternativ kann das Paket auch durch den 
% Nutzer selbst geladen werden. Zu Beginn werden Schalter und Hilfsmakros
% definiert.
%    \begin{macrocode}
\newif\if@tud@univers
\newif\if@tud@dinbold
\newcommand*\tud@univers{lun}
\newcommand*\tud@dinbold{0m6}
%    \end{macrocode}
% Hier kommt die eigentliche Option.
%    \begin{macrocode}
\newif\if@tud@fontspec
\TUD@key{fontspec}[true]{%
%<*class>
  \ClassWarning{\TUDClassName}%
%</class>
%<*package>
  \PackageWarning{tudscrfonts}
%</package>
  {%
    The option key `fontspec' is deprecated.\MessageBreak%
    You should load the package `fontspec' manually%
  }%
  \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
}
%    \end{macrocode}
% Da dieser Prozess sehr tief in die Schriftauswahl eingreift und das Laden des
% Paketes die Schriftauswahl für das ganze Dokument verändert, wird diese 
% Option nur beim Laden der Klasse zugelassen.
%    \begin{macrocode}
%<*class>
\AtEndOfClass%
%</class>
%<*package>
\AtEndOfPackage%
%</package>
{%
  \TUD@key{fontspec}[]%
  {%
%<*class>
    \ClassError{\TUDClassName}%
%</class>
%<*package>
    \PackageError{tudscrfonts}%
%</package>
      {Option `fontspec' too late}{%
      Option `fontspec' can only be set while loading the\MessageBreak%
%<*class>
      class `\TUDClassName'
%</class>
%<*package>
      package `tudscrfonts'
%</package>
      but you have tried to set it up later.%
    }%
    \FamilyKeyStateProcessed%
  }%
  \if@tud@fontspec%
    \RequirePackage{fontspec}[2014/06/21]%
  \fi%
}
%    \end{macrocode}
% Sobald das Paket \opt{fontspec} manuell geladen wurde, wird auch der passende 
% Schlüssel gesetzt.
%    \begin{macrocode}
\AfterPackage*{fontspec}{\@tud@fontspectrue}
%    \end{macrocode}
% \end{macro}^^A \tud@mathenc
% \end{macro}^^A \tud@dinbold
% \end{macro}^^A \tud@univers
% \end{macro}^^A if@tud@dinbold
% \end{macro}^^A if@tud@univers
% \end{macro}^^A \if@tud@fontspec
% \end{option}^^A fontspec
%
% \iffalse
%</(class|package)&option>
%<*(class|package)&body>
% \fi
%
% \begin{macro}{\tud@font@greek@loop}
% \changes{v2.04}{2014/03/10}{neu}^^A
% Um ggf. Anpassungen an den griechischen Majuskeln vornehmenzu können, wird 
% das Makro \cs{tud@font@greek@loop} definert, mit dem eine Namensliste der
% Buchstaben durchlaufen wird.
%    \begin{macrocode}
\newcommand*\tud@font@greek@loop[1]{%
  \@for\@tempa:={%
    Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
  }\do{#1{\@tempa}}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@font@greek@loop
% \begin{macro}{\tud@font@greek@declare}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Gamma}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Delta}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Theta}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Lambda}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Xi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Pi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Sigma}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Upsilon}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Phi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@Psi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upOmega}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upGamma}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upDelta}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upTheta}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upLambda}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upXi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upPi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upSigma}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upUpsilon}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upPhi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upPsi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@upOmega}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varGamma}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varDelta}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varTheta}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varLambda}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varXi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varPi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varSigma}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varUpsilon}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varPhi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varPsi}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@varOmega}
% \changes{v2.04}{2014/03/10}{neu}^^A
% In Anlehnung an verschiedene Pakete für Mathematikschriften werden Symbole 
% für aufrechte und kursive Majuskeln der griechischen Lettern definiert. Damit 
% auch bei diesen Buchstaben ein Umschalten für die unterschiedlichen Schriften 
% möglich ist, wird eine interne Version definiert und im Bedarfsfall der
% dazugehörige \LaTeX-Befehl mit dieser überschrieben.
%    \begin{macrocode}
\newcommand*\tud@font@greek@declare[1]{%
  \edef\@tempb{%
    \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
      {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
  }\@tempb%
  \edef\@tempb{%
    \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
      {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
  }\@tempb%
  \csletcs{tud@#1}{tud@up#1}%
  \advance \@tempcnta by 1%
}
\@tempcnta=\z@\relax
\tud@font@greek@loop\tud@font@greek@declare
%    \end{macrocode}
% \end{macro}^^A \tud@varOmega
% \end{macro}^^A \tud@varPsi
% \end{macro}^^A \tud@varPhi
% \end{macro}^^A \tud@varUpsilon
% \end{macro}^^A \tud@varSigma
% \end{macro}^^A \tud@varPi
% \end{macro}^^A \tud@varXi
% \end{macro}^^A \tud@varLambda
% \end{macro}^^A \tud@varTheta
% \end{macro}^^A \tud@varDelta
% \end{macro}^^A \tud@varGamma
% \end{macro}^^A \tud@upOmega
% \end{macro}^^A \tud@upPsi
% \end{macro}^^A \tud@upPhi
% \end{macro}^^A \tud@upUpsilon
% \end{macro}^^A \tud@upSigma
% \end{macro}^^A \tud@upPi
% \end{macro}^^A \tud@upXi
% \end{macro}^^A \tud@upLambda
% \end{macro}^^A \tud@upTheta
% \end{macro}^^A \tud@upDelta
% \end{macro}^^A \tud@upGamma
% \end{macro}^^A \tud@Omega
% \end{macro}^^A \tud@Psi
% \end{macro}^^A \tud@Phi
% \end{macro}^^A \tud@Upsilon
% \end{macro}^^A \tud@Sigma
% \end{macro}^^A \tud@Pi
% \end{macro}^^A \tud@Xi
% \end{macro}^^A \tud@Lambda
% \end{macro}^^A \tud@Theta
% \end{macro}^^A \tud@Delta
% \end{macro}^^A \tud@Gamma
% \end{macro}^^A \tud@font@greek@declare
% \begin{macro}{\tud@font@check}
% \changes{v2.04}{2014/03/10}{neu}^^A
% Mit diesem Makro wird überprüft, ob die relevanten PostScript"=Schriften 
% Univers und DIN~Bold installiert sind. Beim Nichtvorhandensein der Schriften 
% wird im Normalfall eine Warnung ausgegeben und eine Rückfallebene definiert.
% Wird das Paket \pkg{fontspec} verwendet, werden die Schriften nur für den 
% Mathematiksatz verwendet. Sollten diese nicht vorhanden sein, wird eine
% Info in die Log-Datei geschrieben.
%    \begin{macrocode}
\newcommand*\tud@font@check{%
  \if@tud@fontspec%
    \edef\@tempa{%
      \lowercase{\noexpand\IfFileExists{OT1\tud@univers.fd}}%
    }%
    \edef\@tempb{%
      \lowercase{\noexpand\IfFileExists{OT1\tud@dinbold.fd}}%
    }%
    \def\@tempc##1{%
%<*class>
      \ClassInfoNoLine{\TUDClassName}%
%</class>
%<*package>
      \PackageInfoNoLine{tudscrfonts}%
%</package>
      {%
        `##1' fonts for math typesetting not found\MessageBreak%
        Please use one of the installation scripts for the\MessageBreak%
        tudscr-bundle mentioned in the manual%
      }%
    }%
  \else%
    \edef\@tempa{%
      \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@univers.fd}}%
    }%
    \edef\@tempb{%
      \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@dinbold.fd}}%
    }%
    \def\@tempc##1{%
      \@tempswafalse%
      \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}
      \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}
%<*class>
      \ClassWarningNoLine{\TUDClassName}%
%</class>
%<*package>
      \PackageWarningNoLine{tudscrfonts}%
%</package>
      {%
        `##1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
        \if@tempswa%
          Please use one of the installation scripts for the\MessageBreak%
          tudscr-bundle mentioned in the manual.\MessageBreak%
        \else%
          Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
        \fi%
        A fallback layout is used%
      }%
    }%
  \fi%
  \@tempa{\@tud@universtrue}{\@tempc{Univers}}%
  \@tempb{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
  \undef\tud@font@check%
}
%    \end{macrocode}
% \end{macro}^^A \tud@font@check
% \begin{macro}{\tud@font@init}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\textuln}
% \begin{macro}{\texturn}
% \begin{macro}{\textubn}
% \begin{macro}{\textuxn}
% \begin{macro}{\textuls}
% \begin{macro}{\texturs}
% \begin{macro}{\textubs}
% \begin{macro}{\textuxs}
% \begin{macro}{\textdbn}
% Das Makro \cs{tud@font@init} wird für die Defintion aller Befehle zur Auswahl 
% der Schriften des \CDs verwendet. Er wird als Hook genutzt und abhängig vom 
% Schalter \cs{if@tud@fontspec} entweder für die Verwendung von \pkg{fontspec}
% oder des NFSS-Schemas mit \cs{preto}\cs{tud@font@init}\marg{Makro} angepasst.
%    \begin{macrocode}
\newcommand*\tud@font@init{%
%    \end{macrocode}
% Außerdem werden für die Schriften noch die entsprechenden Textauswahlbefehle
% bereitgestellt.
%    \begin{macrocode}
  \newcommand*\textuln{}%
  \newcommand*\texturn{}%
  \newcommand*\textubn{}%
  \newcommand*\textuxn{}%
  \newcommand*\textuls{}%
  \newcommand*\texturs{}%
  \newcommand*\textubs{}%
  \newcommand*\textuxs{}%
  \newcommand*\textdbn{}%
  \DeclareTextFontCommand{\textuln}{\univln}%
  \DeclareTextFontCommand{\texturn}{\univrn}%
  \DeclareTextFontCommand{\textubn}{\univbn}%
  \DeclareTextFontCommand{\textuxn}{\univxn}%
  \DeclareTextFontCommand{\textuls}{\univls}%
  \DeclareTextFontCommand{\texturs}{\univrs}%
  \DeclareTextFontCommand{\textubs}{\univbs}%
  \DeclareTextFontCommand{\textuxs}{\univxs}%
  \DeclareTextFontCommand{\textdbn}{\dinbn}%
%    \end{macrocode}
% Nach der optionsabhängigen Definition der Schriftauswahlbefehle werden die 
% Initialisierungsbefehle undefiniert gesetzt.
%    \begin{macrocode}
  \undef\tud@font@init@fontspec%
  \undef\tud@fontface%
  \undef\tud@fontspec@flag%
  \undef\tud@fontspec@error%
  \undef\tud@font@init@nfss%
  \undef\tud@font@init%
}
%    \end{macrocode}
% \end{macro}^^A \textdbn
% \end{macro}^^A \textuxs
% \end{macro}^^A \textubs
% \end{macro}^^A \texturs
% \end{macro}^^A \textuls
% \end{macro}^^A \textuxn
% \end{macro}^^A \textubn
% \end{macro}^^A \texturn
% \end{macro}^^A \textuln
% \end{macro}^^A \tud@font@init
% \begin{macro}{\univln}
% \begin{macro}{\univrn}
% \begin{macro}{\univbn}
% \begin{macro}{\univxn}
% \begin{macro}{\univls}
% \begin{macro}{\univrs}
% \begin{macro}{\univbs}
% \begin{macro}{\univxs}
% \begin{macro}{\dinbn}
% \begin{macro}{\@dinbn}
% Es werden mehrere Schalter zur expliziten Auswahl für die Schriftschnitte
% Univers~45~Light, Univers~55~Regular, Univers~65~Bold, Univers~75~Black,
% Univers~45~Light~Oblique, Univers~55~Regular~Oblique, Univers~65~Bold~Oblique
% sowie Univers~75~Black~Oblique und DIN~Bold definiert. Diese können so im 
% Dokument unabhängig von der Option \opt{cdfont} genutzt werden. Bei der
% Schriftauswahl der DIN~Bold wird neben dieser noch die entsprechende
% Mathematikschrift aktiviert. Dabei ist zu beachten, dass die Schriften evtl. 
% gar nicht installiert sind und für diesen Fall eine Rückfallebene notwendig 
% ist.
% \begin{macro}{\tud@font@init@fontspec}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\if@tud@fontspec@missing}
% \changes{v2.04c}{2015/11/29}{neu}^^A
% \begin{macro}{\tud@fontface}
% \changes{v2.04c}{2015/11/29}{neu}^^A
% \begin{macro}{\tud@fontspec@flag}
% \changes{v2.04c}{2015/11/29}{neu}^^A
% \begin{macro}{\tud@fontspec@error}
% \changes{v2.04c}{2015/11/29}{neu}^^A
% Leider exisitiert im Paket \pkg{fontspec} keine einfache Möglichkeit, auf das 
% Vorhandensein von Schriften zu testen. Deshalb wird hier etwa getrickst, um 
% die Schriften nur zu laden, falls diese auch tatsächlich existieren und die
% ggf. auftrtende Fehlermeldung zu unterdrücken.
%    \begin{macrocode}
\newif\if@tud@fontspec@missing
\newcommand*\tud@font@init@fontspec{}
%    \end{macrocode}
% Alles etwas umständlich, aber leider geht es nicht anders. Um die Fehler
% zu unterdrücken, ist die Syntax von \LaTeX{}3 notwendig. Es wird mit 
% dem Paket \pkg{xparse} der Befehl \cs{tud@fontface} welcher eigentlch den 
% Befehl \cs{newfontface} nutzt und für denn Fall, dass keine Schrift 
% exisitiert, den entsprechenden Befehl leer definiert.
%    \begin{macrocode}
\IfFileExists{xparse.sty}{\@tempswatrue}{\@tempswafalse}%
\if@tempswa
  \RequirePackage{xparse}
  \newcommand*\tud@fontspec@flag{\global\@tud@fontspec@missingtrue\@gobbletwo}%
  \NewDocumentCommand\tud@fontface{mmo}{%
    \global\@tud@fontspec@missingfalse%
    \newfontface#1{#2}[#3]%
    \if@tud@fontspec@missing%
      \renewrobustcmd*#1{}%
    \fi%
  }%
%    \end{macrocode}
% Um die Fehler bei dem Laden der Schrift zu unterdrücken, wird der dafür
% verantwortliche Befehl gesichertr und anschließend passend neu definiert.
%    \begin{macrocode}
  \ExplSyntaxOn
  \renewcommand*\tud@font@init@fontspec{%
    \cs_set_eq:NN \tud@fontspec@error \__fontspec_error:nx
    \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@flag
%    \end{macrocode}
% Für die Schriften werden feste NFSS-Namen vergeben, um diese unter anderem 
% auch beim Setzen des Kopfes im \CD der \TnUD explizit auswählen zu können.
%    \begin{macrocode}
    \tud@fontface\univln{Univers Light}[NFSSFamily=UniversLight]%
    \tud@fontface\univrn{Univers}[NFSSFamily=UniversRegular]%
    \tud@fontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
    \tud@fontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
    \tud@fontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
    \tud@fontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
    \tud@fontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
    \tud@fontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
%    \end{macrocode}
% Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren. Da 
% dieser Schriftschnitt zwingend für die Überschriften benötigt wird, sollte 
% dieser zumindest auch auf deren Stil schalten.
%    \begin{macrocode}
    \tud@fontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
    \if@tud@fontspec@missing%
      \newrobustcmd*\dinbn{\sectfont}%
    \else%
      \if@tud@dinbold%
        \newrobustcmd*\dinbn{\@dinbn\mathversion{dinbold}}%
      \else%
        \newrobustcmd*\dinbn{\@dinbn}%
      \fi%
    \fi%
%    \end{macrocode}
% Zum Schluss wird noch die Fehlermeldungen auf ihre ursprüngliche Definition
% gesetzt und damit ist der ganze Zauber vorbei.
%    \begin{macrocode}
    \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@error
  }%
  \ExplSyntaxOff
\fi%
%    \end{macrocode}
% \end{macro}^^A \tud@fontspec@error
% \end{macro}^^A \tud@fontspec@flag
% \end{macro}^^A \tud@fontface
% \end{macro}^^A \if@tud@fontspec@missing
% \end{macro}^^A \tud@font@init@fontspec
% \begin{macro}{\tud@font@init@nfss}
% \changes{v2.04}{2014/03/10}{neu}^^A
% Falls \opt{fontspec} nicht aktiv ist, werden die Schriften klassisch nach dem 
% NFSS definiert. Sind die Univer-Schriften installiert, dann werden dazu 
% passende Schalter erstellt.
%    \begin{macrocode}
\newcommand*\tud@font@init@nfss{%
  \if@tud@univers%
    \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
    \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
    \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}%
    \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}%
    \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}%
    \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}%
    \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
    \newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
%    \end{macrocode}
% Ansonsten werden die Schalter für die Rückfallebene so definert, dass diese
% einfach nichts machen.
%    \begin{macrocode}
  \else%
    \newrobustcmd*\univln{}%
    \newrobustcmd*\univrn{}%
    \newrobustcmd*\univbn{}%
    \newrobustcmd*\univxn{}%
    \newrobustcmd*\univls{}%
    \newrobustcmd*\univrs{}%
    \newrobustcmd*\univbs{}%
    \newrobustcmd*\univxs{}%
  \fi%
%    \end{macrocode}
% Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren.
%    \begin{macrocode}
  \if@tud@dinbold%
    \newrobustcmd*\dinbn{%
      \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
      \mathversion{dinbold}%
    }%
  \else%
    \newrobustcmd*\dinbn{\sectfont}%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@font@init@nfss
% \end{macro}^^A \@dinbn
% \end{macro}^^A \dinbn
% \end{macro}^^A \univxs
% \end{macro}^^A \univbs
% \end{macro}^^A \univrs
% \end{macro}^^A \univls
% \end{macro}^^A \univxn
% \end{macro}^^A \univbn
% \end{macro}^^A \univrn
% \end{macro}^^A \univln
% \begin{macro}{\cdfont}
% \changes{v2.04}{2015/03/04}{neu}^^A
% \begin{macro}{\tudfont}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% \begin{macro}{\textcdfont}
% \changes{v2.04}{2015/03/04}{neu}^^A
% \begin{macro}{\@cdfont}
% \changes{v2.04}{2015/03/04}{neu}^^A
% \begin{macro}{\tud@trimfontname}
% \changes{v2.04}{2015/03/04}{neu}^^A
% \begin{macro}{\tud@@trimfontname}
% \changes{v2.04}{2015/03/04}{neu}^^A
% Die Klassen \cls{tudposter} und \cls{tudmathposter} definieren den Befehl 
% \cs{tudfont}, mit welchem die Schriften des \CDs der \TnUD auch mit Klarnamen
% ausgewählt werden können. Zur Kompatibilität wird der Befehl \cs{cdfont} 
% definiert, welcher die gleiche Funktionalität bereitstellt. Zusätzlich wird 
% der Befehl \cs{textcdfont} bereitgestellt, der die Auswahl der Schrift als 
% Textbefehl ermöglicht.
%    \begin{macrocode}
\newcommand*\cdfont[1]{%
  \@cdfont{#1}%
  \ifx\@tempc\relax\else%
    \ifstr{\@tempc}{dinbn}{\dinbn}{\@nameuse{univ\@tempc}}%
  \fi%
}
\providecommand*\tudfont[1]{\cdfont{#1}}
\newcommand*\textcdfont[2]{%
  \@cdfont{#1}%
  \ifx\@tempc\relax\else%
    \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\@nameuse{textu\@tempc}{#2}}%
  \fi%
}
\newcommand*\@cdfont[1]{%
  \tud@trimfontname\@tempa{#1}%
  \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
  \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
  \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
  \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
  \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
  \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
  \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
  \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
  \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
  \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
  \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
  \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
  \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
  \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
    \let\@tempc\relax%
    \PackageWarning{tudscrfonts}{The font `#1' is unknown}%
  }}}}}}}}}}}}}}%
}
\newcommand*\tud@trimfontname[2]{%
  \protected@edef\@tempa{\trim@spaces{#2}}%
  \tud@lowerstring{\@tempa}{\@tempa}%
  \tud@@trimfontname{ }{}%
  \tud@@trimfontname{-}{}%
  \tud@@trimfontname{_}{}%
  \tud@@trimfontname{~}{}%
  \tud@@trimfontname{ce}{}%
  \tud@@trimfontname{ff}{}%
  \tud@@trimfontname{univers}{}%
  \tud@@trimfontname{60}{65}%
  \tud@@trimfontname{light}{45}%
  \tud@@trimfontname{regular}{55}%
  \tud@@trimfontname{bold}{65}%
  \tud@@trimfontname{black}{75}%
  \tud@@trimfontname{4545}{45}%
  \tud@@trimfontname{5555}{55}%
  \tud@@trimfontname{6565}{65}%
  \tud@@trimfontname{7575}{75}%
  \tud@@trimfontname{italic}{oblique}%
  \tud@@trimfontname{slanted}{oblique}%
  \let#1\@tempa%
}
\newcommand*\tud@@trimfontname[2]{%
  \def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
  \@expandtwoargs\in@{#1}{\@tempa}%
  \@whilesw\ifin@\fi{%
    \expandafter\@tempb\@tempa\relax%
    \@expandtwoargs\in@{#1}{\@tempa}%
  }%
}
%    \end{macrocode}
% \end{macro}^^A \tud@@trimfontname
% \end{macro}^^A \tud@trimfontname
% \end{macro}^^A \@cdfont
% \end{macro}^^A \textcdfont
% \end{macro}^^A \tudfont
% \end{macro}^^A \cdfont
% \begin{macro}{\tud@font@math@init}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\mv@univers}
% \begin{macro}{\mv@universbold}
% \begin{macro}{\mv@dinbold}
% \changes{v2.02}{2014/06/27}{Symbole \val{symbols} werden aus Schriftart 
%   DIN~Bold verwendet}^^A
% Für die Mathematikschriften im Fließtext werden für die lateinischen Lettern
% die Univers"=Schriften des \CDs verwendet. Darin enthalten sind die auch die
% griechischen Buchstaben aus dem Paket \pkg{cmbright}. Zusätzlich werden aus
% dem \pkg{iwona}"~Paket die mathematische Symbole verwendet. Es werden zwei
% Mathematikversion mit normalen sowie mit fetten Glyphen bereitgestellt.
%    \begin{macrocode}
\newcommand*\mv@univers{}%
\newcommand*\mv@universbold{}%
\newcommand*\mv@dinbold{}%
\newcommand*\tud@font@math@init{%
  \if@tud@fontspec\if@tud@univers\if@tud@dinbold%
    \@ifpackagewith{fontspec}{no-math}{}{%
%<*class>
      \ClassWarningNoLine{\TUDClassName}%
%</class>
%<*package>
      \PackageWarningNoLine{tudscrfonts}%
%</package>
      {%
        It's recommended to load package `fontspec' with\MessageBreak%
        option `no-math'%
      }%
    }%
  \fi\fi\fi%
  \if@tud@univers%
    \DeclareMathVersion{univers}%
    \DeclareMathVersion{universbold}%
    \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
    \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%    
    \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
    \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%    
    \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
    \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
    \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
    \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
    \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
    \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%    
    \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
    \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%    
    \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
    \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%    
    \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
    \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%    
    \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
    \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
%    \end{macrocode}
% Das Paket \pkg{cmbright} bringt zusätzlich noch Schriftschnitte für die
% \pkg{ams}"=Pakete mit. Diese werden gegebenenfalls geladen.
%    \begin{macrocode}
    \@ifpackageloaded{amsfonts}{%
      \DeclareFontFamily{U}{\tud@univers a}{}%
      \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
      \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
      \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
      \DeclareFontFamily{U}{\tud@univers b}{}%
      \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
      \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
      \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
      \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
      \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
    }{}%
  \fi%
%    \end{macrocode}
% Auch für die Schrift DIN~Bold werden mathematische Glyphen bereitgestellt.
% Diese wurden aus dem \pkg{iwona}"=Paket entnommen. Auch die verwendeten 
% Symbole stammen aus diesem Paket.
%    \begin{macrocode}
  \if@tud@dinbold%
    \DeclareMathVersion{dinbold}%
    \SetSymbolFont{operators}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
    \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
    \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}%
    \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}%
    \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
    \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
    \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
  \fi%
%    \end{macrocode}
% Wird das Paket \pkg{unicode-math} verwendet, werden keine Einstellungen für 
% die Mathematikschriften vorgenommen\dots
%    \begin{macrocode}
  \@ifpackageloaded{unicode-math}{%
    \let\tud@font@math@set\relax%
    \bool@set@lock{@tud@cdmath}{false}%
  }{%
%    \end{macrocode}
% Für die griechischen Buchstaben wird geprüft, ob durch ein Paket diese auf 
% die kursive Variante gesetzt wurden. Ist dies der Fall, wird der Standardwert 
% für die Option \opt{slantedgreek} auf \val{true} gesetzt. Anschließend 
% erfolgt die \emph{Intialisierung} der griechischen Großbuchstaben mit dem
% Befehl \cs{tud@font@greek@init}.
%    \begin{macrocode}
    \let\@tempb\relax%
    \let\@tempc\relax%
    \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
    \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
    \@tempswafalse%
    \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
    \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
    \if@tempswa%
      \bool@std@lock{@tud@slantedgreek}{true}%
    \fi%
    \tud@font@greek@loop\tud@font@greek@init%
%    \end{macrocode}
% Zum Schluss werden abhängig von der gewählten Einstellung für die Schriftart 
% der Option \opt{cdfont} die benötigten Mathematikversionen geladen.
%    \begin{macrocode}
    \tud@font@math@set%
  }%
%    \end{macrocode}
% Daran anschließend werden die DIN-Bold-Schriften in einer Box verwendet, um
% das Laden der Schriftdefinitionen am Dokumentbeginn zu forcieren.
%    \begin{macrocode}
  \sbox\z@{\dinbn$ $}%
%    \end{macrocode}
% Zuletzt wird der Befehl für die Initialisierung der Mathematikschriften 
% undefiniert gesetzt.
%    \begin{macrocode}
  \undef\tud@font@math@init%
}
%    \end{macrocode}
% \end{macro}^^A \mv@dinbold
% \end{macro}^^A \mv@universbold
% \end{macro}^^A \mv@univers
% \end{macro}^^A \tud@font@math@init
% Samtliche Schrifteinstellungen erfolgen erst am Ende der Präambel, um etwaige
% Einstellungen irgendwelcher Schriftpakete beachten zu können. Dabei erfolgt 
% das Setzen der Mathematikschriften druch \cs{AtBeginDocument} innerhalb von 
% \cs{AtEndPreamble} am Ende \emph{aller} \cs{AtBeginDocument}.
%
% Für das Paket müssen zuvor einige Einstellungen angepasst werden, damit bei 
% der Verwendung einer alten Klasse alles reibungslos funktioniert.
%    \begin{macrocode}
%<*package>
\ifbool{@tud@oldscrclass}{%
  \let\univln\relax%
  \let\univrn\relax%
  \let\univbn\relax%
  \let\univxn\relax%
  \let\univls\relax%
  \let\univrs\relax%
  \let\univbs\relax%
  \let\univxs\relax%
  \let\dinbn\relax%
  \let\textuln\relax%
  \let\texturn\relax%
  \let\textubn\relax%
  \let\textuxn\relax%
  \let\textuls\relax%
  \let\texturs\relax%
  \let\textubs\relax%
  \let\textuxs\relax%
  \let\textdbn\relax%
  \AtBeginDocument{%
    \cmd@restore{rmdefault}%
    \cmd@restore{sfdefault}%
    \cmd@restore{bfdefault}%
    \cmd@restore{mddefault}%
    \cmd@restore{familydefault}%
    \cmd@restore{seriesdefault}%
    \cmd@restore{shapedefault}%
    \cmd@restore{rmfamily}%
    \cmd@restore{sffamily}%
    \cmd@restore{ttfamily}%
  }%
}{}
%</package>
%    \end{macrocode}
% Jetzt kommt es zur eigentlichen Initialisierung der Schriften.
%    \begin{macrocode}
%<class>\AtEndPreamble%
%<package>\AtBeginDocument%
{%
  \tud@font@check%
%    \end{macrocode}
% Es erfolgt das optionsabhängige Voranstellen von \cs{tud@font@init@fontspec}
% respektive \cs{tud@font@init@nfss} bei \cs{tud@font@init}.
%    \begin{macrocode}
  \if@tud@fontspec%
    \preto\tud@font@init\tud@font@init@fontspec%
  \else%
    \preto\tud@font@init\tud@font@init@nfss%
  \fi%
%    \end{macrocode}
% Nachdem auf die Schriften geprüft wurde, erfolgt die Verarbeitung der Option 
% \pkg{fontspec}. Da es so gut wie keine freien OpenType"=Schriften für den
% mathmatischen Formelsatz gibt, werden unabhängig vom Status der Option 
% \emph{immer} die PostScript"=Schriften verwendet, falls diese installiert
% sind. Damit \pkg{tudscrfonts} reibungslos mit den nachfolgenden Definitionen
% funktioniert, wird im Bedarfsfall der Befehl \cs{sectfont} vorgehalten.
%    \begin{macrocode}
%<*package>
  \ifdef{\sectfont}{}{\let\sectfont\relax}%
%</package>
  \tud@font@init%
%    \end{macrocode}
% Damit die Schrift im Dokument später noch umgestellt werden kann, werden
% sämtliche Einstellungen erst am Ende der Präambel gesichert. Deshalb wird
% der dafür verantwortliche Befehl \cs{tud@font@set} hier zum ersten Mal
% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie
% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu
% aktivieren. Die Einstellungen für den Mathematiksatz erfolgen erst zu Beginn 
% des Dokumentes, um insbesondere auf Einstellungen des Paketes \pkg{fontspec} 
% reagieren zu können.
%    \begin{macrocode}
  \tud@font@set[nomath]%
%<class>  \AtBeginDocument{\tud@font@math@init}%
%<package>  \tud@font@math@init%
}
%    \end{macrocode}
% \begin{macro}{\tud@font@greek@init}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\upDelta}
% \begin{macro}{\upGamma}
% \begin{macro}{\upLambda}
% \begin{macro}{\upOmega}
% \begin{macro}{\upPhi}
% \begin{macro}{\upPi}
% \begin{macro}{\upPsi}
% \begin{macro}{\upSigma}
% \begin{macro}{\upTheta}
% \begin{macro}{\upUpsilon}
% \begin{macro}{\upXi}
% \begin{macro}{\varDelta}
% \begin{macro}{\varGamma}
% \begin{macro}{\varLambda}
% \begin{macro}{\varOmega}
% \begin{macro}{\varPhi}
% \begin{macro}{\varPi}
% \begin{macro}{\varPsi}
% \begin{macro}{\varSigma}
% \begin{macro}{\varTheta}
% \begin{macro}{\varUpsilon}
% \begin{macro}{\varXi}
% Dieses Makro sorgt dafür, dass neben den normalen Makros für die griechischen 
% Majuskeln die zusätzlichen Befehle für das explizite Auswählen aufrechter und 
% kursiver Buchstaben.
%    \begin{macrocode}
\newcommand*\tud@font@greek@init[1]{%
  \ifcsdef{up#1}{}{%
    \if@tempswa%
      \csletcs{up#1}{tud@up#1}%
    \else%
      \csletcs{up#1}{#1}%
    \fi%
  }%
  \ifcsdef{var#1}{}{%
    \if@tempswa%
      \csletcs{var#1}{#1}%
    \else%
      \csletcs{var#1}{tud@var#1}%
    \fi%
  }%
}
%    \end{macrocode}
% \end{macro}^^A \varXi
% \end{macro}^^A \varUpsilon
% \end{macro}^^A \varTheta
% \end{macro}^^A \varSigma
% \end{macro}^^A \varPsi
% \end{macro}^^A \varPi
% \end{macro}^^A \varPhi
% \end{macro}^^A \varOmega
% \end{macro}^^A \varLambda
% \end{macro}^^A \varGamma
% \end{macro}^^A \varDelta
% \end{macro}^^A \upXi
% \end{macro}^^A \upUpsilon
% \end{macro}^^A \upTheta
% \end{macro}^^A \upSigma
% \end{macro}^^A \upPsi
% \end{macro}^^A \upPi
% \end{macro}^^A \upPhi
% \end{macro}^^A \upOmega
% \end{macro}^^A \upLambda
% \end{macro}^^A \upGamma
% \end{macro}^^A \upDelta
% \end{macro}^^A \tud@font@greek@init
%
% \iffalse
%</(class|package)&body>
%<*(class|package)&option>
% \fi
%
% \begin{macro}{\tud@uclcnotmath}
% \changes{v2.02}{2014/06/27}{\pkg{textcase}: Ignorieren von Fußnoten im 
%   Argument des Befehls \cs{MakeTextUppercase}}^^A
% \changes{v2.03}{2015/01/21}{\pkg{textcase}: Ignorieren des Befehls 
%   \cs{@mkboth} im Argument des Befehls \cs{MakeTextUppercase}}^^A
% \begin{macro}{\@uclcnotmath}
% Für das Setzen der Überschriften in Majuskeln\footnote{Großbuchstaben} mit
% \cs{MakeTextUppercase}, was den internen \LaTeX-Befehl \cs{MakeUppercase}
% verbessert, wird das Paket \pkg{textcase} genutzt. Damit Fußnoten nicht 
% automatisch in Majuskeln gesetzt werden, wird außerdem der interne Befehl
% \cs{@uclcnotmath} aus diesem Paket angepasst.
%    \begin{macrocode}
\RequirePackage{textcase}[2004/10/07]
\newcommand*\tud@uclcnotmath{%
  \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
  \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
  \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
}
\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
  \@nonchangecase\ensuremath\tud@uclcnotmath
}{}{\tud@patch@wrn{@uclcnotmath}}%
%    \end{macrocode}
% \end{macro}^^A \@uclcnotmath
% \end{macro}^^A \tud@uclcnotmath
% \begin{macro}{\tud@font@heading}
% Mit \cs{tud@font@heading} wird die Schriftart für Überschriften im Layout des 
% \CDs definiert. Normalerweise wird hierfür DIN-Bold verwendet, was allerdings
% per Option auch deaktiviert werden kann.
%    \begin{macrocode}
\newcommand*\tud@font@heading{\dinbn\tud@raggedright}
%    \end{macrocode}
% \end{macro}^^A \tud@font@heading
% \begin{option}{cdfont}
% \changes{v2.02}{2014/07/08}{Schlüsselwerte für \opt{cdhead}}^^A
% \changes{v2.02}{2014/08/29}{Schlüsselwerte für \opt{fontspec}}^^A
% \begin{macro}{\tud@cdfont}
% Mit dieser Option wird die zentrale Benutzerschnittstelle für alle möglichen
% Schrifteinstellungen innerhalb Dokumentes geschaffen. Durch diese Option
% können sowohl die verwendete Schrift für den Fließtext, als auch die Stärke
% der Schrift geändert werden. Zusätzlich lässt sich die Verwendung von 
% DIN~Bold für die Überschriften deaktivieren. Außerdem kann eingestellt
% werden, ob für den Mathematiksatz serifenlose Schriften zum Einsatz kommen
% sollen.
%    \begin{macrocode}
\newcommand*\tud@cdfont{1}
\TUD@key{cdfont}[true]{%
  \TUD@set@numkey{cdfont}{@tempa}{%
    \TUD@numkey@bool,%
    {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
    {heavy}{2},{heavyfont}{2},%
    {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},%
    {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},%
%<*class>
    {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},%
    {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},%
    {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},%
    {bar}{6},{barfont}{6},%
    {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},%
    {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},%
    {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},%
    {headlight}{6},{headfontlight}{6},{headlightfont}{6},%
    {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},%
    {barlight}{6},{barfontlight}{6},{barlightfont}{6},%
    {litehead}{6},{liteheadfont}{6},{litefonthead}{6},%
    {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},%
    {litebar}{6},{litebarfont}{6},{litefontbar}{6},%
    {headlite}{6},{headfontlite}{6},{headlitefont}{6},%
    {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},%
    {barlite}{6},{barfontlite}{6},{barlitefont}{6},%
    {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},%
    {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},%
    {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},%
    {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},%
    {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},%
    {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},%
    {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},%
    {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},%
    {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},%
    {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},%
    {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},%
    {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},%
%</class>
    {nomath}{8},{nocdmath}{8},%
    {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},%
    {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},%
    {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},%
    {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},%
    {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
    {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
%    \end{macrocode}
% Die ersten drei Werte dienen zum Umschalten auf die Schriften des \CDs für
% den Fließtext.
%    \begin{macrocode}
    \ifcase\@tempa\relax% false
      \def\tud@cdfont{0}%
      \if@atdocument\tud@font@set\fi%
    \or% true
      \def\tud@cdfont{1}%
      \if@atdocument\tud@font@set\fi%
    \or% heavy
      \def\tud@cdfont{2}%
      \if@atdocument\tud@font@set\fi%
%    \end{macrocode}
% Hier wird die Verwendung von DIN~Bold für die Überschirften festgelegt.
%    \begin{macrocode}
    \or% nodin
      \renewcommand*\tud@font@heading{\tud@RaggedRight}%
    \or% din
      \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
%    \end{macrocode}
% Die Schrift für den Querbalken.
%    \begin{macrocode}
    \or% nohead
%<*class>
      \TUDoptions{cdhead=false}%
%</class>
    \or% head
%<*class>
      \TUDoptions{cdhead=true}%
%</class>
    \or% heavyhead
%<*class>
      \TUDoptions{cdhead=heavy}%
%</class>
%    \end{macrocode}
% Die Mathematikschriften.
%    \begin{macrocode}
    \or% nomath
      \TUDoptions{cdmath=false}%
    \or% math
      \TUDoptions{cdmath=true}%
%    \end{macrocode}
% Die Neigung der großen griechischen Buchstaben.
%    \begin{macrocode}
    \or% upgreek
      \TUDoptions{slantedgreek=false}%
    \or% slgreek
      \TUDoptions{slantedgreek=true}%
%    \end{macrocode}
% Die Verwendung von \pkg{fontspec}.
%    \begin{macrocode}
    \or% fontspec
      \TUDoptions{fontspec=true}%
    \or% nofontspec
      \TUDoptions{fontspec=false}%
    \fi%
%    \end{macrocode}
% Wird kein gültiger Wert für die Option angegeben, so wird davon ausgegangen, 
% dass es sich bei diesem um die gewünschte Schriftgröße handelt.
%    \begin{macrocode}
  \else%
    \KOMAoptions{fontsize=#1}%
    \ifcase\tud@cdfont\relax% false to true
      \def\tud@cdfont{1}%
      \if@atdocument\tud@font@set\fi%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@cdfont
% \end{option}^^A cdfont
% \begin{option}{fontsize}
% \changes{v2.04}{2015/04/24}{Option aus \KOMAScript{} erweitert}^^A
% Mit der \KOMAScript-Option \opt{fontsize} kann die Schriftgröße eingestellt 
% werden. Durch \TUDScript werden bei aktiven Schriften im \CD verschiedene
% Abstände mit \cs{tud@font@skip@set} schriftgrößenabhängig definiert.
%    \begin{macrocode}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{fontsize}{%
  \AtEndOfFamilyOptions{\if@atdocument\tud@font@skip@set\fi}%
  \FamilyKeyStateProcessed%
}
%    \end{macrocode}
% \end{option}^^A fontsize
%
% \iffalse
%</(class|package)&option>
%<*(class|package)&body>
% \fi
%
% \begin{macro}{\tud@font@set}
% \changes{v2.04}{2015/03/01}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\if@tud@mweights}
% \changes{v2.04}{2015/04/24}{Erkennung des Paketes \pkg{mweights}}^^A
% \begin{macro}{\bfseries@rm}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\bfseries@sf}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\bfseries@tt}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\mdseries@rm}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\mdseries@sf}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\mdseries@tt}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\rmdef@ult}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\sfdef@ult}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\ttdef@ult}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\bfdef@ult}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% \begin{macro}{\mddef@ult}
% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% Mit diesem Befehl werden entweder die normalen oder aber die Schriften des 
% \CDs aktiviert. Dabei wird die Option \opt{fontspec} beachtet.
%    \begin{macrocode}
\newif\if@tud@mweights
\AfterPackage*{mweights}{\@tud@mweightstrue}
\newcommand*\tud@font@set[1][]{%
  \if@tud@mweights%
    \ifdef{\bfseries@rm}{}{\edef\bfseries@rm{\bfdefault}}%
    \ifdef{\bfseries@sf}{}{\edef\bfseries@sf{\bfdefault}}%
    \ifdef{\bfseries@tt}{}{\edef\bfseries@tt{\bfdefault}}%
    \ifdef{\mdseries@rm}{}{\edef\mdseries@rm{\mddefault}}%
    \ifdef{\mdseries@sf}{}{\edef\mdseries@sf{\mddefault}}%
    \ifdef{\mdseries@tt}{}{\edef\mdseries@tt{\mddefault}}%
  \fi%
%    \end{macrocode}
% Werden die Schriften des \CDs deaktiviert, wird auf die zu Dokumentbeginn
% gesicherten Schriften\footnote{mit und ohne Serifen} zurückgeschaltet.
%    \begin{macrocode}
  \ifcase\tud@cdfont\relax% false
    \tud@cmd@restore{rmdefault}%
    \tud@cmd@restore{sfdefault}%
    \tud@cmd@restore{ttdefault}%
    \tud@cmd@restore{bfdefault}%
    \tud@cmd@restore{mddefault}%
    \tud@cmd@restore{itdefault}%
    \tud@cmd@restore{familydefault}%
    \tud@cmd@restore{seriesdefault}%
    \tud@cmd@restore{shapedefault}%
    \if@tud@mweights%
      \tud@cmd@restore{bfseries@rm}%
      \tud@cmd@restore{bfseries@sf}%
      \tud@cmd@restore{bfseries@tt}%
      \tud@cmd@restore{mdseries@rm}%
      \tud@cmd@restore{mdseries@sf}%
      \tud@cmd@restore{mdseries@tt}%
    \fi%
%    \end{macrocode}
% Die Mathematikschriften werden auf ihr Standardverhalten zurückgesetzt. 
%    \begin{macrocode}
    \bool@std@lock{@tud@cdmath}{false}%
%    \end{macrocode}
% Innerhalb der Klassen wird auch die Schrift im Querbalken zurückgsetzt.
%    \begin{macrocode}
%<*class>
    \cs@std@lock{tud@head@font}{0}%
%</class>
%    \end{macrocode}
% Ist die Verwendung der Schriften des \CDs gewünscht, werden die Schnitte der 
% Standardschriften vorher vorher gesichert, um diese später vollständig 
% wiederherstellen zu können.
%    \begin{macrocode}
  \else% true/heavy
    \tud@cmd@store{rmdefault}%
    \tud@cmd@store{sfdefault}%
    \tud@cmd@store{ttdefault}%
    \tud@cmd@store{bfdefault}%
    \tud@cmd@store{mddefault}%
    \tud@cmd@store{itdefault}%
    \tud@cmd@store{familydefault}%
    \tud@cmd@store{seriesdefault}%
    \tud@cmd@store{shapedefault}%
    \if@tud@mweights%
      \tud@cmd@store{bfseries@rm}%
      \tud@cmd@store{bfseries@sf}%
      \tud@cmd@store{bfseries@tt}%
      \tud@cmd@store{mdseries@rm}%
      \tud@cmd@store{mdseries@sf}%
      \tud@cmd@store{mdseries@tt}%
    \fi%
%    \end{macrocode}
% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs~--
% falls nicht anders durch den Anwender definiert~-- auf Serifenlose gesetzt.
%    \begin{macrocode}
    \bool@std@lock{@tud@cdmath}{true}%
%    \end{macrocode}
% Die Schrift im Querbalken wird bei den Klassen angepasst.
%    \begin{macrocode}
%<*class>
    \cs@std@lock{tud@head@font}{\tud@cdfont}%
%</class>
%    \end{macrocode}
% Danach erfolgt die Definition der Schriften des \CDs entweder mit dem Paket
% \pkg{fontspec} oder\dots
%    \begin{macrocode}
    \if@tud@fontspec%
      \ifnum\tud@cdfont=\@ne\relax% true
        \setsansfont{Univers Light}[%
          BoldFont = Univers,%
          ItalicFont = Univers Light Oblique,%
          BoldItalicFont = Univers Oblique,%
        ]%
        \setmonofont{LMMonoLt10-Regular}[%
          BoldFont = LMMono10-Regular,%
          ItalicFont = LMMonoLt10-Oblique,%
          BoldItalicFont = LMMonoSlant10-Regular,%
        ]%
%    \end{macrocode}
% Für die alten Klassen von Klaus Bergmann sowie \TUDScript in der Version~v1.0 
% werden die fetten Schriften in einem stärkeren Schriftschnitt gesetzt.
%    \begin{macrocode}
%<*package>
        \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
          \setsansfont{Univers Light}[%
            BoldFont = Univers Bold,%
            ItalicFont = Univers Light Oblique,%
            BoldItalicFont = Univers Bold Oblique,%
          ]%
        }{}%
%</package>
      \else% heavy
        \setsansfont{Univers}[%
          BoldFont = Univers Bold,%
          ItalicFont = Univers Oblique,%
          BoldItalicFont = Univers Bold Oblique,%
        ]%
        \setmonofont{LMMono10-Regular}[%
          BoldFont = LMMonoLt10-Bold,%
          ItalicFont = LMMonoSlant10-Regular,%
          BoldItalicFont = LMMonoLt10-BoldOblique,%
        ]%
      \fi%
%    \end{macrocode}
% \dots nach dem NFSS.
%    \begin{macrocode}
    \else%
      \if@tud@univers%
        \renewcommand*\sfdefault{\tud@univers}%
        \renewcommand*\ttdefault{\tud@univers t}%
        \ifnum\tud@cdfont=\@ne\relax% true
          \renewcommand*\bfdefault{m}%
%    \end{macrocode}
% Bei den alten Klassen von Klaus Bergmann bzw. \TUDScript~v1.0 sind die fetten 
% Schriften stärker.
%    \begin{macrocode}
%<*package>
          \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
            \renewcommand*\bfdefault{b}%
          }{}%
%</package>
          \renewcommand*\mddefault{l}%
          \if@tud@mweights%
            \def\bfseries@rm{m}%
            \def\bfseries@sf{m}%
            \def\bfseries@tt{m}%
            \def\mdseries@rm{l}%
            \def\mdseries@sf{l}%
            \def\mdseries@tt{l}%
          \fi%
        \else% heavy
          \renewcommand*\bfdefault{b}%
          \renewcommand*\mddefault{m}%
          \if@tud@mweights%
            \def\bfseries@rm{b}%
            \def\bfseries@sf{b}%
            \def\bfseries@tt{b}%
            \def\mdseries@rm{m}%
            \def\mdseries@sf{m}%
            \def\mdseries@tt{m}%
          \fi%
        \fi%
      \fi%
    \fi%
    \renewcommand*\rmdefault{\sfdefault}%
    \renewcommand*\familydefault{\sfdefault}%
    \renewcommand*\seriesdefault{\mddefault}%
    \renewcommand*\shapedefault{\updefault}%
  \fi%
  \if@tud@mweights%
    \edef\rmdef@ult{\rmdefault}%
    \edef\sfdef@ult{\sfdefault}%
    \edef\ttdef@ult{\ttdefault}%
    \edef\bfdef@ult{\bfdefault}%
    \edef\mddef@ult{\mddefault}%
  \fi%
%    \end{macrocode}
% Zum Ende werden einige Abstände abhängig von der gewählten Schriftgröße 
% definiert. Danach erfolgt die Behandlung der Mathematikschriften und die 
% gewählte Standardschrift aktiviert. Zum Schluss wird das Layout erneuert.
%    \begin{macrocode}
  \tud@font@skip@set%
  \ifstr{#1}{nomath}{}{\tud@font@math@set}%
  \normalfont\selectfont%
%<*class>
  \tud@layout@process%
%</class>
}
%    \end{macrocode}
% \end{macro}^^A \mddef@ult
% \end{macro}^^A \bfdef@ult
% \end{macro}^^A \ttdef@ult
% \end{macro}^^A \sfdef@ult
% \end{macro}^^A \rmdef@ult
% \end{macro}^^A \mdseries@tt
% \end{macro}^^A \mdseries@sf
% \end{macro}^^A \mdseries@rm
% \end{macro}^^A \bfseries@tt
% \end{macro}^^A \bfseries@sf
% \end{macro}^^A \bfseries@rm
% \end{macro}^^A \if@tud@mweights
% \end{macro}^^A \tud@font@set
% \begin{macro}{\tud@font@skip@set}
% \changes{v2.04}{2015/02/17}{neu}^^A
% \begin{macro}{\tud@font@skip@@set}
% \changes{v2.04}{2015/03/27}{neu}^^A
% \begin{macro}{\smallskipamount}
% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
% \begin{macro}{\medskipamount}
% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
% \begin{macro}{\bigskipamount}
% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
% \begin{macro}{\abovecaptionskip}
% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
% \begin{macro}{\belowcaptionskip}
% \begin{macro}{\columnsep}
% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
% Mit diesem Befehl wird nach der Auswahl der Schriftgröße die Länge einiger 
% Abstände angepasst, die bei den \KOMAScript-Klassen nicht abhängig von dieser
% sind.
%    \begin{macrocode}
\newcommand*\tud@font@skip@set{%
%    \end{macrocode}
% Es werden die Standardeinstellungen abhängig von \opt{cdfont} entweder 
% wiederhergestellt oder gesichert und neu definiert.
%    \begin{macrocode}
  \tud@ifverlower{2.04}{}{%
    \ifcase\tud@cdfont\relax% false
      \tud@skip@restore{smallskipamount}%
      \tud@skip@restore{medskipamount}%
      \tud@skip@restore{bigskipamount}%
      \tud@skip@restore{abovecaptionskip}%
      \tud@skip@restore{belowcaptionskip}%
      \tud@skip@restore{columnsep}%
    \else% true/heavy
      \tud@skip@store{smallskipamount}%
      \tud@skip@store{medskipamount}%
      \tud@skip@store{bigskipamount}%
      \tud@skip@store{abovecaptionskip}%
      \tud@skip@store{belowcaptionskip}%
      \tud@skip@store{columnsep}%
      \tud@font@skip@@set%
    \fi%
  }%
}
%    \end{macrocode}
% Hiermit erfolgt das eigentliche Setzen der Abstände.
%    \begin{macrocode}
\newcommand*\tud@font@skip@@set{%
  \setlength{\@tempdimb}{\f@baselineskip}%
  \scr@setlength\smallskipamount{\dimexpr\@tempdimb/4\relax}%
    {\dimexpr\@tempdimb/12\relax}{\dimexpr\@tempdimb/12\relax}%
  \scr@setlength\medskipamount{\dimexpr\@tempdimb/2\relax}%
    {\dimexpr\@tempdimb/6\relax}{\dimexpr\@tempdimb/6\relax}%
  \scr@setlength\bigskipamount{\@tempdimb}%
    {\dimexpr\@tempdimb/3\relax}{\dimexpr\@tempdimb/3\relax}%
  \tud@skip@set\abovecaptionskip{\dimexpr4\@tempdimb/5\relax}%
  \tud@skip@set\belowcaptionskip{\z@}%
  \tud@skip@set\columnsep{1.1\baselineskip}%
}
%    \end{macrocode}
% \end{macro}^^A \columnsep
% \end{macro}^^A \belowcaptionskip
% \end{macro}^^A \abovecaptionskip
% \end{macro}^^A \bigskipamount
% \end{macro}^^A \medskipamount
% \end{macro}^^A \smallskipamount
% \end{macro}^^A \tud@font@skip@@set
% \end{macro}^^A \tud@font@skip@set
% \begin{macro}{\tud@font@math@set}
% Mit diesem Befehl werden die Einstellungen für den Mathematiksatz übernommen.
% Die Option \opt{cdmath} wird ausgewertet, um zwischen dem Standard"~ und
% neuem Mathematiksatz hin"~ und herschalten zu können. Dabei wird zum einen
% das Mapping der griechischen Glyphen geändert, zum anderen werden die
% originalen Mathematikversionen überschrieben respektive wiederhergestellt.
%    \begin{macrocode}
\newcommand*\tud@font@math@set{%
  \if@tud@univers%
    \if@tud@cdmath%
      \tud@cmd@store{mv@normal}%
      \tud@cmd@store{mv@bold}%
      \let\mv@normal\mv@univers%
      \let\mv@bold\mv@universbold%
      \tud@font@greek@loop\tud@font@greek@set%
    \else%
      \tud@cmd@restore{mv@normal}%
      \tud@cmd@restore{mv@bold}%
      \tud@font@greek@loop\tud@font@greek@reset%
    \fi%
  \fi%
  \if@tud@slantedgreek%
    \tud@font@greek@loop\tud@font@greek@slanted%
  \else%
    \tud@font@greek@loop\tud@font@greek@upright%
  \fi%
  \mathversion{normal}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@font@math@set
% \begin{macro}{\tud@font@greek@set}
% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\tud@font@greek@reset}
% \changes{v2.04}{2014/03/10}{neu}^^A
% Mit diesen beiden Befehlen kann innerhalb des Dokumentes problemlos zwischen 
% griechischen Buchstaben für die CD-Schriften und den normalen gewechselt 
% werden.
%    \begin{macrocode}
\newcommand*\tud@font@greek@set[1]{%
  \tud@cmd@store{#1}%
  \tud@cmd@store{up#1}%
  \tud@cmd@store{var#1}%
  \csletcs{#1}{tud@#1}%
  \csletcs{up#1}{tud@up#1}%
  \csletcs{var#1}{tud@var#1}%
}
\newcommand*\tud@font@greek@reset[1]{%
  \tud@cmd@restore{#1}%
  \tud@cmd@restore{up#1}%
  \tud@cmd@restore{var#1}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@font@greek@reset
% \end{macro}^^A \tud@font@greek@set
% \begin{macro}{\tud@font@greek@upright}
% \begin{macro}{\tud@font@greek@slanted}
% \changes{v2.04}{2014/03/10}{neu}^^A
% Mit den beiden Befehlen kann die Definition der griechischen Buchstaben 
% entweder auf aufrecht bzw. kursiv gesetzt werden.
%    \begin{macrocode}
\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
%    \end{macrocode}
% \end{macro}^^A \tud@font@greek@slanted
% \end{macro}^^A \tud@font@greek@upright
%
% \iffalse
%</(class|package)&body>
%<*(class|package)&option>
% \fi
%
% \subsection{Schriften für den Mathematiksatz}
%
% Da die Schriften des \CDs keinen Mathematiksatz beeinhalten, musste~--
% insbesondere für griechische Symbole~-- eine passende Alternative gefunden
% werden. Die Auswahl an Mathematikschriften für \LaTeX{} ist relativ gering.
% Dennoch schien das \pkg{cmbright}-Paket dafür geeignet, weshalb dieses direkt
% bei der Installation der Schriften eingebunden wurde.
%
% \begin{option}{cdmath}
% \begin{macro}{\if@tud@cdmath}
% \begin{macro}{\if@tud@cdmath@locked}
% Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz
% für das gesamte Dokument umgestellt werden.
%    \begin{macrocode}
\bool@lock{@tud@cdmath}
\TUD@key{cdmath}[true]{%
  \TUD@set@numkey{cdmath}{@tempa}{%
    \TUD@numkey@bool,%
    {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
    {sansmath}{1},{sans}{1},%
    {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
    {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \bool@set@lock{@tud@cdmath}{false}%
      \if@atdocument\tud@font@math@set\fi%
    \or% true
      \bool@set@lock{@tud@cdmath}{true}%
      \if@atdocument\tud@font@math@set\fi%
    \or% upgreek
      \TUDoptions{slantedgreek=false}%
    \or% slgreek
      \TUDoptions{slantedgreek=true}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@cdmath@locked
% \end{macro}^^A \if@tud@cdmath
% \end{option}^^A cdmath
% \begin{option}{slantedgreek}
% \begin{option}{slantedGreek}
% \changes{v2.04}{2015/02/27}{neu}^^A
% \begin{macro}{\if@tud@slantedgreek}
% \begin{macro}{\if@tud@slantedgreek@locked}
% Mit dieser Option kann die Neigung der griechischen Majuskeln geändert werden.
%    \begin{macrocode}
\bool@lock{@tud@slantedgreek}
\TUD@key{slantedgreek}[true]{%
  \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \bool@set@lock{@tud@slantedgreek}{#1}%
    \if@atdocument\tud@font@math@set\fi%
  \fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
%    \end{macrocode}
% \end{macro}^^A \if@tud@slantedgreek@locked
% \end{macro}^^A \if@tud@slantedgreek
% \end{option}^^A slantedGreek
% \end{option}^^A slantedgreek
%
% \iffalse
%</(class|package)&option>
%<*class&body>
% \fi
%
% \begin{macro}{\tud@head@font@set}
% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{cdhead} hinzugefügt}^^A
% \changes{v2.03}{2015/01/30}{Fix für die Änderung von \cs{spaceskip} durch
%   \pkg{ragged2e}}^^A
% \begin{macro}{\tud@head@font@bold}
% \begin{macro}{\tud@head@font@light}
% Die Schrift der Kopfzeile wird entweder in den Schriften des \CDs oder aber 
% in den serifenlosen Standardschriften gesetzt, wobei für beide Varianten
% sowohl eine fettgedruckte als auch eine normale Version benötigt wird. Die
% Schrifthöhe ist durch das \CD unabhängig von der gewählten Schriftgröße im
% Dokument vorgegeben und wird in Abhängigkeit von der Papiergröße gewählt und
% in \cs{tud@head@font@size} gespeichert.
%    \begin{macrocode}
\newcommand*\tud@head@font@bold{}
\newcommand*\tud@head@font@light{}
\newcommand*\tud@head@font@set{%
%    \end{macrocode}
% Das Paket \pkg{ragged2e} ändert im Zweifelsfall die Länge \cs{spaceskip}. Um 
% den Kopf unbeeinflusst davon immer in der gleichen Gestalt erscheinen zu 
% lassen, wird dies hier temporär unterdrückt.
%    \begin{macrocode}
  \ifdef{\@raggedtwoe@everyselectfont}{%
    \let\@raggedtwoe@everyselectfont\relax%
    \setlength\spaceskip{\z@}%
    \selectfont%
  }{}%
%    \end{macrocode}
% Zuerst die Rückfallebene für den Fall, dass keine Schriften im \CD verendet 
% werden.
%    \begin{macrocode}
  \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
    {\sfdefault}{bx}{n}{\tud@head@font@size}%
  \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
    {\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
%    \end{macrocode}
% Die Option \opt{cdhead} wird ausgewertet.
%    \begin{macrocode}
  \@tempswafalse%
  \ifcase\tud@head@font\relax% false
    \ifnum\tud@cdfont>\z@\relax% true/heavy
      \ClassWarning{\TUDClassName}{%
        It isn't possible to use `cdhead=false'\MessageBreak%
        together with `cdfont=true'%
      }%
      \@tempswatrue%
    \fi%
  \else% true/heavy
    \@tempswatrue%
  \fi%
%    \end{macrocode}
% Die Schriften für den Kopf im \CD werden aktiviert.
%    \begin{macrocode}
  \if@tempswa% true/heavy
%    \end{macrocode}
% Damit \cs{DeclareFixedFont} zusammen mit \pkg{fontspec} verwendet werden 
% kann, wurde zu Beginn der Klasse den drei benötigten Schriftschnitten der 
% Univers spezielle Namen zugewiesen, die hier verwendet werden.
%    \begin{macrocode}
    \if@tud@fontspec%
      \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
        {UniversBold}{m}{n}{\tud@head@font@size}%
      \ifcase\tud@head@font\relax\or% true
        \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
          {UniversLight}{m}{n}{\tud@head@font@size}%
      \or% heavy
        \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
          {UniversRegular}{m}{n}{\tud@head@font@size}%
      \fi%
%    \end{macrocode}
% Die klassische Auswahl mittels NFSS-Schriftname und \cs{mddefault}.
%    \begin{macrocode}
    \else%
      \if@tud@univers%
        \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
          {\tud@univers}{b}{n}{\tud@head@font@size}%
        \ifcase\tud@head@font\relax\or% true
          \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
            {\tud@univers}{l}{n}{\tud@head@font@size}%
        \or% heavy
          \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
            {\tud@univers}{m}{n}{\tud@head@font@size}%
        \fi%
      \fi%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@head@font@light
% \end{macro}^^A \tud@head@font@bold
% \end{macro}^^A \tud@head@font@set
%
% \iffalse
%</class&body>
%<*(class|package)&body>
% \fi
%
% \begin{macro}{\ifdin}
% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A
% Der Befehl \cs{ifdin} prüft auf die Verwendung von DIN~Bold. Davon abhängig 
% wird entweder das erste oder das zweite Argument ausgeführt. Dies kann für 
% die Befehle aller Gliederungsebenen genutzt werden, um zwischen der Ausgabe 
% im Dokument sowie Inhaltserzeichnis und/oder Kolumnentitel zu unterscheiden.
%    \begin{macrocode}
\newrobustcmd*\ifdin{%
  \@tempswafalse%
  \@expandtwoargs\in@{DINBold}{\f@family}%
  \ifin@\@tempswatrue\fi%
  \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi%
  \if@tempswa%
    \expandafter\@firstoftwo%
  \else%
    \expandafter\@secondoftwo%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \ifdin
%
% \subsection{Bedingte Majuskeln für Überschriften}
%
% Überschriften sollen bloß in Großbuchstaben gesetzt werden, wenn auch 
% tatsächlich die Schrift DIN~Bold verwendet wird.
% \begin{macro}{\tud@makeuppercase}
% Der Befehl führt \cs{MakeTextUppercase}\marg{Text} deshalb nur aus, wenn die 
% richtige Schriftfamilie verwendet wird. 
%    \begin{macrocode}
\newcommand*\tud@makeuppercase[1]{%
  \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
%    \end{macrocode}
% Aufgrund eines Fehlers im \LaTeX-Kernels liegt die Grundlinie für die beiden
% Gliederungsebenen \cs{section} und \cs{subsection} zu hoch. Mit dem Einfügen
% des vertikalen Freiraums für die Umlaute wird diese automatisch nach unten
% verschoben. Allerdings ist das ein ziemlich übler Hack.
%    \begin{macrocode}
  \protect\vphantom{\"A\"O\"U}%
% \addtokomafont{section}{\strut\ignorespaces}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@makeuppercase
%
% \subsection{Anpassungen für das Paket \pkg{ragged2e}}
%
% \begin{macro}{\tud@raggedright}
% \begin{macro}{\tud@RaggedRight}
% Die Überschriften in DIN"~Bold sollen laut \CD linksbündig und nie mit
% Silbentrennung gesetzt werden. Normalerweise ist das dies beim linksbündigen
% Satz bei \LaTeX{} der Fall. Allerdings ist es mit dem Paket \pkg{ragged2e}
% möglich, das Verhalten für den Flattersatz zu ändern und die Silbentrennung
% zu aktivieren. Mit der Option \opt{newcommands} werden dabei die originalen
% Befehle überschrieben, vorher jedoch in \cs{LaTeX\dots} gesichert. Dieses
% Makro dient dazu, die Überschriften in jedem Fall~-- auch bei der Verwendung
% von \pkg{ragged2e} mit der Option \opt{newcommands}~-- ohne Trennungen zu
% setzen.
%    \begin{macrocode}
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage*{ragged2e}{%
  \ifdef{\LaTeXraggedright}{%
    \renewcommand*\tud@raggedright{\LaTeXraggedright}%
  }{}%
  \renewcommand*\tud@RaggedRight{\RaggedRight}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@ragged2e
% \end{macro}^^A \tud@raggedright
%
% \subsection{Anpassungen für das Paket \pkg{siunitx}}
%
% \begin{macro}{\lseries}
% Das Paket \pkg{siunitx} nutzt den Befehl \cs{lseries} für den Fall, dass für
% den Fließtext eine Schrift die Serie \val{l} verwendet. Dem wird hier 
% Rechnung getragen.
%    \begin{macrocode}
\AfterPackage*{siunitx}{%
  \providecommand*\lseries{\fontseries{l}\selectfont}
}
%    \end{macrocode}
% \end{macro}^^A \lseries
%
% \iffalse
%</(class|package)&body>
%</!fontsizes>
% \fi
%
% \Finale
%
\endinput
%
% \iffalse
%<*fontsizes>
% \fi
%
% \subsection{Erzeugen von Schriftgrößendateien}
%
% Ab der \TUDScript-Version~v2.04 können sowohl eigene Schriftgrößendateien 
% erzeugt werden als auch zusätzlich ein~-- aus \KOMAScript{} abgewandelter~-- 
% Befehl zur automatischen Erzeugung dieser Dateien genutzt werden. Im Laufe 
% der Weiterentwicklung von \TUDScript hat sich jedoch gezeigt, dass dies 
% spätestens mit \KOMAScript~v3.17 nicht notwendig ist. Deshalb wird auf die 
% Verwendung dieser Möglichkeiten vorerst verzichtet. Die Schriftgrößendateien 
% und das Paket \pkg{scrfontsizes} werden momentan nicht generiert. Dennoch 
% bleibt der Quelltext bis auf weiteres hier bestehen.
%
% \iffalse
%<*10pt|11pt|12pt>
% \fi
%
% Erst ein bisschen Geplänkel.
%    \begin{macrocode}
\ProvidesFile{%
%<10pt>  tudscrsize10pt.clo%
%<11pt>  tudscrsize11pt.clo%
%<12pt>  tudscrsize12pt.clo%
}[%
%!TUDVersion
  font size class option
%<10pt>  (10pt)%
%<11pt>  (11pt)%
%<12pt>  (12pt)%
]
%    \end{macrocode}
% Und jetzt die Schriftgrößendefinition.
%    \begin{macrocode}
\def\normalsize{%
%<*10pt>
  \@setfontsize\normalsize{10}{12.5\p@}%
  \abovedisplayskip 10\p@ \@plus2.5\p@ \@minus5\p@
  \abovedisplayshortskip \z@ \@plus3\p@
  \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
%</10pt>
%<*11pt>
  \@setfontsize\normalsize{11}{13.75\p@}%
  \abovedisplayskip 11\p@ \@plus2.75\p@ \@minus5.5\p@
  \abovedisplayshortskip \z@ \@plus3.3\p@
  \belowdisplayshortskip 6.6\p@ \@plus3.3\p@ \@minus3.3\p@
%</11pt>
%<*12pt>
  \@setfontsize\normalsize{12}{15\p@}%
  \abovedisplayskip 12\p@ \@plus3\p@ \@minus6\p@
  \abovedisplayshortskip \z@ \@plus3.6\p@
  \belowdisplayshortskip 7.2\p@ \@plus3.6\p@ \@minus3.6\p@
%</12pt>
  \belowdisplayskip\abovedisplayskip
  \let\@listi\@listI
}
\def\small{%
%<*10pt>
  \@setfontsize\small{9}{11.25\p@}%
  \abovedisplayskip 9\p@ \@plus2.25\p@ \@minus4.5\p@
  \abovedisplayshortskip \z@ \@plus2.7\p@
  \belowdisplayshortskip 5.4\p@ \@plus2.7\p@ \@minus2.7\p@
%</10pt>
%<*11pt>
  \@setfontsize\small{9.9}{12.375\p@}%
  \abovedisplayskip 9.9\p@ \@plus2.475\p@ \@minus4.95\p@
  \abovedisplayshortskip \z@ \@plus2.97\p@
  \belowdisplayshortskip 5.94\p@ \@plus2.97\p@ \@minus2.97\p@
%</11pt>
%<*12pt>
  \@setfontsize\small{10.8}{13.5\p@}%
  \abovedisplayskip 10.8\p@ \@plus2.7\p@ \@minus5.4\p@
  \abovedisplayshortskip \z@ \@plus3.24\p@
  \belowdisplayshortskip 6.48\p@ \@plus3.24\p@ \@minus3.24\p@
%</12pt>
  \def\@listi{%
    \leftmargin\leftmargini
%<*10pt>
    \topsep 6\p@ \@plus2\p@ \@minus3\p@
    \parsep 3\p@ \@plus1.5\p@ \@minus\p@
%</10pt>
%<*11pt>
    \topsep 6.6\p@ \@plus2.2\p@ \@minus3.3\p@
    \parsep 3.3\p@ \@plus1.65\p@ \@minus1.1\p@
%</11pt>
%<*12pt>
    \topsep 7.2\p@ \@plus2.4\p@ \@minus3.6\p@
    \parsep 3.6\p@ \@plus1.8\p@ \@minus1.2\p@
%</12pt>
    \itemsep\parsep
  }%
  \belowdisplayskip\abovedisplayskip
}
\def\footnotesize{%
%<*10pt>
  \@setfontsize\footnotesize{8}{10\p@}%
  \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
  \abovedisplayshortskip \z@ \@plus2.4\p@
  \belowdisplayshortskip 4.8\p@ \@plus2.4\p@ \@minus2.4\p@
%</10pt>
%<*11pt>
  \@setfontsize\footnotesize{8.8}{11\p@}%
  \abovedisplayskip 8.8\p@ \@plus2.2\p@ \@minus4.4\p@
  \abovedisplayshortskip \z@ \@plus2.64\p@
  \belowdisplayshortskip 5.28\p@ \@plus2.64\p@ \@minus2.64\p@
%</11pt>
%<*12pt>
  \@setfontsize\footnotesize{9.6}{12\p@}%
  \abovedisplayskip 9.6\p@ \@plus2.4\p@ \@minus4.8\p@
  \abovedisplayshortskip \z@ \@plus2.88\p@
  \belowdisplayshortskip 5.76\p@ \@plus2.88\p@ \@minus2.88\p@
%</12pt>
  \def\@listi{%
    \leftmargin\leftmargini
%<*10pt>
    \topsep 4.5\p@ \@plus1.5\p@ \@minus2.25\p@
    \parsep 2.25\p@ \@plus1.125\p@ \@minus\p@
%</10pt>
%<*11pt>
    \topsep 4.95\p@ \@plus1.65\p@ \@minus2.475\p@
    \parsep 2.475\p@ \@plus1.2375\p@ \@minus\p@
%</11pt>
%<*12pt>
    \topsep 5.4\p@ \@plus1.8\p@ \@minus2.7\p@
    \parsep 2.7\p@ \@plus1.35\p@ \@minus\p@
%</12pt>
    \itemsep\parsep
  }%
  \belowdisplayskip\abovedisplayskip
}
%<*10pt>
\def\scriptsize{\@setfontsize\scriptsize{6.5}{8.125\p@}}
\def\tiny{\@setfontsize\tiny{5}{6.25\p@}}
\def\large{\@setfontsize\large{11}{13.75\p@}}
\def\Large{\@setfontsize\Large{13}{16.25\p@}}
\def\LARGE{\@setfontsize\LARGE{16}{20\p@}}
\def\huge{\@setfontsize\huge{19}{23.75\p@}}
\def\Huge{\@setfontsize\Huge{22}{27.5\p@}}
%</10pt>
%<*11pt>
\def\scriptsize{\@setfontsize\scriptsize{7.15}{8.9375\p@}}
\def\tiny{\@setfontsize\tiny{5.5}{6.875\p@}}
\def\large{\@setfontsize\large{12.1}{15.125\p@}}
\def\Large{\@setfontsize\Large{14.3}{17.875\p@}}
\def\LARGE{\@setfontsize\LARGE{17.6}{22\p@}}
\def\huge{\@setfontsize\huge{20.9}{26.125\p@}}
\def\Huge{\@setfontsize\Huge{24.2}{30.25\p@}}
%</11pt>
%<*12pt>
\def\scriptsize{\@setfontsize\scriptsize{7.8}{9.75\p@}}
\def\tiny{\@setfontsize\tiny{6}{7.5\p@}}
\def\large{\@setfontsize\large{13.2}{16.5\p@}}
\def\Large{\@setfontsize\Large{15.6}{19.5\p@}}
\def\LARGE{\@setfontsize\LARGE{19.2}{24\p@}}
\def\huge{\@setfontsize\huge{22.8}{28.5\p@}}
\def\Huge{\@setfontsize\Huge{26.4}{33\p@}}
%</12pt>
\normalsize
%<*10pt>
\setlength{\footnotesep}{7\p@}
\setlength{\skip\footins}{9\p@ \@plus4\p@ \@minus2\p@}
\setlength{\floatsep}{12.5\p@ \@plus2.5\p@ \@minus2.5\p@}
\setlength{\textfloatsep}{20\p@ \@plus2.5\p@ \@minus5\p@}
%</10pt>
%<*11pt>
\setlength{\footnotesep}{7.7\p@}
\setlength{\skip\footins}{9.9\p@ \@plus4.4\p@ \@minus2.2\p@}
\setlength{\floatsep}{13.75\p@ \@plus2.75\p@ \@minus2.75\p@}
\setlength{\textfloatsep}{22\p@ \@plus2.75\p@ \@minus5.5\p@}
%</11pt>
%<*12pt>
\setlength{\footnotesep}{8.4\p@}
\setlength{\skip\footins}{10.8\p@ \@plus4.8\p@ \@minus2.4\p@}
\setlength{\floatsep}{15\p@ \@plus3\p@ \@minus3\p@}
\setlength{\textfloatsep}{24\p@ \@plus3\p@ \@minus6\p@}
%</12pt>
\intextsep\floatsep
\dblfloatsep\floatsep
\dbltextfloatsep\textfloatsep
\setlength{\@fptop}{\z@ \@plus1fil}
%<10pt>\setlength{\@fpsep}{7.5\p@ \@plus2fil}
%<11pt>\setlength{\@fpsep}{8.25\p@ \@plus2fil}
%<12pt>\setlength{\@fpsep}{9\p@ \@plus2fil}
\@fpbot\@fptop
\@dblfptop\@fptop
\@dblfpsep\@fpsep
\@dblfpbot\@dblfptop
%<10pt>\setlength{\partopsep}{2.5\p@ \@plus1.25\p@ \@minus1.25\p@}
%<11pt>\setlength{\partopsep}{2.75\p@ \@plus1.375\p@ \@minus1.375\p@}
%<12pt>\setlength{\partopsep}{3\p@ \@plus1.5\p@ \@minus1.5\p@}
\def\@listi{%
  \leftmargin\leftmargini
%<*10pt>
  \topsep 8\p@ \@plus2\p@ \@minus4\p@
  \parsep 4\p@ \@plus2\p@ \@minus\p@
%</10pt>
%<*11pt>
  \topsep 8.8\p@ \@plus2.2\p@ \@minus4.4\p@
  \parsep 4.4\p@ \@plus2.2\p@ \@minus1.1\p@
%</11pt>
%<*12pt>
  \topsep 9.6\p@ \@plus2.4\p@ \@minus4.8\p@
  \parsep 4.8\p@ \@plus2.4\p@ \@minus1.2\p@
%</12pt>
  \itemsep\parsep
}
\let\@listI\@listi
\def\@listii{%
  \leftmargin\leftmarginii
  \labelwidth\leftmarginii
  \advance\labelwidth-\labelsep
%<*10pt>
  \topsep 4\p@ \@plus2\p@ \@minus\p@
  \parsep 2\p@ \@plus\p@ \@minus\p@
%</10pt>
%<*11pt>
  \topsep 4.4\p@ \@plus2.2\p@ \@minus1.1\p@
  \parsep 2.2\p@ \@plus1.1\p@ \@minus1.1\p@
%</11pt>
%<*12pt>
  \topsep 4.8\p@ \@plus2.4\p@ \@minus1.2\p@
  \parsep 2.4\p@ \@plus1.2\p@ \@minus1.2\p@
%</12pt>
  \itemsep\parsep
}
\def\@listiii{%
  \leftmargin\leftmarginiii
  \labelwidth\leftmarginiii
  \advance\labelwidth-\labelsep
%<*10pt>
  \topsep 2\p@ \@plus\p@ \@minus\p@
%</10pt>
%<*11pt>
  \topsep 2.2\p@ \@plus1.1\p@ \@minus1.1\p@
%</11pt>
%<*12pt>
  \topsep 2.4\p@ \@plus1.2\p@ \@minus1.2\p@
%</12pt>
  \parsep\z@
  \partopsep \z@ \@minus\p@
  \itemsep\topsep
}
\def\@listiv{%
  \leftmargin\leftmarginiv
  \labelwidth\leftmarginiv
  \advance\labelwidth-\labelsep
}
\def\@listv{%
  \leftmargin\leftmarginv
  \labelwidth\leftmarginv
  \advance\labelwidth-\labelsep
}
\def\@listvi{%
  \leftmargin\leftmarginvi
  \labelwidth\leftmarginvi
  \advance\labelwidth-\labelsep
}
%<*10pt>
\setlength{\smallskipamount}{3.125\p@ \@plus1.25\p@ \@minus1.25\p@}
\setlength{\medskipamount}{6.25\p@ \@plus2.5\p@ \@minus2.5\p@}
\setlength{\bigskipamount}{12.5\p@ \@plus5\p@ \@minus5\p@}
%</10pt>
%<*11pt>
\setlength{\smallskipamount}{3.4375\p@ \@plus1.375\p@ \@minus1.375\p@}
\setlength{\medskipamount}{6.875\p@ \@plus2.75\p@ \@minus2.75\p@}
\setlength{\bigskipamount}{13.75\p@ \@plus5.5\p@ \@minus5.5\p@}
%</11pt>
%<*12pt>
\setlength{\smallskipamount}{3.75\p@ \@plus1.5\p@ \@minus1.5\p@}
\setlength{\medskipamount}{7.5\p@ \@plus3\p@ \@minus3\p@}
\setlength{\bigskipamount}{15\p@ \@plus6\p@ \@minus6\p@}
%</12pt>
\providecommand*\TUD@AfterKOMAClass[1]{%
  \ifcsname KOMAClassName\endcsname
    \if@atdocument%
      #1
    \else%
      \AfterClass+{\KOMAClassName}{#1}%
    \fi%
  \fi%
}
\TUD@AfterKOMAClass{%
%<10pt>  \setlength{\abovecaptionskip}{10\p@}
%<11pt>  \setlength{\abovecaptionskip}{11\p@}
%<12pt>  \setlength{\abovecaptionskip}{12\p@}
  \setlength{\belowcaptionskip}{\z@}
}
\@ifundefined{@list@extra}{}{%
  \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi%
  \l@addto@macro{\@listi}{\@list@extra}%
  \let\@listI=\@listi
  \l@addto@macro{\@listii}{\@list@extra}%
  \l@addto@macro{\@listiii}{\@list@extra}%
  \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}%
  \l@addto@macro{\small}{\protect\add@extra@listi{sml}}%
}
\@listi
%    \end{macrocode}
%
% \iffalse
%</10pt|11pt|12pt>
%<*package&body>
% \fi
%
% Es wird der Inhalt des Pakets \pkg{tudscrfontsizes} definiert, welches auf 
% \pkg{scrfontsizes} aufbaut.
% \begin{macro}{\changefontsizes}
% \begin{macro}{\tud@changefontsizes}
% Das Pendant zum \KOMAScript-Makro \cs{generate@fontfile} ist der hier
% definierte Befehl \cs{tud@generate@fontfile}. Mit diesem können eigenständige 
% Schriftgrößendateien erstellt werden.
%    \begin{macrocode}
\RequirePackage{scrfontsizes}[2015/02/07]
%    \end{macrocode}
% Hiermit kann die Schriftgröße im Dokument geändert werden, falls keine 
% passende Schriftgrößendatei vorhanden ist. Der Befehl lehnt sich stark am
% \KOMAScript-Befehl \cs{changefontsizes} an, ändert allerdings einige Längen
% marginal.
%    \begin{macrocode}
\newcommand*{\tud@changefontsizes}[2][\dimexpr5\@tempdima/4\relax]{%
%<*class>
  \ClassInfo{\TUDClassName}%
%</class>
%<*package>
  \PackageInfo{tudscrfonts}%
%</package>
    {Calculating font sizes for basic size `#2'}%
  \@defaultunits\@tempdima#2pt\relax\@nnil%
  \setlength{\@tempdimc}{\@tempdima}%
  \addtolength{\@tempdimc}{-10\p@}%
  \edef\@ptsize{\strip@pt\@tempdimc}%
  \setlength{\@tempdimb}{#1}%
  \setlength{\@tempdimc}{\dimexpr (100\@tempdimb / \@tempdima * \p@)}%
  \edef\@tempa{\strip@pt\@tempdimc}%
  \@defaultunits\@tempdimb\dimexpr\@tempa\@tempdima/100\relax pt\relax\@nnil%
  \setlength{\@tempdimc}{\@tempdima}%
  \scr@setlength{\abovedisplayskip}{\dimexpr4\@tempdimb/5\relax}%
    {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
  \scr@setlength{\abovedisplayshortskip}{\z@}%
    {\dimexpr6\@tempdimb/25\relax}{\z@}%
  \scr@setlength{\belowdisplayshortskip}{\dimexpr12\@tempdimb/25\relax}%
    {\dimexpr6\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
  \setlength{\belowdisplayskip}{\abovedisplayskip}%
  \edef\normalsize{%
    \noexpand\@setfontsize\noexpand\normalsize%
    {\the\@tempdima}{\the\@tempdimb}%
    \abovedisplayskip \the\abovedisplayskip%
    \abovedisplayshortskip \the\abovedisplayshortskip%
    \belowdisplayskip \the\belowdisplayskip%
    \belowdisplayshortskip \the\belowdisplayshortskip%
    \let\noexpand\@listi\noexpand\@listI%
  }%
  \setlength{\@tempdima}{\dimexpr9\@tempdimc/10\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \scr@setlength{\abovedisplayskip}{\dimexpr4\@tempdimb/5\relax}%
    {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
  \scr@setlength{\abovedisplayshortskip}{\z@}%
    {\dimexpr6\@tempdimb/25\relax}{\z@}%
  \scr@setlength{\belowdisplayshortskip}{\dimexpr12\@tempdimb/25\relax}%
    {\dimexpr6\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
  \setlength{\belowdisplayskip}{\abovedisplayskip}%
  \edef\small{%
    \noexpand\@setfontsize\noexpand\small%
    {\the\@tempdima}{\the\@tempdimb}%
    \abovedisplayskip \the\abovedisplayskip%
    \abovedisplayshortskip \the\abovedisplayshortskip%
    \belowdisplayskip \the\belowdisplayskip%
    \belowdisplayshortskip \the\belowdisplayshortskip%
    \let\noexpand\@listi\noexpand\@listi@small%
  }%
  \setlength{\@tempdima}{\dimexpr4\@tempdimc/5\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \scr@setlength{\abovedisplayskip}{\dimexpr4\@tempdimb/5\relax}%
    {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
  \scr@setlength{\abovedisplayshortskip}{\z@}%
    {\dimexpr6\@tempdimb/25\relax}{\z@}%
  \scr@setlength{\belowdisplayshortskip}{\dimexpr12\@tempdimb/25\relax}%
    {\dimexpr6\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
  \setlength{\belowdisplayskip}{\abovedisplayskip}%
  \edef\footnotesize{%
    \noexpand\@setfontsize\noexpand\footnotesize%
    {\the\@tempdima}{\the\@tempdimb}%
    \abovedisplayskip \the\abovedisplayskip%
    \abovedisplayshortskip \the\abovedisplayshortskip%
    \belowdisplayskip \the\belowdisplayskip%
    \belowdisplayshortskip \the\belowdisplayshortskip%
    \let\noexpand\@listi\noexpand\@listi@footnotesize%
  }%
  \setlength{\@tempdima}{\dimexpr13\@tempdimc/20\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \edef\scriptsize{%
    \noexpand\@setfontsize\noexpand\scriptsize%
    {\the\@tempdima}{\the\@tempdimb}%
  }%
  \setlength{\@tempdima}{\dimexpr\@tempdimc/2\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \edef\tiny{%
    \noexpand\@setfontsize\noexpand\tiny%
    {\the\@tempdima}{\the\@tempdimb}%
  }%
  \setlength{\@tempdima}{\dimexpr11\@tempdimc/10\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \edef\large{%
    \noexpand\@setfontsize\noexpand\large%
    {\the\@tempdima}{\the\@tempdimb}%
  }%
  \setlength{\@tempdima}{\dimexpr13\@tempdimc/10\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \edef\Large{%
    \noexpand\@setfontsize\noexpand\Large%
    {\the\@tempdima}{\the\@tempdimb}%
  }%
  \setlength{\@tempdima}{\dimexpr16\@tempdimc/10\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \edef\LARGE{%
    \noexpand\@setfontsize\noexpand\LARGE%
    {\the\@tempdima}{\the\@tempdimb}%
  }%
  \setlength{\@tempdima}{\dimexpr19\@tempdimc/10\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \edef\huge{%
    \noexpand\@setfontsize\noexpand\huge%
    {\the\@tempdima}{\the\@tempdimb}%
  }%
  \setlength{\@tempdima}{\dimexpr22\@tempdimc/10\relax}%
  \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
  \edef\Huge{%
    \noexpand\@setfontsize\noexpand\Huge%
    {\the\@tempdima}{\the\@tempdimb}%
  }%
  \normalsize%
  \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi%
  \setlength{\@tempdimb}{\f@baselineskip}%
  \scr@setlength{\topsep}{\dimexpr16\@tempdimb/25\relax}%
    {\dimexpr4\@tempdimb/25\relax}{\dimexpr8\@tempdimb/25\relax}%
  \scr@setlength{\parsep}{\dimexpr8\@tempdimb/25\relax}%
    {\dimexpr4\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listi\endcsname%
  \endgroup%
  \edef\@listi{\leftmargin\leftmargini%
    \topsep \the\topsep%
    \parsep \the\parsep%
    \itemsep \parsep%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \let\@listI\@listi%
  \scr@setlength{\topsep}{\dimexpr12\@tempdimb/25\relax}%
    {\dimexpr4\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
  \scr@setlength{\parsep}{\dimexpr6\@tempdimb/25\relax}%
    {\dimexpr3\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listi\endcsname%
  \endgroup%
  \edef\@listi@small{\leftmargin\leftmargini%
    \topsep \the\topsep%
    \parsep \the\parsep%
    \itemsep \parsep%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \scr@setlength{\topsep}{\dimexpr36\@tempdimb/100\relax}%
    {\dimexpr12\@tempdimb/100\relax}{\dimexpr18\@tempdimb/100\relax}%
  \scr@setlength{\parsep}{\dimexpr18\@tempdimb/100\relax}%
    {\dimexpr9\@tempdimb/100\relax}{\dimexpr6\@tempdimb/100\relax}%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listi\endcsname%
  \endgroup%
  \edef\@listi@footnotesize{\leftmargin\leftmargini%
    \topsep \the\topsep%
    \parsep \the\parsep%
    \itemsep \parsep%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \scr@setlength{\topsep}{\dimexpr8\@tempdimb/25\relax}%
    {\dimexpr4\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
  \scr@setlength{\parsep}{\dimexpr4\@tempdimb/25\relax}%
    {\dimexpr2\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listii\endcsname%
  \endgroup%
  \edef\@listii{\leftmargin\leftmarginii%
    \labelwidth=\dimexpr \leftmargin-\labelsep%
    \topsep \the\topsep%
    \parsep \the\parsep%
    \itemsep \parsep%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \scr@setlength{\topsep}{\dimexpr4\@tempdimb/25\relax}%
    {\dimexpr2\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
  \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listiii\endcsname%
  \endgroup%
  \edef\@listiii{\leftmargin\leftmarginiii%
    \labelwidth=\dimexpr \leftmargin-\labelsep%
    \topsep \the\topsep%
    \parsep \z@%
    \partopsep \the\partopsep%
    \itemsep \topsep%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listiv\endcsname%
  \endgroup%
  \edef\@listiv{\leftmargin\leftmarginiv%
    \labelwidth=\dimexpr \leftmargin-\labelsep\relax%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listv\endcsname%
  \endgroup%
  \edef\@listv{\leftmargin\leftmarginv%
    \labelwidth=\dimexpr \leftmargin-\labelsep\relax%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \@tempswafalse%
  \begingroup%
    \def\@list@extra{\aftergroup\@tempswatrue}%
    \csname @listvi\endcsname%
  \endgroup%
  \edef\@listvi{\leftmargin\leftmarginvi%
    \labelwidth=\dimexpr \leftmargin-\labelsep\relax%
    \if@tempswa\noexpand\@list@extra\fi%
  }%
  \@listi%
  \setlength{\@tempdimb}{\f@baselineskip}%
  \setlength{\footnotesep}{\dimexpr14\@tempdimb/25\relax}%
  \scr@setlength{\skip\footins}{\dimexpr18\@tempdimb/25\relax}%
    {\dimexpr8\@tempdimb/25\relax}{\dimexpr4\@tempdimb/25\relax}%
  \scr@setlength{\floatsep}{\@tempdimb}%
    {\dimexpr\@tempdimb/5\relax}{\dimexpr\@tempdimb/5\relax}%
  \scr@setlength{\textfloatsep}{\dimexpr8\@tempdimb/5\relax}%
    {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
  \setlength{\intextsep}{\floatsep}%
  \setlength{\dblfloatsep}{\floatsep}%
  \setlength{\dbltextfloatsep}{\textfloatsep}%
  \setlength{\@fptop}{\z@ \@plus 1fil}%
  \setlength{\@fpsep}{\dimexpr3\@tempdimb/5\relax \@plus 2fil}%
  \setlength{\@fpbot}{\@fptop}%
  \setlength{\@dblfptop}{\@fptop}%
  \setlength{\@dblfpsep}{\@fpsep}%
  \setlength{\@dblfpbot}{\@fptop}%
  \scr@setlength{\partopsep}{\dimexpr\@tempdimb/5\relax}%
    {\dimexpr\@tempdimb/10\relax}{\dimexpr\@tempdimb/10\relax}%
  \tud@font@skip@@set%
}
%    \end{macrocode}
% \ToDo{Versionsdatum einfügen}
%    \begin{macrocode}
\@ifundefined{tud@font@skip@@set}{\RequirePackage{tudscrfonts}[2015/03/27]}{}
\let\changefontsizes\tud@changefontsizes%
%    \end{macrocode}
% \end{macro}^^A \tud@changefontsizes
% \end{macro}^^A \changefontsizes
% \begin{macro}{\generate@fontfile}
% \begin{macro}{\tud@generate@fontfile}
%    \begin{macrocode}
\newcommand*{\tud@generate@fontfile}[2]{%
  \def\@ind{\space\space}%
  \immediate\openout\@fontfile #1#2.clo
  \immediate\write\@fontfile{\@percentchar^^J%
    \@percentchar\space This is file `#1#2.clo', generated with^^J%
    \@percentchar\space tudscrfontsizes
    \csname ver@tudscrfontsizes.sty\endcsname,^^J%
    \@percentchar\space and bases on scrfontsize.sty by Markus Kohm.^^J%
    \@percentchar^^J%
    \string\ProvidesFile{#1#2.clo}[%
    \the\year/\ifnum\month<10 0\fi\the\month/\ifnum\day<10 0\fi\the\day%
    \space generated font size class option (#2)]}%
  \immediate\write\@fontfile{%
    \string\def\string\normalsize{\@percentchar^^J%
      \@ind\string\@setfontsize\string\normalsize{\f@size}{\f@baselineskip}%
      \@percentchar^^J%
      \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
      \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
      \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
      \@ind\string\belowdisplayskip\string\abovedisplayskip^^J%
      \@ind\string\let\string\@listi\string\@listI^^J%
    }%
  }%
  \begingroup\small\@listi
    \immediate\write\@fontfile{%
      \string\def\string\small{\@percentchar^^J%
        \@ind\string\@setfontsize\string\small{\f@size}{\f@baselineskip}%
        \@percentchar^^J%
        \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
        \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
        \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
        \@ind\string\def\string\@listi{\@percentchar^^J%
          \@ind\@ind\string\leftmargin\string\leftmargini^^J%
          \@ind\@ind\string\topsep \the\topsep^^J%
          \@ind\@ind\string\parsep \the\parsep^^J%
          \@ind\@ind\string\itemsep \string\parsep^^J%
        \@ind}\@percentchar^^J%
        \@ind\string\belowdisplayskip\string\abovedisplayskip^^J%
      }%
    }%
  \endgroup
  \begingroup\footnotesize\@listi
    \immediate\write\@fontfile{%
      \string\def\string\footnotesize{\@percentchar^^J%
        \@ind\string\@setfontsize\string\footnotesize{\f@size}{\f@baselineskip}%
        \@percentchar^^J%
        \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
        \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
        \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
        \@ind\string\def\string\@listi{\@percentchar^^J%
          \@ind\@ind\string\leftmargin\string\leftmargini^^J%
          \@ind\@ind\string\topsep \the\topsep^^J%
          \@ind\@ind\string\parsep \the\parsep^^J%
          \@ind\@ind\string\itemsep \string\parsep^^J%
        \@ind}\@percentchar^^J%
        \@ind\string\belowdisplayskip\string\abovedisplayskip^^J%
      }%
    }%
  \endgroup
  \begingroup\scriptsize
    \immediate\write\@fontfile{%
      \string\def\string\scriptsize{%
        \string\@setfontsize\string\scriptsize{\f@size}{\f@baselineskip}%
      }%
    }%
  \endgroup
  \begingroup\tiny
    \immediate\write\@fontfile{%
      \string\def\string\tiny{%
        \string\@setfontsize\string\tiny{\f@size}{\f@baselineskip}%
      }%
    }%
  \endgroup
  \begingroup\large
    \immediate\write\@fontfile{%
      \string\def\string\large{%
        \string\@setfontsize\string\large{\f@size}{\f@baselineskip}%
      }%
    }%
  \endgroup
  \begingroup\Large
    \immediate\write\@fontfile{%
      \string\def\string\Large{%
        \string\@setfontsize\string\Large{\f@size}{\f@baselineskip}%
      }%
    }%
  \endgroup
  \begingroup\LARGE
    \immediate\write\@fontfile{%
      \string\def\string\LARGE{%
        \string\@setfontsize\string\LARGE{\f@size}{\f@baselineskip}%
      }%
    }%
  \endgroup
  \begingroup\huge
    \immediate\write\@fontfile{%
      \string\def\string\huge{%
        \string\@setfontsize\string\huge{\f@size}{\f@baselineskip}%
      }%
    }%
  \endgroup
  \begingroup\Huge
    \immediate\write\@fontfile{%
      \string\def\string\Huge{%
        \string\@setfontsize\string\Huge{\f@size}{\f@baselineskip}%
      }%
    }%
  \endgroup
  \immediate\write\@fontfile{\string\normalsize}%
  \immediate\write\@fontfile{%
    \string\setlength{\string\footnotesep}{\the\footnotesep}^^J%
    \string\setlength{\string\skip\string\footins}{\the\skip\footins}^^J%
    \string\setlength{\string\floatsep}{\the\floatsep}^^J%
    \string\setlength{\string\textfloatsep}{\the\textfloatsep}^^J%
    \string\setlength{\string\intextsep}{\the\intextsep}^^J%
    \string\setlength{\string\dblfloatsep}{\the\dblfloatsep}^^J%
    \string\setlength{\string\dbltextfloatsep}{\the\dbltextfloatsep}^^J%
    \string\setlength{\string\@fptop}{\the\@fptop}^^J%
    \string\setlength{\string\@fpsep}{\the\@fpsep}^^J%
    \string\setlength{\string\@fpbot}{\the\@fpbot}^^J%
    \string\setlength{\string\@dblfptop}{\the\@dblfptop}^^J%
    \string\setlength{\string\@dblfpsep}{\the\@dblfpsep}^^J%
    \string\setlength{\string\@dblfpbot}{\the\@dblfpbot}^^J%
    \string\setlength{\string\partopsep}{\the\partopsep}%
  }%
  \begingroup
    \@listi
    \immediate\write\@fontfile{%
      \string\def\string\@listi{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmargini^^J%
        \@ind\string\topsep \the\topsep^^J%
        \@ind\string\parsep \the\parsep^^J%
        \@ind\string\itemsep \string\parsep^^J%
      }%
    }%
  \endgroup
  \immediate\write\@fontfile{%
    \string\let\string\@listI\string\@listi
  }%
  \begingroup
    \@listii
    \immediate\write\@fontfile{%
      \string\def\string\@listii{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginii^^J%
        \@ind\string\labelwidth\string\leftmarginii^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
        \@ind\string\topsep \the\topsep^^J%
        \@ind\string\parsep \the\parsep^^J%
        \@ind\string\itemsep \string\parsep^^J%
      }%
    }%
  \endgroup
  \begingroup
    \@listiii
    \immediate\write\@fontfile{%
      \string\def\string\@listiii{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginiii^^J%
        \@ind\string\labelwidth\string\leftmarginiii^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
        \@ind\string\topsep \the\topsep^^J%
        \@ind\string\parsep \the\parsep^^J%
        \@ind\string\partopsep \the\partopsep^^J%
       \@ind\string\itemsep \string\topsep^^J%
      }%
    }%
  \endgroup
  \begingroup
    \@listiv
    \immediate\write\@fontfile{%
      \string\def\string\@listiv{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginiv^^J%
        \@ind\string\labelwidth\string\leftmarginiv^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
      }%
    }%
  \endgroup
  \begingroup
    \@listv
    \immediate\write\@fontfile{%
      \string\def\string\@listv{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginv^^J%
        \@ind\string\labelwidth\string\leftmarginv^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
      }%
    }%
  \endgroup
  \begingroup
    \@listvi
    \immediate\write\@fontfile{%
      \string\def\string\@listvi{\@percentchar^^J%
        \@ind\string\leftmargin\string\leftmarginvi^^J%
        \@ind\string\labelwidth\string\leftmarginvi^^J%
        \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
      }%
    }%
  \endgroup
  \immediate\write\@fontfile{%
    \string\setlength{\string\smallskipamount}{\the\smallskipamount}^^J%
    \string\setlength{\string\medskipamount}{\the\medskipamount}^^J%
    \string\setlength{\string\bigskipamount}{\the\bigskipamount}%
  }%
  \immediate\write\@fontfile{%
    \string\@ifundefined{TUDClassName@KOMA}{}{\@percentchar^^J%
      \@ind\string\AfterClass+{\string\TUDClassName@KOMA}{\@percentchar^^J%
        \@ind\@ind\string\setlength{\string\abovecaptionskip}%
          {\the\abovecaptionskip}^^J%
        \@ind\@ind\string\setlength{\string\belowcaptionskip}%
          {\the\belowcaptionskip}^^J%
      \@ind}\@percentchar^^J%
    }%
  }%
  \immediate\write\@fontfile{%
    \string\@ifundefined{@list@extra}{}{\@percentchar^^J%
      \@ind\string\l@addto@macro{\string\@listi}{\string\@list@extra}%
      \@percentchar^^J%
      \@ind\string\let\string\@listI=\string\@listi^^J%
      \@ind\string\l@addto@macro{\string\@listii}{\string\@list@extra}%
      \@percentchar^^J%
      \@ind\string\l@addto@macro{\string\@listiii}{\string\@list@extra}%
      \@percentchar^^J%
      \@ind\string\l@addto@macro{\string\footnotesize}{\string\protect
        \string\add@extra@listi{ftns}}\@percentchar^^J%
      \@ind\string\l@addto@macro{\string\small}{\string\protect
        \string\add@extra@listi{sml}}\@percentchar^^J%
    }^^J%
    \string\@listi^^J%
    \string\endinput^^J%
    \@percentchar^^J%
    \@percentchar\space End of file `#1#2.clo'.%
  }
  \immediate\closeout\@fontfile
}
\let\generate@fontfile\tud@generate@fontfile
%    \end{macrocode}
% \end{macro}^^A \tud@generate@fontfile
% \end{macro}^^A \generate@fontfile
%
% \iffalse
%</package&body>
%</fontsizes>
% \fi
%
% \Finale
%
\endinput
