summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx945
1 files changed, 502 insertions, 443 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
index f3264e41b05..6c083713ea1 100644
--- a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx
@@ -1,29 +1,33 @@
-% \CheckSum{1099}
+% \CheckSum{1131}
% \iffalse meta-comment
-% ======================================================================
+%
+% ============================================================================
+%
+% TUD-KOMA-Script
+% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015
+%
+% ============================================================================
+%
+% This work may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License, version 1.3c of the license. The latest
+% version of this license is in http://www.latex-project.org/lppl.txt and
+% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+% or later and of this work. This work has the LPPL maintenance status
+% "author-maintained". The current maintainer and author of this work
+% is Falk Hanisch.
+%
+% ----------------------------------------------------------------------------
+%
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%
+% ============================================================================
%
-% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
-%
-% ======================================================================
-% This work may be distributed and/or modified under the conditions of
-% the LaTeX Project Public License, version 1.3c of the license.
-% The latest version of this license is in
-% http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later and of this work.
-% This work has the LPPL maintenance status "author-maintained".
-% The current maintainer and author of this work is Falk Hanisch.
-% ----------------------------------------------------------------------
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3c, verteilt und/oder veraendert werden.
-% Die neuste Version dieser Lizenz ist
-% http://www.latex-project.org/lppl.txt
-% und Version 1.3c ist Teil aller Verteilungen von LaTeX
-% Version 2005/12/01 oder spaeter und dieses Werks.
-% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
-% (allein durch den Autor verwaltet).
-% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
-% ======================================================================
% \fi
%
% \CharacterTable
@@ -47,7 +51,7 @@
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-fonts.dtx}[%
- 2014/12/04 v2.02 TUD-KOMA-Script\space%
+ 2015/02/15 v2.03 TUD-KOMA-Script\space%
%</driver>
%<package&identify>\NeedsTeXFormat{LaTeX2e}[2011/06/27]
%<package&identify>\ProvidesPackage{tudscrfonts}[%
@@ -78,9 +82,11 @@
% \selectlanguage{ngerman}
%
% \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A
-% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^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}{Nutzung alter tud-Klassen ermöglicht}%^^A
+% \changes{v2.02}{2014/09/30}{\pkg{tudscrfonts} Nutzung alter tud-Klassen
+% mit neuen Schriftfamilien ermöglicht}%^^A
%
% \section{Schriften des \CDs}
%
@@ -105,7 +111,7 @@
\ClassWarning{\tudcls@name}{%
The package `tudscrfonts' must not be used with\MessageBreak%
a TUD-KOMA-Script class%
- }
+ }%
]{tudscrfonts}
% \end{macrocode}
%
@@ -128,6 +134,9 @@
% \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}{}%
@@ -200,8 +209,8 @@
% Hier kommt die eigentliche Option.
% \begin{macrocode}
\newif\if@tud@fontspec
-\TUD@key@lock{fontspec}[true]{%
- \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}%
+\TUD@key{fontspec}[true]{%
+ \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
}
% \end{macrocode}
% Da dieser Prozess sehr tief in die Schriftauswahl eingreift und das Laden des
@@ -209,24 +218,33 @@
% Option nur beim Laden der Klasse zugelassen.
% \begin{macrocode}
%<*class>
-\AtEndOfClass{%
- \TUD@key{fontspec}[]{%
- \ClassError{\tudcls@name}{Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\tudcls@name' but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
+\AtEndOfClass%
%</class>
%<*package>
-\AtEndOfPackage{%
- \TUD@key{fontspec}[]{%
- \PackageError{tudscrfonts}{Option `fontspec' too late}{%
+\AtEndOfPackage%
+%</package>
+{%
+ \TUD@key{fontspec}[]
+ {%
+%<*class>
+ \ClassError{\tudcls@name}
+%</class>
+%<*package>
+ \PackageError{tudscrfonts}
+%</package>
+ {Option `fontspec' too late}{%
Option `fontspec' can only be set while loading the\MessageBreak%
- package `tudscrfonts' but you have tried to set it up later.%
+%<*class>
+ class `\tudcls@name'
+%</class>
+%<*package>
+ package `tudscrfonts'
+%</package>
+ but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
}%
+%<*package>
\@ifpackageloaded{fontspec}{%
\PackageError{tudscrfonts}{Package `fontspec' too early}{%
When using the option `fontspec' you must not load\MessageBreak%
@@ -234,6 +252,22 @@
}%
}{}
%</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}
+ \fi%
}
% \end{macrocode}
% Anschließend erfolgt die Verarbeitung der Option am Ende der Klasse. Zu
@@ -283,9 +317,10 @@
%<*package>
\PackageWarningNoLine{tudscrfonts}{%
%</package>
- `#1' fonts not found. Please use on of the\MessageBreak%
- installation scripts out of the tudscr-bundle,\MessageBreak%
- which suits to your OS. A fallback layout is used%
+ `#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%
}%
}%
\fi%
@@ -309,6 +344,7 @@
% 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%
@@ -356,22 +392,22 @@
% 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[NFSSFamily=UniversLight]{Univers Light}%
- \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}%
- \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}%
- \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}%
- \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}%
- \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}%
- \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}%
- \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}%
- \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}}
+ \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}
% Falls \opt{fontspec} nicht aktiv ist, werden die Schriften klassisch nach dem
% NFSS definiert.
@@ -447,6 +483,7 @@
% \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
@@ -456,9 +493,9 @@
\ifdef{\sectfont}{}{\let\sectfont\relax}%
%</package>
\if@tud@fontspec%
- \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]%
+ \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
\newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}%
- \newcommand*\textdbn[1]{{\dinbn#1}}
+ \newcommand*\textdbn[1]{{\dinbn#1}}%
\else%
\if@tud@dinbold%
\newcommand*\dinbn{%
@@ -469,10 +506,11 @@
\let\dinbn\sectfont%
\fi%
\newcommand*\textdbn{}%
- \DeclareTextFontCommand{\textdbn}{\dinbn}
+ \DeclareTextFontCommand{\textdbn}{\dinbn}%
\fi%
% \end{macrocode}
% \end{macro}^^A \textdbn
+% \end{macro}^^A \@dinbn
% \end{macro}^^A \dinbn
% \begin{macro}{\mv@univers}
% \begin{macro}{\mv@universbold}
@@ -482,24 +520,24 @@
% 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}{\tud@mathenc}{\tud@univers}{b}{n}
- \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}
- \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}
- \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}
- \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}
- \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}
- \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}
- \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}
+ \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}{\tud@mathenc}{\tud@univers}{b}{n}%
+ \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}%
+ \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}%
+ \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}%
+ \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}%
+ \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}%
+ \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}%
% \end{macrocode}
% \end{macro}^^A \mv@universbold
% \end{macro}^^A \mv@univers
@@ -510,14 +548,14 @@
% Diese wurden aus dem \pkg{iwona}"=Paket entnommen. Auch die verwendeten
% Symbole stammen aus diesem Paket.
% \begin{macrocode}
- \DeclareMathVersion{dinbold}
- \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
- \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}
- \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}
- \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}
- \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
- \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}
- \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}
+ \DeclareMathVersion{dinbold}%
+ \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\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}{\tud@mathenc}{\tud@dinbold}{b}{n}%
+ \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}%
+ \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}%
% \end{macrocode}
% \end{macro}^^A \mv@dinbold
% \begin{macro}{\upGamma}
@@ -546,30 +584,30 @@
% 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}
+ \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}%
+ \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}%
+ \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}%
+ \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}%
+ \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}%
+ \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}%
+ \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}%
+ \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}%
+ \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}%
+ \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}%
+ \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}%
+ \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}%
+ \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}%
+ \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}%
+ \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}%
+ \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}%
+ \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}%
+ \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}%
+ \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}%
+ \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}%
+ \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}%
+ \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}%
+ \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}%
}
% \end{macrocode}
% \end{macro}^^A \varOmega
@@ -600,23 +638,40 @@
%<*(class|package)&option>
% \fi
%
+% \begin{macro}{\tud@uclcnotmath}
+% \changes{v2.02}{2014/06/27}{\pkg{textcase}: Ignorieren von Fußnoten im
+% 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
+% \begin{macro}{\@uclcnotmath}
% Für das Setzen der Überschriften in Majuskeln\footnote{Großbuchstaben} mit
% \cs{MakeTextUppercase}, was den internen \LaTeX-Befehl \cs{MakeUppercase}
% verbessert, wird das Paket \pkg{textcase} genutzt. Damit Fußnoten nicht
% automatisch in Majuskeln gesetzt werden, wird außerdem der interne Befehl
% \cs{@uclcnotmath} aus diesem Paket angepasst.
-% \changes{v2.02}{2014/06/27}{Ignorieren von Fußnoten im Befehl
-% \cs{MakeTextUppercase}}%^^A
% \begin{macrocode}
\RequirePackage{textcase}[2004/10/07]
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
- \@nonchangecase\ensuremath%
+\newcommand*\tud@uclcnotmath{%
\def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
\def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
+ \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
+}
+\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
+ \@nonchangecase\ensuremath\tud@uclcnotmath
}{}{\tud@patch@wrn{@uclcnotmath}}%
% \end{macrocode}
+% \end{macro}^^A \@uclcnotmath
+% \end{macro}^^A \tud@uclcnotmath
+% \begin{macro}{\tud@font@heading}
+% Mit \cs{tud@font@heading} wird die Schriftart für Überschriften im Layout des
+% \CDs definiert. Normalerweise wird hierfür DIN-Bold verwendet, was allerdings
+% per Option auch deaktiviert werden kann.
+% \begin{macrocode}
+\newcommand*\tud@font@heading{\dinbn\tud@raggedright}
+% \end{macrocode}
+% \end{macro}^^A \tud@font@heading
% \begin{option}{cdfont}
-% \changes{v2.02}{2014/07/08}{Schlüsselwerte für \opt{barfont}}%^^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
@@ -627,65 +682,105 @@
% werden, ob für den Mathematiksatz serifenlose Schriften zum Einsatz kommen
% sollen.
% \begin{macrocode}
-\newcommand*\tud@cdfont{0}
+\newcommand*\tud@cdfont{1}
\TUD@key{cdfont}[true]{%
- \TUD@set@numkey{cdfont}{tud@cdfont}{%
+ \TUD@set@numkey{cdfont}{@tempa}{%
\TUD@numkey@bool,%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
{heavy}{2},{heavyfont}{2},%
{nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},%
{din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},%
%<*class>
- {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},%
- {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},%
- {noheavybarfont}{5},{barfontnoheavy}{5},%
- {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},%
+ {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},%
+ {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},%
+ {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},%
+ {bar}{6},{barfont}{6},%
+ {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},%
+ {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},%
+ {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},%
+ {headlight}{6},{headfontlight}{6},{headlightfont}{6},%
+ {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},%
+ {barlight}{6},{barfontlight}{6},{barlightfont}{6},%
+ {litehead}{6},{liteheadfont}{6},{litefonthead}{6},%
+ {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},%
+ {litebar}{6},{litebarfont}{6},{litefontbar}{6},%
+ {headlite}{6},{headfontlite}{6},{headlitefont}{6},%
+ {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},%
+ {barlite}{6},{barfontlite}{6},{barlitefont}{6},%
+ {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},%
+ {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},%
+ {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},%
+ {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},%
+ {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},%
+ {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},%
+ {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},%
+ {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},%
+ {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},%
+ {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},%
+ {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},%
+ {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},%
%</class>
- {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},%
- {sansmath}{8},{sans}{8},%
- {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},%
- {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},%
- {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},%
- {nofontspec}{12},{pdftex}{12},{pdflatex}{12}%
+ {nomath}{8},{nocdmath}{8},%
+ {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},%
+ {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},%
+ {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}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase \tud@cdfont\relax%
- \TUDoptions{cdfonts=false}%
-%<*class>
- \TUD@std@numkey@lock{barfont}{false}%
-%</class>
+% \end{macrocode}
+% Die ersten drei Werte dienen zum Umschalten auf die Schriften des \CDs für
+% den Fließtext.
+% \begin{macrocode}
+ \ifcase\@tempa\relax%
+ \def\tud@cdfont{0}%
+ \if@atdocument\tud@font@set\fi%
\or%
- \TUDoptions{cdfonts=true}%
- \TUDoptions{heavyfont=false}%
-%<*class>
- \TUD@std@numkey@lock{barfont}{true}%
-%</class>
+ \def\tud@cdfont{1}%
+ \if@atdocument\tud@font@set\fi%
\or%
- \TUDoptions{cdfonts=true}%
- \TUDoptions{heavyfont=true}%
-%<*class>
- \TUD@std@numkey@lock{barfont}{heavy}%
-%</class>
+ \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%
- \TUDoptions{din=false}%
+ \renewcommand*\tud@font@heading{\tud@RaggedRight}%
\or%
- \TUDoptions{din=true}%
+ \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}
+% \end{macrocode}
+% Die Schrift für den Querbalken.
+% \begin{macrocode}
\or%
%<*class>
- \TUDoptions{barfont=true}%
+ \TUDoptions{cdhead=false}%
%</class>
\or%
%<*class>
- \TUDoptions{barfont=heavy}%
+ \TUDoptions{cdhead=true}%
%</class>
\or%
- \TUDoptions{sansmath=false}%
+%<*class>
+ \TUDoptions{cdhead=heavy}%
+%</class>
+% \end{macrocode}
+% Die Mathematikschriften.
+% \begin{macrocode}
\or%
- \TUDoptions{sansmath=true}%
+ \TUDoptions{cdmath=false}%
+ \or%
+ \TUDoptions{cdmath=true}%
+% \end{macrocode}
+% Die Neigung der großen griechischen Buchstaben.
+% \begin{macrocode}
\or%
\TUDoptions{slantedgreek=false}%
\or%
\TUDoptions{slantedgreek=true}%
+% \end{macrocode}
+% Die Verwendung von \pkg{fontspec}.
+% \begin{macrocode}
\or%
\TUDoptions{fontspec=true}%
\or%
@@ -696,323 +791,264 @@
% \end{macrocode}
% \end{macro}^^A \tud@cdfont
% \end{option}^^A cdfont
-% \begin{option}{cdfonts}
-% \begin{macro}{\if@tud@cdfonts}
-% Diese Option dient zum Umschalten auf die Schriften des \CDs für den
-% Fließtext.
-% \begin{macrocode}
-\newif\if@tud@cdfonts
-\TUD@key{cdfonts}[true]{%
- \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
-% \end{macrocode}
-% Wird die Option innerhalb nach der Präambel angewendet, erfolgt die Umsetzung
-% sofort. Ist die Verwendung der Schriften des \CDs gewünscht, werden diese mit
-% \cs{tud@font@cdfonts} aktiviert.
-% \begin{macrocode}
- \if@tud@cdfonts%
- \if@atdocument\tud@font@cdfonts\fi%
-% \end{macrocode}
-% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs~--
-% falls nicht anders durch den Anwender definiert~-- auf Serifenlose gesetzt.
+%
+% \iffalse
+%</(class|package)&option>
+%<*(class|package)&body>
+% \fi
+%
+% \begin{macro}{\tud@font@set}
+% Mit diesem Befehl werden entweder die normalen oder aber die Schriften des
+% \CDs aktiviert. Dabei wird die Option \opt{fontspec} beachtet.
% \begin{macrocode}
- \TUD@std@ifkey@lock{sansmath}{true}%
- \TUD@std@ifkey@lock{slantedgreek}{true}%
+\newcommand*\tud@font@set{%
% \end{macrocode}
% Werden die Schriften des \CDs deaktiviert, wird auf die zu Dokumentbeginn
% gesicherten Schriften\footnote{mit und ohne Serifen} zurückgeschaltet.
% \begin{macrocode}
- \else%
- \if@atdocument%
- \tud@cmd@restore{rmdefault}%
- \tud@cmd@restore{sfdefault}%
- \tud@cmd@restore{ttdefault}%
- \tud@cmd@restore{bfdefault}%
- \tud@cmd@restore{mddefault}%
- \tud@cmd@restore{itdefault}%
- \tud@cmd@restore{familydefault}%
- \tud@cmd@restore{seriesdefault}%
- \tud@cmd@restore{shapedefault}%
- \normalfont\selectfont%
- \fi%
+ \ifcase\tud@cdfont\relax%
+ \tud@cmd@restore{rmdefault}%
+ \tud@cmd@restore{sfdefault}%
+ \tud@cmd@restore{ttdefault}%
+ \tud@cmd@restore{bfdefault}%
+ \tud@cmd@restore{mddefault}%
+ \tud@cmd@restore{itdefault}%
+ \tud@cmd@restore{familydefault}%
+ \tud@cmd@restore{seriesdefault}%
+ \tud@cmd@restore{shapedefault}%
% \end{macrocode}
-% Die Mathematikschriften werden auf ihr Stanardverhalten zurückgesetzt.
+% Die Mathematikschriften werden auf ihr Stanardverhalten zurückgesetzt.
% \begin{macrocode}
- \TUD@std@ifkey@lock{sansmath}{false}%
- \TUD@std@ifkey@lock{slantedgreek}{false}%
- \fi%
+ \bool@std@lock{@tud@cdmath}{false}%
% \end{macrocode}
-% Da der Befehl \cs{tud@layout@process} auf jeden Fall mit \cs{AfterEndPreamble}
-% verzögert ausgeführt wird, muss dies bei der Wahl der Option nur nach der
-% Präambel, also im Dokument selbst neuerlich erfolgen.
+% Innerhalb der Klassen wird auch die Schrift im Querbalken zurückgsetzt.
% \begin{macrocode}
%<*class>
- \if@atdocument\tud@layout@process\fi%
+ \cs@std@lock{tud@head@font}{0}%
%</class>
- \fi%
-}
% \end{macrocode}
-% \end{macro}^^A \if@tud@cdfonts
-% \end{option}^^A cdfonts
-%
-% \iffalse
-%</(class|package)&option>
-%<*(class|package)&body>
-% \fi
-%
-% \begin{macro}{\tud@font@cdfonts}
-% Mit diesem Befehl werden die Schriften des \CDs aktiviert. Dabei wird die
-% Option \opt{fontspec} beachtet.
+% Ist die Verwendung der Schriften des \CDs gewünscht, werden die Schnitte der
+% Standardschriften vorher vorher gesichert, um diese später vollständig
+% wiederherstellen zu können.
% \begin{macrocode}
-\newcommand*\tud@font@cdfonts{%
+ \else%
+ \tud@cmd@store{rmdefault}%
+ \tud@cmd@store{sfdefault}%
+ \tud@cmd@store{ttdefault}%
+ \tud@cmd@store{bfdefault}%
+ \tud@cmd@store{mddefault}%
+ \tud@cmd@store{itdefault}%
+ \tud@cmd@store{familydefault}%
+ \tud@cmd@store{seriesdefault}%
+ \tud@cmd@store{shapedefault}%
% \end{macrocode}
-% Schnitte der Schriften vorher vorher gesichert, um diese später vollständig
-% wiederherstellen zu können..
+% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs~--
+% falls nicht anders durch den Anwender definiert~-- auf Serifenlose gesetzt.
% \begin{macrocode}
- \tud@cmd@store{rmdefault}%
- \tud@cmd@store{sfdefault}%
- \tud@cmd@store{ttdefault}%
- \tud@cmd@store{bfdefault}%
- \tud@cmd@store{mddefault}%
- \tud@cmd@store{itdefault}%
- \tud@cmd@store{familydefault}%
- \tud@cmd@store{seriesdefault}%
- \tud@cmd@store{shapedefault}%
+ \bool@std@lock{@tud@cdmath}{true}%
+% \end{macrocode}
+% Die Schrift im Querbalken wird bei den Klassen angepasst.
+% \begin{macrocode}
+%<*class>
+ \cs@std@lock{tud@head@font}{\tud@cdfont}%
+%</class>
% \end{macrocode}
% Danach erfolgt die Definition der Schriften des \CDs entweder mit dem Paket
% \pkg{fontspec} oder\dots
% \begin{macrocode}
- \if@tud@fontspec%
- \if@tud@heavyfont%
- \setsansfont{Univers}[%
- BoldFont = Univers Bold,%
- ItalicFont = Univers Oblique,%
- BoldItalicFont = Univers Bold Oblique,%
- ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont = LMMonoLt10-Bold,%
- ItalicFont = LMMonoSlant10-Regular,%
- BoldItalicFont = LMMonoLt10-BoldOblique,%
- ]
- \else%
- \setsansfont{Univers Light}[%
- BoldFont = Univers,%
- ItalicFont = Univers Light Oblique,%
- BoldItalicFont = Univers Oblique,%
- ]%
- \setmonofont{LMMonoLt10-Regular}[%
- BoldFont = LMMono10-Regular,%
- ItalicFont = LMMonoLt10-Oblique,%
- BoldItalicFont = LMMonoSlant10-Regular,%
- ]%
+ \if@tud@fontspec%
+ \ifnum\tud@cdfont=\@ne\relax%
+ \setsansfont{Univers Light}[%
+ BoldFont = Univers,%
+ ItalicFont = Univers Light Oblique,%
+ BoldItalicFont = Univers Oblique,%
+ ]%
+ \setmonofont{LMMonoLt10-Regular}[%
+ BoldFont = LMMono10-Regular,%
+ ItalicFont = LMMonoLt10-Oblique,%
+ BoldItalicFont = LMMonoSlant10-Regular,%
+ ]%
% \end{macrocode}
% Für die alten Klassen von Klaus Bergmann sowie \TUDScript in der Version~v1.0
% werden die fetten Schriften in einem stärkeren Schriftschnitt gesetzt.
% \begin{macrocode}
%<*package>
- \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
- \setsansfont{Univers Light}[%
+ \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
+ \setsansfont{Univers Light}[%
+ BoldFont = Univers Bold,%
+ ItalicFont = Univers Light Oblique,%
+ BoldItalicFont = Univers Bold Oblique,%
+ ]%
+ }{}%
+%</package>
+ \else%
+ \setsansfont{Univers}[%
BoldFont = Univers Bold,%
- ItalicFont = Univers Light Oblique,%
+ ItalicFont = Univers Oblique,%
BoldItalicFont = Univers Bold Oblique,%
]%
- }{}%
-%</package>
- \fi%
+ \setmonofont{LMMono10-Regular}[%
+ BoldFont = LMMonoLt10-Bold,%
+ ItalicFont = LMMonoSlant10-Regular,%
+ BoldItalicFont = LMMonoLt10-BoldOblique,%
+ ]%
+ \fi%
% \end{macrocode}
% \dots nach dem NFSS.
% \begin{macrocode}
- \else%
- \if@tud@univers%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \if@tud@heavyfont%
- \renewcommand*\bfdefault{b}%
- \renewcommand*\mddefault{m}%
- \else%
- \renewcommand*\bfdefault{m}%
+ \else%
+ \if@tud@univers%
+ \renewcommand*\sfdefault{\tud@univers}%
+ \renewcommand*\ttdefault{\tud@univers t}%
+ \ifnum\tud@cdfont=\@ne\relax%
+ \renewcommand*\bfdefault{m}%
% \end{macrocode}
% Bei den alten Klassen von Klaus Bergmann bzw. \TUDScript~v1.0 sind die fetten
% Schriften stärker.
% \begin{macrocode}
%<*package>
- \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
- \renewcommand*\bfdefault{b}%
- }{}%
+ \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
+ \renewcommand*\bfdefault{b}%
+ }{}%
%</package>
- \renewcommand*\mddefault{l}%
+ \renewcommand*\mddefault{l}%
+ \else%
+ \renewcommand*\bfdefault{b}%
+ \renewcommand*\mddefault{m}%
+ \fi%
\fi%
\fi%
+ \renewcommand*\rmdefault{\sfdefault}%
+ \renewcommand*\familydefault{\sfdefault}%
+ \renewcommand*\seriesdefault{\mddefault}%
+ \renewcommand*\shapedefault{\updefault}%
\fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\familydefault{\sfdefault}%
- \renewcommand*\seriesdefault{\mddefault}%
- \renewcommand*\shapedefault{\updefault}%
% \end{macrocode}
-% Zum Abschluss wird die gewählte Standardschrift aktiviert.
+% Zum Abschluss wird die gewählte Standardschrift aktiviert. Danach erfolgt die
+% Behandlung der mathrematikschriften. Ganz zum Schluss wird das Layout erneut
+% gesetzt.
% \begin{macrocode}
\normalfont\selectfont%
+ \tud@font@math@set%
+%<*class>
+ \tud@layout@process%
+%</class>
}
% \end{macrocode}
-% \end{macro}^^A \tud@font@cdfonts
-% \begin{macro}{\tud@font@mathfonts}
+% \end{macro}^^A \tud@font@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
+% neuem Mathematiksatz hin"~ und herschalten zu können. Dabei wird zum einen
+% das Mapping der griechischen Glyphen geändert, zum anderen werden die
+% originalen Mathematikversionen überschrieben respektive wiederhergestellt.
% \begin{macrocode}
-\newcommand*\tud@font@mathfonts{%
- \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi%
- \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi%
- \mathversion{normal}%
-}
-% \end{macrocode}
-% \end{macro}^^A \tud@font@mathfonts
-% \begin{macro}{\tud@sansmath}
-% \begin{macro}{\tud@serifmath}
-% Die Befehle werden von der Option \opt{sansmath} verwendet, um zwischen dem
-% Standard"~ und neuem Mathematiksatz hin"~ und herschalten zu können. Dabei
-% wird zum einen das Mapping der griechischen Glyphen geändert, zum anderen
-% werden die originalen Mathematikversionen überschrieben beziehungsweise
-% wiederhergestellt.
-% \begin{macrocode}
-\newcommand*\tud@sansmath{%
+\newcommand*\tud@font@math@set{%
\if@tud@univers%
- \tud@cmd@store{mv@normal}%
- \tud@cmd@store{mv@bold}%
- \let\mv@normal\mv@univers%
- \let\mv@bold\mv@universbold%
- \mathversion{normal}%
+ \if@tud@cdmath%
+ \tud@cmd@store{mv@normal}%
+ \tud@cmd@store{mv@bold}%
+ \let\mv@normal\mv@univers%
+ \let\mv@bold\mv@universbold%
+ \else%
+ \tud@cmd@restore{mv@normal}%
+ \tud@cmd@restore{mv@bold}%
+ \fi%
\fi%
-}
-\newcommand*\tud@serifmath{%
- \if@tud@univers%
- \tud@cmd@restore{mv@normal}%
- \tud@cmd@restore{mv@bold}%
- \mathversion{normal}%
+ \if@tud@slantedgreek%
+ \tud@font@greek@slanted%
+ \else%
+ \tud@font@greek@upright%
\fi%
+ \mathversion{normal}%
}
% \end{macrocode}
-% \end{macro}^^A \tud@serifmath
-% \end{macro}^^A \tud@sansmath
-% \begin{macro}{\tud@greek@upGamma}
-% \begin{macro}{\tud@greek@offset}
+% \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@greek@offset} gespeichert.
+% kursiven und den aufrechten Glyphen in \cs{tud@font@greek@offset} gespeichert.
% \begin{macrocode}
-\newcount\tud@greek@upGamma
-\tud@greek@upGamma\Gamma
-\newcount\tud@greek@offset
+\newcount\tud@font@greek@upGamma
+\tud@font@greek@upGamma\Gamma
+\newcount\tud@font@greek@offset
\let\@tempa\relax
\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0}
-\tud@greek@offset\@tempa
-\advance\tud@greek@offset-\Gamma
-% \end{macrocode}
-% \end{macro}^^A \tud@greek@offset
-% \end{macro}^^A \tud@greek@upGamma
-% \begin{macro}{\tud@greek@slanted}
-% \begin{macro}{\tud@greek@upright}
-% Mit \cs{tud@greek@slanted} wird die Kodierung der griechischen Majuskeln von
-% \texttt{operator} auf \texttt{letter} geändert\dots
-% \begin{macrocode}
-\newcommand*\tud@greek@slanted{%
- \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi%
+\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@greek@upright} macht alles wieder rückgängig. Dabei wird
-% bei beiden Befehlen vor der Ausführung geprüft, ob dies überhauot notwendig
-% ist.
+% \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{macrocode}
-\newcommand*\tud@greek@upright{%
- \ifnum\Gamma>\tud@greek@upGamma%
- \tud@greek@offset=-\tud@greek@offset%
- \tud@greek@changeshape%
- \tud@greek@offset=-\tud@greek@offset%
+\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%
}
% \end{macrocode}
-% \end{macro}^^A \tud@greek@upright
-% \end{macro}^^A \tud@greek@slanted
-% \begin{macro}{\tud@greek@def}
-% \begin{macro}{\tud@greek@uc}
-% \begin{macro}{\tud@greek@changeshape}
-% Mit \cs{tud@greek@def} erfolgt die Umkodierung einer einzelnen griechischen
-% Glyphe. Das Makro \cs{tud@greek@changeshape} arbeitet die Liste
-% \cs{tud@greek@uc} ab.
+% \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@greek@def[2]{%
+\newcommand*\tud@font@greek@def[2]{%
\expandafter\@tempcnta\csname #1\endcsname%
\advance\@tempcnta#2%
\expandafter\mathchardef\csname #1\endcsname\@tempcnta%
}
% \end{macrocode}
% Die Liste enthält die Namen der Befehle für große griechische Buchstaben.
-% Diese wird von \cs{tud@greek@changeshape} genutzt wird.
+% Diese wird von \cs{tud@font@greek@changeshape} genutzt wird.
% \begin{macrocode}
-\newcommand*\tud@greek@uc{%
+\newcommand*\tud@font@greek@uc{%
Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
}
-\newcommand*\tud@greek@changeshape{%
- \@for\@tempa:=\tud@greek@uc\do{%
- \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}%
+\newcommand*\tud@font@greek@changeshape{%
+ \@for\@tempa:=\tud@font@greek@uc\do{%
+ \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}%
}%
}
% \end{macrocode}
-% \end{macro}^^A \tud@greek@changeshape
-% \end{macro}^^A \tud@greek@uc
-% \end{macro}^^A \tud@greek@def
+% \end{macro}^^A \tud@font@greek@changeshape
+% \end{macro}^^A \tud@font@greek@uc
+% \end{macro}^^A \tud@font@greek@def
%
% \iffalse
%</(class|package)&body>
%<*(class|package)&option>
% \fi
%
-% \begin{option}{heavyfont}
-% \begin{macro}{\if@tud@heavyfont}
-% Hiermit lässt sich die Schriftstärke im Dokument beeinflussen.
-% \begin{macrocode}
-\newif\if@tud@heavyfont
-\TUD@key{heavyfont}[true]{%
- \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@font@cdfonts\fi%
- \fi%
-}
-% \end{macrocode}
-% \end{macro}^^A \if@tud@heavyfont
-% \end{option}^^A heavyfont
-% \begin{option}{barfont}
-% \changes{v2.02}{2014/07/08}{neu}%^^A
-% \begin{macro}{\tud@barfont}
-% \changes{v2.02}{2014/07/08}{neu}%^^A
-% Mit dieser Option kann die Schrift des \CDs und deren Schriftstärke in der
-% TUD-Kopfzeile unabhängig von der gewählten Schriftart für den Fließtext
-% aktiviert werden.
-% \begin{macrocode}
-%<*class>
-\newcommand*\tud@barfont{0}
-\TUD@key@lock{barfont}[true]{%
- \TUD@set@numkey@lock{barfont}{tud@barfont}{%
- \TUD@numkey@bool,%
- {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
- {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2}%
- }{#1}%
-}
-%</class>
-% \end{macrocode}
-% \end{macro}^^A \tud@barfont
-% \end{option}^^A barfont
-% \begin{option}{din}
-% \begin{macro}{\if@tud@din}
-% Diese Option dient zur Auswahl, ob die Schrift DIN~Bold für die Überschriften
-% verwendet werden soll.
+% 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}
-\newif\if@tud@din\@tud@dintrue
-\TUD@ifkey{din}{@tud@din}
+\AtBeginDocument{\tud@font@set}%
% \end{macrocode}
-% \end{macro}^^A \if@tud@din
-% \end{option}^^A din
%
% \subsection{Schriften für den Mathematiksatz}
%
@@ -1021,23 +1057,42 @@
% werden. Die Auswahl an Mathematikschriften für \LaTeX{} ist relativ gering.
% Dennoch schien das \pkg{cmbright}-Paket dafür geeignet, weshalb dieses direkt
% bei der Installation der Schriften eingebunden wurde.
-% \begin{option}{sansmath}
-% \begin{macro}{\if@tud@sansmath}
-% \begin{macro}{\if@tud@sansmath@locked}
+%
+% \begin{option}{cdmath}
+% \begin{macro}{\if@tud@cdmath}
+% \begin{macro}{\if@tud@cdmath@locked}
% Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz
% für das gesamte Dokument umgestellt werden.
% \begin{macrocode}
-\newif\if@tud@sansmath
-\TUD@key@lock{sansmath}[true]{%
- \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}%
+\bool@lock{@tud@cdmath}
+\TUD@key{cdmath}[true]{%
+ \TUD@set@numkey{cdmath}{@tempa}{%
+ \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}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@font@mathfonts\fi%
+ \ifcase\@tempa\relax%
+ \bool@set@lock{@tud@cdmath}{false}%
+ \TUD@std@ifkey@lock{slantedgreek}{false}%
+ \if@atdocument\tud@font@math@set\fi%
+ \or%
+ \bool@set@lock{@tud@cdmath}{true}%
+ \TUD@std@ifkey@lock{slantedgreek}{true}%
+ \if@atdocument\tud@font@math@set\fi%
+ \or
+ \TUDoptions{slantedgreek=false}%
+ \or
+ \TUDoptions{slantedgreek=true}%
+ \fi%
\fi%
}
% \end{macrocode}
-% \end{macro}^^A \if@tud@sansmath@locked
-% \end{macro}^^A \if@tud@sansmath
-% \end{option}^^A sansmath
+% \end{macro}^^A \if@tud@cdmath@locked
+% \end{macro}^^A \if@tud@cdmath
+% \end{option}^^A cdmath
% \begin{option}{slantedgreek}
% \begin{macro}{\if@tud@slantedgreek}
% \begin{macro}{\if@tud@slantedgreek@locked}
@@ -1047,7 +1102,7 @@
\TUD@key@lock{slantedgreek}[true]{%
\TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@font@mathfonts\fi%
+ \if@atdocument\tud@font@math@set\fi%
\fi%
}
% \end{macrocode}
@@ -1057,13 +1112,11 @@
%
% \iffalse
%</(class|package)&option>
-%<*package&option>
+%<*package&execute>
% \fi
%
-% Für das Paket \pkg{tudscrfonts} werden die Schriften aktiviert und~-- aus
-% Kompatibilitätsgründen zur \cls{tudbook}-Klasse~-- die Option \opt{serifmath}
-% definiert. Die an das Paket übergebenen Optionen werden daran anschließend
-% ausgeführt.
+% 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}}
@@ -1071,12 +1124,12 @@
% \end{macrocode}
%
% \iffalse
-%</package&option>
+%</package&execute>
%<*class&body>
% \fi
%
% \begin{macro}{\tud@head@font@set}
-% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{barfont} hinzugefügt}%^^A
+% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{cdhead} hinzugefügt}%^^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
@@ -1089,6 +1142,17 @@
\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
+% lassen, wird dies hier temporär unterdrückt.
+% \begin{macrocode}
+ \ifdef{\@raggedtwoe@everyselectfont}{%
+ \let\@raggedtwoe@everyselectfont\relax%
+ \spaceskip\z@\selectfont%
+ }{}%
% \end{macrocode}
% Zuerst die Rückfallebene für den Fall, dass keine Schriften im \CD verendet
% werden.
@@ -1098,26 +1162,24 @@
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
% \end{macrocode}
-% Die Option \opt{barfont} wird ausgewertet.
+% Die Option \opt{cdhead} wird ausgewertet.
% \begin{macrocode}
- \ifcase \tud@barfont\relax%
- \if@tud@cdfonts%
+ \@tempswafalse%
+ \ifcase\tud@head@font\relax%
+ \ifnum\tud@cdfont>\z@\relax%
\ClassWarning{\tudcls@name}{%
- It isn't possible to use `barfont=false'\MessageBreak%
+ It isn't possible to use `cdhead=false'\MessageBreak%
together with `cdfont=true'%
}%
+ \@tempswatrue%
\fi%
- \or%
- \@tud@cdfontstrue%
- \def\mddefault{l}%
- \or%
- \@tud@cdfontstrue%
- \def\mddefault{m}%
+ \else%
+ \@tempswatrue%
\fi%
% \end{macrocode}
% Die Schriften für den Kopf im \CD werden aktiviert.
% \begin{macrocode}
- \if@tud@cdfonts%
+ \if@tempswa%
% \end{macrocode}
% Damit \cs{DeclareFixedFont} zusammen mit \pkg{fontspec} verwendet werden
% kann, wurde zu Beginn der Klasse den drei benötigten Schriftschnitten der
@@ -1126,13 +1188,13 @@
\if@tud@fontspec%
\DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
{UniversBold}{m}{n}{\tud@head@font@size}%
- \ifstr{\mddefault}{m}{%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {UniversRegular}{m}{n}{\tud@head@font@size}%
- }{%
+ \ifcase\tud@head@font\relax\or%
\DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
{UniversLight}{m}{n}{\tud@head@font@size}%
- }%
+ \or%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {UniversRegular}{m}{n}{\tud@head@font@size}%
+ \fi%
% \end{macrocode}
% Die klassische Auswahl mittels NFSS-Schriftname und \cs{mddefault}.
% \begin{macrocode}
@@ -1140,8 +1202,13 @@
\if@tud@univers%
\DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
{\tud@univers}{b}{n}{\tud@head@font@size}%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{\mddefault}{n}{\tud@head@font@size}%
+ \ifcase\tud@head@font\relax\or%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@univers}{l}{n}{\tud@head@font@size}%
+ \or%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@univers}{m}{n}{\tud@head@font@size}%
+ \fi%
\fi%
\fi%
\fi%
@@ -1164,11 +1231,11 @@
% im Dokument sowie Inhaltserzeichnis und/oder Kolumnentitel zu unterscheiden.
% \begin{macrocode}
\newrobustcmd*\ifdin{%
- \@tempswafalse
+ \@tempswafalse%
\@expandtwoargs\in@{DINBold}{\f@family}%
\ifin@\@tempswatrue\fi%
\ifx\f@family\tud@dinbold\relax\@tempswatrue\fi%
- \if@tempswa
+ \if@tempswa%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
@@ -1281,19 +1348,6 @@
}
%</package>
% \end{macrocode}
-% Damit die Schrift im Dokument später noch umgestellt werden kann, werden
-% sämtliche Einstellungen erst zu Beginn des Dokumentes gesichert. Deshalb wird
-% der dafür verantwortliche Befehl \cs{tud@font@cdfonts} hier zum ersten Mal
-% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie
-% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu
-% aktivieren. Auch die Einstellungen für den Mathematiksatz werden erstmalig
-% durch \cs{tud@font@mathfonts} gesetzt.
-% \begin{macrocode}
-\AtBeginDocument{%
- \if@tud@cdfonts\tud@font@cdfonts\fi%
- \tud@font@mathfonts%
-}
-% \end{macrocode}
% Das Paket \pkg{cmbright} bringt zusätzlich noch Schriftschnitte für die
% \pkg{ams}"=Pakete mit. Diese werden gegebenenfalls geladen.
% \begin{macrocode}
@@ -1328,16 +1382,12 @@
% setzen.
% \begin{macrocode}
\newcommand*\tud@raggedright{\raggedright}
-%<*class>
\newcommand*\tud@RaggedRight{\raggedright}
-%</class>
\AfterPackage*{ragged2e}{%
\ifdef{\LaTeXraggedright}{%
\renewcommand*\tud@raggedright{\LaTeXraggedright}%
}{}%
-%<*class>
\renewcommand*\tud@RaggedRight{\RaggedRight}%
-%</class>
}
% \end{macrocode}
% \end{macro}^^A \tud@ragged2e
@@ -1347,20 +1397,29 @@
%</(class|package)&body>
%<*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}%
- {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makechapterhead}}%
+ {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}%
\patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}%
- {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makeschapterhead}}%
+ {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}%
\patchcmd{\section}{\dinBold\Large\bfseries}%
- {\if@tud@din\dinbn\fi\Large}{}{\tud@patch@wrn{section}}%
+ {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}%
\patchcmd{\showtitle}{\dinBold\Huge\bfseries}%
- {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{showtitle}}%
+ {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}%
}{}
% \end{macrocode}
+% \end{macro}^^A \showtitle
+% \end{macro}^^A \section
+% \end{macro}^^A \@makeschapterhead
+% \end{macro}^^A \@makechapterhead
%
% \iffalse
%</package&body>