% \CheckSum{652}
% \iffalse meta-comment
% ======================================================================
%
% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
%
% ======================================================================
% 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
% version 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,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%     http://www.latex-project.org/lppl.txt
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
% ======================================================================
% \fi
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \iffalse
%%% From File: tudscr-fonts.dtx
%<*driver>
% \fi
\ProvidesFile{tudscr-fonts.dtx}%
  [2014/04/24 v2.00 TUD-KOMA-Script (fonts)]
% \iffalse
\documentclass{tudscrdoc}
\KOMAoptions{parskip=half-}
\CodelineIndex
\RecordChanges
\GetFileInfo{tudscr-fonts.dtx}
\begin{document}
  \maketitle
  \DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% \selectlanguage{ngerman}
%
% \section{Schriften des \CDs}
%
% Für das \CD der Technischen Universität Dresden werden die Schriften Univers
% und DIN"~Bold zwingend benötigt. Zur fehlerfreien Verwendung dieser Klassen
% sollten diese bitte installiert werden. Hier werden die \LaTeX-Befehle zur
% Verwendung der Schriften im Dokument definiert. Sollen nur kurze Passagen in
% einer anderen Schrift als der restliche Text gesetzt werden, so sollten
% anstatt der einfachen Schalter wie beispielsweise \cs{univ\dots} besser die
% Befehle \cs{text\dots}\marg{Auszeichnungstext} verwendet werden.
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
%<*class&!option>
% \fi
%
% \subsection{Schriftauswahl im New Font Selection Scheme (NFSS)}
%
% \begin{macro}{\if@tud@univers}
% \begin{macro}{\tud@univers}
% \begin{macro}{\tud@dinbold}
% Die Schriftfamilie im \CD für den Fließtext und die Überschriften.
%    \begin{macrocode}
\newif\if@tud@univers
\newcommand*\tud@univers{lun}
\newcommand*\tud@dinbold{0m6}
%    \end{macrocode}
% Es wird geprüft, ob die Schriftfamilie installiert ist. Sollte dies nicht der
% Fall sein, wird eine Warnung ausgegeben und ein Rückfallebene definiert.
%    \begin{macrocode}
\def\@tempb#1{%
  \ClassWarningNoLine{\tudcls@name}{%
    #1 fonts not found. Please use on of the\MessageBreak%
    installation scripts out of the tudscr-bundle,\MessageBreak%
    which suits to your OS. A fallback layout is used%
  }%
}
\edef\@tempa{%
  \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}%
}
\@tempa{\@tud@universtrue}{\@tempb{Univers}}
%    \end{macrocode}
% \end{macro}^^A \tud@dinbold
% \end{macro}^^A \tud@univers
% \end{macro}^^A if@tud@univers
% \begin{macro}{\univln}
% \begin{macro}{\univrn}
% \begin{macro}{\univbn}
% \begin{macro}{\univxn}
% \begin{macro}{\univls}
% \begin{macro}{\univrs}
% \begin{macro}{\univbs}
% \begin{macro}{\univxs}
% Sollte die Univers installiert sein, werden mehrere Schalter zur expliziten
% Auswahl für die Schriftschnitte Univers~45~Light, Univers~55~Regular,
% Univers~65~Bold, Univers~75~Black, Univers~45~Light~Oblique,
% Univers~55~Regular~Oblique, Univers~65~Bold~Oblique sowie
% Univers~75~Black~Oblique definiert.
%    \begin{macrocode}
\if@tud@univers%
  \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
  \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
  \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}%
  \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}%
  \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}%
  \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}%
  \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
  \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
%    \end{macrocode}
% Ansonsten werden die Schalter für die Rückfallebene so definert, dass diese
% einfach nichts machen.
%    \begin{macrocode}
\else
  \newcommand*\univln{}%
  \newcommand*\univrn{}%
  \newcommand*\univbn{}%
  \newcommand*\univxn{}%
  \newcommand*\univls{}%
  \newcommand*\univrs{}%
  \newcommand*\univbs{}%
  \newcommand*\univxs{}%
\fi
%    \end{macrocode}
% \end{macro}^^A \univxs
% \end{macro}^^A \univbs
% \end{macro}^^A \univrs
% \end{macro}^^A \univls
% \end{macro}^^A \univxn
% \end{macro}^^A \univbn
% \end{macro}^^A \univrn
% \end{macro}^^A \univln
% \begin{macro}{\textuln}
% \begin{macro}{\texturn}
% \begin{macro}{\textubn}
% \begin{macro}{\textuxn}
% \begin{macro}{\textuls}
% \begin{macro}{\texturs}
% \begin{macro}{\textubs}
% \begin{macro}{\textuxs}
% Außerdem werden für die Schriften noch die entsprechenden Textauswahlbefehle
% bereitgestellt.
%    \begin{macrocode}
\DeclareTextFontCommand{\textuln}{\univln}%
\DeclareTextFontCommand{\texturn}{\univrn}%
\DeclareTextFontCommand{\textubn}{\univbn}%
\DeclareTextFontCommand{\textuxn}{\univxn}%
\DeclareTextFontCommand{\textuls}{\univls}%
\DeclareTextFontCommand{\texturs}{\univrs}%
\DeclareTextFontCommand{\textubs}{\univbs}%
\DeclareTextFontCommand{\textuxs}{\univxs}%
%    \end{macrocode}
% \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
% \begin{macro}{\dinbn}
% \begin{macro}{\textdbn}
% Schalter bzw. Befehl für die Auszeichnung von Überschriften FF~DIN~Bold. Nur, 
% falls die Schrift installiert ist, wird sie verwendet. Sonst wird eine Warnung
% erzeugt und es wird die Standardüberschrift verwendet. Bei der Auswahl der 
% Schrift wird neben dieser noch die entsprechende Mathematikschrift aktiviert.
%    \begin{macrocode}
\edef\@tempa{%
  \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}%
}
\@tempa{%
  \newcommand*\dinbn{%
    \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
    \mathversion{dinbold}%
  }%
}{%
  \@tempb{DIN-Bold}%
  \let\dinbn\sectfont%
}
\DeclareTextFontCommand{\textdbn}{\dinbn}
%    \end{macrocode}
% \end{macro}^^A \textdbn
% \end{macro}^^A \dinbn
% Die Kodierung der Mathematikschriften wird abhängig von der Eingabekodierung
% gewählt.
% \begin{macro}{\tud@mathenc}
%    \begin{macrocode}
\edef\@tempa{\encodingdefault}\def\@tempb{T1}
\ifx\@tempa\@tempb
  \def\tud@mathenc{T1}
\else
  \def\tud@mathenc{OT1}
\fi
%    \end{macrocode}
% \end{macro}^^A \tud@mathenc
% \begin{macro}{\mv@univers}
% \begin{macro}{\mv@universbold}
% Für die Mathematikschriften im FLießtext werden für die lateineischen Lettern
% die Univers"=Schriften des \CDs verwendet. Darin enthalten sind die auch die
% griechischen Buchstaben aus dem Paket \pkg{cmbright}. Zusätzlich werden aus
% dem \pkg{eulervm}"~Paket die mathematische Symbole verwendet. Es werden zwei
% Mathematikversion mit normalen sowie mit fetten Glyphen bereitgestellt. 
%    \begin{macrocode}
\DeclareMathVersion{univers}
\DeclareMathVersion{universbold}
\SetSymbolFont{operators}{univers}{\tud@mathenc}{\tud@univers}{l}{n}
\SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}
\SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}
\SetSymbolFont{largesymbols}{univers}{U}{zeuex}{m}{n}
\SetSymbolFont{operators}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}
\SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}
\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}
\SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}
\SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}
\SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}
\SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{cmtl}{m}{n}
\SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}
\SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}
\SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}
%    \end{macrocode}
% \end{macro}^^A \mv@universbold
% \end{macro}^^A \mv@univers
% \begin{macro}{\mv@dinbold}
% Auch für die Schrift DIN~Bold werden mathematische Glyphen bereitgestellt.
% Diese wurden aus dem \pkg{iwona}"=Paket entnommen. Auch die verwendeten 
% Symbole  stammen aus diesem Paket.
%    \begin{macrocode}
\DeclareMathVersion{dinbold}
\SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
\SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}
\SetSymbolFont{symbols}{dinbold}{OMS}{iwona}{ebc}{n}
\SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}
\SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
\SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
\SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}
%    \end{macrocode}
% \end{macro}^^A \mv@dinbold
% \begin{macro}{\tud@greek@upGamma}
% \begin{macro}{\tud@greek@offset}
% Damit innerhalb des Dokumentes problemlos zwischen aufrechten und kursiven 
% griechischen Buchstaben für den Mathematiksatz gewechselt werden kann, wurden
% die folgenden beiden Befehle definiert, welche vom Prinzip aus dem Paket
% \pkg{sansmath} abgekupfert sind. Es wird der Offset der Kodierung zwischen den
% kursiven und den aufrechten Glyphen in \cs{tud@greek@offset} gespeichert.
%    \begin{macrocode}
\newcount\tud@greek@upGamma
\tud@greek@upGamma\Gamma
\newcount\tud@greek@offset
\let\@tempa\relax
\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0}
\tud@greek@offset\@tempa
\advance\tud@greek@offset-\Gamma
%    \end{macrocode}
% \end{macro}^^A \tud@greek@offset
% \end{macro}^^A \tud@greek@upGamma
% \begin{macro}{\tud@greek@def}
% \begin{macro}{\tud@greek@uc}
% \begin{macro}{\tud@greek@changeshape}
% Mit \cs{tud@greek@def} erfolgt die Umkodierung einer einzelnen griechischen 
% Glyphe. Das Makro \cs{tud@greek@changeshape} arbeitet die Liste
% \cs{tud@greek@uc} ab.
%    \begin{macrocode}
\newcommand*\tud@greek@def[2]{%
  \expandafter\@tempcnta\csname #1\endcsname%
  \advance\@tempcnta#2%
  \expandafter\mathchardef\csname #1\endcsname\@tempcnta%
}
%    \end{macrocode}
% Die Liste enthält die Namen der Befehle für große griechische Buchstaben. 
% Diese wird von \cs{tud@greek@changeshape} genutzt wird.
%    \begin{macrocode}
\newcommand*\tud@greek@uc{%
  Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
}
\newcommand*\tud@greek@changeshape{%
  \@for\@tempa:=\tud@greek@uc\do{%
    \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}%
  }%
}
%    \end{macrocode}
% \end{macro}^^A \tud@greek@changeshape
% \end{macro}^^A \tud@greek@uc
% \end{macro}^^A \tud@greek@def
% \begin{macro}{\tud@greek@slanted}
% \begin{macro}{\tud@greek@upright}
% Mit \cs{tud@greek@slanted} wird die Kodierung der griechischen Majuskeln von 
% \texttt{operator} auf \texttt{letter} geändert\dots
%    \begin{macrocode}
\newcommand*\tud@greek@slanted{%
  \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi%
}
%    \end{macrocode}
% \dots und \cs{tud@greek@upright} macht alles wieder rückgängig. Dabei wird bei 
% beiden Befehlen vor der Ausführung geprüft, ob dies überhauot notwendig ist.
%    \begin{macrocode}
\newcommand*\tud@greek@upright{%
  \ifnum\Gamma>\tud@greek@upGamma%
    \tud@greek@offset=-\tud@greek@offset%
    \tud@greek@changeshape%
    \tud@greek@offset=-\tud@greek@offset%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@greek@upright
% \end{macro}^^A \tud@greek@slanted
% \begin{macro}{\upGamma}
% \begin{macro}{\upDelta}
% \begin{macro}{\upTheta}
% \begin{macro}{\upLambda}
% \begin{macro}{\upXi}
% \begin{macro}{\upPi}
% \begin{macro}{\upSigma}
% \begin{macro}{\upUpsilon}
% \begin{macro}{\upPhi}
% \begin{macro}{\upPsi}
% \begin{macro}{\upOmega}
% \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}
% In Anlehnung an verschiedene Pakete für Mathematikschriften werden die Symbole 
% für aufrechte und kursive Majuskeln der griechischen Lettern separat definert.
%    \begin{macrocode}
\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}
\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}
\DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}
\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}
\DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}
\DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}
\DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}
\DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}
\DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}
\DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}
\DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}
\DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}
\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}
\DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}
\DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}
\DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}
\DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}
\DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}
\DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}
\DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}
\DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}
\DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}
\DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}
\DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}
%    \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
% \end{macro}^^A \upOmega
% \end{macro}^^A \upPsi
% \end{macro}^^A \upPhi
% \end{macro}^^A \upUpsilon
% \end{macro}^^A \upSigma
% \end{macro}^^A \upPi
% \end{macro}^^A \upXi
% \end{macro}^^A \upLambda
% \end{macro}^^A \upTheta
% \end{macro}^^A \upDelta
% \end{macro}^^A \upGamma
% \begin{macro}{\tud@sansmath}
% \begin{macro}{\tud@serifmath}
% Die Befehle werden von der Option \opt{sansmath} verwendet, um zwischen dem
% Standard"~ und neuem Mathematiksatz hin"~ und herschalten zu können. Dabei 
% wird zum einen das Mapping der griechischen Glyphen geändert, zum anderen 
% werden die originalen Mathematikversionen überschrieben bzw. wiederhergestellt.
%    \begin{macrocode}
\newcommand*\tud@sansmath{%
  \if@tud@univers%
    \tud@cmd@store{mv@normal}%
    \tud@cmd@store{mv@bold}%
    \let\mv@normal\mv@univers%
    \let\mv@bold\mv@universbold%
    \mathversion{normal}%
  \fi%
}
\newcommand*\tud@serifmath{%
  \if@tud@univers%
    \tud@cmd@restore{mv@normal}%
    \tud@cmd@restore{mv@bold}%
    \mathversion{normal}%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@serifmath
% \end{macro}^^A \tud@sansmath
%
% \iffalse
%</class&!option>
%<*titlepage|class&option>
% \fi
%
% \begin{option}{cdfont}
% \begin{macro}{\tud@cdfont}
% Mit dieser Option wird die zentrale Benutzerschnittstelle für alle möglichen
% Schrifteinstellungen innerhalb Dokumentes geschaffen. Durch diese Option
% können sowohl die verwendete Schrift für den Fließtext, als auch die Stärke
% der Schrift geändert werden. Zusätzlich lässt sich die Verwendung von DIN~Bold 
% für die Überschriften deaktivieren. Außerdem kann eingestellt werden, ob für 
% den Mathematiksatz serifenlose Schriften zum Einsatz kommen sollen.
%    \begin{macrocode}
%<*class>
\newcommand*\tud@cdfont{0}
\TUD@key{cdfont}[true]{%
  \TUD@set@numkey{cdfont}{tud@cdfont}{%
%</class>
%<*titlepage>
\newif\if@tud@cdfonts
\newcommand*\tud@cdfont{0}
\DefineFamilyMember[TU-Dresden]{title}
\DefineFamilyKey[TU-Dresden]{title}{cdfont}[true]{%
  \FamilySetNumerical{title}{cdfont}{tud@cdfont}{%
%</titlepage>
    {false}{0},{off}{0},{no}{0},%
    {true}{1},{on}{1},{yes}{1},%
    {light}{1},{lightfont}{1},{noheavyfont}{1},%
    {heavy}{2},{heavyfont}{2},%
%<*class>
    {nodin}{3},%
    {din}{4},%
    {serifmath}{5},{serif}{5},{nosansmath}{5},{nosans}{5},%
    {sansmath}{6},{sans}{6},%
    {upgreek}{7},{uprightgreek}{7},{uprightGreek}{7},%
    {slgreek}{8},{slantedgreek}{8},{slantedGreek}{8},%
%</class>
  }{#1}%
  \ifcase \tud@cdfont\relax%
%<*class>
    \TUDoptions{cdfonts=false}%
  \or%
    \TUDoptions{cdfonts}%
    \TUDoptions{heavyfont=false}%
  \or%
    \TUDoptions{cdfonts}%
    \TUDoptions{heavyfont}%
  \or
    \TUDoptions{din=false}%
  \or
    \TUDoptions{din}%
  \or%
    \TUDoptions{sansmath=false}%
  \or%
    \TUDoptions{sansmath}%
  \or%
    \TUDoptions{slantedgreek=false}%
  \or%
    \TUDoptions{slantedgreek}%
%</class>
%<*titlepage>
    \@tud@cdfontsfalse%
  \else%
    \@tud@cdfontstrue%
%</titlepage>
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@cdfont
% \end{option}^^A cdfont
%
% \iffalse
%</titlepage|class&option>
%<*class&option>
% \fi
%
% \begin{option}{cdfonts}
% \begin{option}{tudfonts}
% \begin{macro}{\if@tud@cdfonts}
% Diese Option dient zum Umschalten auf die Schriften des \CDs für den Fließtext.
%    \begin{macrocode}
\newif\if@tud@cdfonts
\TUD@key{cdfonts}[true]{%
  \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}%
  \if@atdocument%
%    \end{macrocode}
% Wird die Option innerhalb nach der Präambel angewendet, erfolgt die Umsetzung
% sofort. Entweder es werden die Schriften des \CDs verwendet, welcher durch
% \cs{tud@font@cdfonts} aktiviert werden oder\dots
%    \begin{macrocode}
    \if@tud@cdfonts%
      \tud@font@cdfonts%
%    \end{macrocode}
% \dots es wird bei entsprechender Option auf die zu Dokumentbeginn gesicherten
% Schriften\footnote{mit und ohne Serifen} zurückgeschaltet.
%    \begin{macrocode}
    \else%
      \tud@cmd@restore{rmdefault}%
      \tud@cmd@restore{sfdefault}%
      \tud@cmd@restore{ttdefault}%
      \tud@cmd@restore{bfdefault}%
      \tud@cmd@restore{mddefault}%
      \tud@cmd@restore{itdefault}%
      \tud@cmd@restore{familydefault}%
      \tud@cmd@restore{seriesdefault}%
      \tud@cmd@restore{shapedefault}%
      \tud@cmd@restore{mdseries@rm}%
      \tud@cmd@restore{bfseries@rm}%
      \tud@cmd@restore{mdseries@sf}%
      \tud@cmd@restore{bfseries@sf}%
      \tud@cmd@restore{mdseries@tt}%
      \tud@cmd@restore{bfseries@tt}%
      \edef\rmdef@ult{\rmdefault}
      \edef\sfdef@ult{\sfdefault}
      \edef\ttdef@ult{\ttdefault}
      \edef\bfdef@ult{\bfdefault}
      \edef\mddef@ult{\mddefault}
      \normalfont\selectfont%
    \fi%
%    \end{macrocode}
% Da der Befehl \cs{tud@layout@process} auf jeden Fall mit \cs{AfterEndPreamble}
% verzögert ausgeführt wird, muss dies bei der Wahl der Option nur nach der
% Präambel, also im Dokument selbst neuerlich erfolgen.
%    \begin{macrocode}
    \tud@layout@process%
%    \end{macrocode}
% Die Einstellungen der Mathematikschriften sind~-- momentan~-- nur innerhalb
% der Präambel verfügbar. Es kann eingestellt werden, ob Serifenlose aus der
% zu Dokumentbeginn verwendeten Schrift für den Mathematiksatz genutzt werden
% sollen. Das Standardverhalten ist anhängig davon, welche Schriften für den
% Fließtext Verwendung finden.
%    \begin{macrocode}
  \else%
%    \end{macrocode}
% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs
% ~-- falls nicht anders durch den Anwender definiert~-- auf Serifenlose
% gesetzt. Außerdem wird das \pkg{cmbright}-Paket für den Satz der griechischen
% Buchstaben genutzt.
%    \begin{macrocode}
    \if@tud@cdfonts%
      \TUD@std@ifkey@lock{sansmath}{true}%
      \TUD@std@ifkey@lock{slantedgreek}{true}%
    \else%
      \TUD@std@ifkey@lock{sansmath}{false}%
      \TUD@std@ifkey@lock{slantedgreek}{false}%
    \fi%
  \fi%
}
%    \end{macrocode}
% Diese Option wird nur aus Gründen der Kombatibilität zu v1.0 definiert.
%    \begin{macrocode}
\TUD@key{tudfonts}[true]{%
  \TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
  \if@tempswa%
    \TUDoptions{cdfonts=true}%
  \else%
    \TUDoptions{cdfonts=false}%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@cdfonts
% \end{option}^^A tudfonts
% \end{option}^^A cdfonts
%
% \iffalse
%</class&option>
%<*class&!option>
% \fi
%
% \begin{macro}{\tud@font@cdfonts}
% Mit diesem Befehl werden die Schriften des \CDs aktiviert.
%    \begin{macrocode}
\newcommand*\tud@font@cdfonts{%
%    \end{macrocode}
% Dabei werden die Schnitte der Schriften
%    \begin{macrocode}
  \tud@cmd@store{rmdefault}%
  \tud@cmd@store{sfdefault}%
  \tud@cmd@store{ttdefault}%
  \tud@cmd@store{bfdefault}%
  \tud@cmd@store{mddefault}%
  \tud@cmd@store{itdefault}%
  \tud@cmd@store{familydefault}%
  \tud@cmd@store{seriesdefault}%
  \tud@cmd@store{shapedefault}%
  \tud@cmd@store{mdseries@rm}%
  \tud@cmd@store{bfseries@rm}%
  \tud@cmd@store{mdseries@sf}%
  \tud@cmd@store{bfseries@sf}%
  \tud@cmd@store{mdseries@tt}%
  \tud@cmd@store{bfseries@tt}%
  \if@tud@univers%
    \if@tud@heavyfont%
      \def\bfseries@rm{b}%
      \def\bfseries@sf{b}%
      \def\mdseries@rm{m}%
      \def\mdseries@sf{m}%
      \renewcommand*\bfdefault{b}%
      \renewcommand*\mddefault{m}%
    \else%
      \def\bfseries@rm{m}%
      \def\bfseries@sf{m}%
      \def\mdseries@rm{l}%
      \def\mdseries@sf{l}%
      \renewcommand*\bfdefault{m}%
      \renewcommand*\mddefault{l}%
    \fi%
    \renewcommand*\sfdefault{\tud@univers}%
  \else%
    \def\bfseries@rm{bx}%
    \def\bfseries@sf{bx}%
    \def\mdseries@rm{m}%
    \def\mdseries@sf{m}%
    \renewcommand*\bfdefault{bx}%
    \renewcommand*\mddefault{m}%
  \fi%
  \renewcommand*\rmdefault{\sfdefault}%
  \renewcommand*\familydefault{\sfdefault}%
  \renewcommand*\seriesdefault{\mddefault}%
  \renewcommand*\shapedefault{\updefault}%
%    \end{macrocode}
% Als \texttt{typewriter}"=Schriften kommen selbige aus dem \pkg{cmbright}-Paket
% zum Einsatz.
%    \begin{macrocode}
  \renewcommand{\ttdefault}{cmtl}%
%    \end{macrocode}
% Es folgen Einstellungen für das \pkg{mweights}-Paket.
%    \begin{macrocode}
  \def\bfseries@tt{m}%
  \def\mdseries@tt{m}%
  \edef\rmdef@ult{\rmdefault}%
  \edef\sfdef@ult{\sfdefault}%
  \edef\ttdef@ult{\ttdefault}%
  \edef\bfdef@ult{\bfdefault}%
  \edef\mddef@ult{\mddefault}%
  \normalfont\selectfont%
}
%    \end{macrocode}
% \end{macro}^^A \tud@font@cdfonts
% \begin{macro}{\tud@font@mathfonts}
% Mit diesem Befehl werden die Einstellungen für den Mathematiksatz übernommen.
%    \begin{macrocode}
\newcommand*\tud@font@mathfonts{%
  \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi%
  \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi%
  \mathversion{normal}%
}
%    \end{macrocode}
% \end{macro}^^A \tud@font@mathfonts
%
% \iffalse
%</class&!option>
%<*class&option>
% \fi
%
% \begin{option}{heavyfont}
% \begin{macro}{\if@tud@heavyfont}
% Hiermit lässt sich die Schriftstärke im Dokument beeinflussen.
%    \begin{macrocode}
\newif\if@tud@heavyfont
\TUD@key{heavyfont}[true]{%
  \if@tud@cdfonts%
    \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}%
    \if@atdocument\tud@font@cdfonts\fi%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@heavyfont
% \end{option}^^A heavyfont
% \begin{option}{din}
% \begin{macro}{\if@tud@din}
% Diese Option dient zur Auswahl, ob die Schrift DIN~Bold für die Überschriften 
% verwendet werden soll.
%    \begin{macrocode}
\newif\if@tud@din\@tud@dintrue
\TUD@ifkey{din}{@tud@din}
%    \end{macrocode}
% \end{macro}^^A \if@tud@din
% \end{option}^^A din
%
% \subsection{Schriften für den Mathematiksatz}
%
% Da die Schriften des \CDs keinen Mathematiksatz beeinhalten, musste~--
% insbesondere für griechische Symbole~-- eine passende Alternative gefunden
% werden. Die Auswahl an Mathematikschriften für \LaTeX{} ist relativ gering.
% Dennoch schien das \pkg{cmbright}-Paket dafür geeignet, weshalb dieses direkt
% bei der Installation der Schriften eingebunden wurde.
% \begin{option}{sansmath}
% \begin{macro}{\if@tud@sansmath}
% \begin{macro}{\if@tud@sansmath@locked}
% Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz
% für das gesamte Dokument umgestellt werden.
%    \begin{macrocode}
\newif\if@tud@sansmath
\TUD@key@lock{sansmath}[true]{%
  \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}%
  \if@atdocument\tud@font@mathfonts\fi%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@sansmath@locked
% \end{macro}^^A \if@tud@sansmath
% \end{option}^^A sansmath
% \begin{option}{slantedgreek}
% \begin{macro}{\if@tud@slantedgreek}
% \begin{macro}{\if@tud@slantedgreek@locked}
% Mit dieser Option kann die Neigung der griechischen Majuskeln geändert werden.
%    \begin{macrocode}
\newif\if@tud@slantedgreek
\TUD@key@lock{slantedgreek}[true]{%
  \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}%
  \if@atdocument\tud@font@mathfonts\fi%
}
%    \end{macrocode}
% \end{macro}^^A \if@tud@slantedgreek@locked
% \end{macro}^^A \if@tud@slantedgreek
% \end{option}^^A slantedgreek
%
% \iffalse
%</class&option>
%<*titlepage|class&!option>
% \fi
%
% \begin{macro}{\tud@head@font@set}
% \begin{macro}{\tud@head@font@bold}
% \begin{macro}{\tud@head@font@light}
% Die Schrift der Kopfzeile wird entweder in den Schriften des \CDs oder aber in 
% den serifenlosen Standardschriften gesetzt, wobei für beide Varianten sowohl
% eine fettgedruckte als auch eine normale Version benötigt wird. Die Schrifthöhe
% ist durch das \CD unabhängig von der gewählten Schriftgröße im Dokument
% vorgegeben und wird in Abhängigkeit von der Papiergröße gewählt und in
% \cs{tud@head@font@size} gespeichert.
%    \begin{macrocode}
\newcommand*\tud@head@font@set{%
  \DeclareFixedFont{\tud@head@font@bold}%
    {\encodingdefault}{\sfdefault}{bx}{n}{\tud@head@font@size}%
  \DeclareFixedFont{\tud@head@font@light}%
%<*class>
    {\encodingdefault}{\sfdefault}{\mdseries@sf}{n}{\tud@head@font@size}%
  \if@tud@cdfonts\if@tud@univers%
%</class>
%<*titlepage>
    {\encodingdefault}{\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
  \if@tud@cdfonts%
%</titlepage>
    \DeclareFixedFont{\tud@head@font@bold}%
      {\encodingdefault}{\tud@univers}{b}{n}{\tud@head@font@size}%
    \DeclareFixedFont{\tud@head@font@light}%
%<*class>
      {\encodingdefault}{\tud@univers}{\mdseries@sf}{n}{\tud@head@font@size}%
  \fi\fi%
%</class>
%<*titlepage>
      {\encodingdefault}{\tud@univers}{\mddefault}{n}{\tud@head@font@size}%
  \fi%
%</titlepage>
}
%    \end{macrocode}
% \end{macro}^^A \tud@head@font@light
% \end{macro}^^A \tud@head@font@bold
% \end{macro}^^A \tud@head@font@set
%
% \iffalse
%<*class>
% \fi
%
% Damit die Schrift im Dokument später noch umgestellt werden kann, werden
% sämtliche Einstellungen erst zu Beginn des Dokumentes gesichert. Deshalb wird
% der dafür verantwortliche Befehl \cs{tud@font@cdfonts} hier zum ersten Mal
% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie
% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu
% aktivieren. Auch die Einstellungen für den Mathematiksatz werden erstmalig 
% durch \cs{tud@font@mathfonts} gesetzt.
%    \begin{macrocode}
\AtBeginDocument{\if@tud@cdfonts\tud@font@cdfonts\fi\tud@font@mathfonts}
%    \end{macrocode}
% Das Paket \pkg{cmbright} bringt zusätzlich noch Schriftschnitte für die
% \pkg{ams}"=Pakete mit. Diese werden gegebenenfalls geladen.
%    \begin{macrocode}
\AfterPackage{amsfonts}{%
  \DeclareFontFamily{U}{msa}{}%
  \DeclareFontShape{U}{msa}{m}{n}{%
    <-9>cmbras8%
    <9-10>cmbras9%
    <10->cmbras10%
  }{}%
  \DeclareFontFamily{U}{msb}{}%
  \DeclareFontShape{U}{msb}{m}{n}{%
    <-9>cmbrbs8%
    <9-10>cmbrbs9%
    <10->cmbrbs10%
  }{}%
}
%    \end{macrocode}
%
% \subsection{fontspec}
% \todo{%
%   Ist die Verwendung von \pkg{fontspec} für LuaTeX bzw. XeTeX sinnvoll und 
%   zügig umsetzbar? Wie geht man mit den Mathematikschriften um?%
% }
%
% Die Möglichkeit, Open Type Schriften aus dem System sehr einfach mit dem Paket
% \pkg{fontspec} für \hologo{LuaLaTeX} bzw. \hologo{XeLaTeX} einzubinden, wird
% momentan noch nicht genutzt. Eine Schriftinstallation via Skript wäre damit
% obsolet. Allerdings sind die PostScript"=Schriften für die Kompilierung via
% \texttt{latex $\rightarrow$ dvips $\rightarrow$ ps2pdf}~-- wie es z.\,B. für
% die Erstellung von Grafiken mit \pkg{pstricks} notwendig ist~-- auch weiterhin
% nötig.
%
% Ebenfalls ungeklärt ist momentan, wie mit den Mathematikschriften umgegangen 
% werden müsste. Ebenfalls ist nicht sicher, wie die Problematik mit falschem 
% Kerning der Schriften ideal gelöst werden könnte. Da mittlerweile auch die 
% skriptbasierte Installation der PostScript"=Schriften gut funktioniert, ist 
% eine Implementierung momentan nicht vorgesehen.
% ^^A% \if@tud@heavyfont%
% ^^A%   \setmainfont[%
% ^^A%     BoldFont = Univers Bold,%
% ^^A%     ItalicFont = Univers Light Oblique,%
% ^^A%     BoldItalicFont = Univers Bold Oblique,%
% ^^A%   ]{Univers Light}%
% ^^A% \else%
% ^^A%   \setmainfont[%
% ^^A%     BoldFont = Univers Black,%
% ^^A%     ItalicFont = Univers Oblique,%
% ^^A%     BoldItalicFont = Univers Black Oblique,%
% ^^A%   ]{Univers}%
% ^^A% \fi%
% ^^A% \iflua
% ^^A% \newfontface\univln{Univers Light}
% ^^A% \newfontface\univrn{Univers}
% ^^A% \newfontface\univbn{Univers Bold}
% ^^A% \newfontface\univxn{Univers Black}
% ^^A% \newfontface\univls{Univers Light Oblique}
% ^^A% \newfontface\univrs{Univers Oblique}
% ^^A% \newfontface\univbs{Univers Bold Oblique}
% ^^A% \newfontface\univxs{Univers Black Oblique}
% ^^A% \newfontface\@dinbn{DIN Bold}
% ^^A% \newcommand*\dinbn{\@dinbn\tud@raggedright}
% ^^A% \else
% ^^A% \newcommand*\univln{\usefont{\encodingdefault}{\tud@font}{l}{n}}
% ^^A% \newcommand*\univrn{\usefont{\encodingdefault}{\tud@font}{m}{n}}
% ^^A% \newcommand*\univbn{\usefont{\encodingdefault}{\tud@font}{b}{n}}
% ^^A% \newcommand*\univxn{\usefont{\encodingdefault}{\tud@font}{eb}{n}}
% ^^A% \newcommand*\univls{\usefont{\encodingdefault}{\tud@font}{l}{sl}}
% ^^A% \newcommand*\univrs{\usefont{\encodingdefault}{\tud@font}{m}{sl}}
% ^^A% \newcommand*\univbs{\usefont{\encodingdefault}{\tud@font}{b}{sl}}
% ^^A% \newcommand*\univxs{\usefont{\encodingdefault}{\tud@font}{eb}{sl}}
% ^^A% \fi
% ^^A% \DeclareTextFontCommand{\textuln}{\univln}
% ^^A% \DeclareTextFontCommand{\texturn}{\univrn}
% ^^A% \DeclareTextFontCommand{\textubn}{\univbn}
% ^^A% \DeclareTextFontCommand{\textuxn}{\univxn}
% ^^A% \DeclareTextFontCommand{\textuls}{\univls}
% ^^A% \DeclareTextFontCommand{\texturs}{\univrs}
% ^^A% \DeclareTextFontCommand{\textubs}{\univbs}
% ^^A% \DeclareTextFontCommand{\textuxs}{\univxs}
% ^^A% \DeclareTextFontCommand{\textdbn}{\dinbn}
% ^^A% \usepackage{unicode-math}
% ^^A% \setmathfont{Latin Modern Math}
%
% \iffalse
%</class>
% \fi
%
% \subsection{Kompatibilitätseinstellungen}
%
% \begin{macro}{\tud@raggedright}
% \begin{macro}{\tud@RaggedRight}
% Die Überschriften in DIN"~Bold sollen laut \CD linksbündig und nie mit
% Silbentrennung gesetzt werden. Normalerweise ist das dies beim linksbündigen
% Satz bei \LaTeX{} der Fall. Allerdings ist es mit dem Paket \pkg{ragged2e}
% möglich, das Verhalten für den Flattersatz zu ändern und die Silbentrennung
% zu aktivieren. Mit der Option \opt{newcommands} werden dabei die originalen
% Befehle überschrieben, vorher jedoch in \cs{LaTeX\dots} gesichert. Dieses
% Makro dient dazu, die Überschriften in jedem Fall~-- auch bei der Verwendung
% von \pkg{ragged2e} mit der Option \opt{newcommands}~-- ohne Trennungen zu
% setzen.
%    \begin{macrocode}
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage{ragged2e}{%
  \ifdef{\LaTeXraggedright}%
    {\renewcommand*\tud@raggedright{\LaTeXraggedright}}{}%
  \renewcommand*\tud@RaggedRight{\RaggedRight}
}
%    \end{macrocode}
% \end{macro}^^A \tud@ragged2e
% \end{macro}^^A \tud@raggedright
%
% \iffalse
%</titlepage|class&!option>
% \fi
%
% \Finale
%
\endinput