% \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} % % \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 % %<*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}{% % %<*titlepage> \newif\if@tud@cdfonts \newcommand*\tud@cdfont{0} \DefineFamilyMember[TU-Dresden]{title} \DefineFamilyKey[TU-Dresden]{title}{cdfont}[true]{% \FamilySetNumerical{title}{cdfont}{tud@cdfont}{% % {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},% % }{#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}% % %<*titlepage> \@tud@cdfontsfalse% \else% \@tud@cdfontstrue% % \fi% } % \end{macrocode} % \end{macro}^^A \tud@cdfont % \end{option}^^A cdfont % % \iffalse % %<*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> % \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> % \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 % %<*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% % %<*titlepage> {\encodingdefault}{\sfdefault}{\mddefault}{n}{\tud@head@font@size}% \if@tud@cdfonts% % \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% % %<*titlepage> {\encodingdefault}{\tud@univers}{\mddefault}{n}{\tud@head@font@size}% \fi% % } % \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 % % \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 % % \fi % % \Finale % \endinput