% \CheckSum{1457}
% \iffalse meta-comment
%
%  TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
%  Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2020
%
% ----------------------------------------------------------------------------
%
%  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 verändert werden. Die aktuelle
%  Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
%  Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01
%  oder später 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-comp.dtx
%<*dtx>
% \fi
%
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-comp.dtx}[2020/09/29 v2.06j TUD-Script\space%
%
% \iffalse
%</dtx>
%<*package&identify>
%<comp&base>\ProvidesPackage{tudscrcomp}[%
%<comp&book>\ProvidesPackage{tudscrcomp-book}[%
%<comp&poster>\ProvidesPackage{tudscrcomp-poster}[%
%<fixfonts>\ProvidesPackage{fix-tudscrfonts}[%
%!TUD@Version
%<comp>  package
%<fixfonts>  package for font fixes
%</package&identify>
%<*dtx|package&identify>
% \fi
  (compatibility for old tud(scr) classes)%
]
% \iffalse
%</dtx|package&identify>
%<*dtx>
\documentclass[english,ngerman,xindy]{tudscrdoc}
\iftutex
  \usepackage{fontspec}
\else
  \usepackage[T1]{fontenc}
  \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
\fi
\usepackage{babel}
\usepackage{tudscrfonts}
\KOMAoptions{parskip=half-}
\usepackage{bookmark}
\usepackage[babel]{microtype}

\CodelineIndex
\RecordChanges
\GetFileInfo{tudscr-comp.dtx}
\title{\file{\filename}}
\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}}
\date{\fileversion\nobreakspace(\filedate)}

\begin{document}
  \maketitle
  \tableofcontents
  \DocInput{\filename}
\end{document}
%</dtx>
% \fi
%
% \selectlanguage{ngerman}
%
% \changes{v2.02}{2014/09/30}{\pkg{tudscrfonts}: Nutzung alter TUD-Klassen 
%   mit neuen Schriftfamilien ermöglicht}^^A
% \changes{v2.04}{2015/04/22}{\pkg{tudscrfonts}: Unterstützung veralteter 
%   Posterklassen}^^A
%
% \section{Kompatibilität zu früheren \TUDScript-Versionen}
%
% Mit der Version v2.02 wurde eine Menge~-- teilweise sehr tiefgreifend~-- an 
% der Benutzerschnittstelle in \TUDScript geändert. Dabei wird versucht, die
% Kompatibilität zu früheren Versionen so weit es geht aufrecht zu erhalten und
% veraltete Optionen und Befehle zumindest weiter bereitzustellen, wobei bei
% der Verwendung dieser der Anwender darüber informiert wird. Die Vorkehrungen 
% betreffen sowohl die Klassen selber als auch die zusätzlich bereitgestellten 
% Pakete.
%
% \StopEventually{\PrintIndex\PrintChanges\PrintToDos}
%
% \iffalse
%<*class|package&fonts>
%<*option>
% \fi
%
% \begin{macro}{\TUD@deprecated@key}
% \changes{v2.03}{2015/02/05}{neu}^^A
% \begin{macro}{\TUD@deprecated@cs}
% \changes{v2.03}{2015/02/05}{neu}^^A
% \begin{macro}{\TUD@deprecated@@cs}
% \changes{v2.06}{2018/08/07}{neu}^^A
% \begin{macro}{\TUD@deprecated@lengthcs}
% \changes{v2.05}{2016/06/20}{neu}^^A
% Um alte Optionen und Befehle dem Anwender bei der Verwendung kenntlich zu 
% machen, werden entsprechende Warnungen definiert. Für Optionen wird dabei
% lediglich die empfohlene Option ausgegeben. Das Ausführen dieser wird später
% definiert.
%    \begin{macrocode}
\newcommand*\TUD@deprecated@key[2]{%
%<*class>
  \ClassWarning{\TUD@Class@Name}%
%</class>
%<*package&fonts>
  \PackageWarning{tudscrfonts}%
%</package&fonts>
  {%
    The key `#1' is deprecated. It's\MessageBreak%
    recommended to use `#2'\MessageBreak%
    instead%
  }%
  \TUDoptions{#2}%
}
%    \end{macrocode}
% Bei alten Befehlen wird nach der Warnung die Definition des neuen Befehls auf 
% den alten überschrieben.
%    \begin{macrocode}
\newcommand*\TUD@deprecated@cs[2]{%
  \begingroup%
    \edef\tud@res@a{%
      \endgroup%
      \noexpand\AfterEndPreamble{%
        \noexpand\TUD@deprecated@@cs{#1}{#2}%
      }%
    }%
  \tud@res@a%
}
\newcommand*\TUD@deprecated@@cs[2]{%
  \ifcsundef{#1}{%
    \begingroup%
      \def\tud@res@a{%
        The command `\@backslashchar#1' is deprecated. \MessageBreak%
      }%
      \def\tud@res@b##1@##2\@nil{%
        \IfArgIsEmpty{##2}{%
          \appto\tud@res@a{%
            You should use `\@backslashchar#2' instead%
          }%
        }{%
          \appto\tud@res@a{%
            You should not use this command. It is substituted\MessageBreak%
            with `\@backslashchar#2' internally%
          }%
        }%
      }%
      \tud@res@b#2@\@nil%
      \edef\tud@res@c{%
        \endgroup%
        \noexpand\newrobustcmd\csname #1\endcsname{%
%<*class>
          \noexpand\ClassWarning{\noexpand\TUD@Class@Name}%
%</class>
%<*package&fonts>
          \noexpand\PackageWarning{tudscrfonts}%
%</package&fonts>
          {\tud@res@a}%
          \noexpand\csletcs{#1}{#2}%
          \noexpand\csuse{#2}%
        }%
      }%
    \tud@res@c%
  }{}%
}
%<*class>
\newcommand*\TUD@deprecated@lengthcs[2][]{%
  \ifdim\csuse{#2}<\maxdimen\relax%
    \ClassWarning{\TUD@Class@Name}{%
      Using the length `\@backslashchar#2' is deprecated. \MessageBreak%
      You should use option `#2' instead%
    }%
    \csxdef{tud@dim@#2}{\the\csuse{#2}}%
    \expandafter\setlength\csname #2\endcsname{\maxdimen}%
    \global\csuse{#2}=\csuse{#2}%
    #1%
  \fi%
}
%</class>
%    \end{macrocode}
% \end{macro}^^A \TUD@deprecated@lengthcs
% \end{macro}^^A \TUD@deprecated@@cs
% \end{macro}^^A \TUD@deprecated@cs
% \end{macro}^^A \TUD@deprecated@key
%
% \begin{option}{tudscrver}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \begin{macro}{\tud@v@comp}
% \changes{v2.02}{2014/08/22}{neu}^^A
% In einigen Fällen sind Änderungen mit früheren Versionen nicht kompatibel 
% oder unerwünscht, weil diese beispielsweise das Ausgabeergebnis verändern.
% Standardmäßig werden die Klassen in der aktuellen Version geladen. Mit 
% \opt{tudscrver}|=|\val{\meta{Version}} kann auf das Verhalten einer früheren
% Version geschaltet werden. Die eingestellte Kompatibilität wird als Zahl in 
% \cs{tud@v@comp} gespeichert. In den Makros \cs{tud@v@\meta{Version}} werden
% die zugehörigen Nummern gespeichert.
%    \begin{macrocode}
\newcommand*\tud@v@comp{\tud@v@last}
%    \end{macrocode}
% Damit dieser Schlüssel gezielt als erstes bei der Abarbeitung der Optionen
% aufgerufen werden kann, wird diesem ein spezielles Mitglied zugeteilt.
%    \begin{macrocode}
\TUD@key[.comp]{tudscrver}[last]{%
  \tud@v@get\@tempa{#1}%
  \ifcsundef{tud@v@\@tempa}{%
%<*class>
    \ClassWarningNoLine{\TUD@Class@Name}%
%</class>
%<*package&fonts>
    \PackageWarningNoLine{tudscrfonts}%
%</package&fonts>
    {%
      You have set option `tudscrver' to `\@tempa', but\MessageBreak%
      this value is not supported. Because of this,\MessageBreak%
      `tudscrver=first' was set%
    }%
    \renewcommand*\tud@v@comp{0}%
  }{%
%<*class>
    \ClassInfoNoLine{\TUD@Class@Name}%
%</class>
%<*package&fonts>
    \PackageInfoNoLine{tudscrfonts}%
%</package&fonts>
    {%
      Switching compatibility level to `v\@tempa'%
    }%
    \edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
  }%
  \FamilyKeyStateProcessed%
}
%    \end{macrocode}
% Da die Schlüssel global für \emph{jedes} Mitglied ausgewertet werden, muss 
% auch ein Schlüssel für das Standardmitglied definiert werden, der einfach 
% nichts macht.
%    \begin{macrocode}
\TUD@key{tudscrver}{\FamilyKeyStateProcessed}%
%    \end{macrocode}
% Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim
% Laden der Klasse bzw. des Paketes gesetzt werden, danach nicht mehr.
%    \begin{macrocode}
%<*class>
\AtEndOfClass%
%</class>
%<*package>
\AtEndOfPackage%
%</package>
{%
  \RelaxFamilyKey[.comp]{TUD}{tudscrver}%
  \TUD@key@toolate{tudscrver}%
%    \end{macrocode}
% Außerdem wird darauf geachtet, dass die mindestens benötigte Version von
% \KOMAScript{} installiert ist. (\cs{\TUD@Version@KOMA}: \TUD@Version@KOMA). 
% Sollte dies nicht der Fall sein, wird ein Fehler erzeugt.
%    \begin{macrocode}
%<*class>
  \ifcsdef{scr@v@\TUD@Version@KOMA}{%
    \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax%
      \ClassError{\TUD@Class@Name}{%
        KOMA-Script compatibility level too low%
      }{%
        \TUD@Version\space must be used at least with\MessageBreak%
        `version=3.12' KOMA-Script compatibility option.%
      }%
    \fi%
  }{%
    \ClassError{\TUD@Class@Name}{%
      KOMA-Script v\TUD@Version@KOMA is required%
    }{%
      \TUD@Version\space must at least be used with\MessageBreak%
      KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion was found.%
    }%
  }%
%</class>
}
%    \end{macrocode}
% \end{macro}^^A \tud@v@comp
% \end{option}^^A tudscrver
% \ToDo{Für jede neue Version der entsprechende Befehl}[Release]
% \begin{macro}{\tud@v@first}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \begin{macro}{\tud@v@2.00}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \begin{macro}{\tud@v@2.01}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \begin{macro}{\tud@v@2.01a}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \begin{macro}{\tud@v@2.01b}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \begin{macro}{\tud@v@2.02}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \begin{macro}{\tud@v@2.03}
% \changes{v2.03}{2015/01/13}{neu}^^A
% \begin{macro}{\tud@v@2.03a}
% \changes{v2.03a}{2015/06/12}{neu}^^A
% \begin{macro}{\tud@v@2.04}
% \changes{v2.04}{2015/02/18}{neu}^^A
% \begin{macro}{\tud@v@2.04a}
% \changes{v2.04a}{2015/07/24}{neu}^^A
% \begin{macro}{\tud@v@2.04b}
% \changes{v2.04b}{2015/10/06}{neu}^^A
% \begin{macro}{\tud@v@2.04c}
% \changes{v2.04c}{2015/11/29}{neu}^^A
% \begin{macro}{\tud@v@2.04d}
% \changes{v2.04d}{2016/03/26}{neu}^^A
% \begin{macro}{\tud@v@2.04e}
% \changes{v2.04e}{2016/06/17}{neu}^^A
% \begin{macro}{\tud@v@2.05}
% \changes{v2.05}{2015/07/03}{neu}^^A
% \begin{macro}{\tud@v@2.05a}
% \changes{v2.05a}{2015/08/24}{neu}^^A
% \begin{macro}{\tud@v@2.05b}
% \changes{v2.05b}{2015/09/09}{neu}^^A
% \begin{macro}{\tud@v@2.05c}
% \changes{v2.05c}{2015/09/15}{neu}^^A
% \begin{macro}{\tud@v@2.05d}
% \changes{v2.05d}{2015/09/21}{neu}^^A
% \begin{macro}{\tud@v@2.05e}
% \changes{v2.05e}{2016/10/10}{neu}^^A
% \begin{macro}{\tud@v@2.05f}
% \changes{v2.05f}{2016/10/12}{neu}^^A
% \begin{macro}{\tud@v@2.05g}
% \changes{v2.05g}{2017/01/26}{neu}^^A
% \begin{macro}{\tud@v@2.05h}
% \changes{v2.05h}{2017/02/04}{neu}^^A
% \begin{macro}{\tud@v@2.05i}
% \changes{v2.05i}{2017/02/17}{neu}^^A
% \begin{macro}{\tud@v@2.05k}
% \changes{v2.05k}{2017/03/27}{neu}^^A
% \begin{macro}{\tud@v@2.05l}
% \changes{v2.05l}{2017/03/29}{neu}^^A
% \begin{macro}{\tud@v@2.05m}
% \changes{v2.05m}{2017/05/30}{neu}^^A
% \begin{macro}{\tud@v@2.06}
% \changes{v2.06}{2018/06/26}{neu}^^A
% \begin{macro}{\tud@v@2.06a}
% \changes{v2.06a}{2019/07/09}{neu}^^A
% \begin{macro}{\tud@v@2.06b}
% \changes{v2.06b}{2019/07/17}{neu}^^A
% \begin{macro}{\tud@v@2.06c}
% \changes{v2.06c}{2019/08/20}{neu}^^A
% \begin{macro}{\tud@v@2.06d}
% \changes{v2.06d}{2019/08/27}{neu}^^A
% \begin{macro}{\tud@v@2.06e}
% \changes{v2.06e}{2019/10/23}{neu}^^A
% \begin{macro}{\tud@v@2.06f}
% \changes{v2.06f}{2020/01/14}{neu}^^A
% \begin{macro}{\tud@v@2.06g}
% \changes{v2.06g}{2020/06/18}{neu}^^A
% \begin{macro}{\tud@v@2.06h}
% \changes{v2.06h}{2020/06/25}{neu}^^A
% \begin{macro}{\tud@v@2.06i}
% \changes{v2.06i}{2020/07/27}{neu}^^A
% \begin{macro}{\tud@v@2.06j}
% \changes{v2.06j}{2020/09/29}{neu}^^A
% \begin{macro}{\tud@v@last}
% \changes{v2.02}{2014/08/22}{neu}^^A
% \changes{v2.03}{2015/01/13}{angepasst}^^A
% \changes{v2.04}{2015/02/18}{angepasst}^^A
% \changes{v2.05}{2015/07/03}{angepasst}^^A
% \changes{v2.06}{2018/06/26}{angepasst}^^A
% Die numerischen Werte zu den einzelnen Versionen.
%    \begin{macrocode}
\csdef{tud@v@first}{0}
\csdef{tud@v@2.00}{0}
\csdef{tud@v@2.01}{0}
\csdef{tud@v@2.01a}{0}
\csdef{tud@v@2.01b}{0}
\csdef{tud@v@2.02}{0}
\csdef{tud@v@2.03}{1}
\csdef{tud@v@2.03a}{1}
\csdef{tud@v@2.04}{2}
\csdef{tud@v@2.04a}{2}
\csdef{tud@v@2.04b}{2}
\csdef{tud@v@2.04c}{2}
\csdef{tud@v@2.04d}{2}
\csdef{tud@v@2.04e}{2}
\csdef{tud@v@2.05}{3}
\csdef{tud@v@2.05a}{3}
\csdef{tud@v@2.05b}{3}
\csdef{tud@v@2.05c}{3}
\csdef{tud@v@2.05d}{3}
\csdef{tud@v@2.05e}{3}
\csdef{tud@v@2.05f}{3}
\csdef{tud@v@2.05g}{3}
\csdef{tud@v@2.05h}{3}
\csdef{tud@v@2.05i}{3}
\csdef{tud@v@2.05k}{3}
\csdef{tud@v@2.05l}{3}
\csdef{tud@v@2.05m}{3}
\csdef{tud@v@2.06}{4}
\csdef{tud@v@2.06a}{4}
\csdef{tud@v@2.06b}{4}
\csdef{tud@v@2.06c}{4}
\csdef{tud@v@2.06d}{4}
\csdef{tud@v@2.06e}{4}
\csdef{tud@v@2.06f}{4}
\csdef{tud@v@2.06g}{4}
\csdef{tud@v@2.06h}{4}
\csdef{tud@v@2.06i}{4}
\csdef{tud@v@2.06j}{4}
\csdef{tud@v@last}{4}
%    \end{macrocode}
% \end{macro}^^A \tud@v@last
% \end{macro}^^A \tud@v@2.06j
% \end{macro}^^A \tud@v@2.06i
% \end{macro}^^A \tud@v@2.06h
% \end{macro}^^A \tud@v@2.06g
% \end{macro}^^A \tud@v@2.06f
% \end{macro}^^A \tud@v@2.06e
% \end{macro}^^A \tud@v@2.06d
% \end{macro}^^A \tud@v@2.06c
% \end{macro}^^A \tud@v@2.06b
% \end{macro}^^A \tud@v@2.06a
% \end{macro}^^A \tud@v@2.06
% \end{macro}^^A \tud@v@2.05m
% \end{macro}^^A \tud@v@2.05l
% \end{macro}^^A \tud@v@2.05k
% \end{macro}^^A \tud@v@2.05i
% \end{macro}^^A \tud@v@2.05h
% \end{macro}^^A \tud@v@2.05g
% \end{macro}^^A \tud@v@2.05f
% \end{macro}^^A \tud@v@2.05e
% \end{macro}^^A \tud@v@2.05d
% \end{macro}^^A \tud@v@2.05c
% \end{macro}^^A \tud@v@2.05b
% \end{macro}^^A \tud@v@2.05a
% \end{macro}^^A \tud@v@2.05
% \end{macro}^^A \tud@v@2.04e
% \end{macro}^^A \tud@v@2.04d
% \end{macro}^^A \tud@v@2.04c
% \end{macro}^^A \tud@v@2.04b
% \end{macro}^^A \tud@v@2.04a
% \end{macro}^^A \tud@v@2.04
% \end{macro}^^A \tud@v@2.03a
% \end{macro}^^A \tud@v@2.03
% \end{macro}^^A \tud@v@2.02
% \end{macro}^^A \tud@v@2.01b
% \end{macro}^^A \tud@v@2.01a
% \end{macro}^^A \tud@v@2.01
% \end{macro}^^A \tud@v@2.00
% \end{macro}^^A \tud@v@first
% \begin{macro}{\tud@v@get}
% \changes{v2.05}{2016/05/31}{neu}^^A
% Mit \cs{tud@v@get} wird die angegebene Versionsnummer in eine Normalform 
% gebracht und an das Makro im ersten Argument übergeben. Damit spielt es keine 
% Rolle, ob die im zweiten Argument übergebene Versionsnummer mit oder ohne 
% führendes \enquote*{\texttt{v}} angegeben wird.
%    \begin{macrocode}
\newcommand*\tud@v@get[2]{%
  \begingroup%
    \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
    \def\@tempb v##1\@nil{\def\@tempc{##1}}%
    \@tempa #2\@nil%
    \edef\tud@reserved{%
      \endgroup%
      \etex@unexpanded{\def#1}{\@tempc}%
    }%
  \tud@reserved%
}
%    \end{macrocode}
% \end{macro}^^A \tud@v@get
% \begin{macro}{\tud@if@v@lower}
% \changes{v2.03}{2015/01/13}{neu}^^A
% Mit diesem Befehl können abhängig von der gegebenen Kompatibilitätsversion in 
% den Klassen unterschiedliche Einstellungen vorgenommen werden.
%    \begin{macrocode}
\newcommand*\tud@if@v@lower[1]{%
  \begingroup%
    \tud@v@get\@tempa{#1}%
    \ifcsdef{tud@v@\@tempa}{%
      \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax%
        \def\tud@reserved{\endgroup\@firstoftwo}%
      \else%
        \def\tud@reserved{\endgroup\@secondoftwo}%
      \fi%
    }{%
      \def\tud@reserved{%
%<*class>
        \ClassWarningNoLine{\TUD@Class@Name}%
%</class>
%<*package&fonts>
        \PackageWarningNoLine{tudscrfonts}%
%</package&fonts>
        {%
          Erroneous usage of `\string\tud@if@v@lower'. \MessageBreak%
          There's no defined macro `\string\tud@v@\@tempa'%
        }%
        \endgroup\@firstoftwo%
      }%
    }%
  \tud@reserved%
}
%    \end{macrocode}
% \end{macro}^^A \tud@if@v@lower
%
% \subsection{Veraltete Optionen}
%
% \begin{option}{cdfonts}
% \begin{option}{tudfonts}
% Diese Optionen werden nur aus Gründen der Kompatibilität zu v1.0 definiert.
%    \begin{macrocode}
\TUD@key{cdfonts}[true]{%
  \TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}%
  \fi%
}
\TUD@key{tudfonts}[true]{%
  \TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A tudfonts
% \end{option}^^A cdfonts
% \begin{option}{heavyfont}
% Hiermit lässt sich die Schriftstärke im Dokument beeinflussen.
%    \begin{macrocode}
\TUD@key{heavyfont}[true]{%
  \TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{heavyfont}{cdfont=heavy}%
    \else%
      \TUD@deprecated@key{heavyfont=#1}{cdfont=true}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A heavyfont
% \begin{option}{sansmath}
% \begin{option}{serifmath}
% Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz
% für das gesamte Dokument umgestellt werden. Die \cls{tudbook}-Klasse hat 
% neben der Option \opt{sansmath} außerdem den zusätzlichen Schlüssel
% \opt{serifmath} definiert, welcher aus Gründen der Kompatibilität hier
% ebenfalls vorgehalten wird.
%    \begin{macrocode}
\TUD@key{sansmath}[true]{%
  \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{sansmath}{cdmath=true}%
    \else%
      \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
    \fi%
  \fi%
}
\TUD@key{serifmath}[true]{%
  \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{serifmath}{cdmath=false}%
    \else%
      \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A serifmath
% \end{option}^^A sansmath
% \begin{option}{din}
% \begin{option}{nodin}
% \begin{option}{noDIN}
% \changes{v2.04}{2015/04/22}{neu}^^A
% Diese Optionen dienten zur Auswahl, ob die Schrift \DIN für die Überschriften
% verwendet werden soll.
%    \begin{macrocode}
\TUD@key{din}[true]{%
  \TUD@set@ifkey{din}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{din}{cdoldfont=din}%
    \else%
      \TUD@deprecated@key{din=#1}{cdoldfont=nodin}%
    \fi%
  \fi%
}
\TUD@key{nodin}[true]{%
  \TUD@set@ifkey{nodin}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{nodin}{cdoldfont=nodin}%
    \else%
      \TUD@deprecated@key{nodin=#1}{cdoldfont=din}%
    \fi%
  \fi%
}
\TUD@key{noDIN}[true]{%
  \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{noDIN}{cdoldfont=nodin}%
    \else%
      \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A noDIN
% \end{option}^^A nodin
% \end{option}^^A din
%
% \iffalse
%<*class>
% \fi
%
% \begin{option}{geometry}
% \changes{v2.02}{2014/07/08}{neu}^^A
% Umbenennung der zu allgemein bezeichneten Option, um zukünftig potenziellen 
% Konflikten mit \KOMAScript{} aus dem Weg zu gehen.
%    \begin{macrocode}
\TUD@key{geometry}[true]{\TUD@deprecated@key{geometry=#1}{cdgeometry=#1}}
%    \end{macrocode}
% \end{option}^^A geometry
% \begin{option}{barfont}
% \changes{v2.02}{2014/07/08}{neu}^^A
% Mit dieser Option kann die Schrift des \CDs und deren Schriftstärke in der
% TUD-Kopfzeile unabhängig von der gewählten Schriftart für den Fließtext 
% aktiviert werden.
%    \begin{macrocode}
\TUD@key{barfont}[true]{%
  \TUD@set@numkey{barfont}{@tempa}{%
    \TUD@bool@numkey,%
    {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
    {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
    {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
    {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \TUD@deprecated@key{barfont=#1}{cdhead=false}%
    \or% true
      \TUD@deprecated@key{barfont=#1}{cdhead=true}%
    \or% heavy
      \TUD@deprecated@key{barfont=#1}{cdhead=heavy}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A barfont
% \begin{option}{widehead}
% Der Schalter dient zur Steuerung der Breite des Querbalkens im Kopf der
% \env{tudpage}-Seite. Entweder der Querbalken liegt im Satzspiegel oder
% aber über die komplette Papierbreite.
%    \begin{macrocode}
\TUD@key{widehead}[true]{%
  \TUD@set@ifkey{widehead}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{widehead}{cdhead=paperwidth}%
    \else%
      \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A widehead
% \begin{option}{tudfoot}
% Diese Option wird nur aus Gründen der Kompatibilität zu v1.0 definiert.
%    \begin{macrocode}
\TUD@key{tudfoot}[true]{%
  \TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{tudfoot}{cdfoot=true}%
    \else%
      \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A tudfoot
% \begin{option}{color}
% \begin{option}{colour}
% Die alte \cls{tudbook}-Klasse hat die Option \opt{color} definiert, mit
% welcher ein Umschalten auf farbige Titel- und Kapitelseiten möglich ist. Aus
% Kompatibilitätsgründen wird diese hier ebenfalls vorgehalten.
%    \begin{macrocode}
\TUD@key{color}[true]{%
  \TUD@set@numkey{color}{@tempa}{%
    \TUD@bool@numkey,%
    {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},%
    {color}{1},{colour}{1},%
    {lite}{2},{light}{2},{pale}{2},%
    {colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
    {colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},%
    {colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},%
    {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
    {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
    {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% false
      \TUD@deprecated@key{color=#1}{cd=true}%
    \or% true
      \TUD@deprecated@key{color=#1}{cd=color}%
    \or% litecolor
      \TUD@deprecated@key{color=#1}{cd=pale}%
    \or% bicolor
      \TUD@deprecated@key{color=#1}{cd=bicolor}%
    \or% full
      \TUD@deprecated@key{color=#1}{cd=fullcolor}%
    \fi%
  \fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
%    \end{macrocode}
% \end{option}^^A colour
% \end{option}^^A color
% \begin{option}{clearcolor}
% \changes{v2.06}{2018/08/21}{in \opt{cleardoublespecialpage} integriert}^^A
% \begin{option}{clearcolour}
% Die Option wurde in Option \opt{cleardoublespecialpage} integriert.
%    \begin{macrocode}
%<*book|report>
\TUD@key{clearcolor}[true]{%
  \TUD@set@ifkey{clearcolor}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUD@deprecated@key{clearcolor}{cleardoublespecialpage=color}%
    \else%
      \TUD@deprecated@key{clearcolor=#1}{cleardoublespecialpage=nocolor}%
    \fi%
  \fi%
}
\TUD@key{clearcolour}[true]{\TUDoptions{clearcolor=#1}}
%</book|report>
%    \end{macrocode}
% \end{option}^^A clearcolour
% \end{option}^^A clearcolor
%
% \iffalse
%</class>
% \fi
%
% \begin{option}{fontspec}
% \changes{v2.02}{2014/08/29}{neu}^^A
% \changes{v2.05}{2015/07/06}{veraltet}^^A
% \begin{macro}{\if@tud@x@fontspec@requested}
% Früher musste die Unterstützung für die Schriftauswahl via \pkg{fontspec} 
% manuell über die folgende Option aktiviert werden.
%    \begin{macrocode}
\newif\if@tud@x@fontspec@requested
\TUD@key{fontspec}[true]{%
  \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
%<*class>
    \ClassWarningNoLine{\TUD@Class@Name}%
%</class>
%<*package&fonts>
    \PackageWarningNoLine{tudscrfonts}%
%</package&fonts>
    {%
      The key `fontspec' is deprecated. \MessageBreak%
      You should load the package `fontspec' manually%
    }%
  \fi%
}
%    \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 dzw. des Paketes zugelassen.
%    \begin{macrocode}
%<*class>
\AtEndOfClass%
%</class>
%<*package&fonts>
\AtEndOfPackage%
%</package&fonts>
{%
  \TUD@key@toolate{fontspec}%
  \if@tud@x@fontspec@requested%
    \RequirePackage{fontspec}[2017/01/24]%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@x@fontspec@requested
% \end{option}^^A fontspec
%
% \iffalse
%</option>
%</class|package&fonts>
%<*body>
%<*class>
% \fi
%
% \subsection{Veraltete Befehle und Längen}
%
% \begin{length}{\footlogoheight}
% \changes{v2.03}{2015/01/27}{neu}^^A
% Um die Höhe von Logos im Fußbereich der \pgs{tudheadings}-Seitenstile 
% einheitlich festzulegen, gab es bis einschließlich der Version~v2.04 die 
% Länge \cs{footlogoheight} anstelle der Option \opt{footlogoheight}. Sollte 
% der Anwender diese anpassen, wird \cs{tud@dim@footlogoheight} auf diesen Wert 
% gesetzt und eine Warnung erzeugt.
%    \begin{macrocode}
\newlength\footlogoheight
\setlength\footlogoheight{\maxdimen}
%    \end{macrocode}
% \end{length}^^A \footlogoheight
% \begin{length}{\pageheadingsvskip}
% \changes{v2.02}{2014/06/23}{neu}^^A
% \begin{length}{\headingsvskip}
% \changes{v2.02}{2014/06/23}{neu}^^A
% Mit diesen Längen konnte der Anwender vor der Version~v2.05 die Überschriften 
% von Titel, Teilen und Kapiteln vertikal verschieben. Diese Funktionalität 
% wird seitdem mit den Optionen \opt{headingsvskip} und \opt{pageheadingsvskip} 
% abgedeckt.
%    \begin{macrocode}
%<*book|report|article>
\newlength\pageheadingsvskip
\setlength\pageheadingsvskip{\maxdimen}
\newlength\headingsvskip
\setlength\headingsvskip{\maxdimen}
%</book|report|article>
%    \end{macrocode}
% \end{length}^^A \headingsvskip
% \end{length}^^A \pageheadingsvskip
% \begin{length}{\chapterheadingvskip}
% Die Länge \cs{chapterheadingvskip} wird aus Gründen der Kompatibilität zu
% älteren Versionen definiert.
%    \begin{macrocode}
%<*book|report>
\newcommand*\chapterheadingvskip{}
\let\chapterheadingvskip\headingsvskip
%</book|report>
%    \end{macrocode}
% \end{length}^^A \chapterheadingvskip
% \begin{macro}{\professorship}
% Für die Angabe des Lehrstuhls bzw. der Professur mit kann anstelle von 
% \cs{chair} als Aliasbefehl auch \cs{professorship} genutzt werden.
%    \begin{macrocode}
\TUD@deprecated@cs{professorship}{chair}
%    \end{macrocode}
% \end{macro}^^A \professorship
%
% \iffalse
%<*book|report|article>
% \fi
%
% \begin{macro}{\studentid}
% \begin{macro}{\matriculationid}
% Zur Angabe von Matrikelnummer kann auch \cs{studentid} oder
% \cs{matriculationnumber} genutzt werden.
%    \begin{macrocode}
\TUD@deprecated@cs{studentid}{matriculationnumber}
\TUD@deprecated@cs{matriculationid}{matriculationnumber}
%    \end{macrocode}
% \end{macro}^^A \matriculationid
% \end{macro}^^A \studentid
% \begin{macro}{\enrolmentyear}
% Das Immatrikulationsjahr kann auch mit \cs{enrolmentyear} angegeben werden.
%    \begin{macrocode}
\TUD@deprecated@cs{enrolmentyear}{matriculationyear}
%    \end{macrocode}
% \end{macro}^^A \enrolmentyear
% \begin{macro}{\birthplace}
% Zur Angabe des Geburtsortes kann auch \cs{birthplace} verwendet werden.
%    \begin{macrocode}
\TUD@deprecated@cs{birthplace}{placeofbirth}
%    \end{macrocode}
% \end{macro}^^A \birthplace
% \begin{macro}{\submissiondate}
% Der Befehl \cs{submissiondate} kann als Aliasbefehl für den Standardbefehl 
% \cs{date} zur Datumsangabe genutzt werden.
%    \begin{macrocode}
\TUD@deprecated@cs{submissiondate}{date}
%    \end{macrocode}
% \end{macro}^^A \submissiondate
% \begin{macro}{\oralexaminationdate}
% Für \cs{defensedate} kann als Aliasbefehl auch \cs{oralexaminationdate}
% verwendet werden.
%    \begin{macrocode}
\TUD@deprecated@cs{oralexaminationdate}{defensedate}
%    \end{macrocode}
% \end{macro}^^A \oralexaminationdate
% \begin{macro}{\birthday}
% Der Geburtstag kann auch mit \cs{birthday} angegeben werden.
%    \begin{macrocode}
\TUD@deprecated@cs{birthday}{dateofbirth}
%    \end{macrocode}
% \end{macro}^^A \birthday
%
% \iffalse
%</book|report|article>
% \fi
%
% \begin{macro}{\location}
% Für die Angabe des Ortes kann auch \cs{location} genutzt werden.
%    \begin{macrocode}
\TUD@deprecated@cs{location}{place}
%    \end{macrocode}
% \end{macro}^^A \location
% \begin{macro}{\logofile}
% \begin{macro}{\logofilename}
% Diese beiden Befehle können anstelle von \cs{headlogo} eingesetzt werden.
%    \begin{macrocode}
\TUD@deprecated@cs{logofile}{headlogo}
\TUD@deprecated@cs{logofilename}{headlogo}
%    \end{macrocode}
% \end{macro}^^A \logofilename
% \end{macro}^^A \logofile
% \begin{macro}{\startdate}
% \begin{macro}{\finaldate}
% \begin{macro}{\maturitydate}
% Für das Paket \pkg{tudscrsupervisor} sind auch einige Befehle als veraltet 
% anzusehen.
%    \begin{macrocode}
\AfterPackage{tudscrsupervisor}{%
  \TUD@deprecated@cs{startdate}{issuedate}%
  \TUD@deprecated@cs{finaldate}{duedate}%
  \TUD@deprecated@cs{maturitydate}{duedate}%
}
%    \end{macrocode}
% \end{macro}^^A \maturitydate
% \end{macro}^^A \finaldate
% \end{macro}^^A \startdate
%
% \iffalse
%</class>
%<*class|package&fonts>
% \fi
%
% \begin{macro}{\textcdfont}
% \begin{macro}{\tudfont}
% \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}{\textuln}
% \begin{macro}{\texturn}
% \begin{macro}{\textubn}
% \begin{macro}{\textuxn}
% \begin{macro}{\textuls}
% \begin{macro}{\texturs}
% \begin{macro}{\textubs}
% \begin{macro}{\textuxs}
% \begin{macro}{\dinbn}
% \begin{macro}{\textdbn}
% Für die Klassen und das Paket \pkg{tudscrfonts} werden die expliziten Befehle 
% zur Schriftauswahl zumindest vorgehalten und auf die neuen Schriften gelegt.
%    \begin{macrocode}
\TUD@deprecated@cs{textcdfont}{textcd}%
\TUD@deprecated@cs{tudfont}{cdfont}%
\TUD@deprecated@cs{univln}{cdfontln}%
\TUD@deprecated@cs{univrn}{cdfontrn}%
\TUD@deprecated@cs{univbn}{cdfontsn}%
\TUD@deprecated@cs{univxn}{cdfontbn}%
\TUD@deprecated@cs{univls}{cdfontli}%
\TUD@deprecated@cs{univrs}{cdfontri}%
\TUD@deprecated@cs{univbs}{cdfontsi}%
\TUD@deprecated@cs{univxs}{cdfontbi}%
\TUD@deprecated@cs{textuln}{textcdln}%
\TUD@deprecated@cs{texturn}{textcdrn}%
\TUD@deprecated@cs{textubn}{textcdsn}%
\TUD@deprecated@cs{textuxn}{textcdbn}%
\TUD@deprecated@cs{textuls}{textcdli}%
\TUD@deprecated@cs{texturs}{textcdri}%
\TUD@deprecated@cs{textubs}{textcdsi}%
\TUD@deprecated@cs{textuxs}{textcdbi}%
\TUD@deprecated@cs{dinbn}{cdfontxn}%
\TUD@deprecated@cs{textdbn}{textcdxn}%
%    \end{macrocode}
% \end{macro}^^A \textdbn
% \end{macro}^^A \dinbn
% \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 \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
% \end{macro}^^A \tudfont
% \end{macro}^^A \textcdfont
% \begin{macro}{\ifdin}
% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A
% \changes{v2.06}{2018/07/10}{für \OpenSans hinfällig}^^A
% \begin{macro}{\tud@ifdin}
% \changes{v2.06}{2018/08/02}{neu}^^A
% Der Befehl \cs{ifdin} ist für \OpenSans hinfällig.
%    \begin{macrocode}
\TUD@deprecated@cs{ifdin}{@secondoftwo}
%    \end{macrocode}
% Für die alten Schriften prüft er auf die Verwendung von \DIN. 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 Inhaltsverzeichnis und/oder Kolumnentitel zu unterscheiden.
% Um nicht alle Klassen und Pakete anpassen zu müssen, wird \cs{tud@ifdin} zur 
% internen Nutzung in jedem Fall definiert, um die Kompatibilität gewährleisten
% zu können.
%    \begin{macrocode}
\newrobustcmd*\tud@ifdin{%
  \ifx\f@family\tud@cdfont@db%
    \expandafter\@firstoftwo%
  \else%
    \expandafter\@secondoftwo%
  \fi%
}
\if@tud@cdoldfont@active
  \newcommand*\ifdin{}%
  \let\ifdin\tud@ifdin%
\fi
%    \end{macrocode}
% \end{macro}^^A \tud@ifdin
% \end{macro}^^A \ifdin
% \begin{macro}{\varGamma}
% \begin{macro}{\varDelta}
% \begin{macro}{\varTheta}
% \begin{macro}{\varLambda}
% \begin{macro}{\varXi}
% \begin{macro}{\varPi}
% \begin{macro}{\varSigma}
% \begin{macro}{\varUpsilon}
% \begin{macro}{\varPhi}
% \begin{macro}{\varPsi}
% \begin{macro}{\varOmega}
% Die veralteten Befehle für kursive griechische Majuskeln.
%    \begin{macrocode}
\def\tud@res@a#1{%
  \TUD@deprecated@cs{var#1}{it#1}%
}
\tud@math@loop@greeks@uc\tud@res@a%
%    \end{macrocode}
% \end{macro}^^A \varOmega
% \end{macro}^^A \varPsi
% \end{macro}^^A \varPhi
% \end{macro}^^A \varUpsilon
% \end{macro}^^A \varSigma
% \end{macro}^^A \varPi
% \end{macro}^^A \varXi
% \end{macro}^^A \varLambda
% \end{macro}^^A \varTheta
% \end{macro}^^A \varDelta
% \end{macro}^^A \varGamma
%
% \iffalse
%</class|package&fonts>
%</body>
% \fi
%
% \section{Das Paket \pkg{tudscrcomp} -- Kompatibilität veralteter Klassen}
%
% Neben den \TUDScript-Klassen gibt es zahlreiche andere \LaTeX-Umsetzungen des 
% \CDs der \TnUD. Um eine Migration von diesen \enquote{veralteten} Klassen
% zu erleichtern, wird das Paket \pkg{tudscrcomp} bereitgestellt. Mit diesem 
% können bei der Verwendung von \TUDScript die meisten Optionen und Befehle 
% genutzt werden, welche durch die Klasse \cls{tudbook} und teilweise vormals 
% durch die Klassen die \TUDScript-Klassen in der Version~v1.0 sowie die 
% Posterklassen \cls{tudmathposter} bzw. \cls{tudposter} bereitgestellt wurden.
%
% \iffalse
%<*package&comp>
%<*base>
% \fi
%
% \subsection{Erkennen der geladenen Klasse}
%
% Damit je nach geladener Klasse die passenden Kompatibilitätseinstellungen und 
% -befehle bereitgestellt werden können, wird auf die geladene Klasse geprüft.
% Danach wird das dazu passende Paket geladen.
%    \begin{macrocode}
\PassOptionsToPackage{oldcolors}{tudscrcolor}
\@ifclassloaded{tudscrposter}{%
  \RequirePackageWithOptions{tudscrcomp-poster}[\TUD@Version]%
}{%
  \RequirePackageWithOptions{tudscrcomp-book}[\TUD@Version]%
}
%    \end{macrocode}
%
% \iffalse
%</base>
%<*!base>
%<*body>
% \fi
%
% \subsection{Gemeinsame Optionen und Befehle für alle Klassen}
%
% Zunächst werden alle Optionen und Befehle definiert, die unabhängig von der 
% geladenen Klasse generell bereitgestellt werden.
%
% \begin{macro}{\einrichtung}
% \begin{macro}{\fachrichtung}
% \begin{macro}{\institut}
% \begin{macro}{\professur}
% Es werden Aliasbefehle für die Eingabefelder definiert.
%    \begin{macrocode}
\newcommand*\einrichtung{\faculty}
\newcommand*\fachrichtung{\department}
\newcommand*\institut{\institute}
\newcommand*\professur{\chair}
%    \end{macrocode}
% \end{macro}^^A \professur
% \end{macro}^^A \institut
% \end{macro}^^A \fachrichtung
% \end{macro}^^A \einrichtung
% \begin{macro}{\dinBold}
% \changes{v2.05}{2015/07/13}{neu}^^A
% \begin{macro}{\dinfamily}
% \changes{v2.05}{2015/07/13}{neu}^^A
% Für die explizite Schriftauswahl gibt es ebenfalls zwei ältere Befehle.
%    \begin{macrocode}
\newcommand*\dinBold{\dinbn}
\newcommand*\dinfamily{\dinbn}
%    \end{macrocode}
% \end{macro}^^A \dinfamily
% \end{macro}^^A \dinBold
%
% \iffalse
%</body>
%<*book>
%<*option>
% \fi
%
% \subsection{Kompatibilität zu \cls{tudbook}}
%
% Die folgenden Optionen und Befehle werden durch die Klasse \cls{tudbook} und
% teilweise durch \TUDScript~v1.0 definiert.
%
% \begin{option}{colortitle}
% \begin{option}{nocolortitle}
% Für farbige Einstellungen wird von \cls{tudbook} die Option \opt{color} 
% definiert. Soll die Titelseite konträr dazu gesetzt werden, muss sich mit den
% Schlüsseln \opt{colortitle} und \opt{nocolortitle} beholfen werden.
%    \begin{macrocode}
\TUD@key{colortitle}[true]{%
  \TUD@set@ifkey{colortitle}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUDoptions{cdtitle=color}%
    \else%
      \TUDoptions{cdtitle=true}%
    \fi%
  \fi%
}
\TUD@key{nocolortitle}[true]{%
  \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUDoptions{cdtitle=true}%
    \else%
      \TUDoptions{cdtitle=color}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A nocolortitle
% \end{option}^^A colortitle
% \begin{option}{ddcfooter}
% Außer der Option \opt{ddc} gibt es bei der alten \cls{tudbook}-Klasse noch
% den Schlüssel \opt{ddcfooter}. Dieser wird auf die Option \opt{ddcfoot} 
% gelegt.
%    \begin{macrocode}
\TUD@key{ddcfooter}[true]{%
  \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUDoptions{ddcfoot=true}%
    \else%
      \TUDoptions{ddcfoot=false}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A ddcfooter
%
% \iffalse
%</option>
%<*body>
% \fi
%
% \begin{macro}{\moreauthor}
% \begin{macro}{\submitdate}
% \begin{macro}{\supervisorII}
% \begin{macro}{\supervisedby}
% \begin{macro}{\supervisedIIby}
% \begin{macro}{\submittedon}
% Es werden weitere Aliasbefehle für die Eingabefelder der \cls{tudbook}-Klasse 
% definiert.
%    \begin{macrocode}
\newcommand*\moreauthor{\authormore}
\newcommand*\submitdate{\date}
\newcommand*\supervisorII[1]{\g@addto@macro\@supervisor{\and #1}}
\newcommand*\supervisedby[1]{\gdef\supervisorname{#1}}
\newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}}
\newcommand*\submittedon[1]{\gdef\datetext{#1}}
%    \end{macrocode}
% \end{macro}^^A \submittedon
% \end{macro}^^A \supervisedIIby
% \end{macro}^^A \supervisedby
% \end{macro}^^A \supervisorII
% \end{macro}^^A \submitdate
% \end{macro}^^A \moreauthor
% \begin{macro}{\dissertation}
% Bei der Definition des Typs der Abschlussarbeit mit \cs{dissertation} wird
% die Lokalisierungsvariable \cs{dissertationname} verwendet und die Feldnamen
% angepasst.
%    \begin{macrocode}
\newcommand*\dissertation{%
  \thesis{\dissertationname}%
  \let\supervisorname\refereename%
  \let\supervisorothername\refereeothername%
}
%    \end{macrocode}
% \end{macro}^^A \dissertation
% \begin{environment}{theglossary}
% \begin{macro}{\glossaryname}
% \begin{macro}{\glossitem}
% Eine rudimentäre Umgebung für ein Glossar.
%    \begin{macrocode}
\AtBeginDocument{%
  \ifundef{\theglossary}{%
    \providecommand*\glossaryname{Glossar}%
    \newenvironment{theglossary}[1][]{%
      \PackageWarning{tudscrcomp}{%
        Using the environment `theglossary' is not\MessageBreak%
        recommended. You should rather use an appropriate\MessageBreak%
        package such as glossaries%
      }%
      \let\bibname\glossaryname%
      \bib@heading%
      #1%
      \list{}{%
        \setlength\labelsep{\z@}%
        \setlength\labelwidth{\z@}%
        \setlength\itemindent{-\leftmargin}%
      }%
    }{\endlist}%
    \newcommand\glossitem[1]{\item[] #1\par}%
  }{}%
}
%    \end{macrocode}
% \end{macro}^^A \glossitem
% \end{macro}^^A \glossaryname
% \end{environment}^^A theglossary
% \begin{macro}{\chapterpage}
% \begin{macro}{\if@tud@comp@chapterpage}
% \begin{macro}{\tud@comp@chapterpage@set}
% \begin{macro}{\tud@comp@chapterpage@unset}
% \begin{macro}{\tud@comp@chapterpage@wrn}
% Die alte \cls{tudbook}-Klasse stellt den Befehl \cs{chapterpage} bereit.
% Mit diesem ist es möglich, das Verhalten der Kapitelseiten~-- welches durch
% die Option \opt{chapterpage} gesteuert wird~-- temporär umzuschalten, also
% statt Kapitelseiten lediglich Überschriften zu setzen und umgekehrt. Dies ist
% typographisch durchaus zu hinterfragen, allerdings sollen die neuen Klassen
% möglichst kompatibel zu der alten sein, weshalb diese Funktionalität trotzdem
% implementiert wird. Der Befehl \cs{chapterpage} setzt den globalen Schalter
% \cs{if@tud@comp@chapterpage}. Der Befehl \cs{tud@comp@chapterpage@set} setzt 
% für Kapitel das komplementäre Verhalten zur eigentlich gewählten
% \opt{chapterpage}-Option. Nach dem Setzen der entsprechenden Überschrift
% wird \cs{tud@comp@chapterpage@set} nochmals aufgerufen, das Verhalten auf den
% ursprünglichen Zustand geschaltet und der globale Schalter
% \cs{if@tud@comp@chapterpage} zurückgesetzt.
%    \begin{macrocode}
\newif\if@tud@comp@chapterpage
\newcommand*\chapterpage{%
  \global\@tud@comp@chapterpagetrue%
  \tud@comp@chapterpage@wrn%
}
\newcommand*\tud@comp@chapterpage@set{%
  \if@tud@comp@chapterpage%
    \if@tud@chapterpage%
      \TUDoptions{chapterpage=false}%
    \else%
      \TUDoptions{chapterpage=true}%
    \fi%
  \fi%
}
\newcommand*\tud@comp@chapterpage@unset{%
  \tud@comp@chapterpage@set%
  \global\@tud@comp@chapterpagefalse%
}
%    \end{macrocode}
% Da wie bereits beschrieben das Vorgehen äußerst fragwürdig ist, wird bei der
% Verwendung von \cs{chapterpage} zumindest einmalig eine Warnung ausgegeben.
%    \begin{macrocode}
\newcommand*\tud@comp@chapterpage@wrn{%
  \PackageWarning{tudscrcomp}{%
    The command \string\chapterpage\space is not\MessageBreak%
    recommended. You should use the same style for\MessageBreak%
    chapters throughout the document%
  }%
  \global\let\tud@comp@chapterpage@wrn\relax%
}
%    \end{macrocode}
% \end{macro}^^A \tud@comp@chapterpage@wrn
% \end{macro}^^A \tud@comp@chapterpage@unset
% \end{macro}^^A \tud@comp@chapterpage@set
% \end{macro}^^A \if@tud@comp@chapterpage
% \end{macro}^^A \chapterpage
% \begin{macro}{\tud@chapter@pre}
% \begin{macro}{\tud@chapter@app}
% Hier erfolgt die notwendige Anpassungen der internen Gliederungsbefehle.
%    \begin{macrocode}
\AtEndPreamble{%
  \if@chapter%
    \pretocmd{\tud@chapter@pre}{\tud@comp@chapterpage@set}%
      {}{\tud@patch@wrn{tud@chapter@pre}}%
    \apptocmd{\tud@chapter@app}{\tud@comp@chapterpage@unset}%
      {}{\tud@patch@wrn{tud@chapter@app}}%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@chapter@app
% \end{macro}^^A \tud@chapter@pre
%
%
% \iffalse
%</body>
%</book>
%<*poster>
%<*option>
% \fi
%
% \subsection{Kompatibilität zu \cls{tudmathposter}}
%
% Die hier bereitgestellten Optionen und Befehle werden durch die Klasse 
% \cls{tudmathposter} bzw. \cls{tudposter} definiert.
%
% \begin{option}{bluebg}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Mit der Option \opt{bluebg} kann der Hintergrund des Posters in \val{HKS41} 
% gesetzt werden.
%    \begin{macrocode}
\TUD@key{bluebg}[true]{%
  \TUD@set@ifkey{bluebg}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \TUDoptions{backcolor=true}%
    \else%
      \TUDoptions{backcolor=false}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{option}^^A bluebg
%
% \iffalse
%</option>
%<*body>
% \fi
%
% \begin{layerpagestyle}{tudposter}
% \changes{v2.05}{2016/07/26}{neu}^^A
% Der Seitenstil \pgs{tudposter} wird als Alias für \pgs{empty.tudheadings} 
% definiert.
%    \begin{macrocode}
\newcommand*\ps@tudposter{}
\let\ps@tudposter\ps@empty
\AfterPackage*{scrlayer-scrpage}{%
  \DeclarePageStyleAlias{tudposter}{empty.tudheadings}%
}
%    \end{macrocode}
% \end{layerpagestyle}^^A tudposter
% \begin{macro}{\telefon}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\fax}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\email}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\tud@split@author@list}
% Hier werden alle alten Feldbefehle auf die Pendants von \TUDScript gelegt und 
% das Makro \cs{tud@split@author@list} um diese Befehle erweitert.
%    \begin{macrocode}
\newrobustcmd*\telefon{\telephone}
\patchcmd{\tud@split@author@list}{telephone}{%
  telephone,telefon%
}{}{\tud@patch@wrn{tud@split@author@list}}
\newrobustcmd*\fax{\telefax}
\patchcmd{\tud@split@author@list}{telefax}{%
  telefax,fax%
}{}{\tud@patch@wrn{tud@split@author@list}}
\newrobustcmd*\email[1]{\emailaddress*{#1}}
\patchcmd{\tud@split@author@list}{emailaddress}{%
  emailaddress,email%
}{}{\tud@patch@wrn{tud@split@author@list}}
%    \end{macrocode}
% \end{macro}^^A \tud@split@author@list
% \end{macro}^^A \email
% \end{macro}^^A \fax
% \end{macro}^^A \telefon
% \begin{macro}{\homepage}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Für die Angabe einer Website wird \cs{webpage*} verwendet, um etwaige Makros 
% zur Formatierung nicht beachten zu müssen.
%    \begin{macrocode}
\newcommand*\homepage[1]{\webpage*{#1}}
%    \end{macrocode}
% \end{macro}^^A \homepage
% \begin{macro}{\zweitlogofile}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\zweitlogo}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\institutslogofile}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\institutslogo}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\drittlogofile}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\drittlogo}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Die Makros zur Angabe von Logo-Dateien (\cs{\dots{}logofile}) werden auf die 
% passenden \TUDScript-Befehle gelegt. Die Änderung der Makros, welche für die 
% Einbindung der Logos verantwortlich sind (\cs{\dots{}logo}), wird allerdings
% nicht unterstützt.
%    \begin{macrocode}
\newcommand*\zweitlogofile[2][]{\headlogo[#1]{#2}}
\newcommand*\zweitlogo[1]{%
  \PackageWarning{tudscrcomp}{%
    It isn't possible to redefine the definition for\MessageBreak%
    including a logo in the header. Please see the\MessageBreak%
    documentation of \string\headlogo%
  }%
}
\newcommand*\institutslogofile[2][]{\footlogo[#1]{,,,,,,,#2,}}
\newcommand*\institutslogo[1]{%
  \PackageWarning{tudscrcomp}{%
    It isn't possible to redefine the definition for\MessageBreak%
    including a logo in the footer. Please see the\MessageBreak%
    documentation of \string\footlogo%
  }%
}
\newcommand*\drittlogofile[1]{%
  \PackageWarning{tudscrcomp}{%
    Nothing happened, you should use \string\footlogo\MessageBreak%
    instead. Please see the documentation of \string\footlogo\MessageBreak%
    and option `ddc' or `ddcfoot'%
  }%
}
\newcommand*\drittlogo[1]{%
  \PackageWarning{tudscrcomp}{%
    It isn't possible to redefine the definition for\MessageBreak%
    including a logo in the footer. Please see the\MessageBreak%
    documentation of \string\footlogo\space and option\MessageBreak%
    `ddc' or `ddcfoot'%
  }%
}
%    \end{macrocode}
% \end{macro}^^A \drittlogo
% \end{macro}^^A \drittlogofile
% \end{macro}^^A \institutslogo
% \end{macro}^^A \institutslogofile
% \end{macro}^^A \zweitlogo
% \end{macro}^^A \zweitlogofile
% \begin{macro}{\topsection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{counter}{topsection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\topsubsection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{counter}{topsubsection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Die Klasse \cls{tudmathposter} definiert zusätzliche Gliederungsbefehle, 
% welche allerdings völlig willkürliche vertikale Abstände davor und danach 
% verwendet. Es besteht keinerlei Ambition, diese genau abzubilden. Falls hier 
% tatsächlich ein Anpassungsbedarf besteht, kann dies mit den entsprechenden
% Mitteln von \KOMAScript{} (\cs{RedeclareSectionCommand}) nach dem Laden von
% \pkg{tudscrcomp} erfolgen.
%
% Die neuen Gliederungsbefehle erschließen sich mir ohnehin nicht, wirken eher 
% so, als ob diese entstanden sind, weil auf Anwendungsebene etwas nicht so 
% funktioniert hat, wie gewollt und statt einer vernünftigen Ursachenforschung 
% einfach ein eigenes Konstrukt erschaffen wurde, um unzulängliche Fähigkeiten 
% zu umgehen. Sei's drum. Für die Umsetzung werden die Basisgliederungsbefehle 
% geklont und anschließend der gewünschte vertikale Abstand vor der Überschrift 
% entfernt.
% \ToDo{Klonen Gliederungsebenen über Makro (Markus fragen?!)}[v2.??]
%    \begin{macrocode}
\newcommand*\topsectionnumdepth{\sectionnumdepth}
\newcommand*\scr@topsection@sectionindent{\scr@section@sectionindent}
\newcommand*\scr@topsection@beforeskip{\scr@section@beforeskip}
\newcommand*\scr@topsection@afterskip{\scr@section@afterskip}
\newcommand*\topsectiontocdepth{\sectiontocdepth}
\newcommand*\scr@topsection@tocindent{\scr@section@tocindent}
\newcommand*\scr@topsection@tocnumwidth{\scr@section@tocnumwidth}
\newcommand*\l@topsection{\l@section}
\DeclareNewSectionCommand[%
  style=section,%
  font={\usekomafont{section}},%
  beforeskip=\z@,%
]{topsection}
\let\c@topsection\c@section
\newcommand*\topsubsectionnumdepth{\subsectionnumdepth}
\newcommand*\scr@topsubsection@sectionindent{\scr@subsection@sectionindent}
\newcommand*\scr@topsubsection@beforeskip{\scr@subsection@beforeskip}
\newcommand*\scr@topsubsection@afterskip{\scr@subsection@afterskip}
\newcommand*\topsubsectiontocdepth{\subsectiontocdepth}
\newcommand*\scr@topsubsection@tocindent{\scr@subsection@tocindent}
\newcommand*\scr@topsubsection@tocnumwidth{\scr@subsection@tocnumwidth}
\newcommand*\l@topsubsection{\l@subsection}
\DeclareNewSectionCommand[%
  style=section,%
  font={\usekomafont{subsection}},%
  beforeskip=\z@,%
]{topsubsection}
\let\c@topsubsection\c@subsection
%    \end{macrocode}
% \end{counter}^^A topsubsection
% \end{macro}^^A \topsubsection
% \end{counter}^^A topsection
% \end{macro}^^A \topsection
% \begin{macro}{\centersection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\centersubsection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\topcentersection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\topcentersubsection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\tud@comp@centersection}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Weiterhin werden Gliederungsebenen definiert, die unabhängig vom restlichen 
% Layout zentriert gesetzt werden. Eine Mischung von unterschiedlichen Stilen 
% gleichartiger Ebenen ist aus sicht von Typographie und Layout eher fraglich.
%    \begin{macrocode}
\newcommand*\centersection[2][\@nil]{%
  \tud@comp@centersection{section}{#1}{#2}%
}
\newcommand*\centersubsection[2][\@nil]{%
  \tud@comp@centersection{subsection}{#1}{#2}%
}
\newcommand*\topcentersection[2][\@nil]{%
  \tud@comp@centersection{topsection}{#1}{#2}%
}
\newcommand*\topcentersubsection[2][\@nil]{%
  \tud@comp@centersection{topsubsection}{#1}{#2}%
}
%    \end{macrocode}
% Alle Gliederungsbefehle nutzen die passenden Ebenen mit der standardmaßig 
% Ausrichtung und passen kurzfristig \cs{raggedsection} an. Dabei auch darauf 
% geachtet, ob das optionale Argument durch den Anwender verwendet wird.
%    \begin{macrocode}
\newcommand*\tud@comp@centersection[3]{%
  \tud@cs@store{raggedsection}%
  \let\raggedsection\centering%
  \ifx#2\@nil\relax%
    \csuse{#1}{#3}%
  \else%
    \csuse{#1}[#2]{#3}%
  \fi%
  \tud@cs@restore{raggedsection}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@comp@centersection
% \end{macro}^^A \topcentersubsection
% \end{macro}^^A \topcentersection
% \end{macro}^^A \centersubsection
% \end{macro}^^A \centersection
% \begin{macro}{\sectiontopskip}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\subsectiontopskip}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Die Klasse \cls{tudmathposter} stellt zu den neuen Gliederungsbefehlen noch 
% zusätzlich die beiden Makros \cs{sectiontopskip} und \cs{subsectiontopskip}
% bereit. Diese werden in darin bei der Definition dieser Gliederungsebenen
% verwendet. Da die \TUDScript-Klassen den Ansatz verfolgen, dem Benutzer
% weitestgehende Freiheiten bei der Gestaltung des Layouts einzuräumen, werden 
% diese an die Einstellungen der zentralen \KOMAScript"=Benutzerschnittstelle 
% gekoppelt.
%    \begin{macrocode}
\newcommand\sectiontopskip{\scr@section@beforeskip}
\newcommand\subsectiontopskip{\scr@subsection@beforeskip}
%    \end{macrocode}
% \end{macro}^^A \subsectiontopskip
% \end{macro}^^A \sectiontopskip
% \begin{counter}{secnumdepth}
% Standardmäßig wird die Nummerierung aller Gliederungsebenen deaktiviert.
%    \begin{macrocode}
\setcounter{secnumdepth}{\m@ne}
%    \end{macrocode}
% \end{counter}^^A secnumdepth
% \begin{macro}{\fusszeile}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\footcolumn}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Mit diesen Befehlen lässt sich der Inhalt des Fußbereiches angepassen. Wird
% in einem und/oder beiden Argumente von \cs{footcontent} ein Stern \val{*} 
% verwendet, so bleibt der bisherige Inhalt erhalten.
%    \begin{macrocode}
\newcommand*\fusszeile[2][]{\footcontent[#1]{#2}}
\newcommand*\footcolumn[2]{%
  \ifnumber{#1}{%
    \ifcase#1\relax%
      \footcontent{#2}%
    \or%
      \footcontent{#2}[*]%
    \or%
      \footcontent{*}[#2]%
    \fi%
  }{}%
}
%    \end{macrocode}
% \end{macro}^^A \footcolumn
% \end{macro}^^A \fusszeile
%
% \iffalse
%</body>
%<*option>
% \fi
%
% \begin{option}{tudmathposterfoot}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\if@tud@mathposterfoot}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Mit der Option \opt{tudmathposterfoot} kann die Darstellung des Fußes im 
% Poster angepasst werden. Die Klasse \cls{tudmathposter} setzt den Fußbereich
% in zwei asymmetrischen Spalten, wohingegen die \TUDScript-Klassen diesen
% zentriert und symmetrisch zum Satzspiegel platzieren.
%    \begin{macrocode}
\newif\if@tud@mathposterfoot
\TUD@key{tudmathposterfoot}[true]{%
  \TUD@set@ifkey{tudmathposterfoot}{@tud@mathposterfoot}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tud@mathposterfoot%
      \footcontent[\small]{%
        \tud@footcontent@@left{}%
      }[%
        \tud@footcontent@@right{}{}%
      ]%
    \else%
      \footcontent{%
        \tud@footcontent@@left{\contactname}%
      }[%
        \tud@footcontent@@right{\authorname}{\contactpersonname}%
      ]%
    \fi%
  \fi%
}
%    \end{macrocode}
% Die Option \opt{cdfoot} wird um Werte für die Einstellung des Posterfußes
% erweitert.
%    \begin{macrocode}
\TUD@key{cdfoot}[true]{%
  \TUD@set@numkey{cdfoot}{@tempa}{%
    {tudscrposter}{0},{tudscrposterfoot}{0},{cdposter}{0},{poster}{0},%
    {tudmathposter}{1},{tudmathposterfoot}{1},{mathposter}{1},{tudposter}{1}%
  }{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \ifcase\@tempa\relax% tudscrposter
      \TUDoptions{tudmathposterfoot=false}%
    \else% tudmathposter
      \TUDoptions{tudmathposterfoot=true}%
    \fi%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@mathposterfoot
% \end{option}^^A tudmathposterfoot
%
% \iffalse
%</option>
%<*body>
% \fi
%
% \begin{macro}{\tud@footcontent@use}
% \begin{macro}{\tud@comp@mathposterwidth}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Um die Option \opt{tudmathposterfoot} umzusetzen, muss für die Ausgabe des 
% Fußbereichs eine Anpassung des Makros \cs{tud@footcontent@use} erfolgen.
% Normalerweise wird der Fußbereich in zwei gleichbreite Spalten über die
% komplette Textbreite aufgeteilt. Dahingegen werden durch die Klasse 
% \cls{tudmathposter} beide Fußspalten nicht über den kompletten Textbereich
% verteilt, sondern es verbleibt etwas ungenutzter Platz rechts davon, welcher
% für ein etwaiges Logo verwendet wird. Dieses Verhalten kann über die Option 
% \opt{tudmathposterfoot} aktiviert werden und wird hier nachgebildet.
%    \begin{macrocode}
\newcommand*\tud@comp@mathposterwidth{4.2\tud@len@widemargin}
\patchcmd{\tud@footcontent@use}{%
  \hsize=\dimexpr#2-\@tempdimc\relax%
}{%
  \if@tud@mathposterfoot%
    \hsize=\dimexpr\tud@comp@mathposterwidth\relax%
  \else%
    \hsize=\dimexpr#2-\@tempdimc\relax%
  \fi%
}{}{\tud@patch@wrn{tud@footcontent@use}}
\patchcmd{\tud@footcontent@use}{%
  \hsize=\dimexpr(#2-\columnsep)/2\relax%
}{%
  \if@tud@mathposterfoot%
    \hsize=\dimexpr(\tud@comp@mathposterwidth-\columnsep)/2\relax%
  \else%
    \hsize=\dimexpr(#2-\columnsep)/2\relax%
  \fi%
}{}{\tud@patch@wrn{tud@footcontent@use}}
\patchcmd{\tud@footcontent@use}{%
  \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
}{%
  \if@tud@mathposterfoot%
    \hsize=\dimexpr(\tud@comp@mathposterwidth-\columnsep)/2\relax%
  \else%
    \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
  \fi%
}{}{\tud@patch@wrn{tud@footcontent@use}}
%    \end{macrocode}
% \end{macro}^^A \tud@comp@mathposterwidth
% \end{macro}^^A \tud@footcontent@use
% \begin{environment}{figurehere}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{environment}{tablehere}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Weiterhin stellt die Klasse \cls{tudmathposter} zwei Umgebungen bereit, mit 
% denen sich Tabellen und Bilder an einer bestimmten Stelle exakt platzieren 
% lassen. Prinzipiell könnte hierfür auch das Paket \pkg{float} zum Einsatz 
% kommen.
% \ToDo{Für \cls{tudscrposter} übernehmen?}[v2.07]
%    \begin{macrocode}
\newenvironment{figurehere}{%
  \def\@captype{figure}%
  \renewcommand*\caption{\captionof{figure}}%
  \renewcommand*\captionabove{\captionaboveof{figure}}%
  \renewcommand*\captionbelow{\captionbelowof{figure}}%
  \vskip\intextsep%
  \vbox \bgroup%
    \hsize=\columnwidth%
    \@parboxrestore%
    \ignorespaces%
}{%
  \egroup%
  \vskip\intextsep%
  \ignorespaces%
}
\newenvironment{tablehere}{%
  \def\@captype{table}%
  \renewcommand*\caption{\captionof{table}}%
  \renewcommand*\captionabove{\captionaboveof{table}}%
  \renewcommand*\captionbelow{\captionbelowof{table}}%
  \vskip\intextsep%
  \vbox \bgroup%
    \hsize=\columnwidth%
    \@parboxrestore%
    \ignorespaces%
}{%
  \egroup%
  \vskip\intextsep%
  \ignorespaces%
}
%    \end{macrocode}
% \end{environment}^^A tablehere
% \end{environment}^^A figurehere
% \begin{environment}{farbtabellen}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\if@tud@comp@graytable}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\blautabelle}
% \changes{v2.05}{2016/04/17}{neu}^^A
% \begin{macro}{\grautabelle}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Außerdem wird eine Umgebung für farbige Tabellen sowie zwei Umschaltbefehle 
% für die farbliche Ausprägung der Tabellenzeilen definiert.
%    \begin{macrocode}
\PassOptionsToPackage{table}{xcolor}
\newif\if@tud@comp@graytable
\newcommand*\blautabelle{\@tud@comp@graytablefalse}
\newcommand*\grautabelle{\@tud@comp@graytabletrue}
\newenvironment{farbtabellen}{%
  \if@tud@comp@graytable%
    \rowcolors{1}{HKS92!20}{HKS92!10}%
  \else%
    \rowcolors{1}{HKS41!20}{HKS41!10}%
  \fi%
}{}
%    \end{macrocode}
% \end{macro}^^A \grautabelle
% \end{macro}^^A \blautabelle
% \end{macro}^^A \if@tud@comp@graytable
% \end{environment}^^A farbtabellen
% \begin{macro}{\schnittrand}
% \changes{v2.05}{2016/04/17}{neu}^^A
% Zu guter Letzt geht es an das Makro \cs{schnittrand}. Zur Intension dieses 
% Befehls gab es auf \hrfn{https://github.com/tud-cd/tud-cd/issues/6}{GitHub}
% bereits eine angeregte Diskussion. Deshalb wird das Makro als Wertzuweisung
% für die Option \opt{bleedmargin} genutzt.
% \ToDo{Für \cls{tudscrposter} übernehmen?}[v2.07]
%    \begin{macrocode}
\ifundef{\schnittrand}{}{%
  \ifisdimension{\schnittrand}{%
    \edef\@tempa{%
      paperwidth=\the\dimexpr\paperwidth+\schnittrand*2\relax,%
      paperheight=\the\dimexpr\paperheight+\schnittrand*2\relax,%
      layout=\the\paperwidth:\the\paperheight,%
      layoutoffset=\the\dimexpr\schnittrand\relax,%
      showcrop%
    }%
    \expandafter\geometry\expandafter{\@tempa}%
  }{%
    \PackageErrorNoLine{tudscrcomp}{%
      Wrong definition for `\string\schnittrand'%
    }{%
      The definition of `\string\schnittrand' does not expand to\MessageBreak%
      a valid dimension expression.%
    }%
  }%
}%
%    \end{macrocode}
% \end{macro}^^A \schnittrand
%
% Die Klasse \cls{tudmathposter} lädt allerhand Pakete. Dies ist jedoch für den 
% Anwender alles andere als vorteilhaft, da dadurch unter Umständen Konflikte
% mit anderen Paketen entstehen oder der Nutzer im Zweifelsfall gar nicht weiß, 
% dass verwendete Befehle aus bestimmten Paketen entspringen. Dennoch werden 
% aus Kompatibilitätsgründen einige Pakete geladen, um bestehende Dokumente 
% trotz alledem nach der Portierung kompiliert werden können. Um den Nutzer die 
% Möglichkeit zu geben, die Pakete selber ggf. mit Optionen zu laden, erfolgt 
% die Anforderung der Pakete erst am ende der Präambel.
%    \begin{macrocode}
\AtEndPreamble{%
  \RequirePackage{amsmath}[2016/06/28]%
  \RequirePackage{amsfonts}[2013/01/14]%
  \RequirePackage{calc}[2014/10/28]%
  \RequirePackage{textcomp}[2016/06/19]%
  \RequirePackage{tabularx}[2016/02/03]%
}
%    \end{macrocode}
%
% \iffalse
%</body>
%</poster>
%</!base>
%</package&comp>
% \fi
%
% \section{Das Paket \pkg{fix-tudscrfonts} -- Schriften für alte TUD-Klassen}
%
% \changes{v2.05}{2015/12/08}{\pkg{fix-tudscrfonts}: Dieses Paket übernimmt die 
%   Bereitstellung der Schriften für veraltete Klassen}^^A
%
% Das Paket \pkg{fix-tudscrfonts} bietet die Schriftfamilien des \TUDCDs im 
% \TUDScript-Stil für die \enquote{veralteten} Klassen von Klaus Bergmann sowie
% die Posterklassen an. 
%
% \iffalse
%<*package&fixfonts>
%<*body>
% \fi
%
% Das Paket \pkg{tudscrfonts} wird am Ende der Präambel geladen, falls dies 
% zuvor nicht durch den Anwender geschieht.
%    \begin{macrocode}
\AtEndPreamble{%
  \tud@fixfonts@class@check%
  \RequirePackage{tudscrfonts}[\TUD@Version]%
}
%    \end{macrocode}
%
% \subsection{Verwendbarkeit und Ladezeitpunkt von \pkg{fix-tudscrfonts}}
%
% Da das Paket eine Vielzahl an Anpassungen der Schriftbefehle vornimmt sowie
% die Definition von \LaTeXe-Standardbefehlen bereits vor dem Laden der
% eigentlichen Dokumentklasse sichern muss, kann dieses Paket ausschließlich 
% vor \cs{documentclass} mit \cs{RequirePackage} geladen werden.
%
% \begin{macro}{\tud@fixfonts@class@check}
% \changes{v2.05}{2016/01/02}{neu}^^A
% Dieser Befehl wird nach dem Laden einer unterstützten Klasse zu \cs{relax} 
% gesetzt. Sollte das Paket jedoch erst nach einer Dokumentklasse geladen 
% werden, so wird ein Fehler ausgegeben.
%    \begin{macrocode}
\ifx\usepackage\RequirePackage
  \newcommand*\tud@fixfonts@class@check{%
    \PackageError{fix-tudscrfonts}{Package too late}{%
      You must load `fix-tudscrfonts' with\MessageBreak%
      `\string\RequirePackage' before any document class.%
    }%
  }%
%    \end{macrocode}
% Wird das Paket mit einer nicht unterstützten Dokumentklasse verwendet, wird
% ebenfalls ein Fehler ausgegeben.
%    \begin{macrocode}
\else
  \newcommand*\tud@fixfonts@class@check{%
    \PackageError{fix-tudscrfonts}{Unsupported class found}{%
      You have to use `fix-tudscrfonts' only\MessageBreak%
      with supported classes. These are: `tudbook',\MessageBreak%
      `tudbeamer', `tudfax', `tudform', `tudhaus',\MessageBreak%
      and `tudletter' as well as `tudposter'\MessageBreak%
      and `tudmathposter'. Otherwise it's adequate\MessageBreak%
      to use package `tudscrfonts' as usual.%
    }%
  }%
\fi
%    \end{macrocode}
% \end{macro}^^A \tud@fixfonts@class@check
%
% \subsection{Patches für die unterstützten Klassen}
%
% Für alle unterstützten Klassen sind vor und nach dem Laden einige Anpassungen 
% an den bereitgestellten Schriftbefehlen notwendig.
%
% \begin{macro}{\tud@fixfonts@class@adapt}
% \changes{v2.05}{2016/01/02}{neu}^^A
% \begin{macro}{\dinBold}
% \changes{v2.05}{2015/07/13}{neu}^^A
% \begin{macro}{\dinfamily}
% \changes{v2.05}{2015/07/13}{neu}^^A
% \begin{macro}{\univLightVII}
% \begin{macro}{\univLightObliqueVII}
% \begin{macro}{\univBoldVII}
% \begin{macro}{\univLightIX}
% \begin{macro}{\univLightObliqueIX}
% \begin{macro}{\univBoldIX}
% \begin{macro}{\univLightXI}
% \begin{macro}{\univLightObliqueXI}
% \begin{macro}{\univBoldXI}
% \begin{macro}{\univLightXV}
% \begin{macro}{\univLightObliqueXV}
% \begin{macro}{\univBoldXV}
% \begin{macro}{\univLightHead}
% \begin{macro}{\univBoldHead}
% \begin{macro}{\tud@head@fontsize}
% Mit diesen beiden Befehlen werden vor dem Laden der alten Klassen einige
% Befehle gesichert und die benötigten Optionen gesetzt. Nach dem Laden der 
% jeweiligen Klasse werden die gesicherten Makrodefinitionen wiederhergestellt 
% und einige Schriftdefinitionen angepasst. Bei den alten TUD-Klassen betrifft 
% dies in erster Linie die Mathematikschriften sowie die in den Klassen
% definierten, fixen Schriften.
%    \begin{macrocode}
\newcommand*\tud@fixfonts@class@adapt[2]{%
  \BeforeClass{#1}{%
    \let\tud@fixfonts@class@check\relax%
    \tud@cs@store{DeclareFixedFont}%
    \renewcommand*\DeclareFixedFont[6]{}%
    \tud@cs@store{rmdefault}%
    \tud@cs@store{sfdefault}%
    \tud@cs@store{ttdefault}%
    \tud@cs@store{bfdefault}%
    \tud@cs@store{mddefault}%
    \tud@cs@store{itdefault}%
    \tud@cs@store{sldefault}%
    \tud@cs@store{scdefault}%
    \tud@cs@store{updefault}%
    \tud@cs@store{rmfamily}%
    \tud@cs@store{sffamily}%
    \tud@cs@store{ttfamily}%
    \tud@cs@store{familydefault}%
    \tud@cs@store{seriesdefault}%
    \tud@cs@store{shapedefault}%
    \tud@cs@store{normalfont}%
    \let\normalfont\relax%
    \PassOptionsToClass{serifmath}{#1}%
  }%
  \AfterClass{#1}{%
    \tud@cs@restore{DeclareFixedFont}%
    \tud@cs@restore{rmdefault}%
    \tud@cs@restore{sfdefault}%
    \tud@cs@restore{ttdefault}%
    \tud@cs@restore{bfdefault}%
    \tud@cs@restore{mddefault}%
    \tud@cs@restore{itdefault}%
    \tud@cs@restore{sldefault}%
    \tud@cs@restore{scdefault}%
    \tud@cs@restore{updefault}%
    \tud@cs@restore{rmfamily}%
    \tud@cs@restore{sffamily}%
    \tud@cs@restore{ttfamily}%
    \tud@cs@restore{familydefault}%
    \tud@cs@restore{seriesdefault}%
    \tud@cs@restore{shapedefault}%
    \tud@cs@restore{normalfont}%
    #2%
    \AfterPackage{tudscrfonts}{%
      \def\dinBold{\dinbn}%
      \def\dinfamily{\dinbn}%
      \AtBeginDocument{%
        \newcommand*\univLightVII{}%
        \newcommand*\univLightObliqueVII{}%
        \newcommand*\univBoldVII{}%
        \newcommand*\univLightIX{}%
        \newcommand*\univLightObliqueIX{}%
        \newcommand*\univBoldIX{}%
        \newcommand*\univLightXI{}%
        \newcommand*\univLightObliqueXI{}%
        \newcommand*\univBoldXI{}%
        \newcommand*\univLightXV{}%
        \newcommand*\univLightObliqueXV{}%
        \newcommand*\univBoldXV{}%
        \newcommand*\univLightHead{}%
        \newcommand*\univBoldHead{}%
        \providecommand*\tud@head@fontsize{9}%
        \if@tud@cdfont@fam@exist%
          \DeclareFixedFont{\univLightVII}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{n}{7}%
          \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{sl}{7}%
          \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{b}{n}{7}%
          \DeclareFixedFont{\univLightIX}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{n}{9}%
          \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{sl}{9}%
          \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{b}{n}{9}%
          \DeclareFixedFont{\univLightXI}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{n}{11}%
          \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{sl}{11}%
          \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{b}{n}{11}%
          \DeclareFixedFont{\univLightXV}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{n}{15}%
          \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{sl}{15}%
          \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{b}{n}{15}%
          \DeclareFixedFont{\univLightHead}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
          \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
            {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
        \else%
          \DeclareFixedFont{\univLightVII}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\updefault}{7}%
          \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\sldefault}{7}%
          \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
            {\sfdefault}{\bfdefault}{\updefault}{7}%
          \DeclareFixedFont{\univLightIX}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\updefault}{9}%
          \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\sldefault}{9}%
          \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
            {\sfdefault}{\bfdefault}{\updefault}{9}%
          \DeclareFixedFont{\univLightXI}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\updefault}{11}%
          \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\sldefault}{11}%
          \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
            {\sfdefault}{\bfdefault}{\updefault}{11}%
          \DeclareFixedFont{\univLightXV}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\updefault}{15}%
          \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\sldefault}{15}%
          \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
            {\sfdefault}{\bfdefault}{\updefault}{15}%
          \DeclareFixedFont{\univLightHead}{\encodingdefault}%
            {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
          \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
            {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
        \fi%
      }%
    }%
  }%
}
%    \end{macrocode}
% \end{macro}^^A \tud@head@fontsize
% \end{macro}^^A \univBoldHead
% \end{macro}^^A \univLightHead
% \end{macro}^^A \univBoldXV
% \end{macro}^^A \univLightObliqueXV
% \end{macro}^^A \univLightXV
% \end{macro}^^A \univBoldXI
% \end{macro}^^A \univLightObliqueXI
% \end{macro}^^A \univLightXI
% \end{macro}^^A \univBoldIX
% \end{macro}^^A \univLightObliqueIX
% \end{macro}^^A \univLightIX
% \end{macro}^^A \univBoldVII
% \end{macro}^^A \univLightObliqueVII
% \end{macro}^^A \univLightVII
% \end{macro}^^A \dinfamily
% \end{macro}^^A \dinBold
% \end{macro}^^A \tud@fixfonts@class@adapt
%
% Nach der Definition der notwendigen Befehle erfolgt nun die Umsetzung für 
% alle unterstützten Klassen.
%    \begin{macrocode}
\tud@fixfonts@class@adapt{tudletter}{}
\tud@fixfonts@class@adapt{tudfax}{}
\tud@fixfonts@class@adapt{tudform}{}
\tud@fixfonts@class@adapt{tudhaus}{}
\tud@fixfonts@class@adapt{tudposter}{}
\tud@fixfonts@class@adapt{tudbeamer}{}
%    \end{macrocode}
%
% Wird das Paket \pkg{fix-tudscrfonts} mit den alten TUD-Klassen \cls{tudbook}, 
% \cls{tudmathposter} etc. oder \TUDScript in der Version~v1.0 verwendet,
% müssen einige Kompatibilitätseinstellungen vorgenmommen werden. Hierfür sind
% wenige Patches notwendig.
%
% \subsection{Spezielle Patches für die Klasse \cls{tudbook}}
%
% Die notwendigen Anpassungen der Klasse \cls{tudbook} betreffen die
% Schriftauswahl bei Überschriften.
%
% \begin{macro}{\@makechapterhead}
% \begin{macro}{\@makeschapterhead}
% \begin{macro}{\section}
% \begin{macro}{\showtitle}
% Die Überschriften sollen abhängig von der Option \opt{cdfont} und nicht immer 
% zwingend in \DIN gesetzt werden.
%    \begin{macrocode}
\tud@fixfonts@class@adapt{tudbook}{%
  \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}{%
    \tud@sec@fontface%
    \if@color\color{HKS41-100}\fi%
    \Huge%
  }{}{\tud@patch@wrn{@makechapterhead}}%
  \patchcmd{\@makechapterhead}{\MakeUppercase}{%
    \tud@sec@format%
  }{}{\tud@patch@wrn{@makechapterhead}}%
  \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}{%
    \tud@sec@fontface%
    \if@color\color{HKS41-100}\fi%
    \Huge%
  }{}{\tud@patch@wrn{@makeschapterhead}}%
  \patchcmd{\@makeschapterhead}{\MakeUppercase}{%
    \tud@sec@format%
  }{}{\tud@patch@wrn{@makeschapterhead}}%
  \patchcmd{\section}{\dinBold\Large\bfseries\MakeUppercase}{%
    \tud@sec@fontface%
    \if@color\color{HKS41-100}\fi%
    \Large%
    \tud@sec@format%
  }{}{\tud@patch@wrn{section}}%
  \patchcmd{\showtitle}{\dinBold\Huge\bfseries\MakeUppercase}{%
    \tud@sec@fontface%
    \if@colortitle\color{HKS41-30}\fi%
    \Huge%
    \tud@sec@format%
  }{}{\tud@patch@wrn{showtitle}}%
}
%    \end{macrocode}
% \end{macro}^^A \showtitle
% \end{macro}^^A \section
% \end{macro}^^A \@makeschapterhead
% \end{macro}^^A \@makechapterhead
%
% \subsection{Spezielle Patches für die Klasse \cls{tudmathposter}}
%
% Auch für die Posterklasse \cls{tudmathposter} sowie das Paket \pkg{tudfonts} 
% sind kleine Anpassungen notwendig.
%
% \begin{KOMAfont}{title}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% \begin{macro}{\maketitle}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% \begin{macro}{\subtitlefont}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% \begin{macro}{\preprocesstitle}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% \begin{macro}{\sectionfont}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% \begin{macro}{\subsectionfont}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% \begin{macro}{\ps@tudposter}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% Es werden einige Einstellungen für die Überschriften angepasst.
%    \begin{macrocode}
\tud@fixfonts@class@adapt{tudmathposter}{%
  \def\raggedtitle{\tud@raggedright}%
  \renewcommand*\raggedpart{\tud@raggedright}%
  \renewcommand*\raggedsection{\tud@raggedright}%
  \setkomafont{title}{\tud@sec@fontface\Huge}%
  \CheckCommand\maketitle{%
    \if@matheanull
    \setlength\@tempskipa{31.194586mm-\topsep}%
    \else
    \setlength\@tempskipa{33.02mm-\topskip}%
    \fi
    \vskip\@tempskipa
   {%
      \ifx\@title\@empty\else
      \usekomafont{title}\preprocesstitle{\@title}%
      \ifx\@subtitle\@empty\else\\\fi
      \fi
    }{
      \ifx\@subtitle\@empty\else
      \subtitlefont\preprocesstitle{\@subtitle}%
      \fi
      \if@matheanull
      \vskip 2.9948cm\relax
      \else
      \vskip 3.17cm\relax
      \fi
    }%
  }%
  \apptocmd{\maketitle}{\vspace{-6ex}}{}{\tud@patch@wrn{maketitle}}%
  \renewcommand*\subtitlefont{%
    \unskip%
    \tud@sec@fontface%
    \huge%
  }%
  \renewcommand*\preprocesstitle[1]{\raggedtitle\tud@sec@format{#1}}%
  \if@mathevorgabe%
    \undef\sectionfont%
    \undef\subsectionfont%
  \fi%
  \newcommand*\sectionfont{\bfseries\LARGE}%
  \newcommand*\subsectionfont{\sectionfont\large}%
%    \end{macrocode}
% Für die Schriftstärke in der Kopfzeile muss der Seitenstil angepasst und  
% anschließend nochmals akiviert werden.
%    \begin{macrocode}
  \patchcmd{\ps@tudposter}{\textbf{\@einrichtung}}{%
    \textbf{\fontseries{b}\selectfont\@einrichtung}%
  }{}{\tud@patch@wrn{ps@tudposter}}%
  \pagestyle{tudposter}%
}
%    \end{macrocode}
% \end{macro}^^A \ps@tudposter
% \end{macro}^^A \subsectionfont
% \end{macro}^^A \sectionfont
% \end{macro}^^A \preprocesstitle
% \end{macro}^^A \subtitlefont
% \end{macro}^^A \maketitle
% \end{KOMAfont}^^A title
%
% \begin{macro}{\tud@x@tudfonts@prevent}
% \changes{v2.06}{2018/02/14}{%
%   neu, nur einmaliges Ausführen des Fixes für \pkg{tudfonts}%
% }^^A
% \begin{macro}{\if@tudfonts@nodin}
% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
% Die Klasse \cls{tudmathposter} lädt für die Einstellungen der Schriften das 
% Paket \pkg{tudfonts}. Wenn \pkg{tudscrfonts} zum Einsatz kommen soll, ist das 
% unerwünscht, weshalb das Laden hiermit unterbunden wird.
%    \begin{macrocode}
\newcommand*\tud@x@tudfonts@prevent{%
  \RequirePackage{amsmath}%
  \RequirePackage{amsfonts}%
  \newif\if@tudfonts@nodin%
  \let\DeclareTudMathSizes\@gobblefour%
  \let\tud@x@tudfonts@prevent\relax%
}
\PreventPackageFromLoading[\tud@x@tudfonts@prevent]{tudfonts}
%    \end{macrocode}
% \end{macro}^^A \if@tudfonts@nodin
% \end{macro}^^A \tud@x@tudfonts@prevent
%
% \iffalse
%</body>
%</package&fixfonts>
% \fi
%
% \Finale
%
\endinput
