summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-07-02 22:12:17 +0000
committerKarl Berry <karl@freefriends.org>2015-07-02 22:12:17 +0000
commit586aedcf63ecf6ea7da1c1529e5ea5ba8f5cb426 (patch)
treeb679941add6df7f6b1ee8c135b24181f992dcb65 /Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
parentfecdcd43eaa7f73e830159293fe22a202803086b (diff)
tudscr (2jul15)
git-svn-id: svn://tug.org/texlive/trunk@37736 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx2483
1 files changed, 1837 insertions, 646 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
index d716c031a6b..7fa676b88e6 100644
--- a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{1097}
+% \CheckSum{1300}
% \iffalse meta-comment
%
% ============================================================================
@@ -51,14 +51,18 @@
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-fonts.dtx}[%
- 2015/02/19 v2.03a TUD-KOMA-Script\space%
+ 2015/06/12 v2.04 TUD-KOMA-Script\space%
%</driver>
-%<package&identify>\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-%<package&identify>\ProvidesPackage{tudscrfonts}[%
+%<package&identify>\NeedsTeXFormat{LaTeX2e}
+%<package&identify>\ProvidesPackage{%
+%<package&identify&!fontsizes> tudscrfonts%
+%<package&identify&fontsizes> tudscrfontsizes%
+%<package&identify>}[%
%<*driver|package&identify>
%!TUDVersion
%<package> package
- (corporate design fonts)%
+%<!fontsizes> (corporate design fonts)%
+%<fontsizes> (creatings fontsize files)%
]
%</driver|package&identify>
%<*driver>
@@ -81,12 +85,12 @@
%
% \selectlanguage{ngerman}
%
-% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A
-% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A
-% \changes{v2.02}{2014/08/29}{Verwendung von \pkg{mweights} entfernt}%^^A
-% \changes{v2.02}{2014/08/29}{Unterstützung für \pkg{fontspec}}%^^A
-% \changes{v2.02}{2014/09/30}{\pkg{tudscrfonts} Nutzung alter tud-Klassen
-% mit neuen Schriftfamilien ermöglicht}%^^A
+% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}^^A
+% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}^^A
+% \changes{v2.02}{2014/08/29}{Verwendung von \pkg{mweights} entfernt}^^A
+% \changes{v2.02}{2014/08/29}{Unterstützung für \pkg{fontspec}}^^A
+% \changes{v2.04}{2015/02/27}{Interaktion mit Paketen insbesondere für
+% den Mathematiksatz verbessert}^^A
%
% \section{Schriften des \CDs}
%
@@ -98,17 +102,25 @@
% anstatt der einfachen Schalter wie beispielsweise \cs{univ\dots} besser die
% Befehle \cs{text\dots}\marg{Auszeichnungstext} verwendet werden.
%
+% Die Schriften des \CDs können nicht nur mit den \TUDScript-Klassen sondern
+% auch mit anderen \LaTeX-Dokumentklassen verwendet werden. Hierfür wird das
+% Paket \pkg{tudscrfonts} bereitgestellt. Damit kann auf die Installtion der
+% Schriftfamilien für die alten Klassen verzichtet werden. Im Vergleich zu
+% dieser Installation werden dabei fehlende Glyphen ergänzt und Probleme beim
+% Kerning behoben.
+%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
+%<*!fontsizes>
%<*class&option>
% \fi
%
-% \subsection{Verwendbarkeit des Paketes \pkg{tudscrfonts}}
+% \subsection{Verwendbarkeit und Nutzung des Paketes \pkg{tudscrfonts}}
%
% \begin{macrocode}
\PreventPackageFromLoading[%
- \ClassWarning{\tudcls@name}{%
+ \ClassWarning{\TUDClassName}{%
The package `tudscrfonts' must not be used with\MessageBreak%
a TUD-KOMA-Script class%
}%
@@ -120,55 +132,16 @@
%<*package&identify>
% \fi
%
-% \subsection{Verwendung alter TUD-Klassen oder \TUDScript~v1.0}
-%
-% Das Paket kann genutzt werden, um alle möglichen veralteten Klassen mit den
-% neuen Schriftfamilien zu verwenden.
-% \begin{macro}{\if@tud@oldclass}
-% \changes{v2.02}{2014/08/29}{neu}%^^A
-% \begin{macro}{\if@tud@oldscrclass}
-% \changes{v2.02}{2014/08/29}{neu}%^^A
-% \begin{macrocode}
-\newif\if@tud@oldclass
-\newif\if@tud@oldscrclass
-% \end{macrocode}
-% Wenn eine der alten Klassen aus den Vorlagen von Klaus Bergmann geladen
-% wurde, wird dies für spätere Anpassungen registriert.
-% \ToDo{Klassen tudmathposter und tudposter einpflegen,
-% \cs{tudfont\marg{\dots}}, besser \cs{cdfont} für Klassen und Paket}[v2.04]
-% \ToDo{Klasse tudbeamer einpflegen}[v2.xx]
-% \begin{macrocode}
-\@ifclassloaded{tudbook}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudbeamer}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudfax}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudform}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudhaus}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudletter}{\@tud@oldclasstrue}{}%
-% \end{macrocode}
-% Soll das Paket \pkg{tudscrfonts} mit den \TUDScript-Klassen der Version~v1.0
-% genutzt werden, muss Sorge dafür getragen werden, dass einige veraltete
-% Befehle aktualisiert werden. Hierfür müssen diese \enquote{unschädlich}
-% gemacht werden, noch bevor das Paket selbst in Erscheinung tritt.
-% \begin{macrocode}
-\@ifclassloaded{tudscrbookold}{\@tud@oldscrclasstrue}{}%
-\@ifclassloaded{tudscrreprtold}{\@tud@oldscrclasstrue}{}%
-\@ifclassloaded{tudscrartclold}{\@tud@oldscrclasstrue}{}%
-\if@tud@oldscrclass
- \let\TUDoptions\relax
- \let\TUDoption\relax
- \let\univln\relax
- \let\univrn\relax
- \let\univbn\relax
- \let\univxn\relax
- \let\univls\relax
- \let\univrs\relax
- \let\univbs\relax
- \let\univxs\relax
- \let\dinbn\relax
+% Sollte keine \KOMAScript-Klasse genutzt werden, wird zusätzlich das Paket
+% \pkg{scrextend} benötigt. Das Paket \pkg{trimspaces} ist für die alternative
+% Schriftauswahl mit \cs{cdfont} bzw. \cs{textcdfont} notwendig.
+% \begin{macrocode}
+\ifcsname KOMAClassName\endcsname\else%
+ \RequirePackage{scrextend}[2013/12/19]%
\fi
+\RequirePackage{trimspaces}[2009/09/17]
% \end{macrocode}
-% \end{macro}^^A if@tud@oldscrclass
-% \end{macro}^^A if@tud@oldclass
+%
% \iffalse
%</package&identify>
%<*(class|package)&option>
@@ -186,20 +159,20 @@
% zu bevorzugen. Trotzdem werden beide Varianten, die Schriftfamilie des \CDs
% für den Fließtext und die Überschriften zu verwenden, angeboten.
% \begin{option}{fontspec}
-% \changes{v2.02}{2014/08/29}{neu}%^^A
+% \changes{v2.02}{2014/08/29}{neu}^^A
% \begin{macro}{\if@tud@fontspec}
-% \changes{v2.02}{2014/08/29}{neu}%^^A
+% \changes{v2.02}{2014/08/29}{neu}^^A
% \begin{macro}{\if@tud@univers}
% \begin{macro}{\if@tud@dinbold}
-% \changes{v2.02}{2014/08/29}{neu}%^^A
+% \changes{v2.02}{2014/08/29}{neu}^^A
% \begin{macro}{\tud@univers}
% \begin{macro}{\tud@dinbold}
% \begin{macro}{\tud@mathenc}
-% \changes{v2.03a}{2015/02/19}{entfernt}%^^A
+% \changes{v2.04}{2015/02/19}{entfernt}^^A
% Mit der Option \opt{fontspec} kann die explizite Verwendung des Paketes
-% \pkg{fontspec} aktiviert werden. Nur so ist eine vollständige Anpassung der
-% Schriften an die Funktionalitäten des Paketes möglich. Zu Beginn werden
-% Schalter und Hilfsmakros definiert.
+% \pkg{fontspec} aktiviert werden. Alternativ kann das Paket auch durch den
+% Nutzer selbst geladen werden. Zu Beginn werden Schalter und Hilfsmakros
+% definiert.
% \begin{macrocode}
\newif\if@tud@univers
\newif\if@tud@dinbold
@@ -210,6 +183,16 @@
% \begin{macrocode}
\newif\if@tud@fontspec
\TUD@key{fontspec}[true]{%
+%<*class>
+ \ClassWarning{\TUDClassName}%
+%</class>
+%<*package>
+ \PackageWarning{tudscrfonts}
+%</package>
+ {%
+ The option key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
+ }%
\TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
}
% \end{macrocode}
@@ -224,18 +207,18 @@
\AtEndOfPackage%
%</package>
{%
- \TUD@key{fontspec}[]
+ \TUD@key{fontspec}[]%
{%
%<*class>
- \ClassError{\tudcls@name}
+ \ClassError{\TUDClassName}%
%</class>
%<*package>
- \PackageError{tudscrfonts}
+ \PackageError{tudscrfonts}%
%</package>
{Option `fontspec' too late}{%
Option `fontspec' can only be set while loading the\MessageBreak%
%<*class>
- class `\tudcls@name'
+ class `\TUDClassName'
%</class>
%<*package>
package `tudscrfonts'
@@ -244,123 +227,246 @@
}%
\FamilyKeyStateProcessed%
}%
-%<*package>
- \@ifpackageloaded{fontspec}{%
- \PackageError{tudscrfonts}{Package `fontspec' too early}{%
- When using the option `fontspec' you must not load\MessageBreak%
- the package `fontspec' before `tudscrfonts'.%
- }%
- }{}
-%</package>
\if@tud@fontspec%
- \PreventPackageFromLoading[%
-%<*class>
- \ClassWarning{\tudcls@name}%
-%</class>
-%<*package>
- \PackageWarning{tudscrfonts}%
-%</package>
- {%
- You must not load the package `fontspec' as it is\MessageBreak%
- loaded automatically at the end of the preamble.\MessageBreak%
- If you want to pass options to `fontspec' use\MessageBreak%
- `\string\PassOptionsToPackage{<option list>}{fontspec}'
- }%
- ]{fontspec}
+ \RequirePackage{fontspec}[2014/06/21]%
\fi%
}
% \end{macrocode}
-% Anschließend erfolgt die Verarbeitung der Option am Ende der Klasse. Zu
-% allererst wird die Kodierung der Mathematikschriften für den weiteren Verlauf
-% festgelegt. Da es so gut wie keine freien OpenType"=Schriften für den
-% mathmatischen Formelsatz gibt, werden unabhängig vom Status der Option
-% \opt{fontspec} \emph{immer} die PostScript"=Schriften verwendet, falls diese
-% installiert sind.
+% Sobald das Paket \opt{fontspec} manuell geladen wurde, wird auch der passende
+% Schlüssel gesetzt.
% \begin{macrocode}
-\AtEndPreamble{%
+\AfterPackage*{fontspec}{\@tud@fontspectrue}
% \end{macrocode}
-% Es wird überprüft, ob die PostScript"=Schriften installiert sind. Wird das
-% Paket \pkg{fontspec} verwendet, werden diese nur für die Mathematikschriften
-% verwendet. Sollte diese nicht vorhanden sein, wird eine Warnung ausgegeben.
-% Ist die Option \opt{fontspec} nicht aktiviert, wird beim Nichtvorhandensein
-% der Schriften eine Warnung ausgegeben und eine Rückfallebene definiert.
-% \begin{macrocode}
+% \end{macro}^^A \tud@mathenc
+% \end{macro}^^A \tud@dinbold
+% \end{macro}^^A \tud@univers
+% \end{macro}^^A if@tud@dinbold
+% \end{macro}^^A if@tud@univers
+% \end{macro}^^A \if@tud@fontspec
+% \end{option}^^A fontspec
+%
+% \iffalse
+%</(class|package)&option>
+%<*(class|package)&body>
+% \fi
+%
+% \begin{macro}{\tud@font@greek@loop}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% Um ggf. Anpassungen an den griechischen Majuskeln vornehmenzu können, wird
+% das Makro \cs{tud@font@greek@loop} definert, mit dem eine Namensliste der
+% Buchstaben durchlaufen wird.
+% \begin{macrocode}
+\newcommand*\tud@font@greek@loop[1]{%
+ \@for\@tempa:={%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+ }\do{#1{\@tempa}}%
+}
+% \end{macrocode}
+% \end{macro}^^A \tud@font@greek@loop
+% \begin{macro}{\tud@font@greek@declare}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Gamma}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Delta}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Theta}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Lambda}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Xi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Pi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Sigma}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Upsilon}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Phi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@Psi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upOmega}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upGamma}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upDelta}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upTheta}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upLambda}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upXi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upPi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upSigma}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upUpsilon}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upPhi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upPsi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@upOmega}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varGamma}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varDelta}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varTheta}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varLambda}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varXi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varPi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varSigma}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varUpsilon}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varPhi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varPsi}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@varOmega}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% In Anlehnung an verschiedene Pakete für Mathematikschriften werden Symbole
+% für aufrechte und kursive Majuskeln der griechischen Lettern definiert. Damit
+% auch bei diesen Buchstaben ein Umschalten für die unterschiedlichen Schriften
+% möglich ist, wird eine interne Version definiert und im Bedarfsfall der
+% dazugehörige \LaTeX-Befehl mit dieser überschrieben.
+% \begin{macrocode}
+\newcommand*\tud@font@greek@declare[1]{%
+ \edef\@tempb{%
+ \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
+ {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
+ }\@tempb%
+ \edef\@tempb{%
+ \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
+ {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
+ }\@tempb%
+ \csletcs{tud@#1}{tud@up#1}%
+ \advance \@tempcnta by 1%
+}
+\@tempcnta=\z@\relax
+\tud@font@greek@loop\tud@font@greek@declare
+% \end{macrocode}
+% \end{macro}^^A \tud@varOmega
+% \end{macro}^^A \tud@varPsi
+% \end{macro}^^A \tud@varPhi
+% \end{macro}^^A \tud@varUpsilon
+% \end{macro}^^A \tud@varSigma
+% \end{macro}^^A \tud@varPi
+% \end{macro}^^A \tud@varXi
+% \end{macro}^^A \tud@varLambda
+% \end{macro}^^A \tud@varTheta
+% \end{macro}^^A \tud@varDelta
+% \end{macro}^^A \tud@varGamma
+% \end{macro}^^A \tud@upOmega
+% \end{macro}^^A \tud@upPsi
+% \end{macro}^^A \tud@upPhi
+% \end{macro}^^A \tud@upUpsilon
+% \end{macro}^^A \tud@upSigma
+% \end{macro}^^A \tud@upPi
+% \end{macro}^^A \tud@upXi
+% \end{macro}^^A \tud@upLambda
+% \end{macro}^^A \tud@upTheta
+% \end{macro}^^A \tud@upDelta
+% \end{macro}^^A \tud@upGamma
+% \end{macro}^^A \tud@Omega
+% \end{macro}^^A \tud@Psi
+% \end{macro}^^A \tud@Phi
+% \end{macro}^^A \tud@Upsilon
+% \end{macro}^^A \tud@Sigma
+% \end{macro}^^A \tud@Pi
+% \end{macro}^^A \tud@Xi
+% \end{macro}^^A \tud@Lambda
+% \end{macro}^^A \tud@Theta
+% \end{macro}^^A \tud@Delta
+% \end{macro}^^A \tud@Gamma
+% \end{macro}^^A \tud@font@greek@declare
+% \begin{macro}{\tud@font@check}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% Mit diesem Makro wird überprüft, ob die relevanten PostScript"=Schriften
+% Univers und DIN~Bold installiert sind. Beim Nichtvorhandensein der Schriften
+% wird im Normalfall eine Warnung ausgegeben und eine Rückfallebene definiert.
+% Wird das Paket \pkg{fontspec} verwendet, werden die Schriften nur für den
+% Mathematiksatz verwendet. Sollten diese nicht vorhanden sein, wird eine
+% Info in die Log-Datei geschrieben.
+% \begin{macrocode}
+\newcommand*\tud@font@check{%
\if@tud@fontspec%
\edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{OT1\tud@univers.fd}}%
+ \lowercase{\noexpand\IfFileExists{OT1\tud@univers.fd}}%
+ }%
+ \edef\@tempb{%
+ \lowercase{\noexpand\IfFileExists{OT1\tud@dinbold.fd}}%
}%
- \def\@tempb#1{%
+ \def\@tempc##1{%
%<*class>
- \ClassInfoNoLine{\tudcls@name}{%
+ \ClassInfoNoLine{\TUDClassName}%
%</class>
%<*package>
- \PackageInfoNoLine{tudscrfonts}{%
+ \PackageInfoNoLine{tudscrfonts}%
%</package>
- `#1' fonts not found for math typesetting%
+ {%
+ `##1' fonts for math typesetting not found\MessageBreak%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual%
}%
}%
\else%
\edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}%
+ \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@univers.fd}}%
+ }%
+ \edef\@tempb{%
+ \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@dinbold.fd}}%
}%
- \def\@tempb#1{%
+ \def\@tempc##1{%
+ \@tempswafalse%
+ \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}
+ \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}
%<*class>
- \ClassWarningNoLine{\tudcls@name}{%
+ \ClassWarningNoLine{\TUDClassName}%
%</class>
%<*package>
- \PackageWarningNoLine{tudscrfonts}{%
+ \PackageWarningNoLine{tudscrfonts}%
%</package>
- `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
- Please use on of the installation scripts out of the\MessageBreak%
- tudscr-bundle, which suits to your OS or choose a\MessageBreak%
- possible encoding. A fallback layout is used%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
+ \if@tempswa%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual.\MessageBreak%
+ \else%
+ Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
+ \fi%
+ A fallback layout is used%
}%
}%
\fi%
- \@tempa{\@tud@universtrue}{\@tempb{Univers}}%
-% \end{macrocode}
-% Ebenso wie bei der Univers"=Schriftfamilie wird auch bei DIN~Bold verfahren.
-% \begin{macrocode}
- \if@tud@fontspec%
- \edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{OT1\tud@dinbold.fd}}%
- }%
- \else%
- \edef\@tempa{%
- \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}%
- }%
- \fi%
- \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}%
-% \end{macrocode}
-% Nachdem auf die Schriften geprüft wurde, kommt nun die Umsetzung der Option.
-% Sollten die PostScript"=Schriften installiert sein, wird \pkg{fontspec} darin
-% gehindert, die Mathematikschriften von sich aus anzupassen.
-% \begin{macrocode}
- \if@tud@fontspec%
- \UnPreventPackageFromLoading{fontspec}%
- \if@tud@univers\if@tud@dinbold%
- \PassOptionsToPackage{no-math}{fontspec}%
- \fi\fi%
- \RequirePackage{fontspec}[2014/06/21]%
- \fi%
+ \@tempa{\@tud@universtrue}{\@tempc{Univers}}%
+ \@tempb{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
+ \undef\tud@font@check%
+}
% \end{macrocode}
-% Damit ist die Verarbeitung der Option \opt{fontspec} abgeschlossen.
-% \begin{macrocode}
+% \end{macro}^^A \tud@font@check
+% \begin{macro}{\tud@font@init}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% Das Makro \cs{tud@font@init} wird für die Defintion aller Befehle zur Auswahl
+% der Schriften des \CDs verwendet. Er wird als Hook genutzt und abhängig vom
+% Schalter \cs{if@tud@fontspec} entweder für die Verwendung von \pkg{fontspec}
+% oder des NFSS-Schemas mit \cs{preto}\cs{tud@font@init}\marg{Makro} angepasst.
+% Nach der optionsabhängigen Definition der Schriftauswahlbefehle werden die
+% Initialisierungsbefehle undefiniert gesetzt.
+% \begin{macrocode}
+\newcommand*\tud@font@init{%
+ \undef\tud@font@init@fontspec%
+ \undef\tud@font@init@nfss%
+ \undef\tud@font@init%
}
% \end{macrocode}
-% \end{macro}^^A \tud@mathenc
-% \end{macro}^^A \tud@dinbold
-% \end{macro}^^A \tud@univers
-% \end{macro}^^A if@tud@dinbold
-% \end{macro}^^A if@tud@univers
-% \end{macro}^^A \if@tud@fontspec
-% \end{option}^^A fontspec
-%
-% \iffalse
-%</(class|package)&option>
-%<*(class|package)&body>
-% \fi
-%
+% \end{macro}^^A \tud@font@init
% \begin{macro}{\univln}
% \begin{macro}{\univrn}
% \begin{macro}{\univbn}
@@ -369,104 +475,128 @@
% \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. Diese können so im Dokument unabhängig
-% von der Option \opt{cdfont} genutzt werden
-% \begin{macrocode}
-\AtEndPreamble{%
-% \end{macrocode}
-% Dies geschieht abhängig von der Option \opt{fontspec}.
-% \begin{macrocode}
- \if@tud@fontspec%
-% \end{macrocode}
-% Für die ersten drei Schriften werden hierfür feste NFSS-Namen vergeben, um
-% diese beim Setzen des Kopfes im \CD der \TnUD explizit auswählen zu können.
-% \begin{macrocode}
- \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]%
- \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]%
- \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
- \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
- \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
- \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
- \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
- \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
- \newcommand*\textuln[1]{{\univln#1}}%
- \newcommand*\texturn[1]{{\univrn#1}}%
- \newcommand*\textubn[1]{{\univbn#1}}%
- \newcommand*\textuxn[1]{{\univxn#1}}%
- \newcommand*\textuls[1]{{\univls#1}}%
- \newcommand*\texturs[1]{{\univrs#1}}%
- \newcommand*\textubs[1]{{\univbs#1}}%
- \newcommand*\textuxs[1]{{\univxs#1}}%
+% \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}{\@dinbn}
+% \begin{macro}{\textdbn}
+% Es werden mehrere Schalter zur expliziten Auswahl für die Schriftschnitte
+% Univers~45~Light, Univers~55~Regular, Univers~65~Bold, Univers~75~Black,
+% Univers~45~Light~Oblique, Univers~55~Regular~Oblique, Univers~65~Bold~Oblique
+% sowie Univers~75~Black~Oblique und DIN~Bold definiert. Diese können so im
+% Dokument unabhängig von der Option \opt{cdfont} genutzt werden. Bei der
+% Schriftauswahl der DIN~Bold wird neben dieser noch die entsprechende
+% Mathematikschrift aktiviert.
+% \begin{macro}{\tud@font@init@fontspec}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% Zuerst wird das Makro für die Defintion nach \pkg{fontspec}-Manier definiert,
+% danach .
+% \begin{macrocode}
+\newcommand*\tud@font@init@fontspec{%
+% \end{macrocode}
+% Für die Schriften werden hierfür feste NFSS-Namen vergeben, um diese unter
+% anderem auch beim Setzen des Kopfes im \CD der \TnUD explizit auswählen zu
+% können.
+% \begin{macrocode}
+ \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]%
+ \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]%
+ \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
+ \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
+ \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
+ \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
+ \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
+ \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
+ \newcommand*\textuln[1]{{\univln##1}}%
+ \newcommand*\texturn[1]{{\univrn##1}}%
+ \newcommand*\textubn[1]{{\univbn##1}}%
+ \newcommand*\textuxn[1]{{\univxn##1}}%
+ \newcommand*\textuls[1]{{\univls##1}}%
+ \newcommand*\texturs[1]{{\univrs##1}}%
+ \newcommand*\textubs[1]{{\univbs##1}}%
+ \newcommand*\textuxs[1]{{\univxs##1}}%
+% \end{macrocode}
+% Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren.
+% \begin{macrocode}
+ \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
+ \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}%
+ \newcommand*\textdbn[1]{{\dinbn##1}}%
+}
% \end{macrocode}
+% \end{macro}^^A \tud@font@init@fontspec
+% \begin{macro}{\tud@font@init@nfss}
+% \changes{v2.04}{2014/03/10}{neu}^^A
% Falls \opt{fontspec} nicht aktiv ist, werden die Schriften klassisch nach dem
% NFSS definiert.
% \begin{macrocode}
- \else%
- \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}}%
+\newcommand*\tud@font@init@nfss{%
+ \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%
+ \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}
- \newcommand*\textuln{}%
- \newcommand*\texturn{}%
- \newcommand*\textubn{}%
- \newcommand*\textuxn{}%
- \newcommand*\textuls{}%
- \newcommand*\texturs{}%
- \newcommand*\textubs{}%
- \newcommand*\textuxs{}%
- \DeclareTextFontCommand{\textuln}{\univln}%
- \DeclareTextFontCommand{\texturn}{\univrn}%
- \DeclareTextFontCommand{\textubn}{\univbn}%
- \DeclareTextFontCommand{\textuxn}{\univxn}%
- \DeclareTextFontCommand{\textuls}{\univls}%
- \DeclareTextFontCommand{\texturs}{\univrs}%
- \DeclareTextFontCommand{\textubs}{\univbs}%
- \DeclareTextFontCommand{\textuxs}{\univxs}%
+ \newcommand*\textuln{}%
+ \newcommand*\texturn{}%
+ \newcommand*\textubn{}%
+ \newcommand*\textuxn{}%
+ \newcommand*\textuls{}%
+ \newcommand*\texturs{}%
+ \newcommand*\textubs{}%
+ \newcommand*\textuxs{}%
+ \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}
+% Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren.
+% \begin{macrocode}
+ \if@tud@dinbold%
+ \newcommand*\dinbn{%
+ \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
+ \mathversion{dinbold}%
+ }%
+ \else%
+ \let\dinbn\sectfont%
\fi%
+ \newcommand*\textdbn{}%
+ \DeclareTextFontCommand{\textdbn}{\dinbn}%
+}
% \end{macrocode}
+% \end{macro}^^A \tud@font@init@fontspec
+% \end{macro}^^A \textdbn
+% \end{macro}^^A \@dinbn
+% \end{macro}^^A \dinbn
% \end{macro}^^A \textuxs
% \end{macro}^^A \textubs
% \end{macro}^^A \texturs
@@ -475,156 +605,389 @@
% \end{macro}^^A \textubn
% \end{macro}^^A \texturn
% \end{macro}^^A \textuln
-% \begin{macro}{\dinbn}
-% \begin{macro}{\@dinbn}
-% \begin{macro}{\textdbn}
-% Schalter bzw. Befehl für die Auszeichnung in DIN~Bold. Bei der Schriftauswahl
-% wird neben dieser noch die entsprechende Mathematikschrift aktiviert. Auch
-% hier geschieht dies abhängig von der Option \opt{fontspec}.
-% \begin{macrocode}
-%<*package>
- \ifdef{\sectfont}{}{\let\sectfont\relax}%
-%</package>
- \if@tud@fontspec%
- \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
- \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}%
- \newcommand*\textdbn[1]{{\dinbn#1}}%
- \else%
- \if@tud@dinbold%
- \newcommand*\dinbn{%
- \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
- \mathversion{dinbold}%
- }%
- \else%
- \let\dinbn\sectfont%
- \fi%
- \newcommand*\textdbn{}%
- \DeclareTextFontCommand{\textdbn}{\dinbn}%
+% \end{macro}^^A \univxs
+% \end{macro}^^A \univbs
+% \end{macro}^^A \univrs
+% \end{macro}^^A \univls
+% \end{macro}^^A \univxn
+% \end{macro}^^A \univbn
+% \end{macro}^^A \univrn
+% \end{macro}^^A \univln
+% \begin{macro}{\cdfont}
+% \changes{v2.04}{2015/03/04}{neu}^^A
+% \begin{macro}{\tudfont}
+% \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A
+% \begin{macro}{\textcdfont}
+% \changes{v2.04}{2015/03/04}{neu}^^A
+% \begin{macro}{\@cdfont}
+% \changes{v2.04}{2015/03/04}{neu}^^A
+% \begin{macro}{\tud@trimfontname}
+% \changes{v2.04}{2015/03/04}{neu}^^A
+% \begin{macro}{\tud@@trimfontname}
+% \changes{v2.04}{2015/03/04}{neu}^^A
+% Die Klassen \cls{tudposter} und \cls{tudmathposter} definieren den Befehl
+% \cs{tudfont}, mit welchem die Schriften des \CDs der \TnUD auch mit Klarnamen
+% ausgewählt werden können. Zur Kompatibilität wird der Befehl \cs{cdfont}
+% definiert, welcher die gleiche Funktionalität bereitstellt. Zusätzlich wird
+% der Befehl \cs{textcdfont} bereitgestellt, der die Auswahl der Schrift als
+% Textbefehl ermöglicht.
+% \begin{macrocode}
+\newcommand*\cdfont[1]{%
+ \@cdfont{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\@nameuse{univ\@tempc}}%
\fi%
+}
+\providecommand*\tudfont[1]{\cdfont{#1}}
+\newcommand*\textcdfont[2]{%
+ \@cdfont{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\@nameuse{textu\@tempc}{#2}}%
+ \fi%
+}
+\newcommand*\@cdfont[1]{%
+ \tud@trimfontname\@tempa{#1}%
+ \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \let\@tempc\relax%
+ \PackageWarning{tudscrfonts}{The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+}
+\newcommand*\tud@trimfontname[2]{%
+ \protected@edef\@tempa{\trim@spaces{#2}}%
+ \tud@lowerstring{\@tempa}{\@tempa}%
+ \tud@@trimfontname{ }{}%
+ \tud@@trimfontname{-}{}%
+ \tud@@trimfontname{_}{}%
+ \tud@@trimfontname{~}{}%
+ \tud@@trimfontname{ce}{}%
+ \tud@@trimfontname{ff}{}%
+ \tud@@trimfontname{univers}{}%
+ \tud@@trimfontname{60}{65}%
+ \tud@@trimfontname{light}{45}%
+ \tud@@trimfontname{regular}{55}%
+ \tud@@trimfontname{bold}{65}%
+ \tud@@trimfontname{black}{75}%
+ \tud@@trimfontname{4545}{45}%
+ \tud@@trimfontname{5555}{55}%
+ \tud@@trimfontname{6565}{65}%
+ \tud@@trimfontname{7575}{75}%
+ \tud@@trimfontname{italic}{oblique}%
+ \tud@@trimfontname{slanted}{oblique}%
+ \let#1\@tempa%
+}
+\newcommand*\tud@@trimfontname[2]{%
+ \def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
+ \@expandtwoargs\in@{#1}{\@tempa}%
+ \@whilesw\ifin@\fi{%
+ \expandafter\@tempb\@tempa\relax%
+ \@expandtwoargs\in@{#1}{\@tempa}%
+ }%
+}
% \end{macrocode}
-% \end{macro}^^A \textdbn
-% \end{macro}^^A \@dinbn
-% \end{macro}^^A \dinbn
+% \end{macro}^^A \tud@@trimfontname
+% \end{macro}^^A \tud@trimfontname
+% \end{macro}^^A \@cdfont
+% \end{macro}^^A \textcdfont
+% \end{macro}^^A \tudfont
+% \end{macro}^^A \cdfont
+% \begin{macro}{\tud@font@math@init}
+% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\mv@univers}
% \begin{macro}{\mv@universbold}
-% Für die Mathematikschriften im FLießtext werden für die lateineischen Lettern
+% \begin{macro}{\mv@dinbold}
+% \changes{v2.02}{2014/06/27}{Symbole \val{symbols} werden aus Schriftart
+% DIN~Bold verwendet}^^A
+% Für die Mathematikschriften im Fließtext werden für die lateinischen Lettern
% die Univers"=Schriften des \CDs verwendet. Darin enthalten sind die auch die
% griechischen Buchstaben aus dem Paket \pkg{cmbright}. Zusätzlich werden aus
% dem \pkg{iwona}"~Paket die mathematische Symbole verwendet. Es werden zwei
-% Mathematikversion mit normalen sowie mit fetten Glyphen bereitgestellt.
-% \begin{macrocode}
- \DeclareMathVersion{univers}%
- \DeclareMathVersion{universbold}%
- \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
- \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
- \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
- \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
- \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
- \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
+% Mathematikversion mit normalen sowie mit fetten Glyphen bereitgestellt.
+% \begin{macrocode}
+\newcommand*\mv@univers{}%
+\newcommand*\mv@universbold{}%
+\newcommand*\mv@dinbold{}%
+\newcommand*\tud@font@math@init{%
+ \if@tud@fontspec\if@tud@univers\if@tud@dinbold%
+ \@ifpackagewith{fontspec}{no-math}{}{%
+%<*class>
+ \ClassWarningNoLine{\TUDClassName}%
+%</class>
+%<*package>
+ \PackageWarningNoLine{tudscrfonts}%
+%</package>
+ {%
+ It's recommended to load package `fontspec' with\MessageBreak%
+ option `no-math'%
+ }%
+ }%
+ \fi\fi\fi%
+ \if@tud@univers%
+ \DeclareMathVersion{univers}%
+ \DeclareMathVersion{universbold}%
+ \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
+ \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
+ \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
+ \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
+ \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
+ \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
+ \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
+ \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
+ \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
+ \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%
+ \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
+ \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
+ \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
+ \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
+ \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
+ \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
+ \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
+% \end{macrocode}
+% Das Paket \pkg{cmbright} bringt zusätzlich noch Schriftschnitte für die
+% \pkg{ams}"=Pakete mit. Diese werden gegebenenfalls geladen.
+% \begin{macrocode}
+ \@ifpackageloaded{amsfonts}{%
+ \DeclareFontFamily{U}{\tud@univers a}{}%
+ \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
+ \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
+ \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
+ \DeclareFontFamily{U}{\tud@univers b}{}%
+ \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
+ \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
+ \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
+ }{}%
+ \fi%
% \end{macrocode}
-% \end{macro}^^A \mv@universbold
-% \end{macro}^^A \mv@univers
-% \begin{macro}{\mv@dinbold}
-% \changes{v2.02}{2014/06/27}{Symbole \val{symbols} werden aus Schriftart
-% DIN~Bold verwendet}%^^A
% 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}{OT1}{\tud@dinbold}{b}{n}%
- \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
- \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}%
- \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}%
- \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
+ \if@tud@dinbold%
+ \DeclareMathVersion{dinbold}%
+ \SetSymbolFont{operators}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
+ \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
+ \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}%
+ \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}%
+ \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
+ \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
+ \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
+ \fi%
+% \end{macrocode}
+% Wird das Paket \pkg{unicode-math} verwendet, werden keine Einstellungen für
+% die Mathematikschriften vorgenommen\dots
+% \begin{macrocode}
+ \@ifpackageloaded{unicode-math}{%
+ \let\tud@font@math@set\relax%
+ \bool@set@lock{@tud@cdmath}{false}%
+ }{%
+% \end{macrocode}
+% Für die griechischen Buchstaben wird geprüft, ob durch ein Paket diese auf
+% die kursive Variante gesetzt wurden. Ist dies der Fall, wird der Standardwert
+% für die Option \opt{slantedgreek} auf \val{true} gesetzt. Anschließend
+% erfolgt die \emph{Intialisierung} der griechischen Großbuchstaben mit dem
+% Befehl \cs{tud@font@greek@init}.
+% \begin{macrocode}
+ \let\@tempb\relax%
+ \let\@tempc\relax%
+ \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
+ \@tempswafalse%
+ \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
+ \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
+ \if@tempswa%
+ \bool@std@lock{@tud@slantedgreek}{true}%
+ \fi%
+ \tud@font@greek@loop\tud@font@greek@init%
+% \end{macrocode}
+% Zum Schluss werden abhängig von der gewählten Einstellung für die Schriftart
+% der Option \opt{cdfont} die benötigten Mathematikversionen geladen.
+% \begin{macrocode}
+ \tud@font@math@set%
+ }%
+% \end{macrocode}
+% Daran anschließend werden die DIN-Bold-Schriften in einer Box verwendet, um
+% das Laden der Schriftdefinitionen am Dokumentbeginn zu forcieren.
+% \begin{macrocode}
+ \sbox\z@{\dinbn$ $}%
+% \end{macrocode}
+% Zuletzt wird der Befehl für die Initialisierung der Mathematikschriften
+% undefiniert gesetzt.
+% \begin{macrocode}
+ \undef\tud@font@math@init%
+}
% \end{macrocode}
% \end{macro}^^A \mv@dinbold
-% \begin{macro}{\upGamma}
+% \end{macro}^^A \mv@universbold
+% \end{macro}^^A \mv@univers
+% \end{macro}^^A \tud@font@math@init
+% Samtliche Schrifteinstellungen erfolgen erst am Ende der Präambel, um etwaige
+% Einstellungen irgendwelcher Schriftpakete beachten zu können. Dabei erfolgt
+% das Setzen der Mathematikschriften druch \cs{AtBeginDocument} innerhalb von
+% \cs{AtEndPreamble} am Ende \emph{aller} \cs{AtBeginDocument}.
+%
+% Für das Paket müssen zuvor einige Einstellungen angepasst werden, damit bei
+% der Verwendung einer alten Klasse alles reibungslos funktioniert.
+% \begin{macrocode}
+%<*package>
+\ifbool{@tud@oldscrclass}{%
+ \let\univln\relax%
+ \let\univrn\relax%
+ \let\univbn\relax%
+ \let\univxn\relax%
+ \let\univls\relax%
+ \let\univrs\relax%
+ \let\univbs\relax%
+ \let\univxs\relax%
+ \let\dinbn\relax%
+ \let\textuln\relax%
+ \let\texturn\relax%
+ \let\textubn\relax%
+ \let\textuxn\relax%
+ \let\textuls\relax%
+ \let\texturs\relax%
+ \let\textubs\relax%
+ \let\textuxs\relax%
+ \let\textdbn\relax%
+ \AtBeginDocument{%
+ \cmd@restore{rmdefault}%
+ \cmd@restore{sfdefault}%
+ \cmd@restore{bfdefault}%
+ \cmd@restore{mddefault}%
+ \cmd@restore{familydefault}%
+ \cmd@restore{seriesdefault}%
+ \cmd@restore{shapedefault}%
+ \cmd@restore{rmfamily}%
+ \cmd@restore{sffamily}%
+ \cmd@restore{ttfamily}%
+ }%
+}{}
+%</package>
+% \end{macrocode}
+% Jetzt kommt es zur eigentlichen Initialisierung der Schriften.
+% \begin{macrocode}
+%<class>\AtEndPreamble%
+%<package>\AtBeginDocument%
+{%
+ \tud@font@check%
+% \end{macrocode}
+% Es erfolgt das optionsabhängige Voranstellen von \cs{tud@font@init@fontspec}
+% respektive \cs{tud@font@init@nfss} bei \cs{tud@font@init}.
+% \begin{macrocode}
+ \if@tud@fontspec%
+ \preto\tud@font@init\tud@font@init@fontspec%
+ \else%
+ \preto\tud@font@init\tud@font@init@nfss%
+ \fi%
+% \end{macrocode}
+% Nachdem auf die Schriften geprüft wurde, erfolgt die Verarbeitung der Option
+% \pkg{fontspec}. Da es so gut wie keine freien OpenType"=Schriften für den
+% mathmatischen Formelsatz gibt, werden unabhängig vom Status der Option
+% \emph{immer} die PostScript"=Schriften verwendet, falls diese installiert
+% sind. Damit \pkg{tudscrfonts} reibungslos mit den nachfolgenden Definitionen
+% funktioniert, wird im Bedarfsfall der Befehl \cs{sectfont} vorgehalten.
+% \begin{macrocode}
+%<*package>
+ \ifdef{\sectfont}{}{\let\sectfont\relax}%
+%</package>
+ \tud@font@init%
+% \end{macrocode}
+% Damit die Schrift im Dokument später noch umgestellt werden kann, werden
+% sämtliche Einstellungen erst am Ende der Präambel gesichert. Deshalb wird
+% der dafür verantwortliche Befehl \cs{tud@font@set} hier zum ersten Mal
+% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie
+% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu
+% aktivieren. Die Einstellungen für den Mathematiksatz erfolgen erst zu Beginn
+% des Dokumentes, um insbesondere auf Einstellungen des Paketes \pkg{fontspec}
+% reagieren zu können.
+% \begin{macrocode}
+ \tud@font@set[nomath]%
+%<class> \AtBeginDocument{\tud@font@math@init}%
+%<package> \tud@font@math@init%
+}
+% \end{macrocode}
+% \begin{macro}{\tud@font@greek@init}
+% \changes{v2.04}{2014/03/10}{neu}^^A
% \begin{macro}{\upDelta}
-% \begin{macro}{\upTheta}
+% \begin{macro}{\upGamma}
% \begin{macro}{\upLambda}
-% \begin{macro}{\upXi}
+% \begin{macro}{\upOmega}
+% \begin{macro}{\upPhi}
% \begin{macro}{\upPi}
+% \begin{macro}{\upPsi}
% \begin{macro}{\upSigma}
+% \begin{macro}{\upTheta}
% \begin{macro}{\upUpsilon}
-% \begin{macro}{\upPhi}
-% \begin{macro}{\upPsi}
-% \begin{macro}{\upOmega}
-% \begin{macro}{\varGamma}
+% \begin{macro}{\upXi}
% \begin{macro}{\varDelta}
-% \begin{macro}{\varTheta}
+% \begin{macro}{\varGamma}
% \begin{macro}{\varLambda}
-% \begin{macro}{\varXi}
+% \begin{macro}{\varOmega}
+% \begin{macro}{\varPhi}
% \begin{macro}{\varPi}
+% \begin{macro}{\varPsi}
% \begin{macro}{\varSigma}
+% \begin{macro}{\varTheta}
% \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
-% definiert.
-% \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}%
+% \begin{macro}{\varXi}
+% Dieses Makro sorgt dafür, dass neben den normalen Makros für die griechischen
+% Majuskeln die zusätzlichen Befehle für das explizite Auswählen aufrechter und
+% kursiver Buchstaben.
+% \begin{macrocode}
+\newcommand*\tud@font@greek@init[1]{%
+ \ifcsdef{up#1}{}{%
+ \if@tempswa%
+ \csletcs{up#1}{tud@up#1}%
+ \else%
+ \csletcs{up#1}{#1}%
+ \fi%
+ }%
+ \ifcsdef{var#1}{}{%
+ \if@tempswa%
+ \csletcs{var#1}{#1}%
+ \else%
+ \csletcs{var#1}{tud@var#1}%
+ \fi%
+ }%
}
% \end{macrocode}
-% \end{macro}^^A \varOmega
-% \end{macro}^^A \varPsi
-% \end{macro}^^A \varPhi
+% \end{macro}^^A \varXi
% \end{macro}^^A \varUpsilon
+% \end{macro}^^A \varTheta
% \end{macro}^^A \varSigma
+% \end{macro}^^A \varPsi
% \end{macro}^^A \varPi
-% \end{macro}^^A \varXi
+% \end{macro}^^A \varPhi
+% \end{macro}^^A \varOmega
% \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 \varDelta
+% \end{macro}^^A \upXi
% \end{macro}^^A \upUpsilon
+% \end{macro}^^A \upTheta
% \end{macro}^^A \upSigma
+% \end{macro}^^A \upPsi
% \end{macro}^^A \upPi
-% \end{macro}^^A \upXi
+% \end{macro}^^A \upPhi
+% \end{macro}^^A \upOmega
% \end{macro}^^A \upLambda
-% \end{macro}^^A \upTheta
-% \end{macro}^^A \upDelta
% \end{macro}^^A \upGamma
+% \end{macro}^^A \upDelta
+% \end{macro}^^A \tud@font@greek@init
%
% \iffalse
%</(class|package)&body>
@@ -633,9 +996,9 @@
%
% \begin{macro}{\tud@uclcnotmath}
% \changes{v2.02}{2014/06/27}{\pkg{textcase}: Ignorieren von Fußnoten im
-% Argument des Befehls \cs{MakeTextUppercase}}%^^A
+% Argument des Befehls \cs{MakeTextUppercase}}^^A
% \changes{v2.03}{2015/01/21}{\pkg{textcase}: Ignorieren des Befehls
-% \cs{@mkboth} im Argument des Befehls \cs{MakeTextUppercase}}%^^A
+% \cs{@mkboth} im Argument des Befehls \cs{MakeTextUppercase}}^^A
% \begin{macro}{\@uclcnotmath}
% Für das Setzen der Überschriften in Majuskeln\footnote{Großbuchstaben} mit
% \cs{MakeTextUppercase}, was den internen \LaTeX-Befehl \cs{MakeUppercase}
@@ -664,8 +1027,8 @@
% \end{macrocode}
% \end{macro}^^A \tud@font@heading
% \begin{option}{cdfont}
-% \changes{v2.02}{2014/07/08}{Schlüsselwerte für \opt{cdhead}}%^^A
-% \changes{v2.02}{2014/08/29}{Schlüsselwerte für \opt{fontspec}}%^^A
+% \changes{v2.02}{2014/07/08}{Schlüsselwerte für \opt{cdhead}}^^A
+% \changes{v2.02}{2014/08/29}{Schlüsselwerte für \opt{fontspec}}^^A
% \begin{macro}{\tud@cdfont}
% Mit dieser Option wird die zentrale Benutzerschnittstelle für alle möglichen
% Schrifteinstellungen innerhalb Dokumentes geschaffen. Durch diese Option
@@ -719,71 +1082,94 @@
{upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},%
{slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},%
{fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
- {nofontspec}{13},{pdftex}{13},{pdflatex}{13}%
+ {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
% \end{macrocode}
% Die ersten drei Werte dienen zum Umschalten auf die Schriften des \CDs für
% den Fließtext.
% \begin{macrocode}
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\def\tud@cdfont{0}%
\if@atdocument\tud@font@set\fi%
- \or%
+ \or% true
\def\tud@cdfont{1}%
\if@atdocument\tud@font@set\fi%
- \or%
+ \or% heavy
\def\tud@cdfont{2}%
\if@atdocument\tud@font@set\fi%
% \end{macrocode}
% Hier wird die Verwendung von DIN~Bold für die Überschirften festgelegt.
% \begin{macrocode}
- \or%
+ \or% nodin
\renewcommand*\tud@font@heading{\tud@RaggedRight}%
- \or%
- \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}
+ \or% din
+ \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
% \end{macrocode}
% Die Schrift für den Querbalken.
% \begin{macrocode}
- \or%
+ \or% nohead
%<*class>
\TUDoptions{cdhead=false}%
%</class>
- \or%
+ \or% head
%<*class>
\TUDoptions{cdhead=true}%
%</class>
- \or%
+ \or% heavyhead
%<*class>
\TUDoptions{cdhead=heavy}%
%</class>
% \end{macrocode}
% Die Mathematikschriften.
% \begin{macrocode}
- \or%
+ \or% nomath
\TUDoptions{cdmath=false}%
- \or%
+ \or% math
\TUDoptions{cdmath=true}%
% \end{macrocode}
% Die Neigung der großen griechischen Buchstaben.
% \begin{macrocode}
- \or%
+ \or% upgreek
\TUDoptions{slantedgreek=false}%
- \or%
+ \or% slgreek
\TUDoptions{slantedgreek=true}%
% \end{macrocode}
% Die Verwendung von \pkg{fontspec}.
% \begin{macrocode}
- \or%
+ \or% fontspec
\TUDoptions{fontspec=true}%
- \or%
+ \or% nofontspec
\TUDoptions{fontspec=false}%
\fi%
+% \end{macrocode}
+% Wird kein gültiger Wert für die Option angegeben, so wird davon ausgegangen,
+% dass es sich bei diesem um die gewünschte Schriftgröße handelt.
+% \begin{macrocode}
+ \else%
+ \KOMAoptions{fontsize=#1}%
+ \ifcase\tud@cdfont\relax% false to true
+ \def\tud@cdfont{1}%
+ \if@atdocument\tud@font@set\fi%
+ \fi%
\fi%
}
% \end{macrocode}
% \end{macro}^^A \tud@cdfont
% \end{option}^^A cdfont
+% \begin{option}{fontsize}
+% \changes{v2.04}{2015/04/24}{Option aus \KOMAScript{} erweitert}^^A
+% Mit der \KOMAScript-Option \opt{fontsize} kann die Schriftgröße eingestellt
+% werden. Durch \TUDScript werden bei aktiven Schriften im \CD verschiedene
+% Abstände mit \cs{tud@font@skip@set} schriftgrößenabhängig definiert.
+% \begin{macrocode}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{fontsize}{%
+ \AtEndOfFamilyOptions{\if@atdocument\tud@font@skip@set\fi}%
+ \FamilyKeyStateProcessed%
+}
+% \end{macrocode}
+% \end{option}^^A fontsize
%
% \iffalse
%</(class|package)&option>
@@ -791,15 +1177,50 @@
% \fi
%
% \begin{macro}{\tud@font@set}
+% \changes{v2.04}{2015/03/01}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\if@tud@mweights}
+% \changes{v2.04}{2015/04/24}{Erkennung des Paketes \pkg{mweights}}^^A
+% \begin{macro}{\bfseries@rm}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\bfseries@sf}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\bfseries@tt}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\mdseries@rm}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\mdseries@sf}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\mdseries@tt}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\rmdef@ult}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\sfdef@ult}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\ttdef@ult}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\bfdef@ult}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
+% \begin{macro}{\mddef@ult}
+% \changes{v2.04}{2015/04/24}{Unterstützung für das Paket \pkg{mweights}}^^A
% Mit diesem Befehl werden entweder die normalen oder aber die Schriften des
% \CDs aktiviert. Dabei wird die Option \opt{fontspec} beachtet.
% \begin{macrocode}
-\newcommand*\tud@font@set{%
+\newif\if@tud@mweights
+\AfterPackage*{mweights}{\@tud@mweightstrue}
+\newcommand*\tud@font@set[1][]{%
+ \if@tud@mweights%
+ \ifdef{\bfseries@rm}{}{\edef\bfseries@rm{\bfdefault}}%
+ \ifdef{\bfseries@sf}{}{\edef\bfseries@sf{\bfdefault}}%
+ \ifdef{\bfseries@tt}{}{\edef\bfseries@tt{\bfdefault}}%
+ \ifdef{\mdseries@rm}{}{\edef\mdseries@rm{\mddefault}}%
+ \ifdef{\mdseries@sf}{}{\edef\mdseries@sf{\mddefault}}%
+ \ifdef{\mdseries@tt}{}{\edef\mdseries@tt{\mddefault}}%
+ \fi%
% \end{macrocode}
% Werden die Schriften des \CDs deaktiviert, wird auf die zu Dokumentbeginn
% gesicherten Schriften\footnote{mit und ohne Serifen} zurückgeschaltet.
% \begin{macrocode}
- \ifcase\tud@cdfont\relax%
+ \ifcase\tud@cdfont\relax% false
\tud@cmd@restore{rmdefault}%
\tud@cmd@restore{sfdefault}%
\tud@cmd@restore{ttdefault}%
@@ -809,8 +1230,16 @@
\tud@cmd@restore{familydefault}%
\tud@cmd@restore{seriesdefault}%
\tud@cmd@restore{shapedefault}%
+ \if@tud@mweights%
+ \tud@cmd@restore{bfseries@rm}%
+ \tud@cmd@restore{bfseries@sf}%
+ \tud@cmd@restore{bfseries@tt}%
+ \tud@cmd@restore{mdseries@rm}%
+ \tud@cmd@restore{mdseries@sf}%
+ \tud@cmd@restore{mdseries@tt}%
+ \fi%
% \end{macrocode}
-% Die Mathematikschriften werden auf ihr Stanardverhalten zurückgesetzt.
+% Die Mathematikschriften werden auf ihr Standardverhalten zurückgesetzt.
% \begin{macrocode}
\bool@std@lock{@tud@cdmath}{false}%
% \end{macrocode}
@@ -824,7 +1253,7 @@
% Standardschriften vorher vorher gesichert, um diese später vollständig
% wiederherstellen zu können.
% \begin{macrocode}
- \else%
+ \else% true/heavy
\tud@cmd@store{rmdefault}%
\tud@cmd@store{sfdefault}%
\tud@cmd@store{ttdefault}%
@@ -834,6 +1263,14 @@
\tud@cmd@store{familydefault}%
\tud@cmd@store{seriesdefault}%
\tud@cmd@store{shapedefault}%
+ \if@tud@mweights%
+ \tud@cmd@store{bfseries@rm}%
+ \tud@cmd@store{bfseries@sf}%
+ \tud@cmd@store{bfseries@tt}%
+ \tud@cmd@store{mdseries@rm}%
+ \tud@cmd@store{mdseries@sf}%
+ \tud@cmd@store{mdseries@tt}%
+ \fi%
% \end{macrocode}
% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs~--
% falls nicht anders durch den Anwender definiert~-- auf Serifenlose gesetzt.
@@ -850,7 +1287,7 @@
% \pkg{fontspec} oder\dots
% \begin{macrocode}
\if@tud@fontspec%
- \ifnum\tud@cdfont=\@ne\relax%
+ \ifnum\tud@cdfont=\@ne\relax% true
\setsansfont{Univers Light}[%
BoldFont = Univers,%
ItalicFont = Univers Light Oblique,%
@@ -874,7 +1311,7 @@
]%
}{}%
%</package>
- \else%
+ \else% heavy
\setsansfont{Univers}[%
BoldFont = Univers Bold,%
ItalicFont = Univers Oblique,%
@@ -893,7 +1330,7 @@
\if@tud@univers%
\renewcommand*\sfdefault{\tud@univers}%
\renewcommand*\ttdefault{\tud@univers t}%
- \ifnum\tud@cdfont=\@ne\relax%
+ \ifnum\tud@cdfont=\@ne\relax% true
\renewcommand*\bfdefault{m}%
% \end{macrocode}
% Bei den alten Klassen von Klaus Bergmann bzw. \TUDScript~v1.0 sind die fetten
@@ -905,9 +1342,25 @@
}{}%
%</package>
\renewcommand*\mddefault{l}%
- \else%
+ \if@tud@mweights%
+ \def\bfseries@rm{m}%
+ \def\bfseries@sf{m}%
+ \def\bfseries@tt{m}%
+ \def\mdseries@rm{l}%
+ \def\mdseries@sf{l}%
+ \def\mdseries@tt{l}%
+ \fi%
+ \else% heavy
\renewcommand*\bfdefault{b}%
\renewcommand*\mddefault{m}%
+ \if@tud@mweights%
+ \def\bfseries@rm{b}%
+ \def\bfseries@sf{b}%
+ \def\bfseries@tt{b}%
+ \def\mdseries@rm{m}%
+ \def\mdseries@sf{m}%
+ \def\mdseries@tt{m}%
+ \fi%
\fi%
\fi%
\fi%
@@ -916,19 +1369,106 @@
\renewcommand*\seriesdefault{\mddefault}%
\renewcommand*\shapedefault{\updefault}%
\fi%
+ \if@tud@mweights%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \fi%
% \end{macrocode}
-% Zum Abschluss wird die gewählte Standardschrift aktiviert. Danach erfolgt die
-% Behandlung der mathrematikschriften. Ganz zum Schluss wird das Layout erneut
-% gesetzt.
+% Zum Ende werden einige Abstände abhängig von der gewählten Schriftgröße
+% definiert. Danach erfolgt die Behandlung der Mathematikschriften und die
+% gewählte Standardschrift aktiviert. Zum Schluss wird das Layout erneuert.
% \begin{macrocode}
+ \tud@font@skip@set%
+ \ifstr{#1}{nomath}{}{\tud@font@math@set}%
\normalfont\selectfont%
- \tud@font@math@set%
%<*class>
\tud@layout@process%
%</class>
}
% \end{macrocode}
+% \end{macro}^^A \mddef@ult
+% \end{macro}^^A \bfdef@ult
+% \end{macro}^^A \ttdef@ult
+% \end{macro}^^A \sfdef@ult
+% \end{macro}^^A \rmdef@ult
+% \end{macro}^^A \mdseries@tt
+% \end{macro}^^A \mdseries@sf
+% \end{macro}^^A \mdseries@rm
+% \end{macro}^^A \bfseries@tt
+% \end{macro}^^A \bfseries@sf
+% \end{macro}^^A \bfseries@rm
+% \end{macro}^^A \if@tud@mweights
% \end{macro}^^A \tud@font@set
+% \begin{macro}{\tud@font@skip@set}
+% \changes{v2.04}{2015/02/17}{neu}^^A
+% \begin{macro}{\tud@font@skip@@set}
+% \changes{v2.04}{2015/03/27}{neu}^^A
+% \begin{macro}{\smallskipamount}
+% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
+% \begin{macro}{\medskipamount}
+% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
+% \begin{macro}{\bigskipamount}
+% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
+% \begin{macro}{\abovecaptionskip}
+% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
+% \begin{macro}{\belowcaptionskip}
+% \begin{macro}{\columnsep}
+% \changes{v2.04}{2015/04/24}{Wert abhängig von der Schriftgröße}^^A
+% Mit diesem Befehl wird nach der Auswahl der Schriftgröße die Länge einiger
+% Abstände angepasst, die bei den \KOMAScript-Klassen nicht abhängig von dieser
+% sind.
+% \begin{macrocode}
+\newcommand*\tud@font@skip@set{%
+% \end{macrocode}
+% Es werden die Standardeinstellungen abhängig von \opt{cdfont} entweder
+% wiederhergestellt oder gesichert und neu definiert.
+% \begin{macrocode}
+ \tud@ifverlower{2.04}{}{%
+ \ifcase\tud@cdfont\relax% false
+ \tud@skip@restore{smallskipamount}%
+ \tud@skip@restore{medskipamount}%
+ \tud@skip@restore{bigskipamount}%
+ \tud@skip@restore{abovecaptionskip}%
+ \tud@skip@restore{belowcaptionskip}%
+ \tud@skip@restore{columnsep}%
+ \else% true/heavy
+ \tud@skip@store{smallskipamount}%
+ \tud@skip@store{medskipamount}%
+ \tud@skip@store{bigskipamount}%
+ \tud@skip@store{abovecaptionskip}%
+ \tud@skip@store{belowcaptionskip}%
+ \tud@skip@store{columnsep}%
+ \tud@font@skip@@set%
+ \fi%
+ }%
+}
+% \end{macrocode}
+% Hiermit erfolgt das eigentliche Setzen der Abstände.
+% \begin{macrocode}
+\newcommand*\tud@font@skip@@set{%
+ \setlength{\@tempdimb}{\f@baselineskip}%
+ \scr@setlength\smallskipamount{\dimexpr\@tempdimb/4\relax}%
+ {\dimexpr\@tempdimb/12\relax}{\dimexpr\@tempdimb/12\relax}%
+ \scr@setlength\medskipamount{\dimexpr\@tempdimb/2\relax}%
+ {\dimexpr\@tempdimb/6\relax}{\dimexpr\@tempdimb/6\relax}%
+ \scr@setlength\bigskipamount{\@tempdimb}%
+ {\dimexpr\@tempdimb/3\relax}{\dimexpr\@tempdimb/3\relax}%
+ \tud@skip@set\abovecaptionskip{\dimexpr4\@tempdimb/5\relax}%
+ \tud@skip@set\belowcaptionskip{\z@}%
+ \tud@skip@set\columnsep{1.1\baselineskip}%
+}
+% \end{macrocode}
+% \end{macro}^^A \columnsep
+% \end{macro}^^A \belowcaptionskip
+% \end{macro}^^A \abovecaptionskip
+% \end{macro}^^A \bigskipamount
+% \end{macro}^^A \medskipamount
+% \end{macro}^^A \smallskipamount
+% \end{macro}^^A \tud@font@skip@@set
+% \end{macro}^^A \tud@font@skip@set
% \begin{macro}{\tud@font@math@set}
% Mit diesem Befehl werden die Einstellungen für den Mathematiksatz übernommen.
% Die Option \opt{cdmath} wird ausgewertet, um zwischen dem Standard"~ und
@@ -943,106 +1483,63 @@
\tud@cmd@store{mv@bold}%
\let\mv@normal\mv@univers%
\let\mv@bold\mv@universbold%
+ \tud@font@greek@loop\tud@font@greek@set%
\else%
\tud@cmd@restore{mv@normal}%
\tud@cmd@restore{mv@bold}%
+ \tud@font@greek@loop\tud@font@greek@reset%
\fi%
\fi%
\if@tud@slantedgreek%
- \tud@font@greek@slanted%
+ \tud@font@greek@loop\tud@font@greek@slanted%
\else%
- \tud@font@greek@upright%
+ \tud@font@greek@loop\tud@font@greek@upright%
\fi%
\mathversion{normal}%
}
% \end{macrocode}
% \end{macro}^^A \tud@font@math@set
-% \begin{macro}{\tud@font@greek@upGamma}
-% \begin{macro}{\tud@font@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@font@greek@offset} gespeichert.
-% \begin{macrocode}
-\newcount\tud@font@greek@upGamma
-\tud@font@greek@upGamma\Gamma
-\newcount\tud@font@greek@offset
-\let\@tempa\relax
-\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0}
-\tud@font@greek@offset\@tempa
-\advance\tud@font@greek@offset-\Gamma
-% \end{macrocode}
-% \end{macro}^^A \tud@font@greek@offset
-% \end{macro}^^A \tud@font@greek@upGamma
-% \begin{macro}{\tud@font@greek@slanted}
-% \begin{macro}{\tud@font@greek@upright}
-% Mit dem Makro \cs{tud@font@greek@slanted} wird die Kodierung der griechischen
-% Majuskeln von \texttt{operator} auf \texttt{letter} geändert\dots
-% \begin{macrocode}
-\newcommand*\tud@font@greek@slanted{%
- \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi%
-}
-% \end{macrocode}
-% \dots und \cs{tud@font@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{macro}{\tud@font@greek@set}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% \begin{macro}{\tud@font@greek@reset}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% Mit diesen beiden Befehlen kann innerhalb des Dokumentes problemlos zwischen
+% griechischen Buchstaben für die CD-Schriften und den normalen gewechselt
+% werden.
% \begin{macrocode}
-\newcommand*\tud@font@greek@upright{%
- \ifnum\Gamma>\tud@font@greek@upGamma%
- \tud@font@greek@offset=-\tud@font@greek@offset%
- \tud@font@greek@changeshape%
- \tud@font@greek@offset=-\tud@font@greek@offset%
- \fi%
+\newcommand*\tud@font@greek@set[1]{%
+ \tud@cmd@store{#1}%
+ \tud@cmd@store{up#1}%
+ \tud@cmd@store{var#1}%
+ \csletcs{#1}{tud@#1}%
+ \csletcs{up#1}{tud@up#1}%
+ \csletcs{var#1}{tud@var#1}%
}
-% \end{macrocode}
-% \end{macro}^^A \tud@font@greek@upright
-% \end{macro}^^A \tud@font@greek@slanted
-% \begin{macro}{\tud@font@greek@def}
-% \begin{macro}{\tud@font@greek@uc}
-% \begin{macro}{\tud@font@greek@changeshape}
-% Mit \cs{tud@font@greek@def} erfolgt die Umkodierung einer einzelnen
-% griechischen Glyphe. Das Makro \cs{tud@font@greek@changeshape} arbeitet die
-% Liste \cs{tud@font@greek@uc} ab.
-% \begin{macrocode}
-\newcommand*\tud@font@greek@def[2]{%
- \expandafter\@tempcnta\csname #1\endcsname%
- \advance\@tempcnta#2%
- \expandafter\mathchardef\csname #1\endcsname\@tempcnta%
+\newcommand*\tud@font@greek@reset[1]{%
+ \tud@cmd@restore{#1}%
+ \tud@cmd@restore{up#1}%
+ \tud@cmd@restore{var#1}%
}
% \end{macrocode}
-% Die Liste enthält die Namen der Befehle für große griechische Buchstaben.
-% Diese wird von \cs{tud@font@greek@changeshape} genutzt wird.
+% \end{macro}^^A \tud@font@greek@reset
+% \end{macro}^^A \tud@font@greek@set
+% \begin{macro}{\tud@font@greek@upright}
+% \begin{macro}{\tud@font@greek@slanted}
+% \changes{v2.04}{2014/03/10}{neu}^^A
+% Mit den beiden Befehlen kann die Definition der griechischen Buchstaben
+% entweder auf aufrecht bzw. kursiv gesetzt werden.
% \begin{macrocode}
-\newcommand*\tud@font@greek@uc{%
- Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
-}
-\newcommand*\tud@font@greek@changeshape{%
- \@for\@tempa:=\tud@font@greek@uc\do{%
- \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}%
- }%
-}
+\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
+\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
% \end{macrocode}
-% \end{macro}^^A \tud@font@greek@changeshape
-% \end{macro}^^A \tud@font@greek@uc
-% \end{macro}^^A \tud@font@greek@def
+% \end{macro}^^A \tud@font@greek@slanted
+% \end{macro}^^A \tud@font@greek@upright
%
% \iffalse
%</(class|package)&body>
%<*(class|package)&option>
% \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@set} hier zum ersten Mal
-% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie
-% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu
-% aktivieren. Auch die Einstellungen für den Mathematiksatz werden erstmalig
-% durch \cs{tud@font@math@set} gesetzt.
-% \begin{macrocode}
-\AtBeginDocument{\tud@font@set}%
-% \end{macrocode}
-%
% \subsection{Schriften für den Mathematiksatz}
%
% Da die Schriften des \CDs keinen Mathematiksatz beeinhalten, musste~--
@@ -1063,21 +1560,19 @@
\TUD@numkey@bool,%
{serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
{sansmath}{1},{sans}{1},%
- {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},%
- {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
+ {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax%
+ \ifcase\@tempa\relax% false
\bool@set@lock{@tud@cdmath}{false}%
- \TUD@std@ifkey@lock{slantedgreek}{false}%
\if@atdocument\tud@font@math@set\fi%
- \or%
+ \or% true
\bool@set@lock{@tud@cdmath}{true}%
- \TUD@std@ifkey@lock{slantedgreek}{true}%
\if@atdocument\tud@font@math@set\fi%
- \or
+ \or% upgreek
\TUDoptions{slantedgreek=false}%
- \or
+ \or% slgreek
\TUDoptions{slantedgreek=true}%
\fi%
\fi%
@@ -1087,42 +1582,36 @@
% \end{macro}^^A \if@tud@cdmath
% \end{option}^^A cdmath
% \begin{option}{slantedgreek}
+% \begin{option}{slantedGreek}
+% \changes{v2.04}{2015/02/27}{neu}^^A
% \begin{macro}{\if@tud@slantedgreek}
% \begin{macro}{\if@tud@slantedgreek@locked}
% Mit dieser Option kann die Neigung der griechischen Majuskeln geändert werden.
% \begin{macrocode}
-\newif\if@tud@slantedgreek
-\TUD@key@lock{slantedgreek}[true]{%
- \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}%
+\bool@lock{@tud@slantedgreek}
+\TUD@key{slantedgreek}[true]{%
+ \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \bool@set@lock{@tud@slantedgreek}{#1}%
\if@atdocument\tud@font@math@set\fi%
\fi%
}
+\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
% \end{macrocode}
% \end{macro}^^A \if@tud@slantedgreek@locked
% \end{macro}^^A \if@tud@slantedgreek
+% \end{option}^^A slantedGreek
% \end{option}^^A slantedgreek
%
% \iffalse
%</(class|package)&option>
-%<*package&execute>
-% \fi
-%
-% Für das Paket \pkg{tudscrfonts} werden die Schriften aktiviert und die an das
-% Paket übergebenen Optionen ausgeführt.
-% \begin{macrocode}
-\TUDoptions{cdfont=true}
-\DeclareOption*{\TUDoptions{\CurrentOption}}
-\TUDProcessOptions\relax
-% \end{macrocode}
-%
-% \iffalse
-%</package&execute>
%<*class&body>
% \fi
%
% \begin{macro}{\tud@head@font@set}
-% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{cdhead} hinzugefügt}%^^A
+% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{cdhead} hinzugefügt}^^A
+% \changes{v2.03}{2015/01/30}{Fix für die Änderung von \cs{spaceskip} durch
+% \pkg{ragged2e}}^^A
% \begin{macro}{\tud@head@font@bold}
% \begin{macro}{\tud@head@font@light}
% Die Schrift der Kopfzeile wird entweder in den Schriften des \CDs oder aber
@@ -1135,8 +1624,6 @@
\newcommand*\tud@head@font@bold{}
\newcommand*\tud@head@font@light{}
\newcommand*\tud@head@font@set{%
-% \changes{v2.03}{2015/01/30}{Fix für die Änderung von \cs{spaceskip} durch
-% \pkg{ragged2e}}%^^A
% \end{macrocode}
% Das Paket \pkg{ragged2e} ändert im Zweifelsfall die Länge \cs{spaceskip}. Um
% den Kopf unbeeinflusst davon immer in der gleichen Gestalt erscheinen zu
@@ -1144,7 +1631,8 @@
% \begin{macrocode}
\ifdef{\@raggedtwoe@everyselectfont}{%
\let\@raggedtwoe@everyselectfont\relax%
- \spaceskip\z@\selectfont%
+ \setlength\spaceskip{\z@}%
+ \selectfont%
}{}%
% \end{macrocode}
% Zuerst die Rückfallebene für den Fall, dass keine Schriften im \CD verendet
@@ -1158,21 +1646,21 @@
% Die Option \opt{cdhead} wird ausgewertet.
% \begin{macrocode}
\@tempswafalse%
- \ifcase\tud@head@font\relax%
- \ifnum\tud@cdfont>\z@\relax%
- \ClassWarning{\tudcls@name}{%
+ \ifcase\tud@head@font\relax% false
+ \ifnum\tud@cdfont>\z@\relax% true/heavy
+ \ClassWarning{\TUDClassName}{%
It isn't possible to use `cdhead=false'\MessageBreak%
together with `cdfont=true'%
}%
\@tempswatrue%
\fi%
- \else%
+ \else% true/heavy
\@tempswatrue%
\fi%
% \end{macrocode}
% Die Schriften für den Kopf im \CD werden aktiviert.
% \begin{macrocode}
- \if@tempswa%
+ \if@tempswa% true/heavy
% \end{macrocode}
% Damit \cs{DeclareFixedFont} zusammen mit \pkg{fontspec} verwendet werden
% kann, wurde zu Beginn der Klasse den drei benötigten Schriftschnitten der
@@ -1181,10 +1669,10 @@
\if@tud@fontspec%
\DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
{UniversBold}{m}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or%
+ \ifcase\tud@head@font\relax\or% true
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{UniversLight}{m}{n}{\tud@head@font@size}%
- \or%
+ \or% heavy
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{UniversRegular}{m}{n}{\tud@head@font@size}%
\fi%
@@ -1195,10 +1683,10 @@
\if@tud@univers%
\DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
{\tud@univers}{b}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or%
+ \ifcase\tud@head@font\relax\or% true
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{\tud@univers}{l}{n}{\tud@head@font@size}%
- \or%
+ \or% heavy
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{\tud@univers}{m}{n}{\tud@head@font@size}%
\fi%
@@ -1217,7 +1705,7 @@
% \fi
%
% \begin{macro}{\ifdin}
-% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}%^^A
+% \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A
% Der Befehl \cs{ifdin} prüft auf die Verwendung von DIN~Bold. Davon abhängig
% wird entweder das erste oder das zweite Argument ausgeführt. Dies kann für
% die Befehle aller Gliederungsebenen genutzt werden, um zwischen der Ausgabe
@@ -1236,129 +1724,28 @@
}
% \end{macrocode}
% \end{macro}^^A \ifdin
-% Wird das Paket \pkg{tudscrfonts} mit den alten TUD-Klassen oder \TUDScript in
-% der Version~v1.0 verwendet, müssen einige Kompatibilitätseinstellungen
-% vorgenmommen werden. Dies betrifft insbesondere allerhand darin definierter,
-% fixer Schriften sowie die Mathematikschriften.
-% \begin{macrocode}
-%<*package>
-\AtBeginDocument{%
- \ifbool{@tud@oldclass}{%
- \if@tud@fontspec%
- \DeclareFixedFont{\univLightVII}{\encodingdefault}%
- {UniversLight}{m}{n}{7}%
- \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{7}%
- \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
- {UniversBold}{m}{n}{7}%
- \DeclareFixedFont{\univLightIX}{\encodingdefault}%
- {UniversLight}{m}{n}{9}%
- \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{9}%
- \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
- {UniversBold}{m}{n}{9}%
- \DeclareFixedFont{\univLightXI}{\encodingdefault}%
- {UniversLight}{m}{n}{11}%
- \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{11}%
- \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
- {UniversBold}{m}{n}{11}%
- \DeclareFixedFont{\univLightXV}{\encodingdefault}%
- {UniversLight}{m}{n}{15}%
- \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{15}%
- \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
- {UniversBold}{m}{n}{15}%
- \else%
- \if@tud@univers%
- \DeclareFixedFont{\univLightVII}{\encodingdefault}%
- {\tud@univers}{l}{n}{7}%
- \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
- {\tud@univers}{l}{sl}{7}%
- \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
- {\tud@univers}{b}{n}{7}%
- \DeclareFixedFont{\univLightIX}{\encodingdefault}%
- {\tud@univers}{l}{n}{9}%
- \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
- {\tud@univers}{l}{sl}{9}%
- \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
- {\tud@univers}{b}{n}{9}%
- \DeclareFixedFont{\univLightXI}{\encodingdefault}%
- {\tud@univers}{l}{n}{11}%
- \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
- {\tud@univers}{l}{sl}{11}%
- \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
- {\tud@univers}{b}{n}{11}%
- \DeclareFixedFont{\univLightXV}{\encodingdefault}%
- {\tud@univers}{l}{n}{15}%
- \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
- {\tud@univers}{l}{sl}{15}%
- \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
- {\tud@univers}{b}{n}{15}%
- \fi%
- \fi%
- \if@sansmath%
- \DeclareSymbolFont{aunLetters}{OT1}{\tud@univers}{l}{sl}%
- \SetSymbolFont{aunLetters}{bold}{OT1}{\tud@univers}{b}{sl}%
- \DeclareSymbolFont{aunOperators}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{aunOperators}{bold}{OT1}{\tud@univers}{b}{n}%
- \DeclareSymbolFontAlphabet{\mathsf}{aunOperators}%
- \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters}%
- \DeclareMathAlphabet\mathbf{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet\mathbf{bold}{OT1}{\tud@univers}{b}{n}%
- \DeclareMathAlphabet\mathit{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet\mathit{bold}{OT1}{\tud@univers}{l}{sl}%
- \fi%
- \let\dinBold\dinbn%
- \let\dinfamily\dinbn%
- }{}%
- \ifbool{@tud@oldscrclass}{%
- \cmd@restore{rmdefault}%
- \cmd@restore{sfdefault}%
- \cmd@restore{bfdefault}%
- \cmd@restore{mddefault}%
- \cmd@restore{familydefault}%
- \cmd@restore{seriesdefault}%
- \cmd@restore{shapedefault}%
- \cmd@restore{rmfamily}%
- \cmd@restore{sffamily}%
- \cmd@restore{ttfamily}%
- \DeclareSymbolFontAlphabet{\mathrm}{operators}
- \if@tud@fontspec%
- \DeclareFixedFont{\univLightHead}{\encodingdefault}%
- {UniversLight}{m}{n}{\tud@head@fntsz}%
- \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
- {UniversBold}{m}{n}{\tud@head@fntsz}%
- \else%
- \if@tud@univers%
- \DeclareFixedFont{\univLightHead}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@fntsz}%
- \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@fntsz}%
- \fi%
- \fi%
- }{}%
-}
-%</package>
-% \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%
- }{}%
+%
+% \subsection{Bedingte Majuskeln für Überschriften}
+%
+% Überschriften sollen bloß in Großbuchstaben gesetzt werden, wenn auch
+% tatsächlich die Schrift DIN~Bold verwendet wird.
+% \begin{macro}{\tud@makeuppercase}
+% Der Befehl führt \cs{MakeTextUppercase}\marg{Text} deshalb nur aus, wenn die
+% richtige Schriftfamilie verwendet wird.
+% \begin{macrocode}
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+% \end{macrocode}
+% Aufgrund eines Fehlers im \LaTeX-Kernels liegt die Grundlinie für die beiden
+% Gliederungsebenen \cs{section} und \cs{subsection} zu hoch. Mit dem Einfügen
+% des vertikalen Freiraums für die Umlaute wird diese automatisch nach unten
+% verschoben. Allerdings ist das ein ziemlich übler Hack.
+% \begin{macrocode}
+ \protect\vphantom{\"A\"O\"U}%
+% \addtokomafont{section}{\strut\ignorespaces}%
}
% \end{macrocode}
+% \end{macro}^^A \tud@makeuppercase
%
% \subsection{Anpassungen für das Paket \pkg{ragged2e}}
%
@@ -1386,36 +1773,840 @@
% \end{macro}^^A \tud@ragged2e
% \end{macro}^^A \tud@raggedright
%
+% \subsection{Anpassungen für das Paket \pkg{siunitx}}
+%
+% \begin{macro}{\lseries}
+% Das Paket \pkg{siunitx} nutzt den Befehl \cs{lseries} für den Fall, dass für
+% den Fließtext eine Schrift die Serie \val{l} verwendet. Dem wird hier
+% Rechnung getragen.
+% \begin{macrocode}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}
+}
+% \end{macrocode}
+% \end{macro}^^A \lseries
+%
% \iffalse
%</(class|package)&body>
+%</!fontsizes>
+% \fi
+%
+% \Finale
+%
+\endinput
+%
+% \iffalse
+%<*fontsizes>
+% \fi
+%
+% \subsection{Erzeugen von Schriftgrößendateien}
+%
+% Ab der \TUDScript-Version~v2.04 können sowohl eigene Schriftgrößendateien
+% erzeugt werden als auch zusätzlich ein~-- aus \KOMAScript{} abgewandelter~--
+% Befehl zur automatischen Erzeugung dieser Dateien genutzt werden. Im Laufe
+% der Weiterentwicklung von \TUDScript hat sich jedoch gezeigt, dass dies
+% spätestens mit \KOMAScript~v3.17 nicht notwendig ist. Deshalb wird auf die
+% Verwendung dieser Möglichkeiten vorerst verzichtet. Die Schriftgrößendateien
+% und das Paket \pkg{scrfontsizes} werden momentan nicht generiert. Dennoch
+% bleibt der Quelltext bis auf weiteres hier bestehen.
+%
+% \iffalse
+%<*10pt|11pt|12pt>
+% \fi
+%
+% Erst ein bisschen Geplänkel.
+% \begin{macrocode}
+\ProvidesFile{%
+%<10pt> tudscrsize10pt.clo%
+%<11pt> tudscrsize11pt.clo%
+%<12pt> tudscrsize12pt.clo%
+}[%
+%!TUDVersion
+ font size class option
+%<10pt> (10pt)%
+%<11pt> (11pt)%
+%<12pt> (12pt)%
+]
+% \end{macrocode}
+% Und jetzt die Schriftgrößendefinition.
+% \begin{macrocode}
+\def\normalsize{%
+%<*10pt>
+ \@setfontsize\normalsize{10}{12.5\p@}%
+ \abovedisplayskip 10\p@ \@plus2.5\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+%</10pt>
+%<*11pt>
+ \@setfontsize\normalsize{11}{13.75\p@}%
+ \abovedisplayskip 11\p@ \@plus2.75\p@ \@minus5.5\p@
+ \abovedisplayshortskip \z@ \@plus3.3\p@
+ \belowdisplayshortskip 6.6\p@ \@plus3.3\p@ \@minus3.3\p@
+%</11pt>
+%<*12pt>
+ \@setfontsize\normalsize{12}{15\p@}%
+ \abovedisplayskip 12\p@ \@plus3\p@ \@minus6\p@
+ \abovedisplayshortskip \z@ \@plus3.6\p@
+ \belowdisplayshortskip 7.2\p@ \@plus3.6\p@ \@minus3.6\p@
+%</12pt>
+ \belowdisplayskip\abovedisplayskip
+ \let\@listi\@listI
+}
+\def\small{%
+%<*10pt>
+ \@setfontsize\small{9}{11.25\p@}%
+ \abovedisplayskip 9\p@ \@plus2.25\p@ \@minus4.5\p@
+ \abovedisplayshortskip \z@ \@plus2.7\p@
+ \belowdisplayshortskip 5.4\p@ \@plus2.7\p@ \@minus2.7\p@
+%</10pt>
+%<*11pt>
+ \@setfontsize\small{9.9}{12.375\p@}%
+ \abovedisplayskip 9.9\p@ \@plus2.475\p@ \@minus4.95\p@
+ \abovedisplayshortskip \z@ \@plus2.97\p@
+ \belowdisplayshortskip 5.94\p@ \@plus2.97\p@ \@minus2.97\p@
+%</11pt>
+%<*12pt>
+ \@setfontsize\small{10.8}{13.5\p@}%
+ \abovedisplayskip 10.8\p@ \@plus2.7\p@ \@minus5.4\p@
+ \abovedisplayshortskip \z@ \@plus3.24\p@
+ \belowdisplayshortskip 6.48\p@ \@plus3.24\p@ \@minus3.24\p@
+%</12pt>
+ \def\@listi{%
+ \leftmargin\leftmargini
+%<*10pt>
+ \topsep 6\p@ \@plus2\p@ \@minus3\p@
+ \parsep 3\p@ \@plus1.5\p@ \@minus\p@
+%</10pt>
+%<*11pt>
+ \topsep 6.6\p@ \@plus2.2\p@ \@minus3.3\p@
+ \parsep 3.3\p@ \@plus1.65\p@ \@minus1.1\p@
+%</11pt>
+%<*12pt>
+ \topsep 7.2\p@ \@plus2.4\p@ \@minus3.6\p@
+ \parsep 3.6\p@ \@plus1.8\p@ \@minus1.2\p@
+%</12pt>
+ \itemsep\parsep
+ }%
+ \belowdisplayskip\abovedisplayskip
+}
+\def\footnotesize{%
+%<*10pt>
+ \@setfontsize\footnotesize{8}{10\p@}%
+ \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2.4\p@
+ \belowdisplayshortskip 4.8\p@ \@plus2.4\p@ \@minus2.4\p@
+%</10pt>
+%<*11pt>
+ \@setfontsize\footnotesize{8.8}{11\p@}%
+ \abovedisplayskip 8.8\p@ \@plus2.2\p@ \@minus4.4\p@
+ \abovedisplayshortskip \z@ \@plus2.64\p@
+ \belowdisplayshortskip 5.28\p@ \@plus2.64\p@ \@minus2.64\p@
+%</11pt>
+%<*12pt>
+ \@setfontsize\footnotesize{9.6}{12\p@}%
+ \abovedisplayskip 9.6\p@ \@plus2.4\p@ \@minus4.8\p@
+ \abovedisplayshortskip \z@ \@plus2.88\p@
+ \belowdisplayshortskip 5.76\p@ \@plus2.88\p@ \@minus2.88\p@
+%</12pt>
+ \def\@listi{%
+ \leftmargin\leftmargini
+%<*10pt>
+ \topsep 4.5\p@ \@plus1.5\p@ \@minus2.25\p@
+ \parsep 2.25\p@ \@plus1.125\p@ \@minus\p@
+%</10pt>
+%<*11pt>
+ \topsep 4.95\p@ \@plus1.65\p@ \@minus2.475\p@
+ \parsep 2.475\p@ \@plus1.2375\p@ \@minus\p@
+%</11pt>
+%<*12pt>
+ \topsep 5.4\p@ \@plus1.8\p@ \@minus2.7\p@
+ \parsep 2.7\p@ \@plus1.35\p@ \@minus\p@
+%</12pt>
+ \itemsep\parsep
+ }%
+ \belowdisplayskip\abovedisplayskip
+}
+%<*10pt>
+\def\scriptsize{\@setfontsize\scriptsize{6.5}{8.125\p@}}
+\def\tiny{\@setfontsize\tiny{5}{6.25\p@}}
+\def\large{\@setfontsize\large{11}{13.75\p@}}
+\def\Large{\@setfontsize\Large{13}{16.25\p@}}
+\def\LARGE{\@setfontsize\LARGE{16}{20\p@}}
+\def\huge{\@setfontsize\huge{19}{23.75\p@}}
+\def\Huge{\@setfontsize\Huge{22}{27.5\p@}}
+%</10pt>
+%<*11pt>
+\def\scriptsize{\@setfontsize\scriptsize{7.15}{8.9375\p@}}
+\def\tiny{\@setfontsize\tiny{5.5}{6.875\p@}}
+\def\large{\@setfontsize\large{12.1}{15.125\p@}}
+\def\Large{\@setfontsize\Large{14.3}{17.875\p@}}
+\def\LARGE{\@setfontsize\LARGE{17.6}{22\p@}}
+\def\huge{\@setfontsize\huge{20.9}{26.125\p@}}
+\def\Huge{\@setfontsize\Huge{24.2}{30.25\p@}}
+%</11pt>
+%<*12pt>
+\def\scriptsize{\@setfontsize\scriptsize{7.8}{9.75\p@}}
+\def\tiny{\@setfontsize\tiny{6}{7.5\p@}}
+\def\large{\@setfontsize\large{13.2}{16.5\p@}}
+\def\Large{\@setfontsize\Large{15.6}{19.5\p@}}
+\def\LARGE{\@setfontsize\LARGE{19.2}{24\p@}}
+\def\huge{\@setfontsize\huge{22.8}{28.5\p@}}
+\def\Huge{\@setfontsize\Huge{26.4}{33\p@}}
+%</12pt>
+\normalsize
+%<*10pt>
+\setlength{\footnotesep}{7\p@}
+\setlength{\skip\footins}{9\p@ \@plus4\p@ \@minus2\p@}
+\setlength{\floatsep}{12.5\p@ \@plus2.5\p@ \@minus2.5\p@}
+\setlength{\textfloatsep}{20\p@ \@plus2.5\p@ \@minus5\p@}
+%</10pt>
+%<*11pt>
+\setlength{\footnotesep}{7.7\p@}
+\setlength{\skip\footins}{9.9\p@ \@plus4.4\p@ \@minus2.2\p@}
+\setlength{\floatsep}{13.75\p@ \@plus2.75\p@ \@minus2.75\p@}
+\setlength{\textfloatsep}{22\p@ \@plus2.75\p@ \@minus5.5\p@}
+%</11pt>
+%<*12pt>
+\setlength{\footnotesep}{8.4\p@}
+\setlength{\skip\footins}{10.8\p@ \@plus4.8\p@ \@minus2.4\p@}
+\setlength{\floatsep}{15\p@ \@plus3\p@ \@minus3\p@}
+\setlength{\textfloatsep}{24\p@ \@plus3\p@ \@minus6\p@}
+%</12pt>
+\intextsep\floatsep
+\dblfloatsep\floatsep
+\dbltextfloatsep\textfloatsep
+\setlength{\@fptop}{\z@ \@plus1fil}
+%<10pt>\setlength{\@fpsep}{7.5\p@ \@plus2fil}
+%<11pt>\setlength{\@fpsep}{8.25\p@ \@plus2fil}
+%<12pt>\setlength{\@fpsep}{9\p@ \@plus2fil}
+\@fpbot\@fptop
+\@dblfptop\@fptop
+\@dblfpsep\@fpsep
+\@dblfpbot\@dblfptop
+%<10pt>\setlength{\partopsep}{2.5\p@ \@plus1.25\p@ \@minus1.25\p@}
+%<11pt>\setlength{\partopsep}{2.75\p@ \@plus1.375\p@ \@minus1.375\p@}
+%<12pt>\setlength{\partopsep}{3\p@ \@plus1.5\p@ \@minus1.5\p@}
+\def\@listi{%
+ \leftmargin\leftmargini
+%<*10pt>
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \parsep 4\p@ \@plus2\p@ \@minus\p@
+%</10pt>
+%<*11pt>
+ \topsep 8.8\p@ \@plus2.2\p@ \@minus4.4\p@
+ \parsep 4.4\p@ \@plus2.2\p@ \@minus1.1\p@
+%</11pt>
+%<*12pt>
+ \topsep 9.6\p@ \@plus2.4\p@ \@minus4.8\p@
+ \parsep 4.8\p@ \@plus2.4\p@ \@minus1.2\p@
+%</12pt>
+ \itemsep\parsep
+}
+\let\@listI\@listi
+\def\@listii{%
+ \leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+%<*10pt>
+ \topsep 4\p@ \@plus2\p@ \@minus\p@
+ \parsep 2\p@ \@plus\p@ \@minus\p@
+%</10pt>
+%<*11pt>
+ \topsep 4.4\p@ \@plus2.2\p@ \@minus1.1\p@
+ \parsep 2.2\p@ \@plus1.1\p@ \@minus1.1\p@
+%</11pt>
+%<*12pt>
+ \topsep 4.8\p@ \@plus2.4\p@ \@minus1.2\p@
+ \parsep 2.4\p@ \@plus1.2\p@ \@minus1.2\p@
+%</12pt>
+ \itemsep\parsep
+}
+\def\@listiii{%
+ \leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+%<*10pt>
+ \topsep 2\p@ \@plus\p@ \@minus\p@
+%</10pt>
+%<*11pt>
+ \topsep 2.2\p@ \@plus1.1\p@ \@minus1.1\p@
+%</11pt>
+%<*12pt>
+ \topsep 2.4\p@ \@plus1.2\p@ \@minus1.2\p@
+%</12pt>
+ \parsep\z@
+ \partopsep \z@ \@minus\p@
+ \itemsep\topsep
+}
+\def\@listiv{%
+ \leftmargin\leftmarginiv
+ \labelwidth\leftmarginiv
+ \advance\labelwidth-\labelsep
+}
+\def\@listv{%
+ \leftmargin\leftmarginv
+ \labelwidth\leftmarginv
+ \advance\labelwidth-\labelsep
+}
+\def\@listvi{%
+ \leftmargin\leftmarginvi
+ \labelwidth\leftmarginvi
+ \advance\labelwidth-\labelsep
+}
+%<*10pt>
+\setlength{\smallskipamount}{3.125\p@ \@plus1.25\p@ \@minus1.25\p@}
+\setlength{\medskipamount}{6.25\p@ \@plus2.5\p@ \@minus2.5\p@}
+\setlength{\bigskipamount}{12.5\p@ \@plus5\p@ \@minus5\p@}
+%</10pt>
+%<*11pt>
+\setlength{\smallskipamount}{3.4375\p@ \@plus1.375\p@ \@minus1.375\p@}
+\setlength{\medskipamount}{6.875\p@ \@plus2.75\p@ \@minus2.75\p@}
+\setlength{\bigskipamount}{13.75\p@ \@plus5.5\p@ \@minus5.5\p@}
+%</11pt>
+%<*12pt>
+\setlength{\smallskipamount}{3.75\p@ \@plus1.5\p@ \@minus1.5\p@}
+\setlength{\medskipamount}{7.5\p@ \@plus3\p@ \@minus3\p@}
+\setlength{\bigskipamount}{15\p@ \@plus6\p@ \@minus6\p@}
+%</12pt>
+\providecommand*\TUD@AfterKOMAClass[1]{%
+ \ifcsname KOMAClassName\endcsname
+ \if@atdocument%
+ #1
+ \else%
+ \AfterClass+{\KOMAClassName}{#1}%
+ \fi%
+ \fi%
+}
+\TUD@AfterKOMAClass{%
+%<10pt> \setlength{\abovecaptionskip}{10\p@}
+%<11pt> \setlength{\abovecaptionskip}{11\p@}
+%<12pt> \setlength{\abovecaptionskip}{12\p@}
+ \setlength{\belowcaptionskip}{\z@}
+}
+\@ifundefined{@list@extra}{}{%
+ \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi%
+ \l@addto@macro{\@listi}{\@list@extra}%
+ \let\@listI=\@listi
+ \l@addto@macro{\@listii}{\@list@extra}%
+ \l@addto@macro{\@listiii}{\@list@extra}%
+ \l@addto@macro{\footnotesize}{\protect\add@extra@listi{ftns}}%
+ \l@addto@macro{\small}{\protect\add@extra@listi{sml}}%
+}
+\@listi
+% \end{macrocode}
+%
+% \iffalse
+%</10pt|11pt|12pt>
%<*package&body>
% \fi
%
-% \begin{macro}{\@makechapterhead}
-% \begin{macro}{\@makeschapterhead}
-% \begin{macro}{\section}
-% \begin{macro}{\showtitle}
-% Ganz zum Schluss merden für das Paket \pkg{tudscrfonts} noch ein paar
-% Anpassungen für die \cls{tudbook}-Klasse gemacht.
-% \begin{macrocode}
-\@ifclassloaded{tudbook}{%
- \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}%
- \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}%
- \patchcmd{\section}{\dinBold\Large\bfseries}%
- {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}%
- \patchcmd{\showtitle}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}%
-}{}
+% Es wird der Inhalt des Pakets \pkg{tudscrfontsizes} definiert, welches auf
+% \pkg{scrfontsizes} aufbaut.
+% \begin{macro}{\changefontsizes}
+% \begin{macro}{\tud@changefontsizes}
+% Das Pendant zum \KOMAScript-Makro \cs{generate@fontfile} ist der hier
+% definierte Befehl \cs{tud@generate@fontfile}. Mit diesem können eigenständige
+% Schriftgrößendateien erstellt werden.
+% \begin{macrocode}
+\RequirePackage{scrfontsizes}[2015/02/07]
+% \end{macrocode}
+% Hiermit kann die Schriftgröße im Dokument geändert werden, falls keine
+% passende Schriftgrößendatei vorhanden ist. Der Befehl lehnt sich stark am
+% \KOMAScript-Befehl \cs{changefontsizes} an, ändert allerdings einige Längen
+% marginal.
+% \begin{macrocode}
+\newcommand*{\tud@changefontsizes}[2][\dimexpr5\@tempdima/4\relax]{%
+%<*class>
+ \ClassInfo{\TUDClassName}%
+%</class>
+%<*package>
+ \PackageInfo{tudscrfonts}%
+%</package>
+ {Calculating font sizes for basic size `#2'}%
+ \@defaultunits\@tempdima#2pt\relax\@nnil%
+ \setlength{\@tempdimc}{\@tempdima}%
+ \addtolength{\@tempdimc}{-10\p@}%
+ \edef\@ptsize{\strip@pt\@tempdimc}%
+ \setlength{\@tempdimb}{#1}%
+ \setlength{\@tempdimc}{\dimexpr (100\@tempdimb / \@tempdima * \p@)}%
+ \edef\@tempa{\strip@pt\@tempdimc}%
+ \@defaultunits\@tempdimb\dimexpr\@tempa\@tempdima/100\relax pt\relax\@nnil%
+ \setlength{\@tempdimc}{\@tempdima}%
+ \scr@setlength{\abovedisplayskip}{\dimexpr4\@tempdimb/5\relax}%
+ {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
+ \scr@setlength{\abovedisplayshortskip}{\z@}%
+ {\dimexpr6\@tempdimb/25\relax}{\z@}%
+ \scr@setlength{\belowdisplayshortskip}{\dimexpr12\@tempdimb/25\relax}%
+ {\dimexpr6\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \edef\normalsize{%
+ \noexpand\@setfontsize\noexpand\normalsize%
+ {\the\@tempdima}{\the\@tempdimb}%
+ \abovedisplayskip \the\abovedisplayskip%
+ \abovedisplayshortskip \the\abovedisplayshortskip%
+ \belowdisplayskip \the\belowdisplayskip%
+ \belowdisplayshortskip \the\belowdisplayshortskip%
+ \let\noexpand\@listi\noexpand\@listI%
+ }%
+ \setlength{\@tempdima}{\dimexpr9\@tempdimc/10\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \scr@setlength{\abovedisplayskip}{\dimexpr4\@tempdimb/5\relax}%
+ {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
+ \scr@setlength{\abovedisplayshortskip}{\z@}%
+ {\dimexpr6\@tempdimb/25\relax}{\z@}%
+ \scr@setlength{\belowdisplayshortskip}{\dimexpr12\@tempdimb/25\relax}%
+ {\dimexpr6\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \edef\small{%
+ \noexpand\@setfontsize\noexpand\small%
+ {\the\@tempdima}{\the\@tempdimb}%
+ \abovedisplayskip \the\abovedisplayskip%
+ \abovedisplayshortskip \the\abovedisplayshortskip%
+ \belowdisplayskip \the\belowdisplayskip%
+ \belowdisplayshortskip \the\belowdisplayshortskip%
+ \let\noexpand\@listi\noexpand\@listi@small%
+ }%
+ \setlength{\@tempdima}{\dimexpr4\@tempdimc/5\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \scr@setlength{\abovedisplayskip}{\dimexpr4\@tempdimb/5\relax}%
+ {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
+ \scr@setlength{\abovedisplayshortskip}{\z@}%
+ {\dimexpr6\@tempdimb/25\relax}{\z@}%
+ \scr@setlength{\belowdisplayshortskip}{\dimexpr12\@tempdimb/25\relax}%
+ {\dimexpr6\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
+ \setlength{\belowdisplayskip}{\abovedisplayskip}%
+ \edef\footnotesize{%
+ \noexpand\@setfontsize\noexpand\footnotesize%
+ {\the\@tempdima}{\the\@tempdimb}%
+ \abovedisplayskip \the\abovedisplayskip%
+ \abovedisplayshortskip \the\abovedisplayshortskip%
+ \belowdisplayskip \the\belowdisplayskip%
+ \belowdisplayshortskip \the\belowdisplayshortskip%
+ \let\noexpand\@listi\noexpand\@listi@footnotesize%
+ }%
+ \setlength{\@tempdima}{\dimexpr13\@tempdimc/20\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \edef\scriptsize{%
+ \noexpand\@setfontsize\noexpand\scriptsize%
+ {\the\@tempdima}{\the\@tempdimb}%
+ }%
+ \setlength{\@tempdima}{\dimexpr\@tempdimc/2\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \edef\tiny{%
+ \noexpand\@setfontsize\noexpand\tiny%
+ {\the\@tempdima}{\the\@tempdimb}%
+ }%
+ \setlength{\@tempdima}{\dimexpr11\@tempdimc/10\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \edef\large{%
+ \noexpand\@setfontsize\noexpand\large%
+ {\the\@tempdima}{\the\@tempdimb}%
+ }%
+ \setlength{\@tempdima}{\dimexpr13\@tempdimc/10\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \edef\Large{%
+ \noexpand\@setfontsize\noexpand\Large%
+ {\the\@tempdima}{\the\@tempdimb}%
+ }%
+ \setlength{\@tempdima}{\dimexpr16\@tempdimc/10\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \edef\LARGE{%
+ \noexpand\@setfontsize\noexpand\LARGE%
+ {\the\@tempdima}{\the\@tempdimb}%
+ }%
+ \setlength{\@tempdima}{\dimexpr19\@tempdimc/10\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \edef\huge{%
+ \noexpand\@setfontsize\noexpand\huge%
+ {\the\@tempdima}{\the\@tempdimb}%
+ }%
+ \setlength{\@tempdima}{\dimexpr22\@tempdimc/10\relax}%
+ \setlength{\@tempdimb}{\dimexpr\@tempa\@tempdima/100\relax}%
+ \edef\Huge{%
+ \noexpand\@setfontsize\noexpand\Huge%
+ {\the\@tempdima}{\the\@tempdimb}%
+ }%
+ \normalsize%
+ \expandafter\ifnum\scr@v@is@ge{3.17}\par@updaterelative\fi%
+ \setlength{\@tempdimb}{\f@baselineskip}%
+ \scr@setlength{\topsep}{\dimexpr16\@tempdimb/25\relax}%
+ {\dimexpr4\@tempdimb/25\relax}{\dimexpr8\@tempdimb/25\relax}%
+ \scr@setlength{\parsep}{\dimexpr8\@tempdimb/25\relax}%
+ {\dimexpr4\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listi\endcsname%
+ \endgroup%
+ \edef\@listi{\leftmargin\leftmargini%
+ \topsep \the\topsep%
+ \parsep \the\parsep%
+ \itemsep \parsep%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \let\@listI\@listi%
+ \scr@setlength{\topsep}{\dimexpr12\@tempdimb/25\relax}%
+ {\dimexpr4\@tempdimb/25\relax}{\dimexpr6\@tempdimb/25\relax}%
+ \scr@setlength{\parsep}{\dimexpr6\@tempdimb/25\relax}%
+ {\dimexpr3\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listi\endcsname%
+ \endgroup%
+ \edef\@listi@small{\leftmargin\leftmargini%
+ \topsep \the\topsep%
+ \parsep \the\parsep%
+ \itemsep \parsep%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \scr@setlength{\topsep}{\dimexpr36\@tempdimb/100\relax}%
+ {\dimexpr12\@tempdimb/100\relax}{\dimexpr18\@tempdimb/100\relax}%
+ \scr@setlength{\parsep}{\dimexpr18\@tempdimb/100\relax}%
+ {\dimexpr9\@tempdimb/100\relax}{\dimexpr6\@tempdimb/100\relax}%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listi\endcsname%
+ \endgroup%
+ \edef\@listi@footnotesize{\leftmargin\leftmargini%
+ \topsep \the\topsep%
+ \parsep \the\parsep%
+ \itemsep \parsep%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \scr@setlength{\topsep}{\dimexpr8\@tempdimb/25\relax}%
+ {\dimexpr4\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
+ \scr@setlength{\parsep}{\dimexpr4\@tempdimb/25\relax}%
+ {\dimexpr2\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listii\endcsname%
+ \endgroup%
+ \edef\@listii{\leftmargin\leftmarginii%
+ \labelwidth=\dimexpr \leftmargin-\labelsep%
+ \topsep \the\topsep%
+ \parsep \the\parsep%
+ \itemsep \parsep%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \scr@setlength{\topsep}{\dimexpr4\@tempdimb/25\relax}%
+ {\dimexpr2\@tempdimb/25\relax}{\dimexpr2\@tempdimb/25\relax}%
+ \setlength{\partopsep}{\z@ \@plus\z@ \@minus\p@}%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listiii\endcsname%
+ \endgroup%
+ \edef\@listiii{\leftmargin\leftmarginiii%
+ \labelwidth=\dimexpr \leftmargin-\labelsep%
+ \topsep \the\topsep%
+ \parsep \z@%
+ \partopsep \the\partopsep%
+ \itemsep \topsep%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listiv\endcsname%
+ \endgroup%
+ \edef\@listiv{\leftmargin\leftmarginiv%
+ \labelwidth=\dimexpr \leftmargin-\labelsep\relax%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listv\endcsname%
+ \endgroup%
+ \edef\@listv{\leftmargin\leftmarginv%
+ \labelwidth=\dimexpr \leftmargin-\labelsep\relax%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \@tempswafalse%
+ \begingroup%
+ \def\@list@extra{\aftergroup\@tempswatrue}%
+ \csname @listvi\endcsname%
+ \endgroup%
+ \edef\@listvi{\leftmargin\leftmarginvi%
+ \labelwidth=\dimexpr \leftmargin-\labelsep\relax%
+ \if@tempswa\noexpand\@list@extra\fi%
+ }%
+ \@listi%
+ \setlength{\@tempdimb}{\f@baselineskip}%
+ \setlength{\footnotesep}{\dimexpr14\@tempdimb/25\relax}%
+ \scr@setlength{\skip\footins}{\dimexpr18\@tempdimb/25\relax}%
+ {\dimexpr8\@tempdimb/25\relax}{\dimexpr4\@tempdimb/25\relax}%
+ \scr@setlength{\floatsep}{\@tempdimb}%
+ {\dimexpr\@tempdimb/5\relax}{\dimexpr\@tempdimb/5\relax}%
+ \scr@setlength{\textfloatsep}{\dimexpr8\@tempdimb/5\relax}%
+ {\dimexpr\@tempdimb/5\relax}{\dimexpr2\@tempdimb/5\relax}%
+ \setlength{\intextsep}{\floatsep}%
+ \setlength{\dblfloatsep}{\floatsep}%
+ \setlength{\dbltextfloatsep}{\textfloatsep}%
+ \setlength{\@fptop}{\z@ \@plus 1fil}%
+ \setlength{\@fpsep}{\dimexpr3\@tempdimb/5\relax \@plus 2fil}%
+ \setlength{\@fpbot}{\@fptop}%
+ \setlength{\@dblfptop}{\@fptop}%
+ \setlength{\@dblfpsep}{\@fpsep}%
+ \setlength{\@dblfpbot}{\@fptop}%
+ \scr@setlength{\partopsep}{\dimexpr\@tempdimb/5\relax}%
+ {\dimexpr\@tempdimb/10\relax}{\dimexpr\@tempdimb/10\relax}%
+ \tud@font@skip@@set%
+}
+% \end{macrocode}
+% \ToDo{Versionsdatum einfügen}
+% \begin{macrocode}
+\@ifundefined{tud@font@skip@@set}{\RequirePackage{tudscrfonts}[2015/03/27]}{}
+\let\changefontsizes\tud@changefontsizes%
+% \end{macrocode}
+% \end{macro}^^A \tud@changefontsizes
+% \end{macro}^^A \changefontsizes
+% \begin{macro}{\generate@fontfile}
+% \begin{macro}{\tud@generate@fontfile}
+% \begin{macrocode}
+\newcommand*{\tud@generate@fontfile}[2]{%
+ \def\@ind{\space\space}%
+ \immediate\openout\@fontfile #1#2.clo
+ \immediate\write\@fontfile{\@percentchar^^J%
+ \@percentchar\space This is file `#1#2.clo', generated with^^J%
+ \@percentchar\space tudscrfontsizes
+ \csname ver@tudscrfontsizes.sty\endcsname,^^J%
+ \@percentchar\space and bases on scrfontsize.sty by Markus Kohm.^^J%
+ \@percentchar^^J%
+ \string\ProvidesFile{#1#2.clo}[%
+ \the\year/\ifnum\month<10 0\fi\the\month/\ifnum\day<10 0\fi\the\day%
+ \space generated font size class option (#2)]}%
+ \immediate\write\@fontfile{%
+ \string\def\string\normalsize{\@percentchar^^J%
+ \@ind\string\@setfontsize\string\normalsize{\f@size}{\f@baselineskip}%
+ \@percentchar^^J%
+ \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+ \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+ \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+ \@ind\string\belowdisplayskip\string\abovedisplayskip^^J%
+ \@ind\string\let\string\@listi\string\@listI^^J%
+ }%
+ }%
+ \begingroup\small\@listi
+ \immediate\write\@fontfile{%
+ \string\def\string\small{\@percentchar^^J%
+ \@ind\string\@setfontsize\string\small{\f@size}{\f@baselineskip}%
+ \@percentchar^^J%
+ \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+ \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+ \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+ \@ind\string\def\string\@listi{\@percentchar^^J%
+ \@ind\@ind\string\leftmargin\string\leftmargini^^J%
+ \@ind\@ind\string\topsep \the\topsep^^J%
+ \@ind\@ind\string\parsep \the\parsep^^J%
+ \@ind\@ind\string\itemsep \string\parsep^^J%
+ \@ind}\@percentchar^^J%
+ \@ind\string\belowdisplayskip\string\abovedisplayskip^^J%
+ }%
+ }%
+ \endgroup
+ \begingroup\footnotesize\@listi
+ \immediate\write\@fontfile{%
+ \string\def\string\footnotesize{\@percentchar^^J%
+ \@ind\string\@setfontsize\string\footnotesize{\f@size}{\f@baselineskip}%
+ \@percentchar^^J%
+ \@ind\string\abovedisplayskip\space \the\abovedisplayskip^^J%
+ \@ind\string\abovedisplayshortskip\space \the\abovedisplayshortskip^^J%
+ \@ind\string\belowdisplayshortskip\space \the\belowdisplayshortskip^^J%
+ \@ind\string\def\string\@listi{\@percentchar^^J%
+ \@ind\@ind\string\leftmargin\string\leftmargini^^J%
+ \@ind\@ind\string\topsep \the\topsep^^J%
+ \@ind\@ind\string\parsep \the\parsep^^J%
+ \@ind\@ind\string\itemsep \string\parsep^^J%
+ \@ind}\@percentchar^^J%
+ \@ind\string\belowdisplayskip\string\abovedisplayskip^^J%
+ }%
+ }%
+ \endgroup
+ \begingroup\scriptsize
+ \immediate\write\@fontfile{%
+ \string\def\string\scriptsize{%
+ \string\@setfontsize\string\scriptsize{\f@size}{\f@baselineskip}%
+ }%
+ }%
+ \endgroup
+ \begingroup\tiny
+ \immediate\write\@fontfile{%
+ \string\def\string\tiny{%
+ \string\@setfontsize\string\tiny{\f@size}{\f@baselineskip}%
+ }%
+ }%
+ \endgroup
+ \begingroup\large
+ \immediate\write\@fontfile{%
+ \string\def\string\large{%
+ \string\@setfontsize\string\large{\f@size}{\f@baselineskip}%
+ }%
+ }%
+ \endgroup
+ \begingroup\Large
+ \immediate\write\@fontfile{%
+ \string\def\string\Large{%
+ \string\@setfontsize\string\Large{\f@size}{\f@baselineskip}%
+ }%
+ }%
+ \endgroup
+ \begingroup\LARGE
+ \immediate\write\@fontfile{%
+ \string\def\string\LARGE{%
+ \string\@setfontsize\string\LARGE{\f@size}{\f@baselineskip}%
+ }%
+ }%
+ \endgroup
+ \begingroup\huge
+ \immediate\write\@fontfile{%
+ \string\def\string\huge{%
+ \string\@setfontsize\string\huge{\f@size}{\f@baselineskip}%
+ }%
+ }%
+ \endgroup
+ \begingroup\Huge
+ \immediate\write\@fontfile{%
+ \string\def\string\Huge{%
+ \string\@setfontsize\string\Huge{\f@size}{\f@baselineskip}%
+ }%
+ }%
+ \endgroup
+ \immediate\write\@fontfile{\string\normalsize}%
+ \immediate\write\@fontfile{%
+ \string\setlength{\string\footnotesep}{\the\footnotesep}^^J%
+ \string\setlength{\string\skip\string\footins}{\the\skip\footins}^^J%
+ \string\setlength{\string\floatsep}{\the\floatsep}^^J%
+ \string\setlength{\string\textfloatsep}{\the\textfloatsep}^^J%
+ \string\setlength{\string\intextsep}{\the\intextsep}^^J%
+ \string\setlength{\string\dblfloatsep}{\the\dblfloatsep}^^J%
+ \string\setlength{\string\dbltextfloatsep}{\the\dbltextfloatsep}^^J%
+ \string\setlength{\string\@fptop}{\the\@fptop}^^J%
+ \string\setlength{\string\@fpsep}{\the\@fpsep}^^J%
+ \string\setlength{\string\@fpbot}{\the\@fpbot}^^J%
+ \string\setlength{\string\@dblfptop}{\the\@dblfptop}^^J%
+ \string\setlength{\string\@dblfpsep}{\the\@dblfpsep}^^J%
+ \string\setlength{\string\@dblfpbot}{\the\@dblfpbot}^^J%
+ \string\setlength{\string\partopsep}{\the\partopsep}%
+ }%
+ \begingroup
+ \@listi
+ \immediate\write\@fontfile{%
+ \string\def\string\@listi{\@percentchar^^J%
+ \@ind\string\leftmargin\string\leftmargini^^J%
+ \@ind\string\topsep \the\topsep^^J%
+ \@ind\string\parsep \the\parsep^^J%
+ \@ind\string\itemsep \string\parsep^^J%
+ }%
+ }%
+ \endgroup
+ \immediate\write\@fontfile{%
+ \string\let\string\@listI\string\@listi
+ }%
+ \begingroup
+ \@listii
+ \immediate\write\@fontfile{%
+ \string\def\string\@listii{\@percentchar^^J%
+ \@ind\string\leftmargin\string\leftmarginii^^J%
+ \@ind\string\labelwidth\string\leftmarginii^^J%
+ \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+ \@ind\string\topsep \the\topsep^^J%
+ \@ind\string\parsep \the\parsep^^J%
+ \@ind\string\itemsep \string\parsep^^J%
+ }%
+ }%
+ \endgroup
+ \begingroup
+ \@listiii
+ \immediate\write\@fontfile{%
+ \string\def\string\@listiii{\@percentchar^^J%
+ \@ind\string\leftmargin\string\leftmarginiii^^J%
+ \@ind\string\labelwidth\string\leftmarginiii^^J%
+ \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+ \@ind\string\topsep \the\topsep^^J%
+ \@ind\string\parsep \the\parsep^^J%
+ \@ind\string\partopsep \the\partopsep^^J%
+ \@ind\string\itemsep \string\topsep^^J%
+ }%
+ }%
+ \endgroup
+ \begingroup
+ \@listiv
+ \immediate\write\@fontfile{%
+ \string\def\string\@listiv{\@percentchar^^J%
+ \@ind\string\leftmargin\string\leftmarginiv^^J%
+ \@ind\string\labelwidth\string\leftmarginiv^^J%
+ \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+ }%
+ }%
+ \endgroup
+ \begingroup
+ \@listv
+ \immediate\write\@fontfile{%
+ \string\def\string\@listv{\@percentchar^^J%
+ \@ind\string\leftmargin\string\leftmarginv^^J%
+ \@ind\string\labelwidth\string\leftmarginv^^J%
+ \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+ }%
+ }%
+ \endgroup
+ \begingroup
+ \@listvi
+ \immediate\write\@fontfile{%
+ \string\def\string\@listvi{\@percentchar^^J%
+ \@ind\string\leftmargin\string\leftmarginvi^^J%
+ \@ind\string\labelwidth\string\leftmarginvi^^J%
+ \@ind\string\advance\string\labelwidth-\string\labelsep^^J%
+ }%
+ }%
+ \endgroup
+ \immediate\write\@fontfile{%
+ \string\setlength{\string\smallskipamount}{\the\smallskipamount}^^J%
+ \string\setlength{\string\medskipamount}{\the\medskipamount}^^J%
+ \string\setlength{\string\bigskipamount}{\the\bigskipamount}%
+ }%
+ \immediate\write\@fontfile{%
+ \string\@ifundefined{TUDClassName@KOMA}{}{\@percentchar^^J%
+ \@ind\string\AfterClass+{\string\TUDClassName@KOMA}{\@percentchar^^J%
+ \@ind\@ind\string\setlength{\string\abovecaptionskip}%
+ {\the\abovecaptionskip}^^J%
+ \@ind\@ind\string\setlength{\string\belowcaptionskip}%
+ {\the\belowcaptionskip}^^J%
+ \@ind}\@percentchar^^J%
+ }%
+ }%
+ \immediate\write\@fontfile{%
+ \string\@ifundefined{@list@extra}{}{\@percentchar^^J%
+ \@ind\string\l@addto@macro{\string\@listi}{\string\@list@extra}%
+ \@percentchar^^J%
+ \@ind\string\let\string\@listI=\string\@listi^^J%
+ \@ind\string\l@addto@macro{\string\@listii}{\string\@list@extra}%
+ \@percentchar^^J%
+ \@ind\string\l@addto@macro{\string\@listiii}{\string\@list@extra}%
+ \@percentchar^^J%
+ \@ind\string\l@addto@macro{\string\footnotesize}{\string\protect
+ \string\add@extra@listi{ftns}}\@percentchar^^J%
+ \@ind\string\l@addto@macro{\string\small}{\string\protect
+ \string\add@extra@listi{sml}}\@percentchar^^J%
+ }^^J%
+ \string\@listi^^J%
+ \string\endinput^^J%
+ \@percentchar^^J%
+ \@percentchar\space End of file `#1#2.clo'.%
+ }
+ \immediate\closeout\@fontfile
+}
+\let\generate@fontfile\tud@generate@fontfile
% \end{macrocode}
-% \end{macro}^^A \showtitle
-% \end{macro}^^A \section
-% \end{macro}^^A \@makeschapterhead
-% \end{macro}^^A \@makechapterhead
+% \end{macro}^^A \tud@generate@fontfile
+% \end{macro}^^A \generate@fontfile
%
% \iffalse
%</package&body>
+%</fontsizes>
% \fi
%
% \Finale