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