summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx924
1 files changed, 924 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
new file mode 100644
index 00000000000..f4586a1d7b8
--- /dev/null
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
@@ -0,0 +1,924 @@
+% \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 \ No newline at end of file