From db4718fb5a10b2e1263d6bd79e8cf2450fd49007 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 29 Nov 2015 22:45:49 +0000 Subject: tudscr (29nov15) git-svn-id: svn://tug.org/texlive/trunk@38975 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/tudscr/doc/tudscr.tex | 2 +- .../source/latex/tudscr/tudscr-fonts.dtx | 246 +++++++++++++-------- .../source/latex/tudscr/tudscr-version.dtx | 2 +- 3 files changed, 154 insertions(+), 96 deletions(-) (limited to 'Master/texmf-dist/source/latex/tudscr') diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex index 9c26d5458ad..d1cdd53e7d0 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex @@ -18,7 +18,7 @@ \endgroup% } \faculty{\protect\cdurl} -\date{06.10.2015} +\date{29.11.2015} \author{Falk Hanisch\thanks{\noexpand\Email{\tudscrmail}}} \subject{\TUDScript{} \vTUDScript{} basierend auf \KOMAScript{}} \title{% diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx index 7fa676b88e6..0d76d2dbc86 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx @@ -1,4 +1,4 @@ -% \CheckSum{1300} +% \CheckSum{1323} % \iffalse meta-comment % % ============================================================================ @@ -51,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-fonts.dtx}[% - 2015/06/12 v2.04 TUD-KOMA-Script\space% + 2015/11/29 v2.04c TUD-KOMA-Script\space% % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{% @@ -91,6 +91,8 @@ % \changes{v2.02}{2014/08/29}{Unterstützung für \pkg{fontspec}}^^A % \changes{v2.04}{2015/02/27}{Interaktion mit Paketen insbesondere für % den Mathematiksatz verbessert}^^A +% \changes{v2.04c}{2015/11/29}{Bugfix für \pkg{fontspec} bei fehlenden +% Schriften}^^A % % \section{Schriften des \CDs} % @@ -453,19 +455,64 @@ % \end{macro}^^A \tud@font@check % \begin{macro}{\tud@font@init} % \changes{v2.04}{2014/03/10}{neu}^^A +% \begin{macro}{\textuln} +% \begin{macro}{\texturn} +% \begin{macro}{\textubn} +% \begin{macro}{\textuxn} +% \begin{macro}{\textuls} +% \begin{macro}{\texturs} +% \begin{macro}{\textubs} +% \begin{macro}{\textuxs} +% \begin{macro}{\textdbn} % Das Makro \cs{tud@font@init} wird für die Defintion aller Befehle zur Auswahl % der Schriften des \CDs verwendet. Er wird als Hook genutzt und abhängig vom % Schalter \cs{if@tud@fontspec} entweder für die Verwendung von \pkg{fontspec} % oder des NFSS-Schemas mit \cs{preto}\cs{tud@font@init}\marg{Makro} angepasst. +% \begin{macrocode} +\newcommand*\tud@font@init{% +% \end{macrocode} +% Außerdem werden für die Schriften noch die entsprechenden Textauswahlbefehle +% bereitgestellt. +% \begin{macrocode} + \newcommand*\textuln{}% + \newcommand*\texturn{}% + \newcommand*\textubn{}% + \newcommand*\textuxn{}% + \newcommand*\textuls{}% + \newcommand*\texturs{}% + \newcommand*\textubs{}% + \newcommand*\textuxs{}% + \newcommand*\textdbn{}% + \DeclareTextFontCommand{\textuln}{\univln}% + \DeclareTextFontCommand{\texturn}{\univrn}% + \DeclareTextFontCommand{\textubn}{\univbn}% + \DeclareTextFontCommand{\textuxn}{\univxn}% + \DeclareTextFontCommand{\textuls}{\univls}% + \DeclareTextFontCommand{\texturs}{\univrs}% + \DeclareTextFontCommand{\textubs}{\univbs}% + \DeclareTextFontCommand{\textuxs}{\univxs}% + \DeclareTextFontCommand{\textdbn}{\dinbn}% +% \end{macrocode} % Nach der optionsabhängigen Definition der Schriftauswahlbefehle werden die % Initialisierungsbefehle undefiniert gesetzt. % \begin{macrocode} -\newcommand*\tud@font@init{% \undef\tud@font@init@fontspec% + \undef\tud@fontface% + \undef\tud@fontspec@flag% + \undef\tud@fontspec@error% \undef\tud@font@init@nfss% \undef\tud@font@init% } % \end{macrocode} +% \end{macro}^^A \textdbn +% \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 % \end{macro}^^A \tud@font@init % \begin{macro}{\univln} % \begin{macro}{\univrn} @@ -475,136 +522,147 @@ % \begin{macro}{\univrs} % \begin{macro}{\univbs} % \begin{macro}{\univxs} -% \begin{macro}{\textuln} -% \begin{macro}{\texturn} -% \begin{macro}{\textubn} -% \begin{macro}{\textuxn} -% \begin{macro}{\textuls} -% \begin{macro}{\texturs} -% \begin{macro}{\textubs} -% \begin{macro}{\textuxs} % \begin{macro}{\dinbn} % \begin{macro}{\@dinbn} -% \begin{macro}{\textdbn} % Es werden mehrere Schalter zur expliziten Auswahl für die Schriftschnitte % Univers~45~Light, Univers~55~Regular, Univers~65~Bold, Univers~75~Black, % Univers~45~Light~Oblique, Univers~55~Regular~Oblique, Univers~65~Bold~Oblique % sowie Univers~75~Black~Oblique und DIN~Bold definiert. Diese können so im % Dokument unabhängig von der Option \opt{cdfont} genutzt werden. Bei der % Schriftauswahl der DIN~Bold wird neben dieser noch die entsprechende -% Mathematikschrift aktiviert. +% Mathematikschrift aktiviert. Dabei ist zu beachten, dass die Schriften evtl. +% gar nicht installiert sind und für diesen Fall eine Rückfallebene notwendig +% ist. % \begin{macro}{\tud@font@init@fontspec} % \changes{v2.04}{2014/03/10}{neu}^^A -% Zuerst wird das Makro für die Defintion nach \pkg{fontspec}-Manier definiert, -% danach . -% \begin{macrocode} -\newcommand*\tud@font@init@fontspec{% -% \end{macrocode} -% Für die Schriften werden hierfür feste NFSS-Namen vergeben, um diese unter -% anderem auch beim Setzen des Kopfes im \CD der \TnUD explizit auswählen zu -% können. -% \begin{macrocode} - \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]% - \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]% - \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% - \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% - \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% - \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% - \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% - \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% - \newcommand*\textuln[1]{{\univln##1}}% - \newcommand*\texturn[1]{{\univrn##1}}% - \newcommand*\textubn[1]{{\univbn##1}}% - \newcommand*\textuxn[1]{{\univxn##1}}% - \newcommand*\textuls[1]{{\univls##1}}% - \newcommand*\texturs[1]{{\univrs##1}}% - \newcommand*\textubs[1]{{\univbs##1}}% - \newcommand*\textuxs[1]{{\univxs##1}}% +% \begin{macro}{\if@tud@fontspec@missing} +% \changes{v2.04c}{2015/11/29}{neu}^^A +% \begin{macro}{\tud@fontface} +% \changes{v2.04c}{2015/11/29}{neu}^^A +% \begin{macro}{\tud@fontspec@flag} +% \changes{v2.04c}{2015/11/29}{neu}^^A +% \begin{macro}{\tud@fontspec@error} +% \changes{v2.04c}{2015/11/29}{neu}^^A +% Leider exisitiert im Paket \pkg{fontspec} keine einfache Möglichkeit, auf das +% Vorhandensein von Schriften zu testen. Deshalb wird hier etwa getrickst, um +% die Schriften nur zu laden, falls diese auch tatsächlich existieren und die +% ggf. auftrtende Fehlermeldung zu unterdrücken. +% \begin{macrocode} +\newif\if@tud@fontspec@missing +\newcommand*\tud@font@init@fontspec{} +% \end{macrocode} +% Alles etwas umständlich, aber leider geht es nicht anders. Um die Fehler +% zu unterdrücken, ist die Syntax von \LaTeX{}3 notwendig. Es wird mit +% dem Paket \pkg{xparse} der Befehl \cs{tud@fontface} welcher eigentlch den +% Befehl \cs{newfontface} nutzt und für denn Fall, dass keine Schrift +% exisitiert, den entsprechenden Befehl leer definiert. +% \begin{macrocode} +\IfFileExists{xparse.sty}{\@tempswatrue}{\@tempswafalse}% +\if@tempswa + \RequirePackage{xparse} + \newcommand*\tud@fontspec@flag{\global\@tud@fontspec@missingtrue\@gobbletwo}% + \NewDocumentCommand\tud@fontface{mmo}{% + \global\@tud@fontspec@missingfalse% + \newfontface#1{#2}[#3]% + \if@tud@fontspec@missing% + \renewrobustcmd*#1{}% + \fi% + }% % \end{macrocode} -% Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren. +% Um die Fehler bei dem Laden der Schrift zu unterdrücken, wird der dafür +% verantwortliche Befehl gesichertr und anschließend passend neu definiert. +% \begin{macrocode} + \ExplSyntaxOn + \renewcommand*\tud@font@init@fontspec{% + \cs_set_eq:NN \tud@fontspec@error \__fontspec_error:nx + \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@flag +% \end{macrocode} +% Für die Schriften werden feste NFSS-Namen vergeben, um diese unter anderem +% auch beim Setzen des Kopfes im \CD der \TnUD explizit auswählen zu können. +% \begin{macrocode} + \tud@fontface\univln{Univers Light}[NFSSFamily=UniversLight]% + \tud@fontface\univrn{Univers}[NFSSFamily=UniversRegular]% + \tud@fontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% + \tud@fontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% + \tud@fontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% + \tud@fontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% + \tud@fontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% + \tud@fontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% +% \end{macrocode} +% Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren. Da +% dieser Schriftschnitt zwingend für die Überschriften benötigt wird, sollte +% dieser zumindest auch auf deren Stil schalten. +% \begin{macrocode} + \tud@fontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% + \if@tud@fontspec@missing% + \newrobustcmd*\dinbn{\sectfont}% + \else% + \if@tud@dinbold% + \newrobustcmd*\dinbn{\@dinbn\mathversion{dinbold}}% + \else% + \newrobustcmd*\dinbn{\@dinbn}% + \fi% + \fi% +% \end{macrocode} +% Zum Schluss wird noch die Fehlermeldungen auf ihre ursprüngliche Definition +% gesetzt und damit ist der ganze Zauber vorbei. % \begin{macrocode} - \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% - \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% - \newcommand*\textdbn[1]{{\dinbn##1}}% -} + \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@error + }% + \ExplSyntaxOff +\fi% % \end{macrocode} +% \end{macro}^^A \tud@fontspec@error +% \end{macro}^^A \tud@fontspec@flag +% \end{macro}^^A \tud@fontface +% \end{macro}^^A \if@tud@fontspec@missing % \end{macro}^^A \tud@font@init@fontspec % \begin{macro}{\tud@font@init@nfss} % \changes{v2.04}{2014/03/10}{neu}^^A % Falls \opt{fontspec} nicht aktiv ist, werden die Schriften klassisch nach dem -% NFSS definiert. +% NFSS definiert. Sind die Univer-Schriften installiert, dann werden dazu +% passende Schalter erstellt. % \begin{macrocode} \newcommand*\tud@font@init@nfss{% \if@tud@univers% - \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% - \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}% - \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}% - \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}% - \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}% - \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}% - \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}% - \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}% + \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% + \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}% + \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}% + \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}% + \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}% + \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}% + \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}% + \newrobustcmd*\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{}% + \newrobustcmd*\univln{}% + \newrobustcmd*\univrn{}% + \newrobustcmd*\univbn{}% + \newrobustcmd*\univxn{}% + \newrobustcmd*\univls{}% + \newrobustcmd*\univrs{}% + \newrobustcmd*\univbs{}% + \newrobustcmd*\univxs{}% \fi% % \end{macrocode} -% Außerdem werden für die Schriften noch die entsprechenden Textauswahlbefehle -% bereitgestellt. -% \begin{macrocode} - \newcommand*\textuln{}% - \newcommand*\texturn{}% - \newcommand*\textubn{}% - \newcommand*\textuxn{}% - \newcommand*\textuls{}% - \newcommand*\texturs{}% - \newcommand*\textubs{}% - \newcommand*\textuxs{}% - \DeclareTextFontCommand{\textuln}{\univln}% - \DeclareTextFontCommand{\texturn}{\univrn}% - \DeclareTextFontCommand{\textubn}{\univbn}% - \DeclareTextFontCommand{\textuxn}{\univxn}% - \DeclareTextFontCommand{\textuls}{\univls}% - \DeclareTextFontCommand{\texturs}{\univrs}% - \DeclareTextFontCommand{\textubs}{\univbs}% - \DeclareTextFontCommand{\textuxs}{\univxs}% -% \end{macrocode} % Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren. % \begin{macrocode} \if@tud@dinbold% - \newcommand*\dinbn{% + \newrobustcmd*\dinbn{% \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% \mathversion{dinbold}% }% \else% - \let\dinbn\sectfont% + \newrobustcmd*\dinbn{\sectfont}% \fi% - \newcommand*\textdbn{}% - \DeclareTextFontCommand{\textdbn}{\dinbn}% } % \end{macrocode} -% \end{macro}^^A \tud@font@init@fontspec -% \end{macro}^^A \textdbn +% \end{macro}^^A \tud@font@init@nfss % \end{macro}^^A \@dinbn % \end{macro}^^A \dinbn -% \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 % \end{macro}^^A \univxs % \end{macro}^^A \univbs % \end{macro}^^A \univrs diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx index b2ee779c159..634cb00ef66 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx @@ -114,7 +114,7 @@ %<*!(package|class)> \fi% % - \@TUDVersion{2015/10/06 v2.04b TUD-KOMA-Script}% + \@TUDVersion{2015/11/29 v2.04c TUD-KOMA-Script}% \endgroup% % \end{macrocode} % \ToDo{Version eintragen}[Release] -- cgit v1.2.3