diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx | 945 |
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> |