summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tudscr
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-06-28 21:06:55 +0000
committerKarl Berry <karl@freefriends.org>2019-06-28 21:06:55 +0000
commit6677e7d16babf1c0596fd30f9aeb6b13433725cd (patch)
tree84163738e611a8ebcbbed7102f3efa9238211476 /Master/texmf-dist/tex/latex/tudscr
parent2a2ad17b85ef254d44022ec0fbcadb62cc90f431 (diff)
tudscr (28jun19)
git-svn-id: svn://tug.org/texlive/trunk@51500 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr')
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty397
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/mathswap.sty6
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls5525
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty373
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls6142
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty22
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty50
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty58
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty24
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls396
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty2594
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls636
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls4981
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls6144
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty166
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty450
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/twocolfix.sty6
17 files changed, 17110 insertions, 10860 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty
index bae038f4b44..048a9c8a0b4 100644
--- a/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty
@@ -4,17 +4,20 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package,fontsfix')
-%% tudscr-comp.dtx (with options: `package,fontsfix,identify')
-%% tudscr-base.dtx (with options: `package,fontsfix')
-%% tudscr-comp.dtx (with options: `package,fontsfix,option')
-%% tudscr-comp.dtx (with options: `package,fontsfix,body')
+%% tudscr-version.dtx (with options: `package,fixfonts')
+%% tudscr-comp.dtx (with options: `package,fixfonts,identify')
+%% tudscr-base.dtx (with options: `package,fixfonts,load')
+%% tudscr-layout.dtx (with options: `package,fixfonts,option')
+%% tudscr-misc.dtx (with options: `package,fixfonts,execute')
+%% tudscr-layout.dtx (with options: `package,fixfonts,body')
+%% tudscr-comp.dtx (with options: `package,fixfonts,body')
+%% tudscr-misc.dtx (with options: `package,fixfonts,body')
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -40,7 +43,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -55,62 +58,132 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-comp.dtx
\ProvidesPackage{fix-tudscrfonts}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package for font fixes
(compatibility for old tud(scr) classes)%
]
%%% From File: tudscr-base.dtx
-\RequirePackage{scrlfile}[2013/12/19]
-\RequirePackage{etoolbox}[2011/01/03]
-\newcommand*\tud@cmd@store[1]{%
- \tud@cmd@check{#1}%
- \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}%
+\RequirePackage{tudscrbase}[\TUD@Version]
+%%% From File: tudscr-layout.dtx
+\newif\if@tud@heavyheadings
+\TUD@key{headings}{%
+ \TUD@set@numkey{headings}{@tempa}{%
+ {light}{0},{lightfont}{0},{lite}{0},{litefont}{0},{noheavyfont}{0},%
+ {normal}{0},{standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},%
+ {heavy}{1},{heavyfont}{1},{bold}{1},{boldfont}{1},%
+ {ultrabold}{1},{boldultra}{1},{heavybold}{1},{boldheavy}{1},%
+ {extendedbold}{1},{boldextended}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% light
+ \@tud@heavyheadingsfalse%
+ \or% heavy
+ \@tud@heavyheadingstrue%
+ \fi%
+ \fi%
+}
+%%% From File: tudscr-misc.dtx
+\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{tudscrfonts}}
+\TUDExecuteOptions{%
+ headings=heavy%
+}
+\TUDProcessOptions\relax
+%%% From File: tudscr-layout.dtx
+\AfterPackage*{tudscrfonts}{%
+\newcommand*\tud@sec@fontface[1][]{\tud@sec@@fontface{#1}}%
+\newcommand*\tud@sec@@fontface[1]{%
+ \sectfont#1%
+ \if@tud@cdfont@active\if@tud@heavyheadings%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@ebf}%
+ \edef\bfseries@sf{\tud@cdfont@ebf}%
+ \edef\bfseries@tt{\tud@ttfont@ebf}%
+ \fi%
+ \let\bfdefault\tud@cdfont@ebf%
+ \fontseries{\tud@cdfont@ebf}%
+ \fi\fi%
+ \selectfont%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdoldfont@nodin%
+ \tud@sec@@fontface{#1}%
+ \else%
+ \tud@db\tud@raggedright%
+ \fi%
+ }%
+\fi
+\newcommand*\tud@sec@format[2][]{%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \endgroup%
+ }%
+ #2%
}
-\newcommand*\tud@cmd@check[1]{%
- \ifcsdef{#1}{}{%
- \PackageError{%
- fix-tudscrfonts%
- }{`\@backslashchar#1' is not defined}{%
- The command `\@backslashchar#1' was never defined\MessageBreak%
- Please contact the TUD-Script maintainer\MessageBreak%
- via \tudscrmail. A bugfix is urgently required.%
+\if@tud@cdoldfont@active
+ \newcommand*\tud@sec@uppercase{\MakeUppercase}%
+ \AfterPackage*{textcase}{%
+ \renewcommand*\tud@sec@uppercase{\MakeTextUppercase}%
+ }%
+ \renewcommand*\tud@sec@format[2][]{%
+ \@tud@res@swafalse%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ \tud@ifdin{\@tud@res@swatrue}{}%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \tud@ifdin{\aftergroup\@tud@res@swatrue}{}%
+ \endgroup%
}%
+ \if@tud@res@swa%
+ \tud@sec@uppercase{#2}%
+ \else%
+ #2%
+ \fi%
}%
+\fi
+\newrobustcmd*\tud@sec@strut{%
}
-\BeforePackage{tudscrbase}{%
- \undef\tud@cmd@store%
- \undef\tud@cmd@check%
}
%%% From File: tudscr-comp.dtx
-\PassOptionsToPackage{relspacing=false,cdfont=ultrabold}{tudscrfonts}
-\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{tudscrfonts}}
-\ProcessOptions\relax
\AtEndPreamble{%
- \tud@fontsfix@maybe@err%
+ \tud@fixfonts@class@check%
\RequirePackage{tudscrfonts}[\TUD@Version]%
}
\ifx\usepackage\RequirePackage
- \newcommand*\tud@fontsfix@maybe@err{%
+ \newcommand*\tud@fixfonts@class@check{%
\PackageError{fix-tudscrfonts}{Package too late}{%
You must load `fix-tudscrfonts' with\MessageBreak%
`\string\RequirePackage' before any document class.%
}%
}%
\else
- \newcommand*\tud@fontsfix@maybe@err{%
+ \newcommand*\tud@fixfonts@class@check{%
\PackageError{fix-tudscrfonts}{Unsupported class found}{%
You have to use `fix-tudscrfonts' only\MessageBreak%
with supported classes. These are: `tudbook',\MessageBreak%
@@ -121,50 +194,48 @@
}%
}%
\fi
-%%% From File: tudscr-comp.dtx
-\newcommand*\tud@fontsfix@AdaptClass[2]{%
+\newcommand*\tud@fixfonts@class@adapt[2]{%
\BeforeClass{#1}{%
- \let\tud@fontsfix@maybe@err\relax%
- \tud@cmd@store{DeclareFixedFont}%
+ \let\tud@fixfonts@class@check\relax%
+ \tud@cs@store{DeclareFixedFont}%
\renewcommand*\DeclareFixedFont[6]{}%
- \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{sldefault}%
- \tud@cmd@store{scdefault}%
- \tud@cmd@store{updefault}%
- \tud@cmd@store{rmfamily}%
- \tud@cmd@store{sffamily}%
- \tud@cmd@store{ttfamily}%
- \tud@cmd@store{familydefault}%
- \tud@cmd@store{seriesdefault}%
- \tud@cmd@store{shapedefault}%
- \tud@cmd@store{normalfont}%
+ \tud@cs@store{rmdefault}%
+ \tud@cs@store{sfdefault}%
+ \tud@cs@store{ttdefault}%
+ \tud@cs@store{bfdefault}%
+ \tud@cs@store{mddefault}%
+ \tud@cs@store{itdefault}%
+ \tud@cs@store{sldefault}%
+ \tud@cs@store{scdefault}%
+ \tud@cs@store{updefault}%
+ \tud@cs@store{rmfamily}%
+ \tud@cs@store{sffamily}%
+ \tud@cs@store{ttfamily}%
+ \tud@cs@store{familydefault}%
+ \tud@cs@store{seriesdefault}%
+ \tud@cs@store{shapedefault}%
+ \tud@cs@store{normalfont}%
\let\normalfont\relax%
\PassOptionsToClass{serifmath}{#1}%
}%
\AfterClass{#1}{%
- \RequirePackage{tudscrbase}[\TUD@Version]%
- \tud@cmd@restore{DeclareFixedFont}%
- \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{sldefault}%
- \tud@cmd@restore{scdefault}%
- \tud@cmd@restore{updefault}%
- \tud@cmd@restore{rmfamily}%
- \tud@cmd@restore{sffamily}%
- \tud@cmd@restore{ttfamily}%
- \tud@cmd@restore{familydefault}%
- \tud@cmd@restore{seriesdefault}%
- \tud@cmd@restore{shapedefault}%
- \tud@cmd@restore{normalfont}%
+ \tud@cs@restore{DeclareFixedFont}%
+ \tud@cs@restore{rmdefault}%
+ \tud@cs@restore{sfdefault}%
+ \tud@cs@restore{ttdefault}%
+ \tud@cs@restore{bfdefault}%
+ \tud@cs@restore{mddefault}%
+ \tud@cs@restore{itdefault}%
+ \tud@cs@restore{sldefault}%
+ \tud@cs@restore{scdefault}%
+ \tud@cs@restore{updefault}%
+ \tud@cs@restore{rmfamily}%
+ \tud@cs@restore{sffamily}%
+ \tud@cs@restore{ttfamily}%
+ \tud@cs@restore{familydefault}%
+ \tud@cs@restore{seriesdefault}%
+ \tud@cs@restore{shapedefault}%
+ \tud@cs@restore{normalfont}%
#2%
\AfterPackage*{tudscrfonts}{%
\def\dinBold{\dinbn}%
@@ -184,67 +255,36 @@
\newcommand*\univBoldXV{}%
\newcommand*\univLightHead{}%
\newcommand*\univBoldHead{}%
- \providecommand*\tud@head@fntsz{9}%
- \if@tud@univers%
- \if@tud@x@fontspec@enabled%
- \DeclareFixedFont{\univLightVII}{\encodingdefault}%
- {UniversLight}{m}{n}{7}%
- \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{7}%
- \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
- {UniversBold}{m}{n}{7}%
- \DeclareFixedFont{\univLightIX}{\encodingdefault}%
- {UniversLight}{m}{n}{9}%
- \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{9}%
- \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
- {UniversBold}{m}{n}{9}%
- \DeclareFixedFont{\univLightXI}{\encodingdefault}%
- {UniversLight}{m}{n}{11}%
- \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{11}%
- \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
- {UniversBold}{m}{n}{11}%
- \DeclareFixedFont{\univLightXV}{\encodingdefault}%
- {UniversLight}{m}{n}{15}%
- \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
- {UniversLightOblique}{m}{n}{15}%
- \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
- {UniversBold}{m}{n}{15}%
- \DeclareFixedFont{\univLightHead}{\encodingdefault}%
- {UniversLight}{m}{n}{\tud@head@fntsz}%
- \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
- {UniversBold}{m}{n}{\tud@head@fntsz}%
- \else%
- \DeclareFixedFont{\univLightVII}{\encodingdefault}%
- {\tud@univers}{l}{n}{7}%
- \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
- {\tud@univers}{l}{sl}{7}%
- \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
- {\tud@univers}{b}{n}{7}%
- \DeclareFixedFont{\univLightIX}{\encodingdefault}%
- {\tud@univers}{l}{n}{9}%
- \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
- {\tud@univers}{l}{sl}{9}%
- \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
- {\tud@univers}{b}{n}{9}%
- \DeclareFixedFont{\univLightXI}{\encodingdefault}%
- {\tud@univers}{l}{n}{11}%
- \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
- {\tud@univers}{l}{sl}{11}%
- \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
- {\tud@univers}{b}{n}{11}%
- \DeclareFixedFont{\univLightXV}{\encodingdefault}%
- {\tud@univers}{l}{n}{15}%
- \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
- {\tud@univers}{l}{sl}{15}%
- \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
- {\tud@univers}{b}{n}{15}%
- \DeclareFixedFont{\univLightHead}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@fntsz}%
- \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@fntsz}%
- \fi%
+ \providecommand*\tud@head@fontsize{9}%
+ \if@tud@cdfont@fam@exist%
+ \DeclareFixedFont{\univLightVII}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{7}%
+ \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{sl}{7}%
+ \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{7}%
+ \DeclareFixedFont{\univLightIX}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{9}%
+ \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{sl}{9}%
+ \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{9}%
+ \DeclareFixedFont{\univLightXI}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{11}%
+ \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{sl}{11}%
+ \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{11}%
+ \DeclareFixedFont{\univLightXV}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{15}%
+ \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{sl}{15}%
+ \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{15}%
+ \DeclareFixedFont{\univLightHead}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
\else%
\DeclareFixedFont{\univLightVII}{\encodingdefault}%
{\sfdefault}{\mddefault}{\updefault}{7}%
@@ -271,55 +311,55 @@
\DeclareFixedFont{\univBoldXV}{\encodingdefault}%
{\sfdefault}{\bfdefault}{\updefault}{15}%
\DeclareFixedFont{\univLightHead}{\encodingdefault}%
- {\sfdefault}{\mddefault}{\updefault}{\tud@head@fntsz}%
+ {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
\DeclareFixedFont{\univBoldHead}{\encodingdefault}%
- {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fntsz}%
+ {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
\fi%
}%
}%
}%
}
-\tud@fontsfix@AdaptClass{tudletter}{}
-\tud@fontsfix@AdaptClass{tudfax}{}
-\tud@fontsfix@AdaptClass{tudform}{}
-\tud@fontsfix@AdaptClass{tudhaus}{}
-\tud@fontsfix@AdaptClass{tudposter}{}
-\tud@fontsfix@AdaptClass{tudbeamer}{}
-\tud@fontsfix@AdaptClass{tudbook}{%
+\tud@fixfonts@class@adapt{tudletter}{}
+\tud@fixfonts@class@adapt{tudfax}{}
+\tud@fixfonts@class@adapt{tudform}{}
+\tud@fixfonts@class@adapt{tudhaus}{}
+\tud@fixfonts@class@adapt{tudposter}{}
+\tud@fixfonts@class@adapt{tudbeamer}{}
+\tud@fixfonts@class@adapt{tudbook}{%
\patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}{%
- \tud@sec@fontface[\bfseries]%
+ \tud@sec@fontface%
\if@color\color{HKS41-100}\fi%
\Huge%
}{}{\tud@patch@wrn{@makechapterhead}}%
\patchcmd{\@makechapterhead}{\MakeUppercase}{%
- \tud@makeuppercase%
+ \tud@sec@format%
}{}{\tud@patch@wrn{@makechapterhead}}%
\patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}{%
- \tud@sec@fontface[\bfseries]%
+ \tud@sec@fontface%
\if@color\color{HKS41-100}\fi%
\Huge%
}{}{\tud@patch@wrn{@makeschapterhead}}%
\patchcmd{\@makeschapterhead}{\MakeUppercase}{%
- \tud@makeuppercase%
+ \tud@sec@format%
}{}{\tud@patch@wrn{@makeschapterhead}}%
\patchcmd{\section}{\dinBold\Large\bfseries\MakeUppercase}{%
- \tud@sec@fontface[\bfseries]%
+ \tud@sec@fontface%
\if@color\color{HKS41-100}\fi%
\Large%
- \tud@makeuppercase%
+ \tud@sec@format%
}{}{\tud@patch@wrn{section}}%
\patchcmd{\showtitle}{\dinBold\Huge\bfseries\MakeUppercase}{%
- \tud@sec@fontface[\bfseries]%
+ \tud@sec@fontface%
\if@colortitle\color{HKS41-30}\fi%
\Huge%
- \tud@makeuppercase%
+ \tud@sec@format%
}{}{\tud@patch@wrn{showtitle}}%
}
-\tud@fontsfix@AdaptClass{tudmathposter}{%
+\tud@fixfonts@class@adapt{tudmathposter}{%
\def\raggedtitle{\tud@raggedright}%
\renewcommand*\raggedpart{\tud@raggedright}%
\renewcommand*\raggedsection{\tud@raggedright}%
- \setkomafont{title}{\tud@sec@fontface[\bfseries]\Huge}%
+ \setkomafont{title}{\tud@sec@fontface\Huge}%
\CheckCommand\maketitle{%
\if@matheanull
\setlength\@tempskipa{31.194586mm-\topsep}%
@@ -346,14 +386,10 @@
\apptocmd{\maketitle}{\vspace{-6ex}}{}{\tud@patch@wrn{maketitle}}%
\renewcommand*\subtitlefont{%
\unskip%
- \ifstr{\mddefault}{l}{%
- \tud@sec@fontface[\fontseries{m}]%
- }{%
- \tud@sec@fontface[\fontseries{bx}]%
- }%
+ \tud@sec@fontface%
\huge%
}%
- \renewcommand*\preprocesstitle[1]{\raggedtitle\tud@makeuppercase{#1}}%
+ \renewcommand*\preprocesstitle[1]{\raggedtitle\tud@sec@format{#1}}%
\if@mathevorgabe%
\undef\sectionfont%
\undef\subsectionfont%
@@ -365,32 +401,31 @@
}{}{\tud@patch@wrn{ps@tudposter}}%
\pagestyle{tudposter}%
}
-\PreventPackageFromLoading[%
+\newcommand*\tud@x@tudfonts@prevent{%
\RequirePackage{amsmath}%
\RequirePackage{amsfonts}%
- \let\DeclareTudMathSizes\@gobblefour%
\newif\if@tudfonts@nodin%
-]{tudfonts}
-\BeforePackage{tudscrfonts}{%
- \undef\univln%
- \undef\univrn%
- \undef\univbn%
- \undef\univxn%
- \undef\univls%
- \undef\univrs%
- \undef\univbs%
- \undef\univxs%
- \undef\dinbn%
- \undef\textuln%
- \undef\texturn%
- \undef\textubn%
- \undef\textuxn%
- \undef\textuls%
- \undef\texturs%
- \undef\textubs%
- \undef\textuxs%
- \undef\textdbn%
+ \let\DeclareTudMathSizes\@gobblefour%
+ \let\tud@x@tudfonts@prevent\relax%
}
+\PreventPackageFromLoading[\tud@x@tudfonts@prevent]{tudfonts}
+%%% From File: tudscr-misc.dtx
+\if@tud@cdoldfont@active
+ \RequirePackage{textcase}[2004/10/07]
+ \AfterPackage*{textcase}{%
+ \robustify\NoCaseChange%
+ \newcommand*\tud@x@textcase@uclcnotmath{%
+ \@nonchangecase\hologo%
+ \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@x@textcase@uclcnotmath%
+ }{}{\tud@patch@wrn{@uclcnotmath}}%
+ }%
+\fi
+\TUD@deprecated@cs{NoCaseChange}{@firstofone}
\endinput
%%
%% End of file `fix-tudscrfonts.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
index e86376c568f..cc853b7ebb9 100644
--- a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
@@ -8,9 +8,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -29,7 +29,7 @@
%%% From File: tudscr-mathswap.dtx
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mathswap}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(swap mathematical separators)%
]
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
index 3b7302f5a8e..1c29462b43f 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
@@ -12,13 +12,13 @@
%% tudscr-layout.dtx (with options: `class,article,option')
%% tudscr-title.dtx (with options: `class,article,option')
%% tudscr-frontmatter.dtx (with options: `class,article,option')
-%% tudscr-comp.dtx (with options: `class,article,option')
%% tudscr-misc.dtx (with options: `class,article,option')
+%% tudscr-comp.dtx (with options: `class,article,option')
%% tudscr-misc.dtx (with options: `class,article,execute')
%% tudscr-base.dtx (with options: `class,article,body')
%% tudscr-fonts.dtx (with options: `class,article,body')
%% tudscr-fields.dtx (with options: `class,article,body')
-%% tudscr-locale.dtx (with options: `class,article,body')
+%% tudscr-localization.dtx (with options: `class,article,body')
%% tudscr-area.dtx (with options: `class,article,body')
%% tudscr-pagestyle.dtx (with options: `class,article,body')
%% tudscr-layout.dtx (with options: `class,article,body')
@@ -29,9 +29,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -57,7 +57,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -72,13 +72,13 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\newcommand*\TUD@ProvidesClass[3]{%
\ProvidesClass{#1}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
^^J#3 (#2)%
]%
\newcommand*\TUD@Class@KOMA{#2}%
@@ -88,22 +88,29 @@
\fi%
}
\providecommand*\TUD@Class@Info{%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{+------------------------------------------------------------------}%
\typeout{| Corporate Design of Technische Universitaet Dresden}%
- \typeout{| Class: \TUD@Class@Name}%
- \typeout{| Version: \TUD@Version}%
- \typeout{| Author: Falk Hanisch (\tudscrmail)}%
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{| Class: \TUD@Class@Name}%
+ \typeout{| Version: \TUD@Version}%
+ \typeout{| Author: Falk Hanisch (\tudscrmail)}%
+ \typeout{| Repository: https://github.com/tud-cd/tudscr}%
+ \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}%
+ \typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesClass{tudscrartcl}{scrartcl}{document class}
\edef\TUDScriptClassName{\TUD@Class@Name}
\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
@@ -117,25 +124,11 @@
a TUD-Script class%
}%
]{tudscrfonts}
-\newif\if@tud@x@fontspec@enabled
-\AfterPackage*{fontspec}{%
- \@ifpackagelater{fontspec}{2017/01/24}{%
- \@tud@x@fontspec@enabledtrue%
- }{%
- \@tud@x@fontspec@enabledfalse%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- Version `2017/01/24' of package `fontspec' is needed,\MessageBreak
- but only version\MessageBreak
- `\csname ver@fontspec.sty\endcsname'\MessageBreak
- is available, so a fallback layout is used%
- }%
- }%
-}
-\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@active
+\newif\if@tud@cdfont@heavy
\newif\if@tud@cdfont@ultrabold
-\@tud@cdfont@dintrue
-\newcommand*\tud@cdfont@num{1}
+\newif\if@tud@cdfont@lining
+\@tud@cdfont@liningtrue
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@bool@numkey,%
@@ -144,109 +137,205 @@
{normalbold}{3},{boldnormal}{3},%
{ultrabold}{4},{boldultra}{4},{heavybold}{4},{boldheavy}{4},%
{extendedbold}{4},{boldextended}{4},%
- {nodin}{5},{nodinbold}{5},{noDIN}{5},{noDINBold}{5},%
- {din}{6},{dinbold}{6},{DIN}{6},{DINBold}{6},%
- {nohead}{7},{nocdhead}{7},{noheadfont}{7},{noheadcdfont}{7},%
- {nocdheadfont}{7},{nobar}{7},{nobarfont}{7},%
- {head}{8},{headfont}{8},{cdhead}{8},{headcdfont}{8},{cdheadfont}{8},%
- {bar}{8},{barfont}{8},%
- {lighthead}{8},{lightheadfont}{8},{lightfonthead}{8},%
- {lightcdhead}{8},{lightheadcdfont}{8},{lightcdheadfont}{8},%
- {lightbar}{8},{lightbarfont}{8},{lightfontbar}{8},%
- {headlight}{8},{headfontlight}{8},{headlightfont}{8},%
- {cdheadlight}{8},{headcdfontlight}{8},{cdheadfontlight}{8},%
- {barlight}{8},{barfontlight}{8},{barlightfont}{8},%
- {litehead}{8},{liteheadfont}{8},{litefonthead}{8},%
- {litecdhead}{8},{liteheadcdfont}{8},{litecdheadfont}{8},%
- {litebar}{8},{litebarfont}{8},{litefontbar}{8},%
- {headlite}{8},{headfontlite}{8},{headlitefont}{8},%
- {cdheadlite}{8},{headcdfontlite}{8},{cdheadfontlite}{8},%
- {barlite}{8},{barfontlite}{8},{barlitefont}{8},%
- {noheavyhead}{8},{noheavyheadfont}{8},{noheavyfonthead}{8},%
- {noheavycdhead}{8},{noheavyheadcdfont}{8},{noheavycdheadfont}{8},%
- {noheavybar}{8},{noheavybarfont}{8},{noheavyfontbar}{8},%
- {headnoheavy}{8},{headfontnoheavy}{8},{headnoheavyfont}{8},%
- {cdheadnoheavy}{8},{headcdfontnoheavy}{8},{cdheadfontnoheavy}{8},%
- {barnoheavy}{8},{barfontnoheavy}{8},{barnoheavyfont}{8},%
- {heavyhead}{9},{heavyheadfont}{9},{heavyfonthead}{9},%
- {heavycdhead}{9},{heavyheadcdfont}{9},{heavycdheadfont}{9},%
- {heavybar}{9},{heavybarfont}{9},{heavyfontbar}{9},%
- {headheavy}{9},{headfontheavy}{9},{headheavyfont}{9},%
- {cdheadheavy}{9},{headcdfontheavy}{9},{cdheadfontheavy}{9},%
- {barheavy}{9},{barfontheavy}{9},{barheavyfont}{9},%
- {nomath}{10},{nocdmath}{10},%
- {serifmath}{10},{serif}{10},{nosansmath}{10},{nosans}{10},%
- {math}{11},{cdmath}{11},{sansmath}{11},{sans}{11},%
- {upgreek}{12},{upright}{12},{uprightgreek}{12},{uprightGreek}{12},%
- {slgreek}{13},{slanted}{13},{slantedgreek}{13},{slantedGreek}{13},%
- {fontspec}{14},{luatex}{14},{lualatex}{14}{xetex}{14},{xelatex}{14},%
- {nofontspec}{15},{nfss}{15},{pdftex}{15},{pdflatex}{15}%
+ {lf}{5},{lfigures}{5},{liningfigures}{5},{lining}{5},%
+ {ln}{5},{lnumbers}{5},{liningnumbers}{5},%
+ {nf}{5},{nfigures}{5},{normalfigures}{5},%
+ {nn}{5},{nnumbers}{5},{normalnumbers}{5},%
+ {osf}{6},{osfigures}{6},{oldfigures}{6},{oldstylefigures}{6},{oldstyle}{6},%
+ {osn}{6},{osnumbers}{6},{oldnumbers}{6},{oldstylenumbers}{6},%
+ {nomath}{7},{nocdmath}{7},%
+ {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},%
+ {math}{8},{cdmath}{8},{sansmath}{8},{sans}{8},%
+ {upgreek}{9},{uprightgreek}{9},{uprightgreeks}{9},%
+ {slgreek}{10},{slantedgreek}{10},{slantedgreeks}{10},%
+ {itgreek}{10},{italicgreek}{10},{italicgreeks}{10},%
+ {texgreek}{11},{latexgreek}{11},{texgreeks}{11},{latexgreeks}{11},%
+ {standardgreek}{11},{standardgreeks}{11},%
+ {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
+ {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ ,{nohead}{14},{nocdhead}{14},{noheadfont}{14},{noheadcdfont}{14},%
+ {nocdheadfont}{14},{nobar}{14},{nobarfont}{14},%
+ {head}{15},{headfont}{15},{cdhead}{15},{headcdfont}{15},{cdheadfont}{15},%
+ {bar}{15},{barfont}{15},%
+ {lighthead}{15},{lightheadfont}{15},{lightfonthead}{15},%
+ {lightcdhead}{15},{lightheadcdfont}{15},{lightcdheadfont}{15},%
+ {lightbar}{15},{lightbarfont}{15},{lightfontbar}{15},%
+ {headlight}{15},{headfontlight}{15},{headlightfont}{15},%
+ {cdheadlight}{15},{headcdfontlight}{15},{cdheadfontlight}{15},%
+ {barlight}{15},{barfontlight}{15},{barlightfont}{15},%
+ {litehead}{15},{liteheadfont}{15},{litefonthead}{15},%
+ {litecdhead}{15},{liteheadcdfont}{15},{litecdheadfont}{15},%
+ {litebar}{15},{litebarfont}{15},{litefontbar}{15},%
+ {headlite}{15},{headfontlite}{15},{headlitefont}{15},%
+ {cdheadlite}{15},{headcdfontlite}{15},{cdheadfontlite}{15},%
+ {barlite}{15},{barfontlite}{15},{barlitefont}{15},%
+ {noheavyhead}{15},{noheavyheadfont}{15},{noheavyfonthead}{15},%
+ {noheavycdhead}{15},{noheavyheadcdfont}{15},{noheavycdheadfont}{15},%
+ {noheavybar}{15},{noheavybarfont}{15},{noheavyfontbar}{15},%
+ {headnoheavy}{15},{headfontnoheavy}{15},{headnoheavyfont}{15},%
+ {cdheadnoheavy}{15},{headcdfontnoheavy}{15},{cdheadfontnoheavy}{15},%
+ {barnoheavy}{15},{barfontnoheavy}{15},{barnoheavyfont}{15},%
+ {heavyhead}{16},{heavyheadfont}{16},{heavyfonthead}{16},%
+ {heavycdhead}{16},{heavyheadcdfont}{16},{heavycdheadfont}{16},%
+ {heavybar}{16},{heavybarfont}{16},{heavyfontbar}{16},%
+ {headheavy}{16},{headfontheavy}{16},{headheavyfont}{16},%
+ {cdheadheavy}{16},{headcdfontheavy}{16},{cdheadfontheavy}{16},%
+ {barheavy}{16},{barfontheavy}{16},{barheavyfont}{16}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@deactivate%
\or% true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavyfalse%
+ \tud@cdfont@activate%
\or% heavy
- \renewcommand*\tud@cdfont@num{2}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavytrue%
+ \tud@cdfont@activate%
\or% normalbold
\@tud@cdfont@ultraboldfalse%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@activate%
\or% ultrabold
\@tud@cdfont@ultraboldtrue%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \or% nodin
- \@tud@cdfont@dinfalse%
- \or% din
- \@tud@cdfont@dintrue%
- \or% nohead
- \TUDoptions{cdhead=false}%
- \or% head
- \TUDoptions{cdhead=true}%
- \or% heavyhead
- \TUDoptions{cdhead=heavy}%
+ \tud@cdfont@activate%
+ \or% liningfigures
+ \@tud@cdfont@liningtrue%
+ \tud@cdfont@activate%
+ \or% oldstylefigures
+ \@tud@cdfont@liningfalse%
+ \tud@cdfont@activate%
\or% nomath
\TUDoptions{cdmath=false}%
\or% math
\TUDoptions{cdmath=true}%
- \or% upgreek
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\or% fontspec
\TUDoptions{fontspec=true}%
\or% nofontspec
\TUDoptions{fontspec=false}%
+ \or% nohead
+ \TUDoptions{cdhead=false}%
+ \or% head
+ \TUDoptions{cdhead=true}%
+ \or% heavyhead
+ \TUDoptions{cdhead=heavy}%
\fi%
\else%
- \ifdimen{#1}{%
- \ifdim#1>\z@\relax%
- \TUD@KOMAoptions{fontsize=#1}%
- \csname @tud@fontsize@settrue\endcsname%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \fi%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{%
+ \ifdim\tud@res@a>\z@\relax%
+ \TUDoptions{fontsize=#1}%
+ \tud@cdfont@activate%
\FamilyKeyStateProcessed%
\fi%
}{}%
\fi%
}
+\newcommand*\tud@cdfont@activate{%
+ \@tud@cdfont@activetrue%
+ \if@tud@cdfont@heavy%
+ \tud@locked@num@preset{tud@head@font@num}{2}%
+ \else%
+ \tud@locked@num@preset{tud@head@font@num}{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newcommand*\tud@cdfont@deactivate{%
+ \@tud@cdfont@activefalse%
+ \tud@locked@num@preset{tud@head@font@num}{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newif\if@tud@cdoldfont@active
+\newif\if@tud@cdoldfont@nodin
+\TUD@key{cdoldfont}[true]{%
+ \TUD@set@numkey{cdoldfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@cdoldfont@activefalse%
+ \@tud@cdoldfont@nodintrue%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@deactivate%
+ \fi%
+ \or% true/din
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@activate%
+ \or% nodin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodintrue%
+ \tud@cdfont@activate%
+ \or% onlydin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@deactivate%
+ \fi%
+ \else%
+ \@tud@cdoldfont@activetrue%
+ \TUDoptions{cdfont=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \if@tud@cdoldfont@active%
+ \let\@tud@cdoldfont@activefalse\@tud@cdoldfont@activetrue%
+ \TUD@key[.comp]{cdfont}{%
+ \TUD@set@numkey{cdfont}{@tempa}{%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUDoptions{cdoldfont=#1}%
+ \fi%
+ }%
+ \else%
+ \TUD@key{cdoldfont}[]{%
+ \ClassError{\TUD@Class@Name}%
+ {Option `cdoldfont' not active}{%
+ Option `cdoldfont' must be activated while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \fi%
+}
+\newif\if@tud@x@scr@fontsize@set
+\TUD@key{fontsize}{%
+ \TUD@set@dimenkey{fontsize}{\@tempa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \@tud@x@scr@fontsize@settrue%
+ \TUD@KOMAoptions{fontsize=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \RelaxFamilyKey{TUD}{fontsize}%
+ \DefineFamilyMember{KOMA}%
+ \DefineFamilyKey{KOMA}{fontsize}{%
+ \@tud@x@scr@fontsize@settrue%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The key `fontsize=#1' should only be\MessageBreak%
+ used as class option%
+ }%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \FamilyKeyStateProcessed%
+ }%
+}
\newif\if@tud@relspacing
\TUD@key{relspacing}[true]{%
\TUD@set@numkey{relspacing}{@tempa}{%
@@ -263,50 +352,91 @@
\TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
-\DefineFamilyMember{KOMA}
-\DefineFamilyKey{KOMA}{fontsize}{%
- \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
- \FamilyKeyStateProcessed%
+\newcommand*\tud@ttfont@num{0}
+\TUD@key{ttfont}[true]{%
+ \TUD@set@numkey{ttfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {roboto}{1},{roboto-mono}{1},{robo}{1},%
+ {lm}{2},{lmtt}{2},{lmodern}{2}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@ttfont@num{0}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@num{1}%
+ \or% lmodern
+ \renewcommand*\tud@ttfont@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
}
-\bool@lock{@tud@cdmath}
-\bool@std@lock{@tud@cdmath}{true}%
+\tud@locked@newbool{@tud@cdmath@active}
+\tud@locked@bool@preset{@tud@cdmath@active}{true}%
\TUD@key{cdmath}[true]{%
\TUD@set@numkey{cdmath}{@tempa}{%
\TUD@bool@numkey,%
{serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
{sansmath}{1},{sans}{1},%
- {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
- {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ {upgreek}{2},{uprightgreek}{2},{uprightgreeks}{2},%
+ {slgreek}{3},{slantedgreek}{3},{slantedgreeks}{3},%
+ {itgreek}{3},{italicgreek}{3},{italicgreeks}{3},%
+ {texgreek}{4},{latexgreek}{4},{texgreeks}{4},{latexgreeks}{4},%
+ {standardgreek}{4},{standardgreeks}{4}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \bool@set@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \tud@locked@bool@set{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\or% true
- \bool@set@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
- \or% upgreek
+ \tud@locked@bool@set{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\fi%
\fi%
}
-\bool@lock{@tud@slantedgreek}
+\newcommand*\tud@slantedgreek@num{0}
\TUD@key{slantedgreek}[true]{%
- \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
+ \TUD@set@numkey{slantedgreek}{@tempa}{%
+ \TUD@bool@numkey,%
+ {up}{0},{upright}{0},%
+ {sl}{1},{slanted}{1},{it}{1},{italic}{1},%
+ {standard}{2},{std}{2},{tex}{2},{latex}{2},{stdgrk}{2},{stdgrks}{2},%
+ {standardgreek}{2},{standardgreeks}{2},%
+ {texgreek}{2},{latexgreek}{2},{texgreeks}{2},{latexgreeks}{2}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \bool@set@lock{@tud@slantedgreek}{#1}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \ifcase\@tempa\relax% upright
+ \renewcommand*\tud@slantedgreek@num{0}%
+ \or% slanted
+ \renewcommand*\tud@slantedgreek@num{1}%
+ \or% standard
+ \renewcommand*\tud@slantedgreek@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+\TUD@key{slantedGreeks}[true]{\TUDoptions{slantedgreek=#1}}
+\newif\if@tud@lgrgreeks
+\TUD@key{lgrgreeks}[true]{\TUD@set@ifkey{lgrgreeks}{@tud@lgrgreeks}{#1}}
+\TUD@key{lgrgreek}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreeks}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreek}[true]{\TUDoptions{lgrgreeks=#1}}
%%% From File: tudscr-area.dtx
-\cs@lock{tud@cdgeometry@num}{0}
+\newif\if@tud@cdgeometry@reset
+\newcommand*\tud@cdgeometry@reset[1]{%
+ \@tud@cdgeometry@resettrue%
+ \TUDoptions{cdgeometry=#1}%
+ \@tud@cdgeometry@resetfalse%
+}
+\tud@locked@newnum{tud@cdgeometry@num}{0}
\newcommand*\tud@cdgeometry@calc@num{0}
\TUD@key{cdgeometry}[true]{%
- \let\@tempb\tud@cdgeometry@num%
- \let\@tempc\tud@cdgeometry@calc@num%
\TUD@set@numkey{cdgeometry}{@tempa}{%
\TUD@bool@numkey,%
{typearea}{0},%
@@ -322,36 +452,42 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false/typearea
- \cs@set@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@set{tud@cdgeometry@num}{0}%
\or% true/cd
- \cs@set@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@set{tud@cdgeometry@num}{2}%
\or% symmetric
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\or% twoside
- \cs@set@lock{tud@cdgeometry@num}{4}%
+ \tud@locked@num@set{tud@cdgeometry@num}{4}%
\TUD@KOMAoptions{twoside=true}%
\or% oneside
\ifnum\tud@cdgeometry@num>\thr@@\relax%
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\fi%
\TUD@KOMAoptions{twoside=false}%
\or% restricted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{0}%
\or% adapted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{1}%
\or% calculated
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{2}%
\or% custom
- \cs@set@lock{tud@cdgeometry@num}{1}%
+ \tud@locked@num@set{tud@cdgeometry@num}{1}%
\fi%
- \@tempswafalse%
- \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi%
- \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi%
- \if@tempswa%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \if@atdocument%
+ \if@tud@cdgeometry@reset\else%
+ \ifcase\tud@cdgeometry@num\relax%
+ \tud@loadgeometry{current@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or%
+ \tud@loadgeometry{current@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
\fi%
\fi%
}
@@ -359,7 +495,7 @@
\TUD@key{extrabottommargin}{%
\TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\fi%
}
\newcommand*\tud@dim@bleedmargin{.2in}
@@ -374,30 +510,45 @@
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{twoside}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
\DefineFamilyKey{KOMA}{twocolumn}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
-\newcommand*\tud@x@ta@warnings@off{}
-\newcommand*\tud@x@ta@warnings@on{}
-\IfFileExists{silence.sty}{%
- \RequirePackage{silence}[2012/07/02]%
- \WarningFilter[typearea]{typearea}{DIV for}%
- \WarningFilter[typearea]{typearea}{Bad type area settings!}%
- \WarningFilter[typearea]{typearea}{Maybe no optimal type area settings!}%
- \WarningFilter[typearea]{typearea}{Very low DIV value!}%
- \BeforePackage{typearea}{\ActivateWarningFilters[typearea]}%
- \AfterPackage{typearea}{\DeactivateWarningFilters[typearea]}%
- \renewcommand*\tud@x@ta@warnings@off{\ActivateWarningFilters[typearea]}
- \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]}
-}{}
+\newcommand*\tud@x@typearea@warnings@off[1][]{%
+ \IfArgIsEmpty{#1}{}{\let#1\@empty}%
+ \tud@cs@store{PackageWarningNoLine}%
+ \renewcommand*\PackageWarningNoLine[2]{%
+ \@tud@res@swatrue%
+ \ifstr{##1}{typearea}{%
+ \ifstrstart{##2}{Bad type area settings!}{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{%
+ Maybe no optimal type area settings!%
+ }{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{Very low DIV value!}{\@tud@res@swafalse}{}%
+ }{}%
+ \if@tud@res@swa%
+ \tud@cs@use{PackageWarning}{##1}{##2}%
+ \else%
+ \IfArgIsEmpty{#1}{}{\listeadd#1{##2}}%
+ \fi%
+ }%
+}
+\newcommand*\tud@x@typearea@warnings@on{%
+ \tud@cs@restore{PackageWarningNoLine}%
+}
+\BeforePackage{typearea}{%
+ \tud@x@typearea@warnings@off%
+}
+\AfterPackage{typearea}{%
+ \tud@x@typearea@warnings@on%
+}
%%% From File: tudscr-pagestyle.dtx
-\cs@lock{tud@head@font@num}{0}
-\cs@lock{tud@head@bar@num}{0}
-\bool@lock{@tud@head@widebar}
+\tud@locked@newnum{tud@head@font@num}{0}
+\tud@locked@newnum{tud@head@bar@num}{0}
+\tud@locked@newbool{@tud@head@widebar}
\newif\if@tud@head@font@set
\newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
@@ -424,23 +575,23 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@head@font@num}{0}%
+ \tud@locked@num@set{tud@head@font@num}{0}%
\or% true
- \cs@set@lock{tud@head@font@num}{1}%
+ \tud@locked@num@set{tud@head@font@num}{1}%
\or% heavy
- \cs@set@lock{tud@head@font@num}{2}%
+ \tud@locked@num@set{tud@head@font@num}{2}%
\or% nocolor
- \cs@set@lock{tud@head@bar@num}{0}%
+ \tud@locked@num@set{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% color
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% textwidth
- \bool@set@lock{@tud@head@widebar}{false}%
+ \tud@locked@bool@set{@tud@head@widebar}{false}%
\or% paperwidth
- \bool@set@lock{@tud@head@widebar}{true}%
+ \tud@locked@bool@set{@tud@head@widebar}{true}%
\or% date
\@tud@head@datetrue%
\or% nodate
@@ -452,7 +603,7 @@
\fi%
}
\TUD@AfterPackage@set{scrlayer-scrpage}
-\bool@lock{@tud@foot@colored}
+\tud@locked@newbool{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@bool@numkey,%
@@ -467,13 +618,13 @@
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
- \tud@font@koma@unset{pageheadfoot}%
+ \tud@komafont@unset{pageheadfoot}%
}%
\or% true
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
- \tud@font@koma@set{pageheadfoot}{\upshape}%
+ \tud@komafont@set{pageheadfoot}{\upshape}%
\clearpairofpagestyles%
\ofoot[\pagemark]{%
\if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi%
@@ -483,12 +634,13 @@
\ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
\or% nocolor
- \bool@set@lock{@tud@foot@colored}{false}%
+ \tud@locked@bool@set{@tud@foot@colored}{false}%
\or% color
- \bool@set@lock{@tud@foot@colored}{true}%
+ \tud@locked@bool@set{@tud@foot@colored}{true}%
\fi%
\else%
- \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{\TUDoptions{extrabottommargin=#1}}{}%
\fi%
}
\newcommand*\tud@ps@store[1]{%
@@ -506,9 +658,9 @@
\tud@ps@@store{#1}{even}{middle}{foot}%
}
\newcommand*\tud@ps@@store[4]{%
- \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{%
+ \ifcsundef{@@tud@ps@#1@#2@#3@#4}{%
\csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}%
- }%
+ }{}%
}
\newcommand*\tud@ps@restore[1]{%
\tud@ps@@restore{#1}{odd}{left}{head}%
@@ -550,9 +702,9 @@
\TUD@bool@numkey,%
{color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},%
{colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},%
- {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},%
+ {gray}{4},{grey}{4},{hks92}{4},{cdgray}{4},{cdgrey}{4},%
{black}{5},{cdblack}{5},%
- {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},%
+ {blue}{6},{hks41}{6},{cdblue}{6},{cddarkblue}{6},%
{white}{7},{cdwhite}{7}%
}
\newif\if@tud@headlogo@option@set
@@ -606,8 +758,8 @@
\tud@comp@resetpagestyle%
}
%%% From File: tudscr-layout.dtx
-\newcommand*\tud@layout@switch{}
-\edef\tud@layout@switch{%
+\newcommand*\tud@cd@switch{}
+\edef\tud@cd@switch{%
\TUD@bool@numkey,%
{nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},%
{lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
@@ -619,150 +771,57 @@
{color}{5},{colour}{5},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
-\cs@lock{tud@layout@cover@num}{0}
-\cs@lock{tud@layout@title@num}{0}
-\cs@lock{tud@layout@part@num}{0}
-\cs@lock{tud@layout@section@num}{0}
\newcommand*\tud@cd@num{0}
\TUD@key{cd}[true]{%
- \TUD@set@numkey{cd}{tud@cd@num}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cd}{tud@cd@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@layout@cover@num}{0}%
- \cs@std@lock{tud@layout@title@num}{0}%
- \cs@std@lock{tud@layout@part@num}{0}%
- \cs@std@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{1}%
- \cs@std@lock{tud@layout@part@num}{1}%
- \cs@std@lock{tud@layout@section@num}{1}%
- \or% litecolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{2}%
- \cs@std@lock{tud@layout@part@num}{2}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% barcolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{3}%
- \cs@std@lock{tud@layout@part@num}{3}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% bicolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{4}%
- \cs@std@lock{tud@layout@part@num}{4}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% color
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{5}%
- \cs@std@lock{tud@layout@part@num}{5}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% full
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{6}%
- \cs@std@lock{tud@layout@part@num}{6}%
- \cs@std@lock{tud@layout@section@num}{2}%
+ \TUD@key@preset{cdcover}{false}%
+ \else% !false
+ \TUD@key@preset{cdcover}{true}%
\fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@key@preset{cdtitle}{#1}%
+ \TUD@key@preset{cdpart}{#1}%
+ \TUD@key@preset{cdsection}{#1}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\if@atdocument\else%
\ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{0}%
\else% !false
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\fi%
\fi%
\fi%
}
+\newcommand*\tud@cd@cover@num{0}
\TUD@key{cdcover}[true]{%
- \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdcover}{tud@cd@cover@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@cover@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@cover@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@cover@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@cover@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@cover@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@cover@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@cover@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@title@num{0}
\TUD@key{cdtitle}[true]{%
- \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdtitle}{tud@cd@title@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@title@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@title@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@title@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@title@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@title@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@title@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@title@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@part@num{0}
\TUD@key{cdpart}[true]{%
- \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdpart}{tud@cd@part@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@part@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@part@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@part@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@part@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@part@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@part@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@part@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@section@num{0}
\TUD@key{cdsection}[true]{%
- \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdsection}{tud@cd@section@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@section@num}{1}%
- \else% *color
- \cs@set@lock{tud@layout@section@num}{2}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
\newcommand*\tud@pagecolor{}%
-\DefineFamilyMember{KOMA}
-\DefineFamilyKey{KOMA}{headings}{%
- \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
- \FamilyKeyStateProcessed%
-}
-\DefineFamilyKey{KOMA}{open}{%
- \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
- \FamilyKeyStateProcessed%
-}
-\DefineFamilyKey{KOMA}{chapterprefix}{%
- \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
- \FamilyKeyStateProcessed%
-}
\newcommand*\tud@dim@pageheadingsvskip{0pt}
\TUD@key{pageheadingsvskip}{%
\TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}%
@@ -771,10 +830,36 @@
\TUD@key{headingsvskip}{%
\TUD@set@dimenkey{headingsvskip}{\tud@dim@headingsvskip}{#1}%
}
+\newif\if@tud@heavyheadings
+\TUD@key{headings}{%
+ \TUD@set@numkey{headings}{@tempa}{%
+ {light}{0},{lightfont}{0},{lite}{0},{litefont}{0},{noheavyfont}{0},%
+ {normal}{0},{standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},%
+ {heavy}{1},{heavyfont}{1},{bold}{1},{boldfont}{1},%
+ {ultrabold}{1},{boldultra}{1},{heavybold}{1},{boldheavy}{1},%
+ {extendedbold}{1},{boldextended}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% light
+ \@tud@heavyheadingsfalse%
+ \or% heavy
+ \@tud@heavyheadingstrue%
+ \fi%
+ \fi%
+}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{headings}{%
+ \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
+ \FamilyKeyStateProcessed%
+}
%%% From File: tudscr-title.dtx
\newif\if@tud@subjectthesis
-\TUD@key@lock{subjectthesis}[true]{%
- \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
+\TUD@key{subjectthesis}[true]{%
+ \TUD@set@ifkey{subjectthesis}{@tud@subjectthesis}{#1}%
+}
+\newif\if@tud@titlesignature
+\TUD@key{titlesignature}[true]{%
+ \TUD@set@ifkey{titlesignature}{@tud@titlesignature}{#1}%
}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@switch{%
@@ -794,7 +879,7 @@
{totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
\newcommand*\tud@abstract@level@num{0}
-\cs@lock{tud@abstract@toc@num}{0}
+\tud@locked@newnum{tud@abstract@toc@num}{0}
\newif\if@tud@abstract@multi
\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
@@ -806,13 +891,13 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\renewcommand*\tud@abstract@level@num{0}%
- \cs@std@lock{tud@abstract@toc@num}{0}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{0}%
\or% true
\renewcommand*\tud@abstract@level@num{1}%
- \cs@std@lock{tud@abstract@toc@num}{0}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{0}%
\or% section
\renewcommand*\tud@abstract@level@num{2}%
- \cs@std@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{1}%
\or% chapter
\or% single
\@tud@abstract@multifalse%
@@ -827,26 +912,26 @@
\or% nomarkboth
\@tud@abstract@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@abstract@toc@num}{0}%
+ \tud@locked@num@set{tud@abstract@toc@num}{0}%
\or% totoc
\ifnum\tud@abstract@toc@num<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@set{tud@abstract@toc@num}{1}%
\else%
- \cs@set@lock{tud@abstract@toc@num}{3}%
+ \tud@locked@num@set{tud@abstract@toc@num}{3}%
\fi%
\or% totocleveldown
\ifnum\tud@abstract@toc@num<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc@num}{2}%
+ \tud@locked@num@set{tud@abstract@toc@num}{2}%
\else%
- \cs@set@lock{tud@abstract@toc@num}{4}%
+ \tud@locked@num@set{tud@abstract@toc@num}{4}%
\fi%
\or% totocmutliple
\ifnum\tud@abstract@toc@num=\z@\relax%
- \cs@set@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@set{tud@abstract@toc@num}{1}%
\fi%
\ifnum\tud@abstract@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@abstract@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@abstract@toc@num}{%
\the\numexpr\tud@abstract@toc@num+2\relax%
}%
}\@tempa%
@@ -859,7 +944,7 @@
\AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
}
\newcommand*\tud@declaration@level@num{1}
-\cs@lock{tud@declaration@toc@num}{0}
+\tud@locked@newnum{tud@declaration@toc@num}{0}
\newif\if@tud@declaration@multi
\@tud@declaration@multitrue
\newif\if@tud@declaration@fil
@@ -871,13 +956,13 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\renewcommand*\tud@declaration@level@num{0}%
- \cs@std@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{0}%
\or% true
\renewcommand*\tud@declaration@level@num{1}%
- \cs@std@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{0}%
\or% section
\renewcommand*\tud@declaration@level@num{2}%
- \cs@std@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{1}%
\or% chapter
\or% single
\@tud@declaration@multifalse%
@@ -892,26 +977,26 @@
\or% nomarkboth
\@tud@declaration@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@set{tud@declaration@toc@num}{0}%
\or% totoc
\ifnum\tud@declaration@toc@num<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@set{tud@declaration@toc@num}{1}%
\else%
- \cs@set@lock{tud@declaration@toc@num}{3}%
+ \tud@locked@num@set{tud@declaration@toc@num}{3}%
\fi%
\or% totocleveldown
\ifnum\tud@declaration@toc@num<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc@num}{2}%
+ \tud@locked@num@set{tud@declaration@toc@num}{2}%
\else%
- \cs@set@lock{tud@declaration@toc@num}{4}%
+ \tud@locked@num@set{tud@declaration@toc@num}{4}%
\fi%
\or% totocmutliple
\ifnum\tud@declaration@toc@num=\z@\relax%
- \cs@set@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@set{tud@declaration@toc@num}{1}%
\fi%
\ifnum\tud@declaration@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@declaration@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@declaration@toc@num}{%
\the\numexpr\tud@declaration@toc@num+2\relax%
}%
}\@tempa%
@@ -919,18 +1004,99 @@
\fi%
\fi%
}
+%%% From File: tudscr-misc.dtx
+\newif\if@tud@bookmarks
+\TUD@key{tudbookmarks}[true]{%
+ \TUD@set@ifkey{tudbookmarks}{@tud@bookmarks}{#1}%
+}
+\newcommand*\tud@x@scr@checkoptions{%
+ \expandafter\tud@x@scr@pt\CurrentOption pt\@nil%
+ \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
+}
+\newcommand*\tud@x@scr@pt{}
+\def\tud@x@scr@pt #1pt#2\@nil{%
+ \ifstr{#2}{pt}{\ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}%
+}
+\newcommand*\tud@atdocument@hook{}
+\let\tud@atdocument@hook\relax
+\newcommand*\TUD@SpecialOptionAtDocument[1]{}
+\AfterEndPreamble{%
+ \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
+ \ifx\tud@atdocument@hook\relax%
+ \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
+ \AtEndOfFamilyOptions*{%
+ \tud@atdocument@hook%
+ \tud@atdocument@process%
+ }%
+ \fi%
+ \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
+ }%
+}
%%% From File: tudscr-comp.dtx
\newcommand*\TUD@deprecated@key[2]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The option key `#1' is deprecated\MessageBreak%
- It's recommended to use `#2'\MessageBreak%
+ The key `#1' is deprecated. It's\MessageBreak%
+ recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\newcommand*\TUD@deprecated@cs[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\AfterEndPreamble{%
+ \noexpand\TUD@deprecated@@cs{#1}{#2}%
+ }%
+ }%
+ \tud@res@a%
+}
+\newcommand*\TUD@deprecated@@cs[2]{%
+ \ifcsundef{#1}{%
+ \begingroup%
+ \def\tud@res@a{%
+ The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ }%
+ \def\tud@res@b##1@##2\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \appto\tud@res@a{%
+ You should use `\@backslashchar#2' instead%
+ }%
+ }{%
+ \appto\tud@res@a{%
+ You should not use this command. It is substituted\MessageBreak%
+ with `\@backslashchar#2' internally%
+ }%
+ }%
+ }%
+ \tud@res@b#2@\@nil%
+ \edef\tud@res@c{%
+ \endgroup%
+ \noexpand\newrobustcmd\csname #1\endcsname{%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}%
+ {\tud@res@a}%
+ \noexpand\csletcs{#1}{#2}%
+ \noexpand\csuse{#2}%
+ }%
+ }%
+ \tud@res@c%
+ }{}%
+}
+\newcommand*\TUD@deprecated@lengthcs[2][]{%
+ \ifdim\csuse{#2}<\maxdimen\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
+ You should use option `#2' instead%
+ }%
+ \csxdef{tud@dim@#2}{\the\csuse{#2}}%
+ \expandafter\setlength\csname #2\endcsname{\maxdimen}%
+ \global\csuse{#2}=\csuse{#2}%
+ #1%
+ \fi%
+}
\newcommand*\tud@v@comp{\tud@v@last}
-\TUD@key{tudscrver}[last]{%
+\TUD@key[.comp]{tudscrver}[last]{%
\tud@v@get\@tempa{#1}%
\ifcsundef{tud@v@\@tempa}{%
\ClassWarningNoLine{\TUD@Class@Name}%
@@ -939,23 +1105,25 @@
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \def\tud@v@comp{0}%
+ \renewcommand*\tud@v@comp{0}%
}{%
\ClassInfoNoLine{\TUD@Class@Name}%
{%
- Switching compatibility level to `\@tempa'%
+ Switching compatibility level to `v\@tempa'%
}%
\edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
\FamilyKeyStateProcessed%
}
+\TUD@key{tudscrver}{\FamilyKeyStateProcessed}%
\AtEndOfClass%
{%
+ \RelaxFamilyKey[.comp]{TUD}{tudscrver}%
\TUD@key{tudscrver}[]{%
\ClassError{\TUD@Class@Name}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
+ class `\TUD@Class@Name'\space%
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
@@ -974,7 +1142,7 @@
KOMA-Script v\TUD@Version@KOMA is required%
}{%
\TUD@Version\space must at least be used with\MessageBreak%
- KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion is used.%
+ KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion was found.%
}%
}%
}
@@ -984,7 +1152,6 @@
\csdef{tud@v@2.01a}{0}
\csdef{tud@v@2.01b}{0}
\csdef{tud@v@2.02}{0}
-\csdef{tud@v@2.02}{0}
\csdef{tud@v@2.03}{1}
\csdef{tud@v@2.03a}{1}
\csdef{tud@v@2.04}{2}
@@ -1006,7 +1173,8 @@
\csdef{tud@v@2.05k}{3}
\csdef{tud@v@2.05l}{3}
\csdef{tud@v@2.05m}{3}
-\csdef{tud@v@last}{3}
+\csdef{tud@v@2.06}{4}
+\csdef{tud@v@last}{4}
\newcommand*\tud@v@get[2]{%
\begingroup%
\def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
@@ -1039,48 +1207,16 @@
}%
\tud@reserved%
}
-\TUD@key{fontspec}[true]{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- The option key `fontspec' is deprecated\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@x@fontspec@enabled}{#1}%
-}
-\AtEndOfClass%
-{%
- \TUD@key{fontspec}[]%
- {%
- \ClassError{\TUD@Class@Name}%
- {Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
- but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@x@fontspec@enabled%
- \RequirePackage{fontspec}[2017/01/24]%
- \fi%
-}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{tudfonts}[true]{%
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{heavyfont}[true]{%
@@ -1093,53 +1229,53 @@
\fi%
\fi%
}
-\TUD@key{din}[true]{%
- \TUD@set@ifkey{din}{@tempswa}{#1}%
+\TUD@key{sansmath}[true]{%
+ \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@deprecated@key{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
-\TUD@key{nodin}[true]{%
- \TUD@set@ifkey{nodin}{@tempswa}{#1}%
+\TUD@key{serifmath}[true]{%
+ \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@deprecated@key{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{noDIN}[true]{%
- \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
+\TUD@key{din}[true]{%
+ \TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@deprecated@key{din}{cdoldfont=din}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@deprecated@key{din=#1}{cdoldfont=nodin}%
\fi%
\fi%
}
-\TUD@key{sansmath}[true]{%
- \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
+\TUD@key{nodin}[true]{%
+ \TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@deprecated@key{nodin}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@deprecated@key{nodin=#1}{cdoldfont=din}%
\fi%
\fi%
}
-\TUD@key{serifmath}[true]{%
- \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
+\TUD@key{noDIN}[true]{%
+ \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@deprecated@key{noDIN}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}%
\fi%
\fi%
}
@@ -1210,116 +1346,69 @@
\fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
-%%% From File: tudscr-misc.dtx
-\newif\if@tud@x@scr@paper@set
-\TUD@key{paper}{%
- \tud@lowerstring{\@tempa}{#1}%
- \def\@tempb##1##2\@nil{%
- \@tempswafalse%
- \if ##1a\@tempswatrue%
- \else\if ##1b\@tempswatrue%
- \else\if ##1c\@tempswatrue%
- \else\if ##1d\@tempswatrue%
- \fi\fi\fi\fi%
- \if@tempswa%
- \ifnumber{##2}{}{\@tempswafalse}%
- \fi%
- }%
- \expandafter\@tempb\@tempa\@nil%
- \if@tempswa\else%
- \def\@tempb##1:##2:##3\@nil{%
- \edef\@tempc{##1}%
- \ifx\@tempc\@empty\@tempswafalse\else%
- \edef\@tempc{##2}%
- \ifx\@tempc\@empty\@tempswafalse\else\@tempswatrue\fi%
- \fi%
+\newif\if@tud@x@fontspec@requested
+\TUD@key{fontspec}[true]{%
+ \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
}%
- \expandafter\@tempb\@tempa::\@nil%
- \fi%
- \@tud@x@scr@paper@setfalse%
- \if@tempswa%
- \ifstr{\@tempa}{a4}{}{\@tud@x@scr@paper@settrue}%
- \FamilyKeyStateProcessed%
- \else%
- \FamilyKeyStateUnknownValue%
\fi%
}
-\newif\if@tud@fontsize@set
-\TUD@key{fontsize}{%
- \@tud@fontsize@settrue%
- \PassOptionsToClass{fontsize=#1}{\TUD@Class@KOMA}%
- \FamilyKeyStateProcessed%
-}
-\AtEndOfClass{%
- \RelaxFamilyKey{TUD}{paper}%
- \RelaxFamilyKey{TUD}{fontsize}%
- \ifboolexpr{bool {@tud@x@scr@paper@set} or bool {@landscape}}{%
- \if@tud@fontsize@set\else%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- You've set a paper size, which is different from\MessageBreak%
- default (paper=a4, paper=portrait). Therefore you\MessageBreak%
- should additionally specify an explicit font size.\MessageBreak%
- See the manual for further information%
- }%
- \fi%
- }{}%
-}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
-\newif\if@tud@symbolheadings
-\TUD@key{footnotes}{%
- \TUD@set@numkey{footnotes}{@tempa}{%
- {nosymbolheadings}{0},{numberheadings}{0},%
- {symbolheadings}{1}%
- }{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% nosymbolheadings
- \@tud@symbolheadingsfalse%
- \or% symbolheadings
- \@tud@symbolheadingstrue%
- \fi%
+\AtEndOfClass%
+{%
+ \TUD@key{fontspec}[]%
+ {%
+ \ClassError{\TUD@Class@Name}%
+ {Option `fontspec' too late}{%
+ Option `fontspec' can only be set while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \if@tud@x@fontspec@requested%
+ \RequirePackage{fontspec}[2017/01/24]%
\fi%
}
-\AtEndOfClass{%
- \newcounter{symbolheadings}
-}
%%% From File: tudscr-misc.dtx
-\newcommand*\TUD@SpecialOptionAtDocument[1]{}
-\newcommand*\tud@x@scr@paper{%
- \expandafter\tud@x@scr@@paper\CurrentOption paper\tud@x@scr@@paper%
-}
-\newcommand*\tud@x@scr@@paper{}
-\def\tud@x@scr@@paper #1#2paper#3\tud@x@scr@@paper{%
- \@tempswafalse%
- \ifstr{#3}{paper}{\ifnumber{#2}{%
- \ifstr{#1}{a}{\@tempswatrue}{%
- \ifstr{#1}{b}{\@tempswatrue}{%
- \ifstr{#1}{c}{\@tempswatrue}{%
- \ifstr{#1}{d}{\@tempswatrue}{%
- }}}}%
- }{}}{}%
- \if@tempswa\TUDExecuteOptions{#3=#1#2}\fi%
- \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
-}
-\DeclareOption*{\tud@x@scr@paper}
+\DeclareOption*{}
+\FamilyProcessOptions[.comp]{TUD}\relax
+\tud@if@v@lower{2.05}{%
+ \TUD@key@preset{relspacing}{false}%
+}{%
+ \TUD@key@preset{relspacing}{true}%
+}
+\tud@if@v@lower{2.06}{%
+ \TUD@key@preset{cdoldfont}{true}%
+ \TUD@key@preset{ttfont}{lmodern}%
+ \TUD@key@preset{headings}{light}%
+}{%
+ \TUD@key@preset{cdfont}{true}%
+ \TUD@key@preset{ttfont}{roboto}%
+ \TUD@key@preset{headings}{heavy}%
+}
+\DeclareOption*{\tud@x@scr@checkoptions}
\TUDExecuteOptions{%
- cd=true,relspacing=true,tudbookmarks=true%
+ cd=true,tudbookmarks=true%
}
\TUDProcessOptions\relax
-\LoadClass{\TUD@Class@KOMA}[2015/04/23]
+\LoadClass{\TUD@Class@KOMA}[2018/03/30]
%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
-\cs@lock{tud@x@multicol@num}{1}
+\newcommand*\tud@x@multicol@num{1}
\newcommand*\tud@x@multicol@check{%
\ifnum\tud@x@multicol@num>\@ne\relax%
\ClassWarning{\TUD@Class@Name}{%
The option `columns=\tud@x@multicol@num' is only\MessageBreak%
supported, when package `multicol' is loaded%
}%
- \cs@set@lock{tud@x@multicol@num}{1}%
+ \renewcommand*\tud@x@multicol@num{1}%
\fi%
}
-\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}}
+\AfterPackage{multicol}{\let\tud@x@multicol@check\relax}
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
@@ -1333,109 +1422,238 @@
\RequirePackage{tudscrcolor}[\TUD@Version]%
}
%%% From File: tudscr-fonts.dtx
-\newcommand*\tud@univers{lun}
-\newif\if@tud@univers
-\newif\if@tud@universmath
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@dinbold
-\newif\if@tud@dinboldmath
-\newcommand*\tud@font@check{%
- \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
- \def\@tempb##1{%
- \if@tud@cdmath%
- \tud@font@math@missing@wrn{##1}%
- \fi%
- }%
- \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
- \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN-Bold}}%
- \if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+\newcommand*\tud@cdfont@wrn{\global\let\tud@cdfont@wrn\relax}
+\newcommand*\tud@cdmath@wrn{\global\let\tud@cdmath@wrn\relax}
+\newif\if@tud@x@fontspec@enabled
+\PassOptionsToPackage{no-math}{fontspec}
+\AfterPackage*{fontspec}{%
+ \@ifpackagelater{fontspec}{2017/01/24}{%
+ \@tud@x@fontspec@enabledtrue%
+ \@tud@res@swafalse%
+ \@ifpackagewith{fontspec}{no-math}{}{\@tud@res@swatrue}%
+ \@ifpackagewith{fontspec}{math}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ It's recommended to load package `fontspec'\MessageBreak%
+ with option `no-math', if you want to use the\MessageBreak%
+ corporate design fonts in math mode%
+ }%
+ }%
+ \fi%
+ }{%
+ \@tud@x@fontspec@enabledfalse%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ Version `2017/01/24' of package `fontspec' is needed,\MessageBreak%
+ but only version\MessageBreak%
+ `\csname ver@fontspec.sty\endcsname'\MessageBreak%
+ is available, so a fallback layout is used%
+ }%
+ }%
+}
+\AfterPackage*{unicode-math}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The usage of package `unicode-math' will\MessageBreak%
+ most likely cause erroneous outputs in math mode\MessageBreak%
+ with corporate design fonts%
}%
+ }%
+}
+\TUD@RecommendPackage{mweights}[2017/03/30]%
+\newif\if@tud@x@mweights@enabled
+\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
+\newif\if@tud@cdfont@fam@exist
+\newif\if@tud@cdfont@db@exist
+\newcommand*\tud@cdfont@fam{opensans-TLF}
+\newcommand*\tud@cdfont@fam@lf{opensans-TLF}
+\newcommand*\tud@cdfont@fam@osf{opensans-TOsF}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@fam{lun}
+ \renewcommand*\tud@cdfont@fam@lf{lun}
+ \renewcommand*\tud@cdfont@fam@osf{lun}
+ \newcommand*\tud@cdfont@db{0m6}
+\fi
+\newcommand*\tud@ttfont@fam{tudtt}
+\newcommand*\tud@ttfont@rb{tudtt}
+\newcommand*\tud@ttfont@lm{lmtt}
+\newif\if@tud@ttfont@rb@exist
+\IfFileExists{roboto-mono.sty}{%
+ \@tud@ttfont@rb@existtrue%
+}{%
+ \TUD@key@preset{ttfont}{lmodern}%
+}
+\newcommand*\tud@cdfont@check{%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@@check{Univers}{%
+ Light,,Bold,Black,%
+ LightOblique,Oblique,BoldOblique,BlackOblique%
+ }{\tud@cdfont@fam@lf}{@tud@cdfont@fam@exist}%
+ \tud@cdfont@@check{DIN}{Bold}{\tud@cdfont@db}{@tud@cdfont@db@exist}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}%
+ \else%
+ \@ifpackageloaded{opensans}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `opensans'\MessageBreak%
+ manually but just use option `cdfont=true'%
+ }%
+ }{}%
+ \if@tud@cdfont@active%
+ \TUD@CheckPackage{opensans}{2019/06/20}%
+ \TUD@CheckPackage{iwona}{2005/10/03}%
+ \fi%
+ \tud@cdfont@@check{OpenSans}{%
+ Light,Regular,SemiBold,Bold,ExtraBold,%
+ LightItalic,Italic,SemiBoldItalic,BoldItalic,ExtraBoldItalic%
+ }{\tud@cdfont@fam@lf,\tud@cdfont@fam@osf}{@tud@cdfont@fam@exist}%
\fi%
+}
+\newcommand*\tud@cdfont@@check[5][-]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing{##1}{\tud@cdfont@wrn}%
+ }%
\if@tud@x@fontspec@enabled%
- \def\@tempc##1##2{%
- \IfFontExistsTF{##1}{}{%
- ##2%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \def\tud@res@b##1{\IfFontExistsTF{##1}{}{\tud@res@a{##1}}}%
+ \@for\tud@res@c:={#3}\do{%
+ \expandafter\IfArgIsEmpty\expandafter{\tud@res@c}%
+ {\tud@res@b{#2}}%
+ {\tud@res@b{#2#1\tud@res@c}}%
+ }%
+ \else%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \@tud@res@swatrue%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \if@tud@res@swa%
+ \tud@lowerstring\tud@res@b{##1}%
+ \edef\tud@res@b{\tud@res@b##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
\fi%
- }%
+ \if@tud@res@swa%
+ \edef\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \if@tud@res@swa%
+ \noexpand\tud@res@a{\tud@res@b}%
+ \fi%
+ }%
+ \tud@res@a%
}%
- \@tud@universtrue%
- \@tempc{Univers Light}{\@tud@universfalse}%
- \@tempc{Univers}{\@tud@universfalse}%
- \@tempc{Univers Bold}{\@tud@universfalse}%
- \@tempc{Univers Black}{\@tud@universfalse}%
- \@tempc{Univers LightOblique}{\@tud@universfalse}%
- \@tempc{Univers Oblique}{\@tud@universfalse}%
- \@tempc{Univers BoldOblique}{\@tud@universfalse}%
- \@tempc{Univers BlackOblique}{\@tud@universfalse}%
- \@tud@dinboldtrue%
- \@tempc{DIN-Bold}{\@tud@dinboldfalse}%
+ \@for\tud@res@c:={#4}\do{\tud@res@b{\encodingdefault}{\tud@res@c}}%
+ \fi%
+ \if@tud@res@swa%
+ \booltrue{#5}%
\else%
- \def\@tempc##1{%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \boolfalse{#5}%
+ \fi%
+}
+\newcommand*\tud@cdfont@@@check[2]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1##2{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing[##1]{##2}{\tud@cdmath@wrn}%
+ }%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\IfFileExists{\tud@res@b}{}{%
+ \noexpand\tud@res@a{##1}{\tud@res@b}%
+ }%
+ }%
+ \tud@res@a%
+ }%
+ \@for\tud@res@c:={#1}\do{\tud@res@b{\tud@res@c}{#2}}%
+ \if@tud@res@swa\else%
+ \AtBeginDocument{%
+ \if@tud@cdmath@active%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Some math font encodings are missing.\MessageBreak%
+ The option `cdmath=false' is executed. You should\MessageBreak%
+ either use this option by yourself or install\MessageBreak%
+ all necessary fonts with a installation script\MessageBreak%
+ listed in the manual
+ }%
\fi%
+ \TUDoptions{cdmath=false}%
}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN-Bold}}%
\fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- }%
- \undef\tud@font@check%
}
-\newcommand*\tud@font@missing@wrn[1]{%
+\newcommand*\tud@cdfont@missing[3][\encodingdefault]{%
\begingroup%
- \def\@tempa{%
- `#1' font not found for `\encodingdefault' encoding.\MessageBreak%
+ \def\tud@res@a{%
+ `#2' font\MessageBreak%
+ not found for `#1' encoding.\MessageBreak%
}%
\if@tud@x@fontspec@enabled%
- \appto\@tempa{%
- It seems, you haven't installed the required\MessageBreak%
- OTF-font on your system%
- }%
- \else%
- \ifstr{TU}{\encodingdefault}{%
- \appto\@tempa{%
- You should load package `fontspec'\MessageBreak%
- or %
+ \ifstr{\encodingdefault}{#1}{%
+ \appto\tud@res@a{%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. You should provide\MessageBreak%
+ the fonts manually to your OS\MessageBreak%
+ \if@tud@cdoldfont@active\else%
+ or install package `opensans'\MessageBreak%
+ \fi%
}%
- }{%
- \appto\@tempa{Please }%
+ }{}%
+ \else%
+ \if@tud@cdoldfont@active%
+ \def\tud@res@b{T1,OT1,OMS,OML}%
+ \else%
+ \def\tud@res@b{T1,OT1,T2A,T2B,T2C,X2,LGR}%
+ \fi%
+ \@tud@res@swafalse%
+ \@for\tud@res@c:=\tud@res@b\do{%
+ \ifstr{\tud@res@c}{#1}{\@tud@res@swatrue}{}%
}%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
- \if@tempswa%
- \appto\@tempa{%
- use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
+ \if@tud@res@swa%
+ \appto\tud@res@a{%
+ You should %
+ \if@tud@cdoldfont@active%
+ try to install the necessary fonts\MessageBreak%
+ with a installation script listed in the manual%
+ \else%
+ install package `opensans'%
+ \fi%
+ .\MessageBreak%
}%
\else%
- \appto\@tempa{%
- choose a possible encoding with\MessageBreak%
- package `fontenc' (`OT1' or `T1')%
- }%
+ \ifstr{\encodingdefault}{#1}{%
+ \ifstr{TU}{#1}{%
+ \appto\tud@res@a{%
+ You should either load package `fontspec'\MessageBreak%
+ or %
+ }%
+ }{%
+ \appto\tud@res@a{Please }%
+ }%
+ \appto\tud@res@a{%
+ choose a possible encoding with package\MessageBreak%
+ `fontenc' (\tud@res@b).\MessageBreak%
+ }%
+ }{}%
\fi%
\fi%
- \appto\@tempa{.\MessageBreak A fallback layout is used}%
- \ClassWarning{\TUD@Class@Name}{\@tempa}%
+ \appto\tud@res@a{A fallback layout is used}%
+ \edef\tud@res@c{%
+ \etex@unexpanded{\ClassWarning{\TUD@Class@Name}}%
+ {\tud@res@a}
+ }%
+ \xappto#3{\expandonce\tud@res@c}%
\endgroup%
}
-\newcommand*\tud@font@math@missing@wrn[1]{%
- \ClassWarning{\TUD@Class@Name}%
- {%
- `#1' fonts for math typesetting not found.\MessageBreak%
- Please use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
- }%
-}
\begingroup
\catcode`\^=7
\catcode30=12
@@ -1452,9 +1670,9 @@
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage*{ragged2e}{%
- \ifdef{\LaTeXraggedright}{%
+ \ifundef{\LaTeXraggedright}{}{%
\renewcommand*\tud@raggedright{\LaTeXraggedright}%
- }{}%
+ }%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
\newif\if@tud@x@siunitx@enabled
@@ -1464,127 +1682,113 @@
}
\newif\if@tud@x@bm@requested
\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm}
-\RequirePackage{trimspaces}[2009/09/17]
-\newif\if@tud@x@mweights@enabled
-\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
-\newcommand*\tud@font@set{%
- \if@atdocument%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@univers\else%
- \tud@font@missing@wrn{Univers}%
- \fi%
- \if@tud@dinbold\else%
- \tud@font@missing@wrn{DIN-Bold}%
- \fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
+\newcommand*\tud@x@fontspec@init[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\defaultfontfeatures[#1]{%
+ NFSSFamily=#1,%
+ Ligatures=TeX,%
+ BoldFont={},%
+ ItalicFont={},%
+ BoldItalicFont={},%
+ SmallCapsFont={},%
+ #2%
}%
- \fi%
- \fi%
- \ifcase\tud@cdfont@num\relax% false
- \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}%
- \if@tud@x@mweights@enabled%
- \tud@cmd@restore{bfseries@rm}%
- \tud@cmd@restore{bfseries@sf}%
- \tud@cmd@restore{bfseries@tt}%
- \tud@cmd@restore{mdseries@rm}%
- \tud@cmd@restore{mdseries@sf}%
- \tud@cmd@restore{mdseries@tt}%
- \fi%
- \ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@head@font@num}{0}%
- \else% !false
- \cs@std@lock{tud@head@font@num}{1}%
- \fi%
- \else% true/heavy
- \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}%
+ }%
+ \edef\tud@res@b{%
+ \noexpand\newfontfamily%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#1\endcsname{#1}%
+ }%
+ \edef\tud@res@c{%
+ \endgroup\expandonce\tud@res@a\expandonce\tud@res@b%
+ }%
+ \tud@res@c%
+}
+\newcommand*\tud@x@fontspec@set[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareRobustCommand%
+ \expandafter\noexpand\csname #1family\endcsname{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \def\expandafter\noexpand\csname #1default\endcsname{\tud@cdfont@fam}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@font@set{%
+ \if@tud@cdfont@active%
+ \tud@cs@store{rmdefault}%
+ \tud@cs@store{sfdefault}%
+ \tud@cs@store{ttdefault}%
+ \tud@cs@store{bfdefault}%
+ \tud@cs@store{mddefault}%
+ \tud@cs@store{updefault}%
+ \tud@cs@store{sldefault}%
+ \tud@cs@store{itdefault}%
+ \tud@cs@store{familydefault}%
+ \tud@cs@store{seriesdefault}%
+ \tud@cs@store{shapedefault}%
\if@tud@x@mweights@enabled%
- \tud@cmd@store{bfseries@rm}%
- \tud@cmd@store{bfseries@sf}%
- \tud@cmd@store{bfseries@tt}%
- \tud@cmd@store{mdseries@rm}%
- \tud@cmd@store{mdseries@sf}%
- \tud@cmd@store{mdseries@tt}%
- \fi%
- \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
- \if@tud@univers%
- \if@tud@x@fontspec@enabled%
- \setsansfont{Univers}[\tud@x@fontspec@set@univ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{LMMonoLt10-Regular},%
- FontFace={m}{\updefault}{LMMono10-Regular},%
- FontFace={b}{\updefault}{LMMonoLt10-Bold},%
- FontFace={bx}{\updefault}{LMMonoLt10-Bold},%
- FontFace={eb}{\updefault}{LMMonoLt10-Bold},%
- FontFace={l}{\sldefault}{LMMonoLt10-Oblique},%
- FontFace={m}{\sldefault}{LMMonoSlant10-Regular},%
- FontFace={b}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={bx}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={eb}{\sldefault}{LMMonoLt10-BoldOblique},%
- NFSSFamily=\tud@univers t%
- ]%
- \else%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \fi%
- \ifnum\tud@cdfont@num=\@ne\relax% true
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{b}%
- \else% normalbold
- \renewcommand*\bfdefault{m}%
- \fi%
- \renewcommand*\mddefault{l}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{m}%
- \def\bfseries@sf{m}%
- \def\bfseries@tt{m}%
- \def\mdseries@rm{l}%
- \def\mdseries@sf{l}%
- \def\mdseries@tt{l}%
- \fi%
- \else% heavy
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{eb}%
- \else% normalbold
- \renewcommand*\bfdefault{b}%
- \fi%
- \renewcommand*\mddefault{m}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{b}%
- \def\bfseries@sf{b}%
- \def\bfseries@tt{b}%
- \def\mdseries@rm{m}%
- \def\mdseries@sf{m}%
- \def\mdseries@tt{m}%
- \fi%
- \fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\itdefault{\sldefault}%
+ \tud@cs@store{bfseries@rm}%
+ \tud@cs@store{mdseries@rm}%
+ \tud@cs@store{bfseries@sf}%
+ \tud@cs@store{mdseries@sf}%
+ \tud@cs@store{bfseries@tt}%
+ \tud@cs@store{mdseries@tt}%
\fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@store{rmfamily}%
+ \tud@cs@store{sffamily}%
+ \tud@cs@store{ttfamily}%
+ \fi%
+ \renewcommand*\rmdefault{\sfdefault}%
+ \renewcommand*\updefault{n}%
+ \renewcommand*\itdefault{it}%
+ \renewcommand*\sldefault{sl}%
\renewcommand*\familydefault{\sfdefault}%
\renewcommand*\seriesdefault{\mddefault}%
\renewcommand*\shapedefault{\updefault}%
+ \tud@cdfont@set%
+ \tud@ttfont@set%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@bf}%
+ \edef\mdseries@rm{\tud@cdfont@md}%
+ \edef\bfseries@sf{\tud@cdfont@bf}%
+ \edef\mdseries@sf{\tud@cdfont@md}%
+ \edef\bfseries@tt{\tud@ttfont@bf}%
+ \edef\mdseries@tt{\tud@ttfont@md}%
+ \fi%
+ \let\bfdefault\tud@cdfont@bf%
+ \let\mddefault\tud@cdfont@md%
+ \else%
+ \tud@cs@restore{rmdefault}%
+ \tud@cs@restore{sfdefault}%
+ \tud@cs@restore{ttdefault}%
+ \tud@cs@restore{bfdefault}%
+ \tud@cs@restore{mddefault}%
+ \tud@cs@restore{updefault}%
+ \tud@cs@restore{sldefault}%
+ \tud@cs@restore{itdefault}%
+ \tud@cs@restore{familydefault}%
+ \tud@cs@restore{seriesdefault}%
+ \tud@cs@restore{shapedefault}%
+ \if@tud@x@mweights@enabled%
+ \tud@cs@restore{bfseries@rm}%
+ \tud@cs@restore{mdseries@rm}%
+ \tud@cs@restore{bfseries@sf}%
+ \tud@cs@restore{mdseries@sf}%
+ \tud@cs@restore{bfseries@tt}%
+ \tud@cs@restore{mdseries@tt}%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@restore{rmfamily}%
+ \tud@cs@restore{sffamily}%
+ \tud@cs@restore{ttfamily}%
+ \fi%
\fi%
\if@tud@x@mweights@enabled%
\edef\rmdef@ult{\rmdefault}%
@@ -1594,12 +1798,74 @@
\edef\mddef@ult{\mddefault}%
\edef\famdef@ult{\familydefault}%
\fi%
- \ifundef{\tud@font@math@init}{\tud@font@math@set}{}%
\tud@font@skip@set%
\normalfont\selectfont%
- \tud@layout@process%
+ \tud@cd@process%
\global\@tud@head@font@settrue%
}
+\newcommand*\tud@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdfont@lining%
+ \let\tud@cdfont@fam\tud@cdfont@fam@lf%
+ \else%
+ \let\tud@cdfont@fam\tud@cdfont@fam@osf%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@x@fontspec@set{sf}{\tud@cdfont@fam}%
+ \else%
+ \renewcommand*\sfdefault{\tud@cdfont@fam}%
+ \fi%
+ \tud@cdfont@@set%
+ \fi%
+ \tud@cdfont@wrn%
+}
+\newcommand*\tud@cdfont@md{m}
+\newcommand*\tud@cdfont@bf{b}
+\newcommand*\tud@cdfont@ebf{bx}
+\newcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{sb}%
+ \fi%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{eb}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \fi%
+ }%
+\fi
\newcommand*\tud@font@skip@set{%
\if@tud@relspacing%
\tud@skip@store{smallskipamount}%
@@ -1628,147 +1894,308 @@
\tud@skip@set{belowcaptionskip}{\z@}%
\tud@skip@set{columnsep}{1.1\baselineskip}%
}
-\newcommand*\tud@font@init{%
- \if@tud@x@fontspec@enabled%
- \if@tud@univers%
- \newcommand*\tud@x@fontspec@set@univ{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{Univers Light},%
- FontFace={m}{\updefault}{Univers},%
- FontFace={b}{\updefault}{Univers Bold},%
- FontFace={bx}{\updefault}{Univers Bold},%
- FontFace={eb}{\updefault}{Univers Black},%
- FontFace={l}{\sldefault}{Univers LightOblique},%
- FontFace={m}{\sldefault}{Univers Oblique},%
- FontFace={b}{\sldefault}{Univers BoldOblique},%
- FontFace={bx}{\sldefault}{Univers BoldOblique},%
- FontFace={eb}{\sldefault}{Univers BlackOblique}%
+\newcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={OpenSans-Regular},%
+ FontFace={l}{n}{OpenSans-Light},%
+ FontFace={m}{n}{OpenSans-Regular},%
+ FontFace={sb}{n}{OpenSans-SemiBold},%
+ FontFace={b}{n}{OpenSans-Bold},%
+ FontFace={bx}{n}{OpenSans-Bold},%
+ FontFace={eb}{n}{OpenSans-ExtraBold},%
+ FontFace={l}{it}{OpenSans-LightItalic},%
+ FontFace={m}{it}{OpenSans-Italic},%
+ FontFace={sb}{it}{OpenSans-SemiBoldItalic},%
+ FontFace={b}{it}{OpenSans-BoldItalic},%
+ FontFace={bx}{it}{OpenSans-BoldItalic},%
+ FontFace={eb}{it}{OpenSans-ExtraBoldItalic}%
}%
- \newfontfamily\tud@x@fontspec@fam@univ{Univers}[%
- \tud@x@fontspec@set@univ,NFSSFamily=\tud@univers%
- ]%
- \fi%
- \if@tud@dinbold%
- \newcommand*\tud@x@fontspec@set@din{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{DIN-Bold},%
- FontFace={m}{\updefault}{DIN-Bold},%
- FontFace={b}{\updefault}{DIN-Bold},%
- FontFace={bx}{\updefault}{DIN-Bold},%
- FontFace={eb}{\updefault}{DIN-Bold},%
- FontFace={l}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={m}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={b}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={bx}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={eb}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@osf}{Numbers=OldStyle,\tud@res@a}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \else%
+ \IfFileExists{omliwona.fd}{%
+ \input{omliwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OML/\tud@cdfont@fam@lf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ \csletcs{OML/\tud@cdfont@fam@osf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ }%
+ }{}%
+ \IfFileExists{omsiwona.fd}{%
+ \input{omsiwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OMS/\tud@cdfont@fam@lf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ \csletcs{OMS/\tud@cdfont@fam@osf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ }%
+ }{}%
+ \AtBeginDocument{%
+ \ifcsundef{textrightarrow}{}{%
+ \tud@cs@store{textrightarrow}%
+ \renewrobustcmd*{\textrightarrow}{%
+ {\fontfamily{iwona}\selectfont\tud@cs@use{textrightarrow}}%
+ }%
+ }%
}%
- \newfontfamily\tud@x@fontspec@fam@din{DIN-Bold}[%
- \tud@x@fontspec@set@din,NFSSFamily=\tud@dinbold%
- ]%
- \fi%
- \fi%
- \if@tud@univers%
- \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}}%
- \else%
- \newrobustcmd*\univln{\tud@font@fallback{Univers Light}{md}{up}}%
- \newrobustcmd*\univrn{\tud@font@fallback{Univers}{md}{up}}%
- \newrobustcmd*\univbn{\tud@font@fallback{Univers Bold}{bf}{up}}%
- \newrobustcmd*\univxn{\tud@font@fallback{Univers Black}{bf}{up}}%
- \newrobustcmd*\univls{\tud@font@fallback{Univers LightOblique}{md}{sl}}%
- \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
- \newrobustcmd*\univbs{\tud@font@fallback{Univers BoldOblique}{bf}{sl}}%
- \newrobustcmd*\univxs{\tud@font@fallback{Univers BlackOblique}{bf}{sl}}%
- \fi%
- \if@tud@dinbold%
- \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
- \if@tud@dinboldmath%
- \appto\tud@dinbn{\mathversion{dinbold}}%
- \fi%
- \newrobustcmd*\dinbn{\tud@dinbn}%
+ \fi%
+ \newrobustcmd*\cdfontln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\cdfontrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\cdfontsn{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{n}}
+ \newrobustcmd*\cdfontbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\cdfontxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\cdfontli{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{it}}
+ \newrobustcmd*\cdfontri{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{it}}
+ \newrobustcmd*\cdfontsi{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{it}}
+ \newrobustcmd*\cdfontbi{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{it}}
+ \newrobustcmd*\cdfontxi{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{it}}
\else%
- \newrobustcmd*\tud@dinbn{\sectfont}%
- \newrobustcmd*\dinbn{\tud@font@fallback@wrn{DIN-Bold}\tud@dinbn}%
- \fi%
- \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}%
- \undef\tud@font@init%
-}
-\newcommand*\tud@font@fallback[3]{%
- \tud@font@fallback@wrn{#1}%
- \sffamily\csuse{#2series}\csuse{#3shape}%
-}
-\newcommand*\tud@font@fallback@wrn[1]{%
+ \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up}
+ \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up}
+ \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up}
+ \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up}
+ \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up}
+ \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it}
+ \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it}
+ \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it}
+ \fi%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={Univers},%
+ FontFace={l}{n}{Univers-Light},%
+ FontFace={m}{n}{Univers},%
+ FontFace={b}{n}{Univers-Bold},%
+ FontFace={bx}{n}{Univers-Bold},%
+ FontFace={eb}{n}{Univers-Black},%
+ FontFace={l}{it}{Univers-LightOblique},%
+ FontFace={m}{it}{Univers-Oblique},%
+ FontFace={b}{it}{Univers-BoldOblique},%
+ FontFace={bx}{it}{Univers-BoldOblique},%
+ FontFace={eb}{it}{Univers-BlackOblique}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{sl}}
+ \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{sl}}
+ \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{sl}}
+ \newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{sl}}
+ \else%
+ \tud@cdfont@fallback\univln{Univers-Light}{md}{up}
+ \tud@cdfont@fallback\univrn{Univers}{md}{up}
+ \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up}
+ \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up}
+ \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{sl}
+ \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{sl}
+ \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{sl}
+ \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{sl}
+ \fi%
+ \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}%
+ \newrobustcmd*\cdfontln{\univln}%
+ \newrobustcmd*\cdfontrn{\univrn}%
+ \newrobustcmd*\cdfontsn{\univrn}%
+ \newrobustcmd*\cdfontbn{\univbn}%
+ \newrobustcmd*\cdfontxn{\univxn}%
+ \newrobustcmd*\cdfontli{\univls}%
+ \newrobustcmd*\cdfontri{\univrs}%
+ \newrobustcmd*\cdfontsi{\univrs}%
+ \newrobustcmd*\cdfontbi{\univbs}%
+ \newrobustcmd*\cdfontxi{\univxs}%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+ \if@tud@cdfont@db@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={DIN-Bold},%
+ FontFace={l}{n}{DIN-Bold},%
+ FontFace={m}{n}{DIN-Bold},%
+ FontFace={b}{n}{DIN-Bold},%
+ FontFace={bx}{n}{DIN-Bold},%
+ FontFace={eb}{n}{DIN-Bold},%
+ FontFace={l}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={m}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={b}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={bx}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={eb}{it}{Font=DIN-Bold,FakeSlant=0.15}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@db}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\tud@db{%
+ \usefont{\encodingdefault}{\tud@cdfont@db}{b}{n}%
+ \if@tud@cdmath@active\mathversion{tuddin}\fi%
+ }%
+ \newrobustcmd*\dinbn{\tud@db}%
+ \else%
+ \newrobustcmd*\tud@db{\tud@db@wrn\sectfont}%
+ \newcommand*\tud@db@wrn{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Font `DIN-Bold' is not available and therefore\MessageBreak
+ can not be used for headings%
+ }%
+ \global\let\tud@db@wrn\relax%
+ }%
+ \newrobustcmd*\dinbn{\tud@cdfont@fallback@wrn{DIN-Bold}\sectfont}%
+ \fi%
+ \newcommand*\textdbn{}%
+ \DeclareTextFontCommand\textdbn{\dinbn}%
+ }%
+\fi
+\newcommand*\tud@cdfont@fallback[4]{%
+ \newrobustcmd*#1{%
+ \tud@cdfont@fallback@wrn{#2}%
+ \sffamily\csuse{#3series}\csuse{#4shape}%
+ }%
+}
+\newcommand*\tud@cdfont@fallback@wrn[1]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The requested font `#1' is not available, so\MessageBreak%
- a fallback layout is used%
+ The requested font `#1'\MessageBreak%
+ is not available, a fallback layout is used%
}%
}
\newcommand*\cdfont[1]{%
\tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \csuse{cdfont\@tempc}%
\fi%
}
-\providecommand*\tudfont[1]{\cdfont{#1}}
-\newcommand*\textcdfont[2]{%
+\newcommand*\textcd[2]{%
\tud@cdfont@get{#1}%
- \ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \csuse{textcd\@tempc}{#2}%
\fi%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\cdfont[1]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \fi%
+ }%
+ \renewcommand*\textcd[2]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \fi%
+ }%
+\fi
\newcommand*\tud@cdfont@get[1]{%
\tud@cdfont@trim\@tempa{#1}%
- \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
- \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
- \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
- \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
- \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
- \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{l}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{r}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{s}{\def\@tempc{sn}}{%
+ \ifstr{\@tempa}{b}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{x}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{li}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{il}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{i}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ri}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ir}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{si}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{is}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{bi}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{ib}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{xi}{\def\@tempc{xi}}{%
+ \ifstr{\@tempa}{ix}{\def\@tempc{xi}}{%
\let\@tempc\relax%
\ClassWarning{\TUD@Class@Name}%
{The font `#1' is unknown}%
- }}}}}}}}}}}}}}%
-}
+ }}}}}}}}}}}}}}}}}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@get[1]{%
+ \tud@cdfont@trim\@tempa{#1}%
+ \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \let\@tempc\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+ }%
+\fi
\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
@@ -1776,22 +2203,45 @@
\tud@cdfont@@trim{-}{}%
\tud@cdfont@@trim{_}{}%
\tud@cdfont@@trim{~}{}%
- \tud@cdfont@@trim{ce}{}%
- \tud@cdfont@@trim{ff}{}%
- \tud@cdfont@@trim{univers}{}%
- \tud@cdfont@@trim{60}{65}%
- \tud@cdfont@@trim{light}{45}%
- \tud@cdfont@@trim{regular}{55}%
- \tud@cdfont@@trim{bold}{65}%
- \tud@cdfont@@trim{black}{75}%
- \tud@cdfont@@trim{4545}{45}%
- \tud@cdfont@@trim{5555}{55}%
- \tud@cdfont@@trim{6565}{65}%
- \tud@cdfont@@trim{7575}{75}%
- \tud@cdfont@@trim{italic}{oblique}%
- \tud@cdfont@@trim{slanted}{oblique}%
+ \tud@cdfont@@trim{opensans}{}%
+ \tud@cdfont@@trim{light}{l}%
+ \tud@cdfont@@trim{regular}{r}%
+ \tud@cdfont@@trim{book}{r}%
+ \tud@cdfont@@trim{semibold}{s}%
+ \tud@cdfont@@trim{demi}{s}%
+ \tud@cdfont@@trim{extrabold}{x}%
+ \tud@cdfont@@trim{black}{x}%
+ \tud@cdfont@@trim{bold}{b}%
+ \tud@cdfont@@trim{italic}{i}%
+ \tud@cdfont@@trim{oblique}{i}%
+ \tud@cdfont@@trim{slanted}{i}%
\let#1\@tempa%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@trim[2]{%
+ \protected@edef\@tempa{\trim@spaces{#2}}%
+ \tud@lowerstring{\@tempa}{\@tempa}%
+ \tud@cdfont@@trim{ }{}%
+ \tud@cdfont@@trim{-}{}%
+ \tud@cdfont@@trim{_}{}%
+ \tud@cdfont@@trim{~}{}%
+ \tud@cdfont@@trim{ce}{}%
+ \tud@cdfont@@trim{ff}{}%
+ \tud@cdfont@@trim{univers}{}%
+ \tud@cdfont@@trim{60}{65}%
+ \tud@cdfont@@trim{light}{45}%
+ \tud@cdfont@@trim{regular}{55}%
+ \tud@cdfont@@trim{bold}{65}%
+ \tud@cdfont@@trim{black}{75}%
+ \tud@cdfont@@trim{4545}{45}%
+ \tud@cdfont@@trim{5555}{55}%
+ \tud@cdfont@@trim{6565}{65}%
+ \tud@cdfont@@trim{7575}{75}%
+ \tud@cdfont@@trim{italic}{oblique}%
+ \tud@cdfont@@trim{slanted}{oblique}%
+ \let#1\@tempa%
+ }%
+\fi
\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
@@ -1800,232 +2250,905 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\tud@font@greek@loop[1]{%
- \@for\@tempa:={%
- Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
- }\do{#1{\@tempa}}%
-}
-\newcommand*\tud@font@greek@declare[1]{%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
- {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
- }\@tempb%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
- {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
- }\@tempb%
- \csletcs{tud@#1}{tud@up#1}%
- \advance \@tempcnta by 1%
-}
-\@tempcnta=\z@\relax
-\tud@font@greek@loop\tud@font@greek@declare
-\newcommand*\mv@univers{}
-\newcommand*\mv@universbold{}
-\newcommand*\mv@dinbold{}
-\newcommand*\tud@font@math@init{%
- \if@tud@x@fontspec@enabled\if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} or bool {@tud@dinboldmath}}{%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- It's recommended to load package `fontspec'\MessageBreak%
- with option `no-math', if you want to use the\MessageBreak%
- corporate design fonts in math mode%
- }%
- }%
- }{}%
+\newcommand*\tud@ttfont@set{%
+ \if@tud@ttfont@rb@exist\else\ifnum\tud@ttfont@num=\@ne\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The package `roboto-mono' is missing so the\MessageBreak%
+ typewriter font of package `lmodern' is used%
+ }%
+ \TUDoptions{ttfont=lmodern}%
\fi\fi%
- \if@tud@universmath%
- \DeclareMathVersion{univers}%
- \DeclareMathVersion{universbold}%
- \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
- \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
- \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
- \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathrm}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathrm}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathnormal}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathnormal}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
- \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
- \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%
- \@ifpackageloaded{amsfonts}{%
- \DeclareFontFamily{U}{\tud@univers a}{}%
- \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
- \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
- \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
- \DeclareFontFamily{U}{\tud@univers b}{}%
- \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
- \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
- \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
- \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
- \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
- }{}%
+ \ifcase\tud@ttfont@num\relax% false
+ \let\tud@ttfont@fam\ttdefault%
+ \or% roboto
+ \let\tud@ttfont@fam\tud@ttfont@rb%
+ \or% lmodern
+ \let\tud@ttfont@fam\tud@ttfont@lm%
+ \fi%
+ \ifcase\tud@ttfont@num\relax\else% !false
+ \if@tud@x@fontspec@enabled%
+ \ifx\ttdefault\tud@ttfont@fam\else%
+ \tud@x@fontspec@set{tt}{\tud@ttfont@fam}%
+ \fi%
+ \else%
+ \renewcommand*\ttdefault{\tud@ttfont@fam}%
+ \fi%
+ \fi%
+ \tud@ttfont@@set%
+}
+\newcommand*\tud@ttfont@md{}
+\newcommand*\tud@ttfont@bf{}
+\newcommand*\tud@ttfont@ebf{}
+\newcommand*\tud@ttfont@@set{%
+ \ifcase\tud@ttfont@num\relax%
+ \ifundef{\mdseries@tt}{%
+ \edef\tud@ttfont@md{\tud@cs@use{mddefault}}%
+ }{%
+ \edef\tud@ttfont@md{\mdseries@tt}%
+ }%
+ \ifundef{\bfseries@tt}{%
+ \edef\tud@ttfont@bf{\tud@cs@use{bfdefault}}%
+ }{%
+ \edef\tud@ttfont@bf{\bfseries@tt}%
+ }%
+ \edef\tud@ttfont@ebf{\tud@ttfont@bf}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@md{\tud@cdfont@md}%
+ \renewcommand*\tud@ttfont@bf{\tud@cdfont@bf}%
+ \renewcommand*\tud@ttfont@ebf{\tud@cdfont@ebf}%
+ \else% lmodern
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@ttfont@md{m}%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@bf{m}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \fi%
+ \fi%
\fi%
- \if@tud@dinboldmath%
- \DeclareMathVersion{dinbold}%
- \SetSymbolFont{operators}{dinbold}{OT1}{\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{\mathrm}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathnormal}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathtt}{dinbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{dinbold}{OMS}{lmsy}{b}{n}%
- \fi%
- \@ifpackageloaded{unicode-math}{%
- \let\tud@font@math@set\relax%
- \bool@set@lock{@tud@cdmath}{false}%
- }{%
- \tud@font@greek@check@slanted%
- \tud@font@greek@loop\tud@font@greek@init%
- \tud@font@math@set%
- }%
- \sbox\z@{\tud@dinbn$ $}%
}
-\newcommand*\tud@font@greek@check@slanted{%
- \let\@tempb\relax%
- \let\@tempc\relax%
- \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
- \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
- \@tempswafalse%
- \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
- \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
- \if@tempswa%
- \bool@std@lock{@tud@slantedgreek}{true}%
+\newcommand*\tud@ttfont@init{%
+ \newcommand*\tud@ttfont@rb@scale{0.9}%
+ \if@tud@x@fontspec@enabled%
+ \if@tud@ttfont@rb@exist%
+ \tud@x@fontspec@init{\tud@ttfont@rb}{%
+ Scale={\tud@ttfont@rb@scale},%
+ UprightFont={RobotoMono-Regular},%
+ FontFace={l}{n}{RobotoMono-Light},%
+ FontFace={m}{n}{RobotoMono-Regular},%
+ FontFace={sb}{n}{RobotoMono-Medium},%
+ FontFace={b}{n}{RobotoMono-Bold},%
+ FontFace={bx}{n}{RobotoMono-Bold},%
+ FontFace={eb}{n}{RobotoMono-Bold},%
+ FontFace={l}{it}{RobotoMono-LightItalic},%
+ FontFace={m}{it}{RobotoMono-Italic},%
+ FontFace={sb}{it}{RobotoMono-MediumItalic},%
+ FontFace={b}{it}{RobotoMono-BoldItalic},%
+ FontFace={bx}{it}{RobotoMono-BoldItalic},%
+ FontFace={eb}{it}{RobotoMono-BoldItalic}%
+ }%
+ \fi%
+ \ifx\ttdefault\tud@ttfont@lm\else%
+ \tud@x@fontspec@init{\tud@ttfont@lm}{%
+ UprightFont={LMMono10-Regular},%
+ FontFace={l}{n}{LMMonoLt10-Regular},%
+ FontFace={m}{n}{LMMono10-Regular},%
+ FontFace={b}{n}{LMMonoLt10-Bold},%
+ FontFace={bx}{n}{LMMonoLt10-Bold},%
+ FontFace={l}{it}{LMMonoLt10-Oblique},%
+ FontFace={m}{it}{LMMonoSlant10-Regular},%
+ FontFace={b}{it}{LMMonoLt10-BoldOblique},%
+ FontFace={bx}{it}{LMMonoLt10-BoldOblique}%
+ }%
+ \fi%
+ \else%
+ \if@tud@ttfont@rb@exist%
+ \edef\tud@ttfont@rb@scale{s*[\tud@ttfont@rb@scale]}%
+ \begingroup%
+ \def\tud@res@c##1##2{%
+ \tud@lowerstring\tud@res@a{##1}%
+ \DeclareFontFamily{##1}{\tud@ttfont@rb}{\hyphenchar\font=\m@ne}%
+ \def\tud@res@b####1####2####3{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{n}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{it}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sl}{%
+ <->ssub*\tud@ttfont@rb/####1/it%
+ }{}%
+ \ifbool{##2}{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sc}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scit}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scsl}{%
+ <->ssub*\tud@ttfont@rb/####1/scit%
+ }{}%
+ }{}%
+ }%
+ \tud@res@b{l}{Light}{LightItalic}%
+ \tud@res@b{m}{Regular}{Italic}%
+ \tud@res@b{sb}{Medium}{MediumItalic}%
+ \tud@res@b{b}{Bold}{BoldItalic}%
+ \tud@res@b{bx}{Bold}{BoldItalic}%
+ }%
+ \tud@res@c{OT1}{true}%
+ \tud@res@c{T1}{true}%
+ \ifcsundef{T@LY1}{}{\tud@res@c{LY1}{true}}%
+ \ifcsundef{T@TS1}{}{\tud@res@c{TS1}{false}}%
+ \endgroup%
+ \fi%
\fi%
- \let\tud@font@greek@check@slanted\relax%
}
-\BeforePackage{flexisym}{\tud@font@greek@check@slanted}
-\newcommand*\tud@font@greek@init[1]{%
- \ifcsundef{up#1}{%
- \if@tempswa%
- \csletcs{up#1}{tud@up#1}%
+\newcommand*\tud@if@issymbolfont[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname sym#1\endcsname%
+ {\expandonce\group@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{up#1}{#1}%
+ \aftergroup\@secondoftwo%
\fi%
- }{}%
- \ifcsundef{var#1}{%
- \if@tempswa%
- \csletcs{var#1}{#1}%
+ \endgroup%
+}
+\@onlypreamble\tud@if@issymbolfont
+\newcommand*\tud@if@ismathalphabet[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname\expandafter\@gobble\string#1\space\endcsname%
+ {\expandonce\alpha@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{var#1}{tud@var#1}%
+ \aftergroup\@secondoftwo%
\fi%
+ \endgroup%
+}
+\@onlypreamble\tud@if@ismathalphabet
+\newcommand*\tud@math@loop@greeks@all[1]{%
+ \tud@math@loop@greeks@uc{#1}%
+ \tud@math@loop@greeks@lc{#1}%
+}
+\newcommand*\tud@math@loop@greeks@uc[1]{%
+ \@for\@tempa:={%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@loop@greeks@lc[1]{%
+ \@for\@tempa:={%
+ alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,%
+ mu,nu,xi,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,%
+ varepsilon,vartheta,varpi,varrho,varsigma,varphi%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@declare@lgrgreeks[5]{%
+ \ifundef{\T@LGR}{\DeclareFontEncoding{LGR}{}{}}{}%
+ \tud@if@issymbolfont{tudupgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#4}%
+ }{%
+ \DeclareSymbolFont{tudupgrk}{LGR}{#1}{#2}{#4}%
+ }%
+ \SetSymbolFont{tudupgrk}{bold}{LGR}{#1}{#3}{#4}%
+ \tud@if@issymbolfont{tuditgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#5}%
+ }{%
+ \DeclareSymbolFont{tuditgrk}{LGR}{#1}{#2}{#5}%
+ }%
+ \SetSymbolFont{tuditgrk}{bold}{LGR}{#1}{#3}{#5}%
+}
+\newcommand*\tud@math@map@greeks{%
+ \tud@math@loop@greeks@all\tud@math@map@@greeks%
+ \tud@math@loop@greeks@uc\tud@math@map@@@greeks%
+ \tud@math@supplement@greeks%
+}
+\newcommand*\tud@math@map@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{\csedef{it#1}{\csname\tud@res@a\endcsname}}%
+ }%
+ }{}%
+ \ifcsundef{up#1}{%
+ \ifcsundef{#1up}{}{\csedef{up#1}{\csname#1up\endcsname}}%
+ }{}%
+ \ifcsundef{other#1}{%
+ \ifcsundef{#1other}{}{\csedef{other#1}{\csname#1other\endcsname}}%
}{}%
}
-\newcommand*\tud@font@math@set{%
- \if@atdocument%
- \if@tud@cdmath%
- \if@tud@universmath\else%
- \tud@font@math@missing@wrn{Univers}%
+\newcommand*\tud@math@map@@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \ifcsundef{var#1}{}{\csedef{it#1}{\csname var#1\endcsname}}%
+ }{}%
+ \ifcsundef{up#1}{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{\csedef{up#1}{\csname\tud@res@a\endcsname}}%
+ }{}%
+}
+\newcommand*\tud@math@supplement@greeks{%
+ \begingroup%
+ \newcommand*\tud@math@operators@enc{}%
+ \newcommand*\tud@math@operators@fam{}%
+ \newcommand*\tud@math@letters@enc{}%
+ \newcommand*\tud@math@letters@fam{}%
+ \def\getanddefine@fonts##1##2{%
+ \ifx\symoperators##1%
+ \expandafter\tud@res@a\string##2\@nil%
+ \else\ifx\symletters##1%
+ \expandafter\tud@res@b\string##2\@nil%
+ \fi\fi%
+ }%
+ \def\tud@res@a##1##2/##3/##4\@nil{%
+ \def\tud@math@operators@enc{##2}%
+ \def\tud@math@operators@fam{##3}%
+ }%
+ \def\tud@res@b##1##2/##3/##4\@nil{%
+ \def\tud@math@letters@enc{##2}%
+ \def\tud@math@letters@fam{##3}%
+ }%
+ \tud@cs@use{mv@normal}%
+ \let\tud@res@c\@empty%
+ \ifstr{\tud@math@letters@enc}{\detokenize{OML}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{letters}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@all\tud@res@a%
+ }{}%
+ \ifstr{\tud@math@operators@enc}{\detokenize{OT1}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{operators}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@res@a%
+ }{}%
+ \let\tud@res@a\@empty%
+ \if@tud@lgrgreeks%
+ \IfFileExists{lgr\tud@cs@use{familydefault}.fd}{%
+ \def\tud@res@a{\tud@cs@use{familydefault}}%
+ }{%
+ \IfFileExists{lgr\tud@math@letters@fam.fd}{%
+ \let\tud@res@a\tud@math@letters@fam%
+ }{%
+ \IfFileExists{lgr\tud@math@operators@fam.fd}{%
+ \let\tud@res@a\tud@math@operators@fam%
+ }{}%
+ }%
+ }%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@c%
+ \edef\noexpand\tud@res@a{\tud@res@a}%
+ }%
+ \tud@res@a%
+ \ifx\tud@res@a\@empty\else%
+ \tud@math@declare@lgrgreeks{\tud@res@a}%
+ {\tud@cs@use{mddefault}}{\tud@cs@use{bfdefault}}%
+ {\tud@cs@use{updefault}}{\tud@cs@use{itdefault}}%
+ \let\tud@res@c\@empty%
+ \def\tud@res@b##1##2{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{tuditgrk}{##2}%
+ }%
+ }{}%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{tudupgrk}{##2}%
+ }%
+ }{}%
+ }%
+ \tud@res@b{Gamma}{71}%
+ \tud@res@b{Delta}{68}%
+ \tud@res@b{Theta}{74}%
+ \tud@res@b{Lambda}{76}%
+ \tud@res@b{Xi}{88}%
+ \tud@res@b{Pi}{80}%
+ \tud@res@b{Sigma}{83}%
+ \tud@res@b{Upsilon}{85}%
+ \tud@res@b{Phi}{70}%
+ \tud@res@b{Psi}{89}%
+ \tud@res@b{Omega}{87}%
+ \tud@res@b{alpha}{97}%
+ \tud@res@b{beta}{98}%
+ \tud@res@b{gamma}{103}%
+ \tud@res@b{delta}{100}%
+ \tud@res@b{epsilon}{101}%
+ \tud@res@b{zeta}{122}%
+ \tud@res@b{eta}{104}%
+ \tud@res@b{theta}{106}%
+ \tud@res@b{iota}{105}%
+ \tud@res@b{kappa}{107}%
+ \tud@res@b{lambda}{108}%
+ \tud@res@b{mu}{109}%
+ \tud@res@b{nu}{110}%
+ \tud@res@b{xi}{120}%
+ \tud@res@b{pi}{112}%
+ \tud@res@b{rho}{114}%
+ \tud@res@b{sigma}{115}%
+ \tud@res@b{tau}{116}%
+ \tud@res@b{upsilon}{117}%
+ \tud@res@b{phi}{102}%
+ \tud@res@b{chi}{113}%
+ \tud@res@b{psi}{121}%
+ \tud@res@b{omega}{119}%
+ \tud@res@c%
+ \fi%
+}
+\newcommand*\tud@math@checkslanted@greeks{%
+ \begingroup%
+ \def\tud@res@c{%
+ \tud@if@v@lower{2.06}{%
+ \TUD@key@preset{slantedgreek}{standard}%
+ }{%
+ \TUD@key@preset{slantedgreek}{true}%
+ }%
+ }%
+ \@tud@res@swafalse%
+ \ifcsdef{upalpha}{%
+ \ifx\upalpha\alpha%
+ \@tud@res@swatrue%
\fi%
- \if@tud@dinboldmath\else%
- \tud@font@math@missing@wrn{DIN-Bold}%
+ }{}%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{false}}%
+ \else%
+ \ifcsdef{itGamma}{%
+ \ifx\itGamma\Gamma%
+ \@tud@res@swatrue%
+ \fi%
+ }{%
+ \let\tud@res@a\relax%
+ \let\tud@res@b\relax%
+ \DeclareMathSymbol{\tud@res@a}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\tud@res@b}{\mathord}{letters}{0}%
+ \ifx\Gamma\tud@res@a\relax\@tud@res@swatrue\fi%
+ \ifx\Gamma\tud@res@b\relax\@tud@res@swatrue\fi%
+ }%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{true}}%
\fi%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+ \fi%
+ \edef\tud@res@c{\endgroup\expandonce\tud@res@c}%
+ \tud@res@c%
+}
+\newcommand*\mv@tudnormal{}
+\newcommand*\mv@tudbold{}
+\newcommand*\mv@tuddin{}
+\AfterPackage*{mathastext}{%
+ \CheckCommand*\MTversion{\@ifstar\MTversion@s\MTversion@}%
+ \CheckCommand*\MTversion@s[1]{\mathversion{#1}\MTversion@@{#1}}%
+ \newrobustcmd*\tud@mathversion[1]{%
+ \tud@cs@use{mathversion}{#1}%
+ \if@tud@cdmath@active%
+ \ifstr{#1}{normal}{%
+ \MTversion@@{tudnormal}%
+ }{%
+ \ifstr{#1}{bold}{%
+ \MTversion@@{tudbold}%
+ }{}%
}%
\fi%
- \fi%
- \if@tud@universmath%
- \if@tud@cdmath%
- \tud@cmd@store{mv@normal}%
- \tud@cmd@store{mv@bold}%
- \let\mv@normal\mv@univers%
- \let\mv@bold\mv@universbold%
- \tud@font@greek@loop\tud@font@greek@set%
+ }%
+ \AtEndPreamble{%
+ \tud@cs@store{mathversion}%
+ \tud@cs@letltx{mathversion}{tud@mathversion}%
+ }%
+}
+\newcommand*\tud@cdmath@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdoldfont@active\else%
+ \if@tud@cdmath@active%
+ \def\tud@res@a##1{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `##1'\MessageBreak%
+ manually when option `cdmath=true' is active as\MessageBreak%
+ TUD-Script uses package `mathastext' internally\MessageBreak%
+ with a specific set of required options for the\MessageBreak%
+ math font setup%
+ }%
+ }%
+ \@ifpackageloaded{sansmath}{%
+ \tud@res@a{sansmath}%
+ }{}%
+ \@ifpackageloaded{mathastext}{%
+ \tud@res@a{mathastext}%
+ }{}%
+ \fi%
+ \PassOptionsToPackage{%
+ subdued,defaultmathsizes,nosmalldelims,%
+ defaultrm,defaultbf,defaultit,defaultsf,defaulttt,%
+ noequal,nohbar%
+ }{mathastext}%
+ \RequirePackage{mathastext}[2018/08/22]%
+ \tud@math@declare@lgrgreeks{cmr}{m}{bx}{n}{it}%
+ \fi%
+ \providecommand*\MTDeclareVersion[6][]{\DeclareMathVersion{##2}}%
+ \providecommand*\MTversion@@[1]{}%
+ \tud@cdmath@@init{\tud@cdfont@fam@lf}{\tud@ttfont@fam}%
+ \if@tud@cdoldfont@active%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@cdmath@declare@greek@uc%
+ \tud@math@loop@greeks@lc\tud@cdmath@declare@greek@lc%
\else%
- \tud@cmd@restore{mv@normal}%
- \tud@cmd@restore{mv@bold}%
- \tud@font@greek@loop\tud@font@greek@reset%
+ \tud@cdmath@declare@greek@lgr%
\fi%
+ \tud@cdmath@declare@char{*}{\mathbin}{symbols}{"03}%
+ \tud@cdmath@also@greeks%
+ \else%
+ \let\mv@tudnormal\mv@normal%
+ \let\mv@tudbold\mv@bold%
+ \if@tud@cdoldfont@active%
+ \let\mv@tuddin\mv@bold%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@cdmath@@init[2]{%
+ \tud@cdfont@@set%
+ \tud@ttfont@@set%
+ \if@tud@cdoldfont@active%
+ \DeclareMathVersion{tudnormal}%
+ \DeclareMathVersion{tudbold}%
+ \DeclareMathVersion{tuddin}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetSymbolFont{letters}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetSymbolFont{letters}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{symbols}{tuddin}{OMS}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}%
+ \SetMathAlphabet{\mathnormal}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetMathAlphabet{\mathnormal}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathnormal}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathbold}{tudbold}{OML}{#1}{\tud@cdfont@ebf}{sl}%
+ \SetMathAlphabet{\mathbold}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ }{}%
+ \else%
+ \MTDeclareVersion[it]{tudnormal}{T1}{#1}{\tud@cdfont@md}{n}%
+ \MTDeclareVersion[it]{tudbold}{T1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{iwona}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{letters}{tudbold}{OML}{iwona}{\tud@cdfont@bf}{it}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tudupgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{tuditgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{tudupgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tuditgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{it}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{T1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathbold}{tudbold}{T1}{#1}{\tud@cdfont@ebf}{it}%
+ }{}%
+ \fi%
+ \SetMathAlphabet{\mathrm}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathrm}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudnormal}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudbold}{OT1}{#1}{\tud@cdfont@ebf}{n}%
+ \SetMathAlphabet{\mathsf}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathsf}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathit}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{it}%
+ \SetMathAlphabet{\mathit}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathtt}{tudnormal}{OT1}{#2}{\tud@ttfont@md}{n}%
+ \SetMathAlphabet{\mathtt}{tudbold}{OT1}{#2}{\tud@ttfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathrm}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathbf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathsf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathit}{tuddin}{OT1}{\tud@cdfont@db}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{tuddin}{OT1}{#2}{\tud@ttfont@ebf}{n}%
\fi%
- \if@tud@slantedgreek%
- \tud@font@greek@loop\tud@font@greek@slanted%
+ \IfFileExists{ueus.fd}{%
+ \SetMathAlphabet{\mathcal}{tudnormal}{U}{eus}{m}{n}%
+ \SetMathAlphabet{\mathcal}{tudbold}{U}{eus}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}%
+ \fi%
+ }{}%
+ \tud@if@ismathalphabet{\mathfrak}{%
+ \IfFileExists{ueuf.fd}{%
+ \SetMathAlphabet{\mathfrak}{tudnormal}{U}{euf}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{tudbold}{U}{euf}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}%
+ \fi%
+ }{}%
+ }{}%
+ \AtBeginDocument{%
+ \@tud@res@swafalse%
+ \tud@if@issymbolfont{AMSa}{\@tud@res@swatrue}{}%
+ \tud@if@issymbolfont{AMSb}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \if@tud@cdoldfont@active%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf a}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf a}{m}{n}{<->cmbras10}{}%
+ \SetSymbolFont{AMSa}{tudnormal}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \SetSymbolFont{AMSa}{tudbold}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf b}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf b}{m}{n}{<->cmbrbs10}{}%
+ \SetSymbolFont{AMSb}{tudnormal}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \SetSymbolFont{AMSb}{tudbold}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \else%
+ \@ifpackageloaded{mdsymbol}{}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassInfoNoLine{\TUD@Class@Name}%
+ {%
+ You may load package `mdsymbol' in order to\MessageBreak%
+ get symbols matching the used math font%
+ }%
+ }%
+ }%
+ \fi%
+ \fi%
+ \tud@if@issymbolfont{legacymaths}{%
+ \SetSymbolFont{legacymaths}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{legacymaths}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetSymbolFont{legacymaths}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \fi%
+ }{}%
+ \if@tud@cdoldfont@active%
+ \if@tud@cdmath@active%
+ \sbox\z@{\mathversion{tudnormal}$ $\mathversion{tuddin}$ $}%
+ \fi%
+ \fi%
+ }%
+}
+\newcommand*\tud@cdmath@symb@list{}
+\newcommand*\tud@cdmath@declare@symb[4]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@cdmath@declare@alias[2]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \ifcsdef{tud@cdmath@symbol@#2}{%
+ \csedef{tud@cdmath@symbol@#1}{\csname tud@cdmath@symbol@#2\endcsname}%
+ }{}%
+}
+\newcommand*\tud@cdmath@char@list{}
+\newcommand*\tud@cdmath@declare@char[4]{%
+ \listeadd\tud@cdmath@char@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@DeclareMathSymbol[4]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareMathSymbol%
+ {\csname tud@cdmath@symbol@#1\endcsname}%
+ {\etex@unexpanded{#2}}{#3}{#4}%
+ }%
+ \tud@res@a%
+}
+\newtoks\tud@cdmath@symbols@toks
+\newcommand*\tud@cdmath@symbols@set{%
+ \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdmath@symbols@toks}{%
+ \forlistloop\tud@cdmath@symbols@set@cmd\tud@cdmath@symb@list%
+ \forlistloop\tud@cdmath@symbols@set@chr\tud@cdmath@char@list%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cdmath@symbols@toks{}}%
+ }{}%
+}
+\newcommand*\tud@cdmath@symbols@set@cmd[1]{%
+ \ifcsdef{#1}{%
+ \tud@cs@store{#1}%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cs@restore{#1}}%
+ }{%
+ \addto@hook\tud@cdmath@symbols@toks{\csundef{#1}}%
+ }%
+ \ifcsdef{tud@cdmath@symbol@#1}{%
+ \tud@cs@letltx{#1}{tud@cdmath@symbol@#1}%
+ }{%
+ \csundef{#1}%
+ }%
+}
+\newcommand*\tud@cdmath@symbols@set@chr[1]{%
+ \edef\tud@res@a{\global\mathcode`#1=\the\mathcode`#1\relax}%
+ \eaddto@hook\tud@cdmath@symbols@toks{\tud@res@a}%
+ \begingroup%
+ \edef\tud@res@a{\expandafter\meaning\csname tud@cdmath@symbol@#1\endcsname}%
+ \def\tud@res@b##1"##2\@nil{"##2}%
+ \edef\tud@res@c{\expandafter\tud@res@b\tud@res@a\@nil}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \global\mathcode`#1=\tud@res@c%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cdmath@symbols@reset{\the\tud@cdmath@symbols@toks}
+\newcommand*\tud@cdmath@declare@greek@uc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{operators}{\the\tud@res@cnt}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \listeadd\tud@cdmath@symb@list{up#1}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lgr{%
+ \tud@cdmath@declare@greek@@lgr{Gamma}{71}%
+ \tud@cdmath@declare@greek@@lgr{Delta}{68}%
+ \tud@cdmath@declare@greek@@lgr{Theta}{74}%
+ \tud@cdmath@declare@greek@@lgr{Lambda}{76}%
+ \tud@cdmath@declare@greek@@lgr{Xi}{88}%
+ \tud@cdmath@declare@greek@@lgr{Pi}{80}%
+ \tud@cdmath@declare@greek@@lgr{Sigma}{83}%
+ \tud@cdmath@declare@greek@@lgr{Upsilon}{85}%
+ \tud@cdmath@declare@greek@@lgr{Phi}{70}%
+ \tud@cdmath@declare@greek@@lgr{Psi}{89}%
+ \tud@cdmath@declare@greek@@lgr{Omega}{87}%
+ \tud@cdmath@declare@greek@@lgr{alpha}{97}%
+ \tud@cdmath@declare@greek@@lgr{beta}{98}%
+ \tud@cdmath@declare@greek@@lgr{gamma}{103}%
+ \tud@cdmath@declare@greek@@lgr{delta}{100}%
+ \tud@cdmath@declare@greek@@lgr{epsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{zeta}{122}%
+ \tud@cdmath@declare@greek@@lgr{eta}{104}%
+ \tud@cdmath@declare@greek@@lgr{theta}{106}%
+ \tud@cdmath@declare@greek@@lgr{iota}{105}%
+ \tud@cdmath@declare@greek@@lgr{kappa}{107}%
+ \tud@cdmath@declare@greek@@lgr{lambda}{108}%
+ \tud@cdmath@declare@greek@@lgr{mu}{109}%
+ \tud@cdmath@declare@greek@@lgr{nu}{110}%
+ \tud@cdmath@declare@greek@@lgr{xi}{120}%
+ \tud@cdmath@declare@greek@@lgr{pi}{112}%
+ \tud@cdmath@declare@greek@@lgr{rho}{114}%
+ \tud@cdmath@declare@greek@@lgr{sigma}{115}%
+ \tud@cdmath@declare@greek@@lgr{tau}{116}%
+ \tud@cdmath@declare@greek@@lgr{upsilon}{117}%
+ \tud@cdmath@declare@greek@@lgr{phi}{102}%
+ \tud@cdmath@declare@greek@@lgr{chi}{113}%
+ \tud@cdmath@declare@greek@@lgr{psi}{121}%
+ \tud@cdmath@declare@greek@@lgr{omega}{119}%
+ \tud@cdmath@declare@greek@@lgr{varepsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{vartheta}{106}%
+ \tud@cdmath@declare@greek@@lgr{varpi}{119}%
+ \tud@cdmath@declare@greek@@lgr{varrho}{114}%
+ \tud@cdmath@declare@greek@@lgr{varsigma}{99}%
+ \tud@cdmath@declare@greek@@lgr{varphi}{102}%
+}
+\newcommand*\tud@cdmath@declare@greek@@lgr[2]{%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{tudupgrk}{#2}%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{tuditgrk}{#2}%
+}
+\newcommand*\tud@cdmath@also@greeks{%
+ \tud@math@loop@greeks@all\tud@cdmath@also@@greeks%
+ \tud@math@loop@greeks@uc\tud@cdmath@also@@@greeks%
+}
+\newcommand*\tud@cdmath@also@@greeks[1]{%
+ \tud@cdmath@declare@alias{#1}{it#1}%
+ \tud@cdmath@declare@alias{other#1}{up#1}%
+ \ifcsundef{#1up}{}{%
+ \tud@cdmath@declare@alias{#1up}{up#1}%
+ }%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{it#1}%
+ }%
+ }%
+ \ifcsundef{#1other}{}{%
+ \tud@cdmath@declare@alias{#1other}{other#1}%
+ }%
+}
+\newcommand*\tud@cdmath@also@@@greeks[1]{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{up#1}%
+ }%
+ \ifcsundef{var#1}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{var#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@set{%
+ \if@tud@cdmath@active%
+ \tud@cdmath@wrn%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \tud@cdmath@symbols@set%
+ \ifcase\tud@slantedgreek@num\relax% upright
+ \tud@math@loop@greeks@all\tud@math@upright@greeks%
+ \or% slanted
+ \tud@math@loop@greeks@all\tud@math@slanted@greeks%
+ \or% standard
+ \tud@math@loop@greeks@uc\tud@math@upright@greeks%
+ \tud@math@loop@greeks@lc\tud@math@slanted@greeks%
+ \fi%
\else%
- \tud@font@greek@loop\tud@font@greek@upright%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \tud@cdmath@symbols@reset%
\fi%
\mathversion{normal}%
}
-\newcommand*\tud@font@greek@set[1]{%
- \tud@cmd@store{#1}%
- \tud@cmd@store{up#1}%
- \tud@cmd@store{var#1}%
- \csletcs{#1}{tud@#1}%
- \csletcs{up#1}{tud@up#1}%
- \csletcs{var#1}{tud@var#1}%
-}
-\newcommand*\tud@font@greek@reset[1]{%
- \tud@cmd@restore{#1}%
- \tud@cmd@restore{up#1}%
- \tud@cmd@restore{var#1}%
-}
-\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
-\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
+\newcommand*\tud@math@upright@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{up#1}%
+ \csletcs{other#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@slanted@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{it#1}%
+ \csletcs{other#1}{up#1}%
+ }%
+}
\AtEndPreamble{%
\if@tud@x@mweights@enabled%
\ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}%
- \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
- \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}%
+ \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
\ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
- \tud@font@check%
- \tud@font@init%
+ \tud@cdfont@check%
+ \tud@cdfont@init%
+ \tud@ttfont@init%
+ \tud@cdmath@init%
+ \if@tud@x@bm@requested%
+ \UnPreventPackageFromLoading{bm}%
+ \if@tud@cdmath@active%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \fi%
+ \RequirePackage{bm}[2017/01/16]%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \fi%
\if@tud@x@siunitx@enabled%
- \ifcase\tud@cdfont@num\relax% false
+ \if@tud@cdfont@active%
+ \if@tud@cdfont@heavy%
+ \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
+ \else%
+ \def\tud@reserved{\TUDoptions{cdfont=true}}%
+ \fi%
+ \else%
\def\tud@reserved{\TUDoptions{cdfont=false}}%
- \or% true
- \def\tud@reserved{\TUDoptions{cdfont=true}}%
- \or% heavy
- \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
\fi%
- \expandafter\AtBeginDocument\expandafter{\tud@reserved}%
+ \expandafter\AfterEndPreamble\expandafter{\tud@reserved}%
\TUDoptions{cdfont=false}%
\fi%
\tud@font@set%
- \if@tud@x@bm@requested%
- \tud@font@math@init%
- \UnPreventPackageFromLoading{bm}%
- \RequirePackage{bm}[2017/01/16]%
- \fi%
- \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}%
+ \AtBeginDocument{%
+ \tud@math@map@greeks%
+ \tud@math@checkslanted@greeks%
+ \tud@math@set%
+ }%
}
-\newrobustcmd*\ifdin{%
- \ifx\f@family\tud@dinbold%
- \expandafter\@firstoftwo%
- \else%
- \expandafter\@secondoftwo%
+\newcommand*\tud@head@font@light{}
+\newcommand*\tud@head@font@bold{}
+\newcommand*\tud@head@font@set{%
+ \if@tud@cdfont@active\ifcase\tud@head@font@num\relax% false
+ \if@tud@head@font@set%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use `cdhead=false'\MessageBreak%
+ together with `cdfont=true'%
+ }%
+ \fi%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdhead=heavy}%
+ \else%
+ \TUDoptions{cdhead=true}%
+ \fi%
+ \fi\fi%
+ \if@tud@head@font@set%
+ \if@tud@x@mweights@enabled%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mdseries@sf}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfseries@sf}{\updefault}{\tud@head@fontsize}%
+ \else%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
+ \fi%
+ \ifcase\tud@head@font@num\relax\else% true/heavy
+ \tud@head@cdfont@set%
+ \fi%
+ \global\@tud@head@font@setfalse%
+ \global\@tud@head@text@settrue%
\fi%
}
-\newcommand*\tud@sec@fontface[1][]{%
- \if@tud@cdfont@din%
- \tud@dinbn\tud@raggedright%
- \else%
- \sectfont#1%
+\newcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{sb}{n}{\tud@head@fontsize}%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \fi%
\fi%
}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
-}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \fi%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \fi%
+ }%
+\fi
%%% From File: tudscr-fields.dtx
+\newcommand*\getfield[2][\@firstofone]{%
+ \begingroup%
+ \def\tud@res@b{#1}%
+ \ifcsdef{@@#2}{%
+ \letcs\tud@res@a{@@#2}%
+ }{%
+ \ifcsdef{@#2}{%
+ \letcs\tud@res@a{@#2}%
+ }{%
+ \let\tud@res@a\@empty%
+ \ClassWarning{\TUD@Class@Name}{%
+ The internal field `@#2' does not exist%
+ }%
+ }%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@b{\expandonce\tud@res@a}%
+ }%
+ \tud@res@a%
+}
\newcommand*\@faculty{}
\newcommand*\@department{}
\newcommand*\@institute{}
@@ -2087,11 +3210,35 @@
}
\newcommand*\@authormore{}
\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\newcommand*\@emailaddress{}
+\newrobustcmd*\emailaddress{%
+ \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}%
+}
+\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}}
+\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}}
+\AfterPackage*{hyperref}{%
+ \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
+ \gdef\@emailaddress{%
+ \begingroup%
+ \urlstyle{same}%
+ \hypersetup{#1}%
+ \href{mailto:#2}{\nolinkurl{#2}}%
+ \endgroup%
+ }%
+ }%
+}
\newcommand*\@course{}
\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces}
\newcommand*\@discipline{}
\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces}
-\providecommand*\publisher[1]{\publishers{#1}}
+\newcommand*\@matriculationnumber{}
+\newrobustcmd*\matriculationnumber[1]{%
+ \gdef\@matriculationnumber{#1}\ignorespaces%
+}
+\newcommand*\@matriculationyear{}
+\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
+\newcommand*\@placeofbirth{}
+\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
\newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}}
@@ -2107,8 +3254,11 @@
\let\footnote\@gobble%
\tud@lowerstring{\@tempa}{#2}%
\ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
- \global\let\@tempa\@tempa%
- \endgroup%
+ \protected@edef\@tempa{%
+ \endgroup%
+ \def\noexpand\@tempa{\@tempa}%
+ }%
+ \@tempa%
\ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{%
\ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{%
\ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{%
@@ -2134,9 +3284,9 @@
Field `thesis' is overwritten by `subject'%
}%
\fi%
- \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{true}%
+ \TUD@key@preset{subjectthesis}{true}%
}{%
- \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{false}%
+ \TUD@key@preset{subjectthesis}{false}%
}%
\ifx\tud@thanks\relax%
\gdef\@thesis{#2}%
@@ -2146,9 +3296,10 @@
\protected@xdef\@@thesis{\trim@spaces{#2}}%
}
\newcommand*\@graduation{}
-\newcommand*\@@graduation{}
+\newcommand*\@graduationabbreviation{}
\newcommand*\graduation[2][]{%
- \ifxblank{#1}{\gdef\@@graduation{}}{\gdef\@@graduation{(#1)}}%
+ \gdef\@graduationabbreviation{}%
+ \ifxblank{#1}{}{\gdef\@graduationabbreviation{(#1)}}%
\gdef\@graduation{#2}%
}
\newcommand*\@professor{}
@@ -2163,14 +3314,6 @@
\newcommand*\referee[1]{\gdef\@referee{#1}}
\newcommand*\@advisor{}
\newcommand*\advisor[1]{\gdef\@advisor{#1}}
-\newcommand*\@matriculationnumber{}
-\newrobustcmd*\matriculationnumber[1]{%
- \gdef\@matriculationnumber{#1}\ignorespaces%
-}
-\newcommand*\@matriculationyear{}
-\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
-\newcommand*\@placeofbirth{}
-\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
\newlength\tud@len@signatureskip
\setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex}
\newcommand*\@confirmationclosing{%
@@ -2188,8 +3331,15 @@
\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\gdef\@place{#1}}
-\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
-\newcommand*\tud@x@isodate@printdate[2]{%
+\providecommand*\publisher[1]{\publishers{#1}}
+\TUD@UnwindPackage{isodate}{%
+ \@ifpackageloaded{datetime2}{%
+ \providecommand*\printdate[1]{\DTMDate{#1}}%
+ }{%
+ \providecommand*\printdate[1]{#1}%
+ }%
+}
+\newcommand*\tud@printdate[2]{%
\ifx\today#2\relax%
\gdef#1{#2}%
\else%
@@ -2222,38 +3372,39 @@
}{\tud@date@set}%
}
\newcommand*\tud@date@set[2][]{%
- \TUD@parameter@set{date}{#1}%
- \tud@x@isodate@printdate{\@date}{#2}%
+ \tud@toks@{#1}%
+ \TUD@parameter@set{date}{\the\tud@toks@}%
+ \tud@printdate{\@date}{#2}%
\global\let\tud@date@check\relax%
}
-\newcommand*\tud@date@pre{}
-\newcommand*\tud@date@app{}
+\newcommand*\@beforedate{}
+\newcommand*\@afterdate{}
\TUD@parameter@family{date}{%
- \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@def{before}{\def\@beforedate{#1}}%
\TUD@parameter@let{pre}{before}%
\TUD@parameter@let{prefix}{before}%
- \TUD@parameter@def{after}{\def\tud@date@app{#1}}%
+ \TUD@parameter@def{after}{\def\@afterdate{#1}}%
\TUD@parameter@let{app}{after}%
\TUD@parameter@let{suffix}{after}%
- \TUD@parameter@def{place}{\def\@place{#1}\def\tud@date@pre{#1,}}%
+ \TUD@parameter@def{place}{\def\@place{#1}\def\@beforedate{#1,}}%
\TUD@parameter@handler@value{after}%
}
\newcommand*\tud@date@print{%
\ifx\@date\@empty\else%
- \ifx\tud@date@pre\@empty\else%
- \expandafter\trim@spaces@noexp\expandafter{\tud@date@pre}\nobreakspace%
+ \ifx\@beforedate\@empty\else%
+ \expandafter\trim@spaces@noexp\expandafter{\@beforedate}\nobreakspace%
\fi%
\@date%
- \ifx\tud@date@app\@empty\else%
- \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\tud@date@app}%
+ \ifx\@afterdate\@empty\else%
+ \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\@afterdate}%
\fi%
\fi%
}
\newcommand*\@defensedate{}
-\newcommand*\defensedate[1]{\tud@x@isodate@printdate{\@defensedate}{#1}}
+\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
\newrobustcmd*\dateofbirth[1]{%
- \tud@x@isodate@printdate{\@dateofbirth}{#1}\ignorespaces%
+ \tud@printdate{\@dateofbirth}{#1}\ignorespaces%
}
\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
@@ -2267,8 +3418,8 @@
}%
\begingroup%
\let\and\relax%
- \def\newline{}%
- \def\\{}%
+ \let\newline\@empty%
+ \let\\\@empty%
\edef\@tempa{\csname#1\endcsname\and}%
\expandafter\endgroup%
\expandafter\tud@multiple@@split\@tempa\relax%
@@ -2282,7 +3433,7 @@
\@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
- \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cs@store{@##1}}{}}%
\letcs\@tempb{tud@split#1@list}%
\let\and\relax%
\expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
@@ -2295,7 +3446,7 @@
\newcommand*\tud@multiple@fields@restore[1]{%
\def\@tempa##1{%
\ifcsdef{@##1}{%
- \tud@cmd@restore{@##1}%
+ \tud@cs@restore{@##1}%
\global\csletcs{@##1}{@##1}%
}{}%
}%
@@ -2328,13 +3479,13 @@
}
\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
- authormore,course,discipline,%
+ authormore,course,discipline,emailaddress,%
matriculationyear,enrolmentyear,%
matriculationnumber,studentid,matriculationid,%
placeofbirth,birthplace,dateofbirth,birthday,%
}
-%%% From File: tudscr-locale.dtx
-\newcommand*\tud@locale@define[1]{%
+%%% From File: tudscr-localization.dtx
+\newcommand*\tud@localization@define[1]{%
\providecommand*#1{%
\ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
@@ -2348,48 +3499,49 @@
}%
}%
}
-\tud@locale@define{\graduationtext}
-\tud@locale@define{\refereename}
-\tud@locale@define{\refereeothername}
-\tud@locale@define{\advisorname}
-\tud@locale@define{\advisorothername}
-\tud@locale@define{\supervisorname}
-\tud@locale@define{\supervisorothername}
-\tud@locale@define{\professorname}
-\tud@locale@define{\professorothername}
-\tud@locale@define{\datetext}
-\tud@locale@define{\dateofbirthtext}
-\tud@locale@define{\placeofbirthtext}
-\tud@locale@define{\defensedatetext}
-\tud@locale@define{\matriculationyearname}
-\tud@locale@define{\matriculationnumbername}
-\tud@locale@define{\coverpagename}
-\tud@locale@define{\titlepagename}
-\tud@locale@define{\titlename}
-\tud@locale@define{\confirmationname}
-\tud@locale@define{\confirmationtext}
-\tud@locale@define{\blockingname}
-\tud@locale@define{\blockingtext}
-\tud@locale@define{\coursename}
-\tud@locale@define{\disciplinename}
-\tud@locale@define{\listingname}
-\tud@locale@define{\listlistingname}
-\tud@locale@define{\dissertationname}
-\tud@locale@define{\diplomathesisname}
-\tud@locale@define{\masterthesisname}
-\tud@locale@define{\bachelorthesisname}
-\tud@locale@define{\studentthesisname}
-\tud@locale@define{\studentresearchname}
-\tud@locale@define{\projectpapername}
-\tud@locale@define{\seminarpapername}
-\tud@locale@define{\termpapername}
-\tud@locale@define{\researchname}
-\tud@locale@define{\logname}
-\tud@locale@define{\internshipname}
-\tud@locale@define{\reportname}
+\tud@localization@define{\graduationtext}
+\tud@localization@define{\refereename}
+\tud@localization@define{\refereeothername}
+\tud@localization@define{\advisorname}
+\tud@localization@define{\advisorothername}
+\tud@localization@define{\supervisorname}
+\tud@localization@define{\supervisorothername}
+\tud@localization@define{\professorname}
+\tud@localization@define{\professorothername}
+\tud@localization@define{\datetext}
+\tud@localization@define{\dateofbirthtext}
+\tud@localization@define{\placeofbirthtext}
+\tud@localization@define{\defensedatetext}
+\tud@localization@define{\matriculationyearname}
+\tud@localization@define{\matriculationnumbername}
+\tud@localization@define{\coverpagename}
+\tud@localization@define{\titlepagename}
+\tud@localization@define{\titlename}
+\tud@localization@define{\confirmationname}
+\tud@localization@define{\confirmationtext}
+\tud@localization@define{\blockingname}
+\tud@localization@define{\blockingtext}
+\tud@localization@define{\coursename}
+\tud@localization@define{\disciplinename}
+\tud@localization@define{\listingname}
+\tud@localization@define{\listlistingname}
+\tud@localization@define{\dissertationname}
+\tud@localization@define{\diplomathesisname}
+\tud@localization@define{\masterthesisname}
+\tud@localization@define{\bachelorthesisname}
+\tud@localization@define{\studentthesisname}
+\tud@localization@define{\studentresearchname}
+\tud@localization@define{\projectpapername}
+\tud@localization@define{\seminarpapername}
+\tud@localization@define{\termpapername}
+\tud@localization@define{\researchname}
+\tud@localization@define{\logname}
+\tud@localization@define{\internshipname}
+\tud@localization@define{\reportname}
\newcommand*\tud@ifin@and[1]{%
\begingroup%
\let\and\relax%
+ \robustify\\%
\protected@edef\@tempb{#1}%
\def\@tempa##1\and##2\relax{%
\IfArgIsEmpty{##2}{%
@@ -2401,13 +3553,15 @@
\expandafter\@tempa\@tempb\and\relax%
\endgroup
}
-\newcommand*\tud@locale@german{%
+\newcommand*\tud@localization@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
-\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}%
-\tud@locale@german{\refereename}{%
+\tud@localization@german{\graduationtext}{%
+ zur Erlangung des akademischen Grades%
+}%
+\tud@localization@german{\refereename}{%
\tud@ifin@and{\@referee}{%
\ifx\refereeothername\@empty%
Gutachter%
@@ -2416,8 +3570,8 @@
\fi%
}{Gutachter}%
}%
-\tud@locale@german{\refereeothername}{Zweitgutachter}%
-\tud@locale@german{\advisorname}{%
+\tud@localization@german{\refereeothername}{Zweitgutachter}%
+\tud@localization@german{\advisorname}{%
\tud@ifin@and{\@advisor}{%
\ifx\advisorothername\@empty%
Fachreferenten%
@@ -2426,8 +3580,8 @@
\fi%
}{Fachreferent}%
}%
-\tud@locale@german{\advisorothername}{}%
-\tud@locale@german{\supervisorname}{%
+\tud@localization@german{\advisorothername}{}%
+\tud@localization@german{\supervisorname}{%
\tud@ifin@and{\@supervisor}{%
\ifx\supervisorothername\@empty%
Betreuer%
@@ -2436,8 +3590,8 @@
\fi%
}{Betreuer}%
}%
-\tud@locale@german{\supervisorothername}{}%
-\tud@locale@german{\professorname}{%
+\tud@localization@german{\supervisorothername}{}%
+\tud@localization@german{\professorname}{%
\tud@ifin@and{\@professor}{%
\ifx\professorothername\@empty%
Betreuende Hochschullehrer%
@@ -2446,18 +3600,18 @@
\fi%
}{Betreuender Hochschullehrer}%
}%
-\tud@locale@german{\professorothername}{}%
-\tud@locale@german{\datetext}{Eingereicht am}%
-\tud@locale@german{\dateofbirthtext}{Geboren am}%
-\tud@locale@german{\placeofbirthtext}{in}%
-\tud@locale@german{\defensedatetext}{Verteidigt am}%
-\tud@locale@german{\matriculationyearname}{Immatrikulationsjahr}%
-\tud@locale@german{\matriculationnumbername}{Matrikelnummer}%
-\tud@locale@german{\coverpagename}{Umschlagseite}%
-\tud@locale@german{\titlepagename}{Titelblatt}%
-\tud@locale@german{\titlename}{Titel}%
-\tud@locale@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}%
-\tud@locale@german{\confirmationtext}{%
+\tud@localization@german{\professorothername}{}%
+\tud@localization@german{\datetext}{Eingereicht am}%
+\tud@localization@german{\dateofbirthtext}{Geboren am}%
+\tud@localization@german{\placeofbirthtext}{in}%
+\tud@localization@german{\defensedatetext}{Verteidigt am}%
+\tud@localization@german{\matriculationyearname}{Immatrikulationsjahr}%
+\tud@localization@german{\matriculationnumbername}{Matrikelnummer}%
+\tud@localization@german{\coverpagename}{Umschlagseite}%
+\tud@localization@german{\titlepagename}{Titelblatt}%
+\tud@localization@german{\titlename}{Titel}%
+\tud@localization@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}%
+\tud@localization@german{\confirmationtext}{%
Hiermit versichere ich, dass ich die vorliegende Arbeit
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe.
@@ -2477,8 +3631,8 @@
Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum
nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.%
}%
-\tud@locale@german{\blockingname}{Sperrvermerk}%
-\tud@locale@german{\blockingtext}{%
+\tud@localization@german{\blockingname}{Sperrvermerk}%
+\tud@localization@german{\blockingtext}{%
Diese Arbeit
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
enth\"alt vertrauliche Informationen\ifx\@company\@empty\else
@@ -2491,30 +3645,30 @@
Universit\"at Dresden, den Gutachtern sowie den Mitgliedern
des Pr\"ufungsausschusses zug\"anglich zu machen.%
}%
-\tud@locale@german{\coursename}{Studiengang}%
-\tud@locale@german{\disciplinename}{Studienrichtung}%
-\tud@locale@german{\listingname}{Quelltext}%
-\tud@locale@german{\listlistingname}{Quelltextverzeichnis}%
-\tud@locale@german{\dissertationname}{Dissertation}%
-\tud@locale@german{\diplomathesisname}{Diplomarbeit}%
-\tud@locale@german{\masterthesisname}{Master-Arbeit}%
-\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}%
-\tud@locale@german{\studentthesisname}{Studienarbeit}%
-\tud@locale@german{\studentresearchname}{Gro\ss{}er Beleg}%
-\tud@locale@german{\projectpapername}{Projektarbeit}%
-\tud@locale@german{\seminarpapername}{Seminararbeit}%
-\tud@locale@german{\termpapername}{Hausarbeit}%
-\tud@locale@german{\researchname}{Forschungsbericht}%
-\tud@locale@german{\logname}{Protokoll}%
-\tud@locale@german{\internshipname}{Praktikumsbericht}%
-\tud@locale@german{\reportname}{Bericht}%
-\newcommand*\tud@locale@english{%
+\tud@localization@german{\coursename}{Studiengang}%
+\tud@localization@german{\disciplinename}{Studienrichtung}%
+\tud@localization@german{\listingname}{Quelltext}%
+\tud@localization@german{\listlistingname}{Quelltextverzeichnis}%
+\tud@localization@german{\dissertationname}{Dissertation}%
+\tud@localization@german{\diplomathesisname}{Diplomarbeit}%
+\tud@localization@german{\masterthesisname}{Master-Arbeit}%
+\tud@localization@german{\bachelorthesisname}{Bachelor-Arbeit}%
+\tud@localization@german{\studentthesisname}{Studienarbeit}%
+\tud@localization@german{\studentresearchname}{Gro\ss{}er Beleg}%
+\tud@localization@german{\projectpapername}{Projektarbeit}%
+\tud@localization@german{\seminarpapername}{Seminararbeit}%
+\tud@localization@german{\termpapername}{Hausarbeit}%
+\tud@localization@german{\researchname}{Forschungsbericht}%
+\tud@localization@german{\logname}{Protokoll}%
+\tud@localization@german{\internshipname}{Praktikumsbericht}%
+\tud@localization@german{\reportname}{Bericht}%
+\newcommand*\tud@localization@english{%
\providecaptionname{%
american,australian,british,canadian,english,newzealand,UKenglish,USenglish%
}%
}
-\tud@locale@english{\graduationtext}{to achieve the academic degree}%
-\tud@locale@english{\refereename}{%
+\tud@localization@english{\graduationtext}{to achieve the academic degree}%
+\tud@localization@english{\refereename}{%
\tud@ifin@and{\@referee}{%
\ifx\refereeothername\@empty%
Referees%
@@ -2523,8 +3677,8 @@
\fi%
}{Referee}%
}%
-\tud@locale@english{\refereeothername}{Second referee}%
-\tud@locale@english{\advisorname}{%
+\tud@localization@english{\refereeothername}{Second referee}%
+\tud@localization@english{\advisorname}{%
\tud@ifin@and{\@advisor}{%
\ifx\advisorothername\@empty%
Advisors%
@@ -2533,8 +3687,8 @@
\fi%
}{Advisor}%
}%
-\tud@locale@english{\advisorothername}{}%
-\tud@locale@english{\supervisorname}{%
+\tud@localization@english{\advisorothername}{}%
+\tud@localization@english{\supervisorname}{%
\tud@ifin@and{\@supervisor}{%
\ifx\supervisorothername\@empty%
Supervisors%
@@ -2543,8 +3697,8 @@
\fi%
}{Supervisor}%
}%
-\tud@locale@english{\supervisorothername}{}%
-\tud@locale@english{\professorname}{%
+\tud@localization@english{\supervisorothername}{}%
+\tud@localization@english{\professorname}{%
\tud@ifin@and{\@professor}{%
\ifx\professorothername\@empty%
Supervising professors%
@@ -2553,18 +3707,18 @@
\fi%
}{Supervising professor}%
}%
-\tud@locale@english{\professorothername}{}%
-\tud@locale@english{\datetext}{Submitted on}%
-\tud@locale@english{\dateofbirthtext}{Born on}%
-\tud@locale@english{\placeofbirthtext}{in}%
-\tud@locale@english{\defensedatetext}{Defended on}%
-\tud@locale@english{\matriculationyearname}{Matriculation year}%
-\tud@locale@english{\matriculationnumbername}{Matriculation number}%
-\tud@locale@english{\coverpagename}{Cover page}%
-\tud@locale@english{\titlepagename}{Title page}%
-\tud@locale@english{\titlename}{Title}%
-\tud@locale@english{\confirmationname}{Statement of authorship}%
-\tud@locale@english{\confirmationtext}{%
+\tud@localization@english{\professorothername}{}%
+\tud@localization@english{\datetext}{Submitted on}%
+\tud@localization@english{\dateofbirthtext}{Born on}%
+\tud@localization@english{\placeofbirthtext}{in}%
+\tud@localization@english{\defensedatetext}{Defended on}%
+\tud@localization@english{\matriculationyearname}{Matriculation year}%
+\tud@localization@english{\matriculationnumbername}{Matriculation number}%
+\tud@localization@english{\coverpagename}{Cover page}%
+\tud@localization@english{\titlepagename}{Title page}%
+\tud@localization@english{\titlename}{Title}%
+\tud@localization@english{\confirmationname}{Statement of authorship}%
+\tud@localization@english{\confirmationtext}{%
I hereby certify that I have authored this
\ifx\@@thesis\@empty thesis\else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
@@ -2585,8 +3739,8 @@
I am aware that violations of this declaration may lead to
subsequent withdrawal of the degree.%
}%
-\tud@locale@english{\blockingname}{Restriction note}%
-\tud@locale@english{\blockingtext}{%
+\tud@localization@english{\blockingname}{Restriction note}%
+\tud@localization@english{\blockingtext}{%
This \ifx\@@thesis\@empty thesis \else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
contains confidential data\ifx\@company\@empty\else
@@ -2598,32 +3752,32 @@
Technische Universit\"at Dresden, the reviewers and also the
members of the examination board.%
}%
-\tud@locale@english{\coursename}{Course}%
-\tud@locale@english{\disciplinename}{Discipline}%
-\tud@locale@english{\listingname}{Listing}%
-\tud@locale@english{\listlistingname}{List of Listings}%
-\tud@locale@english{\dissertationname}{Dissertation}%
-\tud@locale@english{\diplomathesisname}{Diploma Thesis}%
-\tud@locale@english{\masterthesisname}{Master Thesis}%
-\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}%
-\tud@locale@english{\studentthesisname}{Student Thesis}%
-\tud@locale@english{\studentresearchname}{Student Research Project}%
-\tud@locale@english{\projectpapername}{Project Paper}%
-\tud@locale@english{\seminarpapername}{Seminar Paper}%
-\tud@locale@english{\termpapername}{Term Paper}%
-\tud@locale@english{\researchname}{Research Report}%
-\tud@locale@english{\logname}{Log}%
-\tud@locale@english{\internshipname}{Internship Report}%
-\tud@locale@english{\reportname}{Report}%
+\tud@localization@english{\coursename}{Course}%
+\tud@localization@english{\disciplinename}{Discipline}%
+\tud@localization@english{\listingname}{Listing}%
+\tud@localization@english{\listlistingname}{List of Listings}%
+\tud@localization@english{\dissertationname}{Dissertation}%
+\tud@localization@english{\diplomathesisname}{Diploma Thesis}%
+\tud@localization@english{\masterthesisname}{Master Thesis}%
+\tud@localization@english{\bachelorthesisname}{Bachelor Thesis}%
+\tud@localization@english{\studentthesisname}{Student Thesis}%
+\tud@localization@english{\studentresearchname}{Student Research Project}%
+\tud@localization@english{\projectpapername}{Project Paper}%
+\tud@localization@english{\seminarpapername}{Seminar Paper}%
+\tud@localization@english{\termpapername}{Term Paper}%
+\tud@localization@english{\researchname}{Research Report}%
+\tud@localization@english{\logname}{Log}%
+\tud@localization@english{\internshipname}{Internship Report}%
+\tud@localization@english{\reportname}{Report}%
\AfterPackage{listings}{%
\renewcommand*\lstlistingname{\listingname}%
\renewcommand*\lstlistlistingname{\listlistingname}%
}
\AfterPackage{mathswap}{%
- \tud@locale@german{\@commaswap}{,}%
- \tud@locale@german{\@dotswap}{\,}%
- \tud@locale@english{\@commaswap}{\,}%
- \tud@locale@english{\@dotswap}{.}%
+ \tud@localization@german{\@commaswap}{,}%
+ \tud@localization@german{\@dotswap}{\,}%
+ \tud@localization@english{\@commaswap}{\,}%
+ \tud@localization@english{\@dotswap}{.}%
}
%%% From File: tudscr-area.dtx
\newif\if@tud@x@crop@center
@@ -2638,7 +3792,7 @@
}%
\pretocmd{\CROP@center}{%
\@tud@x@crop@centertrue%
- }{}{\tud@patch@wrn{CROP@center}}
+ }{}{\tud@patch@wrn{CROP@center}}%
}
\newif\if@tud@x@standalone@crop
\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
@@ -2659,21 +3813,22 @@
\newlength\tud@len@areadiff
\newlength\tud@len@areavskip
\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newcommand*\tud@head@fontsize{}
\newif\if@tud@cdgeometry@adjust
-\newlength\tud@len@layoutheight
\newlength\tud@len@layoutwidth
+\newlength\tud@len@layoutheight
\newlength\tud@len@layouthoffset
\newlength\tud@len@layoutvoffset
-\newcommand*\tud@cdgeometry@set{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
- \else%
- \setlength\tud@len@layoutheight{\paperheight}%
+\newcommand*\tud@cdgeometry@assignlayout{%
+ \ifdim\tud@len@layoutwidth<\p@\relax%
\setlength\tud@len@layoutwidth{\paperwidth}%
\fi%
- \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
- \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \ifdim\tud@len@layoutheight<\p@\relax%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \fi%
+}
+\newcommand*\tud@cdgeometry@set{%
+ \tud@cdgeometry@assignlayout%
\tud@if@v@lower{2.05}{%
\ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
\def\@tempa{0}%
@@ -2739,8 +3894,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{0.25pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{4.5pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{4.5pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\or% <=A6/B6
\setlength\tud@len@widemargin{15mm}%
@@ -2801,8 +3956,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{2pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{36pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{36pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\ifnum\tud@cdgeometry@calc@num=\tw@\relax%
@@ -2810,8 +3965,8 @@
\setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{\tud@head@fontsize pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{\tud@head@fontsize pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\global\@tud@head@font@settrue%
@@ -2831,13 +3986,19 @@
\setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
\fi%
}
-\newcommand*\tud@cdgeometry@process{}
-\newcommand*\tud@cdgeometry@@process{}
+\newcommand*\tud@cdgeometry@process{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+}
\if@tud@x@standalone@crop
\PreventPackageFromLoading{geometry}%
+ \let\tud@cdgeometry@process\relax%
\else
\RequirePackage{geometry}[2010/09/12]%
-\fi
+\fi%
\AfterPackage*{geometry}{%
\CheckCommand*\Gm@initnewgm{%
\Gm@passfalse
@@ -2975,109 +4136,149 @@
}{\@nameuse{Gm@restore@@#1}%
\Gm@changelayout}%
}%
- \tud@cmd@store{geometry}
- \tud@cmd@store{newgeometry}
\newif\if@tud@x@geometry@enabled%
\@tud@x@geometry@enabledtrue%
- \newcommand*\tud@setgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \ifGm@pass%
- \def\@tempb{}%
- \else%
- \edef\@tempb{layoutoffset={\the\Gm@layouthoffset,\the\Gm@layoutvoffset}}%
- \ifGm@layout%
- \eappto\@tempb{,layoutsize={\the\Gm@layoutwidth,\the\Gm@layoutheight}}%
- \fi%
- \fi%
+ \tud@cs@store{geometry}%
+ \tud@cs@store{newgeometry}%
+ \renewcommand*\geometry[1]{%
+ \tud@x@geometry@user{#1}{geometry}%
+ }%
+ \renewcommand*\newgeometry[1]{%
+ \tud@cs@store{Gm@restore@org}%
+ \tud@x@geometry@user{#1}{newgeometry}%
+ \tud@cs@restore{Gm@restore@org}%
+ }%
+ \renewcommand*\restoregeometry[1][custom]{%
+ \tud@cdgeometry@reset{#1}%
\if@atdocument%
- \edef\@tempa{\@tempb,#1}%
- \tud@cmd@store{Gm@restore@org}%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- \def\@tempc{\tud@cmd@use{newgeometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
- \tud@cmd@restore{Gm@restore@org}%
- \else%
- \Gm@initnewgm%
- \edef\@tempa{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,\@tempb,#1%
- }%
- \def\@tempc{\tud@cmd@use{geometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@loadgeometry{init@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \tud@cdgeometry@process%
\fi%
- \@tud@x@geometry@enabledtrue%
}%
- \newcommand*\tud@savegeometry[1]{%
- \def\Gm@restore{}%
- \savegeometry{#1}%
- \csepreto{Gm@restore@@#1}{%
- \etex@unexpanded{\def\Gm@lmargin}{\Gm@lmargin}%
- \etex@unexpanded{\def\Gm@rmargin}{\Gm@rmargin}%
- \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
- \ifGm@includemp%
- \noexpand\Gm@includemptrue%
- \else%
- \noexpand\Gm@includempfalse%
- \fi%
- \ifGm@layout%
- \noexpand\Gm@layouttrue%
- \else%
- \noexpand\Gm@layoutfalse%
+ \apptocmd{\Gm@changelayout}{%
+ \if@tud@x@geometry@enabled%
+ \if@atdocument%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@reset{custom}%
+ \tud@cdgeometry@process%
\fi%
- }%
+ \fi%
+ }{}{\tud@patch@wrn{Gm@changelayout}}%
+ \newif\if@tud@x@geometry@fixmargins%
+ \newcommand*\tud@x@geometry@fixmargins{%
+ \ifGm@pass\else%
+ \addtolength\oddsidemargin{-\tud@len@layouthoffset}%
+ \addtolength\evensidemargin{-\tud@len@layouthoffset}%
+ \addtolength\topmargin{-\tud@len@layoutvoffset}%
+ \@tud@x@geometry@fixmarginsfalse%
+ \fi%
}%
- \newcommand*\tud@loadgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \loadgeometry{#1}%
- \@currsize%
- \if@tud@x@crop@center\CROP@center\fi%
- \@tud@x@geometry@enabledtrue%
+ \newcommand*\tud@x@geometry@paper{}%
+ \newcommand*\tud@x@geometry@layout{}%
+ \newcommand*\tud@x@geometry@parameter{}%
+ \newcommand*\tud@x@geometry@init{}%
+ \newcommand*\tud@x@geometry@user[2]{%
+ \let\tud@x@geometry@paper\@empty%
+ \let\tud@x@geometry@layout\@empty%
+ \let\tud@x@geometry@parameter\@empty%
+ \TUD@parameter@set{geometry}{#1}%
+ \ifx\tud@x@geometry@layout\@empty\else%
+ \begingroup%
+ \tud@x@geometry@area@set{layout}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\setlength\noexpand\tud@len@layoutwidth{\the\paperwidth}%
+ \noexpand\setlength\noexpand\tud@len@layoutheight{\the\paperheight}%
+ }%
+ \tud@res@a%
+ \fi%
+ \tud@x@geometry@area@set{paper}%
+ \ifstr{#2}{newgeometry}{%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \tud@x@geometry@getlayout{\tud@res@a}%
+ \epreto{\tud@x@geometry@parameter}{\tud@res@a,}%
+ \def\tud@res@a{\tud@cs@use{newgeometry}}%
+ \expandafter\tud@res@a\expandafter{\tud@x@geometry@parameter}%
+ \edef\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }{%
+ \eappto\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }%
}%
\TUD@parameter@family{geometry}{%
- \TUD@parameter@def{paper}{\tud@area@def{paper}{#1}}%
+ \TUD@parameter@def{paper}{\tud@x@geometry@area@def{paper}{#1}}%
\TUD@parameter@let{papername}{paper}%
- \TUD@parameter@def{paperwidth}{\tud@area@def{paper}{#1:\the\paperheight}}%
- \TUD@parameter@def{paperheight}{\tud@area@def{paper}{\the\paperwidth:#1}}%
\TUD@parameter@def{papersize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{paper}{##1:##1}%
+ \tud@x@geometry@area@def{paper}{##1:##1}%
}{%
- \tud@area@def{paper}{##1:##2}%
+ \tud@x@geometry@area@def{paper}{##1:##2}%
}%
}%
\@tempa#1,,\@nil%
}%
- \TUD@parameter@def{layout}{\tud@area@def{layout}{#1}}%
- \TUD@parameter@let{layoutname}{layout}%
- \TUD@parameter@def{layoutwidth}{%
- \tud@area@def{layout}{#1:\the\tud@len@layoutheight}%
+ \TUD@parameter@def{paperwidth}{%
+ \tud@x@geometry@area@def{paper}{#1:\paperheight}%
}%
- \TUD@parameter@def{layoutheight}{%
- \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ \TUD@parameter@def{paperheight}{%
+ \tud@x@geometry@area@def{paper}{\paperwidth:#1}%
}%
+ \TUD@parameter@def{layout}{%
+ \ifstr{#1}{false}{%
+ \setlength\tud@len@layoutwidth{\z@}%
+ \setlength\tud@len@layoutheight{\z@}%
+ \setlength\tud@len@layouthoffset{\z@}%
+ \setlength\tud@len@layoutvoffset{\z@}%
+ }{%
+ \tud@x@geometry@area@def{layout}{#1}%
+ }%
+ }%
+ \TUD@parameter@let{layoutname}{layout}%
\TUD@parameter@def{layoutsize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{layout}{##1:##1}%
+ \tud@x@geometry@area@def{layout}{##1:##1}%
}{%
- \tud@area@def{layout}{##1:##2}%
+ \tud@x@geometry@area@def{layout}{##1:##2}%
}%
}%
\@tempa#1,,\@nil%
}%
+ \TUD@parameter@def{layoutwidth}{\setlength\tud@len@layoutwidth{#1}}%
+ \TUD@parameter@def{layoutheight}{\setlength\tud@len@layoutheight{#1}}%
+ \TUD@parameter@def{layoutoffset}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##1}%
+ }{%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \TUD@parameter@def{layouthoffset}{\setlength\tud@len@layouthoffset{#1}}%
+ \TUD@parameter@def{layoutvoffset}{\setlength\tud@len@layoutvoffset{#1}}%
\TUD@parameter@def{bleedmargin}{\TUDoption{bleedmargin}{#1}}%
\TUD@parameter@handler@macro{%
\eappto\tud@x@geometry@parameter{%
\expandonce\kv@key=\expandonce\kv@value,%
}%
}{%
- \tud@area@def{paper}{#2}%
+ \tud@x@geometry@area@def{paper}{#2}%
}%
- }
- \newcommand*\tud@area@def[2]{%
+ }%
+ \newcommand*\tud@x@geometry@area@def[2]{%
\tud@lowerstring{\@tempa}{#2}%
\def\@tempb##1paper##2\@nil{%
\ifstr{##2}{paper}{\def\@tempa{##1}}{}%
@@ -3140,150 +4341,123 @@
\fi%
\if@tempswa%
\cseappto{tud@x@geometry@#1}{\@tempa,}%
- \def\@tempb##1:##2:##3\@nil{%
- \IfArgIsEmpty{##2}{}{%
- \ifstr{#1}{paper}{%
- \setlength\paperwidth{##1}%
- \setlength\paperheight{##2}%
- }{%
- \ifstr{#1}{layout}{%
- \setlength\tud@len@layoutwidth{##1}%
- \setlength\tud@len@layoutheight{##2}%
- }{}%
- }%
- }%
- }%
- \expandafter\@tempb\@tempa::\@nil%
\else%
\appto\tud@x@geometry@parameter{#2,}%
\fi%
- }
- \newcommand*\tud@area@set[1]{%
+ }%
+ \newcommand*\tud@x@geometry@area@set[1]{%
\letcs{\@tempa}{tud@x@geometry@#1}%
\ifdefvoid{\@tempa}{}{%
\def\@tempb##1:##2:##3\@nil{%
- \tud@cmd@store{@tempa}%
- \tud@cmd@store{@tempb}%
- \tud@cmd@store{@tempc}%
- \IfArgIsEmpty{##2}{%
- \KOMAoption{paper}{##1}%
- }{%
- \if@landscape%
- \KOMAoption{paper}{##2:##1}%
- \else%
- \KOMAoption{paper}{##1:##2}%
- \fi%
- }%
- \tud@cmd@restore{@tempa}%
- \tud@cmd@restore{@tempb}%
- \tud@cmd@restore{@tempc}%
+ \begingroup%
+ \IfArgIsEmpty{##2}{%
+ \def\@tempb{\KOMAoption{paper}{##1}}%
+ }{%
+ \if@landscape%
+ \def\@tempb{\KOMAoption{paper}{##2:##1}}%
+ \else%
+ \def\@tempb{\KOMAoption{paper}{##1:##2}}%
+ \fi%
+ }%
+ \edef\@tempb{\endgroup\expandonce\@tempb}%
+ \@tempb%
}%
\def\@tempc##1{\@tempb##1::\@nil}%
\expandafter\forcsvlist\expandafter\@tempc\expandafter{\@tempa}%
}%
- }
- \newcommand*\tud@x@geometry@init{}
- \newcommand*\tud@x@geometry@paper{}
- \newcommand*\tud@x@geometry@layout{}
- \newcommand*\tud@x@geometry@parameter{}
- \newcommand*\tud@geometry[2]{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
+ }%
+ \newcommand*\tud@x@geometry@getlayout[1]{%
+ \ifGm@pass%
+ \let#1\@empty%
\else%
- \setlength\tud@len@layoutheight{\paperheight}%
- \setlength\tud@len@layoutwidth{\paperwidth}%
- \fi%
- \let\tud@x@geometry@paper\@empty%
- \let\tud@x@geometry@layout\@empty%
- \let\tud@x@geometry@parameter\@empty%
- \TUD@parameter@set{geometry}{#1}%
- \tud@area@set{paper}%
- \ifstr{#2}{newgeometry}{%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- }{%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
- }%
- }%
- \ifx\tud@x@geometry@layout\@empty\else%
+ \tud@cdgeometry@assignlayout%
\begingroup%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \setlength\paperheight{\Gm@layoutheight}%
- \tud@area@set{layout}%
- \edef\tud@reserved{%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi%
+ \edef\tud@res@a{%
\endgroup%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ \etex@unexpanded{\def#1}{%
+ layoutoffset={%
+ \the\tud@len@layouthoffset,\the\tud@len@layoutvoffset%
+ }%
+ \if@tud@res@swa%
+ ,layoutsize={\the\tud@len@layoutwidth,\the\tud@len@layoutheight}%
+ \fi%
}%
}%
- \tud@reserved%
+ \tud@res@a%
\fi%
- \def\@tempa{\tud@cmd@use{#2}}%
- \expandafter\@tempa\expandafter{\tud@x@geometry@parameter}%
- \ifstr{#2}{geometry}{%
- \ifbool{@tud@x@geometry@enabled}{%
- \eappto\tud@x@geometry@init{,\expandonce\tud@x@geometry@parameter}%
- }{}%
- }{}%
- }
- \renewcommand*\geometry[1]{\tud@geometry{#1}{geometry}}
- \renewcommand*\newgeometry[1]{%
- \tud@cmd@store{Gm@restore@org}%
- \tud@geometry{#1}{newgeometry}%
- \tud@cmd@restore{Gm@restore@org}%
- }
- \apptocmd{\Gm@changelayout}{%
- \ifboolexpr{bool {@tud@x@geometry@enabled} and bool {@atdocument}}{%
- \tud@cdgeometry@process%
- }{}%
- }{}{\tud@patch@wrn{Gm@changelayout}}%
- \renewcommand*\restoregeometry[1][]{%
- \IfArgIsEmpty{#1}{}{%
- \tud@cmd@store{TUD@SpecialOptionAtDocument}%
- \let\TUD@SpecialOptionAtDocument\@gobble%
- \TUDoption{cdgeometry}{#1}%
- \tud@cmd@restore{TUD@SpecialOptionAtDocument}%
- }%
- \ifnum\tud@cdgeometry@num=\@ne\relax
- \tud@loadgeometry{init@custom}%
+ }%
+ \newcommand*\tud@x@geometry@set[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \if@atdocument%
+ \edef\@tempa{#1}%
+ \tud@cs@store{Gm@restore@org}%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \def\@tempc{\tud@cs@use{newgeometry}}%
+ \expandafter\@tempc\expandafter{\@tempa}%
+ \tud@cs@restore{Gm@restore@org}%
\else%
- \tud@loadgeometry{init@typearea}%
+ \Gm@initnewgm%
+ \edef\@tempa{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1%
+ }%
+ \def\@tempc{\tud@cs@use{geometry}}%
+ \expandafter\@tempc\expandafter{\@tempa,driver=none}%
\fi%
- \tud@AfterChangingArea%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \newcommand*\tud@savegeometry[1]{%
+ \let\Gm@restore\@empty%
+ \savegeometry{#1}%
+ \csepreto{Gm@restore@@#1}{%
+ \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
+ \ifGm@includehead%
+ \noexpand\Gm@includeheadtrue%
+ \else%
+ \noexpand\Gm@includeheadfalse%
+ \fi%
+ \ifGm@includefoot%
+ \noexpand\Gm@includefoottrue%
+ \else%
+ \noexpand\Gm@includefootfalse%
+ \fi%
+ \ifGm@includemp%
+ \noexpand\Gm@includemptrue%
+ \else%
+ \noexpand\Gm@includempfalse%
+ \fi%
+ \ifGm@layout%
+ \noexpand\Gm@layouttrue%
+ \else%
+ \noexpand\Gm@layoutfalse%
+ \fi%
+ }%
}%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \newcommand*\tud@cdgeometry@layout{}%
\newcommand*\tud@cdgeometry@hmargin{}%
\newcommand*\tud@cdgeometry@vmargin{}%
\newcommand*\tud@cdgeometry@tudmargin{}%
\tud@if@v@lower{2.03}{\newcommand*\tud@cdgeometry@ddcmargin{}}{}%
- \renewcommand*\tud@cdgeometry@process{%
- \tud@AfterChangingArea%
- }%
- \renewcommand*\tud@cdgeometry@@process{%
+ \newcommand*\tud@cdgeometry@@process{%
\csuse{@ta@usegeometryfalse}%
\tud@cdgeometry@set%
\ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \if@tud@x@geometry@fixmargins%
+ \tud@x@geometry@fixmargins%
+ \fi%
\ifcase\tud@cdgeometry@num\relax%
- \ifGm@layout%
- \tud@skip@store{paperheight}%
- \tud@skip@store{paperwidth}%
- \setlength\paperheight{\tud@len@layoutheight}%
- \setlength\paperwidth{\tud@len@layoutwidth}%
- \fi%
- \tud@cmd@store{activateareas}%
- \tud@cmd@store{tud@AfterChangingArea}%
- \let\activateareas\relax%
- \let\tud@AfterChangingArea\relax%
- \recalctypearea%
- \ifGm@layout%
- \tud@skip@restore{paperheight}%
- \tud@skip@restore{paperwidth}%
- \fi%
- \tud@cmd@restore{activateareas}%
- \tud@cmd@restore{tud@AfterChangingArea}%
\edef\tud@cdgeometry@hmargin{%
left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
textwidth=\the\textwidth,%
@@ -3315,8 +4489,8 @@
\else% custom
\ifGm@pass\else%
\edef\tud@cdgeometry@hmargin{%
- left=\Gm@lmargin,%
- right=\Gm@rmargin,%
+ left=\the\dimexpr\oddsidemargin+1in-\Gm@bindingoffset\relax,%
+ textwidth=\the\textwidth,%
\ifGm@includemp%
includemp=true,%
\else%
@@ -3383,11 +4557,23 @@
}%
}{}%
\ifdim\dimexpr\tud@dim@extrabottommargin\relax=\z@\relax\else%
- \ClassWarning{\TUD@Class@Name}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea or custom layout is used\MessageBreak%
- (`cdgeometry=false/custom')%
- }%
+ \begingroup%
+ \edef\tud@res@a{%
+ The key `extrabottommargin' is ineffective\MessageBreak%
+ when\space%
+ \ifcase\tud@cdgeometry@num%
+ package `typearea' is used for layout with\MessageBreak%
+ `cdgeometry=typearea'%
+ \else%
+ a user-defined layout is used with\MessageBreak%
+ `cdgeometry=custom'%
+ \fi%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}{\tud@res@a}%
+ }%
+ \tud@res@a%
\fi%
\else% true/symmetric/twoside
\ifcase\tud@cdgeometry@num\relax\or\or% true
@@ -3502,10 +4688,9 @@
\fi%
\ifdim\tud@len@areadiff<\z@\relax\setlength\tud@len@areadiff{\z@}\fi%
\global\tud@len@areadiff=\tud@len@areadiff%
+ \setlength\tud@len@areaheadvskip{.22\tud@len@topmargin}%
\if@tud@cdgeometry@adjust%
- \setlength\tud@len@areaheadvskip{.3\tud@len@topmargin}%
- \else%
- \setlength\tud@len@areaheadvskip{.6\tud@len@topmargin}%
+ \setlength\tud@len@areaheadvskip{.5\tud@len@areaheadvskip}%
\fi%
\global\tud@len@areaheadvskip=\tud@len@areaheadvskip%
\tud@if@v@lower{2.03}{%
@@ -3515,32 +4700,36 @@
\tud@cdgeometry@@@process%
}%
\newcommand*\tud@cdgeometry@@@process{%
- \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
- \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
\tud@if@v@lower{2.03}{%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin,%
\tud@cdgeometry@ddcmargin,%
ignorehead,ignorefoot%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudareaddc}%
}{}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudarea}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{stdarea}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@savegeometry{current@typearea}%
+ \or% custom
+ \tud@savegeometry{current@custom}%
+ \fi%
\if@atdocument%
\ifstr{\tud@currentgeometry}{stdarea}{}{%
\expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
@@ -3568,153 +4757,183 @@
includemp=false%
\fi%
}%
-}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \tud@if@tudheadings{#1}{%
- \tud@if@v@lower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \newcommand*\tud@cdgeometry@@init{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
+ \tud@cs@store{tud@cdgeometry@num}%
+ \tud@cs@store{tud@dim@extrabottommargin}%
+ \def\tud@dim@extrabottommargin{\z@}%
+ \tud@cdgeometry@reset{custom}%
+ \begingroup%
+ \epreto\tud@x@geometry@init{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
+ \tud@cdgeometry@layout,%
+ \tud@cdgeometry@mpincl,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor,%
+ \tud@cdgeometry@hincl,%
+ \tud@cdgeometry@fincl,%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\tud@cs@use{geometry}{\tud@x@geometry@init,driver=none}%
+ \noexpand\@tud@x@geometry@fixmarginstrue%
+ }%
+ \tud@res@a%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@custom}%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@x@typearea@warnings@off[\tud@res@a]%
+ \tud@x@typearea@init%
+ \tud@x@typearea@warnings@on%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@typearea}%
+ \def\tud@res@b##1{%
+ \eappto\Gm@restore@@init@typearea{%
+ \noexpand\PackageWarningNoLine{typearea}{##1}%
+ }%
+ }%
+ \forlistloop\tud@res@b{\tud@res@a}%
+ \tud@cs@restore{tud@cdgeometry@num}%
+ \tud@cs@restore{tud@dim@extrabottommargin}%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \ifcase\tud@cdgeometry@num\relax% typearea
+ \tud@loadgeometry{init@typearea}%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \fi%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@currentgeometry{}
+ \newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
+ \ifstr{#1}{\GetRealPageStyle{#1}}{%
+ \tud@if@tudheadings{#1}{%
+ \tud@if@v@lower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \tud@loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
+ \else% \tud@ddc@foot@num!=false
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@loadgeometry{tudareaddc}%
+ \gdef\tud@currentgeometry{tudareaddc}%
+ }%
+ \fi%
+ }{%
\ifstr{\tud@currentgeometry}{tudarea}{}{%
\tud@loadgeometry{tudarea}%
\gdef\tud@currentgeometry{tudarea}%
}%
- \else% \tud@ddc@foot@num!=false
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
- }%
- \fi%
+ }%
+ \setlength\tud@len@areavskip{\z@}%
+ \tud@komafont@set{pagenumber}{\usekomafont{tudheadings}}%
+ \tud@komafont@set{pagefoot}{\usekomafont{tudheadings}}%
}{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \tud@loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \tud@loadgeometry{stdarea}%
+ \gdef\tud@currentgeometry{stdarea}%
}%
- }%
- \setlength\tud@len@areavskip{\z@}%
- \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
- \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
- }{%
- \ifstr{\tud@currentgeometry}{stdarea}{}{%
- \tud@loadgeometry{stdarea}%
- \gdef\tud@currentgeometry{stdarea}%
- }%
- \setlength\tud@len@areavskip{\tud@len@areadiff}%
- \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
- \if@hincl%
- \addtolength\tud@len@areavskip{%
- \dimexpr-\headheight-\tud@len@headsep\relax%
- }%
+ \setlength\tud@len@areavskip{\tud@len@areadiff}%
+ \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
+ \if@hincl%
+ \addtolength\tud@len@areavskip{%
+ \dimexpr-\headheight-\tud@len@headsep\relax%
+ }%
+ \fi%
\fi%
- \fi%
- \tud@font@koma@unset{pagefoot}%
- \tud@font@koma@unset{pagenumber}%
+ \tud@komafont@unset{pagenumber}%
+ \tud@komafont@unset{pagefoot}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
+ }
+}
+\newcommand*\tud@x@typearea@before{%
+ \tud@skip@store{paperheight}%
+ \tud@skip@store{paperwidth}%
+ \begingroup%
+ \tud@cdgeometry@assignlayout%
+ \edef\tud@res@a{%
+ \endgroup%
+ \etex@unexpanded{\setlength\paperheight}{\the\tud@len@layoutheight}%
+ \etex@unexpanded{\setlength\paperwidth}{\the\tud@len@layoutwidth}%
}%
- \global\tud@len@areavskip=\tud@len@areavskip%
- }{}%
+ \tud@res@a%
}
-\newcommand*\tud@AfterChangingArea{%
- \tud@cdgeometry@@process%
- \KOMAoptions{pagesize=\@pagesizelast}%
- \global\@tud@mainlogo@settrue%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+\newcommand*\tud@x@typearea@after{%
+ \tud@skip@restore{paperheight}%
+ \tud@skip@restore{paperwidth}%
+ \if@atdocument%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@cdgeometry@process%
+ \else%
+ \TUD@key@preset{cdgeometry}{false}%
+ \fi%
}
-\newcommand*\tud@cdgeometry@init{%
- \AtEndPreamble{%
- \if@tud@x@standalone@crop%
- \pagestyle{empty}%
- \let\tud@AfterChangingArea\relax%
- \let\tud@cdgeometry@process\relax%
- \else%
- \csuse{@ta@usegeometryfalse}%
- \def\tud@reserved##1{%
- \tud@setgeometry{%
- \tud@cdgeometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- \else%
- reversemarginpar=false,%
- \fi%
- bindingoffset=\the\ta@bcor,%
- \tud@cdgeometry@hincl,%
- \tud@cdgeometry@fincl,%
- \tud@x@geometry@init,%
- driver=none%
- }%
- \addtolength\oddsidemargin{-\Gm@layouthoffset}%
- \addtolength\evensidemargin{-\Gm@layouthoffset}%
- \addtolength\topmargin{-\Gm@layoutvoffset}%
- \tud@savegeometry{init@##1}%
+\newcommand*\tud@x@typearea@init{\recalctypearea}%
+\xpretocmd{\typearea}{%
+ \tud@x@typearea@before%
+ \def\tud@x@typearea@init{\typearea[#1]{#2}}%
+}{}{\tud@patch@wrn{typearea}}
+\xapptocmd{\typearea}{\tud@x@typearea@after}{}{\tud@patch@wrn{typearea}}
+\xpretocmd{\areaset}{%
+ \tud@x@typearea@before%
+ \begingroup%
+ \setlength\@tempdima{#2}%
+ \setlength\@tempdimb{#3}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\def\noexpand\tud@x@typearea@init{%
+ \noexpand\areaset[#1]{\the\@tempdima}{\the\@tempdimb}%
}%
- \begingroup%
- \let\scr@grouplevel@test\@gobble%
- \setlength\paperheight{\Gm@layoutheight}%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \let\activateareas\relax%
- \tud@x@ta@warnings@off%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{DIV}%
- \def\@tempb{{0}}%
- \ifx\@tempa\@tempb\relax%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{paper}%
- \@for\@tempb:=\@tempa\do{%
- \@tempswatrue%
- \ifx\@tempb\defaultpapersize\relax%
- \@tempswafalse%
- \fi%
- }%
- \if@tempswa%
- \KOMAoptions{DIV=11}%
- \fi%
- \fi%
- \recalctypearea%
- \tud@x@ta@warnings@on%
- \edef\tud@x@geometry@init{%
- left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
- textwidth=\the\textwidth,%
- marginparwidth=\the\marginparwidth,%
- marginparsep=\the\marginparsep,%
- bindingoffset=\the\ta@bcor,%
- \if@hincl%
- top=\the\dimexpr\topmargin+1in\relax,%
- \else%
- top=\the\dimexpr\topmargin%
- +\headheight+\headsep+1in\relax,%
- \fi%
- headheight=\the\headheight,%
- headsep=\the\headsep,%
- textheight=\the\textheight,%
- footskip=\the\footskip%
- }%
- \tud@reserved{typearea}%
- \global\let\Gm@restore@@init@typearea\Gm@restore@@init@typearea%
+ }%
+ \tud@res@a%
+}{}{\tud@patch@wrn{areaset}}
+\xapptocmd{\areaset}{\tud@x@typearea@after}{}{\tud@patch@wrn{areaset}}
+\tud@cs@store{storeareas}
+\renewcommand*\storeareas[1]{%
+ \begingroup
+ \tud@x@geometry@fixmargins%
+ \tud@cs@use{storeareas}{#1}%
+ \edef\tud@res@a{%
\endgroup%
- \tud@reserved{custom}%
- \AfterCalculatingTypearea{\tud@AfterChangingArea}%
- \AfterSettingArea{\tud@AfterChangingArea}%
- \ifundef{\AfterRestoreareas}{}{%
- \AfterRestoreareas{\tud@AfterChangingArea}%
+ \etex@unexpanded{\def#1}{%
+ \expandonce#1%
+ \def\noexpand\tud@cdgeometry@num{\tud@cdgeometry@num}%
}%
- \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
- \tud@cdgeometry@process%
- \fi%
- \let\tud@cdgeometry@init\relax%
- }%
+ }%
+ \tud@res@a%
}
-\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\AfterRestoreareas{\tud@cdgeometry@process}%
\TUD@UnwindPackage{geometry}{%
- \newif\ifGm@layout%
- \newif\ifGm@showcrop%
- \newif\ifGm@pass%
- \let\Gm@layoutheight\paperheight%
- \let\Gm@layoutwidth\paperwidth%
- \let\Gm@layouthoffset\z@%
- \let\Gm@layoutvoffset\z@%
- \renewcommand*\tud@cdgeometry@@process{\tud@cdgeometry@set}%
- \let\tud@BeforeSelectAnyPageStyle\@gobble%
- \providecommand*\tud@setgeometry[1]{}%
- \providecommand*\tud@savegeometry[1]{}%
+ \newcommand*\tud@cdgeometry@@init{%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@cdgeometry@@process{%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \tud@cdgeometry@set%
+ }%
+ \newcommand*\tud@x@geometry@fixmargins{}%
+}
+\newcommand*\tud@cdgeometry@init{\tud@cdgeometry@@init}%
+\AfterPackage{svg-extract}{%
+ \renewcommand*\tud@cdgeometry@init{%
+ \if@svgx@standalone%
+ \@tud@x@scr@fontsize@settrue%
+ \else%
+ \tud@cdgeometry@@init%
+ \fi%
+ }%
}
\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
\let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
@@ -3779,7 +4998,7 @@
contents={%
\ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\color{HKS41!60}%
- \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \setlength\@tempdima{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
\ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
\raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
\fi%
@@ -4044,16 +5263,19 @@
}{}{\tud@patch@wrn{thispagestyle}}
\newcommand*\tud@pagestyle{}
\let\tud@pagestyle\pagestyle
+\newcommand*\currentpagestyle{plain}
\pretocmd{\tud@pagestyle}{%
\tud@BeforeSelectAnyPageStyle{#1}%
\edef\currentpagestyle{#1}%
}{}{\tud@patch@wrn{pagestyle}}
-\tud@cmd@store{pagestyle}
+\tud@cs@store{pagestyle}
\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
\BeforePackage{scrlayer-scrpage}{%
- \tud@cmd@restore{pagestyle}%
+ \tud@cs@restore{pagestyle}%
\undef\tud@pagestyle%
+ \undef\currentpagestyle%
}
+\AfterPackage!{scrlayer-scrpage}{\AtEndPreamble{\tud@cdgeometry@init}}
\TUD@UnwindPackage{scrlayer-scrpage}{%
\ifcsundef{if@chapter}{%
\newif\if@chapter%
@@ -4113,6 +5335,7 @@
\fi%
\fi%
}{%
+ \tud@locked@bool@preset{@tud@head@widebar}{true}%
\ifstr{\tud@pagecolor}{HKS41}{%
\renewcommand*\tud@head@logocolor{white}%
\renewcommand*\tud@head@fontcolor{white}%
@@ -4122,7 +5345,6 @@
\else%
\renewcommand*\tud@foot@fontcolor{HKS41!30}%
\fi%
- \bool@std@lock{@tud@head@widebar}{true}%
}{%
\renewcommand*\tud@head@logocolor{HKS41}%
\renewcommand*\tud@head@fontcolor{HKS41}%
@@ -4137,50 +5359,12 @@
\renewcommand*\tud@foot@logocolor{HKS41}%
\renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
- \bool@std@lock{@tud@head@widebar}{true}%
}%
}%
\let\tud@len@line\tud@len@thinline%
\ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}%
\global\let\tud@foot@fontcolor\tud@foot@fontcolor%
}
-\newcommand*\tud@head@fontsize{}
-\newcommand*\tud@head@font@light{}
-\newcommand*\tud@head@font@bold{}
-\newcommand*\tud@head@font@set{%
- \ifcase\tud@head@font@num\relax% false
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@head@font@set%
- \ClassWarning{\TUD@Class@Name}{%
- It isn't possible to use `cdhead=false'\MessageBreak%
- together with `cdfont=true'%
- }%
- \fi%
- \TUDoptions{cdhead=true}%
- \fi%
- \fi%
- \if@tud@head@font@set%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
- \ifcase\tud@head@font@num\relax\else% true/heavy
- \if@tud@univers%
- \ifcase\tud@head@font@num\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@fontsize}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{m}{n}{\tud@head@fontsize}%
- \fi%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@fontsize}%
- \fi%
- \fi%
- \global\@tud@head@font@setfalse%
- \global\@tud@head@text@settrue%
- \fi%
-}
\newcommand*\tud@head@text@line{}
\newcommand*\tud@head@text@list{}
\newcommand*\tud@head@text@delimiter{}
@@ -4207,9 +5391,9 @@
\newcommand*\tud@head@text@wrn[1]{}
\newcommand*\tud@head@text@set{%
\if@tud@head@text@set%
- \def\tud@head@text@line{}%
- \def\tud@head@text@list{}%
- \def\tud@head@text@buffer{}%
+ \let\tud@head@text@line\@empty%
+ \let\tud@head@text@list\@empty%
+ \let\tud@head@text@buffer\@empty%
\tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}%
\tud@head@text@add{\tud@head@font@light}{\@department}%
\tud@head@text@add{\tud@head@font@light}{\@institute}%
@@ -4228,10 +5412,6 @@
\fi%
}
\newcommand*\tud@head@text@box{%
- \ifx\@faculty\@empty%
- \ClassWarningNoLine{\TUD@Class@Name}{No `\string\faculty' given}%
- \faculty{}%
- \fi%
\def\@tempb{\tud@color{\tud@head@fontcolor}}%
\def\@tempc{\depth+\tud@len@heavyline}%
\def\@tempa##1{%
@@ -4477,7 +5657,7 @@
}%
\vss\vss%
}{%
- You should reduce `footlogoheight', because it is\MessageBreak
+ You should reduce `footlogoheight', because it is\MessageBreak%
too high (\the\dimexpr\tud@dim@footlogoheight\relax).%
\ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
\MessageBreak%
@@ -4522,8 +5702,8 @@
}
\newcommand*\tud@footlogo@cmd@@set[2]{%
\begingroup%
- \def\@tempa{}%
- \def\@tempb{}%
+ \let\@tempa\@empty%
+ \let\@tempb\@empty%
\@tempswatrue%
\def\do##1{%
\if@tempswa%
@@ -4555,19 +5735,26 @@
\usebox\z@\hspace*{-\wd\z@}%
}
\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@usefont[1]{%
+ \usekomafont{tudheadings}{%
+ \tud@footcontent@fontsize%
+ \tud@footcontent@fontface%
+ \selectfont%
+ #1%
+ }%
+}
+\newcommand*\tud@footcontent@fontsize{}
\newcommand*\tud@footcontent@fontface{}
\newcommand*\tud@footcontent@left{}
\newcommand*\tud@footcontent@right{\@nil}
\newcommand*\footcontent{%
\kernel@ifstar{%
- \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \renewcommand*\tud@footcontent@fontsize{}%
\tud@footcontent@do%
}{%
- \renewcommand*\tud@footcontent@fontface{%
- \usekomafont{tudheadings}%
+ \renewcommand*\tud@footcontent@fontsize{%
\setlength\@tempdima{\tud@head@fontsize\p@}%
- \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
- \selectfont%
+ \fontsize{\@tempdima}{1.25\@tempdima}%
}%
\tud@footcontent@do%
}%
@@ -4579,7 +5766,9 @@
}
\newcommand*\tud@footcontent@@do{}
\def\tud@footcontent@@do#1#2[#3]{%
- \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#1}\relax\else%
+ \renewcommand*\tud@footcontent@fontface{#1}%
+ \fi%
\if\detokenize{*#2}\relax\else%
\renewcommand*\tud@footcontent@left{#2}%
\fi%
@@ -4611,25 +5800,26 @@
\linespread{1}%
\vss%
\hbox to #2{%
- \tud@footcontent@fontface%
- \def\@tempa{\@nil}%
- \ifx\@tempa\tud@footcontent@right\relax%
- \vtop{%
- \hsize=\dimexpr#2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \else%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \hspace{\columnsep}%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@right\strut%
- }%
- \fi%
- \hss%
+ \tud@footcontent@usefont{%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax%
+ \vtop{%
+ \hsize=\dimexpr#2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \else%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
+ }%
+ \fi%
+ \hss%
+ }%
}%
\vss\vss%
}{%
@@ -4646,22 +5836,20 @@
\hbox to #2{}%
\fi%
}
-\AtBeginDocument{%
- \tud@if@v@lower{2.04}{%
- \renewcommand*\tud@comp@clearpage{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
- \fi%
- }%
- \renewcommand*\tud@comp@resetpagestyle{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- }{}%
- \fi%
- }%
- }{}%
-}
+\tud@if@v@lower{2.04}{%
+ \renewcommand*\tud@comp@clearpage{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
+ \fi%
+ }%
+ \renewcommand*\tud@comp@resetpagestyle{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ }{}%
+ \fi%
+ }%
+}{}%
\newcommand*\tud@ddc@check{%
\let\@tempa\tud@ddc@head@num%
\let\@tempb\tud@ddc@foot@num%
@@ -4750,7 +5938,7 @@
]
\TUD@parameter@family{tudpage}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{%
\tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{%
\ifstr{#1}{empty}{\renewcommand*\tud@envir@ps{empty.tudheadings}}{%
@@ -4790,237 +5978,285 @@
\ifstr{standardclasses}{\@tempc}{\@tempa{standardclasses}{\Huge}{\LARGE}}{%
\ifstr{big}{\@tempc}{\@tempa{big}{\Huge}{\LARGE}}{%
\ifstr{normal}{\@tempc}{\@tempa{normal}{\huge}{\Large}}{%
- \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\Large}}{}}}}%
+ \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\large}}{}}}}%
}%
+ \begingroup
+ \tud@sec@fontsize%
+ \@tempskipa=\glueexpr%
+ .8\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+ \relax\relax%
+ \edef\tud@res@a{%
+ \endgroup%
+ \def\noexpand\tud@cd@afterskip{\the\@tempskipa}%
+ }%
+ \tud@res@a%
}
\AtEndPreamble{\tud@x@scr@headings@set}
\newcommand*\tud@x@scr@headings@reset{%
- \tud@layout@process%
+ \tud@cd@process%
\tud@x@scr@headings@set[%
- \ifcase\tud@layout@part@num\relax\else% !false
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
+ \ifcase\tud@cd@part@num\relax\else% !false
+ \tud@komafont@reset{part}%
+ \tud@komafont@reset{partnumber}%
\fi%
- \ifcase\tud@layout@section@num\relax\else% !false
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
+ \ifcase\tud@cd@section@num\relax\else% !false
+ \tud@komafont@reset{section}%
+ \tud@komafont@reset{subsection}%
+ \tud@komafont@reset{subsubsection}%
\fi%
]%
}
+\newcommand*\tud@sec@fontface[1][]{\tud@sec@@fontface{#1}}%
+\newcommand*\tud@sec@@fontface[1]{%
+ \sectfont#1%
+ \if@tud@cdfont@active\if@tud@heavyheadings%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@ebf}%
+ \edef\bfseries@sf{\tud@cdfont@ebf}%
+ \edef\bfseries@tt{\tud@ttfont@ebf}%
+ \fi%
+ \let\bfdefault\tud@cdfont@ebf%
+ \fontseries{\tud@cdfont@ebf}%
+ \fi\fi%
+ \selectfont%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdoldfont@nodin%
+ \tud@sec@@fontface{#1}%
+ \else%
+ \tud@db\tud@raggedright%
+ \fi%
+ }%
+\fi
+\newcommand*\tud@sec@format[2][]{%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \endgroup%
+ }%
+ #2%
+}
+\if@tud@cdoldfont@active
+ \newcommand*\tud@sec@uppercase{\MakeUppercase}%
+ \AfterPackage*{textcase}{%
+ \renewcommand*\tud@sec@uppercase{\MakeTextUppercase}%
+ }%
+ \renewcommand*\tud@sec@format[2][]{%
+ \@tud@res@swafalse%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ \tud@ifdin{\@tud@res@swatrue}{}%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \tud@ifdin{\aftergroup\@tud@res@swatrue}{}%
+ \endgroup%
+ }%
+ \if@tud@res@swa%
+ \tud@sec@uppercase{#2}%
+ \else%
+ #2%
+ \fi%
+ }%
+\fi
+\newrobustcmd*\tud@sec@strut{%
+ \begingroup%
+ \strut\setbox\strutbox\hbox{\vphantom{\textsuperscript{\"A\"O\"U}}}\strut%
+ \endgroup%
+}
\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
\newcommand*\tud@section@fontcolor{}
\providecommand*\raggedtitle{\tud@raggedright}
-\newcommand*\tud@layout@process{%
- \ifcase\tud@layout@cover@num\relax% false
- \bool@std@lock{@tud@cdgeometry@cover}{false}%
+\newcommand*\tud@cd@process{%
+ \ifcase\tud@cd@title@num\relax% false
+ \tud@cs@restore{titlepagestyle}%
+ \tud@komafont@unset{titlehead}%
+ \tud@komafont@unset{title}%
+ \tud@komafont@unset{subtitle}%
+ \tud@komafont@unset{subject}%
+ \tud@komafont@unset{author}%
+ \tud@komafont@unset{date}%
+ \tud@komafont@unset{publishers}%
\else% !false
- \bool@std@lock{@tud@cdgeometry@cover}{true}%
- \fi%
- \ifcase\tud@layout@title@num\relax% false
- \tud@cmd@restore{titlepagestyle}%
- \tud@font@koma@unset{titlehead}%
- \tud@font@koma@unset{title}%
- \tud@font@koma@unset{subtitle}%
- \tud@font@koma@unset{subject}%
- \tud@font@koma@unset{author}%
- \tud@font@koma@unset{date}%
- \tud@font@koma@unset{publishers}%
- \else% !false
- \tud@cmd@store{titlepagestyle}%
+ \tud@cs@store{titlepagestyle}%
\renewcommand*\titlepagestyle{plain.tudheadings}%
- \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
- \tud@font@koma@set{title}{%
- \raggedtitle%
+ \tud@komafont@set{titlehead}{\usekomafont{titlepage}}%
+ \tud@komafont@set{title}{%
\usekomafont{disposition}%
+ \raggedtitle%
\tud@sec@fontface%
\tud@sec@fontsize%
\tud@color{\tud@title@fontcolor}%
}%
- \tud@font@koma@set{subtitle}{%
- \raggedtitle%
- \ifstr{\mddefault}{l}{%
- \tud@sec@fontface[\fontseries{m}]%
- }{%
- \tud@sec@fontface[\fontseries{bx}]%
- }%
- \usesizeofkomafont{section}%
- \tud@color{\tud@title@fontcolor}%
+ \tud@komafont@set{subtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
}%
- \tud@font@koma@set{subject}{%
+ \tud@komafont@set{subject}{%
\sffamily%
- \bfseries%
+ \usesizeofkomafont{section}%
\tud@color{\tud@title@fontcolor}%
}%
- \tud@font@koma@set{author}{\usekomafont{subject}}%
- \tud@font@koma@set{date}{\usekomafont{titlepage}}%
- \tud@font@koma@set{publishers}{\usekomafont{author}}%
- \fi%
- \ifcase\tud@layout@part@num\relax% false
- \tud@cmd@restore{partheadstartvskip}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@restore{scr@@startpart}%
- }{%
- \tud@cmd@restore{@part}%
- }%
- \tud@sectioning@reset[addpart]{part}%
- \tud@font@koma@unset{partnumber}%
- \tud@cmd@restore{raggedpart}%
+ \tud@komafont@set{author}{\usekomafont{subject}}%
+ \tud@komafont@set{publishers}{\usekomafont{author}}%
+ \tud@komafont@set{date}{\usekomafont{titlepage}}%
+ \fi%
+ \ifcase\tud@cd@part@num\relax% false
+ \tud@cs@restore{scr@part@beforeskip}%
+ \tud@cs@restore{scr@part@afterskip}%
+ \tud@cs@restore{partheadstartvskip}%
+ \tud@cs@restore{partlineswithprefixformat}%
+ \tud@komafont@unset{part}%
+ \tud@komafont@unset{partnumber}%
+ \tud@cs@restore{raggedpart}%
\else% !false
- \tud@cmd@store{partheadstartvskip}%
+ \tud@cs@store{scr@part@beforeskip}%
+ \renewcommand*\scr@part@beforeskip{\tud@cd@afterskip+\baselineskip}%
+ \tud@cs@store{scr@part@afterskip}%
+ \renewcommand*\scr@part@afterskip{\tud@cd@afterskip}%
+ \tud@cs@store{partheadstartvskip}%
\let\partheadstartvskip\tud@partheadstartvskip%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@store{scr@@startpart}%
- \let\scr@@startpart\tud@@startpart%
- }{%
- \tud@cmd@store{@part}%
- \let\@part\tud@@part%
+ \tud@cs@store{partlineswithprefixformat}%
+ \let\partlineswithprefixformat\tud@partlineswithprefixformat%
+ \tud@komafont@set{part}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
}%
- \tud@sectioning@set{part}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \tud@font@koma@set{partnumber}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \tud@cmd@store{raggedpart}%
+ \tud@komafont@set{partnumber}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
+ }%
+ \tud@cs@store{raggedpart}%
\renewcommand*\raggedpart{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@section@num\relax% false
- \tud@sectioning@reset[addsec]{section}%
- \tud@sectioning@reset{subsection}%
- \tud@sectioning@reset{subsubsection}%
- \tud@sectioning@reset{minisec}%
- \tud@sectioning@reset{paragraph}%
- \tud@sectioning@reset{subparagraph}%
- \tud@cmd@restore{raggedsection}%
+ \ifcase\tud@cd@section@num\relax% false
+ \tud@cs@restore{sectionlinesformat}%
+ \tud@cs@restore{sectioncatchphraseformat}%
+ \tud@komafont@unset{section}%
+ \tud@komafont@unset{subsection}%
+ \tud@komafont@unset{subsubsection}%
+ \tud@komafont@unset{paragraph}%
+ \tud@komafont@unset{subparagraph}%
+ \tud@cs@restore{raggedsection}%
+ \tud@cs@restore{minisec}%
+ \tud@komafont@unset{minisec}%
\else% !false
- \renewcommand*\tud@section@fontcolor{}%
- \ifcase\tud@layout@section@num\relax\or\else% *color
- \renewcommand*\tud@section@fontcolor{HKS41}%
- \fi%
- \tud@sectioning@set{section}{%
- \tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
- }%
- \tud@sectioning@set{subsection}{%
+ \tud@cs@store{sectionlinesformat}%
+ \let\sectionlinesformat\tud@sectionlinesformat%
+ \tud@cs@store{sectioncatchphraseformat}%
+ \let\sectioncatchphraseformat\tud@sectioncatchphraseformat%
+ \tud@komafont@set{section}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subsubsection}{%
+ \tud@komafont@set{subsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{minisec}{%
+ \tud@komafont@set{subsubsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{paragraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{paragraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subparagraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{subparagraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@cmd@store{raggedsection}%
+ \tud@cs@store{raggedsection}%
\renewcommand*\raggedsection{\tud@raggedright}%
+ \tud@cs@store{minisec}%
+ \renewcommand\minisec[1]{%
+ \tud@cs@use{minisec}{\tud@sec@format{##1}}%
+ }%
+ \tud@komafont@set{minisec}{%
+ \tud@sec@fontface%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\color{HKS41}}%
+ \fi%
+ }%
\fi%
}
-\newcommand*\tud@layout@specialpage@set[1]{%
- \tud@font@koma@set{footnote}{%
+\newcommand*\tud@cd@specialpage@set[1]{%
+ \tud@komafont@set{footnote}{%
\edef\@tempa{%
\noexpand\tud@color{%
\expandafter\noexpand\csname tud@#1@fontcolor\endcsname%
}%
}\@tempa%
}%
- \tud@cmd@store{footnoterule}%
+ \tud@cs@store{footnoterule}%
\let\footnoterule\relax%
}
+\newcommand*\tud@cd@beforeskip{%
+ \dimexpr-\tud@len@areavskip-\tud@len@areaheadvskip\relax%
+}
+\newcommand*\tud@cd@innerskip{.25\baselineskip}%
+\newcommand*\tud@cd@afterskip{%
+ .75\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+}
+\newcommand*\tud@cd@headstartvskip{%
+ \@tempskipa=\glueexpr\tud@cd@beforeskip\relax\relax%
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi%
+ \null\vskip-\baselineskip\vskip\@tempskipa%
+}
+\newcommand*\tud@cd@vphantom{%
+ \begingroup%
+ \usekomafont{partnumber}{\nobreak\tud@sec@strut}%
+ \setlength\@tempskipa{\tud@cd@innerskip}%
+ \par\nobreak\vskip\@tempskipa%
+ \endgroup%
+}
+\newcommand*\tud@part@subtitle{}
+\newcommand*\setpartsubtitle[1]{\gdef\tud@part@subtitle{#1}}
+\newkomafont{partsubtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
+ \tud@color{\tud@part@fontcolor}%
+}
+\aliaskomafont{parttitle}{partsubtitle}
+\newcommand*\tud@sec@subtitle[1]{%
+ \ifcsvoid{tud@#1@subtitle}{}{%
+ {\usekomafont{#1subtitle}{\tud@sec@format{\csuse{tud@#1@subtitle}}}}\par%
+ \global\cslet{tud@#1@subtitle}{\@empty}%
+ }%
+}
\newcommand*\tud@partheadstartvskip{}
\let\tud@partheadstartvskip\partheadstartvskip
\pretocmd{\tud@partheadstartvskip}{%
\renewcommand*\tud@part@fontcolor{}% false/true
- \ifcase\tud@layout@part@num\relax\or\else% *color
+ \ifcase\tud@cd@part@num\relax\or\else% *color
\renewcommand*\tud@part@fontcolor{HKS41}%
\fi%
}{}{\tud@patch@wrn{tud@partheadstartvskip}}
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
-\if@tempswa
- \newcommand*\tud@@startpart{}%
- \let\tud@@startpart\scr@@startpart%
- \ifcsdef{scr@v@3.21}{\@tempswatrue}{\@tempswafalse}%
- \if@tempswa%
- \patchcmd{\tud@@startpart}{%
- \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
- }{%
- \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}%
- }{}{\tud@patch@wrn{scr@@startpart}}%
- \else%
- \patchcmd{\tud@@startpart}{%
- \usekomafont{#1prefix}{\@nameuse{#1format}}%
- }{%
- \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}%
- }{}{\tud@patch@wrn{scr@@startpart}}%
+\newcommand*\tud@partformat{}%
+\newcommand*\tud@partlineswithprefixformat[3]{%
+ \edef\tud@partformat{\noexpand\tud@sec@format{\expandonce\partformat}}%
+ \let\partformat\tud@partformat%
+ \IfUseNumber{}{\tud@cd@vphantom}%
+ #2\tud@sec@format[#1]{#3}%
+ \tud@sec@subtitle{#1}%
+}
+\At@startsection{%
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{%
+ \renewcommand*\tud@section@fontcolor{HKS41}%
+ }%
\fi%
-\else
- \newcommand*\tud@@part{}%
- \let\tud@@part\@part%
- \patchcmd{\tud@@part}{\size@partnumber{\partformat}}{%
- \size@partnumber{\tud@makeuppercase{\partformat}}%
- }{}{\tud@patch@wrn{@part}}%
-\fi
-\newcommand*\tud@part{}
-\newcommand*\tud@spart{}
-\newcommand*\tud@section{}
-\newcommand*\tud@ssection{}
-\newcommand*\tud@subsection{}
-\newcommand*\tud@ssubsection{}
-\newcommand*\tud@subsubsection{}
-\newcommand*\tud@ssubsubsection{}
-\newcommand*\tud@sectioning@set[2]{%
- \tud@cmd@store{#1}%
- \ifstr{#1}{minisec}{%
- \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}%
- }{%
- \tud@sectioning@case{#1}%
- }%
- \tud@font@koma@set{#1}{#2}%
-}
-\newcommand*\tud@sectioning@case[1]{%
- \csedef{#1}{%
- \noexpand\SecDef%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@#1\endcsname%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@s#1\endcsname%
- }%
- \csedef{tud@#1}[##1]##2{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname%
- [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}%
- }%
- \csedef{tud@s#1}##1{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname*%
- {\noexpand\tud@sectioning@uppercase{##1}}%
- }%
}
-\newcommand*\tud@sectioning@reset[2][]{%
- \tud@cmd@restore{#2}%
- \ifblank{#1}{}{\tud@cmd@restore{#1}}%
- \tud@font@koma@unset{#2}%
+\newcommand*\tud@sectionlinesformat[4]{%
+ \@hangfrom{\hskip #2#3}{\tud@sec@format[#1]{#4}}%
}
-\robustify{\footnote}
-\newcommand*\tud@sectioning@uppercase[1]{%
- \begingroup%
- \if@tud@symbolheadings%
- \let\c@footnote\c@symbolheadings%
- \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}%
- \fi%
- \tud@makeuppercase{#1}%
- \endgroup%
+\newcommand*\tud@sectioncatchphraseformat[4]{%
+ \let\tud@sec@strut\relax%
+ \hskip #2#3\tud@sec@format[#1]{#4}%
}
%%% From File: tudscr-title.dtx
\newkomafont{thesis}{%
@@ -5028,10 +6264,11 @@
\tud@thesis@fontsize%
}
\newkomafont{titlepage}{%
- \usekomafont{subject}%
+ \raggedtitle%
+ \sffamily%
\mdseries%
- \large%
- \tud@raggedright%
+ \usesizeofkomafont{subsection}%
+ \tud@color{\tud@title@fontcolor}%
}
\robustify{\thanks}
\robustify{\footnotemark}
@@ -5039,27 +6276,52 @@
\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
\begingroup%
+ \cleardoublepage%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title@num\relax% false
- \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
+ \ifcase\tud@cd@title@num\relax% false
+ \if@titlepageiscoverpage%
+ \tud@cover@fixmargins%
+ \fi%
+ \ifx\tud@title@pagenumber\relax%
+ \tud@cs@use{maketitle}%
+ \else%
+ \tud@cs@use{maketitle}[\tud@title@pagenumber]%
+ \fi%
\tud@if@tudheadings{\currentpagestyle}{%
\ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
}{}%
\else% !false
\if@tud@parameter@ps@font@set\else%
- \TUDoptions{cdfont=true}%
+ \if@tud@cdfont@active\else%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdfont=heavy}%
+ \else%
+ \TUDoptions{cdfont=true}%
+ \fi%
+ \fi%
\fi%
\if@titlepage%
- \tud@make@titlepage%
+ \tud@maketitle@page%
\else%
- \tud@make@titlehead%
+ \tud@maketitle@inpage%
\fi%
\fi%
\endgroup%
\setcounter{footnote}{0}%
\global\let\and\relax%
}
+\TUD@parameter@family{title}{%
+ \TUD@parameter@def{titlepage}[true]{\KOMAoption{titlepage}{#1}}%
+ \TUD@parameter@def{titlesignature}[true]{\TUDoption{titlesignature}{#1}}%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+ \TUD@parameter@let{cd}{cdtitle}%
+ \TUD@parameter@def{cdgeometry}[true]{\TUDoption{cdgeometry}{#1}}%
+ \TUD@parameter@ps@def{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\tud@cs@store{maketitle}
+\let\maketitle\tud@maketitle
\patchcmd{\titlepage}{\thispagestyle{empty}}{%
\tud@if@tudheadings{\currentpagestyle}{%
\thispagestyle{empty.tudheadings}%
@@ -5067,19 +6329,10 @@
\thispagestyle{empty}%
}%
}{}{\tud@patch@wrn{titlepage}}
-\tud@cmd@store{maketitle}
-\let\maketitle\tud@maketitle
-\TUD@parameter@family{title}{%
- \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
- \TUD@parameter@let{cd}{cdtitle}%
- \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
- \TUD@parameter@ps@def{#1}%
- \TUD@parameter@handler@value{pagenumber}%
-}
\newcommand*\tud@titleback{}
-\newcommand*\tud@make@titlepage{%
+\newcommand*\tud@maketitle@page{%
\renewcommand*\tud@title@fontcolor{}%
- \ifcase\tud@layout@title@num\relax\or\or% litecolor
+ \ifcase\tud@cd@title@num\relax\or\or% litecolor
\renewcommand*\tud@title@fontcolor{HKS41}%
\or% barcolor
\renewcommand*\tud@title@fontcolor{HKS41}%
@@ -5091,11 +6344,12 @@
\renewcommand*\tud@title@fontcolor{HKS41!30}%
\fi%
\begin{titlepage}%
- \tud@layout@specialpage@set{title}%
+ \tud@cd@specialpage@set{title}%
\ifx\tud@title@pagenumber\relax\else%
\setcounter{page}{\tud@title@pagenumber}%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
+ \addtokomafont{footnote}{\sffamily}%
\let\footnotesize\small%
\let\footnoterule\relax%
\let\footnote\thanks%
@@ -5110,6 +6364,10 @@
possible with an extra title. Alternatively you can\MessageBreak%
create a cover with `\string\makecover'%
}%
+ \@titlepageiscoverpagefalse%
+ \fi%
+ \ifx\@frontispiece\@empty\else%
+ \if@twoside\null\fi%
\fi%
\else%
\if@titlepageiscoverpage%
@@ -5122,65 +6380,36 @@
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
\begingroup%
- \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
- \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
- -\coverpagerightmargin\relax%
- \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
- -\coverpagebottommargin\relax%
- \headheight=0pt%
- \headsep=0pt%
- \footskip=\baselineskip%
- \@colht=\textheight%
- \@colroom=\textheight%
- \vsize=\textheight%
- \columnwidth=\textwidth%
- \hsize=\columnwidth%
- \linewidth=\hsize%
+ \tud@cover@setmargins%
\else%
\let\titlepage@restore\relax%
\fi%
- \noindent\@extratitle\next@tdpage%
+ \noindent\@extratitle%
+ \fi%
+ \next@tpage%
+ \ifx\@frontispiece\@empty\else%
+ \noindent\@frontispiece%
\fi%
+ \next@tdpage%
\fi%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
+ \tud@cd@headstartvskip%
\TUD@deprecated@lengthcs{pageheadingsvskip}%
\vspace*{\tud@dim@pageheadingsvskip}%
+ \tud@cd@vphantom%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \begingroup%
- \usekomafont{titlepage}%
- \setlength\@tempdima{\z@}%
- \ifx\@titlehead\@empty\else%
- \sbox\z@{\vbox{%
- \begin{minipage}[t]{\textwidth}%
- {\usekomafont{titlehead}{\@titlehead\par\null}}%
- \end{minipage}\newline\null%
- }}%
- \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
- \fi%
- \tud@thesis@tosubject%
- \ifx\@subject\@empty\else%
- \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
- \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
- \fi%
- \vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
- \ifx\@subject\@empty\else\usebox\@ne\par\fi%
- {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ {\usekomafont{titlepage}{%
+ \tud@maketitle@head%
+ {\usekomafont{title}{\tud@title@format{\@title}\par}}%
\ifx\@subtitle\@empty\else%
- \vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ {\usekomafont{partnumber}{\nobreak\tud@sec@strut}}%
+ {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}%
\fi%
- \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
\let\tud@split@author@do\tud@split@author@title%
\tud@multiple@split{@author}\par%
\vskip 2ex\@plus1ex\@minus1ex%
\ifx\@thesis\@empty%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\ifx\@date\@empty\else%
\vskip 2ex\@plus.1fill%
{\usekomafont{date}{\tud@date@print\par}}%
@@ -5190,28 +6419,26 @@
\else%
\vskip 2ex\@plus.25fill%
\if@tud@subjectthesis\else%
- {\usekomafont{thesis}{\tud@title@uppercase{\@thesis}\par}}%
+ {\usekomafont{thesis}{\tud@title@format{\@thesis}\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\ifx\@graduation\@empty\else%
\def\@tempc{%
\@graduation%
- \ifx\@@graduation\@empty\else\nobreakspace\@@graduation\fi%
+ \ifx\@graduationabbreviation\@empty\else%
+ \nobreakspace\@graduationabbreviation%
+ \fi%
}%
{\usekomafont{titlepage}{\graduationtext\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
- \if@tud@subjectthesis%
- {\usekomafont{subject}{\@tempc\par}}%
- \else%
- {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}%
- \fi%
+ \vskip 2.5ex\@plus1ex\@minus1ex%
+ {\usekomafont{thesis}{\tud@title@format{\@tempc}\par}}%
\vskip 3ex\@plus1ex\@minus1ex%
\fi%
\fi%
\vskip 2ex\@plus.5fill%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\tud@title@names{referee}%
\tud@title@names{advisor}%
\tud@title@names{supervisor}%
@@ -5230,13 +6457,19 @@
\fi%
\fi%
\fi%
+ \if@tud@titlesignature%
+ \let\tud@split@@author@do\tud@split@author@signature%
+ \vskip\tud@len@signatureskip\noindent%
+ \tud@ifin@and{\@@author}{}{\hfill}%
+ \tud@multiple@split{@@author}%
+ \fi%
\fi%
\ifx\@publishers\@empty\else%
\vskip 2ex\@plus.25fill%
{\usekomafont{publishers}{\@publishers\par}}%
\vskip\z@\@plus.25fill%
\fi%
- \endgroup%
+ }}%
\let\tud@titleback\relax%
\if@twoside%
\@tempswatrue%
@@ -5259,28 +6492,26 @@
\fi%
\def\@tempa{%
\renewcommand*\tud@pagecolor{}%
- \ifcase\tud@layout@title@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
+ \ifcase\tud@cd@title@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% color
\renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% full
\renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
\tud@color{\tud@title@fontcolor}%
- \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
- \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\thispagestyle{empty.tudheadings}%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
}%
- \if@tud@cover%
+ \if@tud@coverpage%
\begingroup%
\@tempa%
\cleardoubleemptypage%
@@ -5304,9 +6535,9 @@
\fi%
\end{titlepage}%
}
-\newcommand*\tud@make@titlehead{%
+\newcommand*\tud@maketitle@inpage{%
\renewcommand*\tud@title@fontcolor{}%
- \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifcase\tud@cd@title@num\relax\or\else% *color
\ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
\fi%
\par%
@@ -5324,58 +6555,42 @@
\let\@oldmakefnmark\@makefnmark%
\renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
\next@tdpage%
- \@tempswafalse%
+ \def\tud@res@a##1{##1}%
\if@twocolumn\ifnum\col@number>\@ne\relax%
- \@tempswatrue%
+ \def\tud@res@a##1{\twocolumn[{##1}]}%
\fi\fi%
- \if@tempswa%
- \ifx\@extratitle\@empty\else%
- \twocolumn[\@makeextratitle]\next@tdpage%
- \fi%
- \twocolumn[\tud@make@@titlehead]%
+ \ifx\@extratitle\@empty%
+ \ifx\@frontispiece\@empty\else%
+ \if@twoside\null\fi%
+ \fi
\else%
- \ifx\@extratitle\@empty\else%
- \@makeextratitle\next@tdpage%
- \fi%
- \tud@make@@titlehead%
+ \tud@res@a{\@makeextratitle}%
+ \fi%
+ \next@tpage%
+ \ifx\@frontispiece\@empty\else%
+ \tud@res@a{\@makefrontispiece}%
\fi%
+ \next@tdpage%
+ \tud@res@a{\tud@maketitle@@inpage}%
\ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
\@thanks%
\endgroup%
}
-\newcommand*\tud@make@@titlehead{%
+\newcommand*\tud@maketitle@@inpage{%
\global\@topnum=\z@%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
+ \tud@cd@headstartvskip%
\TUD@deprecated@lengthcs{headingsvskip}%
\vspace*{\tud@dim@headingsvskip}%
+ \tud@cd@vphantom%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \begingroup%
- \usekomafont{titlepage}%
+ {\usekomafont{titlepage}{%
\tud@x@hyperref@realfootnotes%
- \setlength\@tempdima{\z@}%
- \ifx\@titlehead\@empty\else%
- \sbox\z@{\vbox{%
- \begin{minipage}[t]{\textwidth}%
- {\usekomafont{titlehead}{\@titlehead\par\null}}%
- \end{minipage}\newline\null%
- }}%
- \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
- \fi%
\TUDoptions{subjectthesis=true}%
- \tud@thesis@tosubject%
- \ifx\@subject\@empty\else%
- \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
- \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
- \fi%
- \vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
- \ifx\@subject\@empty\else\usebox\@ne\par\fi%
- {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ \tud@maketitle@head%
+ {\usekomafont{title}{\tud@title@format{\@title}\par}}%
\ifx\@subtitle\@empty\else%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}%
\fi%
\vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
@@ -5405,20 +6620,48 @@
}%
\fi%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
+ }}%
}
-\newcommand*\tud@title@uppercase[1]{%
- \let\@tempa\relax%
+\newcommand*\tud@maketitle@head{%
+ \setbox\z@\vbox{%
+ \ifx\@titlehead\@empty\else%
+ {\usekomafont{titlehead}{%
+ \begin{minipage}[t]{\textwidth}%
+ \@titlehead\tud@sec@strut%
+ \end{minipage}%
+ }}%
+ \fi%
+ \tud@thesis@tosubject%
+ \ifx\@subject\@empty\else%
+ \par\medskip%
+ {\usekomafont{subject}{%
+ \@subject\tud@sec@strut%
+ }}%
+ \fi%
+ }%
+ \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
+ \ifdim\@tempdima>\z@\relax%
+ \vskip\dimexpr-\@tempdima-\p@-\medskipamount\relax%
+ \usebox\z@\par\medskip%
+ \fi%
+}
+\newcommand*\tud@title@format[1]{%
\begingroup%
\let\\\newline%
- \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\tud@thanks\relax%
+ \def\thanks##1{\gdef\tud@thanks{##1}}%
\let\footnote\thanks%
\sbox\z@{#1}%
\let\thanks\@gobble%
\let\footnote\@gobble%
- \tud@makeuppercase{#1}%
- \endgroup%
- \ifx\@tempa\relax\else\thanks\@tempa\fi%
+ \tud@sec@format{#1}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \ifx\tud@thanks\relax\else%
+ \noexpand\thanks{\expandonce\tud@thanks}%
+ \fi%
+ }%
+ \tud@res@a%
}
\newcommand*\tud@thesis@tosubject{%
\if@tud@subjectthesis\ifx\@thesis\@empty\else%
@@ -5452,13 +6695,20 @@
\newcommand*\tud@newline@title{}
\newcommand*\tud@split@author@title[2]{%
\tud@multiple@fields@store{@author}{#1}%
- \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}%
- {\usekomafont{author}{\ignorespaces#1\unskip}}%
- \if@tud@cover\else%
+ \renewcommand*\tud@newline@title{%
+ \vskip .5ex\strut%
+ \def\tud@newline@title{\newline\strut}%
+ }%
+ {\usekomafont{author}{\ignorespaces#1\strut\unskip}}%
+ \if@tud@coverpage\else%
\ifx\@authormore\@empty\else%
\tud@newline@title%
\@authormore%
\fi%
+ \ifx\@emailaddress\@empty\else%
+ \tud@newline@title%
+ \@emailaddress%
+ \fi%
\ifx\@dateofbirth\@empty\else%
\if@titlepage%
\tud@newline@title%
@@ -5488,7 +6738,7 @@
\@tempc{matriculationyear}%
\fi%
\tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{#2}{\vskip 2ex}%
+ \tud@multiple@@@split{#2}{\vskip 1.5ex}%
}
\newcommand*\tud@title@wrn[1]{%
\ClassWarning{\TUD@Class@Name}{%
@@ -5496,6 +6746,17 @@
activated titlepage option%
}%
}
+\newcommand*\tud@split@author@signature[2]{%
+ \tud@multiple@fields@store{@author}{#1}%
+ \vbox{%
+ \hsize=.3\textwidth%
+ \centering%
+ \rule{.3\textwidth}{.05pt}\newline%
+ \ignorespaces#1\strut\unskip%
+ }%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{#2}{\hfill}%
+}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
\if@titlepage%
@@ -5553,7 +6814,7 @@
\fi%
}{}%
}
-\newif\if@tud@cover
+\newif\if@tud@coverpage
\newcommand*\makecover[1][]{%
\if@titlepageiscoverpage%
\ClassWarning{\TUD@Class@Name}{%
@@ -5571,102 +6832,149 @@
\let\thanks\@gobble%
\let\footnote\@gobble%
\TUD@parameter@set{cover}{#1}%
- \let\tud@layout@title@num\tud@layout@cover@num%
- \tud@layout@process%
+ \let\tud@cd@title@num\tud@cd@cover@num%
+ \tud@cd@process%
+ \ifcase\tud@cd@cover@num\relax% false
+ \tud@locked@bool@preset{@tud@cdgeometry@cover}{false}%
+ \@tud@coverpagefalse%
+ \else% !false
+ \tud@locked@bool@preset{@tud@cdgeometry@cover}{true}%
+ \@tud@coverpagetrue%
+ \fi%
+ \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
+ \@titlepagetrue%
+ \let\@extratitle\@empty%
+ \let\@frontispiece\@empty%
+ \let\@uppertitleback\@empty%
+ \let\@lowertitleback\@empty%
+ \let\@dedication\@empty%
\if@tud@cdgeometry@cover%
- \let\coverpagetopmargin\tud@len@slimmargin%
- \let\coverpagebottommargin\tud@len@widemargin%
- \let\coverpageleftmargin\tud@len@widemargin%
- \let\coverpagerightmargin\tud@len@slimmargin%
+ \if@tud@coverpage%
+ \def\coverpagetopmargin{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax%
+ }%
+ \else%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagetopmargin{.5\tud@len@both}%
+ }{%
+ \def\coverpagetopmargin{\tud@len@slimmargin}%
+ }%
+ \fi%
\tud@if@v@lower{2.03}{%
- \def\coverpagetopmargin{.5\tud@len@both}%
\def\coverpagebottommargin{.5\tud@len@both}%
- }{}%
+ }{%
+ \def\coverpagebottommargin{\tud@len@widemargin}%
+ }%
+ \def\coverpageleftmargin{\tud@len@widemargin}%
+ \def\coverpagerightmargin{\tud@len@slimmargin}%
\fi%
- \ifcase\tud@layout@cover@num\relax% false
- \KOMAoptions{titlepage=firstiscover}%
- \let\@extratitle\@empty%
- \let\@uppertitleback\@empty%
- \let\@lowertitleback\@empty%
- \let\@dedication\@empty%
- \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
- \else% !false
- \@tud@covertrue%
- \@titlepagetrue%
+ \if@tud@coverpage%
\edef\titlepage@restore{%
\noexpand\endgroup%
\noexpand\global\noexpand\@colht\the\@colht%
\noexpand\global\noexpand\@colroom\the\@colroom%
\noexpand\global\vsize\the\vsize%
+ \noexpand\global\noexpand\@titlepageiscoverpagefalse%
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
\begingroup%
- \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
- -\coverpagerightmargin\relax%
- \headheight=0pt%
- \headsep=0pt%
- \footskip=\dimexpr\tud@len@footsep+\footheight\relax%
- \tud@if@v@lower{2.03}{%
- \footskip=\dimexpr\tud@len@headsep+\footheight%
- -1.25\baselineskip\relax%
- }{}%
- \if@tud@cdgeometry@cover%
- \def\coverpagetopmargin{%
- \dimexpr\tud@len@topmargin+\tud@len@barheight%
- +\tud@len@headsep\relax%
- }%
- \else%
- \topmargin=\dimexpr\tud@len@topmargin+\tud@len@barheight%
- +\tud@len@headsep-1in\relax%
- \def\@tempa{2\dimexpr\coverpagetopmargin\relax}%
- \ifx\@tempa\coverpagebottommargin\relax%
- \let\coverpagebottommargin\tud@len@widemargin%
- \tud@if@v@lower{2.03}{%
- \def\coverpagebottommargin{.5\tud@len@both}%
- }{}%
- \fi%
- \fi%
- \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
- -\coverpagebottommargin-\tud@dim@extrabottommargin\relax%
- \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
- \@colht=\textheight%
- \@colroom=\textheight%
- \vsize=\textheight%
- \columnwidth=\textwidth%
- \hsize=\columnwidth%
- \linewidth=\hsize%
+ \tud@cover@setmargins%
\tud@len@areavskip=\z@%
- \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
\tud@maketitle%
\clearpage%
\titlepage@restore%
+ \else%
+ \@titlepageiscoverpagetrue%
+ \tud@cover@fixmargins%
+ \ifx\tud@title@pagenumber\relax%
+ \tud@cs@use{maketitle}%
+ \else%
+ \tud@cs@use{maketitle}[\tud@title@pagenumber]%
+ \fi%
\fi%
\endgroup%
}
-\bool@lock{@tud@cdgeometry@cover}
+\tud@locked@newbool{@tud@cdgeometry@cover}
\TUD@parameter@family{cover}{%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
\TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
\TUD@parameter@let{cd}{cdcover}%
\TUD@parameter@def{cdgeometry}[true]{%
- \ifstrbool{#1}{%
- \bool@set@lock{@tud@cdgeometry@cover}{true}%
- }{%
- \bool@set@lock{@tud@cdgeometry@cover}{false}%
- }{%
- \ifstr{#1}{custom}{\bool@set@lock{@tud@cdgeometry@cover}{false}}{%
- \ifstr{#1}{user}{\bool@set@lock{@tud@cdgeometry@cover}{false}}{%
- \TUD@parameter@error{cdgeometry}{true, false}%
- }%
- }%
- }%
+ \TUDoption{cdgeometry}{#1}%
+ \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
+ \tud@locked@bool@set{@tud@cdgeometry@cover}{true}%
+ \else%
+ \tud@locked@bool@set{@tud@cdgeometry@cover}{false}%
+ \fi%
}%
- \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
\TUD@parameter@ps@def{#1}%
\TUD@parameter@handler@value{pagenumber}%
}
+\renewcommand*{\coverpagetopmargin}{%
+ \if@tud@coverpage%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep\relax%
+ \else%
+ \dimexpr\topmargin+1in\relax%
+ \fi%
+}
+\renewcommand*{\coverpagebottommargin}{%
+ \if@tud@coverpage%
+ \dimexpr\tud@len@widemargin\relax%
+ \else%
+ 2\dimexpr\coverpagetopmargin\relax%
+ \fi%
+}
+\newcommand*\tud@cover@fixmargins{%
+ \begingroup%
+ \tud@cdgeometry@assignlayout%
+ \tud@x@geometry@fixmargins%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagebottommargin-\tud@len@layoutvoffset
+ +\paperheight-\tud@len@layoutheight\relax%
+ }%
+ \edef\coverpagebottommargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagetopmargin+\tud@len@layoutvoffset\relax%
+ }%
+ \edef\coverpagetopmargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagerightmargin-\tud@len@layouthoffset
+ +\paperwidth-\tud@len@layoutwidth\relax%
+ }%
+ \edef\coverpagerightmargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpageleftmargin+\tud@len@layouthoffset\relax%
+ }%
+ \edef\coverpageleftmargin{\the\@tempdima}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \def\noexpand\coverpagetopmargin{\coverpagetopmargin}%
+ \def\noexpand\coverpagebottommargin{\coverpagebottommargin}%
+ \def\noexpand\coverpageleftmargin{\coverpageleftmargin}%
+ \def\noexpand\coverpagerightmargin{\coverpagerightmargin}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cover@setmargins{%
+ \tud@cover@fixmargins%
+ \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
+ \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ -\coverpagerightmargin\relax%
+ \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ -\coverpagebottommargin\relax%
+ \headheight=0pt%
+ \headsep=0pt%
+ \footskip=\baselineskip%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
+}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@check[2]{%
\global\let\tud@fm@set\tud@fm@first%
@@ -5707,6 +7015,7 @@
}%
\let\clearpage\relax%
\sbox\z@{\vbox{#2}}%
+ \csuse{phantomsection}%
\protected@edef\@tempa{%
\noexpand\endgroup%
\noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{%
@@ -5722,7 +7031,7 @@
with `#1=tocmultiple'%
}%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@#1@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@#1@toc@num}{%
\the\numexpr\csuse{tud@#1@toc@num}-2\relax%
}%
}%
@@ -5842,10 +7151,9 @@
}
\newcommand*\tud@quoting{quotation}
\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
-\csundef{abstract}
-\csundef{endabstract}
+\undef\abstract
+\undef\endabstract
\NewEnviron{abstract}[1][]{%
- \ifnum\tud@abstract@level@num>\tw@\relax\@titlepagetrue\fi% chapter
\let\tud@envir@ps\relax%
\TUD@parameter@set{abstract}{#1}%
\tud@x@multicol@check%
@@ -5883,7 +7191,7 @@
]
\TUD@parameter@family{abstract}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
\TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
@@ -5910,7 +7218,6 @@
\newif\if@tud@declarations
\NewEnviron{declarations}[1][]{%
\@tud@declarationstrue%
- \ifnum\tud@declaration@level@num>\tw@\relax\@titlepagetrue\fi% chapter
\let\tud@envir@ps\relax%
\TUD@parameter@set{declaration}{#1}%
\tud@x@multicol@check%
@@ -5942,7 +7249,7 @@
]
\TUD@parameter@family{declaration}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
\TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
@@ -6048,32 +7355,6 @@
\tud@fm@body@end{declaration}%
}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@cs[2]{%
- \AtBeginDocument{%
- \ifcsundef{#1}{%
- \expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\TUD@Class@Name}{%
- The command `\@backslashchar#1' is deprecated\MessageBreak%
- It's recommended to use `\@backslashchar#2' instead%
- }%
- \csletcs{#1}{#2}%
- \csuse{#2}%
- }%
- }{}%
- }%
-}
-\newcommand*\TUD@deprecated@lengthcs[2][]{%
- \ifdim\csuse{#2}<\maxdimen\relax%
- \ClassWarning{\TUD@Class@Name}{%
- Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
- You should use option `#2' instead%
- }%
- \csxdef{tud@dim@#2}{\the\csuse{#2}}%
- \expandafter\setlength\csname #2\endcsname{\maxdimen}%
- \global\csuse{#2}=\csuse{#2}%
- #1%
- \fi%
-}
\newlength\footlogoheight
\setlength\footlogoheight{\maxdimen}
\newlength\pageheadingsvskip
@@ -6096,67 +7377,43 @@
\TUD@deprecated@cs{finaldate}{duedate}%
\TUD@deprecated@cs{maturitydate}{duedate}%
}
-\AtEndOfClass%
-{%
- \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
-}
-%%% From File: tudscr-misc.dtx
-\newcommand*\tud@atdocument@hook{}
-\let\tud@atdocument@hook\relax
-\AtBeginDocument{%
- \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
- \ifx\tud@atdocument@hook\relax%
- \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
- \AtEndOfFamilyOptions{%
- \tud@atdocument@hook%
- \tud@atdocument@process%
- }%
- \fi%
- \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
- }%
-}
-\newif\if@tud@font@set
-\newif\if@tud@font@math@set
-\newif\if@tud@font@skip@set
-\newif\if@tud@x@scr@headings@reset
-\newif\if@tud@layout@process
-\newif\if@tud@cdgeometry@process
-\newif\if@tud@cdgeometry@@process
-\newcommand*\tud@atdocument@process{%
- \if@tud@font@set%
- \tud@font@set%
- \global\@tud@font@setfalse%
- \global\@tud@font@math@setfalse%
- \global\@tud@font@skip@setfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@font@math@set%
- \tud@font@math@set%
- \global\@tud@font@math@setfalse%
- \fi%
- \if@tud@font@skip@set%
- \tud@font@skip@set%
- \global\@tud@font@skip@setfalse%
- \fi%
- \if@tud@x@scr@headings@reset%
- \tud@x@scr@headings@reset%
- \global\@tud@x@scr@headings@resetfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@layout@process%
- \tud@layout@process%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@cdgeometry@process%
- \tud@cdgeometry@process%
- \global\@tud@cdgeometry@processfalse%
- \global\@tud@cdgeometry@@processfalse%
- \fi%
- \if@tud@cdgeometry@@process%
- \tud@cdgeometry@@process%
- \global\@tud@cdgeometry@@processfalse%
+\TUD@deprecated@cs{textcdfont}{textcd}%
+\TUD@deprecated@cs{tudfont}{cdfont}%
+\TUD@deprecated@cs{univln}{cdfontln}%
+\TUD@deprecated@cs{univrn}{cdfontrn}%
+\TUD@deprecated@cs{univbn}{cdfontsn}%
+\TUD@deprecated@cs{univxn}{cdfontbn}%
+\TUD@deprecated@cs{univls}{cdfontli}%
+\TUD@deprecated@cs{univrs}{cdfontri}%
+\TUD@deprecated@cs{univbs}{cdfontsi}%
+\TUD@deprecated@cs{univxs}{cdfontbi}%
+\TUD@deprecated@cs{textuln}{textcdln}%
+\TUD@deprecated@cs{texturn}{textcdrn}%
+\TUD@deprecated@cs{textubn}{textcdsn}%
+\TUD@deprecated@cs{textuxn}{textcdbn}%
+\TUD@deprecated@cs{textuls}{textcdli}%
+\TUD@deprecated@cs{texturs}{textcdri}%
+\TUD@deprecated@cs{textubs}{textcdsi}%
+\TUD@deprecated@cs{textuxs}{textcdbi}%
+\TUD@deprecated@cs{dinbn}{cdfontxn}%
+\TUD@deprecated@cs{textdbn}{textcdxn}%
+\TUD@deprecated@cs{ifdin}{@secondoftwo}
+\newrobustcmd*\tud@ifdin{%
+ \ifx\f@family\tud@cdfont@db%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
\fi%
}
+\if@tud@cdoldfont@active
+ \newcommand*\ifdin{}%
+ \let\ifdin\tud@ifdin%
+\fi
+\def\tud@res@a#1{%
+ \TUD@deprecated@cs{var#1}{it#1}%
+}
+\tud@math@loop@greeks@uc\tud@res@a%
+%%% From File: tudscr-misc.dtx
\newcommand*\tudbookmark[1][]{\@gobbletwo}
\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
@@ -6183,7 +7440,10 @@
}
\apptocmd{\titlepage}{%
\tud@x@bookmark@startatroot%
- \if@tud@cover%
+ \@tud@res@swafalse%
+ \if@tud@coverpage\@tud@res@swatrue\fi%
+ \if@titlepageiscoverpage\@tud@res@swatrue\fi%
+ \if@tud@res@swa%
\tudbookmark[%
1%
]{\coverpagename}{cover}%
@@ -6193,12 +7453,12 @@
]{\titlepagename}{title}%
\fi%
}{}{\tud@patch@wrn{titlepage}}
-\pretocmd{\tud@make@titlehead}{%
+\pretocmd{\tud@maketitle@inpage}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
1%
]{\titlename}{title}%
-}{}{\tud@patch@wrn{tud@make@titlehead}}
+}{}{\tud@patch@wrn{tud@maketitle@inpage}}
\pretocmd{\@maketitle}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
@@ -6211,10 +7471,10 @@
\iftocfeature{toc}{totoc}{}{%
\if@tud@bookmarks%
\setuptoc{toc}{totoc}%
- \tud@cmd@store{addtocontents}%
+ \tud@cs@store{addtocontents}%
\def\@tempc{%
\unsettoc{toc}{totoc}%
- \tud@cmd@restore{addtocontents}%
+ \tud@cs@restore{addtocontents}%
}%
\let\addtocontents\@gobbletwo%
\fi%
@@ -6223,41 +7483,74 @@
\AfterTOCHead[toc]{\@tempc}
\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
-\BeforePackage{tocloft}{%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- It is absolutely not recommended to use package\MessageBreak%
- `tocloft'. Loading the package will certainly lead\MessageBreak%
- to problems with table of contents and any list of\MessageBreak%
- floats. You should use the appropriate options of\MessageBreak%
- the KOMA-Script classes%
- }%
-}
-\CheckCommand*\@uclcnotmath[4]{%
- \begingroup
- #1%
- \def\({$}\let\)\(%
- \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}%
- \@nonchangecase\label
- \@nonchangecase\ref
- \@nonchangecase\ensuremath
- \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}%
- \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\reserved@a##1##2{\let#2\reserved@a}%
- \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \protected@edef\reserved@a{%
- \endgroup
- \noexpand\@skipmath#3#4$\valign$%
- }%
- \reserved@a%
+\AtBeginDocument{%
+ \if@tud@x@scr@fontsize@set\else%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth<208mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutwidth>212mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight<295mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight>299mm\relax\@tud@res@swatrue\fi%
+ \if@tud@res@swa%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ You've set a layout size, which is different from\MessageBreak%
+ default (paper=a4, paper=portrait). Therefore you\MessageBreak%
+ should additionally specify an explicit font size.\MessageBreak%
+ See the manual for further information%
+ }%
+ \fi%
+ \fi%
}
-\newcommand*\tud@x@textcase@uclcnotmath{%
- \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
- \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
+\newif\if@tud@font@set
+\newif\if@tud@math@set
+\newif\if@tud@font@skip@set
+\newif\if@tud@x@scr@headings@reset
+\newif\if@tud@cd@process
+\newif\if@tud@cdgeometry@process
+\newcommand*\tud@atdocument@process{%
+ \if@tud@font@set%
+ \tud@font@set%
+ \global\@tud@font@setfalse%
+ \global\@tud@font@skip@setfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@font@skip@set%
+ \tud@font@skip@set%
+ \global\@tud@font@skip@setfalse%
+ \fi%
+ \if@tud@math@set%
+ \tud@math@set%
+ \global\@tud@math@setfalse%
+ \fi%
+ \if@tud@x@scr@headings@reset%
+ \tud@x@scr@headings@reset%
+ \global\@tud@x@scr@headings@resetfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cd@process%
+ \tud@cd@process%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cdgeometry@process%
+ \tud@cdgeometry@process%
+ \global\@tud@cdgeometry@processfalse%
+ \fi%
}
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
- \@nonchangecase\ensuremath\tud@x@textcase@uclcnotmath%
-}{}{\tud@patch@wrn{@uclcnotmath}}
+\if@tud@cdoldfont@active
+ \RequirePackage{textcase}[2004/10/07]
+ \AfterPackage*{textcase}{%
+ \robustify\NoCaseChange%
+ \newcommand*\tud@x@textcase@uclcnotmath{%
+ \@nonchangecase\hologo%
+ \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@x@textcase@uclcnotmath%
+ }{}{\tud@patch@wrn{@uclcnotmath}}%
+ }%
+\fi
+\TUD@deprecated@cs{NoCaseChange}{@firstofone}
\endinput
%%
%% End of file `tudscrartcl.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
index 360fb9e9cf6..d275064a5cc 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
@@ -9,9 +9,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -37,7 +37,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -52,73 +52,48 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
\ProvidesPackage{tudscrbase}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(basics for the bundle)%
]
-\RequirePackage{scrbase}[2013/12/19]
-\@ifpackagelater{scrbase}{2015/10/04}{}{%
- \providecommand*\kernel@ifstar[1]{\kernel@ifnextchar*{\@firstoftwo{#1}}}%
-}
-\@ifpackagelater{scrbase}{2016/05/11}{}{%
- \renewcommand*\test@@ifdimunt[1]{%
- \@tempswafalse
- \ifstr{#1}{pt}{\@tempswatrue}{%
- \ifstr{#1}{pc}{\@tempswatrue}{%
- \ifstr{#1}{in}{\@tempswatrue}{%
- \ifstr{#1}{bp}{\@tempswatrue}{%
- \ifstr{#1}{cm}{\@tempswatrue}{%
- \ifstr{#1}{mm}{\@tempswatrue}{%
- \ifstr{#1}{dd}{\@tempswatrue}{%
- \ifstr{#1}{cc}{\@tempswatrue}{%
- \ifstr{#1}{sp}{\@tempswatrue}{%
- \ifstr{#1}{ex}{\@tempswatrue}{%
- \ifstr{#1}{em}{\@tempswatrue}{%
- \scr@ifpdfoutput{%
- \ifstr{#1}{px}{\@tempswatrue}{}%
- }{}%
- }%
- }%
- }%
- }%
- }%
- }%
- }%
- }%
- }%
- }%
- }%
- }%
-}
+\RequirePackage{scrbase}[2018/03/30]
\RequirePackage{etoolbox}[2011/01/03]
+\RequirePackage{xpatch}[2012/10/02]
+\RequirePackage{letltxmacro}[2016/05/16]
\RequirePackage{etexcmds}[2011/02/16]
\RequirePackage{kvsetkeys}[2012/04/25]
+\RequirePackage{trimspaces}[2009/09/17]
\newcommand*\tud@reserved{}
+\newcommand*\tud@res@a{}
+\newcommand*\tud@res@b{}
+\newcommand*\tud@res@c{}
+\newif\if@tud@res@swa
+\newcount\tud@res@cnt
+\newread\tud@res@read
\newtoks\tud@toks@
\newcommand*\eaddto@hook[2]{%
\expandafter\addto@hook\expandafter#1\expandafter{#2}%
}
\newcommand*\ifxblank{\ifstr{}}
-\newcommand*\ifxnumber[1]{%
- \if\relax\detokenize\expandafter{\romannumeral-0#1}\relax%
- \expandafter\@firstoftwo%
- \else%
- \expandafter\@secondoftwo%
- \fi%
-}
\newcommand*\ifstrbool[4]{%
\ifstr{#1}{true}{#2}{%
\ifstr{#1}{on}{#2}{%
@@ -134,21 +109,6 @@
}%
}%
}
-\newcommand*\ifxlen[1]{%
- \begingroup%
- \protected@edef\@tempa{#1}%
- \@tempswafalse%
- \expandafter\ifisdimen\expandafter{\@tempa}{\@tempswatrue}{}%
- \expandafter\ifisskip\expandafter{\@tempa}{\@tempswatrue}{}%
- \expandafter\ifisdimexpr\expandafter{\@tempa}{\@tempswatrue}{}%
- \if@tempswa\edef\@tempa{\the\@tempa}\fi%
- \expandafter\ifdimen\expandafter{\@tempa}{%
- \aftergroup\@firstoftwo%
- }{%
- \aftergroup\@secondoftwo%
- }%
- \endgroup
-}
\newcommand*\iflanguageloaded[1]{%
\PackageWarning{tudscrbase}{%
Whether package `babel' nor package `polyglossia' has been loaded%
@@ -192,10 +152,10 @@
\@whiledim\dimexpr\@tempcnta\@tempdimc\relax<.01\maxdimen\do{%
\multiply\@tempcnta by 10\relax%
}%
- \setlength{\@tempdimc}{%
+ \setlength\@tempdimc{%
\dimexpr(\@tempcnta\@tempdima / \@tempdimb * \p@)\relax%
}%
- \setlength{\@tempdimc}{\dimexpr \@tempdimc/\@tempcnta\relax}%
+ \setlength\@tempdimc{\dimexpr \@tempdimc/\@tempcnta\relax}%
\edef\@tempa{\endgroup\def\noexpand#1{\strip@pt\@tempdimc}}%
\@tempa%
}
@@ -205,87 +165,127 @@
\expandafter\def\expandafter #1\expandafter{#1}%
}%
}
-\newcommand*\tud@font@koma@set[2]{%
- \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
- \csdef{tud@font@koma@#1}{#2\nobreak}%
+\newcommand*\tud@komafont@set[2]{%
+ \ifcsdef{tud@komafont@#1}{}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}%
+ \csdef{tud@komafont@#1}{#2\nobreak}%
}
-\newcommand*\tud@font@koma@unset[1]{%
- \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
- \csdef{tud@font@koma@#1}{\relax}%
+\newcommand*\tud@komafont@unset[1]{%
+ \ifcsdef{tud@komafont@#1}{}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}%
+ \csdef{tud@komafont@#1}{\relax}%
}
-\newcommand*\tud@font@koma@reset[1]{%
- \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}%
+\newcommand*\tud@komafont@reset[1]{%
+ \ifcsdef{tud@komafont@#1}{\addtokomafont{#1}{\csuse{tud@komafont@#1}}}{}%
}
\DefineFamily{TUD}
\newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}}
\newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}}
\newcommand*\TUDoptions{\FamilyOptions{TUD}}
\newcommand*\TUDoption{\FamilyOption{TUD}}
-\newcommand*\TUD@key[1][.\@currname.\@currext]{%
+\newcommand*\TUD@key[2][.\@currname.\@currext]{%
+ \providebool{@tud@key@#2@set}%
\DefineFamilyMember[{#1}]{TUD}%
- \DefineFamilyKey[{#1}]{TUD}%
+ \kernel@ifnextchar[%]
+ {\TUD@key@define{#1}{#2}}%
+ {\TUD@key@@define{#1}{#2}}%
+}
+\newcommand*\TUD@key@define{}
+\def\TUD@key@define#1#2[#3]#4{%
+ \DefineFamilyKey[{#1}]{TUD}{#2}[{#3}]{%
+ #4%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \booltrue{@tud@key@#2@set}%
+ \fi%
+ }%
+}
+\newcommand*\TUD@key@@define{}
+\def\TUD@key@@define#1#2#3{%
+ \DefineFamilyKey[{#1}]{TUD}{#2}{%
+ #3%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \booltrue{@tud@key@#2@set}%
+ \fi%
+ }%
}
-\newcommand*\TUD@ifkey[1][.\@currname.\@currext]{%
- \DefineFamilyMember{TUD}%
- \FamilyBoolKey[#1]{TUD}%
+\newcommand*\TUD@key@preset[2]{%
+ \ifbool{@tud@key@#1@set}{}{%
+ \TUDoption{#1}{#2}%
+ \boolfalse{@tud@key@#1@set}%
+ }%
}
-\newcommand*\TUD@set@ifkey{\FamilySetBool{TUD}}
-\newcommand*\TUD@numkey[1][.\@currname.\@currext]{%
- \DefineFamilyMember{TUD}%
- \FamilyNumericalKey[#1]{TUD}%
+\newcommand*\TUD@set@ifkey[3]{%
+ \tud@lowerstring\tud@res@a{#3}%
+ \edef\tud@res@b{%
+ \etex@unexpanded{\FamilySetBool{TUD}{#1}{#2}}{\tud@res@a}%
+ }\tud@res@b%
+}
+\newcommand*\TUD@set@numkey[4]{%
+ \tud@lowerstring\tud@res@a{#4}%
+ \edef\tud@res@b{%
+ \etex@unexpanded{\FamilySetNumerical{TUD}{#1}{#2}{#3}}{\tud@res@a}%
+ }\tud@res@b%
}
\newcommand*\TUD@bool@numkey{%
{false}{0},{off}{0},{no}{0},{true}{1},{on}{1},{yes}{1}%
}
-\newcommand*\TUD@set@numkey{\FamilySetNumerical{TUD}}
-\newcommand*\TUD@lengthkey[1][.\@currname.\@currext]{%
- \DefineFamilyMember{TUD}%
- \FamilyLengthKey[#1]{TUD}%
-}
-\newcommand*\TUD@set@lengthkey{\FamilySetLength{TUD}}
\newcommand*\TUD@set@dimenkey[3]{%
- \ifxlen{#3}{%
- \def#2{#3}%
- \FamilyKeyStateProcessed%
- }{%
- \TUD@unknown@keyval{#1}{#3}{dimens}%
- }%
+ \tud@lowerstring\tud@res@a{#3}%
+ \edef\tud@res@b{%
+ \etex@unexpanded{\FamilySetUseLengthMacro{TUD}{#1}{#2}}{\tud@res@a}%
+ }\tud@res@b%
}
\newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}}
-\newcommand*\TUD@key@lock[2][.\@currname.\@currext]{%
- \newbool{@tud@#2@locked}%
- \TUD@key[{#1}]{#2}%
+\newcommand*\tud@locked@newnum[2]{%
+ \expandafter\newcommand\expandafter*\csname#1\endcsname{#2}%
+ \newbool{#1@locked}%
+ \tud@num@set{#1}{#2}%
}
-\newcommand*\TUD@std@ifkey@lock[3]{%
- \ifbool{@tud@#1@locked}{}{%
- \TUD@set@ifkey{#1}{#2}{#3}%
- \boolfalse{@tud@#1@locked}%
+\newcommand*\tud@locked@num@preset[2]{%
+ \ifbool{#1@locked}{}{%
+ \tud@num@set{#1}{#2}%
+ \boolfalse{#1@locked}%
}%
}
-\newcommand*\TUD@set@ifkey@lock[1]{%
- \booltrue{@tud@#1@locked}%
- \TUD@set@ifkey{#1}%
+\newcommand*\tud@locked@num@set[2]{%
+ \tud@num@set{#1}{#2}%
+ \booltrue{#1@locked}%
}
-\let\TUD@std@numkey@lock\TUD@std@ifkey@lock
-\newcommand*\TUD@set@numkey@lock[1]{%
- \booltrue{@tud@#1@locked}%
- \TUD@set@numkey{#1}%
+\newcommand*\tud@num@set[2]{%
+ \ifcsdef{#1}{%
+ \ifnumber{#2}{%
+ \csdef{#1}{#2}%
+ }{%
+ \PackageError{tudscrbase}{%
+ `#2' is not a valid numerical expression%
+ }{%
+ You set the numerical expression `\@backslashchar#1'\MessageBreak%
+ to value `#2', which isn't numerical.%
+ }%
+ }%
+ }{%
+ \PackageError{tudscrbase}{%
+ `\@backslashchar#1' was never defined%
+ }{%
+ You tried using the numerical expression `\@backslashchar#1'\MessageBreak%
+ but you didn't define it with `\string\tud@locked@newnum'.%
+ }%
+ }%
}
-\newcommand*\cs@lock[2]{%
- \expandafter\newcommand\expandafter*\csname#1\endcsname{#2}%
- \newbool{#1@locked}%
+\newcommand*\tud@locked@newbool[2][false]{%
+ \newbool{#2}%
+ \newbool{#2@locked}%
+ \tud@bool@set{#2}{#1}%
}
-\newcommand*\cs@std@lock[2]{%
+\newcommand*\tud@locked@bool@preset[2]{%
\ifbool{#1@locked}{}{%
- \csdef{#1}{#2}%
+ \tud@bool@set{#1}{#2}%
\boolfalse{#1@locked}%
}%
}
-\newcommand*\cs@set@lock[2]{%
- \csdef{#1}{#2}%
+\newcommand*\tud@locked@bool@set[2]{%
+ \tud@bool@set{#1}{#2}%
\booltrue{#1@locked}%
}
-\newcommand*\tud@setbool[2]{%
+\newcommand*\tud@bool@set[2]{%
\ifstrbool{#2}{\booltrue{#1}}{\boolfalse{#1}}{%
\PackageError{tudscrbase}{%
`#2' is not a valid boolean expression%
@@ -296,54 +296,53 @@
}%
}%
}
-\newcommand*\bool@lock[2][false]{%
- \newbool{#2}%
- \newbool{#2@locked}%
- \tud@setbool{#2}{#1}%
+\newcommand*\tud@cs@letltx[2]{%
+ \expandafter\expandafter\expandafter\LetLtxMacro%
+ \expandafter\csname #1\expandafter\endcsname\csname #2\endcsname%
}
-\newcommand*\bool@std@lock[2]{%
- \ifbool{#1@locked}{}{%
- \tud@setbool{#1}{#2}%
- \boolfalse{#1@locked}%
+\newrobustcmd*\tud@cs@store[1]{%
+ \tud@cs@check{#1}%
+ \ifcsdef{@@tud@#1}{}{%
+ \tud@cs@letltx{@@tud@#1}{#1}%
}%
}
-\newcommand*\bool@set@lock[2]{%
- \tud@setbool{#1}{#2}%
- \booltrue{#1@locked}%
-}
-\newcommand*\tud@cmd@store[1]{%
- \tud@cmd@check{#1}%
- \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}%
-}
-\newcommand*\tud@cmd@restore[1]{%
- \tud@cmd@check{#1}%
+\newrobustcmd*\tud@cs@restore[1]{%
+ \ifcsdef{#1}{}{%
+ \ifcsdef{@@tud@#1}{%
+ \cslet{#1}{\relax}%
+ }{}%
+ }%
+ \tud@cs@check{#1}%
\ifcsdef{@@tud@#1}{%
- \csletcs{#1}{@@tud@#1}%
+ \tud@cs@letltx{#1}{@@tud@#1}%
\csundef{@@tud@#1}%
}{}%
}
-\newcommand*\tud@cmd@reset[1]{%
- \tud@cmd@check{#1}%
- \ifcsdef{@@tud@#1}{\csletcs{#1}{@@tud@#1}}{}%
+\newrobustcmd*\tud@cs@reset[1]{%
+ \tud@cs@check{#1}%
+ \ifcsdef{@@tud@#1}{%
+ \tud@cs@letltx{#1}{@@tud@#1}%
+ }{}%
}
-\newcommand*\tud@cmd@update[1]{%
- \tud@cmd@check{#1}%
- \ifcsdef{@@tud@#1}{\csletcs{@@tud@#1}{#1}}{}%
+\newrobustcmd*\tud@cs@update[1]{%
+ \tud@cs@check{#1}%
+ \ifcsdef{@@tud@#1}{%
+ \tud@cs@letltx{@@tud@#1}{#1}%
+ }{}%
}
-\newcommand*\tud@cmd@use[1]{%
- \tud@cmd@check{#1}%
+\newrobustcmd*\tud@cs@use[1]{%
+ \tud@cs@check{#1}%
\ifcsdef{@@tud@#1}{%
\csuse{@@tud@#1}%
}{%
\csuse{#1}%
}%
}
-\newcommand*\tud@cmd@check[1]{%
+\newrobustcmd*\tud@cs@check[1]{%
\ifcsdef{#1}{}{%
- \PackageError{%
- tudscrbase%
- }{`\@backslashchar#1' is not defined}{%
- The command `\@backslashchar#1' was never defined\MessageBreak%
+ \PackageError{tudscrbase}{%
+ `\@backslashchar#1' is not defined}{%
+ The command `\@backslashchar#1' was never defined.\MessageBreak%
Please contact the TUD-Script maintainer\MessageBreak%
via \tudscrmail. A bugfix is urgently required.%
}%
@@ -412,7 +411,7 @@
argument of \string\TUD@parameter@family\space has to be\MessageBreak%
a unique family name. Alternatively, you can specify\MessageBreak%
the family name within the optional argument of\MessageBreak%
- \@backslashchar#2.
+ \@backslashchar#2.%
}%
}{}%
}
@@ -428,13 +427,13 @@
\newcommand*\TUD@parameter@nokey{@nokey@}
\newcommand*\TUD@parameter@set[2]{%
\IfArgIsEmpty{#2}{}{%
- \def\@tempb{}%
+ \let\@tempb\@empty%
\def\@tempa##1{%
\@expandtwoargs\in@{=}{##1}%
\ifin@%
\appto\@tempb{##1,}%
\else%
- \begingroup
+ \begingroup%
\let\IeC\@firstofone%
\def\"####1{####1e}%
\def\ss{ss}%
@@ -478,7 +477,7 @@
}%
\appto\@tempa{%
\ifstr{\kv@value}{twocolumn}{\def\kv@value{2}}{}%
- \ifxnumber{\kv@value}{\def\tud@reserved{columns=\kv@value}}{}%
+ \ifnumber{\kv@value}{\def\tud@reserved{columns=\kv@value}}{}%
\iflanguageloaded{\kv@value}{\def\tud@reserved{language=\kv@value}}{}%
\ifx\tud@reserved\relax%
\PackageError{tudscrbase}{%
@@ -486,7 +485,7 @@
}{%
If `\kv@value' is a language, you haven't loaded it.\MessageBreak%
Otherwise, there's no handler for the given value.\MessageBreak%
- You should specify a certian key (<key>=\kv@value).
+ You should specify a certian key (<key>=\kv@value).%
}%
\fi%
}%
@@ -504,6 +503,64 @@
}%
}
\newcommand*\TUD@UnwindPackage[2]{\AtEndPreamble{\@ifpackageloaded{#1}{}{#2}}}
+\@onlypreamble\TUD@UnwindPackage
+\newcommand*\TUD@CheckPackage[2]{%
+ \tud@if@packagelater@exists{#1}{#2}{}{%
+ \PackageWarningNoLine{tudscrbase}{%
+ The version `#2' of package `#1'\MessageBreak%
+ is urgently required. An erroneous output\MessageBreak
+ may occur. Please update your distribution%
+ }%
+ \IfFileExists{#1.\@pkgextension}{}{\RequirePackage{#1}[#2]}%
+ }%
+}
+\@onlypreamble\TUD@CheckPackage
+\newcommand*\tud@if@packagelater@exists[2]{%
+ \begingroup%
+ \let\tud@res@a\@empty%
+ \def\tud@res@b[##1]{\def\tud@res@a{##1}}%
+ \def\ProvidesPackage##1{%
+ \@ifnextchar[%]
+ {\tud@res@b}{\tud@res@b[]}%
+ }%
+ \IfFileExists{#1.\@pkgextension}{%
+ \openin\tud@res@read=#1.\@pkgextension%
+ \@tud@res@swatrue%
+ \loop%
+ \read\tud@res@read to\tud@res@c%
+ \@expandtwoargs\in@{\string\ProvidesPackage}%
+ {\expandafter\detokenize\expandafter{\tud@res@c}}%
+ \ifin@%
+ \@tud@res@swafalse%
+ \tud@res@c%
+ \fi%
+ \ifeof\tud@res@read\@tud@res@swafalse\fi%
+ \if@tud@res@swa%
+ \repeat%
+ \closein\tud@res@read%
+ }{}%
+ \edef\tud@res@a{\endgroup\noexpand\@ifl@t@r{\tud@res@a}{#2}}
+ \tud@res@a%
+}
+\@onlypreamble\tud@if@packagelater@exists
+\newcommand*\TUD@RecommendPackage[1]{%
+ \kernel@ifnextchar[%]
+ {\TUD@@RecommendPackage#1}%
+ {\TUD@@RecommendPackage#1[]}%
+}
+\@onlypreamble\TUD@RecommendPackage
+\newcommand*\TUD@@RecommendPackage{}
+\def\TUD@@RecommendPackage#1[#2]{%
+ \IfFileExists{#1.sty}{%
+ \RequirePackage{#1}[#2]%
+ }{%
+ \PackageWarning{tudscrbase}{%
+ The usage of package `#1' (#2) is\MessageBreak%
+ recommended but it isn't installed%
+ }%
+ }%
+}
+\@onlypreamble\TUD@@RecommendPackage
\newcommand*\TUD@AfterPackage@set[1]{%
\newbool{@tud@#1@loaded}%
\AfterPackage!{#1}{\booltrue{@tud@#1@loaded}}%
@@ -524,16 +581,16 @@
}%
}
\newcommand*\TUD@KOMAoptions[1]{}
-\ifdef{\KOMAClassName}{%
- \let\TUD@KOMAoptions\KOMAoptions
-}{%
+\ifundef{\KOMAClassName}{%
\renewcommand*\TUD@KOMAoptions[1]{%
\PackageWarning{tudscrbase}{%
You should load package `scrextend' right after the\MessageBreak%
documentclass. Option \string\TUD@KOMAoptions{`#1'} is gobbled%
}%
}%
- \AfterPackage*{scrextend}{\let\TUD@KOMAoptions\KOMAoptions}
+ \AfterPackage*{scrextend}{\let\TUD@KOMAoptions\KOMAoptions}%
+}{%
+ \let\TUD@KOMAoptions\KOMAoptions%
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
index b2387c068e9..c698df4c99e 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
@@ -12,13 +12,13 @@
%% tudscr-layout.dtx (with options: `class,book,option')
%% tudscr-title.dtx (with options: `class,book,option')
%% tudscr-frontmatter.dtx (with options: `class,book,option')
-%% tudscr-comp.dtx (with options: `class,book,option')
%% tudscr-misc.dtx (with options: `class,book,option')
+%% tudscr-comp.dtx (with options: `class,book,option')
%% tudscr-misc.dtx (with options: `class,book,execute')
%% tudscr-base.dtx (with options: `class,book,body')
%% tudscr-fonts.dtx (with options: `class,book,body')
%% tudscr-fields.dtx (with options: `class,book,body')
-%% tudscr-locale.dtx (with options: `class,book,body')
+%% tudscr-localization.dtx (with options: `class,book,body')
%% tudscr-area.dtx (with options: `class,book,body')
%% tudscr-pagestyle.dtx (with options: `class,book,body')
%% tudscr-layout.dtx (with options: `class,book,body')
@@ -29,9 +29,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -57,7 +57,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -72,13 +72,13 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\newcommand*\TUD@ProvidesClass[3]{%
\ProvidesClass{#1}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
^^J#3 (#2)%
]%
\newcommand*\TUD@Class@KOMA{#2}%
@@ -88,22 +88,29 @@
\fi%
}
\providecommand*\TUD@Class@Info{%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{+------------------------------------------------------------------}%
\typeout{| Corporate Design of Technische Universitaet Dresden}%
- \typeout{| Class: \TUD@Class@Name}%
- \typeout{| Version: \TUD@Version}%
- \typeout{| Author: Falk Hanisch (\tudscrmail)}%
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{| Class: \TUD@Class@Name}%
+ \typeout{| Version: \TUD@Version}%
+ \typeout{| Author: Falk Hanisch (\tudscrmail)}%
+ \typeout{| Repository: https://github.com/tud-cd/tudscr}%
+ \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}%
+ \typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesClass{tudscrbook}{scrbook}{document class}
\edef\TUDScriptClassName{\TUD@Class@Name}
\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
@@ -117,25 +124,11 @@
a TUD-Script class%
}%
]{tudscrfonts}
-\newif\if@tud@x@fontspec@enabled
-\AfterPackage*{fontspec}{%
- \@ifpackagelater{fontspec}{2017/01/24}{%
- \@tud@x@fontspec@enabledtrue%
- }{%
- \@tud@x@fontspec@enabledfalse%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- Version `2017/01/24' of package `fontspec' is needed,\MessageBreak
- but only version\MessageBreak
- `\csname ver@fontspec.sty\endcsname'\MessageBreak
- is available, so a fallback layout is used%
- }%
- }%
-}
-\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@active
+\newif\if@tud@cdfont@heavy
\newif\if@tud@cdfont@ultrabold
-\@tud@cdfont@dintrue
-\newcommand*\tud@cdfont@num{1}
+\newif\if@tud@cdfont@lining
+\@tud@cdfont@liningtrue
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@bool@numkey,%
@@ -144,109 +137,205 @@
{normalbold}{3},{boldnormal}{3},%
{ultrabold}{4},{boldultra}{4},{heavybold}{4},{boldheavy}{4},%
{extendedbold}{4},{boldextended}{4},%
- {nodin}{5},{nodinbold}{5},{noDIN}{5},{noDINBold}{5},%
- {din}{6},{dinbold}{6},{DIN}{6},{DINBold}{6},%
- {nohead}{7},{nocdhead}{7},{noheadfont}{7},{noheadcdfont}{7},%
- {nocdheadfont}{7},{nobar}{7},{nobarfont}{7},%
- {head}{8},{headfont}{8},{cdhead}{8},{headcdfont}{8},{cdheadfont}{8},%
- {bar}{8},{barfont}{8},%
- {lighthead}{8},{lightheadfont}{8},{lightfonthead}{8},%
- {lightcdhead}{8},{lightheadcdfont}{8},{lightcdheadfont}{8},%
- {lightbar}{8},{lightbarfont}{8},{lightfontbar}{8},%
- {headlight}{8},{headfontlight}{8},{headlightfont}{8},%
- {cdheadlight}{8},{headcdfontlight}{8},{cdheadfontlight}{8},%
- {barlight}{8},{barfontlight}{8},{barlightfont}{8},%
- {litehead}{8},{liteheadfont}{8},{litefonthead}{8},%
- {litecdhead}{8},{liteheadcdfont}{8},{litecdheadfont}{8},%
- {litebar}{8},{litebarfont}{8},{litefontbar}{8},%
- {headlite}{8},{headfontlite}{8},{headlitefont}{8},%
- {cdheadlite}{8},{headcdfontlite}{8},{cdheadfontlite}{8},%
- {barlite}{8},{barfontlite}{8},{barlitefont}{8},%
- {noheavyhead}{8},{noheavyheadfont}{8},{noheavyfonthead}{8},%
- {noheavycdhead}{8},{noheavyheadcdfont}{8},{noheavycdheadfont}{8},%
- {noheavybar}{8},{noheavybarfont}{8},{noheavyfontbar}{8},%
- {headnoheavy}{8},{headfontnoheavy}{8},{headnoheavyfont}{8},%
- {cdheadnoheavy}{8},{headcdfontnoheavy}{8},{cdheadfontnoheavy}{8},%
- {barnoheavy}{8},{barfontnoheavy}{8},{barnoheavyfont}{8},%
- {heavyhead}{9},{heavyheadfont}{9},{heavyfonthead}{9},%
- {heavycdhead}{9},{heavyheadcdfont}{9},{heavycdheadfont}{9},%
- {heavybar}{9},{heavybarfont}{9},{heavyfontbar}{9},%
- {headheavy}{9},{headfontheavy}{9},{headheavyfont}{9},%
- {cdheadheavy}{9},{headcdfontheavy}{9},{cdheadfontheavy}{9},%
- {barheavy}{9},{barfontheavy}{9},{barheavyfont}{9},%
- {nomath}{10},{nocdmath}{10},%
- {serifmath}{10},{serif}{10},{nosansmath}{10},{nosans}{10},%
- {math}{11},{cdmath}{11},{sansmath}{11},{sans}{11},%
- {upgreek}{12},{upright}{12},{uprightgreek}{12},{uprightGreek}{12},%
- {slgreek}{13},{slanted}{13},{slantedgreek}{13},{slantedGreek}{13},%
- {fontspec}{14},{luatex}{14},{lualatex}{14}{xetex}{14},{xelatex}{14},%
- {nofontspec}{15},{nfss}{15},{pdftex}{15},{pdflatex}{15}%
+ {lf}{5},{lfigures}{5},{liningfigures}{5},{lining}{5},%
+ {ln}{5},{lnumbers}{5},{liningnumbers}{5},%
+ {nf}{5},{nfigures}{5},{normalfigures}{5},%
+ {nn}{5},{nnumbers}{5},{normalnumbers}{5},%
+ {osf}{6},{osfigures}{6},{oldfigures}{6},{oldstylefigures}{6},{oldstyle}{6},%
+ {osn}{6},{osnumbers}{6},{oldnumbers}{6},{oldstylenumbers}{6},%
+ {nomath}{7},{nocdmath}{7},%
+ {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},%
+ {math}{8},{cdmath}{8},{sansmath}{8},{sans}{8},%
+ {upgreek}{9},{uprightgreek}{9},{uprightgreeks}{9},%
+ {slgreek}{10},{slantedgreek}{10},{slantedgreeks}{10},%
+ {itgreek}{10},{italicgreek}{10},{italicgreeks}{10},%
+ {texgreek}{11},{latexgreek}{11},{texgreeks}{11},{latexgreeks}{11},%
+ {standardgreek}{11},{standardgreeks}{11},%
+ {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
+ {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ ,{nohead}{14},{nocdhead}{14},{noheadfont}{14},{noheadcdfont}{14},%
+ {nocdheadfont}{14},{nobar}{14},{nobarfont}{14},%
+ {head}{15},{headfont}{15},{cdhead}{15},{headcdfont}{15},{cdheadfont}{15},%
+ {bar}{15},{barfont}{15},%
+ {lighthead}{15},{lightheadfont}{15},{lightfonthead}{15},%
+ {lightcdhead}{15},{lightheadcdfont}{15},{lightcdheadfont}{15},%
+ {lightbar}{15},{lightbarfont}{15},{lightfontbar}{15},%
+ {headlight}{15},{headfontlight}{15},{headlightfont}{15},%
+ {cdheadlight}{15},{headcdfontlight}{15},{cdheadfontlight}{15},%
+ {barlight}{15},{barfontlight}{15},{barlightfont}{15},%
+ {litehead}{15},{liteheadfont}{15},{litefonthead}{15},%
+ {litecdhead}{15},{liteheadcdfont}{15},{litecdheadfont}{15},%
+ {litebar}{15},{litebarfont}{15},{litefontbar}{15},%
+ {headlite}{15},{headfontlite}{15},{headlitefont}{15},%
+ {cdheadlite}{15},{headcdfontlite}{15},{cdheadfontlite}{15},%
+ {barlite}{15},{barfontlite}{15},{barlitefont}{15},%
+ {noheavyhead}{15},{noheavyheadfont}{15},{noheavyfonthead}{15},%
+ {noheavycdhead}{15},{noheavyheadcdfont}{15},{noheavycdheadfont}{15},%
+ {noheavybar}{15},{noheavybarfont}{15},{noheavyfontbar}{15},%
+ {headnoheavy}{15},{headfontnoheavy}{15},{headnoheavyfont}{15},%
+ {cdheadnoheavy}{15},{headcdfontnoheavy}{15},{cdheadfontnoheavy}{15},%
+ {barnoheavy}{15},{barfontnoheavy}{15},{barnoheavyfont}{15},%
+ {heavyhead}{16},{heavyheadfont}{16},{heavyfonthead}{16},%
+ {heavycdhead}{16},{heavyheadcdfont}{16},{heavycdheadfont}{16},%
+ {heavybar}{16},{heavybarfont}{16},{heavyfontbar}{16},%
+ {headheavy}{16},{headfontheavy}{16},{headheavyfont}{16},%
+ {cdheadheavy}{16},{headcdfontheavy}{16},{cdheadfontheavy}{16},%
+ {barheavy}{16},{barfontheavy}{16},{barheavyfont}{16}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@deactivate%
\or% true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavyfalse%
+ \tud@cdfont@activate%
\or% heavy
- \renewcommand*\tud@cdfont@num{2}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavytrue%
+ \tud@cdfont@activate%
\or% normalbold
\@tud@cdfont@ultraboldfalse%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@activate%
\or% ultrabold
\@tud@cdfont@ultraboldtrue%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \or% nodin
- \@tud@cdfont@dinfalse%
- \or% din
- \@tud@cdfont@dintrue%
- \or% nohead
- \TUDoptions{cdhead=false}%
- \or% head
- \TUDoptions{cdhead=true}%
- \or% heavyhead
- \TUDoptions{cdhead=heavy}%
+ \tud@cdfont@activate%
+ \or% liningfigures
+ \@tud@cdfont@liningtrue%
+ \tud@cdfont@activate%
+ \or% oldstylefigures
+ \@tud@cdfont@liningfalse%
+ \tud@cdfont@activate%
\or% nomath
\TUDoptions{cdmath=false}%
\or% math
\TUDoptions{cdmath=true}%
- \or% upgreek
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\or% fontspec
\TUDoptions{fontspec=true}%
\or% nofontspec
\TUDoptions{fontspec=false}%
+ \or% nohead
+ \TUDoptions{cdhead=false}%
+ \or% head
+ \TUDoptions{cdhead=true}%
+ \or% heavyhead
+ \TUDoptions{cdhead=heavy}%
\fi%
\else%
- \ifdimen{#1}{%
- \ifdim#1>\z@\relax%
- \TUD@KOMAoptions{fontsize=#1}%
- \csname @tud@fontsize@settrue\endcsname%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \fi%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{%
+ \ifdim\tud@res@a>\z@\relax%
+ \TUDoptions{fontsize=#1}%
+ \tud@cdfont@activate%
\FamilyKeyStateProcessed%
\fi%
}{}%
\fi%
}
+\newcommand*\tud@cdfont@activate{%
+ \@tud@cdfont@activetrue%
+ \if@tud@cdfont@heavy%
+ \tud@locked@num@preset{tud@head@font@num}{2}%
+ \else%
+ \tud@locked@num@preset{tud@head@font@num}{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newcommand*\tud@cdfont@deactivate{%
+ \@tud@cdfont@activefalse%
+ \tud@locked@num@preset{tud@head@font@num}{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newif\if@tud@cdoldfont@active
+\newif\if@tud@cdoldfont@nodin
+\TUD@key{cdoldfont}[true]{%
+ \TUD@set@numkey{cdoldfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@cdoldfont@activefalse%
+ \@tud@cdoldfont@nodintrue%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@deactivate%
+ \fi%
+ \or% true/din
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@activate%
+ \or% nodin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodintrue%
+ \tud@cdfont@activate%
+ \or% onlydin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@deactivate%
+ \fi%
+ \else%
+ \@tud@cdoldfont@activetrue%
+ \TUDoptions{cdfont=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \if@tud@cdoldfont@active%
+ \let\@tud@cdoldfont@activefalse\@tud@cdoldfont@activetrue%
+ \TUD@key[.comp]{cdfont}{%
+ \TUD@set@numkey{cdfont}{@tempa}{%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUDoptions{cdoldfont=#1}%
+ \fi%
+ }%
+ \else%
+ \TUD@key{cdoldfont}[]{%
+ \ClassError{\TUD@Class@Name}%
+ {Option `cdoldfont' not active}{%
+ Option `cdoldfont' must be activated while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \fi%
+}
+\newif\if@tud@x@scr@fontsize@set
+\TUD@key{fontsize}{%
+ \TUD@set@dimenkey{fontsize}{\@tempa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \@tud@x@scr@fontsize@settrue%
+ \TUD@KOMAoptions{fontsize=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \RelaxFamilyKey{TUD}{fontsize}%
+ \DefineFamilyMember{KOMA}%
+ \DefineFamilyKey{KOMA}{fontsize}{%
+ \@tud@x@scr@fontsize@settrue%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The key `fontsize=#1' should only be\MessageBreak%
+ used as class option%
+ }%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \FamilyKeyStateProcessed%
+ }%
+}
\newif\if@tud@relspacing
\TUD@key{relspacing}[true]{%
\TUD@set@numkey{relspacing}{@tempa}{%
@@ -263,50 +352,91 @@
\TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
-\DefineFamilyMember{KOMA}
-\DefineFamilyKey{KOMA}{fontsize}{%
- \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
- \FamilyKeyStateProcessed%
+\newcommand*\tud@ttfont@num{0}
+\TUD@key{ttfont}[true]{%
+ \TUD@set@numkey{ttfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {roboto}{1},{roboto-mono}{1},{robo}{1},%
+ {lm}{2},{lmtt}{2},{lmodern}{2}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@ttfont@num{0}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@num{1}%
+ \or% lmodern
+ \renewcommand*\tud@ttfont@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
}
-\bool@lock{@tud@cdmath}
-\bool@std@lock{@tud@cdmath}{true}%
+\tud@locked@newbool{@tud@cdmath@active}
+\tud@locked@bool@preset{@tud@cdmath@active}{true}%
\TUD@key{cdmath}[true]{%
\TUD@set@numkey{cdmath}{@tempa}{%
\TUD@bool@numkey,%
{serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
{sansmath}{1},{sans}{1},%
- {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
- {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ {upgreek}{2},{uprightgreek}{2},{uprightgreeks}{2},%
+ {slgreek}{3},{slantedgreek}{3},{slantedgreeks}{3},%
+ {itgreek}{3},{italicgreek}{3},{italicgreeks}{3},%
+ {texgreek}{4},{latexgreek}{4},{texgreeks}{4},{latexgreeks}{4},%
+ {standardgreek}{4},{standardgreeks}{4}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \bool@set@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \tud@locked@bool@set{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\or% true
- \bool@set@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
- \or% upgreek
+ \tud@locked@bool@set{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\fi%
\fi%
}
-\bool@lock{@tud@slantedgreek}
+\newcommand*\tud@slantedgreek@num{0}
\TUD@key{slantedgreek}[true]{%
- \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
+ \TUD@set@numkey{slantedgreek}{@tempa}{%
+ \TUD@bool@numkey,%
+ {up}{0},{upright}{0},%
+ {sl}{1},{slanted}{1},{it}{1},{italic}{1},%
+ {standard}{2},{std}{2},{tex}{2},{latex}{2},{stdgrk}{2},{stdgrks}{2},%
+ {standardgreek}{2},{standardgreeks}{2},%
+ {texgreek}{2},{latexgreek}{2},{texgreeks}{2},{latexgreeks}{2}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \bool@set@lock{@tud@slantedgreek}{#1}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \ifcase\@tempa\relax% upright
+ \renewcommand*\tud@slantedgreek@num{0}%
+ \or% slanted
+ \renewcommand*\tud@slantedgreek@num{1}%
+ \or% standard
+ \renewcommand*\tud@slantedgreek@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+\TUD@key{slantedGreeks}[true]{\TUDoptions{slantedgreek=#1}}
+\newif\if@tud@lgrgreeks
+\TUD@key{lgrgreeks}[true]{\TUD@set@ifkey{lgrgreeks}{@tud@lgrgreeks}{#1}}
+\TUD@key{lgrgreek}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreeks}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreek}[true]{\TUDoptions{lgrgreeks=#1}}
%%% From File: tudscr-area.dtx
-\cs@lock{tud@cdgeometry@num}{0}
+\newif\if@tud@cdgeometry@reset
+\newcommand*\tud@cdgeometry@reset[1]{%
+ \@tud@cdgeometry@resettrue%
+ \TUDoptions{cdgeometry=#1}%
+ \@tud@cdgeometry@resetfalse%
+}
+\tud@locked@newnum{tud@cdgeometry@num}{0}
\newcommand*\tud@cdgeometry@calc@num{0}
\TUD@key{cdgeometry}[true]{%
- \let\@tempb\tud@cdgeometry@num%
- \let\@tempc\tud@cdgeometry@calc@num%
\TUD@set@numkey{cdgeometry}{@tempa}{%
\TUD@bool@numkey,%
{typearea}{0},%
@@ -322,36 +452,42 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false/typearea
- \cs@set@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@set{tud@cdgeometry@num}{0}%
\or% true/cd
- \cs@set@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@set{tud@cdgeometry@num}{2}%
\or% symmetric
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\or% twoside
- \cs@set@lock{tud@cdgeometry@num}{4}%
+ \tud@locked@num@set{tud@cdgeometry@num}{4}%
\TUD@KOMAoptions{twoside=true}%
\or% oneside
\ifnum\tud@cdgeometry@num>\thr@@\relax%
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\fi%
\TUD@KOMAoptions{twoside=false}%
\or% restricted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{0}%
\or% adapted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{1}%
\or% calculated
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{2}%
\or% custom
- \cs@set@lock{tud@cdgeometry@num}{1}%
+ \tud@locked@num@set{tud@cdgeometry@num}{1}%
\fi%
- \@tempswafalse%
- \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi%
- \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi%
- \if@tempswa%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \if@atdocument%
+ \if@tud@cdgeometry@reset\else%
+ \ifcase\tud@cdgeometry@num\relax%
+ \tud@loadgeometry{current@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or%
+ \tud@loadgeometry{current@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
\fi%
\fi%
}
@@ -359,7 +495,7 @@
\TUD@key{extrabottommargin}{%
\TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\fi%
}
\newcommand*\tud@dim@bleedmargin{.2in}
@@ -374,30 +510,45 @@
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{twoside}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
\DefineFamilyKey{KOMA}{twocolumn}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
-\newcommand*\tud@x@ta@warnings@off{}
-\newcommand*\tud@x@ta@warnings@on{}
-\IfFileExists{silence.sty}{%
- \RequirePackage{silence}[2012/07/02]%
- \WarningFilter[typearea]{typearea}{DIV for}%
- \WarningFilter[typearea]{typearea}{Bad type area settings!}%
- \WarningFilter[typearea]{typearea}{Maybe no optimal type area settings!}%
- \WarningFilter[typearea]{typearea}{Very low DIV value!}%
- \BeforePackage{typearea}{\ActivateWarningFilters[typearea]}%
- \AfterPackage{typearea}{\DeactivateWarningFilters[typearea]}%
- \renewcommand*\tud@x@ta@warnings@off{\ActivateWarningFilters[typearea]}
- \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]}
-}{}
+\newcommand*\tud@x@typearea@warnings@off[1][]{%
+ \IfArgIsEmpty{#1}{}{\let#1\@empty}%
+ \tud@cs@store{PackageWarningNoLine}%
+ \renewcommand*\PackageWarningNoLine[2]{%
+ \@tud@res@swatrue%
+ \ifstr{##1}{typearea}{%
+ \ifstrstart{##2}{Bad type area settings!}{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{%
+ Maybe no optimal type area settings!%
+ }{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{Very low DIV value!}{\@tud@res@swafalse}{}%
+ }{}%
+ \if@tud@res@swa%
+ \tud@cs@use{PackageWarning}{##1}{##2}%
+ \else%
+ \IfArgIsEmpty{#1}{}{\listeadd#1{##2}}%
+ \fi%
+ }%
+}
+\newcommand*\tud@x@typearea@warnings@on{%
+ \tud@cs@restore{PackageWarningNoLine}%
+}
+\BeforePackage{typearea}{%
+ \tud@x@typearea@warnings@off%
+}
+\AfterPackage{typearea}{%
+ \tud@x@typearea@warnings@on%
+}
%%% From File: tudscr-pagestyle.dtx
-\cs@lock{tud@head@font@num}{0}
-\cs@lock{tud@head@bar@num}{0}
-\bool@lock{@tud@head@widebar}
+\tud@locked@newnum{tud@head@font@num}{0}
+\tud@locked@newnum{tud@head@bar@num}{0}
+\tud@locked@newbool{@tud@head@widebar}
\newif\if@tud@head@font@set
\newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
@@ -424,23 +575,23 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@head@font@num}{0}%
+ \tud@locked@num@set{tud@head@font@num}{0}%
\or% true
- \cs@set@lock{tud@head@font@num}{1}%
+ \tud@locked@num@set{tud@head@font@num}{1}%
\or% heavy
- \cs@set@lock{tud@head@font@num}{2}%
+ \tud@locked@num@set{tud@head@font@num}{2}%
\or% nocolor
- \cs@set@lock{tud@head@bar@num}{0}%
+ \tud@locked@num@set{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% color
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% textwidth
- \bool@set@lock{@tud@head@widebar}{false}%
+ \tud@locked@bool@set{@tud@head@widebar}{false}%
\or% paperwidth
- \bool@set@lock{@tud@head@widebar}{true}%
+ \tud@locked@bool@set{@tud@head@widebar}{true}%
\or% date
\@tud@head@datetrue%
\or% nodate
@@ -452,7 +603,7 @@
\fi%
}
\TUD@AfterPackage@set{scrlayer-scrpage}
-\bool@lock{@tud@foot@colored}
+\tud@locked@newbool{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@bool@numkey,%
@@ -467,13 +618,13 @@
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
- \tud@font@koma@unset{pageheadfoot}%
+ \tud@komafont@unset{pageheadfoot}%
}%
\or% true
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
- \tud@font@koma@set{pageheadfoot}{\upshape}%
+ \tud@komafont@set{pageheadfoot}{\upshape}%
\clearpairofpagestyles%
\ofoot[\pagemark]{%
\if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi%
@@ -483,12 +634,13 @@
\ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
\or% nocolor
- \bool@set@lock{@tud@foot@colored}{false}%
+ \tud@locked@bool@set{@tud@foot@colored}{false}%
\or% color
- \bool@set@lock{@tud@foot@colored}{true}%
+ \tud@locked@bool@set{@tud@foot@colored}{true}%
\fi%
\else%
- \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{\TUDoptions{extrabottommargin=#1}}{}%
\fi%
}
\newcommand*\tud@ps@store[1]{%
@@ -506,9 +658,9 @@
\tud@ps@@store{#1}{even}{middle}{foot}%
}
\newcommand*\tud@ps@@store[4]{%
- \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{%
+ \ifcsundef{@@tud@ps@#1@#2@#3@#4}{%
\csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}%
- }%
+ }{}%
}
\newcommand*\tud@ps@restore[1]{%
\tud@ps@@restore{#1}{odd}{left}{head}%
@@ -550,9 +702,9 @@
\TUD@bool@numkey,%
{color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},%
{colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},%
- {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},%
+ {gray}{4},{grey}{4},{hks92}{4},{cdgray}{4},{cdgrey}{4},%
{black}{5},{cdblack}{5},%
- {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},%
+ {blue}{6},{hks41}{6},{cdblue}{6},{cddarkblue}{6},%
{white}{7},{cdwhite}{7}%
}
\newif\if@tud@headlogo@option@set
@@ -606,8 +758,8 @@
\tud@comp@resetpagestyle%
}
%%% From File: tudscr-layout.dtx
-\newcommand*\tud@layout@switch{}
-\edef\tud@layout@switch{%
+\newcommand*\tud@cd@switch{}
+\edef\tud@cd@switch{%
\TUD@bool@numkey,%
{nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},%
{lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
@@ -619,251 +771,141 @@
{color}{5},{colour}{5},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
-\cs@lock{tud@layout@cover@num}{0}
-\cs@lock{tud@layout@title@num}{0}
-\cs@lock{tud@layout@part@num}{0}
-\cs@lock{tud@layout@chapter@num}{0}
-\cs@lock{tud@layout@section@num}{0}
\newcommand*\tud@cd@num{0}
\TUD@key{cd}[true]{%
- \TUD@set@numkey{cd}{tud@cd@num}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cd}{tud@cd@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@layout@cover@num}{0}%
- \cs@std@lock{tud@layout@title@num}{0}%
- \cs@std@lock{tud@layout@part@num}{0}%
- \cs@std@lock{tud@layout@chapter@num}{0}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{1}%
- \cs@std@lock{tud@layout@part@num}{1}%
- \cs@std@lock{tud@layout@chapter@num}{1}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{1}%
- \or% litecolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{2}%
- \cs@std@lock{tud@layout@part@num}{2}%
- \cs@std@lock{tud@layout@chapter@num}{2}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% barcolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{3}%
- \cs@std@lock{tud@layout@part@num}{3}%
- \cs@std@lock{tud@layout@chapter@num}{3}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% bicolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{4}%
- \cs@std@lock{tud@layout@part@num}{4}%
- \cs@std@lock{tud@layout@chapter@num}{4}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% color
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{5}%
- \cs@std@lock{tud@layout@part@num}{5}%
- \cs@std@lock{tud@layout@chapter@num}{5}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% full
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{6}%
- \cs@std@lock{tud@layout@part@num}{6}%
- \cs@std@lock{tud@layout@chapter@num}{6}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@key@preset{cdcover}{false}%
+ \else% !false
+ \TUD@key@preset{cdcover}{true}%
+ \fi%
+ \TUD@key@preset{cdtitle}{#1}%
+ \TUD@key@preset{cdpart}{#1}%
+ \TUD@key@preset{cdchapter}{#1}%
+ \TUD@key@preset{cdsection}{#1}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\if@atdocument\else%
\ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{0}%
\else% !false
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\fi%
\fi%
\fi%
}
+\newcommand*\tud@cd@cover@num{0}
\TUD@key{cdcover}[true]{%
- \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdcover}{tud@cd@cover@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@cover@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@cover@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@cover@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@cover@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@cover@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@cover@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@cover@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@title@num{0}
\TUD@key{cdtitle}[true]{%
- \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdtitle}{tud@cd@title@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@title@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@title@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@title@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@title@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@title@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@title@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@title@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@part@num{0}
\TUD@key{cdpart}[true]{%
- \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdpart}{tud@cd@part@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@part@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@part@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@part@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@part@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@part@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@part@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@part@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@chapter@num{0}
\TUD@key{cdchapter}[true]{%
- \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdchapter}{tud@cd@chapter@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@chapter@num}{0}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% true
- \cs@set@lock{tud@layout@chapter@num}{1}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% litecolor
- \cs@set@lock{tud@layout@chapter@num}{2}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% barcolor
- \cs@set@lock{tud@layout@chapter@num}{3}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% bicolor
- \cs@set@lock{tud@layout@chapter@num}{4}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% color
- \cs@set@lock{tud@layout@chapter@num}{5}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
- \or% full
- \cs@set@lock{tud@layout@chapter@num}{6}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
+ \ifnum\tud@cd@chapter@num>4\relax% color/full
+ \TUD@key@preset{chapterpage}{true}%
+ \else%
+ \TUD@key@preset{chapterpage}{false}%
\fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@section@num{0}
\TUD@key{cdsection}[true]{%
- \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdsection}{tud@cd@section@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@section@num}{1}%
- \else% *color
- \cs@set@lock{tud@layout@section@num}{2}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
\newif\if@tud@parttitle
\TUD@key{parttitle}[true]{%
\TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
- \fi%
}
\newif\if@tud@chapterpage
-\TUD@key@lock{chapterpage}[true]{%
- \TUD@set@ifkey@lock{chapterpage}{@tud@chapterpage}{#1}%
+\TUD@key{chapterpage}[true]{%
+ \TUD@set@ifkey{chapterpage}{@tud@chapterpage}{#1}%
}
+\newif\if@tud@clearcolor
\newcommand*\tud@cleardoublepage{\cleardoubleoddpage}
\TUD@key{cleardoublespecialpage}[true]{%
- \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}%
+ \TUD@set@numkey{cleardoublespecialpage}{@tempa}{%
+ \TUD@bool@numkey,%
+ {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},%
+ {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
+ {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
+ {color}{3},{colour}{3},%
+ {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},%
+ {current}{4}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \renewcommand*\tud@cleardoublepage{\cleardoubleoddpage}%
- \else%
+ \ifcase\@tempa\relax% false
\renewcommand*\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
+ \or% true
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddpage}%
+ \or% nocolor
+ \@tud@clearcolorfalse%
+ \or% color
+ \@tud@clearcolortrue%
+ \or% current
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddstandardpage}%
\fi%
\else%
- \ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{%
- \ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{%
- \ifstr{#1}{current}{%
- \renewcommand*\tud@cleardoublepage{\cleardoubleoddstandardpage}%
- \FamilyKeyStateProcessed%
- }{%
- \AfterPreamble{%
- \ifcsundef{ps@#1}{%
- \ClassError{\TUD@Class@Name}{`#1' is no valid pagestyle}{%
- You tried to use `#1' as a pagestyle for option\MessageBreak%
- `cleardoublespecialpage', but it was never defined.%
- }%
- }{%
- \renewcommand*\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
- }%
- }%
- \FamilyKeyStateProcessed%
- }}}%
- \fi%
-}
-\newcommand*\tud@cleardoublespecialpage[2][]{%
- \begingroup%
- #2%
- \ifboolexpr{bool {@twoside} and bool {@openright}}{%
- \if@tud@clearcolor%
- \def\@tempa{%
- #1%
- \tud@cleardoublepage%
- \endgroup%
+ \AfterPreamble{%
+ \ifcsundef{ps@#1}{%
+ \ClassError{\TUD@Class@Name}{`#1' is no valid pagestyle}{%
+ You tried to use `#1' as a pagestyle for option\MessageBreak%
+ `cleardoublespecialpage', but it was never defined.%
}%
- \else%
- \def\@tempa{%
- \endgroup%
- #1%
- \tud@cleardoublepage%
- }%
- \fi%
- }{%
- \if@tud@clearcolor\tud@clearcolor@wrn\fi%
- \def\@tempa{%
- \endgroup%
- #1%
+ }{%
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
}%
}%
- \@tempa%
- \@afterindentfalse\@afterheading%
+ \FamilyKeyStateProcessed%
+ \fi%
}
-\newif\if@tud@clearcolor
-\TUD@ifkey{clearcolor}{@tud@clearcolor}
-\TUD@ifkey{clearcolour}{@tud@clearcolor}
\newcommand*\tud@pagecolor{}%
+\newcommand*\tud@dim@pageheadingsvskip{0pt}
+\TUD@key{pageheadingsvskip}{%
+ \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}%
+}
+\newcommand*\tud@dim@headingsvskip{0pt}
+\TUD@key{headingsvskip}{%
+ \TUD@set@dimenkey{headingsvskip}{\tud@dim@headingsvskip}{#1}%
+}
+\newif\if@tud@heavyheadings
+\TUD@key{headings}{%
+ \TUD@set@numkey{headings}{@tempa}{%
+ {light}{0},{lightfont}{0},{lite}{0},{litefont}{0},{noheavyfont}{0},%
+ {normal}{0},{standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},%
+ {heavy}{1},{heavyfont}{1},{bold}{1},{boldfont}{1},%
+ {ultrabold}{1},{boldultra}{1},{heavybold}{1},{boldheavy}{1},%
+ {extendedbold}{1},{boldextended}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% light
+ \@tud@heavyheadingsfalse%
+ \or% heavy
+ \@tud@heavyheadingstrue%
+ \fi%
+ \fi%
+}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{headings}{%
\TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
@@ -877,18 +919,14 @@
\TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
\FamilyKeyStateProcessed%
}
-\newcommand*\tud@dim@pageheadingsvskip{0pt}
-\TUD@key{pageheadingsvskip}{%
- \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}%
-}
-\newcommand*\tud@dim@headingsvskip{0pt}
-\TUD@key{headingsvskip}{%
- \TUD@set@dimenkey{headingsvskip}{\tud@dim@headingsvskip}{#1}%
-}
%%% From File: tudscr-title.dtx
\newif\if@tud@subjectthesis
-\TUD@key@lock{subjectthesis}[true]{%
- \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
+\TUD@key{subjectthesis}[true]{%
+ \TUD@set@ifkey{subjectthesis}{@tud@subjectthesis}{#1}%
+}
+\newif\if@tud@titlesignature
+\TUD@key{titlesignature}[true]{%
+ \TUD@set@ifkey{titlesignature}{@tud@titlesignature}{#1}%
}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@switch{%
@@ -909,7 +947,7 @@
{totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
\newcommand*\tud@abstract@level@num{3}
-\cs@lock{tud@abstract@toc@num}{1}
+\tud@locked@newnum{tud@abstract@toc@num}{1}
\newif\if@tud@abstract@multi
\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
@@ -923,10 +961,10 @@
\or% true
\or% section
\renewcommand*\tud@abstract@level@num{2}%
- \cs@std@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{1}%
\or% chapter
\renewcommand*\tud@abstract@level@num{3}%
- \cs@std@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{1}%
\or% single
\@tud@abstract@multifalse%
\or% multiple
@@ -940,26 +978,26 @@
\or% nomarkboth
\@tud@abstract@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@abstract@toc@num}{0}%
+ \tud@locked@num@set{tud@abstract@toc@num}{0}%
\or% totoc
\ifnum\tud@abstract@toc@num<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@set{tud@abstract@toc@num}{1}%
\else%
- \cs@set@lock{tud@abstract@toc@num}{3}%
+ \tud@locked@num@set{tud@abstract@toc@num}{3}%
\fi%
\or% totocleveldown
\ifnum\tud@abstract@toc@num<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc@num}{2}%
+ \tud@locked@num@set{tud@abstract@toc@num}{2}%
\else%
- \cs@set@lock{tud@abstract@toc@num}{4}%
+ \tud@locked@num@set{tud@abstract@toc@num}{4}%
\fi%
\or% totocmutliple
\ifnum\tud@abstract@toc@num=\z@\relax%
- \cs@set@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@set{tud@abstract@toc@num}{1}%
\fi%
\ifnum\tud@abstract@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@abstract@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@abstract@toc@num}{%
\the\numexpr\tud@abstract@toc@num+2\relax%
}%
}\@tempa%
@@ -972,7 +1010,7 @@
\AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
}
\newcommand*\tud@declaration@level@num{3}
-\cs@lock{tud@declaration@toc@num}{1}
+\tud@locked@newnum{tud@declaration@toc@num}{1}
\newif\if@tud@declaration@multi
\@tud@declaration@multitrue
\newif\if@tud@declaration@fil
@@ -984,16 +1022,16 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\renewcommand*\tud@declaration@level@num{0}%
- \cs@std@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{0}%
\or% true
\renewcommand*\tud@declaration@level@num{1}%
- \cs@std@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{0}%
\or% section
\renewcommand*\tud@declaration@level@num{2}%
- \cs@std@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{1}%
\or% chapter
\renewcommand*\tud@declaration@level@num{3}%
- \cs@std@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{1}%
\or% single
\@tud@declaration@multifalse%
\or% multiple
@@ -1007,26 +1045,26 @@
\or% nomarkboth
\@tud@declaration@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@set{tud@declaration@toc@num}{0}%
\or% totoc
\ifnum\tud@declaration@toc@num<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@set{tud@declaration@toc@num}{1}%
\else%
- \cs@set@lock{tud@declaration@toc@num}{3}%
+ \tud@locked@num@set{tud@declaration@toc@num}{3}%
\fi%
\or% totocleveldown
\ifnum\tud@declaration@toc@num<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc@num}{2}%
+ \tud@locked@num@set{tud@declaration@toc@num}{2}%
\else%
- \cs@set@lock{tud@declaration@toc@num}{4}%
+ \tud@locked@num@set{tud@declaration@toc@num}{4}%
\fi%
\or% totocmutliple
\ifnum\tud@declaration@toc@num=\z@\relax%
- \cs@set@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@set{tud@declaration@toc@num}{1}%
\fi%
\ifnum\tud@declaration@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@declaration@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@declaration@toc@num}{%
\the\numexpr\tud@declaration@toc@num+2\relax%
}%
}\@tempa%
@@ -1034,18 +1072,99 @@
\fi%
\fi%
}
+%%% From File: tudscr-misc.dtx
+\newif\if@tud@bookmarks
+\TUD@key{tudbookmarks}[true]{%
+ \TUD@set@ifkey{tudbookmarks}{@tud@bookmarks}{#1}%
+}
+\newcommand*\tud@x@scr@checkoptions{%
+ \expandafter\tud@x@scr@pt\CurrentOption pt\@nil%
+ \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
+}
+\newcommand*\tud@x@scr@pt{}
+\def\tud@x@scr@pt #1pt#2\@nil{%
+ \ifstr{#2}{pt}{\ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}%
+}
+\newcommand*\tud@atdocument@hook{}
+\let\tud@atdocument@hook\relax
+\newcommand*\TUD@SpecialOptionAtDocument[1]{}
+\AfterEndPreamble{%
+ \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
+ \ifx\tud@atdocument@hook\relax%
+ \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
+ \AtEndOfFamilyOptions*{%
+ \tud@atdocument@hook%
+ \tud@atdocument@process%
+ }%
+ \fi%
+ \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
+ }%
+}
%%% From File: tudscr-comp.dtx
\newcommand*\TUD@deprecated@key[2]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The option key `#1' is deprecated\MessageBreak%
- It's recommended to use `#2'\MessageBreak%
+ The key `#1' is deprecated. It's\MessageBreak%
+ recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\newcommand*\TUD@deprecated@cs[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\AfterEndPreamble{%
+ \noexpand\TUD@deprecated@@cs{#1}{#2}%
+ }%
+ }%
+ \tud@res@a%
+}
+\newcommand*\TUD@deprecated@@cs[2]{%
+ \ifcsundef{#1}{%
+ \begingroup%
+ \def\tud@res@a{%
+ The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ }%
+ \def\tud@res@b##1@##2\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \appto\tud@res@a{%
+ You should use `\@backslashchar#2' instead%
+ }%
+ }{%
+ \appto\tud@res@a{%
+ You should not use this command. It is substituted\MessageBreak%
+ with `\@backslashchar#2' internally%
+ }%
+ }%
+ }%
+ \tud@res@b#2@\@nil%
+ \edef\tud@res@c{%
+ \endgroup%
+ \noexpand\newrobustcmd\csname #1\endcsname{%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}%
+ {\tud@res@a}%
+ \noexpand\csletcs{#1}{#2}%
+ \noexpand\csuse{#2}%
+ }%
+ }%
+ \tud@res@c%
+ }{}%
+}
+\newcommand*\TUD@deprecated@lengthcs[2][]{%
+ \ifdim\csuse{#2}<\maxdimen\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
+ You should use option `#2' instead%
+ }%
+ \csxdef{tud@dim@#2}{\the\csuse{#2}}%
+ \expandafter\setlength\csname #2\endcsname{\maxdimen}%
+ \global\csuse{#2}=\csuse{#2}%
+ #1%
+ \fi%
+}
\newcommand*\tud@v@comp{\tud@v@last}
-\TUD@key{tudscrver}[last]{%
+\TUD@key[.comp]{tudscrver}[last]{%
\tud@v@get\@tempa{#1}%
\ifcsundef{tud@v@\@tempa}{%
\ClassWarningNoLine{\TUD@Class@Name}%
@@ -1054,23 +1173,25 @@
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \def\tud@v@comp{0}%
+ \renewcommand*\tud@v@comp{0}%
}{%
\ClassInfoNoLine{\TUD@Class@Name}%
{%
- Switching compatibility level to `\@tempa'%
+ Switching compatibility level to `v\@tempa'%
}%
\edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
\FamilyKeyStateProcessed%
}
+\TUD@key{tudscrver}{\FamilyKeyStateProcessed}%
\AtEndOfClass%
{%
+ \RelaxFamilyKey[.comp]{TUD}{tudscrver}%
\TUD@key{tudscrver}[]{%
\ClassError{\TUD@Class@Name}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
+ class `\TUD@Class@Name'\space%
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
@@ -1089,7 +1210,7 @@
KOMA-Script v\TUD@Version@KOMA is required%
}{%
\TUD@Version\space must at least be used with\MessageBreak%
- KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion is used.%
+ KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion was found.%
}%
}%
}
@@ -1099,7 +1220,6 @@
\csdef{tud@v@2.01a}{0}
\csdef{tud@v@2.01b}{0}
\csdef{tud@v@2.02}{0}
-\csdef{tud@v@2.02}{0}
\csdef{tud@v@2.03}{1}
\csdef{tud@v@2.03a}{1}
\csdef{tud@v@2.04}{2}
@@ -1121,7 +1241,8 @@
\csdef{tud@v@2.05k}{3}
\csdef{tud@v@2.05l}{3}
\csdef{tud@v@2.05m}{3}
-\csdef{tud@v@last}{3}
+\csdef{tud@v@2.06}{4}
+\csdef{tud@v@last}{4}
\newcommand*\tud@v@get[2]{%
\begingroup%
\def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
@@ -1154,48 +1275,16 @@
}%
\tud@reserved%
}
-\TUD@key{fontspec}[true]{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- The option key `fontspec' is deprecated\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@x@fontspec@enabled}{#1}%
-}
-\AtEndOfClass%
-{%
- \TUD@key{fontspec}[]%
- {%
- \ClassError{\TUD@Class@Name}%
- {Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
- but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@x@fontspec@enabled%
- \RequirePackage{fontspec}[2017/01/24]%
- \fi%
-}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{tudfonts}[true]{%
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{heavyfont}[true]{%
@@ -1208,53 +1297,53 @@
\fi%
\fi%
}
-\TUD@key{din}[true]{%
- \TUD@set@ifkey{din}{@tempswa}{#1}%
+\TUD@key{sansmath}[true]{%
+ \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@deprecated@key{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
-\TUD@key{nodin}[true]{%
- \TUD@set@ifkey{nodin}{@tempswa}{#1}%
+\TUD@key{serifmath}[true]{%
+ \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@deprecated@key{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{noDIN}[true]{%
- \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
+\TUD@key{din}[true]{%
+ \TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@deprecated@key{din}{cdoldfont=din}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@deprecated@key{din=#1}{cdoldfont=nodin}%
\fi%
\fi%
}
-\TUD@key{sansmath}[true]{%
- \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
+\TUD@key{nodin}[true]{%
+ \TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@deprecated@key{nodin}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@deprecated@key{nodin=#1}{cdoldfont=din}%
\fi%
\fi%
}
-\TUD@key{serifmath}[true]{%
- \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
+\TUD@key{noDIN}[true]{%
+ \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@deprecated@key{noDIN}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}%
\fi%
\fi%
}
@@ -1325,116 +1414,80 @@
\fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
-%%% From File: tudscr-misc.dtx
-\newif\if@tud@x@scr@paper@set
-\TUD@key{paper}{%
- \tud@lowerstring{\@tempa}{#1}%
- \def\@tempb##1##2\@nil{%
- \@tempswafalse%
- \if ##1a\@tempswatrue%
- \else\if ##1b\@tempswatrue%
- \else\if ##1c\@tempswatrue%
- \else\if ##1d\@tempswatrue%
- \fi\fi\fi\fi%
+\TUD@key{clearcolor}[true]{%
+ \TUD@set@ifkey{clearcolor}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \ifnumber{##2}{}{\@tempswafalse}%
+ \TUD@deprecated@key{clearcolor}{cleardoublespecialpage=color}%
+ \else%
+ \TUD@deprecated@key{clearcolor=#1}{cleardoublespecialpage=nocolor}%
\fi%
- }%
- \expandafter\@tempb\@tempa\@nil%
- \if@tempswa\else%
- \def\@tempb##1:##2:##3\@nil{%
- \edef\@tempc{##1}%
- \ifx\@tempc\@empty\@tempswafalse\else%
- \edef\@tempc{##2}%
- \ifx\@tempc\@empty\@tempswafalse\else\@tempswatrue\fi%
- \fi%
- }%
- \expandafter\@tempb\@tempa::\@nil%
\fi%
- \@tud@x@scr@paper@setfalse%
- \if@tempswa%
- \ifstr{\@tempa}{a4}{}{\@tud@x@scr@paper@settrue}%
- \FamilyKeyStateProcessed%
- \else%
- \FamilyKeyStateUnknownValue%
- \fi%
-}
-\newif\if@tud@fontsize@set
-\TUD@key{fontsize}{%
- \@tud@fontsize@settrue%
- \PassOptionsToClass{fontsize=#1}{\TUD@Class@KOMA}%
- \FamilyKeyStateProcessed%
-}
-\AtEndOfClass{%
- \RelaxFamilyKey{TUD}{paper}%
- \RelaxFamilyKey{TUD}{fontsize}%
- \ifboolexpr{bool {@tud@x@scr@paper@set} or bool {@landscape}}{%
- \if@tud@fontsize@set\else%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- You've set a paper size, which is different from\MessageBreak%
- default (paper=a4, paper=portrait). Therefore you\MessageBreak%
- should additionally specify an explicit font size.\MessageBreak%
- See the manual for further information%
- }%
- \fi%
- }{}%
}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
-\newif\if@tud@symbolheadings
-\TUD@key{footnotes}{%
- \TUD@set@numkey{footnotes}{@tempa}{%
- {nosymbolheadings}{0},{numberheadings}{0},%
- {symbolheadings}{1}%
- }{#1}%
+\TUD@key{clearcolour}[true]{\TUDoptions{clearcolor=#1}}
+\newif\if@tud@x@fontspec@requested
+\TUD@key{fontspec}[true]{%
+ \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% nosymbolheadings
- \@tud@symbolheadingsfalse%
- \or% symbolheadings
- \@tud@symbolheadingstrue%
- \fi%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
+ }%
\fi%
}
-\AtEndOfClass{%
- \newcounter{symbolheadings}[chapter]
+\AtEndOfClass%
+{%
+ \TUD@key{fontspec}[]%
+ {%
+ \ClassError{\TUD@Class@Name}%
+ {Option `fontspec' too late}{%
+ Option `fontspec' can only be set while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \if@tud@x@fontspec@requested%
+ \RequirePackage{fontspec}[2017/01/24]%
+ \fi%
}
%%% From File: tudscr-misc.dtx
-\newcommand*\TUD@SpecialOptionAtDocument[1]{}
-\newcommand*\tud@x@scr@paper{%
- \expandafter\tud@x@scr@@paper\CurrentOption paper\tud@x@scr@@paper%
+\DeclareOption*{}
+\FamilyProcessOptions[.comp]{TUD}\relax
+\tud@if@v@lower{2.05}{%
+ \TUD@key@preset{relspacing}{false}%
+}{%
+ \TUD@key@preset{relspacing}{true}%
}
-\newcommand*\tud@x@scr@@paper{}
-\def\tud@x@scr@@paper #1#2paper#3\tud@x@scr@@paper{%
- \@tempswafalse%
- \ifstr{#3}{paper}{\ifnumber{#2}{%
- \ifstr{#1}{a}{\@tempswatrue}{%
- \ifstr{#1}{b}{\@tempswatrue}{%
- \ifstr{#1}{c}{\@tempswatrue}{%
- \ifstr{#1}{d}{\@tempswatrue}{%
- }}}}%
- }{}}{}%
- \if@tempswa\TUDExecuteOptions{#3=#1#2}\fi%
- \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
+\tud@if@v@lower{2.06}{%
+ \TUD@key@preset{cdoldfont}{true}%
+ \TUD@key@preset{ttfont}{lmodern}%
+ \TUD@key@preset{headings}{light}%
+}{%
+ \TUD@key@preset{cdfont}{true}%
+ \TUD@key@preset{ttfont}{roboto}%
+ \TUD@key@preset{headings}{heavy}%
}
-\DeclareOption*{\tud@x@scr@paper}
+\DeclareOption*{\tud@x@scr@checkoptions}
\TUDExecuteOptions{%
- cd=true,relspacing=true,tudbookmarks=true%
+ cd=true,tudbookmarks=true%
}
\TUDProcessOptions\relax
-\LoadClass{\TUD@Class@KOMA}[2015/04/23]
+\LoadClass{\TUD@Class@KOMA}[2018/03/30]
%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
-\cs@lock{tud@x@multicol@num}{1}
+\newcommand*\tud@x@multicol@num{1}
\newcommand*\tud@x@multicol@check{%
\ifnum\tud@x@multicol@num>\@ne\relax%
\ClassWarning{\TUD@Class@Name}{%
The option `columns=\tud@x@multicol@num' is only\MessageBreak%
supported, when package `multicol' is loaded%
}%
- \cs@set@lock{tud@x@multicol@num}{1}%
+ \renewcommand*\tud@x@multicol@num{1}%
\fi%
}
-\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}}
+\AfterPackage{multicol}{\let\tud@x@multicol@check\relax}
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
@@ -1448,109 +1501,238 @@
\RequirePackage{tudscrcolor}[\TUD@Version]%
}
%%% From File: tudscr-fonts.dtx
-\newcommand*\tud@univers{lun}
-\newif\if@tud@univers
-\newif\if@tud@universmath
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@dinbold
-\newif\if@tud@dinboldmath
-\newcommand*\tud@font@check{%
- \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
- \def\@tempb##1{%
- \if@tud@cdmath%
- \tud@font@math@missing@wrn{##1}%
- \fi%
- }%
- \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
- \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN-Bold}}%
- \if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+\newcommand*\tud@cdfont@wrn{\global\let\tud@cdfont@wrn\relax}
+\newcommand*\tud@cdmath@wrn{\global\let\tud@cdmath@wrn\relax}
+\newif\if@tud@x@fontspec@enabled
+\PassOptionsToPackage{no-math}{fontspec}
+\AfterPackage*{fontspec}{%
+ \@ifpackagelater{fontspec}{2017/01/24}{%
+ \@tud@x@fontspec@enabledtrue%
+ \@tud@res@swafalse%
+ \@ifpackagewith{fontspec}{no-math}{}{\@tud@res@swatrue}%
+ \@ifpackagewith{fontspec}{math}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ It's recommended to load package `fontspec'\MessageBreak%
+ with option `no-math', if you want to use the\MessageBreak%
+ corporate design fonts in math mode%
+ }%
+ }%
+ \fi%
+ }{%
+ \@tud@x@fontspec@enabledfalse%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ Version `2017/01/24' of package `fontspec' is needed,\MessageBreak%
+ but only version\MessageBreak%
+ `\csname ver@fontspec.sty\endcsname'\MessageBreak%
+ is available, so a fallback layout is used%
+ }%
+ }%
+}
+\AfterPackage*{unicode-math}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The usage of package `unicode-math' will\MessageBreak%
+ most likely cause erroneous outputs in math mode\MessageBreak%
+ with corporate design fonts%
}%
+ }%
+}
+\TUD@RecommendPackage{mweights}[2017/03/30]%
+\newif\if@tud@x@mweights@enabled
+\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
+\newif\if@tud@cdfont@fam@exist
+\newif\if@tud@cdfont@db@exist
+\newcommand*\tud@cdfont@fam{opensans-TLF}
+\newcommand*\tud@cdfont@fam@lf{opensans-TLF}
+\newcommand*\tud@cdfont@fam@osf{opensans-TOsF}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@fam{lun}
+ \renewcommand*\tud@cdfont@fam@lf{lun}
+ \renewcommand*\tud@cdfont@fam@osf{lun}
+ \newcommand*\tud@cdfont@db{0m6}
+\fi
+\newcommand*\tud@ttfont@fam{tudtt}
+\newcommand*\tud@ttfont@rb{tudtt}
+\newcommand*\tud@ttfont@lm{lmtt}
+\newif\if@tud@ttfont@rb@exist
+\IfFileExists{roboto-mono.sty}{%
+ \@tud@ttfont@rb@existtrue%
+}{%
+ \TUD@key@preset{ttfont}{lmodern}%
+}
+\newcommand*\tud@cdfont@check{%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@@check{Univers}{%
+ Light,,Bold,Black,%
+ LightOblique,Oblique,BoldOblique,BlackOblique%
+ }{\tud@cdfont@fam@lf}{@tud@cdfont@fam@exist}%
+ \tud@cdfont@@check{DIN}{Bold}{\tud@cdfont@db}{@tud@cdfont@db@exist}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}%
+ \else%
+ \@ifpackageloaded{opensans}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `opensans'\MessageBreak%
+ manually but just use option `cdfont=true'%
+ }%
+ }{}%
+ \if@tud@cdfont@active%
+ \TUD@CheckPackage{opensans}{2019/06/20}%
+ \TUD@CheckPackage{iwona}{2005/10/03}%
+ \fi%
+ \tud@cdfont@@check{OpenSans}{%
+ Light,Regular,SemiBold,Bold,ExtraBold,%
+ LightItalic,Italic,SemiBoldItalic,BoldItalic,ExtraBoldItalic%
+ }{\tud@cdfont@fam@lf,\tud@cdfont@fam@osf}{@tud@cdfont@fam@exist}%
\fi%
+}
+\newcommand*\tud@cdfont@@check[5][-]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing{##1}{\tud@cdfont@wrn}%
+ }%
\if@tud@x@fontspec@enabled%
- \def\@tempc##1##2{%
- \IfFontExistsTF{##1}{}{%
- ##2%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \def\tud@res@b##1{\IfFontExistsTF{##1}{}{\tud@res@a{##1}}}%
+ \@for\tud@res@c:={#3}\do{%
+ \expandafter\IfArgIsEmpty\expandafter{\tud@res@c}%
+ {\tud@res@b{#2}}%
+ {\tud@res@b{#2#1\tud@res@c}}%
+ }%
+ \else%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \@tud@res@swatrue%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \if@tud@res@swa%
+ \tud@lowerstring\tud@res@b{##1}%
+ \edef\tud@res@b{\tud@res@b##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
\fi%
- }%
+ \if@tud@res@swa%
+ \edef\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \if@tud@res@swa%
+ \noexpand\tud@res@a{\tud@res@b}%
+ \fi%
+ }%
+ \tud@res@a%
}%
- \@tud@universtrue%
- \@tempc{Univers Light}{\@tud@universfalse}%
- \@tempc{Univers}{\@tud@universfalse}%
- \@tempc{Univers Bold}{\@tud@universfalse}%
- \@tempc{Univers Black}{\@tud@universfalse}%
- \@tempc{Univers LightOblique}{\@tud@universfalse}%
- \@tempc{Univers Oblique}{\@tud@universfalse}%
- \@tempc{Univers BoldOblique}{\@tud@universfalse}%
- \@tempc{Univers BlackOblique}{\@tud@universfalse}%
- \@tud@dinboldtrue%
- \@tempc{DIN-Bold}{\@tud@dinboldfalse}%
+ \@for\tud@res@c:={#4}\do{\tud@res@b{\encodingdefault}{\tud@res@c}}%
+ \fi%
+ \if@tud@res@swa%
+ \booltrue{#5}%
\else%
- \def\@tempc##1{%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \boolfalse{#5}%
+ \fi%
+}
+\newcommand*\tud@cdfont@@@check[2]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1##2{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing[##1]{##2}{\tud@cdmath@wrn}%
+ }%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\IfFileExists{\tud@res@b}{}{%
+ \noexpand\tud@res@a{##1}{\tud@res@b}%
+ }%
+ }%
+ \tud@res@a%
+ }%
+ \@for\tud@res@c:={#1}\do{\tud@res@b{\tud@res@c}{#2}}%
+ \if@tud@res@swa\else%
+ \AtBeginDocument{%
+ \if@tud@cdmath@active%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Some math font encodings are missing.\MessageBreak%
+ The option `cdmath=false' is executed. You should\MessageBreak%
+ either use this option by yourself or install\MessageBreak%
+ all necessary fonts with a installation script\MessageBreak%
+ listed in the manual
+ }%
\fi%
+ \TUDoptions{cdmath=false}%
}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN-Bold}}%
\fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- }%
- \undef\tud@font@check%
}
-\newcommand*\tud@font@missing@wrn[1]{%
+\newcommand*\tud@cdfont@missing[3][\encodingdefault]{%
\begingroup%
- \def\@tempa{%
- `#1' font not found for `\encodingdefault' encoding.\MessageBreak%
+ \def\tud@res@a{%
+ `#2' font\MessageBreak%
+ not found for `#1' encoding.\MessageBreak%
}%
\if@tud@x@fontspec@enabled%
- \appto\@tempa{%
- It seems, you haven't installed the required\MessageBreak%
- OTF-font on your system%
- }%
- \else%
- \ifstr{TU}{\encodingdefault}{%
- \appto\@tempa{%
- You should load package `fontspec'\MessageBreak%
- or %
+ \ifstr{\encodingdefault}{#1}{%
+ \appto\tud@res@a{%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. You should provide\MessageBreak%
+ the fonts manually to your OS\MessageBreak%
+ \if@tud@cdoldfont@active\else%
+ or install package `opensans'\MessageBreak%
+ \fi%
}%
- }{%
- \appto\@tempa{Please }%
+ }{}%
+ \else%
+ \if@tud@cdoldfont@active%
+ \def\tud@res@b{T1,OT1,OMS,OML}%
+ \else%
+ \def\tud@res@b{T1,OT1,T2A,T2B,T2C,X2,LGR}%
+ \fi%
+ \@tud@res@swafalse%
+ \@for\tud@res@c:=\tud@res@b\do{%
+ \ifstr{\tud@res@c}{#1}{\@tud@res@swatrue}{}%
}%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
- \if@tempswa%
- \appto\@tempa{%
- use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
+ \if@tud@res@swa%
+ \appto\tud@res@a{%
+ You should %
+ \if@tud@cdoldfont@active%
+ try to install the necessary fonts\MessageBreak%
+ with a installation script listed in the manual%
+ \else%
+ install package `opensans'%
+ \fi%
+ .\MessageBreak%
}%
\else%
- \appto\@tempa{%
- choose a possible encoding with\MessageBreak%
- package `fontenc' (`OT1' or `T1')%
- }%
+ \ifstr{\encodingdefault}{#1}{%
+ \ifstr{TU}{#1}{%
+ \appto\tud@res@a{%
+ You should either load package `fontspec'\MessageBreak%
+ or %
+ }%
+ }{%
+ \appto\tud@res@a{Please }%
+ }%
+ \appto\tud@res@a{%
+ choose a possible encoding with package\MessageBreak%
+ `fontenc' (\tud@res@b).\MessageBreak%
+ }%
+ }{}%
\fi%
\fi%
- \appto\@tempa{.\MessageBreak A fallback layout is used}%
- \ClassWarning{\TUD@Class@Name}{\@tempa}%
+ \appto\tud@res@a{A fallback layout is used}%
+ \edef\tud@res@c{%
+ \etex@unexpanded{\ClassWarning{\TUD@Class@Name}}%
+ {\tud@res@a}
+ }%
+ \xappto#3{\expandonce\tud@res@c}%
\endgroup%
}
-\newcommand*\tud@font@math@missing@wrn[1]{%
- \ClassWarning{\TUD@Class@Name}%
- {%
- `#1' fonts for math typesetting not found.\MessageBreak%
- Please use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
- }%
-}
\begingroup
\catcode`\^=7
\catcode30=12
@@ -1567,9 +1749,9 @@
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage*{ragged2e}{%
- \ifdef{\LaTeXraggedright}{%
+ \ifundef{\LaTeXraggedright}{}{%
\renewcommand*\tud@raggedright{\LaTeXraggedright}%
- }{}%
+ }%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
\newif\if@tud@x@siunitx@enabled
@@ -1579,127 +1761,113 @@
}
\newif\if@tud@x@bm@requested
\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm}
-\RequirePackage{trimspaces}[2009/09/17]
-\newif\if@tud@x@mweights@enabled
-\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
-\newcommand*\tud@font@set{%
- \if@atdocument%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@univers\else%
- \tud@font@missing@wrn{Univers}%
- \fi%
- \if@tud@dinbold\else%
- \tud@font@missing@wrn{DIN-Bold}%
- \fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
+\newcommand*\tud@x@fontspec@init[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\defaultfontfeatures[#1]{%
+ NFSSFamily=#1,%
+ Ligatures=TeX,%
+ BoldFont={},%
+ ItalicFont={},%
+ BoldItalicFont={},%
+ SmallCapsFont={},%
+ #2%
}%
- \fi%
- \fi%
- \ifcase\tud@cdfont@num\relax% false
- \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}%
- \if@tud@x@mweights@enabled%
- \tud@cmd@restore{bfseries@rm}%
- \tud@cmd@restore{bfseries@sf}%
- \tud@cmd@restore{bfseries@tt}%
- \tud@cmd@restore{mdseries@rm}%
- \tud@cmd@restore{mdseries@sf}%
- \tud@cmd@restore{mdseries@tt}%
- \fi%
- \ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@head@font@num}{0}%
- \else% !false
- \cs@std@lock{tud@head@font@num}{1}%
- \fi%
- \else% true/heavy
- \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}%
+ }%
+ \edef\tud@res@b{%
+ \noexpand\newfontfamily%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#1\endcsname{#1}%
+ }%
+ \edef\tud@res@c{%
+ \endgroup\expandonce\tud@res@a\expandonce\tud@res@b%
+ }%
+ \tud@res@c%
+}
+\newcommand*\tud@x@fontspec@set[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareRobustCommand%
+ \expandafter\noexpand\csname #1family\endcsname{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \def\expandafter\noexpand\csname #1default\endcsname{\tud@cdfont@fam}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@font@set{%
+ \if@tud@cdfont@active%
+ \tud@cs@store{rmdefault}%
+ \tud@cs@store{sfdefault}%
+ \tud@cs@store{ttdefault}%
+ \tud@cs@store{bfdefault}%
+ \tud@cs@store{mddefault}%
+ \tud@cs@store{updefault}%
+ \tud@cs@store{sldefault}%
+ \tud@cs@store{itdefault}%
+ \tud@cs@store{familydefault}%
+ \tud@cs@store{seriesdefault}%
+ \tud@cs@store{shapedefault}%
\if@tud@x@mweights@enabled%
- \tud@cmd@store{bfseries@rm}%
- \tud@cmd@store{bfseries@sf}%
- \tud@cmd@store{bfseries@tt}%
- \tud@cmd@store{mdseries@rm}%
- \tud@cmd@store{mdseries@sf}%
- \tud@cmd@store{mdseries@tt}%
- \fi%
- \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
- \if@tud@univers%
- \if@tud@x@fontspec@enabled%
- \setsansfont{Univers}[\tud@x@fontspec@set@univ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{LMMonoLt10-Regular},%
- FontFace={m}{\updefault}{LMMono10-Regular},%
- FontFace={b}{\updefault}{LMMonoLt10-Bold},%
- FontFace={bx}{\updefault}{LMMonoLt10-Bold},%
- FontFace={eb}{\updefault}{LMMonoLt10-Bold},%
- FontFace={l}{\sldefault}{LMMonoLt10-Oblique},%
- FontFace={m}{\sldefault}{LMMonoSlant10-Regular},%
- FontFace={b}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={bx}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={eb}{\sldefault}{LMMonoLt10-BoldOblique},%
- NFSSFamily=\tud@univers t%
- ]%
- \else%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \fi%
- \ifnum\tud@cdfont@num=\@ne\relax% true
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{b}%
- \else% normalbold
- \renewcommand*\bfdefault{m}%
- \fi%
- \renewcommand*\mddefault{l}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{m}%
- \def\bfseries@sf{m}%
- \def\bfseries@tt{m}%
- \def\mdseries@rm{l}%
- \def\mdseries@sf{l}%
- \def\mdseries@tt{l}%
- \fi%
- \else% heavy
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{eb}%
- \else% normalbold
- \renewcommand*\bfdefault{b}%
- \fi%
- \renewcommand*\mddefault{m}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{b}%
- \def\bfseries@sf{b}%
- \def\bfseries@tt{b}%
- \def\mdseries@rm{m}%
- \def\mdseries@sf{m}%
- \def\mdseries@tt{m}%
- \fi%
- \fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\itdefault{\sldefault}%
+ \tud@cs@store{bfseries@rm}%
+ \tud@cs@store{mdseries@rm}%
+ \tud@cs@store{bfseries@sf}%
+ \tud@cs@store{mdseries@sf}%
+ \tud@cs@store{bfseries@tt}%
+ \tud@cs@store{mdseries@tt}%
\fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@store{rmfamily}%
+ \tud@cs@store{sffamily}%
+ \tud@cs@store{ttfamily}%
+ \fi%
+ \renewcommand*\rmdefault{\sfdefault}%
+ \renewcommand*\updefault{n}%
+ \renewcommand*\itdefault{it}%
+ \renewcommand*\sldefault{sl}%
\renewcommand*\familydefault{\sfdefault}%
\renewcommand*\seriesdefault{\mddefault}%
\renewcommand*\shapedefault{\updefault}%
+ \tud@cdfont@set%
+ \tud@ttfont@set%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@bf}%
+ \edef\mdseries@rm{\tud@cdfont@md}%
+ \edef\bfseries@sf{\tud@cdfont@bf}%
+ \edef\mdseries@sf{\tud@cdfont@md}%
+ \edef\bfseries@tt{\tud@ttfont@bf}%
+ \edef\mdseries@tt{\tud@ttfont@md}%
+ \fi%
+ \let\bfdefault\tud@cdfont@bf%
+ \let\mddefault\tud@cdfont@md%
+ \else%
+ \tud@cs@restore{rmdefault}%
+ \tud@cs@restore{sfdefault}%
+ \tud@cs@restore{ttdefault}%
+ \tud@cs@restore{bfdefault}%
+ \tud@cs@restore{mddefault}%
+ \tud@cs@restore{updefault}%
+ \tud@cs@restore{sldefault}%
+ \tud@cs@restore{itdefault}%
+ \tud@cs@restore{familydefault}%
+ \tud@cs@restore{seriesdefault}%
+ \tud@cs@restore{shapedefault}%
+ \if@tud@x@mweights@enabled%
+ \tud@cs@restore{bfseries@rm}%
+ \tud@cs@restore{mdseries@rm}%
+ \tud@cs@restore{bfseries@sf}%
+ \tud@cs@restore{mdseries@sf}%
+ \tud@cs@restore{bfseries@tt}%
+ \tud@cs@restore{mdseries@tt}%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@restore{rmfamily}%
+ \tud@cs@restore{sffamily}%
+ \tud@cs@restore{ttfamily}%
+ \fi%
\fi%
\if@tud@x@mweights@enabled%
\edef\rmdef@ult{\rmdefault}%
@@ -1709,12 +1877,74 @@
\edef\mddef@ult{\mddefault}%
\edef\famdef@ult{\familydefault}%
\fi%
- \ifundef{\tud@font@math@init}{\tud@font@math@set}{}%
\tud@font@skip@set%
\normalfont\selectfont%
- \tud@layout@process%
+ \tud@cd@process%
\global\@tud@head@font@settrue%
}
+\newcommand*\tud@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdfont@lining%
+ \let\tud@cdfont@fam\tud@cdfont@fam@lf%
+ \else%
+ \let\tud@cdfont@fam\tud@cdfont@fam@osf%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@x@fontspec@set{sf}{\tud@cdfont@fam}%
+ \else%
+ \renewcommand*\sfdefault{\tud@cdfont@fam}%
+ \fi%
+ \tud@cdfont@@set%
+ \fi%
+ \tud@cdfont@wrn%
+}
+\newcommand*\tud@cdfont@md{m}
+\newcommand*\tud@cdfont@bf{b}
+\newcommand*\tud@cdfont@ebf{bx}
+\newcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{sb}%
+ \fi%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{eb}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \fi%
+ }%
+\fi
\newcommand*\tud@font@skip@set{%
\if@tud@relspacing%
\tud@skip@store{smallskipamount}%
@@ -1743,147 +1973,308 @@
\tud@skip@set{belowcaptionskip}{\z@}%
\tud@skip@set{columnsep}{1.1\baselineskip}%
}
-\newcommand*\tud@font@init{%
- \if@tud@x@fontspec@enabled%
- \if@tud@univers%
- \newcommand*\tud@x@fontspec@set@univ{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{Univers Light},%
- FontFace={m}{\updefault}{Univers},%
- FontFace={b}{\updefault}{Univers Bold},%
- FontFace={bx}{\updefault}{Univers Bold},%
- FontFace={eb}{\updefault}{Univers Black},%
- FontFace={l}{\sldefault}{Univers LightOblique},%
- FontFace={m}{\sldefault}{Univers Oblique},%
- FontFace={b}{\sldefault}{Univers BoldOblique},%
- FontFace={bx}{\sldefault}{Univers BoldOblique},%
- FontFace={eb}{\sldefault}{Univers BlackOblique}%
+\newcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={OpenSans-Regular},%
+ FontFace={l}{n}{OpenSans-Light},%
+ FontFace={m}{n}{OpenSans-Regular},%
+ FontFace={sb}{n}{OpenSans-SemiBold},%
+ FontFace={b}{n}{OpenSans-Bold},%
+ FontFace={bx}{n}{OpenSans-Bold},%
+ FontFace={eb}{n}{OpenSans-ExtraBold},%
+ FontFace={l}{it}{OpenSans-LightItalic},%
+ FontFace={m}{it}{OpenSans-Italic},%
+ FontFace={sb}{it}{OpenSans-SemiBoldItalic},%
+ FontFace={b}{it}{OpenSans-BoldItalic},%
+ FontFace={bx}{it}{OpenSans-BoldItalic},%
+ FontFace={eb}{it}{OpenSans-ExtraBoldItalic}%
}%
- \newfontfamily\tud@x@fontspec@fam@univ{Univers}[%
- \tud@x@fontspec@set@univ,NFSSFamily=\tud@univers%
- ]%
- \fi%
- \if@tud@dinbold%
- \newcommand*\tud@x@fontspec@set@din{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{DIN-Bold},%
- FontFace={m}{\updefault}{DIN-Bold},%
- FontFace={b}{\updefault}{DIN-Bold},%
- FontFace={bx}{\updefault}{DIN-Bold},%
- FontFace={eb}{\updefault}{DIN-Bold},%
- FontFace={l}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={m}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={b}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={bx}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={eb}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@osf}{Numbers=OldStyle,\tud@res@a}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \else%
+ \IfFileExists{omliwona.fd}{%
+ \input{omliwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OML/\tud@cdfont@fam@lf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ \csletcs{OML/\tud@cdfont@fam@osf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ }%
+ }{}%
+ \IfFileExists{omsiwona.fd}{%
+ \input{omsiwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OMS/\tud@cdfont@fam@lf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ \csletcs{OMS/\tud@cdfont@fam@osf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ }%
+ }{}%
+ \AtBeginDocument{%
+ \ifcsundef{textrightarrow}{}{%
+ \tud@cs@store{textrightarrow}%
+ \renewrobustcmd*{\textrightarrow}{%
+ {\fontfamily{iwona}\selectfont\tud@cs@use{textrightarrow}}%
+ }%
+ }%
}%
- \newfontfamily\tud@x@fontspec@fam@din{DIN-Bold}[%
- \tud@x@fontspec@set@din,NFSSFamily=\tud@dinbold%
- ]%
- \fi%
- \fi%
- \if@tud@univers%
- \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}}%
- \else%
- \newrobustcmd*\univln{\tud@font@fallback{Univers Light}{md}{up}}%
- \newrobustcmd*\univrn{\tud@font@fallback{Univers}{md}{up}}%
- \newrobustcmd*\univbn{\tud@font@fallback{Univers Bold}{bf}{up}}%
- \newrobustcmd*\univxn{\tud@font@fallback{Univers Black}{bf}{up}}%
- \newrobustcmd*\univls{\tud@font@fallback{Univers LightOblique}{md}{sl}}%
- \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
- \newrobustcmd*\univbs{\tud@font@fallback{Univers BoldOblique}{bf}{sl}}%
- \newrobustcmd*\univxs{\tud@font@fallback{Univers BlackOblique}{bf}{sl}}%
- \fi%
- \if@tud@dinbold%
- \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
- \if@tud@dinboldmath%
- \appto\tud@dinbn{\mathversion{dinbold}}%
- \fi%
- \newrobustcmd*\dinbn{\tud@dinbn}%
+ \fi%
+ \newrobustcmd*\cdfontln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\cdfontrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\cdfontsn{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{n}}
+ \newrobustcmd*\cdfontbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\cdfontxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\cdfontli{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{it}}
+ \newrobustcmd*\cdfontri{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{it}}
+ \newrobustcmd*\cdfontsi{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{it}}
+ \newrobustcmd*\cdfontbi{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{it}}
+ \newrobustcmd*\cdfontxi{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{it}}
\else%
- \newrobustcmd*\tud@dinbn{\sectfont}%
- \newrobustcmd*\dinbn{\tud@font@fallback@wrn{DIN-Bold}\tud@dinbn}%
- \fi%
- \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}%
- \undef\tud@font@init%
-}
-\newcommand*\tud@font@fallback[3]{%
- \tud@font@fallback@wrn{#1}%
- \sffamily\csuse{#2series}\csuse{#3shape}%
-}
-\newcommand*\tud@font@fallback@wrn[1]{%
+ \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up}
+ \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up}
+ \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up}
+ \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up}
+ \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up}
+ \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it}
+ \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it}
+ \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it}
+ \fi%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={Univers},%
+ FontFace={l}{n}{Univers-Light},%
+ FontFace={m}{n}{Univers},%
+ FontFace={b}{n}{Univers-Bold},%
+ FontFace={bx}{n}{Univers-Bold},%
+ FontFace={eb}{n}{Univers-Black},%
+ FontFace={l}{it}{Univers-LightOblique},%
+ FontFace={m}{it}{Univers-Oblique},%
+ FontFace={b}{it}{Univers-BoldOblique},%
+ FontFace={bx}{it}{Univers-BoldOblique},%
+ FontFace={eb}{it}{Univers-BlackOblique}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{sl}}
+ \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{sl}}
+ \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{sl}}
+ \newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{sl}}
+ \else%
+ \tud@cdfont@fallback\univln{Univers-Light}{md}{up}
+ \tud@cdfont@fallback\univrn{Univers}{md}{up}
+ \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up}
+ \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up}
+ \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{sl}
+ \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{sl}
+ \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{sl}
+ \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{sl}
+ \fi%
+ \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}%
+ \newrobustcmd*\cdfontln{\univln}%
+ \newrobustcmd*\cdfontrn{\univrn}%
+ \newrobustcmd*\cdfontsn{\univrn}%
+ \newrobustcmd*\cdfontbn{\univbn}%
+ \newrobustcmd*\cdfontxn{\univxn}%
+ \newrobustcmd*\cdfontli{\univls}%
+ \newrobustcmd*\cdfontri{\univrs}%
+ \newrobustcmd*\cdfontsi{\univrs}%
+ \newrobustcmd*\cdfontbi{\univbs}%
+ \newrobustcmd*\cdfontxi{\univxs}%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+ \if@tud@cdfont@db@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={DIN-Bold},%
+ FontFace={l}{n}{DIN-Bold},%
+ FontFace={m}{n}{DIN-Bold},%
+ FontFace={b}{n}{DIN-Bold},%
+ FontFace={bx}{n}{DIN-Bold},%
+ FontFace={eb}{n}{DIN-Bold},%
+ FontFace={l}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={m}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={b}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={bx}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={eb}{it}{Font=DIN-Bold,FakeSlant=0.15}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@db}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\tud@db{%
+ \usefont{\encodingdefault}{\tud@cdfont@db}{b}{n}%
+ \if@tud@cdmath@active\mathversion{tuddin}\fi%
+ }%
+ \newrobustcmd*\dinbn{\tud@db}%
+ \else%
+ \newrobustcmd*\tud@db{\tud@db@wrn\sectfont}%
+ \newcommand*\tud@db@wrn{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Font `DIN-Bold' is not available and therefore\MessageBreak
+ can not be used for headings%
+ }%
+ \global\let\tud@db@wrn\relax%
+ }%
+ \newrobustcmd*\dinbn{\tud@cdfont@fallback@wrn{DIN-Bold}\sectfont}%
+ \fi%
+ \newcommand*\textdbn{}%
+ \DeclareTextFontCommand\textdbn{\dinbn}%
+ }%
+\fi
+\newcommand*\tud@cdfont@fallback[4]{%
+ \newrobustcmd*#1{%
+ \tud@cdfont@fallback@wrn{#2}%
+ \sffamily\csuse{#3series}\csuse{#4shape}%
+ }%
+}
+\newcommand*\tud@cdfont@fallback@wrn[1]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The requested font `#1' is not available, so\MessageBreak%
- a fallback layout is used%
+ The requested font `#1'\MessageBreak%
+ is not available, a fallback layout is used%
}%
}
\newcommand*\cdfont[1]{%
\tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \csuse{cdfont\@tempc}%
\fi%
}
-\providecommand*\tudfont[1]{\cdfont{#1}}
-\newcommand*\textcdfont[2]{%
+\newcommand*\textcd[2]{%
\tud@cdfont@get{#1}%
- \ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \csuse{textcd\@tempc}{#2}%
\fi%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\cdfont[1]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \fi%
+ }%
+ \renewcommand*\textcd[2]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \fi%
+ }%
+\fi
\newcommand*\tud@cdfont@get[1]{%
\tud@cdfont@trim\@tempa{#1}%
- \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
- \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
- \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
- \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
- \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
- \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{l}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{r}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{s}{\def\@tempc{sn}}{%
+ \ifstr{\@tempa}{b}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{x}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{li}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{il}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{i}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ri}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ir}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{si}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{is}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{bi}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{ib}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{xi}{\def\@tempc{xi}}{%
+ \ifstr{\@tempa}{ix}{\def\@tempc{xi}}{%
\let\@tempc\relax%
\ClassWarning{\TUD@Class@Name}%
{The font `#1' is unknown}%
- }}}}}}}}}}}}}}%
-}
+ }}}}}}}}}}}}}}}}}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@get[1]{%
+ \tud@cdfont@trim\@tempa{#1}%
+ \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \let\@tempc\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+ }%
+\fi
\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
@@ -1891,22 +2282,45 @@
\tud@cdfont@@trim{-}{}%
\tud@cdfont@@trim{_}{}%
\tud@cdfont@@trim{~}{}%
- \tud@cdfont@@trim{ce}{}%
- \tud@cdfont@@trim{ff}{}%
- \tud@cdfont@@trim{univers}{}%
- \tud@cdfont@@trim{60}{65}%
- \tud@cdfont@@trim{light}{45}%
- \tud@cdfont@@trim{regular}{55}%
- \tud@cdfont@@trim{bold}{65}%
- \tud@cdfont@@trim{black}{75}%
- \tud@cdfont@@trim{4545}{45}%
- \tud@cdfont@@trim{5555}{55}%
- \tud@cdfont@@trim{6565}{65}%
- \tud@cdfont@@trim{7575}{75}%
- \tud@cdfont@@trim{italic}{oblique}%
- \tud@cdfont@@trim{slanted}{oblique}%
+ \tud@cdfont@@trim{opensans}{}%
+ \tud@cdfont@@trim{light}{l}%
+ \tud@cdfont@@trim{regular}{r}%
+ \tud@cdfont@@trim{book}{r}%
+ \tud@cdfont@@trim{semibold}{s}%
+ \tud@cdfont@@trim{demi}{s}%
+ \tud@cdfont@@trim{extrabold}{x}%
+ \tud@cdfont@@trim{black}{x}%
+ \tud@cdfont@@trim{bold}{b}%
+ \tud@cdfont@@trim{italic}{i}%
+ \tud@cdfont@@trim{oblique}{i}%
+ \tud@cdfont@@trim{slanted}{i}%
\let#1\@tempa%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@trim[2]{%
+ \protected@edef\@tempa{\trim@spaces{#2}}%
+ \tud@lowerstring{\@tempa}{\@tempa}%
+ \tud@cdfont@@trim{ }{}%
+ \tud@cdfont@@trim{-}{}%
+ \tud@cdfont@@trim{_}{}%
+ \tud@cdfont@@trim{~}{}%
+ \tud@cdfont@@trim{ce}{}%
+ \tud@cdfont@@trim{ff}{}%
+ \tud@cdfont@@trim{univers}{}%
+ \tud@cdfont@@trim{60}{65}%
+ \tud@cdfont@@trim{light}{45}%
+ \tud@cdfont@@trim{regular}{55}%
+ \tud@cdfont@@trim{bold}{65}%
+ \tud@cdfont@@trim{black}{75}%
+ \tud@cdfont@@trim{4545}{45}%
+ \tud@cdfont@@trim{5555}{55}%
+ \tud@cdfont@@trim{6565}{65}%
+ \tud@cdfont@@trim{7575}{75}%
+ \tud@cdfont@@trim{italic}{oblique}%
+ \tud@cdfont@@trim{slanted}{oblique}%
+ \let#1\@tempa%
+ }%
+\fi
\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
@@ -1915,232 +2329,905 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\tud@font@greek@loop[1]{%
- \@for\@tempa:={%
- Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
- }\do{#1{\@tempa}}%
-}
-\newcommand*\tud@font@greek@declare[1]{%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
- {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
- }\@tempb%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
- {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
- }\@tempb%
- \csletcs{tud@#1}{tud@up#1}%
- \advance \@tempcnta by 1%
-}
-\@tempcnta=\z@\relax
-\tud@font@greek@loop\tud@font@greek@declare
-\newcommand*\mv@univers{}
-\newcommand*\mv@universbold{}
-\newcommand*\mv@dinbold{}
-\newcommand*\tud@font@math@init{%
- \if@tud@x@fontspec@enabled\if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} or bool {@tud@dinboldmath}}{%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- It's recommended to load package `fontspec'\MessageBreak%
- with option `no-math', if you want to use the\MessageBreak%
- corporate design fonts in math mode%
- }%
- }%
- }{}%
+\newcommand*\tud@ttfont@set{%
+ \if@tud@ttfont@rb@exist\else\ifnum\tud@ttfont@num=\@ne\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The package `roboto-mono' is missing so the\MessageBreak%
+ typewriter font of package `lmodern' is used%
+ }%
+ \TUDoptions{ttfont=lmodern}%
\fi\fi%
- \if@tud@universmath%
- \DeclareMathVersion{univers}%
- \DeclareMathVersion{universbold}%
- \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
- \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
- \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
- \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathrm}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathrm}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathnormal}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathnormal}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
- \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
- \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%
- \@ifpackageloaded{amsfonts}{%
- \DeclareFontFamily{U}{\tud@univers a}{}%
- \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
- \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
- \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
- \DeclareFontFamily{U}{\tud@univers b}{}%
- \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
- \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
- \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
- \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
- \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
- }{}%
+ \ifcase\tud@ttfont@num\relax% false
+ \let\tud@ttfont@fam\ttdefault%
+ \or% roboto
+ \let\tud@ttfont@fam\tud@ttfont@rb%
+ \or% lmodern
+ \let\tud@ttfont@fam\tud@ttfont@lm%
+ \fi%
+ \ifcase\tud@ttfont@num\relax\else% !false
+ \if@tud@x@fontspec@enabled%
+ \ifx\ttdefault\tud@ttfont@fam\else%
+ \tud@x@fontspec@set{tt}{\tud@ttfont@fam}%
+ \fi%
+ \else%
+ \renewcommand*\ttdefault{\tud@ttfont@fam}%
+ \fi%
\fi%
- \if@tud@dinboldmath%
- \DeclareMathVersion{dinbold}%
- \SetSymbolFont{operators}{dinbold}{OT1}{\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{\mathrm}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathnormal}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathtt}{dinbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{dinbold}{OMS}{lmsy}{b}{n}%
- \fi%
- \@ifpackageloaded{unicode-math}{%
- \let\tud@font@math@set\relax%
- \bool@set@lock{@tud@cdmath}{false}%
- }{%
- \tud@font@greek@check@slanted%
- \tud@font@greek@loop\tud@font@greek@init%
- \tud@font@math@set%
- }%
- \sbox\z@{\tud@dinbn$ $}%
+ \tud@ttfont@@set%
}
-\newcommand*\tud@font@greek@check@slanted{%
- \let\@tempb\relax%
- \let\@tempc\relax%
- \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
- \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
- \@tempswafalse%
- \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
- \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
- \if@tempswa%
- \bool@std@lock{@tud@slantedgreek}{true}%
+\newcommand*\tud@ttfont@md{}
+\newcommand*\tud@ttfont@bf{}
+\newcommand*\tud@ttfont@ebf{}
+\newcommand*\tud@ttfont@@set{%
+ \ifcase\tud@ttfont@num\relax%
+ \ifundef{\mdseries@tt}{%
+ \edef\tud@ttfont@md{\tud@cs@use{mddefault}}%
+ }{%
+ \edef\tud@ttfont@md{\mdseries@tt}%
+ }%
+ \ifundef{\bfseries@tt}{%
+ \edef\tud@ttfont@bf{\tud@cs@use{bfdefault}}%
+ }{%
+ \edef\tud@ttfont@bf{\bfseries@tt}%
+ }%
+ \edef\tud@ttfont@ebf{\tud@ttfont@bf}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@md{\tud@cdfont@md}%
+ \renewcommand*\tud@ttfont@bf{\tud@cdfont@bf}%
+ \renewcommand*\tud@ttfont@ebf{\tud@cdfont@ebf}%
+ \else% lmodern
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@ttfont@md{m}%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@bf{m}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \fi%
+ \fi%
\fi%
- \let\tud@font@greek@check@slanted\relax%
}
-\BeforePackage{flexisym}{\tud@font@greek@check@slanted}
-\newcommand*\tud@font@greek@init[1]{%
- \ifcsundef{up#1}{%
- \if@tempswa%
- \csletcs{up#1}{tud@up#1}%
+\newcommand*\tud@ttfont@init{%
+ \newcommand*\tud@ttfont@rb@scale{0.9}%
+ \if@tud@x@fontspec@enabled%
+ \if@tud@ttfont@rb@exist%
+ \tud@x@fontspec@init{\tud@ttfont@rb}{%
+ Scale={\tud@ttfont@rb@scale},%
+ UprightFont={RobotoMono-Regular},%
+ FontFace={l}{n}{RobotoMono-Light},%
+ FontFace={m}{n}{RobotoMono-Regular},%
+ FontFace={sb}{n}{RobotoMono-Medium},%
+ FontFace={b}{n}{RobotoMono-Bold},%
+ FontFace={bx}{n}{RobotoMono-Bold},%
+ FontFace={eb}{n}{RobotoMono-Bold},%
+ FontFace={l}{it}{RobotoMono-LightItalic},%
+ FontFace={m}{it}{RobotoMono-Italic},%
+ FontFace={sb}{it}{RobotoMono-MediumItalic},%
+ FontFace={b}{it}{RobotoMono-BoldItalic},%
+ FontFace={bx}{it}{RobotoMono-BoldItalic},%
+ FontFace={eb}{it}{RobotoMono-BoldItalic}%
+ }%
+ \fi%
+ \ifx\ttdefault\tud@ttfont@lm\else%
+ \tud@x@fontspec@init{\tud@ttfont@lm}{%
+ UprightFont={LMMono10-Regular},%
+ FontFace={l}{n}{LMMonoLt10-Regular},%
+ FontFace={m}{n}{LMMono10-Regular},%
+ FontFace={b}{n}{LMMonoLt10-Bold},%
+ FontFace={bx}{n}{LMMonoLt10-Bold},%
+ FontFace={l}{it}{LMMonoLt10-Oblique},%
+ FontFace={m}{it}{LMMonoSlant10-Regular},%
+ FontFace={b}{it}{LMMonoLt10-BoldOblique},%
+ FontFace={bx}{it}{LMMonoLt10-BoldOblique}%
+ }%
+ \fi%
+ \else%
+ \if@tud@ttfont@rb@exist%
+ \edef\tud@ttfont@rb@scale{s*[\tud@ttfont@rb@scale]}%
+ \begingroup%
+ \def\tud@res@c##1##2{%
+ \tud@lowerstring\tud@res@a{##1}%
+ \DeclareFontFamily{##1}{\tud@ttfont@rb}{\hyphenchar\font=\m@ne}%
+ \def\tud@res@b####1####2####3{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{n}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{it}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sl}{%
+ <->ssub*\tud@ttfont@rb/####1/it%
+ }{}%
+ \ifbool{##2}{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sc}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scit}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scsl}{%
+ <->ssub*\tud@ttfont@rb/####1/scit%
+ }{}%
+ }{}%
+ }%
+ \tud@res@b{l}{Light}{LightItalic}%
+ \tud@res@b{m}{Regular}{Italic}%
+ \tud@res@b{sb}{Medium}{MediumItalic}%
+ \tud@res@b{b}{Bold}{BoldItalic}%
+ \tud@res@b{bx}{Bold}{BoldItalic}%
+ }%
+ \tud@res@c{OT1}{true}%
+ \tud@res@c{T1}{true}%
+ \ifcsundef{T@LY1}{}{\tud@res@c{LY1}{true}}%
+ \ifcsundef{T@TS1}{}{\tud@res@c{TS1}{false}}%
+ \endgroup%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@if@issymbolfont[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname sym#1\endcsname%
+ {\expandonce\group@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{up#1}{#1}%
+ \aftergroup\@secondoftwo%
\fi%
- }{}%
- \ifcsundef{var#1}{%
- \if@tempswa%
- \csletcs{var#1}{#1}%
+ \endgroup%
+}
+\@onlypreamble\tud@if@issymbolfont
+\newcommand*\tud@if@ismathalphabet[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname\expandafter\@gobble\string#1\space\endcsname%
+ {\expandonce\alpha@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{var#1}{tud@var#1}%
+ \aftergroup\@secondoftwo%
\fi%
+ \endgroup%
+}
+\@onlypreamble\tud@if@ismathalphabet
+\newcommand*\tud@math@loop@greeks@all[1]{%
+ \tud@math@loop@greeks@uc{#1}%
+ \tud@math@loop@greeks@lc{#1}%
+}
+\newcommand*\tud@math@loop@greeks@uc[1]{%
+ \@for\@tempa:={%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@loop@greeks@lc[1]{%
+ \@for\@tempa:={%
+ alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,%
+ mu,nu,xi,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,%
+ varepsilon,vartheta,varpi,varrho,varsigma,varphi%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@declare@lgrgreeks[5]{%
+ \ifundef{\T@LGR}{\DeclareFontEncoding{LGR}{}{}}{}%
+ \tud@if@issymbolfont{tudupgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#4}%
+ }{%
+ \DeclareSymbolFont{tudupgrk}{LGR}{#1}{#2}{#4}%
+ }%
+ \SetSymbolFont{tudupgrk}{bold}{LGR}{#1}{#3}{#4}%
+ \tud@if@issymbolfont{tuditgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#5}%
+ }{%
+ \DeclareSymbolFont{tuditgrk}{LGR}{#1}{#2}{#5}%
+ }%
+ \SetSymbolFont{tuditgrk}{bold}{LGR}{#1}{#3}{#5}%
+}
+\newcommand*\tud@math@map@greeks{%
+ \tud@math@loop@greeks@all\tud@math@map@@greeks%
+ \tud@math@loop@greeks@uc\tud@math@map@@@greeks%
+ \tud@math@supplement@greeks%
+}
+\newcommand*\tud@math@map@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{\csedef{it#1}{\csname\tud@res@a\endcsname}}%
+ }%
+ }{}%
+ \ifcsundef{up#1}{%
+ \ifcsundef{#1up}{}{\csedef{up#1}{\csname#1up\endcsname}}%
+ }{}%
+ \ifcsundef{other#1}{%
+ \ifcsundef{#1other}{}{\csedef{other#1}{\csname#1other\endcsname}}%
}{}%
}
-\newcommand*\tud@font@math@set{%
- \if@atdocument%
- \if@tud@cdmath%
- \if@tud@universmath\else%
- \tud@font@math@missing@wrn{Univers}%
+\newcommand*\tud@math@map@@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \ifcsundef{var#1}{}{\csedef{it#1}{\csname var#1\endcsname}}%
+ }{}%
+ \ifcsundef{up#1}{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{\csedef{up#1}{\csname\tud@res@a\endcsname}}%
+ }{}%
+}
+\newcommand*\tud@math@supplement@greeks{%
+ \begingroup%
+ \newcommand*\tud@math@operators@enc{}%
+ \newcommand*\tud@math@operators@fam{}%
+ \newcommand*\tud@math@letters@enc{}%
+ \newcommand*\tud@math@letters@fam{}%
+ \def\getanddefine@fonts##1##2{%
+ \ifx\symoperators##1%
+ \expandafter\tud@res@a\string##2\@nil%
+ \else\ifx\symletters##1%
+ \expandafter\tud@res@b\string##2\@nil%
+ \fi\fi%
+ }%
+ \def\tud@res@a##1##2/##3/##4\@nil{%
+ \def\tud@math@operators@enc{##2}%
+ \def\tud@math@operators@fam{##3}%
+ }%
+ \def\tud@res@b##1##2/##3/##4\@nil{%
+ \def\tud@math@letters@enc{##2}%
+ \def\tud@math@letters@fam{##3}%
+ }%
+ \tud@cs@use{mv@normal}%
+ \let\tud@res@c\@empty%
+ \ifstr{\tud@math@letters@enc}{\detokenize{OML}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{letters}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@all\tud@res@a%
+ }{}%
+ \ifstr{\tud@math@operators@enc}{\detokenize{OT1}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{operators}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@res@a%
+ }{}%
+ \let\tud@res@a\@empty%
+ \if@tud@lgrgreeks%
+ \IfFileExists{lgr\tud@cs@use{familydefault}.fd}{%
+ \def\tud@res@a{\tud@cs@use{familydefault}}%
+ }{%
+ \IfFileExists{lgr\tud@math@letters@fam.fd}{%
+ \let\tud@res@a\tud@math@letters@fam%
+ }{%
+ \IfFileExists{lgr\tud@math@operators@fam.fd}{%
+ \let\tud@res@a\tud@math@operators@fam%
+ }{}%
+ }%
+ }%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@c%
+ \edef\noexpand\tud@res@a{\tud@res@a}%
+ }%
+ \tud@res@a%
+ \ifx\tud@res@a\@empty\else%
+ \tud@math@declare@lgrgreeks{\tud@res@a}%
+ {\tud@cs@use{mddefault}}{\tud@cs@use{bfdefault}}%
+ {\tud@cs@use{updefault}}{\tud@cs@use{itdefault}}%
+ \let\tud@res@c\@empty%
+ \def\tud@res@b##1##2{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{tuditgrk}{##2}%
+ }%
+ }{}%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{tudupgrk}{##2}%
+ }%
+ }{}%
+ }%
+ \tud@res@b{Gamma}{71}%
+ \tud@res@b{Delta}{68}%
+ \tud@res@b{Theta}{74}%
+ \tud@res@b{Lambda}{76}%
+ \tud@res@b{Xi}{88}%
+ \tud@res@b{Pi}{80}%
+ \tud@res@b{Sigma}{83}%
+ \tud@res@b{Upsilon}{85}%
+ \tud@res@b{Phi}{70}%
+ \tud@res@b{Psi}{89}%
+ \tud@res@b{Omega}{87}%
+ \tud@res@b{alpha}{97}%
+ \tud@res@b{beta}{98}%
+ \tud@res@b{gamma}{103}%
+ \tud@res@b{delta}{100}%
+ \tud@res@b{epsilon}{101}%
+ \tud@res@b{zeta}{122}%
+ \tud@res@b{eta}{104}%
+ \tud@res@b{theta}{106}%
+ \tud@res@b{iota}{105}%
+ \tud@res@b{kappa}{107}%
+ \tud@res@b{lambda}{108}%
+ \tud@res@b{mu}{109}%
+ \tud@res@b{nu}{110}%
+ \tud@res@b{xi}{120}%
+ \tud@res@b{pi}{112}%
+ \tud@res@b{rho}{114}%
+ \tud@res@b{sigma}{115}%
+ \tud@res@b{tau}{116}%
+ \tud@res@b{upsilon}{117}%
+ \tud@res@b{phi}{102}%
+ \tud@res@b{chi}{113}%
+ \tud@res@b{psi}{121}%
+ \tud@res@b{omega}{119}%
+ \tud@res@c%
+ \fi%
+}
+\newcommand*\tud@math@checkslanted@greeks{%
+ \begingroup%
+ \def\tud@res@c{%
+ \tud@if@v@lower{2.06}{%
+ \TUD@key@preset{slantedgreek}{standard}%
+ }{%
+ \TUD@key@preset{slantedgreek}{true}%
+ }%
+ }%
+ \@tud@res@swafalse%
+ \ifcsdef{upalpha}{%
+ \ifx\upalpha\alpha%
+ \@tud@res@swatrue%
\fi%
- \if@tud@dinboldmath\else%
- \tud@font@math@missing@wrn{DIN-Bold}%
+ }{}%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{false}}%
+ \else%
+ \ifcsdef{itGamma}{%
+ \ifx\itGamma\Gamma%
+ \@tud@res@swatrue%
+ \fi%
+ }{%
+ \let\tud@res@a\relax%
+ \let\tud@res@b\relax%
+ \DeclareMathSymbol{\tud@res@a}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\tud@res@b}{\mathord}{letters}{0}%
+ \ifx\Gamma\tud@res@a\relax\@tud@res@swatrue\fi%
+ \ifx\Gamma\tud@res@b\relax\@tud@res@swatrue\fi%
+ }%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{true}}%
\fi%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+ \fi%
+ \edef\tud@res@c{\endgroup\expandonce\tud@res@c}%
+ \tud@res@c%
+}
+\newcommand*\mv@tudnormal{}
+\newcommand*\mv@tudbold{}
+\newcommand*\mv@tuddin{}
+\AfterPackage*{mathastext}{%
+ \CheckCommand*\MTversion{\@ifstar\MTversion@s\MTversion@}%
+ \CheckCommand*\MTversion@s[1]{\mathversion{#1}\MTversion@@{#1}}%
+ \newrobustcmd*\tud@mathversion[1]{%
+ \tud@cs@use{mathversion}{#1}%
+ \if@tud@cdmath@active%
+ \ifstr{#1}{normal}{%
+ \MTversion@@{tudnormal}%
+ }{%
+ \ifstr{#1}{bold}{%
+ \MTversion@@{tudbold}%
+ }{}%
}%
\fi%
- \fi%
- \if@tud@universmath%
- \if@tud@cdmath%
- \tud@cmd@store{mv@normal}%
- \tud@cmd@store{mv@bold}%
- \let\mv@normal\mv@univers%
- \let\mv@bold\mv@universbold%
- \tud@font@greek@loop\tud@font@greek@set%
+ }%
+ \AtEndPreamble{%
+ \tud@cs@store{mathversion}%
+ \tud@cs@letltx{mathversion}{tud@mathversion}%
+ }%
+}
+\newcommand*\tud@cdmath@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdoldfont@active\else%
+ \if@tud@cdmath@active%
+ \def\tud@res@a##1{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `##1'\MessageBreak%
+ manually when option `cdmath=true' is active as\MessageBreak%
+ TUD-Script uses package `mathastext' internally\MessageBreak%
+ with a specific set of required options for the\MessageBreak%
+ math font setup%
+ }%
+ }%
+ \@ifpackageloaded{sansmath}{%
+ \tud@res@a{sansmath}%
+ }{}%
+ \@ifpackageloaded{mathastext}{%
+ \tud@res@a{mathastext}%
+ }{}%
+ \fi%
+ \PassOptionsToPackage{%
+ subdued,defaultmathsizes,nosmalldelims,%
+ defaultrm,defaultbf,defaultit,defaultsf,defaulttt,%
+ noequal,nohbar%
+ }{mathastext}%
+ \RequirePackage{mathastext}[2018/08/22]%
+ \tud@math@declare@lgrgreeks{cmr}{m}{bx}{n}{it}%
+ \fi%
+ \providecommand*\MTDeclareVersion[6][]{\DeclareMathVersion{##2}}%
+ \providecommand*\MTversion@@[1]{}%
+ \tud@cdmath@@init{\tud@cdfont@fam@lf}{\tud@ttfont@fam}%
+ \if@tud@cdoldfont@active%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@cdmath@declare@greek@uc%
+ \tud@math@loop@greeks@lc\tud@cdmath@declare@greek@lc%
\else%
- \tud@cmd@restore{mv@normal}%
- \tud@cmd@restore{mv@bold}%
- \tud@font@greek@loop\tud@font@greek@reset%
+ \tud@cdmath@declare@greek@lgr%
\fi%
+ \tud@cdmath@declare@char{*}{\mathbin}{symbols}{"03}%
+ \tud@cdmath@also@greeks%
+ \else%
+ \let\mv@tudnormal\mv@normal%
+ \let\mv@tudbold\mv@bold%
+ \if@tud@cdoldfont@active%
+ \let\mv@tuddin\mv@bold%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@cdmath@@init[2]{%
+ \tud@cdfont@@set%
+ \tud@ttfont@@set%
+ \if@tud@cdoldfont@active%
+ \DeclareMathVersion{tudnormal}%
+ \DeclareMathVersion{tudbold}%
+ \DeclareMathVersion{tuddin}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetSymbolFont{letters}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetSymbolFont{letters}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{symbols}{tuddin}{OMS}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}%
+ \SetMathAlphabet{\mathnormal}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetMathAlphabet{\mathnormal}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathnormal}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathbold}{tudbold}{OML}{#1}{\tud@cdfont@ebf}{sl}%
+ \SetMathAlphabet{\mathbold}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ }{}%
+ \else%
+ \MTDeclareVersion[it]{tudnormal}{T1}{#1}{\tud@cdfont@md}{n}%
+ \MTDeclareVersion[it]{tudbold}{T1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{iwona}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{letters}{tudbold}{OML}{iwona}{\tud@cdfont@bf}{it}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tudupgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{tuditgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{tudupgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tuditgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{it}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{T1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathbold}{tudbold}{T1}{#1}{\tud@cdfont@ebf}{it}%
+ }{}%
\fi%
- \if@tud@slantedgreek%
- \tud@font@greek@loop\tud@font@greek@slanted%
+ \SetMathAlphabet{\mathrm}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathrm}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudnormal}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudbold}{OT1}{#1}{\tud@cdfont@ebf}{n}%
+ \SetMathAlphabet{\mathsf}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathsf}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathit}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{it}%
+ \SetMathAlphabet{\mathit}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathtt}{tudnormal}{OT1}{#2}{\tud@ttfont@md}{n}%
+ \SetMathAlphabet{\mathtt}{tudbold}{OT1}{#2}{\tud@ttfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathrm}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathbf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathsf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathit}{tuddin}{OT1}{\tud@cdfont@db}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{tuddin}{OT1}{#2}{\tud@ttfont@ebf}{n}%
+ \fi%
+ \IfFileExists{ueus.fd}{%
+ \SetMathAlphabet{\mathcal}{tudnormal}{U}{eus}{m}{n}%
+ \SetMathAlphabet{\mathcal}{tudbold}{U}{eus}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}%
+ \fi%
+ }{}%
+ \tud@if@ismathalphabet{\mathfrak}{%
+ \IfFileExists{ueuf.fd}{%
+ \SetMathAlphabet{\mathfrak}{tudnormal}{U}{euf}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{tudbold}{U}{euf}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}%
+ \fi%
+ }{}%
+ }{}%
+ \AtBeginDocument{%
+ \@tud@res@swafalse%
+ \tud@if@issymbolfont{AMSa}{\@tud@res@swatrue}{}%
+ \tud@if@issymbolfont{AMSb}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \if@tud@cdoldfont@active%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf a}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf a}{m}{n}{<->cmbras10}{}%
+ \SetSymbolFont{AMSa}{tudnormal}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \SetSymbolFont{AMSa}{tudbold}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf b}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf b}{m}{n}{<->cmbrbs10}{}%
+ \SetSymbolFont{AMSb}{tudnormal}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \SetSymbolFont{AMSb}{tudbold}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \else%
+ \@ifpackageloaded{mdsymbol}{}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassInfoNoLine{\TUD@Class@Name}%
+ {%
+ You may load package `mdsymbol' in order to\MessageBreak%
+ get symbols matching the used math font%
+ }%
+ }%
+ }%
+ \fi%
+ \fi%
+ \tud@if@issymbolfont{legacymaths}{%
+ \SetSymbolFont{legacymaths}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{legacymaths}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetSymbolFont{legacymaths}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \fi%
+ }{}%
+ \if@tud@cdoldfont@active%
+ \if@tud@cdmath@active%
+ \sbox\z@{\mathversion{tudnormal}$ $\mathversion{tuddin}$ $}%
+ \fi%
+ \fi%
+ }%
+}
+\newcommand*\tud@cdmath@symb@list{}
+\newcommand*\tud@cdmath@declare@symb[4]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@cdmath@declare@alias[2]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \ifcsdef{tud@cdmath@symbol@#2}{%
+ \csedef{tud@cdmath@symbol@#1}{\csname tud@cdmath@symbol@#2\endcsname}%
+ }{}%
+}
+\newcommand*\tud@cdmath@char@list{}
+\newcommand*\tud@cdmath@declare@char[4]{%
+ \listeadd\tud@cdmath@char@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@DeclareMathSymbol[4]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareMathSymbol%
+ {\csname tud@cdmath@symbol@#1\endcsname}%
+ {\etex@unexpanded{#2}}{#3}{#4}%
+ }%
+ \tud@res@a%
+}
+\newtoks\tud@cdmath@symbols@toks
+\newcommand*\tud@cdmath@symbols@set{%
+ \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdmath@symbols@toks}{%
+ \forlistloop\tud@cdmath@symbols@set@cmd\tud@cdmath@symb@list%
+ \forlistloop\tud@cdmath@symbols@set@chr\tud@cdmath@char@list%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cdmath@symbols@toks{}}%
+ }{}%
+}
+\newcommand*\tud@cdmath@symbols@set@cmd[1]{%
+ \ifcsdef{#1}{%
+ \tud@cs@store{#1}%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cs@restore{#1}}%
+ }{%
+ \addto@hook\tud@cdmath@symbols@toks{\csundef{#1}}%
+ }%
+ \ifcsdef{tud@cdmath@symbol@#1}{%
+ \tud@cs@letltx{#1}{tud@cdmath@symbol@#1}%
+ }{%
+ \csundef{#1}%
+ }%
+}
+\newcommand*\tud@cdmath@symbols@set@chr[1]{%
+ \edef\tud@res@a{\global\mathcode`#1=\the\mathcode`#1\relax}%
+ \eaddto@hook\tud@cdmath@symbols@toks{\tud@res@a}%
+ \begingroup%
+ \edef\tud@res@a{\expandafter\meaning\csname tud@cdmath@symbol@#1\endcsname}%
+ \def\tud@res@b##1"##2\@nil{"##2}%
+ \edef\tud@res@c{\expandafter\tud@res@b\tud@res@a\@nil}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \global\mathcode`#1=\tud@res@c%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cdmath@symbols@reset{\the\tud@cdmath@symbols@toks}
+\newcommand*\tud@cdmath@declare@greek@uc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{operators}{\the\tud@res@cnt}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \listeadd\tud@cdmath@symb@list{up#1}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lgr{%
+ \tud@cdmath@declare@greek@@lgr{Gamma}{71}%
+ \tud@cdmath@declare@greek@@lgr{Delta}{68}%
+ \tud@cdmath@declare@greek@@lgr{Theta}{74}%
+ \tud@cdmath@declare@greek@@lgr{Lambda}{76}%
+ \tud@cdmath@declare@greek@@lgr{Xi}{88}%
+ \tud@cdmath@declare@greek@@lgr{Pi}{80}%
+ \tud@cdmath@declare@greek@@lgr{Sigma}{83}%
+ \tud@cdmath@declare@greek@@lgr{Upsilon}{85}%
+ \tud@cdmath@declare@greek@@lgr{Phi}{70}%
+ \tud@cdmath@declare@greek@@lgr{Psi}{89}%
+ \tud@cdmath@declare@greek@@lgr{Omega}{87}%
+ \tud@cdmath@declare@greek@@lgr{alpha}{97}%
+ \tud@cdmath@declare@greek@@lgr{beta}{98}%
+ \tud@cdmath@declare@greek@@lgr{gamma}{103}%
+ \tud@cdmath@declare@greek@@lgr{delta}{100}%
+ \tud@cdmath@declare@greek@@lgr{epsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{zeta}{122}%
+ \tud@cdmath@declare@greek@@lgr{eta}{104}%
+ \tud@cdmath@declare@greek@@lgr{theta}{106}%
+ \tud@cdmath@declare@greek@@lgr{iota}{105}%
+ \tud@cdmath@declare@greek@@lgr{kappa}{107}%
+ \tud@cdmath@declare@greek@@lgr{lambda}{108}%
+ \tud@cdmath@declare@greek@@lgr{mu}{109}%
+ \tud@cdmath@declare@greek@@lgr{nu}{110}%
+ \tud@cdmath@declare@greek@@lgr{xi}{120}%
+ \tud@cdmath@declare@greek@@lgr{pi}{112}%
+ \tud@cdmath@declare@greek@@lgr{rho}{114}%
+ \tud@cdmath@declare@greek@@lgr{sigma}{115}%
+ \tud@cdmath@declare@greek@@lgr{tau}{116}%
+ \tud@cdmath@declare@greek@@lgr{upsilon}{117}%
+ \tud@cdmath@declare@greek@@lgr{phi}{102}%
+ \tud@cdmath@declare@greek@@lgr{chi}{113}%
+ \tud@cdmath@declare@greek@@lgr{psi}{121}%
+ \tud@cdmath@declare@greek@@lgr{omega}{119}%
+ \tud@cdmath@declare@greek@@lgr{varepsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{vartheta}{106}%
+ \tud@cdmath@declare@greek@@lgr{varpi}{119}%
+ \tud@cdmath@declare@greek@@lgr{varrho}{114}%
+ \tud@cdmath@declare@greek@@lgr{varsigma}{99}%
+ \tud@cdmath@declare@greek@@lgr{varphi}{102}%
+}
+\newcommand*\tud@cdmath@declare@greek@@lgr[2]{%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{tudupgrk}{#2}%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{tuditgrk}{#2}%
+}
+\newcommand*\tud@cdmath@also@greeks{%
+ \tud@math@loop@greeks@all\tud@cdmath@also@@greeks%
+ \tud@math@loop@greeks@uc\tud@cdmath@also@@@greeks%
+}
+\newcommand*\tud@cdmath@also@@greeks[1]{%
+ \tud@cdmath@declare@alias{#1}{it#1}%
+ \tud@cdmath@declare@alias{other#1}{up#1}%
+ \ifcsundef{#1up}{}{%
+ \tud@cdmath@declare@alias{#1up}{up#1}%
+ }%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{it#1}%
+ }%
+ }%
+ \ifcsundef{#1other}{}{%
+ \tud@cdmath@declare@alias{#1other}{other#1}%
+ }%
+}
+\newcommand*\tud@cdmath@also@@@greeks[1]{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{up#1}%
+ }%
+ \ifcsundef{var#1}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{var#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@set{%
+ \if@tud@cdmath@active%
+ \tud@cdmath@wrn%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \tud@cdmath@symbols@set%
+ \ifcase\tud@slantedgreek@num\relax% upright
+ \tud@math@loop@greeks@all\tud@math@upright@greeks%
+ \or% slanted
+ \tud@math@loop@greeks@all\tud@math@slanted@greeks%
+ \or% standard
+ \tud@math@loop@greeks@uc\tud@math@upright@greeks%
+ \tud@math@loop@greeks@lc\tud@math@slanted@greeks%
+ \fi%
\else%
- \tud@font@greek@loop\tud@font@greek@upright%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \tud@cdmath@symbols@reset%
\fi%
\mathversion{normal}%
}
-\newcommand*\tud@font@greek@set[1]{%
- \tud@cmd@store{#1}%
- \tud@cmd@store{up#1}%
- \tud@cmd@store{var#1}%
- \csletcs{#1}{tud@#1}%
- \csletcs{up#1}{tud@up#1}%
- \csletcs{var#1}{tud@var#1}%
-}
-\newcommand*\tud@font@greek@reset[1]{%
- \tud@cmd@restore{#1}%
- \tud@cmd@restore{up#1}%
- \tud@cmd@restore{var#1}%
-}
-\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
-\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
+\newcommand*\tud@math@upright@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{up#1}%
+ \csletcs{other#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@slanted@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{it#1}%
+ \csletcs{other#1}{up#1}%
+ }%
+}
\AtEndPreamble{%
\if@tud@x@mweights@enabled%
\ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}%
- \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
- \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}%
+ \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
\ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
- \tud@font@check%
- \tud@font@init%
+ \tud@cdfont@check%
+ \tud@cdfont@init%
+ \tud@ttfont@init%
+ \tud@cdmath@init%
+ \if@tud@x@bm@requested%
+ \UnPreventPackageFromLoading{bm}%
+ \if@tud@cdmath@active%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \fi%
+ \RequirePackage{bm}[2017/01/16]%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \fi%
\if@tud@x@siunitx@enabled%
- \ifcase\tud@cdfont@num\relax% false
+ \if@tud@cdfont@active%
+ \if@tud@cdfont@heavy%
+ \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
+ \else%
+ \def\tud@reserved{\TUDoptions{cdfont=true}}%
+ \fi%
+ \else%
\def\tud@reserved{\TUDoptions{cdfont=false}}%
- \or% true
- \def\tud@reserved{\TUDoptions{cdfont=true}}%
- \or% heavy
- \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
\fi%
- \expandafter\AtBeginDocument\expandafter{\tud@reserved}%
+ \expandafter\AfterEndPreamble\expandafter{\tud@reserved}%
\TUDoptions{cdfont=false}%
\fi%
\tud@font@set%
- \if@tud@x@bm@requested%
- \tud@font@math@init%
- \UnPreventPackageFromLoading{bm}%
- \RequirePackage{bm}[2017/01/16]%
- \fi%
- \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}%
-}
-\newrobustcmd*\ifdin{%
- \ifx\f@family\tud@dinbold%
- \expandafter\@firstoftwo%
- \else%
- \expandafter\@secondoftwo%
- \fi%
+ \AtBeginDocument{%
+ \tud@math@map@greeks%
+ \tud@math@checkslanted@greeks%
+ \tud@math@set%
+ }%
}
-\newcommand*\tud@sec@fontface[1][]{%
- \if@tud@cdfont@din%
- \tud@dinbn\tud@raggedright%
- \else%
- \sectfont#1%
+\newcommand*\tud@head@font@light{}
+\newcommand*\tud@head@font@bold{}
+\newcommand*\tud@head@font@set{%
+ \if@tud@cdfont@active\ifcase\tud@head@font@num\relax% false
+ \if@tud@head@font@set%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use `cdhead=false'\MessageBreak%
+ together with `cdfont=true'%
+ }%
+ \fi%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdhead=heavy}%
+ \else%
+ \TUDoptions{cdhead=true}%
+ \fi%
+ \fi\fi%
+ \if@tud@head@font@set%
+ \if@tud@x@mweights@enabled%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mdseries@sf}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfseries@sf}{\updefault}{\tud@head@fontsize}%
+ \else%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
+ \fi%
+ \ifcase\tud@head@font@num\relax\else% true/heavy
+ \tud@head@cdfont@set%
+ \fi%
+ \global\@tud@head@font@setfalse%
+ \global\@tud@head@text@settrue%
\fi%
}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
-}
+\newcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{sb}{n}{\tud@head@fontsize}%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \fi%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \fi%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \fi%
+ }%
+\fi
%%% From File: tudscr-fields.dtx
+\newcommand*\getfield[2][\@firstofone]{%
+ \begingroup%
+ \def\tud@res@b{#1}%
+ \ifcsdef{@@#2}{%
+ \letcs\tud@res@a{@@#2}%
+ }{%
+ \ifcsdef{@#2}{%
+ \letcs\tud@res@a{@#2}%
+ }{%
+ \let\tud@res@a\@empty%
+ \ClassWarning{\TUD@Class@Name}{%
+ The internal field `@#2' does not exist%
+ }%
+ }%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@b{\expandonce\tud@res@a}%
+ }%
+ \tud@res@a%
+}
\newcommand*\@faculty{}
\newcommand*\@department{}
\newcommand*\@institute{}
@@ -2202,11 +3289,35 @@
}
\newcommand*\@authormore{}
\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\newcommand*\@emailaddress{}
+\newrobustcmd*\emailaddress{%
+ \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}%
+}
+\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}}
+\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}}
+\AfterPackage*{hyperref}{%
+ \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
+ \gdef\@emailaddress{%
+ \begingroup%
+ \urlstyle{same}%
+ \hypersetup{#1}%
+ \href{mailto:#2}{\nolinkurl{#2}}%
+ \endgroup%
+ }%
+ }%
+}
\newcommand*\@course{}
\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces}
\newcommand*\@discipline{}
\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces}
-\providecommand*\publisher[1]{\publishers{#1}}
+\newcommand*\@matriculationnumber{}
+\newrobustcmd*\matriculationnumber[1]{%
+ \gdef\@matriculationnumber{#1}\ignorespaces%
+}
+\newcommand*\@matriculationyear{}
+\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
+\newcommand*\@placeofbirth{}
+\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
\newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}}
@@ -2222,8 +3333,11 @@
\let\footnote\@gobble%
\tud@lowerstring{\@tempa}{#2}%
\ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
- \global\let\@tempa\@tempa%
- \endgroup%
+ \protected@edef\@tempa{%
+ \endgroup%
+ \def\noexpand\@tempa{\@tempa}%
+ }%
+ \@tempa%
\ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{%
\ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{%
\ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{%
@@ -2249,9 +3363,9 @@
Field `thesis' is overwritten by `subject'%
}%
\fi%
- \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{true}%
+ \TUD@key@preset{subjectthesis}{true}%
}{%
- \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{false}%
+ \TUD@key@preset{subjectthesis}{false}%
}%
\ifx\tud@thanks\relax%
\gdef\@thesis{#2}%
@@ -2261,9 +3375,10 @@
\protected@xdef\@@thesis{\trim@spaces{#2}}%
}
\newcommand*\@graduation{}
-\newcommand*\@@graduation{}
+\newcommand*\@graduationabbreviation{}
\newcommand*\graduation[2][]{%
- \ifxblank{#1}{\gdef\@@graduation{}}{\gdef\@@graduation{(#1)}}%
+ \gdef\@graduationabbreviation{}%
+ \ifxblank{#1}{}{\gdef\@graduationabbreviation{(#1)}}%
\gdef\@graduation{#2}%
}
\newcommand*\@professor{}
@@ -2278,14 +3393,6 @@
\newcommand*\referee[1]{\gdef\@referee{#1}}
\newcommand*\@advisor{}
\newcommand*\advisor[1]{\gdef\@advisor{#1}}
-\newcommand*\@matriculationnumber{}
-\newrobustcmd*\matriculationnumber[1]{%
- \gdef\@matriculationnumber{#1}\ignorespaces%
-}
-\newcommand*\@matriculationyear{}
-\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
-\newcommand*\@placeofbirth{}
-\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
\newlength\tud@len@signatureskip
\setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex}
\newcommand*\@confirmationclosing{%
@@ -2303,8 +3410,15 @@
\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\gdef\@place{#1}}
-\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
-\newcommand*\tud@x@isodate@printdate[2]{%
+\providecommand*\publisher[1]{\publishers{#1}}
+\TUD@UnwindPackage{isodate}{%
+ \@ifpackageloaded{datetime2}{%
+ \providecommand*\printdate[1]{\DTMDate{#1}}%
+ }{%
+ \providecommand*\printdate[1]{#1}%
+ }%
+}
+\newcommand*\tud@printdate[2]{%
\ifx\today#2\relax%
\gdef#1{#2}%
\else%
@@ -2337,38 +3451,39 @@
}{\tud@date@set}%
}
\newcommand*\tud@date@set[2][]{%
- \TUD@parameter@set{date}{#1}%
- \tud@x@isodate@printdate{\@date}{#2}%
+ \tud@toks@{#1}%
+ \TUD@parameter@set{date}{\the\tud@toks@}%
+ \tud@printdate{\@date}{#2}%
\global\let\tud@date@check\relax%
}
-\newcommand*\tud@date@pre{}
-\newcommand*\tud@date@app{}
+\newcommand*\@beforedate{}
+\newcommand*\@afterdate{}
\TUD@parameter@family{date}{%
- \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@def{before}{\def\@beforedate{#1}}%
\TUD@parameter@let{pre}{before}%
\TUD@parameter@let{prefix}{before}%
- \TUD@parameter@def{after}{\def\tud@date@app{#1}}%
+ \TUD@parameter@def{after}{\def\@afterdate{#1}}%
\TUD@parameter@let{app}{after}%
\TUD@parameter@let{suffix}{after}%
- \TUD@parameter@def{place}{\def\@place{#1}\def\tud@date@pre{#1,}}%
+ \TUD@parameter@def{place}{\def\@place{#1}\def\@beforedate{#1,}}%
\TUD@parameter@handler@value{after}%
}
\newcommand*\tud@date@print{%
\ifx\@date\@empty\else%
- \ifx\tud@date@pre\@empty\else%
- \expandafter\trim@spaces@noexp\expandafter{\tud@date@pre}\nobreakspace%
+ \ifx\@beforedate\@empty\else%
+ \expandafter\trim@spaces@noexp\expandafter{\@beforedate}\nobreakspace%
\fi%
\@date%
- \ifx\tud@date@app\@empty\else%
- \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\tud@date@app}%
+ \ifx\@afterdate\@empty\else%
+ \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\@afterdate}%
\fi%
\fi%
}
\newcommand*\@defensedate{}
-\newcommand*\defensedate[1]{\tud@x@isodate@printdate{\@defensedate}{#1}}
+\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
\newrobustcmd*\dateofbirth[1]{%
- \tud@x@isodate@printdate{\@dateofbirth}{#1}\ignorespaces%
+ \tud@printdate{\@dateofbirth}{#1}\ignorespaces%
}
\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
@@ -2382,8 +3497,8 @@
}%
\begingroup%
\let\and\relax%
- \def\newline{}%
- \def\\{}%
+ \let\newline\@empty%
+ \let\\\@empty%
\edef\@tempa{\csname#1\endcsname\and}%
\expandafter\endgroup%
\expandafter\tud@multiple@@split\@tempa\relax%
@@ -2397,7 +3512,7 @@
\@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
- \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cs@store{@##1}}{}}%
\letcs\@tempb{tud@split#1@list}%
\let\and\relax%
\expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
@@ -2410,7 +3525,7 @@
\newcommand*\tud@multiple@fields@restore[1]{%
\def\@tempa##1{%
\ifcsdef{@##1}{%
- \tud@cmd@restore{@##1}%
+ \tud@cs@restore{@##1}%
\global\csletcs{@##1}{@##1}%
}{}%
}%
@@ -2443,13 +3558,13 @@
}
\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
- authormore,course,discipline,%
+ authormore,course,discipline,emailaddress,%
matriculationyear,enrolmentyear,%
matriculationnumber,studentid,matriculationid,%
placeofbirth,birthplace,dateofbirth,birthday,%
}
-%%% From File: tudscr-locale.dtx
-\newcommand*\tud@locale@define[1]{%
+%%% From File: tudscr-localization.dtx
+\newcommand*\tud@localization@define[1]{%
\providecommand*#1{%
\ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
@@ -2463,49 +3578,50 @@
}%
}%
}
-\tud@locale@define{\graduationtext}
-\tud@locale@define{\refereename}
-\tud@locale@define{\refereeothername}
-\tud@locale@define{\advisorname}
-\tud@locale@define{\advisorothername}
-\tud@locale@define{\supervisorname}
-\tud@locale@define{\supervisorothername}
-\tud@locale@define{\professorname}
-\tud@locale@define{\professorothername}
-\tud@locale@define{\datetext}
-\tud@locale@define{\dateofbirthtext}
-\tud@locale@define{\placeofbirthtext}
-\tud@locale@define{\defensedatetext}
-\tud@locale@define{\matriculationyearname}
-\tud@locale@define{\matriculationnumbername}
-\tud@locale@define{\coverpagename}
-\tud@locale@define{\titlepagename}
-\tud@locale@define{\titlename}
-\tud@locale@define{\abstractname}
-\tud@locale@define{\confirmationname}
-\tud@locale@define{\confirmationtext}
-\tud@locale@define{\blockingname}
-\tud@locale@define{\blockingtext}
-\tud@locale@define{\coursename}
-\tud@locale@define{\disciplinename}
-\tud@locale@define{\listingname}
-\tud@locale@define{\listlistingname}
-\tud@locale@define{\dissertationname}
-\tud@locale@define{\diplomathesisname}
-\tud@locale@define{\masterthesisname}
-\tud@locale@define{\bachelorthesisname}
-\tud@locale@define{\studentthesisname}
-\tud@locale@define{\studentresearchname}
-\tud@locale@define{\projectpapername}
-\tud@locale@define{\seminarpapername}
-\tud@locale@define{\termpapername}
-\tud@locale@define{\researchname}
-\tud@locale@define{\logname}
-\tud@locale@define{\internshipname}
-\tud@locale@define{\reportname}
+\tud@localization@define{\graduationtext}
+\tud@localization@define{\refereename}
+\tud@localization@define{\refereeothername}
+\tud@localization@define{\advisorname}
+\tud@localization@define{\advisorothername}
+\tud@localization@define{\supervisorname}
+\tud@localization@define{\supervisorothername}
+\tud@localization@define{\professorname}
+\tud@localization@define{\professorothername}
+\tud@localization@define{\datetext}
+\tud@localization@define{\dateofbirthtext}
+\tud@localization@define{\placeofbirthtext}
+\tud@localization@define{\defensedatetext}
+\tud@localization@define{\matriculationyearname}
+\tud@localization@define{\matriculationnumbername}
+\tud@localization@define{\coverpagename}
+\tud@localization@define{\titlepagename}
+\tud@localization@define{\titlename}
+\tud@localization@define{\abstractname}
+\tud@localization@define{\confirmationname}
+\tud@localization@define{\confirmationtext}
+\tud@localization@define{\blockingname}
+\tud@localization@define{\blockingtext}
+\tud@localization@define{\coursename}
+\tud@localization@define{\disciplinename}
+\tud@localization@define{\listingname}
+\tud@localization@define{\listlistingname}
+\tud@localization@define{\dissertationname}
+\tud@localization@define{\diplomathesisname}
+\tud@localization@define{\masterthesisname}
+\tud@localization@define{\bachelorthesisname}
+\tud@localization@define{\studentthesisname}
+\tud@localization@define{\studentresearchname}
+\tud@localization@define{\projectpapername}
+\tud@localization@define{\seminarpapername}
+\tud@localization@define{\termpapername}
+\tud@localization@define{\researchname}
+\tud@localization@define{\logname}
+\tud@localization@define{\internshipname}
+\tud@localization@define{\reportname}
\newcommand*\tud@ifin@and[1]{%
\begingroup%
\let\and\relax%
+ \robustify\\%
\protected@edef\@tempb{#1}%
\def\@tempa##1\and##2\relax{%
\IfArgIsEmpty{##2}{%
@@ -2517,13 +3633,15 @@
\expandafter\@tempa\@tempb\and\relax%
\endgroup
}
-\newcommand*\tud@locale@german{%
+\newcommand*\tud@localization@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
-\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}%
-\tud@locale@german{\refereename}{%
+\tud@localization@german{\graduationtext}{%
+ zur Erlangung des akademischen Grades%
+}%
+\tud@localization@german{\refereename}{%
\tud@ifin@and{\@referee}{%
\ifx\refereeothername\@empty%
Gutachter%
@@ -2532,8 +3650,8 @@
\fi%
}{Gutachter}%
}%
-\tud@locale@german{\refereeothername}{Zweitgutachter}%
-\tud@locale@german{\advisorname}{%
+\tud@localization@german{\refereeothername}{Zweitgutachter}%
+\tud@localization@german{\advisorname}{%
\tud@ifin@and{\@advisor}{%
\ifx\advisorothername\@empty%
Fachreferenten%
@@ -2542,8 +3660,8 @@
\fi%
}{Fachreferent}%
}%
-\tud@locale@german{\advisorothername}{}%
-\tud@locale@german{\supervisorname}{%
+\tud@localization@german{\advisorothername}{}%
+\tud@localization@german{\supervisorname}{%
\tud@ifin@and{\@supervisor}{%
\ifx\supervisorothername\@empty%
Betreuer%
@@ -2552,8 +3670,8 @@
\fi%
}{Betreuer}%
}%
-\tud@locale@german{\supervisorothername}{}%
-\tud@locale@german{\professorname}{%
+\tud@localization@german{\supervisorothername}{}%
+\tud@localization@german{\professorname}{%
\tud@ifin@and{\@professor}{%
\ifx\professorothername\@empty%
Betreuende Hochschullehrer%
@@ -2562,19 +3680,19 @@
\fi%
}{Betreuender Hochschullehrer}%
}%
-\tud@locale@german{\professorothername}{}%
-\tud@locale@german{\datetext}{Eingereicht am}%
-\tud@locale@german{\dateofbirthtext}{Geboren am}%
-\tud@locale@german{\placeofbirthtext}{in}%
-\tud@locale@german{\defensedatetext}{Verteidigt am}%
-\tud@locale@german{\matriculationyearname}{Immatrikulationsjahr}%
-\tud@locale@german{\matriculationnumbername}{Matrikelnummer}%
-\tud@locale@german{\coverpagename}{Umschlagseite}%
-\tud@locale@german{\titlepagename}{Titelblatt}%
-\tud@locale@german{\titlename}{Titel}%
-\tud@locale@german{\abstractname}{Zusammenfassung}%
-\tud@locale@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}%
-\tud@locale@german{\confirmationtext}{%
+\tud@localization@german{\professorothername}{}%
+\tud@localization@german{\datetext}{Eingereicht am}%
+\tud@localization@german{\dateofbirthtext}{Geboren am}%
+\tud@localization@german{\placeofbirthtext}{in}%
+\tud@localization@german{\defensedatetext}{Verteidigt am}%
+\tud@localization@german{\matriculationyearname}{Immatrikulationsjahr}%
+\tud@localization@german{\matriculationnumbername}{Matrikelnummer}%
+\tud@localization@german{\coverpagename}{Umschlagseite}%
+\tud@localization@german{\titlepagename}{Titelblatt}%
+\tud@localization@german{\titlename}{Titel}%
+\tud@localization@german{\abstractname}{Zusammenfassung}%
+\tud@localization@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}%
+\tud@localization@german{\confirmationtext}{%
Hiermit versichere ich, dass ich die vorliegende Arbeit
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe.
@@ -2594,8 +3712,8 @@
Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum
nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.%
}%
-\tud@locale@german{\blockingname}{Sperrvermerk}%
-\tud@locale@german{\blockingtext}{%
+\tud@localization@german{\blockingname}{Sperrvermerk}%
+\tud@localization@german{\blockingtext}{%
Diese Arbeit
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
enth\"alt vertrauliche Informationen\ifx\@company\@empty\else
@@ -2608,30 +3726,30 @@
Universit\"at Dresden, den Gutachtern sowie den Mitgliedern
des Pr\"ufungsausschusses zug\"anglich zu machen.%
}%
-\tud@locale@german{\coursename}{Studiengang}%
-\tud@locale@german{\disciplinename}{Studienrichtung}%
-\tud@locale@german{\listingname}{Quelltext}%
-\tud@locale@german{\listlistingname}{Quelltextverzeichnis}%
-\tud@locale@german{\dissertationname}{Dissertation}%
-\tud@locale@german{\diplomathesisname}{Diplomarbeit}%
-\tud@locale@german{\masterthesisname}{Master-Arbeit}%
-\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}%
-\tud@locale@german{\studentthesisname}{Studienarbeit}%
-\tud@locale@german{\studentresearchname}{Gro\ss{}er Beleg}%
-\tud@locale@german{\projectpapername}{Projektarbeit}%
-\tud@locale@german{\seminarpapername}{Seminararbeit}%
-\tud@locale@german{\termpapername}{Hausarbeit}%
-\tud@locale@german{\researchname}{Forschungsbericht}%
-\tud@locale@german{\logname}{Protokoll}%
-\tud@locale@german{\internshipname}{Praktikumsbericht}%
-\tud@locale@german{\reportname}{Bericht}%
-\newcommand*\tud@locale@english{%
+\tud@localization@german{\coursename}{Studiengang}%
+\tud@localization@german{\disciplinename}{Studienrichtung}%
+\tud@localization@german{\listingname}{Quelltext}%
+\tud@localization@german{\listlistingname}{Quelltextverzeichnis}%
+\tud@localization@german{\dissertationname}{Dissertation}%
+\tud@localization@german{\diplomathesisname}{Diplomarbeit}%
+\tud@localization@german{\masterthesisname}{Master-Arbeit}%
+\tud@localization@german{\bachelorthesisname}{Bachelor-Arbeit}%
+\tud@localization@german{\studentthesisname}{Studienarbeit}%
+\tud@localization@german{\studentresearchname}{Gro\ss{}er Beleg}%
+\tud@localization@german{\projectpapername}{Projektarbeit}%
+\tud@localization@german{\seminarpapername}{Seminararbeit}%
+\tud@localization@german{\termpapername}{Hausarbeit}%
+\tud@localization@german{\researchname}{Forschungsbericht}%
+\tud@localization@german{\logname}{Protokoll}%
+\tud@localization@german{\internshipname}{Praktikumsbericht}%
+\tud@localization@german{\reportname}{Bericht}%
+\newcommand*\tud@localization@english{%
\providecaptionname{%
american,australian,british,canadian,english,newzealand,UKenglish,USenglish%
}%
}
-\tud@locale@english{\graduationtext}{to achieve the academic degree}%
-\tud@locale@english{\refereename}{%
+\tud@localization@english{\graduationtext}{to achieve the academic degree}%
+\tud@localization@english{\refereename}{%
\tud@ifin@and{\@referee}{%
\ifx\refereeothername\@empty%
Referees%
@@ -2640,8 +3758,8 @@
\fi%
}{Referee}%
}%
-\tud@locale@english{\refereeothername}{Second referee}%
-\tud@locale@english{\advisorname}{%
+\tud@localization@english{\refereeothername}{Second referee}%
+\tud@localization@english{\advisorname}{%
\tud@ifin@and{\@advisor}{%
\ifx\advisorothername\@empty%
Advisors%
@@ -2650,8 +3768,8 @@
\fi%
}{Advisor}%
}%
-\tud@locale@english{\advisorothername}{}%
-\tud@locale@english{\supervisorname}{%
+\tud@localization@english{\advisorothername}{}%
+\tud@localization@english{\supervisorname}{%
\tud@ifin@and{\@supervisor}{%
\ifx\supervisorothername\@empty%
Supervisors%
@@ -2660,8 +3778,8 @@
\fi%
}{Supervisor}%
}%
-\tud@locale@english{\supervisorothername}{}%
-\tud@locale@english{\professorname}{%
+\tud@localization@english{\supervisorothername}{}%
+\tud@localization@english{\professorname}{%
\tud@ifin@and{\@professor}{%
\ifx\professorothername\@empty%
Supervising professors%
@@ -2670,19 +3788,19 @@
\fi%
}{Supervising professor}%
}%
-\tud@locale@english{\professorothername}{}%
-\tud@locale@english{\datetext}{Submitted on}%
-\tud@locale@english{\dateofbirthtext}{Born on}%
-\tud@locale@english{\placeofbirthtext}{in}%
-\tud@locale@english{\defensedatetext}{Defended on}%
-\tud@locale@english{\matriculationyearname}{Matriculation year}%
-\tud@locale@english{\matriculationnumbername}{Matriculation number}%
-\tud@locale@english{\coverpagename}{Cover page}%
-\tud@locale@english{\titlepagename}{Title page}%
-\tud@locale@english{\titlename}{Title}%
-\tud@locale@english{\abstractname}{Abstract}%
-\tud@locale@english{\confirmationname}{Statement of authorship}%
-\tud@locale@english{\confirmationtext}{%
+\tud@localization@english{\professorothername}{}%
+\tud@localization@english{\datetext}{Submitted on}%
+\tud@localization@english{\dateofbirthtext}{Born on}%
+\tud@localization@english{\placeofbirthtext}{in}%
+\tud@localization@english{\defensedatetext}{Defended on}%
+\tud@localization@english{\matriculationyearname}{Matriculation year}%
+\tud@localization@english{\matriculationnumbername}{Matriculation number}%
+\tud@localization@english{\coverpagename}{Cover page}%
+\tud@localization@english{\titlepagename}{Title page}%
+\tud@localization@english{\titlename}{Title}%
+\tud@localization@english{\abstractname}{Abstract}%
+\tud@localization@english{\confirmationname}{Statement of authorship}%
+\tud@localization@english{\confirmationtext}{%
I hereby certify that I have authored this
\ifx\@@thesis\@empty thesis\else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
@@ -2703,8 +3821,8 @@
I am aware that violations of this declaration may lead to
subsequent withdrawal of the degree.%
}%
-\tud@locale@english{\blockingname}{Restriction note}%
-\tud@locale@english{\blockingtext}{%
+\tud@localization@english{\blockingname}{Restriction note}%
+\tud@localization@english{\blockingtext}{%
This \ifx\@@thesis\@empty thesis \else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
contains confidential data\ifx\@company\@empty\else
@@ -2716,32 +3834,32 @@
Technische Universit\"at Dresden, the reviewers and also the
members of the examination board.%
}%
-\tud@locale@english{\coursename}{Course}%
-\tud@locale@english{\disciplinename}{Discipline}%
-\tud@locale@english{\listingname}{Listing}%
-\tud@locale@english{\listlistingname}{List of Listings}%
-\tud@locale@english{\dissertationname}{Dissertation}%
-\tud@locale@english{\diplomathesisname}{Diploma Thesis}%
-\tud@locale@english{\masterthesisname}{Master Thesis}%
-\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}%
-\tud@locale@english{\studentthesisname}{Student Thesis}%
-\tud@locale@english{\studentresearchname}{Student Research Project}%
-\tud@locale@english{\projectpapername}{Project Paper}%
-\tud@locale@english{\seminarpapername}{Seminar Paper}%
-\tud@locale@english{\termpapername}{Term Paper}%
-\tud@locale@english{\researchname}{Research Report}%
-\tud@locale@english{\logname}{Log}%
-\tud@locale@english{\internshipname}{Internship Report}%
-\tud@locale@english{\reportname}{Report}%
+\tud@localization@english{\coursename}{Course}%
+\tud@localization@english{\disciplinename}{Discipline}%
+\tud@localization@english{\listingname}{Listing}%
+\tud@localization@english{\listlistingname}{List of Listings}%
+\tud@localization@english{\dissertationname}{Dissertation}%
+\tud@localization@english{\diplomathesisname}{Diploma Thesis}%
+\tud@localization@english{\masterthesisname}{Master Thesis}%
+\tud@localization@english{\bachelorthesisname}{Bachelor Thesis}%
+\tud@localization@english{\studentthesisname}{Student Thesis}%
+\tud@localization@english{\studentresearchname}{Student Research Project}%
+\tud@localization@english{\projectpapername}{Project Paper}%
+\tud@localization@english{\seminarpapername}{Seminar Paper}%
+\tud@localization@english{\termpapername}{Term Paper}%
+\tud@localization@english{\researchname}{Research Report}%
+\tud@localization@english{\logname}{Log}%
+\tud@localization@english{\internshipname}{Internship Report}%
+\tud@localization@english{\reportname}{Report}%
\AfterPackage{listings}{%
\renewcommand*\lstlistingname{\listingname}%
\renewcommand*\lstlistlistingname{\listlistingname}%
}
\AfterPackage{mathswap}{%
- \tud@locale@german{\@commaswap}{,}%
- \tud@locale@german{\@dotswap}{\,}%
- \tud@locale@english{\@commaswap}{\,}%
- \tud@locale@english{\@dotswap}{.}%
+ \tud@localization@german{\@commaswap}{,}%
+ \tud@localization@german{\@dotswap}{\,}%
+ \tud@localization@english{\@commaswap}{\,}%
+ \tud@localization@english{\@dotswap}{.}%
}
%%% From File: tudscr-area.dtx
\newif\if@tud@x@crop@center
@@ -2756,7 +3874,7 @@
}%
\pretocmd{\CROP@center}{%
\@tud@x@crop@centertrue%
- }{}{\tud@patch@wrn{CROP@center}}
+ }{}{\tud@patch@wrn{CROP@center}}%
}
\newif\if@tud@x@standalone@crop
\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
@@ -2777,21 +3895,22 @@
\newlength\tud@len@areadiff
\newlength\tud@len@areavskip
\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newcommand*\tud@head@fontsize{}
\newif\if@tud@cdgeometry@adjust
-\newlength\tud@len@layoutheight
\newlength\tud@len@layoutwidth
+\newlength\tud@len@layoutheight
\newlength\tud@len@layouthoffset
\newlength\tud@len@layoutvoffset
-\newcommand*\tud@cdgeometry@set{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
- \else%
- \setlength\tud@len@layoutheight{\paperheight}%
+\newcommand*\tud@cdgeometry@assignlayout{%
+ \ifdim\tud@len@layoutwidth<\p@\relax%
\setlength\tud@len@layoutwidth{\paperwidth}%
\fi%
- \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
- \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \ifdim\tud@len@layoutheight<\p@\relax%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \fi%
+}
+\newcommand*\tud@cdgeometry@set{%
+ \tud@cdgeometry@assignlayout%
\tud@if@v@lower{2.05}{%
\ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
\def\@tempa{0}%
@@ -2857,8 +3976,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{0.25pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{4.5pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{4.5pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\or% <=A6/B6
\setlength\tud@len@widemargin{15mm}%
@@ -2919,8 +4038,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{2pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{36pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{36pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\ifnum\tud@cdgeometry@calc@num=\tw@\relax%
@@ -2928,8 +4047,8 @@
\setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{\tud@head@fontsize pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{\tud@head@fontsize pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\global\@tud@head@font@settrue%
@@ -2949,13 +4068,19 @@
\setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
\fi%
}
-\newcommand*\tud@cdgeometry@process{}
-\newcommand*\tud@cdgeometry@@process{}
+\newcommand*\tud@cdgeometry@process{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+}
\if@tud@x@standalone@crop
\PreventPackageFromLoading{geometry}%
+ \let\tud@cdgeometry@process\relax%
\else
\RequirePackage{geometry}[2010/09/12]%
-\fi
+\fi%
\AfterPackage*{geometry}{%
\CheckCommand*\Gm@initnewgm{%
\Gm@passfalse
@@ -3093,109 +4218,149 @@
}{\@nameuse{Gm@restore@@#1}%
\Gm@changelayout}%
}%
- \tud@cmd@store{geometry}
- \tud@cmd@store{newgeometry}
\newif\if@tud@x@geometry@enabled%
\@tud@x@geometry@enabledtrue%
- \newcommand*\tud@setgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \ifGm@pass%
- \def\@tempb{}%
- \else%
- \edef\@tempb{layoutoffset={\the\Gm@layouthoffset,\the\Gm@layoutvoffset}}%
- \ifGm@layout%
- \eappto\@tempb{,layoutsize={\the\Gm@layoutwidth,\the\Gm@layoutheight}}%
- \fi%
- \fi%
+ \tud@cs@store{geometry}%
+ \tud@cs@store{newgeometry}%
+ \renewcommand*\geometry[1]{%
+ \tud@x@geometry@user{#1}{geometry}%
+ }%
+ \renewcommand*\newgeometry[1]{%
+ \tud@cs@store{Gm@restore@org}%
+ \tud@x@geometry@user{#1}{newgeometry}%
+ \tud@cs@restore{Gm@restore@org}%
+ }%
+ \renewcommand*\restoregeometry[1][custom]{%
+ \tud@cdgeometry@reset{#1}%
\if@atdocument%
- \edef\@tempa{\@tempb,#1}%
- \tud@cmd@store{Gm@restore@org}%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- \def\@tempc{\tud@cmd@use{newgeometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
- \tud@cmd@restore{Gm@restore@org}%
- \else%
- \Gm@initnewgm%
- \edef\@tempa{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,\@tempb,#1%
- }%
- \def\@tempc{\tud@cmd@use{geometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@loadgeometry{init@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \tud@cdgeometry@process%
\fi%
- \@tud@x@geometry@enabledtrue%
}%
- \newcommand*\tud@savegeometry[1]{%
- \def\Gm@restore{}%
- \savegeometry{#1}%
- \csepreto{Gm@restore@@#1}{%
- \etex@unexpanded{\def\Gm@lmargin}{\Gm@lmargin}%
- \etex@unexpanded{\def\Gm@rmargin}{\Gm@rmargin}%
- \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
- \ifGm@includemp%
- \noexpand\Gm@includemptrue%
- \else%
- \noexpand\Gm@includempfalse%
- \fi%
- \ifGm@layout%
- \noexpand\Gm@layouttrue%
- \else%
- \noexpand\Gm@layoutfalse%
+ \apptocmd{\Gm@changelayout}{%
+ \if@tud@x@geometry@enabled%
+ \if@atdocument%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@reset{custom}%
+ \tud@cdgeometry@process%
\fi%
- }%
+ \fi%
+ }{}{\tud@patch@wrn{Gm@changelayout}}%
+ \newif\if@tud@x@geometry@fixmargins%
+ \newcommand*\tud@x@geometry@fixmargins{%
+ \ifGm@pass\else%
+ \addtolength\oddsidemargin{-\tud@len@layouthoffset}%
+ \addtolength\evensidemargin{-\tud@len@layouthoffset}%
+ \addtolength\topmargin{-\tud@len@layoutvoffset}%
+ \@tud@x@geometry@fixmarginsfalse%
+ \fi%
}%
- \newcommand*\tud@loadgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \loadgeometry{#1}%
- \@currsize%
- \if@tud@x@crop@center\CROP@center\fi%
- \@tud@x@geometry@enabledtrue%
+ \newcommand*\tud@x@geometry@paper{}%
+ \newcommand*\tud@x@geometry@layout{}%
+ \newcommand*\tud@x@geometry@parameter{}%
+ \newcommand*\tud@x@geometry@init{}%
+ \newcommand*\tud@x@geometry@user[2]{%
+ \let\tud@x@geometry@paper\@empty%
+ \let\tud@x@geometry@layout\@empty%
+ \let\tud@x@geometry@parameter\@empty%
+ \TUD@parameter@set{geometry}{#1}%
+ \ifx\tud@x@geometry@layout\@empty\else%
+ \begingroup%
+ \tud@x@geometry@area@set{layout}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\setlength\noexpand\tud@len@layoutwidth{\the\paperwidth}%
+ \noexpand\setlength\noexpand\tud@len@layoutheight{\the\paperheight}%
+ }%
+ \tud@res@a%
+ \fi%
+ \tud@x@geometry@area@set{paper}%
+ \ifstr{#2}{newgeometry}{%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \tud@x@geometry@getlayout{\tud@res@a}%
+ \epreto{\tud@x@geometry@parameter}{\tud@res@a,}%
+ \def\tud@res@a{\tud@cs@use{newgeometry}}%
+ \expandafter\tud@res@a\expandafter{\tud@x@geometry@parameter}%
+ \edef\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }{%
+ \eappto\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }%
}%
\TUD@parameter@family{geometry}{%
- \TUD@parameter@def{paper}{\tud@area@def{paper}{#1}}%
+ \TUD@parameter@def{paper}{\tud@x@geometry@area@def{paper}{#1}}%
\TUD@parameter@let{papername}{paper}%
- \TUD@parameter@def{paperwidth}{\tud@area@def{paper}{#1:\the\paperheight}}%
- \TUD@parameter@def{paperheight}{\tud@area@def{paper}{\the\paperwidth:#1}}%
\TUD@parameter@def{papersize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{paper}{##1:##1}%
+ \tud@x@geometry@area@def{paper}{##1:##1}%
}{%
- \tud@area@def{paper}{##1:##2}%
+ \tud@x@geometry@area@def{paper}{##1:##2}%
}%
}%
\@tempa#1,,\@nil%
}%
- \TUD@parameter@def{layout}{\tud@area@def{layout}{#1}}%
- \TUD@parameter@let{layoutname}{layout}%
- \TUD@parameter@def{layoutwidth}{%
- \tud@area@def{layout}{#1:\the\tud@len@layoutheight}%
+ \TUD@parameter@def{paperwidth}{%
+ \tud@x@geometry@area@def{paper}{#1:\paperheight}%
+ }%
+ \TUD@parameter@def{paperheight}{%
+ \tud@x@geometry@area@def{paper}{\paperwidth:#1}%
}%
- \TUD@parameter@def{layoutheight}{%
- \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ \TUD@parameter@def{layout}{%
+ \ifstr{#1}{false}{%
+ \setlength\tud@len@layoutwidth{\z@}%
+ \setlength\tud@len@layoutheight{\z@}%
+ \setlength\tud@len@layouthoffset{\z@}%
+ \setlength\tud@len@layoutvoffset{\z@}%
+ }{%
+ \tud@x@geometry@area@def{layout}{#1}%
+ }%
}%
+ \TUD@parameter@let{layoutname}{layout}%
\TUD@parameter@def{layoutsize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{layout}{##1:##1}%
+ \tud@x@geometry@area@def{layout}{##1:##1}%
}{%
- \tud@area@def{layout}{##1:##2}%
+ \tud@x@geometry@area@def{layout}{##1:##2}%
}%
}%
\@tempa#1,,\@nil%
}%
+ \TUD@parameter@def{layoutwidth}{\setlength\tud@len@layoutwidth{#1}}%
+ \TUD@parameter@def{layoutheight}{\setlength\tud@len@layoutheight{#1}}%
+ \TUD@parameter@def{layoutoffset}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##1}%
+ }{%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \TUD@parameter@def{layouthoffset}{\setlength\tud@len@layouthoffset{#1}}%
+ \TUD@parameter@def{layoutvoffset}{\setlength\tud@len@layoutvoffset{#1}}%
\TUD@parameter@def{bleedmargin}{\TUDoption{bleedmargin}{#1}}%
\TUD@parameter@handler@macro{%
\eappto\tud@x@geometry@parameter{%
\expandonce\kv@key=\expandonce\kv@value,%
}%
}{%
- \tud@area@def{paper}{#2}%
+ \tud@x@geometry@area@def{paper}{#2}%
}%
- }
- \newcommand*\tud@area@def[2]{%
+ }%
+ \newcommand*\tud@x@geometry@area@def[2]{%
\tud@lowerstring{\@tempa}{#2}%
\def\@tempb##1paper##2\@nil{%
\ifstr{##2}{paper}{\def\@tempa{##1}}{}%
@@ -3258,150 +4423,123 @@
\fi%
\if@tempswa%
\cseappto{tud@x@geometry@#1}{\@tempa,}%
- \def\@tempb##1:##2:##3\@nil{%
- \IfArgIsEmpty{##2}{}{%
- \ifstr{#1}{paper}{%
- \setlength\paperwidth{##1}%
- \setlength\paperheight{##2}%
- }{%
- \ifstr{#1}{layout}{%
- \setlength\tud@len@layoutwidth{##1}%
- \setlength\tud@len@layoutheight{##2}%
- }{}%
- }%
- }%
- }%
- \expandafter\@tempb\@tempa::\@nil%
\else%
\appto\tud@x@geometry@parameter{#2,}%
\fi%
- }
- \newcommand*\tud@area@set[1]{%
+ }%
+ \newcommand*\tud@x@geometry@area@set[1]{%
\letcs{\@tempa}{tud@x@geometry@#1}%
\ifdefvoid{\@tempa}{}{%
\def\@tempb##1:##2:##3\@nil{%
- \tud@cmd@store{@tempa}%
- \tud@cmd@store{@tempb}%
- \tud@cmd@store{@tempc}%
- \IfArgIsEmpty{##2}{%
- \KOMAoption{paper}{##1}%
- }{%
- \if@landscape%
- \KOMAoption{paper}{##2:##1}%
- \else%
- \KOMAoption{paper}{##1:##2}%
- \fi%
- }%
- \tud@cmd@restore{@tempa}%
- \tud@cmd@restore{@tempb}%
- \tud@cmd@restore{@tempc}%
+ \begingroup%
+ \IfArgIsEmpty{##2}{%
+ \def\@tempb{\KOMAoption{paper}{##1}}%
+ }{%
+ \if@landscape%
+ \def\@tempb{\KOMAoption{paper}{##2:##1}}%
+ \else%
+ \def\@tempb{\KOMAoption{paper}{##1:##2}}%
+ \fi%
+ }%
+ \edef\@tempb{\endgroup\expandonce\@tempb}%
+ \@tempb%
}%
\def\@tempc##1{\@tempb##1::\@nil}%
\expandafter\forcsvlist\expandafter\@tempc\expandafter{\@tempa}%
}%
- }
- \newcommand*\tud@x@geometry@init{}
- \newcommand*\tud@x@geometry@paper{}
- \newcommand*\tud@x@geometry@layout{}
- \newcommand*\tud@x@geometry@parameter{}
- \newcommand*\tud@geometry[2]{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
+ }%
+ \newcommand*\tud@x@geometry@getlayout[1]{%
+ \ifGm@pass%
+ \let#1\@empty%
\else%
- \setlength\tud@len@layoutheight{\paperheight}%
- \setlength\tud@len@layoutwidth{\paperwidth}%
- \fi%
- \let\tud@x@geometry@paper\@empty%
- \let\tud@x@geometry@layout\@empty%
- \let\tud@x@geometry@parameter\@empty%
- \TUD@parameter@set{geometry}{#1}%
- \tud@area@set{paper}%
- \ifstr{#2}{newgeometry}{%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- }{%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
- }%
- }%
- \ifx\tud@x@geometry@layout\@empty\else%
+ \tud@cdgeometry@assignlayout%
\begingroup%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \setlength\paperheight{\Gm@layoutheight}%
- \tud@area@set{layout}%
- \edef\tud@reserved{%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi%
+ \edef\tud@res@a{%
\endgroup%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ \etex@unexpanded{\def#1}{%
+ layoutoffset={%
+ \the\tud@len@layouthoffset,\the\tud@len@layoutvoffset%
+ }%
+ \if@tud@res@swa%
+ ,layoutsize={\the\tud@len@layoutwidth,\the\tud@len@layoutheight}%
+ \fi%
}%
}%
- \tud@reserved%
+ \tud@res@a%
\fi%
- \def\@tempa{\tud@cmd@use{#2}}%
- \expandafter\@tempa\expandafter{\tud@x@geometry@parameter}%
- \ifstr{#2}{geometry}{%
- \ifbool{@tud@x@geometry@enabled}{%
- \eappto\tud@x@geometry@init{,\expandonce\tud@x@geometry@parameter}%
- }{}%
- }{}%
- }
- \renewcommand*\geometry[1]{\tud@geometry{#1}{geometry}}
- \renewcommand*\newgeometry[1]{%
- \tud@cmd@store{Gm@restore@org}%
- \tud@geometry{#1}{newgeometry}%
- \tud@cmd@restore{Gm@restore@org}%
- }
- \apptocmd{\Gm@changelayout}{%
- \ifboolexpr{bool {@tud@x@geometry@enabled} and bool {@atdocument}}{%
- \tud@cdgeometry@process%
- }{}%
- }{}{\tud@patch@wrn{Gm@changelayout}}%
- \renewcommand*\restoregeometry[1][]{%
- \IfArgIsEmpty{#1}{}{%
- \tud@cmd@store{TUD@SpecialOptionAtDocument}%
- \let\TUD@SpecialOptionAtDocument\@gobble%
- \TUDoption{cdgeometry}{#1}%
- \tud@cmd@restore{TUD@SpecialOptionAtDocument}%
- }%
- \ifnum\tud@cdgeometry@num=\@ne\relax
- \tud@loadgeometry{init@custom}%
+ }%
+ \newcommand*\tud@x@geometry@set[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \if@atdocument%
+ \edef\@tempa{#1}%
+ \tud@cs@store{Gm@restore@org}%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \def\@tempc{\tud@cs@use{newgeometry}}%
+ \expandafter\@tempc\expandafter{\@tempa}%
+ \tud@cs@restore{Gm@restore@org}%
\else%
- \tud@loadgeometry{init@typearea}%
+ \Gm@initnewgm%
+ \edef\@tempa{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1%
+ }%
+ \def\@tempc{\tud@cs@use{geometry}}%
+ \expandafter\@tempc\expandafter{\@tempa,driver=none}%
\fi%
- \tud@AfterChangingArea%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \newcommand*\tud@savegeometry[1]{%
+ \let\Gm@restore\@empty%
+ \savegeometry{#1}%
+ \csepreto{Gm@restore@@#1}{%
+ \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
+ \ifGm@includehead%
+ \noexpand\Gm@includeheadtrue%
+ \else%
+ \noexpand\Gm@includeheadfalse%
+ \fi%
+ \ifGm@includefoot%
+ \noexpand\Gm@includefoottrue%
+ \else%
+ \noexpand\Gm@includefootfalse%
+ \fi%
+ \ifGm@includemp%
+ \noexpand\Gm@includemptrue%
+ \else%
+ \noexpand\Gm@includempfalse%
+ \fi%
+ \ifGm@layout%
+ \noexpand\Gm@layouttrue%
+ \else%
+ \noexpand\Gm@layoutfalse%
+ \fi%
+ }%
+ }%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
}%
+ \newcommand*\tud@cdgeometry@layout{}%
\newcommand*\tud@cdgeometry@hmargin{}%
\newcommand*\tud@cdgeometry@vmargin{}%
\newcommand*\tud@cdgeometry@tudmargin{}%
\tud@if@v@lower{2.03}{\newcommand*\tud@cdgeometry@ddcmargin{}}{}%
- \renewcommand*\tud@cdgeometry@process{%
- \tud@AfterChangingArea%
- }%
- \renewcommand*\tud@cdgeometry@@process{%
+ \newcommand*\tud@cdgeometry@@process{%
\csuse{@ta@usegeometryfalse}%
\tud@cdgeometry@set%
\ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \if@tud@x@geometry@fixmargins%
+ \tud@x@geometry@fixmargins%
+ \fi%
\ifcase\tud@cdgeometry@num\relax%
- \ifGm@layout%
- \tud@skip@store{paperheight}%
- \tud@skip@store{paperwidth}%
- \setlength\paperheight{\tud@len@layoutheight}%
- \setlength\paperwidth{\tud@len@layoutwidth}%
- \fi%
- \tud@cmd@store{activateareas}%
- \tud@cmd@store{tud@AfterChangingArea}%
- \let\activateareas\relax%
- \let\tud@AfterChangingArea\relax%
- \recalctypearea%
- \ifGm@layout%
- \tud@skip@restore{paperheight}%
- \tud@skip@restore{paperwidth}%
- \fi%
- \tud@cmd@restore{activateareas}%
- \tud@cmd@restore{tud@AfterChangingArea}%
\edef\tud@cdgeometry@hmargin{%
left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
textwidth=\the\textwidth,%
@@ -3433,8 +4571,8 @@
\else% custom
\ifGm@pass\else%
\edef\tud@cdgeometry@hmargin{%
- left=\Gm@lmargin,%
- right=\Gm@rmargin,%
+ left=\the\dimexpr\oddsidemargin+1in-\Gm@bindingoffset\relax,%
+ textwidth=\the\textwidth,%
\ifGm@includemp%
includemp=true,%
\else%
@@ -3501,11 +4639,23 @@
}%
}{}%
\ifdim\dimexpr\tud@dim@extrabottommargin\relax=\z@\relax\else%
- \ClassWarning{\TUD@Class@Name}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea or custom layout is used\MessageBreak%
- (`cdgeometry=false/custom')%
- }%
+ \begingroup%
+ \edef\tud@res@a{%
+ The key `extrabottommargin' is ineffective\MessageBreak%
+ when\space%
+ \ifcase\tud@cdgeometry@num%
+ package `typearea' is used for layout with\MessageBreak%
+ `cdgeometry=typearea'%
+ \else%
+ a user-defined layout is used with\MessageBreak%
+ `cdgeometry=custom'%
+ \fi%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}{\tud@res@a}%
+ }%
+ \tud@res@a%
\fi%
\else% true/symmetric/twoside
\ifcase\tud@cdgeometry@num\relax\or\or% true
@@ -3620,10 +4770,9 @@
\fi%
\ifdim\tud@len@areadiff<\z@\relax\setlength\tud@len@areadiff{\z@}\fi%
\global\tud@len@areadiff=\tud@len@areadiff%
+ \setlength\tud@len@areaheadvskip{.22\tud@len@topmargin}%
\if@tud@cdgeometry@adjust%
- \setlength\tud@len@areaheadvskip{.3\tud@len@topmargin}%
- \else%
- \setlength\tud@len@areaheadvskip{.6\tud@len@topmargin}%
+ \setlength\tud@len@areaheadvskip{.5\tud@len@areaheadvskip}%
\fi%
\global\tud@len@areaheadvskip=\tud@len@areaheadvskip%
\tud@if@v@lower{2.03}{%
@@ -3633,32 +4782,36 @@
\tud@cdgeometry@@@process%
}%
\newcommand*\tud@cdgeometry@@@process{%
- \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
- \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
\tud@if@v@lower{2.03}{%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin,%
\tud@cdgeometry@ddcmargin,%
ignorehead,ignorefoot%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudareaddc}%
}{}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudarea}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{stdarea}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@savegeometry{current@typearea}%
+ \or% custom
+ \tud@savegeometry{current@custom}%
+ \fi%
\if@atdocument%
\ifstr{\tud@currentgeometry}{stdarea}{}{%
\expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
@@ -3686,153 +4839,183 @@
includemp=false%
\fi%
}%
-}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \tud@if@tudheadings{#1}{%
- \tud@if@v@lower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \newcommand*\tud@cdgeometry@@init{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
+ \tud@cs@store{tud@cdgeometry@num}%
+ \tud@cs@store{tud@dim@extrabottommargin}%
+ \def\tud@dim@extrabottommargin{\z@}%
+ \tud@cdgeometry@reset{custom}%
+ \begingroup%
+ \epreto\tud@x@geometry@init{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
+ \tud@cdgeometry@layout,%
+ \tud@cdgeometry@mpincl,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor,%
+ \tud@cdgeometry@hincl,%
+ \tud@cdgeometry@fincl,%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\tud@cs@use{geometry}{\tud@x@geometry@init,driver=none}%
+ \noexpand\@tud@x@geometry@fixmarginstrue%
+ }%
+ \tud@res@a%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@custom}%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@x@typearea@warnings@off[\tud@res@a]%
+ \tud@x@typearea@init%
+ \tud@x@typearea@warnings@on%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@typearea}%
+ \def\tud@res@b##1{%
+ \eappto\Gm@restore@@init@typearea{%
+ \noexpand\PackageWarningNoLine{typearea}{##1}%
+ }%
+ }%
+ \forlistloop\tud@res@b{\tud@res@a}%
+ \tud@cs@restore{tud@cdgeometry@num}%
+ \tud@cs@restore{tud@dim@extrabottommargin}%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \ifcase\tud@cdgeometry@num\relax% typearea
+ \tud@loadgeometry{init@typearea}%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \fi%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@currentgeometry{}
+ \newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
+ \ifstr{#1}{\GetRealPageStyle{#1}}{%
+ \tud@if@tudheadings{#1}{%
+ \tud@if@v@lower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \tud@loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
+ \else% \tud@ddc@foot@num!=false
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@loadgeometry{tudareaddc}%
+ \gdef\tud@currentgeometry{tudareaddc}%
+ }%
+ \fi%
+ }{%
\ifstr{\tud@currentgeometry}{tudarea}{}{%
\tud@loadgeometry{tudarea}%
\gdef\tud@currentgeometry{tudarea}%
}%
- \else% \tud@ddc@foot@num!=false
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
- }%
- \fi%
+ }%
+ \setlength\tud@len@areavskip{\z@}%
+ \tud@komafont@set{pagenumber}{\usekomafont{tudheadings}}%
+ \tud@komafont@set{pagefoot}{\usekomafont{tudheadings}}%
}{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \tud@loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \tud@loadgeometry{stdarea}%
+ \gdef\tud@currentgeometry{stdarea}%
}%
- }%
- \setlength\tud@len@areavskip{\z@}%
- \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
- \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
- }{%
- \ifstr{\tud@currentgeometry}{stdarea}{}{%
- \tud@loadgeometry{stdarea}%
- \gdef\tud@currentgeometry{stdarea}%
- }%
- \setlength\tud@len@areavskip{\tud@len@areadiff}%
- \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
- \if@hincl%
- \addtolength\tud@len@areavskip{%
- \dimexpr-\headheight-\tud@len@headsep\relax%
- }%
+ \setlength\tud@len@areavskip{\tud@len@areadiff}%
+ \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
+ \if@hincl%
+ \addtolength\tud@len@areavskip{%
+ \dimexpr-\headheight-\tud@len@headsep\relax%
+ }%
+ \fi%
\fi%
- \fi%
- \tud@font@koma@unset{pagefoot}%
- \tud@font@koma@unset{pagenumber}%
+ \tud@komafont@unset{pagenumber}%
+ \tud@komafont@unset{pagefoot}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
+ }
+}
+\newcommand*\tud@x@typearea@before{%
+ \tud@skip@store{paperheight}%
+ \tud@skip@store{paperwidth}%
+ \begingroup%
+ \tud@cdgeometry@assignlayout%
+ \edef\tud@res@a{%
+ \endgroup%
+ \etex@unexpanded{\setlength\paperheight}{\the\tud@len@layoutheight}%
+ \etex@unexpanded{\setlength\paperwidth}{\the\tud@len@layoutwidth}%
}%
- \global\tud@len@areavskip=\tud@len@areavskip%
- }{}%
+ \tud@res@a%
}
-\newcommand*\tud@AfterChangingArea{%
- \tud@cdgeometry@@process%
- \KOMAoptions{pagesize=\@pagesizelast}%
- \global\@tud@mainlogo@settrue%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+\newcommand*\tud@x@typearea@after{%
+ \tud@skip@restore{paperheight}%
+ \tud@skip@restore{paperwidth}%
+ \if@atdocument%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@cdgeometry@process%
+ \else%
+ \TUD@key@preset{cdgeometry}{false}%
+ \fi%
}
-\newcommand*\tud@cdgeometry@init{%
- \AtEndPreamble{%
- \if@tud@x@standalone@crop%
- \pagestyle{empty}%
- \let\tud@AfterChangingArea\relax%
- \let\tud@cdgeometry@process\relax%
- \else%
- \csuse{@ta@usegeometryfalse}%
- \def\tud@reserved##1{%
- \tud@setgeometry{%
- \tud@cdgeometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- \else%
- reversemarginpar=false,%
- \fi%
- bindingoffset=\the\ta@bcor,%
- \tud@cdgeometry@hincl,%
- \tud@cdgeometry@fincl,%
- \tud@x@geometry@init,%
- driver=none%
- }%
- \addtolength\oddsidemargin{-\Gm@layouthoffset}%
- \addtolength\evensidemargin{-\Gm@layouthoffset}%
- \addtolength\topmargin{-\Gm@layoutvoffset}%
- \tud@savegeometry{init@##1}%
+\newcommand*\tud@x@typearea@init{\recalctypearea}%
+\xpretocmd{\typearea}{%
+ \tud@x@typearea@before%
+ \def\tud@x@typearea@init{\typearea[#1]{#2}}%
+}{}{\tud@patch@wrn{typearea}}
+\xapptocmd{\typearea}{\tud@x@typearea@after}{}{\tud@patch@wrn{typearea}}
+\xpretocmd{\areaset}{%
+ \tud@x@typearea@before%
+ \begingroup%
+ \setlength\@tempdima{#2}%
+ \setlength\@tempdimb{#3}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\def\noexpand\tud@x@typearea@init{%
+ \noexpand\areaset[#1]{\the\@tempdima}{\the\@tempdimb}%
}%
- \begingroup%
- \let\scr@grouplevel@test\@gobble%
- \setlength\paperheight{\Gm@layoutheight}%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \let\activateareas\relax%
- \tud@x@ta@warnings@off%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{DIV}%
- \def\@tempb{{0}}%
- \ifx\@tempa\@tempb\relax%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{paper}%
- \@for\@tempb:=\@tempa\do{%
- \@tempswatrue%
- \ifx\@tempb\defaultpapersize\relax%
- \@tempswafalse%
- \fi%
- }%
- \if@tempswa%
- \KOMAoptions{DIV=11}%
- \fi%
- \fi%
- \recalctypearea%
- \tud@x@ta@warnings@on%
- \edef\tud@x@geometry@init{%
- left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
- textwidth=\the\textwidth,%
- marginparwidth=\the\marginparwidth,%
- marginparsep=\the\marginparsep,%
- bindingoffset=\the\ta@bcor,%
- \if@hincl%
- top=\the\dimexpr\topmargin+1in\relax,%
- \else%
- top=\the\dimexpr\topmargin%
- +\headheight+\headsep+1in\relax,%
- \fi%
- headheight=\the\headheight,%
- headsep=\the\headsep,%
- textheight=\the\textheight,%
- footskip=\the\footskip%
- }%
- \tud@reserved{typearea}%
- \global\let\Gm@restore@@init@typearea\Gm@restore@@init@typearea%
+ }%
+ \tud@res@a%
+}{}{\tud@patch@wrn{areaset}}
+\xapptocmd{\areaset}{\tud@x@typearea@after}{}{\tud@patch@wrn{areaset}}
+\tud@cs@store{storeareas}
+\renewcommand*\storeareas[1]{%
+ \begingroup
+ \tud@x@geometry@fixmargins%
+ \tud@cs@use{storeareas}{#1}%
+ \edef\tud@res@a{%
\endgroup%
- \tud@reserved{custom}%
- \AfterCalculatingTypearea{\tud@AfterChangingArea}%
- \AfterSettingArea{\tud@AfterChangingArea}%
- \ifundef{\AfterRestoreareas}{}{%
- \AfterRestoreareas{\tud@AfterChangingArea}%
+ \etex@unexpanded{\def#1}{%
+ \expandonce#1%
+ \def\noexpand\tud@cdgeometry@num{\tud@cdgeometry@num}%
}%
- \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
- \tud@cdgeometry@process%
- \fi%
- \let\tud@cdgeometry@init\relax%
- }%
+ }%
+ \tud@res@a%
}
-\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\AfterRestoreareas{\tud@cdgeometry@process}%
\TUD@UnwindPackage{geometry}{%
- \newif\ifGm@layout%
- \newif\ifGm@showcrop%
- \newif\ifGm@pass%
- \let\Gm@layoutheight\paperheight%
- \let\Gm@layoutwidth\paperwidth%
- \let\Gm@layouthoffset\z@%
- \let\Gm@layoutvoffset\z@%
- \renewcommand*\tud@cdgeometry@@process{\tud@cdgeometry@set}%
- \let\tud@BeforeSelectAnyPageStyle\@gobble%
- \providecommand*\tud@setgeometry[1]{}%
- \providecommand*\tud@savegeometry[1]{}%
+ \newcommand*\tud@cdgeometry@@init{%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@cdgeometry@@process{%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \tud@cdgeometry@set%
+ }%
+ \newcommand*\tud@x@geometry@fixmargins{}%
+}
+\newcommand*\tud@cdgeometry@init{\tud@cdgeometry@@init}%
+\AfterPackage{svg-extract}{%
+ \renewcommand*\tud@cdgeometry@init{%
+ \if@svgx@standalone%
+ \@tud@x@scr@fontsize@settrue%
+ \else%
+ \tud@cdgeometry@@init%
+ \fi%
+ }%
}
\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
\let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
@@ -3897,7 +5080,7 @@
contents={%
\ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\color{HKS41!60}%
- \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \setlength\@tempdima{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
\ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
\raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
\fi%
@@ -4163,16 +5346,19 @@
}{}{\tud@patch@wrn{thispagestyle}}
\newcommand*\tud@pagestyle{}
\let\tud@pagestyle\pagestyle
+\newcommand*\currentpagestyle{plain}
\pretocmd{\tud@pagestyle}{%
\tud@BeforeSelectAnyPageStyle{#1}%
\edef\currentpagestyle{#1}%
}{}{\tud@patch@wrn{pagestyle}}
-\tud@cmd@store{pagestyle}
+\tud@cs@store{pagestyle}
\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
\BeforePackage{scrlayer-scrpage}{%
- \tud@cmd@restore{pagestyle}%
+ \tud@cs@restore{pagestyle}%
\undef\tud@pagestyle%
+ \undef\currentpagestyle%
}
+\AfterPackage!{scrlayer-scrpage}{\AtEndPreamble{\tud@cdgeometry@init}}
\TUD@UnwindPackage{scrlayer-scrpage}{%
\ifcsundef{if@chapter}{%
\newif\if@chapter%
@@ -4232,6 +5418,7 @@
\fi%
\fi%
}{%
+ \tud@locked@bool@preset{@tud@head@widebar}{true}%
\ifstr{\tud@pagecolor}{HKS41}{%
\renewcommand*\tud@head@logocolor{white}%
\renewcommand*\tud@head@fontcolor{white}%
@@ -4241,7 +5428,6 @@
\else%
\renewcommand*\tud@foot@fontcolor{HKS41!30}%
\fi%
- \bool@std@lock{@tud@head@widebar}{true}%
}{%
\renewcommand*\tud@head@logocolor{HKS41}%
\renewcommand*\tud@head@fontcolor{HKS41}%
@@ -4256,50 +5442,12 @@
\renewcommand*\tud@foot@logocolor{HKS41}%
\renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
- \bool@std@lock{@tud@head@widebar}{true}%
}%
}%
\let\tud@len@line\tud@len@thinline%
\ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}%
\global\let\tud@foot@fontcolor\tud@foot@fontcolor%
}
-\newcommand*\tud@head@fontsize{}
-\newcommand*\tud@head@font@light{}
-\newcommand*\tud@head@font@bold{}
-\newcommand*\tud@head@font@set{%
- \ifcase\tud@head@font@num\relax% false
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@head@font@set%
- \ClassWarning{\TUD@Class@Name}{%
- It isn't possible to use `cdhead=false'\MessageBreak%
- together with `cdfont=true'%
- }%
- \fi%
- \TUDoptions{cdhead=true}%
- \fi%
- \fi%
- \if@tud@head@font@set%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
- \ifcase\tud@head@font@num\relax\else% true/heavy
- \if@tud@univers%
- \ifcase\tud@head@font@num\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@fontsize}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{m}{n}{\tud@head@fontsize}%
- \fi%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@fontsize}%
- \fi%
- \fi%
- \global\@tud@head@font@setfalse%
- \global\@tud@head@text@settrue%
- \fi%
-}
\newcommand*\tud@head@text@line{}
\newcommand*\tud@head@text@list{}
\newcommand*\tud@head@text@delimiter{}
@@ -4326,9 +5474,9 @@
\newcommand*\tud@head@text@wrn[1]{}
\newcommand*\tud@head@text@set{%
\if@tud@head@text@set%
- \def\tud@head@text@line{}%
- \def\tud@head@text@list{}%
- \def\tud@head@text@buffer{}%
+ \let\tud@head@text@line\@empty%
+ \let\tud@head@text@list\@empty%
+ \let\tud@head@text@buffer\@empty%
\tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}%
\tud@head@text@add{\tud@head@font@light}{\@department}%
\tud@head@text@add{\tud@head@font@light}{\@institute}%
@@ -4347,10 +5495,6 @@
\fi%
}
\newcommand*\tud@head@text@box{%
- \ifx\@faculty\@empty%
- \ClassWarningNoLine{\TUD@Class@Name}{No `\string\faculty' given}%
- \faculty{}%
- \fi%
\def\@tempb{\tud@color{\tud@head@fontcolor}}%
\def\@tempc{\depth+\tud@len@heavyline}%
\def\@tempa##1{%
@@ -4596,7 +5740,7 @@
}%
\vss\vss%
}{%
- You should reduce `footlogoheight', because it is\MessageBreak
+ You should reduce `footlogoheight', because it is\MessageBreak%
too high (\the\dimexpr\tud@dim@footlogoheight\relax).%
\ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
\MessageBreak%
@@ -4641,8 +5785,8 @@
}
\newcommand*\tud@footlogo@cmd@@set[2]{%
\begingroup%
- \def\@tempa{}%
- \def\@tempb{}%
+ \let\@tempa\@empty%
+ \let\@tempb\@empty%
\@tempswatrue%
\def\do##1{%
\if@tempswa%
@@ -4674,19 +5818,26 @@
\usebox\z@\hspace*{-\wd\z@}%
}
\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@usefont[1]{%
+ \usekomafont{tudheadings}{%
+ \tud@footcontent@fontsize%
+ \tud@footcontent@fontface%
+ \selectfont%
+ #1%
+ }%
+}
+\newcommand*\tud@footcontent@fontsize{}
\newcommand*\tud@footcontent@fontface{}
\newcommand*\tud@footcontent@left{}
\newcommand*\tud@footcontent@right{\@nil}
\newcommand*\footcontent{%
\kernel@ifstar{%
- \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \renewcommand*\tud@footcontent@fontsize{}%
\tud@footcontent@do%
}{%
- \renewcommand*\tud@footcontent@fontface{%
- \usekomafont{tudheadings}%
+ \renewcommand*\tud@footcontent@fontsize{%
\setlength\@tempdima{\tud@head@fontsize\p@}%
- \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
- \selectfont%
+ \fontsize{\@tempdima}{1.25\@tempdima}%
}%
\tud@footcontent@do%
}%
@@ -4698,7 +5849,9 @@
}
\newcommand*\tud@footcontent@@do{}
\def\tud@footcontent@@do#1#2[#3]{%
- \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#1}\relax\else%
+ \renewcommand*\tud@footcontent@fontface{#1}%
+ \fi%
\if\detokenize{*#2}\relax\else%
\renewcommand*\tud@footcontent@left{#2}%
\fi%
@@ -4730,25 +5883,26 @@
\linespread{1}%
\vss%
\hbox to #2{%
- \tud@footcontent@fontface%
- \def\@tempa{\@nil}%
- \ifx\@tempa\tud@footcontent@right\relax%
- \vtop{%
- \hsize=\dimexpr#2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \else%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \hspace{\columnsep}%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@right\strut%
- }%
- \fi%
- \hss%
+ \tud@footcontent@usefont{%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax%
+ \vtop{%
+ \hsize=\dimexpr#2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \else%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
+ }%
+ \fi%
+ \hss%
+ }%
}%
\vss\vss%
}{%
@@ -4765,22 +5919,20 @@
\hbox to #2{}%
\fi%
}
-\AtBeginDocument{%
- \tud@if@v@lower{2.04}{%
- \renewcommand*\tud@comp@clearpage{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
- \fi%
- }%
- \renewcommand*\tud@comp@resetpagestyle{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- }{}%
- \fi%
- }%
- }{}%
-}
+\tud@if@v@lower{2.04}{%
+ \renewcommand*\tud@comp@clearpage{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
+ \fi%
+ }%
+ \renewcommand*\tud@comp@resetpagestyle{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ }{}%
+ \fi%
+ }%
+}{}%
\newcommand*\tud@ddc@check{%
\let\@tempa\tud@ddc@head@num%
\let\@tempb\tud@ddc@foot@num%
@@ -4873,7 +6025,7 @@
]
\TUD@parameter@family{tudpage}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{%
\tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{%
\ifstr{#1}{empty}{\renewcommand*\tud@envir@ps{empty.tudheadings}}{%
@@ -4896,6 +6048,42 @@
}%
]{fancyhdr}
%%% From File: tudscr-layout.dtx
+\newcommand*\tud@cleardoublespecialpage[2][]{%
+ \begingroup%
+ \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
+ \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
+ #2%
+ \ifboolexpr{bool {@twoside} and bool {@openright}}{%
+ \if@tud@clearcolor%
+ \def\@tempa{%
+ #1%
+ \tud@cleardoublepage%
+ \endgroup%
+ }%
+ \else%
+ \def\@tempa{%
+ \endgroup%
+ #1%
+ \tud@cleardoublepage%
+ }%
+ \fi%
+ }{%
+ \if@tud@clearcolor\tud@clearcolor@wrn\fi%
+ \def\@tempa{%
+ \endgroup%
+ #1%
+ }%
+ }%
+ \@tempa%
+ \@afterindentfalse\@afterheading%
+}
+\newcommand*\tud@clearcolor@wrn{%
+ \ClassWarning{\TUD@Class@Name}{%
+ Option `clearcolor' is only available together with\MessageBreak%
+ options `twoside' and `open=right'%
+ }%
+ \global\let\tud@clearcolor@wrn\relax%
+}
\newcommand*\tud@x@scr@headings@current{}
\newcommand*\tud@sec@fontsize{}
\newcommand*\tud@thesis@fontsize{}
@@ -4913,304 +6101,313 @@
\ifstr{standardclasses}{\@tempc}{\@tempa{standardclasses}{\Huge}{\LARGE}}{%
\ifstr{big}{\@tempc}{\@tempa{big}{\Huge}{\LARGE}}{%
\ifstr{normal}{\@tempc}{\@tempa{normal}{\huge}{\Large}}{%
- \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\Large}}{}}}}%
+ \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\large}}{}}}}%
}%
+ \begingroup
+ \tud@sec@fontsize%
+ \@tempskipa=\glueexpr%
+ .8\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+ \relax\relax%
+ \edef\tud@res@a{%
+ \endgroup%
+ \def\noexpand\tud@cd@afterskip{\the\@tempskipa}%
+ }%
+ \tud@res@a%
}
\AtEndPreamble{\tud@x@scr@headings@set}
\newcommand*\tud@x@scr@headings@reset{%
- \tud@layout@process%
+ \tud@cd@process%
\tud@x@scr@headings@set[%
- \ifcase\tud@layout@part@num\relax\else% !false
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
+ \ifcase\tud@cd@part@num\relax\else% !false
+ \tud@komafont@reset{part}%
+ \tud@komafont@reset{partnumber}%
\fi%
- \ifcase\tud@layout@chapter@num\relax\else% !false
- \tud@font@koma@reset{chapter}%
- \tud@font@koma@reset{chapterprefix}%
+ \ifcase\tud@cd@chapter@num\relax\else% !false
+ \tud@komafont@reset{chapter}%
+ \tud@komafont@reset{chapterprefix}%
\fi%
- \ifcase\tud@layout@section@num\relax\else% !false
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
+ \ifcase\tud@cd@section@num\relax\else% !false
+ \tud@komafont@reset{section}%
+ \tud@komafont@reset{subsection}%
+ \tud@komafont@reset{subsubsection}%
\fi%
]%
}
-\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}}
-\newcommand*\tud@headmidvskip@reverse{%
- \setbox\z@\vbox{\tud@headmidvskip@normal}%
- \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}%
+\newcommand*\tud@sec@fontface[1][]{\tud@sec@@fontface{#1}}%
+\newcommand*\tud@sec@@fontface[1]{%
+ \sectfont#1%
+ \if@tud@cdfont@active\if@tud@heavyheadings%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@ebf}%
+ \edef\bfseries@sf{\tud@cdfont@ebf}%
+ \edef\bfseries@tt{\tud@ttfont@ebf}%
+ \fi%
+ \let\bfdefault\tud@cdfont@ebf%
+ \fontseries{\tud@cdfont@ebf}%
+ \fi\fi%
+ \selectfont%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdoldfont@nodin%
+ \tud@sec@@fontface{#1}%
+ \else%
+ \tud@db\tud@raggedright%
+ \fi%
+ }%
+\fi
+\newcommand*\tud@sec@format[2][]{%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \endgroup%
+ }%
+ #2%
+}
+\if@tud@cdoldfont@active
+ \newcommand*\tud@sec@uppercase{\MakeUppercase}%
+ \AfterPackage*{textcase}{%
+ \renewcommand*\tud@sec@uppercase{\MakeTextUppercase}%
+ }%
+ \renewcommand*\tud@sec@format[2][]{%
+ \@tud@res@swafalse%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ \tud@ifdin{\@tud@res@swatrue}{}%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \tud@ifdin{\aftergroup\@tud@res@swatrue}{}%
+ \endgroup%
+ }%
+ \if@tud@res@swa%
+ \tud@sec@uppercase{#2}%
+ \else%
+ #2%
+ \fi%
+ }%
+\fi
+\newrobustcmd*\tud@sec@strut{%
+ \begingroup%
+ \strut\setbox\strutbox\hbox{\vphantom{\textsuperscript{\"A\"O\"U}}}\strut%
+ \endgroup%
}
\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
\newcommand*\tud@chapter@fontcolor{}
\newcommand*\tud@section@fontcolor{}
\providecommand*\raggedtitle{\tud@raggedright}
-\newkomafont{parttitle}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- \usesizeofkomafont{section}%
-}
-\newcommand*\tud@layout@process{%
- \ifcase\tud@layout@cover@num\relax% false
- \bool@std@lock{@tud@cdgeometry@cover}{false}%
- \else% !false
- \bool@std@lock{@tud@cdgeometry@cover}{true}%
- \fi%
- \ifcase\tud@layout@title@num\relax% false
- \tud@cmd@restore{titlepagestyle}%
- \tud@font@koma@unset{titlehead}%
- \tud@font@koma@unset{title}%
- \tud@font@koma@unset{subtitle}%
- \tud@font@koma@unset{subject}%
- \tud@font@koma@unset{author}%
- \tud@font@koma@unset{date}%
- \tud@font@koma@unset{publishers}%
+\newcommand*\tud@cd@process{%
+ \ifcase\tud@cd@title@num\relax% false
+ \tud@cs@restore{titlepagestyle}%
+ \tud@komafont@unset{titlehead}%
+ \tud@komafont@unset{title}%
+ \tud@komafont@unset{subtitle}%
+ \tud@komafont@unset{subject}%
+ \tud@komafont@unset{author}%
+ \tud@komafont@unset{date}%
+ \tud@komafont@unset{publishers}%
\else% !false
- \tud@cmd@store{titlepagestyle}%
+ \tud@cs@store{titlepagestyle}%
\renewcommand*\titlepagestyle{plain.tudheadings}%
- \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
- \tud@font@koma@set{title}{%
- \raggedtitle%
+ \tud@komafont@set{titlehead}{\usekomafont{titlepage}}%
+ \tud@komafont@set{title}{%
\usekomafont{disposition}%
+ \raggedtitle%
\tud@sec@fontface%
\tud@sec@fontsize%
\tud@color{\tud@title@fontcolor}%
}%
- \tud@font@koma@set{subtitle}{%
- \raggedtitle%
- \ifstr{\mddefault}{l}{%
- \tud@sec@fontface[\fontseries{m}]%
- }{%
- \tud@sec@fontface[\fontseries{bx}]%
- }%
- \usesizeofkomafont{section}%
- \tud@color{\tud@title@fontcolor}%
+ \tud@komafont@set{subtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
}%
- \tud@font@koma@set{subject}{%
+ \tud@komafont@set{subject}{%
\sffamily%
- \bfseries%
+ \usesizeofkomafont{section}%
\tud@color{\tud@title@fontcolor}%
}%
- \tud@font@koma@set{author}{\usekomafont{subject}}%
- \tud@font@koma@set{date}{\usekomafont{titlepage}}%
- \tud@font@koma@set{publishers}{\usekomafont{author}}%
- \fi%
- \ifcase\tud@layout@part@num\relax% false
- \tud@cmd@restore{partheadstartvskip}%
- \tud@cmd@restore{partheadendvskip}%
- \tud@cmd@restore{partheademptypage}%
- \tud@cmd@restore{partpagestyle}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@restore{scr@@startpart}%
- \tud@cmd@restore{scr@@startspart}%
- }{%
- \tud@cmd@restore{@part}%
- \tud@cmd@restore{@spart}%
- }%
- \tud@sectioning@reset[addpart]{part}%
- \tud@font@koma@unset{partnumber}%
- \tud@cmd@restore{raggedpart}%
+ \tud@komafont@set{author}{\usekomafont{subject}}%
+ \tud@komafont@set{publishers}{\usekomafont{author}}%
+ \tud@komafont@set{date}{\usekomafont{titlepage}}%
+ \fi%
+ \ifcase\tud@cd@part@num\relax% false
+ \tud@cs@restore{scr@part@beforeskip}%
+ \tud@cs@restore{scr@part@innerskip}%
+ \tud@cs@restore{scr@part@afterskip}%
+ \tud@cs@restore{partheadstartvskip}%
+ \tud@cs@restore{partheadendvskip}%
+ \tud@cs@restore{partheademptypage}%
+ \tud@cs@restore{partpagestyle}%
+ \tud@cs@restore{partlineswithprefixformat}%
+ \tud@komafont@unset{part}%
+ \tud@komafont@unset{partnumber}%
+ \tud@cs@restore{raggedpart}%
\else% !false
- \tud@cmd@store{partheadstartvskip}%
+ \tud@cs@store{scr@part@beforeskip}%
+ \renewcommand*\scr@part@beforeskip{\tud@cd@beforeskip}%
+ \tud@cs@store{scr@part@innerskip}%
+ \renewcommand*\scr@part@innerskip{\tud@cd@innerskip}%
+ \tud@cs@store{scr@part@afterskip}%
+ \renewcommand*\scr@part@afterskip{\tud@cd@afterskip}%
+ \tud@cs@store{partheadstartvskip}%
\let\partheadstartvskip\tud@partheadstartvskip%
- \tud@cmd@store{partheadendvskip}%
- \let\partheadendvskip\tud@partheadendvskip%
- \tud@cmd@store{partheademptypage}%
- \let\partheademptypage\relax%
- \tud@cmd@store{partpagestyle}%
+ \tud@cs@store{partheadendvskip}%
+ \let\partheadendvskip\relax%
+ \tud@cs@store{partheademptypage}%
+ \let\partheademptypage\tud@partheademptypage%
+ \tud@cs@store{partpagestyle}%
\renewcommand*\partpagestyle{plain.tudheadings}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@store{scr@@startpart}%
- \let\scr@@startpart\tud@@startpart%
- \tud@cmd@store{scr@@startspart}%
- \let\scr@@startspart\tud@@startspart%
- }{%
- \tud@cmd@store{@part}%
- \let\@part\tud@@part%
- \tud@cmd@store{@spart}%
- \let\@spart\tud@@spart%
- }%
- \if@tud@parttitle%
- \tud@sectioning@set{part}{\usekomafont{parttitle}}%
- \tud@font@koma@set{partnumber}{\usekomafont{parttitle}}%
- \else%
- \tud@sectioning@set{part}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \tud@font@koma@set{partnumber}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \fi%
- \tud@cmd@store{raggedpart}%
+ \tud@cs@store{partlineswithprefixformat}%
+ \let\partlineswithprefixformat\tud@partlineswithprefixformat%
+ \tud@komafont@set{part}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
+ }%
+ \tud@komafont@set{partnumber}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
+ }%
+ \tud@cs@store{raggedpart}%
\renewcommand*\raggedpart{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@chapter@num\relax% false
- \tud@cmd@restore{chapterheadstartvskip}%
- \tud@cmd@restore{chapterformat}%
- \tud@cmd@restore{@chapter}%
- \tud@cmd@restore{@schapter}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@restore{scr@@makechapterhead}%
- }{%
- \tud@cmd@restore{@@makechapterhead}%
- }%
- \tud@sectioning@reset[addchap]{chapter}%
- \tud@font@koma@unset{chapterprefix}%
- \tud@cmd@restore{raggedchapter}%
+ \ifcase\tud@cd@chapter@num\relax% false
+ \tud@cs@restore{scr@chapter@beforeskip}%
+ \tud@cs@restore{scr@chapter@innerskip}%
+ \tud@cs@restore{scr@chapter@afterskip}%
+ \tud@cs@restore{chapterheadstartvskip}%
+ \tud@cs@restore{chapterlineswithprefixformat}%
+ \tud@cs@restore{chapterlinesformat}%
+ \tud@cs@restore{tud@chapter@before@hook}%
+ \tud@cs@restore{tud@chapter@after@hook}%
+ \tud@komafont@unset{chapter}%
+ \tud@komafont@unset{chapterprefix}%
+ \tud@cs@restore{raggedchapter}%
\else% !false
- \tud@cmd@store{chapterheadstartvskip}%
+ \tud@cs@store{scr@chapter@beforeskip}%
+ \renewcommand*\scr@chapter@beforeskip{\tud@cd@beforeskip}%
+ \tud@cs@store{scr@chapter@innerskip}%
+ \renewcommand*\scr@chapter@innerskip{\tud@cd@innerskip}%
+ \tud@cs@store{scr@chapter@afterskip}%
+ \renewcommand*\scr@chapter@afterskip{\tud@cd@afterskip}%
+ \tud@cs@store{chapterheadstartvskip}%
\let\chapterheadstartvskip\tud@chapterheadstartvskip%
- \tud@cmd@store{chapterformat}%
- \tud@cmd@store{@chapter}%
- \tud@cmd@store{@schapter}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@store{scr@@makechapterhead}%
- \let\scr@@makechapterhead\tud@@makechapterhead%
- }{%
- \tud@cmd@store{@@makechapterhead}%
- \let\@@makechapterhead\tud@@makechapterhead%
- }%
- \tud@sectioning@set{chapter}{%
+ \tud@cs@store{chapterlineswithprefixformat}%
+ \let\chapterlineswithprefixformat\tud@chapterlineswithprefixformat%
+ \tud@cs@store{chapterlinesformat}%
+ \let\chapterlinesformat\tud@chapterlinesformat%
+ \tud@cs@store{tud@chapter@before@hook}%
+ \renewcommand*\tud@chapter@before@hook{\tud@chapter@pre}%
+ \tud@cs@store{tud@chapter@after@hook}%
+ \renewcommand*\tud@chapter@after@hook{\tud@chapter@app}%
+ \tud@komafont@set{chapter}{%
\tud@sec@fontface%
\tud@sec@fontsize%
\tud@color{\tud@chapter@fontcolor}%
}%
- \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
- \tud@cmd@store{raggedchapter}%
+ \tud@komafont@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
+ \tud@cs@store{raggedchapter}%
\renewcommand*\raggedchapter{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@section@num\relax% false
- \tud@sectioning@reset[addsec]{section}%
- \tud@sectioning@reset{subsection}%
- \tud@sectioning@reset{subsubsection}%
- \tud@sectioning@reset{minisec}%
- \tud@sectioning@reset{paragraph}%
- \tud@sectioning@reset{subparagraph}%
- \tud@cmd@restore{raggedsection}%
+ \ifcase\tud@cd@section@num\relax% false
+ \tud@cs@restore{sectionlinesformat}%
+ \tud@cs@restore{sectioncatchphraseformat}%
+ \tud@komafont@unset{section}%
+ \tud@komafont@unset{subsection}%
+ \tud@komafont@unset{subsubsection}%
+ \tud@komafont@unset{paragraph}%
+ \tud@komafont@unset{subparagraph}%
+ \tud@cs@restore{raggedsection}%
+ \tud@cs@restore{minisec}%
+ \tud@komafont@unset{minisec}%
\else% !false
- \renewcommand*\tud@section@fontcolor{}%
- \ifcase\tud@layout@section@num\relax\or\else% *color
- \renewcommand*\tud@section@fontcolor{HKS41}%
- \fi%
- \tud@sectioning@set{section}{%
+ \tud@cs@store{sectionlinesformat}%
+ \let\sectionlinesformat\tud@sectionlinesformat%
+ \tud@cs@store{sectioncatchphraseformat}%
+ \let\sectioncatchphraseformat\tud@sectioncatchphraseformat%
+ \tud@komafont@set{section}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subsection}{%
+ \tud@komafont@set{subsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subsubsection}{%
+ \tud@komafont@set{subsubsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{minisec}{%
- \tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{paragraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{paragraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{subparagraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subparagraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
- }%
- \tud@cmd@store{raggedsection}%
+ \tud@cs@store{raggedsection}%
\renewcommand*\raggedsection{\tud@raggedright}%
+ \tud@cs@store{minisec}%
+ \renewcommand\minisec[1]{%
+ \tud@cs@use{minisec}{\tud@sec@format{##1}}%
+ }%
+ \tud@komafont@set{minisec}{%
+ \tud@sec@fontface%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\color{HKS41}}%
+ \fi%
+ }%
\fi%
}
-\newcommand*\tud@layout@specialpage@set[1]{%
- \tud@font@koma@set{footnote}{%
+\newcommand*\tud@cd@specialpage@set[1]{%
+ \tud@komafont@set{footnote}{%
\edef\@tempa{%
\noexpand\tud@color{%
\expandafter\noexpand\csname tud@#1@fontcolor\endcsname%
}%
}\@tempa%
}%
- \tud@cmd@store{footnoterule}%
+ \tud@cs@store{footnoterule}%
\let\footnoterule\relax%
}
-\newcommand*\tud@layout@specialpage@unset{%
- \tud@font@koma@unset{footnote}%
- \tud@cmd@restore{footnoterule}%
+\newcommand*\tud@cd@specialpage@unset{%
+ \tud@komafont@unset{footnote}%
+ \tud@cs@restore{footnoterule}%
}
-\newcommand*\tud@partheadstartvskip{%
- \renewcommand*\tud@part@fontcolor{}% false/true
- \ifcase\tud@layout@part@num\relax\or\or% litecolor
- \renewcommand*\tud@part@fontcolor{HKS41}%
- \or% barcolor
- \renewcommand*\tud@part@fontcolor{HKS41}%
- \or% bicolor
- \renewcommand*\tud@part@fontcolor{HKS41}%
- \or% color
- \renewcommand*\tud@part@fontcolor{HKS41!30}%
- \or% full
- \renewcommand*\tud@part@fontcolor{HKS41!30}%
- \fi%
- \tud@layout@specialpage@set{part}%
+\newcommand*\tud@cd@beforeskip{%
+ \dimexpr-\tud@len@areavskip-\tud@len@areaheadvskip\relax%
+}
+\newcommand*\tud@cd@innerskip{.25\baselineskip}%
+\newcommand*\tud@cd@afterskip{%
+ .75\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+}
+\newcommand*\tud@cd@headstartvskip{%
+ \@tempskipa=\glueexpr\tud@cd@beforeskip\relax\relax%
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi%
+ \null\vskip-\baselineskip\vskip\@tempskipa%
+}
+\newcommand*\tud@cd@vphantom{%
\begingroup%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
- \TUD@deprecated@lengthcs{pageheadingsvskip}%
- \vspace*{\tud@dim@pageheadingsvskip}%
- \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \if@tud@parttitle%
- \begingroup%
- \tud@sec@fontface%
- \tud@sec@fontsize%
- \tud@color{\tud@part@fontcolor}%
- \ifx\@@title\@empty%
- \ClassWarning{\TUD@Class@Name}{%
- You activated the option `parttitle' but\MessageBreak%
- no title was given%
- }%
- \tud@makeuppercase{\strut}%
- \else%
- \tud@makeuppercase{\@@title}%
- \fi%
- \par\nobreak%
- {\usekomafont{titlepage}{\vskip 2ex\@plus1ex\@minus1ex}}%
- \endgroup%
- \else%
- \usekomafont{partnumber}{\tud@headmidvskip@reverse}%
- \fi%
+ \usekomafont{partnumber}{\nobreak\tud@sec@strut}%
+ \setlength\@tempskipa{\tud@cd@innerskip}%
+ \par\nobreak\vskip\@tempskipa%
\endgroup%
}
-\newcommand*\tud@partheadendvskip{%
- \tud@cleardoublespecialpage{%
- \renewcommand*\tud@pagecolor{}%
- \ifcase\tud@layout@part@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
- \or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
- \or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
- \or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
- \or% color
- \renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{1}%
- \or% full
- \renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{3}%
- \fi%
- \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
- \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
- \clearpage%
- }%
- \tud@layout@specialpage@unset%
-}
+\newcommand*\tud@preamble@fontcolor{}
\newcommand*\tud@partpreamble{%
+ \@tempskipa=\glueexpr\tud@cd@afterskip\relax%
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi%
+ \vskip\@tempskipa%
\ifnum\tud@abstract@level@num>\@ne\relax% sec/chap
\renewcommand*\tud@abstract@level@num{1}%
\fi%
\KOMAoptions{titlepage=false}%
+ \null\vskip-\baselineskip%
\addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}%
\addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}%
- \tud@color{\tud@part@fontcolor}%
- \vskip\dimexpr\topskip+.9\baselineskip\relax%
+ \let\tud@preamble@fontcolor\tud@part@fontcolor%
\@afterindentfalse\@afterheading%
}
\newcommand*\tud@chapterpreamble{%
@@ -5218,15 +6415,11 @@
\renewcommand*\tud@abstract@level@num{1}%
\fi%
\KOMAoptions{titlepage=false}%
+ \null\vskip-\baselineskip%
\if@tud@chapterpage%
- \ifcase\tud@cdfont@num\relax\or% true
- \TUDoptions{cdfont=true}%
- \or% heavy
- \TUDoptions{cdfont=heavy}%
- \fi%
\addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}%
\addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}%
- \tud@color{\tud@chapter@fontcolor}%
+ \let\tud@preamble@fontcolor\tud@chapter@fontcolor%
\fi%
\@afterindentfalse\@afterheading%
}
@@ -5240,123 +6433,106 @@
}{%
\def\@tempa####1@####2{%
\@nameuse{tud@####1preamble}%
+ \tud@color{\tud@preamble@fontcolor}%
\KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}%
}%
\hbox to\hsize{%
\let\phantomsection\relax%
- #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par%
+ #4\parbox[{#2}]{#3}{\@tempa#1#6\par\bigskip}#5\par%
}%
}{}{\tud@patch@wrn{set@@@@preamble}}
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
-\if@tempswa
- \newcommand*\tud@@startpart{}%
- \let\tud@@startpart\scr@@startpart%
- \ifcsdef{scr@v@3.21}{\@tempswatrue}{\@tempswafalse}%
- \if@tempswa%
- \patchcmd{\tud@@startpart}{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
- \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip%
- }{}%
- }{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{%
- \nobreak\tud@makeuppercase{\@nameuse{#1format}}%
- }%
- \if@tud@parttitle%
- \enskip%
- \else%
- \tud@headmidvskip@normal%
- \fi%
- }{%
- \if@tud@parttitle\else%
- \usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip@normal%
- \fi%
- }%
- }{}{\tud@patch@wrn{scr@@startpart}}%
- \else%
- \patchcmd{\tud@@startpart}{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{\@nameuse{#1format}}%
- \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip%
- }{}%
- }{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}%
- \if@tud@parttitle%
- \enskip%
- \else%
- \tud@headmidvskip@normal%
- \fi%
- }{%
- \if@tud@parttitle\else%
- \usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip@normal%
- \fi%
- }%
- }{}{\tud@patch@wrn{scr@@startpart}}%
+\newcommand*\tud@part@subtitle{}
+\newcommand*\setpartsubtitle[1]{\gdef\tud@part@subtitle{#1}}
+\newkomafont{partsubtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
+ \tud@color{\tud@part@fontcolor}%
+}
+\aliaskomafont{parttitle}{partsubtitle}
+\newcommand*\tud@chapter@subtitle{}
+\newcommand*\setchaptersubtitle[1]{\gdef\tud@chapter@subtitle{#1}}
+\newkomafont{chaptersubtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
+ \tud@color{\tud@chapter@fontcolor}%
+}
+\newcommand*\tud@sec@subtitle[1]{%
+ \ifcsvoid{tud@#1@subtitle}{}{%
+ {\usekomafont{#1subtitle}{\tud@sec@format{\csuse{tud@#1@subtitle}}}}\par%
+ \global\cslet{tud@#1@subtitle}{\@empty}%
+ }%
+}
+\newcommand*\tud@partheadstartvskip{%
+ \renewcommand*\tud@part@fontcolor{}% false/true
+ \ifcase\tud@cd@part@num\relax\or\or% litecolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
+ \or% barcolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
+ \or% bicolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
+ \or% color
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
+ \or% full
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
\fi%
- \newcommand*\tud@@startspart{}%
- \let\tud@@startspart\scr@@startspart%
- \patchcmd{\tud@@startspart}{%
- \normalfont
- \sectfont\nobreak
- }{%
- \normalfont\sectfont\nobreak%
- \if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip@normal\nobreak%
+ \tud@cd@specialpage@set{part}%
+ \tud@cd@headstartvskip%
+ \TUD@deprecated@lengthcs{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
+}
+\newcommand*\tud@partheademptypage{%
+ \tud@cleardoublespecialpage{%
+ \renewcommand*\tud@pagecolor{}%
+ \ifcase\tud@cd@part@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
+ \or% litecolor
+ \tud@locked@num@set{tud@head@bar@num}{1}%
+ \or% barcolor
+ \tud@locked@num@set{tud@head@bar@num}{2}%
+ \or% bicolor
+ \tud@locked@num@set{tud@head@bar@num}{3}%
+ \or% color
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
+ \or% full
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
- }{}{\tud@patch@wrn{scr@@startspart}}%
-\else
- \newcommand*\tud@@part{}%
- \let\tud@@part\@part%
- \patchcmd{\tud@@part}{%
- \ifnumbered{part}{%
- \size@partnumber{\partformat}%
- \setlength{\@tempskipa}{\scr@part@innerskip}%
- \partheadmidvskip%
- }{}%
- }{%
- \ifnumbered{part}{%
- \size@partnumber{\tud@makeuppercase{\partformat}}%
- \if@tud@parttitle%
- \enskip%
- \else%
- \tud@headmidvskip@normal%
- \fi%
- }{%
- \if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip@normal%
- \fi%
- }%
- }{}{\tud@patch@wrn{@part}}%
- \newcommand*\tud@@spart{}%
- \let\tud@@spart\@spart%
- \patchcmd{\tud@@spart}{%
- \normalfont
- \sectfont\nobreak\size@part
- }{%
- \normalfont\sectfont\nobreak%
- \if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip@normal\nobreak%
+ \clearpage%
+ }%
+ \tud@cd@specialpage@unset%
+}
+\newcommand*\tud@partformat{}%
+\newcommand*\tud@partlineswithprefixformat[3]{%
+ \if@tud@parttitle%
+ \ifx\@@title\@empty%
+ \ClassWarning{\TUD@Class@Name}{%
+ You activated the option `parttitle' but\MessageBreak%
+ no title was given%
+ }%
\fi%
- \size@part%
- }{}{\tud@patch@wrn{@spart}}%
-\fi
+ \tud@cd@vphantom%
+ \tud@sec@format[#1]{%
+ \usekomafont{#1}{\nobreak\interlinepenalty \@M\@@title\strut\@@par}%
+ }%
+ \setpartsubtitle{%
+ \setkomafont{part}{}%
+ \tud@sec@format[partnumber]{\IfUseNumber{\partformat\enskip}{}#3}%
+ }%
+ \else%
+ \edef\tud@partformat{\noexpand\tud@sec@format{\expandonce\partformat}}%
+ \let\partformat\tud@partformat%
+ \IfUseNumber{}{\tud@cd@vphantom}%
+ #2\tud@sec@format[#1]{#3}%
+ \fi%
+ \tud@sec@subtitle{#1}%
+}
\newcommand*\tud@chapterheadstartvskip{%
\renewcommand*\tud@chapter@fontcolor{}%
- \ifcase\tud@layout@chapter@num\relax\or\else% *color
+ \ifcase\tud@cd@chapter@num\relax\or\else% *color
\renewcommand*\tud@chapter@fontcolor{HKS41}%
\fi%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip\relax%
- }%
+ \tud@cd@headstartvskip%
\if@tud@chapterpage%
\TUD@deprecated@lengthcs{pageheadingsvskip}%
\vspace*{\tud@dim@pageheadingsvskip}%
@@ -5365,42 +6541,28 @@
\vspace*{\tud@dim@headingsvskip}%
\fi%
}
-\newcommand*\tud@@makechapterhead{}%
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
-\if@tempswa
- \let\tud@@makechapterhead\scr@@makechapterhead%
- \patchcmd{\tud@@makechapterhead}{%
- \csname #1format\endcsname%
- \setlength{\@tempskipa}{\csname scr@#1@innerskip\endcsname}%
- \chapterheadmidvskip
- }{%
- \tud@headmidvskip@reverse%
- \vskip-\parskip%
- \tud@makeuppercase{\csname #1format\endcsname}%
- \tud@headmidvskip@normal%
- }{}{\tud@patch@wrn{scr@@makechapterhead}}%
-\else
- \let\tud@@makechapterhead\@@makechapterhead%
- \patchcmd{\tud@@makechapterhead}{%
- \chapterformat
- \setlength{\@tempskipa}{\scr@chapter@innerskip}%
- \chapterheadmidvskip
- }{%
- \tud@headmidvskip@reverse%
- \vskip-\parskip%
- \tud@makeuppercase{\chapterformat}%
- \tud@headmidvskip@normal%
- }{}{\tud@patch@wrn{@@makechapterhead}}%
-\fi
+\newcommand*\tud@chapterformat{}%
+\newcommand*\tud@chapterlineswithprefixformat[3]{%
+ \edef\tud@chapterformat{%
+ \noexpand\tud@sec@format{\expandonce\chapterformat}%
+ }%
+ \let\chapterformat\tud@chapterformat%
+ \IfUseNumber{}{\tud@cd@vphantom}%
+ #2\tud@sec@format[#1]{#3}%
+ \tud@sec@subtitle{#1}%
+}
+\newcommand*\tud@chapterlinesformat[3]{%
+ \tud@cd@vphantom%
+ \@hangfrom{#2}{\tud@sec@format[#1]{#3}}%
+ \tud@sec@subtitle{#1}%
+}
\newcommand*\tud@chapter@pre{%
\if@tud@chapterpage%
\@restonecolfalse%
\if@twocolumn\@restonecoltrue\onecolumn\fi%
- \tud@layout@specialpage@set{chapter}%
+ \tud@cd@specialpage@set{chapter}%
\fi%
}
-\newcommand*\tud@head@bar@store{}
-\let\tud@head@bar@store\relax
\newcommand*\tud@head@bar@restore{}
\let\tud@head@bar@restore\relax
\newcommand*\tud@chapter@app{%
@@ -5408,46 +6570,42 @@
\tud@cleardoublespecialpage{%
\renewcommand*\tud@pagecolor{}%
\let\tud@foot@fontcolor\tud@chapter@fontcolor%
- \ifcase\tud@layout@chapter@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
+ \ifcase\tud@cd@chapter@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% color
\renewcommand*\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% fullcolor
\renewcommand*\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
- \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
- \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\clearpage%
}%
- \tud@layout@specialpage@unset%
+ \tud@cd@specialpage@unset%
\if@restonecol\twocolumn\fi%
\else%
- \edef\tud@head@bar@store{\tud@head@bar@num}%
\edef\tud@head@bar@restore{%
- \gdef\noexpand\tud@head@bar@num{\tud@head@bar@store}%
- \global\let\noexpand\tud@head@bar@store\relax%
+ \gdef\noexpand\tud@head@bar@num{\tud@head@bar@num}%
\global\let\noexpand\tud@head@bar@restore\relax%
}%
- \ifcase\tud@layout@chapter@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
+ \ifcase\tud@cd@chapter@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% color
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% fullcolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
\fi%
@@ -5455,76 +6613,31 @@
\@afterindentfalse\@afterheading%
\fi%
}
-\newcommand*\tud@clearcolor@wrn{%
- \ClassWarning{\TUD@Class@Name}{%
- Option `clearcolor' is only available together with\MessageBreak%
- options `twoside' and `open=right'%
- }%
- \global\let\tud@clearcolor@wrn\relax%
-}
-\newcommand*\tud@part{}
-\newcommand*\tud@spart{}
-\newcommand*\tud@chapter{}
-\newcommand*\tud@schapter{}
-\newcommand*\tud@section{}
-\newcommand*\tud@ssection{}
-\newcommand*\tud@subsection{}
-\newcommand*\tud@ssubsection{}
-\newcommand*\tud@subsubsection{}
-\newcommand*\tud@ssubsubsection{}
-\newcommand*\tud@sectioning@set[2]{%
- \tud@cmd@store{#1}%
- \ifstr{#1}{minisec}{%
- \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}%
- }{%
- \tud@sectioning@case{#1}%
- }%
- \tud@font@koma@set{#1}{#2}%
-}
-\newcommand*\tud@sectioning@case[1]{%
- \csedef{#1}{%
- \noexpand\SecDef%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@#1\endcsname%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@s#1\endcsname%
- }%
- \csedef{tud@#1}[##1]##2{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname%
- [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}%
- }%
- \csedef{tud@s#1}##1{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname*%
- {\noexpand\tud@sectioning@uppercase{##1}}%
- }%
- \ifstr{#1}{chapter}{%
- \def\@tempa{,s}%
- \@for\@tempb:=\@tempa\do{%
- \expandafter\pretocmd\expandafter{\csname tud@\@tempb#1\endcsname}{%
- \tud@chapter@pre%
- }{}{\tud@patch@wrn{tud@sectioning@case}}%
- \expandafter\apptocmd\expandafter{\csname tud@\@tempb#1\endcsname}{%
- \tud@chapter@app%
- }{}{\tud@patch@wrn{tud@sectioning@case}}%
+\newcommand*\tud@chapter@before@hook{}
+\newcommand*\tud@chapter@after@hook{}
+\pretocmd\scr@startchapter{%
+ \tud@chapter@before@hook%
+}{}{\tud@patch@wrn{scr@startchapter}}
+\apptocmd\scr@@startchapter{%
+ \tud@chapter@after@hook%
+}{}{\tud@patch@wrn{scr@@startchapter}}
+\apptocmd\scr@@startschapter{%
+ \tud@chapter@after@hook%
+}{}{\tud@patch@wrn{scr@@startschapter}}
+\At@startsection{%
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{%
+ \renewcommand*\tud@section@fontcolor{HKS41}%
}%
- }{}%
+ \fi%
}
-\newcommand*\tud@sectioning@reset[2][]{%
- \tud@cmd@restore{#2}%
- \ifblank{#1}{}{\tud@cmd@restore{#1}}%
- \tud@font@koma@unset{#2}%
+\newcommand*\tud@sectionlinesformat[4]{%
+ \@hangfrom{\hskip #2#3}{\tud@sec@format[#1]{#4}}%
}
-\robustify{\footnote}
-\newcommand*\tud@sectioning@uppercase[1]{%
- \begingroup%
- \if@tud@symbolheadings%
- \let\c@footnote\c@symbolheadings%
- \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}%
- \fi%
- \tud@makeuppercase{#1}%
- \endgroup%
+\newcommand*\tud@sectioncatchphraseformat[4]{%
+ \let\tud@sec@strut\relax%
+ \hskip #2#3\tud@sec@format[#1]{#4}%
}
%%% From File: tudscr-title.dtx
\newkomafont{thesis}{%
@@ -5532,10 +6645,11 @@
\tud@thesis@fontsize%
}
\newkomafont{titlepage}{%
- \usekomafont{subject}%
+ \raggedtitle%
+ \sffamily%
\mdseries%
- \large%
- \tud@raggedright%
+ \usesizeofkomafont{subsection}%
+ \tud@color{\tud@title@fontcolor}%
}
\robustify{\thanks}
\robustify{\footnotemark}
@@ -5543,27 +6657,52 @@
\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
\begingroup%
+ \cleardoublepage%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title@num\relax% false
- \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
+ \ifcase\tud@cd@title@num\relax% false
+ \if@titlepageiscoverpage%
+ \tud@cover@fixmargins%
+ \fi%
+ \ifx\tud@title@pagenumber\relax%
+ \tud@cs@use{maketitle}%
+ \else%
+ \tud@cs@use{maketitle}[\tud@title@pagenumber]%
+ \fi%
\tud@if@tudheadings{\currentpagestyle}{%
\ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
}{}%
\else% !false
\if@tud@parameter@ps@font@set\else%
- \TUDoptions{cdfont=true}%
+ \if@tud@cdfont@active\else%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdfont=heavy}%
+ \else%
+ \TUDoptions{cdfont=true}%
+ \fi%
+ \fi%
\fi%
\if@titlepage%
- \tud@make@titlepage%
+ \tud@maketitle@page%
\else%
- \tud@make@titlehead%
+ \tud@maketitle@inpage%
\fi%
\fi%
\endgroup%
\setcounter{footnote}{0}%
\global\let\and\relax%
}
+\TUD@parameter@family{title}{%
+ \TUD@parameter@def{titlepage}[true]{\KOMAoption{titlepage}{#1}}%
+ \TUD@parameter@def{titlesignature}[true]{\TUDoption{titlesignature}{#1}}%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+ \TUD@parameter@let{cd}{cdtitle}%
+ \TUD@parameter@def{cdgeometry}[true]{\TUDoption{cdgeometry}{#1}}%
+ \TUD@parameter@ps@def{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\tud@cs@store{maketitle}
+\let\maketitle\tud@maketitle
\patchcmd{\titlepage}{\thispagestyle{empty}}{%
\tud@if@tudheadings{\currentpagestyle}{%
\thispagestyle{empty.tudheadings}%
@@ -5571,19 +6710,10 @@
\thispagestyle{empty}%
}%
}{}{\tud@patch@wrn{titlepage}}
-\tud@cmd@store{maketitle}
-\let\maketitle\tud@maketitle
-\TUD@parameter@family{title}{%
- \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
- \TUD@parameter@let{cd}{cdtitle}%
- \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
- \TUD@parameter@ps@def{#1}%
- \TUD@parameter@handler@value{pagenumber}%
-}
\newcommand*\tud@titleback{}
-\newcommand*\tud@make@titlepage{%
+\newcommand*\tud@maketitle@page{%
\renewcommand*\tud@title@fontcolor{}%
- \ifcase\tud@layout@title@num\relax\or\or% litecolor
+ \ifcase\tud@cd@title@num\relax\or\or% litecolor
\renewcommand*\tud@title@fontcolor{HKS41}%
\or% barcolor
\renewcommand*\tud@title@fontcolor{HKS41}%
@@ -5595,11 +6725,12 @@
\renewcommand*\tud@title@fontcolor{HKS41!30}%
\fi%
\begin{titlepage}%
- \tud@layout@specialpage@set{title}%
+ \tud@cd@specialpage@set{title}%
\ifx\tud@title@pagenumber\relax\else%
\setcounter{page}{\tud@title@pagenumber}%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
+ \addtokomafont{footnote}{\sffamily}%
\let\footnotesize\small%
\let\footnoterule\relax%
\let\footnote\thanks%
@@ -5614,6 +6745,10 @@
possible with an extra title. Alternatively you can\MessageBreak%
create a cover with `\string\makecover'%
}%
+ \@titlepageiscoverpagefalse%
+ \fi%
+ \ifx\@frontispiece\@empty\else%
+ \if@twoside\null\fi%
\fi%
\else%
\if@titlepageiscoverpage%
@@ -5626,65 +6761,36 @@
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
\begingroup%
- \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
- \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
- -\coverpagerightmargin\relax%
- \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
- -\coverpagebottommargin\relax%
- \headheight=0pt%
- \headsep=0pt%
- \footskip=\baselineskip%
- \@colht=\textheight%
- \@colroom=\textheight%
- \vsize=\textheight%
- \columnwidth=\textwidth%
- \hsize=\columnwidth%
- \linewidth=\hsize%
+ \tud@cover@setmargins%
\else%
\let\titlepage@restore\relax%
\fi%
- \noindent\@extratitle\next@tdpage%
+ \noindent\@extratitle%
+ \fi%
+ \next@tpage%
+ \ifx\@frontispiece\@empty\else%
+ \noindent\@frontispiece%
\fi%
+ \next@tdpage%
\fi%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
+ \tud@cd@headstartvskip%
\TUD@deprecated@lengthcs{pageheadingsvskip}%
\vspace*{\tud@dim@pageheadingsvskip}%
+ \tud@cd@vphantom%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \begingroup%
- \usekomafont{titlepage}%
- \setlength\@tempdima{\z@}%
- \ifx\@titlehead\@empty\else%
- \sbox\z@{\vbox{%
- \begin{minipage}[t]{\textwidth}%
- {\usekomafont{titlehead}{\@titlehead\par\null}}%
- \end{minipage}\newline\null%
- }}%
- \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
- \fi%
- \tud@thesis@tosubject%
- \ifx\@subject\@empty\else%
- \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
- \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
- \fi%
- \vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
- \ifx\@subject\@empty\else\usebox\@ne\par\fi%
- {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ {\usekomafont{titlepage}{%
+ \tud@maketitle@head%
+ {\usekomafont{title}{\tud@title@format{\@title}\par}}%
\ifx\@subtitle\@empty\else%
- \vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ {\usekomafont{partnumber}{\nobreak\tud@sec@strut}}%
+ {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}%
\fi%
- \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
\let\tud@split@author@do\tud@split@author@title%
\tud@multiple@split{@author}\par%
\vskip 2ex\@plus1ex\@minus1ex%
\ifx\@thesis\@empty%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\ifx\@date\@empty\else%
\vskip 2ex\@plus.1fill%
{\usekomafont{date}{\tud@date@print\par}}%
@@ -5694,28 +6800,26 @@
\else%
\vskip 2ex\@plus.25fill%
\if@tud@subjectthesis\else%
- {\usekomafont{thesis}{\tud@title@uppercase{\@thesis}\par}}%
+ {\usekomafont{thesis}{\tud@title@format{\@thesis}\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\ifx\@graduation\@empty\else%
\def\@tempc{%
\@graduation%
- \ifx\@@graduation\@empty\else\nobreakspace\@@graduation\fi%
+ \ifx\@graduationabbreviation\@empty\else%
+ \nobreakspace\@graduationabbreviation%
+ \fi%
}%
{\usekomafont{titlepage}{\graduationtext\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
- \if@tud@subjectthesis%
- {\usekomafont{subject}{\@tempc\par}}%
- \else%
- {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}%
- \fi%
+ \vskip 2.5ex\@plus1ex\@minus1ex%
+ {\usekomafont{thesis}{\tud@title@format{\@tempc}\par}}%
\vskip 3ex\@plus1ex\@minus1ex%
\fi%
\fi%
\vskip 2ex\@plus.5fill%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\tud@title@names{referee}%
\tud@title@names{advisor}%
\tud@title@names{supervisor}%
@@ -5734,13 +6838,19 @@
\fi%
\fi%
\fi%
+ \if@tud@titlesignature%
+ \let\tud@split@@author@do\tud@split@author@signature%
+ \vskip\tud@len@signatureskip\noindent%
+ \tud@ifin@and{\@@author}{}{\hfill}%
+ \tud@multiple@split{@@author}%
+ \fi%
\fi%
\ifx\@publishers\@empty\else%
\vskip 2ex\@plus.25fill%
{\usekomafont{publishers}{\@publishers\par}}%
\vskip\z@\@plus.25fill%
\fi%
- \endgroup%
+ }}%
\let\tud@titleback\relax%
\if@twoside%
\@tempswatrue%
@@ -5763,28 +6873,26 @@
\fi%
\def\@tempa{%
\renewcommand*\tud@pagecolor{}%
- \ifcase\tud@layout@title@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
+ \ifcase\tud@cd@title@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% color
\renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% full
\renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
\tud@color{\tud@title@fontcolor}%
- \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
- \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\thispagestyle{empty.tudheadings}%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
}%
- \if@tud@cover%
+ \if@tud@coverpage%
\begingroup%
\@tempa%
\cleardoubleemptypage%
@@ -5807,9 +6915,9 @@
\fi%
\end{titlepage}%
}
-\newcommand*\tud@make@titlehead{%
+\newcommand*\tud@maketitle@inpage{%
\renewcommand*\tud@title@fontcolor{}%
- \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifcase\tud@cd@title@num\relax\or\else% *color
\ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
\fi%
\par%
@@ -5827,58 +6935,42 @@
\let\@oldmakefnmark\@makefnmark%
\renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
\next@tdpage%
- \@tempswafalse%
+ \def\tud@res@a##1{##1}%
\if@twocolumn\ifnum\col@number>\@ne\relax%
- \@tempswatrue%
+ \def\tud@res@a##1{\twocolumn[{##1}]}%
\fi\fi%
- \if@tempswa%
- \ifx\@extratitle\@empty\else%
- \twocolumn[\@makeextratitle]\next@tdpage%
- \fi%
- \twocolumn[\tud@make@@titlehead]%
+ \ifx\@extratitle\@empty%
+ \ifx\@frontispiece\@empty\else%
+ \if@twoside\null\fi%
+ \fi
\else%
- \ifx\@extratitle\@empty\else%
- \@makeextratitle\next@tdpage%
- \fi%
- \tud@make@@titlehead%
+ \tud@res@a{\@makeextratitle}%
+ \fi%
+ \next@tpage%
+ \ifx\@frontispiece\@empty\else%
+ \tud@res@a{\@makefrontispiece}%
\fi%
+ \next@tdpage%
+ \tud@res@a{\tud@maketitle@@inpage}%
\ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
\@thanks%
\endgroup%
}
-\newcommand*\tud@make@@titlehead{%
+\newcommand*\tud@maketitle@@inpage{%
\global\@topnum=\z@%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
+ \tud@cd@headstartvskip%
\TUD@deprecated@lengthcs{headingsvskip}%
\vspace*{\tud@dim@headingsvskip}%
+ \tud@cd@vphantom%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \begingroup%
- \usekomafont{titlepage}%
+ {\usekomafont{titlepage}{%
\tud@x@hyperref@realfootnotes%
- \setlength\@tempdima{\z@}%
- \ifx\@titlehead\@empty\else%
- \sbox\z@{\vbox{%
- \begin{minipage}[t]{\textwidth}%
- {\usekomafont{titlehead}{\@titlehead\par\null}}%
- \end{minipage}\newline\null%
- }}%
- \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
- \fi%
\TUDoptions{subjectthesis=true}%
- \tud@thesis@tosubject%
- \ifx\@subject\@empty\else%
- \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
- \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
- \fi%
- \vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
- \ifx\@subject\@empty\else\usebox\@ne\par\fi%
- {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ \tud@maketitle@head%
+ {\usekomafont{title}{\tud@title@format{\@title}\par}}%
\ifx\@subtitle\@empty\else%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}%
\fi%
\vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
@@ -5908,20 +7000,48 @@
}%
\fi%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
+ }}%
+}
+\newcommand*\tud@maketitle@head{%
+ \setbox\z@\vbox{%
+ \ifx\@titlehead\@empty\else%
+ {\usekomafont{titlehead}{%
+ \begin{minipage}[t]{\textwidth}%
+ \@titlehead\tud@sec@strut%
+ \end{minipage}%
+ }}%
+ \fi%
+ \tud@thesis@tosubject%
+ \ifx\@subject\@empty\else%
+ \par\medskip%
+ {\usekomafont{subject}{%
+ \@subject\tud@sec@strut%
+ }}%
+ \fi%
+ }%
+ \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
+ \ifdim\@tempdima>\z@\relax%
+ \vskip\dimexpr-\@tempdima-\p@-\medskipamount\relax%
+ \usebox\z@\par\medskip%
+ \fi%
}
-\newcommand*\tud@title@uppercase[1]{%
- \let\@tempa\relax%
+\newcommand*\tud@title@format[1]{%
\begingroup%
\let\\\newline%
- \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\tud@thanks\relax%
+ \def\thanks##1{\gdef\tud@thanks{##1}}%
\let\footnote\thanks%
\sbox\z@{#1}%
\let\thanks\@gobble%
\let\footnote\@gobble%
- \tud@makeuppercase{#1}%
- \endgroup%
- \ifx\@tempa\relax\else\thanks\@tempa\fi%
+ \tud@sec@format{#1}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \ifx\tud@thanks\relax\else%
+ \noexpand\thanks{\expandonce\tud@thanks}%
+ \fi%
+ }%
+ \tud@res@a%
}
\newcommand*\tud@thesis@tosubject{%
\if@tud@subjectthesis\ifx\@thesis\@empty\else%
@@ -5955,13 +7075,20 @@
\newcommand*\tud@newline@title{}
\newcommand*\tud@split@author@title[2]{%
\tud@multiple@fields@store{@author}{#1}%
- \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}%
- {\usekomafont{author}{\ignorespaces#1\unskip}}%
- \if@tud@cover\else%
+ \renewcommand*\tud@newline@title{%
+ \vskip .5ex\strut%
+ \def\tud@newline@title{\newline\strut}%
+ }%
+ {\usekomafont{author}{\ignorespaces#1\strut\unskip}}%
+ \if@tud@coverpage\else%
\ifx\@authormore\@empty\else%
\tud@newline@title%
\@authormore%
\fi%
+ \ifx\@emailaddress\@empty\else%
+ \tud@newline@title%
+ \@emailaddress%
+ \fi%
\ifx\@dateofbirth\@empty\else%
\if@titlepage%
\tud@newline@title%
@@ -5991,7 +7118,7 @@
\@tempc{matriculationyear}%
\fi%
\tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{#2}{\vskip 2ex}%
+ \tud@multiple@@@split{#2}{\vskip 1.5ex}%
}
\newcommand*\tud@title@wrn[1]{%
\ClassWarning{\TUD@Class@Name}{%
@@ -5999,6 +7126,17 @@
activated titlepage option%
}%
}
+\newcommand*\tud@split@author@signature[2]{%
+ \tud@multiple@fields@store{@author}{#1}%
+ \vbox{%
+ \hsize=.3\textwidth%
+ \centering%
+ \rule{.3\textwidth}{.05pt}\newline%
+ \ignorespaces#1\strut\unskip%
+ }%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{#2}{\hfill}%
+}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
\if@titlepage%
@@ -6056,7 +7194,7 @@
\fi%
}{}%
}
-\newif\if@tud@cover
+\newif\if@tud@coverpage
\newcommand*\makecover[1][]{%
\if@titlepageiscoverpage%
\ClassWarning{\TUD@Class@Name}{%
@@ -6074,102 +7212,149 @@
\let\thanks\@gobble%
\let\footnote\@gobble%
\TUD@parameter@set{cover}{#1}%
- \let\tud@layout@title@num\tud@layout@cover@num%
- \tud@layout@process%
+ \let\tud@cd@title@num\tud@cd@cover@num%
+ \tud@cd@process%
+ \ifcase\tud@cd@cover@num\relax% false
+ \tud@locked@bool@preset{@tud@cdgeometry@cover}{false}%
+ \@tud@coverpagefalse%
+ \else% !false
+ \tud@locked@bool@preset{@tud@cdgeometry@cover}{true}%
+ \@tud@coverpagetrue%
+ \fi%
+ \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
+ \@titlepagetrue%
+ \let\@extratitle\@empty%
+ \let\@frontispiece\@empty%
+ \let\@uppertitleback\@empty%
+ \let\@lowertitleback\@empty%
+ \let\@dedication\@empty%
\if@tud@cdgeometry@cover%
- \let\coverpagetopmargin\tud@len@slimmargin%
- \let\coverpagebottommargin\tud@len@widemargin%
- \let\coverpageleftmargin\tud@len@widemargin%
- \let\coverpagerightmargin\tud@len@slimmargin%
+ \if@tud@coverpage%
+ \def\coverpagetopmargin{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax%
+ }%
+ \else%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagetopmargin{.5\tud@len@both}%
+ }{%
+ \def\coverpagetopmargin{\tud@len@slimmargin}%
+ }%
+ \fi%
\tud@if@v@lower{2.03}{%
- \def\coverpagetopmargin{.5\tud@len@both}%
\def\coverpagebottommargin{.5\tud@len@both}%
- }{}%
+ }{%
+ \def\coverpagebottommargin{\tud@len@widemargin}%
+ }%
+ \def\coverpageleftmargin{\tud@len@widemargin}%
+ \def\coverpagerightmargin{\tud@len@slimmargin}%
\fi%
- \ifcase\tud@layout@cover@num\relax% false
- \KOMAoptions{titlepage=firstiscover}%
- \let\@extratitle\@empty%
- \let\@uppertitleback\@empty%
- \let\@lowertitleback\@empty%
- \let\@dedication\@empty%
- \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
- \else% !false
- \@tud@covertrue%
- \@titlepagetrue%
+ \if@tud@coverpage%
\edef\titlepage@restore{%
\noexpand\endgroup%
\noexpand\global\noexpand\@colht\the\@colht%
\noexpand\global\noexpand\@colroom\the\@colroom%
\noexpand\global\vsize\the\vsize%
+ \noexpand\global\noexpand\@titlepageiscoverpagefalse%
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
\begingroup%
- \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
- -\coverpagerightmargin\relax%
- \headheight=0pt%
- \headsep=0pt%
- \footskip=\dimexpr\tud@len@footsep+\footheight\relax%
- \tud@if@v@lower{2.03}{%
- \footskip=\dimexpr\tud@len@headsep+\footheight%
- -1.25\baselineskip\relax%
- }{}%
- \if@tud@cdgeometry@cover%
- \def\coverpagetopmargin{%
- \dimexpr\tud@len@topmargin+\tud@len@barheight%
- +\tud@len@headsep\relax%
- }%
- \else%
- \topmargin=\dimexpr\tud@len@topmargin+\tud@len@barheight%
- +\tud@len@headsep-1in\relax%
- \def\@tempa{2\dimexpr\coverpagetopmargin\relax}%
- \ifx\@tempa\coverpagebottommargin\relax%
- \let\coverpagebottommargin\tud@len@widemargin%
- \tud@if@v@lower{2.03}{%
- \def\coverpagebottommargin{.5\tud@len@both}%
- }{}%
- \fi%
- \fi%
- \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
- -\coverpagebottommargin-\tud@dim@extrabottommargin\relax%
- \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
- \@colht=\textheight%
- \@colroom=\textheight%
- \vsize=\textheight%
- \columnwidth=\textwidth%
- \hsize=\columnwidth%
- \linewidth=\hsize%
+ \tud@cover@setmargins%
\tud@len@areavskip=\z@%
- \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
\tud@maketitle%
\clearpage%
\titlepage@restore%
+ \else%
+ \@titlepageiscoverpagetrue%
+ \tud@cover@fixmargins%
+ \ifx\tud@title@pagenumber\relax%
+ \tud@cs@use{maketitle}%
+ \else%
+ \tud@cs@use{maketitle}[\tud@title@pagenumber]%
+ \fi%
\fi%
\endgroup%
}
-\bool@lock{@tud@cdgeometry@cover}
+\tud@locked@newbool{@tud@cdgeometry@cover}
\TUD@parameter@family{cover}{%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
\TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
\TUD@parameter@let{cd}{cdcover}%
\TUD@parameter@def{cdgeometry}[true]{%
- \ifstrbool{#1}{%
- \bool@set@lock{@tud@cdgeometry@cover}{true}%
- }{%
- \bool@set@lock{@tud@cdgeometry@cover}{false}%
- }{%
- \ifstr{#1}{custom}{\bool@set@lock{@tud@cdgeometry@cover}{false}}{%
- \ifstr{#1}{user}{\bool@set@lock{@tud@cdgeometry@cover}{false}}{%
- \TUD@parameter@error{cdgeometry}{true, false}%
- }%
- }%
- }%
+ \TUDoption{cdgeometry}{#1}%
+ \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
+ \tud@locked@bool@set{@tud@cdgeometry@cover}{true}%
+ \else%
+ \tud@locked@bool@set{@tud@cdgeometry@cover}{false}%
+ \fi%
}%
- \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
\TUD@parameter@ps@def{#1}%
\TUD@parameter@handler@value{pagenumber}%
}
+\renewcommand*{\coverpagetopmargin}{%
+ \if@tud@coverpage%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep\relax%
+ \else%
+ \dimexpr\topmargin+1in\relax%
+ \fi%
+}
+\renewcommand*{\coverpagebottommargin}{%
+ \if@tud@coverpage%
+ \dimexpr\tud@len@widemargin\relax%
+ \else%
+ 2\dimexpr\coverpagetopmargin\relax%
+ \fi%
+}
+\newcommand*\tud@cover@fixmargins{%
+ \begingroup%
+ \tud@cdgeometry@assignlayout%
+ \tud@x@geometry@fixmargins%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagebottommargin-\tud@len@layoutvoffset
+ +\paperheight-\tud@len@layoutheight\relax%
+ }%
+ \edef\coverpagebottommargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagetopmargin+\tud@len@layoutvoffset\relax%
+ }%
+ \edef\coverpagetopmargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagerightmargin-\tud@len@layouthoffset
+ +\paperwidth-\tud@len@layoutwidth\relax%
+ }%
+ \edef\coverpagerightmargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpageleftmargin+\tud@len@layouthoffset\relax%
+ }%
+ \edef\coverpageleftmargin{\the\@tempdima}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \def\noexpand\coverpagetopmargin{\coverpagetopmargin}%
+ \def\noexpand\coverpagebottommargin{\coverpagebottommargin}%
+ \def\noexpand\coverpageleftmargin{\coverpageleftmargin}%
+ \def\noexpand\coverpagerightmargin{\coverpagerightmargin}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cover@setmargins{%
+ \tud@cover@fixmargins%
+ \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
+ \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ -\coverpagerightmargin\relax%
+ \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ -\coverpagebottommargin\relax%
+ \headheight=0pt%
+ \headsep=0pt%
+ \footskip=\baselineskip%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
+}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@check[2]{%
\global\let\tud@fm@set\tud@fm@first%
@@ -6212,6 +7397,7 @@
}%
\let\clearpage\relax%
\sbox\z@{\vbox{#2}}%
+ \csuse{phantomsection}%
\protected@edef\@tempa{%
\noexpand\endgroup%
\noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{%
@@ -6224,11 +7410,11 @@
}{%
\ClassWarning{\TUD@Class@Name}{%
It isn't possible to use `#1=single'\MessageBreak%
- or `#1=chapter'
+ or `#1=chapter'\space%
with `#1=tocmultiple'%
}%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@#1@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@#1@toc@num}{%
\the\numexpr\csuse{tud@#1@toc@num}-2\relax%
}%
}%
@@ -6391,7 +7577,7 @@
]
\TUD@parameter@family{abstract}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
\TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
@@ -6450,7 +7636,7 @@
]
\TUD@parameter@family{declaration}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
\TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
@@ -6556,32 +7742,6 @@
\tud@fm@body@end{declaration}%
}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@cs[2]{%
- \AtBeginDocument{%
- \ifcsundef{#1}{%
- \expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\TUD@Class@Name}{%
- The command `\@backslashchar#1' is deprecated\MessageBreak%
- It's recommended to use `\@backslashchar#2' instead%
- }%
- \csletcs{#1}{#2}%
- \csuse{#2}%
- }%
- }{}%
- }%
-}
-\newcommand*\TUD@deprecated@lengthcs[2][]{%
- \ifdim\csuse{#2}<\maxdimen\relax%
- \ClassWarning{\TUD@Class@Name}{%
- Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
- You should use option `#2' instead%
- }%
- \csxdef{tud@dim@#2}{\the\csuse{#2}}%
- \expandafter\setlength\csname #2\endcsname{\maxdimen}%
- \global\csuse{#2}=\csuse{#2}%
- #1%
- \fi%
-}
\newlength\footlogoheight
\setlength\footlogoheight{\maxdimen}
\newlength\pageheadingsvskip
@@ -6606,67 +7766,43 @@
\TUD@deprecated@cs{finaldate}{duedate}%
\TUD@deprecated@cs{maturitydate}{duedate}%
}
-\AtEndOfClass%
-{%
- \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
-}
-%%% From File: tudscr-misc.dtx
-\newcommand*\tud@atdocument@hook{}
-\let\tud@atdocument@hook\relax
-\AtBeginDocument{%
- \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
- \ifx\tud@atdocument@hook\relax%
- \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
- \AtEndOfFamilyOptions{%
- \tud@atdocument@hook%
- \tud@atdocument@process%
- }%
- \fi%
- \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
- }%
-}
-\newif\if@tud@font@set
-\newif\if@tud@font@math@set
-\newif\if@tud@font@skip@set
-\newif\if@tud@x@scr@headings@reset
-\newif\if@tud@layout@process
-\newif\if@tud@cdgeometry@process
-\newif\if@tud@cdgeometry@@process
-\newcommand*\tud@atdocument@process{%
- \if@tud@font@set%
- \tud@font@set%
- \global\@tud@font@setfalse%
- \global\@tud@font@math@setfalse%
- \global\@tud@font@skip@setfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@font@math@set%
- \tud@font@math@set%
- \global\@tud@font@math@setfalse%
- \fi%
- \if@tud@font@skip@set%
- \tud@font@skip@set%
- \global\@tud@font@skip@setfalse%
- \fi%
- \if@tud@x@scr@headings@reset%
- \tud@x@scr@headings@reset%
- \global\@tud@x@scr@headings@resetfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@layout@process%
- \tud@layout@process%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@cdgeometry@process%
- \tud@cdgeometry@process%
- \global\@tud@cdgeometry@processfalse%
- \global\@tud@cdgeometry@@processfalse%
- \fi%
- \if@tud@cdgeometry@@process%
- \tud@cdgeometry@@process%
- \global\@tud@cdgeometry@@processfalse%
+\TUD@deprecated@cs{textcdfont}{textcd}%
+\TUD@deprecated@cs{tudfont}{cdfont}%
+\TUD@deprecated@cs{univln}{cdfontln}%
+\TUD@deprecated@cs{univrn}{cdfontrn}%
+\TUD@deprecated@cs{univbn}{cdfontsn}%
+\TUD@deprecated@cs{univxn}{cdfontbn}%
+\TUD@deprecated@cs{univls}{cdfontli}%
+\TUD@deprecated@cs{univrs}{cdfontri}%
+\TUD@deprecated@cs{univbs}{cdfontsi}%
+\TUD@deprecated@cs{univxs}{cdfontbi}%
+\TUD@deprecated@cs{textuln}{textcdln}%
+\TUD@deprecated@cs{texturn}{textcdrn}%
+\TUD@deprecated@cs{textubn}{textcdsn}%
+\TUD@deprecated@cs{textuxn}{textcdbn}%
+\TUD@deprecated@cs{textuls}{textcdli}%
+\TUD@deprecated@cs{texturs}{textcdri}%
+\TUD@deprecated@cs{textubs}{textcdsi}%
+\TUD@deprecated@cs{textuxs}{textcdbi}%
+\TUD@deprecated@cs{dinbn}{cdfontxn}%
+\TUD@deprecated@cs{textdbn}{textcdxn}%
+\TUD@deprecated@cs{ifdin}{@secondoftwo}
+\newrobustcmd*\tud@ifdin{%
+ \ifx\f@family\tud@cdfont@db%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
\fi%
}
+\if@tud@cdoldfont@active
+ \newcommand*\ifdin{}%
+ \let\ifdin\tud@ifdin%
+\fi
+\def\tud@res@a#1{%
+ \TUD@deprecated@cs{var#1}{it#1}%
+}
+\tud@math@loop@greeks@uc\tud@res@a%
+%%% From File: tudscr-misc.dtx
\newcommand*\tudbookmark[1][]{\@gobbletwo}
\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
@@ -6693,7 +7829,10 @@
}
\apptocmd{\titlepage}{%
\tud@x@bookmark@startatroot%
- \if@tud@cover%
+ \@tud@res@swafalse%
+ \if@tud@coverpage\@tud@res@swatrue\fi%
+ \if@titlepageiscoverpage\@tud@res@swatrue\fi%
+ \if@tud@res@swa%
\tudbookmark[%
0%
]{\coverpagename}{cover}%
@@ -6703,12 +7842,12 @@
]{\titlepagename}{title}%
\fi%
}{}{\tud@patch@wrn{titlepage}}
-\pretocmd{\tud@make@titlehead}{%
+\pretocmd{\tud@maketitle@inpage}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
0%
]{\titlename}{title}%
-}{}{\tud@patch@wrn{tud@make@titlehead}}
+}{}{\tud@patch@wrn{tud@maketitle@inpage}}
\pretocmd{\@maketitle}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
@@ -6721,10 +7860,10 @@
\iftocfeature{toc}{totoc}{}{%
\if@tud@bookmarks%
\setuptoc{toc}{totoc}%
- \tud@cmd@store{addtocontents}%
+ \tud@cs@store{addtocontents}%
\def\@tempc{%
\unsettoc{toc}{totoc}%
- \tud@cmd@restore{addtocontents}%
+ \tud@cs@restore{addtocontents}%
}%
\let\addtocontents\@gobbletwo%
\fi%
@@ -6733,41 +7872,74 @@
\AfterTOCHead[toc]{\@tempc}
\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
-\BeforePackage{tocloft}{%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- It is absolutely not recommended to use package\MessageBreak%
- `tocloft'. Loading the package will certainly lead\MessageBreak%
- to problems with table of contents and any list of\MessageBreak%
- floats. You should use the appropriate options of\MessageBreak%
- the KOMA-Script classes%
- }%
+\AtBeginDocument{%
+ \if@tud@x@scr@fontsize@set\else%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth<208mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutwidth>212mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight<295mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight>299mm\relax\@tud@res@swatrue\fi%
+ \if@tud@res@swa%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ You've set a layout size, which is different from\MessageBreak%
+ default (paper=a4, paper=portrait). Therefore you\MessageBreak%
+ should additionally specify an explicit font size.\MessageBreak%
+ See the manual for further information%
+ }%
+ \fi%
+ \fi%
}
-\CheckCommand*\@uclcnotmath[4]{%
- \begingroup
- #1%
- \def\({$}\let\)\(%
- \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}%
- \@nonchangecase\label
- \@nonchangecase\ref
- \@nonchangecase\ensuremath
- \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}%
- \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\reserved@a##1##2{\let#2\reserved@a}%
- \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \protected@edef\reserved@a{%
- \endgroup
- \noexpand\@skipmath#3#4$\valign$%
- }%
- \reserved@a%
-}
-\newcommand*\tud@x@textcase@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@x@textcase@uclcnotmath%
-}{}{\tud@patch@wrn{@uclcnotmath}}
+\newif\if@tud@font@set
+\newif\if@tud@math@set
+\newif\if@tud@font@skip@set
+\newif\if@tud@x@scr@headings@reset
+\newif\if@tud@cd@process
+\newif\if@tud@cdgeometry@process
+\newcommand*\tud@atdocument@process{%
+ \if@tud@font@set%
+ \tud@font@set%
+ \global\@tud@font@setfalse%
+ \global\@tud@font@skip@setfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@font@skip@set%
+ \tud@font@skip@set%
+ \global\@tud@font@skip@setfalse%
+ \fi%
+ \if@tud@math@set%
+ \tud@math@set%
+ \global\@tud@math@setfalse%
+ \fi%
+ \if@tud@x@scr@headings@reset%
+ \tud@x@scr@headings@reset%
+ \global\@tud@x@scr@headings@resetfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cd@process%
+ \tud@cd@process%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cdgeometry@process%
+ \tud@cdgeometry@process%
+ \global\@tud@cdgeometry@processfalse%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \RequirePackage{textcase}[2004/10/07]
+ \AfterPackage*{textcase}{%
+ \robustify\NoCaseChange%
+ \newcommand*\tud@x@textcase@uclcnotmath{%
+ \@nonchangecase\hologo%
+ \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@x@textcase@uclcnotmath%
+ }{}{\tud@patch@wrn{@uclcnotmath}}%
+ }%
+\fi
+\TUD@deprecated@cs{NoCaseChange}{@firstofone}
\endinput
%%
%% End of file `tudscrbook.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
index 55aa55ea44e..eae446a4c59 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
@@ -9,9 +9,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -37,7 +37,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -52,20 +52,26 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-color.dtx
\ProvidesPackage{tudscrcolor}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(corporate design colors)%
]
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty
index bc41bf5a6f6..dc03271c268 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty
@@ -12,9 +12,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -40,7 +40,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -55,7 +55,7 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
@@ -66,18 +66,24 @@
This package can only be used with a class out of the\MessageBreak%
tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
}%
- \endinput
+ \endinput%
\fi
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-comp.dtx
\ProvidesPackage{tudscrcomp-book}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(compatibility for old tud(scr) classes)%
]
@@ -114,6 +120,8 @@
}
%%% From File: tudscr-misc.dtx
\DeclareOption*{\TUDoptions{\CurrentOption}}
+\TUDExecuteOptions{%
+}
\TUDProcessOptions\relax
%%% From File: tudscr-comp.dtx
\newcommand*\einrichtung{\faculty}
@@ -161,7 +169,7 @@
\global\@tud@comp@chapterpagetrue%
\tud@comp@chapterpage@wrn%
}
-\newcommand*\tud@comp@chapterpage@set[1][]{%
+\newcommand*\tud@comp@chapterpage@set{%
\if@tud@comp@chapterpage%
\if@tud@chapterpage%
\TUDoptions{chapterpage=false}%
@@ -170,7 +178,7 @@
\fi%
\fi%
}
-\newcommand*\tud@comp@chapterpage@unset[1][]{%
+\newcommand*\tud@comp@chapterpage@unset{%
\tud@comp@chapterpage@set%
\global\@tud@comp@chapterpagefalse%
}
@@ -184,22 +192,10 @@
}
\AtEndPreamble{%
\if@chapter%
- \pretocmd{\tud@chapter}{\tud@comp@chapterpage@set}%
- {}{\tud@patch@wrn{tud@chapter}}%
- \apptocmd{\tud@chapter}{\tud@comp@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@chapter}}%
- \pretocmd{\tud@schapter}{\tud@comp@chapterpage@set}%
- {}{\tud@patch@wrn{tud@schapter}}%
- \apptocmd{\tud@schapter}{\tud@comp@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@schapter}}%
- \pretocmd{\tud@addchap}{\tud@comp@chapterpage@set}%
- {}{\tud@patch@wrn{tud@addchap}}%
- \apptocmd{\tud@addchap}{\tud@comp@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@addchap}}%
- \pretocmd{\tud@saddchap}{\tud@comp@chapterpage@set}%
- {}{\tud@patch@wrn{tud@saddchap}}%
- \apptocmd{\tud@saddchap}{\tud@comp@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@saddchap}}%
+ \pretocmd{\tud@chapter@pre}{\tud@comp@chapterpage@set}%
+ {}{\tud@patch@wrn{tud@chapter@pre}}%
+ \apptocmd{\tud@chapter@app}{\tud@comp@chapterpage@unset}%
+ {}{\tud@patch@wrn{tud@chapter@app}}%
\fi%
}
\endinput
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty
index 8903b9ca9c2..3298f5038f1 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty
@@ -12,9 +12,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -40,7 +40,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -55,7 +55,7 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
@@ -66,18 +66,24 @@
This package can only be used with a class out of the\MessageBreak%
tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
}%
- \endinput
+ \endinput%
\fi
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-comp.dtx
\ProvidesPackage{tudscrcomp-poster}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(compatibility for old tud(scr) classes)%
]
@@ -86,9 +92,9 @@
\TUD@set@ifkey{bluebg}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUDoptions{backgroundcolor=true}%
+ \TUDoptions{backcolor=true}%
\else%
- \TUDoptions{backgroundcolor=false}%
+ \TUDoptions{backcolor=false}%
\fi%
\fi%
}
@@ -126,6 +132,8 @@
}
%%% From File: tudscr-misc.dtx
\DeclareOption*{\TUDoptions{\CurrentOption}}
+\TUDExecuteOptions{%
+}
\TUDProcessOptions\relax
%%% From File: tudscr-comp.dtx
\newcommand*\einrichtung{\faculty}
@@ -170,7 +178,7 @@
}
\newcommand*\drittlogofile[1]{%
\PackageWarning{tudscrcomp}{%
- Nothing happened, you should use \string\footlogo\MessageBreak
+ Nothing happened, you should use \string\footlogo\MessageBreak%
instead. Please see the documentation of \string\footlogo\MessageBreak%
and option `ddc' or `ddcfoot'%
}%
@@ -183,8 +191,6 @@
`ddc' or `ddcfoot'%
}%
}
-\newcounter{topsection}
-\let\c@topsection\c@section
\newcommand*\topsectionnumdepth{\sectionnumdepth}
\newcommand*\scr@topsection@sectionindent{\scr@section@sectionindent}
\newcommand*\scr@topsection@beforeskip{\scr@section@beforeskip}
@@ -195,11 +201,10 @@
\newcommand*\l@topsection{\l@section}
\DeclareNewSectionCommand[%
style=section,%
- font={\usekomafont{section}},
+ font={\usekomafont{section}},%
beforeskip=\z@,%
]{topsection}
-\newcounter{topsubsection}
-\let\c@topsubsection\c@subsection
+\let\c@topsection\c@section
\newcommand*\topsubsectionnumdepth{\subsectionnumdepth}
\newcommand*\scr@topsubsection@sectionindent{\scr@subsection@sectionindent}
\newcommand*\scr@topsubsection@beforeskip{\scr@subsection@beforeskip}
@@ -210,9 +215,10 @@
\newcommand*\l@topsubsection{\l@subsection}
\DeclareNewSectionCommand[%
style=section,%
- font={\usekomafont{subsection}},
+ font={\usekomafont{subsection}},%
beforeskip=\z@,%
]{topsubsection}
+\let\c@topsubsection\c@subsection
\newcommand*\centersection[2][\@nil]{%
\tud@comp@centersection{section}{#1}{#2}%
}
@@ -226,21 +232,21 @@
\tud@comp@centersection{topsubsection}{#1}{#2}%
}
\newcommand*\tud@comp@centersection[3]{%
- \tud@cmd@store{raggedsection}%
+ \tud@cs@store{raggedsection}%
\let\raggedsection\centering%
\ifx#2\@nil\relax%
\csuse{#1}{#3}%
\else%
\csuse{#1}[#2]{#3}%
\fi%
- \tud@cmd@restore{raggedsection}%
+ \tud@cs@restore{raggedsection}%
}
\newcommand\sectiontopskip{\scr@section@beforeskip}
\newcommand\subsectiontopskip{\scr@subsection@beforeskip}
\setcounter{secnumdepth}{\m@ne}
\newcommand*\fusszeile[2][]{\footcontent[#1]{#2}}
\newcommand*\footcolumn[2]{%
- \ifxnumber{#1}{%
+ \ifnumber{#1}{%
\ifcase#1\relax%
\footcontent{#2}%
\or%
@@ -314,20 +320,20 @@
\newcommand*\grautabelle{\@tud@comp@graytabletrue}
\newenvironment{farbtabellen}{%
\if@tud@comp@graytable%
- \rowcolors{1}{HKS92!20}{HKS92!10}
+ \rowcolors{1}{HKS92!20}{HKS92!10}%
\else%
\rowcolors{1}{HKS41!20}{HKS41!10}%
\fi%
}{}
\ifundef{\schnittrand}{}{%
- \ifxlen{\schnittrand}{%
+ \ifisdimension{\schnittrand}{%
\edef\@tempa{%
paperwidth=\the\dimexpr\paperwidth+\schnittrand*2\relax,%
paperheight=\the\dimexpr\paperheight+\schnittrand*2\relax,%
layout=\the\paperwidth:\the\paperheight,%
layoutoffset=\the\dimexpr\schnittrand\relax,%
showcrop%
- }
+ }%
\expandafter\geometry\expandafter{\@tempa}%
}{%
\PackageErrorNoLine{tudscrcomp}{%
@@ -335,8 +341,8 @@
}{%
The definition of `\string\schnittrand' does not expand to\MessageBreak%
a valid dimension expression.%
- }
- }
+ }%
+ }%
}%
\AtEndPreamble{%
\RequirePackage{amsmath}[2016/06/28]%
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
index 3e213f5bb6d..51ea2c321cf 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
@@ -9,9 +9,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -37,7 +37,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -52,7 +52,7 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
@@ -63,18 +63,24 @@
This package can only be used with a class out of the\MessageBreak%
tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
}%
- \endinput
+ \endinput%
\fi
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-comp.dtx
\ProvidesPackage{tudscrcomp}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(compatibility for old tud(scr) classes)%
]
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
index da4040ec3f7..3e22dac627f 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
@@ -5,18 +5,18 @@
%% The original source files were:
%%
%% tudscr-version.dtx (with options: `class,doc')
-%% tudscr-base.dtx (with options: `class,doc')
+%% tudscr-base.dtx (with options: `class,doc,load')
%% tudscr-doc.dtx (with options: `class,doc,option')
-%% tudscr-locale.dtx (with options: `class,doc')
+%% tudscr-localization.dtx (with options: `class,doc')
%% tudscr-manual.dtx (with options: `class,doc')
%% tudscr-doc.dtx (with options: `class,doc,body')
%% tudscr-texindy.dtx (with options: `class,doc')
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -42,7 +42,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -57,13 +57,13 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\newcommand*\TUD@ProvidesClass[3]{%
\ProvidesClass{#1}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
^^J#3 (#2)%
]%
\newcommand*\TUD@Class@KOMA{#2}%
@@ -73,66 +73,60 @@
\fi%
}
\providecommand*\TUD@Class@Info{%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{+------------------------------------------------------------------}%
\typeout{| Corporate Design of Technische Universitaet Dresden}%
- \typeout{| Class: \TUD@Class@Name}%
- \typeout{| Version: \TUD@Version}%
- \typeout{| Author: Falk Hanisch (\tudscrmail)}%
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{| Class: \TUD@Class@Name}%
+ \typeout{| Version: \TUD@Version}%
+ \typeout{| Author: Falk Hanisch (\tudscrmail)}%
+ \typeout{| Repository: https://github.com/tud-cd/tudscr}%
+ \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}%
+ \typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesClass{tudscrdoc}{scrartcl}{source code documentation class}
\edef\TUDScriptClassName{\TUD@Class@Name}
\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
-\RequirePackage{scrlfile}[2013/12/19]
-\RequirePackage{etoolbox}[2011/01/03]
-\newcommand*\tud@reserved{}
-\newcommand*\eaddto@hook[2]{%
- \expandafter\addto@hook\expandafter#1\expandafter{#2}%
-}
-\BeforePackage{tudscrbase}{%
- \undef\tud@reserved%
- \undef\eaddto@hook%
-}
-\newcommand*\TUD@UnwindPackage[2]{\AtEndPreamble{\@ifpackageloaded{#1}{}{#2}}}
-\BeforePackage{tudscrbase}{\undef\TUD@UnwindPackage}
+\RequirePackage{tudscrbase}[\TUD@Version]
+\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}}
+\AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions}
%%% From File: tudscr-doc.dtx
\newcommand*\scr@maketitle{}%
-\PassOptionsToClass{toc=left}{scrartcl}%
+\PassOptionsToClass{toc=left,fontsize=10pt}{scrartcl}%
\AfterClass{scrartcl}{\let\scr@maketitle\@maketitle}%
\newcommand*\sd@saved@LoadClass{}
\let\sd@saved@LoadClass=\LoadClass
\renewcommand*\LoadClass[2][]{%
- \begingroup
+ \begingroup%
\edef\@tempc{#2}\def\@tempb{article}%
- \ifx\@tempc\@tempb
- \let\LoadClass\sd@saved@LoadClass
+ \ifx\@tempc\@tempb%
+ \let\LoadClass\sd@saved@LoadClass%
\def\@tempc{scrartcl}%
- \fi
+ \fi%
\edef\@tempc{%
\noexpand\endgroup\noexpand\sd@saved@LoadClass[{#1}]{\@tempc}}%
- \@tempc
+ \@tempc%
}
\newcommand*\sd@saved@PassOptionsToClass{}
\let\sd@saved@PassOptionsToClass=\PassOptionsToClass
\renewcommand*\PassOptionsToClass[2]{%
- \begingroup
+ \begingroup%
\edef\@tempc{#2}\def\@tempb{article}%
- \ifx\@tempc\@tempb
+ \ifx\@tempc\@tempb%
\def\@tempc{scrartcl}%
- \fi
+ \fi%
\edef\@tempc{%
\noexpand\endgroup\noexpand\sd@saved@PassOptionsToClass{#1}{%
\@tempc}}%
- \@tempc
+ \@tempc%
}
\LoadClassWithOptions{ltxdoc}[2015/03/26]
\setcounter{IndexColumns}{2}
@@ -144,8 +138,8 @@
\ProcessOptions\relax
\newcommand*\DisableCrossrefsForced{}
\let\DisableCrossrefsForced\DisableCrossrefs
-%%% From File: tudscr-locale.dtx
-\newcommand*\tud@locale@define[1]{%
+%%% From File: tudscr-localization.dtx
+\newcommand*\tud@localization@define[1]{%
\providecommand*#1{%
\ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
@@ -159,65 +153,65 @@
}%
}%
}
-\tud@locale@define{\tud@general@name}
-\tud@locale@define{\tud@implementation@name}
-\tud@locale@define{\tud@changes@name}
-\tud@locale@define{\tud@todo@name}
-\tud@locale@define{\tud@environment@name}
-\tud@locale@define{\tud@environments@name}
-\tud@locale@define{\tud@option@name}
-\tud@locale@define{\tud@options@name}
-\tud@locale@define{\tud@layerpagestyle@name}
-\tud@locale@define{\tud@layerpagestyles@name}
-\tud@locale@define{\tud@layer@name}
-\tud@locale@define{\tud@layers@name}
-\tud@locale@define{\tud@length@name}
-\tud@locale@define{\tud@lengths@name}
-\tud@locale@define{\tud@counter@name}
-\tud@locale@define{\tud@counters@name}
-\tud@locale@define{\tud@TUDcolor@name}
-\tud@locale@define{\tud@TUDcolors@name}
-\tud@locale@define{\tud@locale@name}
-\tud@locale@define{\tud@locales@name}
-\tud@locale@define{\tud@field@name}
-\tud@locale@define{\tud@fields@name}
-\tud@locale@define{\tud@KOMAfont@name}
-\tud@locale@define{\tud@KOMAfonts@name}
-\tud@locale@define{\tud@parameter@name}
-\tud@locale@define{\tud@parameters@name}
-\tud@locale@define{\tud@index@text}
-\newcommand*\tud@locale@german{%
+\tud@localization@define{\tud@general@name}
+\tud@localization@define{\tud@implementation@name}
+\tud@localization@define{\tud@changes@name}
+\tud@localization@define{\tud@todo@name}
+\tud@localization@define{\tud@environment@name}
+\tud@localization@define{\tud@environments@name}
+\tud@localization@define{\tud@option@name}
+\tud@localization@define{\tud@options@name}
+\tud@localization@define{\tud@layerpagestyle@name}
+\tud@localization@define{\tud@layerpagestyles@name}
+\tud@localization@define{\tud@layer@name}
+\tud@localization@define{\tud@layers@name}
+\tud@localization@define{\tud@length@name}
+\tud@localization@define{\tud@lengths@name}
+\tud@localization@define{\tud@counter@name}
+\tud@localization@define{\tud@counters@name}
+\tud@localization@define{\tud@TUDcolor@name}
+\tud@localization@define{\tud@TUDcolors@name}
+\tud@localization@define{\tud@localization@name}
+\tud@localization@define{\tud@localizations@name}
+\tud@localization@define{\tud@field@name}
+\tud@localization@define{\tud@fields@name}
+\tud@localization@define{\tud@KOMAfont@name}
+\tud@localization@define{\tud@KOMAfonts@name}
+\tud@localization@define{\tud@parameter@name}
+\tud@localization@define{\tud@parameters@name}
+\tud@localization@define{\tud@index@text}
+\newcommand*\tud@localization@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
-\tud@locale@german{\tud@general@name}{Allgemein}%
-\tud@locale@german{\tud@implementation@name}{Implementierung}%
-\tud@locale@german{\tud@changes@name}{\"Anderungsliste}
-\tud@locale@german{\tud@todo@name}{Liste der noch zu erledigenden Punkte}
-\tud@locale@german{\tud@environment@name}{Umg.}
-\tud@locale@german{\tud@environments@name}{Umgebungen}
-\tud@locale@german{\tud@option@name}{Opt.}
-\tud@locale@german{\tud@options@name}{Optionen}
-\tud@locale@german{\tud@layerpagestyle@name}{Seitenstil}
-\tud@locale@german{\tud@layerpagestyles@name}{Seitenstile}
-\tud@locale@german{\tud@layer@name}{Layer}
-\tud@locale@german{\tud@layers@name}{Layer (Seitenstilebenen)}
-\tud@locale@german{\tud@length@name}{L\"ange}
-\tud@locale@german{\tud@lengths@name}{L\"angen}
-\tud@locale@german{\tud@counter@name}{Z\"ahler}
-\tud@locale@german{\tud@counters@name}{Z\"ahler}
-\tud@locale@german{\tud@TUDcolor@name}{Farbe}
-\tud@locale@german{\tud@TUDcolors@name}{Farben}
-\tud@locale@german{\tud@locale@name}{Lok.}
-\tud@locale@german{\tud@locales@name}{Lokalisierungsvariablen}
-\tud@locale@german{\tud@field@name}{Feld}
-\tud@locale@german{\tud@fields@name}{Eingabefelder}
-\tud@locale@german{\tud@KOMAfont@name}{Schriftel.}
-\tud@locale@german{\tud@KOMAfonts@name}{Schriftelemente}
-\tud@locale@german{\tud@parameter@name}{Param.}
-\tud@locale@german{\tud@parameters@name}{Parameter}
-\tud@locale@german{\tud@index@text}{%
+\tud@localization@german{\tud@general@name}{Allgemein}%
+\tud@localization@german{\tud@implementation@name}{Implementierung}%
+\tud@localization@german{\tud@changes@name}{\"Anderungsliste}
+\tud@localization@german{\tud@todo@name}{Liste der noch zu erledigenden Punkte}
+\tud@localization@german{\tud@environment@name}{Umg.}
+\tud@localization@german{\tud@environments@name}{Umgebungen}
+\tud@localization@german{\tud@option@name}{Opt.}
+\tud@localization@german{\tud@options@name}{Optionen}
+\tud@localization@german{\tud@layerpagestyle@name}{Seitenstil}
+\tud@localization@german{\tud@layerpagestyles@name}{Seitenstile}
+\tud@localization@german{\tud@layer@name}{Layer}
+\tud@localization@german{\tud@layers@name}{Layer (Seitenstilebenen)}
+\tud@localization@german{\tud@length@name}{L\"ange}
+\tud@localization@german{\tud@lengths@name}{L\"angen}
+\tud@localization@german{\tud@counter@name}{Z\"ahler}
+\tud@localization@german{\tud@counters@name}{Z\"ahler}
+\tud@localization@german{\tud@TUDcolor@name}{Farbe}
+\tud@localization@german{\tud@TUDcolors@name}{Farben}
+\tud@localization@german{\tud@localization@name}{Lok.}
+\tud@localization@german{\tud@localizations@name}{Lokalisierungsmakros}
+\tud@localization@german{\tud@field@name}{Feld}
+\tud@localization@german{\tud@fields@name}{Eingabefelder}
+\tud@localization@german{\tud@KOMAfont@name}{Schriftel.}
+\tud@localization@german{\tud@KOMAfonts@name}{Schriftelemente}
+\tud@localization@german{\tud@parameter@name}{Param.}
+\tud@localization@german{\tud@parameters@name}{Parameter}
+\tud@localization@german{\tud@index@text}{%
Kursive Zahlen entsprechen der Seite, auf welcher der korrespondierende
Eintrag beschrieben wird. Unterstrichene Zahlen verweisen auf die
\ifcodeline@index Codezeile der \fi Definition.
@@ -227,38 +221,38 @@
wo der jeweilige Eintrag verwendet wird.
\fi%
}
-\newcommand*\tud@locale@english{%
+\newcommand*\tud@localization@english{%
\providecaptionname{%
american,australian,british,canadian,english,newzealand,UKenglish,USenglish%
}%
}
-\tud@locale@english{\tud@general@name}{General}%
-\tud@locale@english{\tud@implementation@name}{Implementation}%
-\tud@locale@english{\tud@changes@name}{Change History}
-\tud@locale@english{\tud@todo@name}{List of ToDos}
-\tud@locale@english{\tud@environment@name}{env.}
-\tud@locale@english{\tud@environments@name}{environments}
-\tud@locale@english{\tud@option@name}{opt.}
-\tud@locale@english{\tud@options@name}{options}
-\tud@locale@english{\tud@layerpagestyle@name}{pagestyle}
-\tud@locale@english{\tud@layerpagestyles@name}{pagestyles}
-\tud@locale@english{\tud@layer@name}{layer}
-\tud@locale@english{\tud@layers@name}{layers (pagestyle)}
-\tud@locale@english{\tud@length@name}{length}
-\tud@locale@english{\tud@lengths@name}{lengths}
-\tud@locale@english{\tud@counter@name}{counter}
-\tud@locale@english{\tud@counters@name}{counters}
-\tud@locale@english{\tud@TUDcolor@name}{color}
-\tud@locale@english{\tud@TUDcolors@name}{colors}
-\tud@locale@english{\tud@locale@name}{locale}
-\tud@locale@english{\tud@locales@name}{locales}
-\tud@locale@english{\tud@field@name}{field}
-\tud@locale@english{\tud@fields@name}{input fields}
-\tud@locale@english{\tud@KOMAfont@name}{font}
-\tud@locale@english{\tud@KOMAfonts@name}{font elements}
-\tud@locale@english{\tud@parameter@name}{param.}
-\tud@locale@english{\tud@parameters@name}{parameters}
-\tud@locale@english{\tud@index@text}{%
+\tud@localization@english{\tud@general@name}{General}%
+\tud@localization@english{\tud@implementation@name}{Implementation}%
+\tud@localization@english{\tud@changes@name}{Change History}
+\tud@localization@english{\tud@todo@name}{List of ToDos}
+\tud@localization@english{\tud@environment@name}{env.}
+\tud@localization@english{\tud@environments@name}{environments}
+\tud@localization@english{\tud@option@name}{opt.}
+\tud@localization@english{\tud@options@name}{options}
+\tud@localization@english{\tud@layerpagestyle@name}{pagestyle}
+\tud@localization@english{\tud@layerpagestyles@name}{pagestyles}
+\tud@localization@english{\tud@layer@name}{layer}
+\tud@localization@english{\tud@layers@name}{layers (pagestyle)}
+\tud@localization@english{\tud@length@name}{length}
+\tud@localization@english{\tud@lengths@name}{lengths}
+\tud@localization@english{\tud@counter@name}{counter}
+\tud@localization@english{\tud@counters@name}{counters}
+\tud@localization@english{\tud@TUDcolor@name}{color}
+\tud@localization@english{\tud@TUDcolors@name}{colors}
+\tud@localization@english{\tud@localization@name}{localization}
+\tud@localization@english{\tud@localizations@name}{localizations}
+\tud@localization@english{\tud@field@name}{field}
+\tud@localization@english{\tud@fields@name}{input fields}
+\tud@localization@english{\tud@KOMAfont@name}{font}
+\tud@localization@english{\tud@KOMAfonts@name}{font elements}
+\tud@localization@english{\tud@parameter@name}{param.}
+\tud@localization@english{\tud@parameters@name}{parameters}
+\tud@localization@english{\tud@index@text}{%
Numbers written in italic refer to the page where the corresponding entry is
described. Numbers underlined refer to the
\ifcodeline@index code line of the \fi definition.
@@ -281,6 +275,7 @@
\renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
}{}%
}
+\RequirePackage{shellesc}[2016/06/07]
\RequirePackage{pdftexcmds}[2016/05/21]
\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref}
\PassOptionsToPackage{open,openlevel=0}{bookmark}
@@ -325,7 +320,7 @@
\providecommand*\hypersource@ref@codeline[2][]{}
\providecommand*\hypersource@ref@page[2][]{}
}
-\TUD@UnwindPackage{trimspaces}{\providecommand*\trim@spaces[1]{#1}}
+\RequirePackage{trimspaces}[2009/09/17]
\newcommand*\hrfn[2]{%
\href{#1}{\trim@spaces{#2}}%
\footnote{%
@@ -342,7 +337,7 @@
\let\bbl@info\@gobble\csname HyPsd@babel@%
}{}{\tud@patch@wrn{pdfstringdef}}%
}
-\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
+\RequirePackage{csquotes}[2011/10/22]
\newcommand*\tud@replace[3]{%
\begingroup%
\toks@{\def\@tempa##1}%
@@ -390,11 +385,19 @@
\def\KOMAScript{KOMA-Script}%
}%
}
-\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace}
-\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace}
+\DeclareTextFontCommand\tud@cdfont@texteb{%
+ \fontfamily{\tud@cdfont@fam}\fontseries{\tud@cdfont@ebf}\selectfont%
+}
+\newrobustcmd*\OpenSans{%
+ \texorpdfstring{\tud@cdfont@texteb{Open~Sans}}{Open Sans}\xspace%
+}
+\newrobustcmd*\Univers{\texorpdfstring{\textcdbi{Univers}}{Univers}\xspace}
+\newrobustcmd*\DIN{\texorpdfstring{\textcdxi{DIN~Bold}}{DIN Bold}\xspace}
+\renewcommand*\@pnumwidth{2.1em}%
+\renewcommand*\@tocrmarg{3.1em}%
%%% From File: tudscr-doc.dtx
\RequirePackage{dox}[2010/12/16]
-\@ifpackagelater{dox}{2017/01/27}{%
+\@ifpackagelater{dox}{2017/12/07}{%
\ClassWarning{\TUD@Class@Name}{%
Package `dox' was updated so some patches\MessageBreak%
are maybe outdated%
@@ -578,9 +581,9 @@
\CheckCommand*\@doxcreatespecialmainindex[3]{%
\expandafter\def\csname SpecialMain#1Index\endcsname##1{%
\@bsphack%
- \special@index{##1\actualchar{\string\ttfamily\space##1} (#2)
+ \special@index{##1\actualchar{\string\ttfamily\space##1} (#2)%
\encapchar main}%
- \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1}
+ \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1}%
\encapchar main}%
\@esphack%
}%
@@ -640,7 +643,7 @@
\expandafter\def\csname Special#1Index\endcsname##1{%
\@bsphack%
\index{##1\actualchar{\protect\ttfamily##1} (#2)\encapchar usage}%
- \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1}
+ \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1}%
\encapchar usage}%
\@esphack%
}%
@@ -663,24 +666,24 @@
}%
}
\def\@doxcreatemacrolikeprintname#1#2{%
- \@ifundefined{Print#1Name}{%
+ \ifcsundef{Print#1Name}{%
\expandafter\def\csname Print#1Name\endcsname##1{%
\MacroFont\string##1\index@type{#2}\strut\ %
}%
}{}%
- \@ifundefined{PrintDescribe#1}{%
+ \ifcsundef{PrintDescribe#1}{%
\expandafter\def\csname PrintDescribe#1\endcsname##1{%
\MacroFont\string##1\index@type{#2}\strut\ %
}%
}{}%
}
\def\@doxcreateprintname#1#2{%
- \@ifundefined{Print#1Name}{%
+ \ifcsundef{Print#1Name}{%
\expandafter\def\csname Print#1Name\endcsname##1{%
\MacroFont##1\index@type{#2}\strut\ %
}%
}{}%
- \@ifundefined{PrintDescribe#1}{%
+ \ifcsundef{PrintDescribe#1}{%
\expandafter\def\csname PrintDescribe#1\endcsname##1{%
\MacroFont##1\index@type{#2}\strut\ %
}%
@@ -728,7 +731,7 @@
\tud@reserved[macrolike]{Length}{length}
\tud@reserved{Counter}{counter}
\tud@reserved{Color}{TUDcolor}
-\tud@reserved[macrolike]{Locale}{locale}
+\tud@reserved[macrolike]{Localization}{localization}
\tud@reserved[macrolike]{Field}{field}
\tud@reserved{Font}{KOMAfont}
\tud@reserved{Parameter}{parameter}
@@ -1007,14 +1010,14 @@
}%
}
\ifdefined\tudxdyflag
- \newcommand*\tud@write@replace{}
- \newwrite\tud@write@replace
- \newcommand*\tud@read@replace{}
- \newread\tud@read@replace
- \def\actualchar{<|1|>}
- \def\quotechar{<|2|>}
- \def\levelchar{<|3|>}
- \begingroup
+ \newcommand*\tud@write@replace{}%
+ \newwrite\tud@write@replace%
+ \newcommand*\tud@read@replace{}%
+ \newread\tud@read@replace%
+ \def\actualchar{<|1|>}%
+ \def\quotechar{<|2|>}%
+ \def\levelchar{<|3|>}%
+ \begingroup%
\endlinechar=\m@ne\relax%
\def\tud@reserved#1#2{%
\IfFileExists{\jobname.#1}{%
@@ -1046,7 +1049,7 @@
\immediate\closeout\tud@write@replace%
\ifnum\pdf@shellescape=\@ne\relax%
\if@tempswa%
- \immediate\write18{%
+ \ShellEscape{%
texindy\space%
-o \jobname.#2\space%
-M \@currname-#2.xdy\space%
@@ -1062,13 +1065,13 @@
}%
\tud@reserved{idx}{ind}%
\tud@reserved{glo}{gls}%
- \endgroup
+ \endgroup%
\else
\ifnum\pdf@shellescape=\@ne\relax%
- \immediate\write18{%
+ \ShellEscape{%
makeindex -s gglo.ist -t \jobname.glg -o \jobname.gls \jobname.glo%
}%
- \immediate\write18{%
+ \ShellEscape{%
makeindex -s gind.ist -t \jobname.ilg -o \jobname.ind \jobname.idx%
}%
\fi%
@@ -1139,33 +1142,7 @@
\endgroup%
\fi%
}
-\newcommand*\calculatearea{%
- \setlength\topmargin{-1in}%
- \setlength\headheight{0pt}%
- \setlength\headsep{3em}%
- \setlength\footskip{1.5\headsep}%
- \setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}%
- \settowidth\MacroIndent{\rmfamily\scriptsize 0000\ }%
- \begingroup%
- \MacroFont\selectfont%
- \settowidth\@tempdima{\space}%
- \setlength\@tempdima{80\@tempdima}%
- \addtolength\@tempdima{\MacroIndent}%
- \edef\@tempa{%
- \endgroup%
- \noexpand\setlength\noexpand\textwidth{\the\@tempdima}%
- }%
- \@tempa%
- \setlength\columnsep{1em}%
- \setlength\marginparsep{1em}%
- \setlength\marginparwidth{%
- \dimexpr\paperwidth-\textwidth-2\marginparsep\relax%
- }%
- \setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}%
-}
-\AtEndPreamble{\calculatearea}
-\AfterPackage{tudscrfonts}{%
- \RequirePackage{mweights}[2013/07/21]%
+\AfterPackage{mweights}{%
\CheckCommand*\MacroFont{%
\fontencoding\encodingdefault%
\fontfamily\ttdefault%
@@ -1194,18 +1171,49 @@
\fontshape\sldefault%
\small%
}%
- \newcommand*\saved@calculatearea{}%
- \let\saved@calculatearea\calculatearea%
- \let\calculatearea\relax%
- \appto\tud@font@set{%
- \ifcase\tud@cdfont@num\relax\else% true/heavy
- \def\mdseries@tt{m}%
- \renewcommand*\@pnumwidth{1.7em}%
- \renewcommand*\@tocrmarg{2.7em}%
+ \AtEndPreamble{%
+ \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
+ }%
+}
+\PassOptionsToPackage{ttfont=lmtt}{tudscrfonts}
+\AfterPackage{tudscrfonts}{%
+ \AtEndPreamble{%
+ \ifnum\tud@ttfont@num>\z@\relax%
+ \edef\mdseries@tt{\tud@ttfont@bf}%
\fi%
- \saved@calculatearea%
}%
}
+\newcommand*\tud@setarea{%
+ \setlength\topmargin{-1in}%
+ \setlength\headheight{0pt}%
+ \setlength\headsep{3em}%
+ \setlength\footskip{1.5\headsep}%
+ \setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
+ \settowidth\MacroIndent{\rmfamily\scriptsize 0000\ }%
+ \begingroup%
+ \MacroFont\selectfont%
+ \settowidth\@tempdima{\space}%
+ \setlength\@tempdima{80\@tempdima}%
+ \addtolength\@tempdima{\MacroIndent}%
+ \edef\@tempa{%
+ \endgroup%
+ \noexpand\setlength\noexpand\textwidth{\the\@tempdima}%
+ }%
+ \@tempa%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
+ \setlength\columnsep{1em}%
+ \setlength\marginparsep{1em}%
+ \setlength\marginparwidth{%
+ \dimexpr\paperwidth-\textwidth-2\marginparsep\relax%
+ }%
+ \setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}%
+}
+\AtBeginDocument{\tud@setarea}
\newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}}
\newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}}
\newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}}
@@ -1242,16 +1250,16 @@
}%
\@ifpackageloaded{tudscrfonts}{}{%
\RequirePackage{lmodern}[2009/10/30]%
- \providecommand*\ifdin[2]{#2}%
- \providecommand*\textuln[1]{\textsf{#1}}%
- \providecommand*\texturn[1]{\textuln{#1}}%
- \providecommand*\textubn[1]{\textbf{\textuln{#1}}}%
- \providecommand*\textuxn[1]{\textubn{#1}}%
- \providecommand*\textuls[1]{\textsl{\textuln{#1}}}%
- \providecommand*\texturs[1]{\textuls{#1}}%
- \providecommand*\textubs[1]{\textbf{\textuls{#1}}}%
- \providecommand*\textuxs[1]{\textubs{#1}}%
- \providecommand*\textdbn[1]{\textubn{#1}}%
+ \providecommand*\textcdln[1]{\textsf{#1}}%
+ \providecommand*\textcdrn[1]{\textcdln{#1}}%
+ \providecommand*\textcdsn[1]{\textcdln{#1}}%
+ \providecommand*\textcdbn[1]{\textbf{\textcdln{#1}}}%
+ \providecommand*\textcdxn[1]{\textcdbn{#1}}%
+ \providecommand*\textcdli[1]{\textsl{\textcdln{#1}}}%
+ \providecommand*\textcdri[1]{\textcdli{#1}}%
+ \providecommand*\textcdsi[1]{\textcdli{#1}}%
+ \providecommand*\textcdbi[1]{\textbf{\textcdli{#1}}}%
+ \providecommand*\textcdxi[1]{\textcdbi{#1}}%
}%
}
%%% From File: tudscr-texindy.dtx
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
index 7334e177025..bf4626eaa72 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
@@ -8,6 +8,7 @@
%% tudscr-fonts.dtx (with options: `package,fonts,identify')
%% tudscr-base.dtx (with options: `package,fonts,load')
%% tudscr-fonts.dtx (with options: `package,fonts,option')
+%% tudscr-misc.dtx (with options: `package,fonts,option')
%% tudscr-comp.dtx (with options: `package,fonts,option')
%% tudscr-misc.dtx (with options: `package,fonts,execute')
%% tudscr-fonts.dtx (with options: `package,fonts,body')
@@ -16,9 +17,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -44,7 +45,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -59,20 +60,26 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-fonts.dtx
\ProvidesPackage{tudscrfonts}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(corporate design fonts)%
]
@@ -88,36 +95,22 @@
}{}%
}%
\if@tempswa%
- \@ifpackageloaded{fix-tudscrfonts}{}{%
- \PackageWarning{tudscrfonts}{%
- As you loaded class `\@tempb', you should\MessageBreak%
- load `fix-tudscrfonts' before the class\MessageBreak%
- with `\string\RequirePackage'%
- }%
+ \@ifpackageloaded{fix-tudscrfonts}{}{%
+ \PackageWarning{tudscrfonts}{%
+ As you loaded class `\@tempb', you should\MessageBreak%
+ load `fix-tudscrfonts' before the class\MessageBreak%
+ with `\string\RequirePackage'%
}%
+ }%
\fi%
%%% From File: tudscr-base.dtx
\RequirePackage{tudscrbase}[\TUD@Version]
%%% From File: tudscr-fonts.dtx
-\newif\if@tud@x@fontspec@enabled
-\AfterPackage*{fontspec}{%
- \@ifpackagelater{fontspec}{2017/01/24}{%
- \@tud@x@fontspec@enabledtrue%
- }{%
- \@tud@x@fontspec@enabledfalse%
- \PackageWarningNoLine{tudscrfonts}%
- {%
- Version `2017/01/24' of package `fontspec' is needed,\MessageBreak
- but only version\MessageBreak
- `\csname ver@fontspec.sty\endcsname'\MessageBreak
- is available, so a fallback layout is used%
- }%
- }%
-}
-\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@active
+\newif\if@tud@cdfont@heavy
\newif\if@tud@cdfont@ultrabold
-\@tud@cdfont@dintrue
-\newcommand*\tud@cdfont@num{1}
+\newif\if@tud@cdfont@lining
+\@tud@cdfont@liningtrue
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@bool@numkey,%
@@ -126,81 +119,176 @@
{normalbold}{3},{boldnormal}{3},%
{ultrabold}{4},{boldultra}{4},{heavybold}{4},{boldheavy}{4},%
{extendedbold}{4},{boldextended}{4},%
- {nodin}{5},{nodinbold}{5},{noDIN}{5},{noDINBold}{5},%
- {din}{6},{dinbold}{6},{DIN}{6},{DINBold}{6},%
- {nomath}{10},{nocdmath}{10},%
- {serifmath}{10},{serif}{10},{nosansmath}{10},{nosans}{10},%
- {math}{11},{cdmath}{11},{sansmath}{11},{sans}{11},%
- {upgreek}{12},{upright}{12},{uprightgreek}{12},{uprightGreek}{12},%
- {slgreek}{13},{slanted}{13},{slantedgreek}{13},{slantedGreek}{13},%
- {fontspec}{14},{luatex}{14},{lualatex}{14}{xetex}{14},{xelatex}{14},%
- {nofontspec}{15},{nfss}{15},{pdftex}{15},{pdflatex}{15}%
+ {lf}{5},{lfigures}{5},{liningfigures}{5},{lining}{5},%
+ {ln}{5},{lnumbers}{5},{liningnumbers}{5},%
+ {nf}{5},{nfigures}{5},{normalfigures}{5},%
+ {nn}{5},{nnumbers}{5},{normalnumbers}{5},%
+ {osf}{6},{osfigures}{6},{oldfigures}{6},{oldstylefigures}{6},{oldstyle}{6},%
+ {osn}{6},{osnumbers}{6},{oldnumbers}{6},{oldstylenumbers}{6},%
+ {nomath}{7},{nocdmath}{7},%
+ {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},%
+ {math}{8},{cdmath}{8},{sansmath}{8},{sans}{8},%
+ {upgreek}{9},{uprightgreek}{9},{uprightgreeks}{9},%
+ {slgreek}{10},{slantedgreek}{10},{slantedgreeks}{10},%
+ {itgreek}{10},{italicgreek}{10},{italicgreeks}{10},%
+ {texgreek}{11},{latexgreek}{11},{texgreeks}{11},{latexgreeks}{11},%
+ {standardgreek}{11},{standardgreeks}{11},%
+ {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
+ {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@deactivate%
\or% true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavyfalse%
+ \tud@cdfont@activate%
\or% heavy
- \renewcommand*\tud@cdfont@num{2}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavytrue%
+ \tud@cdfont@activate%
\or% normalbold
\@tud@cdfont@ultraboldfalse%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@activate%
\or% ultrabold
\@tud@cdfont@ultraboldtrue%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \or% nodin
- \@tud@cdfont@dinfalse%
- \or% din
- \@tud@cdfont@dintrue%
- \or% nohead
- \PackageWarning{tudscrfonts}{Option `cdfont=nohead' is not available}%
- \or% head
- \PackageWarning{tudscrfonts}{Option `cdfont=head' is not available}%
- \or% heavyhead
- \PackageWarning{tudscrfonts}{Option `cdfont=heavyhead' is not available}%
+ \tud@cdfont@activate%
+ \or% liningfigures
+ \@tud@cdfont@liningtrue%
+ \tud@cdfont@activate%
+ \or% oldstylefigures
+ \@tud@cdfont@liningfalse%
+ \tud@cdfont@activate%
\or% nomath
\TUDoptions{cdmath=false}%
\or% math
\TUDoptions{cdmath=true}%
- \or% upgreek
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\or% fontspec
\TUDoptions{fontspec=true}%
\or% nofontspec
\TUDoptions{fontspec=false}%
\fi%
\else%
- \ifdimen{#1}{%
- \ifdim#1>\z@\relax%
- \TUD@KOMAoptions{fontsize=#1}%
- \csname @tud@fontsize@settrue\endcsname%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \fi%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{%
+ \ifdim\tud@res@a>\z@\relax%
+ \TUDoptions{fontsize=#1}%
+ \tud@cdfont@activate%
\FamilyKeyStateProcessed%
\fi%
}{}%
\fi%
}
+\newcommand*\tud@cdfont@activate{%
+ \@tud@cdfont@activetrue%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newcommand*\tud@cdfont@deactivate{%
+ \@tud@cdfont@activefalse%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newif\if@tud@cdoldfont@active
+\newif\if@tud@cdoldfont@nodin
+\TUD@key{cdoldfont}[true]{%
+ \TUD@set@numkey{cdoldfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@cdoldfont@activefalse%
+ \@tud@cdoldfont@nodintrue%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@deactivate%
+ \fi%
+ \or% true/din
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@activate%
+ \or% nodin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodintrue%
+ \tud@cdfont@activate%
+ \or% onlydin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@deactivate%
+ \fi%
+ \else%
+ \@tud@cdoldfont@activetrue%
+ \TUDoptions{cdfont=#1}%
+ \fi%
+}
+\AtEndOfPackage%
+{%
+ \if@tud@cdoldfont@active%
+ \let\@tud@cdoldfont@activefalse\@tud@cdoldfont@activetrue%
+ \TUD@key[.comp]{cdfont}{%
+ \TUD@set@numkey{cdfont}{@tempa}{%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUDoptions{cdoldfont=#1}%
+ \fi%
+ }%
+ \else%
+ \TUD@key{cdoldfont}[]{%
+ \PackageError{tudscrfonts}%
+ {Option `cdoldfont' not active}{%
+ Option `cdoldfont' must be activated while loading the\MessageBreak%
+ package `tudscrfonts'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \fi%
+}
+\newif\if@tud@x@scr@fontsize@set
+\TUD@key{fontsize}{%
+ \TUD@set@dimenkey{fontsize}{\@tempa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \@expandtwoargs\in@{,\CurrentOption,}{,\@globaloptionslist,}%
+ \ifin@\else%
+ \edef\tud@res@a{%
+ \noexpand\PackageWarning{tudscrfonts}%
+ {%
+ The key `\CurrentOption' should only be\MessageBreak%
+ used as class option%
+ }%
+ }%
+ \expandafter\AtEndOfPackage\expandafter{\tud@res@a}%
+ \fi
+ \@tud@x@scr@fontsize@settrue%
+ \TUD@KOMAoptions{fontsize=#1}%
+ \fi%
+}
+\AtEndOfPackage%
+{%
+ \RelaxFamilyKey{TUD}{fontsize}%
+ \DefineFamilyMember{KOMA}%
+ \DefineFamilyKey{KOMA}{fontsize}{%
+ \@tud@x@scr@fontsize@settrue%
+ \PackageWarning{tudscrfonts}%
+ {%
+ The key `fontsize=#1' should only be\MessageBreak%
+ used as class option%
+ }%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \FamilyKeyStateProcessed%
+ }%
+}
\newif\if@tud@relspacing
\TUD@key{relspacing}[true]{%
\TUD@set@numkey{relspacing}{@tempa}{%
@@ -217,56 +305,150 @@
\TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
-\DefineFamilyMember{KOMA}
-\DefineFamilyKey{KOMA}{fontsize}{%
- \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
- \FamilyKeyStateProcessed%
+\newcommand*\tud@ttfont@num{0}
+\TUD@key{ttfont}[true]{%
+ \TUD@set@numkey{ttfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {roboto}{1},{roboto-mono}{1},{robo}{1},%
+ {lm}{2},{lmtt}{2},{lmodern}{2}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@ttfont@num{0}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@num{1}%
+ \or% lmodern
+ \renewcommand*\tud@ttfont@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
}
-\bool@lock{@tud@cdmath}
-\bool@std@lock{@tud@cdmath}{true}%
+\tud@locked@newbool{@tud@cdmath@active}
+\tud@locked@bool@preset{@tud@cdmath@active}{true}%
\TUD@key{cdmath}[true]{%
\TUD@set@numkey{cdmath}{@tempa}{%
\TUD@bool@numkey,%
{serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
{sansmath}{1},{sans}{1},%
- {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
- {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ {upgreek}{2},{uprightgreek}{2},{uprightgreeks}{2},%
+ {slgreek}{3},{slantedgreek}{3},{slantedgreeks}{3},%
+ {itgreek}{3},{italicgreek}{3},{italicgreeks}{3},%
+ {texgreek}{4},{latexgreek}{4},{texgreeks}{4},{latexgreeks}{4},%
+ {standardgreek}{4},{standardgreeks}{4}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \bool@set@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \tud@locked@bool@set{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\or% true
- \bool@set@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
- \or% upgreek
+ \tud@locked@bool@set{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\fi%
\fi%
}
-\bool@lock{@tud@slantedgreek}
+\newcommand*\tud@slantedgreek@num{0}
\TUD@key{slantedgreek}[true]{%
- \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
+ \TUD@set@numkey{slantedgreek}{@tempa}{%
+ \TUD@bool@numkey,%
+ {up}{0},{upright}{0},%
+ {sl}{1},{slanted}{1},{it}{1},{italic}{1},%
+ {standard}{2},{std}{2},{tex}{2},{latex}{2},{stdgrk}{2},{stdgrks}{2},%
+ {standardgreek}{2},{standardgreeks}{2},%
+ {texgreek}{2},{latexgreek}{2},{texgreeks}{2},{latexgreeks}{2}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \bool@set@lock{@tud@slantedgreek}{#1}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \ifcase\@tempa\relax% upright
+ \renewcommand*\tud@slantedgreek@num{0}%
+ \or% slanted
+ \renewcommand*\tud@slantedgreek@num{1}%
+ \or% standard
+ \renewcommand*\tud@slantedgreek@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+\TUD@key{slantedGreeks}[true]{\TUDoptions{slantedgreek=#1}}
+\newif\if@tud@lgrgreeks
+\TUD@key{lgrgreeks}[true]{\TUD@set@ifkey{lgrgreeks}{@tud@lgrgreeks}{#1}}
+\TUD@key{lgrgreek}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreeks}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreek}[true]{\TUDoptions{lgrgreeks=#1}}
+%%% From File: tudscr-misc.dtx
+\newcommand*\tud@atdocument@hook{}
+\let\tud@atdocument@hook\relax
+\newcommand*\TUD@SpecialOptionAtDocument[1]{}
+\AfterEndPreamble{%
+ \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
+ \ifx\tud@atdocument@hook\relax%
+ \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
+ \AtEndOfFamilyOptions*{%
+ \tud@atdocument@hook%
+ \tud@atdocument@process%
+ }%
+ \fi%
+ \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
+ }%
+}
%%% From File: tudscr-comp.dtx
\newcommand*\TUD@deprecated@key[2]{%
\PackageWarning{tudscrfonts}%
{%
- The option key `#1' is deprecated\MessageBreak%
- It's recommended to use `#2'\MessageBreak%
+ The key `#1' is deprecated. It's\MessageBreak%
+ recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\newcommand*\TUD@deprecated@cs[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\AfterEndPreamble{%
+ \noexpand\TUD@deprecated@@cs{#1}{#2}%
+ }%
+ }%
+ \tud@res@a%
+}
+\newcommand*\TUD@deprecated@@cs[2]{%
+ \ifcsundef{#1}{%
+ \begingroup%
+ \def\tud@res@a{%
+ The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ }%
+ \def\tud@res@b##1@##2\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \appto\tud@res@a{%
+ You should use `\@backslashchar#2' instead%
+ }%
+ }{%
+ \appto\tud@res@a{%
+ You should not use this command. It is substituted\MessageBreak%
+ with `\@backslashchar#2' internally%
+ }%
+ }%
+ }%
+ \tud@res@b#2@\@nil%
+ \edef\tud@res@c{%
+ \endgroup%
+ \noexpand\newrobustcmd\csname #1\endcsname{%
+ \noexpand\PackageWarning{tudscrfonts}%
+ {\tud@res@a}%
+ \noexpand\csletcs{#1}{#2}%
+ \noexpand\csuse{#2}%
+ }%
+ }%
+ \tud@res@c%
+ }{}%
+}
\newcommand*\tud@v@comp{\tud@v@last}
-\TUD@key{tudscrver}[last]{%
+\TUD@key[.comp]{tudscrver}[last]{%
\tud@v@get\@tempa{#1}%
\ifcsundef{tud@v@\@tempa}{%
\PackageWarningNoLine{tudscrfonts}%
@@ -275,23 +457,25 @@
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \def\tud@v@comp{0}%
+ \renewcommand*\tud@v@comp{0}%
}{%
\PackageInfoNoLine{tudscrfonts}%
{%
- Switching compatibility level to `\@tempa'%
+ Switching compatibility level to `v\@tempa'%
}%
\edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
\FamilyKeyStateProcessed%
}
+\TUD@key{tudscrver}{\FamilyKeyStateProcessed}%
\AtEndOfPackage%
{%
+ \RelaxFamilyKey[.comp]{TUD}{tudscrver}%
\TUD@key{tudscrver}[]{%
\PackageError{tudscrfonts}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- package `tudscrfonts'
+ package `tudscrfonts'\space%
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
@@ -303,7 +487,6 @@
\csdef{tud@v@2.01a}{0}
\csdef{tud@v@2.01b}{0}
\csdef{tud@v@2.02}{0}
-\csdef{tud@v@2.02}{0}
\csdef{tud@v@2.03}{1}
\csdef{tud@v@2.03a}{1}
\csdef{tud@v@2.04}{2}
@@ -325,7 +508,8 @@
\csdef{tud@v@2.05k}{3}
\csdef{tud@v@2.05l}{3}
\csdef{tud@v@2.05m}{3}
-\csdef{tud@v@last}{3}
+\csdef{tud@v@2.06}{4}
+\csdef{tud@v@last}{4}
\newcommand*\tud@v@get[2]{%
\begingroup%
\def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
@@ -358,48 +542,16 @@
}%
\tud@reserved%
}
-\TUD@key{fontspec}[true]{%
- \PackageWarningNoLine{tudscrfonts}%
- {%
- The option key `fontspec' is deprecated\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@x@fontspec@enabled}{#1}%
-}
-\AtEndOfPackage%
-{%
- \TUD@key{fontspec}[]%
- {%
- \PackageError{tudscrfonts}%
- {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.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@x@fontspec@enabled%
- \RequirePackage{fontspec}[2017/01/24]%
- \fi%
-}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{tudfonts}[true]{%
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{heavyfont}[true]{%
@@ -412,164 +564,335 @@
\fi%
\fi%
}
-\TUD@key{din}[true]{%
- \TUD@set@ifkey{din}{@tempswa}{#1}%
+\TUD@key{sansmath}[true]{%
+ \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@deprecated@key{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
-\TUD@key{nodin}[true]{%
- \TUD@set@ifkey{nodin}{@tempswa}{#1}%
+\TUD@key{serifmath}[true]{%
+ \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@deprecated@key{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{noDIN}[true]{%
- \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
+\TUD@key{din}[true]{%
+ \TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@deprecated@key{din}{cdoldfont=din}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@deprecated@key{din=#1}{cdoldfont=nodin}%
\fi%
\fi%
}
-\TUD@key{sansmath}[true]{%
- \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
+\TUD@key{nodin}[true]{%
+ \TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@deprecated@key{nodin}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@deprecated@key{nodin=#1}{cdoldfont=din}%
\fi%
\fi%
}
-\TUD@key{serifmath}[true]{%
- \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
+\TUD@key{noDIN}[true]{%
+ \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@deprecated@key{noDIN}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}%
\fi%
\fi%
}
+\newif\if@tud@x@fontspec@requested
+\TUD@key{fontspec}[true]{%
+ \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ The key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
+ }%
+ \fi%
+}
+\AtEndOfPackage%
+{%
+ \TUD@key{fontspec}[]%
+ {%
+ \PackageError{tudscrfonts}%
+ {Option `fontspec' too late}{%
+ Option `fontspec' can only be set while loading the\MessageBreak%
+ package `tudscrfonts'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \if@tud@x@fontspec@requested%
+ \RequirePackage{fontspec}[2017/01/24]%
+ \fi%
+}
%%% From File: tudscr-misc.dtx
-\newcommand*\TUD@SpecialOptionAtDocument[1]{}
+\DeclareOption*{}
+\FamilyProcessOptions[.comp]{TUD}\relax
+\tud@if@v@lower{2.05}{%
+ \TUD@key@preset{relspacing}{false}%
+}{%
+ \TUD@key@preset{relspacing}{true}%
+}
+\tud@if@v@lower{2.06}{%
+ \TUD@key@preset{cdoldfont}{true}%
+ \TUD@key@preset{ttfont}{lmodern}%
+}{%
+ \TUD@key@preset{cdfont}{true}%
+ \TUD@key@preset{ttfont}{roboto}%
+}
\DeclareOption*{\KOMAoptions{\CurrentOption}}
+\TUDExecuteOptions{%
+}
\TUDProcessOptions\relax
%%% From File: tudscr-fonts.dtx
-\newcommand*\tud@univers{lun}
-\newif\if@tud@univers
-\newif\if@tud@universmath
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@dinbold
-\newif\if@tud@dinboldmath
-\newcommand*\tud@font@check{%
- \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
- \def\@tempb##1{%
- \if@tud@cdmath%
- \tud@font@math@missing@wrn{##1}%
+\newcommand*\tud@cdfont@wrn{\global\let\tud@cdfont@wrn\relax}
+\newcommand*\tud@cdmath@wrn{\global\let\tud@cdmath@wrn\relax}
+\newif\if@tud@x@fontspec@enabled
+\PassOptionsToPackage{no-math}{fontspec}
+\AfterPackage*{fontspec}{%
+ \@ifpackagelater{fontspec}{2017/01/24}{%
+ \@tud@x@fontspec@enabledtrue%
+ \@tud@res@swafalse%
+ \@ifpackagewith{fontspec}{no-math}{}{\@tud@res@swatrue}%
+ \@ifpackagewith{fontspec}{math}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \appto\tud@cdmath@wrn{%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ It's recommended to load package `fontspec'\MessageBreak%
+ with option `no-math', if you want to use the\MessageBreak%
+ corporate design fonts in math mode%
+ }%
+ }%
\fi%
+ }{%
+ \@tud@x@fontspec@enabledfalse%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ Version `2017/01/24' of package `fontspec' is needed,\MessageBreak%
+ but only version\MessageBreak%
+ `\csname ver@fontspec.sty\endcsname'\MessageBreak%
+ is available, so a fallback layout is used%
+ }%
}%
- \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
- \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN-Bold}}%
- \if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+}
+\AfterPackage*{unicode-math}{%
+ \appto\tud@cdmath@wrn{%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ The usage of package `unicode-math' will\MessageBreak%
+ most likely cause erroneous outputs in math mode\MessageBreak%
+ with corporate design fonts%
}%
+ }%
+}
+\TUD@RecommendPackage{mweights}[2017/03/30]%
+\newif\if@tud@x@mweights@enabled
+\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
+\newif\if@tud@cdfont@fam@exist
+\newif\if@tud@cdfont@db@exist
+\newcommand*\tud@cdfont@fam{opensans-TLF}
+\newcommand*\tud@cdfont@fam@lf{opensans-TLF}
+\newcommand*\tud@cdfont@fam@osf{opensans-TOsF}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@fam{lun}
+ \renewcommand*\tud@cdfont@fam@lf{lun}
+ \renewcommand*\tud@cdfont@fam@osf{lun}
+ \newcommand*\tud@cdfont@db{0m6}
+\fi
+\newcommand*\tud@ttfont@fam{tudtt}
+\newcommand*\tud@ttfont@rb{tudtt}
+\newcommand*\tud@ttfont@lm{lmtt}
+\newif\if@tud@ttfont@rb@exist
+\IfFileExists{roboto-mono.sty}{%
+ \@tud@ttfont@rb@existtrue%
+}{%
+ \TUD@key@preset{ttfont}{lmodern}%
+}
+\newcommand*\tud@cdfont@check{%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@@check{Univers}{%
+ Light,,Bold,Black,%
+ LightOblique,Oblique,BoldOblique,BlackOblique%
+ }{\tud@cdfont@fam@lf}{@tud@cdfont@fam@exist}%
+ \tud@cdfont@@check{DIN}{Bold}{\tud@cdfont@db}{@tud@cdfont@db@exist}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}%
+ \else%
+ \@ifpackageloaded{opensans}{%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ You should not load package `opensans'\MessageBreak%
+ manually but just use option `cdfont=true'%
+ }%
+ }{}%
+ \if@tud@cdfont@active%
+ \TUD@CheckPackage{opensans}{2019/06/20}%
+ \TUD@CheckPackage{iwona}{2005/10/03}%
+ \fi%
+ \tud@cdfont@@check{OpenSans}{%
+ Light,Regular,SemiBold,Bold,ExtraBold,%
+ LightItalic,Italic,SemiBoldItalic,BoldItalic,ExtraBoldItalic%
+ }{\tud@cdfont@fam@lf,\tud@cdfont@fam@osf}{@tud@cdfont@fam@exist}%
\fi%
+}
+\newcommand*\tud@cdfont@@check[5][-]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing{##1}{\tud@cdfont@wrn}%
+ }%
\if@tud@x@fontspec@enabled%
- \def\@tempc##1##2{%
- \IfFontExistsTF{##1}{}{%
- ##2%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \def\tud@res@b##1{\IfFontExistsTF{##1}{}{\tud@res@a{##1}}}%
+ \@for\tud@res@c:={#3}\do{%
+ \expandafter\IfArgIsEmpty\expandafter{\tud@res@c}%
+ {\tud@res@b{#2}}%
+ {\tud@res@b{#2#1\tud@res@c}}%
+ }%
+ \else%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \@tud@res@swatrue%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \if@tud@res@swa%
+ \tud@lowerstring\tud@res@b{##1}%
+ \edef\tud@res@b{\tud@res@b##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
\fi%
- }%
+ \if@tud@res@swa%
+ \edef\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \if@tud@res@swa%
+ \noexpand\tud@res@a{\tud@res@b}%
+ \fi%
+ }%
+ \tud@res@a%
}%
- \@tud@universtrue%
- \@tempc{Univers Light}{\@tud@universfalse}%
- \@tempc{Univers}{\@tud@universfalse}%
- \@tempc{Univers Bold}{\@tud@universfalse}%
- \@tempc{Univers Black}{\@tud@universfalse}%
- \@tempc{Univers LightOblique}{\@tud@universfalse}%
- \@tempc{Univers Oblique}{\@tud@universfalse}%
- \@tempc{Univers BoldOblique}{\@tud@universfalse}%
- \@tempc{Univers BlackOblique}{\@tud@universfalse}%
- \@tud@dinboldtrue%
- \@tempc{DIN-Bold}{\@tud@dinboldfalse}%
+ \@for\tud@res@c:={#4}\do{\tud@res@b{\encodingdefault}{\tud@res@c}}%
+ \fi%
+ \if@tud@res@swa%
+ \booltrue{#5}%
\else%
- \def\@tempc##1{%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \boolfalse{#5}%
+ \fi%
+}
+\newcommand*\tud@cdfont@@@check[2]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1##2{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing[##1]{##2}{\tud@cdmath@wrn}%
+ }%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\IfFileExists{\tud@res@b}{}{%
+ \noexpand\tud@res@a{##1}{\tud@res@b}%
+ }%
+ }%
+ \tud@res@a%
+ }%
+ \@for\tud@res@c:={#1}\do{\tud@res@b{\tud@res@c}{#2}}%
+ \if@tud@res@swa\else%
+ \AtBeginDocument{%
+ \if@tud@cdmath@active%
+ \PackageWarning{tudscrfonts}%
+ {%
+ Some math font encodings are missing.\MessageBreak%
+ The option `cdmath=false' is executed. You should\MessageBreak%
+ either use this option by yourself or install\MessageBreak%
+ all necessary fonts with a installation script\MessageBreak%
+ listed in the manual
+ }%
\fi%
+ \TUDoptions{cdmath=false}%
}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN-Bold}}%
\fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- }%
- \undef\tud@font@check%
}
-\newcommand*\tud@font@missing@wrn[1]{%
+\newcommand*\tud@cdfont@missing[3][\encodingdefault]{%
\begingroup%
- \def\@tempa{%
- `#1' font not found for `\encodingdefault' encoding.\MessageBreak%
+ \def\tud@res@a{%
+ `#2' font\MessageBreak%
+ not found for `#1' encoding.\MessageBreak%
}%
\if@tud@x@fontspec@enabled%
- \appto\@tempa{%
- It seems, you haven't installed the required\MessageBreak%
- OTF-font on your system%
- }%
- \else%
- \ifstr{TU}{\encodingdefault}{%
- \appto\@tempa{%
- You should load package `fontspec'\MessageBreak%
- or %
+ \ifstr{\encodingdefault}{#1}{%
+ \appto\tud@res@a{%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. You should provide\MessageBreak%
+ the fonts manually to your OS\MessageBreak%
+ \if@tud@cdoldfont@active\else%
+ or install package `opensans'\MessageBreak%
+ \fi%
}%
- }{%
- \appto\@tempa{Please }%
+ }{}%
+ \else%
+ \if@tud@cdoldfont@active%
+ \def\tud@res@b{T1,OT1,OMS,OML}%
+ \else%
+ \def\tud@res@b{T1,OT1,T2A,T2B,T2C,X2,LGR}%
+ \fi%
+ \@tud@res@swafalse%
+ \@for\tud@res@c:=\tud@res@b\do{%
+ \ifstr{\tud@res@c}{#1}{\@tud@res@swatrue}{}%
}%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
- \if@tempswa%
- \appto\@tempa{%
- use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
+ \if@tud@res@swa%
+ \appto\tud@res@a{%
+ You should %
+ \if@tud@cdoldfont@active%
+ try to install the necessary fonts\MessageBreak%
+ with a installation script listed in the manual%
+ \else%
+ install package `opensans'%
+ \fi%
+ .\MessageBreak%
}%
\else%
- \appto\@tempa{%
- choose a possible encoding with\MessageBreak%
- package `fontenc' (`OT1' or `T1')%
- }%
+ \ifstr{\encodingdefault}{#1}{%
+ \ifstr{TU}{#1}{%
+ \appto\tud@res@a{%
+ You should either load package `fontspec'\MessageBreak%
+ or %
+ }%
+ }{%
+ \appto\tud@res@a{Please }%
+ }%
+ \appto\tud@res@a{%
+ choose a possible encoding with package\MessageBreak%
+ `fontenc' (\tud@res@b).\MessageBreak%
+ }%
+ }{}%
\fi%
\fi%
- \appto\@tempa{.\MessageBreak A fallback layout is used}%
- \PackageWarning{tudscrfonts}{\@tempa}%
+ \appto\tud@res@a{A fallback layout is used}%
+ \edef\tud@res@c{%
+ \etex@unexpanded{\PackageWarning{tudscrfonts}}%
+ {\tud@res@a}
+ }%
+ \xappto#3{\expandonce\tud@res@c}%
\endgroup%
}
-\newcommand*\tud@font@math@missing@wrn[1]{%
- \PackageWarning{tudscrfonts}%
- {%
- `#1' fonts for math typesetting not found.\MessageBreak%
- Please use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
- }%
-}
\begingroup
\catcode`\^=7
\catcode30=12
@@ -586,9 +909,9 @@
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage*{ragged2e}{%
- \ifdef{\LaTeXraggedright}{%
+ \ifundef{\LaTeXraggedright}{}{%
\renewcommand*\tud@raggedright{\LaTeXraggedright}%
- }{}%
+ }%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
\newif\if@tud@x@siunitx@enabled
@@ -606,121 +929,113 @@
}{%
\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm}
}
-\RequirePackage{trimspaces}[2009/09/17]
-\newif\if@tud@x@mweights@enabled
-\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
-\newcommand*\tud@font@set{%
- \if@atdocument%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@univers\else%
- \tud@font@missing@wrn{Univers}%
- \fi%
- \if@tud@dinbold\else%
- \tud@font@missing@wrn{DIN-Bold}%
- \fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
+\newcommand*\tud@x@fontspec@init[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\defaultfontfeatures[#1]{%
+ NFSSFamily=#1,%
+ Ligatures=TeX,%
+ BoldFont={},%
+ ItalicFont={},%
+ BoldItalicFont={},%
+ SmallCapsFont={},%
+ #2%
}%
- \fi%
- \fi%
- \ifcase\tud@cdfont@num\relax% false
- \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}%
- \if@tud@x@mweights@enabled%
- \tud@cmd@restore{bfseries@rm}%
- \tud@cmd@restore{bfseries@sf}%
- \tud@cmd@restore{bfseries@tt}%
- \tud@cmd@restore{mdseries@rm}%
- \tud@cmd@restore{mdseries@sf}%
- \tud@cmd@restore{mdseries@tt}%
- \fi%
- \else% true/heavy
- \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}%
+ }%
+ \edef\tud@res@b{%
+ \noexpand\newfontfamily%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#1\endcsname{#1}%
+ }%
+ \edef\tud@res@c{%
+ \endgroup\expandonce\tud@res@a\expandonce\tud@res@b%
+ }%
+ \tud@res@c%
+}
+\newcommand*\tud@x@fontspec@set[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareRobustCommand%
+ \expandafter\noexpand\csname #1family\endcsname{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \def\expandafter\noexpand\csname #1default\endcsname{\tud@cdfont@fam}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@font@set{%
+ \if@tud@cdfont@active%
+ \tud@cs@store{rmdefault}%
+ \tud@cs@store{sfdefault}%
+ \tud@cs@store{ttdefault}%
+ \tud@cs@store{bfdefault}%
+ \tud@cs@store{mddefault}%
+ \tud@cs@store{updefault}%
+ \tud@cs@store{sldefault}%
+ \tud@cs@store{itdefault}%
+ \tud@cs@store{familydefault}%
+ \tud@cs@store{seriesdefault}%
+ \tud@cs@store{shapedefault}%
\if@tud@x@mweights@enabled%
- \tud@cmd@store{bfseries@rm}%
- \tud@cmd@store{bfseries@sf}%
- \tud@cmd@store{bfseries@tt}%
- \tud@cmd@store{mdseries@rm}%
- \tud@cmd@store{mdseries@sf}%
- \tud@cmd@store{mdseries@tt}%
+ \tud@cs@store{bfseries@rm}%
+ \tud@cs@store{mdseries@rm}%
+ \tud@cs@store{bfseries@sf}%
+ \tud@cs@store{mdseries@sf}%
+ \tud@cs@store{bfseries@tt}%
+ \tud@cs@store{mdseries@tt}%
\fi%
- \if@tud@univers%
- \if@tud@x@fontspec@enabled%
- \setsansfont{Univers}[\tud@x@fontspec@set@univ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{LMMonoLt10-Regular},%
- FontFace={m}{\updefault}{LMMono10-Regular},%
- FontFace={b}{\updefault}{LMMonoLt10-Bold},%
- FontFace={bx}{\updefault}{LMMonoLt10-Bold},%
- FontFace={eb}{\updefault}{LMMonoLt10-Bold},%
- FontFace={l}{\sldefault}{LMMonoLt10-Oblique},%
- FontFace={m}{\sldefault}{LMMonoSlant10-Regular},%
- FontFace={b}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={bx}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={eb}{\sldefault}{LMMonoLt10-BoldOblique},%
- NFSSFamily=\tud@univers t%
- ]%
- \else%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \fi%
- \ifnum\tud@cdfont@num=\@ne\relax% true
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{b}%
- \else% normalbold
- \renewcommand*\bfdefault{m}%
- \fi%
- \renewcommand*\mddefault{l}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{m}%
- \def\bfseries@sf{m}%
- \def\bfseries@tt{m}%
- \def\mdseries@rm{l}%
- \def\mdseries@sf{l}%
- \def\mdseries@tt{l}%
- \fi%
- \else% heavy
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{eb}%
- \else% normalbold
- \renewcommand*\bfdefault{b}%
- \fi%
- \renewcommand*\mddefault{m}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{b}%
- \def\bfseries@sf{b}%
- \def\bfseries@tt{b}%
- \def\mdseries@rm{m}%
- \def\mdseries@sf{m}%
- \def\mdseries@tt{m}%
- \fi%
- \fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\itdefault{\sldefault}%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@store{rmfamily}%
+ \tud@cs@store{sffamily}%
+ \tud@cs@store{ttfamily}%
\fi%
+ \renewcommand*\rmdefault{\sfdefault}%
+ \renewcommand*\updefault{n}%
+ \renewcommand*\itdefault{it}%
+ \renewcommand*\sldefault{sl}%
\renewcommand*\familydefault{\sfdefault}%
\renewcommand*\seriesdefault{\mddefault}%
\renewcommand*\shapedefault{\updefault}%
+ \tud@cdfont@set%
+ \tud@ttfont@set%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@bf}%
+ \edef\mdseries@rm{\tud@cdfont@md}%
+ \edef\bfseries@sf{\tud@cdfont@bf}%
+ \edef\mdseries@sf{\tud@cdfont@md}%
+ \edef\bfseries@tt{\tud@ttfont@bf}%
+ \edef\mdseries@tt{\tud@ttfont@md}%
+ \fi%
+ \let\bfdefault\tud@cdfont@bf%
+ \let\mddefault\tud@cdfont@md%
+ \else%
+ \tud@cs@restore{rmdefault}%
+ \tud@cs@restore{sfdefault}%
+ \tud@cs@restore{ttdefault}%
+ \tud@cs@restore{bfdefault}%
+ \tud@cs@restore{mddefault}%
+ \tud@cs@restore{updefault}%
+ \tud@cs@restore{sldefault}%
+ \tud@cs@restore{itdefault}%
+ \tud@cs@restore{familydefault}%
+ \tud@cs@restore{seriesdefault}%
+ \tud@cs@restore{shapedefault}%
+ \if@tud@x@mweights@enabled%
+ \tud@cs@restore{bfseries@rm}%
+ \tud@cs@restore{mdseries@rm}%
+ \tud@cs@restore{bfseries@sf}%
+ \tud@cs@restore{mdseries@sf}%
+ \tud@cs@restore{bfseries@tt}%
+ \tud@cs@restore{mdseries@tt}%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@restore{rmfamily}%
+ \tud@cs@restore{sffamily}%
+ \tud@cs@restore{ttfamily}%
+ \fi%
\fi%
\if@tud@x@mweights@enabled%
\edef\rmdef@ult{\rmdefault}%
@@ -730,10 +1045,72 @@
\edef\mddef@ult{\mddefault}%
\edef\famdef@ult{\familydefault}%
\fi%
- \ifundef{\tud@font@math@init}{\tud@font@math@set}{}%
\tud@font@skip@set%
\normalfont\selectfont%
}
+\newcommand*\tud@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdfont@lining%
+ \let\tud@cdfont@fam\tud@cdfont@fam@lf%
+ \else%
+ \let\tud@cdfont@fam\tud@cdfont@fam@osf%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@x@fontspec@set{sf}{\tud@cdfont@fam}%
+ \else%
+ \renewcommand*\sfdefault{\tud@cdfont@fam}%
+ \fi%
+ \tud@cdfont@@set%
+ \fi%
+ \tud@cdfont@wrn%
+}
+\newcommand*\tud@cdfont@md{m}
+\newcommand*\tud@cdfont@bf{b}
+\newcommand*\tud@cdfont@ebf{bx}
+\newcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{sb}%
+ \fi%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{eb}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \fi%
+ }%
+\fi
\newcommand*\tud@font@skip@set{%
\if@tud@relspacing%
\tud@skip@store{smallskipamount}%
@@ -762,147 +1139,308 @@
\tud@skip@set{belowcaptionskip}{\z@}%
\tud@skip@set{columnsep}{1.1\baselineskip}%
}
-\newcommand*\tud@font@init{%
- \if@tud@x@fontspec@enabled%
- \if@tud@univers%
- \newcommand*\tud@x@fontspec@set@univ{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{Univers Light},%
- FontFace={m}{\updefault}{Univers},%
- FontFace={b}{\updefault}{Univers Bold},%
- FontFace={bx}{\updefault}{Univers Bold},%
- FontFace={eb}{\updefault}{Univers Black},%
- FontFace={l}{\sldefault}{Univers LightOblique},%
- FontFace={m}{\sldefault}{Univers Oblique},%
- FontFace={b}{\sldefault}{Univers BoldOblique},%
- FontFace={bx}{\sldefault}{Univers BoldOblique},%
- FontFace={eb}{\sldefault}{Univers BlackOblique}%
+\newcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={OpenSans-Regular},%
+ FontFace={l}{n}{OpenSans-Light},%
+ FontFace={m}{n}{OpenSans-Regular},%
+ FontFace={sb}{n}{OpenSans-SemiBold},%
+ FontFace={b}{n}{OpenSans-Bold},%
+ FontFace={bx}{n}{OpenSans-Bold},%
+ FontFace={eb}{n}{OpenSans-ExtraBold},%
+ FontFace={l}{it}{OpenSans-LightItalic},%
+ FontFace={m}{it}{OpenSans-Italic},%
+ FontFace={sb}{it}{OpenSans-SemiBoldItalic},%
+ FontFace={b}{it}{OpenSans-BoldItalic},%
+ FontFace={bx}{it}{OpenSans-BoldItalic},%
+ FontFace={eb}{it}{OpenSans-ExtraBoldItalic}%
}%
- \newfontfamily\tud@x@fontspec@fam@univ{Univers}[%
- \tud@x@fontspec@set@univ,NFSSFamily=\tud@univers%
- ]%
- \fi%
- \if@tud@dinbold%
- \newcommand*\tud@x@fontspec@set@din{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{DIN-Bold},%
- FontFace={m}{\updefault}{DIN-Bold},%
- FontFace={b}{\updefault}{DIN-Bold},%
- FontFace={bx}{\updefault}{DIN-Bold},%
- FontFace={eb}{\updefault}{DIN-Bold},%
- FontFace={l}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={m}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={b}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={bx}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={eb}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@osf}{Numbers=OldStyle,\tud@res@a}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \else%
+ \IfFileExists{omliwona.fd}{%
+ \input{omliwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OML/\tud@cdfont@fam@lf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ \csletcs{OML/\tud@cdfont@fam@osf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ }%
+ }{}%
+ \IfFileExists{omsiwona.fd}{%
+ \input{omsiwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OMS/\tud@cdfont@fam@lf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ \csletcs{OMS/\tud@cdfont@fam@osf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ }%
+ }{}%
+ \AtBeginDocument{%
+ \ifcsundef{textrightarrow}{}{%
+ \tud@cs@store{textrightarrow}%
+ \renewrobustcmd*{\textrightarrow}{%
+ {\fontfamily{iwona}\selectfont\tud@cs@use{textrightarrow}}%
+ }%
+ }%
}%
- \newfontfamily\tud@x@fontspec@fam@din{DIN-Bold}[%
- \tud@x@fontspec@set@din,NFSSFamily=\tud@dinbold%
- ]%
\fi%
- \fi%
- \if@tud@univers%
- \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}}%
+ \newrobustcmd*\cdfontln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\cdfontrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\cdfontsn{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{n}}
+ \newrobustcmd*\cdfontbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\cdfontxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\cdfontli{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{it}}
+ \newrobustcmd*\cdfontri{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{it}}
+ \newrobustcmd*\cdfontsi{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{it}}
+ \newrobustcmd*\cdfontbi{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{it}}
+ \newrobustcmd*\cdfontxi{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{it}}
\else%
- \newrobustcmd*\univln{\tud@font@fallback{Univers Light}{md}{up}}%
- \newrobustcmd*\univrn{\tud@font@fallback{Univers}{md}{up}}%
- \newrobustcmd*\univbn{\tud@font@fallback{Univers Bold}{bf}{up}}%
- \newrobustcmd*\univxn{\tud@font@fallback{Univers Black}{bf}{up}}%
- \newrobustcmd*\univls{\tud@font@fallback{Univers LightOblique}{md}{sl}}%
- \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
- \newrobustcmd*\univbs{\tud@font@fallback{Univers BoldOblique}{bf}{sl}}%
- \newrobustcmd*\univxs{\tud@font@fallback{Univers BlackOblique}{bf}{sl}}%
+ \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up}
+ \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up}
+ \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up}
+ \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up}
+ \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up}
+ \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it}
+ \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it}
+ \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it}
\fi%
- \if@tud@dinbold%
- \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
- \if@tud@dinboldmath%
- \appto\tud@dinbn{\mathversion{dinbold}}%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={Univers},%
+ FontFace={l}{n}{Univers-Light},%
+ FontFace={m}{n}{Univers},%
+ FontFace={b}{n}{Univers-Bold},%
+ FontFace={bx}{n}{Univers-Bold},%
+ FontFace={eb}{n}{Univers-Black},%
+ FontFace={l}{it}{Univers-LightOblique},%
+ FontFace={m}{it}{Univers-Oblique},%
+ FontFace={b}{it}{Univers-BoldOblique},%
+ FontFace={bx}{it}{Univers-BoldOblique},%
+ FontFace={eb}{it}{Univers-BlackOblique}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{sl}}
+ \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{sl}}
+ \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{sl}}
+ \newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{sl}}
+ \else%
+ \tud@cdfont@fallback\univln{Univers-Light}{md}{up}
+ \tud@cdfont@fallback\univrn{Univers}{md}{up}
+ \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up}
+ \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up}
+ \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{sl}
+ \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{sl}
+ \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{sl}
+ \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{sl}
\fi%
- \newrobustcmd*\dinbn{\tud@dinbn}%
- \else%
- \newrobustcmd*\tud@dinbn{\sectfont}%
- \newrobustcmd*\dinbn{\tud@font@fallback@wrn{DIN-Bold}\tud@dinbn}%
- \fi%
- \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}%
- \undef\tud@font@init%
-}
-\newcommand*\tud@font@fallback[3]{%
- \tud@font@fallback@wrn{#1}%
- \sffamily\csuse{#2series}\csuse{#3shape}%
-}
-\newcommand*\tud@font@fallback@wrn[1]{%
+ \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}%
+ \newrobustcmd*\cdfontln{\univln}%
+ \newrobustcmd*\cdfontrn{\univrn}%
+ \newrobustcmd*\cdfontsn{\univrn}%
+ \newrobustcmd*\cdfontbn{\univbn}%
+ \newrobustcmd*\cdfontxn{\univxn}%
+ \newrobustcmd*\cdfontli{\univls}%
+ \newrobustcmd*\cdfontri{\univrs}%
+ \newrobustcmd*\cdfontsi{\univrs}%
+ \newrobustcmd*\cdfontbi{\univbs}%
+ \newrobustcmd*\cdfontxi{\univxs}%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+ \if@tud@cdfont@db@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={DIN-Bold},%
+ FontFace={l}{n}{DIN-Bold},%
+ FontFace={m}{n}{DIN-Bold},%
+ FontFace={b}{n}{DIN-Bold},%
+ FontFace={bx}{n}{DIN-Bold},%
+ FontFace={eb}{n}{DIN-Bold},%
+ FontFace={l}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={m}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={b}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={bx}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={eb}{it}{Font=DIN-Bold,FakeSlant=0.15}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@db}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\tud@db{%
+ \usefont{\encodingdefault}{\tud@cdfont@db}{b}{n}%
+ \if@tud@cdmath@active\mathversion{tuddin}\fi%
+ }%
+ \newrobustcmd*\dinbn{\tud@db}%
+ \else%
+ \newrobustcmd*\tud@db{\tud@db@wrn\sectfont}%
+ \newcommand*\tud@db@wrn{%
+ \PackageWarning{tudscrfonts}%
+ {%
+ Font `DIN-Bold' is not available and therefore\MessageBreak
+ can not be used for headings%
+ }%
+ \global\let\tud@db@wrn\relax%
+ }%
+ \newrobustcmd*\dinbn{\tud@cdfont@fallback@wrn{DIN-Bold}\sectfont}%
+ \fi%
+ \newcommand*\textdbn{}%
+ \DeclareTextFontCommand\textdbn{\dinbn}%
+ }%
+\fi
+\newcommand*\tud@cdfont@fallback[4]{%
+ \newrobustcmd*#1{%
+ \tud@cdfont@fallback@wrn{#2}%
+ \sffamily\csuse{#3series}\csuse{#4shape}%
+ }%
+}
+\newcommand*\tud@cdfont@fallback@wrn[1]{%
\PackageWarning{tudscrfonts}%
{%
- The requested font `#1' is not available, so\MessageBreak%
- a fallback layout is used%
+ The requested font `#1'\MessageBreak%
+ is not available, a fallback layout is used%
}%
}
\newcommand*\cdfont[1]{%
\tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \csuse{cdfont\@tempc}%
\fi%
}
-\providecommand*\tudfont[1]{\cdfont{#1}}
-\newcommand*\textcdfont[2]{%
+\newcommand*\textcd[2]{%
\tud@cdfont@get{#1}%
- \ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \csuse{textcd\@tempc}{#2}%
\fi%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\cdfont[1]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \fi%
+ }%
+ \renewcommand*\textcd[2]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \fi%
+ }%
+\fi
\newcommand*\tud@cdfont@get[1]{%
\tud@cdfont@trim\@tempa{#1}%
- \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
- \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
- \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
- \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
- \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
- \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{l}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{r}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{s}{\def\@tempc{sn}}{%
+ \ifstr{\@tempa}{b}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{x}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{li}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{il}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{i}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ri}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ir}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{si}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{is}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{bi}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{ib}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{xi}{\def\@tempc{xi}}{%
+ \ifstr{\@tempa}{ix}{\def\@tempc{xi}}{%
\let\@tempc\relax%
\PackageWarning{tudscrfonts}%
{The font `#1' is unknown}%
- }}}}}}}}}}}}}}%
+ }}}}}}}}}}}}}}}}}%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@get[1]{%
+ \tud@cdfont@trim\@tempa{#1}%
+ \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \let\@tempc\relax%
+ \PackageWarning{tudscrfonts}%
+ {The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+ }%
+\fi
\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
@@ -910,22 +1448,45 @@
\tud@cdfont@@trim{-}{}%
\tud@cdfont@@trim{_}{}%
\tud@cdfont@@trim{~}{}%
- \tud@cdfont@@trim{ce}{}%
- \tud@cdfont@@trim{ff}{}%
- \tud@cdfont@@trim{univers}{}%
- \tud@cdfont@@trim{60}{65}%
- \tud@cdfont@@trim{light}{45}%
- \tud@cdfont@@trim{regular}{55}%
- \tud@cdfont@@trim{bold}{65}%
- \tud@cdfont@@trim{black}{75}%
- \tud@cdfont@@trim{4545}{45}%
- \tud@cdfont@@trim{5555}{55}%
- \tud@cdfont@@trim{6565}{65}%
- \tud@cdfont@@trim{7575}{75}%
- \tud@cdfont@@trim{italic}{oblique}%
- \tud@cdfont@@trim{slanted}{oblique}%
+ \tud@cdfont@@trim{opensans}{}%
+ \tud@cdfont@@trim{light}{l}%
+ \tud@cdfont@@trim{regular}{r}%
+ \tud@cdfont@@trim{book}{r}%
+ \tud@cdfont@@trim{semibold}{s}%
+ \tud@cdfont@@trim{demi}{s}%
+ \tud@cdfont@@trim{extrabold}{x}%
+ \tud@cdfont@@trim{black}{x}%
+ \tud@cdfont@@trim{bold}{b}%
+ \tud@cdfont@@trim{italic}{i}%
+ \tud@cdfont@@trim{oblique}{i}%
+ \tud@cdfont@@trim{slanted}{i}%
\let#1\@tempa%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@trim[2]{%
+ \protected@edef\@tempa{\trim@spaces{#2}}%
+ \tud@lowerstring{\@tempa}{\@tempa}%
+ \tud@cdfont@@trim{ }{}%
+ \tud@cdfont@@trim{-}{}%
+ \tud@cdfont@@trim{_}{}%
+ \tud@cdfont@@trim{~}{}%
+ \tud@cdfont@@trim{ce}{}%
+ \tud@cdfont@@trim{ff}{}%
+ \tud@cdfont@@trim{univers}{}%
+ \tud@cdfont@@trim{60}{65}%
+ \tud@cdfont@@trim{light}{45}%
+ \tud@cdfont@@trim{regular}{55}%
+ \tud@cdfont@@trim{bold}{65}%
+ \tud@cdfont@@trim{black}{75}%
+ \tud@cdfont@@trim{4545}{45}%
+ \tud@cdfont@@trim{5555}{55}%
+ \tud@cdfont@@trim{6565}{65}%
+ \tud@cdfont@@trim{7575}{75}%
+ \tud@cdfont@@trim{italic}{oblique}%
+ \tud@cdfont@@trim{slanted}{oblique}%
+ \let#1\@tempa%
+ }%
+\fi
\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
@@ -934,302 +1495,891 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\tud@font@greek@loop[1]{%
- \@for\@tempa:={%
- Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
- }\do{#1{\@tempa}}%
-}
-\newcommand*\tud@font@greek@declare[1]{%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
- {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
- }\@tempb%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
- {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
- }\@tempb%
- \csletcs{tud@#1}{tud@up#1}%
- \advance \@tempcnta by 1%
-}
-\@tempcnta=\z@\relax
-\tud@font@greek@loop\tud@font@greek@declare
-\newcommand*\mv@univers{}
-\newcommand*\mv@universbold{}
-\newcommand*\mv@dinbold{}
-\newcommand*\tud@font@math@init{%
- \if@tud@x@fontspec@enabled\if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} or bool {@tud@dinboldmath}}{%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \PackageWarningNoLine{tudscrfonts}%
- {%
- It's recommended to load package `fontspec'\MessageBreak%
- with option `no-math', if you want to use the\MessageBreak%
- corporate design fonts in math mode%
- }%
- }%
- }{}%
+\newcommand*\tud@ttfont@set{%
+ \if@tud@ttfont@rb@exist\else\ifnum\tud@ttfont@num=\@ne\relax%
+ \PackageWarning{tudscrfonts}%
+ {%
+ The package `roboto-mono' is missing so the\MessageBreak%
+ typewriter font of package `lmodern' is used%
+ }%
+ \TUDoptions{ttfont=lmodern}%
\fi\fi%
- \if@tud@universmath%
- \DeclareMathVersion{univers}%
- \DeclareMathVersion{universbold}%
- \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
- \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
- \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
- \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathrm}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathrm}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathnormal}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathnormal}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
- \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
- \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%
- \@ifpackageloaded{amsfonts}{%
- \DeclareFontFamily{U}{\tud@univers a}{}%
- \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
- \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
- \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
- \DeclareFontFamily{U}{\tud@univers b}{}%
- \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
- \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
- \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
- \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
- \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
- }{}%
+ \ifcase\tud@ttfont@num\relax% false
+ \let\tud@ttfont@fam\ttdefault%
+ \or% roboto
+ \let\tud@ttfont@fam\tud@ttfont@rb%
+ \or% lmodern
+ \let\tud@ttfont@fam\tud@ttfont@lm%
\fi%
- \if@tud@dinboldmath%
- \DeclareMathVersion{dinbold}%
- \SetSymbolFont{operators}{dinbold}{OT1}{\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{\mathrm}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathnormal}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathtt}{dinbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{dinbold}{OMS}{lmsy}{b}{n}%
+ \ifcase\tud@ttfont@num\relax\else% !false
+ \if@tud@x@fontspec@enabled%
+ \ifx\ttdefault\tud@ttfont@fam\else%
+ \tud@x@fontspec@set{tt}{\tud@ttfont@fam}%
+ \fi%
+ \else%
+ \renewcommand*\ttdefault{\tud@ttfont@fam}%
+ \fi%
\fi%
- \@ifpackageloaded{unicode-math}{%
- \let\tud@font@math@set\relax%
- \bool@set@lock{@tud@cdmath}{false}%
- }{%
- \tud@font@greek@check@slanted%
- \tud@font@greek@loop\tud@font@greek@init%
- \tud@font@math@set%
- }%
- \sbox\z@{\tud@dinbn$ $}%
-}
-\newcommand*\tud@font@greek@check@slanted{%
- \let\@tempb\relax%
- \let\@tempc\relax%
- \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
- \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
- \@tempswafalse%
- \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
- \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
- \if@tempswa%
- \bool@std@lock{@tud@slantedgreek}{true}%
+ \tud@ttfont@@set%
+}
+\newcommand*\tud@ttfont@md{}
+\newcommand*\tud@ttfont@bf{}
+\newcommand*\tud@ttfont@ebf{}
+\newcommand*\tud@ttfont@@set{%
+ \ifcase\tud@ttfont@num\relax%
+ \ifundef{\mdseries@tt}{%
+ \edef\tud@ttfont@md{\tud@cs@use{mddefault}}%
+ }{%
+ \edef\tud@ttfont@md{\mdseries@tt}%
+ }%
+ \ifundef{\bfseries@tt}{%
+ \edef\tud@ttfont@bf{\tud@cs@use{bfdefault}}%
+ }{%
+ \edef\tud@ttfont@bf{\bfseries@tt}%
+ }%
+ \edef\tud@ttfont@ebf{\tud@ttfont@bf}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@md{\tud@cdfont@md}%
+ \renewcommand*\tud@ttfont@bf{\tud@cdfont@bf}%
+ \renewcommand*\tud@ttfont@ebf{\tud@cdfont@ebf}%
+ \else% lmodern
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@ttfont@md{m}%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@bf{m}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \fi%
+ \fi%
\fi%
- \let\tud@font@greek@check@slanted\relax%
}
-\BeforePackage{flexisym}{\tud@font@greek@check@slanted}
-\newcommand*\tud@font@greek@init[1]{%
- \ifcsundef{up#1}{%
- \if@tempswa%
- \csletcs{up#1}{tud@up#1}%
+\newcommand*\tud@ttfont@init{%
+ \newcommand*\tud@ttfont@rb@scale{0.9}%
+ \if@tud@x@fontspec@enabled%
+ \if@tud@ttfont@rb@exist%
+ \tud@x@fontspec@init{\tud@ttfont@rb}{%
+ Scale={\tud@ttfont@rb@scale},%
+ UprightFont={RobotoMono-Regular},%
+ FontFace={l}{n}{RobotoMono-Light},%
+ FontFace={m}{n}{RobotoMono-Regular},%
+ FontFace={sb}{n}{RobotoMono-Medium},%
+ FontFace={b}{n}{RobotoMono-Bold},%
+ FontFace={bx}{n}{RobotoMono-Bold},%
+ FontFace={eb}{n}{RobotoMono-Bold},%
+ FontFace={l}{it}{RobotoMono-LightItalic},%
+ FontFace={m}{it}{RobotoMono-Italic},%
+ FontFace={sb}{it}{RobotoMono-MediumItalic},%
+ FontFace={b}{it}{RobotoMono-BoldItalic},%
+ FontFace={bx}{it}{RobotoMono-BoldItalic},%
+ FontFace={eb}{it}{RobotoMono-BoldItalic}%
+ }%
+ \fi%
+ \ifx\ttdefault\tud@ttfont@lm\else%
+ \tud@x@fontspec@init{\tud@ttfont@lm}{%
+ UprightFont={LMMono10-Regular},%
+ FontFace={l}{n}{LMMonoLt10-Regular},%
+ FontFace={m}{n}{LMMono10-Regular},%
+ FontFace={b}{n}{LMMonoLt10-Bold},%
+ FontFace={bx}{n}{LMMonoLt10-Bold},%
+ FontFace={l}{it}{LMMonoLt10-Oblique},%
+ FontFace={m}{it}{LMMonoSlant10-Regular},%
+ FontFace={b}{it}{LMMonoLt10-BoldOblique},%
+ FontFace={bx}{it}{LMMonoLt10-BoldOblique}%
+ }%
+ \fi%
+ \else%
+ \if@tud@ttfont@rb@exist%
+ \edef\tud@ttfont@rb@scale{s*[\tud@ttfont@rb@scale]}%
+ \begingroup%
+ \def\tud@res@c##1##2{%
+ \tud@lowerstring\tud@res@a{##1}%
+ \DeclareFontFamily{##1}{\tud@ttfont@rb}{\hyphenchar\font=\m@ne}%
+ \def\tud@res@b####1####2####3{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{n}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{it}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sl}{%
+ <->ssub*\tud@ttfont@rb/####1/it%
+ }{}%
+ \ifbool{##2}{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sc}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scit}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scsl}{%
+ <->ssub*\tud@ttfont@rb/####1/scit%
+ }{}%
+ }{}%
+ }%
+ \tud@res@b{l}{Light}{LightItalic}%
+ \tud@res@b{m}{Regular}{Italic}%
+ \tud@res@b{sb}{Medium}{MediumItalic}%
+ \tud@res@b{b}{Bold}{BoldItalic}%
+ \tud@res@b{bx}{Bold}{BoldItalic}%
+ }%
+ \tud@res@c{OT1}{true}%
+ \tud@res@c{T1}{true}%
+ \ifcsundef{T@LY1}{}{\tud@res@c{LY1}{true}}%
+ \ifcsundef{T@TS1}{}{\tud@res@c{TS1}{false}}%
+ \endgroup%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@if@issymbolfont[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname sym#1\endcsname%
+ {\expandonce\group@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{up#1}{#1}%
+ \aftergroup\@secondoftwo%
\fi%
- }{}%
- \ifcsundef{var#1}{%
- \if@tempswa%
- \csletcs{var#1}{#1}%
+ \endgroup%
+}
+\@onlypreamble\tud@if@issymbolfont
+\newcommand*\tud@if@ismathalphabet[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname\expandafter\@gobble\string#1\space\endcsname%
+ {\expandonce\alpha@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{var#1}{tud@var#1}%
+ \aftergroup\@secondoftwo%
\fi%
+ \endgroup%
+}
+\@onlypreamble\tud@if@ismathalphabet
+\newcommand*\tud@math@loop@greeks@all[1]{%
+ \tud@math@loop@greeks@uc{#1}%
+ \tud@math@loop@greeks@lc{#1}%
+}
+\newcommand*\tud@math@loop@greeks@uc[1]{%
+ \@for\@tempa:={%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@loop@greeks@lc[1]{%
+ \@for\@tempa:={%
+ alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,%
+ mu,nu,xi,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,%
+ varepsilon,vartheta,varpi,varrho,varsigma,varphi%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@declare@lgrgreeks[5]{%
+ \ifundef{\T@LGR}{\DeclareFontEncoding{LGR}{}{}}{}%
+ \tud@if@issymbolfont{tudupgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#4}%
+ }{%
+ \DeclareSymbolFont{tudupgrk}{LGR}{#1}{#2}{#4}%
+ }%
+ \SetSymbolFont{tudupgrk}{bold}{LGR}{#1}{#3}{#4}%
+ \tud@if@issymbolfont{tuditgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#5}%
+ }{%
+ \DeclareSymbolFont{tuditgrk}{LGR}{#1}{#2}{#5}%
+ }%
+ \SetSymbolFont{tuditgrk}{bold}{LGR}{#1}{#3}{#5}%
+}
+\newcommand*\tud@math@map@greeks{%
+ \tud@math@loop@greeks@all\tud@math@map@@greeks%
+ \tud@math@loop@greeks@uc\tud@math@map@@@greeks%
+ \tud@math@supplement@greeks%
+}
+\newcommand*\tud@math@map@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{\csedef{it#1}{\csname\tud@res@a\endcsname}}%
+ }%
+ }{}%
+ \ifcsundef{up#1}{%
+ \ifcsundef{#1up}{}{\csedef{up#1}{\csname#1up\endcsname}}%
+ }{}%
+ \ifcsundef{other#1}{%
+ \ifcsundef{#1other}{}{\csedef{other#1}{\csname#1other\endcsname}}%
+ }{}%
+}
+\newcommand*\tud@math@map@@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \ifcsundef{var#1}{}{\csedef{it#1}{\csname var#1\endcsname}}%
+ }{}%
+ \ifcsundef{up#1}{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{\csedef{up#1}{\csname\tud@res@a\endcsname}}%
}{}%
}
-\newcommand*\tud@font@math@set{%
- \if@atdocument%
- \if@tud@cdmath%
- \if@tud@universmath\else%
- \tud@font@math@missing@wrn{Univers}%
+\newcommand*\tud@math@supplement@greeks{%
+ \begingroup%
+ \newcommand*\tud@math@operators@enc{}%
+ \newcommand*\tud@math@operators@fam{}%
+ \newcommand*\tud@math@letters@enc{}%
+ \newcommand*\tud@math@letters@fam{}%
+ \def\getanddefine@fonts##1##2{%
+ \ifx\symoperators##1%
+ \expandafter\tud@res@a\string##2\@nil%
+ \else\ifx\symletters##1%
+ \expandafter\tud@res@b\string##2\@nil%
+ \fi\fi%
+ }%
+ \def\tud@res@a##1##2/##3/##4\@nil{%
+ \def\tud@math@operators@enc{##2}%
+ \def\tud@math@operators@fam{##3}%
+ }%
+ \def\tud@res@b##1##2/##3/##4\@nil{%
+ \def\tud@math@letters@enc{##2}%
+ \def\tud@math@letters@fam{##3}%
+ }%
+ \tud@cs@use{mv@normal}%
+ \let\tud@res@c\@empty%
+ \ifstr{\tud@math@letters@enc}{\detokenize{OML}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{letters}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@all\tud@res@a%
+ }{}%
+ \ifstr{\tud@math@operators@enc}{\detokenize{OT1}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{operators}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@res@a%
+ }{}%
+ \let\tud@res@a\@empty%
+ \if@tud@lgrgreeks%
+ \IfFileExists{lgr\tud@cs@use{familydefault}.fd}{%
+ \def\tud@res@a{\tud@cs@use{familydefault}}%
+ }{%
+ \IfFileExists{lgr\tud@math@letters@fam.fd}{%
+ \let\tud@res@a\tud@math@letters@fam%
+ }{%
+ \IfFileExists{lgr\tud@math@operators@fam.fd}{%
+ \let\tud@res@a\tud@math@operators@fam%
+ }{}%
+ }%
+ }%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@c%
+ \edef\noexpand\tud@res@a{\tud@res@a}%
+ }%
+ \tud@res@a%
+ \ifx\tud@res@a\@empty\else%
+ \tud@math@declare@lgrgreeks{\tud@res@a}%
+ {\tud@cs@use{mddefault}}{\tud@cs@use{bfdefault}}%
+ {\tud@cs@use{updefault}}{\tud@cs@use{itdefault}}%
+ \let\tud@res@c\@empty%
+ \def\tud@res@b##1##2{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{tuditgrk}{##2}%
+ }%
+ }{}%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{tudupgrk}{##2}%
+ }%
+ }{}%
+ }%
+ \tud@res@b{Gamma}{71}%
+ \tud@res@b{Delta}{68}%
+ \tud@res@b{Theta}{74}%
+ \tud@res@b{Lambda}{76}%
+ \tud@res@b{Xi}{88}%
+ \tud@res@b{Pi}{80}%
+ \tud@res@b{Sigma}{83}%
+ \tud@res@b{Upsilon}{85}%
+ \tud@res@b{Phi}{70}%
+ \tud@res@b{Psi}{89}%
+ \tud@res@b{Omega}{87}%
+ \tud@res@b{alpha}{97}%
+ \tud@res@b{beta}{98}%
+ \tud@res@b{gamma}{103}%
+ \tud@res@b{delta}{100}%
+ \tud@res@b{epsilon}{101}%
+ \tud@res@b{zeta}{122}%
+ \tud@res@b{eta}{104}%
+ \tud@res@b{theta}{106}%
+ \tud@res@b{iota}{105}%
+ \tud@res@b{kappa}{107}%
+ \tud@res@b{lambda}{108}%
+ \tud@res@b{mu}{109}%
+ \tud@res@b{nu}{110}%
+ \tud@res@b{xi}{120}%
+ \tud@res@b{pi}{112}%
+ \tud@res@b{rho}{114}%
+ \tud@res@b{sigma}{115}%
+ \tud@res@b{tau}{116}%
+ \tud@res@b{upsilon}{117}%
+ \tud@res@b{phi}{102}%
+ \tud@res@b{chi}{113}%
+ \tud@res@b{psi}{121}%
+ \tud@res@b{omega}{119}%
+ \tud@res@c%
+ \fi%
+}
+\newcommand*\tud@math@checkslanted@greeks{%
+ \begingroup%
+ \def\tud@res@c{%
+ \tud@if@v@lower{2.06}{%
+ \TUD@key@preset{slantedgreek}{standard}%
+ }{%
+ \TUD@key@preset{slantedgreek}{true}%
+ }%
+ }%
+ \@tud@res@swafalse%
+ \ifcsdef{upalpha}{%
+ \ifx\upalpha\alpha%
+ \@tud@res@swatrue%
\fi%
- \if@tud@dinboldmath\else%
- \tud@font@math@missing@wrn{DIN-Bold}%
+ }{}%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{false}}%
+ \else%
+ \ifcsdef{itGamma}{%
+ \ifx\itGamma\Gamma%
+ \@tud@res@swatrue%
+ \fi%
+ }{%
+ \let\tud@res@a\relax%
+ \let\tud@res@b\relax%
+ \DeclareMathSymbol{\tud@res@a}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\tud@res@b}{\mathord}{letters}{0}%
+ \ifx\Gamma\tud@res@a\relax\@tud@res@swatrue\fi%
+ \ifx\Gamma\tud@res@b\relax\@tud@res@swatrue\fi%
+ }%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{true}}%
\fi%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+ \fi%
+ \edef\tud@res@c{\endgroup\expandonce\tud@res@c}%
+ \tud@res@c%
+}
+\newcommand*\mv@tudnormal{}
+\newcommand*\mv@tudbold{}
+\newcommand*\mv@tuddin{}
+\AfterPackage*{mathastext}{%
+ \CheckCommand*\MTversion{\@ifstar\MTversion@s\MTversion@}%
+ \CheckCommand*\MTversion@s[1]{\mathversion{#1}\MTversion@@{#1}}%
+ \newrobustcmd*\tud@mathversion[1]{%
+ \tud@cs@use{mathversion}{#1}%
+ \if@tud@cdmath@active%
+ \ifstr{#1}{normal}{%
+ \MTversion@@{tudnormal}%
+ }{%
+ \ifstr{#1}{bold}{%
+ \MTversion@@{tudbold}%
+ }{}%
}%
\fi%
- \fi%
- \if@tud@universmath%
- \if@tud@cdmath%
- \tud@cmd@store{mv@normal}%
- \tud@cmd@store{mv@bold}%
- \let\mv@normal\mv@univers%
- \let\mv@bold\mv@universbold%
- \tud@font@greek@loop\tud@font@greek@set%
+ }%
+ \AtEndPreamble{%
+ \tud@cs@store{mathversion}%
+ \tud@cs@letltx{mathversion}{tud@mathversion}%
+ }%
+}
+\newcommand*\tud@cdmath@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdoldfont@active\else%
+ \if@tud@cdmath@active%
+ \def\tud@res@a##1{%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ You should not load package `##1'\MessageBreak%
+ manually when option `cdmath=true' is active as\MessageBreak%
+ TUD-Script uses package `mathastext' internally\MessageBreak%
+ with a specific set of required options for the\MessageBreak%
+ math font setup%
+ }%
+ }%
+ \@ifpackageloaded{sansmath}{%
+ \tud@res@a{sansmath}%
+ }{}%
+ \@ifpackageloaded{mathastext}{%
+ \tud@res@a{mathastext}%
+ }{}%
+ \fi%
+ \PassOptionsToPackage{%
+ subdued,defaultmathsizes,nosmalldelims,%
+ defaultrm,defaultbf,defaultit,defaultsf,defaulttt,%
+ noequal,nohbar%
+ }{mathastext}%
+ \RequirePackage{mathastext}[2018/08/22]%
+ \tud@math@declare@lgrgreeks{cmr}{m}{bx}{n}{it}%
+ \fi%
+ \providecommand*\MTDeclareVersion[6][]{\DeclareMathVersion{##2}}%
+ \providecommand*\MTversion@@[1]{}%
+ \tud@cdmath@@init{\tud@cdfont@fam@lf}{\tud@ttfont@fam}%
+ \if@tud@cdoldfont@active%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@cdmath@declare@greek@uc%
+ \tud@math@loop@greeks@lc\tud@cdmath@declare@greek@lc%
\else%
- \tud@cmd@restore{mv@normal}%
- \tud@cmd@restore{mv@bold}%
- \tud@font@greek@loop\tud@font@greek@reset%
+ \tud@cdmath@declare@greek@lgr%
+ \fi%
+ \tud@cdmath@declare@char{*}{\mathbin}{symbols}{"03}%
+ \tud@cdmath@also@greeks%
+ \else%
+ \let\mv@tudnormal\mv@normal%
+ \let\mv@tudbold\mv@bold%
+ \if@tud@cdoldfont@active%
+ \let\mv@tuddin\mv@bold%
\fi%
\fi%
- \if@tud@slantedgreek%
- \tud@font@greek@loop\tud@font@greek@slanted%
+}
+\newcommand*\tud@cdmath@@init[2]{%
+ \tud@cdfont@@set%
+ \tud@ttfont@@set%
+ \if@tud@cdoldfont@active%
+ \DeclareMathVersion{tudnormal}%
+ \DeclareMathVersion{tudbold}%
+ \DeclareMathVersion{tuddin}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetSymbolFont{letters}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetSymbolFont{letters}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{symbols}{tuddin}{OMS}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}%
+ \SetMathAlphabet{\mathnormal}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetMathAlphabet{\mathnormal}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathnormal}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathbold}{tudbold}{OML}{#1}{\tud@cdfont@ebf}{sl}%
+ \SetMathAlphabet{\mathbold}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ }{}%
\else%
- \tud@font@greek@loop\tud@font@greek@upright%
+ \MTDeclareVersion[it]{tudnormal}{T1}{#1}{\tud@cdfont@md}{n}%
+ \MTDeclareVersion[it]{tudbold}{T1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{iwona}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{letters}{tudbold}{OML}{iwona}{\tud@cdfont@bf}{it}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tudupgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{tuditgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{tudupgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tuditgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{it}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{T1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathbold}{tudbold}{T1}{#1}{\tud@cdfont@ebf}{it}%
+ }{}%
+ \fi%
+ \SetMathAlphabet{\mathrm}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathrm}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudnormal}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudbold}{OT1}{#1}{\tud@cdfont@ebf}{n}%
+ \SetMathAlphabet{\mathsf}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathsf}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathit}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{it}%
+ \SetMathAlphabet{\mathit}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathtt}{tudnormal}{OT1}{#2}{\tud@ttfont@md}{n}%
+ \SetMathAlphabet{\mathtt}{tudbold}{OT1}{#2}{\tud@ttfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathrm}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathbf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathsf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathit}{tuddin}{OT1}{\tud@cdfont@db}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{tuddin}{OT1}{#2}{\tud@ttfont@ebf}{n}%
+ \fi%
+ \IfFileExists{ueus.fd}{%
+ \SetMathAlphabet{\mathcal}{tudnormal}{U}{eus}{m}{n}%
+ \SetMathAlphabet{\mathcal}{tudbold}{U}{eus}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}%
+ \fi%
+ }{}%
+ \tud@if@ismathalphabet{\mathfrak}{%
+ \IfFileExists{ueuf.fd}{%
+ \SetMathAlphabet{\mathfrak}{tudnormal}{U}{euf}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{tudbold}{U}{euf}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}%
+ \fi%
+ }{}%
+ }{}%
+ \AtBeginDocument{%
+ \@tud@res@swafalse%
+ \tud@if@issymbolfont{AMSa}{\@tud@res@swatrue}{}%
+ \tud@if@issymbolfont{AMSb}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \if@tud@cdoldfont@active%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf a}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf a}{m}{n}{<->cmbras10}{}%
+ \SetSymbolFont{AMSa}{tudnormal}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \SetSymbolFont{AMSa}{tudbold}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf b}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf b}{m}{n}{<->cmbrbs10}{}%
+ \SetSymbolFont{AMSb}{tudnormal}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \SetSymbolFont{AMSb}{tudbold}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \else%
+ \@ifpackageloaded{mdsymbol}{}{%
+ \appto\tud@cdmath@wrn{%
+ \PackageInfoNoLine{tudscrfonts}%
+ {%
+ You may load package `mdsymbol' in order to\MessageBreak%
+ get symbols matching the used math font%
+ }%
+ }%
+ }%
+ \fi%
+ \fi%
+ \tud@if@issymbolfont{legacymaths}{%
+ \SetSymbolFont{legacymaths}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{legacymaths}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetSymbolFont{legacymaths}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \fi%
+ }{}%
+ \if@tud@cdoldfont@active%
+ \if@tud@cdmath@active%
+ \sbox\z@{\mathversion{tudnormal}$ $\mathversion{tuddin}$ $}%
+ \fi%
+ \fi%
+ }%
+}
+\newcommand*\tud@cdmath@symb@list{}
+\newcommand*\tud@cdmath@declare@symb[4]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@cdmath@declare@alias[2]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \ifcsdef{tud@cdmath@symbol@#2}{%
+ \csedef{tud@cdmath@symbol@#1}{\csname tud@cdmath@symbol@#2\endcsname}%
+ }{}%
+}
+\newcommand*\tud@cdmath@char@list{}
+\newcommand*\tud@cdmath@declare@char[4]{%
+ \listeadd\tud@cdmath@char@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@DeclareMathSymbol[4]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareMathSymbol%
+ {\csname tud@cdmath@symbol@#1\endcsname}%
+ {\etex@unexpanded{#2}}{#3}{#4}%
+ }%
+ \tud@res@a%
+}
+\newtoks\tud@cdmath@symbols@toks
+\newcommand*\tud@cdmath@symbols@set{%
+ \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdmath@symbols@toks}{%
+ \forlistloop\tud@cdmath@symbols@set@cmd\tud@cdmath@symb@list%
+ \forlistloop\tud@cdmath@symbols@set@chr\tud@cdmath@char@list%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cdmath@symbols@toks{}}%
+ }{}%
+}
+\newcommand*\tud@cdmath@symbols@set@cmd[1]{%
+ \ifcsdef{#1}{%
+ \tud@cs@store{#1}%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cs@restore{#1}}%
+ }{%
+ \addto@hook\tud@cdmath@symbols@toks{\csundef{#1}}%
+ }%
+ \ifcsdef{tud@cdmath@symbol@#1}{%
+ \tud@cs@letltx{#1}{tud@cdmath@symbol@#1}%
+ }{%
+ \csundef{#1}%
+ }%
+}
+\newcommand*\tud@cdmath@symbols@set@chr[1]{%
+ \edef\tud@res@a{\global\mathcode`#1=\the\mathcode`#1\relax}%
+ \eaddto@hook\tud@cdmath@symbols@toks{\tud@res@a}%
+ \begingroup%
+ \edef\tud@res@a{\expandafter\meaning\csname tud@cdmath@symbol@#1\endcsname}%
+ \def\tud@res@b##1"##2\@nil{"##2}%
+ \edef\tud@res@c{\expandafter\tud@res@b\tud@res@a\@nil}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \global\mathcode`#1=\tud@res@c%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cdmath@symbols@reset{\the\tud@cdmath@symbols@toks}
+\newcommand*\tud@cdmath@declare@greek@uc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{operators}{\the\tud@res@cnt}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \listeadd\tud@cdmath@symb@list{up#1}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lgr{%
+ \tud@cdmath@declare@greek@@lgr{Gamma}{71}%
+ \tud@cdmath@declare@greek@@lgr{Delta}{68}%
+ \tud@cdmath@declare@greek@@lgr{Theta}{74}%
+ \tud@cdmath@declare@greek@@lgr{Lambda}{76}%
+ \tud@cdmath@declare@greek@@lgr{Xi}{88}%
+ \tud@cdmath@declare@greek@@lgr{Pi}{80}%
+ \tud@cdmath@declare@greek@@lgr{Sigma}{83}%
+ \tud@cdmath@declare@greek@@lgr{Upsilon}{85}%
+ \tud@cdmath@declare@greek@@lgr{Phi}{70}%
+ \tud@cdmath@declare@greek@@lgr{Psi}{89}%
+ \tud@cdmath@declare@greek@@lgr{Omega}{87}%
+ \tud@cdmath@declare@greek@@lgr{alpha}{97}%
+ \tud@cdmath@declare@greek@@lgr{beta}{98}%
+ \tud@cdmath@declare@greek@@lgr{gamma}{103}%
+ \tud@cdmath@declare@greek@@lgr{delta}{100}%
+ \tud@cdmath@declare@greek@@lgr{epsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{zeta}{122}%
+ \tud@cdmath@declare@greek@@lgr{eta}{104}%
+ \tud@cdmath@declare@greek@@lgr{theta}{106}%
+ \tud@cdmath@declare@greek@@lgr{iota}{105}%
+ \tud@cdmath@declare@greek@@lgr{kappa}{107}%
+ \tud@cdmath@declare@greek@@lgr{lambda}{108}%
+ \tud@cdmath@declare@greek@@lgr{mu}{109}%
+ \tud@cdmath@declare@greek@@lgr{nu}{110}%
+ \tud@cdmath@declare@greek@@lgr{xi}{120}%
+ \tud@cdmath@declare@greek@@lgr{pi}{112}%
+ \tud@cdmath@declare@greek@@lgr{rho}{114}%
+ \tud@cdmath@declare@greek@@lgr{sigma}{115}%
+ \tud@cdmath@declare@greek@@lgr{tau}{116}%
+ \tud@cdmath@declare@greek@@lgr{upsilon}{117}%
+ \tud@cdmath@declare@greek@@lgr{phi}{102}%
+ \tud@cdmath@declare@greek@@lgr{chi}{113}%
+ \tud@cdmath@declare@greek@@lgr{psi}{121}%
+ \tud@cdmath@declare@greek@@lgr{omega}{119}%
+ \tud@cdmath@declare@greek@@lgr{varepsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{vartheta}{106}%
+ \tud@cdmath@declare@greek@@lgr{varpi}{119}%
+ \tud@cdmath@declare@greek@@lgr{varrho}{114}%
+ \tud@cdmath@declare@greek@@lgr{varsigma}{99}%
+ \tud@cdmath@declare@greek@@lgr{varphi}{102}%
+}
+\newcommand*\tud@cdmath@declare@greek@@lgr[2]{%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{tudupgrk}{#2}%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{tuditgrk}{#2}%
+}
+\newcommand*\tud@cdmath@also@greeks{%
+ \tud@math@loop@greeks@all\tud@cdmath@also@@greeks%
+ \tud@math@loop@greeks@uc\tud@cdmath@also@@@greeks%
+}
+\newcommand*\tud@cdmath@also@@greeks[1]{%
+ \tud@cdmath@declare@alias{#1}{it#1}%
+ \tud@cdmath@declare@alias{other#1}{up#1}%
+ \ifcsundef{#1up}{}{%
+ \tud@cdmath@declare@alias{#1up}{up#1}%
+ }%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{it#1}%
+ }%
+ }%
+ \ifcsundef{#1other}{}{%
+ \tud@cdmath@declare@alias{#1other}{other#1}%
+ }%
+}
+\newcommand*\tud@cdmath@also@@@greeks[1]{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{up#1}%
+ }%
+ \ifcsundef{var#1}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{var#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@set{%
+ \if@tud@cdmath@active%
+ \tud@cdmath@wrn%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \tud@cdmath@symbols@set%
+ \ifcase\tud@slantedgreek@num\relax% upright
+ \tud@math@loop@greeks@all\tud@math@upright@greeks%
+ \or% slanted
+ \tud@math@loop@greeks@all\tud@math@slanted@greeks%
+ \or% standard
+ \tud@math@loop@greeks@uc\tud@math@upright@greeks%
+ \tud@math@loop@greeks@lc\tud@math@slanted@greeks%
+ \fi%
+ \else%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \tud@cdmath@symbols@reset%
\fi%
\mathversion{normal}%
}
-\newcommand*\tud@font@greek@set[1]{%
- \tud@cmd@store{#1}%
- \tud@cmd@store{up#1}%
- \tud@cmd@store{var#1}%
- \csletcs{#1}{tud@#1}%
- \csletcs{up#1}{tud@up#1}%
- \csletcs{var#1}{tud@var#1}%
-}
-\newcommand*\tud@font@greek@reset[1]{%
- \tud@cmd@restore{#1}%
- \tud@cmd@restore{up#1}%
- \tud@cmd@restore{var#1}%
-}
-\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
-\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
+\newcommand*\tud@math@upright@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{up#1}%
+ \csletcs{other#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@slanted@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{it#1}%
+ \csletcs{other#1}{up#1}%
+ }%
+}
\AtEndPreamble{%
\if@tud@x@mweights@enabled%
\ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}%
- \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
- \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}%
+ \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
\ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
- \tud@font@check%
+ \tud@cdfont@check%
\ifdef{\sectfont}{}{\let\sectfont\relax}%
- \tud@font@init%
+ \tud@cdfont@init%
+ \tud@ttfont@init%
+ \tud@cdmath@init%
+ \if@tud@x@bm@requested%
+ \UnPreventPackageFromLoading{bm}%
+ \if@tud@cdmath@active%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \fi%
+ \RequirePackage{bm}[2017/01/16]%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \fi%
\if@tud@x@siunitx@enabled%
- \ifcase\tud@cdfont@num\relax% false
+ \if@tud@cdfont@active%
+ \if@tud@cdfont@heavy%
+ \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
+ \else%
+ \def\tud@reserved{\TUDoptions{cdfont=true}}%
+ \fi%
+ \else%
\def\tud@reserved{\TUDoptions{cdfont=false}}%
- \or% true
- \def\tud@reserved{\TUDoptions{cdfont=true}}%
- \or% heavy
- \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
\fi%
- \expandafter\AtBeginDocument\expandafter{\tud@reserved}%
+ \expandafter\AfterEndPreamble\expandafter{\tud@reserved}%
\TUDoptions{cdfont=false}%
\fi%
\tud@font@set%
- \if@tud@x@bm@requested%
- \tud@font@math@init%
- \UnPreventPackageFromLoading{bm}%
- \RequirePackage{bm}[2017/01/16]%
- \fi%
- \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}%
+ \AtBeginDocument{%
+ \tud@math@map@greeks%
+ \tud@math@checkslanted@greeks%
+ \tud@math@set%
+ }%
}
-\newrobustcmd*\ifdin{%
- \ifx\f@family\tud@dinbold%
+%%% From File: tudscr-comp.dtx
+\TUD@deprecated@cs{textcdfont}{textcd}%
+\TUD@deprecated@cs{tudfont}{cdfont}%
+\TUD@deprecated@cs{univln}{cdfontln}%
+\TUD@deprecated@cs{univrn}{cdfontrn}%
+\TUD@deprecated@cs{univbn}{cdfontsn}%
+\TUD@deprecated@cs{univxn}{cdfontbn}%
+\TUD@deprecated@cs{univls}{cdfontli}%
+\TUD@deprecated@cs{univrs}{cdfontri}%
+\TUD@deprecated@cs{univbs}{cdfontsi}%
+\TUD@deprecated@cs{univxs}{cdfontbi}%
+\TUD@deprecated@cs{textuln}{textcdln}%
+\TUD@deprecated@cs{texturn}{textcdrn}%
+\TUD@deprecated@cs{textubn}{textcdsn}%
+\TUD@deprecated@cs{textuxn}{textcdbn}%
+\TUD@deprecated@cs{textuls}{textcdli}%
+\TUD@deprecated@cs{texturs}{textcdri}%
+\TUD@deprecated@cs{textubs}{textcdsi}%
+\TUD@deprecated@cs{textuxs}{textcdbi}%
+\TUD@deprecated@cs{dinbn}{cdfontxn}%
+\TUD@deprecated@cs{textdbn}{textcdxn}%
+\TUD@deprecated@cs{ifdin}{@secondoftwo}
+\newrobustcmd*\tud@ifdin{%
+ \ifx\f@family\tud@cdfont@db%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
}
-\newcommand*\tud@sec@fontface[1][]{%
- \if@tud@cdfont@din%
- \tud@dinbn\tud@raggedright%
- \else%
- \sectfont#1%
- \fi%
-}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
-}
-%%% From File: tudscr-comp.dtx
-\AtEndOfPackage%
-{%
- \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
+\if@tud@cdoldfont@active
+ \newcommand*\ifdin{}%
+ \let\ifdin\tud@ifdin%
+\fi
+\def\tud@res@a#1{%
+ \TUD@deprecated@cs{var#1}{it#1}%
}
+\tud@math@loop@greeks@uc\tud@res@a%
%%% From File: tudscr-misc.dtx
-\newcommand*\tud@atdocument@hook{}
-\let\tud@atdocument@hook\relax
-\AtBeginDocument{%
- \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
- \ifx\tud@atdocument@hook\relax%
- \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
- \AtEndOfFamilyOptions{%
- \tud@atdocument@hook%
- \tud@atdocument@process%
- }%
- \fi%
- \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
- }%
-}
\newif\if@tud@font@set
-\newif\if@tud@font@math@set
+\newif\if@tud@math@set
\newif\if@tud@font@skip@set
-\newif\if@tud@x@scr@headings@reset
-\newif\if@tud@layout@process
-\newif\if@tud@cdgeometry@process
-\newif\if@tud@cdgeometry@@process
\newcommand*\tud@atdocument@process{%
\if@tud@font@set%
\tud@font@set%
\global\@tud@font@setfalse%
- \global\@tud@font@math@setfalse%
\global\@tud@font@skip@setfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@font@math@set%
- \tud@font@math@set%
- \global\@tud@font@math@setfalse%
\fi%
\if@tud@font@skip@set%
\tud@font@skip@set%
\global\@tud@font@skip@setfalse%
\fi%
+ \if@tud@math@set%
+ \tud@math@set%
+ \global\@tud@math@setfalse%
+ \fi%
}
-\CheckCommand*\@uclcnotmath[4]{%
- \begingroup
- #1%
- \def\({$}\let\)\(%
- \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}%
- \@nonchangecase\label
- \@nonchangecase\ref
- \@nonchangecase\ensuremath
- \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}%
- \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\reserved@a##1##2{\let#2\reserved@a}%
- \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \protected@edef\reserved@a{%
- \endgroup
- \noexpand\@skipmath#3#4$\valign$%
+\if@tud@cdoldfont@active
+ \RequirePackage{textcase}[2004/10/07]
+ \AfterPackage*{textcase}{%
+ \robustify\NoCaseChange%
+ \newcommand*\tud@x@textcase@uclcnotmath{%
+ \@nonchangecase\hologo%
+ \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
+ \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
+ \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
}%
- \reserved@a%
-}
-\newcommand*\tud@x@textcase@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@x@textcase@uclcnotmath%
-}{}{\tud@patch@wrn{@uclcnotmath}}
+ \patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
+ \@nonchangecase\ensuremath\tud@x@textcase@uclcnotmath%
+ }{}{\tud@patch@wrn{@uclcnotmath}}%
+ }%
+\fi
+\TUD@deprecated@cs{NoCaseChange}{@firstofone}
\endinput
%%
%% End of file `tudscrfonts.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls
index 9b73159947f..e336526db3d 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls
@@ -11,14 +11,14 @@
%% tudscr-misc.dtx (with options: `class,manual,inherit,execute')
%% tudscr-manual.dtx (with options: `class,manual,body')
%% tudscr-fields.dtx (with options: `class,manual,body')
-%% tudscr-locale.dtx (with options: `class,manual,body')
+%% tudscr-localization.dtx (with options: `class,manual,body')
%% tudscr-texindy.dtx (with options: `class,manual')
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -44,7 +44,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -59,13 +59,13 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\newcommand*\TUD@ProvidesWrapperClass[3]{%
\ProvidesClass{#1}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
^^J#3 (#2)%
]%
\newcommand*\TUD@Class@Parent{#2}%
@@ -73,22 +73,29 @@
\TUD@Class@Info%
}
\providecommand*\TUD@Class@Info{%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{+------------------------------------------------------------------}%
\typeout{| Corporate Design of Technische Universitaet Dresden}%
- \typeout{| Class: \TUD@Class@Name}%
- \typeout{| Version: \TUD@Version}%
- \typeout{| Author: Falk Hanisch (\tudscrmail)}%
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{| Class: \TUD@Class@Name}%
+ \typeout{| Version: \TUD@Version}%
+ \typeout{| Author: Falk Hanisch (\tudscrmail)}%
+ \typeout{| Repository: https://github.com/tud-cd/tudscr}%
+ \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}%
+ \typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesWrapperClass{tudscrmanual}{tudscrreprt}{manual class}
\edef\TUDScriptClassName{\TUD@Class@Name}
\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-manual.dtx
@@ -117,7 +124,9 @@
\ifdef{\tudfinalflag}{%
\TUDoptions{ToDo=false}%
\TUD@key{ToDo}{\FamilyKeyStateProcessed}%
- }{}%
+ }{%
+ \KOMAoptions{overfullrule}%
+ }%
\ifdef{\tudprintflag}{%
\ifnum\tud@cd@num>\z@\relax%
\TUDoptions{cd=true}%
@@ -149,17 +158,17 @@
\else%
\def\@tempa not##1##2##3##4\@nil{%
\ifstr{##1##2##3}{not}{%
- \if\relax##4\relax\else%
+ \IfArgIsEmpty{##4}{}{%
\listeadd\tud@todo@type@neg{##4}%
\@tud@todotrue%
\FamilyKeyStateProcessed%
- \fi%
+ }%
}{%
- \if\relax##1\relax\else%
+ \IfArgIsEmpty{##1}{}{%
\listeadd\tud@todo@type@pos{##1##2##3##4}%
\@tud@todotrue%
\FamilyKeyStateProcessed%
- \fi%
+ }%
}%
}%
\edef\@tempb{not\trim@spaces{#1}}%
@@ -168,7 +177,10 @@
}
%%% From File: tudscr-misc.dtx
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUD@Class@Parent}}
+\TUDExecuteOptions{%
+}
\TUDProcessOptions\relax
+\PassOptionsToClass{ttfont=roboto}{\TUD@Class@Parent}
\LoadClass{\TUD@Class@Parent}
%%% From File: tudscr-manual.dtx
\PassOptionsToPackage{log-declarations=false}{xparse}
@@ -180,7 +192,7 @@
\reversemarginpar
\RequirePackage{xspace}[2009/10/20]
\xspaceaddexceptions{"=}
-\@ifpackagelater{geometry}{2010/09/13}{%
+\@ifpackagelater{geometry}{2018/04/17}{%
\ClassWarning{\TUD@Class@Name}{%
Package `geometry' was updated so some patches\MessageBreak%
are maybe outdated%
@@ -194,6 +206,7 @@
\renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
}{}%
}
+\RequirePackage{shellesc}[2016/06/07]
\RequirePackage{pdftexcmds}[2016/05/21]
\newcommand*\tud@templist{}
\let\tud@templist\relax
@@ -251,7 +264,7 @@
}
\newcommand*\tud@trace@lbl@created@add[1]{}
\newcommand*\tud@trace@lbl@missing@add[1]{}
-\NewDocumentCommand\tracinglabels{sO{missing}}{%
+\NewDocumentCommand\tracinglabels{!s !O{missing}}{%
\newcommand*\tud@trace@lbl@created@list{}%
\newcommand*\tud@trace@lbl@missing@list{}%
\@tempswafalse%
@@ -328,7 +341,7 @@
\renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}%
\renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}%
\newcommand*\tud@manualname{tudscr}%
- \NewDocumentCommand\tudhyperdef{st'm}{%
+ \NewDocumentCommand\tudhyperdef{s t' m}{%
\@tempswafalse%
\IfBooleanT{#1}{\@tempswatrue\setlength\@tempdima{3\baselineskip}}%
\IfBooleanT{#2}{\@tempswatrue\setlength\@tempdima{15\baselineskip}}%
@@ -383,16 +396,16 @@
}
\newcommand*\tud@hyperref@a[2][]{#2}
\newcommand*\tud@hyperref@b[4]{#4}
- \tud@locale@german{\partautorefname}{Teil}%
- \tud@locale@german{\chapterautorefname}{Kapitel}%
- \tud@locale@german{\sectionautorefname}{Unterkapitel}%
- \tud@locale@german{\subsectionautorefname}{Abschnitt}%
- \tud@locale@german{\subsubsectionautorefname}{Unterabschnitt}%
- \tud@locale@english{\partautorefname}{Part}%
- \tud@locale@english{\chapterautorefname}{chapter}%
- \tud@locale@english{\sectionautorefname}{section}%
- \tud@locale@english{\subsectionautorefname}{subsection}%
- \tud@locale@english{\subsubsectionautorefname}{subsubsection}%
+ \tud@localization@german{\partautorefname}{Teil}%
+ \tud@localization@german{\chapterautorefname}{Kapitel}%
+ \tud@localization@german{\sectionautorefname}{Unterkapitel}%
+ \tud@localization@german{\subsectionautorefname}{Abschnitt}%
+ \tud@localization@german{\subsubsectionautorefname}{Unterabschnitt}%
+ \tud@localization@english{\partautorefname}{Part}%
+ \tud@localization@english{\chapterautorefname}{chapter}%
+ \tud@localization@english{\sectionautorefname}{section}%
+ \tud@localization@english{\subsectionautorefname}{subsection}%
+ \tud@localization@english{\subsubsectionautorefname}{subsubsection}%
\ProvideDocumentCommand\tudhyperdef{st'm}{\label{#3}}%
\providecommand*\tudhyperref[2]{#2}%
\providecommand*\autorefname[1][]{??\xspace}%
@@ -544,13 +557,13 @@
\newskip\tud@lastskip
\pretocmd{\index}{\tud@lastskip=\lastskip}{}{\tud@patch@wrn{index}}
\pretocmd{\label}{\tud@lastskip=\lastskip}{}{\tud@patch@wrn{label}}
-\NewDocumentCommand\printdeclarationlist{sd()}{%
+\NewDocumentCommand\printdeclarationlist{!s !d()}{%
\ifx\tud@declaration@list\relax\else%
\ifhmode%
\vskip\medskipamount%
\else%
\@tempskipa=\glueexpr\medskipamount-\tud@lastskip\relax%
- \ifdim\@tempskipa>\z@%
+ \ifdim\@tempskipa>\z@\relax%
\addpenalty{\@beginparpenalty}%
\addvspace{\@tempskipa}%
\fi%
@@ -570,7 +583,7 @@
\@tud@declarefalse%
\ifboolexpr{bool {@tud@preset@list} or bool {@tud@additional@list}}{%
\def\@tempa##1{\small\ignorespaces##1\tabularnewline}%
- \qquad%
+ \hskip1.2em%
\if@tud@preset@list%
\begin{tabular}{@{}l@{}}%
\forlistloop\@tempa{\tud@preset@list}%
@@ -602,7 +615,7 @@
\printdeclarationlist*%
\@tud@obsoletefalse%
}
-\NewDocumentCommand\printchangedatlist{sO{\z@}}{%
+\NewDocumentCommand\printchangedatlist{!s !O{\z@}}{%
\print@changedatlist{#1}{#2}%
}
\newrobustcmd*\bsc{\@backslashchar}
@@ -651,17 +664,17 @@
\let\tud@bdl@curr\tud@bdl@dflt
\newcommand*\tud@if@bdl[2]{\ifstr{\tud@bdl@curr}{\tud@bdl@dflt}{#2}{#1}}
\NewExpandableDocumentCommand\@Application{sm}{#2}
-\NewDocumentCommand\Application{smd()d<>d||}{%
+\NewDocumentCommand\Application{s m !d() !d<> !d||}{%
\Markup@SetFormat{\sbsfont}%
\IfValueTF{#4}{%
\Process@Markup{\Application{#2}}(#3)<#4>%
}{%
\Process@Markup{\Application{#2}}(#3)%
}%
- \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#4|%
+ \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#5|%
}
\NewExpandableDocumentCommand\@Distribution{sm}{#2}
-\NewDocumentCommand\Distribution{smod()d||}{%
+\NewDocumentCommand\Distribution{s m !o !d() !d||}{%
\Markup@SetFormat{\sbnfont}%
\IfValueTF{#3}{%
\Process@Markup{\Distribution{#2}}[~#3](#4)%
@@ -671,19 +684,20 @@
\Process@Index{#1}{\Distribution{#2}}[Distribution](#4)|#5|%
}
\NewExpandableDocumentCommand\@Engine{sm}{#2}
-\NewDocumentCommand\Engine{smd()d||}{%
+\NewDocumentCommand\Engine{s m !d() !d||}{%
\Markup@SetFormat{\sbnfont}%
\Process@Markup{\Engine{\hologo{#2}}}(#3)%
\Process@Index{#1}{\Engine{#2}}[Textsatzsystem](#3)|#4|%
}
+\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}}
\NewExpandableDocumentCommand\@File{sm}{#2}
-\NewDocumentCommand\File{smd()d||}{%
+\NewDocumentCommand\File{s m !d() !d||}{%
\Markup@SetFormat{\sbnfont}%
\Process@Markup{\File{#2}}(#3)%
\Process@Index{#1}{\File{#2}}[Datei](#3)|#4|%
}
\NewExpandableDocumentCommand\@Class{sm}{#2}
-\NewDocumentCommand\Class{smd()d''d||}{%
+\NewDocumentCommand\Class{s m !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Class{#2}}[Klasse]%
\else%
@@ -693,7 +707,7 @@
\fi%
}
\NewExpandableDocumentCommand\@Package{sm}{#2}
-\NewDocumentCommand\Package{smd()d<>d''d||}{%
+\NewDocumentCommand\Package{s m !d() !d<> !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Package{#2}}[Paket]%
\else%
@@ -707,7 +721,7 @@
\fi%
}
\NewExpandableDocumentCommand\@Option{sm}{#2}
-\NewDocumentCommand\Option{s>{\ProcessorKeyVal}md==d()d''d||}{%
+\NewDocumentCommand\Option{s >{\ProcessorKeyVal}m !d== !d() !d'' !d||}{%
\Option@Value{#1}#2=#3=(#4)'#5'|#6|%
}
\NewDocumentCommand\Option@Value{mmd==d==d()d''d||}{%
@@ -721,7 +735,7 @@
\fi%
}
\NewExpandableDocumentCommand\@Environment{sm}{#2}
-\NewDocumentCommand\Environment{smod()d''d||}{%
+\NewDocumentCommand\Environment{s m !o !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Environment{#2}}[Umgebung](#4)%
\else%
@@ -735,27 +749,27 @@
\fi%
}
\NewExpandableDocumentCommand\@Macro{sm}{#2}
-\NewDocumentCommand\Macro{smod()d''d||}{%
+\NewDocumentCommand\Macro{s m !o !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Macro{#2}}[Befehl](#4)%
\else%
- \Markup@SetFormat{\ttfamily\bsc}%
+ \Markup@SetFormat[\bsc]{\ttfamily}%
\Process@Markup{\Macro{#2}}[#3](#4)'#5'%
\Process@Index{#1}{\Macro{#2}}(#4)|#6|%
\fi%
}
\NewExpandableDocumentCommand\@Length{sm}{#2}
-\NewDocumentCommand\Length{smd()d''d||}{%
+\NewDocumentCommand\Length{s m !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Length{#2}}[L\"ange](#3)%
\else%
- \Markup@SetFormat{\ttfamily\bsc}[L\"ange]%
+ \Markup@SetFormat[\bsc]{\ttfamily}[L\"ange]%
\Process@Markup{\Length{#2}}(#3)'#4'%
\Process@Index{#1}{\Length{#2}}[L\"ange](#3)|#5|%
\fi%
}
\NewExpandableDocumentCommand\@Counter{sm}{#2}
-\NewDocumentCommand\Counter{smd()d''d||}{%
+\NewDocumentCommand\Counter{s m !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Counter{#2}}[Z\"ahler](#3)%
\else%
@@ -765,7 +779,7 @@
\fi%
}
\NewExpandableDocumentCommand\@Key{smm}{#2!#3}
-\NewDocumentCommand\Key{sm>{\ProcessorKeyVal}md==d()d''d||}{%
+\NewDocumentCommand\Key{s m >{\ProcessorKeyVal}m !d== !d() !d'' !d||}{%
\Key@Value{#1}{#2}#3=#4=(#5)'#6'|#7|%
}
\NewDocumentCommand\Key@Value{mmmd==d==d()d''d||}{%
@@ -779,17 +793,17 @@
\fi%
}
\NewExpandableDocumentCommand\@Term{sm}{#2}
-\NewDocumentCommand\Term{smd()d''d||}{%
+\NewDocumentCommand\Term{s m !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Term{#2}}[Bezeichner](#3)%
\else%
- \Markup@SetFormat{\ttfamily\bsc}[Bezeichner]%
+ \Markup@SetFormat[\bsc]{\ttfamily}[Bezeichner]%
\Process@Markup{\Term{#2}}(#3)'#4'%
\Process@Index{#1}{\Term{#2}}(#3)|#5|%
\fi%
}
\NewExpandableDocumentCommand\@PageStyle{sm}{#2}
-\NewDocumentCommand\PageStyle{smd()d''d||}{%
+\NewDocumentCommand\PageStyle{s m !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\PageStyle{#2}}[Seitenstil](#3)%
\else%
@@ -799,7 +813,7 @@
\fi%
}
\NewExpandableDocumentCommand\@Font{sm}{#2}
-\NewDocumentCommand\Font{smd()d''d||}{%
+\NewDocumentCommand\Font{s m !d() !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Font{#2}}[Schriftelement](#3)%
\else%
@@ -809,7 +823,7 @@
\fi%
}
\NewExpandableDocumentCommand\@Color{sm}{#2}
-\NewDocumentCommand\Color{smoD(){\Package{tudscrcolor}}d''d||}{%
+\NewDocumentCommand\Color{s m !o !D(){\Package{tudscrcolor}} !d'' !d||}{%
\if@tud@changedat%
\Process@ChangedAt{\Color{#2}}[Farbe](#4)%
\else%
@@ -817,7 +831,7 @@
\begingroup\ttfamily{#2\IfValueT{#3}{~(#3)}}\endgroup%
)%
\Process@Markup{\Color{#2}}[#3](#4)'#5'%
- \Process@Index{#1}{\Color{#2}}[Farbe](#4)|#5|%
+ \Process@Index{#1}{\Color{#2}}[Farbe](#4)|#6|%
\fi%
}
\NewDocumentCommand\tud@attr@get{smm}{%
@@ -852,7 +866,6 @@
}%
\tud@reserved%
}
-\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\PName[1]{\PValue{\textsl{<#1>}}}
\newrobustcmd*\PValueName[1]{\PName{#1}}
@@ -941,6 +954,7 @@
\let\IeC\@firstofone%
\def\"##1{##1e}%
\def\ss{ss}%
+ \def\dots{...}%
\let\NoCaseChange\@firstofone%
}
\NewDocumentCommand\tud@lbl@get@curr{%
@@ -1018,6 +1032,17 @@
}%
\@tempc%
}
+\newif\if@tud@disposition
+\newcommand*\ifdisposition{%
+ \if@tud@disposition%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+}
+\pretocmd{\tud@sec@format}{%
+ \@tud@dispositiontrue%
+}{}{\tud@patch@wrn{tud@sec@format}}
\newcommand*\Markup@Suppress{\let\Process@Markup\Markup@@Suppress}
\NewDocumentCommand\Markup@@Suppress{md==od()d<>d''}{}
\NewDocumentCommand\Process@Markup{md==od()d<>d''}{%
@@ -1106,7 +1131,8 @@
\let\@tempb\relax%
\IfValueT{#6}{%
\def\@tempb{%
- \ClassWarning{tudscrmanual}{%
+ \ClassWarning{tudscrmanual}%
+ {%
You've used the unknown cross-reference\MessageBreak%
shorthand '#6'. Only 'auto', 'page' and 'full'\MessageBreak%
as well as 'none' \IfValueT{#5}{or 'url' }are valid%
@@ -1128,7 +1154,8 @@
\IfValueT{#6}{%
\ifstr{#6}{none}{\let\@tempa\@tempc}{%
\def\@tempb{%
- \ClassWarning{tudscrmanual}{%
+ \ClassWarning{tudscrmanual}%
+ {%
Label #1\MessageBreak%
is missing, no cross-reference created%
}%
@@ -1137,7 +1164,7 @@
}%
\tud@trace@lbl@missing@add{#1}%
}%
- \ifdin{\@tempc}{\@tempa\@tempb}%
+ \ifdisposition{\@tempc}{\@tempa\@tempb}%
\endgroup%
\Markup@ClearFormat%
}
@@ -1162,61 +1189,63 @@
}
\newcommand*\Markup@Inline[1]{\mbox{\Markup@Format{#1}}}
\newcommand*\Markup@Declare{}
-\newcommand*\Markup@@Declare[1]{%
- \begingroup\Markup@Format{#1}\endgroup\Markup@Suffix%
-}
+\newcommand*\Markup@@Declare[1]{\Markup@Format{#1}\Markup@Suffix}
\newcommand*\Markup@Format{}
+\undef\Markup@Format
\newcommand*\Markup@Suffix{}
-\NewDocumentCommand\Markup@SetFormat{mod()}{%
- \def\Markup@Format{\ifdin{\MakeTextUppercase}{#1}}%
- \IfValueT{#2}{\def\Markup@Suffix{\suffix{#2}}}%
- \IfValueT{#3}{\renewcommand*\Markup@Declare[1]{#3\Markup@Suffix}}%
-}
-\robustify\NoCaseChange
-\NewDocumentCommand\tud@nonchangecase{m}{%
- \DeclareExpandableDocumentCommand#1{sm}{%
- \IfBooleanT{##1}{\noexpand\@tud@indextrue}%
- \NoCaseChange{#1{##2}}%
+\NewDocumentCommand\Markup@SetFormat{omod()}{%
+ \def\Markup@Format##1{%
+ \def\tud@res@a{#2}%
+ \tud@ifdin{\let\tud@res@a\tud@sec@format}{}%
+ \begingroup\tud@res@a{\IfValueT{#1}{#1}##1}\endgroup%
}%
+ \IfValueT{#3}{\def\Markup@Suffix{\suffix{#3}}}%
+ \IfValueT{#4}{\renewcommand*\Markup@Declare[1]{#4\Markup@Suffix}}%
}
-\apptocmd{\tud@x@textcase@uclcnotmath}{%
- \tud@nonchangecase\Application%
- \tud@nonchangecase\Distribution%
- \tud@nonchangecase\Engine%
- \tud@nonchangecase\File%
- \tud@nonchangecase\Class%
- \tud@nonchangecase\Package%
- \tud@nonchangecase\Option%
- \tud@nonchangecase\Environment%
- \tud@nonchangecase\Macro%
- \tud@nonchangecase\Length%
- \tud@nonchangecase\Counter%
- \DeclareExpandableDocumentCommand\Key{smm}{%
- \IfBooleanT{##1}{\noexpand\@tud@indextrue}%
- \NoCaseChange{#1{##2}{##3}}%
- }%
- \tud@nonchangecase\Term%
- \tud@nonchangecase\PageStyle%
- \tud@nonchangecase\Font%
- \tud@nonchangecase\Color%
-}{}{\tud@patch@wrn{tud@x@textcase@uclcnotmath}}
\newcommand*\Markup@ClearFormat{%
- \let\Markup@Format\relax%
+ \undef\Markup@Format%
\let\Markup@Declare\Markup@@Declare%
\let\Markup@Suffix\relax%
}
\Markup@ClearFormat
\newcommand*\Markup@CheckFormat{%
- \ifx\Markup@Format\relax%
- \ClassError{tudscrmanual}{\string\Markup@SetFormat\space unused}{%
- It seems you have forgotten to use \string\Markup@SetFormat.%
+ \ifundef\Markup@Format{%
+ \ClassError{tudscrmanual}%
+ {\string\Markup@SetFormat\space unused}%
+ {It seems you have forgotten to use \string\Markup@SetFormat.}%
+ }{}%
+}
+\ifundef{\tud@x@textcase@uclcnotmath}{}{%
+ \NewDocumentCommand\tud@nonchangecase{m}{%
+ \DeclareExpandableDocumentCommand#1{sm}{%
+ \IfBooleanT{##1}{\noexpand\@tud@indextrue}%
+ \NoCaseChange{#1{##2}}%
}%
- \fi%
+ }
+ \apptocmd{\tud@x@textcase@uclcnotmath}{%
+ \tud@nonchangecase\Application%
+ \tud@nonchangecase\Distribution%
+ \tud@nonchangecase\Engine%
+ \tud@nonchangecase\File%
+ \tud@nonchangecase\Class%
+ \tud@nonchangecase\Package%
+ \tud@nonchangecase\Option%
+ \tud@nonchangecase\Environment%
+ \tud@nonchangecase\Macro%
+ \tud@nonchangecase\Length%
+ \tud@nonchangecase\Counter%
+ \DeclareExpandableDocumentCommand\Key{smm}{%
+ \IfBooleanT{##1}{\noexpand\@tud@indextrue}%
+ \NoCaseChange{#1{##2}{##3}}%
+ }%
+ \tud@nonchangecase\Term%
+ \tud@nonchangecase\PageStyle%
+ \tud@nonchangecase\Font%
+ \tud@nonchangecase\Color%
+ }{}{\tud@patch@wrn{tud@x@textcase@uclcnotmath}}
}
\PassOptionsToPackage{xindy,splitindex}{imakeidx}
-\let\tud@shellescape\shellescape
\RequirePackage{imakeidx}[2013/07/11]
-\let\shellescape\tud@shellescape
\indexsetup{%
level=\addsec,%
noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},%
@@ -1277,7 +1306,7 @@
\fi%
}{}{\tud@patch@wrn{theindex}}%
\fi%
-\NewDocumentCommand\makexdyindex{somo}{%
+\NewDocumentCommand\makexdyindex{s o m !o}{%
\let\@tempb\@empty%
\IfBooleanT{#1}{%
\def\@tempc{\jobname-#4-declare.idx}%
@@ -1417,7 +1446,8 @@
}
\newrobustcmd*\cleversee{\tud@cleversee{\seename}}
\newrobustcmd*\cleverseealso{%
- \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}%
+ \ClassWarning{tudscrmanual}%
+ {You should use `|see' instead of `|seealso'}%
\tud@cleversee{\alsoname}%
}
\newcommand*\tud@cleversee{}
@@ -1431,7 +1461,7 @@
\endgroup%
}%
}
-\NewDocumentCommand\seeref{sm}{%
+\NewDocumentCommand\seeref{s m}{%
\emph{\IfBooleanTF{#1}{\alsoname}{\seename}}\space#2%
}
\newcommand*\seeidx[2]{\pageref{idx:#1}}
@@ -1441,7 +1471,8 @@
}{}{%
\IfBooleanTF{#1}{%
\IfValueT{#6}{%
- \ClassWarning{tudscrmanual}{%
+ \ClassWarning{tudscrmanual}%
+ {%
You've used the starred version. No index entry\MessageBreak%
for #2 is created. The\MessageBreak%
optional argument |#6| will be ignored%
@@ -1486,7 +1517,7 @@
\index[\tud@lbl@tmp]{\tud@idx@val\tud@idx@key{}@\tud@idx@fmt}%
\fi%
}
-\NewDocumentCommand\CrossIndex{smom}{%
+\NewDocumentCommand\CrossIndex{s m o m}{%
\def\@tempa##1##2##3{%
\index{%
\IfBooleanTF{#1}{##3@##3}{##3!"|@}%
@@ -1496,7 +1527,7 @@
}%
\forcsvlist{\@tempa{#3}{#4}}{#2}%
}
-\NewDocumentCommand\SeeRef{smm}{%
+\NewDocumentCommand\SeeRef{s m m}{%
\sbox\z@{%
\let\tud@idx@fmt\relax%
#3%
@@ -1582,14 +1613,21 @@
\tud@idx@get*\tud@idx@key\tud@idx@fmt\tud@idx@val{#1}=#2=[#3](#4)%
}
\newlength\changedatskip
-\NewDocumentCommand\ChangedAt{somO{\changedatskip}}{%
+\NewDocumentCommand\ChangedAt{s o d() m !O{\changedatskip}}{%
\IfValueTF{#2}{%
- \Changed@At@CreateList[#2]{#3}%
+ \Changed@At@CreateList[#2](#3){#4}%
}{%
- \Changed@At@CreateList{#3}%
+ \Changed@At@CreateList(#3){#4}%
+ }%
+ \print@changedatlist{#1}{#5}%
+}
+\NewExpandableDocumentCommand\@ChangedAt{s o d() m}{}
+\AfterPackage*{hyperref}{%
+ \pdfstringdefDisableCommands{%
+ \let\ChangedAt\@ChangedAt%
}%
- \print@changedatlist{#1}{#4}%
}
+\BeforeStartingTOC{\let\ChangedAt\@ChangedAt}
\newcommand*\tud@changedat@list{}
\let\tud@changedat@list\relax
\DeclareListParser*{\forssvlist}{;}
@@ -1718,9 +1756,11 @@
\expandafter\def\csname\string\item\endcsname##1~%
}{%
\endgroup%
- \addsec[##1]{\TUDScript \NoCaseChange{##1}}%
+ \let\@tempb\@firstofone%
+ \if@tud@cdoldfont@active\def\@tempb##1{\NoCaseChange{##1}}\fi%
+ \addsec[##1]{\TUDScript \@tempb{##1}}%
\tudhyperdef*{idx:changelog:##1}%
- \def\@tempa{\indexname: \TUDScript \NoCaseChange{##1}}%
+ \def\@tempa{\indexname: \TUDScript \@tempb{##1}}%
\@mkboth{\@tempa}{\@tempa}%
}%
}{}{\tud@patch@wrn{theindex}}%
@@ -1754,7 +1794,7 @@
\fi%
}
\RequirePackage{enumitem}[2011/09/28]
-\setlist{noitemsep}
+\setlist{before*={\endgraf\tud@RaggedRight},partopsep=0pt,noitemsep}
\newcommand*\stditem{}
\newcommand*\tud@before@item[1]{%
\ifdefvoid{\stditem}{%
@@ -1813,8 +1853,12 @@
\stditem%
}%
}
-\NewDocumentCommand\itemtrue{sood()}{\item@bool{#1}{true/on/yes}[#2][#3](#4)}
-\NewDocumentCommand\itemfalse{sood()}{\item@bool{#1}{false/off/no}[#2][#3](#4)}
+\NewDocumentCommand\itemtrue{!s !o !o !d()}{%
+ \item@bool{#1}{true/on/yes}[#2][#3](#4)%
+}
+\NewDocumentCommand\itemfalse{!s !o !o !d()}{%
+ \item@bool{#1}{false/off/no}[#2][#3](#4)%
+}
\NewDocumentCommand\item@bool{mmr[]r[]r()}{%
\toks@{\item}%
\IfBooleanT{#1}{\addto@hook\toks@{*}}%
@@ -1869,7 +1913,7 @@
\multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}%
}
\RequirePackage{tabularx}[1999/01/07]
-\NewDocumentCommand\TermTable{smg}{%
+\NewDocumentCommand\TermTable{s m !g}{%
\let\tud@templist\relax%
\forcsvlist{\listadd\tud@templist}{#2}%
\ifhmode\par\fi%
@@ -1893,7 +1937,7 @@
\bottomrule%
}
\newcommand*\Term@@Table[1]{%
- \Term{#1} & %
+ \Term{#1}'none' & %
\ifstr{\csuse{#1}}{}{\PName{leer}}{\csuse{#1}} & %
\selectlanguage{english}\vspace*{\@tempdimc}%
\ifstr{\csuse{#1}}{}{\PName{empty}}{\csuse{#1}}\tabularnewline%
@@ -1903,8 +1947,8 @@
\addvspace{-\topsep}%
}
\newenvironment{Example*}{%
- \labeling{{\usekomafont{disposition}Beispiel:\nobreakspace}}%
- \item[{\usekomafont{disposition}Beispiel:\nobreakspace}]%
+ \labeling{{\usekomafont{disposition}{Beispiel:\nobreakspace}}}%
+ \item[{\usekomafont{disposition}{Beispiel:\nobreakspace}}]%
}{%
\endlabeling%
}
@@ -1934,10 +1978,14 @@
activated shell escape option%
}%
}
+\newcommand*\tud@latex@ext{}
+\ifpdftex%
+ {\def\tud@latex@ext{pdflatex\space}}%
+ {\def\tud@latex@ext{lualatex\space}}%
\newrobustcmd*\hypertut[2]{%
\hyperref{tutorials/#1.pdf}{#1}{tutorials:#1}{\File*{#1.pdf}#2}%
}
-\NewDocumentCommand\Tutorial{smd||}{%
+\NewDocumentCommand\Tutorial{s m !d||}{%
\ifnum\pdf@shellescape=\@ne\relax%
\filemodCmp{tutorials/#2.pdf}{tutorials/#2.tex}{}{%
\let\@tempa\@empty%
@@ -1949,20 +1997,20 @@
\immediate\write\tud@write@a{cd tutorials^^J##1}%
\immediate\closeout\tud@write@a%
\ifwindows%
- \immediate\write18{rename tutorials.sh tutorials.bat}%
- \immediate\write18{tutorials.bat}%
- \immediate\write18{del tutorials.bat}%
+ \ShellEscape{rename tutorials.sh tutorials.bat}%
+ \ShellEscape{tutorials.bat}%
+ \ShellEscape{del tutorials.bat}%
\else%
- \immediate\write18{bash tutorials.sh}%
- \immediate\write18{rm tutorials.sh}%
+ \ShellEscape{bash tutorials.sh}%
+ \ShellEscape{rm tutorials.sh}%
\fi%
}%
- \@tempb{pdflatex -shell-escape "\@tempa"}%
+ \@tempb{\tud@latex@ext -shell-escape "\@tempa"}%
\IfFileExists{tutorials/#2.bcf}{\@tempb{biber #2}}{}%
\@tempb{%
- pdflatex "\@tempa"^^J%
- pdflatex -shell-escape "\@tempa"^^J%
- pdflatex -shell-escape "\@tempa"%
+ \tud@latex@ext "\@tempa"^^J%
+ \tud@latex@ext -shell-escape "\@tempa"^^J%
+ \tud@latex@ext -shell-escape "\@tempa"%
}%
}%
\fi%
@@ -1980,15 +2028,15 @@
\lstinputlisting[style=tudscr]{examples/#1}%
\ifnum\pdf@shellescape=\@ne\relax%
\filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{%
- \immediate\write18{%
- pdflatex -output-directory examples examples/#1.tex^^J%
- pdflatex -output-directory examples examples/#1.tex%
+ \ShellEscape{%
+ \tud@latex@ext -output-directory examples examples/#1.tex^^J%
+ \tud@latex@ext -output-directory examples examples/#1.tex%
}%
}%
\filemodCmp{examples/#1_print.pdf}{examples/#1_print.tex}{}{%
- \immediate\write18{%
- pdflatex -output-directory examples examples/#1_print.tex^^J%
- pdflatex -output-directory examples examples/#1_print.tex%
+ \ShellEscape{%
+ \tud@latex@ext -output-directory examples examples/#1_print.tex^^J%
+ \tud@latex@ext -output-directory examples examples/#1_print.tex%
}%
}%
\fi%
@@ -2015,60 +2063,94 @@
\PassOptionsToPackage{colorinlistoftodos,color=HKS92!10}{todonotes}%
}
\RequirePackage{todonotes}[2012/07/25]
+\AtEndPreamble{%
+ \ifdim\marginparwidth<2cm\relax%
+ \setlength\marginparwidth{2cm}%
+ \fi%
+}
\AfterPackage*{todonotes}{%
- \newcommand*\tud@todo@type@color[2]{%
- \define@boolkey{todonotes}{#1}[true]{%
- \ifdef{\tudprintflag}{}{%
- \ifbool{KV@todonotes@#1}{\setkeys{todonotes}{color=#2}}{}%
- }%
- }%
- }%
- \tud@todo@type@color{doc}{HKS41!30}%
- \tud@todo@type@color{rls}{HKS44!30}%
- \tud@todo@type@color{imp}{HKS57!50}%
- \tud@todo@type@color{urg}{HKS07!50}%
- \tud@todo@type@color{nxt}{HKS92!30}%
- \undef\tud@todo@type@color%
- \newcommand*\tud@todo@marginnote{}%
- \NewDocumentCommand\ToDo{somo}{%
+ \newcommand*\tud@todo@type@use{}%
+ \NewDocumentCommand\ToDo{s o m !o}{%
\ifbool{@tud@todo}{%
\global\let\tud@currentHref\@currentHref%
\begingroup%
- \let\@tempa\@empty%
- \def\tud@todo@marginnote{ToDo}%
- \IfValueT{#4}{%
- \def\tud@todo@marginnote{#4}%
- \tud@v@get\@tempc{#4}%
- \ifcsdef{tud@v@\@tempc}{%
- \ifstr{\@tempc}{\TUDScriptVersionNumber}{}{\def\@tempa{urg}}%
- \edef\tud@todo@marginnote{v\@tempc}%
+ \let\tud@todo@type@use\@empty%
+ \IfValueTF{#2}{%
+ \IfArgIsEmpty{#2}{}{%
+ \let\tud@todo@type@use\relax%
+ \ifx\tud@todo@type@pos\relax%
+ \def\tud@res@a##1{%
+ \ifinlist{##1}{\tud@todo@type@use}{}{%
+ \ifinlist{##1}{\tud@todo@type@neg}{}{%
+ \listadd\tud@todo@type@use{##1}%
+ }%
+ }%
+ }%
+ \else%
+ \def\tud@res@a##1{%
+ \ifinlist{##1}{\tud@todo@type@use}{}{%
+ \ifinlist{##1}{\tud@todo@type@pos}{%
+ \listadd\tud@todo@type@use{##1}%
+ }{}%
+ }%
+ }%
+ \fi%
+ \forcsvlist\tud@res@a{#2}%
+ }%
+ }{}%
+ \ifx\tud@todo@type@use\relax\else%
+ \let\tud@res@a\@empty%
+ \let\tud@res@b\@empty%
+ \let\tud@res@c\@empty%
+ \ifinlist{rls}{\tud@todo@type@use}{%
+ \def\tud@res@a{color=HKS44!30,}%
+ \def\tud@res@b{color=HKS44!30,}%
+ \edef\tud@res@c{v\TUDScriptVersionNumber}%
}{%
- \def\@tempa##1.##2##3##4\@nil{##1##2##3}%
- \edef\@tempb{\expandafter\@tempa\@tempc.000\@nil}%
- \ifxnumber{\@tempb}{%
- \def\@tempa{nxt}%
- \edef\tud@todo@marginnote{v\@tempc}%
- }{\let\@tempa\@empty}%
+ \ifinlist{imp}{\tud@todo@type@use}{%
+ \def\tud@res@a{color=HKS57!50,}%
+ }{%
+ \ifinlist{doc}{\tud@todo@type@use}{%
+ \def\tud@res@a{color=HKS41!30,}%
+ }{}%
+ }%
+ \def\tud@res@c{ToDo}%
+ \IfValueT{#4}{%
+ \begingroup%
+ \tud@v@get\tud@res@a{#4}%
+ \def\tud@res@c##1.##2##3##4\@nil{##1##2##3}%
+ \edef\tud@res@b{\expandafter\tud@res@c\tud@res@a.000\@nil}%
+ \ifnumber{\tud@res@b}{%
+ \edef\tud@res@c{%
+ \expandafter\tud@res@c\TUDScriptVersionNumber.000\@nil%
+ }%
+ \ifnum\tud@res@b>\tud@res@c\relax%
+ \def\tud@res@b{color=HKS92!30,}%
+ \else%
+ \ifnum\tud@res@b<\tud@res@c\relax%
+ \def\tud@res@b{color=HKS07!50,}%
+ \else%
+ \def\tud@res@b{color=HKS41!30,}%
+ \fi%
+ \fi%
+ \def\tud@res@c{v\tud@res@a}%
+ }{%
+ \let\tud@res@b\@empty%
+ \def\tud@res@c{#4}%
+ }%
+ \edef\tud@res@c{%
+ \endgroup%
+ \def\noexpand\tud@res@b{\tud@res@b}%
+ \def\noexpand\tud@res@c{\tud@res@c}%
+ }%
+ \tud@res@c%
+ }%
}%
- }%
- \IfValueT{#2}{\preto\@tempa{#2,}}%
- \@tempswafalse%
- \ifx\tud@todo@type@pos\relax\@tempswatrue\fi%
- \toks@{\forcsvlist\@tempb}%
- \eaddto@hook\toks@{\expandafter{\@tempa}}%
- \let\@tempa\@empty%
- \def\@tempb##1{%
- \eappto\@tempa{##1,}%
- \ifinlist{##1}{\tud@todo@type@pos}{\@tempswatrue}{}%
- \ifinlist{##1}{\tud@todo@type@neg}{\@tempswafalse}{}%
- }%
- \the\toks@%
- \if@tempswa%
\ifhmode\par\fi%
\let\par\relax%
\vskip\medskipamount%
\noindent%
- \toks@\expandafter{\@tempa inline}%
+ \toks@\expandafter{\tud@res@b inline}%
\IfBooleanT{#1}{\addto@hook\toks@{,nolist}}%
\sbox\z@{%
\expandafter\todo\expandafter[\the\toks@]{\trim@spaces{#3}\strut}%
@@ -2076,11 +2158,30 @@
\renewcommand*\marginpar[2][]{%
\marginnote[##1]{##2}[\dimexpr-\ht\z@+1.6ex+1.75pt\relax]%
}%
- \toks@\expandafter{\@tempa noline,nolist}%
- \settowidth\marginparwidth{\tud@todo@marginnote}%
+ \toks@\expandafter{\tud@res@a noline,nolist}%
+ \settowidth\marginparwidth{\tud@res@c}%
\addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}%
- \expandafter\todo\expandafter[\the\toks@]{\tud@todo@marginnote\strut}%
+ \expandafter\todo\expandafter[\the\toks@]{\tud@res@c\strut}%
\aftergroup\par\aftergroup\noindent%
+ \listremove{\tud@todo@type@use}{rls}%
+ \listremove{\tud@todo@type@use}{imp}%
+ \listremove{\tud@todo@type@use}{doc}%
+ \ifx\tud@todo@type@use\@empty\else%
+ \begingroup%
+ \let\tud@res@c\@empty%
+ \renewcommand*{\do}[1]{%
+ \appto\tud@res@c{,##1}%
+ }%
+ \dolistloop{\tud@todo@type@use}%
+ \edef\tud@res@c{%
+ \endgroup%
+ \edef\noexpand\tud@res@c{\expandafter\@gobble\tud@res@c}%
+ }%
+ \tud@res@c%
+ \ClassWarning{tudscrmanual}{%
+ Unknown key(s) `\string\ToDo[\tud@res@c]'%
+ }%
+ \fi%
\fi%
\endgroup%
\global\let\@currentHref\tud@currentHref%
@@ -2090,11 +2191,10 @@
\newcommand*\ListOfToDo{\if@tud@todo\clearpage\listoftodos\fi}%
}
\TUD@UnwindPackage{todonotes}{%
- \NewDocumentCommand\ToDo{somo}{}%
+ \NewDocumentCommand\ToDo{s o m !o}{}%
\newcommand*\ListOfToDo{}%
}
-\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
-\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
+\RequirePackage{csquotes}[2011/10/22]
\RequirePackage{textcomp}[2005/09/27]
\RequirePackage{setspace}[2011/12/19]
\setstretch{1.1}
@@ -2104,11 +2204,7 @@
\RequirePackage{hologo}[2012/04/26]
\RequirePackage{ragged2e}[2009/05/21]
\@removefromreset{footnote}{chapter}
-\ifcsdef{scr@v@3.23}{%
- \renewcommand*\raggedfootnote{\tud@RaggedRight}%
-}{%
- \pretocmd{\@makefntext}{\tud@RaggedRight}{}{\tud@patch@wrn{@makefntext}}%
-}
+\renewcommand*\raggedfootnote{\tud@RaggedRight}%
\RequirePackage{booktabs}[2005/04/14]
\RequirePackage{caption}[2015/09/17]
\RequirePackage{floatrow}[2008/08/02]
@@ -2156,19 +2252,19 @@
}
\newcommand*\Attention[2][\z@]{%
\marginnote{%
- \setlength\fboxsep{0.25em}
+ \setlength\fboxsep{0.25em}%
\fbox{Achtung!}%
}[#1]%
\emph{\trim@spaces{#2}}%
}
-\NewDocumentCommand\Forum{st'}{%
+\NewDocumentCommand\Forum{!s !t'}{%
\IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
\IfBooleanT{#2}{\toks@{\url}}%
\addto@hook\toks@{{http://latex.wcms-file3.tu-dresden.de/phpBB3/}}%
\IfBooleanF{#2}{\addto@hook\toks@{{TUD-\LaTeX-Forum}}}%
\the\toks@\xspace%
}
-\NewDocumentCommand\CTAN{sog}{%
+\NewDocumentCommand\CTAN{!s !o !g}{%
\IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
\addto@hook\toks@{{http://www.ctan.org/\IfValueT{#2}{#2}}}%
\addto@hook\toks@{%
@@ -2176,10 +2272,13 @@
}%
\the\toks@\xspace%
}
-\NewDocumentCommand\GitHubRepo{s}{%
+\NewDocumentCommand\GitHubRepo{!s !t' !O{releases}}{%
\IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
- \addto@hook\toks@{{https://github.com/tud-cd/tudscr/releases}}%
- \addto@hook\toks@{{\tud@english{GitHub-Repository~\Distribution*{tudscr}}}}%
+ \IfBooleanT{#2}{\toks@{\url}}%
+ \addto@hook\toks@{{https://github.com/tud-cd/tudscr/#3}}%
+ \IfBooleanF{#2}{%
+ \addto@hook\toks@{{\tud@english{GitHub-Repository~\Distribution*{tudscr}}}}%
+ }%
\the\toks@\xspace%
}
\newcommand*\Download[1]{%
@@ -2189,7 +2288,7 @@
F\"ur die Klassen \Class{tudscrartcl} sowie \Class{tudscrposter} ist diese
Option nicht verf\"ugbar.%
}
-\NewDocumentCommand\scrguide{sO{\KOMAScript-Handbuch}}{%
+\NewDocumentCommand\scrguide{!s !O{\KOMAScript-Handbuch}}{%
\IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
\addto@hook\toks@{%
{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf}%
@@ -2216,8 +2315,16 @@
\def\KOMAScript{KOMA-Script}%
}%
}
-\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace}
-\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace}
+\DeclareTextFontCommand\tud@cdfont@texteb{%
+ \fontfamily{\tud@cdfont@fam}\fontseries{\tud@cdfont@ebf}\selectfont%
+}
+\newrobustcmd*\OpenSans{%
+ \texorpdfstring{\tud@cdfont@texteb{Open~Sans}}{Open Sans}\xspace%
+}
+\newrobustcmd*\Univers{\texorpdfstring{\textcdbi{Univers}}{Univers}\xspace}
+\newrobustcmd*\DIN{\texorpdfstring{\textcdxi{DIN~Bold}}{DIN Bold}\xspace}
+\renewcommand*\@pnumwidth{2.1em}%
+\renewcommand*\@tocrmarg{3.1em}%
\newcommand*\textsbn{}
\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape}
\DeclareTextFontCommand\textsbn{\sbnfont}
@@ -2231,9 +2338,9 @@
\newcommand*\grade[1]{\gdef\@grade{#1}}
\newcommand*\@headline{}
\newcommand*\@issuedate{}
-\newcommand*\issuedate[1]{\tud@x@isodate@printdate{\@issuedate}{#1}}
+\newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}}
\newcommand*\@duedate{}
-\newcommand*\duedate[1]{\tud@x@isodate@printdate{\@duedate}{#1}}
+\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}}
\newcommand*\@contactperson{}
\newcommand*\contactperson[1]{\gdef\@contactperson{#1}}
\newcommand*\@office{}
@@ -2242,79 +2349,62 @@
\newrobustcmd*\telephone[1]{\gdef\@telephone{#1}}
\newcommand*\@telefax{}
\newrobustcmd*\telefax[1]{\gdef\@telefax{#1}}
-\newcommand*\@emailaddress{}
-\newrobustcmd*\emailaddress{%
- \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}%
-}
-\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}}
-\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}}
-\AfterPackage*{hyperref}{%
- \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
- \gdef\@emailaddress{%
- \begingroup%
- \urlstyle{same}%
- \hypersetup{#1}%
- \href{mailto:#2}{\nolinkurl{#2}}%
- \endgroup%
- }%
- }%
-}
-%%% From File: tudscr-locale.dtx
-\tud@locale@define{\authorname}
-\tud@locale@define{\contactname}
-\tud@locale@define{\contactpersonname}
-\tud@locale@define{\taskname}
-\tud@locale@define{\tasktext}
-\tud@locale@define{\namesname}
-\tud@locale@define{\issuedatetext}
-\tud@locale@define{\duedatetext}
-\tud@locale@define{\chairmanname}
-\tud@locale@define{\focusname}
-\tud@locale@define{\objectivesname}
-\tud@locale@define{\evaluationname}
-\tud@locale@define{\evaluationtext}
-\tud@locale@define{\contentname}
-\tud@locale@define{\assessmentname}
-\tud@locale@define{\gradetext}
-\tud@locale@define{\noticename}
-\tud@locale@german{\authorname}{Autor}%
-\tud@locale@german{\contactname}{Kontakt}%
-\tud@locale@german{\contactpersonname}{Ansprechpartner}%
-\tud@locale@german{\taskname}{Aufgabenstellung}%
-\tud@locale@german{\tasktext}{f\"ur die Anfertigung einer}%
-\tud@locale@german{\namesname}{Name}%
-\tud@locale@german{\issuedatetext}{Ausgeh\"andigt am}%
-\tud@locale@german{\duedatetext}{Einzureichen am}%
-\tud@locale@german{\chairmanname}{Pr\"ufungsausschussvorsitzender}%
-\tud@locale@german{\focusname}{Schwerpunkte der Arbeit}%
-\tud@locale@german{\objectivesname}{Ziele der Arbeit}%
-\tud@locale@german{\evaluationname}{Gutachten}%
-\tud@locale@german{\evaluationtext}{f\"ur die}%
-\tud@locale@german{\contentname}{Inhalt}%
-\tud@locale@german{\assessmentname}{Bewertung}%
-\tud@locale@german{\gradetext}{%
+%%% From File: tudscr-localization.dtx
+\tud@localization@define{\authorname}
+\tud@localization@define{\contactname}
+\tud@localization@define{\contactpersonname}
+\tud@localization@define{\taskname}
+\tud@localization@define{\tasktext}
+\tud@localization@define{\namesname}
+\tud@localization@define{\issuedatetext}
+\tud@localization@define{\duedatetext}
+\tud@localization@define{\chairmanname}
+\tud@localization@define{\focusname}
+\tud@localization@define{\objectivesname}
+\tud@localization@define{\evaluationname}
+\tud@localization@define{\evaluationtext}
+\tud@localization@define{\contentname}
+\tud@localization@define{\assessmentname}
+\tud@localization@define{\gradetext}
+\tud@localization@define{\noticename}
+\tud@localization@german{\authorname}{Autor}%
+\tud@localization@german{\contactname}{Kontakt}%
+\tud@localization@german{\contactpersonname}{Ansprechpartner}%
+\tud@localization@german{\taskname}{Aufgabenstellung}%
+\tud@localization@german{\tasktext}{f\"ur die Anfertigung einer}%
+\tud@localization@german{\namesname}{Name}%
+\tud@localization@german{\issuedatetext}{Ausgeh\"andigt am}%
+\tud@localization@german{\duedatetext}{Einzureichen am}%
+\tud@localization@german{\chairmanname}{Pr\"ufungsausschussvorsitzender}%
+\tud@localization@german{\focusname}{Schwerpunkte der Arbeit}%
+\tud@localization@german{\objectivesname}{Ziele der Arbeit}%
+\tud@localization@german{\evaluationname}{Gutachten}%
+\tud@localization@german{\evaluationtext}{f\"ur die}%
+\tud@localization@german{\contentname}{Inhalt}%
+\tud@localization@german{\assessmentname}{Bewertung}%
+\tud@localization@german{\gradetext}{%
Die Arbeit wird mit der Note \textbf{\@grade} bewertet.%
}%
-\tud@locale@german{\noticename}{Aushang}%
-\tud@locale@english{\authorname}{Author}%
-\tud@locale@english{\contactname}{Contact}%
-\tud@locale@english{\contactpersonname}{Contact}%
-\tud@locale@english{\taskname}{Task}%
-\tud@locale@english{\tasktext}{for the preparation of a}%
-\tud@locale@english{\namesname}{Name}%
-\tud@locale@english{\issuedatetext}{Issued on}%
-\tud@locale@english{\duedatetext}{Due date for submission}%
-\tud@locale@english{\chairmanname}{Chairman of the Audit Committee}%
-\tud@locale@english{\focusname}{Focus of work}%
-\tud@locale@english{\objectivesname}{Objectives of work}%
-\tud@locale@english{\evaluationname}{Evaluation}%
-\tud@locale@english{\evaluationtext}{for the}%
-\tud@locale@english{\contentname}{Content}%
-\tud@locale@english{\assessmentname}{Assessment}%
-\tud@locale@english{\gradetext}{%
+\tud@localization@german{\noticename}{Aushang}%
+\tud@localization@english{\authorname}{Author}%
+\tud@localization@english{\contactname}{Contact}%
+\tud@localization@english{\contactpersonname}{Counterpart}%
+\tud@localization@english{\taskname}{Task}%
+\tud@localization@english{\tasktext}{for the preparation of a}%
+\tud@localization@english{\namesname}{Name}%
+\tud@localization@english{\issuedatetext}{Issued on}%
+\tud@localization@english{\duedatetext}{Due date for submission}%
+\tud@localization@english{\chairmanname}{Chairman of the Audit Committee}%
+\tud@localization@english{\focusname}{Focus of work}%
+\tud@localization@english{\objectivesname}{Objectives of work}%
+\tud@localization@english{\evaluationname}{Evaluation}%
+\tud@localization@english{\evaluationtext}{for the}%
+\tud@localization@english{\contentname}{Content}%
+\tud@localization@english{\assessmentname}{Assessment}%
+\tud@localization@english{\gradetext}{%
The thesis is evaluated with a grade of \textbf{\@grade}.%
}%
-\tud@locale@english{\noticename}{Notice}%
+\tud@localization@english{\noticename}{Notice}%
%%% From File: tudscr-texindy.dtx
\begingroup
\newcommand*\tud@write@xdy{}
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls
index c75450392a8..6b2fc0aa7fd 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls
@@ -12,13 +12,13 @@
%% tudscr-layout.dtx (with options: `class,poster,option')
%% tudscr-title.dtx (with options: `class,poster,option')
%% tudscr-frontmatter.dtx (with options: `class,poster,option')
-%% tudscr-comp.dtx (with options: `class,poster,option')
%% tudscr-misc.dtx (with options: `class,poster,option')
+%% tudscr-comp.dtx (with options: `class,poster,option')
%% tudscr-misc.dtx (with options: `class,poster,execute')
%% tudscr-base.dtx (with options: `class,poster,body')
%% tudscr-fonts.dtx (with options: `class,poster,body')
%% tudscr-fields.dtx (with options: `class,poster,body')
-%% tudscr-locale.dtx (with options: `class,poster,body')
+%% tudscr-localization.dtx (with options: `class,poster,body')
%% tudscr-area.dtx (with options: `class,poster,body')
%% tudscr-pagestyle.dtx (with options: `class,poster,body')
%% tudscr-layout.dtx (with options: `class,poster,body')
@@ -29,9 +29,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -57,7 +57,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -72,13 +72,13 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\newcommand*\TUD@ProvidesClass[3]{%
\ProvidesClass{#1}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
^^J#3 (#2)%
]%
\newcommand*\TUD@Class@KOMA{#2}%
@@ -88,22 +88,29 @@
\fi%
}
\providecommand*\TUD@Class@Info{%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{+------------------------------------------------------------------}%
\typeout{| Corporate Design of Technische Universitaet Dresden}%
- \typeout{| Class: \TUD@Class@Name}%
- \typeout{| Version: \TUD@Version}%
- \typeout{| Author: Falk Hanisch (\tudscrmail)}%
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{| Class: \TUD@Class@Name}%
+ \typeout{| Version: \TUD@Version}%
+ \typeout{| Author: Falk Hanisch (\tudscrmail)}%
+ \typeout{| Repository: https://github.com/tud-cd/tudscr}%
+ \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}%
+ \typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesClass{tudscrposter}{scrartcl}{poster class}
\edef\TUDScriptClassName{\TUD@Class@Name}
\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
@@ -117,25 +124,11 @@
a TUD-Script class%
}%
]{tudscrfonts}
-\newif\if@tud@x@fontspec@enabled
-\AfterPackage*{fontspec}{%
- \@ifpackagelater{fontspec}{2017/01/24}{%
- \@tud@x@fontspec@enabledtrue%
- }{%
- \@tud@x@fontspec@enabledfalse%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- Version `2017/01/24' of package `fontspec' is needed,\MessageBreak
- but only version\MessageBreak
- `\csname ver@fontspec.sty\endcsname'\MessageBreak
- is available, so a fallback layout is used%
- }%
- }%
-}
-\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@active
+\newif\if@tud@cdfont@heavy
\newif\if@tud@cdfont@ultrabold
-\@tud@cdfont@dintrue
-\newcommand*\tud@cdfont@num{1}
+\newif\if@tud@cdfont@lining
+\@tud@cdfont@liningtrue
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@bool@numkey,%
@@ -144,109 +137,205 @@
{normalbold}{3},{boldnormal}{3},%
{ultrabold}{4},{boldultra}{4},{heavybold}{4},{boldheavy}{4},%
{extendedbold}{4},{boldextended}{4},%
- {nodin}{5},{nodinbold}{5},{noDIN}{5},{noDINBold}{5},%
- {din}{6},{dinbold}{6},{DIN}{6},{DINBold}{6},%
- {nohead}{7},{nocdhead}{7},{noheadfont}{7},{noheadcdfont}{7},%
- {nocdheadfont}{7},{nobar}{7},{nobarfont}{7},%
- {head}{8},{headfont}{8},{cdhead}{8},{headcdfont}{8},{cdheadfont}{8},%
- {bar}{8},{barfont}{8},%
- {lighthead}{8},{lightheadfont}{8},{lightfonthead}{8},%
- {lightcdhead}{8},{lightheadcdfont}{8},{lightcdheadfont}{8},%
- {lightbar}{8},{lightbarfont}{8},{lightfontbar}{8},%
- {headlight}{8},{headfontlight}{8},{headlightfont}{8},%
- {cdheadlight}{8},{headcdfontlight}{8},{cdheadfontlight}{8},%
- {barlight}{8},{barfontlight}{8},{barlightfont}{8},%
- {litehead}{8},{liteheadfont}{8},{litefonthead}{8},%
- {litecdhead}{8},{liteheadcdfont}{8},{litecdheadfont}{8},%
- {litebar}{8},{litebarfont}{8},{litefontbar}{8},%
- {headlite}{8},{headfontlite}{8},{headlitefont}{8},%
- {cdheadlite}{8},{headcdfontlite}{8},{cdheadfontlite}{8},%
- {barlite}{8},{barfontlite}{8},{barlitefont}{8},%
- {noheavyhead}{8},{noheavyheadfont}{8},{noheavyfonthead}{8},%
- {noheavycdhead}{8},{noheavyheadcdfont}{8},{noheavycdheadfont}{8},%
- {noheavybar}{8},{noheavybarfont}{8},{noheavyfontbar}{8},%
- {headnoheavy}{8},{headfontnoheavy}{8},{headnoheavyfont}{8},%
- {cdheadnoheavy}{8},{headcdfontnoheavy}{8},{cdheadfontnoheavy}{8},%
- {barnoheavy}{8},{barfontnoheavy}{8},{barnoheavyfont}{8},%
- {heavyhead}{9},{heavyheadfont}{9},{heavyfonthead}{9},%
- {heavycdhead}{9},{heavyheadcdfont}{9},{heavycdheadfont}{9},%
- {heavybar}{9},{heavybarfont}{9},{heavyfontbar}{9},%
- {headheavy}{9},{headfontheavy}{9},{headheavyfont}{9},%
- {cdheadheavy}{9},{headcdfontheavy}{9},{cdheadfontheavy}{9},%
- {barheavy}{9},{barfontheavy}{9},{barheavyfont}{9},%
- {nomath}{10},{nocdmath}{10},%
- {serifmath}{10},{serif}{10},{nosansmath}{10},{nosans}{10},%
- {math}{11},{cdmath}{11},{sansmath}{11},{sans}{11},%
- {upgreek}{12},{upright}{12},{uprightgreek}{12},{uprightGreek}{12},%
- {slgreek}{13},{slanted}{13},{slantedgreek}{13},{slantedGreek}{13},%
- {fontspec}{14},{luatex}{14},{lualatex}{14}{xetex}{14},{xelatex}{14},%
- {nofontspec}{15},{nfss}{15},{pdftex}{15},{pdflatex}{15}%
+ {lf}{5},{lfigures}{5},{liningfigures}{5},{lining}{5},%
+ {ln}{5},{lnumbers}{5},{liningnumbers}{5},%
+ {nf}{5},{nfigures}{5},{normalfigures}{5},%
+ {nn}{5},{nnumbers}{5},{normalnumbers}{5},%
+ {osf}{6},{osfigures}{6},{oldfigures}{6},{oldstylefigures}{6},{oldstyle}{6},%
+ {osn}{6},{osnumbers}{6},{oldnumbers}{6},{oldstylenumbers}{6},%
+ {nomath}{7},{nocdmath}{7},%
+ {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},%
+ {math}{8},{cdmath}{8},{sansmath}{8},{sans}{8},%
+ {upgreek}{9},{uprightgreek}{9},{uprightgreeks}{9},%
+ {slgreek}{10},{slantedgreek}{10},{slantedgreeks}{10},%
+ {itgreek}{10},{italicgreek}{10},{italicgreeks}{10},%
+ {texgreek}{11},{latexgreek}{11},{texgreeks}{11},{latexgreeks}{11},%
+ {standardgreek}{11},{standardgreeks}{11},%
+ {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
+ {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ ,{nohead}{14},{nocdhead}{14},{noheadfont}{14},{noheadcdfont}{14},%
+ {nocdheadfont}{14},{nobar}{14},{nobarfont}{14},%
+ {head}{15},{headfont}{15},{cdhead}{15},{headcdfont}{15},{cdheadfont}{15},%
+ {bar}{15},{barfont}{15},%
+ {lighthead}{15},{lightheadfont}{15},{lightfonthead}{15},%
+ {lightcdhead}{15},{lightheadcdfont}{15},{lightcdheadfont}{15},%
+ {lightbar}{15},{lightbarfont}{15},{lightfontbar}{15},%
+ {headlight}{15},{headfontlight}{15},{headlightfont}{15},%
+ {cdheadlight}{15},{headcdfontlight}{15},{cdheadfontlight}{15},%
+ {barlight}{15},{barfontlight}{15},{barlightfont}{15},%
+ {litehead}{15},{liteheadfont}{15},{litefonthead}{15},%
+ {litecdhead}{15},{liteheadcdfont}{15},{litecdheadfont}{15},%
+ {litebar}{15},{litebarfont}{15},{litefontbar}{15},%
+ {headlite}{15},{headfontlite}{15},{headlitefont}{15},%
+ {cdheadlite}{15},{headcdfontlite}{15},{cdheadfontlite}{15},%
+ {barlite}{15},{barfontlite}{15},{barlitefont}{15},%
+ {noheavyhead}{15},{noheavyheadfont}{15},{noheavyfonthead}{15},%
+ {noheavycdhead}{15},{noheavyheadcdfont}{15},{noheavycdheadfont}{15},%
+ {noheavybar}{15},{noheavybarfont}{15},{noheavyfontbar}{15},%
+ {headnoheavy}{15},{headfontnoheavy}{15},{headnoheavyfont}{15},%
+ {cdheadnoheavy}{15},{headcdfontnoheavy}{15},{cdheadfontnoheavy}{15},%
+ {barnoheavy}{15},{barfontnoheavy}{15},{barnoheavyfont}{15},%
+ {heavyhead}{16},{heavyheadfont}{16},{heavyfonthead}{16},%
+ {heavycdhead}{16},{heavyheadcdfont}{16},{heavycdheadfont}{16},%
+ {heavybar}{16},{heavybarfont}{16},{heavyfontbar}{16},%
+ {headheavy}{16},{headfontheavy}{16},{headheavyfont}{16},%
+ {cdheadheavy}{16},{headcdfontheavy}{16},{cdheadfontheavy}{16},%
+ {barheavy}{16},{barfontheavy}{16},{barheavyfont}{16}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@deactivate%
\or% true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavyfalse%
+ \tud@cdfont@activate%
\or% heavy
- \renewcommand*\tud@cdfont@num{2}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavytrue%
+ \tud@cdfont@activate%
\or% normalbold
\@tud@cdfont@ultraboldfalse%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@activate%
\or% ultrabold
\@tud@cdfont@ultraboldtrue%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \or% nodin
- \@tud@cdfont@dinfalse%
- \or% din
- \@tud@cdfont@dintrue%
- \or% nohead
- \TUDoptions{cdhead=false}%
- \or% head
- \TUDoptions{cdhead=true}%
- \or% heavyhead
- \TUDoptions{cdhead=heavy}%
+ \tud@cdfont@activate%
+ \or% liningfigures
+ \@tud@cdfont@liningtrue%
+ \tud@cdfont@activate%
+ \or% oldstylefigures
+ \@tud@cdfont@liningfalse%
+ \tud@cdfont@activate%
\or% nomath
\TUDoptions{cdmath=false}%
\or% math
\TUDoptions{cdmath=true}%
- \or% upgreek
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\or% fontspec
\TUDoptions{fontspec=true}%
\or% nofontspec
\TUDoptions{fontspec=false}%
+ \or% nohead
+ \TUDoptions{cdhead=false}%
+ \or% head
+ \TUDoptions{cdhead=true}%
+ \or% heavyhead
+ \TUDoptions{cdhead=heavy}%
\fi%
\else%
- \ifdimen{#1}{%
- \ifdim#1>\z@\relax%
- \TUD@KOMAoptions{fontsize=#1}%
- \csname @tud@fontsize@settrue\endcsname%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \fi%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{%
+ \ifdim\tud@res@a>\z@\relax%
+ \TUDoptions{fontsize=#1}%
+ \tud@cdfont@activate%
\FamilyKeyStateProcessed%
\fi%
}{}%
\fi%
}
+\newcommand*\tud@cdfont@activate{%
+ \@tud@cdfont@activetrue%
+ \if@tud@cdfont@heavy%
+ \tud@locked@num@preset{tud@head@font@num}{2}%
+ \else%
+ \tud@locked@num@preset{tud@head@font@num}{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newcommand*\tud@cdfont@deactivate{%
+ \@tud@cdfont@activefalse%
+ \tud@locked@num@preset{tud@head@font@num}{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newif\if@tud@cdoldfont@active
+\newif\if@tud@cdoldfont@nodin
+\TUD@key{cdoldfont}[true]{%
+ \TUD@set@numkey{cdoldfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@cdoldfont@activefalse%
+ \@tud@cdoldfont@nodintrue%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@deactivate%
+ \fi%
+ \or% true/din
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@activate%
+ \or% nodin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodintrue%
+ \tud@cdfont@activate%
+ \or% onlydin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@deactivate%
+ \fi%
+ \else%
+ \@tud@cdoldfont@activetrue%
+ \TUDoptions{cdfont=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \if@tud@cdoldfont@active%
+ \let\@tud@cdoldfont@activefalse\@tud@cdoldfont@activetrue%
+ \TUD@key[.comp]{cdfont}{%
+ \TUD@set@numkey{cdfont}{@tempa}{%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUDoptions{cdoldfont=#1}%
+ \fi%
+ }%
+ \else%
+ \TUD@key{cdoldfont}[]{%
+ \ClassError{\TUD@Class@Name}%
+ {Option `cdoldfont' not active}{%
+ Option `cdoldfont' must be activated while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \fi%
+}
+\newif\if@tud@x@scr@fontsize@set
+\TUD@key{fontsize}{%
+ \TUD@set@dimenkey{fontsize}{\@tempa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \@tud@x@scr@fontsize@settrue%
+ \TUD@KOMAoptions{fontsize=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \RelaxFamilyKey{TUD}{fontsize}%
+ \DefineFamilyMember{KOMA}%
+ \DefineFamilyKey{KOMA}{fontsize}{%
+ \@tud@x@scr@fontsize@settrue%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The key `fontsize=#1' should only be\MessageBreak%
+ used as class option%
+ }%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \FamilyKeyStateProcessed%
+ }%
+}
\newif\if@tud@relspacing
\TUD@key{relspacing}[true]{%
\TUD@set@numkey{relspacing}{@tempa}{%
@@ -263,50 +352,91 @@
\TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
-\DefineFamilyMember{KOMA}
-\DefineFamilyKey{KOMA}{fontsize}{%
- \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
- \FamilyKeyStateProcessed%
+\newcommand*\tud@ttfont@num{0}
+\TUD@key{ttfont}[true]{%
+ \TUD@set@numkey{ttfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {roboto}{1},{roboto-mono}{1},{robo}{1},%
+ {lm}{2},{lmtt}{2},{lmodern}{2}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@ttfont@num{0}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@num{1}%
+ \or% lmodern
+ \renewcommand*\tud@ttfont@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
}
-\bool@lock{@tud@cdmath}
-\bool@std@lock{@tud@cdmath}{true}%
+\tud@locked@newbool{@tud@cdmath@active}
+\tud@locked@bool@preset{@tud@cdmath@active}{true}%
\TUD@key{cdmath}[true]{%
\TUD@set@numkey{cdmath}{@tempa}{%
\TUD@bool@numkey,%
{serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
{sansmath}{1},{sans}{1},%
- {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
- {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ {upgreek}{2},{uprightgreek}{2},{uprightgreeks}{2},%
+ {slgreek}{3},{slantedgreek}{3},{slantedgreeks}{3},%
+ {itgreek}{3},{italicgreek}{3},{italicgreeks}{3},%
+ {texgreek}{4},{latexgreek}{4},{texgreeks}{4},{latexgreeks}{4},%
+ {standardgreek}{4},{standardgreeks}{4}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \bool@set@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \tud@locked@bool@set{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\or% true
- \bool@set@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
- \or% upgreek
+ \tud@locked@bool@set{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\fi%
\fi%
}
-\bool@lock{@tud@slantedgreek}
+\newcommand*\tud@slantedgreek@num{0}
\TUD@key{slantedgreek}[true]{%
- \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
+ \TUD@set@numkey{slantedgreek}{@tempa}{%
+ \TUD@bool@numkey,%
+ {up}{0},{upright}{0},%
+ {sl}{1},{slanted}{1},{it}{1},{italic}{1},%
+ {standard}{2},{std}{2},{tex}{2},{latex}{2},{stdgrk}{2},{stdgrks}{2},%
+ {standardgreek}{2},{standardgreeks}{2},%
+ {texgreek}{2},{latexgreek}{2},{texgreeks}{2},{latexgreeks}{2}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \bool@set@lock{@tud@slantedgreek}{#1}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \ifcase\@tempa\relax% upright
+ \renewcommand*\tud@slantedgreek@num{0}%
+ \or% slanted
+ \renewcommand*\tud@slantedgreek@num{1}%
+ \or% standard
+ \renewcommand*\tud@slantedgreek@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+\TUD@key{slantedGreeks}[true]{\TUDoptions{slantedgreek=#1}}
+\newif\if@tud@lgrgreeks
+\TUD@key{lgrgreeks}[true]{\TUD@set@ifkey{lgrgreeks}{@tud@lgrgreeks}{#1}}
+\TUD@key{lgrgreek}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreeks}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreek}[true]{\TUDoptions{lgrgreeks=#1}}
%%% From File: tudscr-area.dtx
-\cs@lock{tud@cdgeometry@num}{0}
+\newif\if@tud@cdgeometry@reset
+\newcommand*\tud@cdgeometry@reset[1]{%
+ \@tud@cdgeometry@resettrue%
+ \TUDoptions{cdgeometry=#1}%
+ \@tud@cdgeometry@resetfalse%
+}
+\tud@locked@newnum{tud@cdgeometry@num}{0}
\newcommand*\tud@cdgeometry@calc@num{0}
\TUD@key{cdgeometry}[true]{%
- \let\@tempb\tud@cdgeometry@num%
- \let\@tempc\tud@cdgeometry@calc@num%
\TUD@set@numkey{cdgeometry}{@tempa}{%
\TUD@bool@numkey,%
{typearea}{0},%
@@ -322,36 +452,42 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false/typearea
- \cs@set@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@set{tud@cdgeometry@num}{0}%
\or% true/cd
- \cs@set@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@set{tud@cdgeometry@num}{2}%
\or% symmetric
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\or% twoside
- \cs@set@lock{tud@cdgeometry@num}{4}%
+ \tud@locked@num@set{tud@cdgeometry@num}{4}%
\TUD@KOMAoptions{twoside=true}%
\or% oneside
\ifnum\tud@cdgeometry@num>\thr@@\relax%
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\fi%
\TUD@KOMAoptions{twoside=false}%
\or% restricted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{0}%
\or% adapted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{1}%
\or% calculated
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{2}%
\or% custom
- \cs@set@lock{tud@cdgeometry@num}{1}%
+ \tud@locked@num@set{tud@cdgeometry@num}{1}%
\fi%
- \@tempswafalse%
- \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi%
- \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi%
- \if@tempswa%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \if@atdocument%
+ \if@tud@cdgeometry@reset\else%
+ \ifcase\tud@cdgeometry@num\relax%
+ \tud@loadgeometry{current@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or%
+ \tud@loadgeometry{current@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
\fi%
\fi%
}
@@ -359,7 +495,7 @@
\TUD@key{extrabottommargin}{%
\TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\fi%
}
\newcommand*\tud@dim@bleedmargin{.2in}
@@ -374,30 +510,45 @@
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{twoside}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
\DefineFamilyKey{KOMA}{twocolumn}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
-\newcommand*\tud@x@ta@warnings@off{}
-\newcommand*\tud@x@ta@warnings@on{}
-\IfFileExists{silence.sty}{%
- \RequirePackage{silence}[2012/07/02]%
- \WarningFilter[typearea]{typearea}{DIV for}%
- \WarningFilter[typearea]{typearea}{Bad type area settings!}%
- \WarningFilter[typearea]{typearea}{Maybe no optimal type area settings!}%
- \WarningFilter[typearea]{typearea}{Very low DIV value!}%
- \BeforePackage{typearea}{\ActivateWarningFilters[typearea]}%
- \AfterPackage{typearea}{\DeactivateWarningFilters[typearea]}%
- \renewcommand*\tud@x@ta@warnings@off{\ActivateWarningFilters[typearea]}
- \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]}
-}{}
+\newcommand*\tud@x@typearea@warnings@off[1][]{%
+ \IfArgIsEmpty{#1}{}{\let#1\@empty}%
+ \tud@cs@store{PackageWarningNoLine}%
+ \renewcommand*\PackageWarningNoLine[2]{%
+ \@tud@res@swatrue%
+ \ifstr{##1}{typearea}{%
+ \ifstrstart{##2}{Bad type area settings!}{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{%
+ Maybe no optimal type area settings!%
+ }{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{Very low DIV value!}{\@tud@res@swafalse}{}%
+ }{}%
+ \if@tud@res@swa%
+ \tud@cs@use{PackageWarning}{##1}{##2}%
+ \else%
+ \IfArgIsEmpty{#1}{}{\listeadd#1{##2}}%
+ \fi%
+ }%
+}
+\newcommand*\tud@x@typearea@warnings@on{%
+ \tud@cs@restore{PackageWarningNoLine}%
+}
+\BeforePackage{typearea}{%
+ \tud@x@typearea@warnings@off%
+}
+\AfterPackage{typearea}{%
+ \tud@x@typearea@warnings@on%
+}
%%% From File: tudscr-pagestyle.dtx
-\cs@lock{tud@head@font@num}{0}
-\cs@lock{tud@head@bar@num}{0}
-\bool@lock{@tud@head@widebar}
+\tud@locked@newnum{tud@head@font@num}{0}
+\tud@locked@newnum{tud@head@bar@num}{0}
+\tud@locked@newbool{@tud@head@widebar}
\newif\if@tud@head@font@set
\newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
@@ -424,23 +575,23 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@head@font@num}{0}%
+ \tud@locked@num@set{tud@head@font@num}{0}%
\or% true
- \cs@set@lock{tud@head@font@num}{1}%
+ \tud@locked@num@set{tud@head@font@num}{1}%
\or% heavy
- \cs@set@lock{tud@head@font@num}{2}%
+ \tud@locked@num@set{tud@head@font@num}{2}%
\or% nocolor
- \cs@set@lock{tud@head@bar@num}{0}%
+ \tud@locked@num@set{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% color
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% textwidth
- \bool@set@lock{@tud@head@widebar}{false}%
+ \tud@locked@bool@set{@tud@head@widebar}{false}%
\or% paperwidth
- \bool@set@lock{@tud@head@widebar}{true}%
+ \tud@locked@bool@set{@tud@head@widebar}{true}%
\or% date
\@tud@head@datetrue%
\or% nodate
@@ -452,7 +603,7 @@
\fi%
}
\TUD@AfterPackage@set{scrlayer-scrpage}
-\bool@lock{@tud@foot@colored}
+\tud@locked@newbool{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@bool@numkey,%
@@ -467,13 +618,13 @@
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
- \tud@font@koma@unset{pageheadfoot}%
+ \tud@komafont@unset{pageheadfoot}%
}%
\or% true
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
- \tud@font@koma@set{pageheadfoot}{\upshape}%
+ \tud@komafont@set{pageheadfoot}{\upshape}%
\clearpairofpagestyles%
\ofoot[\pagemark]{%
\if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi%
@@ -483,12 +634,13 @@
\ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
\or% nocolor
- \bool@set@lock{@tud@foot@colored}{false}%
+ \tud@locked@bool@set{@tud@foot@colored}{false}%
\or% color
- \bool@set@lock{@tud@foot@colored}{true}%
+ \tud@locked@bool@set{@tud@foot@colored}{true}%
\fi%
\else%
- \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{\TUDoptions{extrabottommargin=#1}}{}%
\fi%
}
\newcommand*\tud@ps@store[1]{%
@@ -506,9 +658,9 @@
\tud@ps@@store{#1}{even}{middle}{foot}%
}
\newcommand*\tud@ps@@store[4]{%
- \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{%
+ \ifcsundef{@@tud@ps@#1@#2@#3@#4}{%
\csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}%
- }%
+ }{}%
}
\newcommand*\tud@ps@restore[1]{%
\tud@ps@@restore{#1}{odd}{left}{head}%
@@ -550,9 +702,9 @@
\TUD@bool@numkey,%
{color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},%
{colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},%
- {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},%
+ {gray}{4},{grey}{4},{hks92}{4},{cdgray}{4},{cdgrey}{4},%
{black}{5},{cdblack}{5},%
- {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},%
+ {blue}{6},{hks41}{6},{cdblue}{6},{cddarkblue}{6},%
{white}{7},{cdwhite}{7}%
}
\newif\if@tud@headlogo@option@set
@@ -606,8 +758,8 @@
\tud@comp@resetpagestyle%
}
%%% From File: tudscr-layout.dtx
-\newcommand*\tud@layout@switch{}
-\edef\tud@layout@switch{%
+\newcommand*\tud@cd@switch{}
+\edef\tud@cd@switch{%
\TUD@bool@numkey,%
{nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},%
{lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
@@ -619,110 +771,47 @@
{color}{5},{colour}{5},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
-\cs@lock{tud@layout@title@num}{0}
-\cs@lock{tud@layout@part@num}{0}
-\cs@lock{tud@layout@section@num}{0}
\newcommand*\tud@cd@num{0}
\TUD@key{cd}[true]{%
- \TUD@set@numkey{cd}{tud@cd@num}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cd}{tud@cd@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@layout@title@num}{0}%
- \cs@std@lock{tud@layout@part@num}{0}%
- \cs@std@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@std@lock{tud@layout@title@num}{1}%
- \cs@std@lock{tud@layout@part@num}{1}%
- \cs@std@lock{tud@layout@section@num}{1}%
- \or% litecolor
- \cs@std@lock{tud@layout@title@num}{2}%
- \cs@std@lock{tud@layout@part@num}{2}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% barcolor
- \cs@std@lock{tud@layout@title@num}{3}%
- \cs@std@lock{tud@layout@part@num}{3}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% bicolor
- \cs@std@lock{tud@layout@title@num}{4}%
- \cs@std@lock{tud@layout@part@num}{4}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% color
- \cs@std@lock{tud@layout@title@num}{5}%
- \cs@std@lock{tud@layout@part@num}{5}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% full
- \cs@std@lock{tud@layout@title@num}{6}%
- \cs@std@lock{tud@layout@part@num}{6}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@key@preset{cdtitle}{#1}%
+ \TUD@key@preset{cdpart}{#1}%
+ \TUD@key@preset{cdsection}{#1}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\if@atdocument\else%
\ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{0}%
\else% !false
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\fi%
\fi%
\fi%
}
+\newcommand*\tud@cd@title@num{0}
\TUD@key{cdtitle}[true]{%
- \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdtitle}{tud@cd@title@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@title@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@title@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@title@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@title@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@title@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@title@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@title@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@part@num{0}
\TUD@key{cdpart}[true]{%
- \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdpart}{tud@cd@part@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@part@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@part@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@part@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@part@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@part@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@part@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@part@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@section@num{0}
\TUD@key{cdsection}[true]{%
- \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdsection}{tud@cd@section@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@section@num}{1}%
- \else% *color
- \cs@set@lock{tud@layout@section@num}{2}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
\newcommand*\tud@pagecolor{}%
-\TUD@key{backgroundcolor}[true]{%
- \TUD@set@numkey{backgroundcolor}{@tempa}{%
+\TUD@key{backcolor}[true]{%
+ \TUD@set@numkey{backcolor}{@tempa}{%
\TUD@bool@numkey,%
{nocolor}{0},{nocolour}{0},{none}{0},%
{color}{1},{colour}{1},{cdcolor}{1},{cdcolour}{1}%
@@ -742,6 +831,8 @@
\normalcolor%
\fi%
}
+\TUD@key{backgroundcolor}[true]{\TUDoptions{backcolor=#1}}
+\TUD@key{bgcolor}[true]{\TUDoptions{backcolor=#1}}
\AfterPackage{xcolor}{%
\CheckCommand*\normalcolor{\let\current@color\default@color\set@color}%
\apptocmd{\normalcolor}{%
@@ -752,19 +843,28 @@
\normalcolor%
}%
}
+\newif\if@tud@heavyheadings
+\TUD@key{headings}{%
+ \TUD@set@numkey{headings}{@tempa}{%
+ {light}{0},{lightfont}{0},{lite}{0},{litefont}{0},{noheavyfont}{0},%
+ {normal}{0},{standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},%
+ {heavy}{1},{heavyfont}{1},{bold}{1},{boldfont}{1},%
+ {ultrabold}{1},{boldultra}{1},{heavybold}{1},{boldheavy}{1},%
+ {extendedbold}{1},{boldextended}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% light
+ \@tud@heavyheadingsfalse%
+ \or% heavy
+ \@tud@heavyheadingstrue%
+ \fi%
+ \fi%
+}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{headings}{%
\TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
\FamilyKeyStateProcessed%
}
-\DefineFamilyKey{KOMA}{open}{%
- \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
- \FamilyKeyStateProcessed%
-}
-\DefineFamilyKey{KOMA}{chapterprefix}{%
- \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
- \FamilyKeyStateProcessed%
-}
%%% From File: tudscr-title.dtx
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{titlepage}[true]{%
@@ -810,18 +910,99 @@
\DefineFamilyKey{KOMA}{abstract}[true]{%
\AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
}
+%%% From File: tudscr-misc.dtx
+\newif\if@tud@bookmarks
+\TUD@key{tudbookmarks}[true]{%
+ \TUD@set@ifkey{tudbookmarks}{@tud@bookmarks}{#1}%
+}
+\newcommand*\tud@x@scr@checkoptions{%
+ \expandafter\tud@x@scr@pt\CurrentOption pt\@nil%
+ \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
+}
+\newcommand*\tud@x@scr@pt{}
+\def\tud@x@scr@pt #1pt#2\@nil{%
+ \ifstr{#2}{pt}{\ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}%
+}
+\newcommand*\tud@atdocument@hook{}
+\let\tud@atdocument@hook\relax
+\newcommand*\TUD@SpecialOptionAtDocument[1]{}
+\AfterEndPreamble{%
+ \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
+ \ifx\tud@atdocument@hook\relax%
+ \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
+ \AtEndOfFamilyOptions*{%
+ \tud@atdocument@hook%
+ \tud@atdocument@process%
+ }%
+ \fi%
+ \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
+ }%
+}
%%% From File: tudscr-comp.dtx
\newcommand*\TUD@deprecated@key[2]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The option key `#1' is deprecated\MessageBreak%
- It's recommended to use `#2'\MessageBreak%
+ The key `#1' is deprecated. It's\MessageBreak%
+ recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\newcommand*\TUD@deprecated@cs[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\AfterEndPreamble{%
+ \noexpand\TUD@deprecated@@cs{#1}{#2}%
+ }%
+ }%
+ \tud@res@a%
+}
+\newcommand*\TUD@deprecated@@cs[2]{%
+ \ifcsundef{#1}{%
+ \begingroup%
+ \def\tud@res@a{%
+ The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ }%
+ \def\tud@res@b##1@##2\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \appto\tud@res@a{%
+ You should use `\@backslashchar#2' instead%
+ }%
+ }{%
+ \appto\tud@res@a{%
+ You should not use this command. It is substituted\MessageBreak%
+ with `\@backslashchar#2' internally%
+ }%
+ }%
+ }%
+ \tud@res@b#2@\@nil%
+ \edef\tud@res@c{%
+ \endgroup%
+ \noexpand\newrobustcmd\csname #1\endcsname{%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}%
+ {\tud@res@a}%
+ \noexpand\csletcs{#1}{#2}%
+ \noexpand\csuse{#2}%
+ }%
+ }%
+ \tud@res@c%
+ }{}%
+}
+\newcommand*\TUD@deprecated@lengthcs[2][]{%
+ \ifdim\csuse{#2}<\maxdimen\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
+ You should use option `#2' instead%
+ }%
+ \csxdef{tud@dim@#2}{\the\csuse{#2}}%
+ \expandafter\setlength\csname #2\endcsname{\maxdimen}%
+ \global\csuse{#2}=\csuse{#2}%
+ #1%
+ \fi%
+}
\newcommand*\tud@v@comp{\tud@v@last}
-\TUD@key{tudscrver}[last]{%
+\TUD@key[.comp]{tudscrver}[last]{%
\tud@v@get\@tempa{#1}%
\ifcsundef{tud@v@\@tempa}{%
\ClassWarningNoLine{\TUD@Class@Name}%
@@ -830,23 +1011,25 @@
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \def\tud@v@comp{0}%
+ \renewcommand*\tud@v@comp{0}%
}{%
\ClassInfoNoLine{\TUD@Class@Name}%
{%
- Switching compatibility level to `\@tempa'%
+ Switching compatibility level to `v\@tempa'%
}%
\edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
\FamilyKeyStateProcessed%
}
+\TUD@key{tudscrver}{\FamilyKeyStateProcessed}%
\AtEndOfClass%
{%
+ \RelaxFamilyKey[.comp]{TUD}{tudscrver}%
\TUD@key{tudscrver}[]{%
\ClassError{\TUD@Class@Name}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
+ class `\TUD@Class@Name'\space%
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
@@ -865,7 +1048,7 @@
KOMA-Script v\TUD@Version@KOMA is required%
}{%
\TUD@Version\space must at least be used with\MessageBreak%
- KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion is used.%
+ KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion was found.%
}%
}%
}
@@ -875,7 +1058,6 @@
\csdef{tud@v@2.01a}{0}
\csdef{tud@v@2.01b}{0}
\csdef{tud@v@2.02}{0}
-\csdef{tud@v@2.02}{0}
\csdef{tud@v@2.03}{1}
\csdef{tud@v@2.03a}{1}
\csdef{tud@v@2.04}{2}
@@ -897,7 +1079,8 @@
\csdef{tud@v@2.05k}{3}
\csdef{tud@v@2.05l}{3}
\csdef{tud@v@2.05m}{3}
-\csdef{tud@v@last}{3}
+\csdef{tud@v@2.06}{4}
+\csdef{tud@v@last}{4}
\newcommand*\tud@v@get[2]{%
\begingroup%
\def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
@@ -930,48 +1113,16 @@
}%
\tud@reserved%
}
-\TUD@key{fontspec}[true]{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- The option key `fontspec' is deprecated\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@x@fontspec@enabled}{#1}%
-}
-\AtEndOfClass%
-{%
- \TUD@key{fontspec}[]%
- {%
- \ClassError{\TUD@Class@Name}%
- {Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
- but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@x@fontspec@enabled%
- \RequirePackage{fontspec}[2017/01/24]%
- \fi%
-}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{tudfonts}[true]{%
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{heavyfont}[true]{%
@@ -984,53 +1135,53 @@
\fi%
\fi%
}
-\TUD@key{din}[true]{%
- \TUD@set@ifkey{din}{@tempswa}{#1}%
+\TUD@key{sansmath}[true]{%
+ \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@deprecated@key{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
-\TUD@key{nodin}[true]{%
- \TUD@set@ifkey{nodin}{@tempswa}{#1}%
+\TUD@key{serifmath}[true]{%
+ \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@deprecated@key{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{noDIN}[true]{%
- \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
+\TUD@key{din}[true]{%
+ \TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@deprecated@key{din}{cdoldfont=din}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@deprecated@key{din=#1}{cdoldfont=nodin}%
\fi%
\fi%
}
-\TUD@key{sansmath}[true]{%
- \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
+\TUD@key{nodin}[true]{%
+ \TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@deprecated@key{nodin}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@deprecated@key{nodin=#1}{cdoldfont=din}%
\fi%
\fi%
}
-\TUD@key{serifmath}[true]{%
- \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
+\TUD@key{noDIN}[true]{%
+ \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@deprecated@key{noDIN}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}%
\fi%
\fi%
}
@@ -1101,116 +1252,69 @@
\fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
-%%% From File: tudscr-misc.dtx
-\newif\if@tud@x@scr@paper@set
-\TUD@key{paper}{%
- \tud@lowerstring{\@tempa}{#1}%
- \def\@tempb##1##2\@nil{%
- \@tempswafalse%
- \if ##1a\@tempswatrue%
- \else\if ##1b\@tempswatrue%
- \else\if ##1c\@tempswatrue%
- \else\if ##1d\@tempswatrue%
- \fi\fi\fi\fi%
- \if@tempswa%
- \ifnumber{##2}{}{\@tempswafalse}%
- \fi%
- }%
- \expandafter\@tempb\@tempa\@nil%
- \if@tempswa\else%
- \def\@tempb##1:##2:##3\@nil{%
- \edef\@tempc{##1}%
- \ifx\@tempc\@empty\@tempswafalse\else%
- \edef\@tempc{##2}%
- \ifx\@tempc\@empty\@tempswafalse\else\@tempswatrue\fi%
- \fi%
+\newif\if@tud@x@fontspec@requested
+\TUD@key{fontspec}[true]{%
+ \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
}%
- \expandafter\@tempb\@tempa::\@nil%
\fi%
- \@tud@x@scr@paper@setfalse%
- \if@tempswa%
- \ifstr{\@tempa}{a4}{}{\@tud@x@scr@paper@settrue}%
- \FamilyKeyStateProcessed%
- \else%
- \FamilyKeyStateUnknownValue%
- \fi%
-}
-\newif\if@tud@fontsize@set
-\TUD@key{fontsize}{%
- \@tud@fontsize@settrue%
- \PassOptionsToClass{fontsize=#1}{\TUD@Class@KOMA}%
- \FamilyKeyStateProcessed%
}
-\AtEndOfClass{%
- \RelaxFamilyKey{TUD}{paper}%
- \RelaxFamilyKey{TUD}{fontsize}%
- \ifboolexpr{bool {@tud@x@scr@paper@set} or bool {@landscape}}{%
- \if@tud@fontsize@set\else%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- You've set a paper size, which is different from\MessageBreak%
- default (paper=a4, paper=portrait). Therefore you\MessageBreak%
- should additionally specify an explicit font size.\MessageBreak%
- See the manual for further information%
- }%
- \fi%
- }{}%
-}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
-\newif\if@tud@symbolheadings
-\TUD@key{footnotes}{%
- \TUD@set@numkey{footnotes}{@tempa}{%
- {nosymbolheadings}{0},{numberheadings}{0},%
- {symbolheadings}{1}%
- }{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% nosymbolheadings
- \@tud@symbolheadingsfalse%
- \or% symbolheadings
- \@tud@symbolheadingstrue%
- \fi%
+\AtEndOfClass%
+{%
+ \TUD@key{fontspec}[]%
+ {%
+ \ClassError{\TUD@Class@Name}%
+ {Option `fontspec' too late}{%
+ Option `fontspec' can only be set while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \if@tud@x@fontspec@requested%
+ \RequirePackage{fontspec}[2017/01/24]%
\fi%
}
-\AtEndOfClass{%
- \newcounter{symbolheadings}
-}
%%% From File: tudscr-misc.dtx
-\newcommand*\TUD@SpecialOptionAtDocument[1]{}
-\newcommand*\tud@x@scr@paper{%
- \expandafter\tud@x@scr@@paper\CurrentOption paper\tud@x@scr@@paper%
-}
-\newcommand*\tud@x@scr@@paper{}
-\def\tud@x@scr@@paper #1#2paper#3\tud@x@scr@@paper{%
- \@tempswafalse%
- \ifstr{#3}{paper}{\ifnumber{#2}{%
- \ifstr{#1}{a}{\@tempswatrue}{%
- \ifstr{#1}{b}{\@tempswatrue}{%
- \ifstr{#1}{c}{\@tempswatrue}{%
- \ifstr{#1}{d}{\@tempswatrue}{%
- }}}}%
- }{}}{}%
- \if@tempswa\TUDExecuteOptions{#3=#1#2}\fi%
- \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
-}
-\DeclareOption*{\tud@x@scr@paper}
+\DeclareOption*{}
+\FamilyProcessOptions[.comp]{TUD}\relax
+\tud@if@v@lower{2.05}{%
+ \TUD@key@preset{relspacing}{false}%
+}{%
+ \TUD@key@preset{relspacing}{true}%
+}
+\tud@if@v@lower{2.06}{%
+ \TUD@key@preset{cdoldfont}{ultrabold}%
+ \TUD@key@preset{ttfont}{lmodern}%
+ \TUD@key@preset{headings}{light}%
+}{%
+ \TUD@key@preset{cdfont}{ultrabold}%
+ \TUD@key@preset{ttfont}{roboto}%
+ \TUD@key@preset{headings}{heavy}%
+}
+\DeclareOption*{\tud@x@scr@checkoptions}
\TUDExecuteOptions{%
- cd=bicolor,relspacing=true,tudbookmarks=false,cdfont=ultrabold%
+ cd=bicolor,tudbookmarks=false%
}
\TUDProcessOptions\relax
-\LoadClass{\TUD@Class@KOMA}[2015/04/23]
+\LoadClass{\TUD@Class@KOMA}[2018/03/30]
%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
-\cs@lock{tud@x@multicol@num}{1}
+\newcommand*\tud@x@multicol@num{1}
\newcommand*\tud@x@multicol@check{%
\ifnum\tud@x@multicol@num>\@ne\relax%
\ClassWarning{\TUD@Class@Name}{%
The option `columns=\tud@x@multicol@num' is only\MessageBreak%
supported, when package `multicol' is loaded%
}%
- \cs@set@lock{tud@x@multicol@num}{1}%
+ \renewcommand*\tud@x@multicol@num{1}%
\fi%
}
-\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}}
+\AfterPackage{multicol}{\let\tud@x@multicol@check\relax}
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
@@ -1224,109 +1328,238 @@
\RequirePackage{tudscrcolor}[\TUD@Version]%
}
%%% From File: tudscr-fonts.dtx
-\newcommand*\tud@univers{lun}
-\newif\if@tud@univers
-\newif\if@tud@universmath
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@dinbold
-\newif\if@tud@dinboldmath
-\newcommand*\tud@font@check{%
- \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
- \def\@tempb##1{%
- \if@tud@cdmath%
- \tud@font@math@missing@wrn{##1}%
+\newcommand*\tud@cdfont@wrn{\global\let\tud@cdfont@wrn\relax}
+\newcommand*\tud@cdmath@wrn{\global\let\tud@cdmath@wrn\relax}
+\newif\if@tud@x@fontspec@enabled
+\PassOptionsToPackage{no-math}{fontspec}
+\AfterPackage*{fontspec}{%
+ \@ifpackagelater{fontspec}{2017/01/24}{%
+ \@tud@x@fontspec@enabledtrue%
+ \@tud@res@swafalse%
+ \@ifpackagewith{fontspec}{no-math}{}{\@tud@res@swatrue}%
+ \@ifpackagewith{fontspec}{math}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ It's recommended to load package `fontspec'\MessageBreak%
+ with option `no-math', if you want to use the\MessageBreak%
+ corporate design fonts in math mode%
+ }%
+ }%
\fi%
+ }{%
+ \@tud@x@fontspec@enabledfalse%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ Version `2017/01/24' of package `fontspec' is needed,\MessageBreak%
+ but only version\MessageBreak%
+ `\csname ver@fontspec.sty\endcsname'\MessageBreak%
+ is available, so a fallback layout is used%
+ }%
}%
- \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
- \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN-Bold}}%
- \if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+}
+\AfterPackage*{unicode-math}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The usage of package `unicode-math' will\MessageBreak%
+ most likely cause erroneous outputs in math mode\MessageBreak%
+ with corporate design fonts%
}%
+ }%
+}
+\TUD@RecommendPackage{mweights}[2017/03/30]%
+\newif\if@tud@x@mweights@enabled
+\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
+\newif\if@tud@cdfont@fam@exist
+\newif\if@tud@cdfont@db@exist
+\newcommand*\tud@cdfont@fam{opensans-TLF}
+\newcommand*\tud@cdfont@fam@lf{opensans-TLF}
+\newcommand*\tud@cdfont@fam@osf{opensans-TOsF}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@fam{lun}
+ \renewcommand*\tud@cdfont@fam@lf{lun}
+ \renewcommand*\tud@cdfont@fam@osf{lun}
+ \newcommand*\tud@cdfont@db{0m6}
+\fi
+\newcommand*\tud@ttfont@fam{tudtt}
+\newcommand*\tud@ttfont@rb{tudtt}
+\newcommand*\tud@ttfont@lm{lmtt}
+\newif\if@tud@ttfont@rb@exist
+\IfFileExists{roboto-mono.sty}{%
+ \@tud@ttfont@rb@existtrue%
+}{%
+ \TUD@key@preset{ttfont}{lmodern}%
+}
+\newcommand*\tud@cdfont@check{%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@@check{Univers}{%
+ Light,,Bold,Black,%
+ LightOblique,Oblique,BoldOblique,BlackOblique%
+ }{\tud@cdfont@fam@lf}{@tud@cdfont@fam@exist}%
+ \tud@cdfont@@check{DIN}{Bold}{\tud@cdfont@db}{@tud@cdfont@db@exist}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}%
+ \else%
+ \@ifpackageloaded{opensans}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `opensans'\MessageBreak%
+ manually but just use option `cdfont=true'%
+ }%
+ }{}%
+ \if@tud@cdfont@active%
+ \TUD@CheckPackage{opensans}{2019/06/20}%
+ \TUD@CheckPackage{iwona}{2005/10/03}%
+ \fi%
+ \tud@cdfont@@check{OpenSans}{%
+ Light,Regular,SemiBold,Bold,ExtraBold,%
+ LightItalic,Italic,SemiBoldItalic,BoldItalic,ExtraBoldItalic%
+ }{\tud@cdfont@fam@lf,\tud@cdfont@fam@osf}{@tud@cdfont@fam@exist}%
\fi%
+}
+\newcommand*\tud@cdfont@@check[5][-]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing{##1}{\tud@cdfont@wrn}%
+ }%
\if@tud@x@fontspec@enabled%
- \def\@tempc##1##2{%
- \IfFontExistsTF{##1}{}{%
- ##2%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \def\tud@res@b##1{\IfFontExistsTF{##1}{}{\tud@res@a{##1}}}%
+ \@for\tud@res@c:={#3}\do{%
+ \expandafter\IfArgIsEmpty\expandafter{\tud@res@c}%
+ {\tud@res@b{#2}}%
+ {\tud@res@b{#2#1\tud@res@c}}%
+ }%
+ \else%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \@tud@res@swatrue%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \if@tud@res@swa%
+ \tud@lowerstring\tud@res@b{##1}%
+ \edef\tud@res@b{\tud@res@b##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
\fi%
- }%
+ \if@tud@res@swa%
+ \edef\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \if@tud@res@swa%
+ \noexpand\tud@res@a{\tud@res@b}%
+ \fi%
+ }%
+ \tud@res@a%
}%
- \@tud@universtrue%
- \@tempc{Univers Light}{\@tud@universfalse}%
- \@tempc{Univers}{\@tud@universfalse}%
- \@tempc{Univers Bold}{\@tud@universfalse}%
- \@tempc{Univers Black}{\@tud@universfalse}%
- \@tempc{Univers LightOblique}{\@tud@universfalse}%
- \@tempc{Univers Oblique}{\@tud@universfalse}%
- \@tempc{Univers BoldOblique}{\@tud@universfalse}%
- \@tempc{Univers BlackOblique}{\@tud@universfalse}%
- \@tud@dinboldtrue%
- \@tempc{DIN-Bold}{\@tud@dinboldfalse}%
+ \@for\tud@res@c:={#4}\do{\tud@res@b{\encodingdefault}{\tud@res@c}}%
+ \fi%
+ \if@tud@res@swa%
+ \booltrue{#5}%
\else%
- \def\@tempc##1{%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \boolfalse{#5}%
+ \fi%
+}
+\newcommand*\tud@cdfont@@@check[2]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1##2{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing[##1]{##2}{\tud@cdmath@wrn}%
+ }%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\IfFileExists{\tud@res@b}{}{%
+ \noexpand\tud@res@a{##1}{\tud@res@b}%
+ }%
+ }%
+ \tud@res@a%
+ }%
+ \@for\tud@res@c:={#1}\do{\tud@res@b{\tud@res@c}{#2}}%
+ \if@tud@res@swa\else%
+ \AtBeginDocument{%
+ \if@tud@cdmath@active%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Some math font encodings are missing.\MessageBreak%
+ The option `cdmath=false' is executed. You should\MessageBreak%
+ either use this option by yourself or install\MessageBreak%
+ all necessary fonts with a installation script\MessageBreak%
+ listed in the manual
+ }%
\fi%
+ \TUDoptions{cdmath=false}%
}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN-Bold}}%
\fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- }%
- \undef\tud@font@check%
}
-\newcommand*\tud@font@missing@wrn[1]{%
+\newcommand*\tud@cdfont@missing[3][\encodingdefault]{%
\begingroup%
- \def\@tempa{%
- `#1' font not found for `\encodingdefault' encoding.\MessageBreak%
+ \def\tud@res@a{%
+ `#2' font\MessageBreak%
+ not found for `#1' encoding.\MessageBreak%
}%
\if@tud@x@fontspec@enabled%
- \appto\@tempa{%
- It seems, you haven't installed the required\MessageBreak%
- OTF-font on your system%
- }%
- \else%
- \ifstr{TU}{\encodingdefault}{%
- \appto\@tempa{%
- You should load package `fontspec'\MessageBreak%
- or %
+ \ifstr{\encodingdefault}{#1}{%
+ \appto\tud@res@a{%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. You should provide\MessageBreak%
+ the fonts manually to your OS\MessageBreak%
+ \if@tud@cdoldfont@active\else%
+ or install package `opensans'\MessageBreak%
+ \fi%
}%
- }{%
- \appto\@tempa{Please }%
+ }{}%
+ \else%
+ \if@tud@cdoldfont@active%
+ \def\tud@res@b{T1,OT1,OMS,OML}%
+ \else%
+ \def\tud@res@b{T1,OT1,T2A,T2B,T2C,X2,LGR}%
+ \fi%
+ \@tud@res@swafalse%
+ \@for\tud@res@c:=\tud@res@b\do{%
+ \ifstr{\tud@res@c}{#1}{\@tud@res@swatrue}{}%
}%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
- \if@tempswa%
- \appto\@tempa{%
- use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
+ \if@tud@res@swa%
+ \appto\tud@res@a{%
+ You should %
+ \if@tud@cdoldfont@active%
+ try to install the necessary fonts\MessageBreak%
+ with a installation script listed in the manual%
+ \else%
+ install package `opensans'%
+ \fi%
+ .\MessageBreak%
}%
\else%
- \appto\@tempa{%
- choose a possible encoding with\MessageBreak%
- package `fontenc' (`OT1' or `T1')%
- }%
+ \ifstr{\encodingdefault}{#1}{%
+ \ifstr{TU}{#1}{%
+ \appto\tud@res@a{%
+ You should either load package `fontspec'\MessageBreak%
+ or %
+ }%
+ }{%
+ \appto\tud@res@a{Please }%
+ }%
+ \appto\tud@res@a{%
+ choose a possible encoding with package\MessageBreak%
+ `fontenc' (\tud@res@b).\MessageBreak%
+ }%
+ }{}%
\fi%
\fi%
- \appto\@tempa{.\MessageBreak A fallback layout is used}%
- \ClassWarning{\TUD@Class@Name}{\@tempa}%
+ \appto\tud@res@a{A fallback layout is used}%
+ \edef\tud@res@c{%
+ \etex@unexpanded{\ClassWarning{\TUD@Class@Name}}%
+ {\tud@res@a}
+ }%
+ \xappto#3{\expandonce\tud@res@c}%
\endgroup%
}
-\newcommand*\tud@font@math@missing@wrn[1]{%
- \ClassWarning{\TUD@Class@Name}%
- {%
- `#1' fonts for math typesetting not found.\MessageBreak%
- Please use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
- }%
-}
\begingroup
\catcode`\^=7
\catcode30=12
@@ -1343,9 +1576,9 @@
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage*{ragged2e}{%
- \ifdef{\LaTeXraggedright}{%
+ \ifundef{\LaTeXraggedright}{}{%
\renewcommand*\tud@raggedright{\LaTeXraggedright}%
- }{}%
+ }%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
\newif\if@tud@x@siunitx@enabled
@@ -1355,127 +1588,113 @@
}
\newif\if@tud@x@bm@requested
\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm}
-\RequirePackage{trimspaces}[2009/09/17]
-\newif\if@tud@x@mweights@enabled
-\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
-\newcommand*\tud@font@set{%
- \if@atdocument%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@univers\else%
- \tud@font@missing@wrn{Univers}%
- \fi%
- \if@tud@dinbold\else%
- \tud@font@missing@wrn{DIN-Bold}%
- \fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
+\newcommand*\tud@x@fontspec@init[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\defaultfontfeatures[#1]{%
+ NFSSFamily=#1,%
+ Ligatures=TeX,%
+ BoldFont={},%
+ ItalicFont={},%
+ BoldItalicFont={},%
+ SmallCapsFont={},%
+ #2%
}%
- \fi%
- \fi%
- \ifcase\tud@cdfont@num\relax% false
- \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}%
- \if@tud@x@mweights@enabled%
- \tud@cmd@restore{bfseries@rm}%
- \tud@cmd@restore{bfseries@sf}%
- \tud@cmd@restore{bfseries@tt}%
- \tud@cmd@restore{mdseries@rm}%
- \tud@cmd@restore{mdseries@sf}%
- \tud@cmd@restore{mdseries@tt}%
- \fi%
- \ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@head@font@num}{0}%
- \else% !false
- \cs@std@lock{tud@head@font@num}{1}%
- \fi%
- \else% true/heavy
- \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}%
+ }%
+ \edef\tud@res@b{%
+ \noexpand\newfontfamily%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#1\endcsname{#1}%
+ }%
+ \edef\tud@res@c{%
+ \endgroup\expandonce\tud@res@a\expandonce\tud@res@b%
+ }%
+ \tud@res@c%
+}
+\newcommand*\tud@x@fontspec@set[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareRobustCommand%
+ \expandafter\noexpand\csname #1family\endcsname{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \def\expandafter\noexpand\csname #1default\endcsname{\tud@cdfont@fam}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@font@set{%
+ \if@tud@cdfont@active%
+ \tud@cs@store{rmdefault}%
+ \tud@cs@store{sfdefault}%
+ \tud@cs@store{ttdefault}%
+ \tud@cs@store{bfdefault}%
+ \tud@cs@store{mddefault}%
+ \tud@cs@store{updefault}%
+ \tud@cs@store{sldefault}%
+ \tud@cs@store{itdefault}%
+ \tud@cs@store{familydefault}%
+ \tud@cs@store{seriesdefault}%
+ \tud@cs@store{shapedefault}%
\if@tud@x@mweights@enabled%
- \tud@cmd@store{bfseries@rm}%
- \tud@cmd@store{bfseries@sf}%
- \tud@cmd@store{bfseries@tt}%
- \tud@cmd@store{mdseries@rm}%
- \tud@cmd@store{mdseries@sf}%
- \tud@cmd@store{mdseries@tt}%
- \fi%
- \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
- \if@tud@univers%
- \if@tud@x@fontspec@enabled%
- \setsansfont{Univers}[\tud@x@fontspec@set@univ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{LMMonoLt10-Regular},%
- FontFace={m}{\updefault}{LMMono10-Regular},%
- FontFace={b}{\updefault}{LMMonoLt10-Bold},%
- FontFace={bx}{\updefault}{LMMonoLt10-Bold},%
- FontFace={eb}{\updefault}{LMMonoLt10-Bold},%
- FontFace={l}{\sldefault}{LMMonoLt10-Oblique},%
- FontFace={m}{\sldefault}{LMMonoSlant10-Regular},%
- FontFace={b}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={bx}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={eb}{\sldefault}{LMMonoLt10-BoldOblique},%
- NFSSFamily=\tud@univers t%
- ]%
- \else%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \fi%
- \ifnum\tud@cdfont@num=\@ne\relax% true
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{b}%
- \else% normalbold
- \renewcommand*\bfdefault{m}%
- \fi%
- \renewcommand*\mddefault{l}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{m}%
- \def\bfseries@sf{m}%
- \def\bfseries@tt{m}%
- \def\mdseries@rm{l}%
- \def\mdseries@sf{l}%
- \def\mdseries@tt{l}%
- \fi%
- \else% heavy
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{eb}%
- \else% normalbold
- \renewcommand*\bfdefault{b}%
- \fi%
- \renewcommand*\mddefault{m}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{b}%
- \def\bfseries@sf{b}%
- \def\bfseries@tt{b}%
- \def\mdseries@rm{m}%
- \def\mdseries@sf{m}%
- \def\mdseries@tt{m}%
- \fi%
- \fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\itdefault{\sldefault}%
+ \tud@cs@store{bfseries@rm}%
+ \tud@cs@store{mdseries@rm}%
+ \tud@cs@store{bfseries@sf}%
+ \tud@cs@store{mdseries@sf}%
+ \tud@cs@store{bfseries@tt}%
+ \tud@cs@store{mdseries@tt}%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@store{rmfamily}%
+ \tud@cs@store{sffamily}%
+ \tud@cs@store{ttfamily}%
\fi%
+ \renewcommand*\rmdefault{\sfdefault}%
+ \renewcommand*\updefault{n}%
+ \renewcommand*\itdefault{it}%
+ \renewcommand*\sldefault{sl}%
\renewcommand*\familydefault{\sfdefault}%
\renewcommand*\seriesdefault{\mddefault}%
\renewcommand*\shapedefault{\updefault}%
+ \tud@cdfont@set%
+ \tud@ttfont@set%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@bf}%
+ \edef\mdseries@rm{\tud@cdfont@md}%
+ \edef\bfseries@sf{\tud@cdfont@bf}%
+ \edef\mdseries@sf{\tud@cdfont@md}%
+ \edef\bfseries@tt{\tud@ttfont@bf}%
+ \edef\mdseries@tt{\tud@ttfont@md}%
+ \fi%
+ \let\bfdefault\tud@cdfont@bf%
+ \let\mddefault\tud@cdfont@md%
+ \else%
+ \tud@cs@restore{rmdefault}%
+ \tud@cs@restore{sfdefault}%
+ \tud@cs@restore{ttdefault}%
+ \tud@cs@restore{bfdefault}%
+ \tud@cs@restore{mddefault}%
+ \tud@cs@restore{updefault}%
+ \tud@cs@restore{sldefault}%
+ \tud@cs@restore{itdefault}%
+ \tud@cs@restore{familydefault}%
+ \tud@cs@restore{seriesdefault}%
+ \tud@cs@restore{shapedefault}%
+ \if@tud@x@mweights@enabled%
+ \tud@cs@restore{bfseries@rm}%
+ \tud@cs@restore{mdseries@rm}%
+ \tud@cs@restore{bfseries@sf}%
+ \tud@cs@restore{mdseries@sf}%
+ \tud@cs@restore{bfseries@tt}%
+ \tud@cs@restore{mdseries@tt}%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@restore{rmfamily}%
+ \tud@cs@restore{sffamily}%
+ \tud@cs@restore{ttfamily}%
+ \fi%
\fi%
\if@tud@x@mweights@enabled%
\edef\rmdef@ult{\rmdefault}%
@@ -1485,12 +1704,74 @@
\edef\mddef@ult{\mddefault}%
\edef\famdef@ult{\familydefault}%
\fi%
- \ifundef{\tud@font@math@init}{\tud@font@math@set}{}%
\tud@font@skip@set%
\normalfont\selectfont%
- \tud@layout@process%
+ \tud@cd@process%
\global\@tud@head@font@settrue%
}
+\newcommand*\tud@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdfont@lining%
+ \let\tud@cdfont@fam\tud@cdfont@fam@lf%
+ \else%
+ \let\tud@cdfont@fam\tud@cdfont@fam@osf%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@x@fontspec@set{sf}{\tud@cdfont@fam}%
+ \else%
+ \renewcommand*\sfdefault{\tud@cdfont@fam}%
+ \fi%
+ \tud@cdfont@@set%
+ \fi%
+ \tud@cdfont@wrn%
+}
+\newcommand*\tud@cdfont@md{m}
+\newcommand*\tud@cdfont@bf{b}
+\newcommand*\tud@cdfont@ebf{bx}
+\newcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{sb}%
+ \fi%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{eb}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \fi%
+ }%
+\fi
\newcommand*\tud@font@skip@set{%
\if@tud@relspacing%
\tud@skip@store{smallskipamount}%
@@ -1519,147 +1800,308 @@
\tud@skip@set{belowcaptionskip}{\z@}%
\tud@skip@set{columnsep}{1.1\baselineskip}%
}
-\newcommand*\tud@font@init{%
- \if@tud@x@fontspec@enabled%
- \if@tud@univers%
- \newcommand*\tud@x@fontspec@set@univ{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{Univers Light},%
- FontFace={m}{\updefault}{Univers},%
- FontFace={b}{\updefault}{Univers Bold},%
- FontFace={bx}{\updefault}{Univers Bold},%
- FontFace={eb}{\updefault}{Univers Black},%
- FontFace={l}{\sldefault}{Univers LightOblique},%
- FontFace={m}{\sldefault}{Univers Oblique},%
- FontFace={b}{\sldefault}{Univers BoldOblique},%
- FontFace={bx}{\sldefault}{Univers BoldOblique},%
- FontFace={eb}{\sldefault}{Univers BlackOblique}%
+\newcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={OpenSans-Regular},%
+ FontFace={l}{n}{OpenSans-Light},%
+ FontFace={m}{n}{OpenSans-Regular},%
+ FontFace={sb}{n}{OpenSans-SemiBold},%
+ FontFace={b}{n}{OpenSans-Bold},%
+ FontFace={bx}{n}{OpenSans-Bold},%
+ FontFace={eb}{n}{OpenSans-ExtraBold},%
+ FontFace={l}{it}{OpenSans-LightItalic},%
+ FontFace={m}{it}{OpenSans-Italic},%
+ FontFace={sb}{it}{OpenSans-SemiBoldItalic},%
+ FontFace={b}{it}{OpenSans-BoldItalic},%
+ FontFace={bx}{it}{OpenSans-BoldItalic},%
+ FontFace={eb}{it}{OpenSans-ExtraBoldItalic}%
}%
- \newfontfamily\tud@x@fontspec@fam@univ{Univers}[%
- \tud@x@fontspec@set@univ,NFSSFamily=\tud@univers%
- ]%
- \fi%
- \if@tud@dinbold%
- \newcommand*\tud@x@fontspec@set@din{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{DIN-Bold},%
- FontFace={m}{\updefault}{DIN-Bold},%
- FontFace={b}{\updefault}{DIN-Bold},%
- FontFace={bx}{\updefault}{DIN-Bold},%
- FontFace={eb}{\updefault}{DIN-Bold},%
- FontFace={l}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={m}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={b}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={bx}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={eb}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@osf}{Numbers=OldStyle,\tud@res@a}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \else%
+ \IfFileExists{omliwona.fd}{%
+ \input{omliwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OML/\tud@cdfont@fam@lf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ \csletcs{OML/\tud@cdfont@fam@osf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ }%
+ }{}%
+ \IfFileExists{omsiwona.fd}{%
+ \input{omsiwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OMS/\tud@cdfont@fam@lf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ \csletcs{OMS/\tud@cdfont@fam@osf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ }%
+ }{}%
+ \AtBeginDocument{%
+ \ifcsundef{textrightarrow}{}{%
+ \tud@cs@store{textrightarrow}%
+ \renewrobustcmd*{\textrightarrow}{%
+ {\fontfamily{iwona}\selectfont\tud@cs@use{textrightarrow}}%
+ }%
+ }%
}%
- \newfontfamily\tud@x@fontspec@fam@din{DIN-Bold}[%
- \tud@x@fontspec@set@din,NFSSFamily=\tud@dinbold%
- ]%
\fi%
- \fi%
- \if@tud@univers%
- \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}}%
+ \newrobustcmd*\cdfontln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\cdfontrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\cdfontsn{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{n}}
+ \newrobustcmd*\cdfontbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\cdfontxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\cdfontli{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{it}}
+ \newrobustcmd*\cdfontri{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{it}}
+ \newrobustcmd*\cdfontsi{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{it}}
+ \newrobustcmd*\cdfontbi{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{it}}
+ \newrobustcmd*\cdfontxi{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{it}}
\else%
- \newrobustcmd*\univln{\tud@font@fallback{Univers Light}{md}{up}}%
- \newrobustcmd*\univrn{\tud@font@fallback{Univers}{md}{up}}%
- \newrobustcmd*\univbn{\tud@font@fallback{Univers Bold}{bf}{up}}%
- \newrobustcmd*\univxn{\tud@font@fallback{Univers Black}{bf}{up}}%
- \newrobustcmd*\univls{\tud@font@fallback{Univers LightOblique}{md}{sl}}%
- \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
- \newrobustcmd*\univbs{\tud@font@fallback{Univers BoldOblique}{bf}{sl}}%
- \newrobustcmd*\univxs{\tud@font@fallback{Univers BlackOblique}{bf}{sl}}%
+ \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up}
+ \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up}
+ \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up}
+ \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up}
+ \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up}
+ \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it}
+ \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it}
+ \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it}
\fi%
- \if@tud@dinbold%
- \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
- \if@tud@dinboldmath%
- \appto\tud@dinbn{\mathversion{dinbold}}%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={Univers},%
+ FontFace={l}{n}{Univers-Light},%
+ FontFace={m}{n}{Univers},%
+ FontFace={b}{n}{Univers-Bold},%
+ FontFace={bx}{n}{Univers-Bold},%
+ FontFace={eb}{n}{Univers-Black},%
+ FontFace={l}{it}{Univers-LightOblique},%
+ FontFace={m}{it}{Univers-Oblique},%
+ FontFace={b}{it}{Univers-BoldOblique},%
+ FontFace={bx}{it}{Univers-BoldOblique},%
+ FontFace={eb}{it}{Univers-BlackOblique}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{sl}}
+ \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{sl}}
+ \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{sl}}
+ \newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{sl}}
+ \else%
+ \tud@cdfont@fallback\univln{Univers-Light}{md}{up}
+ \tud@cdfont@fallback\univrn{Univers}{md}{up}
+ \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up}
+ \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up}
+ \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{sl}
+ \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{sl}
+ \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{sl}
+ \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{sl}
\fi%
- \newrobustcmd*\dinbn{\tud@dinbn}%
- \else%
- \newrobustcmd*\tud@dinbn{\sectfont}%
- \newrobustcmd*\dinbn{\tud@font@fallback@wrn{DIN-Bold}\tud@dinbn}%
- \fi%
- \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}%
- \undef\tud@font@init%
-}
-\newcommand*\tud@font@fallback[3]{%
- \tud@font@fallback@wrn{#1}%
- \sffamily\csuse{#2series}\csuse{#3shape}%
-}
-\newcommand*\tud@font@fallback@wrn[1]{%
+ \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}%
+ \newrobustcmd*\cdfontln{\univln}%
+ \newrobustcmd*\cdfontrn{\univrn}%
+ \newrobustcmd*\cdfontsn{\univrn}%
+ \newrobustcmd*\cdfontbn{\univbn}%
+ \newrobustcmd*\cdfontxn{\univxn}%
+ \newrobustcmd*\cdfontli{\univls}%
+ \newrobustcmd*\cdfontri{\univrs}%
+ \newrobustcmd*\cdfontsi{\univrs}%
+ \newrobustcmd*\cdfontbi{\univbs}%
+ \newrobustcmd*\cdfontxi{\univxs}%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+ \if@tud@cdfont@db@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={DIN-Bold},%
+ FontFace={l}{n}{DIN-Bold},%
+ FontFace={m}{n}{DIN-Bold},%
+ FontFace={b}{n}{DIN-Bold},%
+ FontFace={bx}{n}{DIN-Bold},%
+ FontFace={eb}{n}{DIN-Bold},%
+ FontFace={l}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={m}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={b}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={bx}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={eb}{it}{Font=DIN-Bold,FakeSlant=0.15}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@db}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\tud@db{%
+ \usefont{\encodingdefault}{\tud@cdfont@db}{b}{n}%
+ \if@tud@cdmath@active\mathversion{tuddin}\fi%
+ }%
+ \newrobustcmd*\dinbn{\tud@db}%
+ \else%
+ \newrobustcmd*\tud@db{\tud@db@wrn\sectfont}%
+ \newcommand*\tud@db@wrn{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Font `DIN-Bold' is not available and therefore\MessageBreak
+ can not be used for headings%
+ }%
+ \global\let\tud@db@wrn\relax%
+ }%
+ \newrobustcmd*\dinbn{\tud@cdfont@fallback@wrn{DIN-Bold}\sectfont}%
+ \fi%
+ \newcommand*\textdbn{}%
+ \DeclareTextFontCommand\textdbn{\dinbn}%
+ }%
+\fi
+\newcommand*\tud@cdfont@fallback[4]{%
+ \newrobustcmd*#1{%
+ \tud@cdfont@fallback@wrn{#2}%
+ \sffamily\csuse{#3series}\csuse{#4shape}%
+ }%
+}
+\newcommand*\tud@cdfont@fallback@wrn[1]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The requested font `#1' is not available, so\MessageBreak%
- a fallback layout is used%
+ The requested font `#1'\MessageBreak%
+ is not available, a fallback layout is used%
}%
}
\newcommand*\cdfont[1]{%
\tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \csuse{cdfont\@tempc}%
\fi%
}
-\providecommand*\tudfont[1]{\cdfont{#1}}
-\newcommand*\textcdfont[2]{%
+\newcommand*\textcd[2]{%
\tud@cdfont@get{#1}%
- \ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \csuse{textcd\@tempc}{#2}%
\fi%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\cdfont[1]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \fi%
+ }%
+ \renewcommand*\textcd[2]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \fi%
+ }%
+\fi
\newcommand*\tud@cdfont@get[1]{%
\tud@cdfont@trim\@tempa{#1}%
- \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
- \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
- \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
- \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
- \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
- \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{l}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{r}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{s}{\def\@tempc{sn}}{%
+ \ifstr{\@tempa}{b}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{x}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{li}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{il}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{i}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ri}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ir}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{si}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{is}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{bi}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{ib}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{xi}{\def\@tempc{xi}}{%
+ \ifstr{\@tempa}{ix}{\def\@tempc{xi}}{%
\let\@tempc\relax%
\ClassWarning{\TUD@Class@Name}%
{The font `#1' is unknown}%
- }}}}}}}}}}}}}}%
-}
+ }}}}}}}}}}}}}}}}}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@get[1]{%
+ \tud@cdfont@trim\@tempa{#1}%
+ \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \let\@tempc\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+ }%
+\fi
\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
@@ -1667,22 +2109,45 @@
\tud@cdfont@@trim{-}{}%
\tud@cdfont@@trim{_}{}%
\tud@cdfont@@trim{~}{}%
- \tud@cdfont@@trim{ce}{}%
- \tud@cdfont@@trim{ff}{}%
- \tud@cdfont@@trim{univers}{}%
- \tud@cdfont@@trim{60}{65}%
- \tud@cdfont@@trim{light}{45}%
- \tud@cdfont@@trim{regular}{55}%
- \tud@cdfont@@trim{bold}{65}%
- \tud@cdfont@@trim{black}{75}%
- \tud@cdfont@@trim{4545}{45}%
- \tud@cdfont@@trim{5555}{55}%
- \tud@cdfont@@trim{6565}{65}%
- \tud@cdfont@@trim{7575}{75}%
- \tud@cdfont@@trim{italic}{oblique}%
- \tud@cdfont@@trim{slanted}{oblique}%
+ \tud@cdfont@@trim{opensans}{}%
+ \tud@cdfont@@trim{light}{l}%
+ \tud@cdfont@@trim{regular}{r}%
+ \tud@cdfont@@trim{book}{r}%
+ \tud@cdfont@@trim{semibold}{s}%
+ \tud@cdfont@@trim{demi}{s}%
+ \tud@cdfont@@trim{extrabold}{x}%
+ \tud@cdfont@@trim{black}{x}%
+ \tud@cdfont@@trim{bold}{b}%
+ \tud@cdfont@@trim{italic}{i}%
+ \tud@cdfont@@trim{oblique}{i}%
+ \tud@cdfont@@trim{slanted}{i}%
\let#1\@tempa%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@trim[2]{%
+ \protected@edef\@tempa{\trim@spaces{#2}}%
+ \tud@lowerstring{\@tempa}{\@tempa}%
+ \tud@cdfont@@trim{ }{}%
+ \tud@cdfont@@trim{-}{}%
+ \tud@cdfont@@trim{_}{}%
+ \tud@cdfont@@trim{~}{}%
+ \tud@cdfont@@trim{ce}{}%
+ \tud@cdfont@@trim{ff}{}%
+ \tud@cdfont@@trim{univers}{}%
+ \tud@cdfont@@trim{60}{65}%
+ \tud@cdfont@@trim{light}{45}%
+ \tud@cdfont@@trim{regular}{55}%
+ \tud@cdfont@@trim{bold}{65}%
+ \tud@cdfont@@trim{black}{75}%
+ \tud@cdfont@@trim{4545}{45}%
+ \tud@cdfont@@trim{5555}{55}%
+ \tud@cdfont@@trim{6565}{65}%
+ \tud@cdfont@@trim{7575}{75}%
+ \tud@cdfont@@trim{italic}{oblique}%
+ \tud@cdfont@@trim{slanted}{oblique}%
+ \let#1\@tempa%
+ }%
+\fi
\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
@@ -1691,240 +2156,929 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\tud@font@greek@loop[1]{%
- \@for\@tempa:={%
- Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
- }\do{#1{\@tempa}}%
-}
-\newcommand*\tud@font@greek@declare[1]{%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
- {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
- }\@tempb%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
- {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
- }\@tempb%
- \csletcs{tud@#1}{tud@up#1}%
- \advance \@tempcnta by 1%
-}
-\@tempcnta=\z@\relax
-\tud@font@greek@loop\tud@font@greek@declare
-\newcommand*\mv@univers{}
-\newcommand*\mv@universbold{}
-\newcommand*\mv@dinbold{}
-\newcommand*\tud@font@math@init{%
- \if@tud@x@fontspec@enabled\if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} or bool {@tud@dinboldmath}}{%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- It's recommended to load package `fontspec'\MessageBreak%
- with option `no-math', if you want to use the\MessageBreak%
- corporate design fonts in math mode%
- }%
- }%
- }{}%
+\newcommand*\tud@ttfont@set{%
+ \if@tud@ttfont@rb@exist\else\ifnum\tud@ttfont@num=\@ne\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The package `roboto-mono' is missing so the\MessageBreak%
+ typewriter font of package `lmodern' is used%
+ }%
+ \TUDoptions{ttfont=lmodern}%
\fi\fi%
- \if@tud@universmath%
- \DeclareMathVersion{univers}%
- \DeclareMathVersion{universbold}%
- \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
- \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
- \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
- \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathrm}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathrm}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathnormal}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathnormal}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
- \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
- \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%
- \@ifpackageloaded{amsfonts}{%
- \DeclareFontFamily{U}{\tud@univers a}{}%
- \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
- \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
- \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
- \DeclareFontFamily{U}{\tud@univers b}{}%
- \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
- \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
- \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
- \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
- \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
- }{}%
+ \ifcase\tud@ttfont@num\relax% false
+ \let\tud@ttfont@fam\ttdefault%
+ \or% roboto
+ \let\tud@ttfont@fam\tud@ttfont@rb%
+ \or% lmodern
+ \let\tud@ttfont@fam\tud@ttfont@lm%
\fi%
- \if@tud@dinboldmath%
- \DeclareMathVersion{dinbold}%
- \SetSymbolFont{operators}{dinbold}{OT1}{\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{\mathrm}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathnormal}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathtt}{dinbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{dinbold}{OMS}{lmsy}{b}{n}%
+ \ifcase\tud@ttfont@num\relax\else% !false
+ \if@tud@x@fontspec@enabled%
+ \ifx\ttdefault\tud@ttfont@fam\else%
+ \tud@x@fontspec@set{tt}{\tud@ttfont@fam}%
+ \fi%
+ \else%
+ \renewcommand*\ttdefault{\tud@ttfont@fam}%
+ \fi%
+ \fi%
+ \tud@ttfont@@set%
+}
+\newcommand*\tud@ttfont@md{}
+\newcommand*\tud@ttfont@bf{}
+\newcommand*\tud@ttfont@ebf{}
+\newcommand*\tud@ttfont@@set{%
+ \ifcase\tud@ttfont@num\relax%
+ \ifundef{\mdseries@tt}{%
+ \edef\tud@ttfont@md{\tud@cs@use{mddefault}}%
+ }{%
+ \edef\tud@ttfont@md{\mdseries@tt}%
+ }%
+ \ifundef{\bfseries@tt}{%
+ \edef\tud@ttfont@bf{\tud@cs@use{bfdefault}}%
+ }{%
+ \edef\tud@ttfont@bf{\bfseries@tt}%
+ }%
+ \edef\tud@ttfont@ebf{\tud@ttfont@bf}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@md{\tud@cdfont@md}%
+ \renewcommand*\tud@ttfont@bf{\tud@cdfont@bf}%
+ \renewcommand*\tud@ttfont@ebf{\tud@cdfont@ebf}%
+ \else% lmodern
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@ttfont@md{m}%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@bf{m}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \fi%
+ \fi%
\fi%
- \@ifpackageloaded{unicode-math}{%
- \let\tud@font@math@set\relax%
- \bool@set@lock{@tud@cdmath}{false}%
- }{%
- \tud@font@greek@check@slanted%
- \tud@font@greek@loop\tud@font@greek@init%
- \tud@font@math@set%
- }%
- \sbox\z@{\tud@dinbn$ $}%
}
-\newcommand*\tud@font@greek@check@slanted{%
- \let\@tempb\relax%
- \let\@tempc\relax%
- \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
- \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
- \@tempswafalse%
- \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
- \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
- \if@tempswa%
- \bool@std@lock{@tud@slantedgreek}{true}%
+\newcommand*\tud@ttfont@init{%
+ \newcommand*\tud@ttfont@rb@scale{0.9}%
+ \if@tud@x@fontspec@enabled%
+ \if@tud@ttfont@rb@exist%
+ \tud@x@fontspec@init{\tud@ttfont@rb}{%
+ Scale={\tud@ttfont@rb@scale},%
+ UprightFont={RobotoMono-Regular},%
+ FontFace={l}{n}{RobotoMono-Light},%
+ FontFace={m}{n}{RobotoMono-Regular},%
+ FontFace={sb}{n}{RobotoMono-Medium},%
+ FontFace={b}{n}{RobotoMono-Bold},%
+ FontFace={bx}{n}{RobotoMono-Bold},%
+ FontFace={eb}{n}{RobotoMono-Bold},%
+ FontFace={l}{it}{RobotoMono-LightItalic},%
+ FontFace={m}{it}{RobotoMono-Italic},%
+ FontFace={sb}{it}{RobotoMono-MediumItalic},%
+ FontFace={b}{it}{RobotoMono-BoldItalic},%
+ FontFace={bx}{it}{RobotoMono-BoldItalic},%
+ FontFace={eb}{it}{RobotoMono-BoldItalic}%
+ }%
+ \fi%
+ \ifx\ttdefault\tud@ttfont@lm\else%
+ \tud@x@fontspec@init{\tud@ttfont@lm}{%
+ UprightFont={LMMono10-Regular},%
+ FontFace={l}{n}{LMMonoLt10-Regular},%
+ FontFace={m}{n}{LMMono10-Regular},%
+ FontFace={b}{n}{LMMonoLt10-Bold},%
+ FontFace={bx}{n}{LMMonoLt10-Bold},%
+ FontFace={l}{it}{LMMonoLt10-Oblique},%
+ FontFace={m}{it}{LMMonoSlant10-Regular},%
+ FontFace={b}{it}{LMMonoLt10-BoldOblique},%
+ FontFace={bx}{it}{LMMonoLt10-BoldOblique}%
+ }%
+ \fi%
+ \else%
+ \if@tud@ttfont@rb@exist%
+ \edef\tud@ttfont@rb@scale{s*[\tud@ttfont@rb@scale]}%
+ \begingroup%
+ \def\tud@res@c##1##2{%
+ \tud@lowerstring\tud@res@a{##1}%
+ \DeclareFontFamily{##1}{\tud@ttfont@rb}{\hyphenchar\font=\m@ne}%
+ \def\tud@res@b####1####2####3{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{n}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{it}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sl}{%
+ <->ssub*\tud@ttfont@rb/####1/it%
+ }{}%
+ \ifbool{##2}{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sc}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scit}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scsl}{%
+ <->ssub*\tud@ttfont@rb/####1/scit%
+ }{}%
+ }{}%
+ }%
+ \tud@res@b{l}{Light}{LightItalic}%
+ \tud@res@b{m}{Regular}{Italic}%
+ \tud@res@b{sb}{Medium}{MediumItalic}%
+ \tud@res@b{b}{Bold}{BoldItalic}%
+ \tud@res@b{bx}{Bold}{BoldItalic}%
+ }%
+ \tud@res@c{OT1}{true}%
+ \tud@res@c{T1}{true}%
+ \ifcsundef{T@LY1}{}{\tud@res@c{LY1}{true}}%
+ \ifcsundef{T@TS1}{}{\tud@res@c{TS1}{false}}%
+ \endgroup%
+ \fi%
\fi%
- \let\tud@font@greek@check@slanted\relax%
}
-\BeforePackage{flexisym}{\tud@font@greek@check@slanted}
-\newcommand*\tud@font@greek@init[1]{%
- \ifcsundef{up#1}{%
- \if@tempswa%
- \csletcs{up#1}{tud@up#1}%
+\newcommand*\tud@if@issymbolfont[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname sym#1\endcsname%
+ {\expandonce\group@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{up#1}{#1}%
+ \aftergroup\@secondoftwo%
\fi%
- }{}%
- \ifcsundef{var#1}{%
- \if@tempswa%
- \csletcs{var#1}{#1}%
+ \endgroup%
+}
+\@onlypreamble\tud@if@issymbolfont
+\newcommand*\tud@if@ismathalphabet[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname\expandafter\@gobble\string#1\space\endcsname%
+ {\expandonce\alpha@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{var#1}{tud@var#1}%
+ \aftergroup\@secondoftwo%
\fi%
+ \endgroup%
+}
+\@onlypreamble\tud@if@ismathalphabet
+\newcommand*\tud@math@loop@greeks@all[1]{%
+ \tud@math@loop@greeks@uc{#1}%
+ \tud@math@loop@greeks@lc{#1}%
+}
+\newcommand*\tud@math@loop@greeks@uc[1]{%
+ \@for\@tempa:={%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@loop@greeks@lc[1]{%
+ \@for\@tempa:={%
+ alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,%
+ mu,nu,xi,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,%
+ varepsilon,vartheta,varpi,varrho,varsigma,varphi%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@declare@lgrgreeks[5]{%
+ \ifundef{\T@LGR}{\DeclareFontEncoding{LGR}{}{}}{}%
+ \tud@if@issymbolfont{tudupgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#4}%
+ }{%
+ \DeclareSymbolFont{tudupgrk}{LGR}{#1}{#2}{#4}%
+ }%
+ \SetSymbolFont{tudupgrk}{bold}{LGR}{#1}{#3}{#4}%
+ \tud@if@issymbolfont{tuditgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#5}%
+ }{%
+ \DeclareSymbolFont{tuditgrk}{LGR}{#1}{#2}{#5}%
+ }%
+ \SetSymbolFont{tuditgrk}{bold}{LGR}{#1}{#3}{#5}%
+}
+\newcommand*\tud@math@map@greeks{%
+ \tud@math@loop@greeks@all\tud@math@map@@greeks%
+ \tud@math@loop@greeks@uc\tud@math@map@@@greeks%
+ \tud@math@supplement@greeks%
+}
+\newcommand*\tud@math@map@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{\csedef{it#1}{\csname\tud@res@a\endcsname}}%
+ }%
+ }{}%
+ \ifcsundef{up#1}{%
+ \ifcsundef{#1up}{}{\csedef{up#1}{\csname#1up\endcsname}}%
+ }{}%
+ \ifcsundef{other#1}{%
+ \ifcsundef{#1other}{}{\csedef{other#1}{\csname#1other\endcsname}}%
}{}%
}
-\newcommand*\tud@font@math@set{%
- \if@atdocument%
- \if@tud@cdmath%
- \if@tud@universmath\else%
- \tud@font@math@missing@wrn{Univers}%
+\newcommand*\tud@math@map@@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \ifcsundef{var#1}{}{\csedef{it#1}{\csname var#1\endcsname}}%
+ }{}%
+ \ifcsundef{up#1}{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{\csedef{up#1}{\csname\tud@res@a\endcsname}}%
+ }{}%
+}
+\newcommand*\tud@math@supplement@greeks{%
+ \begingroup%
+ \newcommand*\tud@math@operators@enc{}%
+ \newcommand*\tud@math@operators@fam{}%
+ \newcommand*\tud@math@letters@enc{}%
+ \newcommand*\tud@math@letters@fam{}%
+ \def\getanddefine@fonts##1##2{%
+ \ifx\symoperators##1%
+ \expandafter\tud@res@a\string##2\@nil%
+ \else\ifx\symletters##1%
+ \expandafter\tud@res@b\string##2\@nil%
+ \fi\fi%
+ }%
+ \def\tud@res@a##1##2/##3/##4\@nil{%
+ \def\tud@math@operators@enc{##2}%
+ \def\tud@math@operators@fam{##3}%
+ }%
+ \def\tud@res@b##1##2/##3/##4\@nil{%
+ \def\tud@math@letters@enc{##2}%
+ \def\tud@math@letters@fam{##3}%
+ }%
+ \tud@cs@use{mv@normal}%
+ \let\tud@res@c\@empty%
+ \ifstr{\tud@math@letters@enc}{\detokenize{OML}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{letters}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@all\tud@res@a%
+ }{}%
+ \ifstr{\tud@math@operators@enc}{\detokenize{OT1}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{operators}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@res@a%
+ }{}%
+ \let\tud@res@a\@empty%
+ \if@tud@lgrgreeks%
+ \IfFileExists{lgr\tud@cs@use{familydefault}.fd}{%
+ \def\tud@res@a{\tud@cs@use{familydefault}}%
+ }{%
+ \IfFileExists{lgr\tud@math@letters@fam.fd}{%
+ \let\tud@res@a\tud@math@letters@fam%
+ }{%
+ \IfFileExists{lgr\tud@math@operators@fam.fd}{%
+ \let\tud@res@a\tud@math@operators@fam%
+ }{}%
+ }%
+ }%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@c%
+ \edef\noexpand\tud@res@a{\tud@res@a}%
+ }%
+ \tud@res@a%
+ \ifx\tud@res@a\@empty\else%
+ \tud@math@declare@lgrgreeks{\tud@res@a}%
+ {\tud@cs@use{mddefault}}{\tud@cs@use{bfdefault}}%
+ {\tud@cs@use{updefault}}{\tud@cs@use{itdefault}}%
+ \let\tud@res@c\@empty%
+ \def\tud@res@b##1##2{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{tuditgrk}{##2}%
+ }%
+ }{}%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{tudupgrk}{##2}%
+ }%
+ }{}%
+ }%
+ \tud@res@b{Gamma}{71}%
+ \tud@res@b{Delta}{68}%
+ \tud@res@b{Theta}{74}%
+ \tud@res@b{Lambda}{76}%
+ \tud@res@b{Xi}{88}%
+ \tud@res@b{Pi}{80}%
+ \tud@res@b{Sigma}{83}%
+ \tud@res@b{Upsilon}{85}%
+ \tud@res@b{Phi}{70}%
+ \tud@res@b{Psi}{89}%
+ \tud@res@b{Omega}{87}%
+ \tud@res@b{alpha}{97}%
+ \tud@res@b{beta}{98}%
+ \tud@res@b{gamma}{103}%
+ \tud@res@b{delta}{100}%
+ \tud@res@b{epsilon}{101}%
+ \tud@res@b{zeta}{122}%
+ \tud@res@b{eta}{104}%
+ \tud@res@b{theta}{106}%
+ \tud@res@b{iota}{105}%
+ \tud@res@b{kappa}{107}%
+ \tud@res@b{lambda}{108}%
+ \tud@res@b{mu}{109}%
+ \tud@res@b{nu}{110}%
+ \tud@res@b{xi}{120}%
+ \tud@res@b{pi}{112}%
+ \tud@res@b{rho}{114}%
+ \tud@res@b{sigma}{115}%
+ \tud@res@b{tau}{116}%
+ \tud@res@b{upsilon}{117}%
+ \tud@res@b{phi}{102}%
+ \tud@res@b{chi}{113}%
+ \tud@res@b{psi}{121}%
+ \tud@res@b{omega}{119}%
+ \tud@res@c%
+ \fi%
+}
+\newcommand*\tud@math@checkslanted@greeks{%
+ \begingroup%
+ \def\tud@res@c{%
+ \tud@if@v@lower{2.06}{%
+ \TUD@key@preset{slantedgreek}{standard}%
+ }{%
+ \TUD@key@preset{slantedgreek}{true}%
+ }%
+ }%
+ \@tud@res@swafalse%
+ \ifcsdef{upalpha}{%
+ \ifx\upalpha\alpha%
+ \@tud@res@swatrue%
\fi%
- \if@tud@dinboldmath\else%
- \tud@font@math@missing@wrn{DIN-Bold}%
+ }{}%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{false}}%
+ \else%
+ \ifcsdef{itGamma}{%
+ \ifx\itGamma\Gamma%
+ \@tud@res@swatrue%
+ \fi%
+ }{%
+ \let\tud@res@a\relax%
+ \let\tud@res@b\relax%
+ \DeclareMathSymbol{\tud@res@a}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\tud@res@b}{\mathord}{letters}{0}%
+ \ifx\Gamma\tud@res@a\relax\@tud@res@swatrue\fi%
+ \ifx\Gamma\tud@res@b\relax\@tud@res@swatrue\fi%
+ }%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{true}}%
\fi%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+ \fi%
+ \edef\tud@res@c{\endgroup\expandonce\tud@res@c}%
+ \tud@res@c%
+}
+\newcommand*\mv@tudnormal{}
+\newcommand*\mv@tudbold{}
+\newcommand*\mv@tuddin{}
+\AfterPackage*{mathastext}{%
+ \CheckCommand*\MTversion{\@ifstar\MTversion@s\MTversion@}%
+ \CheckCommand*\MTversion@s[1]{\mathversion{#1}\MTversion@@{#1}}%
+ \newrobustcmd*\tud@mathversion[1]{%
+ \tud@cs@use{mathversion}{#1}%
+ \if@tud@cdmath@active%
+ \ifstr{#1}{normal}{%
+ \MTversion@@{tudnormal}%
+ }{%
+ \ifstr{#1}{bold}{%
+ \MTversion@@{tudbold}%
+ }{}%
}%
\fi%
- \fi%
- \if@tud@universmath%
- \if@tud@cdmath%
- \tud@cmd@store{mv@normal}%
- \tud@cmd@store{mv@bold}%
- \let\mv@normal\mv@univers%
- \let\mv@bold\mv@universbold%
- \tud@font@greek@loop\tud@font@greek@set%
+ }%
+ \AtEndPreamble{%
+ \tud@cs@store{mathversion}%
+ \tud@cs@letltx{mathversion}{tud@mathversion}%
+ }%
+}
+\newcommand*\tud@cdmath@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdoldfont@active\else%
+ \if@tud@cdmath@active%
+ \def\tud@res@a##1{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `##1'\MessageBreak%
+ manually when option `cdmath=true' is active as\MessageBreak%
+ TUD-Script uses package `mathastext' internally\MessageBreak%
+ with a specific set of required options for the\MessageBreak%
+ math font setup%
+ }%
+ }%
+ \@ifpackageloaded{sansmath}{%
+ \tud@res@a{sansmath}%
+ }{}%
+ \@ifpackageloaded{mathastext}{%
+ \tud@res@a{mathastext}%
+ }{}%
+ \fi%
+ \PassOptionsToPackage{%
+ subdued,defaultmathsizes,nosmalldelims,%
+ defaultrm,defaultbf,defaultit,defaultsf,defaulttt,%
+ noequal,nohbar%
+ }{mathastext}%
+ \RequirePackage{mathastext}[2018/08/22]%
+ \tud@math@declare@lgrgreeks{cmr}{m}{bx}{n}{it}%
+ \fi%
+ \providecommand*\MTDeclareVersion[6][]{\DeclareMathVersion{##2}}%
+ \providecommand*\MTversion@@[1]{}%
+ \tud@cdmath@@init{\tud@cdfont@fam@lf}{\tud@ttfont@fam}%
+ \if@tud@cdoldfont@active%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@cdmath@declare@greek@uc%
+ \tud@math@loop@greeks@lc\tud@cdmath@declare@greek@lc%
\else%
- \tud@cmd@restore{mv@normal}%
- \tud@cmd@restore{mv@bold}%
- \tud@font@greek@loop\tud@font@greek@reset%
+ \tud@cdmath@declare@greek@lgr%
+ \fi%
+ \tud@cdmath@declare@char{*}{\mathbin}{symbols}{"03}%
+ \tud@cdmath@also@greeks%
+ \else%
+ \let\mv@tudnormal\mv@normal%
+ \let\mv@tudbold\mv@bold%
+ \if@tud@cdoldfont@active%
+ \let\mv@tuddin\mv@bold%
\fi%
\fi%
- \if@tud@slantedgreek%
- \tud@font@greek@loop\tud@font@greek@slanted%
+}
+\newcommand*\tud@cdmath@@init[2]{%
+ \tud@cdfont@@set%
+ \tud@ttfont@@set%
+ \if@tud@cdoldfont@active%
+ \DeclareMathVersion{tudnormal}%
+ \DeclareMathVersion{tudbold}%
+ \DeclareMathVersion{tuddin}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetSymbolFont{letters}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetSymbolFont{letters}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{symbols}{tuddin}{OMS}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}%
+ \SetMathAlphabet{\mathnormal}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetMathAlphabet{\mathnormal}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathnormal}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathbold}{tudbold}{OML}{#1}{\tud@cdfont@ebf}{sl}%
+ \SetMathAlphabet{\mathbold}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ }{}%
\else%
- \tud@font@greek@loop\tud@font@greek@upright%
+ \MTDeclareVersion[it]{tudnormal}{T1}{#1}{\tud@cdfont@md}{n}%
+ \MTDeclareVersion[it]{tudbold}{T1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{iwona}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{letters}{tudbold}{OML}{iwona}{\tud@cdfont@bf}{it}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tudupgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{tuditgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{tudupgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tuditgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{it}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{T1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathbold}{tudbold}{T1}{#1}{\tud@cdfont@ebf}{it}%
+ }{}%
+ \fi%
+ \SetMathAlphabet{\mathrm}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathrm}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudnormal}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudbold}{OT1}{#1}{\tud@cdfont@ebf}{n}%
+ \SetMathAlphabet{\mathsf}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathsf}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathit}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{it}%
+ \SetMathAlphabet{\mathit}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathtt}{tudnormal}{OT1}{#2}{\tud@ttfont@md}{n}%
+ \SetMathAlphabet{\mathtt}{tudbold}{OT1}{#2}{\tud@ttfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathrm}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathbf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathsf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathit}{tuddin}{OT1}{\tud@cdfont@db}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{tuddin}{OT1}{#2}{\tud@ttfont@ebf}{n}%
+ \fi%
+ \IfFileExists{ueus.fd}{%
+ \SetMathAlphabet{\mathcal}{tudnormal}{U}{eus}{m}{n}%
+ \SetMathAlphabet{\mathcal}{tudbold}{U}{eus}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}%
+ \fi%
+ }{}%
+ \tud@if@ismathalphabet{\mathfrak}{%
+ \IfFileExists{ueuf.fd}{%
+ \SetMathAlphabet{\mathfrak}{tudnormal}{U}{euf}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{tudbold}{U}{euf}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}%
+ \fi%
+ }{}%
+ }{}%
+ \AtBeginDocument{%
+ \@tud@res@swafalse%
+ \tud@if@issymbolfont{AMSa}{\@tud@res@swatrue}{}%
+ \tud@if@issymbolfont{AMSb}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \if@tud@cdoldfont@active%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf a}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf a}{m}{n}{<->cmbras10}{}%
+ \SetSymbolFont{AMSa}{tudnormal}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \SetSymbolFont{AMSa}{tudbold}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf b}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf b}{m}{n}{<->cmbrbs10}{}%
+ \SetSymbolFont{AMSb}{tudnormal}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \SetSymbolFont{AMSb}{tudbold}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \else%
+ \@ifpackageloaded{mdsymbol}{}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassInfoNoLine{\TUD@Class@Name}%
+ {%
+ You may load package `mdsymbol' in order to\MessageBreak%
+ get symbols matching the used math font%
+ }%
+ }%
+ }%
+ \fi%
+ \fi%
+ \tud@if@issymbolfont{legacymaths}{%
+ \SetSymbolFont{legacymaths}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{legacymaths}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetSymbolFont{legacymaths}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \fi%
+ }{}%
+ \if@tud@cdoldfont@active%
+ \if@tud@cdmath@active%
+ \sbox\z@{\mathversion{tudnormal}$ $\mathversion{tuddin}$ $}%
+ \fi%
+ \fi%
+ }%
+}
+\newcommand*\tud@cdmath@symb@list{}
+\newcommand*\tud@cdmath@declare@symb[4]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@cdmath@declare@alias[2]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \ifcsdef{tud@cdmath@symbol@#2}{%
+ \csedef{tud@cdmath@symbol@#1}{\csname tud@cdmath@symbol@#2\endcsname}%
+ }{}%
+}
+\newcommand*\tud@cdmath@char@list{}
+\newcommand*\tud@cdmath@declare@char[4]{%
+ \listeadd\tud@cdmath@char@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@DeclareMathSymbol[4]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareMathSymbol%
+ {\csname tud@cdmath@symbol@#1\endcsname}%
+ {\etex@unexpanded{#2}}{#3}{#4}%
+ }%
+ \tud@res@a%
+}
+\newtoks\tud@cdmath@symbols@toks
+\newcommand*\tud@cdmath@symbols@set{%
+ \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdmath@symbols@toks}{%
+ \forlistloop\tud@cdmath@symbols@set@cmd\tud@cdmath@symb@list%
+ \forlistloop\tud@cdmath@symbols@set@chr\tud@cdmath@char@list%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cdmath@symbols@toks{}}%
+ }{}%
+}
+\newcommand*\tud@cdmath@symbols@set@cmd[1]{%
+ \ifcsdef{#1}{%
+ \tud@cs@store{#1}%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cs@restore{#1}}%
+ }{%
+ \addto@hook\tud@cdmath@symbols@toks{\csundef{#1}}%
+ }%
+ \ifcsdef{tud@cdmath@symbol@#1}{%
+ \tud@cs@letltx{#1}{tud@cdmath@symbol@#1}%
+ }{%
+ \csundef{#1}%
+ }%
+}
+\newcommand*\tud@cdmath@symbols@set@chr[1]{%
+ \edef\tud@res@a{\global\mathcode`#1=\the\mathcode`#1\relax}%
+ \eaddto@hook\tud@cdmath@symbols@toks{\tud@res@a}%
+ \begingroup%
+ \edef\tud@res@a{\expandafter\meaning\csname tud@cdmath@symbol@#1\endcsname}%
+ \def\tud@res@b##1"##2\@nil{"##2}%
+ \edef\tud@res@c{\expandafter\tud@res@b\tud@res@a\@nil}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \global\mathcode`#1=\tud@res@c%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cdmath@symbols@reset{\the\tud@cdmath@symbols@toks}
+\newcommand*\tud@cdmath@declare@greek@uc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{operators}{\the\tud@res@cnt}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \listeadd\tud@cdmath@symb@list{up#1}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lgr{%
+ \tud@cdmath@declare@greek@@lgr{Gamma}{71}%
+ \tud@cdmath@declare@greek@@lgr{Delta}{68}%
+ \tud@cdmath@declare@greek@@lgr{Theta}{74}%
+ \tud@cdmath@declare@greek@@lgr{Lambda}{76}%
+ \tud@cdmath@declare@greek@@lgr{Xi}{88}%
+ \tud@cdmath@declare@greek@@lgr{Pi}{80}%
+ \tud@cdmath@declare@greek@@lgr{Sigma}{83}%
+ \tud@cdmath@declare@greek@@lgr{Upsilon}{85}%
+ \tud@cdmath@declare@greek@@lgr{Phi}{70}%
+ \tud@cdmath@declare@greek@@lgr{Psi}{89}%
+ \tud@cdmath@declare@greek@@lgr{Omega}{87}%
+ \tud@cdmath@declare@greek@@lgr{alpha}{97}%
+ \tud@cdmath@declare@greek@@lgr{beta}{98}%
+ \tud@cdmath@declare@greek@@lgr{gamma}{103}%
+ \tud@cdmath@declare@greek@@lgr{delta}{100}%
+ \tud@cdmath@declare@greek@@lgr{epsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{zeta}{122}%
+ \tud@cdmath@declare@greek@@lgr{eta}{104}%
+ \tud@cdmath@declare@greek@@lgr{theta}{106}%
+ \tud@cdmath@declare@greek@@lgr{iota}{105}%
+ \tud@cdmath@declare@greek@@lgr{kappa}{107}%
+ \tud@cdmath@declare@greek@@lgr{lambda}{108}%
+ \tud@cdmath@declare@greek@@lgr{mu}{109}%
+ \tud@cdmath@declare@greek@@lgr{nu}{110}%
+ \tud@cdmath@declare@greek@@lgr{xi}{120}%
+ \tud@cdmath@declare@greek@@lgr{pi}{112}%
+ \tud@cdmath@declare@greek@@lgr{rho}{114}%
+ \tud@cdmath@declare@greek@@lgr{sigma}{115}%
+ \tud@cdmath@declare@greek@@lgr{tau}{116}%
+ \tud@cdmath@declare@greek@@lgr{upsilon}{117}%
+ \tud@cdmath@declare@greek@@lgr{phi}{102}%
+ \tud@cdmath@declare@greek@@lgr{chi}{113}%
+ \tud@cdmath@declare@greek@@lgr{psi}{121}%
+ \tud@cdmath@declare@greek@@lgr{omega}{119}%
+ \tud@cdmath@declare@greek@@lgr{varepsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{vartheta}{106}%
+ \tud@cdmath@declare@greek@@lgr{varpi}{119}%
+ \tud@cdmath@declare@greek@@lgr{varrho}{114}%
+ \tud@cdmath@declare@greek@@lgr{varsigma}{99}%
+ \tud@cdmath@declare@greek@@lgr{varphi}{102}%
+}
+\newcommand*\tud@cdmath@declare@greek@@lgr[2]{%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{tudupgrk}{#2}%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{tuditgrk}{#2}%
+}
+\newcommand*\tud@cdmath@also@greeks{%
+ \tud@math@loop@greeks@all\tud@cdmath@also@@greeks%
+ \tud@math@loop@greeks@uc\tud@cdmath@also@@@greeks%
+}
+\newcommand*\tud@cdmath@also@@greeks[1]{%
+ \tud@cdmath@declare@alias{#1}{it#1}%
+ \tud@cdmath@declare@alias{other#1}{up#1}%
+ \ifcsundef{#1up}{}{%
+ \tud@cdmath@declare@alias{#1up}{up#1}%
+ }%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{it#1}%
+ }%
+ }%
+ \ifcsundef{#1other}{}{%
+ \tud@cdmath@declare@alias{#1other}{other#1}%
+ }%
+}
+\newcommand*\tud@cdmath@also@@@greeks[1]{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{up#1}%
+ }%
+ \ifcsundef{var#1}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{var#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@set{%
+ \if@tud@cdmath@active%
+ \tud@cdmath@wrn%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \tud@cdmath@symbols@set%
+ \ifcase\tud@slantedgreek@num\relax% upright
+ \tud@math@loop@greeks@all\tud@math@upright@greeks%
+ \or% slanted
+ \tud@math@loop@greeks@all\tud@math@slanted@greeks%
+ \or% standard
+ \tud@math@loop@greeks@uc\tud@math@upright@greeks%
+ \tud@math@loop@greeks@lc\tud@math@slanted@greeks%
+ \fi%
+ \else%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \tud@cdmath@symbols@reset%
\fi%
\mathversion{normal}%
}
-\newcommand*\tud@font@greek@set[1]{%
- \tud@cmd@store{#1}%
- \tud@cmd@store{up#1}%
- \tud@cmd@store{var#1}%
- \csletcs{#1}{tud@#1}%
- \csletcs{up#1}{tud@up#1}%
- \csletcs{var#1}{tud@var#1}%
-}
-\newcommand*\tud@font@greek@reset[1]{%
- \tud@cmd@restore{#1}%
- \tud@cmd@restore{up#1}%
- \tud@cmd@restore{var#1}%
-}
-\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
-\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
+\newcommand*\tud@math@upright@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{up#1}%
+ \csletcs{other#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@slanted@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{it#1}%
+ \csletcs{other#1}{up#1}%
+ }%
+}
\AtEndPreamble{%
\if@tud@x@mweights@enabled%
\ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}%
- \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
- \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}%
+ \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
\ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
- \tud@font@check%
- \tud@font@init%
+ \tud@cdfont@check%
+ \tud@cdfont@init%
+ \tud@ttfont@init%
+ \tud@cdmath@init%
+ \if@tud@x@bm@requested%
+ \UnPreventPackageFromLoading{bm}%
+ \if@tud@cdmath@active%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \fi%
+ \RequirePackage{bm}[2017/01/16]%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \fi%
\if@tud@x@siunitx@enabled%
- \ifcase\tud@cdfont@num\relax% false
+ \if@tud@cdfont@active%
+ \if@tud@cdfont@heavy%
+ \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
+ \else%
+ \def\tud@reserved{\TUDoptions{cdfont=true}}%
+ \fi%
+ \else%
\def\tud@reserved{\TUDoptions{cdfont=false}}%
- \or% true
- \def\tud@reserved{\TUDoptions{cdfont=true}}%
- \or% heavy
- \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
\fi%
- \expandafter\AtBeginDocument\expandafter{\tud@reserved}%
+ \expandafter\AfterEndPreamble\expandafter{\tud@reserved}%
\TUDoptions{cdfont=false}%
\fi%
\tud@font@set%
- \if@tud@x@bm@requested%
- \tud@font@math@init%
- \UnPreventPackageFromLoading{bm}%
- \RequirePackage{bm}[2017/01/16]%
- \fi%
- \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}%
+ \AtBeginDocument{%
+ \tud@math@map@greeks%
+ \tud@math@checkslanted@greeks%
+ \tud@math@set%
+ }%
}
-\newrobustcmd*\ifdin{%
- \ifx\f@family\tud@dinbold%
- \expandafter\@firstoftwo%
- \else%
- \expandafter\@secondoftwo%
+\newcommand*\tud@head@font@light{}
+\newcommand*\tud@head@font@bold{}
+\newcommand*\tud@head@font@@bold{}
+\newcommand*\tud@head@font@set{%
+ \if@tud@cdfont@active\ifcase\tud@head@font@num\relax% false
+ \if@tud@head@font@set%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use `cdhead=false'\MessageBreak%
+ together with `cdfont=true'%
+ }%
+ \fi%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdhead=heavy}%
+ \else%
+ \TUDoptions{cdhead=true}%
+ \fi%
+ \fi\fi%
+ \if@tud@head@font@set%
+ \if@tud@x@mweights@enabled%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mdseries@sf}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfseries@sf}{\updefault}{\tud@head@fontsize}%
+ \protected\gdef\tud@head@font@@bold{%
+ \usefont{\encodingdefault}{\sfdefault}{\bfseries@sf}{\updefault}%
+ }%
+ \else%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
+ \protected\gdef\tud@head@font@@bold{%
+ \usefont{\encodingdefault}{\sfdefault}{\bfdefault}{\updefault}%
+ }%
+ \fi%
+ \ifcase\tud@head@font@num\relax\else% true/heavy
+ \tud@head@cdfont@set%
+ \fi%
+ \global\@tud@head@font@setfalse%
+ \global\@tud@head@text@settrue%
\fi%
}
-\newcommand*\tud@sec@fontface[1][]{%
- \if@tud@cdfont@din%
- \tud@dinbn\tud@raggedright%
- \else%
- \sectfont#1%
+\newcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{sb}{n}{\tud@head@fontsize}%
+ \protected\gdef\tud@head@font@@bold{%
+ \usefont{\encodingdefault}{\tud@cdfont@fam@lf}{sb}{n}%
+ }%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \protected\gdef\tud@head@font@@bold{%
+ \usefont{\encodingdefault}{\tud@cdfont@fam@lf}{b}{n}%
+ }%
+ \fi%
\fi%
}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
-}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \fi%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \protected\gdef\tud@head@font@@bold{%
+ \usefont{\encodingdefault}{\tud@cdfont@fam@lf}{b}{n}%
+ }%
+ \fi%
+ }%
+\fi
%%% From File: tudscr-fields.dtx
+\newcommand*\getfield[2][\@firstofone]{%
+ \begingroup%
+ \def\tud@res@b{#1}%
+ \ifcsdef{@@#2}{%
+ \letcs\tud@res@a{@@#2}%
+ }{%
+ \ifcsdef{@#2}{%
+ \letcs\tud@res@a{@#2}%
+ }{%
+ \let\tud@res@a\@empty%
+ \ClassWarning{\TUD@Class@Name}{%
+ The internal field `@#2' does not exist%
+ }%
+ }%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@b{\expandonce\tud@res@a}%
+ }%
+ \tud@res@a%
+}
\newcommand*\@faculty{}
\newcommand*\@department{}
\newcommand*\@institute{}
\newcommand*\@chair{}
-\newcommand*\@@faculty{}
-\newcommand*\@@department{}
-\newcommand*\@@institute{}
-\newcommand*\@@chair{}
+\newcommand*\@facultyfoot{}
+\newcommand*\@departmentfoot{}
+\newcommand*\@institutefoot{}
+\newcommand*\@chairfoot{}
\newcommand*\faculty[2][\@empty]{\tud@foot@line@add{faculty}{#2}{#1}}
\newcommand*\department[2][\@empty]{\tud@foot@line@add{department}{#2}{#1}}
\newcommand*\institute[2][\@empty]{\tud@foot@line@add{institute}{#2}{#1}}
@@ -1938,14 +3092,14 @@
\newcommand*\tud@foot@line@add[3]{%
\tud@head@text@field{#1}{#2}%
\ifx\@empty#3\relax%
- \global\csletcs{@@#1}{@#1}%
+ \global\csletcs{@#1foot}{@#1}%
\else%
- \csgdef{@@#1}{\trim@spaces{#3}}%
+ \csgdef{@#1foot}{\trim@spaces{#3}}%
\fi%
}
\newcommand*\tud@foot@line@write[1]{%
- \protected@edef\@tempa{\csuse{@@#1}}%
- \ifx\@tempa\@empty\else\newline\mbox{\csuse{@@#1}}\fi%
+ \protected@edef\@tempa{\csuse{@#1foot}}%
+ \ifx\@tempa\@empty\else\newline\mbox{\csuse{@#1foot}}\fi%
}
\newcommand*\@@title{}
\robustify\@title
@@ -1994,14 +3148,31 @@
}
\newcommand*\@authormore{}
\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\newcommand*\@emailaddress{}
+\newrobustcmd*\emailaddress{%
+ \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}%
+}
+\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}}
+\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}}
+\AfterPackage*{hyperref}{%
+ \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
+ \gdef\@emailaddress{%
+ \begingroup%
+ \urlstyle{same}%
+ \hypersetup{#1}%
+ \href{mailto:#2}{\nolinkurl{#2}}%
+ \endgroup%
+ }%
+ }%
+}
\newcommand*\@course{}
\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces}
\newcommand*\@discipline{}
\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces}
-\providecommand*\publisher[1]{\publishers{#1}}
-\newcommand*\@@professor{}
-\newcommand*\professor[1]{\gdef\@@professor{#1}}
+\newcommand*\@professorfoot{}
+\newcommand*\professor[1]{\gdef\@professorfoot{#1}}
\newcommand*\supervisor[1]{}
+\providecommand*\publisher[1]{\publishers{#1}}
\newcommand*\@webpage{}
\newrobustcmd*\webpage{%
\kernel@ifstar{\tud@webpage@simple}{\tud@webpage@hyper}%
@@ -2019,8 +3190,14 @@
}%
}%
}
-\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
-\newcommand*\tud@x@isodate@printdate[2]{%
+\TUD@UnwindPackage{isodate}{%
+ \@ifpackageloaded{datetime2}{%
+ \providecommand*\printdate[1]{\DTMDate{#1}}%
+ }{%
+ \providecommand*\printdate[1]{#1}%
+ }%
+}
+\newcommand*\tud@printdate[2]{%
\ifx\today#2\relax%
\gdef#1{#2}%
\else%
@@ -2053,30 +3230,31 @@
}{\tud@date@set}%
}
\newcommand*\tud@date@set[2][]{%
- \TUD@parameter@set{date}{#1}%
- \tud@x@isodate@printdate{\@date}{#2}%
+ \tud@toks@{#1}%
+ \TUD@parameter@set{date}{\the\tud@toks@}%
+ \tud@printdate{\@date}{#2}%
\global\let\tud@date@check\relax%
}
-\newcommand*\tud@date@pre{}
-\newcommand*\tud@date@app{}
+\newcommand*\@beforedate{}
+\newcommand*\@afterdate{}
\TUD@parameter@family{date}{%
- \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@def{before}{\def\@beforedate{#1}}%
\TUD@parameter@let{pre}{before}%
\TUD@parameter@let{prefix}{before}%
- \TUD@parameter@def{after}{\def\tud@date@app{#1}}%
+ \TUD@parameter@def{after}{\def\@afterdate{#1}}%
\TUD@parameter@let{app}{after}%
\TUD@parameter@let{suffix}{after}%
- \TUD@parameter@def{place}{\def\@place{#1}\def\tud@date@pre{#1,}}%
+ \TUD@parameter@def{place}{\def\@place{#1}\def\@beforedate{#1,}}%
\TUD@parameter@handler@value{after}%
}
\newcommand*\tud@date@print{%
\ifx\@date\@empty\else%
- \ifx\tud@date@pre\@empty\else%
- \expandafter\trim@spaces@noexp\expandafter{\tud@date@pre}\nobreakspace%
+ \ifx\@beforedate\@empty\else%
+ \expandafter\trim@spaces@noexp\expandafter{\@beforedate}\nobreakspace%
\fi%
\@date%
- \ifx\tud@date@app\@empty\else%
- \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\tud@date@app}%
+ \ifx\@afterdate\@empty\else%
+ \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\@afterdate}%
\fi%
\fi%
}
@@ -2089,23 +3267,6 @@
\newrobustcmd*\telephone[1]{\gdef\@telephone{#1}}
\newcommand*\@telefax{}
\newrobustcmd*\telefax[1]{\gdef\@telefax{#1}}
-\newcommand*\@emailaddress{}
-\newrobustcmd*\emailaddress{%
- \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}%
-}
-\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}}
-\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}}
-\AfterPackage*{hyperref}{%
- \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
- \gdef\@emailaddress{%
- \begingroup%
- \urlstyle{same}%
- \hypersetup{#1}%
- \href{mailto:#2}{\nolinkurl{#2}}%
- \endgroup%
- }%
- }%
-}
\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
\expandafter\ifpatchable\expandafter{\csname#1\endcsname}{%
@@ -2118,8 +3279,8 @@
}%
\begingroup%
\let\and\relax%
- \def\newline{}%
- \def\\{}%
+ \let\newline\@empty%
+ \let\\\@empty%
\edef\@tempa{\csname#1\endcsname\and}%
\expandafter\endgroup%
\expandafter\tud@multiple@@split\@tempa\relax%
@@ -2133,7 +3294,7 @@
\@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
- \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cs@store{@##1}}{}}%
\letcs\@tempb{tud@split#1@list}%
\let\and\relax%
\expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
@@ -2146,7 +3307,7 @@
\newcommand*\tud@multiple@fields@restore[1]{%
\def\@tempa##1{%
\ifcsdef{@##1}{%
- \tud@cmd@restore{@##1}%
+ \tud@cs@restore{@##1}%
\global\csletcs{@##1}{@##1}%
}{}%
}%
@@ -2179,12 +3340,12 @@
}
\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
- authormore,course,discipline,office,telephone,telefax,emailaddress%
+ authormore,course,discipline,emailaddress,office,telephone,telefax%
}
\newcommand*\tud@split@contactperson@do[2]{}
-\newcommand*\tud@split@contactperson@list{office,telephone,telefax,emailaddress}
-%%% From File: tudscr-locale.dtx
-\newcommand*\tud@locale@define[1]{%
+\newcommand*\tud@split@contactperson@list{emailaddress,office,telephone,telefax}
+%%% From File: tudscr-localization.dtx
+\newcommand*\tud@localization@define[1]{%
\providecommand*#1{%
\ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
@@ -2198,29 +3359,30 @@
}%
}%
}
-\tud@locale@define{\coursename}
-\tud@locale@define{\disciplinename}
-\tud@locale@define{\listingname}
-\tud@locale@define{\listlistingname}
-\tud@locale@define{\dissertationname}
-\tud@locale@define{\diplomathesisname}
-\tud@locale@define{\masterthesisname}
-\tud@locale@define{\bachelorthesisname}
-\tud@locale@define{\studentthesisname}
-\tud@locale@define{\studentresearchname}
-\tud@locale@define{\projectpapername}
-\tud@locale@define{\seminarpapername}
-\tud@locale@define{\termpapername}
-\tud@locale@define{\researchname}
-\tud@locale@define{\logname}
-\tud@locale@define{\internshipname}
-\tud@locale@define{\reportname}
-\tud@locale@define{\authorname}
-\tud@locale@define{\contactname}
-\tud@locale@define{\contactpersonname}
+\tud@localization@define{\coursename}
+\tud@localization@define{\disciplinename}
+\tud@localization@define{\listingname}
+\tud@localization@define{\listlistingname}
+\tud@localization@define{\dissertationname}
+\tud@localization@define{\diplomathesisname}
+\tud@localization@define{\masterthesisname}
+\tud@localization@define{\bachelorthesisname}
+\tud@localization@define{\studentthesisname}
+\tud@localization@define{\studentresearchname}
+\tud@localization@define{\projectpapername}
+\tud@localization@define{\seminarpapername}
+\tud@localization@define{\termpapername}
+\tud@localization@define{\researchname}
+\tud@localization@define{\logname}
+\tud@localization@define{\internshipname}
+\tud@localization@define{\reportname}
+\tud@localization@define{\authorname}
+\tud@localization@define{\contactname}
+\tud@localization@define{\contactpersonname}
\newcommand*\tud@ifin@and[1]{%
\begingroup%
\let\and\relax%
+ \robustify\\%
\protected@edef\@tempb{#1}%
\def\@tempa##1\and##2\relax{%
\IfArgIsEmpty{##2}{%
@@ -2232,65 +3394,65 @@
\expandafter\@tempa\@tempb\and\relax%
\endgroup
}
-\newcommand*\tud@locale@german{%
+\newcommand*\tud@localization@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
-\tud@locale@german{\coursename}{Studiengang}%
-\tud@locale@german{\disciplinename}{Studienrichtung}%
-\tud@locale@german{\listingname}{Quelltext}%
-\tud@locale@german{\listlistingname}{Quelltextverzeichnis}%
-\tud@locale@german{\dissertationname}{Dissertation}%
-\tud@locale@german{\diplomathesisname}{Diplomarbeit}%
-\tud@locale@german{\masterthesisname}{Master-Arbeit}%
-\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}%
-\tud@locale@german{\studentthesisname}{Studienarbeit}%
-\tud@locale@german{\studentresearchname}{Gro\ss{}er Beleg}%
-\tud@locale@german{\projectpapername}{Projektarbeit}%
-\tud@locale@german{\seminarpapername}{Seminararbeit}%
-\tud@locale@german{\termpapername}{Hausarbeit}%
-\tud@locale@german{\researchname}{Forschungsbericht}%
-\tud@locale@german{\logname}{Protokoll}%
-\tud@locale@german{\internshipname}{Praktikumsbericht}%
-\tud@locale@german{\reportname}{Bericht}%
-\tud@locale@german{\authorname}{Autor}%
-\tud@locale@german{\contactname}{Kontakt}%
-\tud@locale@german{\contactpersonname}{Ansprechpartner}%
-\newcommand*\tud@locale@english{%
+\tud@localization@german{\coursename}{Studiengang}%
+\tud@localization@german{\disciplinename}{Studienrichtung}%
+\tud@localization@german{\listingname}{Quelltext}%
+\tud@localization@german{\listlistingname}{Quelltextverzeichnis}%
+\tud@localization@german{\dissertationname}{Dissertation}%
+\tud@localization@german{\diplomathesisname}{Diplomarbeit}%
+\tud@localization@german{\masterthesisname}{Master-Arbeit}%
+\tud@localization@german{\bachelorthesisname}{Bachelor-Arbeit}%
+\tud@localization@german{\studentthesisname}{Studienarbeit}%
+\tud@localization@german{\studentresearchname}{Gro\ss{}er Beleg}%
+\tud@localization@german{\projectpapername}{Projektarbeit}%
+\tud@localization@german{\seminarpapername}{Seminararbeit}%
+\tud@localization@german{\termpapername}{Hausarbeit}%
+\tud@localization@german{\researchname}{Forschungsbericht}%
+\tud@localization@german{\logname}{Protokoll}%
+\tud@localization@german{\internshipname}{Praktikumsbericht}%
+\tud@localization@german{\reportname}{Bericht}%
+\tud@localization@german{\authorname}{Autor}%
+\tud@localization@german{\contactname}{Kontakt}%
+\tud@localization@german{\contactpersonname}{Ansprechpartner}%
+\newcommand*\tud@localization@english{%
\providecaptionname{%
american,australian,british,canadian,english,newzealand,UKenglish,USenglish%
}%
}
-\tud@locale@english{\coursename}{Course}%
-\tud@locale@english{\disciplinename}{Discipline}%
-\tud@locale@english{\listingname}{Listing}%
-\tud@locale@english{\listlistingname}{List of Listings}%
-\tud@locale@english{\dissertationname}{Dissertation}%
-\tud@locale@english{\diplomathesisname}{Diploma Thesis}%
-\tud@locale@english{\masterthesisname}{Master Thesis}%
-\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}%
-\tud@locale@english{\studentthesisname}{Student Thesis}%
-\tud@locale@english{\studentresearchname}{Student Research Project}%
-\tud@locale@english{\projectpapername}{Project Paper}%
-\tud@locale@english{\seminarpapername}{Seminar Paper}%
-\tud@locale@english{\termpapername}{Term Paper}%
-\tud@locale@english{\researchname}{Research Report}%
-\tud@locale@english{\logname}{Log}%
-\tud@locale@english{\internshipname}{Internship Report}%
-\tud@locale@english{\reportname}{Report}%
-\tud@locale@english{\authorname}{Author}%
-\tud@locale@english{\contactname}{Contact}%
-\tud@locale@english{\contactpersonname}{Contact}%
+\tud@localization@english{\coursename}{Course}%
+\tud@localization@english{\disciplinename}{Discipline}%
+\tud@localization@english{\listingname}{Listing}%
+\tud@localization@english{\listlistingname}{List of Listings}%
+\tud@localization@english{\dissertationname}{Dissertation}%
+\tud@localization@english{\diplomathesisname}{Diploma Thesis}%
+\tud@localization@english{\masterthesisname}{Master Thesis}%
+\tud@localization@english{\bachelorthesisname}{Bachelor Thesis}%
+\tud@localization@english{\studentthesisname}{Student Thesis}%
+\tud@localization@english{\studentresearchname}{Student Research Project}%
+\tud@localization@english{\projectpapername}{Project Paper}%
+\tud@localization@english{\seminarpapername}{Seminar Paper}%
+\tud@localization@english{\termpapername}{Term Paper}%
+\tud@localization@english{\researchname}{Research Report}%
+\tud@localization@english{\logname}{Log}%
+\tud@localization@english{\internshipname}{Internship Report}%
+\tud@localization@english{\reportname}{Report}%
+\tud@localization@english{\authorname}{Author}%
+\tud@localization@english{\contactname}{Contact}%
+\tud@localization@english{\contactpersonname}{Counterpart}%
\AfterPackage{listings}{%
\renewcommand*\lstlistingname{\listingname}%
\renewcommand*\lstlistlistingname{\listlistingname}%
}
\AfterPackage{mathswap}{%
- \tud@locale@german{\@commaswap}{,}%
- \tud@locale@german{\@dotswap}{\,}%
- \tud@locale@english{\@commaswap}{\,}%
- \tud@locale@english{\@dotswap}{.}%
+ \tud@localization@german{\@commaswap}{,}%
+ \tud@localization@german{\@dotswap}{\,}%
+ \tud@localization@english{\@commaswap}{\,}%
+ \tud@localization@english{\@dotswap}{.}%
}
%%% From File: tudscr-area.dtx
\newif\if@tud@x@crop@center
@@ -2305,7 +3467,7 @@
}%
\pretocmd{\CROP@center}{%
\@tud@x@crop@centertrue%
- }{}{\tud@patch@wrn{CROP@center}}
+ }{}{\tud@patch@wrn{CROP@center}}%
}
\newif\if@tud@x@standalone@crop
\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
@@ -2326,21 +3488,22 @@
\newlength\tud@len@areadiff
\newlength\tud@len@areavskip
\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newcommand*\tud@head@fontsize{}
\newif\if@tud@cdgeometry@adjust
-\newlength\tud@len@layoutheight
\newlength\tud@len@layoutwidth
+\newlength\tud@len@layoutheight
\newlength\tud@len@layouthoffset
\newlength\tud@len@layoutvoffset
-\newcommand*\tud@cdgeometry@set{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
- \else%
- \setlength\tud@len@layoutheight{\paperheight}%
+\newcommand*\tud@cdgeometry@assignlayout{%
+ \ifdim\tud@len@layoutwidth<\p@\relax%
\setlength\tud@len@layoutwidth{\paperwidth}%
\fi%
- \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
- \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \ifdim\tud@len@layoutheight<\p@\relax%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \fi%
+}
+\newcommand*\tud@cdgeometry@set{%
+ \tud@cdgeometry@assignlayout%
\tud@if@v@lower{2.05}{%
\ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
\def\@tempa{0}%
@@ -2406,8 +3569,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{0.25pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{4.5pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{4.5pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\or% <=A6/B6
\setlength\tud@len@widemargin{15mm}%
@@ -2468,8 +3631,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{2pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{36pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{36pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\ifnum\tud@cdgeometry@calc@num=\tw@\relax%
@@ -2477,8 +3640,8 @@
\setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{\tud@head@fontsize pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{\tud@head@fontsize pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\global\@tud@head@font@settrue%
@@ -2498,13 +3661,19 @@
\setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
\fi%
}
-\newcommand*\tud@cdgeometry@process{}
-\newcommand*\tud@cdgeometry@@process{}
+\newcommand*\tud@cdgeometry@process{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+}
\if@tud@x@standalone@crop
\PreventPackageFromLoading{geometry}%
+ \let\tud@cdgeometry@process\relax%
\else
\RequirePackage{geometry}[2010/09/12]%
-\fi
+\fi%
\AfterPackage*{geometry}{%
\CheckCommand*\Gm@initnewgm{%
\Gm@passfalse
@@ -2642,109 +3811,149 @@
}{\@nameuse{Gm@restore@@#1}%
\Gm@changelayout}%
}%
- \tud@cmd@store{geometry}
- \tud@cmd@store{newgeometry}
\newif\if@tud@x@geometry@enabled%
\@tud@x@geometry@enabledtrue%
- \newcommand*\tud@setgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \ifGm@pass%
- \def\@tempb{}%
- \else%
- \edef\@tempb{layoutoffset={\the\Gm@layouthoffset,\the\Gm@layoutvoffset}}%
- \ifGm@layout%
- \eappto\@tempb{,layoutsize={\the\Gm@layoutwidth,\the\Gm@layoutheight}}%
- \fi%
- \fi%
+ \tud@cs@store{geometry}%
+ \tud@cs@store{newgeometry}%
+ \renewcommand*\geometry[1]{%
+ \tud@x@geometry@user{#1}{geometry}%
+ }%
+ \renewcommand*\newgeometry[1]{%
+ \tud@cs@store{Gm@restore@org}%
+ \tud@x@geometry@user{#1}{newgeometry}%
+ \tud@cs@restore{Gm@restore@org}%
+ }%
+ \renewcommand*\restoregeometry[1][custom]{%
+ \tud@cdgeometry@reset{#1}%
\if@atdocument%
- \edef\@tempa{\@tempb,#1}%
- \tud@cmd@store{Gm@restore@org}%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- \def\@tempc{\tud@cmd@use{newgeometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
- \tud@cmd@restore{Gm@restore@org}%
- \else%
- \Gm@initnewgm%
- \edef\@tempa{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,\@tempb,#1%
- }%
- \def\@tempc{\tud@cmd@use{geometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@loadgeometry{init@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \tud@cdgeometry@process%
\fi%
- \@tud@x@geometry@enabledtrue%
}%
- \newcommand*\tud@savegeometry[1]{%
- \def\Gm@restore{}%
- \savegeometry{#1}%
- \csepreto{Gm@restore@@#1}{%
- \etex@unexpanded{\def\Gm@lmargin}{\Gm@lmargin}%
- \etex@unexpanded{\def\Gm@rmargin}{\Gm@rmargin}%
- \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
- \ifGm@includemp%
- \noexpand\Gm@includemptrue%
- \else%
- \noexpand\Gm@includempfalse%
- \fi%
- \ifGm@layout%
- \noexpand\Gm@layouttrue%
- \else%
- \noexpand\Gm@layoutfalse%
+ \apptocmd{\Gm@changelayout}{%
+ \if@tud@x@geometry@enabled%
+ \if@atdocument%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@reset{custom}%
+ \tud@cdgeometry@process%
\fi%
- }%
+ \fi%
+ }{}{\tud@patch@wrn{Gm@changelayout}}%
+ \newif\if@tud@x@geometry@fixmargins%
+ \newcommand*\tud@x@geometry@fixmargins{%
+ \ifGm@pass\else%
+ \addtolength\oddsidemargin{-\tud@len@layouthoffset}%
+ \addtolength\evensidemargin{-\tud@len@layouthoffset}%
+ \addtolength\topmargin{-\tud@len@layoutvoffset}%
+ \@tud@x@geometry@fixmarginsfalse%
+ \fi%
}%
- \newcommand*\tud@loadgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \loadgeometry{#1}%
- \@currsize%
- \if@tud@x@crop@center\CROP@center\fi%
- \@tud@x@geometry@enabledtrue%
+ \newcommand*\tud@x@geometry@paper{}%
+ \newcommand*\tud@x@geometry@layout{}%
+ \newcommand*\tud@x@geometry@parameter{}%
+ \newcommand*\tud@x@geometry@init{}%
+ \newcommand*\tud@x@geometry@user[2]{%
+ \let\tud@x@geometry@paper\@empty%
+ \let\tud@x@geometry@layout\@empty%
+ \let\tud@x@geometry@parameter\@empty%
+ \TUD@parameter@set{geometry}{#1}%
+ \ifx\tud@x@geometry@layout\@empty\else%
+ \begingroup%
+ \tud@x@geometry@area@set{layout}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\setlength\noexpand\tud@len@layoutwidth{\the\paperwidth}%
+ \noexpand\setlength\noexpand\tud@len@layoutheight{\the\paperheight}%
+ }%
+ \tud@res@a%
+ \fi%
+ \tud@x@geometry@area@set{paper}%
+ \ifstr{#2}{newgeometry}{%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \tud@x@geometry@getlayout{\tud@res@a}%
+ \epreto{\tud@x@geometry@parameter}{\tud@res@a,}%
+ \def\tud@res@a{\tud@cs@use{newgeometry}}%
+ \expandafter\tud@res@a\expandafter{\tud@x@geometry@parameter}%
+ \edef\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }{%
+ \eappto\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }%
}%
\TUD@parameter@family{geometry}{%
- \TUD@parameter@def{paper}{\tud@area@def{paper}{#1}}%
+ \TUD@parameter@def{paper}{\tud@x@geometry@area@def{paper}{#1}}%
\TUD@parameter@let{papername}{paper}%
- \TUD@parameter@def{paperwidth}{\tud@area@def{paper}{#1:\the\paperheight}}%
- \TUD@parameter@def{paperheight}{\tud@area@def{paper}{\the\paperwidth:#1}}%
\TUD@parameter@def{papersize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{paper}{##1:##1}%
+ \tud@x@geometry@area@def{paper}{##1:##1}%
}{%
- \tud@area@def{paper}{##1:##2}%
+ \tud@x@geometry@area@def{paper}{##1:##2}%
}%
}%
\@tempa#1,,\@nil%
}%
- \TUD@parameter@def{layout}{\tud@area@def{layout}{#1}}%
- \TUD@parameter@let{layoutname}{layout}%
- \TUD@parameter@def{layoutwidth}{%
- \tud@area@def{layout}{#1:\the\tud@len@layoutheight}%
+ \TUD@parameter@def{paperwidth}{%
+ \tud@x@geometry@area@def{paper}{#1:\paperheight}%
+ }%
+ \TUD@parameter@def{paperheight}{%
+ \tud@x@geometry@area@def{paper}{\paperwidth:#1}%
}%
- \TUD@parameter@def{layoutheight}{%
- \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ \TUD@parameter@def{layout}{%
+ \ifstr{#1}{false}{%
+ \setlength\tud@len@layoutwidth{\z@}%
+ \setlength\tud@len@layoutheight{\z@}%
+ \setlength\tud@len@layouthoffset{\z@}%
+ \setlength\tud@len@layoutvoffset{\z@}%
+ }{%
+ \tud@x@geometry@area@def{layout}{#1}%
+ }%
}%
+ \TUD@parameter@let{layoutname}{layout}%
\TUD@parameter@def{layoutsize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{layout}{##1:##1}%
+ \tud@x@geometry@area@def{layout}{##1:##1}%
+ }{%
+ \tud@x@geometry@area@def{layout}{##1:##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \TUD@parameter@def{layoutwidth}{\setlength\tud@len@layoutwidth{#1}}%
+ \TUD@parameter@def{layoutheight}{\setlength\tud@len@layoutheight{#1}}%
+ \TUD@parameter@def{layoutoffset}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##1}%
}{%
- \tud@area@def{layout}{##1:##2}%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##2}%
}%
}%
\@tempa#1,,\@nil%
}%
+ \TUD@parameter@def{layouthoffset}{\setlength\tud@len@layouthoffset{#1}}%
+ \TUD@parameter@def{layoutvoffset}{\setlength\tud@len@layoutvoffset{#1}}%
\TUD@parameter@def{bleedmargin}{\TUDoption{bleedmargin}{#1}}%
\TUD@parameter@handler@macro{%
\eappto\tud@x@geometry@parameter{%
\expandonce\kv@key=\expandonce\kv@value,%
}%
}{%
- \tud@area@def{paper}{#2}%
+ \tud@x@geometry@area@def{paper}{#2}%
}%
- }
- \newcommand*\tud@area@def[2]{%
+ }%
+ \newcommand*\tud@x@geometry@area@def[2]{%
\tud@lowerstring{\@tempa}{#2}%
\def\@tempb##1paper##2\@nil{%
\ifstr{##2}{paper}{\def\@tempa{##1}}{}%
@@ -2807,150 +4016,123 @@
\fi%
\if@tempswa%
\cseappto{tud@x@geometry@#1}{\@tempa,}%
- \def\@tempb##1:##2:##3\@nil{%
- \IfArgIsEmpty{##2}{}{%
- \ifstr{#1}{paper}{%
- \setlength\paperwidth{##1}%
- \setlength\paperheight{##2}%
- }{%
- \ifstr{#1}{layout}{%
- \setlength\tud@len@layoutwidth{##1}%
- \setlength\tud@len@layoutheight{##2}%
- }{}%
- }%
- }%
- }%
- \expandafter\@tempb\@tempa::\@nil%
\else%
\appto\tud@x@geometry@parameter{#2,}%
\fi%
- }
- \newcommand*\tud@area@set[1]{%
+ }%
+ \newcommand*\tud@x@geometry@area@set[1]{%
\letcs{\@tempa}{tud@x@geometry@#1}%
\ifdefvoid{\@tempa}{}{%
\def\@tempb##1:##2:##3\@nil{%
- \tud@cmd@store{@tempa}%
- \tud@cmd@store{@tempb}%
- \tud@cmd@store{@tempc}%
- \IfArgIsEmpty{##2}{%
- \KOMAoption{paper}{##1}%
- }{%
- \if@landscape%
- \KOMAoption{paper}{##2:##1}%
- \else%
- \KOMAoption{paper}{##1:##2}%
- \fi%
- }%
- \tud@cmd@restore{@tempa}%
- \tud@cmd@restore{@tempb}%
- \tud@cmd@restore{@tempc}%
+ \begingroup%
+ \IfArgIsEmpty{##2}{%
+ \def\@tempb{\KOMAoption{paper}{##1}}%
+ }{%
+ \if@landscape%
+ \def\@tempb{\KOMAoption{paper}{##2:##1}}%
+ \else%
+ \def\@tempb{\KOMAoption{paper}{##1:##2}}%
+ \fi%
+ }%
+ \edef\@tempb{\endgroup\expandonce\@tempb}%
+ \@tempb%
}%
\def\@tempc##1{\@tempb##1::\@nil}%
\expandafter\forcsvlist\expandafter\@tempc\expandafter{\@tempa}%
}%
- }
- \newcommand*\tud@x@geometry@init{}
- \newcommand*\tud@x@geometry@paper{}
- \newcommand*\tud@x@geometry@layout{}
- \newcommand*\tud@x@geometry@parameter{}
- \newcommand*\tud@geometry[2]{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
+ }%
+ \newcommand*\tud@x@geometry@getlayout[1]{%
+ \ifGm@pass%
+ \let#1\@empty%
\else%
- \setlength\tud@len@layoutheight{\paperheight}%
- \setlength\tud@len@layoutwidth{\paperwidth}%
- \fi%
- \let\tud@x@geometry@paper\@empty%
- \let\tud@x@geometry@layout\@empty%
- \let\tud@x@geometry@parameter\@empty%
- \TUD@parameter@set{geometry}{#1}%
- \tud@area@set{paper}%
- \ifstr{#2}{newgeometry}{%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- }{%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
- }%
- }%
- \ifx\tud@x@geometry@layout\@empty\else%
+ \tud@cdgeometry@assignlayout%
\begingroup%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \setlength\paperheight{\Gm@layoutheight}%
- \tud@area@set{layout}%
- \edef\tud@reserved{%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi%
+ \edef\tud@res@a{%
\endgroup%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ \etex@unexpanded{\def#1}{%
+ layoutoffset={%
+ \the\tud@len@layouthoffset,\the\tud@len@layoutvoffset%
+ }%
+ \if@tud@res@swa%
+ ,layoutsize={\the\tud@len@layoutwidth,\the\tud@len@layoutheight}%
+ \fi%
}%
}%
- \tud@reserved%
+ \tud@res@a%
\fi%
- \def\@tempa{\tud@cmd@use{#2}}%
- \expandafter\@tempa\expandafter{\tud@x@geometry@parameter}%
- \ifstr{#2}{geometry}{%
- \ifbool{@tud@x@geometry@enabled}{%
- \eappto\tud@x@geometry@init{,\expandonce\tud@x@geometry@parameter}%
- }{}%
- }{}%
- }
- \renewcommand*\geometry[1]{\tud@geometry{#1}{geometry}}
- \renewcommand*\newgeometry[1]{%
- \tud@cmd@store{Gm@restore@org}%
- \tud@geometry{#1}{newgeometry}%
- \tud@cmd@restore{Gm@restore@org}%
- }
- \apptocmd{\Gm@changelayout}{%
- \ifboolexpr{bool {@tud@x@geometry@enabled} and bool {@atdocument}}{%
- \tud@cdgeometry@process%
- }{}%
- }{}{\tud@patch@wrn{Gm@changelayout}}%
- \renewcommand*\restoregeometry[1][]{%
- \IfArgIsEmpty{#1}{}{%
- \tud@cmd@store{TUD@SpecialOptionAtDocument}%
- \let\TUD@SpecialOptionAtDocument\@gobble%
- \TUDoption{cdgeometry}{#1}%
- \tud@cmd@restore{TUD@SpecialOptionAtDocument}%
- }%
- \ifnum\tud@cdgeometry@num=\@ne\relax
- \tud@loadgeometry{init@custom}%
+ }%
+ \newcommand*\tud@x@geometry@set[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \if@atdocument%
+ \edef\@tempa{#1}%
+ \tud@cs@store{Gm@restore@org}%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \def\@tempc{\tud@cs@use{newgeometry}}%
+ \expandafter\@tempc\expandafter{\@tempa}%
+ \tud@cs@restore{Gm@restore@org}%
\else%
- \tud@loadgeometry{init@typearea}%
+ \Gm@initnewgm%
+ \edef\@tempa{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1%
+ }%
+ \def\@tempc{\tud@cs@use{geometry}}%
+ \expandafter\@tempc\expandafter{\@tempa,driver=none}%
\fi%
- \tud@AfterChangingArea%
+ \@tud@x@geometry@enabledtrue%
}%
+ \newcommand*\tud@savegeometry[1]{%
+ \let\Gm@restore\@empty%
+ \savegeometry{#1}%
+ \csepreto{Gm@restore@@#1}{%
+ \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
+ \ifGm@includehead%
+ \noexpand\Gm@includeheadtrue%
+ \else%
+ \noexpand\Gm@includeheadfalse%
+ \fi%
+ \ifGm@includefoot%
+ \noexpand\Gm@includefoottrue%
+ \else%
+ \noexpand\Gm@includefootfalse%
+ \fi%
+ \ifGm@includemp%
+ \noexpand\Gm@includemptrue%
+ \else%
+ \noexpand\Gm@includempfalse%
+ \fi%
+ \ifGm@layout%
+ \noexpand\Gm@layouttrue%
+ \else%
+ \noexpand\Gm@layoutfalse%
+ \fi%
+ }%
+ }%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \newcommand*\tud@cdgeometry@layout{}%
\newcommand*\tud@cdgeometry@hmargin{}%
\newcommand*\tud@cdgeometry@vmargin{}%
\newcommand*\tud@cdgeometry@tudmargin{}%
\tud@if@v@lower{2.03}{\newcommand*\tud@cdgeometry@ddcmargin{}}{}%
- \renewcommand*\tud@cdgeometry@process{%
- \tud@AfterChangingArea%
- }%
- \renewcommand*\tud@cdgeometry@@process{%
+ \newcommand*\tud@cdgeometry@@process{%
\csuse{@ta@usegeometryfalse}%
\tud@cdgeometry@set%
\ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \if@tud@x@geometry@fixmargins%
+ \tud@x@geometry@fixmargins%
+ \fi%
\ifcase\tud@cdgeometry@num\relax%
- \ifGm@layout%
- \tud@skip@store{paperheight}%
- \tud@skip@store{paperwidth}%
- \setlength\paperheight{\tud@len@layoutheight}%
- \setlength\paperwidth{\tud@len@layoutwidth}%
- \fi%
- \tud@cmd@store{activateareas}%
- \tud@cmd@store{tud@AfterChangingArea}%
- \let\activateareas\relax%
- \let\tud@AfterChangingArea\relax%
- \recalctypearea%
- \ifGm@layout%
- \tud@skip@restore{paperheight}%
- \tud@skip@restore{paperwidth}%
- \fi%
- \tud@cmd@restore{activateareas}%
- \tud@cmd@restore{tud@AfterChangingArea}%
\edef\tud@cdgeometry@hmargin{%
left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
textwidth=\the\textwidth,%
@@ -2982,8 +4164,8 @@
\else% custom
\ifGm@pass\else%
\edef\tud@cdgeometry@hmargin{%
- left=\Gm@lmargin,%
- right=\Gm@rmargin,%
+ left=\the\dimexpr\oddsidemargin+1in-\Gm@bindingoffset\relax,%
+ textwidth=\the\textwidth,%
\ifGm@includemp%
includemp=true,%
\else%
@@ -3050,11 +4232,23 @@
}%
}{}%
\ifdim\dimexpr\tud@dim@extrabottommargin\relax=\z@\relax\else%
- \ClassWarning{\TUD@Class@Name}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea or custom layout is used\MessageBreak%
- (`cdgeometry=false/custom')%
- }%
+ \begingroup%
+ \edef\tud@res@a{%
+ The key `extrabottommargin' is ineffective\MessageBreak%
+ when\space%
+ \ifcase\tud@cdgeometry@num%
+ package `typearea' is used for layout with\MessageBreak%
+ `cdgeometry=typearea'%
+ \else%
+ a user-defined layout is used with\MessageBreak%
+ `cdgeometry=custom'%
+ \fi%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}{\tud@res@a}%
+ }%
+ \tud@res@a%
\fi%
\else% true/symmetric/twoside
\ifcase\tud@cdgeometry@num\relax\or\or% true
@@ -3169,12 +4363,6 @@
\fi%
\ifdim\tud@len@areadiff<\z@\relax\setlength\tud@len@areadiff{\z@}\fi%
\global\tud@len@areadiff=\tud@len@areadiff%
- \if@tud@cdgeometry@adjust%
- \setlength\tud@len@areaheadvskip{.3\tud@len@topmargin}%
- \else%
- \setlength\tud@len@areaheadvskip{.6\tud@len@topmargin}%
- \fi%
- \global\tud@len@areaheadvskip=\tud@len@areaheadvskip%
\tud@if@v@lower{2.03}{%
\ifdim\tud@len@ddcdiff<\z@\relax\setlength\tud@len@ddcdiff{\z@}\fi%
\global\tud@len@ddcdiff=\tud@len@ddcdiff%
@@ -3182,32 +4370,36 @@
\tud@cdgeometry@@@process%
}%
\newcommand*\tud@cdgeometry@@@process{%
- \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
- \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
\tud@if@v@lower{2.03}{%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin,%
\tud@cdgeometry@ddcmargin,%
ignorehead,ignorefoot%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudareaddc}%
}{}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudarea}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{stdarea}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@savegeometry{current@typearea}%
+ \or% custom
+ \tud@savegeometry{current@custom}%
+ \fi%
\if@atdocument%
\ifstr{\tud@currentgeometry}{stdarea}{}{%
\expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
@@ -3235,153 +4427,183 @@
includemp=false%
\fi%
}%
-}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \tud@if@tudheadings{#1}{%
- \tud@if@v@lower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \newcommand*\tud@cdgeometry@@init{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
+ \tud@cs@store{tud@cdgeometry@num}%
+ \tud@cs@store{tud@dim@extrabottommargin}%
+ \def\tud@dim@extrabottommargin{\z@}%
+ \tud@cdgeometry@reset{custom}%
+ \begingroup%
+ \epreto\tud@x@geometry@init{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
+ \tud@cdgeometry@layout,%
+ \tud@cdgeometry@mpincl,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor,%
+ \tud@cdgeometry@hincl,%
+ \tud@cdgeometry@fincl,%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\tud@cs@use{geometry}{\tud@x@geometry@init,driver=none}%
+ \noexpand\@tud@x@geometry@fixmarginstrue%
+ }%
+ \tud@res@a%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@custom}%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@x@typearea@warnings@off[\tud@res@a]%
+ \tud@x@typearea@init%
+ \tud@x@typearea@warnings@on%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@typearea}%
+ \def\tud@res@b##1{%
+ \eappto\Gm@restore@@init@typearea{%
+ \noexpand\PackageWarningNoLine{typearea}{##1}%
+ }%
+ }%
+ \forlistloop\tud@res@b{\tud@res@a}%
+ \tud@cs@restore{tud@cdgeometry@num}%
+ \tud@cs@restore{tud@dim@extrabottommargin}%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \ifcase\tud@cdgeometry@num\relax% typearea
+ \tud@loadgeometry{init@typearea}%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \fi%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@currentgeometry{}
+ \newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
+ \ifstr{#1}{\GetRealPageStyle{#1}}{%
+ \tud@if@tudheadings{#1}{%
+ \tud@if@v@lower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \tud@loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
+ \else% \tud@ddc@foot@num!=false
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@loadgeometry{tudareaddc}%
+ \gdef\tud@currentgeometry{tudareaddc}%
+ }%
+ \fi%
+ }{%
\ifstr{\tud@currentgeometry}{tudarea}{}{%
\tud@loadgeometry{tudarea}%
\gdef\tud@currentgeometry{tudarea}%
}%
- \else% \tud@ddc@foot@num!=false
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
- }%
- \fi%
+ }%
+ \setlength\tud@len@areavskip{\z@}%
+ \tud@komafont@set{pagenumber}{\usekomafont{tudheadings}}%
+ \tud@komafont@set{pagefoot}{\usekomafont{tudheadings}}%
}{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \tud@loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \tud@loadgeometry{stdarea}%
+ \gdef\tud@currentgeometry{stdarea}%
}%
- }%
- \setlength\tud@len@areavskip{\z@}%
- \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
- \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
- }{%
- \ifstr{\tud@currentgeometry}{stdarea}{}{%
- \tud@loadgeometry{stdarea}%
- \gdef\tud@currentgeometry{stdarea}%
- }%
- \setlength\tud@len@areavskip{\tud@len@areadiff}%
- \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
- \if@hincl%
- \addtolength\tud@len@areavskip{%
- \dimexpr-\headheight-\tud@len@headsep\relax%
- }%
+ \setlength\tud@len@areavskip{\tud@len@areadiff}%
+ \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
+ \if@hincl%
+ \addtolength\tud@len@areavskip{%
+ \dimexpr-\headheight-\tud@len@headsep\relax%
+ }%
+ \fi%
\fi%
- \fi%
- \tud@font@koma@unset{pagefoot}%
- \tud@font@koma@unset{pagenumber}%
+ \tud@komafont@unset{pagenumber}%
+ \tud@komafont@unset{pagefoot}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
+ }
+}
+\newcommand*\tud@x@typearea@before{%
+ \tud@skip@store{paperheight}%
+ \tud@skip@store{paperwidth}%
+ \begingroup%
+ \tud@cdgeometry@assignlayout%
+ \edef\tud@res@a{%
+ \endgroup%
+ \etex@unexpanded{\setlength\paperheight}{\the\tud@len@layoutheight}%
+ \etex@unexpanded{\setlength\paperwidth}{\the\tud@len@layoutwidth}%
}%
- \global\tud@len@areavskip=\tud@len@areavskip%
- }{}%
+ \tud@res@a%
}
-\newcommand*\tud@AfterChangingArea{%
- \tud@cdgeometry@@process%
- \KOMAoptions{pagesize=\@pagesizelast}%
- \global\@tud@mainlogo@settrue%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+\newcommand*\tud@x@typearea@after{%
+ \tud@skip@restore{paperheight}%
+ \tud@skip@restore{paperwidth}%
+ \if@atdocument%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@cdgeometry@process%
+ \else%
+ \TUD@key@preset{cdgeometry}{false}%
+ \fi%
}
-\newcommand*\tud@cdgeometry@init{%
- \AtEndPreamble{%
- \if@tud@x@standalone@crop%
- \pagestyle{empty}%
- \let\tud@AfterChangingArea\relax%
- \let\tud@cdgeometry@process\relax%
- \else%
- \csuse{@ta@usegeometryfalse}%
- \def\tud@reserved##1{%
- \tud@setgeometry{%
- \tud@cdgeometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- \else%
- reversemarginpar=false,%
- \fi%
- bindingoffset=\the\ta@bcor,%
- \tud@cdgeometry@hincl,%
- \tud@cdgeometry@fincl,%
- \tud@x@geometry@init,%
- driver=none%
- }%
- \addtolength\oddsidemargin{-\Gm@layouthoffset}%
- \addtolength\evensidemargin{-\Gm@layouthoffset}%
- \addtolength\topmargin{-\Gm@layoutvoffset}%
- \tud@savegeometry{init@##1}%
+\newcommand*\tud@x@typearea@init{\recalctypearea}%
+\xpretocmd{\typearea}{%
+ \tud@x@typearea@before%
+ \def\tud@x@typearea@init{\typearea[#1]{#2}}%
+}{}{\tud@patch@wrn{typearea}}
+\xapptocmd{\typearea}{\tud@x@typearea@after}{}{\tud@patch@wrn{typearea}}
+\xpretocmd{\areaset}{%
+ \tud@x@typearea@before%
+ \begingroup%
+ \setlength\@tempdima{#2}%
+ \setlength\@tempdimb{#3}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\def\noexpand\tud@x@typearea@init{%
+ \noexpand\areaset[#1]{\the\@tempdima}{\the\@tempdimb}%
}%
- \begingroup%
- \let\scr@grouplevel@test\@gobble%
- \setlength\paperheight{\Gm@layoutheight}%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \let\activateareas\relax%
- \tud@x@ta@warnings@off%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{DIV}%
- \def\@tempb{{0}}%
- \ifx\@tempa\@tempb\relax%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{paper}%
- \@for\@tempb:=\@tempa\do{%
- \@tempswatrue%
- \ifx\@tempb\defaultpapersize\relax%
- \@tempswafalse%
- \fi%
- }%
- \if@tempswa%
- \KOMAoptions{DIV=11}%
- \fi%
- \fi%
- \recalctypearea%
- \tud@x@ta@warnings@on%
- \edef\tud@x@geometry@init{%
- left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
- textwidth=\the\textwidth,%
- marginparwidth=\the\marginparwidth,%
- marginparsep=\the\marginparsep,%
- bindingoffset=\the\ta@bcor,%
- \if@hincl%
- top=\the\dimexpr\topmargin+1in\relax,%
- \else%
- top=\the\dimexpr\topmargin%
- +\headheight+\headsep+1in\relax,%
- \fi%
- headheight=\the\headheight,%
- headsep=\the\headsep,%
- textheight=\the\textheight,%
- footskip=\the\footskip%
- }%
- \tud@reserved{typearea}%
- \global\let\Gm@restore@@init@typearea\Gm@restore@@init@typearea%
+ }%
+ \tud@res@a%
+}{}{\tud@patch@wrn{areaset}}
+\xapptocmd{\areaset}{\tud@x@typearea@after}{}{\tud@patch@wrn{areaset}}
+\tud@cs@store{storeareas}
+\renewcommand*\storeareas[1]{%
+ \begingroup
+ \tud@x@geometry@fixmargins%
+ \tud@cs@use{storeareas}{#1}%
+ \edef\tud@res@a{%
\endgroup%
- \tud@reserved{custom}%
- \AfterCalculatingTypearea{\tud@AfterChangingArea}%
- \AfterSettingArea{\tud@AfterChangingArea}%
- \ifundef{\AfterRestoreareas}{}{%
- \AfterRestoreareas{\tud@AfterChangingArea}%
+ \etex@unexpanded{\def#1}{%
+ \expandonce#1%
+ \def\noexpand\tud@cdgeometry@num{\tud@cdgeometry@num}%
}%
- \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
- \tud@cdgeometry@process%
- \fi%
- \let\tud@cdgeometry@init\relax%
- }%
+ }%
+ \tud@res@a%
}
-\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\AfterRestoreareas{\tud@cdgeometry@process}%
\TUD@UnwindPackage{geometry}{%
- \newif\ifGm@layout%
- \newif\ifGm@showcrop%
- \newif\ifGm@pass%
- \let\Gm@layoutheight\paperheight%
- \let\Gm@layoutwidth\paperwidth%
- \let\Gm@layouthoffset\z@%
- \let\Gm@layoutvoffset\z@%
- \renewcommand*\tud@cdgeometry@@process{\tud@cdgeometry@set}%
- \let\tud@BeforeSelectAnyPageStyle\@gobble%
- \providecommand*\tud@setgeometry[1]{}%
- \providecommand*\tud@savegeometry[1]{}%
+ \newcommand*\tud@cdgeometry@@init{%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@cdgeometry@@process{%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \tud@cdgeometry@set%
+ }%
+ \newcommand*\tud@x@geometry@fixmargins{}%
+}
+\newcommand*\tud@cdgeometry@init{\tud@cdgeometry@@init}%
+\AfterPackage{svg-extract}{%
+ \renewcommand*\tud@cdgeometry@init{%
+ \if@svgx@standalone%
+ \@tud@x@scr@fontsize@settrue%
+ \else%
+ \tud@cdgeometry@@init%
+ \fi%
+ }%
}
\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
\let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
@@ -3446,7 +4668,7 @@
contents={%
\ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\color{HKS41!60}%
- \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \setlength\@tempdima{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
\ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
\raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
\fi%
@@ -3711,16 +4933,19 @@
}{}{\tud@patch@wrn{thispagestyle}}
\newcommand*\tud@pagestyle{}
\let\tud@pagestyle\pagestyle
+\newcommand*\currentpagestyle{plain}
\pretocmd{\tud@pagestyle}{%
\tud@BeforeSelectAnyPageStyle{#1}%
\edef\currentpagestyle{#1}%
}{}{\tud@patch@wrn{pagestyle}}
-\tud@cmd@store{pagestyle}
+\tud@cs@store{pagestyle}
\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
\BeforePackage{scrlayer-scrpage}{%
- \tud@cmd@restore{pagestyle}%
+ \tud@cs@restore{pagestyle}%
\undef\tud@pagestyle%
+ \undef\currentpagestyle%
}
+\AfterPackage!{scrlayer-scrpage}{\AtEndPreamble{\tud@cdgeometry@init}}
\TUD@UnwindPackage{scrlayer-scrpage}{%
\ifcsundef{if@chapter}{%
\newif\if@chapter%
@@ -3780,12 +5005,12 @@
\fi%
\fi%
}{%
+ \tud@locked@bool@preset{@tud@head@widebar}{true}%
\ifstr{\tud@pagecolor}{HKS41}{%
\renewcommand*\tud@head@logocolor{white}%
\renewcommand*\tud@head@fontcolor{white}%
\renewcommand*\tud@foot@logocolor{white}%
\renewcommand*\tud@foot@fontcolor{white}%
- \bool@std@lock{@tud@head@widebar}{true}%
}{%
\renewcommand*\tud@head@logocolor{HKS41}%
\renewcommand*\tud@head@fontcolor{HKS41}%
@@ -3800,57 +5025,12 @@
\renewcommand*\tud@foot@logocolor{HKS41}%
\renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
- \bool@std@lock{@tud@head@widebar}{true}%
}%
}%
\let\tud@len@line\tud@len@thinline%
\ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}%
\global\let\tud@foot@fontcolor\tud@foot@fontcolor%
}
-\newcommand*\tud@head@fontsize{}
-\newcommand*\tud@head@font@light{}
-\newcommand*\tud@head@font@bold{}
-\newcommand*\tud@head@font@@bold{}
-\newcommand*\tud@head@font@set{%
- \ifcase\tud@head@font@num\relax% false
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@head@font@set%
- \ClassWarning{\TUD@Class@Name}{%
- It isn't possible to use `cdhead=false'\MessageBreak%
- together with `cdfont=true'%
- }%
- \fi%
- \TUDoptions{cdhead=true}%
- \fi%
- \fi%
- \if@tud@head@font@set%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
- \protected\gdef\tud@head@font@@bold{%
- \usefont{\encodingdefault}{\sfdefault}{\bfdefault}{\updefault}%
- }%
- \ifcase\tud@head@font@num\relax\else% true/heavy
- \if@tud@univers%
- \ifcase\tud@head@font@num\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@fontsize}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{m}{n}{\tud@head@fontsize}%
- \fi%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@fontsize}%
- \protected\gdef\tud@head@font@@bold{%
- \usefont{\encodingdefault}{\tud@univers}{b}{n}%
- }%
- \fi%
- \fi%
- \global\@tud@head@font@setfalse%
- \global\@tud@head@text@settrue%
- \fi%
-}
\newcommand*\tud@head@text@line{}
\newcommand*\tud@head@text@list{}
\newcommand*\tud@head@text@delimiter{}
@@ -3877,9 +5057,9 @@
\newcommand*\tud@head@text@wrn[1]{}
\newcommand*\tud@head@text@set{%
\if@tud@head@text@set%
- \def\tud@head@text@line{}%
- \def\tud@head@text@list{}%
- \def\tud@head@text@buffer{}%
+ \let\tud@head@text@line\@empty%
+ \let\tud@head@text@list\@empty%
+ \let\tud@head@text@buffer\@empty%
\tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}%
\tud@head@text@add{\tud@head@font@light}{\@department}%
\tud@head@text@add{\tud@head@font@light}{\@institute}%
@@ -3898,10 +5078,6 @@
\fi%
}
\newcommand*\tud@head@text@box{%
- \ifx\@faculty\@empty%
- \ClassWarningNoLine{\TUD@Class@Name}{No `\string\faculty' given}%
- \faculty{}%
- \fi%
\def\@tempb{\tud@color{\tud@head@fontcolor}}%
\def\@tempc{\depth+\tud@len@heavyline}%
\def\@tempa##1{%
@@ -4147,7 +5323,7 @@
}%
\vss\vss%
}{%
- You should reduce `footlogoheight', because it is\MessageBreak
+ You should reduce `footlogoheight', because it is\MessageBreak%
too high (\the\dimexpr\tud@dim@footlogoheight\relax).%
\ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
\MessageBreak%
@@ -4192,8 +5368,8 @@
}
\newcommand*\tud@footlogo@cmd@@set[2]{%
\begingroup%
- \def\@tempa{}%
- \def\@tempb{}%
+ \let\@tempa\@empty%
+ \let\@tempb\@empty%
\@tempswatrue%
\def\do##1{%
\if@tempswa%
@@ -4225,19 +5401,26 @@
\usebox\z@\hspace*{-\wd\z@}%
}
\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@usefont[1]{%
+ \usekomafont{tudheadings}{%
+ \tud@footcontent@fontsize%
+ \tud@footcontent@fontface%
+ \selectfont%
+ #1%
+ }%
+}
+\newcommand*\tud@footcontent@fontsize{}
\newcommand*\tud@footcontent@fontface{}
\newcommand*\tud@footcontent@left{}
\newcommand*\tud@footcontent@right{\@nil}
\newcommand*\footcontent{%
\kernel@ifstar{%
- \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \renewcommand*\tud@footcontent@fontsize{}%
\tud@footcontent@do%
}{%
- \renewcommand*\tud@footcontent@fontface{%
- \usekomafont{tudheadings}%
+ \renewcommand*\tud@footcontent@fontsize{%
\setlength\@tempdima{\tud@head@fontsize\p@}%
- \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
- \selectfont%
+ \fontsize{\@tempdima}{1.25\@tempdima}%
}%
\tud@footcontent@do%
}%
@@ -4249,7 +5432,9 @@
}
\newcommand*\tud@footcontent@@do{}
\def\tud@footcontent@@do#1#2[#3]{%
- \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#1}\relax\else%
+ \renewcommand*\tud@footcontent@fontface{#1}%
+ \fi%
\if\detokenize{*#2}\relax\else%
\renewcommand*\tud@footcontent@left{#2}%
\fi%
@@ -4352,25 +5537,26 @@
\linespread{1}%
\vss%
\hbox to #2{%
- \tud@footcontent@fontface%
- \def\@tempa{\@nil}%
- \ifx\@tempa\tud@footcontent@right\relax%
- \vtop{%
- \hsize=\dimexpr#2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \else%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \hspace{\columnsep}%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@right\strut%
- }%
- \fi%
- \hss%
+ \tud@footcontent@usefont{%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax%
+ \vtop{%
+ \hsize=\dimexpr#2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \else%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
+ }%
+ \fi%
+ \hss%
+ }%
}%
\vss\vss%
}{%
@@ -4387,22 +5573,20 @@
\hbox to #2{}%
\fi%
}
-\AtBeginDocument{%
- \tud@if@v@lower{2.04}{%
- \renewcommand*\tud@comp@clearpage{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
- \fi%
- }%
- \renewcommand*\tud@comp@resetpagestyle{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- }{}%
- \fi%
- }%
- }{}%
-}
+\tud@if@v@lower{2.04}{%
+ \renewcommand*\tud@comp@clearpage{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
+ \fi%
+ }%
+ \renewcommand*\tud@comp@resetpagestyle{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ }{}%
+ \fi%
+ }%
+}{}%
\newcommand*\tud@ddc@check{%
\let\@tempa\tud@ddc@head@num%
\let\@tempb\tud@ddc@foot@num%
@@ -4457,11 +5641,13 @@
%%% From File: tudscr-layout.dtx
\newcommand*\tud@x@scr@headings@current{}
\newcommand*\tud@sec@fontsize{}
+\newcommand*\tud@thesis@fontsize{}
\newcommand*\tud@x@scr@headings@set[1][]{%
\def\@tempa##1##2##3{%
\ifstr{##1}{\tud@x@scr@headings@current}{}{%
\renewcommand*\tud@x@scr@headings@current{##1}%
\renewcommand*\tud@sec@fontsize{##2}%
+ \renewcommand*\tud@thesis@fontsize{##3}%
#1%
}%
}%
@@ -4470,129 +5656,202 @@
\ifstr{standardclasses}{\@tempc}{\@tempa{standardclasses}{\Huge}{\LARGE}}{%
\ifstr{big}{\@tempc}{\@tempa{big}{\Huge}{\LARGE}}{%
\ifstr{normal}{\@tempc}{\@tempa{normal}{\huge}{\Large}}{%
- \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\Large}}{}}}}%
+ \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\large}}{}}}}%
}%
+ \begingroup
+ \tud@sec@fontsize%
+ \@tempskipa=\glueexpr%
+ .8\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+ \relax\relax%
+ \edef\tud@res@a{%
+ \endgroup%
+ \def\noexpand\tud@cd@afterskip{\the\@tempskipa}%
+ }%
+ \tud@res@a%
}
\AtEndPreamble{\tud@x@scr@headings@set}
\newcommand*\tud@x@scr@headings@reset{%
- \tud@layout@process%
+ \tud@cd@process%
\tud@x@scr@headings@set[%
- \ifcase\tud@layout@part@num\relax\else% !false
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
+ \ifcase\tud@cd@part@num\relax\else% !false
+ \tud@komafont@reset{part}%
+ \tud@komafont@reset{partnumber}%
\fi%
- \ifcase\tud@layout@section@num\relax\else% !false
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
+ \ifcase\tud@cd@section@num\relax\else% !false
+ \tud@komafont@reset{section}%
+ \tud@komafont@reset{subsection}%
+ \tud@komafont@reset{subsubsection}%
\fi%
]%
}
+\newcommand*\tud@sec@fontface[1][]{\tud@sec@@fontface{#1}}%
+\newcommand*\tud@sec@@fontface[1]{%
+ \sectfont#1%
+ \if@tud@cdfont@active\if@tud@heavyheadings%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@ebf}%
+ \edef\bfseries@sf{\tud@cdfont@ebf}%
+ \edef\bfseries@tt{\tud@ttfont@ebf}%
+ \fi%
+ \let\bfdefault\tud@cdfont@ebf%
+ \fontseries{\tud@cdfont@ebf}%
+ \fi\fi%
+ \selectfont%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdoldfont@nodin%
+ \tud@sec@@fontface{#1}%
+ \else%
+ \tud@db\tud@raggedright%
+ \fi%
+ }%
+\fi
+\newcommand*\tud@sec@format[2][]{%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \endgroup%
+ }%
+ #2%
+}
+\if@tud@cdoldfont@active
+ \newcommand*\tud@sec@uppercase{\MakeUppercase}%
+ \AfterPackage*{textcase}{%
+ \renewcommand*\tud@sec@uppercase{\MakeTextUppercase}%
+ }%
+ \renewcommand*\tud@sec@format[2][]{%
+ \@tud@res@swafalse%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ \tud@ifdin{\@tud@res@swatrue}{}%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \tud@ifdin{\aftergroup\@tud@res@swatrue}{}%
+ \endgroup%
+ }%
+ \if@tud@res@swa%
+ \tud@sec@uppercase{#2}%
+ \else%
+ #2%
+ \fi%
+ }%
+\fi
+\newrobustcmd*\tud@sec@strut{%
+ \begingroup%
+ \strut\setbox\strutbox\hbox{\vphantom{\textsuperscript{\"A\"O\"U}}}\strut%
+ \endgroup%
+}
\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
\newcommand*\tud@section@fontcolor{}
\providecommand*\raggedtitle{\tud@raggedright}
-\newcommand*\tud@layout@process{%
- \ifcase\tud@layout@title@num\relax% false
+\newcommand*\tud@cd@process{%
+ \ifcase\tud@cd@title@num\relax% false
\renewcommand*\titlepagestyle{empty}%
- \tud@font@koma@unset{titlehead}%
- \tud@font@koma@unset{title}%
- \tud@font@koma@unset{subtitle}%
- \tud@font@koma@unset{subject}%
+ \tud@komafont@unset{titlehead}%
+ \tud@komafont@unset{title}%
+ \tud@komafont@unset{subtitle}%
+ \tud@komafont@unset{subject}%
\else% !false
\renewcommand*\titlepagestyle{empty.tudheadings}%
- \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
- \tud@font@koma@set{title}{%
- \raggedtitle%
+ \tud@komafont@set{titlehead}{\usekomafont{titlepage}}%
+ \tud@komafont@set{title}{%
\usekomafont{disposition}%
+ \raggedtitle%
\tud@sec@fontface%
\tud@sec@fontsize%
\tud@color{\tud@title@fontcolor}%
}%
- \tud@font@koma@set{subtitle}{%
- \raggedtitle%
- \ifstr{\mddefault}{l}{%
- \tud@sec@fontface[\fontseries{m}]%
- }{%
- \tud@sec@fontface[\fontseries{bx}]%
- }%
- \usesizeofkomafont{section}%
- \tud@color{\tud@title@fontcolor}%
+ \tud@komafont@set{subtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
}%
- \tud@font@koma@set{subject}{%
+ \tud@komafont@set{subject}{%
\sffamily%
- \bfseries%
+ \usesizeofkomafont{section}%
\tud@color{\tud@title@fontcolor}%
}%
\fi%
- \ifcase\tud@layout@part@num\relax% false
- \tud@cmd@restore{partheadstartvskip}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@restore{scr@@startpart}%
- }{%
- \tud@cmd@restore{@part}%
- }%
- \tud@sectioning@reset[addpart]{part}%
- \tud@font@koma@unset{partnumber}%
- \tud@cmd@restore{raggedpart}%
+ \ifcase\tud@cd@part@num\relax% false
+ \tud@cs@restore{scr@part@beforeskip}%
+ \tud@cs@restore{scr@part@afterskip}%
+ \tud@cs@restore{partheadstartvskip}%
+ \tud@cs@restore{partlineswithprefixformat}%
+ \tud@komafont@unset{part}%
+ \tud@komafont@unset{partnumber}%
+ \tud@cs@restore{raggedpart}%
\else% !false
- \tud@cmd@store{partheadstartvskip}%
+ \tud@cs@store{scr@part@beforeskip}%
+ \renewcommand*\scr@part@beforeskip{\tud@cd@afterskip+\baselineskip}%
+ \tud@cs@store{scr@part@afterskip}%
+ \renewcommand*\scr@part@afterskip{\tud@cd@afterskip}%
+ \tud@cs@store{partheadstartvskip}%
\let\partheadstartvskip\tud@partheadstartvskip%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@store{scr@@startpart}%
- \let\scr@@startpart\tud@@startpart%
- }{%
- \tud@cmd@store{@part}%
- \let\@part\tud@@part%
+ \tud@cs@store{partlineswithprefixformat}%
+ \let\partlineswithprefixformat\tud@partlineswithprefixformat%
+ \tud@komafont@set{part}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
}%
- \tud@sectioning@set{part}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \tud@font@koma@set{partnumber}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \tud@cmd@store{raggedpart}%
+ \tud@komafont@set{partnumber}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
+ }%
+ \tud@cs@store{raggedpart}%
\renewcommand*\raggedpart{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@section@num\relax% false
- \tud@sectioning@reset[addsec]{section}%
- \tud@sectioning@reset{subsection}%
- \tud@sectioning@reset{subsubsection}%
- \tud@sectioning@reset{minisec}%
- \tud@sectioning@reset{paragraph}%
- \tud@sectioning@reset{subparagraph}%
- \tud@cmd@restore{raggedsection}%
+ \ifcase\tud@cd@section@num\relax% false
+ \tud@cs@restore{sectionlinesformat}%
+ \tud@cs@restore{sectioncatchphraseformat}%
+ \tud@komafont@unset{section}%
+ \tud@komafont@unset{subsection}%
+ \tud@komafont@unset{subsubsection}%
+ \tud@komafont@unset{paragraph}%
+ \tud@komafont@unset{subparagraph}%
+ \tud@cs@restore{raggedsection}%
+ \tud@cs@restore{minisec}%
+ \tud@komafont@unset{minisec}%
\else% !false
- \renewcommand*\tud@section@fontcolor{}%
- \ifcase\tud@layout@section@num\relax\or\else% *color
- \renewcommand*\tud@section@fontcolor{HKS41}%
- \fi%
- \tud@sectioning@set{section}{%
- \tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
- }%
- \tud@sectioning@set{subsection}{%
+ \tud@cs@store{sectionlinesformat}%
+ \let\sectionlinesformat\tud@sectionlinesformat%
+ \tud@cs@store{sectioncatchphraseformat}%
+ \let\sectioncatchphraseformat\tud@sectioncatchphraseformat%
+ \tud@komafont@set{section}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subsubsection}{%
+ \tud@komafont@set{subsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{minisec}{%
+ \tud@komafont@set{subsubsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{paragraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{paragraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subparagraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{subparagraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@cmd@store{raggedsection}%
+ \tud@cs@store{raggedsection}%
\renewcommand*\raggedsection{\tud@raggedright}%
+ \tud@cs@store{minisec}%
+ \renewcommand\minisec[1]{%
+ \tud@cs@use{minisec}{\tud@sec@format{##1}}%
+ }%
+ \tud@komafont@set{minisec}{%
+ \tud@sec@fontface%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\color{HKS41}}%
+ \fi%
+ }%
\fi%
\ifcase\tud@cd@num\relax% false
\pagestyle{empty}%
@@ -4600,125 +5859,95 @@
\else% !false
\pagestyle{empty.tudheadings}%
\ifcase\tud@cd@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
- \bool@std@lock{@tud@foot@colored}{false}%
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
+ \tud@locked@bool@preset{@tud@foot@colored}{false}%
\color{black}%
\or% litecolor
- \cs@std@lock{tud@head@bar@num}{1}%
- \bool@std@lock{@tud@foot@colored}{false}%
+ \tud@locked@num@preset{tud@head@bar@num}{1}%
+ \tud@locked@bool@preset{@tud@foot@colored}{false}%
\color{HKS41}%
\or% barcolor
- \cs@std@lock{tud@head@bar@num}{2}%
- \bool@std@lock{@tud@foot@colored}{false}%
+ \tud@locked@num@preset{tud@head@bar@num}{2}%
+ \tud@locked@bool@preset{@tud@foot@colored}{false}%
\color{HKS41}%
\else% bicolor/color/full
- \cs@std@lock{tud@head@bar@num}{3}%
- \bool@std@lock{@tud@foot@colored}{true}%
+ \tud@locked@num@preset{tud@head@bar@num}{3}%
+ \tud@locked@bool@preset{@tud@foot@colored}{true}%
\color{HKS41}%
\fi%
\fi%
}
-\newcommand*\tud@layout@specialpage@set[1]{%
- \tud@font@koma@set{footnote}{%
- \edef\@tempa{%
- \noexpand\tud@color{%
- \expandafter\noexpand\csname tud@#1@fontcolor\endcsname%
- }%
- }\@tempa%
+\newcommand*\tud@cd@beforeskip{%
+ \dimexpr-\tud@len@areavskip-\tud@len@areaheadvskip\relax%
+}
+\newcommand*\tud@cd@innerskip{.25\baselineskip}%
+\newcommand*\tud@cd@afterskip{%
+ .75\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+}
+\newcommand*\tud@cd@headstartvskip{%
+ \@tempskipa=\glueexpr\tud@cd@beforeskip\relax\relax%
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi%
+ \null\vskip-\baselineskip\vskip\@tempskipa%
+}
+\newcommand*\tud@cd@vphantom{%
+ \begingroup%
+ \usekomafont{partnumber}{\nobreak\tud@sec@strut}%
+ \setlength\@tempskipa{\tud@cd@innerskip}%
+ \par\nobreak\vskip\@tempskipa%
+ \endgroup%
+}
+\newcommand*\tud@part@subtitle{}
+\newcommand*\setpartsubtitle[1]{\gdef\tud@part@subtitle{#1}}
+\newkomafont{partsubtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
+ \tud@color{\tud@part@fontcolor}%
+}
+\aliaskomafont{parttitle}{partsubtitle}
+\newcommand*\tud@sec@subtitle[1]{%
+ \ifcsvoid{tud@#1@subtitle}{}{%
+ {\usekomafont{#1subtitle}{\tud@sec@format{\csuse{tud@#1@subtitle}}}}\par%
+ \global\cslet{tud@#1@subtitle}{\@empty}%
}%
- \tud@cmd@store{footnoterule}%
- \let\footnoterule\relax%
}
\newcommand*\tud@partheadstartvskip{}
\let\tud@partheadstartvskip\partheadstartvskip
\pretocmd{\tud@partheadstartvskip}{%
\renewcommand*\tud@part@fontcolor{}% false/true
- \ifcase\tud@layout@part@num\relax\or\else% *color
+ \ifcase\tud@cd@part@num\relax\or\else% *color
\renewcommand*\tud@part@fontcolor{HKS41}%
\fi%
}{}{\tud@patch@wrn{tud@partheadstartvskip}}
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
-\if@tempswa
- \newcommand*\tud@@startpart{}%
- \let\tud@@startpart\scr@@startpart%
- \ifcsdef{scr@v@3.21}{\@tempswatrue}{\@tempswafalse}%
- \if@tempswa%
- \patchcmd{\tud@@startpart}{%
- \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
- }{%
- \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}%
- }{}{\tud@patch@wrn{scr@@startpart}}%
- \else%
- \patchcmd{\tud@@startpart}{%
- \usekomafont{#1prefix}{\@nameuse{#1format}}%
- }{%
- \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}%
- }{}{\tud@patch@wrn{scr@@startpart}}%
+\newcommand*\tud@partformat{}%
+\newcommand*\tud@partlineswithprefixformat[3]{%
+ \edef\tud@partformat{\noexpand\tud@sec@format{\expandonce\partformat}}%
+ \let\partformat\tud@partformat%
+ \IfUseNumber{}{\tud@cd@vphantom}%
+ #2\tud@sec@format[#1]{#3}%
+ \tud@sec@subtitle{#1}%
+}
+\At@startsection{%
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{%
+ \renewcommand*\tud@section@fontcolor{HKS41}%
+ }%
\fi%
-\else
- \newcommand*\tud@@part{}%
- \let\tud@@part\@part%
- \patchcmd{\tud@@part}{\size@partnumber{\partformat}}{%
- \size@partnumber{\tud@makeuppercase{\partformat}}%
- }{}{\tud@patch@wrn{@part}}%
-\fi
-\newcommand*\tud@part{}
-\newcommand*\tud@spart{}
-\newcommand*\tud@section{}
-\newcommand*\tud@ssection{}
-\newcommand*\tud@subsection{}
-\newcommand*\tud@ssubsection{}
-\newcommand*\tud@subsubsection{}
-\newcommand*\tud@ssubsubsection{}
-\newcommand*\tud@sectioning@set[2]{%
- \tud@cmd@store{#1}%
- \ifstr{#1}{minisec}{%
- \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}%
- }{%
- \tud@sectioning@case{#1}%
- }%
- \tud@font@koma@set{#1}{#2}%
-}
-\newcommand*\tud@sectioning@case[1]{%
- \csedef{#1}{%
- \noexpand\SecDef%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@#1\endcsname%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@s#1\endcsname%
- }%
- \csedef{tud@#1}[##1]##2{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname%
- [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}%
- }%
- \csedef{tud@s#1}##1{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname*%
- {\noexpand\tud@sectioning@uppercase{##1}}%
- }%
}
-\newcommand*\tud@sectioning@reset[2][]{%
- \tud@cmd@restore{#2}%
- \ifblank{#1}{}{\tud@cmd@restore{#1}}%
- \tud@font@koma@unset{#2}%
+\newcommand*\tud@sectionlinesformat[4]{%
+ \@hangfrom{\hskip #2#3}{\tud@sec@format[#1]{#4}}%
}
-\robustify{\footnote}
-\newcommand*\tud@sectioning@uppercase[1]{%
- \begingroup%
- \if@tud@symbolheadings%
- \let\c@footnote\c@symbolheadings%
- \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}%
- \fi%
- \tud@makeuppercase{#1}%
- \endgroup%
+\newcommand*\tud@sectioncatchphraseformat[4]{%
+ \let\tud@sec@strut\relax%
+ \hskip #2#3\tud@sec@format[#1]{#4}%
}
%%% From File: tudscr-title.dtx
\newkomafont{titlepage}{%
- \usekomafont{subject}%
+ \raggedtitle%
+ \sffamily%
\mdseries%
- \large%
- \tud@raggedright%
+ \usesizeofkomafont{subsection}%
+ \tud@color{\tud@title@fontcolor}%
}
\robustify{\thanks}
\robustify{\footnotemark}
@@ -4726,23 +5955,46 @@
\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
\begingroup%
+ \cleardoublepage%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title@num\relax% false
- \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
+ \ifcase\tud@cd@title@num\relax% false
+ \if@titlepageiscoverpage%
+ \tud@cover@fixmargins%
+ \fi%
+ \ifx\tud@title@pagenumber\relax%
+ \tud@cs@use{maketitle}%
+ \else%
+ \tud@cs@use{maketitle}[\tud@title@pagenumber]%
+ \fi%
\tud@if@tudheadings{\currentpagestyle}{%
\ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
}{}%
\else% !false
\if@tud@parameter@ps@font@set\else%
- \TUDoptions{cdfont=true}%
+ \if@tud@cdfont@active\else%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdfont=heavy}%
+ \else%
+ \TUDoptions{cdfont=true}%
+ \fi%
+ \fi%
\fi%
- \tud@make@titlehead%
+ \tud@maketitle@inpage%
\fi%
\endgroup%
\setcounter{footnote}{0}%
\global\let\and\relax%
}
+\TUD@parameter@family{title}{%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+ \TUD@parameter@let{cd}{cdtitle}%
+ \TUD@parameter@def{cdgeometry}[true]{\TUDoption{cdgeometry}{#1}}%
+ \TUD@parameter@ps@def{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\tud@cs@store{maketitle}
+\let\maketitle\tud@maketitle
\patchcmd{\titlepage}{\thispagestyle{empty}}{%
\tud@if@tudheadings{\currentpagestyle}{%
\thispagestyle{empty.tudheadings}%
@@ -4750,18 +6002,9 @@
\thispagestyle{empty}%
}%
}{}{\tud@patch@wrn{titlepage}}
-\tud@cmd@store{maketitle}
-\let\maketitle\tud@maketitle
-\TUD@parameter@family{title}{%
- \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
- \TUD@parameter@let{cd}{cdtitle}%
- \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
- \TUD@parameter@ps@def{#1}%
- \TUD@parameter@handler@value{pagenumber}%
-}
-\newcommand*\tud@make@titlehead{%
+\newcommand*\tud@maketitle@inpage{%
\renewcommand*\tud@title@fontcolor{}%
- \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifcase\tud@cd@title@num\relax\or\else% *color
\ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
\fi%
\par%
@@ -4779,51 +6022,38 @@
\let\@oldmakefnmark\@makefnmark%
\renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
\next@tdpage%
- \@tempswafalse%
+ \def\tud@res@a##1{##1}%
\if@twocolumn\ifnum\col@number>\@ne\relax%
- \@tempswatrue%
+ \def\tud@res@a##1{\twocolumn[{##1}]}%
\fi\fi%
- \if@tempswa%
- \ifx\@extratitle\@empty\else%
- \twocolumn[\@makeextratitle]\next@tdpage%
- \fi%
- \twocolumn[\tud@make@@titlehead]%
+ \ifx\@extratitle\@empty%
+ \ifx\@frontispiece\@empty\else%
+ \if@twoside\null\fi%
+ \fi
\else%
- \ifx\@extratitle\@empty\else%
- \@makeextratitle\next@tdpage%
- \fi%
- \tud@make@@titlehead%
+ \tud@res@a{\@makeextratitle}%
\fi%
+ \next@tpage%
+ \ifx\@frontispiece\@empty\else%
+ \tud@res@a{\@makefrontispiece}%
+ \fi%
+ \next@tdpage%
+ \tud@res@a{\tud@maketitle@@inpage}%
\ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
\@thanks%
\endgroup%
}
-\newcommand*\tud@make@@titlehead{%
+\newcommand*\tud@maketitle@@inpage{%
\global\@topnum=\z@%
- \vspace*{\dimexpr\tud@len@areavskip-\baselineskip\relax}%
+ \tud@cd@headstartvskip%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \begingroup%
- \usekomafont{titlepage}%
+ {\usekomafont{titlepage}{%
\tud@x@hyperref@realfootnotes%
- \setlength\@tempdima{\z@}%
- \ifx\@titlehead\@empty\else%
- \sbox\z@{\vbox{%
- \begin{minipage}[t]{\textwidth}%
- {\usekomafont{titlehead}{\@titlehead\par\null}}%
- \end{minipage}\newline\null%
- }}%
- \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
- \fi%
- \ifx\@subject\@empty\else%
- \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
- \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
- \fi%
- \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
- \ifx\@subject\@empty\else\usebox\@ne\par\fi%
- {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ \tud@maketitle@head%
+ {\usekomafont{title}{\tud@title@format{\@title}\par}}%
\ifx\@subtitle\@empty\else%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}%
\fi%
\vskip 2ex\@plus1ex\@minus1ex%
\ifnum\col@number>\@ne\relax%
@@ -4832,20 +6062,46 @@
}%
\fi%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
+ }}%
}
-\newcommand*\tud@title@uppercase[1]{%
- \let\@tempa\relax%
+\newcommand*\tud@maketitle@head{%
+ \setbox\z@\vbox{%
+ \ifx\@titlehead\@empty\else%
+ {\usekomafont{titlehead}{%
+ \begin{minipage}[t]{\textwidth}%
+ \@titlehead\tud@sec@strut%
+ \end{minipage}%
+ }}%
+ \fi%
+ \ifx\@subject\@empty\else%
+ \par\medskip%
+ {\usekomafont{subject}{%
+ \@subject\tud@sec@strut%
+ }}%
+ \fi%
+ }%
+ \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
+ \ifdim\@tempdima>\z@\relax%
+ \usebox\z@\par\medskip%
+ \fi%
+}
+\newcommand*\tud@title@format[1]{%
\begingroup%
\let\\\newline%
- \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\tud@thanks\relax%
+ \def\thanks##1{\gdef\tud@thanks{##1}}%
\let\footnote\thanks%
\sbox\z@{#1}%
\let\thanks\@gobble%
\let\footnote\@gobble%
- \tud@makeuppercase{#1}%
- \endgroup%
- \ifx\@tempa\relax\else\thanks\@tempa\fi%
+ \tud@sec@format{#1}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \ifx\tud@thanks\relax\else%
+ \noexpand\thanks{\expandonce\tud@thanks}%
+ \fi%
+ }%
+ \tud@res@a%
}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
@@ -4980,8 +6236,8 @@
}
\newcommand*\tud@quoting{quotation}
\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
-\csundef{abstract}
-\csundef{endabstract}
+\undef\abstract
+\undef\endabstract
\NewEnviron{abstract}[1][]{%
\TUD@parameter@set{abstract}{#1}%
\tud@x@multicol@check%
@@ -5001,7 +6257,7 @@
]
\TUD@parameter@family{abstract}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{abstract}{\TUDoption{abstract}{#1}}%
\TUD@parameter@let{option}{abstract}%
\TUD@parameter@handler@default{}%
@@ -5013,32 +6269,6 @@
}%
}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@cs[2]{%
- \AtBeginDocument{%
- \ifcsundef{#1}{%
- \expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\TUD@Class@Name}{%
- The command `\@backslashchar#1' is deprecated\MessageBreak%
- It's recommended to use `\@backslashchar#2' instead%
- }%
- \csletcs{#1}{#2}%
- \csuse{#2}%
- }%
- }{}%
- }%
-}
-\newcommand*\TUD@deprecated@lengthcs[2][]{%
- \ifdim\csuse{#2}<\maxdimen\relax%
- \ClassWarning{\TUD@Class@Name}{%
- Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
- You should use option `#2' instead%
- }%
- \csxdef{tud@dim@#2}{\the\csuse{#2}}%
- \expandafter\setlength\csname #2\endcsname{\maxdimen}%
- \global\csuse{#2}=\csuse{#2}%
- #1%
- \fi%
-}
\newlength\footlogoheight
\setlength\footlogoheight{\maxdimen}
\TUD@deprecated@cs{professorship}{chair}
@@ -5050,67 +6280,43 @@
\TUD@deprecated@cs{finaldate}{duedate}%
\TUD@deprecated@cs{maturitydate}{duedate}%
}
-\AtEndOfClass%
-{%
- \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
-}
-%%% From File: tudscr-misc.dtx
-\newcommand*\tud@atdocument@hook{}
-\let\tud@atdocument@hook\relax
-\AtBeginDocument{%
- \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
- \ifx\tud@atdocument@hook\relax%
- \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
- \AtEndOfFamilyOptions{%
- \tud@atdocument@hook%
- \tud@atdocument@process%
- }%
- \fi%
- \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
- }%
-}
-\newif\if@tud@font@set
-\newif\if@tud@font@math@set
-\newif\if@tud@font@skip@set
-\newif\if@tud@x@scr@headings@reset
-\newif\if@tud@layout@process
-\newif\if@tud@cdgeometry@process
-\newif\if@tud@cdgeometry@@process
-\newcommand*\tud@atdocument@process{%
- \if@tud@font@set%
- \tud@font@set%
- \global\@tud@font@setfalse%
- \global\@tud@font@math@setfalse%
- \global\@tud@font@skip@setfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@font@math@set%
- \tud@font@math@set%
- \global\@tud@font@math@setfalse%
- \fi%
- \if@tud@font@skip@set%
- \tud@font@skip@set%
- \global\@tud@font@skip@setfalse%
- \fi%
- \if@tud@x@scr@headings@reset%
- \tud@x@scr@headings@reset%
- \global\@tud@x@scr@headings@resetfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@layout@process%
- \tud@layout@process%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@cdgeometry@process%
- \tud@cdgeometry@process%
- \global\@tud@cdgeometry@processfalse%
- \global\@tud@cdgeometry@@processfalse%
- \fi%
- \if@tud@cdgeometry@@process%
- \tud@cdgeometry@@process%
- \global\@tud@cdgeometry@@processfalse%
+\TUD@deprecated@cs{textcdfont}{textcd}%
+\TUD@deprecated@cs{tudfont}{cdfont}%
+\TUD@deprecated@cs{univln}{cdfontln}%
+\TUD@deprecated@cs{univrn}{cdfontrn}%
+\TUD@deprecated@cs{univbn}{cdfontsn}%
+\TUD@deprecated@cs{univxn}{cdfontbn}%
+\TUD@deprecated@cs{univls}{cdfontli}%
+\TUD@deprecated@cs{univrs}{cdfontri}%
+\TUD@deprecated@cs{univbs}{cdfontsi}%
+\TUD@deprecated@cs{univxs}{cdfontbi}%
+\TUD@deprecated@cs{textuln}{textcdln}%
+\TUD@deprecated@cs{texturn}{textcdrn}%
+\TUD@deprecated@cs{textubn}{textcdsn}%
+\TUD@deprecated@cs{textuxn}{textcdbn}%
+\TUD@deprecated@cs{textuls}{textcdli}%
+\TUD@deprecated@cs{texturs}{textcdri}%
+\TUD@deprecated@cs{textubs}{textcdsi}%
+\TUD@deprecated@cs{textuxs}{textcdbi}%
+\TUD@deprecated@cs{dinbn}{cdfontxn}%
+\TUD@deprecated@cs{textdbn}{textcdxn}%
+\TUD@deprecated@cs{ifdin}{@secondoftwo}
+\newrobustcmd*\tud@ifdin{%
+ \ifx\f@family\tud@cdfont@db%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
\fi%
}
+\if@tud@cdoldfont@active
+ \newcommand*\ifdin{}%
+ \let\ifdin\tud@ifdin%
+\fi
+\def\tud@res@a#1{%
+ \TUD@deprecated@cs{var#1}{it#1}%
+}
+\tud@math@loop@greeks@uc\tud@res@a%
+%%% From File: tudscr-misc.dtx
\newcommand*\tudbookmark[1][]{\@gobbletwo}
\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
@@ -5135,12 +6341,12 @@
\if@tud@bookmarks\bookmarksetup{startatroot}\fi%
}%
}
-\pretocmd{\tud@make@titlehead}{%
+\pretocmd{\tud@maketitle@inpage}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
1%
]{\titlename}{title}%
-}{}{\tud@patch@wrn{tud@make@titlehead}}
+}{}{\tud@patch@wrn{tud@maketitle@inpage}}
\pretocmd{\@maketitle}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
@@ -5153,10 +6359,10 @@
\iftocfeature{toc}{totoc}{}{%
\if@tud@bookmarks%
\setuptoc{toc}{totoc}%
- \tud@cmd@store{addtocontents}%
+ \tud@cs@store{addtocontents}%
\def\@tempc{%
\unsettoc{toc}{totoc}%
- \tud@cmd@restore{addtocontents}%
+ \tud@cs@restore{addtocontents}%
}%
\let\addtocontents\@gobbletwo%
\fi%
@@ -5165,41 +6371,74 @@
\AfterTOCHead[toc]{\@tempc}
\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
-\BeforePackage{tocloft}{%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- It is absolutely not recommended to use package\MessageBreak%
- `tocloft'. Loading the package will certainly lead\MessageBreak%
- to problems with table of contents and any list of\MessageBreak%
- floats. You should use the appropriate options of\MessageBreak%
- the KOMA-Script classes%
- }%
-}
-\CheckCommand*\@uclcnotmath[4]{%
- \begingroup
- #1%
- \def\({$}\let\)\(%
- \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}%
- \@nonchangecase\label
- \@nonchangecase\ref
- \@nonchangecase\ensuremath
- \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}%
- \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\reserved@a##1##2{\let#2\reserved@a}%
- \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \protected@edef\reserved@a{%
- \endgroup
- \noexpand\@skipmath#3#4$\valign$%
- }%
- \reserved@a%
+\AtBeginDocument{%
+ \if@tud@x@scr@fontsize@set\else%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth<208mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutwidth>212mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight<295mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight>299mm\relax\@tud@res@swatrue\fi%
+ \if@tud@res@swa%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ You've set a layout size, which is different from\MessageBreak%
+ default (paper=a4, paper=portrait). Therefore you\MessageBreak%
+ should additionally specify an explicit font size.\MessageBreak%
+ See the manual for further information%
+ }%
+ \fi%
+ \fi%
}
-\newcommand*\tud@x@textcase@uclcnotmath{%
- \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
- \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
+\newif\if@tud@font@set
+\newif\if@tud@math@set
+\newif\if@tud@font@skip@set
+\newif\if@tud@x@scr@headings@reset
+\newif\if@tud@cd@process
+\newif\if@tud@cdgeometry@process
+\newcommand*\tud@atdocument@process{%
+ \if@tud@font@set%
+ \tud@font@set%
+ \global\@tud@font@setfalse%
+ \global\@tud@font@skip@setfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@font@skip@set%
+ \tud@font@skip@set%
+ \global\@tud@font@skip@setfalse%
+ \fi%
+ \if@tud@math@set%
+ \tud@math@set%
+ \global\@tud@math@setfalse%
+ \fi%
+ \if@tud@x@scr@headings@reset%
+ \tud@x@scr@headings@reset%
+ \global\@tud@x@scr@headings@resetfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cd@process%
+ \tud@cd@process%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cdgeometry@process%
+ \tud@cdgeometry@process%
+ \global\@tud@cdgeometry@processfalse%
+ \fi%
}
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
- \@nonchangecase\ensuremath\tud@x@textcase@uclcnotmath%
-}{}{\tud@patch@wrn{@uclcnotmath}}
+\if@tud@cdoldfont@active
+ \RequirePackage{textcase}[2004/10/07]
+ \AfterPackage*{textcase}{%
+ \robustify\NoCaseChange%
+ \newcommand*\tud@x@textcase@uclcnotmath{%
+ \@nonchangecase\hologo%
+ \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@x@textcase@uclcnotmath%
+ }{}{\tud@patch@wrn{@uclcnotmath}}%
+ }%
+\fi
+\TUD@deprecated@cs{NoCaseChange}{@firstofone}
\endinput
%%
%% End of file `tudscrposter.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
index 54a9535257a..e06c13565b4 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
@@ -12,13 +12,13 @@
%% tudscr-layout.dtx (with options: `class,report,option')
%% tudscr-title.dtx (with options: `class,report,option')
%% tudscr-frontmatter.dtx (with options: `class,report,option')
-%% tudscr-comp.dtx (with options: `class,report,option')
%% tudscr-misc.dtx (with options: `class,report,option')
+%% tudscr-comp.dtx (with options: `class,report,option')
%% tudscr-misc.dtx (with options: `class,report,execute')
%% tudscr-base.dtx (with options: `class,report,body')
%% tudscr-fonts.dtx (with options: `class,report,body')
%% tudscr-fields.dtx (with options: `class,report,body')
-%% tudscr-locale.dtx (with options: `class,report,body')
+%% tudscr-localization.dtx (with options: `class,report,body')
%% tudscr-area.dtx (with options: `class,report,body')
%% tudscr-pagestyle.dtx (with options: `class,report,body')
%% tudscr-layout.dtx (with options: `class,report,body')
@@ -29,9 +29,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -57,7 +57,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -72,13 +72,13 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
\newcommand*\TUD@ProvidesClass[3]{%
\ProvidesClass{#1}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
^^J#3 (#2)%
]%
\newcommand*\TUD@Class@KOMA{#2}%
@@ -88,22 +88,29 @@
\fi%
}
\providecommand*\TUD@Class@Info{%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{+------------------------------------------------------------------}%
\typeout{| Corporate Design of Technische Universitaet Dresden}%
- \typeout{| Class: \TUD@Class@Name}%
- \typeout{| Version: \TUD@Version}%
- \typeout{| Author: Falk Hanisch (\tudscrmail)}%
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- \typeout{+---------------------------------------------------------------}%
+ \typeout{| Class: \TUD@Class@Name}%
+ \typeout{| Version: \TUD@Version}%
+ \typeout{| Author: Falk Hanisch (\tudscrmail)}%
+ \typeout{| Repository: https://github.com/tud-cd/tudscr}%
+ \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}%
+ \typeout{+------------------------------------------------------------------}%
}
\TUD@ProvidesClass{tudscrreprt}{scrreprt}{document class}
\edef\TUDScriptClassName{\TUD@Class@Name}
\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
@@ -117,25 +124,11 @@
a TUD-Script class%
}%
]{tudscrfonts}
-\newif\if@tud@x@fontspec@enabled
-\AfterPackage*{fontspec}{%
- \@ifpackagelater{fontspec}{2017/01/24}{%
- \@tud@x@fontspec@enabledtrue%
- }{%
- \@tud@x@fontspec@enabledfalse%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- Version `2017/01/24' of package `fontspec' is needed,\MessageBreak
- but only version\MessageBreak
- `\csname ver@fontspec.sty\endcsname'\MessageBreak
- is available, so a fallback layout is used%
- }%
- }%
-}
-\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@active
+\newif\if@tud@cdfont@heavy
\newif\if@tud@cdfont@ultrabold
-\@tud@cdfont@dintrue
-\newcommand*\tud@cdfont@num{1}
+\newif\if@tud@cdfont@lining
+\@tud@cdfont@liningtrue
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@bool@numkey,%
@@ -144,109 +137,205 @@
{normalbold}{3},{boldnormal}{3},%
{ultrabold}{4},{boldultra}{4},{heavybold}{4},{boldheavy}{4},%
{extendedbold}{4},{boldextended}{4},%
- {nodin}{5},{nodinbold}{5},{noDIN}{5},{noDINBold}{5},%
- {din}{6},{dinbold}{6},{DIN}{6},{DINBold}{6},%
- {nohead}{7},{nocdhead}{7},{noheadfont}{7},{noheadcdfont}{7},%
- {nocdheadfont}{7},{nobar}{7},{nobarfont}{7},%
- {head}{8},{headfont}{8},{cdhead}{8},{headcdfont}{8},{cdheadfont}{8},%
- {bar}{8},{barfont}{8},%
- {lighthead}{8},{lightheadfont}{8},{lightfonthead}{8},%
- {lightcdhead}{8},{lightheadcdfont}{8},{lightcdheadfont}{8},%
- {lightbar}{8},{lightbarfont}{8},{lightfontbar}{8},%
- {headlight}{8},{headfontlight}{8},{headlightfont}{8},%
- {cdheadlight}{8},{headcdfontlight}{8},{cdheadfontlight}{8},%
- {barlight}{8},{barfontlight}{8},{barlightfont}{8},%
- {litehead}{8},{liteheadfont}{8},{litefonthead}{8},%
- {litecdhead}{8},{liteheadcdfont}{8},{litecdheadfont}{8},%
- {litebar}{8},{litebarfont}{8},{litefontbar}{8},%
- {headlite}{8},{headfontlite}{8},{headlitefont}{8},%
- {cdheadlite}{8},{headcdfontlite}{8},{cdheadfontlite}{8},%
- {barlite}{8},{barfontlite}{8},{barlitefont}{8},%
- {noheavyhead}{8},{noheavyheadfont}{8},{noheavyfonthead}{8},%
- {noheavycdhead}{8},{noheavyheadcdfont}{8},{noheavycdheadfont}{8},%
- {noheavybar}{8},{noheavybarfont}{8},{noheavyfontbar}{8},%
- {headnoheavy}{8},{headfontnoheavy}{8},{headnoheavyfont}{8},%
- {cdheadnoheavy}{8},{headcdfontnoheavy}{8},{cdheadfontnoheavy}{8},%
- {barnoheavy}{8},{barfontnoheavy}{8},{barnoheavyfont}{8},%
- {heavyhead}{9},{heavyheadfont}{9},{heavyfonthead}{9},%
- {heavycdhead}{9},{heavyheadcdfont}{9},{heavycdheadfont}{9},%
- {heavybar}{9},{heavybarfont}{9},{heavyfontbar}{9},%
- {headheavy}{9},{headfontheavy}{9},{headheavyfont}{9},%
- {cdheadheavy}{9},{headcdfontheavy}{9},{cdheadfontheavy}{9},%
- {barheavy}{9},{barfontheavy}{9},{barheavyfont}{9},%
- {nomath}{10},{nocdmath}{10},%
- {serifmath}{10},{serif}{10},{nosansmath}{10},{nosans}{10},%
- {math}{11},{cdmath}{11},{sansmath}{11},{sans}{11},%
- {upgreek}{12},{upright}{12},{uprightgreek}{12},{uprightGreek}{12},%
- {slgreek}{13},{slanted}{13},{slantedgreek}{13},{slantedGreek}{13},%
- {fontspec}{14},{luatex}{14},{lualatex}{14}{xetex}{14},{xelatex}{14},%
- {nofontspec}{15},{nfss}{15},{pdftex}{15},{pdflatex}{15}%
+ {lf}{5},{lfigures}{5},{liningfigures}{5},{lining}{5},%
+ {ln}{5},{lnumbers}{5},{liningnumbers}{5},%
+ {nf}{5},{nfigures}{5},{normalfigures}{5},%
+ {nn}{5},{nnumbers}{5},{normalnumbers}{5},%
+ {osf}{6},{osfigures}{6},{oldfigures}{6},{oldstylefigures}{6},{oldstyle}{6},%
+ {osn}{6},{osnumbers}{6},{oldnumbers}{6},{oldstylenumbers}{6},%
+ {nomath}{7},{nocdmath}{7},%
+ {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},%
+ {math}{8},{cdmath}{8},{sansmath}{8},{sans}{8},%
+ {upgreek}{9},{uprightgreek}{9},{uprightgreeks}{9},%
+ {slgreek}{10},{slantedgreek}{10},{slantedgreeks}{10},%
+ {itgreek}{10},{italicgreek}{10},{italicgreeks}{10},%
+ {texgreek}{11},{latexgreek}{11},{texgreeks}{11},{latexgreeks}{11},%
+ {standardgreek}{11},{standardgreeks}{11},%
+ {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
+ {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ ,{nohead}{14},{nocdhead}{14},{noheadfont}{14},{noheadcdfont}{14},%
+ {nocdheadfont}{14},{nobar}{14},{nobarfont}{14},%
+ {head}{15},{headfont}{15},{cdhead}{15},{headcdfont}{15},{cdheadfont}{15},%
+ {bar}{15},{barfont}{15},%
+ {lighthead}{15},{lightheadfont}{15},{lightfonthead}{15},%
+ {lightcdhead}{15},{lightheadcdfont}{15},{lightcdheadfont}{15},%
+ {lightbar}{15},{lightbarfont}{15},{lightfontbar}{15},%
+ {headlight}{15},{headfontlight}{15},{headlightfont}{15},%
+ {cdheadlight}{15},{headcdfontlight}{15},{cdheadfontlight}{15},%
+ {barlight}{15},{barfontlight}{15},{barlightfont}{15},%
+ {litehead}{15},{liteheadfont}{15},{litefonthead}{15},%
+ {litecdhead}{15},{liteheadcdfont}{15},{litecdheadfont}{15},%
+ {litebar}{15},{litebarfont}{15},{litefontbar}{15},%
+ {headlite}{15},{headfontlite}{15},{headlitefont}{15},%
+ {cdheadlite}{15},{headcdfontlite}{15},{cdheadfontlite}{15},%
+ {barlite}{15},{barfontlite}{15},{barlitefont}{15},%
+ {noheavyhead}{15},{noheavyheadfont}{15},{noheavyfonthead}{15},%
+ {noheavycdhead}{15},{noheavyheadcdfont}{15},{noheavycdheadfont}{15},%
+ {noheavybar}{15},{noheavybarfont}{15},{noheavyfontbar}{15},%
+ {headnoheavy}{15},{headfontnoheavy}{15},{headnoheavyfont}{15},%
+ {cdheadnoheavy}{15},{headcdfontnoheavy}{15},{cdheadfontnoheavy}{15},%
+ {barnoheavy}{15},{barfontnoheavy}{15},{barnoheavyfont}{15},%
+ {heavyhead}{16},{heavyheadfont}{16},{heavyfonthead}{16},%
+ {heavycdhead}{16},{heavyheadcdfont}{16},{heavycdheadfont}{16},%
+ {heavybar}{16},{heavybarfont}{16},{heavyfontbar}{16},%
+ {headheavy}{16},{headfontheavy}{16},{headheavyfont}{16},%
+ {cdheadheavy}{16},{headcdfontheavy}{16},{cdheadfontheavy}{16},%
+ {barheavy}{16},{barfontheavy}{16},{barheavyfont}{16}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@deactivate%
\or% true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavyfalse%
+ \tud@cdfont@activate%
\or% heavy
- \renewcommand*\tud@cdfont@num{2}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \@tud@cdfont@heavytrue%
+ \tud@cdfont@activate%
\or% normalbold
\@tud@cdfont@ultraboldfalse%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@cdfont@activate%
\or% ultrabold
\@tud@cdfont@ultraboldtrue%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \fi%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \or% nodin
- \@tud@cdfont@dinfalse%
- \or% din
- \@tud@cdfont@dintrue%
- \or% nohead
- \TUDoptions{cdhead=false}%
- \or% head
- \TUDoptions{cdhead=true}%
- \or% heavyhead
- \TUDoptions{cdhead=heavy}%
+ \tud@cdfont@activate%
+ \or% liningfigures
+ \@tud@cdfont@liningtrue%
+ \tud@cdfont@activate%
+ \or% oldstylefigures
+ \@tud@cdfont@liningfalse%
+ \tud@cdfont@activate%
\or% nomath
\TUDoptions{cdmath=false}%
\or% math
\TUDoptions{cdmath=true}%
- \or% upgreek
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\or% fontspec
\TUDoptions{fontspec=true}%
\or% nofontspec
\TUDoptions{fontspec=false}%
+ \or% nohead
+ \TUDoptions{cdhead=false}%
+ \or% head
+ \TUDoptions{cdhead=true}%
+ \or% heavyhead
+ \TUDoptions{cdhead=heavy}%
\fi%
\else%
- \ifdimen{#1}{%
- \ifdim#1>\z@\relax%
- \TUD@KOMAoptions{fontsize=#1}%
- \csname @tud@fontsize@settrue\endcsname%
- \ifcase\tud@cdfont@num\relax% false to true
- \renewcommand*\tud@cdfont@num{1}%
- \bool@std@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@set}%
- \fi%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{%
+ \ifdim\tud@res@a>\z@\relax%
+ \TUDoptions{fontsize=#1}%
+ \tud@cdfont@activate%
\FamilyKeyStateProcessed%
\fi%
}{}%
\fi%
}
+\newcommand*\tud@cdfont@activate{%
+ \@tud@cdfont@activetrue%
+ \if@tud@cdfont@heavy%
+ \tud@locked@num@preset{tud@head@font@num}{2}%
+ \else%
+ \tud@locked@num@preset{tud@head@font@num}{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newcommand*\tud@cdfont@deactivate{%
+ \@tud@cdfont@activefalse%
+ \tud@locked@num@preset{tud@head@font@num}{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \tud@locked@bool@preset{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+}
+\newif\if@tud@cdoldfont@active
+\newif\if@tud@cdoldfont@nodin
+\TUD@key{cdoldfont}[true]{%
+ \TUD@set@numkey{cdoldfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@cdoldfont@activefalse%
+ \@tud@cdoldfont@nodintrue%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@deactivate%
+ \fi%
+ \or% true/din
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@activate%
+ \or% nodin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodintrue%
+ \tud@cdfont@activate%
+ \or% onlydin
+ \@tud@cdoldfont@activetrue%
+ \@tud@cdoldfont@nodinfalse%
+ \tud@cdfont@deactivate%
+ \fi%
+ \else%
+ \@tud@cdoldfont@activetrue%
+ \TUDoptions{cdfont=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \if@tud@cdoldfont@active%
+ \let\@tud@cdoldfont@activefalse\@tud@cdoldfont@activetrue%
+ \TUD@key[.comp]{cdfont}{%
+ \TUD@set@numkey{cdfont}{@tempa}{%
+ {din}{1},{dinbold}{1},%
+ {nodin}{2},{nodinbold}{2},%
+ {onlydin}{3},{onlydinbold}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUDoptions{cdoldfont=#1}%
+ \fi%
+ }%
+ \else%
+ \TUD@key{cdoldfont}[]{%
+ \ClassError{\TUD@Class@Name}%
+ {Option `cdoldfont' not active}{%
+ Option `cdoldfont' must be activated while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \fi%
+}
+\newif\if@tud@x@scr@fontsize@set
+\TUD@key{fontsize}{%
+ \TUD@set@dimenkey{fontsize}{\@tempa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \@tud@x@scr@fontsize@settrue%
+ \TUD@KOMAoptions{fontsize=#1}%
+ \fi%
+}
+\AtEndOfClass%
+{%
+ \RelaxFamilyKey{TUD}{fontsize}%
+ \DefineFamilyMember{KOMA}%
+ \DefineFamilyKey{KOMA}{fontsize}{%
+ \@tud@x@scr@fontsize@settrue%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The key `fontsize=#1' should only be\MessageBreak%
+ used as class option%
+ }%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \FamilyKeyStateProcessed%
+ }%
+}
\newif\if@tud@relspacing
\TUD@key{relspacing}[true]{%
\TUD@set@numkey{relspacing}{@tempa}{%
@@ -263,50 +352,91 @@
\TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
-\DefineFamilyMember{KOMA}
-\DefineFamilyKey{KOMA}{fontsize}{%
- \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
- \FamilyKeyStateProcessed%
+\newcommand*\tud@ttfont@num{0}
+\TUD@key{ttfont}[true]{%
+ \TUD@set@numkey{ttfont}{@tempa}{%
+ \TUD@bool@numkey,%
+ {roboto}{1},{roboto-mono}{1},{robo}{1},%
+ {lm}{2},{lmtt}{2},{lmodern}{2}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@ttfont@num{0}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@num{1}%
+ \or% lmodern
+ \renewcommand*\tud@ttfont@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
}
-\bool@lock{@tud@cdmath}
-\bool@std@lock{@tud@cdmath}{true}%
+\tud@locked@newbool{@tud@cdmath@active}
+\tud@locked@bool@preset{@tud@cdmath@active}{true}%
\TUD@key{cdmath}[true]{%
\TUD@set@numkey{cdmath}{@tempa}{%
\TUD@bool@numkey,%
{serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
{sansmath}{1},{sans}{1},%
- {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
- {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ {upgreek}{2},{uprightgreek}{2},{uprightgreeks}{2},%
+ {slgreek}{3},{slantedgreek}{3},{slantedgreeks}{3},%
+ {itgreek}{3},{italicgreek}{3},{italicgreeks}{3},%
+ {texgreek}{4},{latexgreek}{4},{texgreeks}{4},{latexgreeks}{4},%
+ {standardgreek}{4},{standardgreeks}{4}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \bool@set@lock{@tud@cdmath}{false}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \tud@locked@bool@set{@tud@cdmath@active}{false}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\or% true
- \bool@set@lock{@tud@cdmath}{true}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
- \or% upgreek
+ \tud@locked@bool@set{@tud@cdmath@active}{true}%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
+ \or% uprightgreek
\TUDoptions{slantedgreek=false}%
- \or% slgreek
+ \or% slantedgreek
\TUDoptions{slantedgreek=true}%
+ \or% standardgreek
+ \TUDoptions{slantedgreek=standard}%
\fi%
\fi%
}
-\bool@lock{@tud@slantedgreek}
+\newcommand*\tud@slantedgreek@num{0}
\TUD@key{slantedgreek}[true]{%
- \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
+ \TUD@set@numkey{slantedgreek}{@tempa}{%
+ \TUD@bool@numkey,%
+ {up}{0},{upright}{0},%
+ {sl}{1},{slanted}{1},{it}{1},{italic}{1},%
+ {standard}{2},{std}{2},{tex}{2},{latex}{2},{stdgrk}{2},{stdgrks}{2},%
+ {standardgreek}{2},{standardgreeks}{2},%
+ {texgreek}{2},{latexgreek}{2},{texgreeks}{2},{latexgreeks}{2}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \bool@set@lock{@tud@slantedgreek}{#1}%
- \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \ifcase\@tempa\relax% upright
+ \renewcommand*\tud@slantedgreek@num{0}%
+ \or% slanted
+ \renewcommand*\tud@slantedgreek@num{1}%
+ \or% standard
+ \renewcommand*\tud@slantedgreek@num{2}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+\TUD@key{slantedGreeks}[true]{\TUDoptions{slantedgreek=#1}}
+\newif\if@tud@lgrgreeks
+\TUD@key{lgrgreeks}[true]{\TUD@set@ifkey{lgrgreeks}{@tud@lgrgreeks}{#1}}
+\TUD@key{lgrgreek}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreeks}[true]{\TUDoptions{lgrgreeks=#1}}
+\TUD@key{LGRgreek}[true]{\TUDoptions{lgrgreeks=#1}}
%%% From File: tudscr-area.dtx
-\cs@lock{tud@cdgeometry@num}{0}
+\newif\if@tud@cdgeometry@reset
+\newcommand*\tud@cdgeometry@reset[1]{%
+ \@tud@cdgeometry@resettrue%
+ \TUDoptions{cdgeometry=#1}%
+ \@tud@cdgeometry@resetfalse%
+}
+\tud@locked@newnum{tud@cdgeometry@num}{0}
\newcommand*\tud@cdgeometry@calc@num{0}
\TUD@key{cdgeometry}[true]{%
- \let\@tempb\tud@cdgeometry@num%
- \let\@tempc\tud@cdgeometry@calc@num%
\TUD@set@numkey{cdgeometry}{@tempa}{%
\TUD@bool@numkey,%
{typearea}{0},%
@@ -322,36 +452,42 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false/typearea
- \cs@set@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@set{tud@cdgeometry@num}{0}%
\or% true/cd
- \cs@set@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@set{tud@cdgeometry@num}{2}%
\or% symmetric
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\or% twoside
- \cs@set@lock{tud@cdgeometry@num}{4}%
+ \tud@locked@num@set{tud@cdgeometry@num}{4}%
\TUD@KOMAoptions{twoside=true}%
\or% oneside
\ifnum\tud@cdgeometry@num>\thr@@\relax%
- \cs@set@lock{tud@cdgeometry@num}{3}%
+ \tud@locked@num@set{tud@cdgeometry@num}{3}%
\fi%
\TUD@KOMAoptions{twoside=false}%
\or% restricted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{0}%
\or% adapted
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{1}%
\or% calculated
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\renewcommand*\tud@cdgeometry@calc@num{2}%
\or% custom
- \cs@set@lock{tud@cdgeometry@num}{1}%
+ \tud@locked@num@set{tud@cdgeometry@num}{1}%
\fi%
- \@tempswafalse%
- \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi%
- \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi%
- \if@tempswa%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \if@atdocument%
+ \if@tud@cdgeometry@reset\else%
+ \ifcase\tud@cdgeometry@num\relax%
+ \tud@loadgeometry{current@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or%
+ \tud@loadgeometry{current@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
\fi%
\fi%
}
@@ -359,7 +495,7 @@
\TUD@key{extrabottommargin}{%
\TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\fi%
}
\newcommand*\tud@dim@bleedmargin{.2in}
@@ -374,30 +510,45 @@
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{twoside}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
\DefineFamilyKey{KOMA}{twocolumn}{%
- \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
\FamilyKeyStateProcessed%
}
-\newcommand*\tud@x@ta@warnings@off{}
-\newcommand*\tud@x@ta@warnings@on{}
-\IfFileExists{silence.sty}{%
- \RequirePackage{silence}[2012/07/02]%
- \WarningFilter[typearea]{typearea}{DIV for}%
- \WarningFilter[typearea]{typearea}{Bad type area settings!}%
- \WarningFilter[typearea]{typearea}{Maybe no optimal type area settings!}%
- \WarningFilter[typearea]{typearea}{Very low DIV value!}%
- \BeforePackage{typearea}{\ActivateWarningFilters[typearea]}%
- \AfterPackage{typearea}{\DeactivateWarningFilters[typearea]}%
- \renewcommand*\tud@x@ta@warnings@off{\ActivateWarningFilters[typearea]}
- \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]}
-}{}
+\newcommand*\tud@x@typearea@warnings@off[1][]{%
+ \IfArgIsEmpty{#1}{}{\let#1\@empty}%
+ \tud@cs@store{PackageWarningNoLine}%
+ \renewcommand*\PackageWarningNoLine[2]{%
+ \@tud@res@swatrue%
+ \ifstr{##1}{typearea}{%
+ \ifstrstart{##2}{Bad type area settings!}{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{%
+ Maybe no optimal type area settings!%
+ }{\@tud@res@swafalse}{}%
+ \ifstrstart{##2}{Very low DIV value!}{\@tud@res@swafalse}{}%
+ }{}%
+ \if@tud@res@swa%
+ \tud@cs@use{PackageWarning}{##1}{##2}%
+ \else%
+ \IfArgIsEmpty{#1}{}{\listeadd#1{##2}}%
+ \fi%
+ }%
+}
+\newcommand*\tud@x@typearea@warnings@on{%
+ \tud@cs@restore{PackageWarningNoLine}%
+}
+\BeforePackage{typearea}{%
+ \tud@x@typearea@warnings@off%
+}
+\AfterPackage{typearea}{%
+ \tud@x@typearea@warnings@on%
+}
%%% From File: tudscr-pagestyle.dtx
-\cs@lock{tud@head@font@num}{0}
-\cs@lock{tud@head@bar@num}{0}
-\bool@lock{@tud@head@widebar}
+\tud@locked@newnum{tud@head@font@num}{0}
+\tud@locked@newnum{tud@head@bar@num}{0}
+\tud@locked@newbool{@tud@head@widebar}
\newif\if@tud@head@font@set
\newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
@@ -424,23 +575,23 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@head@font@num}{0}%
+ \tud@locked@num@set{tud@head@font@num}{0}%
\or% true
- \cs@set@lock{tud@head@font@num}{1}%
+ \tud@locked@num@set{tud@head@font@num}{1}%
\or% heavy
- \cs@set@lock{tud@head@font@num}{2}%
+ \tud@locked@num@set{tud@head@font@num}{2}%
\or% nocolor
- \cs@set@lock{tud@head@bar@num}{0}%
+ \tud@locked@num@set{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% color
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% textwidth
- \bool@set@lock{@tud@head@widebar}{false}%
+ \tud@locked@bool@set{@tud@head@widebar}{false}%
\or% paperwidth
- \bool@set@lock{@tud@head@widebar}{true}%
+ \tud@locked@bool@set{@tud@head@widebar}{true}%
\or% date
\@tud@head@datetrue%
\or% nodate
@@ -452,7 +603,7 @@
\fi%
}
\TUD@AfterPackage@set{scrlayer-scrpage}
-\bool@lock{@tud@foot@colored}
+\tud@locked@newbool{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@bool@numkey,%
@@ -467,13 +618,13 @@
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
- \tud@font@koma@unset{pageheadfoot}%
+ \tud@komafont@unset{pageheadfoot}%
}%
\or% true
\TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
- \tud@font@koma@set{pageheadfoot}{\upshape}%
+ \tud@komafont@set{pageheadfoot}{\upshape}%
\clearpairofpagestyles%
\ofoot[\pagemark]{%
\if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi%
@@ -483,12 +634,13 @@
\ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
\or% nocolor
- \bool@set@lock{@tud@foot@colored}{false}%
+ \tud@locked@bool@set{@tud@foot@colored}{false}%
\or% color
- \bool@set@lock{@tud@foot@colored}{true}%
+ \tud@locked@bool@set{@tud@foot@colored}{true}%
\fi%
\else%
- \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
+ \tud@lowerstring\tud@res@a{#1}%
+ \ifdimen{\tud@res@a}{\TUDoptions{extrabottommargin=#1}}{}%
\fi%
}
\newcommand*\tud@ps@store[1]{%
@@ -506,9 +658,9 @@
\tud@ps@@store{#1}{even}{middle}{foot}%
}
\newcommand*\tud@ps@@store[4]{%
- \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{%
+ \ifcsundef{@@tud@ps@#1@#2@#3@#4}{%
\csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}%
- }%
+ }{}%
}
\newcommand*\tud@ps@restore[1]{%
\tud@ps@@restore{#1}{odd}{left}{head}%
@@ -550,9 +702,9 @@
\TUD@bool@numkey,%
{color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},%
{colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},%
- {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},%
+ {gray}{4},{grey}{4},{hks92}{4},{cdgray}{4},{cdgrey}{4},%
{black}{5},{cdblack}{5},%
- {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},%
+ {blue}{6},{hks41}{6},{cdblue}{6},{cddarkblue}{6},%
{white}{7},{cdwhite}{7}%
}
\newif\if@tud@headlogo@option@set
@@ -606,8 +758,8 @@
\tud@comp@resetpagestyle%
}
%%% From File: tudscr-layout.dtx
-\newcommand*\tud@layout@switch{}
-\edef\tud@layout@switch{%
+\newcommand*\tud@cd@switch{}
+\edef\tud@cd@switch{%
\TUD@bool@numkey,%
{nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},%
{lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
@@ -619,251 +771,141 @@
{color}{5},{colour}{5},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
-\cs@lock{tud@layout@cover@num}{0}
-\cs@lock{tud@layout@title@num}{0}
-\cs@lock{tud@layout@part@num}{0}
-\cs@lock{tud@layout@chapter@num}{0}
-\cs@lock{tud@layout@section@num}{0}
\newcommand*\tud@cd@num{0}
\TUD@key{cd}[true]{%
- \TUD@set@numkey{cd}{tud@cd@num}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cd}{tud@cd@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@layout@cover@num}{0}%
- \cs@std@lock{tud@layout@title@num}{0}%
- \cs@std@lock{tud@layout@part@num}{0}%
- \cs@std@lock{tud@layout@chapter@num}{0}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{1}%
- \cs@std@lock{tud@layout@part@num}{1}%
- \cs@std@lock{tud@layout@chapter@num}{1}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{1}%
- \or% litecolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{2}%
- \cs@std@lock{tud@layout@part@num}{2}%
- \cs@std@lock{tud@layout@chapter@num}{2}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% barcolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{3}%
- \cs@std@lock{tud@layout@part@num}{3}%
- \cs@std@lock{tud@layout@chapter@num}{3}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% bicolor
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{4}%
- \cs@std@lock{tud@layout@part@num}{4}%
- \cs@std@lock{tud@layout@chapter@num}{4}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% color
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{5}%
- \cs@std@lock{tud@layout@part@num}{5}%
- \cs@std@lock{tud@layout@chapter@num}{5}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \or% full
- \cs@std@lock{tud@layout@cover@num}{1}%
- \cs@std@lock{tud@layout@title@num}{6}%
- \cs@std@lock{tud@layout@part@num}{6}%
- \cs@std@lock{tud@layout@chapter@num}{6}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
- \cs@std@lock{tud@layout@section@num}{2}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@key@preset{cdcover}{false}%
+ \else% !false
+ \TUD@key@preset{cdcover}{true}%
+ \fi%
+ \TUD@key@preset{cdtitle}{#1}%
+ \TUD@key@preset{cdpart}{#1}%
+ \TUD@key@preset{cdchapter}{#1}%
+ \TUD@key@preset{cdsection}{#1}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\if@atdocument\else%
\ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@cdgeometry@num}{0}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{0}%
\else% !false
- \cs@std@lock{tud@cdgeometry@num}{2}%
+ \tud@locked@num@preset{tud@cdgeometry@num}{2}%
\fi%
\fi%
\fi%
}
+\newcommand*\tud@cd@cover@num{0}
\TUD@key{cdcover}[true]{%
- \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdcover}{tud@cd@cover@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@cover@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@cover@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@cover@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@cover@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@cover@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@cover@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@cover@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@title@num{0}
\TUD@key{cdtitle}[true]{%
- \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdtitle}{tud@cd@title@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@title@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@title@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@title@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@title@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@title@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@title@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@title@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@part@num{0}
\TUD@key{cdpart}[true]{%
- \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdpart}{tud@cd@part@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@part@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@part@num}{1}%
- \or% litecolor
- \cs@set@lock{tud@layout@part@num}{2}%
- \or% barcolor
- \cs@set@lock{tud@layout@part@num}{3}%
- \or% bicolor
- \cs@set@lock{tud@layout@part@num}{4}%
- \or% color
- \cs@set@lock{tud@layout@part@num}{5}%
- \or% full
- \cs@set@lock{tud@layout@part@num}{6}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@chapter@num{0}
\TUD@key{cdchapter}[true]{%
- \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdchapter}{tud@cd@chapter@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@chapter@num}{0}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% true
- \cs@set@lock{tud@layout@chapter@num}{1}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% litecolor
- \cs@set@lock{tud@layout@chapter@num}{2}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% barcolor
- \cs@set@lock{tud@layout@chapter@num}{3}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% bicolor
- \cs@set@lock{tud@layout@chapter@num}{4}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
- \or% color
- \cs@set@lock{tud@layout@chapter@num}{5}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
- \or% full
- \cs@set@lock{tud@layout@chapter@num}{6}%
- \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
+ \ifnum\tud@cd@chapter@num>4\relax% color/full
+ \TUD@key@preset{chapterpage}{true}%
+ \else%
+ \TUD@key@preset{chapterpage}{false}%
\fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
+\newcommand*\tud@cd@section@num{0}
\TUD@key{cdsection}[true]{%
- \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cdsection}{tud@cd@section@num}{\tud@cd@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@section@num}{0}%
- \or% true
- \cs@set@lock{tud@layout@section@num}{1}%
- \else% *color
- \cs@set@lock{tud@layout@section@num}{2}%
- \fi%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \TUD@SpecialOptionAtDocument{tud@cd@process}%
\fi%
}
\newif\if@tud@parttitle
\TUD@key{parttitle}[true]{%
\TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \TUD@SpecialOptionAtDocument{tud@layout@process}%
- \fi%
}
\newif\if@tud@chapterpage
-\TUD@key@lock{chapterpage}[true]{%
- \TUD@set@ifkey@lock{chapterpage}{@tud@chapterpage}{#1}%
+\TUD@key{chapterpage}[true]{%
+ \TUD@set@ifkey{chapterpage}{@tud@chapterpage}{#1}%
}
+\newif\if@tud@clearcolor
\newcommand*\tud@cleardoublepage{\cleardoubleoddpage}
\TUD@key{cleardoublespecialpage}[true]{%
- \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}%
+ \TUD@set@numkey{cleardoublespecialpage}{@tempa}{%
+ \TUD@bool@numkey,%
+ {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},%
+ {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
+ {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
+ {color}{3},{colour}{3},%
+ {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},%
+ {current}{4}%
+ }{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \renewcommand*\tud@cleardoublepage{\cleardoubleoddpage}%
- \else%
+ \ifcase\@tempa\relax% false
\renewcommand*\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
+ \or% true
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddpage}%
+ \or% nocolor
+ \@tud@clearcolorfalse%
+ \or% color
+ \@tud@clearcolortrue%
+ \or% current
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddstandardpage}%
\fi%
\else%
- \ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{%
- \ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{%
- \ifstr{#1}{current}{%
- \renewcommand*\tud@cleardoublepage{\cleardoubleoddstandardpage}%
- \FamilyKeyStateProcessed%
- }{%
- \AfterPreamble{%
- \ifcsundef{ps@#1}{%
- \ClassError{\TUD@Class@Name}{`#1' is no valid pagestyle}{%
- You tried to use `#1' as a pagestyle for option\MessageBreak%
- `cleardoublespecialpage', but it was never defined.%
- }%
- }{%
- \renewcommand*\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
- }%
- }%
- \FamilyKeyStateProcessed%
- }}}%
- \fi%
-}
-\newcommand*\tud@cleardoublespecialpage[2][]{%
- \begingroup%
- #2%
- \ifboolexpr{bool {@twoside} and bool {@openright}}{%
- \if@tud@clearcolor%
- \def\@tempa{%
- #1%
- \tud@cleardoublepage%
- \endgroup%
+ \AfterPreamble{%
+ \ifcsundef{ps@#1}{%
+ \ClassError{\TUD@Class@Name}{`#1' is no valid pagestyle}{%
+ You tried to use `#1' as a pagestyle for option\MessageBreak%
+ `cleardoublespecialpage', but it was never defined.%
}%
- \else%
- \def\@tempa{%
- \endgroup%
- #1%
- \tud@cleardoublepage%
- }%
- \fi%
- }{%
- \if@tud@clearcolor\tud@clearcolor@wrn\fi%
- \def\@tempa{%
- \endgroup%
- #1%
+ }{%
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
}%
}%
- \@tempa%
- \@afterindentfalse\@afterheading%
+ \FamilyKeyStateProcessed%
+ \fi%
}
-\newif\if@tud@clearcolor
-\TUD@ifkey{clearcolor}{@tud@clearcolor}
-\TUD@ifkey{clearcolour}{@tud@clearcolor}
\newcommand*\tud@pagecolor{}%
+\newcommand*\tud@dim@pageheadingsvskip{0pt}
+\TUD@key{pageheadingsvskip}{%
+ \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}%
+}
+\newcommand*\tud@dim@headingsvskip{0pt}
+\TUD@key{headingsvskip}{%
+ \TUD@set@dimenkey{headingsvskip}{\tud@dim@headingsvskip}{#1}%
+}
+\newif\if@tud@heavyheadings
+\TUD@key{headings}{%
+ \TUD@set@numkey{headings}{@tempa}{%
+ {light}{0},{lightfont}{0},{lite}{0},{litefont}{0},{noheavyfont}{0},%
+ {normal}{0},{standard}{0},{std}{0},{normalbold}{0},{boldnormal}{0},%
+ {heavy}{1},{heavyfont}{1},{bold}{1},{boldfont}{1},%
+ {ultrabold}{1},{boldultra}{1},{heavybold}{1},{boldheavy}{1},%
+ {extendedbold}{1},{boldextended}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% light
+ \@tud@heavyheadingsfalse%
+ \or% heavy
+ \@tud@heavyheadingstrue%
+ \fi%
+ \fi%
+}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{headings}{%
\TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
@@ -877,18 +919,14 @@
\TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}%
\FamilyKeyStateProcessed%
}
-\newcommand*\tud@dim@pageheadingsvskip{0pt}
-\TUD@key{pageheadingsvskip}{%
- \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}%
-}
-\newcommand*\tud@dim@headingsvskip{0pt}
-\TUD@key{headingsvskip}{%
- \TUD@set@dimenkey{headingsvskip}{\tud@dim@headingsvskip}{#1}%
-}
%%% From File: tudscr-title.dtx
\newif\if@tud@subjectthesis
-\TUD@key@lock{subjectthesis}[true]{%
- \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
+\TUD@key{subjectthesis}[true]{%
+ \TUD@set@ifkey{subjectthesis}{@tud@subjectthesis}{#1}%
+}
+\newif\if@tud@titlesignature
+\TUD@key{titlesignature}[true]{%
+ \TUD@set@ifkey{titlesignature}{@tud@titlesignature}{#1}%
}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@switch{%
@@ -909,7 +947,7 @@
{totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
\newcommand*\tud@abstract@level@num{0}
-\cs@lock{tud@abstract@toc@num}{0}
+\tud@locked@newnum{tud@abstract@toc@num}{0}
\newif\if@tud@abstract@multi
\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
@@ -921,16 +959,16 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\renewcommand*\tud@abstract@level@num{0}%
- \cs@std@lock{tud@abstract@toc@num}{0}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{0}%
\or% true
\renewcommand*\tud@abstract@level@num{1}%
- \cs@std@lock{tud@abstract@toc@num}{0}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{0}%
\or% section
\renewcommand*\tud@abstract@level@num{2}%
- \cs@std@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{1}%
\or% chapter
\renewcommand*\tud@abstract@level@num{3}%
- \cs@std@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@preset{tud@abstract@toc@num}{1}%
\or% single
\@tud@abstract@multifalse%
\or% multiple
@@ -944,26 +982,26 @@
\or% nomarkboth
\@tud@abstract@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@abstract@toc@num}{0}%
+ \tud@locked@num@set{tud@abstract@toc@num}{0}%
\or% totoc
\ifnum\tud@abstract@toc@num<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@set{tud@abstract@toc@num}{1}%
\else%
- \cs@set@lock{tud@abstract@toc@num}{3}%
+ \tud@locked@num@set{tud@abstract@toc@num}{3}%
\fi%
\or% totocleveldown
\ifnum\tud@abstract@toc@num<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc@num}{2}%
+ \tud@locked@num@set{tud@abstract@toc@num}{2}%
\else%
- \cs@set@lock{tud@abstract@toc@num}{4}%
+ \tud@locked@num@set{tud@abstract@toc@num}{4}%
\fi%
\or% totocmutliple
\ifnum\tud@abstract@toc@num=\z@\relax%
- \cs@set@lock{tud@abstract@toc@num}{1}%
+ \tud@locked@num@set{tud@abstract@toc@num}{1}%
\fi%
\ifnum\tud@abstract@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@abstract@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@abstract@toc@num}{%
\the\numexpr\tud@abstract@toc@num+2\relax%
}%
}\@tempa%
@@ -976,7 +1014,7 @@
\AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
}
\newcommand*\tud@declaration@level@num{1}
-\cs@lock{tud@declaration@toc@num}{0}
+\tud@locked@newnum{tud@declaration@toc@num}{0}
\newif\if@tud@declaration@multi
\@tud@declaration@multitrue
\newif\if@tud@declaration@fil
@@ -988,16 +1026,16 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\renewcommand*\tud@declaration@level@num{0}%
- \cs@std@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{0}%
\or% true
\renewcommand*\tud@declaration@level@num{1}%
- \cs@std@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{0}%
\or% section
\renewcommand*\tud@declaration@level@num{2}%
- \cs@std@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{1}%
\or% chapter
\renewcommand*\tud@declaration@level@num{3}%
- \cs@std@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@preset{tud@declaration@toc@num}{1}%
\or% single
\@tud@declaration@multifalse%
\or% multiple
@@ -1011,26 +1049,26 @@
\or% nomarkboth
\@tud@declaration@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@declaration@toc@num}{0}%
+ \tud@locked@num@set{tud@declaration@toc@num}{0}%
\or% totoc
\ifnum\tud@declaration@toc@num<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@set{tud@declaration@toc@num}{1}%
\else%
- \cs@set@lock{tud@declaration@toc@num}{3}%
+ \tud@locked@num@set{tud@declaration@toc@num}{3}%
\fi%
\or% totocleveldown
\ifnum\tud@declaration@toc@num<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc@num}{2}%
+ \tud@locked@num@set{tud@declaration@toc@num}{2}%
\else%
- \cs@set@lock{tud@declaration@toc@num}{4}%
+ \tud@locked@num@set{tud@declaration@toc@num}{4}%
\fi%
\or% totocmutliple
\ifnum\tud@declaration@toc@num=\z@\relax%
- \cs@set@lock{tud@declaration@toc@num}{1}%
+ \tud@locked@num@set{tud@declaration@toc@num}{1}%
\fi%
\ifnum\tud@declaration@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@declaration@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@declaration@toc@num}{%
\the\numexpr\tud@declaration@toc@num+2\relax%
}%
}\@tempa%
@@ -1038,18 +1076,99 @@
\fi%
\fi%
}
+%%% From File: tudscr-misc.dtx
+\newif\if@tud@bookmarks
+\TUD@key{tudbookmarks}[true]{%
+ \TUD@set@ifkey{tudbookmarks}{@tud@bookmarks}{#1}%
+}
+\newcommand*\tud@x@scr@checkoptions{%
+ \expandafter\tud@x@scr@pt\CurrentOption pt\@nil%
+ \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
+}
+\newcommand*\tud@x@scr@pt{}
+\def\tud@x@scr@pt #1pt#2\@nil{%
+ \ifstr{#2}{pt}{\ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}%
+}
+\newcommand*\tud@atdocument@hook{}
+\let\tud@atdocument@hook\relax
+\newcommand*\TUD@SpecialOptionAtDocument[1]{}
+\AfterEndPreamble{%
+ \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
+ \ifx\tud@atdocument@hook\relax%
+ \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
+ \AtEndOfFamilyOptions*{%
+ \tud@atdocument@hook%
+ \tud@atdocument@process%
+ }%
+ \fi%
+ \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
+ }%
+}
%%% From File: tudscr-comp.dtx
\newcommand*\TUD@deprecated@key[2]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The option key `#1' is deprecated\MessageBreak%
- It's recommended to use `#2'\MessageBreak%
+ The key `#1' is deprecated. It's\MessageBreak%
+ recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\newcommand*\TUD@deprecated@cs[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\AfterEndPreamble{%
+ \noexpand\TUD@deprecated@@cs{#1}{#2}%
+ }%
+ }%
+ \tud@res@a%
+}
+\newcommand*\TUD@deprecated@@cs[2]{%
+ \ifcsundef{#1}{%
+ \begingroup%
+ \def\tud@res@a{%
+ The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ }%
+ \def\tud@res@b##1@##2\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \appto\tud@res@a{%
+ You should use `\@backslashchar#2' instead%
+ }%
+ }{%
+ \appto\tud@res@a{%
+ You should not use this command. It is substituted\MessageBreak%
+ with `\@backslashchar#2' internally%
+ }%
+ }%
+ }%
+ \tud@res@b#2@\@nil%
+ \edef\tud@res@c{%
+ \endgroup%
+ \noexpand\newrobustcmd\csname #1\endcsname{%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}%
+ {\tud@res@a}%
+ \noexpand\csletcs{#1}{#2}%
+ \noexpand\csuse{#2}%
+ }%
+ }%
+ \tud@res@c%
+ }{}%
+}
+\newcommand*\TUD@deprecated@lengthcs[2][]{%
+ \ifdim\csuse{#2}<\maxdimen\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
+ You should use option `#2' instead%
+ }%
+ \csxdef{tud@dim@#2}{\the\csuse{#2}}%
+ \expandafter\setlength\csname #2\endcsname{\maxdimen}%
+ \global\csuse{#2}=\csuse{#2}%
+ #1%
+ \fi%
+}
\newcommand*\tud@v@comp{\tud@v@last}
-\TUD@key{tudscrver}[last]{%
+\TUD@key[.comp]{tudscrver}[last]{%
\tud@v@get\@tempa{#1}%
\ifcsundef{tud@v@\@tempa}{%
\ClassWarningNoLine{\TUD@Class@Name}%
@@ -1058,23 +1177,25 @@
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \def\tud@v@comp{0}%
+ \renewcommand*\tud@v@comp{0}%
}{%
\ClassInfoNoLine{\TUD@Class@Name}%
{%
- Switching compatibility level to `\@tempa'%
+ Switching compatibility level to `v\@tempa'%
}%
\edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
\FamilyKeyStateProcessed%
}
+\TUD@key{tudscrver}{\FamilyKeyStateProcessed}%
\AtEndOfClass%
{%
+ \RelaxFamilyKey[.comp]{TUD}{tudscrver}%
\TUD@key{tudscrver}[]{%
\ClassError{\TUD@Class@Name}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
+ class `\TUD@Class@Name'\space%
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
@@ -1093,7 +1214,7 @@
KOMA-Script v\TUD@Version@KOMA is required%
}{%
\TUD@Version\space must at least be used with\MessageBreak%
- KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion is used.%
+ KOMA-Script v\TUD@Version@KOMA, but \KOMAScriptVersion was found.%
}%
}%
}
@@ -1103,7 +1224,6 @@
\csdef{tud@v@2.01a}{0}
\csdef{tud@v@2.01b}{0}
\csdef{tud@v@2.02}{0}
-\csdef{tud@v@2.02}{0}
\csdef{tud@v@2.03}{1}
\csdef{tud@v@2.03a}{1}
\csdef{tud@v@2.04}{2}
@@ -1125,7 +1245,8 @@
\csdef{tud@v@2.05k}{3}
\csdef{tud@v@2.05l}{3}
\csdef{tud@v@2.05m}{3}
-\csdef{tud@v@last}{3}
+\csdef{tud@v@2.06}{4}
+\csdef{tud@v@last}{4}
\newcommand*\tud@v@get[2]{%
\begingroup%
\def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
@@ -1158,48 +1279,16 @@
}%
\tud@reserved%
}
-\TUD@key{fontspec}[true]{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- The option key `fontspec' is deprecated\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@x@fontspec@enabled}{#1}%
-}
-\AtEndOfClass%
-{%
- \TUD@key{fontspec}[]%
- {%
- \ClassError{\TUD@Class@Name}%
- {Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\TUD@Class@Name'
- but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@x@fontspec@enabled%
- \RequirePackage{fontspec}[2017/01/24]%
- \fi%
-}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{tudfonts}[true]{%
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
- \else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
- \fi%
+ \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}%
\fi%
}
\TUD@key{heavyfont}[true]{%
@@ -1212,53 +1301,53 @@
\fi%
\fi%
}
-\TUD@key{din}[true]{%
- \TUD@set@ifkey{din}{@tempswa}{#1}%
+\TUD@key{sansmath}[true]{%
+ \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@deprecated@key{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
-\TUD@key{nodin}[true]{%
- \TUD@set@ifkey{nodin}{@tempswa}{#1}%
+\TUD@key{serifmath}[true]{%
+ \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@deprecated@key{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{noDIN}[true]{%
- \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
+\TUD@key{din}[true]{%
+ \TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@deprecated@key{din}{cdoldfont=din}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@deprecated@key{din=#1}{cdoldfont=nodin}%
\fi%
\fi%
}
-\TUD@key{sansmath}[true]{%
- \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
+\TUD@key{nodin}[true]{%
+ \TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@deprecated@key{nodin}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@deprecated@key{nodin=#1}{cdoldfont=din}%
\fi%
\fi%
}
-\TUD@key{serifmath}[true]{%
- \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
+\TUD@key{noDIN}[true]{%
+ \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@deprecated@key{noDIN}{cdoldfont=nodin}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}%
\fi%
\fi%
}
@@ -1329,116 +1418,80 @@
\fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
-%%% From File: tudscr-misc.dtx
-\newif\if@tud@x@scr@paper@set
-\TUD@key{paper}{%
- \tud@lowerstring{\@tempa}{#1}%
- \def\@tempb##1##2\@nil{%
- \@tempswafalse%
- \if ##1a\@tempswatrue%
- \else\if ##1b\@tempswatrue%
- \else\if ##1c\@tempswatrue%
- \else\if ##1d\@tempswatrue%
- \fi\fi\fi\fi%
+\TUD@key{clearcolor}[true]{%
+ \TUD@set@ifkey{clearcolor}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \ifnumber{##2}{}{\@tempswafalse}%
+ \TUD@deprecated@key{clearcolor}{cleardoublespecialpage=color}%
+ \else%
+ \TUD@deprecated@key{clearcolor=#1}{cleardoublespecialpage=nocolor}%
\fi%
- }%
- \expandafter\@tempb\@tempa\@nil%
- \if@tempswa\else%
- \def\@tempb##1:##2:##3\@nil{%
- \edef\@tempc{##1}%
- \ifx\@tempc\@empty\@tempswafalse\else%
- \edef\@tempc{##2}%
- \ifx\@tempc\@empty\@tempswafalse\else\@tempswatrue\fi%
- \fi%
- }%
- \expandafter\@tempb\@tempa::\@nil%
\fi%
- \@tud@x@scr@paper@setfalse%
- \if@tempswa%
- \ifstr{\@tempa}{a4}{}{\@tud@x@scr@paper@settrue}%
- \FamilyKeyStateProcessed%
- \else%
- \FamilyKeyStateUnknownValue%
- \fi%
-}
-\newif\if@tud@fontsize@set
-\TUD@key{fontsize}{%
- \@tud@fontsize@settrue%
- \PassOptionsToClass{fontsize=#1}{\TUD@Class@KOMA}%
- \FamilyKeyStateProcessed%
-}
-\AtEndOfClass{%
- \RelaxFamilyKey{TUD}{paper}%
- \RelaxFamilyKey{TUD}{fontsize}%
- \ifboolexpr{bool {@tud@x@scr@paper@set} or bool {@landscape}}{%
- \if@tud@fontsize@set\else%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- You've set a paper size, which is different from\MessageBreak%
- default (paper=a4, paper=portrait). Therefore you\MessageBreak%
- should additionally specify an explicit font size.\MessageBreak%
- See the manual for further information%
- }%
- \fi%
- }{}%
}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
-\newif\if@tud@symbolheadings
-\TUD@key{footnotes}{%
- \TUD@set@numkey{footnotes}{@tempa}{%
- {nosymbolheadings}{0},{numberheadings}{0},%
- {symbolheadings}{1}%
- }{#1}%
+\TUD@key{clearcolour}[true]{\TUDoptions{clearcolor=#1}}
+\newif\if@tud@x@fontspec@requested
+\TUD@key{fontspec}[true]{%
+ \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\@tempa\relax% nosymbolheadings
- \@tud@symbolheadingsfalse%
- \or% symbolheadings
- \@tud@symbolheadingstrue%
- \fi%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The key `fontspec' is deprecated.\MessageBreak%
+ You should load the package `fontspec' manually%
+ }%
\fi%
}
-\AtEndOfClass{%
- \newcounter{symbolheadings}[chapter]
+\AtEndOfClass%
+{%
+ \TUD@key{fontspec}[]%
+ {%
+ \ClassError{\TUD@Class@Name}%
+ {Option `fontspec' too late}{%
+ Option `fontspec' can only be set while loading the\MessageBreak%
+ class `\TUD@Class@Name'\space%
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \if@tud@x@fontspec@requested%
+ \RequirePackage{fontspec}[2017/01/24]%
+ \fi%
}
%%% From File: tudscr-misc.dtx
-\newcommand*\TUD@SpecialOptionAtDocument[1]{}
-\newcommand*\tud@x@scr@paper{%
- \expandafter\tud@x@scr@@paper\CurrentOption paper\tud@x@scr@@paper%
+\DeclareOption*{}
+\FamilyProcessOptions[.comp]{TUD}\relax
+\tud@if@v@lower{2.05}{%
+ \TUD@key@preset{relspacing}{false}%
+}{%
+ \TUD@key@preset{relspacing}{true}%
}
-\newcommand*\tud@x@scr@@paper{}
-\def\tud@x@scr@@paper #1#2paper#3\tud@x@scr@@paper{%
- \@tempswafalse%
- \ifstr{#3}{paper}{\ifnumber{#2}{%
- \ifstr{#1}{a}{\@tempswatrue}{%
- \ifstr{#1}{b}{\@tempswatrue}{%
- \ifstr{#1}{c}{\@tempswatrue}{%
- \ifstr{#1}{d}{\@tempswatrue}{%
- }}}}%
- }{}}{}%
- \if@tempswa\TUDExecuteOptions{#3=#1#2}\fi%
- \PassOptionsToClass{\CurrentOption}{\TUD@Class@KOMA}%
+\tud@if@v@lower{2.06}{%
+ \TUD@key@preset{cdoldfont}{true}%
+ \TUD@key@preset{ttfont}{lmodern}%
+ \TUD@key@preset{headings}{light}%
+}{%
+ \TUD@key@preset{cdfont}{true}%
+ \TUD@key@preset{ttfont}{roboto}%
+ \TUD@key@preset{headings}{heavy}%
}
-\DeclareOption*{\tud@x@scr@paper}
+\DeclareOption*{\tud@x@scr@checkoptions}
\TUDExecuteOptions{%
- cd=true,relspacing=true,tudbookmarks=true%
+ cd=true,tudbookmarks=true%
}
\TUDProcessOptions\relax
-\LoadClass{\TUD@Class@KOMA}[2015/04/23]
+\LoadClass{\TUD@Class@KOMA}[2018/03/30]
%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
-\cs@lock{tud@x@multicol@num}{1}
+\newcommand*\tud@x@multicol@num{1}
\newcommand*\tud@x@multicol@check{%
\ifnum\tud@x@multicol@num>\@ne\relax%
\ClassWarning{\TUD@Class@Name}{%
The option `columns=\tud@x@multicol@num' is only\MessageBreak%
supported, when package `multicol' is loaded%
}%
- \cs@set@lock{tud@x@multicol@num}{1}%
+ \renewcommand*\tud@x@multicol@num{1}%
\fi%
}
-\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}}
+\AfterPackage{multicol}{\let\tud@x@multicol@check\relax}
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
@@ -1452,109 +1505,238 @@
\RequirePackage{tudscrcolor}[\TUD@Version]%
}
%%% From File: tudscr-fonts.dtx
-\newcommand*\tud@univers{lun}
-\newif\if@tud@univers
-\newif\if@tud@universmath
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@dinbold
-\newif\if@tud@dinboldmath
-\newcommand*\tud@font@check{%
- \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
- \def\@tempb##1{%
- \if@tud@cdmath%
- \tud@font@math@missing@wrn{##1}%
- \fi%
- }%
- \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
- \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN-Bold}}%
- \if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+\newcommand*\tud@cdfont@wrn{\global\let\tud@cdfont@wrn\relax}
+\newcommand*\tud@cdmath@wrn{\global\let\tud@cdmath@wrn\relax}
+\newif\if@tud@x@fontspec@enabled
+\PassOptionsToPackage{no-math}{fontspec}
+\AfterPackage*{fontspec}{%
+ \@ifpackagelater{fontspec}{2017/01/24}{%
+ \@tud@x@fontspec@enabledtrue%
+ \@tud@res@swafalse%
+ \@ifpackagewith{fontspec}{no-math}{}{\@tud@res@swatrue}%
+ \@ifpackagewith{fontspec}{math}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ It's recommended to load package `fontspec'\MessageBreak%
+ with option `no-math', if you want to use the\MessageBreak%
+ corporate design fonts in math mode%
+ }%
+ }%
+ \fi%
+ }{%
+ \@tud@x@fontspec@enabledfalse%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ Version `2017/01/24' of package `fontspec' is needed,\MessageBreak%
+ but only version\MessageBreak%
+ `\csname ver@fontspec.sty\endcsname'\MessageBreak%
+ is available, so a fallback layout is used%
+ }%
+ }%
+}
+\AfterPackage*{unicode-math}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ The usage of package `unicode-math' will\MessageBreak%
+ most likely cause erroneous outputs in math mode\MessageBreak%
+ with corporate design fonts%
}%
+ }%
+}
+\TUD@RecommendPackage{mweights}[2017/03/30]%
+\newif\if@tud@x@mweights@enabled
+\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
+\newif\if@tud@cdfont@fam@exist
+\newif\if@tud@cdfont@db@exist
+\newcommand*\tud@cdfont@fam{opensans-TLF}
+\newcommand*\tud@cdfont@fam@lf{opensans-TLF}
+\newcommand*\tud@cdfont@fam@osf{opensans-TOsF}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@fam{lun}
+ \renewcommand*\tud@cdfont@fam@lf{lun}
+ \renewcommand*\tud@cdfont@fam@osf{lun}
+ \newcommand*\tud@cdfont@db{0m6}
+\fi
+\newcommand*\tud@ttfont@fam{tudtt}
+\newcommand*\tud@ttfont@rb{tudtt}
+\newcommand*\tud@ttfont@lm{lmtt}
+\newif\if@tud@ttfont@rb@exist
+\IfFileExists{roboto-mono.sty}{%
+ \@tud@ttfont@rb@existtrue%
+}{%
+ \TUD@key@preset{ttfont}{lmodern}%
+}
+\newcommand*\tud@cdfont@check{%
+ \if@tud@cdoldfont@active%
+ \tud@cdfont@@check{Univers}{%
+ Light,,Bold,Black,%
+ LightOblique,Oblique,BoldOblique,BlackOblique%
+ }{\tud@cdfont@fam@lf}{@tud@cdfont@fam@exist}%
+ \tud@cdfont@@check{DIN}{Bold}{\tud@cdfont@db}{@tud@cdfont@db@exist}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@fam@lf}%
+ \tud@cdfont@@@check{OT1,OML,OMS}{\tud@cdfont@db}%
+ \else%
+ \@ifpackageloaded{opensans}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `opensans'\MessageBreak%
+ manually but just use option `cdfont=true'%
+ }%
+ }{}%
+ \if@tud@cdfont@active%
+ \TUD@CheckPackage{opensans}{2019/06/20}%
+ \TUD@CheckPackage{iwona}{2005/10/03}%
+ \fi%
+ \tud@cdfont@@check{OpenSans}{%
+ Light,Regular,SemiBold,Bold,ExtraBold,%
+ LightItalic,Italic,SemiBoldItalic,BoldItalic,ExtraBoldItalic%
+ }{\tud@cdfont@fam@lf,\tud@cdfont@fam@osf}{@tud@cdfont@fam@exist}%
\fi%
+}
+\newcommand*\tud@cdfont@@check[5][-]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing{##1}{\tud@cdfont@wrn}%
+ }%
\if@tud@x@fontspec@enabled%
- \def\@tempc##1##2{%
- \IfFontExistsTF{##1}{}{%
- ##2%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \def\tud@res@b##1{\IfFontExistsTF{##1}{}{\tud@res@a{##1}}}%
+ \@for\tud@res@c:={#3}\do{%
+ \expandafter\IfArgIsEmpty\expandafter{\tud@res@c}%
+ {\tud@res@b{#2}}%
+ {\tud@res@b{#2#1\tud@res@c}}%
+ }%
+ \else%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \@tud@res@swatrue%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \if@tud@res@swa%
+ \tud@lowerstring\tud@res@b{##1}%
+ \edef\tud@res@b{\tud@res@b##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
\fi%
- }%
+ \if@tud@res@swa%
+ \edef\tud@res@b{##1##2.fd}%
+ \IfFileExists{\tud@res@b}{\@tud@res@swafalse}{}%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \if@tud@res@swa%
+ \noexpand\tud@res@a{\tud@res@b}%
+ \fi%
+ }%
+ \tud@res@a%
}%
- \@tud@universtrue%
- \@tempc{Univers Light}{\@tud@universfalse}%
- \@tempc{Univers}{\@tud@universfalse}%
- \@tempc{Univers Bold}{\@tud@universfalse}%
- \@tempc{Univers Black}{\@tud@universfalse}%
- \@tempc{Univers LightOblique}{\@tud@universfalse}%
- \@tempc{Univers Oblique}{\@tud@universfalse}%
- \@tempc{Univers BoldOblique}{\@tud@universfalse}%
- \@tempc{Univers BlackOblique}{\@tud@universfalse}%
- \@tud@dinboldtrue%
- \@tempc{DIN-Bold}{\@tud@dinboldfalse}%
+ \@for\tud@res@c:={#4}\do{\tud@res@b{\encodingdefault}{\tud@res@c}}%
+ \fi%
+ \if@tud@res@swa%
+ \booltrue{#5}%
\else%
- \def\@tempc##1{%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \tud@font@missing@wrn{##1}%
+ \boolfalse{#5}%
+ \fi%
+}
+\newcommand*\tud@cdfont@@@check[2]{%
+ \@tud@res@swatrue%
+ \def\tud@res@a##1##2{%
+ \@tud@res@swafalse%
+ \tud@cdfont@missing[##1]{##2}{\tud@cdmath@wrn}%
+ }%
+ \def\tud@res@b##1##2{%
+ \begingroup%
+ \tud@lowerstring\tud@res@b{##1##2.fd}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\IfFileExists{\tud@res@b}{}{%
+ \noexpand\tud@res@a{##1}{\tud@res@b}%
+ }%
+ }%
+ \tud@res@a%
+ }%
+ \@for\tud@res@c:={#1}\do{\tud@res@b{\tud@res@c}{#2}}%
+ \if@tud@res@swa\else%
+ \AtBeginDocument{%
+ \if@tud@cdmath@active%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Some math font encodings are missing.\MessageBreak%
+ The option `cdmath=false' is executed. You should\MessageBreak%
+ either use this option by yourself or install\MessageBreak%
+ all necessary fonts with a installation script\MessageBreak%
+ listed in the manual
+ }%
\fi%
+ \TUDoptions{cdmath=false}%
}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
- \expandafter\@tempa\expandafter{\encodingdefault}%
- {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN-Bold}}%
\fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
- }%
- \undef\tud@font@check%
}
-\newcommand*\tud@font@missing@wrn[1]{%
+\newcommand*\tud@cdfont@missing[3][\encodingdefault]{%
\begingroup%
- \def\@tempa{%
- `#1' font not found for `\encodingdefault' encoding.\MessageBreak%
+ \def\tud@res@a{%
+ `#2' font\MessageBreak%
+ not found for `#1' encoding.\MessageBreak%
}%
\if@tud@x@fontspec@enabled%
- \appto\@tempa{%
- It seems, you haven't installed the required\MessageBreak%
- OTF-font on your system%
- }%
- \else%
- \ifstr{TU}{\encodingdefault}{%
- \appto\@tempa{%
- You should load package `fontspec'\MessageBreak%
- or %
+ \ifstr{\encodingdefault}{#1}{%
+ \appto\tud@res@a{%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. You should provide\MessageBreak%
+ the fonts manually to your OS\MessageBreak%
+ \if@tud@cdoldfont@active\else%
+ or install package `opensans'\MessageBreak%
+ \fi%
}%
- }{%
- \appto\@tempa{Please }%
+ }{}%
+ \else%
+ \if@tud@cdoldfont@active%
+ \def\tud@res@b{T1,OT1,OMS,OML}%
+ \else%
+ \def\tud@res@b{T1,OT1,T2A,T2B,T2C,X2,LGR}%
+ \fi%
+ \@tud@res@swafalse%
+ \@for\tud@res@c:=\tud@res@b\do{%
+ \ifstr{\tud@res@c}{#1}{\@tud@res@swatrue}{}%
}%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
- \if@tempswa%
- \appto\@tempa{%
- use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
+ \if@tud@res@swa%
+ \appto\tud@res@a{%
+ You should %
+ \if@tud@cdoldfont@active%
+ try to install the necessary fonts\MessageBreak%
+ with a installation script listed in the manual%
+ \else%
+ install package `opensans'%
+ \fi%
+ .\MessageBreak%
}%
\else%
- \appto\@tempa{%
- choose a possible encoding with\MessageBreak%
- package `fontenc' (`OT1' or `T1')%
- }%
+ \ifstr{\encodingdefault}{#1}{%
+ \ifstr{TU}{#1}{%
+ \appto\tud@res@a{%
+ You should either load package `fontspec'\MessageBreak%
+ or %
+ }%
+ }{%
+ \appto\tud@res@a{Please }%
+ }%
+ \appto\tud@res@a{%
+ choose a possible encoding with package\MessageBreak%
+ `fontenc' (\tud@res@b).\MessageBreak%
+ }%
+ }{}%
\fi%
\fi%
- \appto\@tempa{.\MessageBreak A fallback layout is used}%
- \ClassWarning{\TUD@Class@Name}{\@tempa}%
+ \appto\tud@res@a{A fallback layout is used}%
+ \edef\tud@res@c{%
+ \etex@unexpanded{\ClassWarning{\TUD@Class@Name}}%
+ {\tud@res@a}
+ }%
+ \xappto#3{\expandonce\tud@res@c}%
\endgroup%
}
-\newcommand*\tud@font@math@missing@wrn[1]{%
- \ClassWarning{\TUD@Class@Name}%
- {%
- `#1' fonts for math typesetting not found.\MessageBreak%
- Please use one of the installation scripts listed\MessageBreak%
- in the TUD-Script manual%
- }%
-}
\begingroup
\catcode`\^=7
\catcode30=12
@@ -1571,9 +1753,9 @@
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
\AfterPackage*{ragged2e}{%
- \ifdef{\LaTeXraggedright}{%
+ \ifundef{\LaTeXraggedright}{}{%
\renewcommand*\tud@raggedright{\LaTeXraggedright}%
- }{}%
+ }%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
\newif\if@tud@x@siunitx@enabled
@@ -1583,127 +1765,113 @@
}
\newif\if@tud@x@bm@requested
\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm}
-\RequirePackage{trimspaces}[2009/09/17]
-\newif\if@tud@x@mweights@enabled
-\AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue}
-\newcommand*\tud@font@set{%
- \if@atdocument%
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@univers\else%
- \tud@font@missing@wrn{Univers}%
- \fi%
- \if@tud@dinbold\else%
- \tud@font@missing@wrn{DIN-Bold}%
- \fi%
- \ifboolexpr{bool {@tud@univers} and bool {@tud@dinbold}}{}{%
- \renewcommand*\tud@cdfont@num{0}%
- \bool@std@lock{@tud@cdmath}{false}%
+\newcommand*\tud@x@fontspec@init[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\defaultfontfeatures[#1]{%
+ NFSSFamily=#1,%
+ Ligatures=TeX,%
+ BoldFont={},%
+ ItalicFont={},%
+ BoldItalicFont={},%
+ SmallCapsFont={},%
+ #2%
}%
- \fi%
- \fi%
- \ifcase\tud@cdfont@num\relax% false
- \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}%
- \if@tud@x@mweights@enabled%
- \tud@cmd@restore{bfseries@rm}%
- \tud@cmd@restore{bfseries@sf}%
- \tud@cmd@restore{bfseries@tt}%
- \tud@cmd@restore{mdseries@rm}%
- \tud@cmd@restore{mdseries@sf}%
- \tud@cmd@restore{mdseries@tt}%
- \fi%
- \ifcase\tud@cd@num\relax% false
- \cs@std@lock{tud@head@font@num}{0}%
- \else% !false
- \cs@std@lock{tud@head@font@num}{1}%
- \fi%
- \else% true/heavy
- \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}%
+ }%
+ \edef\tud@res@b{%
+ \noexpand\newfontfamily%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#1\endcsname{#1}%
+ }%
+ \edef\tud@res@c{%
+ \endgroup\expandonce\tud@res@a\expandonce\tud@res@b%
+ }%
+ \tud@res@c%
+}
+\newcommand*\tud@x@fontspec@set[2]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareRobustCommand%
+ \expandafter\noexpand\csname #1family\endcsname{%
+ \expandafter\noexpand\csname tud@x@fontspec@fam@#2\endcsname%
+ }%
+ \def\expandafter\noexpand\csname #1default\endcsname{\tud@cdfont@fam}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@font@set{%
+ \if@tud@cdfont@active%
+ \tud@cs@store{rmdefault}%
+ \tud@cs@store{sfdefault}%
+ \tud@cs@store{ttdefault}%
+ \tud@cs@store{bfdefault}%
+ \tud@cs@store{mddefault}%
+ \tud@cs@store{updefault}%
+ \tud@cs@store{sldefault}%
+ \tud@cs@store{itdefault}%
+ \tud@cs@store{familydefault}%
+ \tud@cs@store{seriesdefault}%
+ \tud@cs@store{shapedefault}%
\if@tud@x@mweights@enabled%
- \tud@cmd@store{bfseries@rm}%
- \tud@cmd@store{bfseries@sf}%
- \tud@cmd@store{bfseries@tt}%
- \tud@cmd@store{mdseries@rm}%
- \tud@cmd@store{mdseries@sf}%
- \tud@cmd@store{mdseries@tt}%
- \fi%
- \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
- \if@tud@univers%
- \if@tud@x@fontspec@enabled%
- \setsansfont{Univers}[\tud@x@fontspec@set@univ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{LMMonoLt10-Regular},%
- FontFace={m}{\updefault}{LMMono10-Regular},%
- FontFace={b}{\updefault}{LMMonoLt10-Bold},%
- FontFace={bx}{\updefault}{LMMonoLt10-Bold},%
- FontFace={eb}{\updefault}{LMMonoLt10-Bold},%
- FontFace={l}{\sldefault}{LMMonoLt10-Oblique},%
- FontFace={m}{\sldefault}{LMMonoSlant10-Regular},%
- FontFace={b}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={bx}{\sldefault}{LMMonoLt10-BoldOblique},%
- FontFace={eb}{\sldefault}{LMMonoLt10-BoldOblique},%
- NFSSFamily=\tud@univers t%
- ]%
- \else%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \fi%
- \ifnum\tud@cdfont@num=\@ne\relax% true
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{b}%
- \else% normalbold
- \renewcommand*\bfdefault{m}%
- \fi%
- \renewcommand*\mddefault{l}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{m}%
- \def\bfseries@sf{m}%
- \def\bfseries@tt{m}%
- \def\mdseries@rm{l}%
- \def\mdseries@sf{l}%
- \def\mdseries@tt{l}%
- \fi%
- \else% heavy
- \if@tud@cdfont@ultrabold% ultrabold
- \renewcommand*\bfdefault{eb}%
- \else% normalbold
- \renewcommand*\bfdefault{b}%
- \fi%
- \renewcommand*\mddefault{m}%
- \if@tud@x@mweights@enabled%
- \def\bfseries@rm{b}%
- \def\bfseries@sf{b}%
- \def\bfseries@tt{b}%
- \def\mdseries@rm{m}%
- \def\mdseries@sf{m}%
- \def\mdseries@tt{m}%
- \fi%
- \fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\itdefault{\sldefault}%
+ \tud@cs@store{bfseries@rm}%
+ \tud@cs@store{mdseries@rm}%
+ \tud@cs@store{bfseries@sf}%
+ \tud@cs@store{mdseries@sf}%
+ \tud@cs@store{bfseries@tt}%
+ \tud@cs@store{mdseries@tt}%
\fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@store{rmfamily}%
+ \tud@cs@store{sffamily}%
+ \tud@cs@store{ttfamily}%
+ \fi%
+ \renewcommand*\rmdefault{\sfdefault}%
+ \renewcommand*\updefault{n}%
+ \renewcommand*\itdefault{it}%
+ \renewcommand*\sldefault{sl}%
\renewcommand*\familydefault{\sfdefault}%
\renewcommand*\seriesdefault{\mddefault}%
\renewcommand*\shapedefault{\updefault}%
+ \tud@cdfont@set%
+ \tud@ttfont@set%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@bf}%
+ \edef\mdseries@rm{\tud@cdfont@md}%
+ \edef\bfseries@sf{\tud@cdfont@bf}%
+ \edef\mdseries@sf{\tud@cdfont@md}%
+ \edef\bfseries@tt{\tud@ttfont@bf}%
+ \edef\mdseries@tt{\tud@ttfont@md}%
+ \fi%
+ \let\bfdefault\tud@cdfont@bf%
+ \let\mddefault\tud@cdfont@md%
+ \else%
+ \tud@cs@restore{rmdefault}%
+ \tud@cs@restore{sfdefault}%
+ \tud@cs@restore{ttdefault}%
+ \tud@cs@restore{bfdefault}%
+ \tud@cs@restore{mddefault}%
+ \tud@cs@restore{updefault}%
+ \tud@cs@restore{sldefault}%
+ \tud@cs@restore{itdefault}%
+ \tud@cs@restore{familydefault}%
+ \tud@cs@restore{seriesdefault}%
+ \tud@cs@restore{shapedefault}%
+ \if@tud@x@mweights@enabled%
+ \tud@cs@restore{bfseries@rm}%
+ \tud@cs@restore{mdseries@rm}%
+ \tud@cs@restore{bfseries@sf}%
+ \tud@cs@restore{mdseries@sf}%
+ \tud@cs@restore{bfseries@tt}%
+ \tud@cs@restore{mdseries@tt}%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@cs@restore{rmfamily}%
+ \tud@cs@restore{sffamily}%
+ \tud@cs@restore{ttfamily}%
+ \fi%
\fi%
\if@tud@x@mweights@enabled%
\edef\rmdef@ult{\rmdefault}%
@@ -1713,12 +1881,74 @@
\edef\mddef@ult{\mddefault}%
\edef\famdef@ult{\familydefault}%
\fi%
- \ifundef{\tud@font@math@init}{\tud@font@math@set}{}%
\tud@font@skip@set%
\normalfont\selectfont%
- \tud@layout@process%
+ \tud@cd@process%
\global\@tud@head@font@settrue%
}
+\newcommand*\tud@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdfont@lining%
+ \let\tud@cdfont@fam\tud@cdfont@fam@lf%
+ \else%
+ \let\tud@cdfont@fam\tud@cdfont@fam@osf%
+ \fi%
+ \if@tud@x@fontspec@enabled%
+ \tud@x@fontspec@set{sf}{\tud@cdfont@fam}%
+ \else%
+ \renewcommand*\sfdefault{\tud@cdfont@fam}%
+ \fi%
+ \tud@cdfont@@set%
+ \fi%
+ \tud@cdfont@wrn%
+}
+\newcommand*\tud@cdfont@md{m}
+\newcommand*\tud@cdfont@bf{b}
+\newcommand*\tud@cdfont@ebf{bx}
+\newcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{sb}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{sb}%
+ \fi%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@@set{%
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@cdfont@md{m}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{eb}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \fi%
+ \else%
+ \renewcommand*\tud@cdfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@cdfont@bf{b}%
+ \renewcommand*\tud@cdfont@ebf{eb}%
+ \else%
+ \renewcommand*\tud@cdfont@bf{m}%
+ \renewcommand*\tud@cdfont@ebf{b}%
+ \fi%
+ \fi%
+ }%
+\fi
\newcommand*\tud@font@skip@set{%
\if@tud@relspacing%
\tud@skip@store{smallskipamount}%
@@ -1747,147 +1977,308 @@
\tud@skip@set{belowcaptionskip}{\z@}%
\tud@skip@set{columnsep}{1.1\baselineskip}%
}
-\newcommand*\tud@font@init{%
- \if@tud@x@fontspec@enabled%
- \if@tud@univers%
- \newcommand*\tud@x@fontspec@set@univ{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{Univers Light},%
- FontFace={m}{\updefault}{Univers},%
- FontFace={b}{\updefault}{Univers Bold},%
- FontFace={bx}{\updefault}{Univers Bold},%
- FontFace={eb}{\updefault}{Univers Black},%
- FontFace={l}{\sldefault}{Univers LightOblique},%
- FontFace={m}{\sldefault}{Univers Oblique},%
- FontFace={b}{\sldefault}{Univers BoldOblique},%
- FontFace={bx}{\sldefault}{Univers BoldOblique},%
- FontFace={eb}{\sldefault}{Univers BlackOblique}%
+\newcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={OpenSans-Regular},%
+ FontFace={l}{n}{OpenSans-Light},%
+ FontFace={m}{n}{OpenSans-Regular},%
+ FontFace={sb}{n}{OpenSans-SemiBold},%
+ FontFace={b}{n}{OpenSans-Bold},%
+ FontFace={bx}{n}{OpenSans-Bold},%
+ FontFace={eb}{n}{OpenSans-ExtraBold},%
+ FontFace={l}{it}{OpenSans-LightItalic},%
+ FontFace={m}{it}{OpenSans-Italic},%
+ FontFace={sb}{it}{OpenSans-SemiBoldItalic},%
+ FontFace={b}{it}{OpenSans-BoldItalic},%
+ FontFace={bx}{it}{OpenSans-BoldItalic},%
+ FontFace={eb}{it}{OpenSans-ExtraBoldItalic}%
}%
- \newfontfamily\tud@x@fontspec@fam@univ{Univers}[%
- \tud@x@fontspec@set@univ,NFSSFamily=\tud@univers%
- ]%
- \fi%
- \if@tud@dinbold%
- \newcommand*\tud@x@fontspec@set@din{%
- Ligatures=TeX,%
- BoldFont={},%
- ItalicFont={},%
- BoldItalicFont={},%
- SmallCapsFont={},%
- FontFace={l}{\updefault}{DIN-Bold},%
- FontFace={m}{\updefault}{DIN-Bold},%
- FontFace={b}{\updefault}{DIN-Bold},%
- FontFace={bx}{\updefault}{DIN-Bold},%
- FontFace={eb}{\updefault}{DIN-Bold},%
- FontFace={l}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={m}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={b}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={bx}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15},%
- FontFace={eb}{\sldefault}{Font=DIN-Bold,FakeSlant=0.15}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@osf}{Numbers=OldStyle,\tud@res@a}%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \else%
+ \IfFileExists{omliwona.fd}{%
+ \input{omliwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OML/\tud@cdfont@fam@lf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ \csletcs{OML/\tud@cdfont@fam@osf/\tud@res@a/it}%
+ {OML/iwona/\tud@res@a/it}%
+ }%
+ }{}%
+ \IfFileExists{omsiwona.fd}{%
+ \input{omsiwona.fd}%
+ \@for\tud@res@a:={l,m,sb,b,eb}\do{%
+ \csletcs{OMS/\tud@cdfont@fam@lf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ \csletcs{OMS/\tud@cdfont@fam@osf/\tud@res@a/n}%
+ {OMS/iwona/\tud@res@a/n}%
+ }%
+ }{}%
+ \AtBeginDocument{%
+ \ifcsundef{textrightarrow}{}{%
+ \tud@cs@store{textrightarrow}%
+ \renewrobustcmd*{\textrightarrow}{%
+ {\fontfamily{iwona}\selectfont\tud@cs@use{textrightarrow}}%
+ }%
+ }%
}%
- \newfontfamily\tud@x@fontspec@fam@din{DIN-Bold}[%
- \tud@x@fontspec@set@din,NFSSFamily=\tud@dinbold%
- ]%
- \fi%
- \fi%
- \if@tud@univers%
- \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}}%
- \else%
- \newrobustcmd*\univln{\tud@font@fallback{Univers Light}{md}{up}}%
- \newrobustcmd*\univrn{\tud@font@fallback{Univers}{md}{up}}%
- \newrobustcmd*\univbn{\tud@font@fallback{Univers Bold}{bf}{up}}%
- \newrobustcmd*\univxn{\tud@font@fallback{Univers Black}{bf}{up}}%
- \newrobustcmd*\univls{\tud@font@fallback{Univers LightOblique}{md}{sl}}%
- \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
- \newrobustcmd*\univbs{\tud@font@fallback{Univers BoldOblique}{bf}{sl}}%
- \newrobustcmd*\univxs{\tud@font@fallback{Univers BlackOblique}{bf}{sl}}%
- \fi%
- \if@tud@dinbold%
- \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
- \if@tud@dinboldmath%
- \appto\tud@dinbn{\mathversion{dinbold}}%
- \fi%
- \newrobustcmd*\dinbn{\tud@dinbn}%
+ \fi%
+ \newrobustcmd*\cdfontln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\cdfontrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\cdfontsn{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{n}}
+ \newrobustcmd*\cdfontbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\cdfontxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\cdfontli{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{it}}
+ \newrobustcmd*\cdfontri{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{it}}
+ \newrobustcmd*\cdfontsi{\usefont{\encodingdefault}{\tud@cdfont@fam}{sb}{it}}
+ \newrobustcmd*\cdfontbi{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{it}}
+ \newrobustcmd*\cdfontxi{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{it}}
\else%
- \newrobustcmd*\tud@dinbn{\sectfont}%
- \newrobustcmd*\dinbn{\tud@font@fallback@wrn{DIN-Bold}\tud@dinbn}%
- \fi%
- \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}%
- \undef\tud@font@init%
-}
-\newcommand*\tud@font@fallback[3]{%
- \tud@font@fallback@wrn{#1}%
- \sffamily\csuse{#2series}\csuse{#3shape}%
-}
-\newcommand*\tud@font@fallback@wrn[1]{%
+ \tud@cdfont@fallback\cdfontln{OpenSans-Light}{md}{up}
+ \tud@cdfont@fallback\cdfontrn{OpenSans-Regular}{md}{up}
+ \tud@cdfont@fallback\cdfontsn{OpenSans-SemiBold}{md}{up}
+ \tud@cdfont@fallback\cdfontbn{OpenSans-Bold}{bf}{up}
+ \tud@cdfont@fallback\cdfontxn{OpenSans-ExtraBold}{bf}{up}
+ \tud@cdfont@fallback\cdfontli{OpenSans-LightItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontri{OpenSans-Italic}{md}{it}
+ \tud@cdfont@fallback\cdfontsi{OpenSans-SemiBoldItalic}{md}{it}
+ \tud@cdfont@fallback\cdfontbi{OpenSans-BoldItalic}{bf}{it}
+ \tud@cdfont@fallback\cdfontxi{OpenSans-ExtraBoldItalic}{bf}{it}
+ \fi%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={Univers},%
+ FontFace={l}{n}{Univers-Light},%
+ FontFace={m}{n}{Univers},%
+ FontFace={b}{n}{Univers-Bold},%
+ FontFace={bx}{n}{Univers-Bold},%
+ FontFace={eb}{n}{Univers-Black},%
+ FontFace={l}{it}{Univers-LightOblique},%
+ FontFace={m}{it}{Univers-Oblique},%
+ FontFace={b}{it}{Univers-BoldOblique},%
+ FontFace={bx}{it}{Univers-BoldOblique},%
+ FontFace={eb}{it}{Univers-BlackOblique}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@fam@lf}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{n}}
+ \newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{n}}
+ \newrobustcmd*\univbn{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{n}}
+ \newrobustcmd*\univxn{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{n}}
+ \newrobustcmd*\univls{\usefont{\encodingdefault}{\tud@cdfont@fam}{l}{sl}}
+ \newrobustcmd*\univrs{\usefont{\encodingdefault}{\tud@cdfont@fam}{m}{sl}}
+ \newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@cdfont@fam}{b}{sl}}
+ \newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@cdfont@fam}{eb}{sl}}
+ \else%
+ \tud@cdfont@fallback\univln{Univers-Light}{md}{up}
+ \tud@cdfont@fallback\univrn{Univers}{md}{up}
+ \tud@cdfont@fallback\univbn{Univers-Bold}{bf}{up}
+ \tud@cdfont@fallback\univxn{Univers-Black}{bf}{up}
+ \tud@cdfont@fallback\univls{Univers-LightOblique}{md}{sl}
+ \tud@cdfont@fallback\univrs{Univers-Oblique}{md}{sl}
+ \tud@cdfont@fallback\univbs{Univers-BoldOblique}{bf}{sl}
+ \tud@cdfont@fallback\univxs{Univers-BlackOblique}{bf}{sl}
+ \fi%
+ \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}%
+ \newrobustcmd*\cdfontln{\univln}%
+ \newrobustcmd*\cdfontrn{\univrn}%
+ \newrobustcmd*\cdfontsn{\univrn}%
+ \newrobustcmd*\cdfontbn{\univbn}%
+ \newrobustcmd*\cdfontxn{\univxn}%
+ \newrobustcmd*\cdfontli{\univls}%
+ \newrobustcmd*\cdfontri{\univrs}%
+ \newrobustcmd*\cdfontsi{\univrs}%
+ \newrobustcmd*\cdfontbi{\univbs}%
+ \newrobustcmd*\cdfontxi{\univxs}%
+ \newcommand*\textcdln{}%
+ \newcommand*\textcdrn{}%
+ \newcommand*\textcdsn{}%
+ \newcommand*\textcdbn{}%
+ \newcommand*\textcdxn{}%
+ \newcommand*\textcdli{}%
+ \newcommand*\textcdri{}%
+ \newcommand*\textcdsi{}%
+ \newcommand*\textcdbi{}%
+ \newcommand*\textcdxi{}%
+ \DeclareTextFontCommand\textcdln{\cdfontln}%
+ \DeclareTextFontCommand\textcdrn{\cdfontrn}%
+ \DeclareTextFontCommand\textcdsn{\cdfontsn}%
+ \DeclareTextFontCommand\textcdbn{\cdfontbn}%
+ \DeclareTextFontCommand\textcdxn{\cdfontxn}%
+ \DeclareTextFontCommand\textcdli{\cdfontli}%
+ \DeclareTextFontCommand\textcdri{\cdfontri}%
+ \DeclareTextFontCommand\textcdsi{\cdfontsi}%
+ \DeclareTextFontCommand\textcdbi{\cdfontbi}%
+ \DeclareTextFontCommand\textcdxi{\cdfontxi}%
+ \if@tud@cdfont@db@exist%
+ \if@tud@x@fontspec@enabled%
+ \def\tud@res@a{%
+ UprightFont={DIN-Bold},%
+ FontFace={l}{n}{DIN-Bold},%
+ FontFace={m}{n}{DIN-Bold},%
+ FontFace={b}{n}{DIN-Bold},%
+ FontFace={bx}{n}{DIN-Bold},%
+ FontFace={eb}{n}{DIN-Bold},%
+ FontFace={l}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={m}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={b}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={bx}{it}{Font=DIN-Bold,FakeSlant=0.15},%
+ FontFace={eb}{it}{Font=DIN-Bold,FakeSlant=0.15}%
+ }%
+ \tud@x@fontspec@init{\tud@cdfont@db}{\tud@res@a}%
+ \fi%
+ \newrobustcmd*\tud@db{%
+ \usefont{\encodingdefault}{\tud@cdfont@db}{b}{n}%
+ \if@tud@cdmath@active\mathversion{tuddin}\fi%
+ }%
+ \newrobustcmd*\dinbn{\tud@db}%
+ \else%
+ \newrobustcmd*\tud@db{\tud@db@wrn\sectfont}%
+ \newcommand*\tud@db@wrn{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ Font `DIN-Bold' is not available and therefore\MessageBreak
+ can not be used for headings%
+ }%
+ \global\let\tud@db@wrn\relax%
+ }%
+ \newrobustcmd*\dinbn{\tud@cdfont@fallback@wrn{DIN-Bold}\sectfont}%
+ \fi%
+ \newcommand*\textdbn{}%
+ \DeclareTextFontCommand\textdbn{\dinbn}%
+ }%
+\fi
+\newcommand*\tud@cdfont@fallback[4]{%
+ \newrobustcmd*#1{%
+ \tud@cdfont@fallback@wrn{#2}%
+ \sffamily\csuse{#3series}\csuse{#4shape}%
+ }%
+}
+\newcommand*\tud@cdfont@fallback@wrn[1]{%
\ClassWarning{\TUD@Class@Name}%
{%
- The requested font `#1' is not available, so\MessageBreak%
- a fallback layout is used%
+ The requested font `#1'\MessageBreak%
+ is not available, a fallback layout is used%
}%
}
\newcommand*\cdfont[1]{%
\tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \csuse{cdfont\@tempc}%
\fi%
}
-\providecommand*\tudfont[1]{\cdfont{#1}}
-\newcommand*\textcdfont[2]{%
+\newcommand*\textcd[2]{%
\tud@cdfont@get{#1}%
- \ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \csuse{textcd\@tempc}{#2}%
\fi%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\cdfont[1]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \fi%
+ }%
+ \renewcommand*\textcd[2]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax%
+ \textsf{#2}%
+ \else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \fi%
+ }%
+\fi
\newcommand*\tud@cdfont@get[1]{%
\tud@cdfont@trim\@tempa{#1}%
- \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
- \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
- \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
- \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
- \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
- \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
- \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
- \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
- \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
- \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{l}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{r}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{s}{\def\@tempc{sn}}{%
+ \ifstr{\@tempa}{b}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{x}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{li}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{il}{\def\@tempc{li}}{%
+ \ifstr{\@tempa}{i}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ri}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{ir}{\def\@tempc{ri}}{%
+ \ifstr{\@tempa}{si}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{is}{\def\@tempc{si}}{%
+ \ifstr{\@tempa}{bi}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{ib}{\def\@tempc{bi}}{%
+ \ifstr{\@tempa}{xi}{\def\@tempc{xi}}{%
+ \ifstr{\@tempa}{ix}{\def\@tempc{xi}}{%
\let\@tempc\relax%
\ClassWarning{\TUD@Class@Name}%
{The font `#1' is unknown}%
- }}}}}}}}}}}}}}%
-}
+ }}}}}}}}}}}}}}}}}%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@get[1]{%
+ \tud@cdfont@trim\@tempa{#1}%
+ \ifstr{\@tempa}{45}{\def\@tempc{ln}}{%
+ \ifstr{\@tempa}{55}{\def\@tempc{rn}}{%
+ \ifstr{\@tempa}{65}{\def\@tempc{bn}}{%
+ \ifstr{\@tempa}{75}{\def\@tempc{xn}}{%
+ \ifstr{\@tempa}{45oblique}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{55oblique}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{65oblique}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{75oblique}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{oblique45}{\def\@tempc{ls}}{%
+ \ifstr{\@tempa}{oblique55}{\def\@tempc{rs}}{%
+ \ifstr{\@tempa}{oblique65}{\def\@tempc{bs}}{%
+ \ifstr{\@tempa}{oblique75}{\def\@tempc{xs}}{%
+ \ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
+ \ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
+ \let\@tempc\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+ }%
+\fi
\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
@@ -1895,22 +2286,45 @@
\tud@cdfont@@trim{-}{}%
\tud@cdfont@@trim{_}{}%
\tud@cdfont@@trim{~}{}%
- \tud@cdfont@@trim{ce}{}%
- \tud@cdfont@@trim{ff}{}%
- \tud@cdfont@@trim{univers}{}%
- \tud@cdfont@@trim{60}{65}%
- \tud@cdfont@@trim{light}{45}%
- \tud@cdfont@@trim{regular}{55}%
- \tud@cdfont@@trim{bold}{65}%
- \tud@cdfont@@trim{black}{75}%
- \tud@cdfont@@trim{4545}{45}%
- \tud@cdfont@@trim{5555}{55}%
- \tud@cdfont@@trim{6565}{65}%
- \tud@cdfont@@trim{7575}{75}%
- \tud@cdfont@@trim{italic}{oblique}%
- \tud@cdfont@@trim{slanted}{oblique}%
+ \tud@cdfont@@trim{opensans}{}%
+ \tud@cdfont@@trim{light}{l}%
+ \tud@cdfont@@trim{regular}{r}%
+ \tud@cdfont@@trim{book}{r}%
+ \tud@cdfont@@trim{semibold}{s}%
+ \tud@cdfont@@trim{demi}{s}%
+ \tud@cdfont@@trim{extrabold}{x}%
+ \tud@cdfont@@trim{black}{x}%
+ \tud@cdfont@@trim{bold}{b}%
+ \tud@cdfont@@trim{italic}{i}%
+ \tud@cdfont@@trim{oblique}{i}%
+ \tud@cdfont@@trim{slanted}{i}%
\let#1\@tempa%
}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@cdfont@trim[2]{%
+ \protected@edef\@tempa{\trim@spaces{#2}}%
+ \tud@lowerstring{\@tempa}{\@tempa}%
+ \tud@cdfont@@trim{ }{}%
+ \tud@cdfont@@trim{-}{}%
+ \tud@cdfont@@trim{_}{}%
+ \tud@cdfont@@trim{~}{}%
+ \tud@cdfont@@trim{ce}{}%
+ \tud@cdfont@@trim{ff}{}%
+ \tud@cdfont@@trim{univers}{}%
+ \tud@cdfont@@trim{60}{65}%
+ \tud@cdfont@@trim{light}{45}%
+ \tud@cdfont@@trim{regular}{55}%
+ \tud@cdfont@@trim{bold}{65}%
+ \tud@cdfont@@trim{black}{75}%
+ \tud@cdfont@@trim{4545}{45}%
+ \tud@cdfont@@trim{5555}{55}%
+ \tud@cdfont@@trim{6565}{65}%
+ \tud@cdfont@@trim{7575}{75}%
+ \tud@cdfont@@trim{italic}{oblique}%
+ \tud@cdfont@@trim{slanted}{oblique}%
+ \let#1\@tempa%
+ }%
+\fi
\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
@@ -1919,232 +2333,905 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\tud@font@greek@loop[1]{%
- \@for\@tempa:={%
- Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
- }\do{#1{\@tempa}}%
-}
-\newcommand*\tud@font@greek@declare[1]{%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@up#1\endcsname}%
- {\noexpand\mathalpha}{operators}{\the\@tempcnta}%
- }\@tempb%
- \edef\@tempb{%
- \noexpand\DeclareMathSymbol{\csname tud@var#1\endcsname}%
- {\noexpand\mathalpha}{letters}{\the\@tempcnta}%
- }\@tempb%
- \csletcs{tud@#1}{tud@up#1}%
- \advance \@tempcnta by 1%
-}
-\@tempcnta=\z@\relax
-\tud@font@greek@loop\tud@font@greek@declare
-\newcommand*\mv@univers{}
-\newcommand*\mv@universbold{}
-\newcommand*\mv@dinbold{}
-\newcommand*\tud@font@math@init{%
- \if@tud@x@fontspec@enabled\if@tud@cdmath%
- \ifboolexpr{bool {@tud@universmath} or bool {@tud@dinboldmath}}{%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \ClassWarningNoLine{\TUD@Class@Name}%
- {%
- It's recommended to load package `fontspec'\MessageBreak%
- with option `no-math', if you want to use the\MessageBreak%
- corporate design fonts in math mode%
- }%
- }%
- }{}%
+\newcommand*\tud@ttfont@set{%
+ \if@tud@ttfont@rb@exist\else\ifnum\tud@ttfont@num=\@ne\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The package `roboto-mono' is missing so the\MessageBreak%
+ typewriter font of package `lmodern' is used%
+ }%
+ \TUDoptions{ttfont=lmodern}%
\fi\fi%
- \if@tud@universmath%
- \DeclareMathVersion{univers}%
- \DeclareMathVersion{universbold}%
- \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}%
- \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
- \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
- \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathrm}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathrm}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathnormal}{univers}{OML}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathnormal}{universbold}{OML}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathbf}{univers}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathbf}{universbold}{OT1}{\tud@univers}{eb}{n}%
- \SetMathAlphabet{\mathsf}{univers}{OT1}{\tud@univers}{l}{n}%
- \SetMathAlphabet{\mathsf}{universbold}{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet{\mathit}{univers}{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet{\mathit}{universbold}{OT1}{\tud@univers}{b}{sl}%
- \SetMathAlphabet{\mathtt}{univers}{OT1}{\tud@univers t}{l}{n}%
- \SetMathAlphabet{\mathtt}{universbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{b}{n}%
- \@ifpackageloaded{amsfonts}{%
- \DeclareFontFamily{U}{\tud@univers a}{}%
- \DeclareFontShape{U}{\tud@univers a}{m}{n}{<->cmbras10}{}%
- \SetSymbolFont{AMSa}{univers}{U}{\tud@univers a}{m}{n}%
- \SetSymbolFont{AMSa}{universbold}{U}{\tud@univers a}{m}{n}%
- \DeclareFontFamily{U}{\tud@univers b}{}%
- \DeclareFontShape{U}{\tud@univers b}{m}{n}{<->cmbrbs10}{}%
- \SetSymbolFont{AMSb}{univers}{U}{\tud@univers b}{m}{n}%
- \SetSymbolFont{AMSb}{universbold}{U}{\tud@univers b}{m}{n}%
- \SetMathAlphabet{\mathfrak}{univers}{U}{euf}{m}{n}%
- \SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
- }{}%
+ \ifcase\tud@ttfont@num\relax% false
+ \let\tud@ttfont@fam\ttdefault%
+ \or% roboto
+ \let\tud@ttfont@fam\tud@ttfont@rb%
+ \or% lmodern
+ \let\tud@ttfont@fam\tud@ttfont@lm%
+ \fi%
+ \ifcase\tud@ttfont@num\relax\else% !false
+ \if@tud@x@fontspec@enabled%
+ \ifx\ttdefault\tud@ttfont@fam\else%
+ \tud@x@fontspec@set{tt}{\tud@ttfont@fam}%
+ \fi%
+ \else%
+ \renewcommand*\ttdefault{\tud@ttfont@fam}%
+ \fi%
\fi%
- \if@tud@dinboldmath%
- \DeclareMathVersion{dinbold}%
- \SetSymbolFont{operators}{dinbold}{OT1}{\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{\mathrm}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathnormal}{dinbold}{OML}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathbf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathsf}{dinbold}{OT1}{\tud@dinbold}{b}{n}%
- \SetMathAlphabet{\mathit}{dinbold}{OT1}{\tud@dinbold}{b}{sl}%
- \SetMathAlphabet{\mathtt}{dinbold}{OT1}{\tud@univers t}{b}{n}%
- \SetMathAlphabet{\mathcal}{dinbold}{OMS}{lmsy}{b}{n}%
- \fi%
- \@ifpackageloaded{unicode-math}{%
- \let\tud@font@math@set\relax%
- \bool@set@lock{@tud@cdmath}{false}%
- }{%
- \tud@font@greek@check@slanted%
- \tud@font@greek@loop\tud@font@greek@init%
- \tud@font@math@set%
- }%
- \sbox\z@{\tud@dinbn$ $}%
+ \tud@ttfont@@set%
}
-\newcommand*\tud@font@greek@check@slanted{%
- \let\@tempb\relax%
- \let\@tempc\relax%
- \DeclareMathSymbol{\@tempb}{\mathalpha}{letters}{0}%
- \DeclareMathSymbol{\@tempc}{\mathord}{letters}{0}%
- \@tempswafalse%
- \ifnum\Gamma=\@tempb\relax\@tempswatrue\fi%
- \ifnum\Gamma=\@tempc\relax\@tempswatrue\fi%
- \if@tempswa%
- \bool@std@lock{@tud@slantedgreek}{true}%
+\newcommand*\tud@ttfont@md{}
+\newcommand*\tud@ttfont@bf{}
+\newcommand*\tud@ttfont@ebf{}
+\newcommand*\tud@ttfont@@set{%
+ \ifcase\tud@ttfont@num\relax%
+ \ifundef{\mdseries@tt}{%
+ \edef\tud@ttfont@md{\tud@cs@use{mddefault}}%
+ }{%
+ \edef\tud@ttfont@md{\mdseries@tt}%
+ }%
+ \ifundef{\bfseries@tt}{%
+ \edef\tud@ttfont@bf{\tud@cs@use{bfdefault}}%
+ }{%
+ \edef\tud@ttfont@bf{\bfseries@tt}%
+ }%
+ \edef\tud@ttfont@ebf{\tud@ttfont@bf}%
+ \or% roboto
+ \renewcommand*\tud@ttfont@md{\tud@cdfont@md}%
+ \renewcommand*\tud@ttfont@bf{\tud@cdfont@bf}%
+ \renewcommand*\tud@ttfont@ebf{\tud@cdfont@ebf}%
+ \else% lmodern
+ \if@tud@cdfont@heavy%
+ \renewcommand*\tud@ttfont@md{m}%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@md{l}%
+ \if@tud@cdfont@ultrabold%
+ \renewcommand*\tud@ttfont@bf{b}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \else%
+ \renewcommand*\tud@ttfont@bf{m}%
+ \renewcommand*\tud@ttfont@ebf{b}%
+ \fi%
+ \fi%
\fi%
- \let\tud@font@greek@check@slanted\relax%
}
-\BeforePackage{flexisym}{\tud@font@greek@check@slanted}
-\newcommand*\tud@font@greek@init[1]{%
- \ifcsundef{up#1}{%
- \if@tempswa%
- \csletcs{up#1}{tud@up#1}%
+\newcommand*\tud@ttfont@init{%
+ \newcommand*\tud@ttfont@rb@scale{0.9}%
+ \if@tud@x@fontspec@enabled%
+ \if@tud@ttfont@rb@exist%
+ \tud@x@fontspec@init{\tud@ttfont@rb}{%
+ Scale={\tud@ttfont@rb@scale},%
+ UprightFont={RobotoMono-Regular},%
+ FontFace={l}{n}{RobotoMono-Light},%
+ FontFace={m}{n}{RobotoMono-Regular},%
+ FontFace={sb}{n}{RobotoMono-Medium},%
+ FontFace={b}{n}{RobotoMono-Bold},%
+ FontFace={bx}{n}{RobotoMono-Bold},%
+ FontFace={eb}{n}{RobotoMono-Bold},%
+ FontFace={l}{it}{RobotoMono-LightItalic},%
+ FontFace={m}{it}{RobotoMono-Italic},%
+ FontFace={sb}{it}{RobotoMono-MediumItalic},%
+ FontFace={b}{it}{RobotoMono-BoldItalic},%
+ FontFace={bx}{it}{RobotoMono-BoldItalic},%
+ FontFace={eb}{it}{RobotoMono-BoldItalic}%
+ }%
+ \fi%
+ \ifx\ttdefault\tud@ttfont@lm\else%
+ \tud@x@fontspec@init{\tud@ttfont@lm}{%
+ UprightFont={LMMono10-Regular},%
+ FontFace={l}{n}{LMMonoLt10-Regular},%
+ FontFace={m}{n}{LMMono10-Regular},%
+ FontFace={b}{n}{LMMonoLt10-Bold},%
+ FontFace={bx}{n}{LMMonoLt10-Bold},%
+ FontFace={l}{it}{LMMonoLt10-Oblique},%
+ FontFace={m}{it}{LMMonoSlant10-Regular},%
+ FontFace={b}{it}{LMMonoLt10-BoldOblique},%
+ FontFace={bx}{it}{LMMonoLt10-BoldOblique}%
+ }%
+ \fi%
+ \else%
+ \if@tud@ttfont@rb@exist%
+ \edef\tud@ttfont@rb@scale{s*[\tud@ttfont@rb@scale]}%
+ \begingroup%
+ \def\tud@res@c##1##2{%
+ \tud@lowerstring\tud@res@a{##1}%
+ \DeclareFontFamily{##1}{\tud@ttfont@rb}{\hyphenchar\font=\m@ne}%
+ \def\tud@res@b####1####2####3{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{n}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{it}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sl}{%
+ <->ssub*\tud@ttfont@rb/####1/it%
+ }{}%
+ \ifbool{##2}{%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{sc}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####2-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scit}{%
+ <->\tud@ttfont@rb@scale RobotoMono-####3-tlf-sc-\tud@res@a%
+ }{}%
+ \DeclareFontShape{##1}{\tud@ttfont@rb}{####1}{scsl}{%
+ <->ssub*\tud@ttfont@rb/####1/scit%
+ }{}%
+ }{}%
+ }%
+ \tud@res@b{l}{Light}{LightItalic}%
+ \tud@res@b{m}{Regular}{Italic}%
+ \tud@res@b{sb}{Medium}{MediumItalic}%
+ \tud@res@b{b}{Bold}{BoldItalic}%
+ \tud@res@b{bx}{Bold}{BoldItalic}%
+ }%
+ \tud@res@c{OT1}{true}%
+ \tud@res@c{T1}{true}%
+ \ifcsundef{T@LY1}{}{\tud@res@c{LY1}{true}}%
+ \ifcsundef{T@TS1}{}{\tud@res@c{TS1}{false}}%
+ \endgroup%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@if@issymbolfont[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname sym#1\endcsname%
+ {\expandonce\group@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{up#1}{#1}%
+ \aftergroup\@secondoftwo%
\fi%
- }{}%
- \ifcsundef{var#1}{%
- \if@tempswa%
- \csletcs{var#1}{#1}%
+ \endgroup%
+}
+\@onlypreamble\tud@if@issymbolfont
+\newcommand*\tud@if@ismathalphabet[1]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \noexpand\in@\expandafter\noexpand%
+ \csname\expandafter\@gobble\string#1\space\endcsname%
+ {\expandonce\alpha@list}%
+ }%
+ \tud@res@a%
+ \ifin@%
+ \aftergroup\@firstoftwo%
\else%
- \csletcs{var#1}{tud@var#1}%
+ \aftergroup\@secondoftwo%
\fi%
+ \endgroup%
+}
+\@onlypreamble\tud@if@ismathalphabet
+\newcommand*\tud@math@loop@greeks@all[1]{%
+ \tud@math@loop@greeks@uc{#1}%
+ \tud@math@loop@greeks@lc{#1}%
+}
+\newcommand*\tud@math@loop@greeks@uc[1]{%
+ \@for\@tempa:={%
+ Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@loop@greeks@lc[1]{%
+ \@for\@tempa:={%
+ alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,%
+ mu,nu,xi,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,%
+ varepsilon,vartheta,varpi,varrho,varsigma,varphi%
+ }\do{\expandafter#1\expandafter{\@tempa}}%
+}
+\newcommand*\tud@math@declare@lgrgreeks[5]{%
+ \ifundef{\T@LGR}{\DeclareFontEncoding{LGR}{}{}}{}%
+ \tud@if@issymbolfont{tudupgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#4}%
+ }{%
+ \DeclareSymbolFont{tudupgrk}{LGR}{#1}{#2}{#4}%
+ }%
+ \SetSymbolFont{tudupgrk}{bold}{LGR}{#1}{#3}{#4}%
+ \tud@if@issymbolfont{tuditgrk}{%
+ \SetSymbolFont{tudupgrk}{normal}{LGR}{#1}{#2}{#5}%
+ }{%
+ \DeclareSymbolFont{tuditgrk}{LGR}{#1}{#2}{#5}%
+ }%
+ \SetSymbolFont{tuditgrk}{bold}{LGR}{#1}{#3}{#5}%
+}
+\newcommand*\tud@math@map@greeks{%
+ \tud@math@loop@greeks@all\tud@math@map@@greeks%
+ \tud@math@loop@greeks@uc\tud@math@map@@@greeks%
+ \tud@math@supplement@greeks%
+}
+\newcommand*\tud@math@map@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{\csedef{it#1}{\csname\tud@res@a\endcsname}}%
+ }%
+ }{}%
+ \ifcsundef{up#1}{%
+ \ifcsundef{#1up}{}{\csedef{up#1}{\csname#1up\endcsname}}%
+ }{}%
+ \ifcsundef{other#1}{%
+ \ifcsundef{#1other}{}{\csedef{other#1}{\csname#1other\endcsname}}%
}{}%
}
-\newcommand*\tud@font@math@set{%
- \if@atdocument%
- \if@tud@cdmath%
- \if@tud@universmath\else%
- \tud@font@math@missing@wrn{Univers}%
+\newcommand*\tud@math@map@@@greeks[1]{%
+ \ifcsundef{it#1}{%
+ \ifcsundef{var#1}{}{\csedef{it#1}{\csname var#1\endcsname}}%
+ }{}%
+ \ifcsundef{up#1}{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{\csedef{up#1}{\csname\tud@res@a\endcsname}}%
+ }{}%
+}
+\newcommand*\tud@math@supplement@greeks{%
+ \begingroup%
+ \newcommand*\tud@math@operators@enc{}%
+ \newcommand*\tud@math@operators@fam{}%
+ \newcommand*\tud@math@letters@enc{}%
+ \newcommand*\tud@math@letters@fam{}%
+ \def\getanddefine@fonts##1##2{%
+ \ifx\symoperators##1%
+ \expandafter\tud@res@a\string##2\@nil%
+ \else\ifx\symletters##1%
+ \expandafter\tud@res@b\string##2\@nil%
+ \fi\fi%
+ }%
+ \def\tud@res@a##1##2/##3/##4\@nil{%
+ \def\tud@math@operators@enc{##2}%
+ \def\tud@math@operators@fam{##3}%
+ }%
+ \def\tud@res@b##1##2/##3/##4\@nil{%
+ \def\tud@math@letters@enc{##2}%
+ \def\tud@math@letters@fam{##3}%
+ }%
+ \tud@cs@use{mv@normal}%
+ \let\tud@res@c\@empty%
+ \ifstr{\tud@math@letters@enc}{\detokenize{OML}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{letters}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@all\tud@res@a%
+ }{}%
+ \ifstr{\tud@math@operators@enc}{\detokenize{OT1}}{%
+ \def\tud@res@a##1{%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{operators}{\the\tud@res@cnt}%
+ }%
+ }{}%
+ \advance\tud@res@cnt\@ne\relax%
+ }%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@res@a%
+ }{}%
+ \let\tud@res@a\@empty%
+ \if@tud@lgrgreeks%
+ \IfFileExists{lgr\tud@cs@use{familydefault}.fd}{%
+ \def\tud@res@a{\tud@cs@use{familydefault}}%
+ }{%
+ \IfFileExists{lgr\tud@math@letters@fam.fd}{%
+ \let\tud@res@a\tud@math@letters@fam%
+ }{%
+ \IfFileExists{lgr\tud@math@operators@fam.fd}{%
+ \let\tud@res@a\tud@math@operators@fam%
+ }{}%
+ }%
+ }%
+ \fi%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@c%
+ \edef\noexpand\tud@res@a{\tud@res@a}%
+ }%
+ \tud@res@a%
+ \ifx\tud@res@a\@empty\else%
+ \tud@math@declare@lgrgreeks{\tud@res@a}%
+ {\tud@cs@use{mddefault}}{\tud@cs@use{bfdefault}}%
+ {\tud@cs@use{updefault}}{\tud@cs@use{itdefault}}%
+ \let\tud@res@c\@empty%
+ \def\tud@res@b##1##2{%
+ \ifcsundef{it##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname it##1\endcsname}%
+ {\noexpand\mathalpha}{tuditgrk}{##2}%
+ }%
+ }{}%
+ \ifcsundef{up##1}{%
+ \eappto\tud@res@c{%
+ \noexpand\DeclareMathSymbol{\csname up##1\endcsname}%
+ {\noexpand\mathalpha}{tudupgrk}{##2}%
+ }%
+ }{}%
+ }%
+ \tud@res@b{Gamma}{71}%
+ \tud@res@b{Delta}{68}%
+ \tud@res@b{Theta}{74}%
+ \tud@res@b{Lambda}{76}%
+ \tud@res@b{Xi}{88}%
+ \tud@res@b{Pi}{80}%
+ \tud@res@b{Sigma}{83}%
+ \tud@res@b{Upsilon}{85}%
+ \tud@res@b{Phi}{70}%
+ \tud@res@b{Psi}{89}%
+ \tud@res@b{Omega}{87}%
+ \tud@res@b{alpha}{97}%
+ \tud@res@b{beta}{98}%
+ \tud@res@b{gamma}{103}%
+ \tud@res@b{delta}{100}%
+ \tud@res@b{epsilon}{101}%
+ \tud@res@b{zeta}{122}%
+ \tud@res@b{eta}{104}%
+ \tud@res@b{theta}{106}%
+ \tud@res@b{iota}{105}%
+ \tud@res@b{kappa}{107}%
+ \tud@res@b{lambda}{108}%
+ \tud@res@b{mu}{109}%
+ \tud@res@b{nu}{110}%
+ \tud@res@b{xi}{120}%
+ \tud@res@b{pi}{112}%
+ \tud@res@b{rho}{114}%
+ \tud@res@b{sigma}{115}%
+ \tud@res@b{tau}{116}%
+ \tud@res@b{upsilon}{117}%
+ \tud@res@b{phi}{102}%
+ \tud@res@b{chi}{113}%
+ \tud@res@b{psi}{121}%
+ \tud@res@b{omega}{119}%
+ \tud@res@c%
+ \fi%
+}
+\newcommand*\tud@math@checkslanted@greeks{%
+ \begingroup%
+ \def\tud@res@c{%
+ \tud@if@v@lower{2.06}{%
+ \TUD@key@preset{slantedgreek}{standard}%
+ }{%
+ \TUD@key@preset{slantedgreek}{true}%
+ }%
+ }%
+ \@tud@res@swafalse%
+ \ifcsdef{upalpha}{%
+ \ifx\upalpha\alpha%
+ \@tud@res@swatrue%
\fi%
- \if@tud@dinboldmath\else%
- \tud@font@math@missing@wrn{DIN-Bold}%
+ }{}%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{false}}%
+ \else%
+ \ifcsdef{itGamma}{%
+ \ifx\itGamma\Gamma%
+ \@tud@res@swatrue%
+ \fi%
+ }{%
+ \let\tud@res@a\relax%
+ \let\tud@res@b\relax%
+ \DeclareMathSymbol{\tud@res@a}{\mathalpha}{letters}{0}%
+ \DeclareMathSymbol{\tud@res@b}{\mathord}{letters}{0}%
+ \ifx\Gamma\tud@res@a\relax\@tud@res@swatrue\fi%
+ \ifx\Gamma\tud@res@b\relax\@tud@res@swatrue\fi%
+ }%
+ \if@tud@res@swa%
+ \def\tud@res@c{\TUD@key@preset{slantedgreek}{true}}%
\fi%
- \ifboolexpr{bool {@tud@universmath} and bool {@tud@dinboldmath}}{}{%
- \bool@set@lock{@tud@cdmath}{false}%
+ \fi%
+ \edef\tud@res@c{\endgroup\expandonce\tud@res@c}%
+ \tud@res@c%
+}
+\newcommand*\mv@tudnormal{}
+\newcommand*\mv@tudbold{}
+\newcommand*\mv@tuddin{}
+\AfterPackage*{mathastext}{%
+ \CheckCommand*\MTversion{\@ifstar\MTversion@s\MTversion@}%
+ \CheckCommand*\MTversion@s[1]{\mathversion{#1}\MTversion@@{#1}}%
+ \newrobustcmd*\tud@mathversion[1]{%
+ \tud@cs@use{mathversion}{#1}%
+ \if@tud@cdmath@active%
+ \ifstr{#1}{normal}{%
+ \MTversion@@{tudnormal}%
+ }{%
+ \ifstr{#1}{bold}{%
+ \MTversion@@{tudbold}%
+ }{}%
}%
\fi%
- \fi%
- \if@tud@universmath%
- \if@tud@cdmath%
- \tud@cmd@store{mv@normal}%
- \tud@cmd@store{mv@bold}%
- \let\mv@normal\mv@univers%
- \let\mv@bold\mv@universbold%
- \tud@font@greek@loop\tud@font@greek@set%
+ }%
+ \AtEndPreamble{%
+ \tud@cs@store{mathversion}%
+ \tud@cs@letltx{mathversion}{tud@mathversion}%
+ }%
+}
+\newcommand*\tud@cdmath@init{%
+ \if@tud@cdfont@fam@exist%
+ \if@tud@cdoldfont@active\else%
+ \if@tud@cdmath@active%
+ \def\tud@res@a##1{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You should not load package `##1'\MessageBreak%
+ manually when option `cdmath=true' is active as\MessageBreak%
+ TUD-Script uses package `mathastext' internally\MessageBreak%
+ with a specific set of required options for the\MessageBreak%
+ math font setup%
+ }%
+ }%
+ \@ifpackageloaded{sansmath}{%
+ \tud@res@a{sansmath}%
+ }{}%
+ \@ifpackageloaded{mathastext}{%
+ \tud@res@a{mathastext}%
+ }{}%
+ \fi%
+ \PassOptionsToPackage{%
+ subdued,defaultmathsizes,nosmalldelims,%
+ defaultrm,defaultbf,defaultit,defaultsf,defaulttt,%
+ noequal,nohbar%
+ }{mathastext}%
+ \RequirePackage{mathastext}[2018/08/22]%
+ \tud@math@declare@lgrgreeks{cmr}{m}{bx}{n}{it}%
+ \fi%
+ \providecommand*\MTDeclareVersion[6][]{\DeclareMathVersion{##2}}%
+ \providecommand*\MTversion@@[1]{}%
+ \tud@cdmath@@init{\tud@cdfont@fam@lf}{\tud@ttfont@fam}%
+ \if@tud@cdoldfont@active%
+ \tud@res@cnt=\z@\relax%
+ \tud@math@loop@greeks@uc\tud@cdmath@declare@greek@uc%
+ \tud@math@loop@greeks@lc\tud@cdmath@declare@greek@lc%
\else%
- \tud@cmd@restore{mv@normal}%
- \tud@cmd@restore{mv@bold}%
- \tud@font@greek@loop\tud@font@greek@reset%
+ \tud@cdmath@declare@greek@lgr%
\fi%
+ \tud@cdmath@declare@char{*}{\mathbin}{symbols}{"03}%
+ \tud@cdmath@also@greeks%
+ \else%
+ \let\mv@tudnormal\mv@normal%
+ \let\mv@tudbold\mv@bold%
+ \if@tud@cdoldfont@active%
+ \let\mv@tuddin\mv@bold%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@cdmath@@init[2]{%
+ \tud@cdfont@@set%
+ \tud@ttfont@@set%
+ \if@tud@cdoldfont@active%
+ \DeclareMathVersion{tudnormal}%
+ \DeclareMathVersion{tudbold}%
+ \DeclareMathVersion{tuddin}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetSymbolFont{letters}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetSymbolFont{letters}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{symbols}{tuddin}{OMS}{\tud@cdfont@db}{b}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tuddin}{OMX}{iwona}{ebc}{n}%
+ \SetMathAlphabet{\mathnormal}{tudnormal}{OML}{#1}{\tud@cdfont@md}{sl}%
+ \SetMathAlphabet{\mathnormal}{tudbold}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathnormal}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{OML}{#1}{\tud@cdfont@bf}{sl}%
+ \SetMathAlphabet{\mathbold}{tudbold}{OML}{#1}{\tud@cdfont@ebf}{sl}%
+ \SetMathAlphabet{\mathbold}{tuddin}{OML}{\tud@cdfont@db}{b}{sl}%
+ }{}%
+ \else%
+ \MTDeclareVersion[it]{tudnormal}{T1}{#1}{\tud@cdfont@md}{n}%
+ \MTDeclareVersion[it]{tudbold}{T1}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{operators}{tudnormal}{OT1}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{operators}{tudbold}{OT1}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{letters}{tudnormal}{OML}{iwona}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{letters}{tudbold}{OML}{iwona}{\tud@cdfont@bf}{it}%
+ \SetSymbolFont{symbols}{tudnormal}{OMS}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{symbols}{tudbold}{OMS}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{largesymbols}{tudnormal}{OMX}{iwona}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{largesymbols}{tudbold}{OMX}{iwona}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tudupgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{tuditgrk}{tudnormal}{LGR}{#1}{\tud@cdfont@md}{it}%
+ \SetSymbolFont{tudupgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{n}%
+ \SetSymbolFont{tuditgrk}{tudbold}{LGR}{#1}{\tud@cdfont@bf}{it}%
+ \tud@if@ismathalphabet{\mathbold}{%
+ \SetMathAlphabet{\mathbold}{tudnormal}{T1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathbold}{tudbold}{T1}{#1}{\tud@cdfont@ebf}{it}%
+ }{}%
\fi%
- \if@tud@slantedgreek%
- \tud@font@greek@loop\tud@font@greek@slanted%
+ \SetMathAlphabet{\mathrm}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathrm}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudnormal}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathbf}{tudbold}{OT1}{#1}{\tud@cdfont@ebf}{n}%
+ \SetMathAlphabet{\mathsf}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetMathAlphabet{\mathsf}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \SetMathAlphabet{\mathit}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{it}%
+ \SetMathAlphabet{\mathit}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{it}%
+ \SetMathAlphabet{\mathtt}{tudnormal}{OT1}{#2}{\tud@ttfont@md}{n}%
+ \SetMathAlphabet{\mathtt}{tudbold}{OT1}{#2}{\tud@ttfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathrm}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathbf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathsf}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \SetMathAlphabet{\mathit}{tuddin}{OT1}{\tud@cdfont@db}{b}{sl}%
+ \SetMathAlphabet{\mathtt}{tuddin}{OT1}{#2}{\tud@ttfont@ebf}{n}%
+ \fi%
+ \IfFileExists{ueus.fd}{%
+ \SetMathAlphabet{\mathcal}{tudnormal}{U}{eus}{m}{n}%
+ \SetMathAlphabet{\mathcal}{tudbold}{U}{eus}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathcal}{tuddin}{U}{eus}{b}{n}%
+ \fi%
+ }{}%
+ \tud@if@ismathalphabet{\mathfrak}{%
+ \IfFileExists{ueuf.fd}{%
+ \SetMathAlphabet{\mathfrak}{tudnormal}{U}{euf}{m}{n}%
+ \SetMathAlphabet{\mathfrak}{tudbold}{U}{euf}{b}{n}%
+ \if@tud@cdoldfont@active%
+ \SetMathAlphabet{\mathfrak}{tuddin}{U}{euf}{b}{n}%
+ \fi%
+ }{}%
+ }{}%
+ \AtBeginDocument{%
+ \@tud@res@swafalse%
+ \tud@if@issymbolfont{AMSa}{\@tud@res@swatrue}{}%
+ \tud@if@issymbolfont{AMSb}{\@tud@res@swatrue}{}%
+ \if@tud@res@swa%
+ \if@tud@cdoldfont@active%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf a}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf a}{m}{n}{<->cmbras10}{}%
+ \SetSymbolFont{AMSa}{tudnormal}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \SetSymbolFont{AMSa}{tudbold}{U}{\tud@cdfont@fam@lf a}{m}{n}%
+ \DeclareFontFamily{U}{\tud@cdfont@fam@lf b}{}%
+ \DeclareFontShape{U}{\tud@cdfont@fam@lf b}{m}{n}{<->cmbrbs10}{}%
+ \SetSymbolFont{AMSb}{tudnormal}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \SetSymbolFont{AMSb}{tudbold}{U}{\tud@cdfont@fam@lf b}{m}{n}%
+ \else%
+ \@ifpackageloaded{mdsymbol}{}{%
+ \appto\tud@cdmath@wrn{%
+ \ClassInfoNoLine{\TUD@Class@Name}%
+ {%
+ You may load package `mdsymbol' in order to\MessageBreak%
+ get symbols matching the used math font%
+ }%
+ }%
+ }%
+ \fi%
+ \fi%
+ \tud@if@issymbolfont{legacymaths}{%
+ \SetSymbolFont{legacymaths}{tudnormal}{OT1}{#1}{\tud@cdfont@md}{n}%
+ \SetSymbolFont{legacymaths}{tudbold}{OT1}{#1}{\tud@cdfont@bf}{n}%
+ \if@tud@cdoldfont@active%
+ \SetSymbolFont{legacymaths}{tuddin}{OT1}{\tud@cdfont@db}{b}{n}%
+ \fi%
+ }{}%
+ \if@tud@cdoldfont@active%
+ \if@tud@cdmath@active%
+ \sbox\z@{\mathversion{tudnormal}$ $\mathversion{tuddin}$ $}%
+ \fi%
+ \fi%
+ }%
+}
+\newcommand*\tud@cdmath@symb@list{}
+\newcommand*\tud@cdmath@declare@symb[4]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@cdmath@declare@alias[2]{%
+ \listeadd\tud@cdmath@symb@list{#1}%
+ \ifcsdef{tud@cdmath@symbol@#2}{%
+ \csedef{tud@cdmath@symbol@#1}{\csname tud@cdmath@symbol@#2\endcsname}%
+ }{}%
+}
+\newcommand*\tud@cdmath@char@list{}
+\newcommand*\tud@cdmath@declare@char[4]{%
+ \listeadd\tud@cdmath@char@list{#1}%
+ \tud@DeclareMathSymbol{#1}{#2}{#3}{#4}%
+}
+\newcommand*\tud@DeclareMathSymbol[4]{%
+ \begingroup%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\DeclareMathSymbol%
+ {\csname tud@cdmath@symbol@#1\endcsname}%
+ {\etex@unexpanded{#2}}{#3}{#4}%
+ }%
+ \tud@res@a%
+}
+\newtoks\tud@cdmath@symbols@toks
+\newcommand*\tud@cdmath@symbols@set{%
+ \expandafter\IfArgIsEmpty\expandafter{\the\tud@cdmath@symbols@toks}{%
+ \forlistloop\tud@cdmath@symbols@set@cmd\tud@cdmath@symb@list%
+ \forlistloop\tud@cdmath@symbols@set@chr\tud@cdmath@char@list%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cdmath@symbols@toks{}}%
+ }{}%
+}
+\newcommand*\tud@cdmath@symbols@set@cmd[1]{%
+ \ifcsdef{#1}{%
+ \tud@cs@store{#1}%
+ \addto@hook\tud@cdmath@symbols@toks{\tud@cs@restore{#1}}%
+ }{%
+ \addto@hook\tud@cdmath@symbols@toks{\csundef{#1}}%
+ }%
+ \ifcsdef{tud@cdmath@symbol@#1}{%
+ \tud@cs@letltx{#1}{tud@cdmath@symbol@#1}%
+ }{%
+ \csundef{#1}%
+ }%
+}
+\newcommand*\tud@cdmath@symbols@set@chr[1]{%
+ \edef\tud@res@a{\global\mathcode`#1=\the\mathcode`#1\relax}%
+ \eaddto@hook\tud@cdmath@symbols@toks{\tud@res@a}%
+ \begingroup%
+ \edef\tud@res@a{\expandafter\meaning\csname tud@cdmath@symbol@#1\endcsname}%
+ \def\tud@res@b##1"##2\@nil{"##2}%
+ \edef\tud@res@c{\expandafter\tud@res@b\tud@res@a\@nil}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \global\mathcode`#1=\tud@res@c%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cdmath@symbols@reset{\the\tud@cdmath@symbols@toks}
+\newcommand*\tud@cdmath@declare@greek@uc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{operators}{\the\tud@res@cnt}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lc[1]{%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{letters}{\the\tud@res@cnt}%
+ \listeadd\tud@cdmath@symb@list{up#1}%
+ \advance\tud@res@cnt\@ne\relax%
+}
+\newcommand*\tud@cdmath@declare@greek@lgr{%
+ \tud@cdmath@declare@greek@@lgr{Gamma}{71}%
+ \tud@cdmath@declare@greek@@lgr{Delta}{68}%
+ \tud@cdmath@declare@greek@@lgr{Theta}{74}%
+ \tud@cdmath@declare@greek@@lgr{Lambda}{76}%
+ \tud@cdmath@declare@greek@@lgr{Xi}{88}%
+ \tud@cdmath@declare@greek@@lgr{Pi}{80}%
+ \tud@cdmath@declare@greek@@lgr{Sigma}{83}%
+ \tud@cdmath@declare@greek@@lgr{Upsilon}{85}%
+ \tud@cdmath@declare@greek@@lgr{Phi}{70}%
+ \tud@cdmath@declare@greek@@lgr{Psi}{89}%
+ \tud@cdmath@declare@greek@@lgr{Omega}{87}%
+ \tud@cdmath@declare@greek@@lgr{alpha}{97}%
+ \tud@cdmath@declare@greek@@lgr{beta}{98}%
+ \tud@cdmath@declare@greek@@lgr{gamma}{103}%
+ \tud@cdmath@declare@greek@@lgr{delta}{100}%
+ \tud@cdmath@declare@greek@@lgr{epsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{zeta}{122}%
+ \tud@cdmath@declare@greek@@lgr{eta}{104}%
+ \tud@cdmath@declare@greek@@lgr{theta}{106}%
+ \tud@cdmath@declare@greek@@lgr{iota}{105}%
+ \tud@cdmath@declare@greek@@lgr{kappa}{107}%
+ \tud@cdmath@declare@greek@@lgr{lambda}{108}%
+ \tud@cdmath@declare@greek@@lgr{mu}{109}%
+ \tud@cdmath@declare@greek@@lgr{nu}{110}%
+ \tud@cdmath@declare@greek@@lgr{xi}{120}%
+ \tud@cdmath@declare@greek@@lgr{pi}{112}%
+ \tud@cdmath@declare@greek@@lgr{rho}{114}%
+ \tud@cdmath@declare@greek@@lgr{sigma}{115}%
+ \tud@cdmath@declare@greek@@lgr{tau}{116}%
+ \tud@cdmath@declare@greek@@lgr{upsilon}{117}%
+ \tud@cdmath@declare@greek@@lgr{phi}{102}%
+ \tud@cdmath@declare@greek@@lgr{chi}{113}%
+ \tud@cdmath@declare@greek@@lgr{psi}{121}%
+ \tud@cdmath@declare@greek@@lgr{omega}{119}%
+ \tud@cdmath@declare@greek@@lgr{varepsilon}{101}%
+ \tud@cdmath@declare@greek@@lgr{vartheta}{106}%
+ \tud@cdmath@declare@greek@@lgr{varpi}{119}%
+ \tud@cdmath@declare@greek@@lgr{varrho}{114}%
+ \tud@cdmath@declare@greek@@lgr{varsigma}{99}%
+ \tud@cdmath@declare@greek@@lgr{varphi}{102}%
+}
+\newcommand*\tud@cdmath@declare@greek@@lgr[2]{%
+ \tud@cdmath@declare@symb{up#1}{\mathalpha}{tudupgrk}{#2}%
+ \tud@cdmath@declare@symb{it#1}{\mathalpha}{tuditgrk}{#2}%
+}
+\newcommand*\tud@cdmath@also@greeks{%
+ \tud@math@loop@greeks@all\tud@cdmath@also@@greeks%
+ \tud@math@loop@greeks@uc\tud@cdmath@also@@@greeks%
+}
+\newcommand*\tud@cdmath@also@@greeks[1]{%
+ \tud@cdmath@declare@alias{#1}{it#1}%
+ \tud@cdmath@declare@alias{other#1}{up#1}%
+ \ifcsundef{#1up}{}{%
+ \tud@cdmath@declare@alias{#1up}{up#1}%
+ }%
+ \@for\tud@res@a:={#1sl,sl#1,#1it}\do{%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{it#1}%
+ }%
+ }%
+ \ifcsundef{#1other}{}{%
+ \tud@cdmath@declare@alias{#1other}{other#1}%
+ }%
+}
+\newcommand*\tud@cdmath@also@@@greeks[1]{%
+ \tud@lowerstring\tud@res@a{#1}%
+ \edef\tud@res@a{Up\tud@res@a}%
+ \ifcsundef{\tud@res@a}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{\tud@res@a}{up#1}%
+ }%
+ \ifcsundef{var#1}{}{%
+ \expandafter\tud@cdmath@declare@alias\expandafter{var#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@set{%
+ \if@tud@cdmath@active%
+ \tud@cdmath@wrn%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \tud@cdmath@symbols@set%
+ \ifcase\tud@slantedgreek@num\relax% upright
+ \tud@math@loop@greeks@all\tud@math@upright@greeks%
+ \or% slanted
+ \tud@math@loop@greeks@all\tud@math@slanted@greeks%
+ \or% standard
+ \tud@math@loop@greeks@uc\tud@math@upright@greeks%
+ \tud@math@loop@greeks@lc\tud@math@slanted@greeks%
+ \fi%
\else%
- \tud@font@greek@loop\tud@font@greek@upright%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \tud@cdmath@symbols@reset%
\fi%
\mathversion{normal}%
}
-\newcommand*\tud@font@greek@set[1]{%
- \tud@cmd@store{#1}%
- \tud@cmd@store{up#1}%
- \tud@cmd@store{var#1}%
- \csletcs{#1}{tud@#1}%
- \csletcs{up#1}{tud@up#1}%
- \csletcs{var#1}{tud@var#1}%
-}
-\newcommand*\tud@font@greek@reset[1]{%
- \tud@cmd@restore{#1}%
- \tud@cmd@restore{up#1}%
- \tud@cmd@restore{var#1}%
-}
-\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
-\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
+\newcommand*\tud@math@upright@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{up#1}%
+ \csletcs{other#1}{it#1}%
+ }%
+}
+\newcommand*\tud@math@slanted@greeks[1]{%
+ \ifcsundef{up#1}{}{%
+ \csletcs{#1}{it#1}%
+ \csletcs{other#1}{up#1}%
+ }%
+}
\AtEndPreamble{%
\if@tud@x@mweights@enabled%
\ifundef{\bfseries@rm}{\edef\bfseries@rm{\bfdefault}}{}%
- \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
- \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@rm}{\edef\mdseries@rm{\mddefault}}{}%
+ \ifundef{\bfseries@sf}{\edef\bfseries@sf{\bfdefault}}{}%
\ifundef{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\bfseries@tt}{\edef\bfseries@tt{\bfdefault}}{}%
\ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
- \tud@font@check%
- \tud@font@init%
+ \tud@cdfont@check%
+ \tud@cdfont@init%
+ \tud@ttfont@init%
+ \tud@cdmath@init%
+ \if@tud@x@bm@requested%
+ \UnPreventPackageFromLoading{bm}%
+ \if@tud@cdmath@active%
+ \tud@cs@store{mv@normal}%
+ \tud@cs@store{mv@bold}%
+ \let\mv@normal\mv@tudnormal%
+ \let\mv@bold\mv@tudbold%
+ \fi%
+ \RequirePackage{bm}[2017/01/16]%
+ \tud@cs@restore{mv@normal}%
+ \tud@cs@restore{mv@bold}%
+ \fi%
\if@tud@x@siunitx@enabled%
- \ifcase\tud@cdfont@num\relax% false
+ \if@tud@cdfont@active%
+ \if@tud@cdfont@heavy%
+ \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
+ \else%
+ \def\tud@reserved{\TUDoptions{cdfont=true}}%
+ \fi%
+ \else%
\def\tud@reserved{\TUDoptions{cdfont=false}}%
- \or% true
- \def\tud@reserved{\TUDoptions{cdfont=true}}%
- \or% heavy
- \def\tud@reserved{\TUDoptions{cdfont=heavy}}%
\fi%
- \expandafter\AtBeginDocument\expandafter{\tud@reserved}%
+ \expandafter\AfterEndPreamble\expandafter{\tud@reserved}%
\TUDoptions{cdfont=false}%
\fi%
\tud@font@set%
- \if@tud@x@bm@requested%
- \tud@font@math@init%
- \UnPreventPackageFromLoading{bm}%
- \RequirePackage{bm}[2017/01/16]%
- \fi%
- \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}%
-}
-\newrobustcmd*\ifdin{%
- \ifx\f@family\tud@dinbold%
- \expandafter\@firstoftwo%
- \else%
- \expandafter\@secondoftwo%
- \fi%
+ \AtBeginDocument{%
+ \tud@math@map@greeks%
+ \tud@math@checkslanted@greeks%
+ \tud@math@set%
+ }%
}
-\newcommand*\tud@sec@fontface[1][]{%
- \if@tud@cdfont@din%
- \tud@dinbn\tud@raggedright%
- \else%
- \sectfont#1%
+\newcommand*\tud@head@font@light{}
+\newcommand*\tud@head@font@bold{}
+\newcommand*\tud@head@font@set{%
+ \if@tud@cdfont@active\ifcase\tud@head@font@num\relax% false
+ \if@tud@head@font@set%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use `cdhead=false'\MessageBreak%
+ together with `cdfont=true'%
+ }%
+ \fi%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdhead=heavy}%
+ \else%
+ \TUDoptions{cdhead=true}%
+ \fi%
+ \fi\fi%
+ \if@tud@head@font@set%
+ \if@tud@x@mweights@enabled%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mdseries@sf}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfseries@sf}{\updefault}{\tud@head@fontsize}%
+ \else%
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
+ \fi%
+ \ifcase\tud@head@font@num\relax\else% true/heavy
+ \tud@head@cdfont@set%
+ \fi%
+ \global\@tud@head@font@setfalse%
+ \global\@tud@head@text@settrue%
\fi%
}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
-}
+\newcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{sb}{n}{\tud@head@fontsize}%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \fi%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@head@cdfont@set{%
+ \if@tud@cdfont@fam@exist%
+ \ifcase\tud@head@font@num\relax\or% true
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}%
+ \or% heavy
+ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{m}{n}{\tud@head@fontsize}%
+ \fi%
+ \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
+ {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}%
+ \fi%
+ }%
+\fi
%%% From File: tudscr-fields.dtx
+\newcommand*\getfield[2][\@firstofone]{%
+ \begingroup%
+ \def\tud@res@b{#1}%
+ \ifcsdef{@@#2}{%
+ \letcs\tud@res@a{@@#2}%
+ }{%
+ \ifcsdef{@#2}{%
+ \letcs\tud@res@a{@#2}%
+ }{%
+ \let\tud@res@a\@empty%
+ \ClassWarning{\TUD@Class@Name}{%
+ The internal field `@#2' does not exist%
+ }%
+ }%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \expandonce\tud@res@b{\expandonce\tud@res@a}%
+ }%
+ \tud@res@a%
+}
\newcommand*\@faculty{}
\newcommand*\@department{}
\newcommand*\@institute{}
@@ -2206,11 +3293,35 @@
}
\newcommand*\@authormore{}
\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\newcommand*\@emailaddress{}
+\newrobustcmd*\emailaddress{%
+ \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}%
+}
+\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}}
+\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}}
+\AfterPackage*{hyperref}{%
+ \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
+ \gdef\@emailaddress{%
+ \begingroup%
+ \urlstyle{same}%
+ \hypersetup{#1}%
+ \href{mailto:#2}{\nolinkurl{#2}}%
+ \endgroup%
+ }%
+ }%
+}
\newcommand*\@course{}
\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces}
\newcommand*\@discipline{}
\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces}
-\providecommand*\publisher[1]{\publishers{#1}}
+\newcommand*\@matriculationnumber{}
+\newrobustcmd*\matriculationnumber[1]{%
+ \gdef\@matriculationnumber{#1}\ignorespaces%
+}
+\newcommand*\@matriculationyear{}
+\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
+\newcommand*\@placeofbirth{}
+\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
\newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}}
@@ -2226,8 +3337,11 @@
\let\footnote\@gobble%
\tud@lowerstring{\@tempa}{#2}%
\ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
- \global\let\@tempa\@tempa%
- \endgroup%
+ \protected@edef\@tempa{%
+ \endgroup%
+ \def\noexpand\@tempa{\@tempa}%
+ }%
+ \@tempa%
\ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{%
\ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{%
\ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{%
@@ -2253,9 +3367,9 @@
Field `thesis' is overwritten by `subject'%
}%
\fi%
- \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{true}%
+ \TUD@key@preset{subjectthesis}{true}%
}{%
- \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{false}%
+ \TUD@key@preset{subjectthesis}{false}%
}%
\ifx\tud@thanks\relax%
\gdef\@thesis{#2}%
@@ -2265,9 +3379,10 @@
\protected@xdef\@@thesis{\trim@spaces{#2}}%
}
\newcommand*\@graduation{}
-\newcommand*\@@graduation{}
+\newcommand*\@graduationabbreviation{}
\newcommand*\graduation[2][]{%
- \ifxblank{#1}{\gdef\@@graduation{}}{\gdef\@@graduation{(#1)}}%
+ \gdef\@graduationabbreviation{}%
+ \ifxblank{#1}{}{\gdef\@graduationabbreviation{(#1)}}%
\gdef\@graduation{#2}%
}
\newcommand*\@professor{}
@@ -2282,14 +3397,6 @@
\newcommand*\referee[1]{\gdef\@referee{#1}}
\newcommand*\@advisor{}
\newcommand*\advisor[1]{\gdef\@advisor{#1}}
-\newcommand*\@matriculationnumber{}
-\newrobustcmd*\matriculationnumber[1]{%
- \gdef\@matriculationnumber{#1}\ignorespaces%
-}
-\newcommand*\@matriculationyear{}
-\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
-\newcommand*\@placeofbirth{}
-\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
\newlength\tud@len@signatureskip
\setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex}
\newcommand*\@confirmationclosing{%
@@ -2307,8 +3414,15 @@
\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\gdef\@place{#1}}
-\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
-\newcommand*\tud@x@isodate@printdate[2]{%
+\providecommand*\publisher[1]{\publishers{#1}}
+\TUD@UnwindPackage{isodate}{%
+ \@ifpackageloaded{datetime2}{%
+ \providecommand*\printdate[1]{\DTMDate{#1}}%
+ }{%
+ \providecommand*\printdate[1]{#1}%
+ }%
+}
+\newcommand*\tud@printdate[2]{%
\ifx\today#2\relax%
\gdef#1{#2}%
\else%
@@ -2341,38 +3455,39 @@
}{\tud@date@set}%
}
\newcommand*\tud@date@set[2][]{%
- \TUD@parameter@set{date}{#1}%
- \tud@x@isodate@printdate{\@date}{#2}%
+ \tud@toks@{#1}%
+ \TUD@parameter@set{date}{\the\tud@toks@}%
+ \tud@printdate{\@date}{#2}%
\global\let\tud@date@check\relax%
}
-\newcommand*\tud@date@pre{}
-\newcommand*\tud@date@app{}
+\newcommand*\@beforedate{}
+\newcommand*\@afterdate{}
\TUD@parameter@family{date}{%
- \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@def{before}{\def\@beforedate{#1}}%
\TUD@parameter@let{pre}{before}%
\TUD@parameter@let{prefix}{before}%
- \TUD@parameter@def{after}{\def\tud@date@app{#1}}%
+ \TUD@parameter@def{after}{\def\@afterdate{#1}}%
\TUD@parameter@let{app}{after}%
\TUD@parameter@let{suffix}{after}%
- \TUD@parameter@def{place}{\def\@place{#1}\def\tud@date@pre{#1,}}%
+ \TUD@parameter@def{place}{\def\@place{#1}\def\@beforedate{#1,}}%
\TUD@parameter@handler@value{after}%
}
\newcommand*\tud@date@print{%
\ifx\@date\@empty\else%
- \ifx\tud@date@pre\@empty\else%
- \expandafter\trim@spaces@noexp\expandafter{\tud@date@pre}\nobreakspace%
+ \ifx\@beforedate\@empty\else%
+ \expandafter\trim@spaces@noexp\expandafter{\@beforedate}\nobreakspace%
\fi%
\@date%
- \ifx\tud@date@app\@empty\else%
- \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\tud@date@app}%
+ \ifx\@afterdate\@empty\else%
+ \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\@afterdate}%
\fi%
\fi%
}
\newcommand*\@defensedate{}
-\newcommand*\defensedate[1]{\tud@x@isodate@printdate{\@defensedate}{#1}}
+\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
\newrobustcmd*\dateofbirth[1]{%
- \tud@x@isodate@printdate{\@dateofbirth}{#1}\ignorespaces%
+ \tud@printdate{\@dateofbirth}{#1}\ignorespaces%
}
\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
@@ -2386,8 +3501,8 @@
}%
\begingroup%
\let\and\relax%
- \def\newline{}%
- \def\\{}%
+ \let\newline\@empty%
+ \let\\\@empty%
\edef\@tempa{\csname#1\endcsname\and}%
\expandafter\endgroup%
\expandafter\tud@multiple@@split\@tempa\relax%
@@ -2401,7 +3516,7 @@
\@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
- \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cs@store{@##1}}{}}%
\letcs\@tempb{tud@split#1@list}%
\let\and\relax%
\expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
@@ -2414,7 +3529,7 @@
\newcommand*\tud@multiple@fields@restore[1]{%
\def\@tempa##1{%
\ifcsdef{@##1}{%
- \tud@cmd@restore{@##1}%
+ \tud@cs@restore{@##1}%
\global\csletcs{@##1}{@##1}%
}{}%
}%
@@ -2447,13 +3562,13 @@
}
\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
- authormore,course,discipline,%
+ authormore,course,discipline,emailaddress,%
matriculationyear,enrolmentyear,%
matriculationnumber,studentid,matriculationid,%
placeofbirth,birthplace,dateofbirth,birthday,%
}
-%%% From File: tudscr-locale.dtx
-\newcommand*\tud@locale@define[1]{%
+%%% From File: tudscr-localization.dtx
+\newcommand*\tud@localization@define[1]{%
\providecommand*#1{%
\ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
@@ -2467,48 +3582,49 @@
}%
}%
}
-\tud@locale@define{\graduationtext}
-\tud@locale@define{\refereename}
-\tud@locale@define{\refereeothername}
-\tud@locale@define{\advisorname}
-\tud@locale@define{\advisorothername}
-\tud@locale@define{\supervisorname}
-\tud@locale@define{\supervisorothername}
-\tud@locale@define{\professorname}
-\tud@locale@define{\professorothername}
-\tud@locale@define{\datetext}
-\tud@locale@define{\dateofbirthtext}
-\tud@locale@define{\placeofbirthtext}
-\tud@locale@define{\defensedatetext}
-\tud@locale@define{\matriculationyearname}
-\tud@locale@define{\matriculationnumbername}
-\tud@locale@define{\coverpagename}
-\tud@locale@define{\titlepagename}
-\tud@locale@define{\titlename}
-\tud@locale@define{\confirmationname}
-\tud@locale@define{\confirmationtext}
-\tud@locale@define{\blockingname}
-\tud@locale@define{\blockingtext}
-\tud@locale@define{\coursename}
-\tud@locale@define{\disciplinename}
-\tud@locale@define{\listingname}
-\tud@locale@define{\listlistingname}
-\tud@locale@define{\dissertationname}
-\tud@locale@define{\diplomathesisname}
-\tud@locale@define{\masterthesisname}
-\tud@locale@define{\bachelorthesisname}
-\tud@locale@define{\studentthesisname}
-\tud@locale@define{\studentresearchname}
-\tud@locale@define{\projectpapername}
-\tud@locale@define{\seminarpapername}
-\tud@locale@define{\termpapername}
-\tud@locale@define{\researchname}
-\tud@locale@define{\logname}
-\tud@locale@define{\internshipname}
-\tud@locale@define{\reportname}
+\tud@localization@define{\graduationtext}
+\tud@localization@define{\refereename}
+\tud@localization@define{\refereeothername}
+\tud@localization@define{\advisorname}
+\tud@localization@define{\advisorothername}
+\tud@localization@define{\supervisorname}
+\tud@localization@define{\supervisorothername}
+\tud@localization@define{\professorname}
+\tud@localization@define{\professorothername}
+\tud@localization@define{\datetext}
+\tud@localization@define{\dateofbirthtext}
+\tud@localization@define{\placeofbirthtext}
+\tud@localization@define{\defensedatetext}
+\tud@localization@define{\matriculationyearname}
+\tud@localization@define{\matriculationnumbername}
+\tud@localization@define{\coverpagename}
+\tud@localization@define{\titlepagename}
+\tud@localization@define{\titlename}
+\tud@localization@define{\confirmationname}
+\tud@localization@define{\confirmationtext}
+\tud@localization@define{\blockingname}
+\tud@localization@define{\blockingtext}
+\tud@localization@define{\coursename}
+\tud@localization@define{\disciplinename}
+\tud@localization@define{\listingname}
+\tud@localization@define{\listlistingname}
+\tud@localization@define{\dissertationname}
+\tud@localization@define{\diplomathesisname}
+\tud@localization@define{\masterthesisname}
+\tud@localization@define{\bachelorthesisname}
+\tud@localization@define{\studentthesisname}
+\tud@localization@define{\studentresearchname}
+\tud@localization@define{\projectpapername}
+\tud@localization@define{\seminarpapername}
+\tud@localization@define{\termpapername}
+\tud@localization@define{\researchname}
+\tud@localization@define{\logname}
+\tud@localization@define{\internshipname}
+\tud@localization@define{\reportname}
\newcommand*\tud@ifin@and[1]{%
\begingroup%
\let\and\relax%
+ \robustify\\%
\protected@edef\@tempb{#1}%
\def\@tempa##1\and##2\relax{%
\IfArgIsEmpty{##2}{%
@@ -2520,13 +3636,15 @@
\expandafter\@tempa\@tempb\and\relax%
\endgroup
}
-\newcommand*\tud@locale@german{%
+\newcommand*\tud@localization@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
-\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}%
-\tud@locale@german{\refereename}{%
+\tud@localization@german{\graduationtext}{%
+ zur Erlangung des akademischen Grades%
+}%
+\tud@localization@german{\refereename}{%
\tud@ifin@and{\@referee}{%
\ifx\refereeothername\@empty%
Gutachter%
@@ -2535,8 +3653,8 @@
\fi%
}{Gutachter}%
}%
-\tud@locale@german{\refereeothername}{Zweitgutachter}%
-\tud@locale@german{\advisorname}{%
+\tud@localization@german{\refereeothername}{Zweitgutachter}%
+\tud@localization@german{\advisorname}{%
\tud@ifin@and{\@advisor}{%
\ifx\advisorothername\@empty%
Fachreferenten%
@@ -2545,8 +3663,8 @@
\fi%
}{Fachreferent}%
}%
-\tud@locale@german{\advisorothername}{}%
-\tud@locale@german{\supervisorname}{%
+\tud@localization@german{\advisorothername}{}%
+\tud@localization@german{\supervisorname}{%
\tud@ifin@and{\@supervisor}{%
\ifx\supervisorothername\@empty%
Betreuer%
@@ -2555,8 +3673,8 @@
\fi%
}{Betreuer}%
}%
-\tud@locale@german{\supervisorothername}{}%
-\tud@locale@german{\professorname}{%
+\tud@localization@german{\supervisorothername}{}%
+\tud@localization@german{\professorname}{%
\tud@ifin@and{\@professor}{%
\ifx\professorothername\@empty%
Betreuende Hochschullehrer%
@@ -2565,18 +3683,18 @@
\fi%
}{Betreuender Hochschullehrer}%
}%
-\tud@locale@german{\professorothername}{}%
-\tud@locale@german{\datetext}{Eingereicht am}%
-\tud@locale@german{\dateofbirthtext}{Geboren am}%
-\tud@locale@german{\placeofbirthtext}{in}%
-\tud@locale@german{\defensedatetext}{Verteidigt am}%
-\tud@locale@german{\matriculationyearname}{Immatrikulationsjahr}%
-\tud@locale@german{\matriculationnumbername}{Matrikelnummer}%
-\tud@locale@german{\coverpagename}{Umschlagseite}%
-\tud@locale@german{\titlepagename}{Titelblatt}%
-\tud@locale@german{\titlename}{Titel}%
-\tud@locale@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}%
-\tud@locale@german{\confirmationtext}{%
+\tud@localization@german{\professorothername}{}%
+\tud@localization@german{\datetext}{Eingereicht am}%
+\tud@localization@german{\dateofbirthtext}{Geboren am}%
+\tud@localization@german{\placeofbirthtext}{in}%
+\tud@localization@german{\defensedatetext}{Verteidigt am}%
+\tud@localization@german{\matriculationyearname}{Immatrikulationsjahr}%
+\tud@localization@german{\matriculationnumbername}{Matrikelnummer}%
+\tud@localization@german{\coverpagename}{Umschlagseite}%
+\tud@localization@german{\titlepagename}{Titelblatt}%
+\tud@localization@german{\titlename}{Titel}%
+\tud@localization@german{\confirmationname}{Selbstst\"andigkeitserkl\"arung}%
+\tud@localization@german{\confirmationtext}{%
Hiermit versichere ich, dass ich die vorliegende Arbeit
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe.
@@ -2596,8 +3714,8 @@
Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum
nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.%
}%
-\tud@locale@german{\blockingname}{Sperrvermerk}%
-\tud@locale@german{\blockingtext}{%
+\tud@localization@german{\blockingname}{Sperrvermerk}%
+\tud@localization@german{\blockingtext}{%
Diese Arbeit
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
enth\"alt vertrauliche Informationen\ifx\@company\@empty\else
@@ -2610,30 +3728,30 @@
Universit\"at Dresden, den Gutachtern sowie den Mitgliedern
des Pr\"ufungsausschusses zug\"anglich zu machen.%
}%
-\tud@locale@german{\coursename}{Studiengang}%
-\tud@locale@german{\disciplinename}{Studienrichtung}%
-\tud@locale@german{\listingname}{Quelltext}%
-\tud@locale@german{\listlistingname}{Quelltextverzeichnis}%
-\tud@locale@german{\dissertationname}{Dissertation}%
-\tud@locale@german{\diplomathesisname}{Diplomarbeit}%
-\tud@locale@german{\masterthesisname}{Master-Arbeit}%
-\tud@locale@german{\bachelorthesisname}{Bachelor-Arbeit}%
-\tud@locale@german{\studentthesisname}{Studienarbeit}%
-\tud@locale@german{\studentresearchname}{Gro\ss{}er Beleg}%
-\tud@locale@german{\projectpapername}{Projektarbeit}%
-\tud@locale@german{\seminarpapername}{Seminararbeit}%
-\tud@locale@german{\termpapername}{Hausarbeit}%
-\tud@locale@german{\researchname}{Forschungsbericht}%
-\tud@locale@german{\logname}{Protokoll}%
-\tud@locale@german{\internshipname}{Praktikumsbericht}%
-\tud@locale@german{\reportname}{Bericht}%
-\newcommand*\tud@locale@english{%
+\tud@localization@german{\coursename}{Studiengang}%
+\tud@localization@german{\disciplinename}{Studienrichtung}%
+\tud@localization@german{\listingname}{Quelltext}%
+\tud@localization@german{\listlistingname}{Quelltextverzeichnis}%
+\tud@localization@german{\dissertationname}{Dissertation}%
+\tud@localization@german{\diplomathesisname}{Diplomarbeit}%
+\tud@localization@german{\masterthesisname}{Master-Arbeit}%
+\tud@localization@german{\bachelorthesisname}{Bachelor-Arbeit}%
+\tud@localization@german{\studentthesisname}{Studienarbeit}%
+\tud@localization@german{\studentresearchname}{Gro\ss{}er Beleg}%
+\tud@localization@german{\projectpapername}{Projektarbeit}%
+\tud@localization@german{\seminarpapername}{Seminararbeit}%
+\tud@localization@german{\termpapername}{Hausarbeit}%
+\tud@localization@german{\researchname}{Forschungsbericht}%
+\tud@localization@german{\logname}{Protokoll}%
+\tud@localization@german{\internshipname}{Praktikumsbericht}%
+\tud@localization@german{\reportname}{Bericht}%
+\newcommand*\tud@localization@english{%
\providecaptionname{%
american,australian,british,canadian,english,newzealand,UKenglish,USenglish%
}%
}
-\tud@locale@english{\graduationtext}{to achieve the academic degree}%
-\tud@locale@english{\refereename}{%
+\tud@localization@english{\graduationtext}{to achieve the academic degree}%
+\tud@localization@english{\refereename}{%
\tud@ifin@and{\@referee}{%
\ifx\refereeothername\@empty%
Referees%
@@ -2642,8 +3760,8 @@
\fi%
}{Referee}%
}%
-\tud@locale@english{\refereeothername}{Second referee}%
-\tud@locale@english{\advisorname}{%
+\tud@localization@english{\refereeothername}{Second referee}%
+\tud@localization@english{\advisorname}{%
\tud@ifin@and{\@advisor}{%
\ifx\advisorothername\@empty%
Advisors%
@@ -2652,8 +3770,8 @@
\fi%
}{Advisor}%
}%
-\tud@locale@english{\advisorothername}{}%
-\tud@locale@english{\supervisorname}{%
+\tud@localization@english{\advisorothername}{}%
+\tud@localization@english{\supervisorname}{%
\tud@ifin@and{\@supervisor}{%
\ifx\supervisorothername\@empty%
Supervisors%
@@ -2662,8 +3780,8 @@
\fi%
}{Supervisor}%
}%
-\tud@locale@english{\supervisorothername}{}%
-\tud@locale@english{\professorname}{%
+\tud@localization@english{\supervisorothername}{}%
+\tud@localization@english{\professorname}{%
\tud@ifin@and{\@professor}{%
\ifx\professorothername\@empty%
Supervising professors%
@@ -2672,18 +3790,18 @@
\fi%
}{Supervising professor}%
}%
-\tud@locale@english{\professorothername}{}%
-\tud@locale@english{\datetext}{Submitted on}%
-\tud@locale@english{\dateofbirthtext}{Born on}%
-\tud@locale@english{\placeofbirthtext}{in}%
-\tud@locale@english{\defensedatetext}{Defended on}%
-\tud@locale@english{\matriculationyearname}{Matriculation year}%
-\tud@locale@english{\matriculationnumbername}{Matriculation number}%
-\tud@locale@english{\coverpagename}{Cover page}%
-\tud@locale@english{\titlepagename}{Title page}%
-\tud@locale@english{\titlename}{Title}%
-\tud@locale@english{\confirmationname}{Statement of authorship}%
-\tud@locale@english{\confirmationtext}{%
+\tud@localization@english{\professorothername}{}%
+\tud@localization@english{\datetext}{Submitted on}%
+\tud@localization@english{\dateofbirthtext}{Born on}%
+\tud@localization@english{\placeofbirthtext}{in}%
+\tud@localization@english{\defensedatetext}{Defended on}%
+\tud@localization@english{\matriculationyearname}{Matriculation year}%
+\tud@localization@english{\matriculationnumbername}{Matriculation number}%
+\tud@localization@english{\coverpagename}{Cover page}%
+\tud@localization@english{\titlepagename}{Title page}%
+\tud@localization@english{\titlename}{Title}%
+\tud@localization@english{\confirmationname}{Statement of authorship}%
+\tud@localization@english{\confirmationtext}{%
I hereby certify that I have authored this
\ifx\@@thesis\@empty thesis\else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
@@ -2704,8 +3822,8 @@
I am aware that violations of this declaration may lead to
subsequent withdrawal of the degree.%
}%
-\tud@locale@english{\blockingname}{Restriction note}%
-\tud@locale@english{\blockingtext}{%
+\tud@localization@english{\blockingname}{Restriction note}%
+\tud@localization@english{\blockingtext}{%
This \ifx\@@thesis\@empty thesis \else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
contains confidential data\ifx\@company\@empty\else
@@ -2717,32 +3835,32 @@
Technische Universit\"at Dresden, the reviewers and also the
members of the examination board.%
}%
-\tud@locale@english{\coursename}{Course}%
-\tud@locale@english{\disciplinename}{Discipline}%
-\tud@locale@english{\listingname}{Listing}%
-\tud@locale@english{\listlistingname}{List of Listings}%
-\tud@locale@english{\dissertationname}{Dissertation}%
-\tud@locale@english{\diplomathesisname}{Diploma Thesis}%
-\tud@locale@english{\masterthesisname}{Master Thesis}%
-\tud@locale@english{\bachelorthesisname}{Bachelor Thesis}%
-\tud@locale@english{\studentthesisname}{Student Thesis}%
-\tud@locale@english{\studentresearchname}{Student Research Project}%
-\tud@locale@english{\projectpapername}{Project Paper}%
-\tud@locale@english{\seminarpapername}{Seminar Paper}%
-\tud@locale@english{\termpapername}{Term Paper}%
-\tud@locale@english{\researchname}{Research Report}%
-\tud@locale@english{\logname}{Log}%
-\tud@locale@english{\internshipname}{Internship Report}%
-\tud@locale@english{\reportname}{Report}%
+\tud@localization@english{\coursename}{Course}%
+\tud@localization@english{\disciplinename}{Discipline}%
+\tud@localization@english{\listingname}{Listing}%
+\tud@localization@english{\listlistingname}{List of Listings}%
+\tud@localization@english{\dissertationname}{Dissertation}%
+\tud@localization@english{\diplomathesisname}{Diploma Thesis}%
+\tud@localization@english{\masterthesisname}{Master Thesis}%
+\tud@localization@english{\bachelorthesisname}{Bachelor Thesis}%
+\tud@localization@english{\studentthesisname}{Student Thesis}%
+\tud@localization@english{\studentresearchname}{Student Research Project}%
+\tud@localization@english{\projectpapername}{Project Paper}%
+\tud@localization@english{\seminarpapername}{Seminar Paper}%
+\tud@localization@english{\termpapername}{Term Paper}%
+\tud@localization@english{\researchname}{Research Report}%
+\tud@localization@english{\logname}{Log}%
+\tud@localization@english{\internshipname}{Internship Report}%
+\tud@localization@english{\reportname}{Report}%
\AfterPackage{listings}{%
\renewcommand*\lstlistingname{\listingname}%
\renewcommand*\lstlistlistingname{\listlistingname}%
}
\AfterPackage{mathswap}{%
- \tud@locale@german{\@commaswap}{,}%
- \tud@locale@german{\@dotswap}{\,}%
- \tud@locale@english{\@commaswap}{\,}%
- \tud@locale@english{\@dotswap}{.}%
+ \tud@localization@german{\@commaswap}{,}%
+ \tud@localization@german{\@dotswap}{\,}%
+ \tud@localization@english{\@commaswap}{\,}%
+ \tud@localization@english{\@dotswap}{.}%
}
%%% From File: tudscr-area.dtx
\newif\if@tud@x@crop@center
@@ -2757,7 +3875,7 @@
}%
\pretocmd{\CROP@center}{%
\@tud@x@crop@centertrue%
- }{}{\tud@patch@wrn{CROP@center}}
+ }{}{\tud@patch@wrn{CROP@center}}%
}
\newif\if@tud@x@standalone@crop
\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
@@ -2778,21 +3896,22 @@
\newlength\tud@len@areadiff
\newlength\tud@len@areavskip
\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newcommand*\tud@head@fontsize{}
\newif\if@tud@cdgeometry@adjust
-\newlength\tud@len@layoutheight
\newlength\tud@len@layoutwidth
+\newlength\tud@len@layoutheight
\newlength\tud@len@layouthoffset
\newlength\tud@len@layoutvoffset
-\newcommand*\tud@cdgeometry@set{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
- \else%
- \setlength\tud@len@layoutheight{\paperheight}%
+\newcommand*\tud@cdgeometry@assignlayout{%
+ \ifdim\tud@len@layoutwidth<\p@\relax%
\setlength\tud@len@layoutwidth{\paperwidth}%
\fi%
- \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
- \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \ifdim\tud@len@layoutheight<\p@\relax%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \fi%
+}
+\newcommand*\tud@cdgeometry@set{%
+ \tud@cdgeometry@assignlayout%
\tud@if@v@lower{2.05}{%
\ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
\def\@tempa{0}%
@@ -2858,8 +3977,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{0.25pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{4.5pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{4.5pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\or% <=A6/B6
\setlength\tud@len@widemargin{15mm}%
@@ -2920,8 +4039,8 @@
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{2pt}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{36pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{36pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\ifnum\tud@cdgeometry@calc@num=\tw@\relax%
@@ -2929,8 +4048,8 @@
\setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
\setlength\tud@len@heavyline{\@tempa\tud@len@heavyline}%
\setlength\tud@len@thinline{\@tempa\tud@len@thinline}%
- \setlength{\@tempdima}{\tud@head@fontsize pt}%
- \setlength{\@tempdima}{\@tempa\@tempdima}%
+ \setlength\@tempdima{\tud@head@fontsize pt}%
+ \setlength\@tempdima{\@tempa\@tempdima}%
\edef\tud@head@fontsize{\strip@pt\@tempdima}%
\fi%
\global\@tud@head@font@settrue%
@@ -2950,13 +4069,19 @@
\setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
\fi%
}
-\newcommand*\tud@cdgeometry@process{}
-\newcommand*\tud@cdgeometry@@process{}
+\newcommand*\tud@cdgeometry@process{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+}
\if@tud@x@standalone@crop
\PreventPackageFromLoading{geometry}%
+ \let\tud@cdgeometry@process\relax%
\else
\RequirePackage{geometry}[2010/09/12]%
-\fi
+\fi%
\AfterPackage*{geometry}{%
\CheckCommand*\Gm@initnewgm{%
\Gm@passfalse
@@ -3094,109 +4219,149 @@
}{\@nameuse{Gm@restore@@#1}%
\Gm@changelayout}%
}%
- \tud@cmd@store{geometry}
- \tud@cmd@store{newgeometry}
\newif\if@tud@x@geometry@enabled%
\@tud@x@geometry@enabledtrue%
- \newcommand*\tud@setgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \ifGm@pass%
- \def\@tempb{}%
- \else%
- \edef\@tempb{layoutoffset={\the\Gm@layouthoffset,\the\Gm@layoutvoffset}}%
- \ifGm@layout%
- \eappto\@tempb{,layoutsize={\the\Gm@layoutwidth,\the\Gm@layoutheight}}%
- \fi%
- \fi%
+ \tud@cs@store{geometry}%
+ \tud@cs@store{newgeometry}%
+ \renewcommand*\geometry[1]{%
+ \tud@x@geometry@user{#1}{geometry}%
+ }%
+ \renewcommand*\newgeometry[1]{%
+ \tud@cs@store{Gm@restore@org}%
+ \tud@x@geometry@user{#1}{newgeometry}%
+ \tud@cs@restore{Gm@restore@org}%
+ }%
+ \renewcommand*\restoregeometry[1][custom]{%
+ \tud@cdgeometry@reset{#1}%
\if@atdocument%
- \edef\@tempa{\@tempb,#1}%
- \tud@cmd@store{Gm@restore@org}%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- \def\@tempc{\tud@cmd@use{newgeometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
- \tud@cmd@restore{Gm@restore@org}%
- \else%
- \Gm@initnewgm%
- \edef\@tempa{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,\@tempb,#1%
- }%
- \def\@tempc{\tud@cmd@use{geometry}}%
- \expandafter\@tempc\expandafter{\@tempa}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@loadgeometry{init@typearea}%
+ \@tud@x@geometry@fixmarginstrue%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \@tud@x@geometry@fixmarginstrue%
+ \fi%
+ \tud@cdgeometry@process%
\fi%
- \@tud@x@geometry@enabledtrue%
}%
- \newcommand*\tud@savegeometry[1]{%
- \def\Gm@restore{}%
- \savegeometry{#1}%
- \csepreto{Gm@restore@@#1}{%
- \etex@unexpanded{\def\Gm@lmargin}{\Gm@lmargin}%
- \etex@unexpanded{\def\Gm@rmargin}{\Gm@rmargin}%
- \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
- \ifGm@includemp%
- \noexpand\Gm@includemptrue%
- \else%
- \noexpand\Gm@includempfalse%
- \fi%
- \ifGm@layout%
- \noexpand\Gm@layouttrue%
- \else%
- \noexpand\Gm@layoutfalse%
+ \apptocmd{\Gm@changelayout}{%
+ \if@tud@x@geometry@enabled%
+ \if@atdocument%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@reset{custom}%
+ \tud@cdgeometry@process%
\fi%
- }%
+ \fi%
+ }{}{\tud@patch@wrn{Gm@changelayout}}%
+ \newif\if@tud@x@geometry@fixmargins%
+ \newcommand*\tud@x@geometry@fixmargins{%
+ \ifGm@pass\else%
+ \addtolength\oddsidemargin{-\tud@len@layouthoffset}%
+ \addtolength\evensidemargin{-\tud@len@layouthoffset}%
+ \addtolength\topmargin{-\tud@len@layoutvoffset}%
+ \@tud@x@geometry@fixmarginsfalse%
+ \fi%
}%
- \newcommand*\tud@loadgeometry[1]{%
- \@tud@x@geometry@enabledfalse%
- \loadgeometry{#1}%
- \@currsize%
- \if@tud@x@crop@center\CROP@center\fi%
- \@tud@x@geometry@enabledtrue%
+ \newcommand*\tud@x@geometry@paper{}%
+ \newcommand*\tud@x@geometry@layout{}%
+ \newcommand*\tud@x@geometry@parameter{}%
+ \newcommand*\tud@x@geometry@init{}%
+ \newcommand*\tud@x@geometry@user[2]{%
+ \let\tud@x@geometry@paper\@empty%
+ \let\tud@x@geometry@layout\@empty%
+ \let\tud@x@geometry@parameter\@empty%
+ \TUD@parameter@set{geometry}{#1}%
+ \ifx\tud@x@geometry@layout\@empty\else%
+ \begingroup%
+ \tud@x@geometry@area@set{layout}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\setlength\noexpand\tud@len@layoutwidth{\the\paperwidth}%
+ \noexpand\setlength\noexpand\tud@len@layoutheight{\the\paperheight}%
+ }%
+ \tud@res@a%
+ \fi%
+ \tud@x@geometry@area@set{paper}%
+ \ifstr{#2}{newgeometry}{%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \tud@x@geometry@getlayout{\tud@res@a}%
+ \epreto{\tud@x@geometry@parameter}{\tud@res@a,}%
+ \def\tud@res@a{\tud@cs@use{newgeometry}}%
+ \expandafter\tud@res@a\expandafter{\tud@x@geometry@parameter}%
+ \edef\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }{%
+ \eappto\tud@x@geometry@init{\tud@x@geometry@parameter}%
+ }%
}%
\TUD@parameter@family{geometry}{%
- \TUD@parameter@def{paper}{\tud@area@def{paper}{#1}}%
+ \TUD@parameter@def{paper}{\tud@x@geometry@area@def{paper}{#1}}%
\TUD@parameter@let{papername}{paper}%
- \TUD@parameter@def{paperwidth}{\tud@area@def{paper}{#1:\the\paperheight}}%
- \TUD@parameter@def{paperheight}{\tud@area@def{paper}{\the\paperwidth:#1}}%
\TUD@parameter@def{papersize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{paper}{##1:##1}%
+ \tud@x@geometry@area@def{paper}{##1:##1}%
}{%
- \tud@area@def{paper}{##1:##2}%
+ \tud@x@geometry@area@def{paper}{##1:##2}%
}%
}%
\@tempa#1,,\@nil%
}%
- \TUD@parameter@def{layout}{\tud@area@def{layout}{#1}}%
- \TUD@parameter@let{layoutname}{layout}%
- \TUD@parameter@def{layoutwidth}{%
- \tud@area@def{layout}{#1:\the\tud@len@layoutheight}%
+ \TUD@parameter@def{paperwidth}{%
+ \tud@x@geometry@area@def{paper}{#1:\paperheight}%
+ }%
+ \TUD@parameter@def{paperheight}{%
+ \tud@x@geometry@area@def{paper}{\paperwidth:#1}%
}%
- \TUD@parameter@def{layoutheight}{%
- \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ \TUD@parameter@def{layout}{%
+ \ifstr{#1}{false}{%
+ \setlength\tud@len@layoutwidth{\z@}%
+ \setlength\tud@len@layoutheight{\z@}%
+ \setlength\tud@len@layouthoffset{\z@}%
+ \setlength\tud@len@layoutvoffset{\z@}%
+ }{%
+ \tud@x@geometry@area@def{layout}{#1}%
+ }%
}%
+ \TUD@parameter@let{layoutname}{layout}%
\TUD@parameter@def{layoutsize}{%
\def\@tempa##1,##2,##3\@nil{%
\IfArgIsEmpty{##2}{%
- \tud@area@def{layout}{##1:##1}%
+ \tud@x@geometry@area@def{layout}{##1:##1}%
}{%
- \tud@area@def{layout}{##1:##2}%
+ \tud@x@geometry@area@def{layout}{##1:##2}%
}%
}%
\@tempa#1,,\@nil%
}%
+ \TUD@parameter@def{layoutwidth}{\setlength\tud@len@layoutwidth{#1}}%
+ \TUD@parameter@def{layoutheight}{\setlength\tud@len@layoutheight{#1}}%
+ \TUD@parameter@def{layoutoffset}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##1}%
+ }{%
+ \setlength\tud@len@layouthoffset{##1}%
+ \setlength\tud@len@layoutvoffset{##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \TUD@parameter@def{layouthoffset}{\setlength\tud@len@layouthoffset{#1}}%
+ \TUD@parameter@def{layoutvoffset}{\setlength\tud@len@layoutvoffset{#1}}%
\TUD@parameter@def{bleedmargin}{\TUDoption{bleedmargin}{#1}}%
\TUD@parameter@handler@macro{%
\eappto\tud@x@geometry@parameter{%
\expandonce\kv@key=\expandonce\kv@value,%
}%
}{%
- \tud@area@def{paper}{#2}%
+ \tud@x@geometry@area@def{paper}{#2}%
}%
- }
- \newcommand*\tud@area@def[2]{%
+ }%
+ \newcommand*\tud@x@geometry@area@def[2]{%
\tud@lowerstring{\@tempa}{#2}%
\def\@tempb##1paper##2\@nil{%
\ifstr{##2}{paper}{\def\@tempa{##1}}{}%
@@ -3259,150 +4424,123 @@
\fi%
\if@tempswa%
\cseappto{tud@x@geometry@#1}{\@tempa,}%
- \def\@tempb##1:##2:##3\@nil{%
- \IfArgIsEmpty{##2}{}{%
- \ifstr{#1}{paper}{%
- \setlength\paperwidth{##1}%
- \setlength\paperheight{##2}%
- }{%
- \ifstr{#1}{layout}{%
- \setlength\tud@len@layoutwidth{##1}%
- \setlength\tud@len@layoutheight{##2}%
- }{}%
- }%
- }%
- }%
- \expandafter\@tempb\@tempa::\@nil%
\else%
\appto\tud@x@geometry@parameter{#2,}%
\fi%
- }
- \newcommand*\tud@area@set[1]{%
+ }%
+ \newcommand*\tud@x@geometry@area@set[1]{%
\letcs{\@tempa}{tud@x@geometry@#1}%
\ifdefvoid{\@tempa}{}{%
\def\@tempb##1:##2:##3\@nil{%
- \tud@cmd@store{@tempa}%
- \tud@cmd@store{@tempb}%
- \tud@cmd@store{@tempc}%
- \IfArgIsEmpty{##2}{%
- \KOMAoption{paper}{##1}%
- }{%
- \if@landscape%
- \KOMAoption{paper}{##2:##1}%
- \else%
- \KOMAoption{paper}{##1:##2}%
- \fi%
- }%
- \tud@cmd@restore{@tempa}%
- \tud@cmd@restore{@tempb}%
- \tud@cmd@restore{@tempc}%
+ \begingroup%
+ \IfArgIsEmpty{##2}{%
+ \def\@tempb{\KOMAoption{paper}{##1}}%
+ }{%
+ \if@landscape%
+ \def\@tempb{\KOMAoption{paper}{##2:##1}}%
+ \else%
+ \def\@tempb{\KOMAoption{paper}{##1:##2}}%
+ \fi%
+ }%
+ \edef\@tempb{\endgroup\expandonce\@tempb}%
+ \@tempb%
}%
\def\@tempc##1{\@tempb##1::\@nil}%
\expandafter\forcsvlist\expandafter\@tempc\expandafter{\@tempa}%
}%
- }
- \newcommand*\tud@x@geometry@init{}
- \newcommand*\tud@x@geometry@paper{}
- \newcommand*\tud@x@geometry@layout{}
- \newcommand*\tud@x@geometry@parameter{}
- \newcommand*\tud@geometry[2]{%
- \ifGm@layout%
- \setlength\tud@len@layoutheight{\Gm@layoutheight}%
- \setlength\tud@len@layoutwidth{\Gm@layoutwidth}%
+ }%
+ \newcommand*\tud@x@geometry@getlayout[1]{%
+ \ifGm@pass%
+ \let#1\@empty%
\else%
- \setlength\tud@len@layoutheight{\paperheight}%
- \setlength\tud@len@layoutwidth{\paperwidth}%
- \fi%
- \let\tud@x@geometry@paper\@empty%
- \let\tud@x@geometry@layout\@empty%
- \let\tud@x@geometry@parameter\@empty%
- \TUD@parameter@set{geometry}{#1}%
- \tud@area@set{paper}%
- \ifstr{#2}{newgeometry}{%
- \eappto\Gm@restore@org{%
- \paperwidth=\the\paperwidth\relax%
- \paperheight=\the\paperheight\relax%
- }%
- }{%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
- }%
- }%
- \ifx\tud@x@geometry@layout\@empty\else%
+ \tud@cdgeometry@assignlayout%
\begingroup%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \setlength\paperheight{\Gm@layoutheight}%
- \tud@area@set{layout}%
- \edef\tud@reserved{%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth=\paperwidth\relax\else\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight=\paperheight\relax\else\@tud@res@swatrue\fi%
+ \edef\tud@res@a{%
\endgroup%
- \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
- layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ \etex@unexpanded{\def#1}{%
+ layoutoffset={%
+ \the\tud@len@layouthoffset,\the\tud@len@layoutvoffset%
+ }%
+ \if@tud@res@swa%
+ ,layoutsize={\the\tud@len@layoutwidth,\the\tud@len@layoutheight}%
+ \fi%
}%
}%
- \tud@reserved%
+ \tud@res@a%
\fi%
- \def\@tempa{\tud@cmd@use{#2}}%
- \expandafter\@tempa\expandafter{\tud@x@geometry@parameter}%
- \ifstr{#2}{geometry}{%
- \ifbool{@tud@x@geometry@enabled}{%
- \eappto\tud@x@geometry@init{,\expandonce\tud@x@geometry@parameter}%
- }{}%
- }{}%
- }
- \renewcommand*\geometry[1]{\tud@geometry{#1}{geometry}}
- \renewcommand*\newgeometry[1]{%
- \tud@cmd@store{Gm@restore@org}%
- \tud@geometry{#1}{newgeometry}%
- \tud@cmd@restore{Gm@restore@org}%
- }
- \apptocmd{\Gm@changelayout}{%
- \ifboolexpr{bool {@tud@x@geometry@enabled} and bool {@atdocument}}{%
- \tud@cdgeometry@process%
- }{}%
- }{}{\tud@patch@wrn{Gm@changelayout}}%
- \renewcommand*\restoregeometry[1][]{%
- \IfArgIsEmpty{#1}{}{%
- \tud@cmd@store{TUD@SpecialOptionAtDocument}%
- \let\TUD@SpecialOptionAtDocument\@gobble%
- \TUDoption{cdgeometry}{#1}%
- \tud@cmd@restore{TUD@SpecialOptionAtDocument}%
- }%
- \ifnum\tud@cdgeometry@num=\@ne\relax
- \tud@loadgeometry{init@custom}%
+ }%
+ \newcommand*\tud@x@geometry@set[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \if@atdocument%
+ \edef\@tempa{#1}%
+ \tud@cs@store{Gm@restore@org}%
+ \eappto\Gm@restore@org{%
+ \noexpand\paperwidth=\the\paperwidth\relax%
+ \noexpand\paperheight=\the\paperheight\relax%
+ }%
+ \def\@tempc{\tud@cs@use{newgeometry}}%
+ \expandafter\@tempc\expandafter{\@tempa}%
+ \tud@cs@restore{Gm@restore@org}%
\else%
- \tud@loadgeometry{init@typearea}%
+ \Gm@initnewgm%
+ \edef\@tempa{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1%
+ }%
+ \def\@tempc{\tud@cs@use{geometry}}%
+ \expandafter\@tempc\expandafter{\@tempa,driver=none}%
\fi%
- \tud@AfterChangingArea%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \newcommand*\tud@savegeometry[1]{%
+ \let\Gm@restore\@empty%
+ \savegeometry{#1}%
+ \csepreto{Gm@restore@@#1}{%
+ \noexpand\Gm@bindingoffset=\the\Gm@bindingoffset%
+ \ifGm@includehead%
+ \noexpand\Gm@includeheadtrue%
+ \else%
+ \noexpand\Gm@includeheadfalse%
+ \fi%
+ \ifGm@includefoot%
+ \noexpand\Gm@includefoottrue%
+ \else%
+ \noexpand\Gm@includefootfalse%
+ \fi%
+ \ifGm@includemp%
+ \noexpand\Gm@includemptrue%
+ \else%
+ \noexpand\Gm@includempfalse%
+ \fi%
+ \ifGm@layout%
+ \noexpand\Gm@layouttrue%
+ \else%
+ \noexpand\Gm@layoutfalse%
+ \fi%
+ }%
+ }%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
}%
+ \newcommand*\tud@cdgeometry@layout{}%
\newcommand*\tud@cdgeometry@hmargin{}%
\newcommand*\tud@cdgeometry@vmargin{}%
\newcommand*\tud@cdgeometry@tudmargin{}%
\tud@if@v@lower{2.03}{\newcommand*\tud@cdgeometry@ddcmargin{}}{}%
- \renewcommand*\tud@cdgeometry@process{%
- \tud@AfterChangingArea%
- }%
- \renewcommand*\tud@cdgeometry@@process{%
+ \newcommand*\tud@cdgeometry@@process{%
\csuse{@ta@usegeometryfalse}%
\tud@cdgeometry@set%
\ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \if@tud@x@geometry@fixmargins%
+ \tud@x@geometry@fixmargins%
+ \fi%
\ifcase\tud@cdgeometry@num\relax%
- \ifGm@layout%
- \tud@skip@store{paperheight}%
- \tud@skip@store{paperwidth}%
- \setlength\paperheight{\tud@len@layoutheight}%
- \setlength\paperwidth{\tud@len@layoutwidth}%
- \fi%
- \tud@cmd@store{activateareas}%
- \tud@cmd@store{tud@AfterChangingArea}%
- \let\activateareas\relax%
- \let\tud@AfterChangingArea\relax%
- \recalctypearea%
- \ifGm@layout%
- \tud@skip@restore{paperheight}%
- \tud@skip@restore{paperwidth}%
- \fi%
- \tud@cmd@restore{activateareas}%
- \tud@cmd@restore{tud@AfterChangingArea}%
\edef\tud@cdgeometry@hmargin{%
left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
textwidth=\the\textwidth,%
@@ -3434,8 +4572,8 @@
\else% custom
\ifGm@pass\else%
\edef\tud@cdgeometry@hmargin{%
- left=\Gm@lmargin,%
- right=\Gm@rmargin,%
+ left=\the\dimexpr\oddsidemargin+1in-\Gm@bindingoffset\relax,%
+ textwidth=\the\textwidth,%
\ifGm@includemp%
includemp=true,%
\else%
@@ -3502,11 +4640,23 @@
}%
}{}%
\ifdim\dimexpr\tud@dim@extrabottommargin\relax=\z@\relax\else%
- \ClassWarning{\TUD@Class@Name}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea or custom layout is used\MessageBreak%
- (`cdgeometry=false/custom')%
- }%
+ \begingroup%
+ \edef\tud@res@a{%
+ The key `extrabottommargin' is ineffective\MessageBreak%
+ when\space%
+ \ifcase\tud@cdgeometry@num%
+ package `typearea' is used for layout with\MessageBreak%
+ `cdgeometry=typearea'%
+ \else%
+ a user-defined layout is used with\MessageBreak%
+ `cdgeometry=custom'%
+ \fi%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\ClassWarning{\noexpand\TUD@Class@Name}{\tud@res@a}%
+ }%
+ \tud@res@a%
\fi%
\else% true/symmetric/twoside
\ifcase\tud@cdgeometry@num\relax\or\or% true
@@ -3621,10 +4771,9 @@
\fi%
\ifdim\tud@len@areadiff<\z@\relax\setlength\tud@len@areadiff{\z@}\fi%
\global\tud@len@areadiff=\tud@len@areadiff%
+ \setlength\tud@len@areaheadvskip{.22\tud@len@topmargin}%
\if@tud@cdgeometry@adjust%
- \setlength\tud@len@areaheadvskip{.3\tud@len@topmargin}%
- \else%
- \setlength\tud@len@areaheadvskip{.6\tud@len@topmargin}%
+ \setlength\tud@len@areaheadvskip{.5\tud@len@areaheadvskip}%
\fi%
\global\tud@len@areaheadvskip=\tud@len@areaheadvskip%
\tud@if@v@lower{2.03}{%
@@ -3634,32 +4783,36 @@
\tud@cdgeometry@@@process%
}%
\newcommand*\tud@cdgeometry@@@process{%
- \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
- \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
\tud@if@v@lower{2.03}{%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin,%
\tud@cdgeometry@ddcmargin,%
ignorehead,ignorefoot%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudareaddc}%
}{}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin,%
\tud@cdgeometry@tudmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{tudarea}%
- \edef\@tempa{%
+ \tud@x@geometry@set{%
+ \tud@cdgeometry@layout,%
\tud@cdgeometry@hmargin,%
\tud@cdgeometry@vmargin%
}%
- \tud@setgeometry{\@tempa}%
\tud@savegeometry{stdarea}%
+ \ifcase\tud@cdgeometry@num\relax% false
+ \tud@savegeometry{current@typearea}%
+ \or% custom
+ \tud@savegeometry{current@custom}%
+ \fi%
\if@atdocument%
\ifstr{\tud@currentgeometry}{stdarea}{}{%
\expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
@@ -3687,153 +4840,183 @@
includemp=false%
\fi%
}%
-}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \tud@if@tudheadings{#1}{%
- \tud@if@v@lower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \newcommand*\tud@cdgeometry@@init{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@x@geometry@getlayout{\tud@cdgeometry@layout}%
+ \tud@cs@store{tud@cdgeometry@num}%
+ \tud@cs@store{tud@dim@extrabottommargin}%
+ \def\tud@dim@extrabottommargin{\z@}%
+ \tud@cdgeometry@reset{custom}%
+ \begingroup%
+ \epreto\tud@x@geometry@init{%
+ paperwidth=\the\paperwidth,paperheight=\the\paperheight,%
+ \tud@cdgeometry@layout,%
+ \tud@cdgeometry@mpincl,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor,%
+ \tud@cdgeometry@hincl,%
+ \tud@cdgeometry@fincl,%
+ }%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\tud@cs@use{geometry}{\tud@x@geometry@init,driver=none}%
+ \noexpand\@tud@x@geometry@fixmarginstrue%
+ }%
+ \tud@res@a%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@custom}%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@x@typearea@warnings@off[\tud@res@a]%
+ \tud@x@typearea@init%
+ \tud@x@typearea@warnings@on%
+ \tud@cdgeometry@@process%
+ \tud@savegeometry{init@typearea}%
+ \def\tud@res@b##1{%
+ \eappto\Gm@restore@@init@typearea{%
+ \noexpand\PackageWarningNoLine{typearea}{##1}%
+ }%
+ }%
+ \forlistloop\tud@res@b{\tud@res@a}%
+ \tud@cs@restore{tud@cdgeometry@num}%
+ \tud@cs@restore{tud@dim@extrabottommargin}%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \ifcase\tud@cdgeometry@num\relax% typearea
+ \tud@loadgeometry{init@typearea}%
+ \or% custom
+ \tud@loadgeometry{init@custom}%
+ \fi%
+ \@tud@x@geometry@fixmarginstrue%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@currentgeometry{}
+ \newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
+ \ifstr{#1}{\GetRealPageStyle{#1}}{%
+ \tud@if@tudheadings{#1}{%
+ \tud@if@v@lower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \ifstr{\tud@currentgeometry}{tudarea}{}{%
+ \tud@loadgeometry{tudarea}%
+ \gdef\tud@currentgeometry{tudarea}%
+ }%
+ \else% \tud@ddc@foot@num!=false
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@loadgeometry{tudareaddc}%
+ \gdef\tud@currentgeometry{tudareaddc}%
+ }%
+ \fi%
+ }{%
\ifstr{\tud@currentgeometry}{tudarea}{}{%
\tud@loadgeometry{tudarea}%
\gdef\tud@currentgeometry{tudarea}%
}%
- \else% \tud@ddc@foot@num!=false
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
- }%
- \fi%
+ }%
+ \setlength\tud@len@areavskip{\z@}%
+ \tud@komafont@set{pagenumber}{\usekomafont{tudheadings}}%
+ \tud@komafont@set{pagefoot}{\usekomafont{tudheadings}}%
}{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \tud@loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \tud@loadgeometry{stdarea}%
+ \gdef\tud@currentgeometry{stdarea}%
}%
- }%
- \setlength\tud@len@areavskip{\z@}%
- \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
- \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
- }{%
- \ifstr{\tud@currentgeometry}{stdarea}{}{%
- \tud@loadgeometry{stdarea}%
- \gdef\tud@currentgeometry{stdarea}%
- }%
- \setlength\tud@len@areavskip{\tud@len@areadiff}%
- \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
- \if@hincl%
- \addtolength\tud@len@areavskip{%
- \dimexpr-\headheight-\tud@len@headsep\relax%
- }%
+ \setlength\tud@len@areavskip{\tud@len@areadiff}%
+ \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
+ \if@hincl%
+ \addtolength\tud@len@areavskip{%
+ \dimexpr-\headheight-\tud@len@headsep\relax%
+ }%
+ \fi%
\fi%
- \fi%
- \tud@font@koma@unset{pagefoot}%
- \tud@font@koma@unset{pagenumber}%
+ \tud@komafont@unset{pagenumber}%
+ \tud@komafont@unset{pagefoot}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
+ }
+}
+\newcommand*\tud@x@typearea@before{%
+ \tud@skip@store{paperheight}%
+ \tud@skip@store{paperwidth}%
+ \begingroup%
+ \tud@cdgeometry@assignlayout%
+ \edef\tud@res@a{%
+ \endgroup%
+ \etex@unexpanded{\setlength\paperheight}{\the\tud@len@layoutheight}%
+ \etex@unexpanded{\setlength\paperwidth}{\the\tud@len@layoutwidth}%
}%
- \global\tud@len@areavskip=\tud@len@areavskip%
- }{}%
+ \tud@res@a%
}
-\newcommand*\tud@AfterChangingArea{%
- \tud@cdgeometry@@process%
- \KOMAoptions{pagesize=\@pagesizelast}%
- \global\@tud@mainlogo@settrue%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+\newcommand*\tud@x@typearea@after{%
+ \tud@skip@restore{paperheight}%
+ \tud@skip@restore{paperwidth}%
+ \if@atdocument%
+ \tud@cdgeometry@reset{typearea}%
+ \tud@cdgeometry@process%
+ \else%
+ \TUD@key@preset{cdgeometry}{false}%
+ \fi%
}
-\newcommand*\tud@cdgeometry@init{%
- \AtEndPreamble{%
- \if@tud@x@standalone@crop%
- \pagestyle{empty}%
- \let\tud@AfterChangingArea\relax%
- \let\tud@cdgeometry@process\relax%
- \else%
- \csuse{@ta@usegeometryfalse}%
- \def\tud@reserved##1{%
- \tud@setgeometry{%
- \tud@cdgeometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- \else%
- reversemarginpar=false,%
- \fi%
- bindingoffset=\the\ta@bcor,%
- \tud@cdgeometry@hincl,%
- \tud@cdgeometry@fincl,%
- \tud@x@geometry@init,%
- driver=none%
- }%
- \addtolength\oddsidemargin{-\Gm@layouthoffset}%
- \addtolength\evensidemargin{-\Gm@layouthoffset}%
- \addtolength\topmargin{-\Gm@layoutvoffset}%
- \tud@savegeometry{init@##1}%
+\newcommand*\tud@x@typearea@init{\recalctypearea}%
+\xpretocmd{\typearea}{%
+ \tud@x@typearea@before%
+ \def\tud@x@typearea@init{\typearea[#1]{#2}}%
+}{}{\tud@patch@wrn{typearea}}
+\xapptocmd{\typearea}{\tud@x@typearea@after}{}{\tud@patch@wrn{typearea}}
+\xpretocmd{\areaset}{%
+ \tud@x@typearea@before%
+ \begingroup%
+ \setlength\@tempdima{#2}%
+ \setlength\@tempdimb{#3}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \noexpand\def\noexpand\tud@x@typearea@init{%
+ \noexpand\areaset[#1]{\the\@tempdima}{\the\@tempdimb}%
}%
- \begingroup%
- \let\scr@grouplevel@test\@gobble%
- \setlength\paperheight{\Gm@layoutheight}%
- \setlength\paperwidth{\Gm@layoutwidth}%
- \let\activateareas\relax%
- \tud@x@ta@warnings@off%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{DIV}%
- \def\@tempb{{0}}%
- \ifx\@tempa\@tempb\relax%
- \KOMAoptionOf[\def\@tempa]{typearea.\scr@pkgextension}{paper}%
- \@for\@tempb:=\@tempa\do{%
- \@tempswatrue%
- \ifx\@tempb\defaultpapersize\relax%
- \@tempswafalse%
- \fi%
- }%
- \if@tempswa%
- \KOMAoptions{DIV=11}%
- \fi%
- \fi%
- \recalctypearea%
- \tud@x@ta@warnings@on%
- \edef\tud@x@geometry@init{%
- left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
- textwidth=\the\textwidth,%
- marginparwidth=\the\marginparwidth,%
- marginparsep=\the\marginparsep,%
- bindingoffset=\the\ta@bcor,%
- \if@hincl%
- top=\the\dimexpr\topmargin+1in\relax,%
- \else%
- top=\the\dimexpr\topmargin%
- +\headheight+\headsep+1in\relax,%
- \fi%
- headheight=\the\headheight,%
- headsep=\the\headsep,%
- textheight=\the\textheight,%
- footskip=\the\footskip%
- }%
- \tud@reserved{typearea}%
- \global\let\Gm@restore@@init@typearea\Gm@restore@@init@typearea%
+ }%
+ \tud@res@a%
+}{}{\tud@patch@wrn{areaset}}
+\xapptocmd{\areaset}{\tud@x@typearea@after}{}{\tud@patch@wrn{areaset}}
+\tud@cs@store{storeareas}
+\renewcommand*\storeareas[1]{%
+ \begingroup
+ \tud@x@geometry@fixmargins%
+ \tud@cs@use{storeareas}{#1}%
+ \edef\tud@res@a{%
\endgroup%
- \tud@reserved{custom}%
- \AfterCalculatingTypearea{\tud@AfterChangingArea}%
- \AfterSettingArea{\tud@AfterChangingArea}%
- \ifundef{\AfterRestoreareas}{}{%
- \AfterRestoreareas{\tud@AfterChangingArea}%
+ \etex@unexpanded{\def#1}{%
+ \expandonce#1%
+ \def\noexpand\tud@cdgeometry@num{\tud@cdgeometry@num}%
}%
- \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
- \tud@cdgeometry@process%
- \fi%
- \let\tud@cdgeometry@init\relax%
- }%
+ }%
+ \tud@res@a%
}
-\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\AfterRestoreareas{\tud@cdgeometry@process}%
\TUD@UnwindPackage{geometry}{%
- \newif\ifGm@layout%
- \newif\ifGm@showcrop%
- \newif\ifGm@pass%
- \let\Gm@layoutheight\paperheight%
- \let\Gm@layoutwidth\paperwidth%
- \let\Gm@layouthoffset\z@%
- \let\Gm@layoutvoffset\z@%
- \renewcommand*\tud@cdgeometry@@process{\tud@cdgeometry@set}%
- \let\tud@BeforeSelectAnyPageStyle\@gobble%
- \providecommand*\tud@setgeometry[1]{}%
- \providecommand*\tud@savegeometry[1]{}%
+ \newcommand*\tud@cdgeometry@@init{%
+ \tud@cdgeometry@process%
+ \let\tud@cdgeometry@@init\relax%
+ }%
+ \newcommand*\tud@cdgeometry@@process{%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \tud@cdgeometry@set%
+ }%
+ \newcommand*\tud@x@geometry@fixmargins{}%
+}
+\newcommand*\tud@cdgeometry@init{\tud@cdgeometry@@init}%
+\AfterPackage{svg-extract}{%
+ \renewcommand*\tud@cdgeometry@init{%
+ \if@svgx@standalone%
+ \@tud@x@scr@fontsize@settrue%
+ \else%
+ \tud@cdgeometry@@init%
+ \fi%
+ }%
}
\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
\let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
@@ -3898,7 +5081,7 @@
contents={%
\ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\color{HKS41!60}%
- \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \setlength\@tempdima{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
\ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
\raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
\fi%
@@ -4164,16 +5347,19 @@
}{}{\tud@patch@wrn{thispagestyle}}
\newcommand*\tud@pagestyle{}
\let\tud@pagestyle\pagestyle
+\newcommand*\currentpagestyle{plain}
\pretocmd{\tud@pagestyle}{%
\tud@BeforeSelectAnyPageStyle{#1}%
\edef\currentpagestyle{#1}%
}{}{\tud@patch@wrn{pagestyle}}
-\tud@cmd@store{pagestyle}
+\tud@cs@store{pagestyle}
\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
\BeforePackage{scrlayer-scrpage}{%
- \tud@cmd@restore{pagestyle}%
+ \tud@cs@restore{pagestyle}%
\undef\tud@pagestyle%
+ \undef\currentpagestyle%
}
+\AfterPackage!{scrlayer-scrpage}{\AtEndPreamble{\tud@cdgeometry@init}}
\TUD@UnwindPackage{scrlayer-scrpage}{%
\ifcsundef{if@chapter}{%
\newif\if@chapter%
@@ -4233,6 +5419,7 @@
\fi%
\fi%
}{%
+ \tud@locked@bool@preset{@tud@head@widebar}{true}%
\ifstr{\tud@pagecolor}{HKS41}{%
\renewcommand*\tud@head@logocolor{white}%
\renewcommand*\tud@head@fontcolor{white}%
@@ -4242,7 +5429,6 @@
\else%
\renewcommand*\tud@foot@fontcolor{HKS41!30}%
\fi%
- \bool@std@lock{@tud@head@widebar}{true}%
}{%
\renewcommand*\tud@head@logocolor{HKS41}%
\renewcommand*\tud@head@fontcolor{HKS41}%
@@ -4257,50 +5443,12 @@
\renewcommand*\tud@foot@logocolor{HKS41}%
\renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
- \bool@std@lock{@tud@head@widebar}{true}%
}%
}%
\let\tud@len@line\tud@len@thinline%
\ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}%
\global\let\tud@foot@fontcolor\tud@foot@fontcolor%
}
-\newcommand*\tud@head@fontsize{}
-\newcommand*\tud@head@font@light{}
-\newcommand*\tud@head@font@bold{}
-\newcommand*\tud@head@font@set{%
- \ifcase\tud@head@font@num\relax% false
- \ifnum\tud@cdfont@num>\z@\relax% true/heavy
- \if@tud@head@font@set%
- \ClassWarning{\TUD@Class@Name}{%
- It isn't possible to use `cdhead=false'\MessageBreak%
- together with `cdfont=true'%
- }%
- \fi%
- \TUDoptions{cdhead=true}%
- \fi%
- \fi%
- \if@tud@head@font@set%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}%
- \ifcase\tud@head@font@num\relax\else% true/heavy
- \if@tud@univers%
- \ifcase\tud@head@font@num\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@fontsize}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{m}{n}{\tud@head@fontsize}%
- \fi%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@fontsize}%
- \fi%
- \fi%
- \global\@tud@head@font@setfalse%
- \global\@tud@head@text@settrue%
- \fi%
-}
\newcommand*\tud@head@text@line{}
\newcommand*\tud@head@text@list{}
\newcommand*\tud@head@text@delimiter{}
@@ -4327,9 +5475,9 @@
\newcommand*\tud@head@text@wrn[1]{}
\newcommand*\tud@head@text@set{%
\if@tud@head@text@set%
- \def\tud@head@text@line{}%
- \def\tud@head@text@list{}%
- \def\tud@head@text@buffer{}%
+ \let\tud@head@text@line\@empty%
+ \let\tud@head@text@list\@empty%
+ \let\tud@head@text@buffer\@empty%
\tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}%
\tud@head@text@add{\tud@head@font@light}{\@department}%
\tud@head@text@add{\tud@head@font@light}{\@institute}%
@@ -4348,10 +5496,6 @@
\fi%
}
\newcommand*\tud@head@text@box{%
- \ifx\@faculty\@empty%
- \ClassWarningNoLine{\TUD@Class@Name}{No `\string\faculty' given}%
- \faculty{}%
- \fi%
\def\@tempb{\tud@color{\tud@head@fontcolor}}%
\def\@tempc{\depth+\tud@len@heavyline}%
\def\@tempa##1{%
@@ -4597,7 +5741,7 @@
}%
\vss\vss%
}{%
- You should reduce `footlogoheight', because it is\MessageBreak
+ You should reduce `footlogoheight', because it is\MessageBreak%
too high (\the\dimexpr\tud@dim@footlogoheight\relax).%
\ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
\MessageBreak%
@@ -4642,8 +5786,8 @@
}
\newcommand*\tud@footlogo@cmd@@set[2]{%
\begingroup%
- \def\@tempa{}%
- \def\@tempb{}%
+ \let\@tempa\@empty%
+ \let\@tempb\@empty%
\@tempswatrue%
\def\do##1{%
\if@tempswa%
@@ -4675,19 +5819,26 @@
\usebox\z@\hspace*{-\wd\z@}%
}
\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@usefont[1]{%
+ \usekomafont{tudheadings}{%
+ \tud@footcontent@fontsize%
+ \tud@footcontent@fontface%
+ \selectfont%
+ #1%
+ }%
+}
+\newcommand*\tud@footcontent@fontsize{}
\newcommand*\tud@footcontent@fontface{}
\newcommand*\tud@footcontent@left{}
\newcommand*\tud@footcontent@right{\@nil}
\newcommand*\footcontent{%
\kernel@ifstar{%
- \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \renewcommand*\tud@footcontent@fontsize{}%
\tud@footcontent@do%
}{%
- \renewcommand*\tud@footcontent@fontface{%
- \usekomafont{tudheadings}%
+ \renewcommand*\tud@footcontent@fontsize{%
\setlength\@tempdima{\tud@head@fontsize\p@}%
- \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
- \selectfont%
+ \fontsize{\@tempdima}{1.25\@tempdima}%
}%
\tud@footcontent@do%
}%
@@ -4699,7 +5850,9 @@
}
\newcommand*\tud@footcontent@@do{}
\def\tud@footcontent@@do#1#2[#3]{%
- \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#1}\relax\else%
+ \renewcommand*\tud@footcontent@fontface{#1}%
+ \fi%
\if\detokenize{*#2}\relax\else%
\renewcommand*\tud@footcontent@left{#2}%
\fi%
@@ -4731,25 +5884,26 @@
\linespread{1}%
\vss%
\hbox to #2{%
- \tud@footcontent@fontface%
- \def\@tempa{\@nil}%
- \ifx\@tempa\tud@footcontent@right\relax%
- \vtop{%
- \hsize=\dimexpr#2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \else%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2\relax%
- \strut\ignorespaces\tud@footcontent@left\strut%
- }%
- \hspace{\columnsep}%
- \vtop{%
- \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
- \strut\ignorespaces\tud@footcontent@right\strut%
- }%
- \fi%
- \hss%
+ \tud@footcontent@usefont{%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax%
+ \vtop{%
+ \hsize=\dimexpr#2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \else%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
+ }%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
+ }%
+ \fi%
+ \hss%
+ }%
}%
\vss\vss%
}{%
@@ -4766,22 +5920,20 @@
\hbox to #2{}%
\fi%
}
-\AtBeginDocument{%
- \tud@if@v@lower{2.04}{%
- \renewcommand*\tud@comp@clearpage{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
- \fi%
- }%
- \renewcommand*\tud@comp@resetpagestyle{%
- \if@tud@ddc@internal\else%
- \tud@if@tudheadings{\currentpagestyle}{%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- }{}%
- \fi%
- }%
- }{}%
-}
+\tud@if@v@lower{2.04}{%
+ \renewcommand*\tud@comp@clearpage{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}%
+ \fi%
+ }%
+ \renewcommand*\tud@comp@resetpagestyle{%
+ \if@tud@ddc@internal\else%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ }{}%
+ \fi%
+ }%
+}{}%
\newcommand*\tud@ddc@check{%
\let\@tempa\tud@ddc@head@num%
\let\@tempb\tud@ddc@foot@num%
@@ -4874,7 +6026,7 @@
]
\TUD@parameter@family{tudpage}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{%
\tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{%
\ifstr{#1}{empty}{\renewcommand*\tud@envir@ps{empty.tudheadings}}{%
@@ -4897,6 +6049,42 @@
}%
]{fancyhdr}
%%% From File: tudscr-layout.dtx
+\newcommand*\tud@cleardoublespecialpage[2][]{%
+ \begingroup%
+ \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
+ \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
+ #2%
+ \ifboolexpr{bool {@twoside} and bool {@openright}}{%
+ \if@tud@clearcolor%
+ \def\@tempa{%
+ #1%
+ \tud@cleardoublepage%
+ \endgroup%
+ }%
+ \else%
+ \def\@tempa{%
+ \endgroup%
+ #1%
+ \tud@cleardoublepage%
+ }%
+ \fi%
+ }{%
+ \if@tud@clearcolor\tud@clearcolor@wrn\fi%
+ \def\@tempa{%
+ \endgroup%
+ #1%
+ }%
+ }%
+ \@tempa%
+ \@afterindentfalse\@afterheading%
+}
+\newcommand*\tud@clearcolor@wrn{%
+ \ClassWarning{\TUD@Class@Name}{%
+ Option `clearcolor' is only available together with\MessageBreak%
+ options `twoside' and `open=right'%
+ }%
+ \global\let\tud@clearcolor@wrn\relax%
+}
\newcommand*\tud@x@scr@headings@current{}
\newcommand*\tud@sec@fontsize{}
\newcommand*\tud@thesis@fontsize{}
@@ -4914,304 +6102,313 @@
\ifstr{standardclasses}{\@tempc}{\@tempa{standardclasses}{\Huge}{\LARGE}}{%
\ifstr{big}{\@tempc}{\@tempa{big}{\Huge}{\LARGE}}{%
\ifstr{normal}{\@tempc}{\@tempa{normal}{\huge}{\Large}}{%
- \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\Large}}{}}}}%
+ \ifstr{small}{\@tempc}{\@tempa{small}{\LARGE}{\large}}{}}}}%
}%
+ \begingroup
+ \tud@sec@fontsize%
+ \@tempskipa=\glueexpr%
+ .8\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+ \relax\relax%
+ \edef\tud@res@a{%
+ \endgroup%
+ \def\noexpand\tud@cd@afterskip{\the\@tempskipa}%
+ }%
+ \tud@res@a%
}
\AtEndPreamble{\tud@x@scr@headings@set}
\newcommand*\tud@x@scr@headings@reset{%
- \tud@layout@process%
+ \tud@cd@process%
\tud@x@scr@headings@set[%
- \ifcase\tud@layout@part@num\relax\else% !false
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
+ \ifcase\tud@cd@part@num\relax\else% !false
+ \tud@komafont@reset{part}%
+ \tud@komafont@reset{partnumber}%
\fi%
- \ifcase\tud@layout@chapter@num\relax\else% !false
- \tud@font@koma@reset{chapter}%
- \tud@font@koma@reset{chapterprefix}%
+ \ifcase\tud@cd@chapter@num\relax\else% !false
+ \tud@komafont@reset{chapter}%
+ \tud@komafont@reset{chapterprefix}%
\fi%
- \ifcase\tud@layout@section@num\relax\else% !false
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
+ \ifcase\tud@cd@section@num\relax\else% !false
+ \tud@komafont@reset{section}%
+ \tud@komafont@reset{subsection}%
+ \tud@komafont@reset{subsubsection}%
\fi%
]%
}
-\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}}
-\newcommand*\tud@headmidvskip@reverse{%
- \setbox\z@\vbox{\tud@headmidvskip@normal}%
- \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}%
+\newcommand*\tud@sec@fontface[1][]{\tud@sec@@fontface{#1}}%
+\newcommand*\tud@sec@@fontface[1]{%
+ \sectfont#1%
+ \if@tud@cdfont@active\if@tud@heavyheadings%
+ \if@tud@x@mweights@enabled%
+ \edef\bfseries@rm{\tud@cdfont@ebf}%
+ \edef\bfseries@sf{\tud@cdfont@ebf}%
+ \edef\bfseries@tt{\tud@ttfont@ebf}%
+ \fi%
+ \let\bfdefault\tud@cdfont@ebf%
+ \fontseries{\tud@cdfont@ebf}%
+ \fi\fi%
+ \selectfont%
+}
+\if@tud@cdoldfont@active
+ \renewcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdoldfont@nodin%
+ \tud@sec@@fontface{#1}%
+ \else%
+ \tud@db\tud@raggedright%
+ \fi%
+ }%
+\fi
+\newcommand*\tud@sec@format[2][]{%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \endgroup%
+ }%
+ #2%
+}
+\if@tud@cdoldfont@active
+ \newcommand*\tud@sec@uppercase{\MakeUppercase}%
+ \AfterPackage*{textcase}{%
+ \renewcommand*\tud@sec@uppercase{\MakeTextUppercase}%
+ }%
+ \renewcommand*\tud@sec@format[2][]{%
+ \@tud@res@swafalse%
+ \IfArgIsEmpty{#1}{%
+ \tud@sec@strut%
+ \tud@ifdin{\@tud@res@swatrue}{}%
+ }{%
+ \begingroup%
+ \usefontofkomafont{#1}%
+ \tud@sec@strut%
+ \tud@ifdin{\aftergroup\@tud@res@swatrue}{}%
+ \endgroup%
+ }%
+ \if@tud@res@swa%
+ \tud@sec@uppercase{#2}%
+ \else%
+ #2%
+ \fi%
+ }%
+\fi
+\newrobustcmd*\tud@sec@strut{%
+ \begingroup%
+ \strut\setbox\strutbox\hbox{\vphantom{\textsuperscript{\"A\"O\"U}}}\strut%
+ \endgroup%
}
\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
\newcommand*\tud@chapter@fontcolor{}
\newcommand*\tud@section@fontcolor{}
\providecommand*\raggedtitle{\tud@raggedright}
-\newkomafont{parttitle}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- \usesizeofkomafont{section}%
-}
-\newcommand*\tud@layout@process{%
- \ifcase\tud@layout@cover@num\relax% false
- \bool@std@lock{@tud@cdgeometry@cover}{false}%
- \else% !false
- \bool@std@lock{@tud@cdgeometry@cover}{true}%
- \fi%
- \ifcase\tud@layout@title@num\relax% false
- \tud@cmd@restore{titlepagestyle}%
- \tud@font@koma@unset{titlehead}%
- \tud@font@koma@unset{title}%
- \tud@font@koma@unset{subtitle}%
- \tud@font@koma@unset{subject}%
- \tud@font@koma@unset{author}%
- \tud@font@koma@unset{date}%
- \tud@font@koma@unset{publishers}%
+\newcommand*\tud@cd@process{%
+ \ifcase\tud@cd@title@num\relax% false
+ \tud@cs@restore{titlepagestyle}%
+ \tud@komafont@unset{titlehead}%
+ \tud@komafont@unset{title}%
+ \tud@komafont@unset{subtitle}%
+ \tud@komafont@unset{subject}%
+ \tud@komafont@unset{author}%
+ \tud@komafont@unset{date}%
+ \tud@komafont@unset{publishers}%
\else% !false
- \tud@cmd@store{titlepagestyle}%
+ \tud@cs@store{titlepagestyle}%
\renewcommand*\titlepagestyle{plain.tudheadings}%
- \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
- \tud@font@koma@set{title}{%
- \raggedtitle%
+ \tud@komafont@set{titlehead}{\usekomafont{titlepage}}%
+ \tud@komafont@set{title}{%
\usekomafont{disposition}%
+ \raggedtitle%
\tud@sec@fontface%
\tud@sec@fontsize%
\tud@color{\tud@title@fontcolor}%
}%
- \tud@font@koma@set{subtitle}{%
- \raggedtitle%
- \ifstr{\mddefault}{l}{%
- \tud@sec@fontface[\fontseries{m}]%
- }{%
- \tud@sec@fontface[\fontseries{bx}]%
- }%
- \usesizeofkomafont{section}%
- \tud@color{\tud@title@fontcolor}%
+ \tud@komafont@set{subtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
}%
- \tud@font@koma@set{subject}{%
+ \tud@komafont@set{subject}{%
\sffamily%
- \bfseries%
+ \usesizeofkomafont{section}%
\tud@color{\tud@title@fontcolor}%
}%
- \tud@font@koma@set{author}{\usekomafont{subject}}%
- \tud@font@koma@set{date}{\usekomafont{titlepage}}%
- \tud@font@koma@set{publishers}{\usekomafont{author}}%
- \fi%
- \ifcase\tud@layout@part@num\relax% false
- \tud@cmd@restore{partheadstartvskip}%
- \tud@cmd@restore{partheadendvskip}%
- \tud@cmd@restore{partheademptypage}%
- \tud@cmd@restore{partpagestyle}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@restore{scr@@startpart}%
- \tud@cmd@restore{scr@@startspart}%
- }{%
- \tud@cmd@restore{@part}%
- \tud@cmd@restore{@spart}%
- }%
- \tud@sectioning@reset[addpart]{part}%
- \tud@font@koma@unset{partnumber}%
- \tud@cmd@restore{raggedpart}%
+ \tud@komafont@set{author}{\usekomafont{subject}}%
+ \tud@komafont@set{publishers}{\usekomafont{author}}%
+ \tud@komafont@set{date}{\usekomafont{titlepage}}%
+ \fi%
+ \ifcase\tud@cd@part@num\relax% false
+ \tud@cs@restore{scr@part@beforeskip}%
+ \tud@cs@restore{scr@part@innerskip}%
+ \tud@cs@restore{scr@part@afterskip}%
+ \tud@cs@restore{partheadstartvskip}%
+ \tud@cs@restore{partheadendvskip}%
+ \tud@cs@restore{partheademptypage}%
+ \tud@cs@restore{partpagestyle}%
+ \tud@cs@restore{partlineswithprefixformat}%
+ \tud@komafont@unset{part}%
+ \tud@komafont@unset{partnumber}%
+ \tud@cs@restore{raggedpart}%
\else% !false
- \tud@cmd@store{partheadstartvskip}%
+ \tud@cs@store{scr@part@beforeskip}%
+ \renewcommand*\scr@part@beforeskip{\tud@cd@beforeskip}%
+ \tud@cs@store{scr@part@innerskip}%
+ \renewcommand*\scr@part@innerskip{\tud@cd@innerskip}%
+ \tud@cs@store{scr@part@afterskip}%
+ \renewcommand*\scr@part@afterskip{\tud@cd@afterskip}%
+ \tud@cs@store{partheadstartvskip}%
\let\partheadstartvskip\tud@partheadstartvskip%
- \tud@cmd@store{partheadendvskip}%
- \let\partheadendvskip\tud@partheadendvskip%
- \tud@cmd@store{partheademptypage}%
- \let\partheademptypage\relax%
- \tud@cmd@store{partpagestyle}%
+ \tud@cs@store{partheadendvskip}%
+ \let\partheadendvskip\relax%
+ \tud@cs@store{partheademptypage}%
+ \let\partheademptypage\tud@partheademptypage%
+ \tud@cs@store{partpagestyle}%
\renewcommand*\partpagestyle{plain.tudheadings}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@store{scr@@startpart}%
- \let\scr@@startpart\tud@@startpart%
- \tud@cmd@store{scr@@startspart}%
- \let\scr@@startspart\tud@@startspart%
- }{%
- \tud@cmd@store{@part}%
- \let\@part\tud@@part%
- \tud@cmd@store{@spart}%
- \let\@spart\tud@@spart%
- }%
- \if@tud@parttitle%
- \tud@sectioning@set{part}{\usekomafont{parttitle}}%
- \tud@font@koma@set{partnumber}{\usekomafont{parttitle}}%
- \else%
- \tud@sectioning@set{part}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \tud@font@koma@set{partnumber}{%
- \tud@sec@fontface%
- \tud@color{\tud@part@fontcolor}%
- }%
- \fi%
- \tud@cmd@store{raggedpart}%
+ \tud@cs@store{partlineswithprefixformat}%
+ \let\partlineswithprefixformat\tud@partlineswithprefixformat%
+ \tud@komafont@set{part}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
+ }%
+ \tud@komafont@set{partnumber}{%
+ \tud@sec@fontface%
+ \tud@color{\tud@part@fontcolor}%
+ }%
+ \tud@cs@store{raggedpart}%
\renewcommand*\raggedpart{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@chapter@num\relax% false
- \tud@cmd@restore{chapterheadstartvskip}%
- \tud@cmd@restore{chapterformat}%
- \tud@cmd@restore{@chapter}%
- \tud@cmd@restore{@schapter}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@restore{scr@@makechapterhead}%
- }{%
- \tud@cmd@restore{@@makechapterhead}%
- }%
- \tud@sectioning@reset[addchap]{chapter}%
- \tud@font@koma@unset{chapterprefix}%
- \tud@cmd@restore{raggedchapter}%
+ \ifcase\tud@cd@chapter@num\relax% false
+ \tud@cs@restore{scr@chapter@beforeskip}%
+ \tud@cs@restore{scr@chapter@innerskip}%
+ \tud@cs@restore{scr@chapter@afterskip}%
+ \tud@cs@restore{chapterheadstartvskip}%
+ \tud@cs@restore{chapterlineswithprefixformat}%
+ \tud@cs@restore{chapterlinesformat}%
+ \tud@cs@restore{tud@chapter@before@hook}%
+ \tud@cs@restore{tud@chapter@after@hook}%
+ \tud@komafont@unset{chapter}%
+ \tud@komafont@unset{chapterprefix}%
+ \tud@cs@restore{raggedchapter}%
\else% !false
- \tud@cmd@store{chapterheadstartvskip}%
+ \tud@cs@store{scr@chapter@beforeskip}%
+ \renewcommand*\scr@chapter@beforeskip{\tud@cd@beforeskip}%
+ \tud@cs@store{scr@chapter@innerskip}%
+ \renewcommand*\scr@chapter@innerskip{\tud@cd@innerskip}%
+ \tud@cs@store{scr@chapter@afterskip}%
+ \renewcommand*\scr@chapter@afterskip{\tud@cd@afterskip}%
+ \tud@cs@store{chapterheadstartvskip}%
\let\chapterheadstartvskip\tud@chapterheadstartvskip%
- \tud@cmd@store{chapterformat}%
- \tud@cmd@store{@chapter}%
- \tud@cmd@store{@schapter}%
- \ifcsdef{scr@v@3.18}{%
- \tud@cmd@store{scr@@makechapterhead}%
- \let\scr@@makechapterhead\tud@@makechapterhead%
- }{%
- \tud@cmd@store{@@makechapterhead}%
- \let\@@makechapterhead\tud@@makechapterhead%
- }%
- \tud@sectioning@set{chapter}{%
+ \tud@cs@store{chapterlineswithprefixformat}%
+ \let\chapterlineswithprefixformat\tud@chapterlineswithprefixformat%
+ \tud@cs@store{chapterlinesformat}%
+ \let\chapterlinesformat\tud@chapterlinesformat%
+ \tud@cs@store{tud@chapter@before@hook}%
+ \renewcommand*\tud@chapter@before@hook{\tud@chapter@pre}%
+ \tud@cs@store{tud@chapter@after@hook}%
+ \renewcommand*\tud@chapter@after@hook{\tud@chapter@app}%
+ \tud@komafont@set{chapter}{%
\tud@sec@fontface%
\tud@sec@fontsize%
\tud@color{\tud@chapter@fontcolor}%
}%
- \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
- \tud@cmd@store{raggedchapter}%
+ \tud@komafont@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
+ \tud@cs@store{raggedchapter}%
\renewcommand*\raggedchapter{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@section@num\relax% false
- \tud@sectioning@reset[addsec]{section}%
- \tud@sectioning@reset{subsection}%
- \tud@sectioning@reset{subsubsection}%
- \tud@sectioning@reset{minisec}%
- \tud@sectioning@reset{paragraph}%
- \tud@sectioning@reset{subparagraph}%
- \tud@cmd@restore{raggedsection}%
+ \ifcase\tud@cd@section@num\relax% false
+ \tud@cs@restore{sectionlinesformat}%
+ \tud@cs@restore{sectioncatchphraseformat}%
+ \tud@komafont@unset{section}%
+ \tud@komafont@unset{subsection}%
+ \tud@komafont@unset{subsubsection}%
+ \tud@komafont@unset{paragraph}%
+ \tud@komafont@unset{subparagraph}%
+ \tud@cs@restore{raggedsection}%
+ \tud@cs@restore{minisec}%
+ \tud@komafont@unset{minisec}%
\else% !false
- \renewcommand*\tud@section@fontcolor{}%
- \ifcase\tud@layout@section@num\relax\or\else% *color
- \renewcommand*\tud@section@fontcolor{HKS41}%
- \fi%
- \tud@sectioning@set{section}{%
+ \tud@cs@store{sectionlinesformat}%
+ \let\sectionlinesformat\tud@sectionlinesformat%
+ \tud@cs@store{sectioncatchphraseformat}%
+ \let\sectioncatchphraseformat\tud@sectioncatchphraseformat%
+ \tud@komafont@set{section}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subsection}{%
+ \tud@komafont@set{subsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subsubsection}{%
+ \tud@komafont@set{subsubsection}{%
\tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{minisec}{%
- \tud@sec@fontface%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{paragraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{paragraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ \tud@komafont@set{subparagraph}{%
+ \tud@color{\tud@section@fontcolor}%
}%
- \tud@sectioning@set{subparagraph}{%
- \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
- }%
- \tud@cmd@store{raggedsection}%
+ \tud@cs@store{raggedsection}%
\renewcommand*\raggedsection{\tud@raggedright}%
+ \tud@cs@store{minisec}%
+ \renewcommand\minisec[1]{%
+ \tud@cs@use{minisec}{\tud@sec@format{##1}}%
+ }%
+ \tud@komafont@set{minisec}{%
+ \tud@sec@fontface%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\color{HKS41}}%
+ \fi%
+ }%
\fi%
}
-\newcommand*\tud@layout@specialpage@set[1]{%
- \tud@font@koma@set{footnote}{%
+\newcommand*\tud@cd@specialpage@set[1]{%
+ \tud@komafont@set{footnote}{%
\edef\@tempa{%
\noexpand\tud@color{%
\expandafter\noexpand\csname tud@#1@fontcolor\endcsname%
}%
}\@tempa%
}%
- \tud@cmd@store{footnoterule}%
+ \tud@cs@store{footnoterule}%
\let\footnoterule\relax%
}
-\newcommand*\tud@layout@specialpage@unset{%
- \tud@font@koma@unset{footnote}%
- \tud@cmd@restore{footnoterule}%
+\newcommand*\tud@cd@specialpage@unset{%
+ \tud@komafont@unset{footnote}%
+ \tud@cs@restore{footnoterule}%
}
-\newcommand*\tud@partheadstartvskip{%
- \renewcommand*\tud@part@fontcolor{}% false/true
- \ifcase\tud@layout@part@num\relax\or\or% litecolor
- \renewcommand*\tud@part@fontcolor{HKS41}%
- \or% barcolor
- \renewcommand*\tud@part@fontcolor{HKS41}%
- \or% bicolor
- \renewcommand*\tud@part@fontcolor{HKS41}%
- \or% color
- \renewcommand*\tud@part@fontcolor{HKS41!30}%
- \or% full
- \renewcommand*\tud@part@fontcolor{HKS41!30}%
- \fi%
- \tud@layout@specialpage@set{part}%
+\newcommand*\tud@cd@beforeskip{%
+ \dimexpr-\tud@len@areavskip-\tud@len@areaheadvskip\relax%
+}
+\newcommand*\tud@cd@innerskip{.25\baselineskip}%
+\newcommand*\tud@cd@afterskip{%
+ .75\baselineskip \@plus .05\baselineskip \@minus .1\baselineskip%
+}
+\newcommand*\tud@cd@headstartvskip{%
+ \@tempskipa=\glueexpr\tud@cd@beforeskip\relax\relax%
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi%
+ \null\vskip-\baselineskip\vskip\@tempskipa%
+}
+\newcommand*\tud@cd@vphantom{%
\begingroup%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
- \TUD@deprecated@lengthcs{pageheadingsvskip}%
- \vspace*{\tud@dim@pageheadingsvskip}%
- \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \if@tud@parttitle%
- \begingroup%
- \tud@sec@fontface%
- \tud@sec@fontsize%
- \tud@color{\tud@part@fontcolor}%
- \ifx\@@title\@empty%
- \ClassWarning{\TUD@Class@Name}{%
- You activated the option `parttitle' but\MessageBreak%
- no title was given%
- }%
- \tud@makeuppercase{\strut}%
- \else%
- \tud@makeuppercase{\@@title}%
- \fi%
- \par\nobreak%
- {\usekomafont{titlepage}{\vskip 2ex\@plus1ex\@minus1ex}}%
- \endgroup%
- \else%
- \usekomafont{partnumber}{\tud@headmidvskip@reverse}%
- \fi%
+ \usekomafont{partnumber}{\nobreak\tud@sec@strut}%
+ \setlength\@tempskipa{\tud@cd@innerskip}%
+ \par\nobreak\vskip\@tempskipa%
\endgroup%
}
-\newcommand*\tud@partheadendvskip{%
- \tud@cleardoublespecialpage{%
- \renewcommand*\tud@pagecolor{}%
- \ifcase\tud@layout@part@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
- \or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
- \or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
- \or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
- \or% color
- \renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{1}%
- \or% full
- \renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{3}%
- \fi%
- \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
- \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
- \clearpage%
- }%
- \tud@layout@specialpage@unset%
-}
+\newcommand*\tud@preamble@fontcolor{}
\newcommand*\tud@partpreamble{%
+ \@tempskipa=\glueexpr\tud@cd@afterskip\relax%
+ \ifdim\@tempskipa<\z@\@tempskipa-\@tempskipa\fi%
+ \vskip\@tempskipa%
\ifnum\tud@abstract@level@num>\@ne\relax% sec/chap
\renewcommand*\tud@abstract@level@num{1}%
\fi%
\KOMAoptions{titlepage=false}%
+ \null\vskip-\baselineskip%
\addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}%
\addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}%
- \tud@color{\tud@part@fontcolor}%
- \vskip\dimexpr\topskip+.9\baselineskip\relax%
+ \let\tud@preamble@fontcolor\tud@part@fontcolor%
\@afterindentfalse\@afterheading%
}
\newcommand*\tud@chapterpreamble{%
@@ -5219,15 +6416,11 @@
\renewcommand*\tud@abstract@level@num{1}%
\fi%
\KOMAoptions{titlepage=false}%
+ \null\vskip-\baselineskip%
\if@tud@chapterpage%
- \ifcase\tud@cdfont@num\relax\or% true
- \TUDoptions{cdfont=true}%
- \or% heavy
- \TUDoptions{cdfont=heavy}%
- \fi%
\addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}%
\addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}%
- \tud@color{\tud@chapter@fontcolor}%
+ \let\tud@preamble@fontcolor\tud@chapter@fontcolor%
\fi%
\@afterindentfalse\@afterheading%
}
@@ -5241,123 +6434,106 @@
}{%
\def\@tempa####1@####2{%
\@nameuse{tud@####1preamble}%
+ \tud@color{\tud@preamble@fontcolor}%
\KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}%
}%
\hbox to\hsize{%
\let\phantomsection\relax%
- #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par%
+ #4\parbox[{#2}]{#3}{\@tempa#1#6\par\bigskip}#5\par%
}%
}{}{\tud@patch@wrn{set@@@@preamble}}
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
-\if@tempswa
- \newcommand*\tud@@startpart{}%
- \let\tud@@startpart\scr@@startpart%
- \ifcsdef{scr@v@3.21}{\@tempswatrue}{\@tempswafalse}%
- \if@tempswa%
- \patchcmd{\tud@@startpart}{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
- \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip%
- }{}%
- }{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{%
- \nobreak\tud@makeuppercase{\@nameuse{#1format}}%
- }%
- \if@tud@parttitle%
- \enskip%
- \else%
- \tud@headmidvskip@normal%
- \fi%
- }{%
- \if@tud@parttitle\else%
- \usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip@normal%
- \fi%
- }%
- }{}{\tud@patch@wrn{scr@@startpart}}%
- \else%
- \patchcmd{\tud@@startpart}{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{\@nameuse{#1format}}%
- \setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip%
- }{}%
- }{%
- \ifnumbered{#1}{%
- \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}%
- \if@tud@parttitle%
- \enskip%
- \else%
- \tud@headmidvskip@normal%
- \fi%
- }{%
- \if@tud@parttitle\else%
- \usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip@normal%
- \fi%
- }%
- }{}{\tud@patch@wrn{scr@@startpart}}%
+\newcommand*\tud@part@subtitle{}
+\newcommand*\setpartsubtitle[1]{\gdef\tud@part@subtitle{#1}}
+\newkomafont{partsubtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
+ \tud@color{\tud@part@fontcolor}%
+}
+\aliaskomafont{parttitle}{partsubtitle}
+\newcommand*\tud@chapter@subtitle{}
+\newcommand*\setchaptersubtitle[1]{\gdef\tud@chapter@subtitle{#1}}
+\newkomafont{chaptersubtitle}{%
+ \tud@thesis@fontsize%
+ \fontseries{\tud@cdfont@bf}\selectfont%
+ \tud@color{\tud@chapter@fontcolor}%
+}
+\newcommand*\tud@sec@subtitle[1]{%
+ \ifcsvoid{tud@#1@subtitle}{}{%
+ {\usekomafont{#1subtitle}{\tud@sec@format{\csuse{tud@#1@subtitle}}}}\par%
+ \global\cslet{tud@#1@subtitle}{\@empty}%
+ }%
+}
+\newcommand*\tud@partheadstartvskip{%
+ \renewcommand*\tud@part@fontcolor{}% false/true
+ \ifcase\tud@cd@part@num\relax\or\or% litecolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
+ \or% barcolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
+ \or% bicolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
+ \or% color
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
+ \or% full
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
\fi%
- \newcommand*\tud@@startspart{}%
- \let\tud@@startspart\scr@@startspart%
- \patchcmd{\tud@@startspart}{%
- \normalfont
- \sectfont\nobreak
- }{%
- \normalfont\sectfont\nobreak%
- \if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip@normal\nobreak%
+ \tud@cd@specialpage@set{part}%
+ \tud@cd@headstartvskip%
+ \TUD@deprecated@lengthcs{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
+}
+\newcommand*\tud@partheademptypage{%
+ \tud@cleardoublespecialpage{%
+ \renewcommand*\tud@pagecolor{}%
+ \ifcase\tud@cd@part@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
+ \or% litecolor
+ \tud@locked@num@set{tud@head@bar@num}{1}%
+ \or% barcolor
+ \tud@locked@num@set{tud@head@bar@num}{2}%
+ \or% bicolor
+ \tud@locked@num@set{tud@head@bar@num}{3}%
+ \or% color
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
+ \or% full
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
- }{}{\tud@patch@wrn{scr@@startspart}}%
-\else
- \newcommand*\tud@@part{}%
- \let\tud@@part\@part%
- \patchcmd{\tud@@part}{%
- \ifnumbered{part}{%
- \size@partnumber{\partformat}%
- \setlength{\@tempskipa}{\scr@part@innerskip}%
- \partheadmidvskip%
- }{}%
- }{%
- \ifnumbered{part}{%
- \size@partnumber{\tud@makeuppercase{\partformat}}%
- \if@tud@parttitle%
- \enskip%
- \else%
- \tud@headmidvskip@normal%
- \fi%
- }{%
- \if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip@normal%
- \fi%
- }%
- }{}{\tud@patch@wrn{@part}}%
- \newcommand*\tud@@spart{}%
- \let\tud@@spart\@spart%
- \patchcmd{\tud@@spart}{%
- \normalfont
- \sectfont\nobreak\size@part
- }{%
- \normalfont\sectfont\nobreak%
- \if@tud@parttitle\else%
- \size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip@normal\nobreak%
+ \clearpage%
+ }%
+ \tud@cd@specialpage@unset%
+}
+\newcommand*\tud@partformat{}%
+\newcommand*\tud@partlineswithprefixformat[3]{%
+ \if@tud@parttitle%
+ \ifx\@@title\@empty%
+ \ClassWarning{\TUD@Class@Name}{%
+ You activated the option `parttitle' but\MessageBreak%
+ no title was given%
+ }%
\fi%
- \size@part%
- }{}{\tud@patch@wrn{@spart}}%
-\fi
+ \tud@cd@vphantom%
+ \tud@sec@format[#1]{%
+ \usekomafont{#1}{\nobreak\interlinepenalty \@M\@@title\strut\@@par}%
+ }%
+ \setpartsubtitle{%
+ \setkomafont{part}{}%
+ \tud@sec@format[partnumber]{\IfUseNumber{\partformat\enskip}{}#3}%
+ }%
+ \else%
+ \edef\tud@partformat{\noexpand\tud@sec@format{\expandonce\partformat}}%
+ \let\partformat\tud@partformat%
+ \IfUseNumber{}{\tud@cd@vphantom}%
+ #2\tud@sec@format[#1]{#3}%
+ \fi%
+ \tud@sec@subtitle{#1}%
+}
\newcommand*\tud@chapterheadstartvskip{%
\renewcommand*\tud@chapter@fontcolor{}%
- \ifcase\tud@layout@chapter@num\relax\or\else% *color
+ \ifcase\tud@cd@chapter@num\relax\or\else% *color
\renewcommand*\tud@chapter@fontcolor{HKS41}%
\fi%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip\relax%
- }%
+ \tud@cd@headstartvskip%
\if@tud@chapterpage%
\TUD@deprecated@lengthcs{pageheadingsvskip}%
\vspace*{\tud@dim@pageheadingsvskip}%
@@ -5366,42 +6542,28 @@
\vspace*{\tud@dim@headingsvskip}%
\fi%
}
-\newcommand*\tud@@makechapterhead{}%
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
-\if@tempswa
- \let\tud@@makechapterhead\scr@@makechapterhead%
- \patchcmd{\tud@@makechapterhead}{%
- \csname #1format\endcsname%
- \setlength{\@tempskipa}{\csname scr@#1@innerskip\endcsname}%
- \chapterheadmidvskip
- }{%
- \tud@headmidvskip@reverse%
- \vskip-\parskip%
- \tud@makeuppercase{\csname #1format\endcsname}%
- \tud@headmidvskip@normal%
- }{}{\tud@patch@wrn{scr@@makechapterhead}}%
-\else
- \let\tud@@makechapterhead\@@makechapterhead%
- \patchcmd{\tud@@makechapterhead}{%
- \chapterformat
- \setlength{\@tempskipa}{\scr@chapter@innerskip}%
- \chapterheadmidvskip
- }{%
- \tud@headmidvskip@reverse%
- \vskip-\parskip%
- \tud@makeuppercase{\chapterformat}%
- \tud@headmidvskip@normal%
- }{}{\tud@patch@wrn{@@makechapterhead}}%
-\fi
+\newcommand*\tud@chapterformat{}%
+\newcommand*\tud@chapterlineswithprefixformat[3]{%
+ \edef\tud@chapterformat{%
+ \noexpand\tud@sec@format{\expandonce\chapterformat}%
+ }%
+ \let\chapterformat\tud@chapterformat%
+ \IfUseNumber{}{\tud@cd@vphantom}%
+ #2\tud@sec@format[#1]{#3}%
+ \tud@sec@subtitle{#1}%
+}
+\newcommand*\tud@chapterlinesformat[3]{%
+ \tud@cd@vphantom%
+ \@hangfrom{#2}{\tud@sec@format[#1]{#3}}%
+ \tud@sec@subtitle{#1}%
+}
\newcommand*\tud@chapter@pre{%
\if@tud@chapterpage%
\@restonecolfalse%
\if@twocolumn\@restonecoltrue\onecolumn\fi%
- \tud@layout@specialpage@set{chapter}%
+ \tud@cd@specialpage@set{chapter}%
\fi%
}
-\newcommand*\tud@head@bar@store{}
-\let\tud@head@bar@store\relax
\newcommand*\tud@head@bar@restore{}
\let\tud@head@bar@restore\relax
\newcommand*\tud@chapter@app{%
@@ -5409,46 +6571,42 @@
\tud@cleardoublespecialpage{%
\renewcommand*\tud@pagecolor{}%
\let\tud@foot@fontcolor\tud@chapter@fontcolor%
- \ifcase\tud@layout@chapter@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
+ \ifcase\tud@cd@chapter@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% color
\renewcommand*\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% fullcolor
\renewcommand*\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
- \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
- \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\clearpage%
}%
- \tud@layout@specialpage@unset%
+ \tud@cd@specialpage@unset%
\if@restonecol\twocolumn\fi%
\else%
- \edef\tud@head@bar@store{\tud@head@bar@num}%
\edef\tud@head@bar@restore{%
- \gdef\noexpand\tud@head@bar@num{\tud@head@bar@store}%
- \global\let\noexpand\tud@head@bar@store\relax%
+ \gdef\noexpand\tud@head@bar@num{\tud@head@bar@num}%
\global\let\noexpand\tud@head@bar@restore\relax%
}%
- \ifcase\tud@layout@chapter@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
+ \ifcase\tud@cd@chapter@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% color
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% fullcolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
\fi%
@@ -5456,76 +6614,31 @@
\@afterindentfalse\@afterheading%
\fi%
}
-\newcommand*\tud@clearcolor@wrn{%
- \ClassWarning{\TUD@Class@Name}{%
- Option `clearcolor' is only available together with\MessageBreak%
- options `twoside' and `open=right'%
- }%
- \global\let\tud@clearcolor@wrn\relax%
-}
-\newcommand*\tud@part{}
-\newcommand*\tud@spart{}
-\newcommand*\tud@chapter{}
-\newcommand*\tud@schapter{}
-\newcommand*\tud@section{}
-\newcommand*\tud@ssection{}
-\newcommand*\tud@subsection{}
-\newcommand*\tud@ssubsection{}
-\newcommand*\tud@subsubsection{}
-\newcommand*\tud@ssubsubsection{}
-\newcommand*\tud@sectioning@set[2]{%
- \tud@cmd@store{#1}%
- \ifstr{#1}{minisec}{%
- \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}%
- }{%
- \tud@sectioning@case{#1}%
- }%
- \tud@font@koma@set{#1}{#2}%
-}
-\newcommand*\tud@sectioning@case[1]{%
- \csedef{#1}{%
- \noexpand\SecDef%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@#1\endcsname%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname tud@s#1\endcsname%
- }%
- \csedef{tud@#1}[##1]##2{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname%
- [{##1}]{\noexpand\tud@sectioning@uppercase{##2}}%
- }%
- \csedef{tud@s#1}##1{%
- \expandafter\expandafter\expandafter\noexpand%
- \expandafter\csname @@tud@#1\endcsname*%
- {\noexpand\tud@sectioning@uppercase{##1}}%
- }%
- \ifstr{#1}{chapter}{%
- \def\@tempa{,s}%
- \@for\@tempb:=\@tempa\do{%
- \expandafter\pretocmd\expandafter{\csname tud@\@tempb#1\endcsname}{%
- \tud@chapter@pre%
- }{}{\tud@patch@wrn{tud@sectioning@case}}%
- \expandafter\apptocmd\expandafter{\csname tud@\@tempb#1\endcsname}{%
- \tud@chapter@app%
- }{}{\tud@patch@wrn{tud@sectioning@case}}%
+\newcommand*\tud@chapter@before@hook{}
+\newcommand*\tud@chapter@after@hook{}
+\pretocmd\scr@startchapter{%
+ \tud@chapter@before@hook%
+}{}{\tud@patch@wrn{scr@startchapter}}
+\apptocmd\scr@@startchapter{%
+ \tud@chapter@after@hook%
+}{}{\tud@patch@wrn{scr@@startchapter}}
+\apptocmd\scr@@startschapter{%
+ \tud@chapter@after@hook%
+}{}{\tud@patch@wrn{scr@@startschapter}}
+\At@startsection{%
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@cd@section@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{%
+ \renewcommand*\tud@section@fontcolor{HKS41}%
}%
- }{}%
+ \fi%
}
-\newcommand*\tud@sectioning@reset[2][]{%
- \tud@cmd@restore{#2}%
- \ifblank{#1}{}{\tud@cmd@restore{#1}}%
- \tud@font@koma@unset{#2}%
+\newcommand*\tud@sectionlinesformat[4]{%
+ \@hangfrom{\hskip #2#3}{\tud@sec@format[#1]{#4}}%
}
-\robustify{\footnote}
-\newcommand*\tud@sectioning@uppercase[1]{%
- \begingroup%
- \if@tud@symbolheadings%
- \let\c@footnote\c@symbolheadings%
- \renewcommand*\thefootnote{\fnsymbol{symbolheadings}}%
- \fi%
- \tud@makeuppercase{#1}%
- \endgroup%
+\newcommand*\tud@sectioncatchphraseformat[4]{%
+ \let\tud@sec@strut\relax%
+ \hskip #2#3\tud@sec@format[#1]{#4}%
}
%%% From File: tudscr-title.dtx
\newkomafont{thesis}{%
@@ -5533,10 +6646,11 @@
\tud@thesis@fontsize%
}
\newkomafont{titlepage}{%
- \usekomafont{subject}%
+ \raggedtitle%
+ \sffamily%
\mdseries%
- \large%
- \tud@raggedright%
+ \usesizeofkomafont{subsection}%
+ \tud@color{\tud@title@fontcolor}%
}
\robustify{\thanks}
\robustify{\footnotemark}
@@ -5544,27 +6658,52 @@
\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
\begingroup%
+ \cleardoublepage%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title@num\relax% false
- \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
+ \ifcase\tud@cd@title@num\relax% false
+ \if@titlepageiscoverpage%
+ \tud@cover@fixmargins%
+ \fi%
+ \ifx\tud@title@pagenumber\relax%
+ \tud@cs@use{maketitle}%
+ \else%
+ \tud@cs@use{maketitle}[\tud@title@pagenumber]%
+ \fi%
\tud@if@tudheadings{\currentpagestyle}{%
\ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
}{}%
\else% !false
\if@tud@parameter@ps@font@set\else%
- \TUDoptions{cdfont=true}%
+ \if@tud@cdfont@active\else%
+ \if@tud@cdfont@heavy%
+ \TUDoptions{cdfont=heavy}%
+ \else%
+ \TUDoptions{cdfont=true}%
+ \fi%
+ \fi%
\fi%
\if@titlepage%
- \tud@make@titlepage%
+ \tud@maketitle@page%
\else%
- \tud@make@titlehead%
+ \tud@maketitle@inpage%
\fi%
\fi%
\endgroup%
\setcounter{footnote}{0}%
\global\let\and\relax%
}
+\TUD@parameter@family{title}{%
+ \TUD@parameter@def{titlepage}[true]{\KOMAoption{titlepage}{#1}}%
+ \TUD@parameter@def{titlesignature}[true]{\TUDoption{titlesignature}{#1}}%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+ \TUD@parameter@let{cd}{cdtitle}%
+ \TUD@parameter@def{cdgeometry}[true]{\TUDoption{cdgeometry}{#1}}%
+ \TUD@parameter@ps@def{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\tud@cs@store{maketitle}
+\let\maketitle\tud@maketitle
\patchcmd{\titlepage}{\thispagestyle{empty}}{%
\tud@if@tudheadings{\currentpagestyle}{%
\thispagestyle{empty.tudheadings}%
@@ -5572,19 +6711,10 @@
\thispagestyle{empty}%
}%
}{}{\tud@patch@wrn{titlepage}}
-\tud@cmd@store{maketitle}
-\let\maketitle\tud@maketitle
-\TUD@parameter@family{title}{%
- \TUD@parameter@def{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
- \TUD@parameter@let{cd}{cdtitle}%
- \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
- \TUD@parameter@ps@def{#1}%
- \TUD@parameter@handler@value{pagenumber}%
-}
\newcommand*\tud@titleback{}
-\newcommand*\tud@make@titlepage{%
+\newcommand*\tud@maketitle@page{%
\renewcommand*\tud@title@fontcolor{}%
- \ifcase\tud@layout@title@num\relax\or\or% litecolor
+ \ifcase\tud@cd@title@num\relax\or\or% litecolor
\renewcommand*\tud@title@fontcolor{HKS41}%
\or% barcolor
\renewcommand*\tud@title@fontcolor{HKS41}%
@@ -5596,11 +6726,12 @@
\renewcommand*\tud@title@fontcolor{HKS41!30}%
\fi%
\begin{titlepage}%
- \tud@layout@specialpage@set{title}%
+ \tud@cd@specialpage@set{title}%
\ifx\tud@title@pagenumber\relax\else%
\setcounter{page}{\tud@title@pagenumber}%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
+ \addtokomafont{footnote}{\sffamily}%
\let\footnotesize\small%
\let\footnoterule\relax%
\let\footnote\thanks%
@@ -5615,6 +6746,10 @@
possible with an extra title. Alternatively you can\MessageBreak%
create a cover with `\string\makecover'%
}%
+ \@titlepageiscoverpagefalse%
+ \fi%
+ \ifx\@frontispiece\@empty\else%
+ \if@twoside\null\fi%
\fi%
\else%
\if@titlepageiscoverpage%
@@ -5627,65 +6762,36 @@
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
\begingroup%
- \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
- \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
- -\coverpagerightmargin\relax%
- \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
- -\coverpagebottommargin\relax%
- \headheight=0pt%
- \headsep=0pt%
- \footskip=\baselineskip%
- \@colht=\textheight%
- \@colroom=\textheight%
- \vsize=\textheight%
- \columnwidth=\textwidth%
- \hsize=\columnwidth%
- \linewidth=\hsize%
+ \tud@cover@setmargins%
\else%
\let\titlepage@restore\relax%
\fi%
- \noindent\@extratitle\next@tdpage%
+ \noindent\@extratitle%
+ \fi%
+ \next@tpage%
+ \ifx\@frontispiece\@empty\else%
+ \noindent\@frontispiece%
\fi%
+ \next@tdpage%
\fi%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
+ \tud@cd@headstartvskip%
\TUD@deprecated@lengthcs{pageheadingsvskip}%
\vspace*{\tud@dim@pageheadingsvskip}%
+ \tud@cd@vphantom%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \begingroup%
- \usekomafont{titlepage}%
- \setlength\@tempdima{\z@}%
- \ifx\@titlehead\@empty\else%
- \sbox\z@{\vbox{%
- \begin{minipage}[t]{\textwidth}%
- {\usekomafont{titlehead}{\@titlehead\par\null}}%
- \end{minipage}\newline\null%
- }}%
- \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
- \fi%
- \tud@thesis@tosubject%
- \ifx\@subject\@empty\else%
- \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
- \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
- \fi%
- \vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
- \ifx\@subject\@empty\else\usebox\@ne\par\fi%
- {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ {\usekomafont{titlepage}{%
+ \tud@maketitle@head%
+ {\usekomafont{title}{\tud@title@format{\@title}\par}}%
\ifx\@subtitle\@empty\else%
- \vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ {\usekomafont{partnumber}{\nobreak\tud@sec@strut}}%
+ {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}%
\fi%
- \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
\let\tud@split@author@do\tud@split@author@title%
\tud@multiple@split{@author}\par%
\vskip 2ex\@plus1ex\@minus1ex%
\ifx\@thesis\@empty%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\ifx\@date\@empty\else%
\vskip 2ex\@plus.1fill%
{\usekomafont{date}{\tud@date@print\par}}%
@@ -5695,28 +6801,26 @@
\else%
\vskip 2ex\@plus.25fill%
\if@tud@subjectthesis\else%
- {\usekomafont{thesis}{\tud@title@uppercase{\@thesis}\par}}%
+ {\usekomafont{thesis}{\tud@title@format{\@thesis}\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\ifx\@graduation\@empty\else%
\def\@tempc{%
\@graduation%
- \ifx\@@graduation\@empty\else\nobreakspace\@@graduation\fi%
+ \ifx\@graduationabbreviation\@empty\else%
+ \nobreakspace\@graduationabbreviation%
+ \fi%
}%
{\usekomafont{titlepage}{\graduationtext\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
- \if@tud@subjectthesis%
- {\usekomafont{subject}{\@tempc\par}}%
- \else%
- {\usekomafont{thesis}{\tud@title@uppercase{\@tempc}\par}}%
- \fi%
+ \vskip 2.5ex\@plus1ex\@minus1ex%
+ {\usekomafont{thesis}{\tud@title@format{\@tempc}\par}}%
\vskip 3ex\@plus1ex\@minus1ex%
\fi%
\fi%
\vskip 2ex\@plus.5fill%
\fi%
- \if@tud@cover\else%
+ \if@tud@coverpage\else%
\tud@title@names{referee}%
\tud@title@names{advisor}%
\tud@title@names{supervisor}%
@@ -5735,13 +6839,19 @@
\fi%
\fi%
\fi%
+ \if@tud@titlesignature%
+ \let\tud@split@@author@do\tud@split@author@signature%
+ \vskip\tud@len@signatureskip\noindent%
+ \tud@ifin@and{\@@author}{}{\hfill}%
+ \tud@multiple@split{@@author}%
+ \fi%
\fi%
\ifx\@publishers\@empty\else%
\vskip 2ex\@plus.25fill%
{\usekomafont{publishers}{\@publishers\par}}%
\vskip\z@\@plus.25fill%
\fi%
- \endgroup%
+ }}%
\let\tud@titleback\relax%
\if@twoside%
\@tempswatrue%
@@ -5764,28 +6874,26 @@
\fi%
\def\@tempa{%
\renewcommand*\tud@pagecolor{}%
- \ifcase\tud@layout@title@num\relax\or% true
- \cs@std@lock{tud@head@bar@num}{0}%
+ \ifcase\tud@cd@title@num\relax\or% true
+ \tud@locked@num@preset{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar@num}{2}%
+ \tud@locked@num@set{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\or% color
\renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{1}%
+ \tud@locked@num@set{tud@head@bar@num}{1}%
\or% full
\renewcommand*\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar@num}{3}%
+ \tud@locked@num@set{tud@head@bar@num}{3}%
\fi%
\tud@color{\tud@title@fontcolor}%
- \addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
- \addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\thispagestyle{empty.tudheadings}%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
}%
- \if@tud@cover%
+ \if@tud@coverpage%
\begingroup%
\@tempa%
\cleardoubleemptypage%
@@ -5808,9 +6916,9 @@
\fi%
\end{titlepage}%
}
-\newcommand*\tud@make@titlehead{%
+\newcommand*\tud@maketitle@inpage{%
\renewcommand*\tud@title@fontcolor{}%
- \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifcase\tud@cd@title@num\relax\or\else% *color
\ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
\fi%
\par%
@@ -5828,58 +6936,42 @@
\let\@oldmakefnmark\@makefnmark%
\renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
\next@tdpage%
- \@tempswafalse%
+ \def\tud@res@a##1{##1}%
\if@twocolumn\ifnum\col@number>\@ne\relax%
- \@tempswatrue%
+ \def\tud@res@a##1{\twocolumn[{##1}]}%
\fi\fi%
- \if@tempswa%
- \ifx\@extratitle\@empty\else%
- \twocolumn[\@makeextratitle]\next@tdpage%
- \fi%
- \twocolumn[\tud@make@@titlehead]%
+ \ifx\@extratitle\@empty%
+ \ifx\@frontispiece\@empty\else%
+ \if@twoside\null\fi%
+ \fi
\else%
- \ifx\@extratitle\@empty\else%
- \@makeextratitle\next@tdpage%
- \fi%
- \tud@make@@titlehead%
+ \tud@res@a{\@makeextratitle}%
+ \fi%
+ \next@tpage%
+ \ifx\@frontispiece\@empty\else%
+ \tud@res@a{\@makefrontispiece}%
\fi%
+ \next@tdpage%
+ \tud@res@a{\tud@maketitle@@inpage}%
\ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
\@thanks%
\endgroup%
}
-\newcommand*\tud@make@@titlehead{%
+\newcommand*\tud@maketitle@@inpage{%
\global\@topnum=\z@%
- \vspace*{%
- \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
- }%
+ \tud@cd@headstartvskip%
\TUD@deprecated@lengthcs{headingsvskip}%
\vspace*{\tud@dim@headingsvskip}%
+ \tud@cd@vphantom%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
- \begingroup%
- \usekomafont{titlepage}%
+ {\usekomafont{titlepage}{%
\tud@x@hyperref@realfootnotes%
- \setlength\@tempdima{\z@}%
- \ifx\@titlehead\@empty\else%
- \sbox\z@{\vbox{%
- \begin{minipage}[t]{\textwidth}%
- {\usekomafont{titlehead}{\@titlehead\par\null}}%
- \end{minipage}\newline\null%
- }}%
- \addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
- \fi%
\TUDoptions{subjectthesis=true}%
- \tud@thesis@tosubject%
- \ifx\@subject\@empty\else%
- \sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
- \addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
- \fi%
- \vspace*{-\@tempdima}%
- \ifx\@titlehead\@empty\else\usebox\z@\par\fi%
- \ifx\@subject\@empty\else\usebox\@ne\par\fi%
- {\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
+ \tud@maketitle@head%
+ {\usekomafont{title}{\tud@title@format{\@title}\par}}%
\ifx\@subtitle\@empty\else%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ {\usekomafont{subtitle}{\tud@title@format{\@subtitle}\par}}%
\fi%
\vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
@@ -5909,20 +7001,48 @@
}%
\fi%
\tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
+ }}%
+}
+\newcommand*\tud@maketitle@head{%
+ \setbox\z@\vbox{%
+ \ifx\@titlehead\@empty\else%
+ {\usekomafont{titlehead}{%
+ \begin{minipage}[t]{\textwidth}%
+ \@titlehead\tud@sec@strut%
+ \end{minipage}%
+ }}%
+ \fi%
+ \tud@thesis@tosubject%
+ \ifx\@subject\@empty\else%
+ \par\medskip%
+ {\usekomafont{subject}{%
+ \@subject\tud@sec@strut%
+ }}%
+ \fi%
+ }%
+ \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
+ \ifdim\@tempdima>\z@\relax%
+ \vskip\dimexpr-\@tempdima-\p@-\medskipamount\relax%
+ \usebox\z@\par\medskip%
+ \fi%
}
-\newcommand*\tud@title@uppercase[1]{%
- \let\@tempa\relax%
+\newcommand*\tud@title@format[1]{%
\begingroup%
\let\\\newline%
- \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\tud@thanks\relax%
+ \def\thanks##1{\gdef\tud@thanks{##1}}%
\let\footnote\thanks%
\sbox\z@{#1}%
\let\thanks\@gobble%
\let\footnote\@gobble%
- \tud@makeuppercase{#1}%
- \endgroup%
- \ifx\@tempa\relax\else\thanks\@tempa\fi%
+ \tud@sec@format{#1}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \ifx\tud@thanks\relax\else%
+ \noexpand\thanks{\expandonce\tud@thanks}%
+ \fi%
+ }%
+ \tud@res@a%
}
\newcommand*\tud@thesis@tosubject{%
\if@tud@subjectthesis\ifx\@thesis\@empty\else%
@@ -5956,13 +7076,20 @@
\newcommand*\tud@newline@title{}
\newcommand*\tud@split@author@title[2]{%
\tud@multiple@fields@store{@author}{#1}%
- \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}%
- {\usekomafont{author}{\ignorespaces#1\unskip}}%
- \if@tud@cover\else%
+ \renewcommand*\tud@newline@title{%
+ \vskip .5ex\strut%
+ \def\tud@newline@title{\newline\strut}%
+ }%
+ {\usekomafont{author}{\ignorespaces#1\strut\unskip}}%
+ \if@tud@coverpage\else%
\ifx\@authormore\@empty\else%
\tud@newline@title%
\@authormore%
\fi%
+ \ifx\@emailaddress\@empty\else%
+ \tud@newline@title%
+ \@emailaddress%
+ \fi%
\ifx\@dateofbirth\@empty\else%
\if@titlepage%
\tud@newline@title%
@@ -5992,7 +7119,7 @@
\@tempc{matriculationyear}%
\fi%
\tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{#2}{\vskip 2ex}%
+ \tud@multiple@@@split{#2}{\vskip 1.5ex}%
}
\newcommand*\tud@title@wrn[1]{%
\ClassWarning{\TUD@Class@Name}{%
@@ -6000,6 +7127,17 @@
activated titlepage option%
}%
}
+\newcommand*\tud@split@author@signature[2]{%
+ \tud@multiple@fields@store{@author}{#1}%
+ \vbox{%
+ \hsize=.3\textwidth%
+ \centering%
+ \rule{.3\textwidth}{.05pt}\newline%
+ \ignorespaces#1\strut\unskip%
+ }%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{#2}{\hfill}%
+}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
\if@titlepage%
@@ -6057,7 +7195,7 @@
\fi%
}{}%
}
-\newif\if@tud@cover
+\newif\if@tud@coverpage
\newcommand*\makecover[1][]{%
\if@titlepageiscoverpage%
\ClassWarning{\TUD@Class@Name}{%
@@ -6075,102 +7213,149 @@
\let\thanks\@gobble%
\let\footnote\@gobble%
\TUD@parameter@set{cover}{#1}%
- \let\tud@layout@title@num\tud@layout@cover@num%
- \tud@layout@process%
+ \let\tud@cd@title@num\tud@cd@cover@num%
+ \tud@cd@process%
+ \ifcase\tud@cd@cover@num\relax% false
+ \tud@locked@bool@preset{@tud@cdgeometry@cover}{false}%
+ \@tud@coverpagefalse%
+ \else% !false
+ \tud@locked@bool@preset{@tud@cdgeometry@cover}{true}%
+ \@tud@coverpagetrue%
+ \fi%
+ \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
+ \@titlepagetrue%
+ \let\@extratitle\@empty%
+ \let\@frontispiece\@empty%
+ \let\@uppertitleback\@empty%
+ \let\@lowertitleback\@empty%
+ \let\@dedication\@empty%
\if@tud@cdgeometry@cover%
- \let\coverpagetopmargin\tud@len@slimmargin%
- \let\coverpagebottommargin\tud@len@widemargin%
- \let\coverpageleftmargin\tud@len@widemargin%
- \let\coverpagerightmargin\tud@len@slimmargin%
+ \if@tud@coverpage%
+ \def\coverpagetopmargin{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax%
+ }%
+ \else%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagetopmargin{.5\tud@len@both}%
+ }{%
+ \def\coverpagetopmargin{\tud@len@slimmargin}%
+ }%
+ \fi%
\tud@if@v@lower{2.03}{%
- \def\coverpagetopmargin{.5\tud@len@both}%
\def\coverpagebottommargin{.5\tud@len@both}%
- }{}%
+ }{%
+ \def\coverpagebottommargin{\tud@len@widemargin}%
+ }%
+ \def\coverpageleftmargin{\tud@len@widemargin}%
+ \def\coverpagerightmargin{\tud@len@slimmargin}%
\fi%
- \ifcase\tud@layout@cover@num\relax% false
- \KOMAoptions{titlepage=firstiscover}%
- \let\@extratitle\@empty%
- \let\@uppertitleback\@empty%
- \let\@lowertitleback\@empty%
- \let\@dedication\@empty%
- \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
- \else% !false
- \@tud@covertrue%
- \@titlepagetrue%
+ \if@tud@coverpage%
\edef\titlepage@restore{%
\noexpand\endgroup%
\noexpand\global\noexpand\@colht\the\@colht%
\noexpand\global\noexpand\@colroom\the\@colroom%
\noexpand\global\vsize\the\vsize%
+ \noexpand\global\noexpand\@titlepageiscoverpagefalse%
\noexpand\let\noexpand\titlepage@restore\noexpand\relax%
}%
\begingroup%
- \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
- -\coverpagerightmargin\relax%
- \headheight=0pt%
- \headsep=0pt%
- \footskip=\dimexpr\tud@len@footsep+\footheight\relax%
- \tud@if@v@lower{2.03}{%
- \footskip=\dimexpr\tud@len@headsep+\footheight%
- -1.25\baselineskip\relax%
- }{}%
- \if@tud@cdgeometry@cover%
- \def\coverpagetopmargin{%
- \dimexpr\tud@len@topmargin+\tud@len@barheight%
- +\tud@len@headsep\relax%
- }%
- \else%
- \topmargin=\dimexpr\tud@len@topmargin+\tud@len@barheight%
- +\tud@len@headsep-1in\relax%
- \def\@tempa{2\dimexpr\coverpagetopmargin\relax}%
- \ifx\@tempa\coverpagebottommargin\relax%
- \let\coverpagebottommargin\tud@len@widemargin%
- \tud@if@v@lower{2.03}{%
- \def\coverpagebottommargin{.5\tud@len@both}%
- }{}%
- \fi%
- \fi%
- \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
- -\coverpagebottommargin-\tud@dim@extrabottommargin\relax%
- \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
- \@colht=\textheight%
- \@colroom=\textheight%
- \vsize=\textheight%
- \columnwidth=\textwidth%
- \hsize=\columnwidth%
- \linewidth=\hsize%
+ \tud@cover@setmargins%
\tud@len@areavskip=\z@%
- \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
\tud@maketitle%
\clearpage%
\titlepage@restore%
+ \else%
+ \@titlepageiscoverpagetrue%
+ \tud@cover@fixmargins%
+ \ifx\tud@title@pagenumber\relax%
+ \tud@cs@use{maketitle}%
+ \else%
+ \tud@cs@use{maketitle}[\tud@title@pagenumber]%
+ \fi%
\fi%
\endgroup%
}
-\bool@lock{@tud@cdgeometry@cover}
+\tud@locked@newbool{@tud@cdgeometry@cover}
\TUD@parameter@family{cover}{%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
\TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
\TUD@parameter@let{cd}{cdcover}%
\TUD@parameter@def{cdgeometry}[true]{%
- \ifstrbool{#1}{%
- \bool@set@lock{@tud@cdgeometry@cover}{true}%
- }{%
- \bool@set@lock{@tud@cdgeometry@cover}{false}%
- }{%
- \ifstr{#1}{custom}{\bool@set@lock{@tud@cdgeometry@cover}{false}}{%
- \ifstr{#1}{user}{\bool@set@lock{@tud@cdgeometry@cover}{false}}{%
- \TUD@parameter@error{cdgeometry}{true, false}%
- }%
- }%
- }%
+ \TUDoption{cdgeometry}{#1}%
+ \ifnum\tud@cdgeometry@num>\@ne\relax% true/symmetric/twoside
+ \tud@locked@bool@set{@tud@cdgeometry@cover}{true}%
+ \else%
+ \tud@locked@bool@set{@tud@cdgeometry@cover}{false}%
+ \fi%
}%
- \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
\TUD@parameter@ps@def{#1}%
\TUD@parameter@handler@value{pagenumber}%
}
+\renewcommand*{\coverpagetopmargin}{%
+ \if@tud@coverpage%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep\relax%
+ \else%
+ \dimexpr\topmargin+1in\relax%
+ \fi%
+}
+\renewcommand*{\coverpagebottommargin}{%
+ \if@tud@coverpage%
+ \dimexpr\tud@len@widemargin\relax%
+ \else%
+ 2\dimexpr\coverpagetopmargin\relax%
+ \fi%
+}
+\newcommand*\tud@cover@fixmargins{%
+ \begingroup%
+ \tud@cdgeometry@assignlayout%
+ \tud@x@geometry@fixmargins%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagebottommargin-\tud@len@layoutvoffset
+ +\paperheight-\tud@len@layoutheight\relax%
+ }%
+ \edef\coverpagebottommargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagetopmargin+\tud@len@layoutvoffset\relax%
+ }%
+ \edef\coverpagetopmargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpagerightmargin-\tud@len@layouthoffset
+ +\paperwidth-\tud@len@layoutwidth\relax%
+ }%
+ \edef\coverpagerightmargin{\the\@tempdima}%
+ \setlength\@tempdima{%
+ \dimexpr\coverpageleftmargin+\tud@len@layouthoffset\relax%
+ }%
+ \edef\coverpageleftmargin{\the\@tempdima}%
+ \edef\tud@res@a{%
+ \endgroup%
+ \def\noexpand\coverpagetopmargin{\coverpagetopmargin}%
+ \def\noexpand\coverpagebottommargin{\coverpagebottommargin}%
+ \def\noexpand\coverpageleftmargin{\coverpageleftmargin}%
+ \def\noexpand\coverpagerightmargin{\coverpagerightmargin}%
+ }%
+ \tud@res@a%
+}
+\newcommand*\tud@cover@setmargins{%
+ \tud@cover@fixmargins%
+ \topmargin=\dimexpr\coverpagetopmargin-1in\relax%
+ \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
+ \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ -\coverpagerightmargin\relax%
+ \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ -\coverpagebottommargin\relax%
+ \headheight=0pt%
+ \headsep=0pt%
+ \footskip=\baselineskip%
+ \@colht=\textheight%
+ \@colroom=\textheight%
+ \vsize=\textheight%
+ \columnwidth=\textwidth%
+ \hsize=\columnwidth%
+ \linewidth=\hsize%
+}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@check[2]{%
\global\let\tud@fm@set\tud@fm@first%
@@ -6213,6 +7398,7 @@
}%
\let\clearpage\relax%
\sbox\z@{\vbox{#2}}%
+ \csuse{phantomsection}%
\protected@edef\@tempa{%
\noexpand\endgroup%
\noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{%
@@ -6225,11 +7411,11 @@
}{%
\ClassWarning{\TUD@Class@Name}{%
It isn't possible to use `#1=single'\MessageBreak%
- or `#1=chapter'
+ or `#1=chapter'\space%
with `#1=tocmultiple'%
}%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@#1@toc@num}{%
+ \noexpand\tud@locked@num@set{tud@#1@toc@num}{%
\the\numexpr\csuse{tud@#1@toc@num}-2\relax%
}%
}%
@@ -6353,8 +7539,8 @@
}
\newcommand*\tud@quoting{quotation}
\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
-\csundef{abstract}
-\csundef{endabstract}
+\undef\abstract
+\undef\endabstract
\NewEnviron{abstract}[1][]{%
\ifnum\tud@abstract@level@num>\tw@\relax\@titlepagetrue\fi% chapter
\let\tud@envir@ps\relax%
@@ -6394,7 +7580,7 @@
]
\TUD@parameter@family{abstract}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
\TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
@@ -6453,7 +7639,7 @@
]
\TUD@parameter@family{declaration}{%
\TUD@parameter@def{language}{\selectlanguage{#1}}%
- \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{columns}{\renewcommand*\tud@x@multicol@num{#1}}%
\TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
\TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
@@ -6559,32 +7745,6 @@
\tud@fm@body@end{declaration}%
}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@cs[2]{%
- \AtBeginDocument{%
- \ifcsundef{#1}{%
- \expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\TUD@Class@Name}{%
- The command `\@backslashchar#1' is deprecated\MessageBreak%
- It's recommended to use `\@backslashchar#2' instead%
- }%
- \csletcs{#1}{#2}%
- \csuse{#2}%
- }%
- }{}%
- }%
-}
-\newcommand*\TUD@deprecated@lengthcs[2][]{%
- \ifdim\csuse{#2}<\maxdimen\relax%
- \ClassWarning{\TUD@Class@Name}{%
- Using the length `\@backslashchar#2' is deprecated.\MessageBreak%
- You should use option `#2' instead%
- }%
- \csxdef{tud@dim@#2}{\the\csuse{#2}}%
- \expandafter\setlength\csname #2\endcsname{\maxdimen}%
- \global\csuse{#2}=\csuse{#2}%
- #1%
- \fi%
-}
\newlength\footlogoheight
\setlength\footlogoheight{\maxdimen}
\newlength\pageheadingsvskip
@@ -6609,67 +7769,43 @@
\TUD@deprecated@cs{finaldate}{duedate}%
\TUD@deprecated@cs{maturitydate}{duedate}%
}
-\AtEndOfClass%
-{%
- \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
-}
-%%% From File: tudscr-misc.dtx
-\newcommand*\tud@atdocument@hook{}
-\let\tud@atdocument@hook\relax
-\AtBeginDocument{%
- \renewcommand*\TUD@SpecialOptionAtDocument[1]{%
- \ifx\tud@atdocument@hook\relax%
- \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}%
- \AtEndOfFamilyOptions{%
- \tud@atdocument@hook%
- \tud@atdocument@process%
- }%
- \fi%
- \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
- }%
-}
-\newif\if@tud@font@set
-\newif\if@tud@font@math@set
-\newif\if@tud@font@skip@set
-\newif\if@tud@x@scr@headings@reset
-\newif\if@tud@layout@process
-\newif\if@tud@cdgeometry@process
-\newif\if@tud@cdgeometry@@process
-\newcommand*\tud@atdocument@process{%
- \if@tud@font@set%
- \tud@font@set%
- \global\@tud@font@setfalse%
- \global\@tud@font@math@setfalse%
- \global\@tud@font@skip@setfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@font@math@set%
- \tud@font@math@set%
- \global\@tud@font@math@setfalse%
- \fi%
- \if@tud@font@skip@set%
- \tud@font@skip@set%
- \global\@tud@font@skip@setfalse%
- \fi%
- \if@tud@x@scr@headings@reset%
- \tud@x@scr@headings@reset%
- \global\@tud@x@scr@headings@resetfalse%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@layout@process%
- \tud@layout@process%
- \global\@tud@layout@processfalse%
- \fi%
- \if@tud@cdgeometry@process%
- \tud@cdgeometry@process%
- \global\@tud@cdgeometry@processfalse%
- \global\@tud@cdgeometry@@processfalse%
- \fi%
- \if@tud@cdgeometry@@process%
- \tud@cdgeometry@@process%
- \global\@tud@cdgeometry@@processfalse%
+\TUD@deprecated@cs{textcdfont}{textcd}%
+\TUD@deprecated@cs{tudfont}{cdfont}%
+\TUD@deprecated@cs{univln}{cdfontln}%
+\TUD@deprecated@cs{univrn}{cdfontrn}%
+\TUD@deprecated@cs{univbn}{cdfontsn}%
+\TUD@deprecated@cs{univxn}{cdfontbn}%
+\TUD@deprecated@cs{univls}{cdfontli}%
+\TUD@deprecated@cs{univrs}{cdfontri}%
+\TUD@deprecated@cs{univbs}{cdfontsi}%
+\TUD@deprecated@cs{univxs}{cdfontbi}%
+\TUD@deprecated@cs{textuln}{textcdln}%
+\TUD@deprecated@cs{texturn}{textcdrn}%
+\TUD@deprecated@cs{textubn}{textcdsn}%
+\TUD@deprecated@cs{textuxn}{textcdbn}%
+\TUD@deprecated@cs{textuls}{textcdli}%
+\TUD@deprecated@cs{texturs}{textcdri}%
+\TUD@deprecated@cs{textubs}{textcdsi}%
+\TUD@deprecated@cs{textuxs}{textcdbi}%
+\TUD@deprecated@cs{dinbn}{cdfontxn}%
+\TUD@deprecated@cs{textdbn}{textcdxn}%
+\TUD@deprecated@cs{ifdin}{@secondoftwo}
+\newrobustcmd*\tud@ifdin{%
+ \ifx\f@family\tud@cdfont@db%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
\fi%
}
+\if@tud@cdoldfont@active
+ \newcommand*\ifdin{}%
+ \let\ifdin\tud@ifdin%
+\fi
+\def\tud@res@a#1{%
+ \TUD@deprecated@cs{var#1}{it#1}%
+}
+\tud@math@loop@greeks@uc\tud@res@a%
+%%% From File: tudscr-misc.dtx
\newcommand*\tudbookmark[1][]{\@gobbletwo}
\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
@@ -6696,7 +7832,10 @@
}
\apptocmd{\titlepage}{%
\tud@x@bookmark@startatroot%
- \if@tud@cover%
+ \@tud@res@swafalse%
+ \if@tud@coverpage\@tud@res@swatrue\fi%
+ \if@titlepageiscoverpage\@tud@res@swatrue\fi%
+ \if@tud@res@swa%
\tudbookmark[%
0%
]{\coverpagename}{cover}%
@@ -6706,12 +7845,12 @@
]{\titlepagename}{title}%
\fi%
}{}{\tud@patch@wrn{titlepage}}
-\pretocmd{\tud@make@titlehead}{%
+\pretocmd{\tud@maketitle@inpage}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
0%
]{\titlename}{title}%
-}{}{\tud@patch@wrn{tud@make@titlehead}}
+}{}{\tud@patch@wrn{tud@maketitle@inpage}}
\pretocmd{\@maketitle}{%
\tud@x@bookmark@startatroot%
\tudbookmark[%
@@ -6724,10 +7863,10 @@
\iftocfeature{toc}{totoc}{}{%
\if@tud@bookmarks%
\setuptoc{toc}{totoc}%
- \tud@cmd@store{addtocontents}%
+ \tud@cs@store{addtocontents}%
\def\@tempc{%
\unsettoc{toc}{totoc}%
- \tud@cmd@restore{addtocontents}%
+ \tud@cs@restore{addtocontents}%
}%
\let\addtocontents\@gobbletwo%
\fi%
@@ -6736,41 +7875,74 @@
\AfterTOCHead[toc]{\@tempc}
\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
-\BeforePackage{tocloft}{%
- \ClassWarningNoLine{\TUD@Class@Name}{%
- It is absolutely not recommended to use package\MessageBreak%
- `tocloft'. Loading the package will certainly lead\MessageBreak%
- to problems with table of contents and any list of\MessageBreak%
- floats. You should use the appropriate options of\MessageBreak%
- the KOMA-Script classes%
- }%
+\AtBeginDocument{%
+ \if@tud@x@scr@fontsize@set\else%
+ \@tud@res@swafalse%
+ \ifdim\tud@len@layoutwidth<208mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutwidth>212mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight<295mm\relax\@tud@res@swatrue\fi%
+ \ifdim\tud@len@layoutheight>299mm\relax\@tud@res@swatrue\fi%
+ \if@tud@res@swa%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ You've set a layout size, which is different from\MessageBreak%
+ default (paper=a4, paper=portrait). Therefore you\MessageBreak%
+ should additionally specify an explicit font size.\MessageBreak%
+ See the manual for further information%
+ }%
+ \fi%
+ \fi%
}
-\CheckCommand*\@uclcnotmath[4]{%
- \begingroup
- #1%
- \def\({$}\let\)\(%
- \def\NoCaseChange##1{\noexpand\NoCaseChange{\noexpand##1}}%
- \@nonchangecase\label
- \@nonchangecase\ref
- \@nonchangecase\ensuremath
- \def\cite##1##{\toks@{\noexpand\cite##1}\@citex}%
- \def\@citex##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\reserved@a##1##2{\let#2\reserved@a}%
- \expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \protected@edef\reserved@a{%
- \endgroup
- \noexpand\@skipmath#3#4$\valign$%
- }%
- \reserved@a%
-}
-\newcommand*\tud@x@textcase@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@x@textcase@uclcnotmath%
-}{}{\tud@patch@wrn{@uclcnotmath}}
+\newif\if@tud@font@set
+\newif\if@tud@math@set
+\newif\if@tud@font@skip@set
+\newif\if@tud@x@scr@headings@reset
+\newif\if@tud@cd@process
+\newif\if@tud@cdgeometry@process
+\newcommand*\tud@atdocument@process{%
+ \if@tud@font@set%
+ \tud@font@set%
+ \global\@tud@font@setfalse%
+ \global\@tud@font@skip@setfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@font@skip@set%
+ \tud@font@skip@set%
+ \global\@tud@font@skip@setfalse%
+ \fi%
+ \if@tud@math@set%
+ \tud@math@set%
+ \global\@tud@math@setfalse%
+ \fi%
+ \if@tud@x@scr@headings@reset%
+ \tud@x@scr@headings@reset%
+ \global\@tud@x@scr@headings@resetfalse%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cd@process%
+ \tud@cd@process%
+ \global\@tud@cd@processfalse%
+ \fi%
+ \if@tud@cdgeometry@process%
+ \tud@cdgeometry@process%
+ \global\@tud@cdgeometry@processfalse%
+ \fi%
+}
+\if@tud@cdoldfont@active
+ \RequirePackage{textcase}[2004/10/07]
+ \AfterPackage*{textcase}{%
+ \robustify\NoCaseChange%
+ \newcommand*\tud@x@textcase@uclcnotmath{%
+ \@nonchangecase\hologo%
+ \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@x@textcase@uclcnotmath%
+ }{}{\tud@patch@wrn{@uclcnotmath}}%
+ }%
+\fi
+\TUD@deprecated@cs{NoCaseChange}{@firstofone}
\endinput
%%
%% End of file `tudscrreprt.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
index 0690dd3e612..c6e8d7d533a 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
@@ -7,13 +7,13 @@
%% tudscr-version.dtx (with options: `package,supervisor')
%% tudscr-supervisor.dtx (with options: `package,supervisor')
%% tudscr-fields.dtx (with options: `package,supervisor')
-%% tudscr-locale.dtx (with options: `package,supervisor')
+%% tudscr-localization.dtx (with options: `package,supervisor')
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -39,7 +39,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -54,7 +54,7 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
@@ -65,18 +65,24 @@
This package can only be used with a class out of the\MessageBreak%
tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
}%
- \endinput
+ \endinput%
\fi
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-supervisor.dtx
\ProvidesPackage{tudscrsupervisor}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(commands for supervisors)%
]
@@ -163,7 +169,7 @@
}
\newenvironment{task}[1][]{%
\cleardoubleoddpage%
- \def\@headline{}%
+ \let\@headline\@empty%
\TUD@parameter@family{tudpage}{%
\TUD@parameter@def{headline}{\def\@headline{##1}}%
\TUD@parameter@let{heading}{headline}%
@@ -232,7 +238,6 @@
}
\newcommand\taskform[3][]{%
\begin{task}[#1]%
- \removelastskip%
\ifblank{#2}{}{\minisec{\objectivesname}#2}%
\ifblank{#3}{}{%
\minisec{\focusname}%
@@ -244,7 +249,7 @@
}
\newenvironment{evaluation}[1][]{%
\cleardoubleoddpage%
- \def\@headline{}%
+ \let\@headline\@empty%
\TUD@parameter@family{tudpage}{%
\TUD@parameter@def{headline}{\def\@headline{##1}}%
\TUD@parameter@let{heading}{headline}%
@@ -266,11 +271,11 @@
}{%
\removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
- \setlength{\@tempskipa}{\smallskipamount}%
+ \setlength\@tempskipa{\smallskipamount}%
\ifx\@grade\@empty\else%
\vskip\@tempskipa\noindent%
\gradetext%
- \setlength{\@tempskipa}{\bigskipamount}%
+ \setlength\@tempskipa{\bigskipamount}%
\fi%
\ifx\@date\@empty\else%
\vskip\@tempskipa\noindent%
@@ -298,7 +303,6 @@
}
\newcommand\evaluationform[5][]{%
\begin{evaluation}[#1]%
- \removelastskip%
\ifblank{#2}{}{\minisec{\taskname}#2}%
\ifblank{#3}{}{\minisec{\contentname}#3}%
\ifblank{#4}{}{\minisec{\assessmentname}#4}%
@@ -345,10 +349,9 @@
}
\newcommand\noticeform[3][]{%
\begin{notice}[#1]%
- \removelastskip%
\ifblank{#2}{}{%
\ifx\@@title\@empty\else%
- \minisec{\expandonce{\@@title}}%
+ \minisec{\expandonce{\@@title}}\medskip%
\fi%
#2%
}%
@@ -367,9 +370,9 @@
\newcommand*\grade[1]{\gdef\@grade{#1}}
\newcommand*\@headline{}
\newcommand*\@issuedate{}
-\newcommand*\issuedate[1]{\tud@x@isodate@printdate{\@issuedate}{#1}}
+\newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}}
\newcommand*\@duedate{}
-\newcommand*\duedate[1]{\tud@x@isodate@printdate{\@duedate}{#1}}
+\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}}
\@ifclassloaded{tudscrposter}{\@tempswafalse}{\@tempswatrue}
\if@tempswa
\newcommand*\@contactperson{}
@@ -380,82 +383,65 @@
\newrobustcmd*\telephone[1]{\gdef\@telephone{#1}}
\newcommand*\@telefax{}
\newrobustcmd*\telefax[1]{\gdef\@telefax{#1}}
-\newcommand*\@emailaddress{}
-\newrobustcmd*\emailaddress{%
- \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}%
-}
-\newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}}
-\newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}}
-\AfterPackage*{hyperref}{%
- \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{%
- \gdef\@emailaddress{%
- \begingroup%
- \urlstyle{same}%
- \hypersetup{#1}%
- \href{mailto:#2}{\nolinkurl{#2}}%
- \endgroup%
- }%
- }%
-}
\newcommand*\tud@split@contactperson@do[2]{}
-\newcommand*\tud@split@contactperson@list{office,telephone,telefax,emailaddress}
+\newcommand*\tud@split@contactperson@list{emailaddress,office,telephone,telefax}
\fi
-%%% From File: tudscr-locale.dtx
-\tud@locale@define{\authorname}
-\tud@locale@define{\contactname}
-\tud@locale@define{\contactpersonname}
-\tud@locale@define{\taskname}
-\tud@locale@define{\tasktext}
-\tud@locale@define{\namesname}
-\tud@locale@define{\issuedatetext}
-\tud@locale@define{\duedatetext}
-\tud@locale@define{\chairmanname}
-\tud@locale@define{\focusname}
-\tud@locale@define{\objectivesname}
-\tud@locale@define{\evaluationname}
-\tud@locale@define{\evaluationtext}
-\tud@locale@define{\contentname}
-\tud@locale@define{\assessmentname}
-\tud@locale@define{\gradetext}
-\tud@locale@define{\noticename}
-\tud@locale@german{\authorname}{Autor}%
-\tud@locale@german{\contactname}{Kontakt}%
-\tud@locale@german{\contactpersonname}{Ansprechpartner}%
-\tud@locale@german{\taskname}{Aufgabenstellung}%
-\tud@locale@german{\tasktext}{f\"ur die Anfertigung einer}%
-\tud@locale@german{\namesname}{Name}%
-\tud@locale@german{\issuedatetext}{Ausgeh\"andigt am}%
-\tud@locale@german{\duedatetext}{Einzureichen am}%
-\tud@locale@german{\chairmanname}{Pr\"ufungsausschussvorsitzender}%
-\tud@locale@german{\focusname}{Schwerpunkte der Arbeit}%
-\tud@locale@german{\objectivesname}{Ziele der Arbeit}%
-\tud@locale@german{\evaluationname}{Gutachten}%
-\tud@locale@german{\evaluationtext}{f\"ur die}%
-\tud@locale@german{\contentname}{Inhalt}%
-\tud@locale@german{\assessmentname}{Bewertung}%
-\tud@locale@german{\gradetext}{%
+%%% From File: tudscr-localization.dtx
+\tud@localization@define{\authorname}
+\tud@localization@define{\contactname}
+\tud@localization@define{\contactpersonname}
+\tud@localization@define{\taskname}
+\tud@localization@define{\tasktext}
+\tud@localization@define{\namesname}
+\tud@localization@define{\issuedatetext}
+\tud@localization@define{\duedatetext}
+\tud@localization@define{\chairmanname}
+\tud@localization@define{\focusname}
+\tud@localization@define{\objectivesname}
+\tud@localization@define{\evaluationname}
+\tud@localization@define{\evaluationtext}
+\tud@localization@define{\contentname}
+\tud@localization@define{\assessmentname}
+\tud@localization@define{\gradetext}
+\tud@localization@define{\noticename}
+\tud@localization@german{\authorname}{Autor}%
+\tud@localization@german{\contactname}{Kontakt}%
+\tud@localization@german{\contactpersonname}{Ansprechpartner}%
+\tud@localization@german{\taskname}{Aufgabenstellung}%
+\tud@localization@german{\tasktext}{f\"ur die Anfertigung einer}%
+\tud@localization@german{\namesname}{Name}%
+\tud@localization@german{\issuedatetext}{Ausgeh\"andigt am}%
+\tud@localization@german{\duedatetext}{Einzureichen am}%
+\tud@localization@german{\chairmanname}{Pr\"ufungsausschussvorsitzender}%
+\tud@localization@german{\focusname}{Schwerpunkte der Arbeit}%
+\tud@localization@german{\objectivesname}{Ziele der Arbeit}%
+\tud@localization@german{\evaluationname}{Gutachten}%
+\tud@localization@german{\evaluationtext}{f\"ur die}%
+\tud@localization@german{\contentname}{Inhalt}%
+\tud@localization@german{\assessmentname}{Bewertung}%
+\tud@localization@german{\gradetext}{%
Die Arbeit wird mit der Note \textbf{\@grade} bewertet.%
}%
-\tud@locale@german{\noticename}{Aushang}%
-\tud@locale@english{\authorname}{Author}%
-\tud@locale@english{\contactname}{Contact}%
-\tud@locale@english{\contactpersonname}{Contact}%
-\tud@locale@english{\taskname}{Task}%
-\tud@locale@english{\tasktext}{for the preparation of a}%
-\tud@locale@english{\namesname}{Name}%
-\tud@locale@english{\issuedatetext}{Issued on}%
-\tud@locale@english{\duedatetext}{Due date for submission}%
-\tud@locale@english{\chairmanname}{Chairman of the Audit Committee}%
-\tud@locale@english{\focusname}{Focus of work}%
-\tud@locale@english{\objectivesname}{Objectives of work}%
-\tud@locale@english{\evaluationname}{Evaluation}%
-\tud@locale@english{\evaluationtext}{for the}%
-\tud@locale@english{\contentname}{Content}%
-\tud@locale@english{\assessmentname}{Assessment}%
-\tud@locale@english{\gradetext}{%
+\tud@localization@german{\noticename}{Aushang}%
+\tud@localization@english{\authorname}{Author}%
+\tud@localization@english{\contactname}{Contact}%
+\tud@localization@english{\contactpersonname}{Counterpart}%
+\tud@localization@english{\taskname}{Task}%
+\tud@localization@english{\tasktext}{for the preparation of a}%
+\tud@localization@english{\namesname}{Name}%
+\tud@localization@english{\issuedatetext}{Issued on}%
+\tud@localization@english{\duedatetext}{Due date for submission}%
+\tud@localization@english{\chairmanname}{Chairman of the Audit Committee}%
+\tud@localization@english{\focusname}{Focus of work}%
+\tud@localization@english{\objectivesname}{Objectives of work}%
+\tud@localization@english{\evaluationname}{Evaluation}%
+\tud@localization@english{\evaluationtext}{for the}%
+\tud@localization@english{\contentname}{Content}%
+\tud@localization@english{\assessmentname}{Assessment}%
+\tud@localization@english{\gradetext}{%
The thesis is evaluated with a grade of \textbf{\@grade}.%
}%
-\tud@locale@english{\noticename}{Notice}%
+\tud@localization@english{\noticename}{Notice}%
\endinput
%%
%% End of file `tudscrsupervisor.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty
index 5f89cff818c..938277760b7 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty
@@ -14,9 +14,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -42,7 +42,7 @@
\def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
\edef\@tempa{\TUD@Version}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax%
- \gdef\TUD@Version@KOMA{3.17}%
+ \gdef\TUD@Version@KOMA{3.25}%
}
\else
\newcommand*\TUD@Version@Check[1]{%
@@ -57,7 +57,7 @@
\fi%
}
\fi
- \TUD@Version@Check{2017/05/30 v2.05m TUD-Script}
+ \TUD@Version@Check{2019/06/28 v2.06 TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{hanisch.latex@outlook.com}
@@ -68,18 +68,24 @@
This package can only be used with a class out of the\MessageBreak%
tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
}%
- \endinput
+ \endinput%
\fi
\@ifundefined{TUDScript}{%
\DeclareRobustCommand\TUDScript{%
- \ifdin{TUD-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
- }\csname xspace\endcsname%
+ \begingroup%
+ \def\tud@res@b##1{T\kern.05em U\kern.05em D\kern.1em-\kern.1em ##1}%
+ \tud@ifdin{%
+ \edef\tud@res@a{\tud@res@b{SCRIPT}}%
+ }{%
+ \edef\tud@res@a{\noexpand\textsf{\tud@res@b{Script}}}%
+ }%
+ \expandafter\endgroup\tud@res@a%
+ \csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-manual.dtx
\ProvidesPackage{tudscrtutorial}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(internal tutorials)%
]
@@ -106,7 +112,9 @@
\ifdef{\tudfinalflag}{%
\TUDoptions{ToDo=false}%
\TUD@key{ToDo}{\FamilyKeyStateProcessed}%
- }{}%
+ }{%
+ \KOMAoptions{overfullrule}%
+ }%
\ifdef{\tudprintflag}{%
\ifnum\tud@cd@num>\z@\relax%
\TUDoptions{cd=true}%
@@ -128,17 +136,17 @@
\else%
\def\@tempa not##1##2##3##4\@nil{%
\ifstr{##1##2##3}{not}{%
- \if\relax##4\relax\else%
+ \IfArgIsEmpty{##4}{}{%
\listeadd\tud@todo@type@neg{##4}%
\@tud@todotrue%
\FamilyKeyStateProcessed%
- \fi%
+ }%
}{%
- \if\relax##1\relax\else%
+ \IfArgIsEmpty{##1}{}{%
\listeadd\tud@todo@type@pos{##1##2##3##4}%
\@tud@todotrue%
\FamilyKeyStateProcessed%
- \fi%
+ }%
}%
}%
\edef\@tempb{not\trim@spaces{#1}}%
@@ -148,7 +156,9 @@
%%% From File: tudscr-misc.dtx
\KOMAoptions{headings=small}
\TUDoptions{cdfoot=true}
-\TUDExecuteOptions{ToDo=true}
+\TUDExecuteOptions{%
+ ToDo=true%
+}
\TUDProcessOptions\relax
%%% From File: tudscr-manual.dtx
\PassOptionsToPackage{log-declarations=false}{xparse}
@@ -160,12 +170,6 @@
\reversemarginpar
\RequirePackage{xspace}[2009/10/20]
\xspaceaddexceptions{"=}
-\@ifpackagelater{geometry}{2010/09/13}{%
- \ClassWarning{\TUD@Class@Name}{%
- Package `geometry' was updated so some patches\MessageBreak%
- are maybe outdated%
- }%
-}{}%
\newcommand*\vTUDScript{v\TUDScriptVersionNumber}
\newcommand*\vKOMAScript{v\TUD@Version@KOMA}
\newcommand*\tud@english[1]{#1}
@@ -174,66 +178,20 @@
\renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
}{}%
}
+\RequirePackage{shellesc}[2016/06/07]
\RequirePackage{pdftexcmds}[2016/05/21]
-\newcommand*\tud@templist{}
-\let\tud@templist\relax
-\newcommand*\tud@list@sort[1]{%
- \ifdefvoid{#1}{%
- \ClassWarning{tudscrmanual}{%
- The given list \string#1\space\MessageBreak%
- is empty, nothing to sort here%
- }%
- }{%
- \let\tud@reserved#1%
- \let\tud@templist\relax%
- \forlistloop\tud@list@@sort{\tud@reserved}%
- \let\tud@reserved\relax%
- \@for\@tempa:=\tud@templist\do{\listeadd\tud@reserved{\@tempa}}%
- \let#1\tud@reserved%
- }%
-}
-\newif\if@tud@list@sorted
-\newcommand*\tud@list@@sort[1]{%
- \ifx\tud@templist\relax%
- \def\tud@templist{#1}%
- \else%
- \@tud@list@sortedfalse%
- \let\@tempb\@empty%
- \@for\@tempa:=\tud@templist\do{%
- \if@tud@list@sorted%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}%
- \else%
- \expandafter\ifnum\pdf@strcmp{#1}{\@tempa}<\z@\relax%
- \ifx\@tempb\@empty%
- \expandafter\edef\expandafter\@tempb\expandafter{%
- #1,\@tempa%
- }%
- \else%
- \expandafter\edef\expandafter\@tempb\expandafter{%
- \@tempb,#1,\@tempa%
- }%
- \fi%
- \@tud@list@sortedtrue%
- \else%
- \ifx\@tempb\@empty%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempa}%
- \else%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}%
- \fi%
- \fi%
- \fi%
- }%
- \if@tud@list@sorted\else%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,#1}%
- \fi%
- \let\tud@templist\@tempb%
- \fi%
-}
\RequirePackage{scrwfile}[2013/08/05]
-\RequirePackage{silence}[2012/07/02]
\RequirePackage{filecontents}[2011/10/08]
-\WarningFilter[Tutorial]{latex}{Overwriting file}%
-\WarningFilter[Tutorial]{latex}{Writing file}%
+\begingroup%
+ \catcode`\*=11%
+ \catcode`\^^M\active%
+ \catcode`\^^L\active\let^^L\relax%
+ \catcode`\^^I\active%
+ \patchcmd{\filec@ntents}{%
+ \@latex@warning@no@line{Overwriting file `\@currdir#1'}%
+ }{}{}{\tud@patch@wrn{filec@tents}}%
+ \global\let\filec@ntents\filec@ntents%
+\endgroup%
\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref}
\PassOptionsToPackage{open,openlevel=0}{bookmark}
\AfterPackage*{hyperref}{%
@@ -284,16 +242,16 @@
}
\newcommand*\tud@hyperref@a[2][]{#2}
\newcommand*\tud@hyperref@b[4]{#4}
- \tud@locale@german{\partautorefname}{Teil}%
- \tud@locale@german{\chapterautorefname}{Kapitel}%
- \tud@locale@german{\sectionautorefname}{Unterkapitel}%
- \tud@locale@german{\subsectionautorefname}{Abschnitt}%
- \tud@locale@german{\subsubsectionautorefname}{Unterabschnitt}%
- \tud@locale@english{\partautorefname}{Part}%
- \tud@locale@english{\chapterautorefname}{chapter}%
- \tud@locale@english{\sectionautorefname}{section}%
- \tud@locale@english{\subsectionautorefname}{subsection}%
- \tud@locale@english{\subsubsectionautorefname}{subsubsection}%
+ \tud@localization@german{\partautorefname}{Teil}%
+ \tud@localization@german{\chapterautorefname}{Kapitel}%
+ \tud@localization@german{\sectionautorefname}{Unterkapitel}%
+ \tud@localization@german{\subsectionautorefname}{Abschnitt}%
+ \tud@localization@german{\subsubsectionautorefname}{Unterabschnitt}%
+ \tud@localization@english{\partautorefname}{Part}%
+ \tud@localization@english{\chapterautorefname}{chapter}%
+ \tud@localization@english{\sectionautorefname}{section}%
+ \tud@localization@english{\subsectionautorefname}{subsection}%
+ \tud@localization@english{\subsubsectionautorefname}{subsubsection}%
\providecommand*\tudhyperref[2]{#2}%
\providecommand*\autorefname[1][]{??\xspace}%
}
@@ -363,17 +321,17 @@
\let\tud@bdl@curr\tud@bdl@dflt
\newcommand*\tud@if@bdl[2]{\ifstr{\tud@bdl@curr}{\tud@bdl@dflt}{#2}{#1}}
\NewExpandableDocumentCommand\@Application{sm}{#2}
-\NewDocumentCommand\Application{smd()d<>d||}{%
+\NewDocumentCommand\Application{s m !d() !d<> !d||}{%
\Markup@SetFormat{\sbsfont}%
\IfValueTF{#4}{%
\Process@Markup{\Application{#2}}(#3)<#4>%
}{%
\Process@Markup{\Application{#2}}(#3)%
}%
- \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#4|%
+ \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#5|%
}
\NewExpandableDocumentCommand\@Distribution{sm}{#2}
-\NewDocumentCommand\Distribution{smod()d||}{%
+\NewDocumentCommand\Distribution{s m !o !d() !d||}{%
\Markup@SetFormat{\sbnfont}%
\IfValueTF{#3}{%
\Process@Markup{\Distribution{#2}}[~#3](#4)%
@@ -383,25 +341,26 @@
\Process@Index{#1}{\Distribution{#2}}[Distribution](#4)|#5|%
}
\NewExpandableDocumentCommand\@Engine{sm}{#2}
-\NewDocumentCommand\Engine{smd()d||}{%
+\NewDocumentCommand\Engine{s m !d() !d||}{%
\Markup@SetFormat{\sbnfont}%
\Process@Markup{\Engine{\hologo{#2}}}(#3)%
\Process@Index{#1}{\Engine{#2}}[Textsatzsystem](#3)|#4|%
}
+\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}}
\NewExpandableDocumentCommand\@File{sm}{#2}
-\NewDocumentCommand\File{smd()d||}{%
+\NewDocumentCommand\File{s m !d() !d||}{%
\Markup@SetFormat{\sbnfont}%
\Process@Markup{\File{#2}}(#3)%
\Process@Index{#1}{\File{#2}}[Datei](#3)|#4|%
}
\NewExpandableDocumentCommand\@Class{sm}{#2}
-\NewDocumentCommand\Class{smd()d''d||}{%
+\NewDocumentCommand\Class{s m !d() !d'' !d||}{%
\Markup@SetFormat{\sbnfont}%
\Process@Markup{\Class{#2}}(#3)'#4'%
\Process@Index{#1}{\Class{#2}}[Klasse](#3)|#5|%
}
\NewExpandableDocumentCommand\@Package{sm}{#2}
-\NewDocumentCommand\Package{smd()d<>d''d||}{%
+\NewDocumentCommand\Package{s m !d() !d<> !d'' !d||}{%
\Markup@SetFormat{\sbnfont}%
\IfValueTF{#4}{%
\Process@Markup{\Package{#2}}(#3)<#4>'#5'%
@@ -411,7 +370,7 @@
\Process@Index{#1}{\Package{#2}}[Paket](#3)|#6|%
}
\NewExpandableDocumentCommand\@Option{sm}{#2}
-\NewDocumentCommand\Option{s>{\ProcessorKeyVal}md==d()d''d||}{%
+\NewDocumentCommand\Option{s >{\ProcessorKeyVal}m !d== !d() !d'' !d||}{%
\Option@Value{#1}#2=#3=(#4)'#5'|#6|%
}
\NewDocumentCommand\Option@Value{mmd==d==d()d''d||}{%
@@ -421,7 +380,7 @@
\Process@Index{#1}{\Option{#2}}=#3=(#5)|#7|%
}
\NewExpandableDocumentCommand\@Environment{sm}{#2}
-\NewDocumentCommand\Environment{smod()d''d||}{%
+\NewDocumentCommand\Environment{s m !o !d() !d'' !d||}{%
\Markup@SetFormat{\ttfamily}(%
\ttfamily\bsc{}begin\textbraceleft#2\textbraceright\IfValueT{#3}{#3}%
\tabularnewline\ttfamily\dots%
@@ -431,19 +390,19 @@
\Process@Index{#1}{\Environment{#2}}[Umgebung](#4)|#6|%
}
\NewExpandableDocumentCommand\@Macro{sm}{#2}
-\NewDocumentCommand\Macro{smod()d''d||}{%
- \Markup@SetFormat{\ttfamily\bsc}%
+\NewDocumentCommand\Macro{s m !o !d() !d'' !d||}{%
+ \Markup@SetFormat[\bsc]{\ttfamily}%
\Process@Markup{\Macro{#2}}[#3](#4)'#5'%
\Process@Index{#1}{\Macro{#2}}(#4)|#6|%
}
\NewExpandableDocumentCommand\@Length{sm}{#2}
-\NewDocumentCommand\Length{smd()d''d||}{%
- \Markup@SetFormat{\ttfamily\bsc}[L\"ange]%
+\NewDocumentCommand\Length{s m !d() !d'' !d||}{%
+ \Markup@SetFormat[\bsc]{\ttfamily}[L\"ange]%
\Process@Markup{\Length{#2}}(#3)'#4'%
\Process@Index{#1}{\Length{#2}}[L\"ange](#3)|#5|%
}
\NewExpandableDocumentCommand\@Counter{sm}{#2}
-\NewDocumentCommand\Counter{smd()d''d||}{%
+\NewDocumentCommand\Counter{s m !d() !d'' !d||}{%
\Markup@SetFormat{\ttfamily}[Z\"ahler]%
\Process@Markup{\Counter{#2}}(#3)'#4'%
\Process@Index{#1}{\Counter{#2}}[Z\"ahler](#3)|#5|%
@@ -473,7 +432,6 @@
}%
\tud@reserved%
}
-\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\PName[1]{\PValue{\textsl{<#1>}}}
\newrobustcmd*\PValueName[1]{\PName{#1}}
@@ -557,6 +515,7 @@
\let\IeC\@firstofone%
\def\"##1{##1e}%
\def\ss{ss}%
+ \def\dots{...}%
\let\NoCaseChange\@firstofone%
}
\NewDocumentCommand\tud@lbl@get@curr{%
@@ -608,6 +567,17 @@
}%
\@tempc%
}
+\newif\if@tud@disposition
+\newcommand*\ifdisposition{%
+ \if@tud@disposition%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+}
+\pretocmd{\tud@sec@format}{%
+ \@tud@dispositiontrue%
+}{}{\tud@patch@wrn{tud@sec@format}}
\newcommand*\Markup@Suppress{\let\Process@Markup\Markup@@Suppress}
\NewDocumentCommand\Markup@@Suppress{md==od()d<>d''}{}
\NewDocumentCommand\Process@Markup{md==od()d<>d''}{%
@@ -643,7 +613,8 @@
\ifstr{#6}{none}{\let\@tempa\@tempc}{%
\ifstr{#6}{manual}{\def\@tempa{\tudhyperref{#1}{\@tempc}}}{%
\def\@tempb{%
- \ClassWarning{tudscrmanual}{%
+ \PackageWarning{tudscrtutorial}%
+ {%
You've used the unknown cross-reference\MessageBreak%
shorthand '#6'. Only 'none' and 'manual'\MessageBreak%
are valid%
@@ -652,7 +623,7 @@
}%
}%
}%
- \ifdin{\@tempc}{\@tempa\@tempb}%
+ \ifdisposition{\@tempc}{\@tempa\@tempb}%
\endgroup%
\Markup@ClearFormat%
}
@@ -673,48 +644,52 @@
}
\newcommand*\Markup@Inline[1]{\mbox{\Markup@Format{#1}}}
\newcommand*\Markup@Format{}
+\undef\Markup@Format
\newcommand*\Markup@Suffix{}
-\NewDocumentCommand\Markup@SetFormat{mod()}{%
- \def\Markup@Format{\ifdin{\MakeTextUppercase}{#1}}%
- \IfValueT{#2}{\def\Markup@Suffix{\suffix{#2}}}%
-}
-\robustify\NoCaseChange
-\NewDocumentCommand\tud@nonchangecase{m}{%
- \DeclareExpandableDocumentCommand#1{sm}{%
- \IfBooleanT{##1}{\noexpand\@tud@indextrue}%
- \NoCaseChange{#1{##2}}%
+\NewDocumentCommand\Markup@SetFormat{omod()}{%
+ \def\Markup@Format##1{%
+ \def\tud@res@a{#2}%
+ \tud@ifdin{\let\tud@res@a\tud@sec@format}{}%
+ \begingroup\tud@res@a{\IfValueT{#1}{#1}##1}\endgroup%
}%
+ \IfValueT{#3}{\def\Markup@Suffix{\suffix{#3}}}%
}
-\apptocmd{\tud@x@textcase@uclcnotmath}{%
- \tud@nonchangecase\Application%
- \tud@nonchangecase\Distribution%
- \tud@nonchangecase\Engine%
- \tud@nonchangecase\File%
- \tud@nonchangecase\Class%
- \tud@nonchangecase\Package%
- \tud@nonchangecase\Option%
- \tud@nonchangecase\Environment%
- \tud@nonchangecase\Macro%
- \tud@nonchangecase\Length%
- \tud@nonchangecase\Counter%
-}{}{\tud@patch@wrn{tud@x@textcase@uclcnotmath}}
\newcommand*\Markup@ClearFormat{%
- \let\Markup@Format\relax%
+ \undef\Markup@Format%
\let\Markup@Declare\Markup@@Declare%
\let\Markup@Suffix\relax%
}
\Markup@ClearFormat
\newcommand*\Markup@CheckFormat{%
- \ifx\Markup@Format\relax%
- \ClassError{tudscrmanual}{\string\Markup@SetFormat\space unused}{%
- It seems you have forgotten to use \string\Markup@SetFormat.%
+ \ifundef\Markup@Format{%
+ \PackageError{tudscrtutorial}%
+ {\string\Markup@SetFormat\space unused}%
+ {It seems you have forgotten to use \string\Markup@SetFormat.}%
+ }{}%
+}
+\ifundef{\tud@x@textcase@uclcnotmath}{}{%
+ \NewDocumentCommand\tud@nonchangecase{m}{%
+ \DeclareExpandableDocumentCommand#1{sm}{%
+ \IfBooleanT{##1}{\noexpand\@tud@indextrue}%
+ \NoCaseChange{#1{##2}}%
}%
- \fi%
+ }
+ \apptocmd{\tud@x@textcase@uclcnotmath}{%
+ \tud@nonchangecase\Application%
+ \tud@nonchangecase\Distribution%
+ \tud@nonchangecase\Engine%
+ \tud@nonchangecase\File%
+ \tud@nonchangecase\Class%
+ \tud@nonchangecase\Package%
+ \tud@nonchangecase\Option%
+ \tud@nonchangecase\Environment%
+ \tud@nonchangecase\Macro%
+ \tud@nonchangecase\Length%
+ \tud@nonchangecase\Counter%
+ }{}{\tud@patch@wrn{tud@x@textcase@uclcnotmath}}
}
\PassOptionsToPackage{xindy,splitindex}{imakeidx}
-\let\tud@shellescape\shellescape
\RequirePackage{imakeidx}[2013/07/11]
-\let\shellescape\tud@shellescape
\indexsetup{%
level=\subsection*,%
noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},%
@@ -775,7 +750,7 @@
\fi%
}{}{\tud@patch@wrn{theindex}}%
\fi%
-\NewDocumentCommand\makexdyindex{somo}{%
+\NewDocumentCommand\makexdyindex{s o m !o}{%
\let\@tempb\@empty%
\protected@edef\@tempa{%
title={#3},%
@@ -878,7 +853,8 @@
}
\newrobustcmd*\cleversee{\tud@cleversee{\seename}}
\newrobustcmd*\cleverseealso{%
- \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}%
+ \PackageWarning{tudscrtutorial}%
+ {You should use `|see' instead of `|seealso'}%
\tud@cleversee{\alsoname}%
}
\newcommand*\tud@cleversee{}
@@ -898,7 +874,8 @@
}{}{%
\IfBooleanTF{#1}{%
\IfValueT{#6}{%
- \ClassWarning{tudscrmanual}{%
+ \PackageWarning{tudscrtutorial}%
+ {%
You've used the starred version. No index entry\MessageBreak%
for #2 is created. The\MessageBreak%
optional argument |#6| will be ignored%
@@ -974,6 +951,10 @@
activated shell escape option%
}%
}
+\newcommand*\tud@latex@ext{}
+\ifpdftex%
+ {\def\tud@latex@ext{pdflatex\space}}%
+ {\def\tud@latex@ext{lualatex\space}}%
\newcommand*\Tutorial[1]{\href{#1.pdf}{\textsbn{#1.pdf}}}
\newcommand*\tud@tut@temp{}
\edef\tud@tut@temp{\@currname-temp}
@@ -1026,7 +1007,7 @@
\noindent\ignorespaces%
}
\newcommand\FinishTutorial[1][]{%
- \immediate\write\tud@write@b{^^J\string\end{document}^^J}
+ \immediate\write\tud@write@b{^^J\string\end{document}^^J}%
\immediate\closeout\tud@write@b%
\immediate\closeout\tud@write@a%
\immediate\openout\tud@write@a\jobname-example.tex\relax%
@@ -1057,7 +1038,7 @@
\else%
\def\@tempa{rm}%
\fi%
- \immediate\write18{\@tempa\space\tud@tut@temp*.*}%
+ \ShellEscape{\@tempa\space\tud@tut@temp*.*}%
\fi%
}
\newcommand\Code@Preamble{}
@@ -1074,12 +1055,10 @@
\let\StandaloneFile\relax
\newcommand*\StandaloneDate{}
\newcommand*\tud@tut@pre{%
- \ActivateWarningFilters[Tutorial]%
\csuse{filecontents*}{\tud@tut@temp.tex}%
}
\newcommand*\tud@tut@post{%
\csuse{endfilecontents*}%
- \DeactivateWarningFilters[Tutorial]%
}
\newenvironment{Preamble}{\tud@tut@pre}{%
\tud@tut@post%
@@ -1209,9 +1188,7 @@
\@tempa{\Code@Preamble}{}%
\setlength\@tempdimc{\leftskip}%
\setlength\leftskip{\leftmargin}%
- \ActivateWarningFilters[Tutorial]%
\@tempa{\input{\tud@tut@temp.tex}}{\Code@Hook}%
- \DeactivateWarningFilters[Tutorial]%
\global\let\Code@Hook\relax%
\setlength\leftskip{\@tempdimc}%
\noindent\ignorespaces%
@@ -1219,12 +1196,10 @@
\newcommand*\InputCode{\input{\tud@tut@temp.tex}}
\IfFileExists{\tud@tut@temp-standalone.tex}{\@tempswafalse}{\@tempswatrue}
\if@tempswa%
-\ActivateWarningFilters[Tutorial]%
\begin{filecontents*}{\tud@tut@temp-standalone.tex}
-\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrreprt}
\usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
+\ifpdftex{\usepackage[ngerman=ngerman-x-latest]{hyphsubst}}{}
\usepackage{babel}
\usepackage{tudscrsupervisor}
\usepackage{isodate}
@@ -1235,7 +1210,6 @@
\input{\jobname.tex}%
\end{document}
\end{filecontents*}
-\DeactivateWarningFilters[Tutorial]%
\fi
\newcommand*\tud@tut@pdf{%
\ifnum\pdf@shellescape=\@ne\relax%
@@ -1245,22 +1219,22 @@
\edef\@tempa{\expandonce\@date}%
\def\@tempb{\today}%
\ifx\@tempa\@tempb\relax%
- \def\@tempb{}%
+ \let\@tempb\@empty%
\else%
\edef\@tempb{\etex@unexpanded{\def\StandaloneDate}{\@date}}%
\fi%
\edef\@tempa{%
- pdflatex -jobname=\tud@tut@temp\space%
+ \tud@latex@ext -jobname=\tud@tut@temp\space%
"\noexpand\unexpanded{\expandonce\@tempb\noexpand\input}%
{\tud@tut@temp-standalone.tex}"%
}%
- \immediate\write18{\@tempa^^J\@tempa^^J\@tempa}%
+ \ShellEscape{\@tempa^^J\@tempa^^J\@tempa}%
\ifwindows%
\def\@tempa{rename}%
\else%
\def\@tempa{mv}%
\fi%
- \immediate\write18{%
+ \ShellEscape{%
\@tempa\space\tud@tut@temp.pdf\space%
\jobname-standalone-\StandaloneFile.pdf%
}%
@@ -1269,7 +1243,7 @@
\fi%
\global\let\StandaloneFile\relax%
}
-\NewDocumentCommand\IncludeStandalone{omO{1}}{%
+\NewDocumentCommand\IncludeStandalone{o m !O{1}}{%
\IfFileExists{\jobname-standalone-#2.pdf}{%
\@tempcnta\z@%
\@for\@tempa:=#3\do{\advance\@tempcnta\@ne}%
@@ -1318,60 +1292,94 @@
\PassOptionsToPackage{colorinlistoftodos,color=HKS92!10}{todonotes}%
}
\RequirePackage{todonotes}[2012/07/25]
+\AtEndPreamble{%
+ \ifdim\marginparwidth<2cm\relax%
+ \setlength\marginparwidth{2cm}%
+ \fi%
+}
\AfterPackage*{todonotes}{%
- \newcommand*\tud@todo@type@color[2]{%
- \define@boolkey{todonotes}{#1}[true]{%
- \ifdef{\tudprintflag}{}{%
- \ifbool{KV@todonotes@#1}{\setkeys{todonotes}{color=#2}}{}%
- }%
- }%
- }%
- \tud@todo@type@color{doc}{HKS41!30}%
- \tud@todo@type@color{rls}{HKS44!30}%
- \tud@todo@type@color{imp}{HKS57!50}%
- \tud@todo@type@color{urg}{HKS07!50}%
- \tud@todo@type@color{nxt}{HKS92!30}%
- \undef\tud@todo@type@color%
- \newcommand*\tud@todo@marginnote{}%
- \NewDocumentCommand\ToDo{somo}{%
+ \newcommand*\tud@todo@type@use{}%
+ \NewDocumentCommand\ToDo{s o m !o}{%
\ifbool{@tud@todo}{%
\global\let\tud@currentHref\@currentHref%
\begingroup%
- \let\@tempa\@empty%
- \def\tud@todo@marginnote{ToDo}%
- \IfValueT{#4}{%
- \def\tud@todo@marginnote{#4}%
- \tud@v@get\@tempc{#4}%
- \ifcsdef{tud@v@\@tempc}{%
- \ifstr{\@tempc}{\TUDScriptVersionNumber}{}{\def\@tempa{urg}}%
- \edef\tud@todo@marginnote{v\@tempc}%
+ \let\tud@todo@type@use\@empty%
+ \IfValueTF{#2}{%
+ \IfArgIsEmpty{#2}{}{%
+ \let\tud@todo@type@use\relax%
+ \ifx\tud@todo@type@pos\relax%
+ \def\tud@res@a##1{%
+ \ifinlist{##1}{\tud@todo@type@use}{}{%
+ \ifinlist{##1}{\tud@todo@type@neg}{}{%
+ \listadd\tud@todo@type@use{##1}%
+ }%
+ }%
+ }%
+ \else%
+ \def\tud@res@a##1{%
+ \ifinlist{##1}{\tud@todo@type@use}{}{%
+ \ifinlist{##1}{\tud@todo@type@pos}{%
+ \listadd\tud@todo@type@use{##1}%
+ }{}%
+ }%
+ }%
+ \fi%
+ \forcsvlist\tud@res@a{#2}%
+ }%
+ }{}%
+ \ifx\tud@todo@type@use\relax\else%
+ \let\tud@res@a\@empty%
+ \let\tud@res@b\@empty%
+ \let\tud@res@c\@empty%
+ \ifinlist{rls}{\tud@todo@type@use}{%
+ \def\tud@res@a{color=HKS44!30,}%
+ \def\tud@res@b{color=HKS44!30,}%
+ \edef\tud@res@c{v\TUDScriptVersionNumber}%
}{%
- \def\@tempa##1.##2##3##4\@nil{##1##2##3}%
- \edef\@tempb{\expandafter\@tempa\@tempc.000\@nil}%
- \ifxnumber{\@tempb}{%
- \def\@tempa{nxt}%
- \edef\tud@todo@marginnote{v\@tempc}%
- }{\let\@tempa\@empty}%
+ \ifinlist{imp}{\tud@todo@type@use}{%
+ \def\tud@res@a{color=HKS57!50,}%
+ }{%
+ \ifinlist{doc}{\tud@todo@type@use}{%
+ \def\tud@res@a{color=HKS41!30,}%
+ }{}%
+ }%
+ \def\tud@res@c{ToDo}%
+ \IfValueT{#4}{%
+ \begingroup%
+ \tud@v@get\tud@res@a{#4}%
+ \def\tud@res@c##1.##2##3##4\@nil{##1##2##3}%
+ \edef\tud@res@b{\expandafter\tud@res@c\tud@res@a.000\@nil}%
+ \ifnumber{\tud@res@b}{%
+ \edef\tud@res@c{%
+ \expandafter\tud@res@c\TUDScriptVersionNumber.000\@nil%
+ }%
+ \ifnum\tud@res@b>\tud@res@c\relax%
+ \def\tud@res@b{color=HKS92!30,}%
+ \else%
+ \ifnum\tud@res@b<\tud@res@c\relax%
+ \def\tud@res@b{color=HKS07!50,}%
+ \else%
+ \def\tud@res@b{color=HKS41!30,}%
+ \fi%
+ \fi%
+ \def\tud@res@c{v\tud@res@a}%
+ }{%
+ \let\tud@res@b\@empty%
+ \def\tud@res@c{#4}%
+ }%
+ \edef\tud@res@c{%
+ \endgroup%
+ \def\noexpand\tud@res@b{\tud@res@b}%
+ \def\noexpand\tud@res@c{\tud@res@c}%
+ }%
+ \tud@res@c%
+ }%
}%
- }%
- \IfValueT{#2}{\preto\@tempa{#2,}}%
- \@tempswafalse%
- \ifx\tud@todo@type@pos\relax\@tempswatrue\fi%
- \toks@{\forcsvlist\@tempb}%
- \eaddto@hook\toks@{\expandafter{\@tempa}}%
- \let\@tempa\@empty%
- \def\@tempb##1{%
- \eappto\@tempa{##1,}%
- \ifinlist{##1}{\tud@todo@type@pos}{\@tempswatrue}{}%
- \ifinlist{##1}{\tud@todo@type@neg}{\@tempswafalse}{}%
- }%
- \the\toks@%
- \if@tempswa%
\ifhmode\par\fi%
\let\par\relax%
\vskip\medskipamount%
\noindent%
- \toks@\expandafter{\@tempa inline}%
+ \toks@\expandafter{\tud@res@b inline}%
\IfBooleanT{#1}{\addto@hook\toks@{,nolist}}%
\sbox\z@{%
\expandafter\todo\expandafter[\the\toks@]{\trim@spaces{#3}\strut}%
@@ -1379,11 +1387,30 @@
\renewcommand*\marginpar[2][]{%
\marginnote[##1]{##2}[\dimexpr-\ht\z@+1.6ex+1.75pt\relax]%
}%
- \toks@\expandafter{\@tempa noline,nolist}%
- \settowidth\marginparwidth{\tud@todo@marginnote}%
+ \toks@\expandafter{\tud@res@a noline,nolist}%
+ \settowidth\marginparwidth{\tud@res@c}%
\addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}%
- \expandafter\todo\expandafter[\the\toks@]{\tud@todo@marginnote\strut}%
+ \expandafter\todo\expandafter[\the\toks@]{\tud@res@c\strut}%
\aftergroup\par\aftergroup\noindent%
+ \listremove{\tud@todo@type@use}{rls}%
+ \listremove{\tud@todo@type@use}{imp}%
+ \listremove{\tud@todo@type@use}{doc}%
+ \ifx\tud@todo@type@use\@empty\else%
+ \begingroup%
+ \let\tud@res@c\@empty%
+ \renewcommand*{\do}[1]{%
+ \appto\tud@res@c{,##1}%
+ }%
+ \dolistloop{\tud@todo@type@use}%
+ \edef\tud@res@c{%
+ \endgroup%
+ \edef\noexpand\tud@res@c{\expandafter\@gobble\tud@res@c}%
+ }%
+ \tud@res@c%
+ \ClassWarning{tudscrmanual}{%
+ Unknown key(s) `\string\ToDo[\tud@res@c]'%
+ }%
+ \fi%
\fi%
\endgroup%
\global\let\@currentHref\tud@currentHref%
@@ -1393,11 +1420,10 @@
\newcommand*\ListOfToDo{\if@tud@todo\clearpage\listoftodos\fi}%
}
\TUD@UnwindPackage{todonotes}{%
- \NewDocumentCommand\ToDo{somo}{}%
+ \NewDocumentCommand\ToDo{s o m !o}{}%
\newcommand*\ListOfToDo{}%
}
-\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
-\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
+\RequirePackage{csquotes}[2011/10/22]
\RequirePackage{textcomp}[2005/09/27]
\RequirePackage{setspace}[2011/12/19]
\setstretch{1.1}
@@ -1435,19 +1461,19 @@
}
\newcommand*\Attention[2][\z@]{%
\marginnote{%
- \setlength\fboxsep{0.25em}
+ \setlength\fboxsep{0.25em}%
\fbox{Achtung!}%
}[#1]%
\emph{\trim@spaces{#2}}%
}
-\NewDocumentCommand\Forum{st'}{%
+\NewDocumentCommand\Forum{!s !t'}{%
\IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
\IfBooleanT{#2}{\toks@{\url}}%
\addto@hook\toks@{{http://latex.wcms-file3.tu-dresden.de/phpBB3/}}%
\IfBooleanF{#2}{\addto@hook\toks@{{TUD-\LaTeX-Forum}}}%
\the\toks@\xspace%
}
-\NewDocumentCommand\CTAN{sog}{%
+\NewDocumentCommand\CTAN{!s !o !g}{%
\IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
\addto@hook\toks@{{http://www.ctan.org/\IfValueT{#2}{#2}}}%
\addto@hook\toks@{%
@@ -1455,7 +1481,7 @@
}%
\the\toks@\xspace%
}
-\NewDocumentCommand\scrguide{sO{\KOMAScript-Handbuch}}{%
+\NewDocumentCommand\scrguide{!s !O{\KOMAScript-Handbuch}}{%
\IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
\addto@hook\toks@{%
{http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf}%
@@ -1482,8 +1508,16 @@
\def\KOMAScript{KOMA-Script}%
}%
}
-\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace}
-\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace}
+\DeclareTextFontCommand\tud@cdfont@texteb{%
+ \fontfamily{\tud@cdfont@fam}\fontseries{\tud@cdfont@ebf}\selectfont%
+}
+\newrobustcmd*\OpenSans{%
+ \texorpdfstring{\tud@cdfont@texteb{Open~Sans}}{Open Sans}\xspace%
+}
+\newrobustcmd*\Univers{\texorpdfstring{\textcdbi{Univers}}{Univers}\xspace}
+\newrobustcmd*\DIN{\texorpdfstring{\textcdxi{DIN~Bold}}{DIN Bold}\xspace}
+\renewcommand*\@pnumwidth{2.1em}%
+\renewcommand*\@tocrmarg{3.1em}%
\newcommand*\textsbn{}
\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape}
\DeclareTextFontCommand\textsbn{\sbnfont}
diff --git a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
index 2b479ad2142..e93f7e790b4 100644
--- a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
@@ -8,9 +8,9 @@
%%
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%%
-%% 2017/05/30 v2.05m TUD-Script
+%% 2019/06/28 v2.06 TUD-Script
%%
-%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2017
+%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2019
%%
%% This file was generated from file(s) of the TUD-Script bundle.
%% ----------------------------------------------------------------------------
@@ -29,7 +29,7 @@
%%% From File: tudscr-twocolfix.dtx
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{twocolfix}[%
- 2017/05/30 v2.05m TUD-Script
+ 2019/06/28 v2.06 TUD-Script
package
(twocolumn layout bugfix)%
]