summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tudscr/source/tudscr-comp.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tudscr/source/tudscr-comp.dtx')
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-comp.dtx2265
1 files changed, 2265 insertions, 0 deletions
diff --git a/macros/latex/contrib/tudscr/source/tudscr-comp.dtx b/macros/latex/contrib/tudscr/source/tudscr-comp.dtx
new file mode 100644
index 0000000000..e2edc9dd9f
--- /dev/null
+++ b/macros/latex/contrib/tudscr/source/tudscr-comp.dtx
@@ -0,0 +1,2265 @@
+% \CheckSum{1451}
+% \iffalse meta-comment
+%
+% TUD-Script -- Corporate Design of Technische Universität Dresden
+% ----------------------------------------------------------------------------
+%
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
+%
+% ----------------------------------------------------------------------------
+%
+% 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}[2019/08/27 v2.06d 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}
+\ifpdftex{
+ \usepackage[T1]{fontenc}
+ \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+}{
+ \usepackage{fontspec}
+}
+\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@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@last}{4}
+% \end{macrocode}
+% \end{macro}^^A \tud@v@last
+% \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