summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tudscr
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-30 23:12:46 +0000
committerKarl Berry <karl@freefriends.org>2016-07-30 23:12:46 +0000
commit6b200dd5c2335baa8c78037d8f1c75d1295187f4 (patch)
tree45201aff662870ef1d337d24f7ce584320a633bf /Master/texmf-dist/tex/latex/tudscr
parent4e2bc5d88938c53a614ca1efafe6680e25d24c76 (diff)
tudscr (26jul16)
git-svn-id: svn://tug.org/texlive/trunk@41776 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.sty407
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/mathswap.sty14
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls6571
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty395
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls6862
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty418
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty214
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty357
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty167
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls963
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty1382
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrman.cls1433
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrman.sty779
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls2373
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls5120
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls6874
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty327
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty1533
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/twocolfix.sty54
19 files changed, 24705 insertions, 11538 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty
new file mode 100644
index 00000000000..74e46c4dad1
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty
@@ -0,0 +1,407 @@
+%%
+%% This is file `fix-tudscrfonts.sty',
+%% generated with the docstrip utility.
+%%
+%% 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')
+%%
+%% ============================================================================
+%%
+%% TUD-KOMA-Script
+%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
+%%
+%% ============================================================================
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, version 1.3c of the license. The latest
+%% version of this license is in http://www.latex-project.org/lppl.txt and
+%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+%% or later and of this work. This work has the LPPL maintenance status
+%% "author-maintained". The current maintainer and author of this work
+%% is Falk Hanisch.
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%%
+%% ============================================================================
+%%
+%%% From File: tudscr-version.dtx
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
+ \def\@tempa{#1}%
+ \ifx\TUD@Version\@tempa\else%
+ \@latex@warning@no@line{%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
+ but `#1' was expected!\MessageBreak%
+ You should not use classes, packages or files from\MessageBreak%
+ different TUD-KOMA-Script-Bundle versions%
+ }%
+ \fi%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
+\providecommand*\tudscrmail{tudscr@gmail.com}
+\@ifundefined{TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
+ \ifdin{TUD-KOMA-SCRIPT}{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+ }\csname xspace\endcsname%
+ }%
+}{}
+%%% From File: tudscr-comp.dtx
+\ProvidesPackage{fix-tudscrfonts}[%
+ 2016/07/26 v2.05 TUD-KOMA-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}}%
+}
+\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-KOMA-Script maintainer\MessageBreak%
+ via \tudscrmail. A bugfix is urgently required.%
+ }%
+ }%
+}
+\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%
+ \RequirePackage{tudscrfonts}[\TUD@Version]%
+}
+\ifx\usepackage\RequirePackage
+ \newcommand*\tud@fontsfix@maybe@err{%
+ \PackageError{fix-tudscrfonts}{Package too late}{%
+ You must load `fix-tudscrfonts' before\MessageBreak%
+ any document class with `\string\RequirePackage'%
+ }%
+ }%
+\else
+ \newcommand*\tud@fontsfix@maybe@err{%
+ \PackageError{fix-tudscrfonts}{Unsupported class found}{%
+ You have to use `fix-tudscrfonts' only\MessageBreak%
+ with supported classes. These are: `tudbook',\MessageBreak%
+ `tudbeamer', `tudfax', `tudform', `tudhaus',\MessageBreak%
+ `tudletter', `tudposter' and `tudmathposter',\MessageBreak%
+ as well as `tudscrbookold', `tudscrreprtold'\MessageBreak%
+ and `tudscrartclold'. Otherwise it's adequate\MessageBreak%
+ to use package `tudscrfonts' as usual%
+ }%
+ }%
+\fi
+%%% From File: tudscr-comp.dtx
+\def\dinBold{\dinbn}
+\def\dinfamily{\dinbn}
+\newcommand*\tud@fontsfix@AdaptClass[2]{%
+ \BeforeClass{#1}{%
+ \let\tud@fontsfix@maybe@err\relax%
+ \tud@cmd@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}%
+ \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}%
+ #2%
+ \AfterPackage*{tudscrfonts}{%
+ \AtBeginDocument{%
+ \newcommand*\univLightVII{}%
+ \newcommand*\univLightObliqueVII{}%
+ \newcommand*\univBoldVII{}%
+ \newcommand*\univLightIX{}%
+ \newcommand*\univLightObliqueIX{}%
+ \newcommand*\univBoldIX{}%
+ \newcommand*\univLightXI{}%
+ \newcommand*\univLightObliqueXI{}%
+ \newcommand*\univBoldXI{}%
+ \newcommand*\univLightXV{}%
+ \newcommand*\univLightObliqueXV{}%
+ \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%
+ \else%
+ \DeclareFixedFont{\univLightVII}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{7}%
+ \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\sldefault}{7}%
+ \DeclareFixedFont{\univBoldVII}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{7}%
+ \DeclareFixedFont{\univLightIX}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{9}%
+ \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\sldefault}{9}%
+ \DeclareFixedFont{\univBoldIX}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{9}%
+ \DeclareFixedFont{\univLightXI}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{11}%
+ \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\sldefault}{11}%
+ \DeclareFixedFont{\univBoldXI}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{11}%
+ \DeclareFixedFont{\univLightXV}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{15}%
+ \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\sldefault}{15}%
+ \DeclareFixedFont{\univBoldXV}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{15}%
+ \DeclareFixedFont{\univLightHead}{\encodingdefault}%
+ {\sfdefault}{\mddefault}{\updefault}{\tud@head@fntsz}%
+ \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
+ {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fntsz}%
+ \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}{%
+ \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}{%
+ \tud@sec@fontface[\bfseries]%
+ \if@color\color{HKS41-100}\fi%
+ \Huge%
+ }{}{\tud@patch@wrn{@makechapterhead}}%
+ \patchcmd{\@makechapterhead}{\MakeUppercase}{%
+ \tud@makeuppercase%
+ }{}{\tud@patch@wrn{@makechapterhead}}%
+ \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}{%
+ \tud@sec@fontface[\bfseries]%
+ \if@color\color{HKS41-100}\fi%
+ \Huge%
+ }{}{\tud@patch@wrn{@makeschapterhead}}%
+ \patchcmd{\@makeschapterhead}{\MakeUppercase}{%
+ \tud@makeuppercase%
+ }{}{\tud@patch@wrn{@makeschapterhead}}%
+ \patchcmd{\section}{\dinBold\Large\bfseries\MakeUppercase}{%
+ \tud@sec@fontface[\bfseries]%
+ \if@color\color{HKS41-100}\fi%
+ \Large%
+ \tud@makeuppercase%
+ }{}{\tud@patch@wrn{section}}%
+ \patchcmd{\showtitle}{\dinBold\Huge\bfseries\MakeUppercase}{%
+ \tud@sec@fontface[\bfseries]%
+ \if@colortitle\color{HKS41-30}\fi%
+ \Huge%
+ \tud@makeuppercase%
+ }{}{\tud@patch@wrn{showtitle}}%
+}
+\tud@fontsfix@AdaptClass{tudmathposter}{%
+ \def\raggedtitle{\tud@raggedright}%
+ \renewcommand*\raggedpart{\tud@raggedright}%
+ \renewcommand*\raggedsection{\tud@raggedright}%
+ \setkomafont{title}{\tud@sec@fontface[\bfseries]\Huge}%
+ \CheckCommand\maketitle{%
+ \if@matheanull
+ \setlength\@tempskipa{31.194586mm-\topsep}%
+ \else
+ \setlength\@tempskipa{33.02mm-\topskip}%
+ \fi
+ \vskip\@tempskipa
+ {%
+ \ifx\@title\@empty\else
+ \usekomafont{title}\preprocesstitle{\@title}%
+ \ifx\@subtitle\@empty\else\\\fi
+ \fi
+ }{
+ \ifx\@subtitle\@empty\else
+ \subtitlefont\preprocesstitle{\@subtitle}%
+ \fi
+ \if@matheanull
+ \vskip 2.9948cm\relax
+ \else
+ \vskip 3.17cm\relax
+ \fi
+ }%
+ }%
+ \apptocmd{\maketitle}{\vspace{-6ex}}{}{\tud@patch@wrn{maketitle}}%
+ \renewcommand*\subtitlefont{%
+ \unskip%
+ \ifstr{\mddefault}{l}{%
+ \tud@sec@fontface[\fontseries{m}]%
+ }{%
+ \tud@sec@fontface[\fontseries{bx}]%
+ }%
+ \huge%
+ }%
+ \renewcommand*\preprocesstitle[1]{\raggedtitle\tud@makeuppercase{#1}}%
+ \if@mathevorgabe%
+ \undef\sectionfont%
+ \undef\subsectionfont%
+ \fi%
+ \newcommand*\sectionfont{\bfseries\LARGE}%
+ \newcommand*\subsectionfont{\sectionfont\large}%
+ \patchcmd{\ps@tudposter}{\textbf{\@einrichtung}}{%
+ \textbf{\fontseries{b}\selectfont\@einrichtung}%
+ }{}{\tud@patch@wrn{ps@tudposter}}%
+ \pagestyle{tudposter}%
+}
+\PreventPackageFromLoading[%
+ \RequirePackage{amsmath}%
+ \RequirePackage{amsfonts}%
+ \let\DeclareTudMathSizes\@gobblefour%
+ \newif\if@tudfonts@nodin%
+]{tudfonts}
+\tud@fontsfix@AdaptClass{tudscrbookold}{\let\@setfonts\relax}
+\tud@fontsfix@AdaptClass{tudscrreprtold}{\let\@setfonts\relax}
+\tud@fontsfix@AdaptClass{tudscrartclold}{\let\@setfonts\relax}
+\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%
+}
+\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 f6e8acf5b47..18788fdbfe2 100644
--- a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty
@@ -36,7 +36,7 @@
%%% From File: tudscr-mathswap.dtx
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{mathswap}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
package
(swap mathematical separators)%
]
@@ -87,12 +87,12 @@
\endgroup%
}
\newcommand*\ms@token{}
-\begingroup%
- \catcode`,=\active%
- \gdef,{\futurelet\ms@token\ms@smartcomma}%
- \catcode`.=\active%
- \gdef.{\futurelet\ms@token\ms@smartdot}%
-\endgroup%
+\begingroup
+ \catcode`,=\active
+ \gdef,{\futurelet\ms@token\ms@smartcomma}
+ \catcode`.=\active
+ \gdef.{\futurelet\ms@token\ms@smartdot}
+\endgroup
\newcommand*\ms@smartcomma{\ms@ifnum{\ms@commaswap}{\ms@commachar}}
\newcommand*\ms@smartdot{\ms@ifnum{\ms@dotswap}{\ms@dotchar}}
\endinput
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
index 99323dda2fc..44716c040ad 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls
@@ -5,23 +5,25 @@
%% The original source files were:
%%
%% tudscr-version.dtx (with options: `class,article')
-%% tudscr-base.dtx (with options: `load')
-%% tudscr-fonts.dtx (with options: `class,option')
+%% tudscr-base.dtx (with options: `class,article,load')
+%% tudscr-fonts.dtx (with options: `class,article,option')
+%% tudscr-area.dtx (with options: `class,article,option')
%% tudscr-pagestyle.dtx (with options: `class,article,option')
%% tudscr-layout.dtx (with options: `class,article,option')
-%% tudscr-frontmatter.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-misc.dtx (with options: `class,execute')
-%% tudscr-base.dtx (with options: `class,body')
-%% tudscr-fonts.dtx (with options: `class,body')
-%% tudscr-fields.dtx (with options: `class,body')
+%% 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-area.dtx (with options: `class,article,body')
%% tudscr-pagestyle.dtx (with options: `class,article,body')
%% tudscr-layout.dtx (with options: `class,article,body')
-%% tudscr-frontmatter.dtx (with options: `class,article,body')
%% tudscr-title.dtx (with options: `class,article,body')
+%% tudscr-frontmatter.dtx (with options: `class,article,body')
%% tudscr-comp.dtx (with options: `class,article,body')
%% tudscr-misc.dtx (with options: `class,article,body')
%%
@@ -53,160 +55,153 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\newcommand*\TUD@ProvidesClass[3]{%
- \newcommand*\TUDClassName@KOMA{#2}%
- \@ifundefined{TUDClassName@Parent}{\newcommand*\TUDClassName{#1}}{}%
\ProvidesClass{#1}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
^^J#3 (#2)%
]%
- \@ifundefined{TUDClassName@Parent}{\TUD@ClassInfo}{}%
+ \newcommand*\TUD@Class@KOMA{#2}%
+ \@ifundefined{TUD@Class@Parent}{%
+ \newcommand*\TUD@Class@Name{#1}%
+ \TUD@Class@Info%
+ }{}%
}
-\providecommand*\TUD@ClassInfo{%
- \typeout{+---------------------------------------------------------------}
- \typeout{| The Corporate Design of Technische Universitaet Dresden}
- \typeout{| Class: \TUDClassName}
- \typeout{| Version: \TUDVersion}
- \typeout{| Author: Falk Hanisch (\tudscrmail)}
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
- \typeout{+---------------------------------------------------------------}
+\providecommand*\TUD@Class@Info{%
+ \typeout{+---------------------------------------------------------------}%
+ \typeout{| The 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{+---------------------------------------------------------------}%
}
-\NeedsTeXFormat{LaTeX2e}
\TUD@ProvidesClass{tudscrartcl}{scrartcl}{document class}
+\edef\TUDScriptClassName{\TUD@Class@Name}
+\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUDVersion]
+\RequirePackage{tudscrbase}[\TUD@Version]
+\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}}
+\AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions}
%%% From File: tudscr-fonts.dtx
\PreventPackageFromLoading[%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The package `tudscrfonts' must not be used with\MessageBreak%
a TUD-KOMA-Script class%
}%
]{tudscrfonts}
-\newif\if@tud@univers
-\newif\if@tud@dinbold
-\newcommand*\tud@univers{lun}
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@fontspec
-\TUD@key{fontspec}[true]{%
- \ClassWarning{\TUDClassName}%
- {%
- The option key `fontspec' is deprecated.\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
-}
-\AtEndOfClass%
-{%
- \TUD@key{fontspec}[]%
- {%
- \ClassError{\TUDClassName}%
- {Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\TUDClassName'
- but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@fontspec%
- \RequirePackage{fontspec}[2014/06/21]%
- \fi%
-}
-\AfterPackage*{fontspec}{\@tud@fontspectrue}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@uclcnotmath{%
- \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
- \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
-}
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
- \@nonchangecase\ensuremath\tud@uclcnotmath
-}{}{\tud@patch@wrn{@uclcnotmath}}%
-\newcommand*\tud@font@heading{\dinbn\tud@raggedright}
-\newcommand*\tud@cdfont{1}
+\newif\if@tud@x@fontspec@enabled
+\AfterPackage*{fontspec}{\@tud@x@fontspec@enabledtrue}
+\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@ultrabold
+\@tud@cdfont@dintrue
+\newcommand*\tud@cdfont@num{1}
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@numkey@bool,%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2},%
- {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},%
- {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},%
- {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},%
- {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},%
- {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},%
- {bar}{6},{barfont}{6},%
- {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},%
- {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},%
- {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},%
- {headlight}{6},{headfontlight}{6},{headlightfont}{6},%
- {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},%
- {barlight}{6},{barfontlight}{6},{barlightfont}{6},%
- {litehead}{6},{liteheadfont}{6},{litefonthead}{6},%
- {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},%
- {litebar}{6},{litebarfont}{6},{litefontbar}{6},%
- {headlite}{6},{headfontlite}{6},{headlitefont}{6},%
- {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},%
- {barlite}{6},{barfontlite}{6},{barlitefont}{6},%
- {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},%
- {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},%
- {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},%
- {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},%
- {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},%
- {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},%
- {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},%
- {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},%
- {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},%
- {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},%
- {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},%
- {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},%
- {nomath}{8},{nocdmath}{8},%
- {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},%
- {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},%
- {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},%
- {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},%
- {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
- {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
+ {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}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@cdfont{0}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{1}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% heavy
- \def\tud@cdfont{2}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{2}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% normalbold
+ \@tud@cdfont@ultraboldfalse%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% ultrabold
+ \@tud@cdfont@ultraboldtrue%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% nodin
- \renewcommand*\tud@font@heading{\tud@RaggedRight}%
+ \@tud@cdfont@dinfalse%
\or% din
- \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
+ \@tud@cdfont@dintrue%
\or% nohead
\TUDoptions{cdhead=false}%
\or% head
@@ -227,16 +222,38 @@
\TUDoptions{fontspec=false}%
\fi%
\else%
- \KOMAoptions{fontsize=#1}%
- \ifcase\tud@cdfont\relax% false to true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \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}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }{}%
+ \fi%
+}
+\newif\if@tud@relspacing
+\TUD@key{relspacing}[true]{%
+ \TUD@set@numkey{relspacing}{@tempa}{%
+ \TUD@numkey@bool,%
+ {absolute}{0},{classic}{0},{standard}{0},%
+ {relative}{1},{fontsize}{1},{font}{1},{size}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@relspacingfalse%
+ \or% true
+ \@tud@relspacingtrue%
\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{fontsize}{%
- \AtEndOfFamilyOptions{\if@atdocument\tud@font@skip@set\fi}%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\FamilyKeyStateProcessed%
}
\bool@lock{@tud@cdmath}
@@ -251,10 +268,10 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\bool@set@lock{@tud@cdmath}{false}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% true
\bool@set@lock{@tud@cdmath}{true}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% upgreek
\TUDoptions{slantedgreek=false}%
\or% slgreek
@@ -267,28 +284,111 @@
\TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\bool@set@lock{@tud@slantedgreek}{#1}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+%%% From File: tudscr-area.dtx
+\cs@lock{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@numkey@bool,%
+ {typearea}{0},%
+ {cd}{1},{tud}{1},{asymmetric}{1},%
+ {symmetric}{2},{centred}{2},{centered}{2},%
+ {normal}{2},{standard}{2},{std}{2},%
+ {twoside}{3},{balanced}{3},%
+ {oneside}{4},%
+ {restricted}{5},%
+ {adapted}{6},{adapt}{6},{adapting}{6},{unrestricted}{6},%
+ {calculated}{7},{calc}{7},{calculate}{7},{calculating}{7},%
+ {custom}{8},{user}{8},{package}{8}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false/typearea
+ \cs@set@lock{tud@cdgeometry@num}{0}%
+ \or% true/cd
+ \cs@set@lock{tud@cdgeometry@num}{2}%
+ \or% symmetric
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \or% twoside
+ \cs@set@lock{tud@cdgeometry@num}{4}%
+ \TUD@KOMAoptions{twoside=true}%
+ \or% oneside
+ \ifnum\tud@cdgeometry@num>\thr@@\relax%
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \fi%
+ \TUD@KOMAoptions{twoside=false}%
+ \or% restricted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{0}%
+ \or% adapted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{1}%
+ \or% calculated
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{2}%
+ \or% custom
+ \cs@set@lock{tud@cdgeometry@num}{1}%
+ \fi%
+ \@tempswafalse%
+ \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi%
+ \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi%
+ \if@tempswa%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@dim@extrabottommargin{\z@}
+\TUD@key{extrabottommargin}{%
+ \TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \fi%
+}
+\newcommand*\tud@dim@bleedmargin{.2in}
+\TUD@key{bleedmargin}{%
+ \TUD@set@dimenkey{bleedmargin}{\tud@dim@bleedmargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifdim\dimexpr\tud@dim@bleedmargin\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@bleedmargin{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \fi%
+}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{twoside}{%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \FamilyKeyStateProcessed%
+}
+\DefineFamilyKey{KOMA}{twocolumn}{%
+ \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]}
+}{}
%%% From File: tudscr-pagestyle.dtx
\newcommand*\tud@ps@list{}
-\newcommand*\tud@iftudps[3]{%
+\newcommand*\tud@if@tudheadings[3]{%
\xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}%
}
\newif\if@tud@ddc@internal
-\newcommand*\tud@clearpage@iftudps{%
- \if@tud@ddc@internal\else\if@atdocument%
- \tud@iftudps{\currentpagestyle}{\clearpage}{}%
- \fi\fi%
-}
-\newcommand*\tud@pagestyle@iftudps{%
- \if@tud@ddc@internal\else\if@atdocument%
- \tud@iftudps{\currentpagestyle}{%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- }{}%
- \fi\fi%
-}
+\newcommand*\tud@comp@clearpage{}%
+\newcommand*\tud@comp@resetpagestyle{}%
\newcommand*\tud@ddc@switch{}
\edef\tud@ddc@switch{%
\TUD@numkey@bool,%
@@ -302,10 +402,10 @@
\newif\if@tud@headlogo@option@set
\newif\if@tud@footlogo@option@set
\newif\if@tud@ddc@auto
-\newcommand*\tud@ddc{0}
+\newcommand*\tud@ddc@auto@num{0}
\TUD@key{ddc}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal%
\@tud@ddc@autofalse%
@@ -319,12 +419,12 @@
\global\@tud@headlogo@option@settrue%
\global\@tud@footlogo@option@settrue%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
-\newcommand*\tud@ddc@head{0}
+\newcommand*\tud@ddc@head@num{0}
\TUD@key{ddchead}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal\else%
\@tud@ddc@internaltrue%
@@ -333,12 +433,12 @@
\@tud@ddc@internalfalse%
\fi%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
-\newcommand*\tud@ddc@foot{0}
+\newcommand*\tud@ddc@foot@num{0}
\TUD@key{ddcfoot}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal\else%
\@tud@ddc@internaltrue%
@@ -347,43 +447,32 @@
\@tud@ddc@internalfalse%
\fi%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
-}
-\newcommand*\tud@ddc@check{%
- \let\@tempa\tud@ddc@head%
- \let\@tempb\tud@ddc@foot%
- \if@tud@ddc@auto%
- \ifdefvoid{\@headlogo}{%
- \let\@tempa\tud@ddc%
- \let\@tempb\z@%
- }{%
- \let\@tempa\z@%
- \let\@tempb\tud@ddc%
- }%
- \fi%
- \tud@ifverlower{2.03}{%
- \ifnum\@tempb=\z@\relax%
- \ifdefvoid{\@footlogo}{}{\let\@tempb\m@ne}%
- \fi%
- }{}%
+ \tud@comp@resetpagestyle%
}
-\newlength\tud@dim@extrabottommargin
-\TUD@key{extrabottommargin}{%
- \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+\newcommand*\tud@dim@footlogoheight{}
+\let\tud@dim@footlogoheight\relax
+\TUD@key{footlogoheight}{%
+ \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@geometry@process\fi%
+ \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \global\@tud@footlogo@option@settrue%
\fi%
}
-\cs@lock{tud@head@font}{0}
-\cs@lock{tud@head@bar}{0}
+\cs@lock{tud@head@font@num}{0}
+\cs@lock{tud@head@bar@num}{0}
\bool@lock{@tud@head@widebar}
+\newif\if@tud@head@font@set
+\newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
\TUD@set@numkey{cdhead}{@tempa}{%
\TUD@numkey@bool,%
{nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
{cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2},%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
{nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},%
{colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},%
{colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},%
@@ -394,32 +483,42 @@
{color}{6},{colour}{6},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},%
{textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},%
- {paperwidth}{8},{wide}{8},{widehead}{8}%
+ {narrow}{7},{narrowhead}{7},{small}{7},{smallhead}{7},%
+ {paperwidth}{8},{wide}{8},{widehead}{8},%
+ {date}{9},{showdate}{9},{dateon}{9},{datetrue}{9},{dateyes}{9},%
+ {nodate}{10},{hidedate}{10},{dateoff}{10},{datefalse}{10},{dateno}{10}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@head@font}{0}%
+ \cs@set@lock{tud@head@font@num}{0}%
\or% true
- \cs@set@lock{tud@head@font}{1}%
+ \cs@set@lock{tud@head@font@num}{1}%
\or% heavy
- \cs@set@lock{tud@head@font}{2}%
+ \cs@set@lock{tud@head@font@num}{2}%
\or% nocolor
- \cs@set@lock{tud@head@bar}{0}%
+ \cs@set@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% color
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% textwidth
\bool@set@lock{@tud@head@widebar}{false}%
\or% paperwidth
\bool@set@lock{@tud@head@widebar}{true}%
+ \or% date
+ \@tud@head@datetrue%
+ \or% nodate
+ \@tud@head@datefalse%
+ \fi%
+ \ifnum\@tempa<\thr@@\relax%
+ \global\@tud@head@font@settrue%
\fi%
\fi%
}
-\TUD@AfterPackage@Set{scrlayer-scrpage}
-\newif\if@tud@foot@colored
+\TUD@AfterPackage@set{scrlayer-scrpage}
+\bool@lock{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@numkey@bool,%
@@ -431,13 +530,13 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@AfterPackage{scrlayer-scrpage}{%
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
\tud@font@koma@unset{pageheadfoot}%
}%
\or% true
- \TUD@AfterPackage{scrlayer-scrpage}{%
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
\tud@font@koma@set{pageheadfoot}{\upshape}%
@@ -450,71 +549,54 @@
\ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
\or% nocolor
- \@tud@foot@coloredfalse%
+ \bool@set@lock{@tud@foot@colored}{false}%
\or% color
- \@tud@foot@coloredtrue%
+ \bool@set@lock{@tud@foot@colored}{true}%
\fi%
\else%
- \TUDoptions{extrabottommargin=#1}%
+ \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
\fi%
}
\newcommand*\tud@ps@store[1]{%
- \tud@@ps@store{#1}{odd}{left}{head}%
- \tud@@ps@store{#1}{odd}{right}{head}%
- \tud@@ps@store{#1}{odd}{middle}{head}%
- \tud@@ps@store{#1}{even}{left}{head}%
- \tud@@ps@store{#1}{even}{right}{head}%
- \tud@@ps@store{#1}{even}{middle}{head}%
- \tud@@ps@store{#1}{odd}{left}{foot}%
- \tud@@ps@store{#1}{odd}{right}{foot}%
- \tud@@ps@store{#1}{odd}{middle}{foot}%
- \tud@@ps@store{#1}{even}{left}{foot}%
- \tud@@ps@store{#1}{even}{right}{foot}%
- \tud@@ps@store{#1}{even}{middle}{foot}%
-}
-\newcommand*\tud@@ps@store[4]{%
+ \tud@ps@@store{#1}{odd}{left}{head}%
+ \tud@ps@@store{#1}{odd}{right}{head}%
+ \tud@ps@@store{#1}{odd}{middle}{head}%
+ \tud@ps@@store{#1}{even}{left}{head}%
+ \tud@ps@@store{#1}{even}{right}{head}%
+ \tud@ps@@store{#1}{even}{middle}{head}%
+ \tud@ps@@store{#1}{odd}{left}{foot}%
+ \tud@ps@@store{#1}{odd}{right}{foot}%
+ \tud@ps@@store{#1}{odd}{middle}{foot}%
+ \tud@ps@@store{#1}{even}{left}{foot}%
+ \tud@ps@@store{#1}{even}{right}{foot}%
+ \tud@ps@@store{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@store[4]{%
\ifcsdef{@@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}%
- \tud@@ps@restore{#1}{odd}{right}{head}%
- \tud@@ps@restore{#1}{odd}{middle}{head}%
- \tud@@ps@restore{#1}{even}{left}{head}%
- \tud@@ps@restore{#1}{even}{right}{head}%
- \tud@@ps@restore{#1}{even}{middle}{head}%
- \tud@@ps@restore{#1}{odd}{left}{foot}%
- \tud@@ps@restore{#1}{odd}{right}{foot}%
- \tud@@ps@restore{#1}{odd}{middle}{foot}%
- \tud@@ps@restore{#1}{even}{left}{foot}%
- \tud@@ps@restore{#1}{even}{right}{foot}%
- \tud@@ps@restore{#1}{even}{middle}{foot}%
-}
-\newcommand*\tud@@ps@restore[4]{%
+ \tud@ps@@restore{#1}{odd}{left}{head}%
+ \tud@ps@@restore{#1}{odd}{right}{head}%
+ \tud@ps@@restore{#1}{odd}{middle}{head}%
+ \tud@ps@@restore{#1}{even}{left}{head}%
+ \tud@ps@@restore{#1}{even}{right}{head}%
+ \tud@ps@@restore{#1}{even}{middle}{head}%
+ \tud@ps@@restore{#1}{odd}{left}{foot}%
+ \tud@ps@@restore{#1}{odd}{right}{foot}%
+ \tud@ps@@restore{#1}{odd}{middle}{foot}%
+ \tud@ps@@restore{#1}{even}{left}{foot}%
+ \tud@ps@@restore{#1}{even}{right}{foot}%
+ \tud@ps@@restore{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@restore[4]{%
\ifcsdef{@@tud@ps@#1@#2@#3@#4}{%
\csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}%
\csundef{@@tud@ps@#1@#2@#3@#4}%
}{}%
}
-\newcommand*\tud@geometry{0}
-\TUD@key@lock{cdgeometry}[true]{%
- \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{%
- \TUD@numkey@bool,%
- {typearea}{0},%
- {cd}{1},{tud}{1},{asymmetric}{1},%
- {symmetric}{2},{centred}{2},{centered}{2},%
- {normal}{2},{standard}{2},{std}{2},%
- {twoside}{3},{balanced}{3}%
- }{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\recalctypearea\fi%
- \fi%
-}
%%% From File: tudscr-layout.dtx
-\cs@lock{tud@layout@cover}{0}
-\cs@lock{tud@layout@title}{0}
-\cs@lock{tud@layout@part}{0}
\newcommand*\tud@layout@switch{}
\edef\tud@layout@switch{%
\TUD@numkey@bool,%
@@ -528,46 +610,56 @@
{color}{5},{colour}{5},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
-\newcommand*\tud@cd{0}
+\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}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cd}{tud@cd@num}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\tud@cd\relax% false
- \cs@std@lock{tud@layout@cover}{0}%
- \cs@std@lock{tud@layout@title}{0}%
- \cs@std@lock{tud@layout@part}{0}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{1}%
- \cs@std@lock{tud@layout@part}{1}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{2}%
- \cs@std@lock{tud@layout@part}{2}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{3}%
- \cs@std@lock{tud@layout@part}{3}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{4}%
- \cs@std@lock{tud@layout@part}{4}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{5}%
- \cs@std@lock{tud@layout@part}{5}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{6}%
- \cs@std@lock{tud@layout@part}{6}%
+ \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}%
\fi%
- \if@atdocument%
- \tud@layout@process%
- \else%
- \ifcase\tud@cd\relax% false
- \TUD@std@numkey@lock{cdgeometry}{false}%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \if@atdocument\else%
+ \ifcase\tud@cd@num\relax% false
+ \cs@std@lock{tud@cdgeometry@num}{0}%
\else% !false
- \TUD@std@numkey@lock{cdgeometry}{true}%
+ \cs@std@lock{tud@cdgeometry@num}{2}%
\fi%
\fi%
\fi%
@@ -576,93 +668,115 @@
\TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@cover}{0}%
+ \cs@set@lock{tud@layout@cover@num}{0}%
\or% true
- \cs@set@lock{tud@layout@cover}{1}%
+ \cs@set@lock{tud@layout@cover@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@cover}{2}%
+ \cs@set@lock{tud@layout@cover@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@cover}{3}%
+ \cs@set@lock{tud@layout@cover@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@cover}{4}%
+ \cs@set@lock{tud@layout@cover@num}{4}%
\or% color
- \cs@set@lock{tud@layout@cover}{5}%
+ \cs@set@lock{tud@layout@cover@num}{5}%
\or% full
- \cs@set@lock{tud@layout@cover}{6}%
+ \cs@set@lock{tud@layout@cover@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdtitle}[true]{%
\TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@title}{0}%
+ \cs@set@lock{tud@layout@title@num}{0}%
\or% true
- \cs@set@lock{tud@layout@title}{1}%
+ \cs@set@lock{tud@layout@title@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@title}{2}%
+ \cs@set@lock{tud@layout@title@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@title}{3}%
+ \cs@set@lock{tud@layout@title@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@title}{4}%
+ \cs@set@lock{tud@layout@title@num}{4}%
\or% color
- \cs@set@lock{tud@layout@title}{5}%
+ \cs@set@lock{tud@layout@title@num}{5}%
\or% full
- \cs@set@lock{tud@layout@title}{6}%
+ \cs@set@lock{tud@layout@title@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdpart}[true]{%
\TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@part}{0}%
+ \cs@set@lock{tud@layout@part@num}{0}%
\or% true
- \cs@set@lock{tud@layout@part}{1}%
+ \cs@set@lock{tud@layout@part@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@part}{2}%
+ \cs@set@lock{tud@layout@part@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@part}{3}%
+ \cs@set@lock{tud@layout@part@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@part}{4}%
+ \cs@set@lock{tud@layout@part@num}{4}%
\or% color
- \cs@set@lock{tud@layout@part}{5}%
+ \cs@set@lock{tud@layout@part@num}{5}%
\or% full
- \cs@set@lock{tud@layout@part}{6}%
+ \cs@set@lock{tud@layout@part@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
-\newcommand*\tud@font@koma@set[2]{%
- \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}%
- \@namedef{tud@font@koma@#1}{#2\nobreak}%
+\TUD@key{cdsection}[true]{%
+ \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@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}%
+ \fi%
}
-\newcommand*\tud@font@koma@reset[1]{%
- \addtokomafont{#1}{\@nameuse{tud@font@koma@#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@font@koma@unset[1]{%
- \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
+ \csdef{tud@font@koma@#1}{\relax}%
+}
+\newcommand*\tud@font@koma@reset[1]{%
+ \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}%
}
-\newcommand*\tud@font@heading@size{}
-\AtEndOfClass{\let\tud@font@heading@size\size@part}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{headings}{%
- \AtEndOfFamilyOptions{%
- \let\tud@font@heading@size\size@part%
- \if@atdocument%
- \tud@layout@process%
- \ifcase\tud@layout@part\relax\else% !false
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
- \tud@font@koma@reset{minisec}%
- \fi%
- \fi%
- }%
+ \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@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}%
+}
+%%% From File: tudscr-title.dtx
+\newif\if@tud@subjectthesis
+\TUD@key@lock{subjectthesis}[true]{%
+ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@switch{%
@@ -681,8 +795,8 @@
{tocmultiple}{13},{tocmulti}{13},{tocall}{13},{tocaggregate}{13},%
{totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
-\newcommand*\tud@abstract@level{0}
-\cs@lock{tud@abstract@toc}{0}
+\newcommand*\tud@abstract@level@num{0}
+\cs@lock{tud@abstract@toc@num}{0}
\newif\if@tud@abstract@multi
\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
@@ -693,14 +807,14 @@
\TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@abstract@level{0}%
- \cs@std@lock{tud@abstract@toc}{0}%
+ \renewcommand*\tud@abstract@level@num{0}%
+ \cs@std@lock{tud@abstract@toc@num}{0}%
\or% true
- \def\tud@abstract@level{1}%
- \cs@std@lock{tud@abstract@toc}{0}%
+ \renewcommand*\tud@abstract@level@num{1}%
+ \cs@std@lock{tud@abstract@toc@num}{0}%
\or% section
- \def\tud@abstract@level{2}%
- \cs@std@lock{tud@abstract@toc}{1}%
+ \renewcommand*\tud@abstract@level@num{2}%
+ \cs@std@lock{tud@abstract@toc@num}{1}%
\or% chapter
\or% single
\@tud@abstract@multifalse%
@@ -715,35 +829,39 @@
\or% nomarkboth
\@tud@abstract@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@abstract@toc}{0}%
+ \cs@set@lock{tud@abstract@toc@num}{0}%
\or% totoc
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\else%
- \cs@set@lock{tud@abstract@toc}{3}%
+ \cs@set@lock{tud@abstract@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{2}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{2}%
\else%
- \cs@set@lock{tud@abstract@toc}{4}%
+ \cs@set@lock{tud@abstract@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@abstract@toc=\z@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num=\z@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\fi%
- \ifnum\tud@abstract@toc<\thr@@\relax%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@abstract@toc}{%
- \the\numexpr\tud@abstract@toc+2\relax%
+ \noexpand\cs@set@lock{tud@abstract@toc@num}{%
+ \the\numexpr\tud@abstract@toc@num+2\relax%
}%
}\@tempa%
\fi%
\fi%
\fi%
}
-\newcommand*\tud@declaration@level{1}
-\cs@lock{tud@declaration@toc}{0}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{abstract}[true]{%
+ \AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
+}
+\newcommand*\tud@declaration@level@num{1}
+\cs@lock{tud@declaration@toc@num}{0}
\newif\if@tud@declaration@multi
\@tud@declaration@multitrue
\newif\if@tud@declaration@fil
@@ -754,14 +872,14 @@
\TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@declaration@level{0}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{0}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% true
- \def\tud@declaration@level{1}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{1}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% section
- \def\tud@declaration@level{2}%
- \cs@std@lock{tud@declaration@toc}{1}%
+ \renewcommand*\tud@declaration@level@num{2}%
+ \cs@std@lock{tud@declaration@toc@num}{1}%
\or% chapter
\or% single
\@tud@declaration@multifalse%
@@ -776,55 +894,74 @@
\or% nomarkboth
\@tud@declaration@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@declaration@toc}{0}%
+ \cs@set@lock{tud@declaration@toc@num}{0}%
\or% totoc
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\else%
- \cs@set@lock{tud@declaration@toc}{3}%
+ \cs@set@lock{tud@declaration@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{2}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{2}%
\else%
- \cs@set@lock{tud@declaration@toc}{4}%
+ \cs@set@lock{tud@declaration@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@declaration@toc=\z@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num=\z@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\fi%
- \ifnum\tud@declaration@toc<\thr@@\relax%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@declaration@toc}{%
- \the\numexpr\tud@declaration@toc+2\relax%
+ \noexpand\cs@set@lock{tud@declaration@toc@num}{%
+ \the\numexpr\tud@declaration@toc@num+2\relax%
}%
}\@tempa%
\fi%
\fi%
\fi%
}
-%%% From File: tudscr-title.dtx
-\newif\if@tud@subjectthesis
-\TUD@key@lock{subjectthesis}[true]{%
- \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
-}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@key[2]{%
- \ClassWarning{\TUDClassName}%
+\newcommand*\TUD@key@deprecated[2]{%
+ \ClassWarning{\TUD@Class@Name}%
{%
- The option key `#1' is deprecated.\MessageBreak%
+ The option key `#1' is deprecated\MessageBreak%
It's recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\TUD@key{fontspec}[true]{%
+ \ClassWarning{\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}[2014/06/21]%
+ \fi%
+}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -832,9 +969,9 @@
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -842,9 +979,9 @@
\TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{heavyfont}{cdfont=heavy}%
+ \TUD@key@deprecated{heavyfont}{cdfont=heavy}%
\else%
- \TUD@deprecated@key{heavyfont=#1}{cdfont=true}%
+ \TUD@key@deprecated{heavyfont=#1}{cdfont=true}%
\fi%
\fi%
}
@@ -852,9 +989,9 @@
\TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@key@deprecated{din}{cdfont=din}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@key@deprecated{din=#1}{cdfont=nodin}%
\fi%
\fi%
}
@@ -862,9 +999,9 @@
\TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@key@deprecated{nodin}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@key@deprecated{nodin=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -872,9 +1009,9 @@
\TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@key@deprecated{noDIN}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@key@deprecated{noDIN=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -882,9 +1019,9 @@
\TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@key@deprecated{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@key@deprecated{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
@@ -892,28 +1029,28 @@
\TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@key@deprecated{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@key@deprecated{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{geometry}[true]{\TUD@deprecated@key{geometry=#1}{cdgeometry=#1}}
+\TUD@key{geometry}[true]{\TUD@key@deprecated{geometry=#1}{cdgeometry=#1}}
\TUD@key{barfont}[true]{%
\TUD@set@numkey{barfont}{@tempa}{%
\TUD@numkey@bool,%
{nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
{cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2}%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@deprecated@key{barfont=#1}{cdhead=false}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=false}%
\or% true
- \TUD@deprecated@key{barfont=#1}{cdhead=true}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=true}%
\or% heavy
- \TUD@deprecated@key{barfont=#1}{cdhead=heavy}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=heavy}%
\fi%
\fi%
}
@@ -921,9 +1058,9 @@
\TUD@set@ifkey{widehead}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{widehead}{cdhead=paperwidth}%
+ \TUD@key@deprecated{widehead}{cdhead=paperwidth}%
\else%
- \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}%
+ \TUD@key@deprecated{widehead=#1}{cdhead=textwidth}%
\fi%
\fi%
}
@@ -931,9 +1068,9 @@
\TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{tudfoot}{cdfoot=true}%
+ \TUD@key@deprecated{tudfoot}{cdfoot=true}%
\else%
- \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}%
+ \TUD@key@deprecated{tudfoot=#1}{cdfoot=false}%
\fi%
\fi%
}
@@ -952,84 +1089,172 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@deprecated@key{color=#1}{cd=true}%
+ \TUD@key@deprecated{color=#1}{cd=true}%
\or% true
- \TUD@deprecated@key{color=#1}{cd=color}%
+ \TUD@key@deprecated{color=#1}{cd=color}%
\or% litecolor
- \TUD@deprecated@key{color=#1}{cd=pale}%
+ \TUD@key@deprecated{color=#1}{cd=pale}%
\or% bicolor
- \TUD@deprecated@key{color=#1}{cd=bicolor}%
+ \TUD@key@deprecated{color=#1}{cd=bicolor}%
\or% full
- \TUD@deprecated@key{color=#1}{cd=fullcolor}%
+ \TUD@key@deprecated{color=#1}{cd=fullcolor}%
\fi%
\fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
\newcommand*\tud@v@comp{\tud@v@last}
\TUD@key{tudscrver}[last]{%
- \ifcsvoid{tud@v@#1}{%
- \def\tud@v@comp{0}%
- \ClassWarningNoLine{\TUDClassName}%
+ \tud@v@get\@tempa{#1}%
+ \ifcsundef{tud@v@\@tempa}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
{%
- You have set option `tudscrver' to `#1', but\MessageBreak%
+ You have set option `tudscrver' to `\@tempa', but\MessageBreak%
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \FamilyKeyStateProcessed%
+ \def\tud@v@comp{0}%
}{%
- \ClassInfoNoLine{\TUDClassName}%
+ \ClassInfoNoLine{\TUD@Class@Name}%
{%
- Switching compatibility level to `#1'%
+ Switching compatibility level to `\@tempa'%
}%
- \edef\tud@v@comp{\@nameuse{tud@v@#1}}%
- \FamilyKeyStateProcessed%
+ \edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
+ \FamilyKeyStateProcessed%
}
\AtEndOfClass%
{%
\TUD@key{tudscrver}[]{%
- \ClassError{\TUDClassName}%
+ \ClassError{\TUD@Class@Name}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\TUDClassName'
+ class `\TUD@Class@Name'
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
}%
- \ifcsdef{scr@v@3.17}{%
- \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax%
- \ClassError{\TUDClassName}{%
+ \ifcsdef{scr@v@\TUD@Version@KOMA}{%
+ \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax%
+ \ClassError{\TUD@Class@Name}{%
KOMA-Script compatibility level too low%
}{%
- \TUDVersion\space has to be used at least with\MessageBreak%
- KOMA-Script compatibility option `version=v3.12'.%
+ \TUD@Version\space must be used at least with\MessageBreak%
+ KOMA-Script compatibility option `version=3.12'.%
}%
\fi%
}{%
- \ClassError{\TUDClassName}{%
- KOMA-Script v3.17 is required%
+ \ClassError{\TUD@Class@Name}{%
+ KOMA-Script v\TUD@Version@KOMA is required%
}{%
- \TUDVersion\space has to be used with KOMA-Script v3.17\MessageBreak%
- at least. You're using \KOMAScriptVersion%
+ \TUD@Version\space must at least be used with\MessageBreak%
+ KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion%
}%
}%
}
-\@namedef{tud@v@first}{0}
-\@namedef{tud@v@2.02}{0}
-\@namedef{tud@v@v2.02}{0}
-\@namedef{tud@v@2.03}{1}
-\@namedef{tud@v@v2.03}{1}
-\@namedef{tud@v@2.04}{2}
-\@namedef{tud@v@v2.04}{2}
-\@namedef{tud@v@last}{2}
-\newcommand*\tud@ifverlower[1]{%
- \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax%
- \expandafter\@firstoftwo%
+\csdef{tud@v@first}{0}
+\csdef{tud@v@2.00}{0}
+\csdef{tud@v@2.01}{0}
+\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}
+\csdef{tud@v@2.04a}{2}
+\csdef{tud@v@2.04b}{2}
+\csdef{tud@v@2.04c}{2}
+\csdef{tud@v@2.04d}{2}
+\csdef{tud@v@2.04e}{2}
+\csdef{tud@v@2.05}{3}
+\csdef{tud@v@last}{3}
+\newcommand*\tud@v@get[2]{%
+ \begingroup%
+ \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
+ \def\@tempb v##1\@nil{\def\@tempc{##1}}%
+ \@tempa #2\@nil%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\def#1}{\@tempc}%
+ }%
+ \tud@reserved%
+}
+\newcommand*\tud@if@v@lower[1]{%
+ \begingroup%
+ \tud@v@get\@tempa{#1}%
+ \ifcsdef{tud@v@\@tempa}{%
+ \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax%
+ \def\tud@reserved{\endgroup\@firstoftwo}%
+ \else%
+ \def\tud@reserved{\endgroup\@secondoftwo}%
+ \fi%
+ }{%
+ \def\tud@reserved{%
+ \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning!
+ Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak%
+ There's no defined macro `\string\tud@v@\@tempa'%
+ }%
+ \endgroup\@firstoftwo%
+ }%
+ }%
+ \tud@reserved%
+}
+%%% 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%
+ }%
+ \expandafter\@tempb\@tempa::\@nil%
+ \fi%
+ \@tud@x@scr@paper@setfalse%
+ \if@tempswa%
+ \ifstr{\@tempa}{a4}{}{\@tud@x@scr@paper@settrue}%
+ \FamilyKeyStateProcessed%
\else%
- \expandafter\@secondoftwo%
+ \FamilyKeyStateUnknownValue%
\fi%
}
-%%% From File: tudscr-misc.dtx
+\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}{%
@@ -1044,182 +1269,319 @@
\fi%
\fi%
}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
+\AtEndOfClass{%
+ \newcounter{symbolheadings}
+}
%%% From File: tudscr-misc.dtx
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUDClassName@KOMA}}
-\TUDExecuteOptions{cd=true,cdfont=true,tudbookmarks=true}
+\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}
+\TUDExecuteOptions{%
+ cd=true,relspacing=true,tudbookmarks=true%
+}
\TUDProcessOptions\relax
-\LoadClass{\TUDClassName@KOMA}[2015/04/23]
+\LoadClass{\TUD@Class@KOMA}[2015/04/23]
%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
- \ClassWarningNoLine{\TUDClassName}{%
- The package `graphics' was superseded by `graphicx',\MessageBreak%
- which is automatically loaded%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ Package `graphics' was superseded by `graphicx',\MessageBreak%
+ which now will be loaded automatically%
}%
}{}%
}%
\RequirePackage{graphicx}[1999/02/16]%
- \RequirePackage{tudscrcolor}[\TUDVersion]%
-}
-\newcommand*\TUD@parameter@defaulthandler[2]{%
- \def\@tempa{#2}%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}%
- \ifxnumber{\@tempb}{%
- \TUD@parameter@set{#1}{columns=\@tempb}%
- }{%
- \TUD@parameter@set{#1}{language=\@tempb}%
- }%
- \fi%
- }%
-}
-\cs@lock{tud@multicols}{1}
-\newcommand*\tud@multicols@check{%
- \ifdef{\multicols}{}{%
- \ifnum\tud@multicols>\@ne\relax%
- \ClassWarning{\TUDClassName}{%
- The option `columns=\tud@multicols' is only supported,\MessageBreak%
- when package `multicol' is loaded%
- }%
- \cs@set@lock{tud@multicols}{1}%
- \fi%
- }%
+ \RequirePackage{tudscrcolor}[\TUD@Version]%
+}
+\cs@lock{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}%
+ \fi%
}
+\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}}
%%% From File: tudscr-fonts.dtx
-\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*\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@x@fontspec@noerror{}
+\IfFileExists{expl3.sty}{\@tempswatrue}{\@tempswafalse}
+\if@tempswa
+ \RequirePackage{expl3}[2016/05/18]
+ \ExplSyntaxOn
+ \renewcommand*\tud@x@fontspec@noerror{%
+ \__fontspec_font_suppress_not_found_error:
+ \msg_redirect_name:nnn {fontspec}{font-not-found}{none}
+ }%
+ \ExplSyntaxOff
+\fi
\newcommand*\tud@font@check{%
- \if@tud@fontspec%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@dinbold.fd}}%
- }%
- \def\@tempc##1{%
- \ClassInfoNoLine{\TUDClassName}%
- {%
- `##1' fonts for math typesetting not found\MessageBreak%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual%
- }%
+ \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
+ \def\@tempb##1{%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts for math typesetting not found\MessageBreak%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual%
+ }%
+ \fi%
+ \fi%
+ }%
+ \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
+ \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN Bold}}%
+ \if@tud@x@fontspec@enabled%
+ \def\@tempc##1##2{%
+ \fontspec{##1}%
+ \expandafter\ifx\the\font\nullfont%
+ ##2%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. A fallback layout is used%
+ }%
+ \fi%
+ \fi%
}%
+ \begingroup%
+ \tud@x@fontspec@noerror%
+ \global\@tud@universtrue%
+ \@tempc{Univers Light}{\global\@tud@universfalse}%
+ \@tempc{Univers}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold}{\global\@tud@universfalse}%
+ \@tempc{Univers Black}{\global\@tud@universfalse}%
+ \@tempc{Univers Light Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Black Oblique}{\global\@tud@universfalse}%
+ \global\@tud@dinboldtrue%
+ \@tempc{DIN Bold}{\global\@tud@dinboldfalse}%
+ \endgroup%
\else%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@dinbold.fd}}%
- }%
\def\@tempc##1{%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}
- \ClassWarningNoLine{\TUDClassName}%
- {%
- `##1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
- \if@tempswa%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual.\MessageBreak%
- \else%
- Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
- \fi%
- A fallback layout is used%
- }%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \@tempswafalse%
+ \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
+ \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ \if@tempswa%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual.\MessageBreak%
+ \else%
+ Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
+ \fi%
+ A fallback layout is used%
+ }%
+ \fi%
}%
+ \@tempa{\encodingdefault}%
+ {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
+ \@tempa{\encodingdefault}%
+ {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\fi%
- \@tempa{\@tud@universtrue}{\@tempc{Univers}}%
- \@tempb{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\undef\tud@font@check%
}
-\newcommand*\tud@font@init{%
- \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@fontspec%
- \undef\tud@fontface%
- \undef\tud@fontspec@flag%
- \undef\tud@fontspec@error%
- \undef\tud@font@init@nfss%
- \undef\tud@font@init%
-}
-\newif\if@tud@fontspec@missing
-\newcommand*\tud@font@init@fontspec{}
-\IfFileExists{xparse.sty}{\@tempswatrue}{\@tempswafalse}%
-\if@tempswa
- \RequirePackage{xparse}
- \newcommand*\tud@fontspec@flag{\global\@tud@fontspec@missingtrue\@gobbletwo}%
- \NewDocumentCommand\tud@fontface{mmo}{%
- \global\@tud@fontspec@missingfalse%
- \newfontface#1{#2}[#3]%
- \if@tud@fontspec@missing%
- \renewrobustcmd*#1{}%
+\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%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' fonts not found}%
+ \fi%
+ \if@tud@dinbold\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' fonts not found}%
+ \fi%
\fi%
- }%
- \ExplSyntaxOn
- \renewcommand*\tud@font@init@fontspec{%
- \cs_set_eq:NN \tud@fontspec@error \__fontspec_error:nx
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@flag
- \tud@fontface\univln{Univers Light}[NFSSFamily=UniversLight]%
- \tud@fontface\univrn{Univers}[NFSSFamily=UniversRegular]%
- \tud@fontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
- \tud@fontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
- \tud@fontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
- \tud@fontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
- \tud@fontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
- \tud@fontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
- \tud@fontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
- \if@tud@fontspec@missing%
- \newrobustcmd*\dinbn{\sectfont}%
- \else%
- \if@tud@dinbold%
- \newrobustcmd*\dinbn{\@dinbn\mathversion{dinbold}}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{false}%
+ \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}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{true}%
+ \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
+ \if@tud@univers%
+ \if@tud@x@fontspec@enabled%
+ \setsansfont{Univers}[%
+ 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 Light Oblique},%
+ FontFace = {m}{\sldefault}{Univers Oblique},%
+ FontFace = {b}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {bx}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {eb}{\sldefault}{Univers Black Oblique},%
+ NFSSFamily = \tud@univers%
+ ]%
+ \setmonofont{LMMono10-Regular}[%
+ 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%
- \newrobustcmd*\dinbn{\@dinbn}%
+ \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}%
\fi%
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@error
- }%
- \ExplSyntaxOff
-\fi%
-\newcommand*\tud@font@init@nfss{%
+ \renewcommand*\familydefault{\sfdefault}%
+ \renewcommand*\seriesdefault{\mddefault}%
+ \renewcommand*\shapedefault{\updefault}%
+ \fi%
+ \if@tud@x@mweights@enabled%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \fi%
+ \ifdef{\tud@font@math@init}{}{\tud@font@math@set}%
+ \tud@font@skip@set%
+ \normalfont\selectfont%
+ \tud@layout@process%
+ \global\@tud@head@font@settrue%
+}
+\newcommand*\tud@font@skip@set{%
+ \if@tud@relspacing%
+ \tud@skip@store{smallskipamount}%
+ \tud@skip@store{medskipamount}%
+ \tud@skip@store{bigskipamount}%
+ \tud@skip@store{abovecaptionskip}%
+ \tud@skip@store{belowcaptionskip}%
+ \tud@skip@store{columnsep}%
+ \tud@font@skip@@set%
+ \else%
+ \tud@skip@restore{smallskipamount}%
+ \tud@skip@restore{medskipamount}%
+ \tud@skip@restore{bigskipamount}%
+ \tud@skip@restore{abovecaptionskip}%
+ \tud@skip@restore{belowcaptionskip}%
+ \tud@skip@restore{columnsep}%
+ \fi%
+}
+\newcommand*\tud@font@skip@@set{%
+ \smallskipamount=\partopsep%
+ \medskipamount=\partopsep%
+ \multiply\medskipamount by 2%
+ \bigskipamount=\partopsep%
+ \multiply\bigskipamount by 4%
+ \tud@skip@set{abovecaptionskip}{\dimexpr\bigskipamount*5/6\relax}%
+ \tud@skip@set{belowcaptionskip}{\z@}%
+ \tud@skip@set{columnsep}{1.1\baselineskip}%
+}
+\newcommand*\tud@font@init{%
\if@tud@univers%
\newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
\newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
@@ -1230,39 +1592,87 @@
\newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
\newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
\else%
- \newrobustcmd*\univln{}%
- \newrobustcmd*\univrn{}%
- \newrobustcmd*\univbn{}%
- \newrobustcmd*\univxn{}%
- \newrobustcmd*\univls{}%
- \newrobustcmd*\univrs{}%
- \newrobustcmd*\univbs{}%
- \newrobustcmd*\univxs{}%
+ \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 Light Oblique}{md}{sl}}%
+ \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
+ \newrobustcmd*\univbs{\tud@font@fallback{Univers Bold Oblique}{bf}{sl}}%
+ \newrobustcmd*\univxs{\tud@font@fallback{Univers Black Oblique}{bf}{sl}}%
\fi%
\if@tud@dinbold%
- \newrobustcmd*\dinbn{%
- \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
- \mathversion{dinbold}%
- }%
+ \if@tud@x@fontspec@enabled%
+ \newfontface\tud@dinbn{DIN Bold}[%
+ 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},%
+ NFSSFamily = \tud@dinbold%
+ ]%
+ \else%
+ \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
+ \fi%
+ \if@tud@dinboldmath%
+ \appto\tud@dinbn{\mathversion{dinbold}}%
+ \fi%
+ \newrobustcmd*\dinbn{\tud@dinbn}%
\else%
- \newrobustcmd*\dinbn{\sectfont}%
+ \newrobustcmd*\tud@dinbn{\sectfont}%
+ \newrobustcmd*\dinbn{\tud@font@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@wrn{#1}%
+ \sffamily\csuse{#2series}\csuse{#3shape}%
+}
+\newcommand*\tud@font@wrn[1]{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The requested font `#1' is not available, so\MessageBreak%
+ a fallback layout is used%
+ }%
}
\newcommand*\cdfont[1]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\@nameuse{univ\@tempc}}%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
\fi%
}
\providecommand*\tudfont[1]{\cdfont{#1}}
\newcommand*\textcdfont[2]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\@nameuse{textu\@tempc}{#2}}%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
\fi%
}
-\newcommand*\@cdfont[1]{%
- \tud@trimfontname\@tempa{#1}%
+\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}}{%
@@ -1278,33 +1688,34 @@
\ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
\ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
\let\@tempc\relax%
- \PackageWarning{tudscrfonts}{The font `#1' is unknown}%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
}}}}}}}}}}}}}}%
}
-\newcommand*\tud@trimfontname[2]{%
+\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
- \tud@@trimfontname{ }{}%
- \tud@@trimfontname{-}{}%
- \tud@@trimfontname{_}{}%
- \tud@@trimfontname{~}{}%
- \tud@@trimfontname{ce}{}%
- \tud@@trimfontname{ff}{}%
- \tud@@trimfontname{univers}{}%
- \tud@@trimfontname{60}{65}%
- \tud@@trimfontname{light}{45}%
- \tud@@trimfontname{regular}{55}%
- \tud@@trimfontname{bold}{65}%
- \tud@@trimfontname{black}{75}%
- \tud@@trimfontname{4545}{45}%
- \tud@@trimfontname{5555}{55}%
- \tud@@trimfontname{6565}{65}%
- \tud@@trimfontname{7575}{75}%
- \tud@@trimfontname{italic}{oblique}%
- \tud@@trimfontname{slanted}{oblique}%
+ \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%
}
-\newcommand*\tud@@trimfontname[2]{%
+\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
\@whilesw\ifin@\fi{%
@@ -1312,20 +1723,42 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\mv@univers{}%
-\newcommand*\mv@universbold{}%
-\newcommand*\mv@dinbold{}%
+\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@fontspec\if@tud@univers\if@tud@dinbold%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \ClassWarningNoLine{\TUDClassName}%
- {%
- It's recommended to load package `fontspec' with\MessageBreak%
- option `no-math'%
+ \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%
+ }%
}%
- }%
- \fi\fi\fi%
- \if@tud@univers%
+ }{}%
+ \fi\fi%
+ \if@tud@universmath%
\DeclareMathVersion{univers}%
\DeclareMathVersion{universbold}%
\SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
@@ -1336,8 +1769,10 @@
\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
\SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
\SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{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}%
@@ -1346,6 +1781,8 @@
\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}{}%
@@ -1359,15 +1796,19 @@
\SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
}{}%
\fi%
- \if@tud@dinbold%
+ \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%
@@ -1386,192 +1827,41 @@
\tud@font@greek@loop\tud@font@greek@init%
\tud@font@math@set%
}%
- \sbox\z@{\dinbn$ $}%
+ \sbox\z@{\tud@dinbn$ $}%
\undef\tud@font@math@init%
}
-\AtEndPreamble%
-{%
- \tud@font@check%
- \if@tud@fontspec%
- \preto\tud@font@init\tud@font@init@fontspec%
- \else%
- \preto\tud@font@init\tud@font@init@nfss%
- \fi%
- \tud@font@init%
- \tud@font@set[nomath]%
- \AtBeginDocument{\tud@font@math@init}%
-}
\newcommand*\tud@font@greek@init[1]{%
- \ifcsdef{up#1}{}{%
+ \ifcsundef{up#1}{%
\if@tempswa%
\csletcs{up#1}{tud@up#1}%
\else%
\csletcs{up#1}{#1}%
\fi%
- }%
- \ifcsdef{var#1}{}{%
+ }{}%
+ \ifcsundef{var#1}{%
\if@tempswa%
\csletcs{var#1}{#1}%
\else%
\csletcs{var#1}{tud@var#1}%
\fi%
- }%
+ }{}%
}
-\newif\if@tud@mweights
-\AfterPackage*{mweights}{\@tud@mweightstrue}
-\newcommand*\tud@font@set[1][]{%
- \if@tud@mweights%
- \ifdef{\bfseries@rm}{}{\edef\bfseries@rm{\bfdefault}}%
- \ifdef{\bfseries@sf}{}{\edef\bfseries@sf{\bfdefault}}%
- \ifdef{\bfseries@tt}{}{\edef\bfseries@tt{\bfdefault}}%
- \ifdef{\mdseries@rm}{}{\edef\mdseries@rm{\mddefault}}%
- \ifdef{\mdseries@sf}{}{\edef\mdseries@sf{\mddefault}}%
- \ifdef{\mdseries@tt}{}{\edef\mdseries@tt{\mddefault}}%
- \fi%
- \ifcase\tud@cdfont\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@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{false}%
- \cs@std@lock{tud@head@font}{0}%
- \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}%
- \if@tud@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{true}%
- \cs@std@lock{tud@head@font}{\tud@cdfont}%
- \if@tud@fontspec%
- \ifnum\tud@cdfont=\@ne\relax% true
- \setsansfont{Univers Light}[%
- BoldFont = Univers,%
- ItalicFont = Univers Light Oblique,%
- BoldItalicFont = Univers Oblique,%
- ]%
- \setmonofont{LMMonoLt10-Regular}[%
- BoldFont = LMMono10-Regular,%
- ItalicFont = LMMonoLt10-Oblique,%
- BoldItalicFont = LMMonoSlant10-Regular,%
- ]%
- \else% heavy
- \setsansfont{Univers}[%
- BoldFont = Univers Bold,%
- ItalicFont = Univers Oblique,%
- BoldItalicFont = Univers Bold Oblique,%
- ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont = LMMonoLt10-Bold,%
- ItalicFont = LMMonoSlant10-Regular,%
- BoldItalicFont = LMMonoLt10-BoldOblique,%
- ]%
- \fi%
- \else%
- \if@tud@univers%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \ifnum\tud@cdfont=\@ne\relax% true
- \renewcommand*\bfdefault{m}%
- \renewcommand*\mddefault{l}%
- \if@tud@mweights%
- \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
- \renewcommand*\bfdefault{b}%
- \renewcommand*\mddefault{m}%
- \if@tud@mweights%
- \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%
+\newcommand*\tud@font@math@set{%
+ \if@atdocument%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \if@tud@universmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' math fonts not found}%
+ \fi%
+ \if@tud@dinboldmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' math fonts not found}%
\fi%
\fi%
\fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\familydefault{\sfdefault}%
- \renewcommand*\seriesdefault{\mddefault}%
- \renewcommand*\shapedefault{\updefault}%
\fi%
- \if@tud@mweights%
- \edef\rmdef@ult{\rmdefault}%
- \edef\sfdef@ult{\sfdefault}%
- \edef\ttdef@ult{\ttdefault}%
- \edef\bfdef@ult{\bfdefault}%
- \edef\mddef@ult{\mddefault}%
- \fi%
- \tud@font@skip@set%
- \ifstr{#1}{nomath}{}{\tud@font@math@set}%
- \normalfont\selectfont%
- \tud@layout@process%
-}
-\newcommand*\tud@font@skip@set{%
- \tud@ifverlower{2.04}{}{%
- \ifcase\tud@cdfont\relax% false
- \tud@skip@restore{smallskipamount}%
- \tud@skip@restore{medskipamount}%
- \tud@skip@restore{bigskipamount}%
- \tud@skip@restore{abovecaptionskip}%
- \tud@skip@restore{belowcaptionskip}%
- \tud@skip@restore{columnsep}%
- \else% true/heavy
- \tud@skip@store{smallskipamount}%
- \tud@skip@store{medskipamount}%
- \tud@skip@store{bigskipamount}%
- \tud@skip@store{abovecaptionskip}%
- \tud@skip@store{belowcaptionskip}%
- \tud@skip@store{columnsep}%
- \tud@font@skip@@set%
- \fi%
- }%
-}
-\newcommand*\tud@font@skip@@set{%
- \setlength{\@tempdimb}{\f@baselineskip}%
- \scr@setlength\smallskipamount{\dimexpr\@tempdimb/4\relax}%
- {\dimexpr\@tempdimb/12\relax}{\dimexpr\@tempdimb/12\relax}%
- \scr@setlength\medskipamount{\dimexpr\@tempdimb/2\relax}%
- {\dimexpr\@tempdimb/6\relax}{\dimexpr\@tempdimb/6\relax}%
- \scr@setlength\bigskipamount{\@tempdimb}%
- {\dimexpr\@tempdimb/3\relax}{\dimexpr\@tempdimb/3\relax}%
- \tud@skip@set\abovecaptionskip{\dimexpr4\@tempdimb/5\relax}%
- \tud@skip@set\belowcaptionskip{\z@}%
- \tud@skip@set\columnsep{1.1\baselineskip}%
-}
-\newcommand*\tud@font@math@set{%
- \if@tud@univers%
+ \if@tud@universmath%
\if@tud@cdmath%
\tud@cmd@store{mv@normal}%
\tud@cmd@store{mv@bold}%
@@ -1606,70 +1896,37 @@
}
\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
-\newcommand*\tud@head@font@bold{}
-\newcommand*\tud@head@font@light{}
-\newcommand*\tud@head@font@set{%
- \ifdef{\@raggedtwoe@everyselectfont}{%
- \let\@raggedtwoe@everyselectfont\relax%
- \setlength\spaceskip{\z@}%
- \selectfont%
- }{}%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\sfdefault}{bx}{n}{\tud@head@font@size}%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
- \@tempswafalse%
- \ifcase\tud@head@font\relax% false
- \ifnum\tud@cdfont>\z@\relax% true/heavy
- \ClassWarning{\TUDClassName}{%
- It isn't possible to use `cdhead=false'\MessageBreak%
- together with `cdfont=true'%
- }%
- \@tempswatrue%
- \fi%
- \else% true/heavy
- \@tempswatrue%
- \fi%
- \if@tempswa% true/heavy
- \if@tud@fontspec%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {UniversBold}{m}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {UniversLight}{m}{n}{\tud@head@font@size}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {UniversRegular}{m}{n}{\tud@head@font@size}%
- \fi%
- \else%
- \if@tud@univers%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@font@size}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{m}{n}{\tud@head@font@size}%
- \fi%
- \fi%
- \fi%
+\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{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
+ \tud@font@check%
+ \tud@font@set%
+ \tud@font@init%
+ \AtBeginDocument{\tud@font@math@init}%
+}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}%
}
\newrobustcmd*\ifdin{%
- \@tempswafalse%
- \@expandtwoargs\in@{DINBold}{\f@family}%
- \ifin@\@tempswatrue\fi%
- \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi%
- \if@tempswa%
+ \ifx\f@family\tud@dinbold%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
}
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
+\newcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdfont@din%
+ \tud@dinbn\tud@raggedright%
+ \else%
+ \sectfont#1%
+ \fi%
}
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
@@ -1679,37 +1936,73 @@
}{}%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
-\AfterPackage*{siunitx}{%
- \providecommand*\lseries{\fontseries{l}\selectfont}
+\RequirePackage{textcase}[2004/10/07]
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+ \protect\vphantom{\"A\"O\"U}%
}
%%% From File: tudscr-fields.dtx
-\RequirePackage{trimspaces}[2009/09/17]
\newcommand*\@faculty{}
-\newcommand*\faculty[2][]{\gdef\@faculty{\trim@spaces{#2}}}
\newcommand*\@department{}
-\newcommand*\department[2][]{\gdef\@department{\trim@spaces{#2}}}
\newcommand*\@institute{}
-\newcommand*\institute[2][]{\gdef\@institute{\trim@spaces{#2}}}
\newcommand*\@chair{}
-\newcommand*\chair[2][]{\gdef\@chair{\trim@spaces{#2}}}
+\newcommand*\faculty[2][]{\tud@head@text@field{faculty}{#2}}
+\newcommand*\department[2][]{\tud@head@text@field{department}{#2}}
+\newcommand*\institute[2][]{\tud@head@text@field{institute}{#2}}
+\newcommand*\chair[2][]{\tud@head@text@field{chair}{#2}}
\newcommand*\@extraheadline{}
-\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}}
+\newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}{#1}}
+\newcommand*\tud@head@text@field[2]{%
+ \csgdef{@#1}{\trim@spaces{#2}}%
+ \global\@tud@head@text@settrue%
+}
\newcommand*\@@title{}
+\robustify\@title
\renewcommand*\title[1]{%
\gdef\@title{#1}%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
\protected@xdef\@@title{\trim@spaces{#1}}%
\endgroup%
}
+\newcommand*\@@author{}
+\renewcommand*\author[1]{%
+ \gdef\@author{#1}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
+ \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}%
+ \let\@tempb\tud@split@author@list%
+ \robustify\and%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \protected@edef\@@author{#1}%
+ \tud@replace\@@author{ \relax }{}%
+ \tud@replace\@@author{\relax }{}%
+ \tud@replace\@@author{ \relax}{}%
+ \tud@replace\@@author{\relax}{}%
+ \tud@replace\@@author{ \and }{\and}%
+ \tud@replace\@@author{ \and}{\and}%
+ \tud@replace\@@author{\and }{\and}%
+ \protected@xdef\@@author{\trim@spaces{\@@author}}%
+ \endgroup%
+}
\newcommand*\@authormore{}
-\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}}
+\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\newcommand*\@course{}
+\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces}
+\newcommand*\@discipline{}
+\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces}
+\providecommand*\publisher[1]{\publishers{#1}}
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
-\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
+\newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}}
\newcommand*\tud@thanks{}
-\newcommand*\tud@thesis[2]{%
+\newcommand*\tud@thesis@do[2]{%
\begingroup%
\global\let\tud@thanks\relax%
\def\thanks##1{\gdef\tud@thanks{##1}}%
@@ -1721,47 +2014,51 @@
\ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
\global\let\@tempa\@tempa%
\endgroup%
- \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{%
- \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{%
- \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{%
- \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{%
- \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{%
- \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{%
- \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{%
- \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{%
- \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{%
- \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{%
- \@namedef{@#1}{#2}%
- }}}}}}}}}}}}}%
-}
-\newcommand*\tud@@thesis[2]{%
+ \ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{diploma}{\tud@thesis@@do{#1}{\diplomathesisname}}{%
+ \ifstr{\@tempa}{master}{\tud@thesis@@do{#1}{\masterthesisname}}{%
+ \ifstr{\@tempa}{bachelor}{\tud@thesis@@do{#1}{\bachelorthesisname}}{%
+ \ifstr{\@tempa}{student}{\tud@thesis@@do{#1}{\studentthesisname}}{%
+ \ifstr{\@tempa}{evidence}{\tud@thesis@@do{#1}{\studentresearchname}}{%
+ \ifstr{\@tempa}{project}{\tud@thesis@@do{#1}{\projectpapername}}{%
+ \ifstr{\@tempa}{seminar}{\tud@thesis@@do{#1}{\seminarpapername}}{%
+ \ifstr{\@tempa}{term}{\tud@thesis@@do{#1}{\termpapername}}{%
+ \ifstr{\@tempa}{research}{\tud@thesis@@do{#1}{\researchname}}{%
+ \ifstr{\@tempa}{log}{\tud@thesis@@do{#1}{\logname}}{%
+ \ifstr{\@tempa}{report}{\tud@thesis@@do{#1}{\reportname}}{%
+ \ifstr{\@tempa}{internship}{\tud@thesis@@do{#1}{\internshipname}}{%
+ \csdef{@#1}{#2}%
+ }}}}}}}}}}}}}}}%
+}
+\newcommand*\tud@thesis@@do[2]{%
\ifstr{#1}{subject}{%
\ifx\@thesis\@empty\else%
- \ClassWarning{\TUDClassName}{Field `thesis' is overwritten by `subject'}%
+ \ClassWarning{\TUD@Class@Name}{%
+ Field `thesis' is overwritten by `subject'%
+ }%
\fi%
- \TUD@std@ifkey@lock{subjectthesis}{true}%
+ \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{true}%
}{%
- \TUD@std@ifkey@lock{subjectthesis}{false}%
+ \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{false}%
}%
\ifx\tud@thanks\relax%
\gdef\@thesis{#2}%
\else%
\protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}%
\fi%
- \gdef\@@thesis{#2}%
+ \protected@xdef\@@thesis{\trim@spaces{#2}}%
}
-\renewcommand*\subject[1]{\tud@thesis{subject}{#1}}
+\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}}
\newcommand*\@graduation{}
-\newcommand*\@graduationabbr{}
+\newcommand*\@@graduation{}
\newcommand*\graduation[2][]{%
- \ifxblank{#1}{\gdef\@graduationabbr{}}{\gdef\@graduationabbr{(#1)}}%
+ \ifxblank{#1}{\gdef\@@graduation{}}{\gdef\@@graduation{(#1)}}%
\gdef\@graduation{#2}%
}
\newcommand*\@professor{}
-\newcommand*\professor[2][]{\gdef\@professor{#2}}
+\newcommand*\professor[1]{\gdef\@professor{#1}}
\newcommand*\@supervisor{}
\newcommand*\supervisor[1]{\gdef\@supervisor{#1}}
\newcommand*\@supporter{}
@@ -1774,41 +2071,31 @@
\newcommand*\advisor[1]{\gdef\@advisor{#1}}
\newcommand*\@matriculationnumber{}
\newrobustcmd*\matriculationnumber[1]{%
- \gdef\@matriculationnumber{#1}%
+ \gdef\@matriculationnumber{#1}\ignorespaces%
}
\newcommand*\@matriculationyear{}
-\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}}
+\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
\newcommand*\@placeofbirth{}
-\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}}
-\providecommand*\publisher[1]{\publishers{#1}}
-\newlength\tud@signatureskip
-\setlength\tud@signatureskip{15mm plus 10mm minus 10mm}
+\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
+\newlength\tud@len@signatureskip
+\setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex}
\newcommand*\@confirmationclosing{%
- \tud@datecheck%
+ \tud@date@check%
\ifx\@date\@empty\else%
\medskip\noindent%
\ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
\fi%
- \vskip\tud@signatureskip\noindent%
+ \vskip\tud@len@signatureskip\noindent%
\begingroup%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \renewcommand*\tud@split@author[2]{%
- \tud@multiple@fields@store{@author}{##1}%
- \ignorespaces##1%
- \tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{##2}{\hfil}%
- }%
- \tud@multiple@split{@author}%
- \hfil%
+ \let\and\hfil%
+ \@@author\hfil%
\endgroup%
}
\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\gdef\@place{#1}}
-\newcommand*\printdate[1]{#1}
-\BeforePackage{isodate}{\undef\printdate}
-\newcommand*\tud@printdate[2]{%
+\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
+\newcommand*\tud@x@isodate@printdate[2]{%
\ifx\today#2\relax%
\gdef#1{#2}%
\else%
@@ -1817,43 +2104,77 @@
{\gdef#1{\printdate{#2}}}%
\fi%
}
-\newcommand*\tud@datecheck{%
+\newcommand*\tud@date@check{%
\ifdefvoid{\@duedate}{%
- \ClassWarning{\TUDClassName}{%
- `\string\date' was not given.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
Since a thesis is a self-contained work, an end\MessageBreak%
date should be specified by the author.\MessageBreak%
Nevertheless, today's date is used%
}%
}{%
- \ClassWarning{\TUDClassName}{%
- `\string\date' was not given.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
It's substituted by the given due date%
}%
\global\let\@date\@duedate%
}%
- \global\let\tud@datecheck\relax%
-}
-\newcommand*\@datemore{}
-\renewcommand*\date[2][]{%
- \gdef\@datemore{\trim@spaces{#1}}%
- \tud@printdate{\@date}{#2}%
- \global\let\tud@datecheck\relax%
+ \global\let\tud@date@check\relax%
+}
+\renewcommand*\date{%
+ \kernel@ifstar{%
+ \TUD@parameter@set{date}{pre=\noexpand\@place{,}}%
+ \tud@date@set%
+ }{\tud@date@set}%
+}
+\newcommand*\tud@date@set[2][]{%
+ \TUD@parameter@set{date}{#1}%
+ \tud@x@isodate@printdate{\@date}{#2}%
+ \global\let\tud@date@check\relax%
+}
+\newcommand*\tud@date@pre{}
+\newcommand*\tud@date@app{}
+\TUD@parameter@family{date}{%
+ \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@let{pre}{before}%
+ \TUD@parameter@let{prefix}{before}%
+ \TUD@parameter@def{after}{\def\tud@date@app{#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@handler@value{after}%
+}
+\newcommand*\tud@date@print{%
+ \ifx\@date\@empty\else%
+ \ifx\tud@date@pre\@empty\else%
+ \expandafter\trim@spaces\expandafter{\tud@date@pre}\nobreakspace%
+ \fi%
+ \@date%
+ \ifx\tud@date@app\@empty\else%
+ \nobreakspace\expandafter\trim@spaces\expandafter{\tud@date@app}%
+ \fi%
+ \fi%
}
\newcommand*\@defensedate{}
-\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
+\newcommand*\defensedate[1]{\tud@x@isodate@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
-\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}}
-\newcommand*\tud@multiple@@split{}%
+\newrobustcmd*\dateofbirth[1]{%
+ \tud@x@isodate@printdate{\@dateofbirth}{#1}\ignorespaces%
+}
+\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
\expandafter\ifpatchable\expandafter{\csname#1\endcsname}{%
- \@latex@warning@no@line}{\csuse{#1}\csgdef{#1}{}%
+ \@latex@warning@no@line%
+ }{%
+ \csuse{#1}\csgdef{#1}{}%
}{}%
\def\tud@multiple@@split##1\and##2\relax{%
- \expandafter\csname tud@split#1\endcsname{##1}{##2}%
+ \expandafter\csname tud@split#1@do\endcsname{##1}{##2}%
}%
\begingroup%
\let\and\relax%
+ \def\newline{}%
+ \def\\{}%
\edef\@tempa{\csname#1\endcsname\and}%
\expandafter\endgroup%
\expandafter\tud@multiple@@split\@tempa\relax%
@@ -1867,13 +2188,10 @@
\@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
- \letcs\@tempa{tud@split#1@list}%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \letcs\@tempb{tud@split#1@list}%
\let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifcsdef{@\@tempb}{\tud@cmd@store{@\@tempb}}{}%
- \fi%
- }%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
@@ -1881,45 +2199,68 @@
\endgroup%
}
\newcommand*\tud@multiple@fields@restore[1]{%
- \letcs\@tempa{tud@split#1@list}%
+ \def\@tempa##1{%
+ \ifcsdef{@##1}{%
+ \tud@cmd@restore{@##1}%
+ \global\csletcs{@##1}{@##1}%
+ }{}%
+ }%
+ \letcs\@tempb{tud@split#1@list}%
\let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifcsdef{@\@tempb}{%
- \tud@cmd@restore{@\@tempb}%
- \global\csletcs{@\@tempb}{@\@tempb}%
- }{}%
- \fi%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+}
+\newcommand*\tud@multiple@fields@preset[3]{%
+ \def\@tempa##1{%
+ \edef\@tempc{\csuse{##1}}%
+ \ifstr{#2}{*}{%
+ \csdef{@##1}{}%
+ }{%
+ \begingroup%
+ \protected@expandtwoargs\in@{\@tempc}{\csuse{#1}}%
+ \ifin@%
+ \ifcsvoid{@##1}{\@tempc{#2}}{}%
+ \fi%
+ \endgroup%
+ }%
}%
+ \letcs\@tempb{tud@split#1@list}%
+ \let\and\relax%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \sbox\z@{#3}%
+ \endgroup%
}
-\newcommand*\tud@split@author[2]{}
+\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
- authormore,matriculationyear,enrolmentyear,%
+ authormore,course,discipline,%
+ matriculationyear,enrolmentyear,%
matriculationnumber,studentid,matriculationid,%
placeofbirth,birthplace,dateofbirth,birthday,%
}
%%% From File: tudscr-locale.dtx
\newcommand*\tud@locale@define[1]{%
\providecommand*#1{%
- \ClassError{\TUDClassName}{%
+ \ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
}{%
- Currently the class `\TUDClassName' only supports the\MessageBreak%
+ Currently the class `\TUD@Class@Name' only supports the\MessageBreak%
languages german and english an its dialects. You must\MessageBreak%
define single patterns by yourself, e.g.:\MessageBreak%
`\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak%
You can send your definitions to \tudscrmail\space in\MessageBreak%
- order to implement support for additional languages.
+ order to implement support for additional languages.%
}%
}%
}
\tud@locale@define{\graduationtext}
-\tud@locale@define{\supervisorname}
-\tud@locale@define{\supervisorothername}
\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}
@@ -1930,62 +2271,87 @@
\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}
+\newcommand*\tud@ifin@and[1]{%
+ \begingroup%
+ \let\and\relax%
+ \protected@edef\@tempb{#1}%
+ \def\@tempa##1\and##2\relax{%
+ \IfArgIsEmpty{##2}{%
+ \aftergroup\@secondoftwo%
+ }{%
+ \aftergroup\@firstoftwo%
+ }%
+ }%
+ \expandafter\@tempa\@tempb\and\relax%
+ \endgroup
+}
\newcommand*\tud@locale@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}%
-\tud@locale@german{\supervisorname}{Betreuer}%
-\tud@locale@german{\supervisorothername}{}%
\tud@locale@german{\refereename}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@referee}%
- }%
- \endgroup%
- \if@tempswa%
- Erstgutachter%
- \else%
- Gutachter%
- \fi%
-}
+ \tud@ifin@and{\@referee}{%
+ \ifx\refereeothername\@empty%
+ Gutachter%
+ \else%
+ Erstgutachter%
+ \fi%
+ }{Gutachter}%
+}%
\tud@locale@german{\refereeothername}{Zweitgutachter}%
-\tud@locale@german{\advisorname}{Fachreferent}%
+\tud@locale@german{\advisorname}{%
+ \tud@ifin@and{\@advisor}{%
+ \ifx\advisorothername\@empty%
+ Fachreferenten%
+ \else%
+ Erster Fachreferent%
+ \fi%
+ }{Fachreferent}%
+}%
\tud@locale@german{\advisorothername}{}%
+\tud@locale@german{\supervisorname}{%
+ \tud@ifin@and{\@supervisor}{%
+ \ifx\supervisorothername\@empty%
+ Betreuer%
+ \else%
+ Erstbetreuer%
+ \fi%
+ }{Betreuer}%
+}%
+\tud@locale@german{\supervisorothername}{}%
\tud@locale@german{\professorname}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@professor}%
- }%
- \endgroup%
- \if@tempswa%
- Betreuende Hochschullehrer%
- \else%
- Betreuender Hochschullehrer%
- \fi%
-}
+ \tud@ifin@and{\@professor}{%
+ \ifx\professorothername\@empty%
+ Betreuende Hochschullehrer%
+ \else%
+ Erster betreuender Hochschullehrer%
+ \fi%
+ }{Betreuender Hochschullehrer}%
+}%
\tud@locale@german{\professorothername}{}%
\tud@locale@german{\datetext}{Eingereicht am}%
\tud@locale@german{\dateofbirthtext}{Geboren am}%
@@ -1995,28 +2361,29 @@
\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}{%
Hiermit versichere ich, dass ich die vorliegende
\ifx\@@thesis\@empty Arbeit \else\@@thesis{} \fi
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
- selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es
- wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel und
- Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} \"ubernommenen
- Zitate habe ich als solche kenntlich gemacht.
+ selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe.
+ Es wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel
+ und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{}
+ \"ubernommenen Zitate habe ich als solche kenntlich gemacht.
\ifx\@supporter\@empty%
- Es waren keine weiteren Personen an der geistigen Herstellung der
- vorliegenden Arbeit beteiligt.
+ Es waren keine weiteren Personen an der geistigen Herstellung
+ der vorliegenden Arbeit beteiligt.
\else%
- W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden
- Personen unterst\"utzt:%
+ W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von
+ folgenden Personen unterst\"utzt:%
\begin{quote}\def\and{\newline}\@supporter\end{quote}%
- \noindent Weitere Personen waren an der geistigen Herstellung der
- vorliegenden Arbeit nicht beteiligt.
+ \noindent Weitere Personen waren an der geistigen Herstellung
+ der vorliegenden Arbeit nicht beteiligt.
\fi%
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}{%
Diese \ifx\@@thesis\@empty Arbeit \else\@@thesis{} \fi
@@ -2028,18 +2395,22 @@
durch \emph{\@company} \fi nicht gestattet, ebenso wie
Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die
vorliegende Arbeit ist nur dem Betreuer an der Technischen
- Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des
- Pr\"ufungsausschusses zug\"anglich zu machen.%
-}
+ 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{\studentresearchname}{Studienarbeit}%
+\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}%
@@ -2050,39 +2421,45 @@
}%
}
\tud@locale@english{\graduationtext}{to achieve the academic degree}%
-\tud@locale@english{\supervisorname}{Supervisor}%
-\tud@locale@english{\supervisorothername}{}%
\tud@locale@english{\refereename}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@referee}%
- }%
- \endgroup%
- \if@tempswa%
- First referee%
- \else%
- Referee%
- \fi%
-}
+ \tud@ifin@and{\@referee}{%
+ \ifx\refereeothername\@empty%
+ Referees%
+ \else%
+ First referee%
+ \fi%
+ }{Referee}%
+}%
\tud@locale@english{\refereeothername}{Second referee}%
-\tud@locale@english{\advisorname}{Advisor}%
+\tud@locale@english{\advisorname}{%
+ \tud@ifin@and{\@advisor}{%
+ \ifx\advisorothername\@empty%
+ Advisors%
+ \else%
+ First advisor%
+ \fi%
+ }{Advisor}%
+}%
\tud@locale@english{\advisorothername}{}%
+\tud@locale@english{\supervisorname}{%
+ \tud@ifin@and{\@supervisor}{%
+ \ifx\supervisorothername\@empty%
+ Supervisors%
+ \else%
+ First supervisor%
+ \fi%
+ }{Supervisor}%
+}%
+\tud@locale@english{\supervisorothername}{}%
\tud@locale@english{\professorname}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@professor}%
- }%
- \endgroup%
- \if@tempswa%
- Supervising professors%
- \else%
- Supervising professor%
- \fi%
-}
+ \tud@ifin@and{\@professor}{%
+ \ifx\professorothername\@empty%
+ Supervising professors%
+ \else%
+ First supervising professor%
+ \fi%
+ }{Supervising professor}%
+}%
\tud@locale@english{\professorothername}{}%
\tud@locale@english{\datetext}{Submitted on}%
\tud@locale@english{\dateofbirthtext}{Born on}%
@@ -2092,6 +2469,7 @@
\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}{%
I hereby certify that I have authored this
@@ -2102,40 +2480,44 @@
indicated in this thesis have been used. I have marked
both literal and accordingly adopted quotations as such.
\ifx\@supporter\@empty%
- They were no additional persons involved in the spiritual
- preparation of the present thesis.
+ There were no additional persons involved in the
+ intellectual preparation of the present thesis.
\else%
- During the preparation of this thesis I was only supported
- by the following persons:%
+ During the preparation of this thesis I was only
+ supported by the following persons:%
\begin{quote}\def\and{\newline}\@supporter\end{quote}%
- \noindent Additional persons were not involved in the spiritual
- preparation of the present thesis.
+ \noindent Additional persons were not involved in the
+ intellectual preparation of the present thesis.
\fi%
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}{%
This \ifx\@@thesis\@empty thesis \else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
contains confidential data\ifx\@company\@empty\else
- , disclosed by \emph{\@company}\fi. Publications, duplications and
- inspections---even in part---are prohibited without explicit
+ , disclosed by \emph{\@company}\fi. Publications, duplications
+ and inspections---even in part---are prohibited without explicit
permission\ifx\@company\@empty\else\space by \emph{\@company}\fi,
as well as publications about the content of this thesis.
This thesis may only be made accessible to the supervisor at
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}%
@@ -2150,205 +2532,1255 @@
\tud@locale@english{\@commaswap}{\,}%
\tud@locale@english{\@dotswap}{.}%
}
-%%% From File: tudscr-pagestyle.dtx
-\newlength\tud@dim@widemargin
-\newlength\tud@dim@slimmargin
-\newlength\tud@dim@both
-\newlength\tud@dim@topmargin
-\newlength\tud@dim@barheight
-\newlength\tud@dim@headsep
-\newlength\tud@dim@footsep
-\newlength\tud@dim@logox
-\newlength\tud@dim@logoy
-\newlength\tud@dim@logowidth
-\newlength\tud@dim@line
-\newlength\tud@dim@heavyline
-\newlength\tud@dim@thinline
-\newlength\tud@dim@headdiff
-\newlength\tud@dim@headingsvskip
-\tud@ifverlower{2.03}{\newlength\tud@dim@ddcdiff}{}
-\newcommand*\tud@head@font@size{}
-\newcommand*\tud@geometry@set{%
- \ifdim\paperheight<148.1mm\relax%
- \setlength\tud@dim@widemargin{15mm}%
- \setlength\tud@dim@heavyline{0.5pt}%
- \setlength\tud@dim@thinline{0.25pt}%
- \def\tud@head@font@size{4.5}%
- \else\ifdim\paperheight<297.1mm\relax%
- \setlength\tud@dim@widemargin{30mm}%
- \setlength\tud@dim@heavyline{1pt}%
- \setlength\tud@dim@thinline{0.5pt}%
- \def\tud@head@font@size{9}%
- \else\ifdim\paperheight<420.1mm\relax%
- \setlength\tud@dim@widemargin{42.426407mm}%
- \setlength\tud@dim@heavyline{1.414214pt}%
- \setlength\tud@dim@thinline{0.707107pt}%
- \def\tud@head@font@size{12.727922}%
- \else\ifdim\paperheight<594.1mm\relax%
- \setlength\tud@dim@widemargin{60mm}%
- \setlength\tud@dim@heavyline{2pt}%
- \setlength\tud@dim@thinline{1pt}%
- \def\tud@head@font@size{18}%
- \else\ifdim\paperheight<841.1mm\relax%
- \setlength\tud@dim@widemargin{84.852814mm}%
- \setlength\tud@dim@heavyline{2.828427pt}%
- \setlength\tud@dim@thinline{1.414214pt}%
- \def\tud@head@font@size{25.455844}%
+%%% From File: tudscr-area.dtx
+\newlength\tud@len@widemargin
+\newlength\tud@len@slimmargin
+\newlength\tud@len@both
+\newlength\tud@len@topmargin
+\newlength\tud@len@barheight
+\newlength\tud@len@headsep
+\newlength\tud@len@footsep
+\newlength\tud@len@logox
+\newlength\tud@len@logoy
+\newlength\tud@len@logowidth
+\newlength\tud@len@line
+\newlength\tud@len@heavyline
+\newlength\tud@len@thinline
+\newlength\tud@len@areaheadvskip
+\newlength\tud@len@areadiff
+\newlength\tud@len@areavskip
+\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newif\if@tud@cdgeometry@adjust
+\newlength\tud@len@layoutheight
+\newlength\tud@len@layoutwidth
+\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@dim@widemargin{120mm}%
- \setlength\tud@dim@heavyline{4pt}%
- \setlength\tud@dim@thinline{2pt}%
- \def\tud@head@font@size{36}%
- \fi\fi\fi\fi\fi%
- \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}%
- \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}%
- \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}%
- \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}%
- \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}%
- \setlength\tud@dim@footsep{%
- \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \fi%
+ \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
+ \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.05}{%
+ \ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr148mm+1.5mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr229mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr297mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr420mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr594mm+2mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr841mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1189mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
+ }{%
+ \ifdim\tud@len@layoutheight<\dimexpr125mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr176mm+2mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr250mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr353mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr500mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr707mm+3mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1000mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1414mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
}%
+ \@tud@cdgeometry@adjustfalse%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \ifnum\@tempa>\z@\relax%
+ \ifnum\@tempa<8\relax%
+ \def\@tempa{3}%
+ \fi%
+ \fi%
+ \fi%
+ \ifcase\@tempa\relax% <=A7/B7
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ small paper height. It is recommended to increase\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{148mm}%
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \or% <=A6/B6
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \setlength\tud@len@thinline{0.25pt}%
+ \renewcommand*\tud@head@fontsize{4.5}%
+ \or% <=A5/B5
+ \ifnum\tud@cdgeometry@calc@num=\z@\relax% restricted
+ \@tud@cdgeometry@adjusttrue%
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \else%
+ \setlength\tud@len@widemargin{21.213203mm}%
+ \setlength\tud@len@heavyline{0.707107pt}%
+ \setlength\tud@len@thinline{0.353553pt}%
+ \renewcommand*\tud@head@fontsize{6.363961}%
+ \fi%
+ \or% <=A4/B4
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \or% <=A3/B3
+ \setlength\tud@len@widemargin{42.426407mm}%
+ \setlength\tud@len@heavyline{1.414214pt}%
+ \setlength\tud@len@thinline{0.707107pt}%
+ \renewcommand*\tud@head@fontsize{12.727922}%
+ \or% <=A2/B2
+ \setlength\tud@len@widemargin{60mm}%
+ \setlength\tud@len@heavyline{2pt}%
+ \setlength\tud@len@thinline{1pt}%
+ \renewcommand*\tud@head@fontsize{18}%
+ \or% <=A1/B1
+ \setlength\tud@len@widemargin{84.852814mm}%
+ \setlength\tud@len@heavyline{2.828427pt}%
+ \setlength\tud@len@thinline{1.414214pt}%
+ \renewcommand*\tud@head@fontsize{25.455844}%
+ \or% <=A0/B0
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@heavyline{4pt}%
+ \setlength\tud@len@thinline{2pt}%
+ \renewcommand*\tud@head@fontsize{36}%
+ \else% >A0/B0
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ huge paper height. It is recommended to reduce\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{1189mm}%
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{4pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \tud@divide\@tempa{\tud@len@layoutheight}{297mm}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \global\@tud@head@font@settrue%
+ \setlength\tud@len@slimmargin{\dimexpr2\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@both{\dimexpr5\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@topmargin{\dimexpr7\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@barheight{\dimexpr\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@headsep{\dimexpr2\tud@len@widemargin/5\relax}%
+ \setlength\tud@len@logox{\dimexpr1.1\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@logoy{\dimexpr0.45\tud@len@widemargin\relax}%
+ \setlength\tud@len@logowidth{\dimexpr1.9\tud@len@widemargin\relax}%
+ \setlength\tud@len@footsep{%
+ \dimexpr\tud@len@widemargin-.6\tud@len@topmargin\relax%
+ }%
+ \if@tud@cdgeometry@adjust%
+ \setlength\tud@len@headsep{\dimexpr.707107\tud@len@headsep\relax}%
+ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
+ \fi%
}
-\newcommand*\tud@ifsacrop{%
- \ifcsdef{ifsa@crop}{%
- \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}%
- }{%
- \@secondoftwo%
+\newif\if@tud@x@crop@center
+\AfterPackage{crop}{%
+ \CheckCommand*\CROP@center{%
+ \voffset\stockheight
+ \advance\voffset-\paperheight
+ \voffset.5\voffset
+ \hoffset\stockwidth
+ \advance\hoffset-\paperwidth
+ \hoffset.5\hoffset
+ }%
+ \pretocmd{\CROP@center}{%
+ \@tud@x@crop@centertrue%
+ }{}{\tud@patch@wrn{CROP@center}}
+}
+\newif\if@tud@x@standalone@crop
+\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
+\newcommand*\tud@cdgeometry@process{}
+\newcommand*\tud@cdgeometry@@process{}
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{geometry}%
+\else
+ \RequirePackage{geometry}[2010/09/12]%
+\fi
+\AfterPackage*{geometry}{%
+ \CheckCommand*\Gm@initnewgm{%
+ \Gm@passfalse
+ \Gm@swap@papersizefalse
+ \Gm@dimlist={}
+ \Gm@hbodyfalse
+ \Gm@vbodyfalse
+ \Gm@heightroundedfalse
+ \Gm@includeheadfalse
+ \Gm@includefootfalse
+ \Gm@includempfalse
+ \let\Gm@width\@undefined
+ \let\Gm@height\@undefined
+ \let\Gm@textwidth\@undefined
+ \let\Gm@textheight\@undefined
+ \let\Gm@lines\@undefined
+ \let\Gm@hscale\@undefined
+ \let\Gm@vscale\@undefined
+ \let\Gm@hmarginratio\@undefined
+ \let\Gm@vmarginratio\@undefined
+ \let\Gm@lmargin\@undefined
+ \let\Gm@rmargin\@undefined
+ \let\Gm@tmargin\@undefined
+ \let\Gm@bmargin\@undefined
+ \Gm@layoutfalse
+ \Gm@layouthoffset\z@
+ \Gm@layoutvoffset\z@
+ \Gm@bindingoffset\z@
+ }%
+ \expandafter\CheckCommand%
+ \csname\expandafter\@gobble\string\Gm@changelayout\space\endcsname{%
+ \setlength{\@colht}{\textheight}
+ \setlength{\@colroom}{\textheight}%
+ \setlength{\vsize}{\textheight}
+ \setlength{\columnwidth}{\textwidth}%
+ \if@twocolumn%
+ \advance\columnwidth-\columnsep
+ \divide\columnwidth\tw@%
+ \@firstcolumntrue%
+ \fi%
+ \setlength{\hsize}{\columnwidth}%
+ \setlength{\linewidth}{\hsize}%
+ }%
+ \CheckCommand*\Gm@@process{%
+ \Gm@expandlengths
+ \Gm@adjustpaper
+ \addtolength\Gm@layoutwidth{-\Gm@bindingoffset}%
+ \Gm@adjustmp
+ \Gm@adjustbody
+ \Gm@detall{h}{width}{lmargin}{rmargin}%
+ \Gm@detall{v}{height}{tmargin}{bmargin}%
+ \setlength\textwidth{\Gm@width}%
+ \setlength\textheight{\Gm@height}%
+ \setlength\topmargin{\Gm@tmargin}%
+ \setlength\oddsidemargin{\Gm@lmargin}%
+ \addtolength\oddsidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\textwidth-\Gm@wd@mp
+ \advance\oddsidemargin\Gm@odd@mp
+ \fi
+ \if@mparswitch
+ \setlength\evensidemargin{\Gm@rmargin}%
+ \addtolength\evensidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\evensidemargin\Gm@even@mp
+ \fi
+ \else
+ \evensidemargin\oddsidemargin
+ \fi
+ \advance\oddsidemargin\Gm@bindingoffset
+ \addtolength\topmargin{-1\Gm@truedimen in}%
+ \ifGm@includehead
+ \addtolength\textheight{-\headheight}%
+ \addtolength\textheight{-\headsep}%
+ \else
+ \addtolength\topmargin{-\headheight}%
+ \addtolength\topmargin{-\headsep}%
+ \fi
+ \ifGm@includefoot
+ \addtolength\textheight{-\footskip}%
+ \fi
+ \ifGm@heightrounded
+ \setlength\@tempdima{\textheight}%
+ \addtolength\@tempdima{-\topskip}%
+ \@tempcnta\@tempdima
+ \@tempcntb\baselineskip
+ \divide\@tempcnta\@tempcntb
+ \setlength\@tempdimb{\baselineskip}%
+ \multiply\@tempdimb\@tempcnta
+ \advance\@tempdima-\@tempdimb
+ \multiply\@tempdima\tw@
+ \ifdim\@tempdima>\baselineskip
+ \addtolength\@tempdimb{\baselineskip}%
+ \fi
+ \addtolength\@tempdimb{\topskip}%
+ \textheight\@tempdimb
+ \fi
+ \advance\oddsidemargin\Gm@layouthoffset%
+ \advance\evensidemargin\Gm@layouthoffset%
+ \advance\topmargin\Gm@layoutvoffset%
+ \addtolength\Gm@layoutwidth{\Gm@bindingoffset}%
+ }%
+ \CheckCommand\geometry[1]{%
+ \Gm@clean
+ \setkeys{Gm}{#1}%
+ \Gm@process%
+ }%
+ \CheckCommand\newgeometry[1]{%
+ \clearpage
+ \Gm@restore@org
+ \Gm@initnewgm
+ \Gm@newgmtrue
+ \setkeys{Gm}{#1}%
+ \Gm@newgmfalse
+ \Gm@process
+ \ifnum\mag=\@m\else\Gm@magtooffset\fi
+ \Gm@changelayout
+ \Gm@showparams{newgeometry}%
+ }%
+ \CheckCommand\restoregeometry{%
+ \clearpage
+ \Gm@restore@pkg
+ \Gm@changelayout%
+ }%
+ \CheckCommand*\savegeometry[1]{%
+ \Gm@save
+ \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}%
+ }%
+ \CheckCommand*\loadgeometry[1]{%
+ \clearpage
+ \@ifundefined{Gm@restore@@#1}{%
+ \PackageError{geometry}{%
+ \string\loadgeometry : name `#1' undefined}{%
+ The name `#1' should be predefined with \string\savegeometry}%
+ }{\@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%
+ \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}%
+ \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%
+ \fi%
+ }%
+ }%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \TUD@parameter@family{geometry}{%
+ \TUD@parameter@def{paper}{\tud@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@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{layoutheight}{%
+ \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ }%
+ \TUD@parameter@def{layoutsize}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \tud@area@def{layout}{##1:##1}%
+ }{%
+ \tud@area@def{layout}{##1:##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \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}%
+ }%
+ }
+ \newcommand*\tud@area@def[2]{%
+ \tud@lowerstring{\@tempa}{#2}%
+ \def\@tempb##1paper##2\@nil{%
+ \ifstr{##2}{paper}{\def\@tempa{##1}}{}%
+ }%
+ \expandafter\@tempb\@tempa paper\@nil%
+ \@tempswafalse%
+ \ifstr{\@tempa}{seascape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{landscape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{portrait}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{letter}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{executive}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{legal}{\@tempswatrue}{}%
+ \if@tempswa\else%
+ \ifx\@tempa\@empty\relax\else%
+ \def\@tempb##1##2\@nil{%
+ \if ##1a\@tempswatrue%
+ \else\if ##1b\@tempswatrue%
+ \else\if ##1c\@tempswatrue%
+ \else\if ##1d\@tempswatrue%
+ \fi\fi\fi\fi%
+ \if@tempswa%
+ \@tempswafalse%
+ \IfArgIsEmpty{##2}{}{\ifnumber{##2}{\@tempswatrue}{}}%
+ \fi%
+ }%
+ \expandafter\@tempb\@tempa\@nil%
+ \if@tempswa\else%
+ \def\@tempb##1:##2:##3\@nil{%
+ \IfArgIsEmpty{##2}{}{%
+ \@tempswatrue%
+ \def\@tempa{##1:##2}%
+ }%
+ }%
+ \expandafter\@tempb\@tempa::\@nil%
+ \fi%
+ \if@tempswa\else%
+ \def\tud@reserved##1:##2:##3:##4\@nil{%
+ \if@tempswa\else%
+ \ifstr{\@tempa}{##1}{%
+ \@tempswatrue%
+ \def\@tempa{##2##4:##3##4}%
+ }{}%
+ \fi%
+ }%
+ \tud@reserved b0j:1030:1456:mm\@nil%
+ \tud@reserved b1j:728:1030:mm\@nil%
+ \tud@reserved b2j:515:728:mm\@nil%
+ \tud@reserved b3j:364:515:mm\@nil%
+ \tud@reserved b4j:257:364:mm\@nil%
+ \tud@reserved b5j:182:257:mm\@nil%
+ \tud@reserved b6j:128:182:mm\@nil%
+ \tud@reserved ansia:8.5:11:in\@nil%
+ \tud@reserved ansib:11:17:in\@nil%
+ \tud@reserved ansic:17:22:in\@nil%
+ \tud@reserved ansid:22:34:in\@nil%
+ \tud@reserved ansie:34:44:in\@nil%
+ \tud@reserved screen:225:180:mm\@nil%
+ \fi%
+ \fi%
+ \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]{%
+ \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}%
+ }%
+ \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}%
+ \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%
+ \begingroup%
+ \setlength\paperwidth{\Gm@layoutwidth}%
+ \setlength\paperheight{\Gm@layoutheight}%
+ \tud@area@set{layout}%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
+ layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ }%
+ }%
+ \tud@reserved%
+ \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}%
+ \else%
+ \tud@loadgeometry{init@typearea}%
+ \fi%
+ \tud@AfterChangingArea%
+ }%
+ \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{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@cdgeometry@set%
+ \ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \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,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \if@hincl%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\footskip%
+ }%
+ \else% custom
+ \ifGm@pass\else%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\Gm@lmargin,%
+ right=\Gm@rmargin,%
+ \ifGm@includemp%
+ includemp=true,%
+ \else%
+ includemp=false,%
+ \fi%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\Gm@bindingoffset%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \ifGm@includehead%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \ifGm@includefoot%
+ includefoot=true,%
+ \else%
+ includefoot=false,%
+ \fi%
+ footskip=\the\footskip%
+ }%
+ \fi%
+ \fi%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\topmargin-\headheight-\headsep-1in\relax%
+ }%
+ \ifdim\tud@len@areadiff<\z@\relax%
+ \addtolength\tud@len@headsep{-\tud@len@areadiff}%
+ \setlength\@tempdima{\z@}%
+ \else%
+ \setlength\@tempdima{\tud@len@areadiff}%
+ \fi%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep,%
+ textheight=\the\dimexpr\textheight-\@tempdima\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@ddcdiff{%
+ \dimexpr.6\tud@len@topmargin-\footskip+\tud@len@headsep%
+ +\footheight-1.25\baselineskip\relax%
+ }%
+ \edef\tud@cdgeometry@ddcmargin{%
+ textheight=\the\dimexpr\textheight-\tud@len@areadiff%
+ -\tud@len@ddcdiff\relax,%
+ footskip=\the\dimexpr\footskip+\tud@len@ddcdiff\relax%
+ }%
+ }{}%
+ \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')%
+ }%
+ \fi%
+ \else% true/symmetric/twoside
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \setlength\@tempdima{\tud@len@widemargin}%
+ \if@reversemargin%
+ \setlength\@tempdimc{\tud@len@widemargin}%
+ \else%
+ \setlength\@tempdimc{\tud@len@slimmargin}%
+ \fi%
+ \or% symmetric
+ \setlength\@tempdima{.5\tud@len@both}%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \or% twoside
+ \if@twoside%
+ \setlength\@tempdima{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdima{.5\tud@len@both}%
+ \fi%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \if@twoside%
+ \if@reversemargin%
+ \setlength\@tempdimc{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdimc{.6\tud@len@both}%
+ \fi%
+ \fi%
+ \fi%
+ \addtolength\@tempdimc{-\headsep}%
+ \setlength\@tempdimb{%
+ \dimexpr\tud@len@layoutwidth-\tud@len@both-\ta@bcor\relax%
+ }%
+ \if@mincl%
+ \addtolength\@tempdimb{-\@tempdimc}%
+ \fi%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\the\@tempdima,%
+ textwidth=\the\@tempdimb,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\@tempdimc,%
+ marginparsep=\the\dimexpr.5\headsep\relax,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \if@twoside%
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \appto\tud@cdgeometry@hmargin{,asymmetric}%
+ \else% symmetric/twoside
+ \appto\tud@cdgeometry@hmargin{,twoside}%
+ \fi%
+ \fi%
+ \if@twocolumn%
+ \appto\tud@cdgeometry@hmargin{,twocolumn}%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\dimexpr.5\tud@len@both\relax,%
+ headheight=\the\headheight,%
+ headsep=\the\tud@len@headsep,%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax%
+ }%
+ }{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\tud@len@slimmargin,%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ bottom=\the\dimexpr\tud@len@widemargin%
+ +\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@footsep+\footheight\relax%
+ }%
+ }%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep%
+ }%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\tud@len@slimmargin\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -.5\tud@len@both\relax%
+ }%
+ \setlength\tud@len@ddcdiff{.6\tud@len@topmargin}%
+ \edef\tud@cdgeometry@ddcmargin{%
+ \if@fincl%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff+\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax,%
+ \else%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff\relax,%
+ \fi%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip+\tud@len@ddcdiff\relax,%
+ }%
+ }{}%
+ \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%
+ }{}%
+ \tud@cdgeometry@@@process%
+ }%
+ \newcommand*\tud@cdgeometry@@@process{%
+ \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
+ \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.03}{%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin,%
+ \tud@cdgeometry@ddcmargin,%
+ ignorehead,ignorefoot%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudareaddc}%
+ }{}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudarea}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{stdarea}%
+ \if@atdocument%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
+ }%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@hincl{%
+ \if@hincl%
+ includehead=true%
+ \else%
+ includehead=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@fincl{%
+ \if@fincl%
+ includefoot=true%
+ \else%
+ includefoot=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@mpincl{%
+ \if@mincl%
+ includemp=true%
+ \else%
+ includemp=false%
+ \fi%
}%
}
-\tud@ifsacrop{%
- \PreventPackageFromLoading{scrlayer-scrpage}%
- \pagestyle{empty}%
- \hoffset=-72.27pt%
- \voffset=-72.27pt%
- \topmargin=0pt%
- \headheight=0pt%
- \headsep=0pt%
- \marginparsep=0pt%
- \marginparwidth=0pt%
- \footskip=0pt%
- \marginparpush=0pt%
- \oddsidemargin=0pt%
- \evensidemargin=0pt%
- \topskip=0pt%
- \textheight=\maxdimen%
-}{%
- \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+\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}%
+ }%
+ }%
+ \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%
+ }%
+ \fi%
+ \fi%
+ \tud@font@koma@unset{pagefoot}%
+ \tud@font@koma@unset{pagenumber}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
}
-\tud@cmd@store{pagestyle}
-\cslet{ps@tudheadings}{\ps@headings}%
-\cslet{ps@plain.tudheadings}{\ps@plain}%
-\cslet{ps@empty.tudheadings}{\ps@empty}%
-\providecommand*\currentpagestyle{plain}
-\providecommand*\BeforeSelectAnyPageStyle[1]{}
-\providecommand*\GetRealPageStyle[1]{#1}
-\BeforePackage{scrlayer-scrpage}{%
- \tud@cmd@restore{pagestyle}%
- \csundef{ps@tudheadings}%
- \csundef{ps@plain.tudheadings}%
- \csundef{ps@empty.tudheadings}%
- \undef\currentpagestyle%
- \undef\BeforeSelectAnyPageStyle%
- \undef\GetRealPageStyle%
+\newcommand*\tud@AfterChangingArea{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
}
-\let\tud@pagestyle\pagestyle
-\apptocmd{\tud@pagestyle}{%
- \edef\currentpagestyle{#1}%
-}{}{\tud@patch@wrn{pagestyle}}%
-\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
-\AtEndPreamble{%
- \@ifpackageloaded{scrlayer-scrpage}{}{%
- \let\pagestyle\tud@pagestyle%
- \undef\tud@pagestyle%
+\newcommand*\tud@cdgeometry@init{%
+ \AtEndPreamble{%
+ \if@tud@x@standalone@crop%
+ \pagestyle{empty}%
+ \hoffset=-72.27pt%
+ \voffset=-72.27pt%
+ \topmargin=0pt%
+ \headheight=0pt%
+ \headsep=0pt%
+ \marginparsep=0pt%
+ \marginparwidth=0pt%
+ \footskip=0pt%
+ \marginparpush=0pt%
+ \oddsidemargin=0pt%
+ \evensidemargin=0pt%
+ \topskip=0pt%
+ \textheight=\maxdimen%
+ \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}%
+ }%
+ \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%
+ \endgroup%
+ \tud@reserved{custom}%
+ \AfterCalculatingTypearea{\tud@AfterChangingArea}%
+ \AfterSettingArea{\tud@AfterChangingArea}%
+ \ifundef{\AfterRestoreareas}{}{%
+ \AfterRestoreareas{\tud@AfterChangingArea}%
+ }%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \tud@cdgeometry@process%
+ \fi
+ \let\tud@cdgeometry@init\relax%
}%
}
+\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\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]{}%
+}
+\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
+\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
+\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
+\tud@if@v@lower{2.03}{%
+ \newcommand*\tud@ddc@enlargepage[1][]{%
+ \tud@if@tudheadings{#1}{%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \enlargethispage{-\tud@len@ddcdiff}%
+ \fi%
+ }%
+ }{}%
+ }%
+}{}
+%%% From File: tudscr-pagestyle.dtx
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{scrlayer-scrpage}%
+\else
+ \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+\fi
\AfterPackage{scrlayer-scrpage}{%
\DeclareNewLayer[%
background,headsep,%
- voffset=\tud@dim@logoy,%
+ addhoffset=\dimexpr\tud@len@logox-\tud@len@widemargin\relax,%
+ addwidth=\dimexpr-\tud@len@logox+\tud@len@widemargin\relax,%
+ voffset=\tud@len@logoy,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
\tud@mainlogo@set%
\tud@headlogo@option@set%
- \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}%
\tud@mainlogo@use\hfill\tud@headlogo@use%
},%
]{tudheadings.head.content}%
\DeclareNewLayer[%
background,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@topmargin+\tud@dim@bleedmargin\relax,%
+ addvoffset=\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax,%
contents={%
- \ifnum\tud@head@bar>\tw@\relax% cdhead=color
+ \ifnum\tud@head@bar@num>\tw@\relax% cdhead=color
\color{HKS41}%
- \rule{\layerwidth}{\tud@dim@topmargin}%
+ \rule{\layerwidth}{\layerheight}%
\fi%
},%
]{tudheadings.head.back}%
\DeclareNewLayer[%
background,%
- voffset=\tud@dim@topmargin,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\tud@len@barheight,%
+ voffset=\tud@len@topmargin,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar>\@ne\relax% cdhead=barcolor/color
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\color{HKS41!60}%
- \rule{\layerwidth}{\tud@dim@barheight}%
+ \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
+ \raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
\fi%
},%
]{tudheadings.head.bar}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,%
- contents={\tud@head@text@box},%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \tud@head@font@set%
+ \tud@head@text@set%
+ \tud@head@text@box%
+ },%
]{tudheadings.head.text}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.upperline}%
+ ]{tudheadings.head.upline}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.lowerline}%
+ ]{tudheadings.head.lowline}%
\DeclareNewLayer[%
background,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.upperwideline}%
+ ]{tudheadings.head.uplinewide}%
\DeclareNewLayer[%
background,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.lowerwideline}%
+ ]{tudheadings.head.lowlinewide}%
+ \DeclareNewLayer[%
+ foreground,headsep,%
+ addvoffset=.5\tud@len@headsep,%
+ height=\baselineskip,%
+ contents={\if@tud@head@date\hfill\tud@date@print\fi},%
+ ]{tudheadings.head.date}%
\DeclareNewLayer[%
background,foot,%
- hoffset=0pt,%
- width=\paperwidth,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ hoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset+\tud@dim@bleedmargin\relax,%
addvoffset=-\dp\strutbox,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
contents={%
\if@tud@foot@colored%
\let\@tempc\relax%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \ifcase\tud@head@bar@num\relax\or% cdhead=litecolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=barcolor
\def\@tempc{\color{HKS41!60}}%
\or% cdhead=color
\def\@tempc{\color{HKS41}}%
@@ -2363,14 +3795,14 @@
\fi%
},%
]{tudheadings.foot.back}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\ModifyLayer[%
- addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
contents={%
\if@tud@foot@colored%
\let\@tempc\relax%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \ifcase\tud@head@bar@num\relax\or\or% cdhead=barcolor
\def\@tempc{\color{HKS41!60}}%
\or% cdhead=color
\def\@tempc{\color{HKS41}}%
@@ -2381,14 +3813,14 @@
}%
\ifx\@tempc\relax\else%
\tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot=false
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
\vbox to \layerheight{%
\vfil\@tempc%
\rule{\layerwidth}{%
- \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax%
+ \dimexpr\layerheight-\tud@len@ddcdiff+\ht\strutbox\relax%
}%
}%
- \else% \tud@ddc@foot!=false
+ \else% \tud@ddc@foot@num!=false
\@tempc\rule{\layerwidth}{\layerheight}%
\fi%
\fi%
@@ -2398,23 +3830,35 @@
}{}%
\DeclareNewLayer[%
background,foot,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset\relax,%
contents={%
- \tud@footlogoheight@set%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
\setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
- \tud@footlogo@option@set%
- \tud@footlogo@cmd@set{\@tempdima}{\layerwidth}%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
\tud@footcontent@use{\@tempdima}{\layerwidth}%
- \hspace*{-\layerwidth}%
- \tud@footlogo@cmd@use%
- \hspace*{-\layerwidth}%
- \hfill\tud@footlogo@ddc@use{\@tempdima}%
},%
]{tudheadings.foot.content}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\ModifyLayer[%
- addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
- height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
+ contents={%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
+ \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \addtolength\@tempdima{\dimexpr\ht\strutbox-\tud@len@ddcdiff\relax}%
+ \vskip\dimexpr\tud@len@ddcdiff-\ht\strutbox-\baselineskip\relax%
+ \fi%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
+ \tud@footcontent@use{\@tempdima}{\layerwidth}%
+ },%
]{tudheadings.foot.content}%
}{}%
\DeclareNewLayer[%
@@ -2427,10 +3871,11 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last,%
@@ -2440,7 +3885,6 @@
scrheadings.foot.above.line,%
scrheadings.foot.below.line%
}%
- \listadd\tud@ps@list{tudheadings}%
\DeclareNewPageStyleAlias{tud}{tudheadings}%
\DeclareNewPageStyleAlias{tudscr}{tudheadings}%
\DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
@@ -2451,10 +3895,11 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last,%
@@ -2464,7 +3909,6 @@
plain.scrheadings.foot.above.line,%
plain.scrheadings.foot.below.line%
}%
- \listadd\tud@ps@list{plain.tudheadings}%
\DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
\DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
\DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
@@ -2477,23 +3921,28 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last%
}%
- \listadd\tud@ps@list{empty.tudheadings}%
\DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
- \newcommand*\tud@pagecolor{}%
\DeclareNewLayer[%
- background,page,%
+ background,%
+ area=%
+ {\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax}%
+ {\dimexpr\tud@len@layoutheight+\tud@dim@bleedmargin*2\relax}%
+ ,%
contents={%
\ifdefvoid{\tud@pagecolor}{}{%
\color{\tud@pagecolor}%
@@ -2503,8 +3952,11 @@
]{tudheadings.pagecolor}%
\AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
}
+\listadd\tud@ps@list{tudheadings}
+\listadd\tud@ps@list{plain.tudheadings}
+\listadd\tud@ps@list{empty.tudheadings}
\PreventPackageFromLoading[%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The package `fancyhdr' must not be used with a\MessageBreak%
TUD-KOMA-Script class. You should make use of the\MessageBreak%
capabilities of package `scrlayer-scrpage' instead%
@@ -2522,203 +3974,305 @@
\newcommand*\tud@foot@fontcolor{}
\newcommand*\tud@ps@onbackground{%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax% cdhead=nocolor
- \def\tud@head@logocolor{black}%
- \def\tud@head@fontcolor{}%
- \def\tud@foot@logocolor{black}%
- \def\tud@foot@fontcolor{}%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@head@logocolor{black}%
+ \renewcommand*\tud@head@fontcolor{}%
\or% cdhead=litecolor
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{HKS41}%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{HKS41}%
\or% cdhead=barcolor
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{white}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \fi%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@foot@logocolor{black}%
+ \renewcommand*\tud@foot@fontcolor{}%
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
- \else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use a colored foot together\MessageBreak%
+ with a non-colored head (`cdhead=nocolor')%
+ }%
\fi%
- \or% cdhead=color
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
+ \else% cdhead=*color
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@foot@logocolor{HKS41}%
+ \renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
\fi%
}{%
\ifstr{\tud@pagecolor}{HKS41}{%
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
- \def\tud@foot@logocolor{white}%
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
\if@tud@foot@colored%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@fontcolor{HKS41!30}%
+ \renewcommand*\tud@foot@fontcolor{HKS41!30}%
\fi%
\bool@std@lock{@tud@head@widebar}{true}%
}{%
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{HKS41}%
- \ifcase\tud@head@bar\relax\or\or\or% cdhead=color
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{HKS41}%
+ \ifcase\tud@head@bar@num\relax\or\or\or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
\fi%
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@foot@logocolor{HKS41}%
+ \renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
\bool@std@lock{@tud@head@widebar}{true}%
}%
}%
- \let\tud@dim@line\tud@dim@thinline%
- \ifstr{\tud@head@fontcolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}%
+ \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@pagestyle{}
+\let\tud@pagestyle\pagestyle
+\pretocmd{\tud@pagestyle}{%
+ \tud@BeforeSelectAnyPageStyle{#1}%
+ \edef\currentpagestyle{#1}%
+}{}{\tud@patch@wrn{pagestyle}}
+\tud@cmd@store{pagestyle}
+\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
+\BeforePackage{scrlayer-scrpage}{%
+ \tud@cmd@restore{pagestyle}%
+ \undef\tud@pagestyle%
+}
+\TUD@UnwindPackage{scrlayer-scrpage}{%
+ \ifcsundef{if@chapter}{%
+ \newif\if@chapter%
+ \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}%
+ }{}%
+ \cslet{ps@tudheadings}{\ps@headings}%
+ \cslet{ps@plain.tudheadings}{\ps@plain}%
+ \cslet{ps@empty.tudheadings}{\ps@empty}%
+ \providecommand*\currentpagestyle{plain}%
+ \providecommand*\BeforeSelectAnyPageStyle[1]{}%
+ \providecommand*\GetRealPageStyle[1]{#1}%
+ \let\pagestyle\tud@pagestyle%
+ \undef\tud@pagestyle%
+ \tud@cdgeometry@init%
+}
\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{%
- \xdef\@specialstyle{\GetRealPageStyle{#1}}
+ \xdef\@specialstyle{\GetRealPageStyle{#1}}%
}{}{\tud@patch@wrn{thispagestyle}}
-\newcommand*\tud@head@text{}
-\newcommand*\tud@head@text@first{}
-\newcommand*\tud@head@text@second{}
+\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{}
\newcommand*\tud@head@text@buffer{}
-\newcommand*\tud@head@rule[1]{%
- \tud@color{\tud@head@fontcolor}%
- \rule[\ht\strutbox]{#1}{\tud@dim@line}%
-}
-\newcommand*\tud@head@text@add[3][, ]{%
- \protected@edef\tud@head@text{#3}%
- \ifx\tud@head@text\@empty%
- \def\tud@head@text@delimiter{}%
- \else%
- \edef\tud@head@text@delimiter{\tud@head@text@buffer}%
+\newcommand*\tud@head@text@add[3][{, }]{%
+ \ifxblank{#3}{}{%
+ \edef\tud@head@text@delimiter{\expandonce\tud@head@text@buffer}%
\def\tud@head@text@buffer{#1}%
- \fi%
- \if@tempswa\else%
- \def\@tempa{%
- \tud@head@text@first%
- \tud@head@text@delimiter%
- #2%
- \tud@head@text%
+ \edef\@tempa{%
+ \expandonce\tud@head@text@line%
+ \expandonce\tud@head@text@delimiter%
+ \etex@unexpanded{#2#3}%
}%
\settowidth\@tempdima{\@tempa}%
\ifdim\@tempdima>\textwidth\relax%
- \@tempswatrue%
- \def\tud@head@text@delimiter{}%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \protected@edef\tud@head@text@line{#2#3}%
\else%
- \protected@edef\tud@head@text@first{\@tempa}%
+ \edef\tud@head@text@line{\expandonce\@tempa}%
\fi%
- \fi%
- \if@tempswa%
- \protected@edef\tud@head@text@second{%
- \tud@head@text@second%
- \tud@head@text@delimiter%
- #2%
- \tud@head@text%
+ }%
+}
+\newif\if@tud@head@text@set
+\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{}%
+ \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}%
+ \tud@head@text@add{\tud@head@font@light}{\@chair}%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \ifxblank{\@extraheadline}{}{%
+ \listadd\tud@head@text@list{\tud@head@font@light\@extraheadline}%
+ }%
+ \gdef\tud@head@text@wrn##1{%
+ \ClassWarning{\TUD@Class@Name}{%
+ The given entries for the headline\MessageBreak%
+ (faculty, institute etc.) are ##1\MessageBreak%
+ too wide for the textwidth%
+ }%
}%
\fi%
}
\newcommand*\tud@head@text@box{%
\ifx\@faculty\@empty%
- \ClassWarningNoLine{\TUDClassName}{No `\string\faculty' given}%
+ \ClassWarningNoLine{\TUD@Class@Name}{No `\string\faculty' given}%
\faculty{}%
\fi%
- \tud@head@font@set%
- \@tempswafalse%
- \def\tud@head@text@first{}%
- \def\tud@head@text@second{}%
- \def\tud@head@text@buffer{}%
- \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}%
- \tud@head@text@add{\tud@head@font@light}{\@chair}%
- \settowidth\@tempdima{\tud@head@text@second}%
- \ifdim\@tempdima>\textwidth\relax%
- \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
- \hfuzz=\@tempdima%
- \fi%
- \vbox{%
- \linespread{0}\selectfont\offinterlineskip%
- \tud@color{\tud@head@fontcolor}%
- \tud@head@text@write{\tud@head@text@first}%
- \ifnum\tud@head@bar>\@ne% cdhead=barcolor/color
+ \def\@tempb{\tud@color{\tud@head@fontcolor}}%
+ \def\@tempc{\depth+\tud@len@heavyline}%
+ \def\@tempa##1{%
+ \settowidth\@tempdima{##1}%
+ \ifdim\@tempdima>\textwidth\relax%
+ \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
+ \ifdim\dimexpr\@tempdima-\textwidth\relax>\hfuzz\relax%
+ \hfuzz=\dimexpr\@tempdima-\textwidth\relax%
+ \fi%
+ \fi%
+ \@tempb%
+ \tud@head@text@write[\@tempc]{##1}%
+ \def\@tempb{\newline}%
+ \def\@tempc{\z@}%
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\ifdefvoid{\tud@pagecolor}{\color{HKS41}}{%
\ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}%
}%
\fi%
- \ifx\tud@head@text@second\@empty%
- \newline\tud@head@text@write{\tud@head@font@light\@extraheadline}%
- \else%
- \newline\tud@head@text@write{\tud@head@text@second}%
- \ifx\@extraheadline\@empty\else%
- \newline\vbox{\tud@head@font@light\@extraheadline}%
- \fi%
- \fi%
}%
-}
-\newcommand*\tud@head@text@write[1]{%
- \raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[%
- \dimexpr\tud@dim@barheight-\depth\relax%
- ][\dimexpr\depth+\tud@dim@heavyline\relax]{#1\vphantom{gjpqy\"A\"O\"U}}%
-}
-\newcommand\tud@head@text@wrn[1]{%
- \ClassWarning{\TUDClassName}{%
- The given entries for the headline\MessageBreak%
- (faculty, institute etc.) are #1\MessageBreak%
- too wide for the textwidth%
+ \vbox{%
+ \let\@raggedtwoe@everyselectfont\relax%
+ \setlength\spaceskip{\z@}%
+ \selectfont%
+ \offinterlineskip%
+ \forlistloop\@tempa{\tud@head@text@list}%
}%
\global\let\tud@head@text@wrn\@gobble%
}
+\newcommand*\tud@head@text@write[2][\z@]{%
+ \raisebox{\dimexpr(\tud@len@barheight+2\tud@len@line-\totalheight)/2\relax}[%
+ \dimexpr\tud@len@barheight-\depth\relax%
+ ][\dimexpr#1\relax]{#2\vphantom{gjpqy\"A\"O\"U}}%
+}
+\newcommand*\tud@head@rule[1]{%
+ \tud@color{\tud@head@fontcolor}%
+ \rule[\ht\strutbox]{#1}{\tud@len@line}%
+}
\newcommand*\tud@newlayerbox[1]{%
- \expandafter\newsavebox\csname tud@logo@#1\endcsname%
+ \expandafter\newsavebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@savelayerbox[1]{%
- \global\expandafter\sbox\csname tud@logo@#1\endcsname%
+ \global\expandafter\sbox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@uselayerbox[1]{%
- \expandafter\usebox\csname tud@logo@#1\endcsname%
+ \expandafter\usebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@vlayerbox[3]{%
\begingroup%
\setbox\z@\vbox{#2}%
\setlength\@tempdima{\dimexpr\ht\z@+\dp\z@-#1\relax}%
\ifdim\@tempdima>\z@\relax%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
#3\MessageBreak%
- The maximum height is exceeded by \the\@tempdima%
+ The maximum height is exceeded by \the\@tempdima\MessageBreak%
}%
\fi%
\endgroup%
\vbox to #1{#2}%
}
+\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%
+ }%
+ }{}%
+}
+\newcommand*\tud@ddc@check{%
+ \let\@tempa\tud@ddc@head@num%
+ \let\@tempb\tud@ddc@foot@num%
+ \if@tud@ddc@auto%
+ \ifdefvoid{\tud@headlogo@filename}{%
+ \let\@tempa\tud@ddc@auto@num%
+ \let\@tempb\z@%
+ }{%
+ \let\@tempa\z@%
+ \let\@tempb\tud@ddc@auto@num%
+ }%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \ifnum\@tempb=\z@\relax%
+ \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}%
+ \fi%
+ }{}%
+}
\tud@newlayerbox{main@black}
\tud@newlayerbox{main@HKS41}
\tud@newlayerbox{main@white}
-\newlength\tud@mainlogoheight
+\newlength\tud@len@mainlogoheight
\newcommand*\tud@mainlogo@wrn[1]{}
\newif\if@tud@mainlogo@set
\newcommand*\tud@mainlogo@set{%
\if@tud@mainlogo@set%
- \def\@tempa{\includegraphics[keepaspectratio,width=\tud@dim@logowidth]}%
+ \def\@tempa{\includegraphics[keepaspectratio,width=\tud@len@logowidth]}%
\tud@savelayerbox{main@black}{\@tempa{TUD-black}}%
\tud@savelayerbox{main@HKS41}{\@tempa{TUD-blue}}%
\tud@savelayerbox{main@white}{\@tempa{TUD-white}}%
- \setlength\tud@mainlogoheight{\ht\tud@logo@main@black}%
- \global\tud@mainlogoheight=\tud@mainlogoheight%
+ \settoheight\tud@len@mainlogoheight{\tud@uselayerbox{main@black}}%
+ \global\tud@len@mainlogoheight=\tud@len@mainlogoheight%
\gdef\tud@mainlogo@wrn##1{%
\ifdim##1<\ta@bcor\relax%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The selected page layout means that the\MessageBreak%
logo of TUD extends beyond the printing area.\MessageBreak%
The inner margin is smaller than BCOR\MessageBreak%
@@ -2730,13 +4284,14 @@
\fi%
}%
\tud@headlogo@set%
- \tud@footlogo@set%
+ \@tud@footlogo@option@settrue%
+ \tud@footlogo@option@set%
\global\@tud@mainlogo@setfalse%
\fi%
}
\newcommand*\tud@mainlogo@use{%
\tud@mainlogo@wrn{%
- \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax%
+ \dimexpr\oddsidemargin+1in+\tud@len@logox-\tud@len@widemargin\relax%
}%
\tud@uselayerbox{main@\tud@head@logocolor}%
}
@@ -2744,28 +4299,28 @@
\tud@newlayerbox{head@HKS41}
\tud@newlayerbox{head@white}
\tud@newlayerbox{head@option}
-\newcommand*\@headlogo{}
-\newcommand*\@@headlogo{}
+\newcommand*\tud@headlogo@filename{}
+\newcommand*\tud@headlogo@fileoptions{}
\newcommand*\tud@headlogo@wrn{}
\newcommand*\headlogo[2][]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \def\@headlogo{#2}%
- \def\@@headlogo{#1}%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@headlogo@filename{#2}%
+ \renewcommand*\tud@headlogo@fileoptions{#1}%
\global\@tud@headlogo@option@settrue%
\global\@tud@footlogo@option@settrue%
\gdef\tud@headlogo@wrn{%
- \ClassWarning{\TUDClassName}{%
- The secondary logo `\string\headlogo{\@headlogo}' is\MessageBreak%
- overwritten with DDC logo. Maybe you should use\MessageBreak%
- `ddcfoot' or better `ddc' instead of `ddchead'%
+ \ClassWarning{\TUD@Class@Name}{%
+ Secondary logo `\string\headlogo{\tud@headlogo@filename}'\MessageBreak%
+ is overwritten with DDC logo. Maybe you should\MessageBreak%
+ use `ddcfoot' or better `ddc' instead of `ddchead'%
}%
\global\let\tud@headlogo@wrn\relax%
}%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
\newcommand*\tud@headlogo@set{%
\def\@tempa{%
- \includegraphics[keepaspectratio,totalheight=\tud@mainlogoheight]%
+ \includegraphics[keepaspectratio,totalheight=\tud@len@mainlogoheight]%
}%
\tud@savelayerbox{head@black}{\@tempa{DDC-24}}%
\tud@savelayerbox{head@HKS41}{\@tempa{DDC-27}}%
@@ -2777,39 +4332,44 @@
\def\@tempc##1##2{%
\tud@savelayerbox{head@option}{%
\includegraphics[%
- keepaspectratio,totalheight=\tud@mainlogoheight,##2%
- ]{\trim@spaces{##1}}%
+ keepaspectratio,totalheight=\tud@len@mainlogoheight,##2%
+ ]{##1}%
}%
}%
\tud@savelayerbox{head@option}{}%
\tud@ddc@check%
- \ifcase\@tempa\relax% \tud@ddc@head=false
- \ifdefvoid{\@headlogo}{}{%
- \protected@edef\@tempb{\noexpand\@tempc{\@headlogo}{\@@headlogo}}%
+ \ifcase\@tempa\relax% \tud@ddc@head@num=false
+ \ifdefvoid{\tud@headlogo@filename}{}{%
+ \protected@edef\tud@headlogo@filename{%
+ \expandafter\trim@spaces\expandafter{\tud@headlogo@filename}%
+ }%
+ \protected@edef\@tempb{%
+ \noexpand\@tempc{\tud@headlogo@filename}{\tud@headlogo@fileoptions}%
+ }%
\@tempb%
}%
- \or\or% \tud@ddc@head=color
+ \or\or% \tud@ddc@head@num=color
\@tempc{DDC-03}{}%
- \or% \tud@ddc@head=colorblack
+ \or% \tud@ddc@head@num=colorblack
\@tempc{DDC-09}{}%
- \or% \tud@ddc@head=gray
+ \or% \tud@ddc@head@num=gray
\@tempc{DDC-21}{}%
- \or% \tud@ddc@head=black
+ \or% \tud@ddc@head@num=black
\@tempc{DDC-24}{}%
- \or% \tud@ddc@head=blue
+ \or% \tud@ddc@head@num=blue
\@tempc{DDC-27}{}%
- \or% \tud@ddc@head=white
+ \or% \tud@ddc@head@num=white
\@tempc{DDC-30}{}%
\fi%
\global\@tud@headlogo@option@setfalse%
\fi%
}
\newcommand*\tud@headlogo@use{%
- \tud@vlayerbox{\tud@mainlogoheight}{%
+ \tud@vlayerbox{\tud@len@mainlogoheight}{%
\vss%
\hbox{%
\tud@ddc@check%
- \ifnum\@tempa=\@ne\relax% \tud@ddc@head=true
+ \ifnum\@tempa=\@ne\relax% \tud@ddc@head@num=true
\tud@uselayerbox{head@\tud@head@logocolor}%
\else%
\tud@uselayerbox{head@option}%
@@ -2817,9 +4377,9 @@
}%
\vss%
}{%
- The given `\string\headlogo{\@headlogo}' is too large.%
- }
- \ifdefvoid{\@headlogo}{}{%
+ The given `\string\headlogo{\tud@headlogo@filename}' is too large.%
+ }%
+ \ifdefvoid{\tud@headlogo@filename}{}{%
\tud@ddc@check%
\ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi%
}%
@@ -2828,95 +4388,89 @@
\tud@newlayerbox{foot@HKS41}
\tud@newlayerbox{foot@white}
\tud@newlayerbox{foot@option}
-\newlength\footlogoheight
-\newlength\tud@footlogoheight
-\newcommand*\tud@footlogoheight@set{%
- \ifdim\footlogoheight=\z@\relax%
- \tud@ifverlower{2.03}{%
- \setlength\tud@footlogoheight{.6\tud@dim@topmargin}%
+\AtEndOfClass{%
+ \ifdefvoid{\tud@dim@footlogoheight}{%
+ \tud@if@v@lower{2.03}{%
+ \def\tud@dim@footlogoheight{.6\tud@len@topmargin}%
}{%
- \setlength\tud@footlogoheight{\tud@mainlogoheight}%
+ \def\tud@dim@footlogoheight{\tud@len@mainlogoheight}%
}%
- \else%
- \ifdim\footlogoheight=\tud@footlogoheight\relax\else%
- \setlength\tud@footlogoheight{\footlogoheight}%
- \global\@tud@footlogo@option@settrue%
- \fi%
- \fi%
- \global\tud@footlogoheight=\tud@footlogoheight%
+ }{}%
}
\newcommand*\tud@footlogo@ddc@set[2]{%
- \tud@footlogoheight@set%
\tud@savelayerbox{foot@#1}{%
- \includegraphics[keepaspectratio,totalheight=\tud@footlogoheight]{#2}%
+ \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}%
}%
}
-\newcommand*\tud@footlogo@set{%
- \tud@footlogo@ddc@set{black}{DDC-22}%
- \tud@footlogo@ddc@set{HKS41}{DDC-25}%
- \tud@footlogo@ddc@set{white}{DDC-28}%
- \tud@footlogo@option@set%
-}
\newcommand*\tud@footlogo@option@set{%
\if@tud@footlogo@option@set%
+ \tud@footlogo@ddc@set{black}{DDC-22}%
+ \tud@footlogo@ddc@set{HKS41}{DDC-25}%
+ \tud@footlogo@ddc@set{white}{DDC-28}%
\tud@ddc@check%
- \ifcase\@tempb\relax\or\or% \tud@ddc@foot=color
+ \ifcase\@tempb\relax\or\or% \tud@ddc@foot@num=color
\tud@footlogo@ddc@set{option}{DDC-01}%
- \or% \tud@ddc@foot=colorblack
+ \or% \tud@ddc@foot@num=colorblack
\tud@footlogo@ddc@set{option}{DDC-07}%
- \or% \tud@ddc@foot=gray
+ \or% \tud@ddc@foot@num=gray
\tud@footlogo@ddc@set{option}{DDC-19}%
- \or% \tud@ddc@foot=black
+ \or% \tud@ddc@foot@num=black
\tud@footlogo@ddc@set{option}{DDC-22}%
- \or% \tud@ddc@foot=blue
+ \or% \tud@ddc@foot@num=blue
\tud@footlogo@ddc@set{option}{DDC-25}%
- \or% \tud@ddc@foot=white
+ \or% \tud@ddc@foot@num=white
\tud@footlogo@ddc@set{option}{DDC-28}%
\fi%
\global\@tud@footlogo@option@setfalse%
\fi%
}
-\newcommand*\tud@footlogo@ddc@use[1]{%
- \tud@vlayerbox{#1}{%
- \vss%
- \hbox{%
- \tud@ddc@check%
- \ifcase\@tempb\relax\or% \tud@ddc@foot=true
- \tud@uselayerbox{foot@\tud@foot@logocolor}%
- \else%
- \tud@uselayerbox{foot@option}%
- \fi%
+\newcommand*\tud@footlogo@ddc@use[2]{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num=!false
+ \tud@footlogo@option@set%
+ \setbox\z@\hbox{%
+ \tud@vlayerbox{#1}{%
+ \vss%
+ \hbox to #2{%
+ \hss%
+ \ifcase\@tempb\relax\or% \tud@ddc@foot@num=true
+ \tud@uselayerbox{foot@\tud@foot@logocolor}%
+ \else%
+ \tud@uselayerbox{foot@option}%
+ \fi%
+ }%
+ \vss\vss%
+ }{%
+ 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%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
+ \fi%
+ }%
}%
- \vss\vss%
- }{%
- The `\string\footlogoheight' (\the\footlogoheight) is too\MessageBreak%
- high. You should reduce this length.%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \MessageBreak%
- Alternatively you can enlarge the bottom margin\MessageBreak%
- by using option `extrabottommargin'.%
- \fi%
- }%
+ \usebox\z@\hspace*{-\wd\z@}%
+ \fi%
}
\tud@newlayerbox{foot@cmd}
\newcommand*\footlogosep{\hfill}
-\newcommand*\@footlogo{}
-\newcommand*\@@footlogo{}
+\newcommand*\tud@footlogo@filenames{}
+\newcommand*\tud@footlogo@fileoptions{}
\newcommand*\footlogo[2][]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \def\@footlogo{#2}%
- \def\@@footlogo{#1}%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@footlogo@filenames{#2}%
+ \renewcommand*\tud@footlogo@fileoptions{#1}%
\global\@tud@footlogo@cmd@settrue%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
\newif\if@tud@footlogo@cmd@set
\newcommand*\tud@footlogo@cmd@set[2]{%
\if@tud@footlogo@cmd@set%
- \tud@footlogoheight@set%
\tud@savelayerbox{foot@cmd}{%
\hbox to #2{%
\let\@tempa\relax%
- \@for\@tempb:=\@footlogo\do{%
+ \@for\@tempb:=\tud@footlogo@filenames\do{%
\edef\@tempb{\expandafter\trim@spaces\expandafter{\@tempb}}%
\@tempa%
\ifx\@tempb\@empty\else%
@@ -2946,553 +4500,238 @@
\let\@tempc\relax%
\DeclareListParser{\@tempc}{:}%
\@tempc{#1}%
- \preto\@@footlogo{%
- keepaspectratio,totalheight=\tud@footlogoheight,%
+ \preto\tud@footlogo@fileoptions{%
+ keepaspectratio,totalheight=\tud@dim@footlogoheight,%
+ }%
+ \appto\tud@footlogo@fileoptions{\@tempb}%
+ \protected@edef\@tempc{%
+ \noexpand\includegraphics[\tud@footlogo@fileoptions]{\@tempa}%
}%
- \appto\@@footlogo{\@tempb}%
- \protected@edef\@tempc{\noexpand\includegraphics[\@@footlogo]{\@tempa}}%
\tud@vlayerbox{#2}{\vss\hbox{\@tempc}\vss\vss}{%
The given `\string\footlogo{\@tempa}' is too large.%
}%
\endgroup%
}
-\newcommand*\tud@footlogo@cmd@use{\tud@uselayerbox{foot@cmd}}%
-\newkomafont{tudheadings}{%
- \sffamily%
- \tud@color{\tud@foot@fontcolor}%
+\newcommand*\tud@footlogo@cmd@use[2]{%
+ \tud@footlogo@option@set%
+ \tud@footlogo@cmd@set{#1}{#2}%
+ \setbox\z@\hbox{\tud@uselayerbox{foot@cmd}}%
+ \usebox\z@\hspace*{-\wd\z@}%
}
-\newcommand*\tud@footcontent@font{}
+\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@fontface{}
\newcommand*\tud@footcontent@left{}
-\newcommand*\tud@footcontent@right{}
+\newcommand*\tud@footcontent@right{\@nil}
\newcommand*\footcontent{%
- \@ifstar{%
- \@tempswafalse%
- \@footcontent%
+ \kernel@ifstar{%
+ \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \tud@footcontent@do%
}{%
- \@tempswatrue%
- \@footcontent%
- }%
-}
-\newcommand*\@footcontent[2][]{%
- \kernel@ifnextchar[%]
- {\@@footcontent{#1}{#2}}%
- {\@@footcontent{#1}{#2}[\@nnil]}%
-}
-\newcommand*\@@footcontent{}
-\def\@@footcontent#1#2[#3]{%
- \if@tempswa%
- \def\tud@footcontent@font{%
+ \renewcommand*\tud@footcontent@fontface{%
\usekomafont{tudheadings}%
- \tud@divide\@tempa{\tud@head@font@size}{\f@size}%
- \linespread{\@tempa}%
+ \setlength\@tempdima{\tud@head@fontsize\p@}%
+ \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
\selectfont%
- \tud@head@font@light%
- #1%
}%
- \else%
- \def\tud@footcontent@font{#1}%
+ \tud@footcontent@do%
+ }%
+}
+\newcommand*\tud@footcontent@do[2][]{%
+ \kernel@ifnextchar[%]
+ {\tud@footcontent@@do{#1}{#2}}%
+ {\tud@footcontent@@do{#1}{#2}[\@nil]}%
+}
+\newcommand*\tud@footcontent@@do{}
+\def\tud@footcontent@@do#1#2[#3]{%
+ \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#2}\relax\else%
+ \renewcommand*\tud@footcontent@left{#2}%
+ \fi%
+ \if\detokenize{*#3}\relax\else%
+ \renewcommand*\tud@footcontent@right{#3}%
\fi%
- \def\tud@footcontent@left{#2}%
- \def\tud@footcontent@right{#3}%
}
\newcommand*\tud@footcontent@use[2]{%
- \tud@ddc@check%
- \ifcase\@tempb%
- \setlength\@tempdimc{\z@}%
- \else%
- \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
- \addtolength\@tempdimc{\columnsep}%
- \fi%
- \tud@vlayerbox{#1}{%
- \vss%
- \hbox to #2{%
- \tud@footcontent@font%
- \expandafter\ifx\tud@footcontent@right\@nnil\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%
- }%
+ \@tempswafalse%
+ \ifx\tud@footcontent@left\@empty\relax%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax\else%
+ \ifx\tud@footcontent@right\@empty\relax\else%
+ \@tempswatrue%
\fi%
- \hss%
- }%
- \vss\vss%
- }{%
- The content for the footer (`\string\footcontent')\MessageBreak%
- is too high. You should either reduce the content or\MessageBreak%
- lower the fontsize via the optional argument.%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \MessageBreak%
- Alternatively you can enlarge the bottom margin\MessageBreak%
- by using option `extrabottommargin'.%
\fi%
- }%
-}
-\AtEndPreamble{%
- \@ifpackageloaded{geometry}{}{%
- \def\tud@geometry@process{\tud@geometry@set}%
- \let\tud@BeforeSelectAnyPageStyle\@gobble%
- }%
-}
-\tud@ifsacrop{%
- \PreventPackageFromLoading{geometry}%
-}{%
- \RequirePackage{geometry}[2010/09/12]%
- \newcommand*\tud@geometry@hmargin{}%
- \newcommand*\tud@geometry@vmargin{}%
- \newcommand*\tud@geometry@tudmargin{}%
- \tud@ifverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{}%
- \newcommand*\tud@newgeometry[1]{%
- \if@atdocument%
- \edef\@tempa{#1}%
- \expandafter\newgeometry\expandafter{#1}%
+ \else%
+ \@tempswatrue%
+ \fi%
+ \if@tempswa%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax%
+ \setlength\@tempdimc{\z@}%
\else%
- \edef\@tempa{paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1}%
- \expandafter\geometry\expandafter{\@tempa}%
+ \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
+ \addtolength\@tempdimc{\columnsep}%
\fi%
- }%
- \newcommand*\tud@geometry@process{%
- \tud@geometry@set%
- \ifcase\tud@geometry\relax% false
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax%
- }%
- \ifdim\tud@ta@headdiff<\z@\relax%
- \addtolength\tud@dim@headsep{-\tud@ta@headdiff}%
- \fi%
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
- textwidth=\the\textwidth,%
- \tud@geometry@mpincl,%
- marginparwidth=\the\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,%
- \if@reversemargin%
- reversemarginpar=true,%
- \if@twoside%
- marginparwidth=\the\dimexpr\oddsidemargin+1in%
- -\tud@ta@headsep\relax,%
- \fi%
- \else%
- reversemarginpar=false,%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \edef\tud@geometry@vmargin{%
- \if@hincl%
- includehead=true,%
- top=\the\dimexpr\tud@ta@topmargin+1in\relax,%
+ \tud@vlayerbox{#1}{%
+ \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%
- includehead=false,%
- top=\the\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep%
- +1in\relax,%
- \fi%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@ta@headsep,%
- textheight=\the\tud@ta@textheight,%
- \tud@geometry@fincl,%
- footskip=\the\tud@ta@footskip%
- }%
- \ifdim\tud@ta@headdiff<\z@\relax%
- \setlength\@tempdima{\z@}%
- \else%
- \setlength\@tempdima{\tud@ta@headdiff}%
- \fi%
- \edef\tud@geometry@tudmargin{%
- top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\the\tud@dim@headsep,%
- textheight=\the\dimexpr\tud@ta@textheight-\@tempdima\relax,%
- ignorehead%
- }%
- \tud@ifverlower{2.03}{%
- \setlength\tud@dim@ddcdiff{%
- \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep%
- +\tud@ta@footheight-1.25\baselineskip\relax%
- }%
- \edef\tud@geometry@ddcmargin{%
- textheight=\the\dimexpr\tud@ta@textheight-\tud@ta@headdiff%
- -\tud@dim@ddcdiff\relax,%
- footskip=\the\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax%
- }%
- }{}%
- \ifdim\tud@dim@extrabottommargin=\z@\relax\else%
- \ClassWarning{\TUDClassName}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea is used (`cdgeometry=no')%
- }%
- \fi%
- \else% true/symmetric/twoside
- \ifcase\tud@geometry\or% true
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\tud@dim@widemargin,%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \if@twoside asymmetric,\fi%
- \tud@geometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- marginparwidth=\the\dimexpr\tud@dim@widemargin%
- -\tud@ta@headsep\relax,%
- \else%
- reversemarginpar=false,%
- marginparwidth=\the\dimexpr\tud@dim@slimmargin%
- -\tud@ta@headsep\relax,%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \or% symmetric
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\dimexpr.5\tud@dim@both\relax,%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \tud@geometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- \else%
- reversemarginpar=false,%
- \fi%
- marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \or% twoside
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- \if@twoside%
- left=\the\dimexpr.4\tud@dim@both\relax,%
- twoside,%
- \else%
- left=\the\dimexpr.5\tud@dim@both\relax,%
- \fi%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \tud@geometry@mpincl,%
- marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
- \if@reversemargin%
- reversemarginpar=true,%
- \if@twoside%
- marginparwidth=\the\dimexpr.4\tud@dim@both%
- -\tud@ta@headsep\relax,%
- \fi%
- \else%
- reversemarginpar=false,%
- \if@twoside%
- marginparwidth=\the\dimexpr.6\tud@dim@both%
- -\tud@ta@headsep\relax,%
- \fi%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \fi%
- \tud@ifverlower{2.03}{%
- \edef\tud@geometry@vmargin{%
- top=\the\dimexpr.5\tud@dim@both\relax,%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@dim@headsep,%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,%
- footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip\relax,%
- \tud@geometry@hincl,%
- \tud@geometry@fincl%
- }%
- }{%
- \edef\tud@geometry@vmargin{%
- top=\the\tud@dim@slimmargin,%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@ta@headsep,%
- bottom=\the\dimexpr\tud@dim@widemargin%
- +\tud@dim@extrabottommargin\relax,%
- footskip=\the\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,%
- \tud@geometry@hincl,%
- \tud@geometry@fincl%
- }%
- }%
- \edef\tud@geometry@tudmargin{%
- top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\the\tud@dim@headsep,%
- ignorehead%
- }%
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@dim@slimmargin\relax%
- }%
- \tud@ifverlower{2.03}{%
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -.5\tud@dim@both\relax%
- }%
- \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}%
- \edef\tud@geometry@ddcmargin{%
- \if@fincl%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
- +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip\relax,%
- \else%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
- +\tud@dim@ddcdiff\relax,%
- \fi%
- footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip+\tud@dim@ddcdiff\relax,%
- }%
- }{}%
- \fi%
- \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi%
- \global\tud@ta@headdiff=\tud@ta@headdiff%
- \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}%
- \global\tud@dim@headingsvskip=\tud@dim@headingsvskip%
- \tud@ifverlower{2.03}{%
- \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi%
- \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
- }{}%
- \tud@geometry@@process%
- }%
- \newcommand*\tud@geometry@@process{%
- \edef\Gm@restore@org{\Gm@restore}%
- \tud@ifverlower{2.03}{%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin,%
- \tud@geometry@ddcmargin,%
- ignorehead,ignorefoot%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{tudareaddc}%
- }{}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{tudarea}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{typearea}%
- }%
- \newcommand*\tud@geometry@hincl{%
- \if@hincl%
- includehead=true%
- \else%
- includehead=false%
- \fi%
- }%
- \newcommand*\tud@geometry@fincl{%
- \if@fincl%
- includefoot=true%
- \else%
- includefoot=false%
- \fi%
- }%
- \newcommand*\tud@geometry@mpincl{%
- \if@mincl%
- includemp=true%
- \else%
- includemp=false%
- \fi%
- }%
-}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \tud@iftudps{#1}{%
- \tud@ifverlower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot=false
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
}%
- \else% \tud@ddc@foot!=false
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
}%
\fi%
- }{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
- }%
+ \hss%
}%
- \setlength\tud@dim@headdiff{\z@}%
- \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
- \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
+ \vss\vss%
}{%
- \ifstr{\tud@currentgeometry}{typearea}{}{%
- \loadgeometry{typearea}%
- \gdef\tud@currentgeometry{typearea}%
- }%
- \setlength\tud@dim@headdiff{\tud@ta@headdiff}%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \if@hincl%
- \addtolength\tud@dim@headdiff{%
- \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax%
- }%
- \fi%
+ The content for the footer (`\string\footcontent')\MessageBreak%
+ is too high. You should either reduce the content\MessageBreak%
+ or lower the fontsize via the optional argument.%
+ \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
+ \MessageBreak%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
\fi%
- \tud@font@koma@unset{pagefoot}%
- \tud@font@koma@unset{pagenumber}%
}%
- \global\tud@dim@headdiff=\tud@dim@headdiff%
- }{}%
-}
-\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
-\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
-\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
-\tud@ifverlower{2.03}{%
- \newcommand*\tud@ddc@enlargepage[1][]{%
- \tud@iftudps{#1}{%
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
- \enlargethispage{-\tud@dim@ddcdiff}%
- \fi%
- }%
- }{}%
- }%
-}{}
-\newlength\tud@ta@textheight
-\newlength\tud@ta@topmargin
-\newlength\tud@ta@headheight
-\newlength\tud@ta@headsep
-\newlength\tud@ta@footheight
-\newlength\tud@ta@footskip
-\newlength\tud@ta@headdiff
-\newcommand*\tud@AfterChangingArea{%
- \setlength\tud@ta@textheight{\textheight}%
- \setlength\tud@ta@topmargin{\topmargin}%
- \setlength\tud@ta@headheight{\headheight}%
- \setlength\tud@ta@headsep{\headsep}%
- \ifcsvoid{ta@fh}{%
- \setlength\tud@ta@footheight{\footheight}%
- }{%
- \setlength\tud@ta@footheight{\ta@fh}%
- }%
- \setlength\tud@ta@footskip{\footskip}%
- \tud@geometry@process%
- \global\@tud@mainlogo@settrue%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ \else%
+ \hbox to #2{}%
+ \fi%
}
-\AtEndPreamble{%
- \tud@ifsacrop{}{%
- \AfterCalculatingTypearea{\tud@AfterChangingArea}%
- \AfterSettingArea{\tud@AfterChangingArea}%
- \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{#1}}%
- \recalctypearea%
- }%
+\newcommand*\tud@ps@parameters[1]{%
+ \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}%
+ \TUD@parameter@def{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
+ \TUD@parameter@def{headlogo}{\headlogo{#1}}%
+ \TUD@parameter@def{footlogo}{\footlogo{#1}}%
+ \TUD@parameter@def{ddc}[true]{\TUDoption{ddc}{#1}}%
+ \TUD@parameter@def{ddchead}[true]{\TUDoption{ddchead}{#1}}%
+ \TUD@parameter@def{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
+ \TUD@parameter@def{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@def{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
+ \TUD@parameter@def{barfont}[true]{\TUDoption{barfont}{#1}}%
+ \TUD@parameter@def{widehead}[true]{\TUDoption{widehead}{#1}}%
+ \TUD@parameter@def{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
+ \TUD@parameter@let{logo}{headlogo}%
}
-\newcommand*\tud@ps{tudheadings}
-\newcommand*\tud@ps@select{%
- \expandafter\pagestyle\expandafter{\tud@ps}%
- \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{%
+\newcommand*\tud@envir@ps{tudheadings}
+\newcommand*\tud@envir@selectps{%
+ \expandafter\pagestyle\expandafter{\tud@envir@ps}%
+ \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty}{%
\renewcommand*\titlepagestyle{empty}%
\renewcommand*\indexpagestyle{empty}%
}{}%
- \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{%
+ \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty.tudheadings}{%
\renewcommand*\titlepagestyle{empty.tudheadings}%
\renewcommand*\indexpagestyle{empty.tudheadings}%
}{}%
}
-\newcommand*\tud@currentpagestyle{}
+\newcommand*\tud@currentpagestyle@value{}
\newcommand*\tud@currentpagestyle@set{%
- \ifdefvoid{\tud@currentpagestyle}{%
- \xdef\tud@currentpagestyle{\currentpagestyle}%
+ \ifdefvoid{\tud@currentpagestyle@value}{%
+ \xdef\tud@currentpagestyle@value{\currentpagestyle}%
}{}%
}
\newcommand*\tud@currentpagestyle@reset{%
- \ifdefvoid{\tud@currentpagestyle}{}{%
- \expandafter\pagestyle\expandafter{\tud@currentpagestyle}%
- \let\tud@currentpagestyle\relax%
+ \ifdefvoid{\tud@currentpagestyle@value}{}{%
+ \expandafter\pagestyle\expandafter{\tud@currentpagestyle@value}%
+ \let\tud@currentpagestyle@value\relax%
}%
}
\NewEnviron{tudpage}[1][]{%
\tud@currentpagestyle@set%
\clearpage%
- \def\tud@ps{tudheadings}%
+ \def\tud@envir@ps{tudheadings}%
\TUD@parameter@set{tudpage}{#1}%
- \tud@ps@select%
- \tud@multicols@check%
- \ifnum\tud@multicols>\@ne\relax%
- \begin{multicols}{\tud@multicols}%
+ \tud@envir@selectps%
+ \tud@x@multicol@check%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \begin{multicols}{\tud@x@multicol@num}%
\fi%
\BODY%
- \ifnum\tud@multicols>\@ne\relax%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
\end{multicols}%
\fi%
}[%
\aftergroup\tud@currentpagestyle@reset%
\clearpage%
]
-\newcommand*\TUD@parameter@define@ps[1]{%
- \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
- \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}%
- \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
- \TUD@parameter@define{headlogo}{\headlogo{#1}}%
- \TUD@parameter@define{footlogo}{\footlogo{#1}}%
- \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}%
- \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}%
- \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
- \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
- \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
- \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}%
- \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}%
- \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
- \TUD@parameter@let{logo}{headlogo}%
-}
-\TUD@parameter{tudpage}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{%
- \tud@iftudps{#1}{\renewcommand*\tud@ps{#1}}{%
- \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{%
- \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{%
- \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{%
+\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{pagestyle}{%
+ \tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{%
+ \ifstr{#1}{empty}{\renewcommand*\tud@envir@ps{empty.tudheadings}}{%
+ \ifstr{#1}{plain}{\renewcommand*\tud@envir@ps{plain.tudheadings}}{%
+ \ifstr{#1}{headings}{\renewcommand*\tud@envir@ps{tudheadings}}{%
\TUD@parameter@error{pagestyle}{%
headings, plain, empty or any tudheadings page style type%
}%
}}}%
}%
}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@default{}%
}
%%% 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%
+ }%
+ }%
+ \KOMAoptionOf[\def\@tempb]{\KOMAClassFileName}{headings}%
+ \@for\@tempc:=\@tempb\do{%
+ \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}}{}}}}%
+ }%
+}
+\AtEndPreamble{\tud@x@scr@headings@set}
+\newcommand*\tud@x@scr@headings@reset{%
+ \tud@layout@process%
+ \tud@x@scr@headings@set[%
+ \ifcase\tud@layout@part@num\relax\else% !false
+ \tud@font@koma@reset{part}%
+ \tud@font@koma@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}%
+ \fi%
+ ]%
+}
+\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
-\newlength\pageheadingsvskip
-\newlength\headingsvskip
+\newcommand*\tud@section@fontcolor{}
+\providecommand*\raggedtitle{\tud@raggedright}
\newcommand*\tud@layout@process{%
- \ifcase\tud@layout@cover\relax% false
- \bool@std@lock{@tud@cover@cdgeometry}{false}%
+ \ifcase\tud@layout@cover@num\relax% false
+ \bool@std@lock{@tud@cdgeometry@cover}{false}%
\else% !false
- \bool@std@lock{@tud@cover@cdgeometry}{true}%
+ \bool@std@lock{@tud@cdgeometry@cover}{true}%
\fi%
- \ifcase\tud@layout@title\relax% false
- \tud@cmd@restore{maketitle}%
- \tud@cmd@restore{@maketitle}%
+ \ifcase\tud@layout@title@num\relax% false
\tud@cmd@restore{titlepagestyle}%
\tud@font@koma@unset{titlehead}%
\tud@font@koma@unset{title}%
@@ -3502,34 +4741,36 @@
\tud@font@koma@unset{date}%
\tud@font@koma@unset{publishers}%
\else% !false
- \tud@cmd@store{maketitle}%
- \tud@cmd@store{@maketitle}%
\tud@cmd@store{titlepagestyle}%
+ \renewcommand*\titlepagestyle{plain.tudheadings}%
\tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
\tud@font@koma@set{title}{%
+ \raggedtitle%
\usekomafont{disposition}%
- \tud@font@heading%
- \tud@font@heading@size%
+ \tud@sec@fontface%
+ \tud@sec@fontsize%
\tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subtitle}{%
- \tud@font@heading%
+ \raggedtitle%
+ \ifstr{\mddefault}{l}{%
+ \tud@sec@fontface[\fontseries{m}]%
+ }{%
+ \tud@sec@fontface[\fontseries{bx}]%
+ }%
\usesizeofkomafont{section}%
\tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subject}{%
- \fontfamily{\sfdefault}%
- \fontseries{\bfdefault}%
- \selectfont%
+ \sffamily%
+ \bfseries%
\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}}%
- \let\maketitle\tud@maketitle%
- \renewcommand*\titlepagestyle{plain.tudheadings}%
\fi%
- \ifcase\tud@layout@part\relax% false
+ \ifcase\tud@layout@part@num\relax% false
\tud@cmd@restore{partheadstartvskip}%
\ifcsdef{scr@v@3.18}{%
\tud@cmd@restore{scr@@startpart}%
@@ -3538,38 +4779,65 @@
}%
\tud@sectioning@reset[addpart]{part}%
\tud@font@koma@unset{partnumber}%
+ \tud@cmd@restore{raggedpart}%
\else% !false
\tud@cmd@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@sectioning@set[addpart]{part}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
}%
\tud@font@koma@set{partnumber}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
}%
- \let\partheadstartvskip\tud@partheadstartvskip%
- \ifcsdef{scr@v@3.18}{%
- \let\scr@@startpart\tud@@startpart%
- }{%
- \let\@part\tud@@part%
- }%
+ \tud@cmd@store{raggedpart}%
+ \renewcommand*\raggedpart{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@part\relax% false
+ \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}%
\else% !false
- \tud@sectioning@set[addsec]{section}{\tud@font@heading}%
- \tud@sectioning@set{subsection}{\tud@font@heading}%
- \tud@sectioning@set{subsubsection}{\tud@font@heading}%
- \tud@sectioning@set{minisec}{\tud@font@heading}%
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@layout@section@num\relax\or\else% *color
+ \renewcommand*\tud@section@fontcolor{HKS41}%
+ \fi%
+ \tud@sectioning@set[addsec]{section}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsubsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{minisec}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{paragraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subparagraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@cmd@store{raggedsection}%
+ \renewcommand*\raggedsection{\tud@raggedright}%
\fi%
}
\newcommand*\tud@layout@specialpage@set[1]{%
@@ -3584,29 +4852,35 @@
\let\footnoterule\relax%
}
\newcommand*\tud@partheadstartvskip{}
-\let\tud@partheadstartvskip\partheadstartvskip%
+\let\tud@partheadstartvskip\partheadstartvskip
\pretocmd{\tud@partheadstartvskip}{%
- \def\tud@part@fontcolor{}% false/true
- \ifcase\tud@layout@part\relax\or\else% *color
- \def\tud@part@fontcolor{HKS41}%
+ \renewcommand*\tud@part@fontcolor{}% false/true
+ \ifcase\tud@layout@part@num\relax\or\else% *color
+ \renewcommand*\tud@part@fontcolor{HKS41}%
\fi%
}{}{\tud@patch@wrn{tud@partheadstartvskip}}
-\@tempswafalse
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
\if@tempswa
\newcommand*\tud@@startpart{}%
\let\tud@@startpart\scr@@startpart%
- \patchcmd{\tud@@startpart}%
- {\usekomafont{#1prefix}{\@nameuse{#1format}}}%
- {\usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}}%
- {}{\tud@patch@wrn{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}}%
+ \fi%
\else
\newcommand*\tud@@part{}%
- \let\tud@@part\@part
- \patchcmd{\tud@@part}%
- {\size@partnumber{\partformat}}%
- {\size@partnumber{\tud@makeuppercase{\partformat}}}%
- {}{\tud@patch@wrn{@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{}
@@ -3665,7 +4939,7 @@
\ifblank{#1}{}{\tud@cmd@restore{#1}}%
\tud@font@koma@unset{#2}%
}
-\robustify{\footnote}%
+\robustify{\footnote}
\newcommand*\tud@sectioning@uppercase[1]{%
\begingroup%
\if@tud@symbolheadings%
@@ -3675,419 +4949,148 @@
\tud@makeuppercase{#1}%
\endgroup%
}
-%%% From File: tudscr-frontmatter.dtx
-\newcommand*\tud@fm@check[2]{%
- \global\let\tud@fm@set\tud@fm@first%
- \ifnumless{\@nameuse{tud@#1@level}}{3}{% false/true/section
- \ifboolexpr{%
- bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
- }{%
- \sbox\z@{\vbox{#2}}%
- \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
- \ClassWarning{\TUDClassName}{%
- The given content within the `#1'\MessageBreak%
- environment is too large, so it wasn't possible\MessageBreak%
- to center the body vertically. Setting the option\MessageBreak%
- `#1=nofill' would be a solution. You\MessageBreak%
- could also use multiple `#1' environments%
- }%
- \boolfalse{@tud@#1@fil}%
- \fi%
- }{}%
- }{% chapter
- }%
- \ifnum\@nameuse{tud@#1@toc}>\tw@\relax%
- \tud@fm@toc{#1}{#2}%
- \fi%
- \global\let\tud@fm@set\tud@fm@first%
- #2%
-}
-\newcommand*\tud@fm@@toc{}
-\newcommand*\tud@fm@@@toc{}
-\newcommand*\tud@fm@toc[2]{%
- \ifbool{@tud@#1@multi}{%
- \begingroup%
- \let\tud@fm@@@toc\@empty%
- \renewcommand*\tud@fm@head[2]{%
- \protected@edef\@tempa{##2}%
- \protected@xdef\tud@fm@@toc{\tud@fm@@@toc\@tempa}%
- \protected@xdef\tud@fm@@@toc{\tud@fm@@toc/}%
- }%
- \let\clearpage\relax%
- \sbox\z@{\vbox{#2}}%
- \protected@edef\@tempa{%
- \noexpand\endgroup%
- \noexpand\ifnumodd{\csname tud@#1@toc\endcsname}{%
- \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
- }{%
- \noexpand\addsubsectiontocentry{}{\tud@fm@@toc}%
- }%
- }%
- \@tempa%
- }{%
- \ClassWarning{\TUDClassName}{%
- It isn't possible to use `#1=single'\MessageBreak%
- with `#1=tocmultiple'%
- }%
- \edef\@tempa{%
- \noexpand\cs@set@lock{tud@#1@toc}{%
- \the\numexpr\@nameuse{tud@#1@toc}-2\relax%
- }%
- }%
- \@tempa%
- }%
-}
-\newcommand\tud@fm@set[1]{}
-\newcommand\tud@fm@first[1]{%
- \global\let\tud@fm@set\tud@fm@next%
- \if@twocolumn\else%
- \if@titlepage%
- \ifbool{@tud@#1@fil}{%
- \null\vfil%
- \ifnum\@nameuse{tud@#1@level}=\tw@\relax% section
- \vspace{\dimexpr-\parskip-\baselineskip\relax}%
- {\usekomafont{section}{\vspace{-\baselineskip}}}%
- \fi%
- }{}%
- \fi%
- \fi%
+%%% From File: tudscr-title.dtx
+\newkomafont{thesis}{%
+ \usekomafont{title}%
+ \tud@thesis@fontsize%
}
-\newcommand\tud@fm@next[1]{%
- \if@twocolumn%
- \ifbool{@tud@#1@multi}{\par}{\newpage}%
- \else%
- \if@titlepage%
- \ifbool{@tud@#1@multi}{%
- \ifbool{@tud@#1@fil}{\vfil}{}%
- }{%
- \ifbool{@tud@#1@fil}{\null\clearpage\null\vfil}{\clearpage}%
- }%
- \else%
- \ifnum\@nameuse{tud@#1@level}=\z@%
- \ifdef{\main@language}{\vspace*{-\baselineskip}}{}%
- \fi%
- \fi%
- \fi%
+\newkomafont{titlepage}{%
+ \usekomafont{subject}%
+ \mdseries%
+ \large%
}
-\newcommand*\tud@fm@body@start[3]{%
+\robustify{\thanks}
+\robustify{\footnotemark}
+\newcommand*\tud@title@uppercase[1]{%
+ \let\@tempa\relax%
\begingroup%
- \TUD@parameter@set{#1}{#2}%
- \tud@fm@set{#1}%
- \if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\begin{\tud@quoting}\fi% false/true
- \fi\fi%
- \ifnum\tud@multicols>\@ne\relax%
- \setlength\multicolsep{\z@}%
- \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#3}}]%
- \else%
- \tud@fm@head{#1}{#3}%
- \fi%
-}
-\newcommand*\tud@fm@body@end[1]{%
- \ifnum\tud@multicols>\@ne\relax%
- \end{multicols}%
- \else%
- \par%
- \fi%
- \if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\end{\tud@quoting}\par\fi% false/true
- \fi\fi%
+ \let\\\newline%
+ \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\footnote\thanks%
+ \sbox\z@{#1}%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \tud@makeuppercase{#1}%
\endgroup%
+ \ifx\@tempa\relax\else\thanks\@tempa\fi%
}
-\newcommand*\tud@fm@head[2]{%
- \ifcase\@nameuse{tud@#1@level}\relax% false
- \if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
- \ifstr{\@currenvir}{\tud@quoting}{}{%
- \if@twocolumn%
- \vskip\dimexpr\smallskipamount-\parskip\relax%
+\newcommand*\tud@title@delimiter{:\nobreakspace}
+\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}}
+\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}}%
+ \if@tud@cover\else%
+ \ifx\@authormore\@empty\else%
+ \tud@newline@title%
+ \@authormore%
+ \fi%
+ \ifx\@dateofbirth\@empty\else%
+ \if@titlepage%
+ \tud@newline@title%
+ \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}%
+ \@dateofbirth%
+ \ifx\@placeofbirth\@empty\else%
+ \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
+ \fi%
\else%
- \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \tud@title@wrn{dateofbirth}%
\fi%
- }%
- \or% true
- \if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
- \@afterindentfalse%
- \ifstr{\@currenvir}{\tud@quoting}{}{%
- \vskip\dimexpr\bigskipamount-\parskip\relax%
- }%
- \begingroup%
- \noindent\centering%
- \normalfont\sectfont\nobreak#2%
- \@endparpenalty\@M%
- \endgraf%
- \endgroup%
- \nopagebreak%
- \vskip\dimexpr\medskipamount-\parskip\relax%
- \@afterheading%
- \or% section
- \section*{#2}%
- \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
- \fi%
- \ifbool{@tud@#1@markboth}{%
- \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
- }{}%
- \ifnum\@nameuse{tud@#1@toc}>\z@\relax%
- \ifnum\@nameuse{tud@#1@toc}<\thr@@\relax%
- \ifnumodd{\csname tud@#1@toc\endcsname}{%
- \addsectiontocentry{}{#2}%
- }{%
- \addsubsectiontocentry{}{#2}%
- }%
\fi%
- \fi%
-}
-\newcommand*\tud@fm@pagestyle[2]{%
- \if@titlepage%
- \ifcsdef{ps@#2}{\def\tud@ps{#2}}{%
- \ClassError{\TUDClassName}{`#2' is no valid pagestyle}{%
- You tried to use `#2' as a pagestyle for the\MessageBreak%
- `#1' environment, but it was never defined.%
+ \def\@tempc##1{%
+ \ifstr{\csuse{@##1}}{}{}{%
+ \if@titlepage%
+ \tud@newline@title%
+ \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}%
+ \csuse{@##1}%
+ \else%
+ \tud@title@wrn{##1}%
+ \fi%
}%
}%
- \else%
- \ClassWarning{\TUDClassName}{%
- The key `pagestyle' can only be used with\MessageBreak%
- activated option `titlepage'%
- }%
- \fi%
-}
-\newcommand*\tud@quoting{quotation}
-\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
-\csundef{abstract}
-\csundef{endabstract}
-\NewEnviron{abstract}[1][]{%
- \ifnum\@nameuse{tud@abstract@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
- \TUD@parameter@set{abstract}{#1}%
- \tud@multicols@check%
- \if@titlepage%
- \tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
- \clearpage%
- \tud@ps@select%
- \fi%
- \renewcommand*\nextabstract[1][]{%
- \tud@fm@body@end{abstract}%
- \tud@fm@body@start{abstract}{##1}{\abstractname}%
- }%
- \tud@fm@check{abstract}{%
- \tud@fm@body@start{abstract}{#1}{\abstractname}%
- \BODY%
- \tud@fm@body@end{abstract}%
- }%
-}[%
- \if@titlepage%
- \if@tud@abstract@fil\vfil\null\fi%
- \aftergroup\tud@currentpagestyle@reset%
- \clearpage%
- \fi%
-]
-\TUD@parameter{abstract}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
- \TUD@parameter@define{markboth}[true]{%
- \ifstrbool{#1}{%
- \@tud@abstract@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- }{%
- \@tud@abstract@markbothfalse%
- }{%
- \@tud@abstract@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- \manualmark\markboth{#1}{#1}%
- }%
- }%
- \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}%
- \TUD@parameter@let{option}{abstract}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}%
-}
-\newcommand*\nextabstract[1][]{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextabstract'}{%
- The command `\string\nextabstract' can only be used within\MessageBreak%
- the environment `abstract'.%
- }%
-}
-\newif\if@tud@declarations
-\NewEnviron{declarations}[1][]{%
- \@tud@declarationstrue%
- \ifnum\@nameuse{tud@declaration@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
- \TUD@parameter@set{declaration}{#1}%
- \tud@multicols@check%
- \if@titlepage%
- \tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
- \clearpage%
- \tud@ps@select%
- \fi%
- \tud@fm@check{declaration}{\BODY}%
-}[%
- \if@titlepage%
- \if@tud@declaration@fil\vfil\null\fi%
- \aftergroup\tud@currentpagestyle@reset%
- \clearpage%
+ \@tempc{course}%
+ \@tempc{discipline}%
+ \@tempc{matriculationnumber}%
+ \@tempc{matriculationyear}%
\fi%
-]
-\TUD@parameter{declaration}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
- \TUD@parameter@define{markboth}[true]{%
- \ifstrbool{#1}{%
- \@tud@declaration@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- }{%
- \@tud@declaration@markbothfalse%
- }{%
- \@tud@declaration@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- \manualmark\markboth{#1}{#1}%
- }%
- }%
- \TUD@parameter@define{company}{\def\@company{#1}}%
- \TUD@parameter@define{supporter}{\def\@supporter{#1}}%
- \TUD@parameter@define{place}{\def\@place{#1}}%
- \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}%
- \TUD@parameter@let{confirmationclosing}{closing}%
- \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}%
- \TUD@parameter@let{option}{declaration}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}%
-}
-\newcommand*\declaration[1][]{%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@confirmation[#1]%
- \tud@fm@blocking[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
- \tud@fm@blocking%
- \end{declarations}%
- }%
-}
-\newcommand*\nextdeclaration[3][]{%
- \ifbool{@tud@declarations}{%
- \tud@fm@body@start{declaration}{#1}{#2}
- #3%
- \tud@fm@body@end{declaration}%
- }{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextdeclaration'}{%
- The command `\string\nextdeclaration' can only be used\MessageBreak%
- within the environment `declarations'.%
- }%
- }%
-}
-\newcommand*\confirmation[1][]{%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{supporter=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@confirmation[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
- \end{declarations}%
- }%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
- }%
-}
-\newcommand*\tud@fm@confirmation[1][]{%
- \tud@fm@body@start{declaration}{#1}{\confirmationname}%
- \confirmationtext\vskip\z@\@confirmationclosing%
- \tud@fm@body@end{declaration}%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{#2}{\vskip 2ex}%
}
-\newcommand*\blocking[1][]{%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{company=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@blocking[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@blocking%
- \end{declarations}%
- }%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
+\newcommand*\tud@title@wrn[1]{%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\@backslashchar#1' has to be used with\MessageBreak%
+ activated titlepage option%
}%
}
-\newcommand*\tud@fm@blocking[1][]{%
- \tud@fm@body@start{declaration}{#1}{\blockingname}%
- \blockingtext%
- \tud@fm@body@end{declaration}%
-}
-%%% From File: tudscr-title.dtx
-\newkomafont{thesis}{\usekomafont{title}\LARGE}
-\newkomafont{titlepage}{%
- \usekomafont{subject}%
- \fontseries{\mddefault}%
- \selectfont%
- \large%
+\newcommand*\tud@thesis@tosubject{%
+ \if@tud@subjectthesis\ifx\@thesis\@empty\else%
+ \ifx\@subject\@empty\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ The option `subjectthesis' was activated, so\MessageBreak%
+ the field `subject' will be overwritten with the\MessageBreak%
+ given thesis%
+ }%
+ \fi%
+ \let\@subject\@thesis%
+ \fi\fi%
}
-\newcommand*\tud@title@fontcolor{}
-\newcommand*\tud@titlepagenumber{}%
-\let\tud@titlepagenumber\relax%
+\newcommand*\tud@title@pagenumber{}
+\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
\begingroup%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title\relax% false
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \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]%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
+ }{}%
\else% !false
\if@titlepage%
- \tud@maketitlepage%
+ \tud@make@titlepage%
\else%
- \def\tud@title@fontcolor{}%
- \ifcase\tud@layout@title\relax\or\else% *color
- \def\tud@title@fontcolor{HKS41}%
- \fi%
- \let\@maketitle\tud@@maketitle%
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \if@twocolumn%
- \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}%
- \else%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
- \fi%
+ \tud@make@titlehead%
\fi%
\fi%
\endgroup%
+ \setcounter{footnote}{0}%
+ \global\let\and\relax%
}
-\TUD@parameter{title}{%
- \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+\patchcmd{\titlepage}{\thispagestyle{empty}}{%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \thispagestyle{empty.tudheadings}%
+ }{%
+ \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@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}%
-}%
-\robustify{\thanks}%
-\robustify{\footnotemark}%
-\newcommand*\tud@titleback{}%
-\newcommand*\tud@maketitlepage{%
- \def\tud@title@fontcolor{}%
- \ifcase\tud@layout@title\relax\or\or% litecolor
- \def\tud@title@fontcolor{HKS41}%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\newcommand*\tud@titleback{}
+\newcommand*\tud@make@titlepage{%
+ \renewcommand*\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title@num\relax\or\or% litecolor
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% barcolor
- \def\tud@title@fontcolor{HKS41}%
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% bicolor
- \def\tud@title@fontcolor{HKS41}%
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% color
- \def\tud@title@fontcolor{HKS41!30}%
+ \renewcommand*\tud@title@fontcolor{HKS41!30}%
\or% full
- \def\tud@title@fontcolor{HKS41!30}%
+ \renewcommand*\tud@title@fontcolor{HKS41!30}%
\fi%
\begin{titlepage}%
\tud@layout@specialpage@set{title}%
- \ifx\tud@titlepagenumber\relax\else%
- \setcounter{page}{\tud@titlepagenumber}%
+ \ifx\tud@title@pagenumber\relax\else%
+ \setcounter{page}{\tud@title@pagenumber}%
\fi%
\if@tud@cover\else%
\let\footnotesize\small%
@@ -4096,10 +5099,10 @@
\renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
\let\@oldmakefnmark\@makefnmark%
\renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
- \tud@footnote@unhyper%
+ \tud@x@hyperref@realfootnotes%
\ifx\@extratitle\@empty%
\if@titlepageiscoverpage%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Using option `titlepage=firstiscover' is only\MessageBreak%
possible with an extra title. Alternatively you can\MessageBreak%
create a cover with `\string\makecover'%
@@ -4119,9 +5122,9 @@
\topmargin=\dimexpr\coverpagetopmargin-1in\relax%
\oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
\evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
-\coverpagerightmargin\relax%
- \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
-\coverpagebottommargin\relax%
\headheight=0pt%
\headsep=0pt%
@@ -4138,20 +5141,11 @@
\noindent\@extratitle\next@tdpage%
\fi%
\fi%
- \if@tud@bookmarks%
- \if@tud@cover%
- \tudbookmark[1]{\coverpagename}{cover}%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \else%
- \tudbookmark[1]{\titlepagename}{title}%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \fi%
- \fi%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\pageheadingsvskip}%
+ \TUD@len@deprecated{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\begingroup%
\usekomafont{titlepage}%
@@ -4164,7 +5158,7 @@
}}%
\addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
- \tud@letsubjectthesis%
+ \tud@thesis@tosubject%
\ifx\@subject\@empty\else%
\sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
\addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
@@ -4173,20 +5167,20 @@
\ifx\@titlehead\@empty\else\usebox\z@\par\fi%
\ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
{\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\fi%
+ \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
- \let\tud@split@author\tud@split@author@title%
+ \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%
\ifx\@date\@empty\else%
\vskip 2ex\@plus.1fill%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ {\usekomafont{date}{\tud@date@print\par}}%
\fi%
\fi%
\vskip 2ex\@plus.25fill%
@@ -4200,7 +5194,7 @@
\ifx\@graduation\@empty\else%
\def\@tempc{%
\@graduation%
- \ifx\@graduationabbr\@empty\else\nobreakspace\@graduationabbr\fi%
+ \ifx\@@graduation\@empty\else\nobreakspace\@@graduation\fi%
}%
{\usekomafont{titlepage}{\graduationtext\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
@@ -4215,18 +5209,20 @@
\vskip 2ex\@plus.5fill%
\fi%
\if@tud@cover\else%
- \tud@title@names{supervisor}%
\tud@title@names{referee}%
\tud@title@names{advisor}%
+ \tud@title@names{supervisor}%
\tud@title@names{professor}%
\ifx\@thesis\@empty\else%
- \tud@datecheck%
+ \tud@date@check%
\ifx\@date\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
- \ifstr{\datetext}{}{}{\datetext\@titledelim}%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ \ifxblank{\datetext}{}{\datetext\tud@title@delimiter}%
+ {\usekomafont{date}{\tud@date@print\par}}%
\ifx\@defensedate\@empty\else%
- \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}%
+ \ifxblank{\defensedatetext}{}{%
+ \defensedatetext\tud@title@delimiter%
+ }%
{\usekomafont{date}{\@defensedate\par}}%
\fi%
\fi%
@@ -4259,27 +5255,27 @@
\fi%
\fi%
\def\@tempa{%
- \def\tud@pagecolor{}%
- \ifcase\tud@layout@title\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \renewcommand*\tud@pagecolor{}%
+ \ifcase\tud@layout@title@num\relax\or% true
+ \cs@std@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{1}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% full
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{3}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
\tud@color{\tud@title@fontcolor}%
\addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
\addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\thispagestyle{empty.tudheadings}%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage}{}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
}%
\if@tud@cover%
\begingroup%
@@ -4304,22 +5300,6 @@
\fi%
\fi%
\end{titlepage}%
- \if@tud@cover\else%
- \setcounter{footnote}{0}%
- \global\let\and\relax%
- \fi%
-}
-\newcommand*\tud@title@uppercase[1]{%
- \let\@tempa\relax%
- \begingroup%
- \def\thanks##1{\gdef\@tempa{##1}}%
- \let\footnote\thanks%
- \sbox\z@{#1}%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \tud@makeuppercase{#1}%
- \endgroup%
- \ifx\@tempa\relax\else\thanks\@tempa\fi%
}
\newcommand*\tud@title@names[1]{%
\letcs\@tempa{@#1}%
@@ -4327,28 +5307,65 @@
\def\and{%
\ifcsvoid{#1othername}{\par}{%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}%
+ {\usekomafont{titlepage}{\csuse{#1othername}\par}}%
}%
\let\and\par%
}%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{titlepage}{\@nameuse{#1name}\par}}%
- {\usekomafont{author}{\@nameuse{@#1}\par}}%
+ {\usekomafont{titlepage}{\csuse{#1name}\par}}%
+ {\usekomafont{author}{\csuse{@#1}\par}}%
+ \fi%
+}
+\newcommand*\tud@make@titlehead{%
+ \renewcommand*\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
+ \fi%
+ \par%
+ \ifx\tud@title@pagenumber\relax\else%
+ \ifnum\tud@title@pagenumber=\@ne\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ Optional argument of \string\maketitle\space ignored\MessageBreak%
+ at notitlepage-mode%
+ }%
+ \fi%
\fi%
+ \begingroup%
+ \let\titlepage@restore\relax%
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \let\@oldmakefnmark\@makefnmark%
+ \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
+ \next@tdpage%
+ \@tempswafalse%
+ \if@twocolumn\ifnum\col@number>\@ne\relax%
+ \@tempswatrue%
+ \fi\fi%
+ \if@tempswa%
+ \ifx\@extratitle\@empty\else%
+ \twocolumn[\@makeextratitle]\next@tdpage%
+ \fi%
+ \twocolumn[\tud@make@@titlehead]%
+ \else%
+ \ifx\@extratitle\@empty\else%
+ \@makeextratitle\next@tdpage%
+ \fi%
+ \tud@make@@titlehead%
+ \fi%
+ \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
+ \@thanks%
+ \endgroup%
}
-\newcommand*\@titledelim{:\nobreakspace}
-\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}}
-\newcommand*\tud@@maketitle{%
+\newcommand*\tud@make@@titlehead{%
\global\@topnum=\z@%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\headingsvskip}%
+ \TUD@len@deprecated{headingsvskip}%
+ \vspace*{\tud@dim@headingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\begingroup%
\usekomafont{titlepage}%
- \tud@footnote@unhyper%
+ \tud@x@hyperref@realfootnotes%
\setlength\@tempdima{\z@}%
\ifx\@titlehead\@empty\else%
\sbox\z@{\vbox{%
@@ -4359,7 +5376,7 @@
\addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
\TUDoptions{subjectthesis=true}%
- \tud@letsubjectthesis%
+ \tud@thesis@tosubject%
\ifx\@subject\@empty\else%
\sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
\addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
@@ -4368,16 +5385,18 @@
\ifx\@titlehead\@empty\else\usebox\z@\par\fi%
\ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
{\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\fi%
+ \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
- \let\tud@split@author\tud@split@author@title%
+ \let\tud@split@author@do\tud@split@author@title%
\tud@multiple@split{@author}\par%
- \vskip 2ex\@plus1ex\@minus1ex%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ \ifx\@date\@empty\else%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ {\usekomafont{date}{\tud@date@print\par}}%
+ \fi%
\ifx\@publishers\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
{\usekomafont{publishers}{\@publishers\par}}%
@@ -4387,138 +5406,80 @@
{\centering\usekomafont{dedication}{\@dedication\par}}%
\fi%
\ifx\@graduation\@empty\else\tud@title@wrn{graduation}\fi%
- \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
\ifx\@referee\@empty\else\tud@title@wrn{referee}\fi%
+ \ifx\@advisor\@empty\else\tud@title@wrn{advisor}\fi%
+ \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
\ifx\@professor\@empty\else\tud@title@wrn{professor}\fi%
\vskip 2\bigskipamount%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
-}
-\newcommand*\tud@newline{}
-\newcommand*\tud@split@author@title[2]{%
- \tud@multiple@fields@store{@author}{#1}%
- \def\tud@newline{\vskip .5ex\let\tud@newline\newline}%
- {\usekomafont{author}{\ignorespaces#1}}%
- \if@tud@cover\else%
- \ifx\@authormore\@empty\else%
- \tud@newline%
- \@authormore%
- \fi%
- \ifx\@dateofbirth\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\dateofbirthtext}{}%
- {}{\dateofbirthtext\@titledelim}\@dateofbirth%
- \ifx\@placeofbirth\@empty\else%
- \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
- \fi%
- \else%
- \tud@title@wrn{dateofbirth}%
- \fi%
- \fi%
- \ifx\@matriculationnumber\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\matriculationnumbername}{}%
- {}{\matriculationnumbername\@titledelim}%
- \@matriculationnumber%
- \else%
- \tud@title@wrn{matriculationnumber}%
- \fi%
- \fi%
- \ifx\@matriculationyear\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\matriculationyearname}{}%
- {}{\matriculationyearname\@titledelim}%
- \@matriculationyear%
- \else%
- \tud@title@wrn{matriculationyear}%
- \fi%
+ \ifnum\col@number>\@ne\relax%
+ \ifdefvoid{\multicolsep}{}{%
+ \ifisskip{\multicolsep}{\vspace{-\multicolsep}}{}%
+ }%
\fi%
- \fi%
- \tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{#2}{\vskip 2ex}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
+ \endgroup%
}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
\if@titlepage%
- \maketitle[#1]%
+ \tud@maketitle[#1]%
\onecolumn{#2}\twocolumn%
\else%
- \tud@title@twocolumn{\maketitle[#1]{#2}}%
+ \tud@title@twocolumn{\tud@maketitle[#1]{#2}}%
\fi%
\else%
- \ClassError{\TUDClassName}{%
+ \ClassError{\TUD@Class@Name}{%
`\string\maketitleonecolumn' can only be used in twocolumn mode%
}{}%
\fi%
}
-\newsavebox\tud@title@twocolumn@box
+\newsavebox\tud@title@box
\newcommand\tud@title@twocolumn[1]{%
\onecolumn%
\begingroup%
\let\clearpage\relax%
\let\newpage\relax%
- \global\setbox\tud@title@twocolumn@box\vbox{%
+ \global\setbox\tud@title@box\vbox{%
\vspace*{.9\baselineskip}#1\bigskip%
}%
\endgroup%
\setlength\@tempdima{\textheight}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\tud@ddc@check%
- \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
- \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \setlength\@tempdima{\dimexpr\textheight-\tud@len@ddcdiff\relax}%
\@tempswatrue%
\fi%
}{}%
- \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax%
- \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{%
+ \ifdim\ht\tud@title@box>\@tempdima\relax%
+ \@whiledim\ht\tud@title@box>\@tempdima\do{%
\splittopskip\topskip%
\splitmaxdepth\maxdepth%
- \vsplit\tud@title@twocolumn@box to \@tempdima%
+ \vsplit\tud@title@box to \@tempdima%
\clearpage%
\setlength\@tempdima{\textheight}%
- \tud@ifverlower{2.03}{\@tempswafalse}{}%
+ \tud@if@v@lower{2.03}{\@tempswafalse}{}%
}%
\else%
- \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}%
+ \setbox\tud@title@box\vbox{#1\bigskip}%
\fi%
- \twocolumn[\unvbox\tud@title@twocolumn@box]%
- \tud@ifverlower{2.03}{%
+ \twocolumn[\unvbox\tud@title@box]%
+ \tud@if@v@lower{2.03}{%
\if@tempswa%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
You are using a two-column title along with\MessageBreak%
the DDC-logo. Unfortunately in this case, the\MessageBreak%
type area has to be adjusted manually. Please\MessageBreak%
- use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak%
+ use `\string\enlargethispage{-\the\tud@len@ddcdiff}'\MessageBreak%
in both columns after the title%
}%
\fi%
}{}%
}
-\newcommand*\tud@letsubjectthesis{%
- \if@tud@subjectthesis\ifx\@thesis\@empty\else%
- \ifx\@subject\@empty\else%
- \ClassWarning{\TUDClassName}{%
- The option `subjectthesis' was activated.\MessageBreak%
- The field `subject' will be overwritten with the\MessageBreak%
- given thesis%
- }%
- \fi%
- \let\@subject\@thesis%
- \fi\fi%
-}
-\newcommand*\tud@title@wrn[1]{%
- \ClassWarning{\TUDClassName}{%
- `\@backslashchar#1' has to be used with\MessageBreak%
- activated titlepage option%
- }%
-}
\newif\if@tud@cover
\newcommand*\makecover[1][]{%
\if@titlepageiscoverpage%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Using both option `titlepage=firstiscover' and\MessageBreak%
`\string\makecover' together isn't supported. The\MessageBreak%
option `titlepage=firstiscover' will be ignored. If you\MessageBreak%
@@ -4533,26 +5494,26 @@
\let\thanks\@gobble%
\let\footnote\@gobble%
\TUD@parameter@set{cover}{#1}%
- \let\tud@layout@title\tud@layout@cover%
+ \let\tud@layout@title@num\tud@layout@cover@num%
\tud@layout@process%
- \if@tud@cover@cdgeometry%
- \let\coverpagetopmargin\tud@dim@slimmargin%
- \let\coverpagebottommargin\tud@dim@widemargin%
- \let\coverpageleftmargin\tud@dim@widemargin%
- \let\coverpagerightmargin\tud@dim@slimmargin%
- \tud@ifverlower{2.03}{%
- \def\coverpagetopmargin{.5\tud@dim@both}%
- \def\coverpagebottommargin{.5\tud@dim@both}%
+ \if@tud@cdgeometry@cover%
+ \let\coverpagetopmargin\tud@len@slimmargin%
+ \let\coverpagebottommargin\tud@len@widemargin%
+ \let\coverpageleftmargin\tud@len@widemargin%
+ \let\coverpagerightmargin\tud@len@slimmargin%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagetopmargin{.5\tud@len@both}%
+ \def\coverpagebottommargin{.5\tud@len@both}%
}{}%
\fi%
- \ifcase\tud@layout@cover\relax% false
+ \ifcase\tud@layout@cover@num\relax% false
\KOMAoptions{titlepage=firstiscover}%
\let\@extratitle\@empty%
\let\@uppertitleback\@empty%
\let\@lowertitleback\@empty%
\let\@dedication\@empty%
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
+ \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
\else% !false
\@tud@covertrue%
\@titlepagetrue%
@@ -4566,32 +5527,32 @@
\begingroup%
\oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
\evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
-\coverpagerightmargin\relax%
\headheight=0pt%
\headsep=0pt%
- \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax%
- \tud@ifverlower{2.03}{%
- \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ \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@cover@cdgeometry%
+ \if@tud@cdgeometry@cover%
\def\coverpagetopmargin{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax%
}%
\else%
- \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep-1in\relax%
+ \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@dim@widemargin%
- \tud@ifverlower{2.03}{%
- \def\coverpagebottommargin{.5\tud@dim@both}%
+ \let\coverpagebottommargin\tud@len@widemargin%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagebottommargin{.5\tud@len@both}%
}{}%
\fi%
\fi%
- \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
-\coverpagebottommargin-\tud@dim@extrabottommargin\relax%
\topmargin=\dimexpr\coverpagetopmargin-1in\relax%
\@colht=\textheight%
@@ -4600,72 +5561,527 @@
\columnwidth=\textwidth%
\hsize=\columnwidth%
\linewidth=\hsize%
- \tud@dim@headdiff=\z@%
- \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}%
+ \tud@len@areavskip=\z@%
+ \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
\tud@maketitle%
\clearpage%
- \csname titlepage@restore\endcsname%
+ \titlepage@restore%
\fi%
\endgroup%
}
-\bool@lock{@tud@cover@cdgeometry}
-\TUD@parameter{cover}{%
- \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}%
+\bool@lock{@tud@cdgeometry@cover}
+\TUD@parameter@family{cover}{%
+ \TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
\TUD@parameter@let{cd}{cdcover}%
- \TUD@parameter@define{cdgeometry}[true]{%
+ \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}%
+ }%
+ }%
+ }%
+ }%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+%%% From File: tudscr-frontmatter.dtx
+\newcommand*\tud@fm@check[2]{%
+ \global\let\tud@fm@set\tud@fm@first%
+ \ifnumless{\csuse{tud@#1@level@num}}{3}{% false/true/section
+ \ifboolexpr{%
+ bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
+ }{%
+ \sbox\z@{\vbox{#2}}%
+ \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ The given content within the `#1'\MessageBreak%
+ environment is too large, so it wasn't possible\MessageBreak%
+ to center the body vertically. Setting the option\MessageBreak%
+ `#1=nofill' would be a solution. You\MessageBreak%
+ could also use multiple `#1' environments%
+ }%
+ \boolfalse{@tud@#1@fil}%
+ \fi%
+ }{}%
+ }{% chapter
+ }%
+ \ifnum\csuse{tud@#1@toc@num}>\tw@\relax%
+ \tud@fm@toc{#1}{#2}%
+ \fi%
+ \global\let\tud@fm@set\tud@fm@first%
+ #2%
+}
+\newcommand*\tud@fm@@toc{}
+\newcommand*\tud@fm@@@toc{}
+\newcommand*\tud@fm@toc[2]{%
+ \ifbool{@tud@#1@multi}{%
+ \begingroup%
+ \let\tud@fm@@@toc\@empty%
+ \renewcommand*\tud@fm@head[2]{%
+ \protected@edef\@tempa{##2}%
+ \protected@xdef\tud@fm@@toc{\tud@fm@@@toc\@tempa}%
+ \protected@xdef\tud@fm@@@toc{\tud@fm@@toc/}%
+ }%
+ \let\clearpage\relax%
+ \sbox\z@{\vbox{#2}}%
+ \protected@edef\@tempa{%
+ \noexpand\endgroup%
+ \noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{%
+ \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
+ }{%
+ \noexpand\addsubsectiontocentry{}{\tud@fm@@toc}%
+ }%
+ }%
+ \@tempa%
+ }{%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use `#1=single'\MessageBreak%
+ with `#1=tocmultiple'%
+ }%
+ \edef\@tempa{%
+ \noexpand\cs@set@lock{tud@#1@toc@num}{%
+ \the\numexpr\csuse{tud@#1@toc@num}-2\relax%
+ }%
+ }%
+ \@tempa%
+ }%
+}
+\newcommand\tud@fm@set[1]{}
+\newcommand\tud@fm@first[1]{%
+ \if@twocolumn\else%
+ \if@titlepage%
+ \ifbool{@tud@#1@fil}{\null\vfil}{}%
+ \fi%
+ \fi%
+ \global\let\tud@fm@set\tud@fm@next%
+}
+\newcommand\tud@fm@next[1]{%
+ \if@twocolumn%
+ \ifbool{@tud@#1@multi}{\par}{\newpage}%
+ \else%
+ \if@titlepage%
+ \ifbool{@tud@#1@multi}{%
+ \ifbool{@tud@#1@fil}{\vfil}{}%
+ }{%
+ \ifbool{@tud@#1@fil}{\vfil\null\clearpage\null\vfil}{\clearpage}%
+ }%
+ \else%
+ \ifnum\csuse{tud@#1@level@num}=\z@\relax%
+ \ifundef{\main@language}{}{\vspace*{-\baselineskip}}%
+ \fi%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@fm@body@start[3]{%
+ \begingroup%
+ \TUD@parameter@set{#1}{#2}%
+ \tud@fm@set{#1}%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \begin{\tud@quoting}%
+ \fi%
+ \fi\fi%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \vspace{-\multicolsep}%
+ \begin{multicols}{\tud@x@multicol@num}[{\tud@fm@head{#1}{#3}}]%
+ \else%
+ \tud@fm@head{#1}{#3}%
+ \fi%
+}
+\newcommand*\tud@fm@body@end[1]{%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \end{multicols}%
+ \vspace{-\multicolsep}%
+ \else%
+ \par%
+ \fi%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \end{\tud@quoting}\par%
+ \fi%
+ \fi\fi%
+ \endgroup%
+}
+\newcommand*\tud@fm@head[2]{%
+ \ifcase\csuse{tud@#1@level@num}\relax% false
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \if@twocolumn%
+ \vskip\dimexpr\smallskipamount-\parskip\relax%
+ \else%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ }%
+ \or% true
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \@afterindentfalse%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ }%
+ \begingroup%
+ \noindent\centering%
+ \normalfont\sectfont\nobreak#2%
+ \@endparpenalty\@M%
+ \endgraf%
+ \endgroup%
+ \nopagebreak%
+ \vskip\dimexpr\medskipamount-\parskip\relax%
+ \@afterheading%
+ \or% section
+ \section*{#2}%
+ \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
+ \fi%
+ \ifbool{@tud@#1@markboth}{%
+ \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
+ }{}%
+ \ifcase\csuse{tud@#1@toc@num}\relax\or% totoc
+ \addsectiontocentry{}{#2}%
+ \or% totocleveldown
+ \addsubsectiontocentry{}{#2}%
+ \fi%
+}
+\newcommand*\tud@fm@pagestyle[2]{%
+ \if@titlepage%
+ \ifcsundef{ps@#2}{%
+ \ClassError{\TUD@Class@Name}{`#2' is no valid pagestyle}{%
+ You tried to use `#2' as a pagestyle for the\MessageBreak%
+ `#1' environment, but it was never defined.%
+ }%
+ }{\def\tud@envir@ps{#2}}%
+ \else%
+ \ClassWarning{\TUD@Class@Name}{%
+ The key `pagestyle' can only be used with\MessageBreak%
+ activated option `titlepage'%
+ }%
+ \fi%
+}
+\newcommand*\tud@quoting{quotation}
+\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
+\csundef{abstract}
+\csundef{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%
+ \if@titlepage%
+ \tud@currentpagestyle@set%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
+ \clearpage%
+ \tud@envir@selectps%
+ \fi%
+ \renewcommand*\nextabstract[1][]{%
+ \tud@fm@body@end{abstract}%
+ \tud@fm@body@start{abstract}{##1}{\abstractname}%
+ }%
+ \tud@fm@check{abstract}{%
+ \tud@fm@body@start{abstract}{#1}{\abstractname}%
+ \BODY%
+ \tud@fm@body@end{abstract}%
+ }%
+}[%
+ \if@titlepage%
+ \if@tud@abstract@fil\vfil\null\fi%
+ \aftergroup\tud@currentpagestyle@reset%
+ \clearpage%
+ \else%
+ \ifnum\tud@abstract@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ \fi%
+]
+\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{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
+ \TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
- \bool@set@lock{@tud@cover@cdgeometry}{true}%
+ \@tud@abstract@markbothtrue%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
}{%
- \bool@set@lock{@tud@cover@cdgeometry}{false}%
+ \@tud@abstract@markbothfalse%
}{%
- \TUD@parameter@error{cdgeometry}{true,false}%
+ \@tud@abstract@markbothfalse%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ \manualmark\markboth{#1}{#1}%
}%
}%
- \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{%
- \ifxnumber{#1}{%
- \TUD@parameter@set{cover}{pagenumber=#1}%
+ \TUD@parameter@def{abstract}{\TUDoption{abstract}{#1}}%
+ \TUD@parameter@let{option}{abstract}%
+ \TUD@parameter@handler@default{}%
+}
+\newcommand*\nextabstract[1][]{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextabstract'}{%
+ The command `\string\nextabstract' can only be used within\MessageBreak%
+ the environment `abstract'.%
+ }%
+}
+\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%
+ \if@titlepage%
+ \tud@currentpagestyle@set%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
+ \clearpage%
+ \tud@envir@selectps%
+ \fi%
+ \def\and{, }%
+ \let\thanks\@gobble%
+ \tud@fm@check{declaration}{\BODY}%
+}[%
+ \if@titlepage%
+ \if@tud@declaration@fil\vfil\null\fi%
+ \aftergroup\tud@currentpagestyle@reset%
+ \clearpage%
+ \else%
+ \ifnum\tud@declaration@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ \fi%
+]
+\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{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
+ \TUD@parameter@def{markboth}[true]{%
+ \ifstrbool{#1}{%
+ \@tud@declaration@markbothtrue%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
}{%
- \TUD@parameter@set{cover}{cdgeometry=#1}%
+ \@tud@declaration@markbothfalse%
+ }{%
+ \@tud@declaration@markbothfalse%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ \manualmark\markboth{#1}{#1}%
}%
}%
+ \TUD@parameter@def{company}{\def\@company{#1}}%
+ \TUD@parameter@def{supporter}{\def\@supporter{#1}}%
+ \TUD@parameter@def{place}{\def\@place{#1}}%
+ \TUD@parameter@def{closing}{\def\@confirmationclosing{#1}}%
+ \TUD@parameter@let{confirmationclosing}{closing}%
+ \TUD@parameter@def{declaration}{\TUDoption{declaration}{#1}}%
+ \TUD@parameter@let{option}{declaration}%
+ \TUD@parameter@handler@default{}%
+}
+\newcommand*\tud@fm@supporter{}
+\newcommand*\declaration{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@declaration%
+ }{%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@declaration%
+ }%
+}
+\newcommand*\tud@fm@declaration[1][]{%
+ \ifbool{@tud@declarations}{%
+ \begingroup%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
+ \tud@fm@blocking[#1]%
+ \endgroup%
+ }{%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
+ \tud@fm@blocking%
+ \end{declarations}%
+ }%
+}
+\newcommand*\nextdeclaration[3][]{%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@body@start{declaration}{#1}{#2}%
+ #3%
+ \tud@fm@body@end{declaration}%
+ }{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextdeclaration'}{%
+ The command `\string\nextdeclaration' can only be used\MessageBreak%
+ within the environment `declarations'.%
+ }%
+ }%
+}
+\newcommand*\confirmation{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@confirmation%
+ }{%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@confirmation%
+ }%
+}
+\newcommand*\tud@fm@confirmation[1][]{%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{supporter}%
+ \undef\KV@declaration@company%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
+ }{%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
+ \end{declarations}%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@fm@@confirmation[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\confirmationname}%
+ \confirmationtext\vskip\z@\@confirmationclosing%
+ \tud@fm@body@end{declaration}%
+}
+\newcommand*\blocking[1][]{%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{company}%
+ \undef\KV@declaration@supporter%
+ \undef\KV@declaration@closing%
+ \undef\KV@declaration@confirmationclosing%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@blocking[#1]%
+ }{%
+ \begin{declarations}[#1]%
+ \tud@fm@blocking%
+ \end{declarations}%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@fm@blocking[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\blockingname}%
+ \blockingtext%
+ \tud@fm@body@end{declaration}%
}
%%% From File: tudscr-comp.dtx
-\newcommand*\tud@deprecated@cmd[2]{%
+\newcommand*\TUD@cmd@deprecated[2]{%
\AtBeginDocument{%
- \ifcsdef{#1}{}{%
+ \ifcsundef{#1}{%
\expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\TUDClassName}{%
- The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ The command `\@backslashchar#1' is deprecated\MessageBreak%
It's recommended to use `\@backslashchar#2' instead%
}%
\csletcs{#1}{#2}%
- \@nameuse{#2}%
+ \csuse{#2}%
}%
- }%
+ }{}%
}%
}
-\tud@deprecated@cmd{professorship}{chair}
-\tud@deprecated@cmd{studentid}{matriculationnumber}
-\tud@deprecated@cmd{matriculationid}{matriculationnumber}
-\tud@deprecated@cmd{enrolmentyear}{matriculationyear}%
-\tud@deprecated@cmd{birthplace}{placeofbirth}
-\tud@deprecated@cmd{location}{place}
-\tud@deprecated@cmd{submissiondate}{date}
-\tud@deprecated@cmd{oralexaminationdate}{defensedate}%
-\tud@deprecated@cmd{birthday}{dateofbirth}
-\tud@deprecated@cmd{logofile}{headlogo}
-\tud@deprecated@cmd{logofilename}{headlogo}
+\newcommand*\TUD@len@deprecated[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
+\setlength\pageheadingsvskip{\maxdimen}
+\newlength\headingsvskip
+\setlength\headingsvskip{\maxdimen}
+\TUD@cmd@deprecated{professorship}{chair}
+\TUD@cmd@deprecated{studentid}{matriculationnumber}
+\TUD@cmd@deprecated{matriculationid}{matriculationnumber}
+\TUD@cmd@deprecated{enrolmentyear}{matriculationyear}
+\TUD@cmd@deprecated{birthplace}{placeofbirth}
+\TUD@cmd@deprecated{submissiondate}{date}
+\TUD@cmd@deprecated{oralexaminationdate}{defensedate}
+\TUD@cmd@deprecated{birthday}{dateofbirth}
+\TUD@cmd@deprecated{location}{place}
+\TUD@cmd@deprecated{logofile}{headlogo}
+\TUD@cmd@deprecated{logofilename}{headlogo}
\AfterPackage{tudscrsupervisor}{%
- \tud@deprecated@cmd{startdate}{issuedate}%
- \tud@deprecated@cmd{finaldate}{duedate}%
- \tud@deprecated@cmd{maturitydate}{duedate}%
+ \TUD@cmd@deprecated{startdate}{issuedate}%
+ \TUD@cmd@deprecated{finaldate}{duedate}%
+ \TUD@cmd@deprecated{maturitydate}{duedate}%
+}
+\AtEndOfClass%
+{%
+ \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
}
%%% From File: tudscr-misc.dtx
-\newcounter{symbolheadings}%
+\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%
+ \fi%
+}
\newcommand*\tudbookmark[1][]{\@gobbletwo}
-\newcommand*\tud@footnote@unhyper{}
+\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
\renewcommand*\tudbookmark[3][]{%
\relax%
@@ -4674,7 +6090,7 @@
\ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}%
\fi%
}%
- \renewcommand*\tud@footnote@unhyper{%
+ \renewcommand*\tud@x@hyperref@realfootnotes{%
\let\Hy@saved@footnotemark\@footnotemark%
\let\Hy@saved@footnotetext\@footnotetext%
\let\@footnotemark\H@@footnotemark%
@@ -4682,26 +6098,89 @@
}%
\pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}%
}
-\pretocmd{\maketitle}{%
- \if@tud@bookmarks%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \fi%
- \tudbookmark[1]{\titlepagename}{title}%
-}{}{\tud@patch@wrn{maketitle}}
-\pretocmd{\tableofcontents}{%
- \if@tud@bookmarks%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+\newcommand*\tud@x@bookmark@startatroot{\relax}
+\AfterPackage{bookmark}{%
+ \renewcommand*\tud@x@bookmark@startatroot{%
+ \if@tud@bookmarks\bookmarksetup{startatroot}\fi%
+ }%
+}
+\apptocmd{\titlepage}{%
+ \tud@x@bookmark@startatroot%
+ \if@tud@cover%
+ \tudbookmark[%
+ 1%
+ ]{\coverpagename}{cover}%
+ \else%
+ \tudbookmark[%
+ 1%
+ ]{\titlepagename}{title}%
\fi%
- \tudbookmark[1]{\contentsname}{toc}%
-}{}{\tud@patch@wrn{tableofcontents}}
+}{}{\tud@patch@wrn{titlepage}}
+\pretocmd{\tud@make@titlehead}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 1%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{tud@make@titlehead}}
+\pretocmd{\@maketitle}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 1%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{@maketitle}}
+\BeforeTOCHead[toc]{%
+ \tud@x@bookmark@startatroot%
+ \let\@tempc\relax%
+ \iftocfeature{toc}{totoc}{}{%
+ \if@tud@bookmarks%
+ \setuptoc{toc}{totoc}%
+ \tud@cmd@store{addtocontents}%
+ \def\@tempc{%
+ \unsettoc{toc}{totoc}%
+ \tud@cmd@restore{addtocontents}%
+ }%
+ \let\addtocontents\@gobbletwo%
+ \fi%
+ }%
+}
+\AfterTOCHead[toc]{\@tempc}
+\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
+\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
\BeforePackage{tocloft}{%
- \ClassWarning{\TUDClassName}{%
- It is not recommended to use package `tocloft'.\MessageBreak%
- Loading the package will certainly lead to problems\MessageBreak%
- with table of contents and any list of floats. You\MessageBreak%
- should use the appropriate options of KOMA-Script%
+ \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%
+}
+\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}}
\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 bcc3cf21e2b..a14fad5a2bd 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty
@@ -4,8 +4,8 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package')
-%% tudscr-base.dtx (with options: `package')
+%% tudscr-version.dtx (with options: `package,base')
+%% tudscr-base.dtx (with options: `package,base')
%%
%% ============================================================================
%%
@@ -35,44 +35,82 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
-\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrbase}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
package
(basics for the bundle)%
]
\RequirePackage{scrbase}[2013/12/19]
-\RequirePackage{kvsetkeys}[2012/04/25]
+\@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{etoolbox}[2011/01/03]
-\newcommand*\ifxblank{\expandafter\ifblank\expandafter}
+\RequirePackage{etexcmds}[2011/02/16]
+\RequirePackage{kvsetkeys}[2012/04/25]
+\newcommand*\ifxblank{\ifstr{}}
\newcommand*\ifxnumber[1]{%
\if\relax\detokenize\expandafter{\romannumeral-0#1}\relax%
\expandafter\@firstoftwo%
@@ -95,6 +133,40 @@
}%
}%
}
+\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%
+ }%
+ \expandafter\@secondoftwo%
+}
+\AfterPackage*{babel}{%
+ \renewcommand*\iflanguageloaded[1]{%
+ \@expandtwoargs\in@{,#1,}{,\bbl@loaded,}%
+ \ifin@%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+ }%
+}
+\AfterPackage*{polyglossia}{%
+ \renewcommand*\iflanguageloaded[1]{\ifcsdef{#1@loaded}}%
+}
\providecommand*\protected@expandtwoargs[3]{%
\protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a%
}
@@ -132,25 +204,47 @@
\expandafter\def\expandafter #1\expandafter{#1}%
}%
}
+\newcommand*\tud@reserved{}
+\newtoks\tud@toks@
+\newcommand*\eaddto@hook[2]{%
+ \expandafter\addto@hook\expandafter#1\expandafter{#2}%
+}
+\newcommand*\tud@replace[3]{%
+ \begingroup%
+ \toks@{\def\@tempa##1}%
+ \eaddto@hook\toks@{\detokenize{#2}}%
+ \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}%
+ \the\toks@%
+ \def\@tempb##1##2{%
+ \IfArgIsEmpty{##2}{%
+ \appto#1{##1}%
+ \let\@tempc\relax%
+ }{%
+ \appto#1{##1#3}%
+ \def\@tempc{\@tempa##2\@nil}%
+ }%
+ \@tempc%
+ }%
+ \toks@{\@tempa}%
+ \edef\@tempc{\expandafter\detokenize\expandafter{#1}}%
+ \eaddto@hook\toks@{\@tempc}%
+ \eaddto@hook\toks@{\detokenize{#2}\@nil}%
+ \def#1{}%
+ \the\toks@%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand#1{#1}%
+ }%
+ \tud@reserved%
+}
\DefineFamily{TUD}
\newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}}
\newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}}
\newcommand*\TUDoptions{\FamilyOptions{TUD}}
\newcommand*\TUDoption{\FamilyOption{TUD}}
-\newcommand*\TUD@noworlater{\AtEndOfClass}
-\AtEndOfClass{\let\TUD@noworlater\@firstofone}
-\newcommand*\TUD@key[2][.\@currname.\@currext]{%
+\newcommand*\TUD@key[1][.\@currname.\@currext]{%
\DefineFamilyMember{TUD}%
- \kernel@ifnextchar[%]
- {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}%
-}
-\newcommand*\TUD@@key{}
-\def\TUD@@key[#1]#2[#3]#4{%
- \DefineFamilyKey[#1]{TUD}{#2}[{#3}]{\TUD@noworlater{#4}}%
-}
-\newcommand*\TUD@@@key{}
-\def\TUD@@@key[#1]#2#3{%
- \DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}%
+ \DefineFamilyKey[#1]{TUD}%
}
\newcommand*\TUD@ifkey[1][.\@currname.\@currext]{%
\DefineFamilyMember{TUD}%
@@ -170,14 +264,22 @@
\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}%
+ }%
+}
\newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}}
\newcommand*\TUD@key@lock[2][.\@currname.\@currext]{%
\newbool{@tud@#2@locked}%
\TUD@key[{#1}]{#2}%
}
-\newcommand*\TUD@std@ifkey@lock[2]{%
+\newcommand*\TUD@std@ifkey@lock[3]{%
\ifbool{@tud@#1@locked}{}{%
- \TUDoption{#1}{#2}%
+ \TUD@set@ifkey{#1}{#2}{#3}%
\boolfalse{@tud@#1@locked}%
}%
}
@@ -204,19 +306,30 @@
\csdef{#1}{#2}%
\booltrue{#1@locked}%
}
+\newcommand*\tud@setbool[2]{%
+ \ifstrbool{#2}{\booltrue{#1}}{\boolfalse{#1}}{%
+ \PackageError{tudscrbase}{%
+ `#2' is not a valid boolean expression%
+ }{%
+ You tried to set the boolean switch `\@backslashchar if#1'\MessageBreak%
+ to value `#2' but only `true' `on' and `yes' as well as \MessageBreak%
+ `false' `no' and `off' are valid values.%
+ }%
+ }%
+}
\newcommand*\bool@lock[2][false]{%
\newbool{#2}%
\newbool{#2@locked}%
- \setbool{#2}{#1}%
+ \tud@setbool{#2}{#1}%
}
\newcommand*\bool@std@lock[2]{%
\ifbool{#1@locked}{}{%
- \setbool{#1}{#2}%
+ \tud@setbool{#1}{#2}%
\boolfalse{#1@locked}%
}%
}
\newcommand*\bool@set@lock[2]{%
- \setbool{#1}{#2}%
+ \tud@setbool{#1}{#2}%
\booltrue{#1@locked}%
}
\newcommand*\tud@cmd@store[1]{%
@@ -241,119 +354,179 @@
\newcommand*\tud@cmd@use[1]{%
\tud@cmd@check{#1}%
\ifcsdef{@@tud@#1}{%
- \@nameuse{@@tud@#1}%
+ \csuse{@@tud@#1}%
}{%
- \@nameuse{#1}%
+ \csuse{#1}%
}%
}
\newcommand*\tud@cmd@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-KOMA-Script maintainer\MessageBreak%
via \tudscrmail. A bugfix is urgently required.%
}%
}%
}
\newcommand*\tud@skip@store[1]{%
- \ifcsdef{@@tud@skip@#1}{}{%
- \@tempswafalse%
- \ifisskip{\csname #1\endcsname}{\@tempswatrue}{}%
- \ifisdimen{\csname #1\endcsname}{\@tempswatrue}{}%
- \if@tempswa%
+ \tud@skip@check{#1}{%
+ \ifcsdef{@@tud@skip@#1}{}{%
\csedef{@@tud@skip@#1}{\expandafter\the\csname #1\endcsname}%
- \fi%
+ }%
}%
}
\newcommand*\tud@skip@restore[1]{%
- \ifcsdef{@@tud@skip@#1}{%
- \csname #1\endcsname=\csname @@tud@skip@#1\endcsname%
- \csundef{@@tud@skip@#1}%
- }{}%
+ \tud@skip@check{#1}{%
+ \ifcsdef{@@tud@skip@#1}{%
+ \csname #1\endcsname=\csname @@tud@skip@#1\endcsname%
+ \csundef{@@tud@skip@#1}%
+ }{}%
+ }%
+}
+\newcommand*\tud@skip@reset[1]{%
+ \tud@skip@check{#1}{%
+ \ifcsdef{@@tud@skip@#1}{%
+ \csname#1\endcsname=\csname @@tud@skip@#1\endcsname%
+ }{}%
+ }%
}
\newcommand*\tud@skip@set[2]{%
- \ifdef{#1}{%
+ \tud@skip@check{#1}{%
+ \expandafter\setlength\csname #1\endcsname{#2}%
+ }%
+}
+\newcommand*\tud@skip@check[1]{%
+ \begingroup%
\@tempswafalse%
- \ifisskip{#1}{\@tempswatrue}{}%
- \ifisdimen{#1}{\@tempswatrue}{}%
+ \expandafter\ifisskip\expandafter{\csname#1\endcsname}{\@tempswatrue}{}%
+ \expandafter\ifisdimen\expandafter{\csname#1\endcsname}{\@tempswatrue}{}%
\if@tempswa%
- \setlength#1{#2}%
+ \aftergroup\@firstofone%
+ \else%
+ \aftergroup\@gobble%
\fi%
- }{}%
+ \endgroup%
}
\newcommand*\tud@patch@wrn[1]{%
\PackageWarning{tudscrbase}{%
- It wasn't possible to patch `\@backslashchar#1'.\MessageBreak%
+ It wasn't possible to patch `\@backslashchar#1'\MessageBreak%
Please contact the TUD-KOMA-Script maintainer\MessageBreak%
via \tudscrmail. Without a bugfix an\MessageBreak%
erroneous output may occur%
}%
}
-\newcommand*\TUD@parameter@family{}%
-\newcommand*\TUD@parameter[2]{%
- \ifxblank{#1}{}{\xdef\TUD@parameter@family{#1}}%
+\newcommand*\TUD@parameter@@family{}
+\newcommand*\TUD@parameter@family[2]{%
+ \xdef\TUD@parameter@@family{#1}%
#2%
- \global\let\TUD@parameter@family\relax%
+ \gdef\TUD@parameter@@family{}%
}
-\let\TUD@parameter@family\relax%
-\newcommand*\TUD@parameter@checkfamily[1]{%
- \ifx\TUD@parameter@family\relax%
+\newcommand*\TUD@parameter@checkfamily[2]{%
+ \ifxblank{#1}{%
\PackageError{tudscrbase}{%
- No family for keys given%
+ No family for \@backslashchar#2 defined%
}{%
- You have to use \string#1\space within the\MessageBreak%
- second argument of \string\TUD@parameter. The first \MessageBreak%
- argument of \string\TUD@parameter\space has to be a unique family name.%
+ You have to use \@backslashchar#2\space within the\MessageBreak%
+ second argument of \string\TUD@parameter@family. The first\MessageBreak%
+ 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.
}%
- \fi%
+ }{}%
}
-\newcommand*\TUD@parameter@define[1][]{%
- \ifxblank{#1}{%
- \TUD@parameter@checkfamily{\TUD@parameter@define}%
- \expandafter\define@key\expandafter{\TUD@parameter@family}%
- }{%
- \expandafter\define@key\expandafter{#1}%
+\newcommand*\TUD@parameter@def[1][\TUD@parameter@@family]{%
+ \TUD@parameter@checkfamily{#1}{TUD@parameter@def}%
+ \expandafter\define@key\expandafter{#1}%
+}
+\newcommand*\TUD@parameter@let[3][\TUD@parameter@@family]{%
+ \TUD@parameter@checkfamily{#1}{TUD@parameter@let}%
+ \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}%
+ \@expandtwoargs{\csletcs}{KV@#1@#2@default}{KV@#1@#3@default}%
+}
+\newcommand*\TUD@parameter@nokey{@nokey@}
+\newcommand*\TUD@parameter@set[2]{%
+ \def\@tempb{}%
+ \def\@tempa##1{%
+ \@expandtwoargs\in@{=}{##1}%
+ \ifin@%
+ \appto\@tempb{##1,}%
+ \else%
+ \begingroup
+ \let\IeC\@firstofone%
+ \def\"####1{####1e}%
+ \def\ss{ss}%
+ \protected@edef\tud@reserved{%
+ \endgroup%
+ \noexpand\protected@edef\noexpand\@tempc{KV@#1@##1}%
+ }%
+ \tud@reserved%
+ \ifcsdef{\@tempc}{%
+ \appto\@tempb{##1,}%
+ }{%
+ \protected@eappto\@tempb{\TUD@parameter@nokey=##1,}%
+ }%
+ \fi%
}%
+ \forcsvlist\@tempa{#2}%
+ \@expandtwoargs\kvsetkeys{#1}{\@tempb}%
}
-\newcommand*\TUD@parameter@let[3][]{%
- \ifxblank{#1}{%
- \TUD@parameter@checkfamily{\TUD@parameter@let}%
- \@expandtwoargs{\csletcs}{%
- KV@\TUD@parameter@family @#2%
- }{%
- KV@\TUD@parameter@family @#3%
- }%
- \@expandtwoargs{\csletcs}{%
- KV@\TUD@parameter@family @#2@default%
- }{%
- KV@\TUD@parameter@family @#3@default%
- }%
- }{%
- \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}%
- \@expandtwoargs{\csletcs}{KV@#1@#2@default}{KV@#1@#3@default}%
+\newcommand*\TUD@parameter@handler@macro[3][\TUD@parameter@@family]{%
+ \TUD@parameter@checkfamily{#1}{TUD@parameter@handler@macro}%
+ \expandafter\kv@set@family@handler\expandafter{#1}{%
+ \ifstr{\kv@key}{\TUD@parameter@nokey}{#3}{#2}%
}%
}
-\newcommand*\TUD@parameter@sethandler[1][]{%
- \ifxblank{#1}{%
- \TUD@parameter@checkfamily{\TUD@parameter@sethandler}%
- \expandafter\kv@set@family@handler\expandafter{\TUD@parameter@family}%
+\newcommand*\TUD@parameter@handler@value[2][\TUD@parameter@@family]{%
+ \TUD@parameter@checkfamily{#1}{TUD@parameter@handler@value}%
+ \protected@edef\@tempa{%
+ \noexpand\TUD@parameter@set{#1}{#2=\noexpand\kv@value}%
+ }%
+ \def\@tempb{\TUD@parameter@handler@macro[#1]{\kv@handled@false}}%
+ \expandafter\@tempb\expandafter{\@tempa}%
+}
+\newcommand*\TUD@parameter@handler@default[2][\TUD@parameter@@family]{%
+ \TUD@parameter@checkfamily{#1}{TUD@parameter@handler@default}%
+ \ifxblank{#2}{%
+ \def\@tempa{\let\tud@reserved\relax}%
}{%
- \expandafter\kv@set@family@handler\expandafter{#1}%
+ \def\@tempa{\def\tud@reserved{#2=\kv@value}}%
+ }%
+ \appto\@tempa{%
+ \ifstr{\kv@value}{twocolumn}{\def\kv@value{2}}{}%
+ \ifxnumber{\kv@value}{\def\tud@reserved{columns=\kv@value}}{}%
+ \iflanguageloaded{\kv@value}{\def\tud@reserved{language=\kv@value}}{}%
+ \ifx\tud@reserved\relax%
+ \PackageError{tudscrbase}{%
+ Unknown default value `\kv@value'%
+ }{%
+ 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).
+ }%
+ \fi%
+ }%
+ \protected@eappto\@tempa{%
+ \noexpand\ifx\noexpand\tud@reserved\noexpand\relax\noexpand\else%
+ \noexpand\TUD@parameter@set{#1}{\noexpand\tud@reserved}%
+ \noexpand\fi%
}%
+ \def\@tempb{\TUD@parameter@handler@macro[#1]{\kv@handled@false}}%
+ \expandafter\@tempb\expandafter{\@tempa}%
}
-\newcommand*\TUD@parameter@set[2]{\@expandtwoargs\kvsetkeys{#1}{#2}}
\newcommand*\TUD@parameter@error[2]{%
\PackageError{tudscrbase}{Unsupported value for parameter `#1'}{%
`#1' can only be used with values:\MessageBreak#2%
}%
}
-\newcommand*\TUD@AfterPackage@Set[1]{%
+\newcommand*\TUD@UnwindPackage[2]{\AtEndPreamble{\@ifpackageloaded{#1}{}{#2}}}
+\newcommand*\TUD@AfterPackage@set[1]{%
\newbool{@tud@#1@loaded}%
- \AfterPackage!{#1}{\booltrue{@tud@#1@loaded}}
+ \AfterPackage!{#1}{\booltrue{@tud@#1@loaded}}%
}
-\newcommand*\TUD@AfterPackage[2]{%
+\newcommand*\TUD@AfterPackage@do[2]{%
\ifcsdef{if@tud@#1@loaded}{%
\if@atdocument%
\ifbool{@tud@#1@loaded}{#2}{}%
@@ -361,13 +534,25 @@
\AfterPackage!{#1}{#2}%
\fi%
}{%
- \PackageError{tudscrbase}{\string\TUD@AfterPackage@Set{#1} missing}{%
- You have to set \string\TUD@AfterPackage@Set{#1} before\MessageBreak%
- the usage of \string\TUD@AfterPackage{#1}{<code>} is\MessageBreak%
+ \PackageError{tudscrbase}{\string\TUD@AfterPackage@set{#1} missing}{%
+ You have to set \string\TUD@AfterPackage@set{#1} before\MessageBreak%
+ the usage of \string\TUD@AfterPackage@do{#1}{<code>} is\MessageBreak%
possible.%
}%
}%
}
+\newcommand*\TUD@KOMAoptions[1]{}
+\ifdef{\KOMAClassName}{%
+ \let\TUD@KOMAoptions\KOMAoptions
+}{%
+ \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}
+}
\endinput
%%
%% End of file `tudscrbase.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
index 0fd03c6b4f8..c64426cb02e 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls
@@ -5,23 +5,25 @@
%% The original source files were:
%%
%% tudscr-version.dtx (with options: `class,book')
-%% tudscr-base.dtx (with options: `load')
-%% tudscr-fonts.dtx (with options: `class,option')
+%% tudscr-base.dtx (with options: `class,book,load')
+%% tudscr-fonts.dtx (with options: `class,book,option')
+%% tudscr-area.dtx (with options: `class,book,option')
%% tudscr-pagestyle.dtx (with options: `class,book,option')
%% tudscr-layout.dtx (with options: `class,book,option')
-%% tudscr-frontmatter.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-misc.dtx (with options: `class,execute')
-%% tudscr-base.dtx (with options: `class,body')
-%% tudscr-fonts.dtx (with options: `class,body')
-%% tudscr-fields.dtx (with options: `class,body')
+%% 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-area.dtx (with options: `class,book,body')
%% tudscr-pagestyle.dtx (with options: `class,book,body')
%% tudscr-layout.dtx (with options: `class,book,body')
-%% tudscr-frontmatter.dtx (with options: `class,book,body')
%% tudscr-title.dtx (with options: `class,book,body')
+%% tudscr-frontmatter.dtx (with options: `class,book,body')
%% tudscr-comp.dtx (with options: `class,book,body')
%% tudscr-misc.dtx (with options: `class,book,body')
%%
@@ -53,160 +55,153 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\newcommand*\TUD@ProvidesClass[3]{%
- \newcommand*\TUDClassName@KOMA{#2}%
- \@ifundefined{TUDClassName@Parent}{\newcommand*\TUDClassName{#1}}{}%
\ProvidesClass{#1}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
^^J#3 (#2)%
]%
- \@ifundefined{TUDClassName@Parent}{\TUD@ClassInfo}{}%
+ \newcommand*\TUD@Class@KOMA{#2}%
+ \@ifundefined{TUD@Class@Parent}{%
+ \newcommand*\TUD@Class@Name{#1}%
+ \TUD@Class@Info%
+ }{}%
}
-\providecommand*\TUD@ClassInfo{%
- \typeout{+---------------------------------------------------------------}
- \typeout{| The Corporate Design of Technische Universitaet Dresden}
- \typeout{| Class: \TUDClassName}
- \typeout{| Version: \TUDVersion}
- \typeout{| Author: Falk Hanisch (\tudscrmail)}
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
- \typeout{+---------------------------------------------------------------}
+\providecommand*\TUD@Class@Info{%
+ \typeout{+---------------------------------------------------------------}%
+ \typeout{| The 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{+---------------------------------------------------------------}%
}
-\NeedsTeXFormat{LaTeX2e}
\TUD@ProvidesClass{tudscrbook}{scrbook}{document class}
+\edef\TUDScriptClassName{\TUD@Class@Name}
+\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUDVersion]
+\RequirePackage{tudscrbase}[\TUD@Version]
+\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}}
+\AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions}
%%% From File: tudscr-fonts.dtx
\PreventPackageFromLoading[%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The package `tudscrfonts' must not be used with\MessageBreak%
a TUD-KOMA-Script class%
}%
]{tudscrfonts}
-\newif\if@tud@univers
-\newif\if@tud@dinbold
-\newcommand*\tud@univers{lun}
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@fontspec
-\TUD@key{fontspec}[true]{%
- \ClassWarning{\TUDClassName}%
- {%
- The option key `fontspec' is deprecated.\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
-}
-\AtEndOfClass%
-{%
- \TUD@key{fontspec}[]%
- {%
- \ClassError{\TUDClassName}%
- {Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\TUDClassName'
- but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@fontspec%
- \RequirePackage{fontspec}[2014/06/21]%
- \fi%
-}
-\AfterPackage*{fontspec}{\@tud@fontspectrue}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@uclcnotmath{%
- \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
- \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
-}
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
- \@nonchangecase\ensuremath\tud@uclcnotmath
-}{}{\tud@patch@wrn{@uclcnotmath}}%
-\newcommand*\tud@font@heading{\dinbn\tud@raggedright}
-\newcommand*\tud@cdfont{1}
+\newif\if@tud@x@fontspec@enabled
+\AfterPackage*{fontspec}{\@tud@x@fontspec@enabledtrue}
+\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@ultrabold
+\@tud@cdfont@dintrue
+\newcommand*\tud@cdfont@num{1}
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@numkey@bool,%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2},%
- {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},%
- {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},%
- {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},%
- {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},%
- {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},%
- {bar}{6},{barfont}{6},%
- {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},%
- {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},%
- {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},%
- {headlight}{6},{headfontlight}{6},{headlightfont}{6},%
- {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},%
- {barlight}{6},{barfontlight}{6},{barlightfont}{6},%
- {litehead}{6},{liteheadfont}{6},{litefonthead}{6},%
- {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},%
- {litebar}{6},{litebarfont}{6},{litefontbar}{6},%
- {headlite}{6},{headfontlite}{6},{headlitefont}{6},%
- {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},%
- {barlite}{6},{barfontlite}{6},{barlitefont}{6},%
- {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},%
- {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},%
- {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},%
- {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},%
- {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},%
- {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},%
- {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},%
- {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},%
- {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},%
- {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},%
- {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},%
- {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},%
- {nomath}{8},{nocdmath}{8},%
- {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},%
- {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},%
- {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},%
- {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},%
- {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
- {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
+ {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}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@cdfont{0}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{1}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% heavy
- \def\tud@cdfont{2}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{2}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% normalbold
+ \@tud@cdfont@ultraboldfalse%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% ultrabold
+ \@tud@cdfont@ultraboldtrue%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% nodin
- \renewcommand*\tud@font@heading{\tud@RaggedRight}%
+ \@tud@cdfont@dinfalse%
\or% din
- \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
+ \@tud@cdfont@dintrue%
\or% nohead
\TUDoptions{cdhead=false}%
\or% head
@@ -227,16 +222,38 @@
\TUDoptions{fontspec=false}%
\fi%
\else%
- \KOMAoptions{fontsize=#1}%
- \ifcase\tud@cdfont\relax% false to true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \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}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }{}%
+ \fi%
+}
+\newif\if@tud@relspacing
+\TUD@key{relspacing}[true]{%
+ \TUD@set@numkey{relspacing}{@tempa}{%
+ \TUD@numkey@bool,%
+ {absolute}{0},{classic}{0},{standard}{0},%
+ {relative}{1},{fontsize}{1},{font}{1},{size}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@relspacingfalse%
+ \or% true
+ \@tud@relspacingtrue%
\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{fontsize}{%
- \AtEndOfFamilyOptions{\if@atdocument\tud@font@skip@set\fi}%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\FamilyKeyStateProcessed%
}
\bool@lock{@tud@cdmath}
@@ -251,10 +268,10 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\bool@set@lock{@tud@cdmath}{false}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% true
\bool@set@lock{@tud@cdmath}{true}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% upgreek
\TUDoptions{slantedgreek=false}%
\or% slgreek
@@ -267,28 +284,111 @@
\TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\bool@set@lock{@tud@slantedgreek}{#1}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+%%% From File: tudscr-area.dtx
+\cs@lock{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@numkey@bool,%
+ {typearea}{0},%
+ {cd}{1},{tud}{1},{asymmetric}{1},%
+ {symmetric}{2},{centred}{2},{centered}{2},%
+ {normal}{2},{standard}{2},{std}{2},%
+ {twoside}{3},{balanced}{3},%
+ {oneside}{4},%
+ {restricted}{5},%
+ {adapted}{6},{adapt}{6},{adapting}{6},{unrestricted}{6},%
+ {calculated}{7},{calc}{7},{calculate}{7},{calculating}{7},%
+ {custom}{8},{user}{8},{package}{8}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false/typearea
+ \cs@set@lock{tud@cdgeometry@num}{0}%
+ \or% true/cd
+ \cs@set@lock{tud@cdgeometry@num}{2}%
+ \or% symmetric
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \or% twoside
+ \cs@set@lock{tud@cdgeometry@num}{4}%
+ \TUD@KOMAoptions{twoside=true}%
+ \or% oneside
+ \ifnum\tud@cdgeometry@num>\thr@@\relax%
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \fi%
+ \TUD@KOMAoptions{twoside=false}%
+ \or% restricted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{0}%
+ \or% adapted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{1}%
+ \or% calculated
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{2}%
+ \or% custom
+ \cs@set@lock{tud@cdgeometry@num}{1}%
+ \fi%
+ \@tempswafalse%
+ \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi%
+ \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi%
+ \if@tempswa%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@dim@extrabottommargin{\z@}
+\TUD@key{extrabottommargin}{%
+ \TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \fi%
+}
+\newcommand*\tud@dim@bleedmargin{.2in}
+\TUD@key{bleedmargin}{%
+ \TUD@set@dimenkey{bleedmargin}{\tud@dim@bleedmargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifdim\dimexpr\tud@dim@bleedmargin\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@bleedmargin{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \fi%
+}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{twoside}{%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \FamilyKeyStateProcessed%
+}
+\DefineFamilyKey{KOMA}{twocolumn}{%
+ \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]}
+}{}
%%% From File: tudscr-pagestyle.dtx
\newcommand*\tud@ps@list{}
-\newcommand*\tud@iftudps[3]{%
+\newcommand*\tud@if@tudheadings[3]{%
\xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}%
}
\newif\if@tud@ddc@internal
-\newcommand*\tud@clearpage@iftudps{%
- \if@tud@ddc@internal\else\if@atdocument%
- \tud@iftudps{\currentpagestyle}{\clearpage}{}%
- \fi\fi%
-}
-\newcommand*\tud@pagestyle@iftudps{%
- \if@tud@ddc@internal\else\if@atdocument%
- \tud@iftudps{\currentpagestyle}{%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- }{}%
- \fi\fi%
-}
+\newcommand*\tud@comp@clearpage{}%
+\newcommand*\tud@comp@resetpagestyle{}%
\newcommand*\tud@ddc@switch{}
\edef\tud@ddc@switch{%
\TUD@numkey@bool,%
@@ -302,10 +402,10 @@
\newif\if@tud@headlogo@option@set
\newif\if@tud@footlogo@option@set
\newif\if@tud@ddc@auto
-\newcommand*\tud@ddc{0}
+\newcommand*\tud@ddc@auto@num{0}
\TUD@key{ddc}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal%
\@tud@ddc@autofalse%
@@ -319,12 +419,12 @@
\global\@tud@headlogo@option@settrue%
\global\@tud@footlogo@option@settrue%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
-\newcommand*\tud@ddc@head{0}
+\newcommand*\tud@ddc@head@num{0}
\TUD@key{ddchead}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal\else%
\@tud@ddc@internaltrue%
@@ -333,12 +433,12 @@
\@tud@ddc@internalfalse%
\fi%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
-\newcommand*\tud@ddc@foot{0}
+\newcommand*\tud@ddc@foot@num{0}
\TUD@key{ddcfoot}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal\else%
\@tud@ddc@internaltrue%
@@ -347,43 +447,32 @@
\@tud@ddc@internalfalse%
\fi%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
-}
-\newcommand*\tud@ddc@check{%
- \let\@tempa\tud@ddc@head%
- \let\@tempb\tud@ddc@foot%
- \if@tud@ddc@auto%
- \ifdefvoid{\@headlogo}{%
- \let\@tempa\tud@ddc%
- \let\@tempb\z@%
- }{%
- \let\@tempa\z@%
- \let\@tempb\tud@ddc%
- }%
- \fi%
- \tud@ifverlower{2.03}{%
- \ifnum\@tempb=\z@\relax%
- \ifdefvoid{\@footlogo}{}{\let\@tempb\m@ne}%
- \fi%
- }{}%
+ \tud@comp@resetpagestyle%
}
-\newlength\tud@dim@extrabottommargin
-\TUD@key{extrabottommargin}{%
- \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+\newcommand*\tud@dim@footlogoheight{}
+\let\tud@dim@footlogoheight\relax
+\TUD@key{footlogoheight}{%
+ \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@geometry@process\fi%
+ \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \global\@tud@footlogo@option@settrue%
\fi%
}
-\cs@lock{tud@head@font}{0}
-\cs@lock{tud@head@bar}{0}
+\cs@lock{tud@head@font@num}{0}
+\cs@lock{tud@head@bar@num}{0}
\bool@lock{@tud@head@widebar}
+\newif\if@tud@head@font@set
+\newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
\TUD@set@numkey{cdhead}{@tempa}{%
\TUD@numkey@bool,%
{nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
{cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2},%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
{nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},%
{colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},%
{colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},%
@@ -394,32 +483,42 @@
{color}{6},{colour}{6},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},%
{textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},%
- {paperwidth}{8},{wide}{8},{widehead}{8}%
+ {narrow}{7},{narrowhead}{7},{small}{7},{smallhead}{7},%
+ {paperwidth}{8},{wide}{8},{widehead}{8},%
+ {date}{9},{showdate}{9},{dateon}{9},{datetrue}{9},{dateyes}{9},%
+ {nodate}{10},{hidedate}{10},{dateoff}{10},{datefalse}{10},{dateno}{10}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@head@font}{0}%
+ \cs@set@lock{tud@head@font@num}{0}%
\or% true
- \cs@set@lock{tud@head@font}{1}%
+ \cs@set@lock{tud@head@font@num}{1}%
\or% heavy
- \cs@set@lock{tud@head@font}{2}%
+ \cs@set@lock{tud@head@font@num}{2}%
\or% nocolor
- \cs@set@lock{tud@head@bar}{0}%
+ \cs@set@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% color
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% textwidth
\bool@set@lock{@tud@head@widebar}{false}%
\or% paperwidth
\bool@set@lock{@tud@head@widebar}{true}%
+ \or% date
+ \@tud@head@datetrue%
+ \or% nodate
+ \@tud@head@datefalse%
+ \fi%
+ \ifnum\@tempa<\thr@@\relax%
+ \global\@tud@head@font@settrue%
\fi%
\fi%
}
-\TUD@AfterPackage@Set{scrlayer-scrpage}
-\newif\if@tud@foot@colored
+\TUD@AfterPackage@set{scrlayer-scrpage}
+\bool@lock{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@numkey@bool,%
@@ -431,13 +530,13 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@AfterPackage{scrlayer-scrpage}{%
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
\tud@font@koma@unset{pageheadfoot}%
}%
\or% true
- \TUD@AfterPackage{scrlayer-scrpage}{%
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
\tud@font@koma@set{pageheadfoot}{\upshape}%
@@ -450,72 +549,54 @@
\ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
\or% nocolor
- \@tud@foot@coloredfalse%
+ \bool@set@lock{@tud@foot@colored}{false}%
\or% color
- \@tud@foot@coloredtrue%
+ \bool@set@lock{@tud@foot@colored}{true}%
\fi%
\else%
- \TUDoptions{extrabottommargin=#1}%
+ \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
\fi%
}
\newcommand*\tud@ps@store[1]{%
- \tud@@ps@store{#1}{odd}{left}{head}%
- \tud@@ps@store{#1}{odd}{right}{head}%
- \tud@@ps@store{#1}{odd}{middle}{head}%
- \tud@@ps@store{#1}{even}{left}{head}%
- \tud@@ps@store{#1}{even}{right}{head}%
- \tud@@ps@store{#1}{even}{middle}{head}%
- \tud@@ps@store{#1}{odd}{left}{foot}%
- \tud@@ps@store{#1}{odd}{right}{foot}%
- \tud@@ps@store{#1}{odd}{middle}{foot}%
- \tud@@ps@store{#1}{even}{left}{foot}%
- \tud@@ps@store{#1}{even}{right}{foot}%
- \tud@@ps@store{#1}{even}{middle}{foot}%
-}
-\newcommand*\tud@@ps@store[4]{%
+ \tud@ps@@store{#1}{odd}{left}{head}%
+ \tud@ps@@store{#1}{odd}{right}{head}%
+ \tud@ps@@store{#1}{odd}{middle}{head}%
+ \tud@ps@@store{#1}{even}{left}{head}%
+ \tud@ps@@store{#1}{even}{right}{head}%
+ \tud@ps@@store{#1}{even}{middle}{head}%
+ \tud@ps@@store{#1}{odd}{left}{foot}%
+ \tud@ps@@store{#1}{odd}{right}{foot}%
+ \tud@ps@@store{#1}{odd}{middle}{foot}%
+ \tud@ps@@store{#1}{even}{left}{foot}%
+ \tud@ps@@store{#1}{even}{right}{foot}%
+ \tud@ps@@store{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@store[4]{%
\ifcsdef{@@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}%
- \tud@@ps@restore{#1}{odd}{right}{head}%
- \tud@@ps@restore{#1}{odd}{middle}{head}%
- \tud@@ps@restore{#1}{even}{left}{head}%
- \tud@@ps@restore{#1}{even}{right}{head}%
- \tud@@ps@restore{#1}{even}{middle}{head}%
- \tud@@ps@restore{#1}{odd}{left}{foot}%
- \tud@@ps@restore{#1}{odd}{right}{foot}%
- \tud@@ps@restore{#1}{odd}{middle}{foot}%
- \tud@@ps@restore{#1}{even}{left}{foot}%
- \tud@@ps@restore{#1}{even}{right}{foot}%
- \tud@@ps@restore{#1}{even}{middle}{foot}%
-}
-\newcommand*\tud@@ps@restore[4]{%
+ \tud@ps@@restore{#1}{odd}{left}{head}%
+ \tud@ps@@restore{#1}{odd}{right}{head}%
+ \tud@ps@@restore{#1}{odd}{middle}{head}%
+ \tud@ps@@restore{#1}{even}{left}{head}%
+ \tud@ps@@restore{#1}{even}{right}{head}%
+ \tud@ps@@restore{#1}{even}{middle}{head}%
+ \tud@ps@@restore{#1}{odd}{left}{foot}%
+ \tud@ps@@restore{#1}{odd}{right}{foot}%
+ \tud@ps@@restore{#1}{odd}{middle}{foot}%
+ \tud@ps@@restore{#1}{even}{left}{foot}%
+ \tud@ps@@restore{#1}{even}{right}{foot}%
+ \tud@ps@@restore{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@restore[4]{%
\ifcsdef{@@tud@ps@#1@#2@#3@#4}{%
\csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}%
\csundef{@@tud@ps@#1@#2@#3@#4}%
}{}%
}
-\newcommand*\tud@geometry{0}
-\TUD@key@lock{cdgeometry}[true]{%
- \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{%
- \TUD@numkey@bool,%
- {typearea}{0},%
- {cd}{1},{tud}{1},{asymmetric}{1},%
- {symmetric}{2},{centred}{2},{centered}{2},%
- {normal}{2},{standard}{2},{std}{2},%
- {twoside}{3},{balanced}{3}%
- }{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\recalctypearea\fi%
- \fi%
-}
%%% From File: tudscr-layout.dtx
-\cs@lock{tud@layout@cover}{0}
-\cs@lock{tud@layout@title}{0}
-\cs@lock{tud@layout@part}{0}
-\cs@lock{tud@layout@chapter}{0}
\newcommand*\tud@layout@switch{}
\edef\tud@layout@switch{%
\TUD@numkey@bool,%
@@ -529,60 +610,71 @@
{color}{5},{colour}{5},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
-\newcommand*\tud@cd{0}
+\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}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cd}{tud@cd@num}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\tud@cd\relax% false
- \cs@std@lock{tud@layout@cover}{0}%
- \cs@std@lock{tud@layout@title}{0}%
- \cs@std@lock{tud@layout@part}{0}%
- \cs@std@lock{tud@layout@chapter}{0}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{1}%
- \cs@std@lock{tud@layout@part}{1}%
- \cs@std@lock{tud@layout@chapter}{1}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{2}%
- \cs@std@lock{tud@layout@part}{2}%
- \cs@std@lock{tud@layout@chapter}{2}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{3}%
- \cs@std@lock{tud@layout@part}{3}%
- \cs@std@lock{tud@layout@chapter}{3}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{4}%
- \cs@std@lock{tud@layout@part}{4}%
- \cs@std@lock{tud@layout@chapter}{4}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{5}%
- \cs@std@lock{tud@layout@part}{5}%
- \cs@std@lock{tud@layout@chapter}{5}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{6}%
- \cs@std@lock{tud@layout@part}{6}%
- \cs@std@lock{tud@layout@chapter}{6}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \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%
- \if@atdocument%
- \tud@layout@process%
- \else%
- \ifcase\tud@cd\relax% false
- \TUD@std@numkey@lock{cdgeometry}{false}%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \if@atdocument\else%
+ \ifcase\tud@cd@num\relax% false
+ \cs@std@lock{tud@cdgeometry@num}{0}%
\else% !false
- \TUD@std@numkey@lock{cdgeometry}{true}%
+ \cs@std@lock{tud@cdgeometry@num}{2}%
\fi%
\fi%
\fi%
@@ -591,98 +683,111 @@
\TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@cover}{0}%
+ \cs@set@lock{tud@layout@cover@num}{0}%
\or% true
- \cs@set@lock{tud@layout@cover}{1}%
+ \cs@set@lock{tud@layout@cover@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@cover}{2}%
+ \cs@set@lock{tud@layout@cover@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@cover}{3}%
+ \cs@set@lock{tud@layout@cover@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@cover}{4}%
+ \cs@set@lock{tud@layout@cover@num}{4}%
\or% color
- \cs@set@lock{tud@layout@cover}{5}%
+ \cs@set@lock{tud@layout@cover@num}{5}%
\or% full
- \cs@set@lock{tud@layout@cover}{6}%
+ \cs@set@lock{tud@layout@cover@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdtitle}[true]{%
\TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@title}{0}%
+ \cs@set@lock{tud@layout@title@num}{0}%
\or% true
- \cs@set@lock{tud@layout@title}{1}%
+ \cs@set@lock{tud@layout@title@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@title}{2}%
+ \cs@set@lock{tud@layout@title@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@title}{3}%
+ \cs@set@lock{tud@layout@title@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@title}{4}%
+ \cs@set@lock{tud@layout@title@num}{4}%
\or% color
- \cs@set@lock{tud@layout@title}{5}%
+ \cs@set@lock{tud@layout@title@num}{5}%
\or% full
- \cs@set@lock{tud@layout@title}{6}%
+ \cs@set@lock{tud@layout@title@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdpart}[true]{%
\TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@part}{0}%
+ \cs@set@lock{tud@layout@part@num}{0}%
\or% true
- \cs@set@lock{tud@layout@part}{1}%
+ \cs@set@lock{tud@layout@part@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@part}{2}%
+ \cs@set@lock{tud@layout@part@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@part}{3}%
+ \cs@set@lock{tud@layout@part@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@part}{4}%
+ \cs@set@lock{tud@layout@part@num}{4}%
\or% color
- \cs@set@lock{tud@layout@part}{5}%
+ \cs@set@lock{tud@layout@part@num}{5}%
\or% full
- \cs@set@lock{tud@layout@part}{6}%
+ \cs@set@lock{tud@layout@part@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdchapter}[true]{%
\TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@chapter}{0}%
- \TUD@std@ifkey@lock{chapterpage}{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}{1}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{1}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% litecolor
- \cs@set@lock{tud@layout@chapter}{2}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{2}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% barcolor
- \cs@set@lock{tud@layout@chapter}{3}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{3}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% bicolor
- \cs@set@lock{tud@layout@chapter}{4}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{4}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% color
- \cs@set@lock{tud@layout@chapter}{5}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \cs@set@lock{tud@layout@chapter@num}{5}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
\or% full
- \cs@set@lock{tud@layout@chapter}{6}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \cs@set@lock{tud@layout@chapter@num}{6}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \fi%
+}
+\TUD@key{cdsection}[true]{%
+ \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@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%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\newif\if@tud@parttitle
\TUD@key{parttitle}[true]{%
\TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\newif\if@tud@chapterpage
@@ -694,25 +799,25 @@
\TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \def\tud@cleardoublepage{\cleardoubleoddpage}%
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddpage}%
\else%
- \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
+ \renewcommand*\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
\fi%
\else%
\ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{%
\ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{%
\ifstr{#1}{current}{%
- \def\tud@cleardoublepage{\cleardoubleoddstandardpage}%
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddstandardpage}%
\FamilyKeyStateProcessed%
}{%
\AfterPreamble{%
- \ifcsdef{ps@#1}{%
- \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
- }{%
- \ClassError{\TUDClassName}{`#1' is no valid pagestyle}{%
+ \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%
@@ -750,37 +855,42 @@
\TUD@ifkey{clearcolor}{@tud@clearcolor}
\TUD@ifkey{clearcolour}{@tud@clearcolor}
\newcommand*\tud@font@koma@set[2]{%
- \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}%
- \@namedef{tud@font@koma@#1}{#2\nobreak}%
-}
-\newcommand*\tud@font@koma@reset[1]{%
- \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
+ \csdef{tud@font@koma@#1}{#2\nobreak}%
}
\newcommand*\tud@font@koma@unset[1]{%
- \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
+ \csdef{tud@font@koma@#1}{\relax}%
+}
+\newcommand*\tud@font@koma@reset[1]{%
+ \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}%
}
-\newcommand*\tud@font@heading@size{}
-\AtEndOfClass{\let\tud@font@heading@size\size@part}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{headings}{%
- \AtEndOfFamilyOptions{%
- \let\tud@font@heading@size\size@part%
- \if@atdocument%
- \tud@layout@process%
- \ifcase\tud@layout@part\relax\else% !false
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
- \fi%
- \ifcase\tud@layout@chapter\relax\else% !false
- \tud@font@koma@reset{chapter}%
- \tud@font@koma@reset{chapterprefix}%
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
- \tud@font@koma@reset{minisec}%
- \fi%
- \fi%
- }%
+ \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@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}%
+}
+%%% From File: tudscr-title.dtx
+\newif\if@tud@subjectthesis
+\TUD@key@lock{subjectthesis}[true]{%
+ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@switch{%
@@ -800,8 +910,8 @@
{tocmultiple}{13},{tocmulti}{13},{tocall}{13},{tocaggregate}{13},%
{totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
-\newcommand*\tud@abstract@level{3}
-\cs@lock{tud@abstract@toc}{1}
+\newcommand*\tud@abstract@level@num{3}
+\cs@lock{tud@abstract@toc@num}{1}
\newif\if@tud@abstract@multi
\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
@@ -814,11 +924,11 @@
\ifcase\@tempa\relax% false
\or% true
\or% section
- \def\tud@abstract@level{2}%
- \cs@std@lock{tud@abstract@toc}{1}%
+ \renewcommand*\tud@abstract@level@num{2}%
+ \cs@std@lock{tud@abstract@toc@num}{1}%
\or% chapter
- \def\tud@abstract@level{3}%
- \cs@std@lock{tud@abstract@toc}{1}%
+ \renewcommand*\tud@abstract@level@num{3}%
+ \cs@std@lock{tud@abstract@toc@num}{1}%
\or% single
\@tud@abstract@multifalse%
\or% multiple
@@ -832,35 +942,39 @@
\or% nomarkboth
\@tud@abstract@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@abstract@toc}{0}%
+ \cs@set@lock{tud@abstract@toc@num}{0}%
\or% totoc
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\else%
- \cs@set@lock{tud@abstract@toc}{3}%
+ \cs@set@lock{tud@abstract@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{2}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{2}%
\else%
- \cs@set@lock{tud@abstract@toc}{4}%
+ \cs@set@lock{tud@abstract@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@abstract@toc=\z@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num=\z@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\fi%
- \ifnum\tud@abstract@toc<\thr@@\relax%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@abstract@toc}{%
- \the\numexpr\tud@abstract@toc+2\relax%
+ \noexpand\cs@set@lock{tud@abstract@toc@num}{%
+ \the\numexpr\tud@abstract@toc@num+2\relax%
}%
}\@tempa%
\fi%
\fi%
\fi%
}
-\newcommand*\tud@declaration@level{3}
-\cs@lock{tud@declaration@toc}{1}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{abstract}[true]{%
+ \AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
+}
+\newcommand*\tud@declaration@level@num{3}
+\cs@lock{tud@declaration@toc@num}{1}
\newif\if@tud@declaration@multi
\@tud@declaration@multitrue
\newif\if@tud@declaration@fil
@@ -871,17 +985,17 @@
\TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@declaration@level{0}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{0}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% true
- \def\tud@declaration@level{1}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{1}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% section
- \def\tud@declaration@level{2}%
- \cs@std@lock{tud@declaration@toc}{1}%
+ \renewcommand*\tud@declaration@level@num{2}%
+ \cs@std@lock{tud@declaration@toc@num}{1}%
\or% chapter
- \def\tud@declaration@level{3}%
- \cs@std@lock{tud@declaration@toc}{1}%
+ \renewcommand*\tud@declaration@level@num{3}%
+ \cs@std@lock{tud@declaration@toc@num}{1}%
\or% single
\@tud@declaration@multifalse%
\or% multiple
@@ -895,55 +1009,74 @@
\or% nomarkboth
\@tud@declaration@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@declaration@toc}{0}%
+ \cs@set@lock{tud@declaration@toc@num}{0}%
\or% totoc
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\else%
- \cs@set@lock{tud@declaration@toc}{3}%
+ \cs@set@lock{tud@declaration@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{2}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{2}%
\else%
- \cs@set@lock{tud@declaration@toc}{4}%
+ \cs@set@lock{tud@declaration@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@declaration@toc=\z@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num=\z@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\fi%
- \ifnum\tud@declaration@toc<\thr@@\relax%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@declaration@toc}{%
- \the\numexpr\tud@declaration@toc+2\relax%
+ \noexpand\cs@set@lock{tud@declaration@toc@num}{%
+ \the\numexpr\tud@declaration@toc@num+2\relax%
}%
}\@tempa%
\fi%
\fi%
\fi%
}
-%%% From File: tudscr-title.dtx
-\newif\if@tud@subjectthesis
-\TUD@key@lock{subjectthesis}[true]{%
- \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
-}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@key[2]{%
- \ClassWarning{\TUDClassName}%
+\newcommand*\TUD@key@deprecated[2]{%
+ \ClassWarning{\TUD@Class@Name}%
{%
- The option key `#1' is deprecated.\MessageBreak%
+ The option key `#1' is deprecated\MessageBreak%
It's recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\TUD@key{fontspec}[true]{%
+ \ClassWarning{\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}[2014/06/21]%
+ \fi%
+}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -951,9 +1084,9 @@
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -961,9 +1094,9 @@
\TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{heavyfont}{cdfont=heavy}%
+ \TUD@key@deprecated{heavyfont}{cdfont=heavy}%
\else%
- \TUD@deprecated@key{heavyfont=#1}{cdfont=true}%
+ \TUD@key@deprecated{heavyfont=#1}{cdfont=true}%
\fi%
\fi%
}
@@ -971,9 +1104,9 @@
\TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@key@deprecated{din}{cdfont=din}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@key@deprecated{din=#1}{cdfont=nodin}%
\fi%
\fi%
}
@@ -981,9 +1114,9 @@
\TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@key@deprecated{nodin}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@key@deprecated{nodin=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -991,9 +1124,9 @@
\TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@key@deprecated{noDIN}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@key@deprecated{noDIN=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -1001,9 +1134,9 @@
\TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@key@deprecated{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@key@deprecated{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
@@ -1011,28 +1144,28 @@
\TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@key@deprecated{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@key@deprecated{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{geometry}[true]{\TUD@deprecated@key{geometry=#1}{cdgeometry=#1}}
+\TUD@key{geometry}[true]{\TUD@key@deprecated{geometry=#1}{cdgeometry=#1}}
\TUD@key{barfont}[true]{%
\TUD@set@numkey{barfont}{@tempa}{%
\TUD@numkey@bool,%
{nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
{cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2}%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@deprecated@key{barfont=#1}{cdhead=false}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=false}%
\or% true
- \TUD@deprecated@key{barfont=#1}{cdhead=true}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=true}%
\or% heavy
- \TUD@deprecated@key{barfont=#1}{cdhead=heavy}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=heavy}%
\fi%
\fi%
}
@@ -1040,9 +1173,9 @@
\TUD@set@ifkey{widehead}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{widehead}{cdhead=paperwidth}%
+ \TUD@key@deprecated{widehead}{cdhead=paperwidth}%
\else%
- \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}%
+ \TUD@key@deprecated{widehead=#1}{cdhead=textwidth}%
\fi%
\fi%
}
@@ -1050,9 +1183,9 @@
\TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{tudfoot}{cdfoot=true}%
+ \TUD@key@deprecated{tudfoot}{cdfoot=true}%
\else%
- \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}%
+ \TUD@key@deprecated{tudfoot=#1}{cdfoot=false}%
\fi%
\fi%
}
@@ -1071,84 +1204,172 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@deprecated@key{color=#1}{cd=true}%
+ \TUD@key@deprecated{color=#1}{cd=true}%
\or% true
- \TUD@deprecated@key{color=#1}{cd=color}%
+ \TUD@key@deprecated{color=#1}{cd=color}%
\or% litecolor
- \TUD@deprecated@key{color=#1}{cd=pale}%
+ \TUD@key@deprecated{color=#1}{cd=pale}%
\or% bicolor
- \TUD@deprecated@key{color=#1}{cd=bicolor}%
+ \TUD@key@deprecated{color=#1}{cd=bicolor}%
\or% full
- \TUD@deprecated@key{color=#1}{cd=fullcolor}%
+ \TUD@key@deprecated{color=#1}{cd=fullcolor}%
\fi%
\fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
\newcommand*\tud@v@comp{\tud@v@last}
\TUD@key{tudscrver}[last]{%
- \ifcsvoid{tud@v@#1}{%
- \def\tud@v@comp{0}%
- \ClassWarningNoLine{\TUDClassName}%
+ \tud@v@get\@tempa{#1}%
+ \ifcsundef{tud@v@\@tempa}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
{%
- You have set option `tudscrver' to `#1', but\MessageBreak%
+ You have set option `tudscrver' to `\@tempa', but\MessageBreak%
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \FamilyKeyStateProcessed%
+ \def\tud@v@comp{0}%
}{%
- \ClassInfoNoLine{\TUDClassName}%
+ \ClassInfoNoLine{\TUD@Class@Name}%
{%
- Switching compatibility level to `#1'%
+ Switching compatibility level to `\@tempa'%
}%
- \edef\tud@v@comp{\@nameuse{tud@v@#1}}%
- \FamilyKeyStateProcessed%
+ \edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
+ \FamilyKeyStateProcessed%
}
\AtEndOfClass%
{%
\TUD@key{tudscrver}[]{%
- \ClassError{\TUDClassName}%
+ \ClassError{\TUD@Class@Name}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\TUDClassName'
+ class `\TUD@Class@Name'
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
}%
- \ifcsdef{scr@v@3.17}{%
- \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax%
- \ClassError{\TUDClassName}{%
+ \ifcsdef{scr@v@\TUD@Version@KOMA}{%
+ \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax%
+ \ClassError{\TUD@Class@Name}{%
KOMA-Script compatibility level too low%
}{%
- \TUDVersion\space has to be used at least with\MessageBreak%
- KOMA-Script compatibility option `version=v3.12'.%
+ \TUD@Version\space must be used at least with\MessageBreak%
+ KOMA-Script compatibility option `version=3.12'.%
}%
\fi%
}{%
- \ClassError{\TUDClassName}{%
- KOMA-Script v3.17 is required%
+ \ClassError{\TUD@Class@Name}{%
+ KOMA-Script v\TUD@Version@KOMA is required%
}{%
- \TUDVersion\space has to be used with KOMA-Script v3.17\MessageBreak%
- at least. You're using \KOMAScriptVersion%
+ \TUD@Version\space must at least be used with\MessageBreak%
+ KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion%
}%
}%
}
-\@namedef{tud@v@first}{0}
-\@namedef{tud@v@2.02}{0}
-\@namedef{tud@v@v2.02}{0}
-\@namedef{tud@v@2.03}{1}
-\@namedef{tud@v@v2.03}{1}
-\@namedef{tud@v@2.04}{2}
-\@namedef{tud@v@v2.04}{2}
-\@namedef{tud@v@last}{2}
-\newcommand*\tud@ifverlower[1]{%
- \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax%
- \expandafter\@firstoftwo%
+\csdef{tud@v@first}{0}
+\csdef{tud@v@2.00}{0}
+\csdef{tud@v@2.01}{0}
+\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}
+\csdef{tud@v@2.04a}{2}
+\csdef{tud@v@2.04b}{2}
+\csdef{tud@v@2.04c}{2}
+\csdef{tud@v@2.04d}{2}
+\csdef{tud@v@2.04e}{2}
+\csdef{tud@v@2.05}{3}
+\csdef{tud@v@last}{3}
+\newcommand*\tud@v@get[2]{%
+ \begingroup%
+ \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
+ \def\@tempb v##1\@nil{\def\@tempc{##1}}%
+ \@tempa #2\@nil%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\def#1}{\@tempc}%
+ }%
+ \tud@reserved%
+}
+\newcommand*\tud@if@v@lower[1]{%
+ \begingroup%
+ \tud@v@get\@tempa{#1}%
+ \ifcsdef{tud@v@\@tempa}{%
+ \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax%
+ \def\tud@reserved{\endgroup\@firstoftwo}%
+ \else%
+ \def\tud@reserved{\endgroup\@secondoftwo}%
+ \fi%
+ }{%
+ \def\tud@reserved{%
+ \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning!
+ Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak%
+ There's no defined macro `\string\tud@v@\@tempa'%
+ }%
+ \endgroup\@firstoftwo%
+ }%
+ }%
+ \tud@reserved%
+}
+%%% 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%
+ }%
+ \expandafter\@tempb\@tempa::\@nil%
+ \fi%
+ \@tud@x@scr@paper@setfalse%
+ \if@tempswa%
+ \ifstr{\@tempa}{a4}{}{\@tud@x@scr@paper@settrue}%
+ \FamilyKeyStateProcessed%
\else%
- \expandafter\@secondoftwo%
+ \FamilyKeyStateUnknownValue%
\fi%
}
-%%% From File: tudscr-misc.dtx
+\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}{%
@@ -1163,182 +1384,319 @@
\fi%
\fi%
}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
+\AtEndOfClass{%
+ \newcounter{symbolheadings}[chapter]
+}
%%% From File: tudscr-misc.dtx
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUDClassName@KOMA}}
-\TUDExecuteOptions{cd=true,cdfont=true,tudbookmarks=true}
+\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}
+\TUDExecuteOptions{%
+ cd=true,relspacing=true,tudbookmarks=true%
+}
\TUDProcessOptions\relax
-\LoadClass{\TUDClassName@KOMA}[2015/04/23]
+\LoadClass{\TUD@Class@KOMA}[2015/04/23]
%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
- \ClassWarningNoLine{\TUDClassName}{%
- The package `graphics' was superseded by `graphicx',\MessageBreak%
- which is automatically loaded%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ Package `graphics' was superseded by `graphicx',\MessageBreak%
+ which now will be loaded automatically%
}%
}{}%
}%
\RequirePackage{graphicx}[1999/02/16]%
- \RequirePackage{tudscrcolor}[\TUDVersion]%
-}
-\newcommand*\TUD@parameter@defaulthandler[2]{%
- \def\@tempa{#2}%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}%
- \ifxnumber{\@tempb}{%
- \TUD@parameter@set{#1}{columns=\@tempb}%
- }{%
- \TUD@parameter@set{#1}{language=\@tempb}%
- }%
- \fi%
- }%
-}
-\cs@lock{tud@multicols}{1}
-\newcommand*\tud@multicols@check{%
- \ifdef{\multicols}{}{%
- \ifnum\tud@multicols>\@ne\relax%
- \ClassWarning{\TUDClassName}{%
- The option `columns=\tud@multicols' is only supported,\MessageBreak%
- when package `multicol' is loaded%
- }%
- \cs@set@lock{tud@multicols}{1}%
- \fi%
- }%
+ \RequirePackage{tudscrcolor}[\TUD@Version]%
+}
+\cs@lock{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}%
+ \fi%
}
+\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}}
%%% From File: tudscr-fonts.dtx
-\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*\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@x@fontspec@noerror{}
+\IfFileExists{expl3.sty}{\@tempswatrue}{\@tempswafalse}
+\if@tempswa
+ \RequirePackage{expl3}[2016/05/18]
+ \ExplSyntaxOn
+ \renewcommand*\tud@x@fontspec@noerror{%
+ \__fontspec_font_suppress_not_found_error:
+ \msg_redirect_name:nnn {fontspec}{font-not-found}{none}
+ }%
+ \ExplSyntaxOff
+\fi
\newcommand*\tud@font@check{%
- \if@tud@fontspec%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@dinbold.fd}}%
- }%
- \def\@tempc##1{%
- \ClassInfoNoLine{\TUDClassName}%
- {%
- `##1' fonts for math typesetting not found\MessageBreak%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual%
- }%
+ \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
+ \def\@tempb##1{%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts for math typesetting not found\MessageBreak%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual%
+ }%
+ \fi%
+ \fi%
+ }%
+ \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
+ \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN Bold}}%
+ \if@tud@x@fontspec@enabled%
+ \def\@tempc##1##2{%
+ \fontspec{##1}%
+ \expandafter\ifx\the\font\nullfont%
+ ##2%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. A fallback layout is used%
+ }%
+ \fi%
+ \fi%
}%
+ \begingroup%
+ \tud@x@fontspec@noerror%
+ \global\@tud@universtrue%
+ \@tempc{Univers Light}{\global\@tud@universfalse}%
+ \@tempc{Univers}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold}{\global\@tud@universfalse}%
+ \@tempc{Univers Black}{\global\@tud@universfalse}%
+ \@tempc{Univers Light Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Black Oblique}{\global\@tud@universfalse}%
+ \global\@tud@dinboldtrue%
+ \@tempc{DIN Bold}{\global\@tud@dinboldfalse}%
+ \endgroup%
\else%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@dinbold.fd}}%
- }%
\def\@tempc##1{%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}
- \ClassWarningNoLine{\TUDClassName}%
- {%
- `##1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
- \if@tempswa%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual.\MessageBreak%
- \else%
- Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
- \fi%
- A fallback layout is used%
- }%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \@tempswafalse%
+ \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
+ \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ \if@tempswa%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual.\MessageBreak%
+ \else%
+ Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
+ \fi%
+ A fallback layout is used%
+ }%
+ \fi%
}%
+ \@tempa{\encodingdefault}%
+ {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
+ \@tempa{\encodingdefault}%
+ {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\fi%
- \@tempa{\@tud@universtrue}{\@tempc{Univers}}%
- \@tempb{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\undef\tud@font@check%
}
-\newcommand*\tud@font@init{%
- \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@fontspec%
- \undef\tud@fontface%
- \undef\tud@fontspec@flag%
- \undef\tud@fontspec@error%
- \undef\tud@font@init@nfss%
- \undef\tud@font@init%
-}
-\newif\if@tud@fontspec@missing
-\newcommand*\tud@font@init@fontspec{}
-\IfFileExists{xparse.sty}{\@tempswatrue}{\@tempswafalse}%
-\if@tempswa
- \RequirePackage{xparse}
- \newcommand*\tud@fontspec@flag{\global\@tud@fontspec@missingtrue\@gobbletwo}%
- \NewDocumentCommand\tud@fontface{mmo}{%
- \global\@tud@fontspec@missingfalse%
- \newfontface#1{#2}[#3]%
- \if@tud@fontspec@missing%
- \renewrobustcmd*#1{}%
+\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%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' fonts not found}%
+ \fi%
+ \if@tud@dinbold\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' fonts not found}%
+ \fi%
\fi%
- }%
- \ExplSyntaxOn
- \renewcommand*\tud@font@init@fontspec{%
- \cs_set_eq:NN \tud@fontspec@error \__fontspec_error:nx
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@flag
- \tud@fontface\univln{Univers Light}[NFSSFamily=UniversLight]%
- \tud@fontface\univrn{Univers}[NFSSFamily=UniversRegular]%
- \tud@fontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
- \tud@fontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
- \tud@fontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
- \tud@fontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
- \tud@fontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
- \tud@fontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
- \tud@fontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
- \if@tud@fontspec@missing%
- \newrobustcmd*\dinbn{\sectfont}%
- \else%
- \if@tud@dinbold%
- \newrobustcmd*\dinbn{\@dinbn\mathversion{dinbold}}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{false}%
+ \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}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{true}%
+ \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
+ \if@tud@univers%
+ \if@tud@x@fontspec@enabled%
+ \setsansfont{Univers}[%
+ 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 Light Oblique},%
+ FontFace = {m}{\sldefault}{Univers Oblique},%
+ FontFace = {b}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {bx}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {eb}{\sldefault}{Univers Black Oblique},%
+ NFSSFamily = \tud@univers%
+ ]%
+ \setmonofont{LMMono10-Regular}[%
+ 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%
- \newrobustcmd*\dinbn{\@dinbn}%
+ \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}%
\fi%
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@error
- }%
- \ExplSyntaxOff
-\fi%
-\newcommand*\tud@font@init@nfss{%
+ \renewcommand*\familydefault{\sfdefault}%
+ \renewcommand*\seriesdefault{\mddefault}%
+ \renewcommand*\shapedefault{\updefault}%
+ \fi%
+ \if@tud@x@mweights@enabled%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \fi%
+ \ifdef{\tud@font@math@init}{}{\tud@font@math@set}%
+ \tud@font@skip@set%
+ \normalfont\selectfont%
+ \tud@layout@process%
+ \global\@tud@head@font@settrue%
+}
+\newcommand*\tud@font@skip@set{%
+ \if@tud@relspacing%
+ \tud@skip@store{smallskipamount}%
+ \tud@skip@store{medskipamount}%
+ \tud@skip@store{bigskipamount}%
+ \tud@skip@store{abovecaptionskip}%
+ \tud@skip@store{belowcaptionskip}%
+ \tud@skip@store{columnsep}%
+ \tud@font@skip@@set%
+ \else%
+ \tud@skip@restore{smallskipamount}%
+ \tud@skip@restore{medskipamount}%
+ \tud@skip@restore{bigskipamount}%
+ \tud@skip@restore{abovecaptionskip}%
+ \tud@skip@restore{belowcaptionskip}%
+ \tud@skip@restore{columnsep}%
+ \fi%
+}
+\newcommand*\tud@font@skip@@set{%
+ \smallskipamount=\partopsep%
+ \medskipamount=\partopsep%
+ \multiply\medskipamount by 2%
+ \bigskipamount=\partopsep%
+ \multiply\bigskipamount by 4%
+ \tud@skip@set{abovecaptionskip}{\dimexpr\bigskipamount*5/6\relax}%
+ \tud@skip@set{belowcaptionskip}{\z@}%
+ \tud@skip@set{columnsep}{1.1\baselineskip}%
+}
+\newcommand*\tud@font@init{%
\if@tud@univers%
\newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
\newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
@@ -1349,39 +1707,87 @@
\newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
\newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
\else%
- \newrobustcmd*\univln{}%
- \newrobustcmd*\univrn{}%
- \newrobustcmd*\univbn{}%
- \newrobustcmd*\univxn{}%
- \newrobustcmd*\univls{}%
- \newrobustcmd*\univrs{}%
- \newrobustcmd*\univbs{}%
- \newrobustcmd*\univxs{}%
+ \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 Light Oblique}{md}{sl}}%
+ \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
+ \newrobustcmd*\univbs{\tud@font@fallback{Univers Bold Oblique}{bf}{sl}}%
+ \newrobustcmd*\univxs{\tud@font@fallback{Univers Black Oblique}{bf}{sl}}%
\fi%
\if@tud@dinbold%
- \newrobustcmd*\dinbn{%
- \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
- \mathversion{dinbold}%
- }%
+ \if@tud@x@fontspec@enabled%
+ \newfontface\tud@dinbn{DIN Bold}[%
+ 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},%
+ NFSSFamily = \tud@dinbold%
+ ]%
+ \else%
+ \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
+ \fi%
+ \if@tud@dinboldmath%
+ \appto\tud@dinbn{\mathversion{dinbold}}%
+ \fi%
+ \newrobustcmd*\dinbn{\tud@dinbn}%
\else%
- \newrobustcmd*\dinbn{\sectfont}%
+ \newrobustcmd*\tud@dinbn{\sectfont}%
+ \newrobustcmd*\dinbn{\tud@font@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@wrn{#1}%
+ \sffamily\csuse{#2series}\csuse{#3shape}%
+}
+\newcommand*\tud@font@wrn[1]{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The requested font `#1' is not available, so\MessageBreak%
+ a fallback layout is used%
+ }%
}
\newcommand*\cdfont[1]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\@nameuse{univ\@tempc}}%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
\fi%
}
\providecommand*\tudfont[1]{\cdfont{#1}}
\newcommand*\textcdfont[2]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\@nameuse{textu\@tempc}{#2}}%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
\fi%
}
-\newcommand*\@cdfont[1]{%
- \tud@trimfontname\@tempa{#1}%
+\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}}{%
@@ -1397,33 +1803,34 @@
\ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
\ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
\let\@tempc\relax%
- \PackageWarning{tudscrfonts}{The font `#1' is unknown}%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
}}}}}}}}}}}}}}%
}
-\newcommand*\tud@trimfontname[2]{%
+\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
- \tud@@trimfontname{ }{}%
- \tud@@trimfontname{-}{}%
- \tud@@trimfontname{_}{}%
- \tud@@trimfontname{~}{}%
- \tud@@trimfontname{ce}{}%
- \tud@@trimfontname{ff}{}%
- \tud@@trimfontname{univers}{}%
- \tud@@trimfontname{60}{65}%
- \tud@@trimfontname{light}{45}%
- \tud@@trimfontname{regular}{55}%
- \tud@@trimfontname{bold}{65}%
- \tud@@trimfontname{black}{75}%
- \tud@@trimfontname{4545}{45}%
- \tud@@trimfontname{5555}{55}%
- \tud@@trimfontname{6565}{65}%
- \tud@@trimfontname{7575}{75}%
- \tud@@trimfontname{italic}{oblique}%
- \tud@@trimfontname{slanted}{oblique}%
+ \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%
}
-\newcommand*\tud@@trimfontname[2]{%
+\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
\@whilesw\ifin@\fi{%
@@ -1431,20 +1838,42 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\mv@univers{}%
-\newcommand*\mv@universbold{}%
-\newcommand*\mv@dinbold{}%
+\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@fontspec\if@tud@univers\if@tud@dinbold%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \ClassWarningNoLine{\TUDClassName}%
- {%
- It's recommended to load package `fontspec' with\MessageBreak%
- option `no-math'%
+ \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%
+ }%
}%
- }%
- \fi\fi\fi%
- \if@tud@univers%
+ }{}%
+ \fi\fi%
+ \if@tud@universmath%
\DeclareMathVersion{univers}%
\DeclareMathVersion{universbold}%
\SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
@@ -1455,8 +1884,10 @@
\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
\SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
\SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{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}%
@@ -1465,6 +1896,8 @@
\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}{}%
@@ -1478,15 +1911,19 @@
\SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
}{}%
\fi%
- \if@tud@dinbold%
+ \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%
@@ -1505,192 +1942,41 @@
\tud@font@greek@loop\tud@font@greek@init%
\tud@font@math@set%
}%
- \sbox\z@{\dinbn$ $}%
+ \sbox\z@{\tud@dinbn$ $}%
\undef\tud@font@math@init%
}
-\AtEndPreamble%
-{%
- \tud@font@check%
- \if@tud@fontspec%
- \preto\tud@font@init\tud@font@init@fontspec%
- \else%
- \preto\tud@font@init\tud@font@init@nfss%
- \fi%
- \tud@font@init%
- \tud@font@set[nomath]%
- \AtBeginDocument{\tud@font@math@init}%
-}
\newcommand*\tud@font@greek@init[1]{%
- \ifcsdef{up#1}{}{%
+ \ifcsundef{up#1}{%
\if@tempswa%
\csletcs{up#1}{tud@up#1}%
\else%
\csletcs{up#1}{#1}%
\fi%
- }%
- \ifcsdef{var#1}{}{%
+ }{}%
+ \ifcsundef{var#1}{%
\if@tempswa%
\csletcs{var#1}{#1}%
\else%
\csletcs{var#1}{tud@var#1}%
\fi%
- }%
+ }{}%
}
-\newif\if@tud@mweights
-\AfterPackage*{mweights}{\@tud@mweightstrue}
-\newcommand*\tud@font@set[1][]{%
- \if@tud@mweights%
- \ifdef{\bfseries@rm}{}{\edef\bfseries@rm{\bfdefault}}%
- \ifdef{\bfseries@sf}{}{\edef\bfseries@sf{\bfdefault}}%
- \ifdef{\bfseries@tt}{}{\edef\bfseries@tt{\bfdefault}}%
- \ifdef{\mdseries@rm}{}{\edef\mdseries@rm{\mddefault}}%
- \ifdef{\mdseries@sf}{}{\edef\mdseries@sf{\mddefault}}%
- \ifdef{\mdseries@tt}{}{\edef\mdseries@tt{\mddefault}}%
- \fi%
- \ifcase\tud@cdfont\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@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{false}%
- \cs@std@lock{tud@head@font}{0}%
- \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}%
- \if@tud@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{true}%
- \cs@std@lock{tud@head@font}{\tud@cdfont}%
- \if@tud@fontspec%
- \ifnum\tud@cdfont=\@ne\relax% true
- \setsansfont{Univers Light}[%
- BoldFont = Univers,%
- ItalicFont = Univers Light Oblique,%
- BoldItalicFont = Univers Oblique,%
- ]%
- \setmonofont{LMMonoLt10-Regular}[%
- BoldFont = LMMono10-Regular,%
- ItalicFont = LMMonoLt10-Oblique,%
- BoldItalicFont = LMMonoSlant10-Regular,%
- ]%
- \else% heavy
- \setsansfont{Univers}[%
- BoldFont = Univers Bold,%
- ItalicFont = Univers Oblique,%
- BoldItalicFont = Univers Bold Oblique,%
- ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont = LMMonoLt10-Bold,%
- ItalicFont = LMMonoSlant10-Regular,%
- BoldItalicFont = LMMonoLt10-BoldOblique,%
- ]%
- \fi%
- \else%
- \if@tud@univers%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \ifnum\tud@cdfont=\@ne\relax% true
- \renewcommand*\bfdefault{m}%
- \renewcommand*\mddefault{l}%
- \if@tud@mweights%
- \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
- \renewcommand*\bfdefault{b}%
- \renewcommand*\mddefault{m}%
- \if@tud@mweights%
- \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%
+\newcommand*\tud@font@math@set{%
+ \if@atdocument%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \if@tud@universmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' math fonts not found}%
+ \fi%
+ \if@tud@dinboldmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' math fonts not found}%
\fi%
\fi%
\fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\familydefault{\sfdefault}%
- \renewcommand*\seriesdefault{\mddefault}%
- \renewcommand*\shapedefault{\updefault}%
- \fi%
- \if@tud@mweights%
- \edef\rmdef@ult{\rmdefault}%
- \edef\sfdef@ult{\sfdefault}%
- \edef\ttdef@ult{\ttdefault}%
- \edef\bfdef@ult{\bfdefault}%
- \edef\mddef@ult{\mddefault}%
\fi%
- \tud@font@skip@set%
- \ifstr{#1}{nomath}{}{\tud@font@math@set}%
- \normalfont\selectfont%
- \tud@layout@process%
-}
-\newcommand*\tud@font@skip@set{%
- \tud@ifverlower{2.04}{}{%
- \ifcase\tud@cdfont\relax% false
- \tud@skip@restore{smallskipamount}%
- \tud@skip@restore{medskipamount}%
- \tud@skip@restore{bigskipamount}%
- \tud@skip@restore{abovecaptionskip}%
- \tud@skip@restore{belowcaptionskip}%
- \tud@skip@restore{columnsep}%
- \else% true/heavy
- \tud@skip@store{smallskipamount}%
- \tud@skip@store{medskipamount}%
- \tud@skip@store{bigskipamount}%
- \tud@skip@store{abovecaptionskip}%
- \tud@skip@store{belowcaptionskip}%
- \tud@skip@store{columnsep}%
- \tud@font@skip@@set%
- \fi%
- }%
-}
-\newcommand*\tud@font@skip@@set{%
- \setlength{\@tempdimb}{\f@baselineskip}%
- \scr@setlength\smallskipamount{\dimexpr\@tempdimb/4\relax}%
- {\dimexpr\@tempdimb/12\relax}{\dimexpr\@tempdimb/12\relax}%
- \scr@setlength\medskipamount{\dimexpr\@tempdimb/2\relax}%
- {\dimexpr\@tempdimb/6\relax}{\dimexpr\@tempdimb/6\relax}%
- \scr@setlength\bigskipamount{\@tempdimb}%
- {\dimexpr\@tempdimb/3\relax}{\dimexpr\@tempdimb/3\relax}%
- \tud@skip@set\abovecaptionskip{\dimexpr4\@tempdimb/5\relax}%
- \tud@skip@set\belowcaptionskip{\z@}%
- \tud@skip@set\columnsep{1.1\baselineskip}%
-}
-\newcommand*\tud@font@math@set{%
- \if@tud@univers%
+ \if@tud@universmath%
\if@tud@cdmath%
\tud@cmd@store{mv@normal}%
\tud@cmd@store{mv@bold}%
@@ -1725,70 +2011,37 @@
}
\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
-\newcommand*\tud@head@font@bold{}
-\newcommand*\tud@head@font@light{}
-\newcommand*\tud@head@font@set{%
- \ifdef{\@raggedtwoe@everyselectfont}{%
- \let\@raggedtwoe@everyselectfont\relax%
- \setlength\spaceskip{\z@}%
- \selectfont%
- }{}%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\sfdefault}{bx}{n}{\tud@head@font@size}%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
- \@tempswafalse%
- \ifcase\tud@head@font\relax% false
- \ifnum\tud@cdfont>\z@\relax% true/heavy
- \ClassWarning{\TUDClassName}{%
- It isn't possible to use `cdhead=false'\MessageBreak%
- together with `cdfont=true'%
- }%
- \@tempswatrue%
- \fi%
- \else% true/heavy
- \@tempswatrue%
- \fi%
- \if@tempswa% true/heavy
- \if@tud@fontspec%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {UniversBold}{m}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {UniversLight}{m}{n}{\tud@head@font@size}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {UniversRegular}{m}{n}{\tud@head@font@size}%
- \fi%
- \else%
- \if@tud@univers%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@font@size}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{m}{n}{\tud@head@font@size}%
- \fi%
- \fi%
- \fi%
+\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{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
+ \tud@font@check%
+ \tud@font@set%
+ \tud@font@init%
+ \AtBeginDocument{\tud@font@math@init}%
+}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}%
}
\newrobustcmd*\ifdin{%
- \@tempswafalse%
- \@expandtwoargs\in@{DINBold}{\f@family}%
- \ifin@\@tempswatrue\fi%
- \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi%
- \if@tempswa%
+ \ifx\f@family\tud@dinbold%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
}
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
+\newcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdfont@din%
+ \tud@dinbn\tud@raggedright%
+ \else%
+ \sectfont#1%
+ \fi%
}
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
@@ -1798,37 +2051,73 @@
}{}%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
-\AfterPackage*{siunitx}{%
- \providecommand*\lseries{\fontseries{l}\selectfont}
+\RequirePackage{textcase}[2004/10/07]
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+ \protect\vphantom{\"A\"O\"U}%
}
%%% From File: tudscr-fields.dtx
-\RequirePackage{trimspaces}[2009/09/17]
\newcommand*\@faculty{}
-\newcommand*\faculty[2][]{\gdef\@faculty{\trim@spaces{#2}}}
\newcommand*\@department{}
-\newcommand*\department[2][]{\gdef\@department{\trim@spaces{#2}}}
\newcommand*\@institute{}
-\newcommand*\institute[2][]{\gdef\@institute{\trim@spaces{#2}}}
\newcommand*\@chair{}
-\newcommand*\chair[2][]{\gdef\@chair{\trim@spaces{#2}}}
+\newcommand*\faculty[2][]{\tud@head@text@field{faculty}{#2}}
+\newcommand*\department[2][]{\tud@head@text@field{department}{#2}}
+\newcommand*\institute[2][]{\tud@head@text@field{institute}{#2}}
+\newcommand*\chair[2][]{\tud@head@text@field{chair}{#2}}
\newcommand*\@extraheadline{}
-\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}}
+\newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}{#1}}
+\newcommand*\tud@head@text@field[2]{%
+ \csgdef{@#1}{\trim@spaces{#2}}%
+ \global\@tud@head@text@settrue%
+}
\newcommand*\@@title{}
+\robustify\@title
\renewcommand*\title[1]{%
\gdef\@title{#1}%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
\protected@xdef\@@title{\trim@spaces{#1}}%
\endgroup%
}
+\newcommand*\@@author{}
+\renewcommand*\author[1]{%
+ \gdef\@author{#1}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
+ \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}%
+ \let\@tempb\tud@split@author@list%
+ \robustify\and%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \protected@edef\@@author{#1}%
+ \tud@replace\@@author{ \relax }{}%
+ \tud@replace\@@author{\relax }{}%
+ \tud@replace\@@author{ \relax}{}%
+ \tud@replace\@@author{\relax}{}%
+ \tud@replace\@@author{ \and }{\and}%
+ \tud@replace\@@author{ \and}{\and}%
+ \tud@replace\@@author{\and }{\and}%
+ \protected@xdef\@@author{\trim@spaces{\@@author}}%
+ \endgroup%
+}
\newcommand*\@authormore{}
-\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}}
+\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\newcommand*\@course{}
+\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces}
+\newcommand*\@discipline{}
+\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces}
+\providecommand*\publisher[1]{\publishers{#1}}
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
-\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
+\newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}}
\newcommand*\tud@thanks{}
-\newcommand*\tud@thesis[2]{%
+\newcommand*\tud@thesis@do[2]{%
\begingroup%
\global\let\tud@thanks\relax%
\def\thanks##1{\gdef\tud@thanks{##1}}%
@@ -1840,47 +2129,51 @@
\ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
\global\let\@tempa\@tempa%
\endgroup%
- \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{%
- \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{%
- \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{%
- \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{%
- \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{%
- \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{%
- \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{%
- \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{%
- \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{%
- \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{%
- \@namedef{@#1}{#2}%
- }}}}}}}}}}}}}%
-}
-\newcommand*\tud@@thesis[2]{%
+ \ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{diploma}{\tud@thesis@@do{#1}{\diplomathesisname}}{%
+ \ifstr{\@tempa}{master}{\tud@thesis@@do{#1}{\masterthesisname}}{%
+ \ifstr{\@tempa}{bachelor}{\tud@thesis@@do{#1}{\bachelorthesisname}}{%
+ \ifstr{\@tempa}{student}{\tud@thesis@@do{#1}{\studentthesisname}}{%
+ \ifstr{\@tempa}{evidence}{\tud@thesis@@do{#1}{\studentresearchname}}{%
+ \ifstr{\@tempa}{project}{\tud@thesis@@do{#1}{\projectpapername}}{%
+ \ifstr{\@tempa}{seminar}{\tud@thesis@@do{#1}{\seminarpapername}}{%
+ \ifstr{\@tempa}{term}{\tud@thesis@@do{#1}{\termpapername}}{%
+ \ifstr{\@tempa}{research}{\tud@thesis@@do{#1}{\researchname}}{%
+ \ifstr{\@tempa}{log}{\tud@thesis@@do{#1}{\logname}}{%
+ \ifstr{\@tempa}{report}{\tud@thesis@@do{#1}{\reportname}}{%
+ \ifstr{\@tempa}{internship}{\tud@thesis@@do{#1}{\internshipname}}{%
+ \csdef{@#1}{#2}%
+ }}}}}}}}}}}}}}}%
+}
+\newcommand*\tud@thesis@@do[2]{%
\ifstr{#1}{subject}{%
\ifx\@thesis\@empty\else%
- \ClassWarning{\TUDClassName}{Field `thesis' is overwritten by `subject'}%
+ \ClassWarning{\TUD@Class@Name}{%
+ Field `thesis' is overwritten by `subject'%
+ }%
\fi%
- \TUD@std@ifkey@lock{subjectthesis}{true}%
+ \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{true}%
}{%
- \TUD@std@ifkey@lock{subjectthesis}{false}%
+ \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{false}%
}%
\ifx\tud@thanks\relax%
\gdef\@thesis{#2}%
\else%
\protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}%
\fi%
- \gdef\@@thesis{#2}%
+ \protected@xdef\@@thesis{\trim@spaces{#2}}%
}
-\renewcommand*\subject[1]{\tud@thesis{subject}{#1}}
+\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}}
\newcommand*\@graduation{}
-\newcommand*\@graduationabbr{}
+\newcommand*\@@graduation{}
\newcommand*\graduation[2][]{%
- \ifxblank{#1}{\gdef\@graduationabbr{}}{\gdef\@graduationabbr{(#1)}}%
+ \ifxblank{#1}{\gdef\@@graduation{}}{\gdef\@@graduation{(#1)}}%
\gdef\@graduation{#2}%
}
\newcommand*\@professor{}
-\newcommand*\professor[2][]{\gdef\@professor{#2}}
+\newcommand*\professor[1]{\gdef\@professor{#1}}
\newcommand*\@supervisor{}
\newcommand*\supervisor[1]{\gdef\@supervisor{#1}}
\newcommand*\@supporter{}
@@ -1893,41 +2186,31 @@
\newcommand*\advisor[1]{\gdef\@advisor{#1}}
\newcommand*\@matriculationnumber{}
\newrobustcmd*\matriculationnumber[1]{%
- \gdef\@matriculationnumber{#1}%
+ \gdef\@matriculationnumber{#1}\ignorespaces%
}
\newcommand*\@matriculationyear{}
-\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}}
+\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
\newcommand*\@placeofbirth{}
-\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}}
-\providecommand*\publisher[1]{\publishers{#1}}
-\newlength\tud@signatureskip
-\setlength\tud@signatureskip{15mm plus 10mm minus 10mm}
+\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
+\newlength\tud@len@signatureskip
+\setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex}
\newcommand*\@confirmationclosing{%
- \tud@datecheck%
+ \tud@date@check%
\ifx\@date\@empty\else%
\medskip\noindent%
\ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
\fi%
- \vskip\tud@signatureskip\noindent%
+ \vskip\tud@len@signatureskip\noindent%
\begingroup%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \renewcommand*\tud@split@author[2]{%
- \tud@multiple@fields@store{@author}{##1}%
- \ignorespaces##1%
- \tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{##2}{\hfil}%
- }%
- \tud@multiple@split{@author}%
- \hfil%
+ \let\and\hfil%
+ \@@author\hfil%
\endgroup%
}
\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\gdef\@place{#1}}
-\newcommand*\printdate[1]{#1}
-\BeforePackage{isodate}{\undef\printdate}
-\newcommand*\tud@printdate[2]{%
+\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
+\newcommand*\tud@x@isodate@printdate[2]{%
\ifx\today#2\relax%
\gdef#1{#2}%
\else%
@@ -1936,43 +2219,77 @@
{\gdef#1{\printdate{#2}}}%
\fi%
}
-\newcommand*\tud@datecheck{%
+\newcommand*\tud@date@check{%
\ifdefvoid{\@duedate}{%
- \ClassWarning{\TUDClassName}{%
- `\string\date' was not given.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
Since a thesis is a self-contained work, an end\MessageBreak%
date should be specified by the author.\MessageBreak%
Nevertheless, today's date is used%
}%
}{%
- \ClassWarning{\TUDClassName}{%
- `\string\date' was not given.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
It's substituted by the given due date%
}%
\global\let\@date\@duedate%
}%
- \global\let\tud@datecheck\relax%
-}
-\newcommand*\@datemore{}
-\renewcommand*\date[2][]{%
- \gdef\@datemore{\trim@spaces{#1}}%
- \tud@printdate{\@date}{#2}%
- \global\let\tud@datecheck\relax%
+ \global\let\tud@date@check\relax%
+}
+\renewcommand*\date{%
+ \kernel@ifstar{%
+ \TUD@parameter@set{date}{pre=\noexpand\@place{,}}%
+ \tud@date@set%
+ }{\tud@date@set}%
+}
+\newcommand*\tud@date@set[2][]{%
+ \TUD@parameter@set{date}{#1}%
+ \tud@x@isodate@printdate{\@date}{#2}%
+ \global\let\tud@date@check\relax%
+}
+\newcommand*\tud@date@pre{}
+\newcommand*\tud@date@app{}
+\TUD@parameter@family{date}{%
+ \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@let{pre}{before}%
+ \TUD@parameter@let{prefix}{before}%
+ \TUD@parameter@def{after}{\def\tud@date@app{#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@handler@value{after}%
+}
+\newcommand*\tud@date@print{%
+ \ifx\@date\@empty\else%
+ \ifx\tud@date@pre\@empty\else%
+ \expandafter\trim@spaces\expandafter{\tud@date@pre}\nobreakspace%
+ \fi%
+ \@date%
+ \ifx\tud@date@app\@empty\else%
+ \nobreakspace\expandafter\trim@spaces\expandafter{\tud@date@app}%
+ \fi%
+ \fi%
}
\newcommand*\@defensedate{}
-\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
+\newcommand*\defensedate[1]{\tud@x@isodate@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
-\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}}
-\newcommand*\tud@multiple@@split{}%
+\newrobustcmd*\dateofbirth[1]{%
+ \tud@x@isodate@printdate{\@dateofbirth}{#1}\ignorespaces%
+}
+\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
\expandafter\ifpatchable\expandafter{\csname#1\endcsname}{%
- \@latex@warning@no@line}{\csuse{#1}\csgdef{#1}{}%
+ \@latex@warning@no@line%
+ }{%
+ \csuse{#1}\csgdef{#1}{}%
}{}%
\def\tud@multiple@@split##1\and##2\relax{%
- \expandafter\csname tud@split#1\endcsname{##1}{##2}%
+ \expandafter\csname tud@split#1@do\endcsname{##1}{##2}%
}%
\begingroup%
\let\and\relax%
+ \def\newline{}%
+ \def\\{}%
\edef\@tempa{\csname#1\endcsname\and}%
\expandafter\endgroup%
\expandafter\tud@multiple@@split\@tempa\relax%
@@ -1986,13 +2303,10 @@
\@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
- \letcs\@tempa{tud@split#1@list}%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \letcs\@tempb{tud@split#1@list}%
\let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifcsdef{@\@tempb}{\tud@cmd@store{@\@tempb}}{}%
- \fi%
- }%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
@@ -2000,45 +2314,68 @@
\endgroup%
}
\newcommand*\tud@multiple@fields@restore[1]{%
- \letcs\@tempa{tud@split#1@list}%
+ \def\@tempa##1{%
+ \ifcsdef{@##1}{%
+ \tud@cmd@restore{@##1}%
+ \global\csletcs{@##1}{@##1}%
+ }{}%
+ }%
+ \letcs\@tempb{tud@split#1@list}%
\let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifcsdef{@\@tempb}{%
- \tud@cmd@restore{@\@tempb}%
- \global\csletcs{@\@tempb}{@\@tempb}%
- }{}%
- \fi%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+}
+\newcommand*\tud@multiple@fields@preset[3]{%
+ \def\@tempa##1{%
+ \edef\@tempc{\csuse{##1}}%
+ \ifstr{#2}{*}{%
+ \csdef{@##1}{}%
+ }{%
+ \begingroup%
+ \protected@expandtwoargs\in@{\@tempc}{\csuse{#1}}%
+ \ifin@%
+ \ifcsvoid{@##1}{\@tempc{#2}}{}%
+ \fi%
+ \endgroup%
+ }%
}%
+ \letcs\@tempb{tud@split#1@list}%
+ \let\and\relax%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \sbox\z@{#3}%
+ \endgroup%
}
-\newcommand*\tud@split@author[2]{}
+\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
- authormore,matriculationyear,enrolmentyear,%
+ authormore,course,discipline,%
+ matriculationyear,enrolmentyear,%
matriculationnumber,studentid,matriculationid,%
placeofbirth,birthplace,dateofbirth,birthday,%
}
%%% From File: tudscr-locale.dtx
\newcommand*\tud@locale@define[1]{%
\providecommand*#1{%
- \ClassError{\TUDClassName}{%
+ \ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
}{%
- Currently the class `\TUDClassName' only supports the\MessageBreak%
+ Currently the class `\TUD@Class@Name' only supports the\MessageBreak%
languages german and english an its dialects. You must\MessageBreak%
define single patterns by yourself, e.g.:\MessageBreak%
`\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak%
You can send your definitions to \tudscrmail\space in\MessageBreak%
- order to implement support for additional languages.
+ order to implement support for additional languages.%
}%
}%
}
\tud@locale@define{\graduationtext}
-\tud@locale@define{\supervisorname}
-\tud@locale@define{\supervisorothername}
\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}
@@ -2049,63 +2386,88 @@
\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}
+\newcommand*\tud@ifin@and[1]{%
+ \begingroup%
+ \let\and\relax%
+ \protected@edef\@tempb{#1}%
+ \def\@tempa##1\and##2\relax{%
+ \IfArgIsEmpty{##2}{%
+ \aftergroup\@secondoftwo%
+ }{%
+ \aftergroup\@firstoftwo%
+ }%
+ }%
+ \expandafter\@tempa\@tempb\and\relax%
+ \endgroup
+}
\newcommand*\tud@locale@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}%
-\tud@locale@german{\supervisorname}{Betreuer}%
-\tud@locale@german{\supervisorothername}{}%
\tud@locale@german{\refereename}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@referee}%
- }%
- \endgroup%
- \if@tempswa%
- Erstgutachter%
- \else%
- Gutachter%
- \fi%
-}
+ \tud@ifin@and{\@referee}{%
+ \ifx\refereeothername\@empty%
+ Gutachter%
+ \else%
+ Erstgutachter%
+ \fi%
+ }{Gutachter}%
+}%
\tud@locale@german{\refereeothername}{Zweitgutachter}%
-\tud@locale@german{\advisorname}{Fachreferent}%
+\tud@locale@german{\advisorname}{%
+ \tud@ifin@and{\@advisor}{%
+ \ifx\advisorothername\@empty%
+ Fachreferenten%
+ \else%
+ Erster Fachreferent%
+ \fi%
+ }{Fachreferent}%
+}%
\tud@locale@german{\advisorothername}{}%
+\tud@locale@german{\supervisorname}{%
+ \tud@ifin@and{\@supervisor}{%
+ \ifx\supervisorothername\@empty%
+ Betreuer%
+ \else%
+ Erstbetreuer%
+ \fi%
+ }{Betreuer}%
+}%
+\tud@locale@german{\supervisorothername}{}%
\tud@locale@german{\professorname}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@professor}%
- }%
- \endgroup%
- \if@tempswa%
- Betreuende Hochschullehrer%
- \else%
- Betreuender Hochschullehrer%
- \fi%
-}
+ \tud@ifin@and{\@professor}{%
+ \ifx\professorothername\@empty%
+ Betreuende Hochschullehrer%
+ \else%
+ Erster betreuender Hochschullehrer%
+ \fi%
+ }{Betreuender Hochschullehrer}%
+}%
\tud@locale@german{\professorothername}{}%
\tud@locale@german{\datetext}{Eingereicht am}%
\tud@locale@german{\dateofbirthtext}{Geboren am}%
@@ -2115,29 +2477,30 @@
\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}{%
Hiermit versichere ich, dass ich die vorliegende
\ifx\@@thesis\@empty Arbeit \else\@@thesis{} \fi
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
- selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es
- wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel und
- Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} \"ubernommenen
- Zitate habe ich als solche kenntlich gemacht.
+ selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe.
+ Es wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel
+ und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{}
+ \"ubernommenen Zitate habe ich als solche kenntlich gemacht.
\ifx\@supporter\@empty%
- Es waren keine weiteren Personen an der geistigen Herstellung der
- vorliegenden Arbeit beteiligt.
+ Es waren keine weiteren Personen an der geistigen Herstellung
+ der vorliegenden Arbeit beteiligt.
\else%
- W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden
- Personen unterst\"utzt:%
+ W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von
+ folgenden Personen unterst\"utzt:%
\begin{quote}\def\and{\newline}\@supporter\end{quote}%
- \noindent Weitere Personen waren an der geistigen Herstellung der
- vorliegenden Arbeit nicht beteiligt.
+ \noindent Weitere Personen waren an der geistigen Herstellung
+ der vorliegenden Arbeit nicht beteiligt.
\fi%
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}{%
Diese \ifx\@@thesis\@empty Arbeit \else\@@thesis{} \fi
@@ -2149,18 +2512,22 @@
durch \emph{\@company} \fi nicht gestattet, ebenso wie
Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die
vorliegende Arbeit ist nur dem Betreuer an der Technischen
- Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des
- Pr\"ufungsausschusses zug\"anglich zu machen.%
-}
+ 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{\studentresearchname}{Studienarbeit}%
+\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}%
@@ -2171,39 +2538,45 @@
}%
}
\tud@locale@english{\graduationtext}{to achieve the academic degree}%
-\tud@locale@english{\supervisorname}{Supervisor}%
-\tud@locale@english{\supervisorothername}{}%
\tud@locale@english{\refereename}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@referee}%
- }%
- \endgroup%
- \if@tempswa%
- First referee%
- \else%
- Referee%
- \fi%
-}
+ \tud@ifin@and{\@referee}{%
+ \ifx\refereeothername\@empty%
+ Referees%
+ \else%
+ First referee%
+ \fi%
+ }{Referee}%
+}%
\tud@locale@english{\refereeothername}{Second referee}%
-\tud@locale@english{\advisorname}{Advisor}%
+\tud@locale@english{\advisorname}{%
+ \tud@ifin@and{\@advisor}{%
+ \ifx\advisorothername\@empty%
+ Advisors%
+ \else%
+ First advisor%
+ \fi%
+ }{Advisor}%
+}%
\tud@locale@english{\advisorothername}{}%
+\tud@locale@english{\supervisorname}{%
+ \tud@ifin@and{\@supervisor}{%
+ \ifx\supervisorothername\@empty%
+ Supervisors%
+ \else%
+ First supervisor%
+ \fi%
+ }{Supervisor}%
+}%
+\tud@locale@english{\supervisorothername}{}%
\tud@locale@english{\professorname}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@professor}%
- }%
- \endgroup%
- \if@tempswa%
- Supervising professors%
- \else%
- Supervising professor%
- \fi%
-}
+ \tud@ifin@and{\@professor}{%
+ \ifx\professorothername\@empty%
+ Supervising professors%
+ \else%
+ First supervising professor%
+ \fi%
+ }{Supervising professor}%
+}%
\tud@locale@english{\professorothername}{}%
\tud@locale@english{\datetext}{Submitted on}%
\tud@locale@english{\dateofbirthtext}{Born on}%
@@ -2213,6 +2586,7 @@
\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}{%
@@ -2224,40 +2598,44 @@
indicated in this thesis have been used. I have marked
both literal and accordingly adopted quotations as such.
\ifx\@supporter\@empty%
- They were no additional persons involved in the spiritual
- preparation of the present thesis.
+ There were no additional persons involved in the
+ intellectual preparation of the present thesis.
\else%
- During the preparation of this thesis I was only supported
- by the following persons:%
+ During the preparation of this thesis I was only
+ supported by the following persons:%
\begin{quote}\def\and{\newline}\@supporter\end{quote}%
- \noindent Additional persons were not involved in the spiritual
- preparation of the present thesis.
+ \noindent Additional persons were not involved in the
+ intellectual preparation of the present thesis.
\fi%
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}{%
This \ifx\@@thesis\@empty thesis \else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
contains confidential data\ifx\@company\@empty\else
- , disclosed by \emph{\@company}\fi. Publications, duplications and
- inspections---even in part---are prohibited without explicit
+ , disclosed by \emph{\@company}\fi. Publications, duplications
+ and inspections---even in part---are prohibited without explicit
permission\ifx\@company\@empty\else\space by \emph{\@company}\fi,
as well as publications about the content of this thesis.
This thesis may only be made accessible to the supervisor at
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}%
@@ -2272,205 +2650,1255 @@
\tud@locale@english{\@commaswap}{\,}%
\tud@locale@english{\@dotswap}{.}%
}
-%%% From File: tudscr-pagestyle.dtx
-\newlength\tud@dim@widemargin
-\newlength\tud@dim@slimmargin
-\newlength\tud@dim@both
-\newlength\tud@dim@topmargin
-\newlength\tud@dim@barheight
-\newlength\tud@dim@headsep
-\newlength\tud@dim@footsep
-\newlength\tud@dim@logox
-\newlength\tud@dim@logoy
-\newlength\tud@dim@logowidth
-\newlength\tud@dim@line
-\newlength\tud@dim@heavyline
-\newlength\tud@dim@thinline
-\newlength\tud@dim@headdiff
-\newlength\tud@dim@headingsvskip
-\tud@ifverlower{2.03}{\newlength\tud@dim@ddcdiff}{}
-\newcommand*\tud@head@font@size{}
-\newcommand*\tud@geometry@set{%
- \ifdim\paperheight<148.1mm\relax%
- \setlength\tud@dim@widemargin{15mm}%
- \setlength\tud@dim@heavyline{0.5pt}%
- \setlength\tud@dim@thinline{0.25pt}%
- \def\tud@head@font@size{4.5}%
- \else\ifdim\paperheight<297.1mm\relax%
- \setlength\tud@dim@widemargin{30mm}%
- \setlength\tud@dim@heavyline{1pt}%
- \setlength\tud@dim@thinline{0.5pt}%
- \def\tud@head@font@size{9}%
- \else\ifdim\paperheight<420.1mm\relax%
- \setlength\tud@dim@widemargin{42.426407mm}%
- \setlength\tud@dim@heavyline{1.414214pt}%
- \setlength\tud@dim@thinline{0.707107pt}%
- \def\tud@head@font@size{12.727922}%
- \else\ifdim\paperheight<594.1mm\relax%
- \setlength\tud@dim@widemargin{60mm}%
- \setlength\tud@dim@heavyline{2pt}%
- \setlength\tud@dim@thinline{1pt}%
- \def\tud@head@font@size{18}%
- \else\ifdim\paperheight<841.1mm\relax%
- \setlength\tud@dim@widemargin{84.852814mm}%
- \setlength\tud@dim@heavyline{2.828427pt}%
- \setlength\tud@dim@thinline{1.414214pt}%
- \def\tud@head@font@size{25.455844}%
+%%% From File: tudscr-area.dtx
+\newlength\tud@len@widemargin
+\newlength\tud@len@slimmargin
+\newlength\tud@len@both
+\newlength\tud@len@topmargin
+\newlength\tud@len@barheight
+\newlength\tud@len@headsep
+\newlength\tud@len@footsep
+\newlength\tud@len@logox
+\newlength\tud@len@logoy
+\newlength\tud@len@logowidth
+\newlength\tud@len@line
+\newlength\tud@len@heavyline
+\newlength\tud@len@thinline
+\newlength\tud@len@areaheadvskip
+\newlength\tud@len@areadiff
+\newlength\tud@len@areavskip
+\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newif\if@tud@cdgeometry@adjust
+\newlength\tud@len@layoutheight
+\newlength\tud@len@layoutwidth
+\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@dim@widemargin{120mm}%
- \setlength\tud@dim@heavyline{4pt}%
- \setlength\tud@dim@thinline{2pt}%
- \def\tud@head@font@size{36}%
- \fi\fi\fi\fi\fi%
- \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}%
- \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}%
- \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}%
- \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}%
- \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}%
- \setlength\tud@dim@footsep{%
- \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \fi%
+ \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
+ \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.05}{%
+ \ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr148mm+1.5mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr229mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr297mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr420mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr594mm+2mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr841mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1189mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
+ }{%
+ \ifdim\tud@len@layoutheight<\dimexpr125mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr176mm+2mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr250mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr353mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr500mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr707mm+3mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1000mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1414mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
}%
+ \@tud@cdgeometry@adjustfalse%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \ifnum\@tempa>\z@\relax%
+ \ifnum\@tempa<8\relax%
+ \def\@tempa{3}%
+ \fi%
+ \fi%
+ \fi%
+ \ifcase\@tempa\relax% <=A7/B7
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ small paper height. It is recommended to increase\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{148mm}%
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \or% <=A6/B6
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \setlength\tud@len@thinline{0.25pt}%
+ \renewcommand*\tud@head@fontsize{4.5}%
+ \or% <=A5/B5
+ \ifnum\tud@cdgeometry@calc@num=\z@\relax% restricted
+ \@tud@cdgeometry@adjusttrue%
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \else%
+ \setlength\tud@len@widemargin{21.213203mm}%
+ \setlength\tud@len@heavyline{0.707107pt}%
+ \setlength\tud@len@thinline{0.353553pt}%
+ \renewcommand*\tud@head@fontsize{6.363961}%
+ \fi%
+ \or% <=A4/B4
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \or% <=A3/B3
+ \setlength\tud@len@widemargin{42.426407mm}%
+ \setlength\tud@len@heavyline{1.414214pt}%
+ \setlength\tud@len@thinline{0.707107pt}%
+ \renewcommand*\tud@head@fontsize{12.727922}%
+ \or% <=A2/B2
+ \setlength\tud@len@widemargin{60mm}%
+ \setlength\tud@len@heavyline{2pt}%
+ \setlength\tud@len@thinline{1pt}%
+ \renewcommand*\tud@head@fontsize{18}%
+ \or% <=A1/B1
+ \setlength\tud@len@widemargin{84.852814mm}%
+ \setlength\tud@len@heavyline{2.828427pt}%
+ \setlength\tud@len@thinline{1.414214pt}%
+ \renewcommand*\tud@head@fontsize{25.455844}%
+ \or% <=A0/B0
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@heavyline{4pt}%
+ \setlength\tud@len@thinline{2pt}%
+ \renewcommand*\tud@head@fontsize{36}%
+ \else% >A0/B0
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ huge paper height. It is recommended to reduce\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{1189mm}%
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{4pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \tud@divide\@tempa{\tud@len@layoutheight}{297mm}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \global\@tud@head@font@settrue%
+ \setlength\tud@len@slimmargin{\dimexpr2\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@both{\dimexpr5\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@topmargin{\dimexpr7\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@barheight{\dimexpr\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@headsep{\dimexpr2\tud@len@widemargin/5\relax}%
+ \setlength\tud@len@logox{\dimexpr1.1\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@logoy{\dimexpr0.45\tud@len@widemargin\relax}%
+ \setlength\tud@len@logowidth{\dimexpr1.9\tud@len@widemargin\relax}%
+ \setlength\tud@len@footsep{%
+ \dimexpr\tud@len@widemargin-.6\tud@len@topmargin\relax%
+ }%
+ \if@tud@cdgeometry@adjust%
+ \setlength\tud@len@headsep{\dimexpr.707107\tud@len@headsep\relax}%
+ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
+ \fi%
}
-\newcommand*\tud@ifsacrop{%
- \ifcsdef{ifsa@crop}{%
- \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}%
- }{%
- \@secondoftwo%
+\newif\if@tud@x@crop@center
+\AfterPackage{crop}{%
+ \CheckCommand*\CROP@center{%
+ \voffset\stockheight
+ \advance\voffset-\paperheight
+ \voffset.5\voffset
+ \hoffset\stockwidth
+ \advance\hoffset-\paperwidth
+ \hoffset.5\hoffset
+ }%
+ \pretocmd{\CROP@center}{%
+ \@tud@x@crop@centertrue%
+ }{}{\tud@patch@wrn{CROP@center}}
+}
+\newif\if@tud@x@standalone@crop
+\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
+\newcommand*\tud@cdgeometry@process{}
+\newcommand*\tud@cdgeometry@@process{}
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{geometry}%
+\else
+ \RequirePackage{geometry}[2010/09/12]%
+\fi
+\AfterPackage*{geometry}{%
+ \CheckCommand*\Gm@initnewgm{%
+ \Gm@passfalse
+ \Gm@swap@papersizefalse
+ \Gm@dimlist={}
+ \Gm@hbodyfalse
+ \Gm@vbodyfalse
+ \Gm@heightroundedfalse
+ \Gm@includeheadfalse
+ \Gm@includefootfalse
+ \Gm@includempfalse
+ \let\Gm@width\@undefined
+ \let\Gm@height\@undefined
+ \let\Gm@textwidth\@undefined
+ \let\Gm@textheight\@undefined
+ \let\Gm@lines\@undefined
+ \let\Gm@hscale\@undefined
+ \let\Gm@vscale\@undefined
+ \let\Gm@hmarginratio\@undefined
+ \let\Gm@vmarginratio\@undefined
+ \let\Gm@lmargin\@undefined
+ \let\Gm@rmargin\@undefined
+ \let\Gm@tmargin\@undefined
+ \let\Gm@bmargin\@undefined
+ \Gm@layoutfalse
+ \Gm@layouthoffset\z@
+ \Gm@layoutvoffset\z@
+ \Gm@bindingoffset\z@
+ }%
+ \expandafter\CheckCommand%
+ \csname\expandafter\@gobble\string\Gm@changelayout\space\endcsname{%
+ \setlength{\@colht}{\textheight}
+ \setlength{\@colroom}{\textheight}%
+ \setlength{\vsize}{\textheight}
+ \setlength{\columnwidth}{\textwidth}%
+ \if@twocolumn%
+ \advance\columnwidth-\columnsep
+ \divide\columnwidth\tw@%
+ \@firstcolumntrue%
+ \fi%
+ \setlength{\hsize}{\columnwidth}%
+ \setlength{\linewidth}{\hsize}%
+ }%
+ \CheckCommand*\Gm@@process{%
+ \Gm@expandlengths
+ \Gm@adjustpaper
+ \addtolength\Gm@layoutwidth{-\Gm@bindingoffset}%
+ \Gm@adjustmp
+ \Gm@adjustbody
+ \Gm@detall{h}{width}{lmargin}{rmargin}%
+ \Gm@detall{v}{height}{tmargin}{bmargin}%
+ \setlength\textwidth{\Gm@width}%
+ \setlength\textheight{\Gm@height}%
+ \setlength\topmargin{\Gm@tmargin}%
+ \setlength\oddsidemargin{\Gm@lmargin}%
+ \addtolength\oddsidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\textwidth-\Gm@wd@mp
+ \advance\oddsidemargin\Gm@odd@mp
+ \fi
+ \if@mparswitch
+ \setlength\evensidemargin{\Gm@rmargin}%
+ \addtolength\evensidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\evensidemargin\Gm@even@mp
+ \fi
+ \else
+ \evensidemargin\oddsidemargin
+ \fi
+ \advance\oddsidemargin\Gm@bindingoffset
+ \addtolength\topmargin{-1\Gm@truedimen in}%
+ \ifGm@includehead
+ \addtolength\textheight{-\headheight}%
+ \addtolength\textheight{-\headsep}%
+ \else
+ \addtolength\topmargin{-\headheight}%
+ \addtolength\topmargin{-\headsep}%
+ \fi
+ \ifGm@includefoot
+ \addtolength\textheight{-\footskip}%
+ \fi
+ \ifGm@heightrounded
+ \setlength\@tempdima{\textheight}%
+ \addtolength\@tempdima{-\topskip}%
+ \@tempcnta\@tempdima
+ \@tempcntb\baselineskip
+ \divide\@tempcnta\@tempcntb
+ \setlength\@tempdimb{\baselineskip}%
+ \multiply\@tempdimb\@tempcnta
+ \advance\@tempdima-\@tempdimb
+ \multiply\@tempdima\tw@
+ \ifdim\@tempdima>\baselineskip
+ \addtolength\@tempdimb{\baselineskip}%
+ \fi
+ \addtolength\@tempdimb{\topskip}%
+ \textheight\@tempdimb
+ \fi
+ \advance\oddsidemargin\Gm@layouthoffset%
+ \advance\evensidemargin\Gm@layouthoffset%
+ \advance\topmargin\Gm@layoutvoffset%
+ \addtolength\Gm@layoutwidth{\Gm@bindingoffset}%
+ }%
+ \CheckCommand\geometry[1]{%
+ \Gm@clean
+ \setkeys{Gm}{#1}%
+ \Gm@process%
+ }%
+ \CheckCommand\newgeometry[1]{%
+ \clearpage
+ \Gm@restore@org
+ \Gm@initnewgm
+ \Gm@newgmtrue
+ \setkeys{Gm}{#1}%
+ \Gm@newgmfalse
+ \Gm@process
+ \ifnum\mag=\@m\else\Gm@magtooffset\fi
+ \Gm@changelayout
+ \Gm@showparams{newgeometry}%
+ }%
+ \CheckCommand\restoregeometry{%
+ \clearpage
+ \Gm@restore@pkg
+ \Gm@changelayout%
+ }%
+ \CheckCommand*\savegeometry[1]{%
+ \Gm@save
+ \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}%
+ }%
+ \CheckCommand*\loadgeometry[1]{%
+ \clearpage
+ \@ifundefined{Gm@restore@@#1}{%
+ \PackageError{geometry}{%
+ \string\loadgeometry : name `#1' undefined}{%
+ The name `#1' should be predefined with \string\savegeometry}%
+ }{\@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%
+ \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}%
+ \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%
+ \fi%
+ }%
+ }%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \TUD@parameter@family{geometry}{%
+ \TUD@parameter@def{paper}{\tud@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@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{layoutheight}{%
+ \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ }%
+ \TUD@parameter@def{layoutsize}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \tud@area@def{layout}{##1:##1}%
+ }{%
+ \tud@area@def{layout}{##1:##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \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}%
+ }%
+ }
+ \newcommand*\tud@area@def[2]{%
+ \tud@lowerstring{\@tempa}{#2}%
+ \def\@tempb##1paper##2\@nil{%
+ \ifstr{##2}{paper}{\def\@tempa{##1}}{}%
+ }%
+ \expandafter\@tempb\@tempa paper\@nil%
+ \@tempswafalse%
+ \ifstr{\@tempa}{seascape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{landscape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{portrait}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{letter}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{executive}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{legal}{\@tempswatrue}{}%
+ \if@tempswa\else%
+ \ifx\@tempa\@empty\relax\else%
+ \def\@tempb##1##2\@nil{%
+ \if ##1a\@tempswatrue%
+ \else\if ##1b\@tempswatrue%
+ \else\if ##1c\@tempswatrue%
+ \else\if ##1d\@tempswatrue%
+ \fi\fi\fi\fi%
+ \if@tempswa%
+ \@tempswafalse%
+ \IfArgIsEmpty{##2}{}{\ifnumber{##2}{\@tempswatrue}{}}%
+ \fi%
+ }%
+ \expandafter\@tempb\@tempa\@nil%
+ \if@tempswa\else%
+ \def\@tempb##1:##2:##3\@nil{%
+ \IfArgIsEmpty{##2}{}{%
+ \@tempswatrue%
+ \def\@tempa{##1:##2}%
+ }%
+ }%
+ \expandafter\@tempb\@tempa::\@nil%
+ \fi%
+ \if@tempswa\else%
+ \def\tud@reserved##1:##2:##3:##4\@nil{%
+ \if@tempswa\else%
+ \ifstr{\@tempa}{##1}{%
+ \@tempswatrue%
+ \def\@tempa{##2##4:##3##4}%
+ }{}%
+ \fi%
+ }%
+ \tud@reserved b0j:1030:1456:mm\@nil%
+ \tud@reserved b1j:728:1030:mm\@nil%
+ \tud@reserved b2j:515:728:mm\@nil%
+ \tud@reserved b3j:364:515:mm\@nil%
+ \tud@reserved b4j:257:364:mm\@nil%
+ \tud@reserved b5j:182:257:mm\@nil%
+ \tud@reserved b6j:128:182:mm\@nil%
+ \tud@reserved ansia:8.5:11:in\@nil%
+ \tud@reserved ansib:11:17:in\@nil%
+ \tud@reserved ansic:17:22:in\@nil%
+ \tud@reserved ansid:22:34:in\@nil%
+ \tud@reserved ansie:34:44:in\@nil%
+ \tud@reserved screen:225:180:mm\@nil%
+ \fi%
+ \fi%
+ \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]{%
+ \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}%
+ }%
+ \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}%
+ \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%
+ \begingroup%
+ \setlength\paperwidth{\Gm@layoutwidth}%
+ \setlength\paperheight{\Gm@layoutheight}%
+ \tud@area@set{layout}%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
+ layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ }%
+ }%
+ \tud@reserved%
+ \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}%
+ \else%
+ \tud@loadgeometry{init@typearea}%
+ \fi%
+ \tud@AfterChangingArea%
+ }%
+ \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{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@cdgeometry@set%
+ \ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \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,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \if@hincl%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\footskip%
+ }%
+ \else% custom
+ \ifGm@pass\else%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\Gm@lmargin,%
+ right=\Gm@rmargin,%
+ \ifGm@includemp%
+ includemp=true,%
+ \else%
+ includemp=false,%
+ \fi%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\Gm@bindingoffset%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \ifGm@includehead%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \ifGm@includefoot%
+ includefoot=true,%
+ \else%
+ includefoot=false,%
+ \fi%
+ footskip=\the\footskip%
+ }%
+ \fi%
+ \fi%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\topmargin-\headheight-\headsep-1in\relax%
+ }%
+ \ifdim\tud@len@areadiff<\z@\relax%
+ \addtolength\tud@len@headsep{-\tud@len@areadiff}%
+ \setlength\@tempdima{\z@}%
+ \else%
+ \setlength\@tempdima{\tud@len@areadiff}%
+ \fi%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep,%
+ textheight=\the\dimexpr\textheight-\@tempdima\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@ddcdiff{%
+ \dimexpr.6\tud@len@topmargin-\footskip+\tud@len@headsep%
+ +\footheight-1.25\baselineskip\relax%
+ }%
+ \edef\tud@cdgeometry@ddcmargin{%
+ textheight=\the\dimexpr\textheight-\tud@len@areadiff%
+ -\tud@len@ddcdiff\relax,%
+ footskip=\the\dimexpr\footskip+\tud@len@ddcdiff\relax%
+ }%
+ }{}%
+ \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')%
+ }%
+ \fi%
+ \else% true/symmetric/twoside
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \setlength\@tempdima{\tud@len@widemargin}%
+ \if@reversemargin%
+ \setlength\@tempdimc{\tud@len@widemargin}%
+ \else%
+ \setlength\@tempdimc{\tud@len@slimmargin}%
+ \fi%
+ \or% symmetric
+ \setlength\@tempdima{.5\tud@len@both}%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \or% twoside
+ \if@twoside%
+ \setlength\@tempdima{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdima{.5\tud@len@both}%
+ \fi%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \if@twoside%
+ \if@reversemargin%
+ \setlength\@tempdimc{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdimc{.6\tud@len@both}%
+ \fi%
+ \fi%
+ \fi%
+ \addtolength\@tempdimc{-\headsep}%
+ \setlength\@tempdimb{%
+ \dimexpr\tud@len@layoutwidth-\tud@len@both-\ta@bcor\relax%
+ }%
+ \if@mincl%
+ \addtolength\@tempdimb{-\@tempdimc}%
+ \fi%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\the\@tempdima,%
+ textwidth=\the\@tempdimb,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\@tempdimc,%
+ marginparsep=\the\dimexpr.5\headsep\relax,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \if@twoside%
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \appto\tud@cdgeometry@hmargin{,asymmetric}%
+ \else% symmetric/twoside
+ \appto\tud@cdgeometry@hmargin{,twoside}%
+ \fi%
+ \fi%
+ \if@twocolumn%
+ \appto\tud@cdgeometry@hmargin{,twocolumn}%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\dimexpr.5\tud@len@both\relax,%
+ headheight=\the\headheight,%
+ headsep=\the\tud@len@headsep,%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax%
+ }%
+ }{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\tud@len@slimmargin,%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ bottom=\the\dimexpr\tud@len@widemargin%
+ +\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@footsep+\footheight\relax%
+ }%
+ }%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep%
+ }%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\tud@len@slimmargin\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -.5\tud@len@both\relax%
+ }%
+ \setlength\tud@len@ddcdiff{.6\tud@len@topmargin}%
+ \edef\tud@cdgeometry@ddcmargin{%
+ \if@fincl%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff+\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax,%
+ \else%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff\relax,%
+ \fi%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip+\tud@len@ddcdiff\relax,%
+ }%
+ }{}%
+ \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%
+ }{}%
+ \tud@cdgeometry@@@process%
+ }%
+ \newcommand*\tud@cdgeometry@@@process{%
+ \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
+ \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.03}{%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin,%
+ \tud@cdgeometry@ddcmargin,%
+ ignorehead,ignorefoot%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudareaddc}%
+ }{}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudarea}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{stdarea}%
+ \if@atdocument%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
+ }%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@hincl{%
+ \if@hincl%
+ includehead=true%
+ \else%
+ includehead=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@fincl{%
+ \if@fincl%
+ includefoot=true%
+ \else%
+ includefoot=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@mpincl{%
+ \if@mincl%
+ includemp=true%
+ \else%
+ includemp=false%
+ \fi%
}%
}
-\tud@ifsacrop{%
- \PreventPackageFromLoading{scrlayer-scrpage}%
- \pagestyle{empty}%
- \hoffset=-72.27pt%
- \voffset=-72.27pt%
- \topmargin=0pt%
- \headheight=0pt%
- \headsep=0pt%
- \marginparsep=0pt%
- \marginparwidth=0pt%
- \footskip=0pt%
- \marginparpush=0pt%
- \oddsidemargin=0pt%
- \evensidemargin=0pt%
- \topskip=0pt%
- \textheight=\maxdimen%
-}{%
- \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+\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}%
+ }%
+ }%
+ \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%
+ }%
+ \fi%
+ \fi%
+ \tud@font@koma@unset{pagefoot}%
+ \tud@font@koma@unset{pagenumber}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
}
-\tud@cmd@store{pagestyle}
-\cslet{ps@tudheadings}{\ps@headings}%
-\cslet{ps@plain.tudheadings}{\ps@plain}%
-\cslet{ps@empty.tudheadings}{\ps@empty}%
-\providecommand*\currentpagestyle{plain}
-\providecommand*\BeforeSelectAnyPageStyle[1]{}
-\providecommand*\GetRealPageStyle[1]{#1}
-\BeforePackage{scrlayer-scrpage}{%
- \tud@cmd@restore{pagestyle}%
- \csundef{ps@tudheadings}%
- \csundef{ps@plain.tudheadings}%
- \csundef{ps@empty.tudheadings}%
- \undef\currentpagestyle%
- \undef\BeforeSelectAnyPageStyle%
- \undef\GetRealPageStyle%
+\newcommand*\tud@AfterChangingArea{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
}
-\let\tud@pagestyle\pagestyle
-\apptocmd{\tud@pagestyle}{%
- \edef\currentpagestyle{#1}%
-}{}{\tud@patch@wrn{pagestyle}}%
-\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
-\AtEndPreamble{%
- \@ifpackageloaded{scrlayer-scrpage}{}{%
- \let\pagestyle\tud@pagestyle%
- \undef\tud@pagestyle%
+\newcommand*\tud@cdgeometry@init{%
+ \AtEndPreamble{%
+ \if@tud@x@standalone@crop%
+ \pagestyle{empty}%
+ \hoffset=-72.27pt%
+ \voffset=-72.27pt%
+ \topmargin=0pt%
+ \headheight=0pt%
+ \headsep=0pt%
+ \marginparsep=0pt%
+ \marginparwidth=0pt%
+ \footskip=0pt%
+ \marginparpush=0pt%
+ \oddsidemargin=0pt%
+ \evensidemargin=0pt%
+ \topskip=0pt%
+ \textheight=\maxdimen%
+ \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}%
+ }%
+ \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%
+ \endgroup%
+ \tud@reserved{custom}%
+ \AfterCalculatingTypearea{\tud@AfterChangingArea}%
+ \AfterSettingArea{\tud@AfterChangingArea}%
+ \ifundef{\AfterRestoreareas}{}{%
+ \AfterRestoreareas{\tud@AfterChangingArea}%
+ }%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \tud@cdgeometry@process%
+ \fi
+ \let\tud@cdgeometry@init\relax%
}%
}
+\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\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]{}%
+}
+\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
+\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
+\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
+\tud@if@v@lower{2.03}{%
+ \newcommand*\tud@ddc@enlargepage[1][]{%
+ \tud@if@tudheadings{#1}{%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \enlargethispage{-\tud@len@ddcdiff}%
+ \fi%
+ }%
+ }{}%
+ }%
+}{}
+%%% From File: tudscr-pagestyle.dtx
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{scrlayer-scrpage}%
+\else
+ \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+\fi
\AfterPackage{scrlayer-scrpage}{%
\DeclareNewLayer[%
background,headsep,%
- voffset=\tud@dim@logoy,%
+ addhoffset=\dimexpr\tud@len@logox-\tud@len@widemargin\relax,%
+ addwidth=\dimexpr-\tud@len@logox+\tud@len@widemargin\relax,%
+ voffset=\tud@len@logoy,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
\tud@mainlogo@set%
\tud@headlogo@option@set%
- \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}%
\tud@mainlogo@use\hfill\tud@headlogo@use%
},%
]{tudheadings.head.content}%
\DeclareNewLayer[%
background,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@topmargin+\tud@dim@bleedmargin\relax,%
+ addvoffset=\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax,%
contents={%
- \ifnum\tud@head@bar>\tw@\relax% cdhead=color
+ \ifnum\tud@head@bar@num>\tw@\relax% cdhead=color
\color{HKS41}%
- \rule{\layerwidth}{\tud@dim@topmargin}%
+ \rule{\layerwidth}{\layerheight}%
\fi%
},%
]{tudheadings.head.back}%
\DeclareNewLayer[%
background,%
- voffset=\tud@dim@topmargin,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\tud@len@barheight,%
+ voffset=\tud@len@topmargin,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar>\@ne\relax% cdhead=barcolor/color
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\color{HKS41!60}%
- \rule{\layerwidth}{\tud@dim@barheight}%
+ \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
+ \raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
\fi%
},%
]{tudheadings.head.bar}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,%
- contents={\tud@head@text@box},%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \tud@head@font@set%
+ \tud@head@text@set%
+ \tud@head@text@box%
+ },%
]{tudheadings.head.text}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.upperline}%
+ ]{tudheadings.head.upline}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.lowerline}%
+ ]{tudheadings.head.lowline}%
\DeclareNewLayer[%
background,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.upperwideline}%
+ ]{tudheadings.head.uplinewide}%
\DeclareNewLayer[%
background,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.lowerwideline}%
+ ]{tudheadings.head.lowlinewide}%
+ \DeclareNewLayer[%
+ foreground,headsep,%
+ addvoffset=.5\tud@len@headsep,%
+ height=\baselineskip,%
+ contents={\if@tud@head@date\hfill\tud@date@print\fi},%
+ ]{tudheadings.head.date}%
\DeclareNewLayer[%
background,foot,%
- hoffset=0pt,%
- width=\paperwidth,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ hoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset+\tud@dim@bleedmargin\relax,%
addvoffset=-\dp\strutbox,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
contents={%
\if@tud@foot@colored%
\let\@tempc\relax%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \ifcase\tud@head@bar@num\relax\or% cdhead=litecolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=barcolor
\def\@tempc{\color{HKS41!60}}%
\or% cdhead=color
\def\@tempc{\color{HKS41}}%
@@ -2485,14 +3913,14 @@
\fi%
},%
]{tudheadings.foot.back}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\ModifyLayer[%
- addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
contents={%
\if@tud@foot@colored%
\let\@tempc\relax%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \ifcase\tud@head@bar@num\relax\or\or% cdhead=barcolor
\def\@tempc{\color{HKS41!60}}%
\or% cdhead=color
\def\@tempc{\color{HKS41}}%
@@ -2503,14 +3931,14 @@
}%
\ifx\@tempc\relax\else%
\tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot=false
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
\vbox to \layerheight{%
\vfil\@tempc%
\rule{\layerwidth}{%
- \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax%
+ \dimexpr\layerheight-\tud@len@ddcdiff+\ht\strutbox\relax%
}%
}%
- \else% \tud@ddc@foot!=false
+ \else% \tud@ddc@foot@num!=false
\@tempc\rule{\layerwidth}{\layerheight}%
\fi%
\fi%
@@ -2520,23 +3948,35 @@
}{}%
\DeclareNewLayer[%
background,foot,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset\relax,%
contents={%
- \tud@footlogoheight@set%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
\setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
- \tud@footlogo@option@set%
- \tud@footlogo@cmd@set{\@tempdima}{\layerwidth}%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
\tud@footcontent@use{\@tempdima}{\layerwidth}%
- \hspace*{-\layerwidth}%
- \tud@footlogo@cmd@use%
- \hspace*{-\layerwidth}%
- \hfill\tud@footlogo@ddc@use{\@tempdima}%
},%
]{tudheadings.foot.content}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\ModifyLayer[%
- addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
- height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
+ contents={%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
+ \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \addtolength\@tempdima{\dimexpr\ht\strutbox-\tud@len@ddcdiff\relax}%
+ \vskip\dimexpr\tud@len@ddcdiff-\ht\strutbox-\baselineskip\relax%
+ \fi%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
+ \tud@footcontent@use{\@tempdima}{\layerwidth}%
+ },%
]{tudheadings.foot.content}%
}{}%
\DeclareNewLayer[%
@@ -2550,10 +3990,11 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last,%
@@ -2563,7 +4004,6 @@
scrheadings.foot.above.line,%
scrheadings.foot.below.line%
}%
- \listadd\tud@ps@list{tudheadings}%
\DeclareNewPageStyleAlias{tud}{tudheadings}%
\DeclareNewPageStyleAlias{tudscr}{tudheadings}%
\DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
@@ -2574,10 +4014,11 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last,%
@@ -2587,7 +4028,6 @@
plain.scrheadings.foot.above.line,%
plain.scrheadings.foot.below.line%
}%
- \listadd\tud@ps@list{plain.tudheadings}%
\DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
\DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
\DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
@@ -2600,23 +4040,28 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last%
}%
- \listadd\tud@ps@list{empty.tudheadings}%
\DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
- \newcommand*\tud@pagecolor{}%
\DeclareNewLayer[%
- background,page,%
+ background,%
+ area=%
+ {\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax}%
+ {\dimexpr\tud@len@layoutheight+\tud@dim@bleedmargin*2\relax}%
+ ,%
contents={%
\ifdefvoid{\tud@pagecolor}{}{%
\color{\tud@pagecolor}%
@@ -2626,8 +4071,11 @@
]{tudheadings.pagecolor}%
\AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
}
+\listadd\tud@ps@list{tudheadings}
+\listadd\tud@ps@list{plain.tudheadings}
+\listadd\tud@ps@list{empty.tudheadings}
\PreventPackageFromLoading[%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The package `fancyhdr' must not be used with a\MessageBreak%
TUD-KOMA-Script class. You should make use of the\MessageBreak%
capabilities of package `scrlayer-scrpage' instead%
@@ -2645,203 +4093,305 @@
\newcommand*\tud@foot@fontcolor{}
\newcommand*\tud@ps@onbackground{%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax% cdhead=nocolor
- \def\tud@head@logocolor{black}%
- \def\tud@head@fontcolor{}%
- \def\tud@foot@logocolor{black}%
- \def\tud@foot@fontcolor{}%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@head@logocolor{black}%
+ \renewcommand*\tud@head@fontcolor{}%
\or% cdhead=litecolor
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{HKS41}%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{HKS41}%
\or% cdhead=barcolor
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{white}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \fi%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@foot@logocolor{black}%
+ \renewcommand*\tud@foot@fontcolor{}%
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
- \else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use a colored foot together\MessageBreak%
+ with a non-colored head (`cdhead=nocolor')%
+ }%
\fi%
- \or% cdhead=color
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
+ \else% cdhead=*color
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@foot@logocolor{HKS41}%
+ \renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
\fi%
}{%
\ifstr{\tud@pagecolor}{HKS41}{%
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
- \def\tud@foot@logocolor{white}%
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
\if@tud@foot@colored%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@fontcolor{HKS41!30}%
+ \renewcommand*\tud@foot@fontcolor{HKS41!30}%
\fi%
\bool@std@lock{@tud@head@widebar}{true}%
}{%
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{HKS41}%
- \ifcase\tud@head@bar\relax\or\or\or% cdhead=color
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{HKS41}%
+ \ifcase\tud@head@bar@num\relax\or\or\or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
\fi%
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@foot@logocolor{HKS41}%
+ \renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
\bool@std@lock{@tud@head@widebar}{true}%
}%
}%
- \let\tud@dim@line\tud@dim@thinline%
- \ifstr{\tud@head@fontcolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}%
+ \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@pagestyle{}
+\let\tud@pagestyle\pagestyle
+\pretocmd{\tud@pagestyle}{%
+ \tud@BeforeSelectAnyPageStyle{#1}%
+ \edef\currentpagestyle{#1}%
+}{}{\tud@patch@wrn{pagestyle}}
+\tud@cmd@store{pagestyle}
+\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
+\BeforePackage{scrlayer-scrpage}{%
+ \tud@cmd@restore{pagestyle}%
+ \undef\tud@pagestyle%
+}
+\TUD@UnwindPackage{scrlayer-scrpage}{%
+ \ifcsundef{if@chapter}{%
+ \newif\if@chapter%
+ \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}%
+ }{}%
+ \cslet{ps@tudheadings}{\ps@headings}%
+ \cslet{ps@plain.tudheadings}{\ps@plain}%
+ \cslet{ps@empty.tudheadings}{\ps@empty}%
+ \providecommand*\currentpagestyle{plain}%
+ \providecommand*\BeforeSelectAnyPageStyle[1]{}%
+ \providecommand*\GetRealPageStyle[1]{#1}%
+ \let\pagestyle\tud@pagestyle%
+ \undef\tud@pagestyle%
+ \tud@cdgeometry@init%
+}
\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{%
- \xdef\@specialstyle{\GetRealPageStyle{#1}}
+ \xdef\@specialstyle{\GetRealPageStyle{#1}}%
}{}{\tud@patch@wrn{thispagestyle}}
-\newcommand*\tud@head@text{}
-\newcommand*\tud@head@text@first{}
-\newcommand*\tud@head@text@second{}
+\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{}
\newcommand*\tud@head@text@buffer{}
-\newcommand*\tud@head@rule[1]{%
- \tud@color{\tud@head@fontcolor}%
- \rule[\ht\strutbox]{#1}{\tud@dim@line}%
-}
-\newcommand*\tud@head@text@add[3][, ]{%
- \protected@edef\tud@head@text{#3}%
- \ifx\tud@head@text\@empty%
- \def\tud@head@text@delimiter{}%
- \else%
- \edef\tud@head@text@delimiter{\tud@head@text@buffer}%
+\newcommand*\tud@head@text@add[3][{, }]{%
+ \ifxblank{#3}{}{%
+ \edef\tud@head@text@delimiter{\expandonce\tud@head@text@buffer}%
\def\tud@head@text@buffer{#1}%
- \fi%
- \if@tempswa\else%
- \def\@tempa{%
- \tud@head@text@first%
- \tud@head@text@delimiter%
- #2%
- \tud@head@text%
+ \edef\@tempa{%
+ \expandonce\tud@head@text@line%
+ \expandonce\tud@head@text@delimiter%
+ \etex@unexpanded{#2#3}%
}%
\settowidth\@tempdima{\@tempa}%
\ifdim\@tempdima>\textwidth\relax%
- \@tempswatrue%
- \def\tud@head@text@delimiter{}%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \protected@edef\tud@head@text@line{#2#3}%
\else%
- \protected@edef\tud@head@text@first{\@tempa}%
+ \edef\tud@head@text@line{\expandonce\@tempa}%
\fi%
- \fi%
- \if@tempswa%
- \protected@edef\tud@head@text@second{%
- \tud@head@text@second%
- \tud@head@text@delimiter%
- #2%
- \tud@head@text%
+ }%
+}
+\newif\if@tud@head@text@set
+\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{}%
+ \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}%
+ \tud@head@text@add{\tud@head@font@light}{\@chair}%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \ifxblank{\@extraheadline}{}{%
+ \listadd\tud@head@text@list{\tud@head@font@light\@extraheadline}%
+ }%
+ \gdef\tud@head@text@wrn##1{%
+ \ClassWarning{\TUD@Class@Name}{%
+ The given entries for the headline\MessageBreak%
+ (faculty, institute etc.) are ##1\MessageBreak%
+ too wide for the textwidth%
+ }%
}%
\fi%
}
\newcommand*\tud@head@text@box{%
\ifx\@faculty\@empty%
- \ClassWarningNoLine{\TUDClassName}{No `\string\faculty' given}%
+ \ClassWarningNoLine{\TUD@Class@Name}{No `\string\faculty' given}%
\faculty{}%
\fi%
- \tud@head@font@set%
- \@tempswafalse%
- \def\tud@head@text@first{}%
- \def\tud@head@text@second{}%
- \def\tud@head@text@buffer{}%
- \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}%
- \tud@head@text@add{\tud@head@font@light}{\@chair}%
- \settowidth\@tempdima{\tud@head@text@second}%
- \ifdim\@tempdima>\textwidth\relax%
- \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
- \hfuzz=\@tempdima%
- \fi%
- \vbox{%
- \linespread{0}\selectfont\offinterlineskip%
- \tud@color{\tud@head@fontcolor}%
- \tud@head@text@write{\tud@head@text@first}%
- \ifnum\tud@head@bar>\@ne% cdhead=barcolor/color
+ \def\@tempb{\tud@color{\tud@head@fontcolor}}%
+ \def\@tempc{\depth+\tud@len@heavyline}%
+ \def\@tempa##1{%
+ \settowidth\@tempdima{##1}%
+ \ifdim\@tempdima>\textwidth\relax%
+ \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
+ \ifdim\dimexpr\@tempdima-\textwidth\relax>\hfuzz\relax%
+ \hfuzz=\dimexpr\@tempdima-\textwidth\relax%
+ \fi%
+ \fi%
+ \@tempb%
+ \tud@head@text@write[\@tempc]{##1}%
+ \def\@tempb{\newline}%
+ \def\@tempc{\z@}%
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\ifdefvoid{\tud@pagecolor}{\color{HKS41}}{%
\ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}%
}%
\fi%
- \ifx\tud@head@text@second\@empty%
- \newline\tud@head@text@write{\tud@head@font@light\@extraheadline}%
- \else%
- \newline\tud@head@text@write{\tud@head@text@second}%
- \ifx\@extraheadline\@empty\else%
- \newline\vbox{\tud@head@font@light\@extraheadline}%
- \fi%
- \fi%
}%
-}
-\newcommand*\tud@head@text@write[1]{%
- \raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[%
- \dimexpr\tud@dim@barheight-\depth\relax%
- ][\dimexpr\depth+\tud@dim@heavyline\relax]{#1\vphantom{gjpqy\"A\"O\"U}}%
-}
-\newcommand\tud@head@text@wrn[1]{%
- \ClassWarning{\TUDClassName}{%
- The given entries for the headline\MessageBreak%
- (faculty, institute etc.) are #1\MessageBreak%
- too wide for the textwidth%
+ \vbox{%
+ \let\@raggedtwoe@everyselectfont\relax%
+ \setlength\spaceskip{\z@}%
+ \selectfont%
+ \offinterlineskip%
+ \forlistloop\@tempa{\tud@head@text@list}%
}%
\global\let\tud@head@text@wrn\@gobble%
}
+\newcommand*\tud@head@text@write[2][\z@]{%
+ \raisebox{\dimexpr(\tud@len@barheight+2\tud@len@line-\totalheight)/2\relax}[%
+ \dimexpr\tud@len@barheight-\depth\relax%
+ ][\dimexpr#1\relax]{#2\vphantom{gjpqy\"A\"O\"U}}%
+}
+\newcommand*\tud@head@rule[1]{%
+ \tud@color{\tud@head@fontcolor}%
+ \rule[\ht\strutbox]{#1}{\tud@len@line}%
+}
\newcommand*\tud@newlayerbox[1]{%
- \expandafter\newsavebox\csname tud@logo@#1\endcsname%
+ \expandafter\newsavebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@savelayerbox[1]{%
- \global\expandafter\sbox\csname tud@logo@#1\endcsname%
+ \global\expandafter\sbox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@uselayerbox[1]{%
- \expandafter\usebox\csname tud@logo@#1\endcsname%
+ \expandafter\usebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@vlayerbox[3]{%
\begingroup%
\setbox\z@\vbox{#2}%
\setlength\@tempdima{\dimexpr\ht\z@+\dp\z@-#1\relax}%
\ifdim\@tempdima>\z@\relax%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
#3\MessageBreak%
- The maximum height is exceeded by \the\@tempdima%
+ The maximum height is exceeded by \the\@tempdima\MessageBreak%
}%
\fi%
\endgroup%
\vbox to #1{#2}%
}
+\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%
+ }%
+ }{}%
+}
+\newcommand*\tud@ddc@check{%
+ \let\@tempa\tud@ddc@head@num%
+ \let\@tempb\tud@ddc@foot@num%
+ \if@tud@ddc@auto%
+ \ifdefvoid{\tud@headlogo@filename}{%
+ \let\@tempa\tud@ddc@auto@num%
+ \let\@tempb\z@%
+ }{%
+ \let\@tempa\z@%
+ \let\@tempb\tud@ddc@auto@num%
+ }%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \ifnum\@tempb=\z@\relax%
+ \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}%
+ \fi%
+ }{}%
+}
\tud@newlayerbox{main@black}
\tud@newlayerbox{main@HKS41}
\tud@newlayerbox{main@white}
-\newlength\tud@mainlogoheight
+\newlength\tud@len@mainlogoheight
\newcommand*\tud@mainlogo@wrn[1]{}
\newif\if@tud@mainlogo@set
\newcommand*\tud@mainlogo@set{%
\if@tud@mainlogo@set%
- \def\@tempa{\includegraphics[keepaspectratio,width=\tud@dim@logowidth]}%
+ \def\@tempa{\includegraphics[keepaspectratio,width=\tud@len@logowidth]}%
\tud@savelayerbox{main@black}{\@tempa{TUD-black}}%
\tud@savelayerbox{main@HKS41}{\@tempa{TUD-blue}}%
\tud@savelayerbox{main@white}{\@tempa{TUD-white}}%
- \setlength\tud@mainlogoheight{\ht\tud@logo@main@black}%
- \global\tud@mainlogoheight=\tud@mainlogoheight%
+ \settoheight\tud@len@mainlogoheight{\tud@uselayerbox{main@black}}%
+ \global\tud@len@mainlogoheight=\tud@len@mainlogoheight%
\gdef\tud@mainlogo@wrn##1{%
\ifdim##1<\ta@bcor\relax%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The selected page layout means that the\MessageBreak%
logo of TUD extends beyond the printing area.\MessageBreak%
The inner margin is smaller than BCOR\MessageBreak%
@@ -2853,13 +4403,14 @@
\fi%
}%
\tud@headlogo@set%
- \tud@footlogo@set%
+ \@tud@footlogo@option@settrue%
+ \tud@footlogo@option@set%
\global\@tud@mainlogo@setfalse%
\fi%
}
\newcommand*\tud@mainlogo@use{%
\tud@mainlogo@wrn{%
- \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax%
+ \dimexpr\oddsidemargin+1in+\tud@len@logox-\tud@len@widemargin\relax%
}%
\tud@uselayerbox{main@\tud@head@logocolor}%
}
@@ -2867,28 +4418,28 @@
\tud@newlayerbox{head@HKS41}
\tud@newlayerbox{head@white}
\tud@newlayerbox{head@option}
-\newcommand*\@headlogo{}
-\newcommand*\@@headlogo{}
+\newcommand*\tud@headlogo@filename{}
+\newcommand*\tud@headlogo@fileoptions{}
\newcommand*\tud@headlogo@wrn{}
\newcommand*\headlogo[2][]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \def\@headlogo{#2}%
- \def\@@headlogo{#1}%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@headlogo@filename{#2}%
+ \renewcommand*\tud@headlogo@fileoptions{#1}%
\global\@tud@headlogo@option@settrue%
\global\@tud@footlogo@option@settrue%
\gdef\tud@headlogo@wrn{%
- \ClassWarning{\TUDClassName}{%
- The secondary logo `\string\headlogo{\@headlogo}' is\MessageBreak%
- overwritten with DDC logo. Maybe you should use\MessageBreak%
- `ddcfoot' or better `ddc' instead of `ddchead'%
+ \ClassWarning{\TUD@Class@Name}{%
+ Secondary logo `\string\headlogo{\tud@headlogo@filename}'\MessageBreak%
+ is overwritten with DDC logo. Maybe you should\MessageBreak%
+ use `ddcfoot' or better `ddc' instead of `ddchead'%
}%
\global\let\tud@headlogo@wrn\relax%
}%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
\newcommand*\tud@headlogo@set{%
\def\@tempa{%
- \includegraphics[keepaspectratio,totalheight=\tud@mainlogoheight]%
+ \includegraphics[keepaspectratio,totalheight=\tud@len@mainlogoheight]%
}%
\tud@savelayerbox{head@black}{\@tempa{DDC-24}}%
\tud@savelayerbox{head@HKS41}{\@tempa{DDC-27}}%
@@ -2900,39 +4451,44 @@
\def\@tempc##1##2{%
\tud@savelayerbox{head@option}{%
\includegraphics[%
- keepaspectratio,totalheight=\tud@mainlogoheight,##2%
- ]{\trim@spaces{##1}}%
+ keepaspectratio,totalheight=\tud@len@mainlogoheight,##2%
+ ]{##1}%
}%
}%
\tud@savelayerbox{head@option}{}%
\tud@ddc@check%
- \ifcase\@tempa\relax% \tud@ddc@head=false
- \ifdefvoid{\@headlogo}{}{%
- \protected@edef\@tempb{\noexpand\@tempc{\@headlogo}{\@@headlogo}}%
+ \ifcase\@tempa\relax% \tud@ddc@head@num=false
+ \ifdefvoid{\tud@headlogo@filename}{}{%
+ \protected@edef\tud@headlogo@filename{%
+ \expandafter\trim@spaces\expandafter{\tud@headlogo@filename}%
+ }%
+ \protected@edef\@tempb{%
+ \noexpand\@tempc{\tud@headlogo@filename}{\tud@headlogo@fileoptions}%
+ }%
\@tempb%
}%
- \or\or% \tud@ddc@head=color
+ \or\or% \tud@ddc@head@num=color
\@tempc{DDC-03}{}%
- \or% \tud@ddc@head=colorblack
+ \or% \tud@ddc@head@num=colorblack
\@tempc{DDC-09}{}%
- \or% \tud@ddc@head=gray
+ \or% \tud@ddc@head@num=gray
\@tempc{DDC-21}{}%
- \or% \tud@ddc@head=black
+ \or% \tud@ddc@head@num=black
\@tempc{DDC-24}{}%
- \or% \tud@ddc@head=blue
+ \or% \tud@ddc@head@num=blue
\@tempc{DDC-27}{}%
- \or% \tud@ddc@head=white
+ \or% \tud@ddc@head@num=white
\@tempc{DDC-30}{}%
\fi%
\global\@tud@headlogo@option@setfalse%
\fi%
}
\newcommand*\tud@headlogo@use{%
- \tud@vlayerbox{\tud@mainlogoheight}{%
+ \tud@vlayerbox{\tud@len@mainlogoheight}{%
\vss%
\hbox{%
\tud@ddc@check%
- \ifnum\@tempa=\@ne\relax% \tud@ddc@head=true
+ \ifnum\@tempa=\@ne\relax% \tud@ddc@head@num=true
\tud@uselayerbox{head@\tud@head@logocolor}%
\else%
\tud@uselayerbox{head@option}%
@@ -2940,9 +4496,9 @@
}%
\vss%
}{%
- The given `\string\headlogo{\@headlogo}' is too large.%
- }
- \ifdefvoid{\@headlogo}{}{%
+ The given `\string\headlogo{\tud@headlogo@filename}' is too large.%
+ }%
+ \ifdefvoid{\tud@headlogo@filename}{}{%
\tud@ddc@check%
\ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi%
}%
@@ -2951,95 +4507,89 @@
\tud@newlayerbox{foot@HKS41}
\tud@newlayerbox{foot@white}
\tud@newlayerbox{foot@option}
-\newlength\footlogoheight
-\newlength\tud@footlogoheight
-\newcommand*\tud@footlogoheight@set{%
- \ifdim\footlogoheight=\z@\relax%
- \tud@ifverlower{2.03}{%
- \setlength\tud@footlogoheight{.6\tud@dim@topmargin}%
+\AtEndOfClass{%
+ \ifdefvoid{\tud@dim@footlogoheight}{%
+ \tud@if@v@lower{2.03}{%
+ \def\tud@dim@footlogoheight{.6\tud@len@topmargin}%
}{%
- \setlength\tud@footlogoheight{\tud@mainlogoheight}%
+ \def\tud@dim@footlogoheight{\tud@len@mainlogoheight}%
}%
- \else%
- \ifdim\footlogoheight=\tud@footlogoheight\relax\else%
- \setlength\tud@footlogoheight{\footlogoheight}%
- \global\@tud@footlogo@option@settrue%
- \fi%
- \fi%
- \global\tud@footlogoheight=\tud@footlogoheight%
+ }{}%
}
\newcommand*\tud@footlogo@ddc@set[2]{%
- \tud@footlogoheight@set%
\tud@savelayerbox{foot@#1}{%
- \includegraphics[keepaspectratio,totalheight=\tud@footlogoheight]{#2}%
+ \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}%
}%
}
-\newcommand*\tud@footlogo@set{%
- \tud@footlogo@ddc@set{black}{DDC-22}%
- \tud@footlogo@ddc@set{HKS41}{DDC-25}%
- \tud@footlogo@ddc@set{white}{DDC-28}%
- \tud@footlogo@option@set%
-}
\newcommand*\tud@footlogo@option@set{%
\if@tud@footlogo@option@set%
+ \tud@footlogo@ddc@set{black}{DDC-22}%
+ \tud@footlogo@ddc@set{HKS41}{DDC-25}%
+ \tud@footlogo@ddc@set{white}{DDC-28}%
\tud@ddc@check%
- \ifcase\@tempb\relax\or\or% \tud@ddc@foot=color
+ \ifcase\@tempb\relax\or\or% \tud@ddc@foot@num=color
\tud@footlogo@ddc@set{option}{DDC-01}%
- \or% \tud@ddc@foot=colorblack
+ \or% \tud@ddc@foot@num=colorblack
\tud@footlogo@ddc@set{option}{DDC-07}%
- \or% \tud@ddc@foot=gray
+ \or% \tud@ddc@foot@num=gray
\tud@footlogo@ddc@set{option}{DDC-19}%
- \or% \tud@ddc@foot=black
+ \or% \tud@ddc@foot@num=black
\tud@footlogo@ddc@set{option}{DDC-22}%
- \or% \tud@ddc@foot=blue
+ \or% \tud@ddc@foot@num=blue
\tud@footlogo@ddc@set{option}{DDC-25}%
- \or% \tud@ddc@foot=white
+ \or% \tud@ddc@foot@num=white
\tud@footlogo@ddc@set{option}{DDC-28}%
\fi%
\global\@tud@footlogo@option@setfalse%
\fi%
}
-\newcommand*\tud@footlogo@ddc@use[1]{%
- \tud@vlayerbox{#1}{%
- \vss%
- \hbox{%
- \tud@ddc@check%
- \ifcase\@tempb\relax\or% \tud@ddc@foot=true
- \tud@uselayerbox{foot@\tud@foot@logocolor}%
- \else%
- \tud@uselayerbox{foot@option}%
- \fi%
+\newcommand*\tud@footlogo@ddc@use[2]{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num=!false
+ \tud@footlogo@option@set%
+ \setbox\z@\hbox{%
+ \tud@vlayerbox{#1}{%
+ \vss%
+ \hbox to #2{%
+ \hss%
+ \ifcase\@tempb\relax\or% \tud@ddc@foot@num=true
+ \tud@uselayerbox{foot@\tud@foot@logocolor}%
+ \else%
+ \tud@uselayerbox{foot@option}%
+ \fi%
+ }%
+ \vss\vss%
+ }{%
+ 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%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
+ \fi%
+ }%
}%
- \vss\vss%
- }{%
- The `\string\footlogoheight' (\the\footlogoheight) is too\MessageBreak%
- high. You should reduce this length.%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \MessageBreak%
- Alternatively you can enlarge the bottom margin\MessageBreak%
- by using option `extrabottommargin'.%
- \fi%
- }%
+ \usebox\z@\hspace*{-\wd\z@}%
+ \fi%
}
\tud@newlayerbox{foot@cmd}
\newcommand*\footlogosep{\hfill}
-\newcommand*\@footlogo{}
-\newcommand*\@@footlogo{}
+\newcommand*\tud@footlogo@filenames{}
+\newcommand*\tud@footlogo@fileoptions{}
\newcommand*\footlogo[2][]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \def\@footlogo{#2}%
- \def\@@footlogo{#1}%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@footlogo@filenames{#2}%
+ \renewcommand*\tud@footlogo@fileoptions{#1}%
\global\@tud@footlogo@cmd@settrue%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
\newif\if@tud@footlogo@cmd@set
\newcommand*\tud@footlogo@cmd@set[2]{%
\if@tud@footlogo@cmd@set%
- \tud@footlogoheight@set%
\tud@savelayerbox{foot@cmd}{%
\hbox to #2{%
\let\@tempa\relax%
- \@for\@tempb:=\@footlogo\do{%
+ \@for\@tempb:=\tud@footlogo@filenames\do{%
\edef\@tempb{\expandafter\trim@spaces\expandafter{\@tempb}}%
\@tempa%
\ifx\@tempb\@empty\else%
@@ -3069,568 +4619,257 @@
\let\@tempc\relax%
\DeclareListParser{\@tempc}{:}%
\@tempc{#1}%
- \preto\@@footlogo{%
- keepaspectratio,totalheight=\tud@footlogoheight,%
+ \preto\tud@footlogo@fileoptions{%
+ keepaspectratio,totalheight=\tud@dim@footlogoheight,%
+ }%
+ \appto\tud@footlogo@fileoptions{\@tempb}%
+ \protected@edef\@tempc{%
+ \noexpand\includegraphics[\tud@footlogo@fileoptions]{\@tempa}%
}%
- \appto\@@footlogo{\@tempb}%
- \protected@edef\@tempc{\noexpand\includegraphics[\@@footlogo]{\@tempa}}%
\tud@vlayerbox{#2}{\vss\hbox{\@tempc}\vss\vss}{%
The given `\string\footlogo{\@tempa}' is too large.%
}%
\endgroup%
}
-\newcommand*\tud@footlogo@cmd@use{\tud@uselayerbox{foot@cmd}}%
-\newkomafont{tudheadings}{%
- \sffamily%
- \tud@color{\tud@foot@fontcolor}%
+\newcommand*\tud@footlogo@cmd@use[2]{%
+ \tud@footlogo@option@set%
+ \tud@footlogo@cmd@set{#1}{#2}%
+ \setbox\z@\hbox{\tud@uselayerbox{foot@cmd}}%
+ \usebox\z@\hspace*{-\wd\z@}%
}
-\newcommand*\tud@footcontent@font{}
+\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@fontface{}
\newcommand*\tud@footcontent@left{}
-\newcommand*\tud@footcontent@right{}
+\newcommand*\tud@footcontent@right{\@nil}
\newcommand*\footcontent{%
- \@ifstar{%
- \@tempswafalse%
- \@footcontent%
+ \kernel@ifstar{%
+ \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \tud@footcontent@do%
}{%
- \@tempswatrue%
- \@footcontent%
- }%
-}
-\newcommand*\@footcontent[2][]{%
- \kernel@ifnextchar[%]
- {\@@footcontent{#1}{#2}}%
- {\@@footcontent{#1}{#2}[\@nnil]}%
-}
-\newcommand*\@@footcontent{}
-\def\@@footcontent#1#2[#3]{%
- \if@tempswa%
- \def\tud@footcontent@font{%
+ \renewcommand*\tud@footcontent@fontface{%
\usekomafont{tudheadings}%
- \tud@divide\@tempa{\tud@head@font@size}{\f@size}%
- \linespread{\@tempa}%
+ \setlength\@tempdima{\tud@head@fontsize\p@}%
+ \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
\selectfont%
- \tud@head@font@light%
- #1%
}%
- \else%
- \def\tud@footcontent@font{#1}%
+ \tud@footcontent@do%
+ }%
+}
+\newcommand*\tud@footcontent@do[2][]{%
+ \kernel@ifnextchar[%]
+ {\tud@footcontent@@do{#1}{#2}}%
+ {\tud@footcontent@@do{#1}{#2}[\@nil]}%
+}
+\newcommand*\tud@footcontent@@do{}
+\def\tud@footcontent@@do#1#2[#3]{%
+ \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#2}\relax\else%
+ \renewcommand*\tud@footcontent@left{#2}%
+ \fi%
+ \if\detokenize{*#3}\relax\else%
+ \renewcommand*\tud@footcontent@right{#3}%
\fi%
- \def\tud@footcontent@left{#2}%
- \def\tud@footcontent@right{#3}%
}
\newcommand*\tud@footcontent@use[2]{%
- \tud@ddc@check%
- \ifcase\@tempb%
- \setlength\@tempdimc{\z@}%
- \else%
- \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
- \addtolength\@tempdimc{\columnsep}%
- \fi%
- \tud@vlayerbox{#1}{%
- \vss%
- \hbox to #2{%
- \tud@footcontent@font%
- \expandafter\ifx\tud@footcontent@right\@nnil\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%
- }%
+ \@tempswafalse%
+ \ifx\tud@footcontent@left\@empty\relax%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax\else%
+ \ifx\tud@footcontent@right\@empty\relax\else%
+ \@tempswatrue%
\fi%
- \hss%
- }%
- \vss\vss%
- }{%
- The content for the footer (`\string\footcontent')\MessageBreak%
- is too high. You should either reduce the content or\MessageBreak%
- lower the fontsize via the optional argument.%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \MessageBreak%
- Alternatively you can enlarge the bottom margin\MessageBreak%
- by using option `extrabottommargin'.%
\fi%
- }%
-}
-\AtEndPreamble{%
- \@ifpackageloaded{geometry}{}{%
- \def\tud@geometry@process{\tud@geometry@set}%
- \let\tud@BeforeSelectAnyPageStyle\@gobble%
- }%
-}
-\tud@ifsacrop{%
- \PreventPackageFromLoading{geometry}%
-}{%
- \RequirePackage{geometry}[2010/09/12]%
- \newcommand*\tud@geometry@hmargin{}%
- \newcommand*\tud@geometry@vmargin{}%
- \newcommand*\tud@geometry@tudmargin{}%
- \tud@ifverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{}%
- \newcommand*\tud@newgeometry[1]{%
- \if@atdocument%
- \edef\@tempa{#1}%
- \expandafter\newgeometry\expandafter{#1}%
+ \else%
+ \@tempswatrue%
+ \fi%
+ \if@tempswa%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax%
+ \setlength\@tempdimc{\z@}%
\else%
- \edef\@tempa{paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1}%
- \expandafter\geometry\expandafter{\@tempa}%
+ \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
+ \addtolength\@tempdimc{\columnsep}%
\fi%
- }%
- \newcommand*\tud@geometry@process{%
- \tud@geometry@set%
- \ifcase\tud@geometry\relax% false
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax%
- }%
- \ifdim\tud@ta@headdiff<\z@\relax%
- \addtolength\tud@dim@headsep{-\tud@ta@headdiff}%
- \fi%
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
- textwidth=\the\textwidth,%
- \tud@geometry@mpincl,%
- marginparwidth=\the\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,%
- \if@reversemargin%
- reversemarginpar=true,%
- \if@twoside%
- marginparwidth=\the\dimexpr\oddsidemargin+1in%
- -\tud@ta@headsep\relax,%
- \fi%
- \else%
- reversemarginpar=false,%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \edef\tud@geometry@vmargin{%
- \if@hincl%
- includehead=true,%
- top=\the\dimexpr\tud@ta@topmargin+1in\relax,%
+ \tud@vlayerbox{#1}{%
+ \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%
- includehead=false,%
- top=\the\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep%
- +1in\relax,%
- \fi%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@ta@headsep,%
- textheight=\the\tud@ta@textheight,%
- \tud@geometry@fincl,%
- footskip=\the\tud@ta@footskip%
- }%
- \ifdim\tud@ta@headdiff<\z@\relax%
- \setlength\@tempdima{\z@}%
- \else%
- \setlength\@tempdima{\tud@ta@headdiff}%
- \fi%
- \edef\tud@geometry@tudmargin{%
- top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\the\tud@dim@headsep,%
- textheight=\the\dimexpr\tud@ta@textheight-\@tempdima\relax,%
- ignorehead%
- }%
- \tud@ifverlower{2.03}{%
- \setlength\tud@dim@ddcdiff{%
- \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep%
- +\tud@ta@footheight-1.25\baselineskip\relax%
- }%
- \edef\tud@geometry@ddcmargin{%
- textheight=\the\dimexpr\tud@ta@textheight-\tud@ta@headdiff%
- -\tud@dim@ddcdiff\relax,%
- footskip=\the\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax%
- }%
- }{}%
- \ifdim\tud@dim@extrabottommargin=\z@\relax\else%
- \ClassWarning{\TUDClassName}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea is used (`cdgeometry=no')%
- }%
- \fi%
- \else% true/symmetric/twoside
- \ifcase\tud@geometry\or% true
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\tud@dim@widemargin,%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \if@twoside asymmetric,\fi%
- \tud@geometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- marginparwidth=\the\dimexpr\tud@dim@widemargin%
- -\tud@ta@headsep\relax,%
- \else%
- reversemarginpar=false,%
- marginparwidth=\the\dimexpr\tud@dim@slimmargin%
- -\tud@ta@headsep\relax,%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \or% symmetric
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\dimexpr.5\tud@dim@both\relax,%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \tud@geometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- \else%
- reversemarginpar=false,%
- \fi%
- marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \or% twoside
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- \if@twoside%
- left=\the\dimexpr.4\tud@dim@both\relax,%
- twoside,%
- \else%
- left=\the\dimexpr.5\tud@dim@both\relax,%
- \fi%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \tud@geometry@mpincl,%
- marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
- \if@reversemargin%
- reversemarginpar=true,%
- \if@twoside%
- marginparwidth=\the\dimexpr.4\tud@dim@both%
- -\tud@ta@headsep\relax,%
- \fi%
- \else%
- reversemarginpar=false,%
- \if@twoside%
- marginparwidth=\the\dimexpr.6\tud@dim@both%
- -\tud@ta@headsep\relax,%
- \fi%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \fi%
- \tud@ifverlower{2.03}{%
- \edef\tud@geometry@vmargin{%
- top=\the\dimexpr.5\tud@dim@both\relax,%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@dim@headsep,%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,%
- footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip\relax,%
- \tud@geometry@hincl,%
- \tud@geometry@fincl%
- }%
- }{%
- \edef\tud@geometry@vmargin{%
- top=\the\tud@dim@slimmargin,%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@ta@headsep,%
- bottom=\the\dimexpr\tud@dim@widemargin%
- +\tud@dim@extrabottommargin\relax,%
- footskip=\the\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,%
- \tud@geometry@hincl,%
- \tud@geometry@fincl%
- }%
- }%
- \edef\tud@geometry@tudmargin{%
- top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\the\tud@dim@headsep,%
- ignorehead%
- }%
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@dim@slimmargin\relax%
- }%
- \tud@ifverlower{2.03}{%
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -.5\tud@dim@both\relax%
- }%
- \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}%
- \edef\tud@geometry@ddcmargin{%
- \if@fincl%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
- +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip\relax,%
- \else%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
- +\tud@dim@ddcdiff\relax,%
- \fi%
- footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip+\tud@dim@ddcdiff\relax,%
- }%
- }{}%
- \fi%
- \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi%
- \global\tud@ta@headdiff=\tud@ta@headdiff%
- \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}%
- \global\tud@dim@headingsvskip=\tud@dim@headingsvskip%
- \tud@ifverlower{2.03}{%
- \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi%
- \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
- }{}%
- \tud@geometry@@process%
- }%
- \newcommand*\tud@geometry@@process{%
- \edef\Gm@restore@org{\Gm@restore}%
- \tud@ifverlower{2.03}{%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin,%
- \tud@geometry@ddcmargin,%
- ignorehead,ignorefoot%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{tudareaddc}%
- }{}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{tudarea}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{typearea}%
- }%
- \newcommand*\tud@geometry@hincl{%
- \if@hincl%
- includehead=true%
- \else%
- includehead=false%
- \fi%
- }%
- \newcommand*\tud@geometry@fincl{%
- \if@fincl%
- includefoot=true%
- \else%
- includefoot=false%
- \fi%
- }%
- \newcommand*\tud@geometry@mpincl{%
- \if@mincl%
- includemp=true%
- \else%
- includemp=false%
- \fi%
- }%
-}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \tud@iftudps{#1}{%
- \tud@ifverlower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot=false
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
}%
- \else% \tud@ddc@foot!=false
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
}%
\fi%
- }{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
- }%
+ \hss%
}%
- \setlength\tud@dim@headdiff{\z@}%
- \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
- \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
+ \vss\vss%
}{%
- \ifstr{\tud@currentgeometry}{typearea}{}{%
- \loadgeometry{typearea}%
- \gdef\tud@currentgeometry{typearea}%
- }%
- \setlength\tud@dim@headdiff{\tud@ta@headdiff}%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \if@hincl%
- \addtolength\tud@dim@headdiff{%
- \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax%
- }%
- \fi%
+ The content for the footer (`\string\footcontent')\MessageBreak%
+ is too high. You should either reduce the content\MessageBreak%
+ or lower the fontsize via the optional argument.%
+ \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
+ \MessageBreak%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
\fi%
- \tud@font@koma@unset{pagefoot}%
- \tud@font@koma@unset{pagenumber}%
}%
- \global\tud@dim@headdiff=\tud@dim@headdiff%
- }{}%
-}
-\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
-\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
-\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
-\tud@ifverlower{2.03}{%
- \newcommand*\tud@ddc@enlargepage[1][]{%
- \tud@iftudps{#1}{%
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
- \enlargethispage{-\tud@dim@ddcdiff}%
- \fi%
- }%
- }{}%
- }%
-}{}
-\newlength\tud@ta@textheight
-\newlength\tud@ta@topmargin
-\newlength\tud@ta@headheight
-\newlength\tud@ta@headsep
-\newlength\tud@ta@footheight
-\newlength\tud@ta@footskip
-\newlength\tud@ta@headdiff
-\newcommand*\tud@AfterChangingArea{%
- \setlength\tud@ta@textheight{\textheight}%
- \setlength\tud@ta@topmargin{\topmargin}%
- \setlength\tud@ta@headheight{\headheight}%
- \setlength\tud@ta@headsep{\headsep}%
- \ifcsvoid{ta@fh}{%
- \setlength\tud@ta@footheight{\footheight}%
- }{%
- \setlength\tud@ta@footheight{\ta@fh}%
- }%
- \setlength\tud@ta@footskip{\footskip}%
- \tud@geometry@process%
- \global\@tud@mainlogo@settrue%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ \else%
+ \hbox to #2{}%
+ \fi%
}
-\AtEndPreamble{%
- \tud@ifsacrop{}{%
- \AfterCalculatingTypearea{\tud@AfterChangingArea}%
- \AfterSettingArea{\tud@AfterChangingArea}%
- \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{#1}}%
- \recalctypearea%
- }%
+\newcommand*\tud@ps@parameters[1]{%
+ \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}%
+ \TUD@parameter@def{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
+ \TUD@parameter@def{headlogo}{\headlogo{#1}}%
+ \TUD@parameter@def{footlogo}{\footlogo{#1}}%
+ \TUD@parameter@def{ddc}[true]{\TUDoption{ddc}{#1}}%
+ \TUD@parameter@def{ddchead}[true]{\TUDoption{ddchead}{#1}}%
+ \TUD@parameter@def{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
+ \TUD@parameter@def{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@def{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
+ \TUD@parameter@def{barfont}[true]{\TUDoption{barfont}{#1}}%
+ \TUD@parameter@def{widehead}[true]{\TUDoption{widehead}{#1}}%
+ \TUD@parameter@def{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
+ \TUD@parameter@let{logo}{headlogo}%
}
-\newcommand*\tud@ps{tudheadings}
-\newcommand*\tud@ps@select{%
- \expandafter\pagestyle\expandafter{\tud@ps}%
- \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{%
+\newcommand*\tud@envir@ps{tudheadings}
+\newcommand*\tud@envir@selectps{%
+ \expandafter\pagestyle\expandafter{\tud@envir@ps}%
+ \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty}{%
\renewcommand*\titlepagestyle{empty}%
\renewcommand*\partpagestyle{empty}%
\renewcommand*\chapterpagestyle{empty}%
\renewcommand*\indexpagestyle{empty}%
}{}%
- \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{%
+ \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty.tudheadings}{%
\renewcommand*\titlepagestyle{empty.tudheadings}%
\renewcommand*\partpagestyle{empty.tudheadings}%
\renewcommand*\chapterpagestyle{empty.tudheadings}%
\renewcommand*\indexpagestyle{empty.tudheadings}%
}{}%
}
-\newcommand*\tud@currentpagestyle{}
+\newcommand*\tud@currentpagestyle@value{}
\newcommand*\tud@currentpagestyle@set{%
- \ifdefvoid{\tud@currentpagestyle}{%
- \xdef\tud@currentpagestyle{\currentpagestyle}%
+ \ifdefvoid{\tud@currentpagestyle@value}{%
+ \xdef\tud@currentpagestyle@value{\currentpagestyle}%
}{}%
}
\newcommand*\tud@currentpagestyle@reset{%
- \ifdefvoid{\tud@currentpagestyle}{}{%
- \expandafter\pagestyle\expandafter{\tud@currentpagestyle}%
- \let\tud@currentpagestyle\relax%
+ \ifdefvoid{\tud@currentpagestyle@value}{}{%
+ \expandafter\pagestyle\expandafter{\tud@currentpagestyle@value}%
+ \let\tud@currentpagestyle@value\relax%
}%
}
\NewEnviron{tudpage}[1][]{%
\tud@currentpagestyle@set%
\clearpage%
- \def\tud@ps{tudheadings}%
+ \def\tud@envir@ps{tudheadings}%
\TUD@parameter@set{tudpage}{#1}%
- \tud@ps@select%
- \tud@multicols@check%
- \ifnum\tud@multicols>\@ne\relax%
- \begin{multicols}{\tud@multicols}%
+ \tud@envir@selectps%
+ \tud@x@multicol@check%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \begin{multicols}{\tud@x@multicol@num}%
\fi%
\BODY%
- \ifnum\tud@multicols>\@ne\relax%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
\end{multicols}%
\fi%
}[%
\aftergroup\tud@currentpagestyle@reset%
\clearpage%
]
-\newcommand*\TUD@parameter@define@ps[1]{%
- \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
- \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}%
- \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
- \TUD@parameter@define{headlogo}{\headlogo{#1}}%
- \TUD@parameter@define{footlogo}{\footlogo{#1}}%
- \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}%
- \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}%
- \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
- \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
- \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
- \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}%
- \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}%
- \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
- \TUD@parameter@let{logo}{headlogo}%
-}
-\TUD@parameter{tudpage}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{%
- \tud@iftudps{#1}{\renewcommand*\tud@ps{#1}}{%
- \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{%
- \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{%
- \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{%
+\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{pagestyle}{%
+ \tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{%
+ \ifstr{#1}{empty}{\renewcommand*\tud@envir@ps{empty.tudheadings}}{%
+ \ifstr{#1}{plain}{\renewcommand*\tud@envir@ps{plain.tudheadings}}{%
+ \ifstr{#1}{headings}{\renewcommand*\tud@envir@ps{tudheadings}}{%
\TUD@parameter@error{pagestyle}{%
headings, plain, empty or any tudheadings page style type%
}%
}}}%
}%
}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@default{}%
}
%%% 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%
+ }%
+ }%
+ \KOMAoptionOf[\def\@tempb]{\KOMAClassFileName}{headings}%
+ \@for\@tempc:=\@tempb\do{%
+ \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}}{}}}}%
+ }%
+}
+\AtEndPreamble{\tud@x@scr@headings@set}
+\newcommand*\tud@x@scr@headings@reset{%
+ \tud@layout@process%
+ \tud@x@scr@headings@set[%
+ \ifcase\tud@layout@part@num\relax\else% !false
+ \tud@font@koma@reset{part}%
+ \tud@font@koma@reset{partnumber}%
+ \fi%
+ \ifcase\tud@layout@chapter@num\relax\else% !false
+ \tud@font@koma@reset{chapter}%
+ \tud@font@koma@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}%
+ \fi%
+ ]%
+}
+\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
\newcommand*\tud@chapter@fontcolor{}
+\newcommand*\tud@section@fontcolor{}
+\providecommand*\raggedtitle{\tud@raggedright}
\newkomafont{parttitle}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
\usesizeofkomafont{section}%
}
-\newlength\pageheadingsvskip
-\newlength\headingsvskip
-\newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}}
-\newcommand*\tud@headmidvskip@neg{%
- \setbox\z@\vbox{\tud@headmidvskip}%
+\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@layout@process{%
- \ifcase\tud@layout@cover\relax% false
- \bool@std@lock{@tud@cover@cdgeometry}{false}%
+ \ifcase\tud@layout@cover@num\relax% false
+ \bool@std@lock{@tud@cdgeometry@cover}{false}%
\else% !false
- \bool@std@lock{@tud@cover@cdgeometry}{true}%
+ \bool@std@lock{@tud@cdgeometry@cover}{true}%
\fi%
- \ifcase\tud@layout@title\relax% false
- \tud@cmd@restore{maketitle}%
- \tud@cmd@restore{@maketitle}%
+ \ifcase\tud@layout@title@num\relax% false
\tud@cmd@restore{titlepagestyle}%
\tud@font@koma@unset{titlehead}%
\tud@font@koma@unset{title}%
@@ -3640,34 +4879,36 @@
\tud@font@koma@unset{date}%
\tud@font@koma@unset{publishers}%
\else% !false
- \tud@cmd@store{maketitle}%
- \tud@cmd@store{@maketitle}%
\tud@cmd@store{titlepagestyle}%
+ \renewcommand*\titlepagestyle{plain.tudheadings}%
\tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
\tud@font@koma@set{title}{%
+ \raggedtitle%
\usekomafont{disposition}%
- \tud@font@heading%
- \tud@font@heading@size%
+ \tud@sec@fontface%
+ \tud@sec@fontsize%
\tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subtitle}{%
- \tud@font@heading%
+ \raggedtitle%
+ \ifstr{\mddefault}{l}{%
+ \tud@sec@fontface[\fontseries{m}]%
+ }{%
+ \tud@sec@fontface[\fontseries{bx}]%
+ }%
\usesizeofkomafont{section}%
\tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subject}{%
- \fontfamily{\sfdefault}%
- \fontseries{\bfdefault}%
- \selectfont%
+ \sffamily%
+ \bfseries%
\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}}%
- \let\maketitle\tud@maketitle%
- \renewcommand*\titlepagestyle{plain.tudheadings}%
\fi%
- \ifcase\tud@layout@part\relax% false
+ \ifcase\tud@layout@part@num\relax% false
\tud@cmd@restore{partheadstartvskip}%
\tud@cmd@restore{partheadendvskip}%
\tud@cmd@restore{partheademptypage}%
@@ -3681,44 +4922,44 @@
}%
\tud@sectioning@reset[addpart]{part}%
\tud@font@koma@unset{partnumber}%
+ \tud@cmd@restore{raggedpart}%
\else% !false
\tud@cmd@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}%
+ \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[addpart]{part}{\usekomafont{parttitle}}%
\tud@font@koma@set{partnumber}{\usekomafont{parttitle}}%
\else%
\tud@sectioning@set[addpart]{part}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
}%
\tud@font@koma@set{partnumber}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
}%
\fi%
- \let\partheadstartvskip\tud@partheadstartvskip%
- \let\partheadendvskip\tud@partheadendvskip%
- \let\partheademptypage\relax%
- \renewcommand*\partpagestyle{plain.tudheadings}%
- \ifcsdef{scr@v@3.18}{%
- \let\scr@@startpart\tud@@startpart%
- \let\scr@@startspart\tud@@startspart%
- }{%
- \let\@part\tud@@part%
- \let\@spart\tud@@spart%
- }%
+ \tud@cmd@store{raggedpart}%
+ \renewcommand*\raggedpart{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@chapter\relax% false
+ \ifcase\tud@layout@chapter@num\relax% false
\tud@cmd@restore{chapterheadstartvskip}%
\tud@cmd@restore{chapterformat}%
\tud@cmd@restore{@chapter}%
@@ -3730,36 +4971,66 @@
}%
\tud@sectioning@reset[addchap]{chapter}%
\tud@font@koma@unset{chapterprefix}%
- \tud@sectioning@reset[addsec]{section}%
- \tud@sectioning@reset{subsection}%
- \tud@sectioning@reset{subsubsection}%
- \tud@sectioning@reset{minisec}%
+ \tud@cmd@restore{raggedchapter}%
\else% !false
\tud@cmd@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[addchap]{chapter}{%
- \tud@font@heading%
- \tud@font@heading@size%
+ \tud@sec@fontface%
+ \tud@sec@fontsize%
\tud@color{\tud@chapter@fontcolor}%
}%
\tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
- \tud@sectioning@set[addsec]{section}{\tud@font@heading}%
- \tud@sectioning@set{subsection}{\tud@font@heading}%
- \tud@sectioning@set{subsubsection}{\tud@font@heading}%
- \tud@sectioning@set{minisec}{\tud@font@heading}%
- \let\chapterheadstartvskip\tud@chapterheadstartvskip%
- \ifcsdef{scr@v@3.18}{%
- \let\scr@@makechapterhead\tud@@@makechapterhead%
- }{%
- \let\@@makechapterhead\tud@@@makechapterhead%
+ \tud@cmd@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}%
+ \else% !false
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@layout@section@num\relax\or\else% *color
+ \renewcommand*\tud@section@fontcolor{HKS41}%
+ \fi%
+ \tud@sectioning@set[addsec]{section}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsubsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{minisec}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{paragraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subparagraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
}%
+ \tud@cmd@store{raggedsection}%
+ \renewcommand*\raggedsection{\tud@raggedright}%
\fi%
}
\newcommand*\tud@layout@specialpage@set[1]{%
@@ -3778,33 +5049,33 @@
\tud@cmd@restore{footnoterule}%
}
\newcommand*\tud@partheadstartvskip{%
- \def\tud@part@fontcolor{}% false/true
- \ifcase\tud@layout@part\relax\or\or% litecolor
- \def\tud@part@fontcolor{HKS41}%
+ \renewcommand*\tud@part@fontcolor{}% false/true
+ \ifcase\tud@layout@part@num\relax\or\or% litecolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
\or% barcolor
- \def\tud@part@fontcolor{HKS41}%
+ \renewcommand*\tud@part@fontcolor{HKS41}%
\or% bicolor
- \def\tud@part@fontcolor{HKS41}%
+ \renewcommand*\tud@part@fontcolor{HKS41}%
\or% color
- \def\tud@part@fontcolor{HKS41!30}%
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
\or% full
- \def\tud@part@fontcolor{HKS41!30}%
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
\fi%
\tud@layout@specialpage@set{part}%
\begingroup%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\pageheadingsvskip}%
+ \TUD@len@deprecated{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\if@tud@parttitle%
\begingroup%
- \tud@font@heading%
- \tud@font@heading@size%
+ \tud@sec@fontface%
+ \tud@sec@fontsize%
\tud@color{\tud@part@fontcolor}%
\ifx\@@title\@empty%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
You activated the option `parttitle' but\MessageBreak%
no title was given%
}%
@@ -3816,27 +5087,27 @@
{\usekomafont{titlepage}{\vskip 2ex\@plus1ex\@minus1ex}}%
\endgroup%
\else%
- \usekomafont{partnumber}{\tud@headmidvskip@neg}%
+ \usekomafont{partnumber}{\tud@headmidvskip@reverse}%
\fi%
\endgroup%
}
\newcommand*\tud@partheadendvskip{%
\tud@cleardoublespecialpage{%
- \def\tud@pagecolor{}%
- \ifcase\tud@layout@part\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \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}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{1}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% full
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{3}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
\addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
\addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
@@ -3844,8 +5115,7 @@
}%
\tud@layout@specialpage@unset%
}
-\@tempswafalse
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
\if@tempswa
\newcommand*\tud@@startpart{}%
\let\tud@@startpart\scr@@startpart%
@@ -3855,7 +5125,7 @@
\ifnumbered{#1}{%
\usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
\setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip
+ \partheadmidvskip%
}{}%
}{%
\ifnumbered{#1}{%
@@ -3863,21 +5133,21 @@
\if@tud@parttitle%
\enskip%
\else%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}{%
\if@tud@parttitle\else%
\usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}%
- }{}{\tud@patch@wrn{scr@startpart}}%
+ }{}{\tud@patch@wrn{scr@@startpart}}%
\else%
\patchcmd{\tud@@startpart}{%
\ifnumbered{#1}{%
\usekomafont{#1prefix}{\@nameuse{#1format}}%
\setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip
+ \partheadmidvskip%
}{}%
}{%
\ifnumbered{#1}{%
@@ -3885,15 +5155,15 @@
\if@tud@parttitle%
\enskip%
\else%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}{%
\if@tud@parttitle\else%
\usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}%
- }{}{\tud@patch@wrn{scr@startpart}}%
+ }{}{\tud@patch@wrn{scr@@startpart}}%
\fi%
\newcommand*\tud@@startspart{}%
\let\tud@@startspart\scr@@startspart%
@@ -3904,12 +5174,12 @@
\normalfont\sectfont\nobreak%
\if@tud@parttitle\else%
\size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip\nobreak%
+ \tud@headmidvskip@normal\nobreak%
\fi%
}{}{\tud@patch@wrn{scr@@startspart}}%
\else
\newcommand*\tud@@part{}%
- \let\tud@@part\@part
+ \let\tud@@part\@part%
\patchcmd{\tud@@part}{%
\ifnumbered{part}{%
\size@partnumber{\partformat}%
@@ -3922,17 +5192,17 @@
\if@tud@parttitle%
\enskip%
\else%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}{%
\if@tud@parttitle\else%
\size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}%
}{}{\tud@patch@wrn{@part}}%
\newcommand*\tud@@spart{}%
- \let\tud@@spart\@spart
+ \let\tud@@spart\@spart%
\patchcmd{\tud@@spart}{%
\normalfont
\sectfont\nobreak\size@part
@@ -3940,78 +5210,87 @@
\normalfont\sectfont\nobreak%
\if@tud@parttitle\else%
\size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip\nobreak%
+ \tud@headmidvskip@normal\nobreak%
\fi%
\size@part%
- }{}{\tud@patch@wrn{@spart}}
+ }{}{\tud@patch@wrn{@spart}}%
\fi
\newcommand*\tud@partpreamble{%
- \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap
+ \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap
+ \renewcommand*\tud@abstract@level@num{1}%
+ \fi%
\KOMAoptions{titlepage=false}%
\addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}%
- \addtokomafont{dictumtext}{\tud@color{\tud@part@fontcolor}}%
+ \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}%
\tud@color{\tud@part@fontcolor}%
\vskip\dimexpr\topskip+.9\baselineskip\relax%
\@afterindentfalse\@afterheading%
}
\newcommand*\tud@chapterheadstartvskip{%
- \def\tud@chapter@fontcolor{}%
- \ifcase\tud@layout@chapter\relax\or\else% *color
- \def\tud@chapter@fontcolor{HKS41}%
+ \renewcommand*\tud@chapter@fontcolor{}%
+ \ifcase\tud@layout@chapter@num\relax\or\else% *color
+ \renewcommand*\tud@chapter@fontcolor{HKS41}%
\fi%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip\relax%
}%
\if@tud@chapterpage%
- \vspace*{\pageheadingsvskip}%
+ \TUD@len@deprecated{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
\else%
- \vspace*{\headingsvskip}%
+ \TUD@len@deprecated{headingsvskip}%
+ \vspace*{\tud@dim@headingsvskip}%
\fi%
-}%
-\@tempswafalse
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+}
+\newcommand*\tud@@makechapterhead{}%
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
\if@tempswa
- \newcommand*\tud@@@makechapterhead{}
- \let\tud@@@makechapterhead\scr@@makechapterhead
- \patchcmd{\tud@@@makechapterhead}{%
+ \let\tud@@makechapterhead\scr@@makechapterhead%
+ \patchcmd{\tud@@makechapterhead}{%
\csname #1format\endcsname%
\setlength{\@tempskipa}{\csname scr@#1@innerskip\endcsname}%
\chapterheadmidvskip
}{%
- \tud@headmidvskip@neg%
+ \tud@headmidvskip@reverse%
\vskip-\parskip%
\tud@makeuppercase{\csname #1format\endcsname}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
}{}{\tud@patch@wrn{scr@@makechapterhead}}%
\else
- \newcommand*\tud@@@makechapterhead{}
- \let\tud@@@makechapterhead\@@makechapterhead
- \patchcmd{\tud@@@makechapterhead}{%
+ \let\tud@@makechapterhead\@@makechapterhead%
+ \patchcmd{\tud@@makechapterhead}{%
\chapterformat
\setlength{\@tempskipa}{\scr@chapter@innerskip}%
\chapterheadmidvskip
}{%
- \tud@headmidvskip@neg%
+ \tud@headmidvskip@reverse%
\vskip-\parskip%
\tud@makeuppercase{\chapterformat}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
}{}{\tud@patch@wrn{@@makechapterhead}}%
\fi
\newcommand*\tud@chapterpreamble{%
- \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap
+ \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap
+ \renewcommand*\tud@abstract@level@num{1}%
+ \fi%
\KOMAoptions{titlepage=false}%
\if@tud@chapterpage%
- \ifcase\tud@cdfont\relax\or% true
+ \ifcase\tud@cdfont@num\relax\or% true
\TUDoptions{cdfont=true}%
\or% heavy
\TUDoptions{cdfont=heavy}%
\fi%
\addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}%
- \addtokomafont{dictumtext}{\tud@color{\tud@chapter@fontcolor}}%
+ \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}%
\tud@color{\tud@chapter@fontcolor}%
\fi%
\@afterindentfalse\@afterheading%
}
+\CheckCommand\set@@@@preamble[6]{%
+ \expandafter\gdef\csname #1@preamble\endcsname{%
+ \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
+ }%
+}
\patchcmd{\set@@@@preamble}{%
\hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
}{%
@@ -4031,29 +5310,29 @@
\tud@layout@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@head@bar@store{}
+\let\tud@head@bar@store\relax
+\newcommand*\tud@head@bar@restore{}
+\let\tud@head@bar@restore\relax
\newcommand*\tud@chapter@app{%
\if@tud@chapterpage%
\tud@cleardoublespecialpage{%
- \def\tud@pagecolor{}%
+ \renewcommand*\tud@pagecolor{}%
\let\tud@foot@fontcolor\tud@chapter@fontcolor%
- \ifcase\tud@layout@chapter\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \ifcase\tud@layout@chapter@num\relax\or% true
+ \cs@std@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \def\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar}{1}%
+ \renewcommand*\tud@pagecolor{HKS41!10}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% fullcolor
- \def\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar}{3}%
+ \renewcommand*\tud@pagecolor{HKS41!10}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
\addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
\addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
@@ -4062,33 +5341,33 @@
\tud@layout@specialpage@unset%
\if@restonecol\twocolumn\fi%
\else%
- \edef\tud@head@bar@store{\tud@head@bar}%
+ \edef\tud@head@bar@store{\tud@head@bar@num}%
\edef\tud@head@bar@restore{%
- \gdef\noexpand\tud@head@bar{\tud@head@bar@store}%
+ \gdef\noexpand\tud@head@bar@num{\tud@head@bar@store}%
\global\let\noexpand\tud@head@bar@store\relax%
\global\let\noexpand\tud@head@bar@restore\relax%
}%
- \ifcase\tud@layout@chapter\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \ifcase\tud@layout@chapter@num\relax\or% true
+ \cs@std@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% fullcolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
\fi%
\if@twocolumn%
\@afterindentfalse\@afterheading%
\fi%
}
\newcommand*\tud@clearcolor@wrn{%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Option `clearcolor' is only available together with\MessageBreak%
options `twoside' and `open=right'%
}%
@@ -4169,7 +5448,7 @@
\ifblank{#1}{}{\tud@cmd@restore{#1}}%
\tud@font@koma@unset{#2}%
}
-\robustify{\footnote}%
+\robustify{\footnote}
\newcommand*\tud@sectioning@uppercase[1]{%
\begingroup%
\if@tud@symbolheadings%
@@ -4179,424 +5458,148 @@
\tud@makeuppercase{#1}%
\endgroup%
}
-%%% From File: tudscr-frontmatter.dtx
-\newcommand*\tud@fm@check[2]{%
- \global\let\tud@fm@set\tud@fm@first%
- \ifnumless{\@nameuse{tud@#1@level}}{3}{% false/true/section
- \ifboolexpr{%
- bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
- }{%
- \sbox\z@{\vbox{#2}}%
- \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
- \ClassWarning{\TUDClassName}{%
- The given content within the `#1'\MessageBreak%
- environment is too large, so it wasn't possible\MessageBreak%
- to center the body vertically. Setting the option\MessageBreak%
- `#1=nofill' would be a solution. You\MessageBreak%
- could also use multiple `#1' environments%
- }%
- \boolfalse{@tud@#1@fil}%
- \fi%
- }{}%
- }{% chapter
- \boolfalse{@tud@#1@multi}%
- \boolfalse{@tud@#1@fil}%
- }%
- \ifnum\@nameuse{tud@#1@toc}>\tw@\relax%
- \tud@fm@toc{#1}{#2}%
- \fi%
- \global\let\tud@fm@set\tud@fm@first%
- #2%
-}
-\newcommand*\tud@fm@@toc{}
-\newcommand*\tud@fm@@@toc{}
-\newcommand*\tud@fm@toc[2]{%
- \ifbool{@tud@#1@multi}{%
- \begingroup%
- \let\tud@fm@@@toc\@empty%
- \renewcommand*\tud@fm@head[2]{%
- \protected@edef\@tempa{##2}%
- \protected@xdef\tud@fm@@toc{\tud@fm@@@toc\@tempa}%
- \protected@xdef\tud@fm@@@toc{\tud@fm@@toc/}%
- }%
- \let\clearpage\relax%
- \sbox\z@{\vbox{#2}}%
- \protected@edef\@tempa{%
- \noexpand\endgroup%
- \noexpand\ifnumodd{\csname tud@#1@toc\endcsname}{%
- \noexpand\addchaptertocentry{}{\tud@fm@@toc}%
- }{%
- \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
- }%
- }%
- \@tempa%
- }{%
- \ClassWarning{\TUDClassName}{%
- It isn't possible to use `#1=single'\MessageBreak%
- or `#1=chapter'
- with `#1=tocmultiple'%
- }%
- \edef\@tempa{%
- \noexpand\cs@set@lock{tud@#1@toc}{%
- \the\numexpr\@nameuse{tud@#1@toc}-2\relax%
- }%
- }%
- \@tempa%
- }%
-}
-\newcommand\tud@fm@set[1]{}
-\newcommand\tud@fm@first[1]{%
- \global\let\tud@fm@set\tud@fm@next%
- \if@twocolumn\else%
- \if@titlepage%
- \ifbool{@tud@#1@fil}{%
- \null\vfil%
- \ifnum\@nameuse{tud@#1@level}=\tw@\relax% section
- \vspace{\dimexpr-\parskip-\baselineskip\relax}%
- {\usekomafont{section}{\vspace{-\baselineskip}}}%
- \fi%
- }{}%
- \fi%
- \fi%
+%%% From File: tudscr-title.dtx
+\newkomafont{thesis}{%
+ \usekomafont{title}%
+ \tud@thesis@fontsize%
}
-\newcommand\tud@fm@next[1]{%
- \if@twocolumn%
- \ifbool{@tud@#1@multi}{\par}{\newpage}%
- \else%
- \if@titlepage%
- \ifbool{@tud@#1@multi}{%
- \ifbool{@tud@#1@fil}{\vfil}{}%
- }{%
- \ifbool{@tud@#1@fil}{\null\clearpage\null\vfil}{\clearpage}%
- }%
- \else%
- \ifnum\@nameuse{tud@#1@level}=\z@%
- \ifdef{\main@language}{\vspace*{-\baselineskip}}{}%
- \fi%
- \fi%
- \fi%
+\newkomafont{titlepage}{%
+ \usekomafont{subject}%
+ \mdseries%
+ \large%
}
-\newcommand*\tud@fm@body@start[3]{%
+\robustify{\thanks}
+\robustify{\footnotemark}
+\newcommand*\tud@title@uppercase[1]{%
+ \let\@tempa\relax%
\begingroup%
- \TUD@parameter@set{#1}{#2}%
- \tud@fm@set{#1}%
- \if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\begin{\tud@quoting}\fi% false/true
- \fi\fi%
- \ifnum\tud@multicols>\@ne\relax%
- \setlength\multicolsep{\z@}%
- \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#3}}]%
- \else%
- \tud@fm@head{#1}{#3}%
- \fi%
-}
-\newcommand*\tud@fm@body@end[1]{%
- \ifnum\tud@multicols>\@ne\relax%
- \end{multicols}%
- \else%
- \par%
- \fi%
- \if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\end{\tud@quoting}\par\fi% false/true
- \fi\fi%
+ \let\\\newline%
+ \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\footnote\thanks%
+ \sbox\z@{#1}%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \tud@makeuppercase{#1}%
\endgroup%
+ \ifx\@tempa\relax\else\thanks\@tempa\fi%
}
-\newcommand*\tud@fm@head[2]{%
- \ifcase\@nameuse{tud@#1@level}\relax% false
- \if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
- \ifstr{\@currenvir}{\tud@quoting}{}{%
- \if@twocolumn%
- \vskip\dimexpr\smallskipamount-\parskip\relax%
+\newcommand*\tud@title@delimiter{:\nobreakspace}
+\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}}
+\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}}%
+ \if@tud@cover\else%
+ \ifx\@authormore\@empty\else%
+ \tud@newline@title%
+ \@authormore%
+ \fi%
+ \ifx\@dateofbirth\@empty\else%
+ \if@titlepage%
+ \tud@newline@title%
+ \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}%
+ \@dateofbirth%
+ \ifx\@placeofbirth\@empty\else%
+ \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
+ \fi%
\else%
- \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \tud@title@wrn{dateofbirth}%
\fi%
- }%
- \or% true
- \if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
- \@afterindentfalse%
- \ifstr{\@currenvir}{\tud@quoting}{}{%
- \vskip\dimexpr\bigskipamount-\parskip\relax%
- }%
- \begingroup%
- \noindent\centering%
- \normalfont\sectfont\nobreak#2%
- \@endparpenalty\@M%
- \endgraf%
- \endgroup%
- \nopagebreak%
- \vskip\dimexpr\medskipamount-\parskip\relax%
- \@afterheading%
- \or% section
- \section*{#2}%
- \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
- \or% chapter
- \chapter*{#2}%
- \@mkdouble{\MakeMarkcase{#2}}%
- \fi%
- \ifbool{@tud@#1@markboth}{%
- \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
- }{}%
- \ifnum\@nameuse{tud@#1@toc}>\z@\relax%
- \ifnum\@nameuse{tud@#1@toc}<\thr@@\relax%
- \ifnumodd{\csname tud@#1@toc\endcsname}{%
- \addchaptertocentry{}{#2}%
- }{%
- \addsectiontocentry{}{#2}%
- }%
\fi%
- \fi%
-}
-\newcommand*\tud@fm@pagestyle[2]{%
- \if@titlepage%
- \ifcsdef{ps@#2}{\def\tud@ps{#2}}{%
- \ClassError{\TUDClassName}{`#2' is no valid pagestyle}{%
- You tried to use `#2' as a pagestyle for the\MessageBreak%
- `#1' environment, but it was never defined.%
+ \def\@tempc##1{%
+ \ifstr{\csuse{@##1}}{}{}{%
+ \if@titlepage%
+ \tud@newline@title%
+ \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}%
+ \csuse{@##1}%
+ \else%
+ \tud@title@wrn{##1}%
+ \fi%
}%
}%
- \else%
- \ClassWarning{\TUDClassName}{%
- The key `pagestyle' can only be used either with\MessageBreak%
- activated option `titlepage' or with chapter\MessageBreak%
- headings (`#1=chapter')%
- }%
+ \@tempc{course}%
+ \@tempc{discipline}%
+ \@tempc{matriculationnumber}%
+ \@tempc{matriculationyear}%
\fi%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{#2}{\vskip 2ex}%
}
-\newcommand*\tud@quoting{quotation}
-\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
-\NewEnviron{abstract}[1][]{%
- \ifnum\@nameuse{tud@abstract@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
- \TUD@parameter@set{abstract}{#1}%
- \tud@multicols@check%
- \if@titlepage%
- \tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
- \clearpage%
- \tud@ps@select%
- \fi%
- \renewcommand*\nextabstract[1][]{%
- \tud@fm@body@end{abstract}%
- \tud@fm@body@start{abstract}{##1}{\abstractname}%
- }%
- \tud@fm@check{abstract}{%
- \tud@fm@body@start{abstract}{#1}{\abstractname}%
- \BODY%
- \tud@fm@body@end{abstract}%
- }%
-}[%
- \if@titlepage%
- \if@tud@abstract@fil\vfil\null\fi%
- \aftergroup\tud@currentpagestyle@reset%
- \clearpage%
- \fi%
-]
-\TUD@parameter{abstract}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
- \TUD@parameter@define{markboth}[true]{%
- \ifstrbool{#1}{%
- \@tud@abstract@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- }{%
- \@tud@abstract@markbothfalse%
- }{%
- \@tud@abstract@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- \manualmark\markboth{#1}{#1}%
- }%
- }%
- \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}%
- \TUD@parameter@let{option}{abstract}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}%
-}
-\newcommand*\nextabstract[1][]{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextabstract'}{%
- The command `\string\nextabstract' can only be used within\MessageBreak%
- the environment `abstract'.%
- }%
-}
-\newif\if@tud@declarations
-\NewEnviron{declarations}[1][]{%
- \@tud@declarationstrue%
- \ifnum\@nameuse{tud@declaration@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
- \TUD@parameter@set{declaration}{#1}%
- \tud@multicols@check%
- \if@titlepage%
- \tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
- \clearpage%
- \tud@ps@select%
- \fi%
- \tud@fm@check{declaration}{\BODY}%
-}[%
- \if@titlepage%
- \if@tud@declaration@fil\vfil\null\fi%
- \aftergroup\tud@currentpagestyle@reset%
- \clearpage%
- \fi%
-]
-\TUD@parameter{declaration}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
- \TUD@parameter@define{markboth}[true]{%
- \ifstrbool{#1}{%
- \@tud@declaration@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- }{%
- \@tud@declaration@markbothfalse%
- }{%
- \@tud@declaration@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- \manualmark\markboth{#1}{#1}%
- }%
- }%
- \TUD@parameter@define{company}{\def\@company{#1}}%
- \TUD@parameter@define{supporter}{\def\@supporter{#1}}%
- \TUD@parameter@define{place}{\def\@place{#1}}%
- \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}%
- \TUD@parameter@let{confirmationclosing}{closing}%
- \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}%
- \TUD@parameter@let{option}{declaration}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}%
-}
-\newcommand*\declaration[1][]{%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@confirmation[#1]%
- \tud@fm@blocking[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
- \tud@fm@blocking%
- \end{declarations}%
- }%
-}
-\newcommand*\nextdeclaration[3][]{%
- \ifbool{@tud@declarations}{%
- \tud@fm@body@start{declaration}{#1}{#2}
- #3%
- \tud@fm@body@end{declaration}%
- }{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextdeclaration'}{%
- The command `\string\nextdeclaration' can only be used\MessageBreak%
- within the environment `declarations'.%
- }%
- }%
-}
-\newcommand*\confirmation[1][]{%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{supporter=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@confirmation[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
- \end{declarations}%
- }%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
- }%
-}
-\newcommand*\tud@fm@confirmation[1][]{%
- \tud@fm@body@start{declaration}{#1}{\confirmationname}%
- \confirmationtext\vskip\z@\@confirmationclosing%
- \tud@fm@body@end{declaration}%
-}
-\newcommand*\blocking[1][]{%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{company=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@blocking[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@blocking%
- \end{declarations}%
- }%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
+\newcommand*\tud@title@wrn[1]{%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\@backslashchar#1' has to be used with\MessageBreak%
+ activated titlepage option%
}%
}
-\newcommand*\tud@fm@blocking[1][]{%
- \tud@fm@body@start{declaration}{#1}{\blockingname}%
- \blockingtext%
- \tud@fm@body@end{declaration}%
-}
-%%% From File: tudscr-title.dtx
-\newkomafont{thesis}{\usekomafont{title}\LARGE}
-\newkomafont{titlepage}{%
- \usekomafont{subject}%
- \fontseries{\mddefault}%
- \selectfont%
- \large%
+\newcommand*\tud@thesis@tosubject{%
+ \if@tud@subjectthesis\ifx\@thesis\@empty\else%
+ \ifx\@subject\@empty\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ The option `subjectthesis' was activated, so\MessageBreak%
+ the field `subject' will be overwritten with the\MessageBreak%
+ given thesis%
+ }%
+ \fi%
+ \let\@subject\@thesis%
+ \fi\fi%
}
-\newcommand*\tud@title@fontcolor{}
-\newcommand*\tud@titlepagenumber{}%
-\let\tud@titlepagenumber\relax%
+\newcommand*\tud@title@pagenumber{}
+\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
\begingroup%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title\relax% false
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \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]%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
+ }{}%
\else% !false
\if@titlepage%
- \tud@maketitlepage%
+ \tud@make@titlepage%
\else%
- \def\tud@title@fontcolor{}%
- \ifcase\tud@layout@title\relax\or\else% *color
- \def\tud@title@fontcolor{HKS41}%
- \fi%
- \let\@maketitle\tud@@maketitle%
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \if@twocolumn%
- \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}%
- \else%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
- \fi%
+ \tud@make@titlehead%
\fi%
\fi%
\endgroup%
+ \setcounter{footnote}{0}%
+ \global\let\and\relax%
}
-\TUD@parameter{title}{%
- \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+\patchcmd{\titlepage}{\thispagestyle{empty}}{%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \thispagestyle{empty.tudheadings}%
+ }{%
+ \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@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}%
-}%
-\robustify{\thanks}%
-\robustify{\footnotemark}%
-\newcommand*\tud@titleback{}%
-\newcommand*\tud@maketitlepage{%
- \def\tud@title@fontcolor{}%
- \ifcase\tud@layout@title\relax\or\or% litecolor
- \def\tud@title@fontcolor{HKS41}%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\newcommand*\tud@titleback{}
+\newcommand*\tud@make@titlepage{%
+ \renewcommand*\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title@num\relax\or\or% litecolor
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% barcolor
- \def\tud@title@fontcolor{HKS41}%
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% bicolor
- \def\tud@title@fontcolor{HKS41}%
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% color
- \def\tud@title@fontcolor{HKS41!30}%
+ \renewcommand*\tud@title@fontcolor{HKS41!30}%
\or% full
- \def\tud@title@fontcolor{HKS41!30}%
+ \renewcommand*\tud@title@fontcolor{HKS41!30}%
\fi%
\begin{titlepage}%
\tud@layout@specialpage@set{title}%
- \ifx\tud@titlepagenumber\relax\else%
- \setcounter{page}{\tud@titlepagenumber}%
+ \ifx\tud@title@pagenumber\relax\else%
+ \setcounter{page}{\tud@title@pagenumber}%
\fi%
\if@tud@cover\else%
\let\footnotesize\small%
@@ -4605,10 +5608,10 @@
\renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
\let\@oldmakefnmark\@makefnmark%
\renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
- \tud@footnote@unhyper%
+ \tud@x@hyperref@realfootnotes%
\ifx\@extratitle\@empty%
\if@titlepageiscoverpage%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Using option `titlepage=firstiscover' is only\MessageBreak%
possible with an extra title. Alternatively you can\MessageBreak%
create a cover with `\string\makecover'%
@@ -4628,9 +5631,9 @@
\topmargin=\dimexpr\coverpagetopmargin-1in\relax%
\oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
\evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
-\coverpagerightmargin\relax%
- \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
-\coverpagebottommargin\relax%
\headheight=0pt%
\headsep=0pt%
@@ -4647,20 +5650,11 @@
\noindent\@extratitle\next@tdpage%
\fi%
\fi%
- \if@tud@bookmarks%
- \if@tud@cover%
- \tudbookmark[0]{\coverpagename}{cover}%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \else%
- \tudbookmark[0]{\titlepagename}{title}%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \fi%
- \fi%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\pageheadingsvskip}%
+ \TUD@len@deprecated{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\begingroup%
\usekomafont{titlepage}%
@@ -4673,7 +5667,7 @@
}}%
\addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
- \tud@letsubjectthesis%
+ \tud@thesis@tosubject%
\ifx\@subject\@empty\else%
\sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
\addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
@@ -4682,20 +5676,20 @@
\ifx\@titlehead\@empty\else\usebox\z@\par\fi%
\ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
{\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\fi%
+ \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
- \let\tud@split@author\tud@split@author@title%
+ \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%
\ifx\@date\@empty\else%
\vskip 2ex\@plus.1fill%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ {\usekomafont{date}{\tud@date@print\par}}%
\fi%
\fi%
\vskip 2ex\@plus.25fill%
@@ -4709,7 +5703,7 @@
\ifx\@graduation\@empty\else%
\def\@tempc{%
\@graduation%
- \ifx\@graduationabbr\@empty\else\nobreakspace\@graduationabbr\fi%
+ \ifx\@@graduation\@empty\else\nobreakspace\@@graduation\fi%
}%
{\usekomafont{titlepage}{\graduationtext\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
@@ -4724,18 +5718,20 @@
\vskip 2ex\@plus.5fill%
\fi%
\if@tud@cover\else%
- \tud@title@names{supervisor}%
\tud@title@names{referee}%
\tud@title@names{advisor}%
+ \tud@title@names{supervisor}%
\tud@title@names{professor}%
\ifx\@thesis\@empty\else%
- \tud@datecheck%
+ \tud@date@check%
\ifx\@date\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
- \ifstr{\datetext}{}{}{\datetext\@titledelim}%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ \ifxblank{\datetext}{}{\datetext\tud@title@delimiter}%
+ {\usekomafont{date}{\tud@date@print\par}}%
\ifx\@defensedate\@empty\else%
- \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}%
+ \ifxblank{\defensedatetext}{}{%
+ \defensedatetext\tud@title@delimiter%
+ }%
{\usekomafont{date}{\@defensedate\par}}%
\fi%
\fi%
@@ -4768,27 +5764,27 @@
\fi%
\fi%
\def\@tempa{%
- \def\tud@pagecolor{}%
- \ifcase\tud@layout@title\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \renewcommand*\tud@pagecolor{}%
+ \ifcase\tud@layout@title@num\relax\or% true
+ \cs@std@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{1}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% full
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{3}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
\tud@color{\tud@title@fontcolor}%
\addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
\addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\thispagestyle{empty.tudheadings}%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage}{}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
}%
\if@tud@cover%
\begingroup%
@@ -4812,22 +5808,6 @@
\fi%
\fi%
\end{titlepage}%
- \if@tud@cover\else%
- \setcounter{footnote}{0}%
- \global\let\and\relax%
- \fi%
-}
-\newcommand*\tud@title@uppercase[1]{%
- \let\@tempa\relax%
- \begingroup%
- \def\thanks##1{\gdef\@tempa{##1}}%
- \let\footnote\thanks%
- \sbox\z@{#1}%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \tud@makeuppercase{#1}%
- \endgroup%
- \ifx\@tempa\relax\else\thanks\@tempa\fi%
}
\newcommand*\tud@title@names[1]{%
\letcs\@tempa{@#1}%
@@ -4835,28 +5815,65 @@
\def\and{%
\ifcsvoid{#1othername}{\par}{%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}%
+ {\usekomafont{titlepage}{\csuse{#1othername}\par}}%
}%
\let\and\par%
}%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{titlepage}{\@nameuse{#1name}\par}}%
- {\usekomafont{author}{\@nameuse{@#1}\par}}%
+ {\usekomafont{titlepage}{\csuse{#1name}\par}}%
+ {\usekomafont{author}{\csuse{@#1}\par}}%
+ \fi%
+}
+\newcommand*\tud@make@titlehead{%
+ \renewcommand*\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
+ \fi%
+ \par%
+ \ifx\tud@title@pagenumber\relax\else%
+ \ifnum\tud@title@pagenumber=\@ne\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ Optional argument of \string\maketitle\space ignored\MessageBreak%
+ at notitlepage-mode%
+ }%
+ \fi%
\fi%
+ \begingroup%
+ \let\titlepage@restore\relax%
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \let\@oldmakefnmark\@makefnmark%
+ \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
+ \next@tdpage%
+ \@tempswafalse%
+ \if@twocolumn\ifnum\col@number>\@ne\relax%
+ \@tempswatrue%
+ \fi\fi%
+ \if@tempswa%
+ \ifx\@extratitle\@empty\else%
+ \twocolumn[\@makeextratitle]\next@tdpage%
+ \fi%
+ \twocolumn[\tud@make@@titlehead]%
+ \else%
+ \ifx\@extratitle\@empty\else%
+ \@makeextratitle\next@tdpage%
+ \fi%
+ \tud@make@@titlehead%
+ \fi%
+ \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
+ \@thanks%
+ \endgroup%
}
-\newcommand*\@titledelim{:\nobreakspace}
-\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}}
-\newcommand*\tud@@maketitle{%
+\newcommand*\tud@make@@titlehead{%
\global\@topnum=\z@%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\headingsvskip}%
+ \TUD@len@deprecated{headingsvskip}%
+ \vspace*{\tud@dim@headingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\begingroup%
\usekomafont{titlepage}%
- \tud@footnote@unhyper%
+ \tud@x@hyperref@realfootnotes%
\setlength\@tempdima{\z@}%
\ifx\@titlehead\@empty\else%
\sbox\z@{\vbox{%
@@ -4867,7 +5884,7 @@
\addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
\TUDoptions{subjectthesis=true}%
- \tud@letsubjectthesis%
+ \tud@thesis@tosubject%
\ifx\@subject\@empty\else%
\sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
\addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
@@ -4876,16 +5893,18 @@
\ifx\@titlehead\@empty\else\usebox\z@\par\fi%
\ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
{\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\fi%
+ \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
- \let\tud@split@author\tud@split@author@title%
+ \let\tud@split@author@do\tud@split@author@title%
\tud@multiple@split{@author}\par%
- \vskip 2ex\@plus1ex\@minus1ex%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ \ifx\@date\@empty\else%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ {\usekomafont{date}{\tud@date@print\par}}%
+ \fi%
\ifx\@publishers\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
{\usekomafont{publishers}{\@publishers\par}}%
@@ -4895,138 +5914,80 @@
{\centering\usekomafont{dedication}{\@dedication\par}}%
\fi%
\ifx\@graduation\@empty\else\tud@title@wrn{graduation}\fi%
- \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
\ifx\@referee\@empty\else\tud@title@wrn{referee}\fi%
+ \ifx\@advisor\@empty\else\tud@title@wrn{advisor}\fi%
+ \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
\ifx\@professor\@empty\else\tud@title@wrn{professor}\fi%
\vskip 2\bigskipamount%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
-}
-\newcommand*\tud@newline{}
-\newcommand*\tud@split@author@title[2]{%
- \tud@multiple@fields@store{@author}{#1}%
- \def\tud@newline{\vskip .5ex\let\tud@newline\newline}%
- {\usekomafont{author}{\ignorespaces#1}}%
- \if@tud@cover\else%
- \ifx\@authormore\@empty\else%
- \tud@newline%
- \@authormore%
- \fi%
- \ifx\@dateofbirth\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\dateofbirthtext}{}%
- {}{\dateofbirthtext\@titledelim}\@dateofbirth%
- \ifx\@placeofbirth\@empty\else%
- \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
- \fi%
- \else%
- \tud@title@wrn{dateofbirth}%
- \fi%
- \fi%
- \ifx\@matriculationnumber\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\matriculationnumbername}{}%
- {}{\matriculationnumbername\@titledelim}%
- \@matriculationnumber%
- \else%
- \tud@title@wrn{matriculationnumber}%
- \fi%
- \fi%
- \ifx\@matriculationyear\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\matriculationyearname}{}%
- {}{\matriculationyearname\@titledelim}%
- \@matriculationyear%
- \else%
- \tud@title@wrn{matriculationyear}%
- \fi%
+ \ifnum\col@number>\@ne\relax%
+ \ifdefvoid{\multicolsep}{}{%
+ \ifisskip{\multicolsep}{\vspace{-\multicolsep}}{}%
+ }%
\fi%
- \fi%
- \tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{#2}{\vskip 2ex}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
+ \endgroup%
}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
\if@titlepage%
- \maketitle[#1]%
+ \tud@maketitle[#1]%
\onecolumn{#2}\twocolumn%
\else%
- \tud@title@twocolumn{\maketitle[#1]{#2}}%
+ \tud@title@twocolumn{\tud@maketitle[#1]{#2}}%
\fi%
\else%
- \ClassError{\TUDClassName}{%
+ \ClassError{\TUD@Class@Name}{%
`\string\maketitleonecolumn' can only be used in twocolumn mode%
}{}%
\fi%
}
-\newsavebox\tud@title@twocolumn@box
+\newsavebox\tud@title@box
\newcommand\tud@title@twocolumn[1]{%
\onecolumn%
\begingroup%
\let\clearpage\relax%
\let\newpage\relax%
- \global\setbox\tud@title@twocolumn@box\vbox{%
+ \global\setbox\tud@title@box\vbox{%
\vspace*{.9\baselineskip}#1\bigskip%
}%
\endgroup%
\setlength\@tempdima{\textheight}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\tud@ddc@check%
- \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
- \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \setlength\@tempdima{\dimexpr\textheight-\tud@len@ddcdiff\relax}%
\@tempswatrue%
\fi%
}{}%
- \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax%
- \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{%
+ \ifdim\ht\tud@title@box>\@tempdima\relax%
+ \@whiledim\ht\tud@title@box>\@tempdima\do{%
\splittopskip\topskip%
\splitmaxdepth\maxdepth%
- \vsplit\tud@title@twocolumn@box to \@tempdima%
+ \vsplit\tud@title@box to \@tempdima%
\clearpage%
\setlength\@tempdima{\textheight}%
- \tud@ifverlower{2.03}{\@tempswafalse}{}%
+ \tud@if@v@lower{2.03}{\@tempswafalse}{}%
}%
\else%
- \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}%
+ \setbox\tud@title@box\vbox{#1\bigskip}%
\fi%
- \twocolumn[\unvbox\tud@title@twocolumn@box]%
- \tud@ifverlower{2.03}{%
+ \twocolumn[\unvbox\tud@title@box]%
+ \tud@if@v@lower{2.03}{%
\if@tempswa%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
You are using a two-column title along with\MessageBreak%
the DDC-logo. Unfortunately in this case, the\MessageBreak%
type area has to be adjusted manually. Please\MessageBreak%
- use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak%
+ use `\string\enlargethispage{-\the\tud@len@ddcdiff}'\MessageBreak%
in both columns after the title%
}%
\fi%
}{}%
}
-\newcommand*\tud@letsubjectthesis{%
- \if@tud@subjectthesis\ifx\@thesis\@empty\else%
- \ifx\@subject\@empty\else%
- \ClassWarning{\TUDClassName}{%
- The option `subjectthesis' was activated.\MessageBreak%
- The field `subject' will be overwritten with the\MessageBreak%
- given thesis%
- }%
- \fi%
- \let\@subject\@thesis%
- \fi\fi%
-}
-\newcommand*\tud@title@wrn[1]{%
- \ClassWarning{\TUDClassName}{%
- `\@backslashchar#1' has to be used with\MessageBreak%
- activated titlepage option%
- }%
-}
\newif\if@tud@cover
\newcommand*\makecover[1][]{%
\if@titlepageiscoverpage%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Using both option `titlepage=firstiscover' and\MessageBreak%
`\string\makecover' together isn't supported. The\MessageBreak%
option `titlepage=firstiscover' will be ignored. If you\MessageBreak%
@@ -5041,26 +6002,26 @@
\let\thanks\@gobble%
\let\footnote\@gobble%
\TUD@parameter@set{cover}{#1}%
- \let\tud@layout@title\tud@layout@cover%
+ \let\tud@layout@title@num\tud@layout@cover@num%
\tud@layout@process%
- \if@tud@cover@cdgeometry%
- \let\coverpagetopmargin\tud@dim@slimmargin%
- \let\coverpagebottommargin\tud@dim@widemargin%
- \let\coverpageleftmargin\tud@dim@widemargin%
- \let\coverpagerightmargin\tud@dim@slimmargin%
- \tud@ifverlower{2.03}{%
- \def\coverpagetopmargin{.5\tud@dim@both}%
- \def\coverpagebottommargin{.5\tud@dim@both}%
+ \if@tud@cdgeometry@cover%
+ \let\coverpagetopmargin\tud@len@slimmargin%
+ \let\coverpagebottommargin\tud@len@widemargin%
+ \let\coverpageleftmargin\tud@len@widemargin%
+ \let\coverpagerightmargin\tud@len@slimmargin%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagetopmargin{.5\tud@len@both}%
+ \def\coverpagebottommargin{.5\tud@len@both}%
}{}%
\fi%
- \ifcase\tud@layout@cover\relax% false
+ \ifcase\tud@layout@cover@num\relax% false
\KOMAoptions{titlepage=firstiscover}%
\let\@extratitle\@empty%
\let\@uppertitleback\@empty%
\let\@lowertitleback\@empty%
\let\@dedication\@empty%
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
+ \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
\else% !false
\@tud@covertrue%
\@titlepagetrue%
@@ -5074,32 +6035,32 @@
\begingroup%
\oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
\evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
-\coverpagerightmargin\relax%
\headheight=0pt%
\headsep=0pt%
- \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax%
- \tud@ifverlower{2.03}{%
- \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ \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@cover@cdgeometry%
+ \if@tud@cdgeometry@cover%
\def\coverpagetopmargin{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax%
}%
\else%
- \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep-1in\relax%
+ \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@dim@widemargin%
- \tud@ifverlower{2.03}{%
- \def\coverpagebottommargin{.5\tud@dim@both}%
+ \let\coverpagebottommargin\tud@len@widemargin%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagebottommargin{.5\tud@len@both}%
}{}%
\fi%
\fi%
- \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
-\coverpagebottommargin-\tud@dim@extrabottommargin\relax%
\topmargin=\dimexpr\coverpagetopmargin-1in\relax%
\@colht=\textheight%
@@ -5108,74 +6069,534 @@
\columnwidth=\textwidth%
\hsize=\columnwidth%
\linewidth=\hsize%
- \tud@dim@headdiff=\z@%
- \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}%
+ \tud@len@areavskip=\z@%
+ \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
\tud@maketitle%
\clearpage%
- \csname titlepage@restore\endcsname%
+ \titlepage@restore%
\fi%
\endgroup%
}
-\bool@lock{@tud@cover@cdgeometry}
-\TUD@parameter{cover}{%
- \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}%
+\bool@lock{@tud@cdgeometry@cover}
+\TUD@parameter@family{cover}{%
+ \TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
\TUD@parameter@let{cd}{cdcover}%
- \TUD@parameter@define{cdgeometry}[true]{%
+ \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}%
+ }%
+ }%
+ }%
+ }%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+%%% From File: tudscr-frontmatter.dtx
+\newcommand*\tud@fm@check[2]{%
+ \global\let\tud@fm@set\tud@fm@first%
+ \ifnumless{\csuse{tud@#1@level@num}}{3}{% false/true/section
+ \ifboolexpr{%
+ bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
+ }{%
+ \sbox\z@{\vbox{#2}}%
+ \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ The given content within the `#1'\MessageBreak%
+ environment is too large, so it wasn't possible\MessageBreak%
+ to center the body vertically. Setting the option\MessageBreak%
+ `#1=nofill' would be a solution. You\MessageBreak%
+ could also use multiple `#1' environments%
+ }%
+ \boolfalse{@tud@#1@fil}%
+ \fi%
+ }{}%
+ }{% chapter
+ \boolfalse{@tud@#1@multi}%
+ \boolfalse{@tud@#1@fil}%
+ }%
+ \ifnum\csuse{tud@#1@toc@num}>\tw@\relax%
+ \tud@fm@toc{#1}{#2}%
+ \fi%
+ \global\let\tud@fm@set\tud@fm@first%
+ #2%
+}
+\newcommand*\tud@fm@@toc{}
+\newcommand*\tud@fm@@@toc{}
+\newcommand*\tud@fm@toc[2]{%
+ \ifbool{@tud@#1@multi}{%
+ \begingroup%
+ \let\tud@fm@@@toc\@empty%
+ \renewcommand*\tud@fm@head[2]{%
+ \protected@edef\@tempa{##2}%
+ \protected@xdef\tud@fm@@toc{\tud@fm@@@toc\@tempa}%
+ \protected@xdef\tud@fm@@@toc{\tud@fm@@toc/}%
+ }%
+ \let\clearpage\relax%
+ \sbox\z@{\vbox{#2}}%
+ \protected@edef\@tempa{%
+ \noexpand\endgroup%
+ \noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{%
+ \noexpand\addchaptertocentry{}{\tud@fm@@toc}%
+ }{%
+ \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
+ }%
+ }%
+ \@tempa%
+ }{%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use `#1=single'\MessageBreak%
+ or `#1=chapter'
+ with `#1=tocmultiple'%
+ }%
+ \edef\@tempa{%
+ \noexpand\cs@set@lock{tud@#1@toc@num}{%
+ \the\numexpr\csuse{tud@#1@toc@num}-2\relax%
+ }%
+ }%
+ \@tempa%
+ }%
+}
+\newcommand\tud@fm@set[1]{}
+\newcommand\tud@fm@first[1]{%
+ \if@twocolumn\else%
+ \if@titlepage%
+ \ifbool{@tud@#1@fil}{\null\vfil}{}%
+ \fi%
+ \fi%
+ \global\let\tud@fm@set\tud@fm@next%
+}
+\newcommand\tud@fm@next[1]{%
+ \if@twocolumn%
+ \ifbool{@tud@#1@multi}{\par}{\newpage}%
+ \else%
+ \if@titlepage%
+ \ifbool{@tud@#1@multi}{%
+ \ifbool{@tud@#1@fil}{\vfil}{}%
+ }{%
+ \ifbool{@tud@#1@fil}{\vfil\null\clearpage\null\vfil}{\clearpage}%
+ }%
+ \else%
+ \ifnum\csuse{tud@#1@level@num}=\z@\relax%
+ \ifundef{\main@language}{}{\vspace*{-\baselineskip}}%
+ \fi%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@fm@body@start[3]{%
+ \begingroup%
+ \TUD@parameter@set{#1}{#2}%
+ \tud@fm@set{#1}%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \begin{\tud@quoting}%
+ \fi%
+ \fi\fi%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \vspace{-\multicolsep}%
+ \begin{multicols}{\tud@x@multicol@num}[{\tud@fm@head{#1}{#3}}]%
+ \else%
+ \tud@fm@head{#1}{#3}%
+ \fi%
+}
+\newcommand*\tud@fm@body@end[1]{%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \end{multicols}%
+ \vspace{-\multicolsep}%
+ \else%
+ \par%
+ \fi%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \end{\tud@quoting}\par%
+ \fi%
+ \fi\fi%
+ \endgroup%
+}
+\newcommand*\tud@fm@head[2]{%
+ \ifcase\csuse{tud@#1@level@num}\relax% false
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \if@twocolumn%
+ \vskip\dimexpr\smallskipamount-\parskip\relax%
+ \else%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ }%
+ \or% true
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \@afterindentfalse%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ }%
+ \begingroup%
+ \noindent\centering%
+ \normalfont\sectfont\nobreak#2%
+ \@endparpenalty\@M%
+ \endgraf%
+ \endgroup%
+ \nopagebreak%
+ \vskip\dimexpr\medskipamount-\parskip\relax%
+ \@afterheading%
+ \or% section
+ \section*{#2}%
+ \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
+ \or% chapter
+ \chapter*{#2}%
+ \@mkdouble{\MakeMarkcase{#2}}%
+ \fi%
+ \ifbool{@tud@#1@markboth}{%
+ \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
+ }{}%
+ \ifcase\csuse{tud@#1@toc@num}\relax\or% totoc
+ \addchaptertocentry{}{#2}%
+ \or% totocleveldown
+ \addsectiontocentry{}{#2}%
+ \fi%
+}
+\newcommand*\tud@fm@pagestyle[2]{%
+ \if@titlepage%
+ \ifcsundef{ps@#2}{%
+ \ClassError{\TUD@Class@Name}{`#2' is no valid pagestyle}{%
+ You tried to use `#2' as a pagestyle for the\MessageBreak%
+ `#1' environment, but it was never defined.%
+ }%
+ }{\def\tud@envir@ps{#2}}%
+ \else%
+ \ClassWarning{\TUD@Class@Name}{%
+ The key `pagestyle' can only be used either with\MessageBreak%
+ activated option `titlepage' or with chapter\MessageBreak%
+ headings (`#1=chapter')%
+ }%
+ \fi%
+}
+\newcommand*\tud@quoting{quotation}
+\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
+\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%
+ \if@titlepage%
+ \tud@currentpagestyle@set%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
+ \clearpage%
+ \tud@envir@selectps%
+ \fi%
+ \renewcommand*\nextabstract[1][]{%
+ \tud@fm@body@end{abstract}%
+ \tud@fm@body@start{abstract}{##1}{\abstractname}%
+ }%
+ \tud@fm@check{abstract}{%
+ \tud@fm@body@start{abstract}{#1}{\abstractname}%
+ \BODY%
+ \tud@fm@body@end{abstract}%
+ }%
+}[%
+ \if@titlepage%
+ \if@tud@abstract@fil\vfil\null\fi%
+ \aftergroup\tud@currentpagestyle@reset%
+ \clearpage%
+ \else%
+ \ifnum\tud@abstract@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ \fi%
+]
+\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{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
+ \TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
- \bool@set@lock{@tud@cover@cdgeometry}{true}%
+ \@tud@abstract@markbothtrue%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
}{%
- \bool@set@lock{@tud@cover@cdgeometry}{false}%
+ \@tud@abstract@markbothfalse%
}{%
- \TUD@parameter@error{cdgeometry}{true,false}%
+ \@tud@abstract@markbothfalse%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ \manualmark\markboth{#1}{#1}%
}%
}%
- \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{%
- \ifxnumber{#1}{%
- \TUD@parameter@set{cover}{pagenumber=#1}%
+ \TUD@parameter@def{abstract}{\TUDoption{abstract}{#1}}%
+ \TUD@parameter@let{option}{abstract}%
+ \TUD@parameter@handler@default{}%
+}
+\newcommand*\nextabstract[1][]{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextabstract'}{%
+ The command `\string\nextabstract' can only be used within\MessageBreak%
+ the environment `abstract'.%
+ }%
+}
+\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%
+ \if@titlepage%
+ \tud@currentpagestyle@set%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
+ \clearpage%
+ \tud@envir@selectps%
+ \fi%
+ \def\and{, }%
+ \let\thanks\@gobble%
+ \tud@fm@check{declaration}{\BODY}%
+}[%
+ \if@titlepage%
+ \if@tud@declaration@fil\vfil\null\fi%
+ \aftergroup\tud@currentpagestyle@reset%
+ \clearpage%
+ \else%
+ \ifnum\tud@declaration@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ \fi%
+]
+\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{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
+ \TUD@parameter@def{markboth}[true]{%
+ \ifstrbool{#1}{%
+ \@tud@declaration@markbothtrue%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ }{%
+ \@tud@declaration@markbothfalse%
}{%
- \TUD@parameter@set{cover}{cdgeometry=#1}%
+ \@tud@declaration@markbothfalse%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ \manualmark\markboth{#1}{#1}%
+ }%
+ }%
+ \TUD@parameter@def{company}{\def\@company{#1}}%
+ \TUD@parameter@def{supporter}{\def\@supporter{#1}}%
+ \TUD@parameter@def{place}{\def\@place{#1}}%
+ \TUD@parameter@def{closing}{\def\@confirmationclosing{#1}}%
+ \TUD@parameter@let{confirmationclosing}{closing}%
+ \TUD@parameter@def{declaration}{\TUDoption{declaration}{#1}}%
+ \TUD@parameter@let{option}{declaration}%
+ \TUD@parameter@handler@default{}%
+}
+\newcommand*\tud@fm@supporter{}
+\newcommand*\declaration{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@declaration%
+ }{%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@declaration%
+ }%
+}
+\newcommand*\tud@fm@declaration[1][]{%
+ \ifbool{@tud@declarations}{%
+ \begingroup%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
+ \tud@fm@blocking[#1]%
+ \endgroup%
+ }{%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
+ \tud@fm@blocking%
+ \end{declarations}%
+ }%
+}
+\newcommand*\nextdeclaration[3][]{%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@body@start{declaration}{#1}{#2}%
+ #3%
+ \tud@fm@body@end{declaration}%
+ }{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextdeclaration'}{%
+ The command `\string\nextdeclaration' can only be used\MessageBreak%
+ within the environment `declarations'.%
}%
}%
}
+\newcommand*\confirmation{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@confirmation%
+ }{%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@confirmation%
+ }%
+}
+\newcommand*\tud@fm@confirmation[1][]{%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{supporter}%
+ \undef\KV@declaration@company%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
+ }{%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
+ \end{declarations}%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@fm@@confirmation[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\confirmationname}%
+ \confirmationtext\vskip\z@\@confirmationclosing%
+ \tud@fm@body@end{declaration}%
+}
+\newcommand*\blocking[1][]{%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{company}%
+ \undef\KV@declaration@supporter%
+ \undef\KV@declaration@closing%
+ \undef\KV@declaration@confirmationclosing%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@blocking[#1]%
+ }{%
+ \begin{declarations}[#1]%
+ \tud@fm@blocking%
+ \end{declarations}%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@fm@blocking[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\blockingname}%
+ \blockingtext%
+ \tud@fm@body@end{declaration}%
+}
%%% From File: tudscr-comp.dtx
-\newcommand*\tud@deprecated@cmd[2]{%
+\newcommand*\TUD@cmd@deprecated[2]{%
\AtBeginDocument{%
- \ifcsdef{#1}{}{%
+ \ifcsundef{#1}{%
\expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\TUDClassName}{%
- The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ The command `\@backslashchar#1' is deprecated\MessageBreak%
It's recommended to use `\@backslashchar#2' instead%
}%
\csletcs{#1}{#2}%
- \@nameuse{#2}%
+ \csuse{#2}%
}%
- }%
+ }{}%
}%
}
-\newlength\chapterheadingvskip
+\newcommand*\TUD@len@deprecated[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
+\setlength\pageheadingsvskip{\maxdimen}
+\newlength\headingsvskip
+\setlength\headingsvskip{\maxdimen}
+\newcommand*\chapterheadingvskip{}
\let\chapterheadingvskip\headingsvskip
-\tud@deprecated@cmd{professorship}{chair}
-\tud@deprecated@cmd{studentid}{matriculationnumber}
-\tud@deprecated@cmd{matriculationid}{matriculationnumber}
-\tud@deprecated@cmd{enrolmentyear}{matriculationyear}%
-\tud@deprecated@cmd{birthplace}{placeofbirth}
-\tud@deprecated@cmd{location}{place}
-\tud@deprecated@cmd{submissiondate}{date}
-\tud@deprecated@cmd{oralexaminationdate}{defensedate}%
-\tud@deprecated@cmd{birthday}{dateofbirth}
-\tud@deprecated@cmd{logofile}{headlogo}
-\tud@deprecated@cmd{logofilename}{headlogo}
+\TUD@cmd@deprecated{professorship}{chair}
+\TUD@cmd@deprecated{studentid}{matriculationnumber}
+\TUD@cmd@deprecated{matriculationid}{matriculationnumber}
+\TUD@cmd@deprecated{enrolmentyear}{matriculationyear}
+\TUD@cmd@deprecated{birthplace}{placeofbirth}
+\TUD@cmd@deprecated{submissiondate}{date}
+\TUD@cmd@deprecated{oralexaminationdate}{defensedate}
+\TUD@cmd@deprecated{birthday}{dateofbirth}
+\TUD@cmd@deprecated{location}{place}
+\TUD@cmd@deprecated{logofile}{headlogo}
+\TUD@cmd@deprecated{logofilename}{headlogo}
\AfterPackage{tudscrsupervisor}{%
- \tud@deprecated@cmd{startdate}{issuedate}%
- \tud@deprecated@cmd{finaldate}{duedate}%
- \tud@deprecated@cmd{maturitydate}{duedate}%
+ \TUD@cmd@deprecated{startdate}{issuedate}%
+ \TUD@cmd@deprecated{finaldate}{duedate}%
+ \TUD@cmd@deprecated{maturitydate}{duedate}%
+}
+\AtEndOfClass%
+{%
+ \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
}
%%% From File: tudscr-misc.dtx
-\newcounter{symbolheadings}[chapter]%
+\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%
+ \fi%
+}
\newcommand*\tudbookmark[1][]{\@gobbletwo}
-\newcommand*\tud@footnote@unhyper{}
+\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
\renewcommand*\tudbookmark[3][]{%
\relax%
@@ -5184,7 +6605,7 @@
\ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}%
\fi%
}%
- \renewcommand*\tud@footnote@unhyper{%
+ \renewcommand*\tud@x@hyperref@realfootnotes{%
\let\Hy@saved@footnotemark\@footnotemark%
\let\Hy@saved@footnotetext\@footnotetext%
\let\@footnotemark\H@@footnotemark%
@@ -5192,26 +6613,89 @@
}%
\pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}%
}
-\pretocmd{\maketitle}{%
- \if@tud@bookmarks%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \fi%
- \tudbookmark[0]{\titlepagename}{title}%
-}{}{\tud@patch@wrn{maketitle}}
-\pretocmd{\tableofcontents}{%
- \if@tud@bookmarks%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+\newcommand*\tud@x@bookmark@startatroot{\relax}
+\AfterPackage{bookmark}{%
+ \renewcommand*\tud@x@bookmark@startatroot{%
+ \if@tud@bookmarks\bookmarksetup{startatroot}\fi%
+ }%
+}
+\apptocmd{\titlepage}{%
+ \tud@x@bookmark@startatroot%
+ \if@tud@cover%
+ \tudbookmark[%
+ 0%
+ ]{\coverpagename}{cover}%
+ \else%
+ \tudbookmark[%
+ 0%
+ ]{\titlepagename}{title}%
\fi%
- \tudbookmark[0]{\contentsname}{toc}%
-}{}{\tud@patch@wrn{tableofcontents}}
+}{}{\tud@patch@wrn{titlepage}}
+\pretocmd{\tud@make@titlehead}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 0%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{tud@make@titlehead}}
+\pretocmd{\@maketitle}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 0%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{@maketitle}}
+\BeforeTOCHead[toc]{%
+ \tud@x@bookmark@startatroot%
+ \let\@tempc\relax%
+ \iftocfeature{toc}{totoc}{}{%
+ \if@tud@bookmarks%
+ \setuptoc{toc}{totoc}%
+ \tud@cmd@store{addtocontents}%
+ \def\@tempc{%
+ \unsettoc{toc}{totoc}%
+ \tud@cmd@restore{addtocontents}%
+ }%
+ \let\addtocontents\@gobbletwo%
+ \fi%
+ }%
+}
+\AfterTOCHead[toc]{\@tempc}
+\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
+\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
\BeforePackage{tocloft}{%
- \ClassWarning{\TUDClassName}{%
- It is not recommended to use package `tocloft'.\MessageBreak%
- Loading the package will certainly lead to problems\MessageBreak%
- with table of contents and any list of floats. You\MessageBreak%
- should use the appropriate options of KOMA-Script%
+ \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%
+}
+\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}}
\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 2f61ec1c416..590a33efbd6 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty
@@ -4,8 +4,8 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package')
-%% tudscr-color.dtx (with options: `package')
+%% tudscr-version.dtx (with options: `package,color')
+%% tudscr-color.dtx (with options: `package,color')
%%
%% ============================================================================
%%
@@ -35,252 +35,260 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-color.dtx
-\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrcolor}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
package
(corporate design colors)%
]
-\DeclareOption{newcolors}{\let\setcdcolors@add\relax}
-\DeclareOption{reduced}{\let\setcdcolors@add\relax}
-\DeclareOption{oldcolors}{\let\setcdcolors@add\setcdcolors@oldcolors}
-\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@oldcolors}
+\DeclareOption{newcolors}{\let\tud@setcolors@add\relax}
+\DeclareOption{reduced}{\let\tud@setcolors@add\relax}
+\DeclareOption{oldcolors}{\let\tud@setcolors@add\tud@setcolors@old}
+\DeclareOption{full}{\let\tud@setcolors@add\tud@setcolors@old}
\newcommand*\tud@color[1]{\ifdefvoid{#1}{}{\color{#1}}}
-\newcommand*\setcdcolors@add{}
\newcommand*\setcdcolors[1]{%
- \def\@tempa{#1}\ifx\@tempa\@empty\else%
- \selectcolormodel{\@tempa}
- \fi%
+ \selectcolormodel{#1}%
+ \tud@setcolors@do%
+}
+\newcommand*\tud@setcolors@add{}
+\newcommand*\tud@setcolors@do{%
\definecolor{HKS41}{cmyk/RGB/rgb}{%
1.00,0.70,0.10,0.50/011,042,081/0.0431372549,0.16470588235,0.31764705882%
- }
+ }%
\definecolor{HKS92}{cmyk/RGB/rgb}{%
0.10,0.00,0.05,0.65/080,089,085/0.31372549019,0.34901960784,0.33333333333%
- }
+ }%
\definecolor{HKS44}{cmyk/RGB/rgb}{%
1.00,0.50,0.00,0.00/000,089,163/0,0.34901960784,0.63921568627%
- }
+ }%
\definecolor{HKS36}{cmyk/RGB/rgb}{%
0.80,0.90,0.00,0.00/081,041,127/0.31764705882,0.16078431372,0.49803921568%
- }
+ }%
\definecolor{HKS33}{cmyk/RGB/rgb}{%
0.50,1.00,0.00,0.00/129,026,120/0.50588235294,0.10196078431,0.47058823529%
- }
+ }%
\definecolor{HKS57}{cmyk/RGB/rgb}{%
1.00,0.00,0.90,0.20/000,122,071/0,0.47843137254,0.28235294117%
- }
+ }%
\definecolor{HKS65}{cmyk/RGB/rgb}{%
0.65,0.00,1.00,0.00/034,173,054/0.13333333333,0.67843137254,0.21176470588%
- }
+ }%
\definecolor{HKS07}{cmyk/RGB/rgb}{%
0.00,0.60,1.00,0.00/232,123,020/0.90980392156,0.48235294117,0.07843137254%
- }
- \colorlet{cddarkblue}{HKS41}
- \colorlet{cdgray}{HKS92}
- \colorlet{cdgrey}{HKS92}
- \colorlet{cdblue}{HKS44}
- \colorlet{cdindigo}{HKS36}
- \colorlet{cdpurple}{HKS33}
- \colorlet{cddarkgreen}{HKS57}
- \colorlet{cdgreen}{HKS65}
- \colorlet{cdorange}{HKS07}
- \setcdcolors@add%
+ }%
+ \colorlet{cddarkblue}{HKS41}%
+ \colorlet{cdgray}{HKS92}%
+ \colorlet{cdgrey}{HKS92}%
+ \colorlet{cdblue}{HKS44}%
+ \colorlet{cdindigo}{HKS36}%
+ \colorlet{cdpurple}{HKS33}%
+ \colorlet{cddarkgreen}{HKS57}%
+ \colorlet{cdgreen}{HKS65}%
+ \colorlet{cdorange}{HKS07}%
+ \tud@setcolors@add%
}
-\newcommand*\setcdcolors@oldcolors{%
- \colorlet{HKS41K100}{HKS41!100}
- \colorlet{HKS41K90}{HKS41!90}
- \colorlet{HKS41K80}{HKS41!80}
- \colorlet{HKS41K70}{HKS41!70}
- \colorlet{HKS41K60}{HKS41!60}
- \colorlet{HKS41K50}{HKS41!50}
- \colorlet{HKS41K40}{HKS41!40}
- \colorlet{HKS41K30}{HKS41!30}
- \colorlet{HKS41K20}{HKS41!20}
- \colorlet{HKS41K10}{HKS41!10}
- \colorlet{HKS92K100}{HKS92!100}
- \colorlet{HKS92K90}{HKS92!90}
- \colorlet{HKS92K80}{HKS92!80}
- \colorlet{HKS92K70}{HKS92!70}
- \colorlet{HKS92K60}{HKS92!60}
- \colorlet{HKS92K50}{HKS92!50}
- \colorlet{HKS92K40}{HKS92!40}
- \colorlet{HKS92K30}{HKS92!30}
- \colorlet{HKS92K20}{HKS92!20}
- \colorlet{HKS92K10}{HKS92!10}
- \colorlet{HKS44K100}{HKS44!100}
- \colorlet{HKS44K90}{HKS44!90}
- \colorlet{HKS44K80}{HKS44!80}
- \colorlet{HKS44K70}{HKS44!70}
- \colorlet{HKS44K60}{HKS44!60}
- \colorlet{HKS44K50}{HKS44!50}
- \colorlet{HKS44K40}{HKS44!40}
- \colorlet{HKS44K30}{HKS44!30}
- \colorlet{HKS44K20}{HKS44!20}
- \colorlet{HKS44K10}{HKS44!10}
- \colorlet{HKS36K10}{HKS36!10}
- \colorlet{HKS36K20}{HKS36!20}
- \colorlet{HKS36K30}{HKS36!30}
- \colorlet{HKS36K40}{HKS36!40}
- \colorlet{HKS36K50}{HKS36!50}
- \colorlet{HKS36K60}{HKS36!60}
- \colorlet{HKS36K70}{HKS36!70}
- \colorlet{HKS36K80}{HKS36!80}
- \colorlet{HKS36K90}{HKS36!90}
- \colorlet{HKS36K100}{HKS36!100}
- \colorlet{HKS33K10}{HKS33!10}
- \colorlet{HKS33K20}{HKS33!20}
- \colorlet{HKS33K30}{HKS33!30}
- \colorlet{HKS33K40}{HKS33!40}
- \colorlet{HKS33K50}{HKS33!50}
- \colorlet{HKS33K60}{HKS33!60}
- \colorlet{HKS33K70}{HKS33!70}
- \colorlet{HKS33K80}{HKS33!80}
- \colorlet{HKS33K90}{HKS33!90}
- \colorlet{HKS33K100}{HKS33!100}
- \colorlet{HKS57K10}{HKS57!10}
- \colorlet{HKS57K20}{HKS57!20}
- \colorlet{HKS57K30}{HKS57!30}
- \colorlet{HKS57K40}{HKS57!40}
- \colorlet{HKS57K50}{HKS57!50}
- \colorlet{HKS57K60}{HKS57!60}
- \colorlet{HKS57K70}{HKS57!70}
- \colorlet{HKS57K80}{HKS57!80}
- \colorlet{HKS57K90}{HKS57!90}
- \colorlet{HKS57K100}{HKS57!100}
- \colorlet{HKS65K10}{HKS65!10}
- \colorlet{HKS65K20}{HKS65!20}
- \colorlet{HKS65K30}{HKS65!30}
- \colorlet{HKS65K40}{HKS65!40}
- \colorlet{HKS65K50}{HKS65!50}
- \colorlet{HKS65K60}{HKS65!60}
- \colorlet{HKS65K70}{HKS65!70}
- \colorlet{HKS65K80}{HKS65!80}
- \colorlet{HKS65K90}{HKS65!90}
- \colorlet{HKS65K100}{HKS65!100}
- \colorlet{HKS07K10}{HKS07!10}
- \colorlet{HKS07K20}{HKS07!20}
- \colorlet{HKS07K30}{HKS07!30}
- \colorlet{HKS07K40}{HKS07!40}
- \colorlet{HKS07K50}{HKS07!50}
- \colorlet{HKS07K60}{HKS07!60}
- \colorlet{HKS07K70}{HKS07!70}
- \colorlet{HKS07K80}{HKS07!80}
- \colorlet{HKS07K90}{HKS07!90}
- \colorlet{HKS07K100}{HKS07!100}
- \colorlet{HKS41-100}{HKS41!100}
- \colorlet{HKS41-90}{HKS41!90}
- \colorlet{HKS41-80}{HKS41!80}
- \colorlet{HKS41-70}{HKS41!70}
- \colorlet{HKS41-60}{HKS41!60}
- \colorlet{HKS41-50}{HKS41!50}
- \colorlet{HKS41-40}{HKS41!40}
- \colorlet{HKS41-30}{HKS41!30}
- \colorlet{HKS41-20}{HKS41!20}
- \colorlet{HKS41-10}{HKS41!10}
- \colorlet{HKS92-100}{HKS92!100}
- \colorlet{HKS92-90}{HKS92!90}
- \colorlet{HKS92-80}{HKS92!80}
- \colorlet{HKS92-70}{HKS92!70}
- \colorlet{HKS92-60}{HKS92!60}
- \colorlet{HKS92-50}{HKS92!50}
- \colorlet{HKS92-40}{HKS92!40}
- \colorlet{HKS92-30}{HKS92!30}
- \colorlet{HKS92-20}{HKS92!20}
- \colorlet{HKS92-10}{HKS92!10}
- \colorlet{HKS44-100}{HKS44!100}
- \colorlet{HKS44-90}{HKS44!90}
- \colorlet{HKS44-80}{HKS44!80}
- \colorlet{HKS44-70}{HKS44!70}
- \colorlet{HKS44-60}{HKS44!60}
- \colorlet{HKS44-50}{HKS44!50}
- \colorlet{HKS44-40}{HKS44!40}
- \colorlet{HKS44-30}{HKS44!30}
- \colorlet{HKS44-20}{HKS44!20}
- \colorlet{HKS44-10}{HKS44!10}
- \colorlet{HKS36-10}{HKS36!10}
- \colorlet{HKS36-20}{HKS36!20}
- \colorlet{HKS36-30}{HKS36!30}
- \colorlet{HKS36-40}{HKS36!40}
- \colorlet{HKS36-50}{HKS36!50}
- \colorlet{HKS36-60}{HKS36!60}
- \colorlet{HKS36-70}{HKS36!70}
- \colorlet{HKS36-80}{HKS36!80}
- \colorlet{HKS36-90}{HKS36!90}
- \colorlet{HKS36-100}{HKS36!100}
- \colorlet{HKS33-10}{HKS33!10}
- \colorlet{HKS33-20}{HKS33!20}
- \colorlet{HKS33-30}{HKS33!30}
- \colorlet{HKS33-40}{HKS33!40}
- \colorlet{HKS33-50}{HKS33!50}
- \colorlet{HKS33-60}{HKS33!60}
- \colorlet{HKS33-70}{HKS33!70}
- \colorlet{HKS33-80}{HKS33!80}
- \colorlet{HKS33-90}{HKS33!90}
- \colorlet{HKS33-100}{HKS33!100}
- \colorlet{HKS57-10}{HKS57!10}
- \colorlet{HKS57-20}{HKS57!20}
- \colorlet{HKS57-30}{HKS57!30}
- \colorlet{HKS57-40}{HKS57!40}
- \colorlet{HKS57-50}{HKS57!50}
- \colorlet{HKS57-60}{HKS57!60}
- \colorlet{HKS57-70}{HKS57!70}
- \colorlet{HKS57-80}{HKS57!80}
- \colorlet{HKS57-90}{HKS57!90}
- \colorlet{HKS57-100}{HKS57!100}
- \colorlet{HKS65-10}{HKS65!10}
- \colorlet{HKS65-20}{HKS65!20}
- \colorlet{HKS65-30}{HKS65!30}
- \colorlet{HKS65-40}{HKS65!40}
- \colorlet{HKS65-50}{HKS65!50}
- \colorlet{HKS65-60}{HKS65!60}
- \colorlet{HKS65-70}{HKS65!70}
- \colorlet{HKS65-80}{HKS65!80}
- \colorlet{HKS65-90}{HKS65!90}
- \colorlet{HKS65-100}{HKS65!100}
- \colorlet{HKS07-10}{HKS07!10}
- \colorlet{HKS07-20}{HKS07!20}
- \colorlet{HKS07-30}{HKS07!30}
- \colorlet{HKS07-40}{HKS07!40}
- \colorlet{HKS07-50}{HKS07!50}
- \colorlet{HKS07-60}{HKS07!60}
- \colorlet{HKS07-70}{HKS07!70}
- \colorlet{HKS07-80}{HKS07!80}
- \colorlet{HKS07-90}{HKS07!90}
- \colorlet{HKS07-100}{HKS07!100}
+\newcommand*\tud@setcolors@old{%
+ \colorlet{HKS41K10}{HKS41!10}%
+ \colorlet{HKS41K20}{HKS41!20}%
+ \colorlet{HKS41K30}{HKS41!30}%
+ \colorlet{HKS41K40}{HKS41!40}%
+ \colorlet{HKS41K50}{HKS41!50}%
+ \colorlet{HKS41K60}{HKS41!60}%
+ \colorlet{HKS41K70}{HKS41!70}%
+ \colorlet{HKS41K80}{HKS41!80}%
+ \colorlet{HKS41K90}{HKS41!90}%
+ \colorlet{HKS41K100}{HKS41!100}%
+ \colorlet{HKS92K10}{HKS92!10}%
+ \colorlet{HKS92K20}{HKS92!20}%
+ \colorlet{HKS92K30}{HKS92!30}%
+ \colorlet{HKS92K40}{HKS92!40}%
+ \colorlet{HKS92K50}{HKS92!50}%
+ \colorlet{HKS92K60}{HKS92!60}%
+ \colorlet{HKS92K70}{HKS92!70}%
+ \colorlet{HKS92K80}{HKS92!80}%
+ \colorlet{HKS92K90}{HKS92!90}%
+ \colorlet{HKS92K100}{HKS92!100}%
+ \colorlet{HKS44K10}{HKS44!10}%
+ \colorlet{HKS44K20}{HKS44!20}%
+ \colorlet{HKS44K30}{HKS44!30}%
+ \colorlet{HKS44K40}{HKS44!40}%
+ \colorlet{HKS44K50}{HKS44!50}%
+ \colorlet{HKS44K60}{HKS44!60}%
+ \colorlet{HKS44K70}{HKS44!70}%
+ \colorlet{HKS44K80}{HKS44!80}%
+ \colorlet{HKS44K90}{HKS44!90}%
+ \colorlet{HKS44K100}{HKS44!100}%
+ \colorlet{HKS36K10}{HKS36!10}%
+ \colorlet{HKS36K20}{HKS36!20}%
+ \colorlet{HKS36K30}{HKS36!30}%
+ \colorlet{HKS36K40}{HKS36!40}%
+ \colorlet{HKS36K50}{HKS36!50}%
+ \colorlet{HKS36K60}{HKS36!60}%
+ \colorlet{HKS36K70}{HKS36!70}%
+ \colorlet{HKS36K80}{HKS36!80}%
+ \colorlet{HKS36K90}{HKS36!90}%
+ \colorlet{HKS36K100}{HKS36!100}%
+ \colorlet{HKS33K10}{HKS33!10}%
+ \colorlet{HKS33K20}{HKS33!20}%
+ \colorlet{HKS33K30}{HKS33!30}%
+ \colorlet{HKS33K40}{HKS33!40}%
+ \colorlet{HKS33K50}{HKS33!50}%
+ \colorlet{HKS33K60}{HKS33!60}%
+ \colorlet{HKS33K70}{HKS33!70}%
+ \colorlet{HKS33K80}{HKS33!80}%
+ \colorlet{HKS33K90}{HKS33!90}%
+ \colorlet{HKS33K100}{HKS33!100}%
+ \colorlet{HKS57K10}{HKS57!10}%
+ \colorlet{HKS57K20}{HKS57!20}%
+ \colorlet{HKS57K30}{HKS57!30}%
+ \colorlet{HKS57K40}{HKS57!40}%
+ \colorlet{HKS57K50}{HKS57!50}%
+ \colorlet{HKS57K60}{HKS57!60}%
+ \colorlet{HKS57K70}{HKS57!70}%
+ \colorlet{HKS57K80}{HKS57!80}%
+ \colorlet{HKS57K90}{HKS57!90}%
+ \colorlet{HKS57K100}{HKS57!100}%
+ \colorlet{HKS65K10}{HKS65!10}%
+ \colorlet{HKS65K20}{HKS65!20}%
+ \colorlet{HKS65K30}{HKS65!30}%
+ \colorlet{HKS65K40}{HKS65!40}%
+ \colorlet{HKS65K50}{HKS65!50}%
+ \colorlet{HKS65K60}{HKS65!60}%
+ \colorlet{HKS65K70}{HKS65!70}%
+ \colorlet{HKS65K80}{HKS65!80}%
+ \colorlet{HKS65K90}{HKS65!90}%
+ \colorlet{HKS65K100}{HKS65!100}%
+ \colorlet{HKS07K10}{HKS07!10}%
+ \colorlet{HKS07K20}{HKS07!20}%
+ \colorlet{HKS07K30}{HKS07!30}%
+ \colorlet{HKS07K40}{HKS07!40}%
+ \colorlet{HKS07K50}{HKS07!50}%
+ \colorlet{HKS07K60}{HKS07!60}%
+ \colorlet{HKS07K70}{HKS07!70}%
+ \colorlet{HKS07K80}{HKS07!80}%
+ \colorlet{HKS07K90}{HKS07!90}%
+ \colorlet{HKS07K100}{HKS07!100}%
+ \colorlet{HKS41-10}{HKS41!10}%
+ \colorlet{HKS41-20}{HKS41!20}%
+ \colorlet{HKS41-30}{HKS41!30}%
+ \colorlet{HKS41-40}{HKS41!40}%
+ \colorlet{HKS41-50}{HKS41!50}%
+ \colorlet{HKS41-60}{HKS41!60}%
+ \colorlet{HKS41-70}{HKS41!70}%
+ \colorlet{HKS41-80}{HKS41!80}%
+ \colorlet{HKS41-90}{HKS41!90}%
+ \colorlet{HKS41-100}{HKS41!100}%
+ \colorlet{HKS92-10}{HKS92!10}%
+ \colorlet{HKS92-20}{HKS92!20}%
+ \colorlet{HKS92-30}{HKS92!30}%
+ \colorlet{HKS92-40}{HKS92!40}%
+ \colorlet{HKS92-50}{HKS92!50}%
+ \colorlet{HKS92-60}{HKS92!60}%
+ \colorlet{HKS92-70}{HKS92!70}%
+ \colorlet{HKS92-80}{HKS92!80}%
+ \colorlet{HKS92-90}{HKS92!90}%
+ \colorlet{HKS92-100}{HKS92!100}%
+ \colorlet{HKS44-10}{HKS44!10}%
+ \colorlet{HKS44-20}{HKS44!20}%
+ \colorlet{HKS44-30}{HKS44!30}%
+ \colorlet{HKS44-40}{HKS44!40}%
+ \colorlet{HKS44-50}{HKS44!50}%
+ \colorlet{HKS44-60}{HKS44!60}%
+ \colorlet{HKS44-70}{HKS44!70}%
+ \colorlet{HKS44-80}{HKS44!80}%
+ \colorlet{HKS44-90}{HKS44!90}%
+ \colorlet{HKS44-100}{HKS44!100}%
+ \colorlet{HKS36-10}{HKS36!10}%
+ \colorlet{HKS36-20}{HKS36!20}%
+ \colorlet{HKS36-30}{HKS36!30}%
+ \colorlet{HKS36-40}{HKS36!40}%
+ \colorlet{HKS36-50}{HKS36!50}%
+ \colorlet{HKS36-60}{HKS36!60}%
+ \colorlet{HKS36-70}{HKS36!70}%
+ \colorlet{HKS36-80}{HKS36!80}%
+ \colorlet{HKS36-90}{HKS36!90}%
+ \colorlet{HKS36-100}{HKS36!100}%
+ \colorlet{HKS33-10}{HKS33!10}%
+ \colorlet{HKS33-20}{HKS33!20}%
+ \colorlet{HKS33-30}{HKS33!30}%
+ \colorlet{HKS33-40}{HKS33!40}%
+ \colorlet{HKS33-50}{HKS33!50}%
+ \colorlet{HKS33-60}{HKS33!60}%
+ \colorlet{HKS33-70}{HKS33!70}%
+ \colorlet{HKS33-80}{HKS33!80}%
+ \colorlet{HKS33-90}{HKS33!90}%
+ \colorlet{HKS33-100}{HKS33!100}%
+ \colorlet{HKS57-10}{HKS57!10}%
+ \colorlet{HKS57-20}{HKS57!20}%
+ \colorlet{HKS57-30}{HKS57!30}%
+ \colorlet{HKS57-40}{HKS57!40}%
+ \colorlet{HKS57-50}{HKS57!50}%
+ \colorlet{HKS57-60}{HKS57!60}%
+ \colorlet{HKS57-70}{HKS57!70}%
+ \colorlet{HKS57-80}{HKS57!80}%
+ \colorlet{HKS57-90}{HKS57!90}%
+ \colorlet{HKS57-100}{HKS57!100}%
+ \colorlet{HKS65-10}{HKS65!10}%
+ \colorlet{HKS65-20}{HKS65!20}%
+ \colorlet{HKS65-30}{HKS65!30}%
+ \colorlet{HKS65-40}{HKS65!40}%
+ \colorlet{HKS65-50}{HKS65!50}%
+ \colorlet{HKS65-60}{HKS65!60}%
+ \colorlet{HKS65-70}{HKS65!70}%
+ \colorlet{HKS65-80}{HKS65!80}%
+ \colorlet{HKS65-90}{HKS65!90}%
+ \colorlet{HKS65-100}{HKS65!100}%
+ \colorlet{HKS07-10}{HKS07!10}%
+ \colorlet{HKS07-20}{HKS07!20}%
+ \colorlet{HKS07-30}{HKS07!30}%
+ \colorlet{HKS07-40}{HKS07!40}%
+ \colorlet{HKS07-50}{HKS07!50}%
+ \colorlet{HKS07-60}{HKS07!60}%
+ \colorlet{HKS07-70}{HKS07!70}%
+ \colorlet{HKS07-80}{HKS07!80}%
+ \colorlet{HKS07-90}{HKS07!90}%
+ \colorlet{HKS07-100}{HKS07!100}%
}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}}
\ExecuteOptions{reduced}
\ProcessOptions\relax
\RequirePackage{xcolor}[2007/01/21]
-\setcdcolors{}
+\tud@setcolors@do%
\endinput
%%
%% End of file `tudscrcolor.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty
new file mode 100644
index 00000000000..dc228e9d252
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty
@@ -0,0 +1,214 @@
+%%
+%% This is file `tudscrcomp-book.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tudscr-version.dtx (with options: `package,comp,book')
+%% tudscr-comp.dtx (with options: `package,comp,book,identify')
+%% tudscr-comp.dtx (with options: `package,comp,book,option')
+%% tudscr-misc.dtx (with options: `package,comp,book,execute')
+%% tudscr-comp.dtx (with options: `package,comp,book,body')
+%%
+%% ============================================================================
+%%
+%% TUD-KOMA-Script
+%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
+%%
+%% ============================================================================
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, version 1.3c of the license. The latest
+%% version of this license is in http://www.latex-project.org/lppl.txt and
+%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+%% or later and of this work. This work has the LPPL maintenance status
+%% "author-maintained". The current maintainer and author of this work
+%% is Falk Hanisch.
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%%
+%% ============================================================================
+%%
+%%% From File: tudscr-version.dtx
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
+ \def\@tempa{#1}%
+ \ifx\TUD@Version\@tempa\else%
+ \@latex@warning@no@line{%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
+ but `#1' was expected!\MessageBreak%
+ You should not use classes, packages or files from\MessageBreak%
+ different TUD-KOMA-Script-Bundle versions%
+ }%
+ \fi%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
+\providecommand*\tudscrmail{tudscr@gmail.com}
+\@ifundefined{TUD@Class@Name}{%
+ \PackageError{%
+ tudscrcomp-book%
+ }{Unsupported class found}{%
+ This package can only be used with a class out of the\MessageBreak%
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
+ }%
+ \endinput
+}{}
+\@ifundefined{TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
+ \ifdin{TUD-KOMA-SCRIPT}{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+ }\csname xspace\endcsname%
+ }%
+}{}
+%%% From File: tudscr-comp.dtx
+\ProvidesPackage{tudscrcomp-book}[%
+ 2016/07/26 v2.05 TUD-KOMA-Script
+ package
+ (compatibility for old tud(scr) classes)%
+]
+%%% From File: tudscr-comp.dtx
+\TUD@key{colortitle}[true]{%
+ \TUD@set@ifkey{colortitle}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUDoptions{cdtitle=color}%
+ \else%
+ \TUDoptions{cdtitle=true}%
+ \fi%
+ \fi%
+}
+\TUD@key{nocolortitle}[true]{%
+ \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUDoptions{cdtitle=true}%
+ \else%
+ \TUDoptions{cdtitle=color}%
+ \fi%
+ \fi%
+}
+\TUD@key{ddcfooter}[true]{%
+ \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUDoptions{ddcfoot=true}%
+ \else%
+ \TUDoptions{ddcfoot=false}%
+ \fi%
+ \fi%
+}
+%%% From File: tudscr-misc.dtx
+\DeclareOption*{\TUDoptions{\CurrentOption}}
+\TUDProcessOptions\relax
+%%% From File: tudscr-comp.dtx
+\def\dinBold{\dinbn}
+\def\dinfamily{\dinbn}
+\newcommand*\einrichtung{\faculty}
+\newcommand*\fachrichtung{\department}
+\newcommand*\institut{\institute}
+\newcommand*\professur{\chair}
+\newcommand*\moreauthor{\authormore}
+\newcommand*\submitdate{\date}
+\newcommand*\supervisorII[1]{%
+ \expandafter\gdef\expandafter\@supervisor\expandafter{\@supervisor\and #1}%
+}
+\newcommand*\supervisedby[1]{\gdef\supervisorname{#1}}
+\newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}}
+\newcommand*\submittedon[1]{\gdef\datetext{#1}}
+\newcommand*\dissertation{%
+ \thesis{\dissertationname}%
+ \let\supervisorname\refereename%
+ \let\supervisorothername\refereeothername%
+}
+\AtBeginDocument{%
+ \ifundef{\theglossary}{%
+ \providecommand*\glossaryname{Glossar}%
+ \newenvironment{theglossary}[1][]{%
+ \PackageWarning{tudscrcomp}{%
+ Using the environment `theglossary' is not\MessageBreak%
+ recommended. You should rather use an appropriate\MessageBreak%
+ package such as glossaries%
+ }%
+ \let\bibname\glossaryname%
+ \bib@heading%
+ #1%
+ \list{}{%
+ \setlength\labelsep{\z@}%
+ \setlength\labelwidth{\z@}%
+ \setlength\itemindent{-\leftmargin}%
+ }%
+ }{\endlist}%
+ \newcommand\glossitem[1]{\item[] #1\par}%
+ }{}%
+}
+\newif\if@tud@comp@chapterpage
+\newcommand*\chapterpage{%
+ \global\@tud@comp@chapterpagetrue%
+ \tud@comp@chapterpage@wrn%
+}
+\newcommand*\tud@comp@chapterpage@set[1][]{%
+ \if@tud@comp@chapterpage%
+ \if@tud@chapterpage%
+ \TUDoptions{chapterpage=false}%
+ \else%
+ \TUDoptions{chapterpage=true}%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@comp@chapterpage@unset[1][]{%
+ \tud@comp@chapterpage@set%
+ \global\@tud@comp@chapterpagefalse%
+}
+\newcommand*\tud@comp@chapterpage@wrn{%
+ \PackageWarning{tudscrcomp}{%
+ The command \string\chapterpage\space is not\MessageBreak%
+ recommended. You should use the same style for\MessageBreak%
+ chapters throughout the document%
+ }%
+ \global\let\tud@comp@chapterpage@wrn\relax%
+}
+\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}}%
+ \fi%
+}
+\endinput
+%%
+%% End of file `tudscrcomp-book.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty
new file mode 100644
index 00000000000..aa9387b57a9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty
@@ -0,0 +1,357 @@
+%%
+%% This is file `tudscrcomp-poster.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tudscr-version.dtx (with options: `package,comp,poster')
+%% tudscr-comp.dtx (with options: `package,comp,poster,identify')
+%% tudscr-comp.dtx (with options: `package,comp,poster,option')
+%% tudscr-misc.dtx (with options: `package,comp,poster,execute')
+%% tudscr-comp.dtx (with options: `package,comp,poster,body')
+%%
+%% ============================================================================
+%%
+%% TUD-KOMA-Script
+%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
+%%
+%% ============================================================================
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, version 1.3c of the license. The latest
+%% version of this license is in http://www.latex-project.org/lppl.txt and
+%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+%% or later and of this work. This work has the LPPL maintenance status
+%% "author-maintained". The current maintainer and author of this work
+%% is Falk Hanisch.
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%%
+%% ============================================================================
+%%
+%%% From File: tudscr-version.dtx
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
+ \def\@tempa{#1}%
+ \ifx\TUD@Version\@tempa\else%
+ \@latex@warning@no@line{%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
+ but `#1' was expected!\MessageBreak%
+ You should not use classes, packages or files from\MessageBreak%
+ different TUD-KOMA-Script-Bundle versions%
+ }%
+ \fi%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
+\providecommand*\tudscrmail{tudscr@gmail.com}
+\@ifundefined{TUD@Class@Name}{%
+ \PackageError{%
+ tudscrcomp-poster%
+ }{Unsupported class found}{%
+ This package can only be used with a class out of the\MessageBreak%
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
+ }%
+ \endinput
+}{}
+\@ifundefined{TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
+ \ifdin{TUD-KOMA-SCRIPT}{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+ }\csname xspace\endcsname%
+ }%
+}{}
+%%% From File: tudscr-comp.dtx
+\ProvidesPackage{tudscrcomp-poster}[%
+ 2016/07/26 v2.05 TUD-KOMA-Script
+ package
+ (compatibility for old tud(scr) classes)%
+]
+%%% From File: tudscr-comp.dtx
+\TUD@key{bluebg}[true]{%
+ \TUD@set@ifkey{bluebg}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUDoptions{backgroundcolor=true}%
+ \else%
+ \TUDoptions{backgroundcolor=false}%
+ \fi%
+ \fi%
+}
+\newif\if@tud@mathposterfoot
+\TUD@key{tudmathposterfoot}[true]{%
+ \TUD@set@ifkey{tudmathposterfoot}{@tud@mathposterfoot}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tud@mathposterfoot%
+ \footcontent[\small]{%
+ \tud@footcontent@@left{}%
+ }[%
+ \tud@footcontent@@right{}{}%
+ ]%
+ \else%
+ \footcontent{%
+ \tud@footcontent@@left{\contactname}%
+ }[%
+ \tud@footcontent@@right{\authorname}{\contactpersonname}%
+ ]%
+ \fi%
+ \fi%
+}
+\TUD@key{cdfoot}[true]{%
+ \TUD@set@numkey{cdfoot}{@tempa}{%
+ {tudscrposter}{0},{tudscrposterfoot}{0},{cdposter}{0},{poster}{0},%
+ {tudmathposter}{1},{tudmathposterfoot}{1},{mathposter}{1},{tudposter}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% tudscrposter
+ \TUDoptions{tudmathposterfoot=false}%
+ \else% tudmathposter
+ \TUDoptions{tudmathposterfoot=true}%
+ \fi%
+ \fi%
+}
+%%% From File: tudscr-misc.dtx
+\DeclareOption*{\TUDoptions{\CurrentOption}}
+\TUDProcessOptions\relax
+%%% From File: tudscr-comp.dtx
+\def\dinBold{\dinbn}
+\def\dinfamily{\dinbn}
+\newcommand*\einrichtung{\faculty}
+\newcommand*\fachrichtung{\department}
+\newcommand*\institut{\institute}
+\newcommand*\professur{\chair}
+\newcommand*\ps@tudposter{}
+\let\ps@tudposter\ps@empty
+\AfterPackage*{scrlayer-scrpage}{%
+ \DeclarePageStyleAlias{tudposter}{empty.tudheadings}%
+}
+\newrobustcmd*\telefon{\telephone}
+\patchcmd{\tud@split@author@list}{telephone}{%
+ telephone,telefon%
+}{}{\tud@patch@wrn{tud@split@author@list}}
+\newrobustcmd*\fax{\telefax}
+\patchcmd{\tud@split@author@list}{telefax}{%
+ telefax,fax%
+}{}{\tud@patch@wrn{tud@split@author@list}}
+\newrobustcmd*\email[1]{\emailaddress*{#1}}
+\patchcmd{\tud@split@author@list}{emailaddress}{%
+ emailaddress,email%
+}{}{\tud@patch@wrn{tud@split@author@list}}
+\newcommand*\homepage[1]{\webpage*{#1}}
+\newcommand*\zweitlogofile[2][]{\headlogo[#1]{#2}}
+\newcommand*\zweitlogo[1]{%
+ \PackageWarning{tudscrcomp}{%
+ It isn't possible to redefine the definition for\MessageBreak%
+ including a logo in the header. Please see the\MessageBreak%
+ documentation of \string\headlogo%
+ }%
+}
+\newcommand*\institutslogofile[2][]{\footlogo[#1]{,,,,,,,#2,}}
+\newcommand*\institutslogo[1]{%
+ \PackageWarning{tudscrcomp}{%
+ It isn't possible to redefine the definition for\MessageBreak%
+ including a logo in the footer. Please see the\MessageBreak%
+ documentation of \string\footlogo%
+ }%
+}
+\newcommand*\drittlogofile[1]{%
+ \PackageWarning{tudscrcomp}{%
+ Nothing happened, you should use \string\footlogo\MessageBreak
+ instead. Please see the documentation of \string\footlogo\MessageBreak%
+ and option `ddc' or `ddcfoot'%
+ }%
+}
+\newcommand*\drittlogo[1]{%
+ \PackageWarning{tudscrcomp}{%
+ It isn't possible to redefine the definition for\MessageBreak%
+ including a logo in the footer. Please see the\MessageBreak%
+ documentation of \string\footlogo\space and option\MessageBreak%
+ `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}
+\newcommand*\scr@topsection@afterskip{\scr@section@afterskip}
+\newcommand*\topsectiontocdepth{\sectiontocdepth}
+\newcommand*\scr@topsection@tocindent{\scr@section@tocindent}
+\newcommand*\scr@topsection@tocnumwidth{\scr@section@tocnumwidth}
+\newcommand*\l@topsection{\l@section}
+\DeclareNewSectionCommand[%
+ style=section,%
+ font={\usekomafont{section}},
+ beforeskip=\z@,%
+]{topsection}
+\newcounter{topsubsection}
+\let\c@topsubsection\c@subsection
+\newcommand*\topsubsectionnumdepth{\subsectionnumdepth}
+\newcommand*\scr@topsubsection@sectionindent{\scr@subsection@sectionindent}
+\newcommand*\scr@topsubsection@beforeskip{\scr@subsection@beforeskip}
+\newcommand*\scr@topsubsection@afterskip{\scr@subsection@afterskip}
+\newcommand*\topsubsectiontocdepth{\subsectiontocdepth}
+\newcommand*\scr@topsubsection@tocindent{\scr@subsection@tocindent}
+\newcommand*\scr@topsubsection@tocnumwidth{\scr@subsection@tocnumwidth}
+\newcommand*\l@topsubsection{\l@subsection}
+\DeclareNewSectionCommand[%
+ style=section,%
+ font={\usekomafont{subsection}},
+ beforeskip=\z@,%
+]{topsubsection}
+\newcommand*\centersection[2][\@nil]{%
+ \tud@comp@centersection{section}{#1}{#2}%
+}
+\newcommand*\centersubsection[2][\@nil]{%
+ \tud@comp@centersection{subsection}{#1}{#2}%
+}
+\newcommand*\topcentersection[2][\@nil]{%
+ \tud@comp@centersection{topsection}{#1}{#2}%
+}
+\newcommand*\topcentersubsection[2][\@nil]{%
+ \tud@comp@centersection{topsubsection}{#1}{#2}%
+}
+\newcommand*\tud@comp@centersection[3]{%
+ \tud@cmd@store{raggedsection}%
+ \let\raggedsection\centering%
+ \ifx#2\@nil\relax%
+ \csuse{#1}{#3}%
+ \else%
+ \csuse{#1}[#2]{#3}%
+ \fi%
+ \tud@cmd@restore{raggedsection}%
+}
+\newcommand\sectiontopskip{\scr@section@beforeskip}
+\newcommand\subsectiontopskip{\scr@subsection@beforeskip}
+\setcounter{secnumdepth}{-1}
+\newcommand*\fusszeile[2][]{\footcontent[#1]{#2}}
+\newcommand*\footcolumn[2]{%
+ \ifxnumber{#1}{%
+ \ifcase#1\relax%
+ \footcontent{#2}%
+ \or%
+ \footcontent{#2}[*]%
+ \or%
+ \footcontent{*}[#2]%
+ \fi%
+ }{}%
+}
+\newcommand*\tud@comp@mathposterwidth{4.2\tud@len@widemargin}
+\patchcmd{\tud@footcontent@use}{%
+ \hsize=\dimexpr#2-\@tempdimc\relax%
+}{%
+ \if@tud@mathposterfoot%
+ \hsize=\dimexpr\tud@comp@mathposterwidth\relax%
+ \else%
+ \hsize=\dimexpr#2-\@tempdimc\relax%
+ \fi%
+}{}{\tud@patch@wrn{tud@footcontent@use}}
+\patchcmd{\tud@footcontent@use}{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+}{%
+ \if@tud@mathposterfoot%
+ \hsize=\dimexpr(\tud@comp@mathposterwidth-\columnsep)/2\relax%
+ \else%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \fi%
+}{}{\tud@patch@wrn{tud@footcontent@use}}
+\patchcmd{\tud@footcontent@use}{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+}{%
+ \if@tud@mathposterfoot%
+ \hsize=\dimexpr(\tud@comp@mathposterwidth-\columnsep)/2\relax%
+ \else%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \fi%
+}{}{\tud@patch@wrn{tud@footcontent@use}}
+\newenvironment{figurehere}{%
+ \def\@captype{figure}%
+ \renewcommand*\caption{\captionof{figure}}%
+ \renewcommand*\captionabove{\captionaboveof{figure}}%
+ \renewcommand*\captionbelow{\captionbelowof{figure}}%
+ \vskip\intextsep%
+ \vbox \bgroup%
+ \hsize=\columnwidth%
+ \@parboxrestore%
+ \ignorespaces%
+}{%
+ \egroup%
+ \vskip\intextsep%
+ \ignorespaces%
+}
+\newenvironment{tablehere}{%
+ \def\@captype{table}%
+ \renewcommand*\caption{\captionof{table}}%
+ \renewcommand*\captionabove{\captionaboveof{table}}%
+ \renewcommand*\captionbelow{\captionbelowof{table}}%
+ \vskip\intextsep%
+ \vbox \bgroup%
+ \hsize=\columnwidth%
+ \@parboxrestore%
+ \ignorespaces%
+}{%
+ \egroup%
+ \vskip\intextsep%
+ \ignorespaces%
+}
+\PassOptionsToPackage{table}{xcolor}
+\newif\if@tud@comp@graytable
+\newcommand*\blautabelle{\@tud@comp@graytablefalse}
+\newcommand*\grautabelle{\@tud@comp@graytabletrue}
+\newenvironment{farbtabellen}{%
+ \if@tud@comp@graytable%
+ \rowcolors{1}{HKS92!20}{HKS92!10}
+ \else%
+ \rowcolors{1}{HKS41!20}{HKS41!10}%
+ \fi%
+}{}
+\ifundef{\schnittrand}{}{%
+ \ifxlen{\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}{%
+ Wrong definition for `\string\schnittrand'%
+ }{%
+ The definition of `\string\schnittrand' does not expand to\MessageBreak%
+ a valid dimension expression.%
+ }
+ }
+}%
+\AtEndPreamble{%
+ \RequirePackage{amsmath}[2016/06/28]%
+ \RequirePackage{amsfonts}[2013/01/14]%
+ \RequirePackage{calc}[2014/10/28]%
+ \RequirePackage{textcomp}[2016/06/19]%
+ \RequirePackage{tabularx}[2016/02/03]%
+}
+\endinput
+%%
+%% End of file `tudscrcomp-poster.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
index 11193dea2a8..4fe7fb139f9 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty
@@ -4,10 +4,8 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package,comp')
-%% tudscr-comp.dtx (with options: `package,identify')
-%% tudscr-comp.dtx (with options: `package,option')
-%% tudscr-comp.dtx (with options: `package,body')
+%% tudscr-version.dtx (with options: `package,comp,base')
+%% tudscr-comp.dtx (with options: `package,comp,base,identify')
%%
%% ============================================================================
%%
@@ -37,162 +35,61 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
-\@ifundefined{TUDClassName}{%
+\@ifundefined{TUD@Class@Name}{%
\PackageError{%
tudscrcomp%
}{Unsupported class found}{%
This package can only be used with a class out of the\MessageBreak%
- tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl).%
- }
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
+ }%
\endinput
}{}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-comp.dtx
-\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrcomp}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
package
(compatibility for old tud(scr) classes)%
]
-%%% From File: tudscr-comp.dtx
-\TUD@key{colortitle}[true]{%
- \TUD@set@ifkey{colortitle}{@tempswa}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUDoptions{cdtitle=color}%
- \else%
- \TUDoptions{cdtitle=true}%
- \fi%
- \fi%
-}
-\TUD@key{nocolortitle}[true]{%
- \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUDoptions{cdtitle=true}%
- \else%
- \TUDoptions{cdtitle=color}%
- \fi%
- \fi%
-}
-\TUD@key{ddcfooter}[true]{%
- \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@tempswa%
- \TUDoptions{ddcfoot=true}%
- \else%
- \TUDoptions{ddcfoot=false}%
- \fi%
- \fi%
-}
-%%% From File: tudscr-comp.dtx
-\newcommand*\einrichtung{\faculty}
-\newcommand*\fachrichtung{\department}
-\newcommand*\institut{\institute}
-\newcommand*\professur{\chair}
-\newcommand*\moreauthor{\authormore}
-\newcommand*\submitdate{\date}
-\newcommand*\supervisorII[1]{%
- \expandafter\gdef\expandafter\@supervisor\expandafter{\@supervisor\and #1}%
-}
-\newcommand*\supervisedby[1]{\gdef\supervisorname{#1}}
-\newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}}
-\newcommand*\submittedon[1]{\gdef\datetext{#1}}
-\newcommand*\dissertation{%
- \thesis{\dissertationname}%
- \let\supervisorname\refereename%
- \let\supervisorothername\refereeothername%
-}
-\AtBeginDocument{%
- \ifdef{\theglossary}{}{%
- \providecommand*{\glossaryname}{Glossar}
- \newenvironment{theglossary}[1][]{%
- \PackageWarning{tudscrcomp}{%
- Using the environment `theglossary' is not\MessageBreak%
- recommended. You should rather use an appropriate\MessageBreak%
- package such as glossaries%
- }%
- \let\bibname\glossaryname%
- \bib@heading%
- #1%
- \list{}{%
- \setlength\labelsep{\z@}%
- \setlength\labelwidth{\z@}%
- \setlength\itemindent{-\leftmargin}%
- }%
- }{\endlist}
- \newcommand\glossitem[1]{\item[] #1\par}%
- }%
-}
-\newif\if@tud@chapterpage@temp
-\newcommand*\chapterpage{%
- \global\@tud@chapterpage@temptrue%
- \tud@chapterpage@wrn%
-}
-\newcommand*\tud@chapterpage@set[1][]{%
- \if@tud@chapterpage@temp%
- \if@tud@chapterpage%
- \TUDoptions{chapterpage=false}%
- \else%
- \TUDoptions{chapterpage=true}%
- \fi%
- \fi%
-}
-\newcommand*\tud@chapterpage@unset[1][]{%
- \tud@chapterpage@set%
- \global\@tud@chapterpage@tempfalse%
-}
-\newcommand*\tud@chapterpage@wrn{%
- \PackageWarning{tudscrcomp}{%
- The command \string\chapterpage\space is not\MessageBreak%
- recommended. You should use the same style for\MessageBreak%
- chapters throughout the document
- }%
- \global\let\tud@chapterpage@wrn\relax%
-}
-\AtEndPreamble{%
- \pretocmd{\tud@chapter}{\tud@chapterpage@set}%
- {}{\tud@patch@wrn{tud@nchapter}}%
- \apptocmd{\tud@chapter}{\tud@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@nchapter}}%
- \pretocmd{\tud@schapter}{\tud@chapterpage@set}%
- {}{\tud@patch@wrn{tud@schapter}}%
- \apptocmd{\tud@schapter}{\tud@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@schapter}}%
- \pretocmd{\tud@addchap}{\tud@chapterpage@set}%
- {}{\tud@patch@wrn{tud@naddchap}}%
- \apptocmd{\tud@addchap}{\tud@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@naddchap}}%
- \pretocmd{\tud@saddchap}{\tud@chapterpage@set}%
- {}{\tud@patch@wrn{tud@saddchap}}%
- \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}%
- {}{\tud@patch@wrn{tud@saddchap}}%
+\PassOptionsToPackage{oldcolors}{tudscrcolor}
+\@ifclassloaded{tudscrposter}{%
+ \RequirePackageWithOptions{tudscrcomp-poster}[\TUD@Version]%
+}{%
+ \RequirePackageWithOptions{tudscrcomp-book}[\TUD@Version]%
}
\endinput
%%
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
index 834515aff9e..c8ce821f938 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls
@@ -7,6 +7,7 @@
%% tudscr-version.dtx (with options: `class,doc')
%% tudscr-doc.dtx (with options: `class,doc')
%% tudscr-manual.dtx (with options: `class,doc')
+%% tudscr-misc.dtx (with options: `class,doc,xindy')
%%
%% ============================================================================
%%
@@ -36,170 +37,926 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\newcommand*\TUD@ProvidesClass[3]{%
- \newcommand*\TUDClassName@KOMA{#2}%
- \@ifundefined{TUDClassName@Parent}{\newcommand*\TUDClassName{#1}}{}%
\ProvidesClass{#1}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
^^J#3 (#2)%
]%
- \@ifundefined{TUDClassName@Parent}{\TUD@ClassInfo}{}%
-}
-\providecommand*\TUD@ClassInfo{%
- \typeout{+---------------------------------------------------------------}
- \typeout{| The Corporate Design of Technische Universitaet Dresden}
- \typeout{| Class: \TUDClassName}
- \typeout{| Version: \TUDVersion}
- \typeout{| Author: Falk Hanisch (\tudscrmail)}
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
- \typeout{+---------------------------------------------------------------}
+ \newcommand*\TUD@Class@KOMA{#2}%
+ \@ifundefined{TUD@Class@Parent}{%
+ \newcommand*\TUD@Class@Name{#1}%
+ \TUD@Class@Info%
+ }{}%
}
-\NeedsTeXFormat{LaTeX2e}
-\TUD@ProvidesClass{tudscrdoc}{scrdoc}{%
- internal source code documentation class%
+\providecommand*\TUD@Class@Info{%
+ \typeout{+---------------------------------------------------------------}%
+ \typeout{| The 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{+---------------------------------------------------------------}%
}
+\TUD@ProvidesClass{tudscrdoc}{scrartcl}{source code documentation class}
+\edef\TUDScriptClassName{\TUD@Class@Name}
+\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-doc.dtx
-\LoadClassWithOptions{scrdoc}
-\setlength\marginparwidth{140pt}
-\setlength\marginparsep{8pt}
-\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}
-\setlength\textwidth{%
- \dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep\relax%
+\RequirePackage{scrbase}[2013/12/19]%
+\newcommand*\saved@maketitle{}%
+\PassOptionsToClass{toc=left}{scrartcl}%
+\AfterClass{scrartcl}{\let\saved@maketitle\@maketitle}%
+\AfterClass{ltxdoc}{%
+ \let\@maketitle\saved@maketitle%
+ \codeline@indexfalse%
+}%
+\AfterPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}%
+\newcommand*\sd@saved@LoadClass{}
+\let\sd@saved@LoadClass=\LoadClass
+\renewcommand*\LoadClass[2][]{%
+ \begingroup
+ \edef\@tempc{#2}\def\@tempb{article}%
+ \ifx\@tempc\@tempb
+ \let\LoadClass\sd@saved@LoadClass
+ \def\@tempc{scrartcl}%
+ \fi
+ \edef\@tempc{%
+ \noexpand\endgroup\noexpand\sd@saved@LoadClass[{#1}]{\@tempc}}%
+ \@tempc
}
+\newcommand*\sd@saved@PassOptionsToClass{}
+\let\sd@saved@PassOptionsToClass=\PassOptionsToClass
+\renewcommand*\PassOptionsToClass[2]{%
+ \begingroup
+ \edef\@tempc{#2}\def\@tempb{article}%
+ \ifx\@tempc\@tempb
+ \def\@tempc{scrartcl}%
+ \fi
+ \edef\@tempc{%
+ \noexpand\endgroup\noexpand\sd@saved@PassOptionsToClass{#1}{%
+ \@tempc}}%
+ \@tempc
+}
+\LoadClassWithOptions{ltxdoc}
+\setcounter{IndexColumns}{2}
+\DeclareOption{final}{\let\tudfinalflag\relax}
+\DeclareOption{texindy}{\let\tudxdyflag\relax}
+\DeclareOption{xindy}{\let\tudxdyflag\relax}
+\DeclareOption{xdy}{\let\tudxdyflag\relax}
+\ProcessOptions\relax
\setlength\topmargin{-1in}
\setlength\headheight{0pt}
\setlength\headsep{30pt}
-\setlength\footskip{1.25\headsep}
-\setlength\textheight{\dimexpr\paperheight-2\headsep-\footskip\relax}
-\AfterPackage{tudscrfonts}{\AtBeginDocument{\setlength\columnsep{10pt}}}
+\setlength\footskip{1.5\headsep}
+\setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}
+\setlength\marginparwidth{150pt}
+\setlength\marginparsep{0pt}
+\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}
+\setlength\textwidth{%
+ \dimexpr\paperwidth-1in-\oddsidemargin-.5\headsep\relax%
+}
+\RequirePackage{tudscrbase}[\TUD@Version]
\RequirePackage{dox}[2010/12/16]
-\def\generalname{Allgemeines}
-\title{%
- \texttt{\filename}\thanks{%
- Dies ist Version \fileversion\ von Datei \texttt{\filename}.%
+\@ifpackagelater{dox}{2010/12/17}{%
+ \ClassWarning{\TUD@Class@Name}{%
+ Package `dox' was updated so some patches\MessageBreak%
+ are maybe outdated
+ }%
+}{}%
+\CheckCommand\m@cro@[2]{%
+ \endgroup \topsep\MacroTopsep \trivlist
+ \edef\saved@macroname{\string#2}%
+ #1
+ \let\saved@indexname\saved@macroname
+ \else
+ \edef\saved@indexname{\expandafter\@gobble\string#2}%
+ \fi
+ \def\makelabel##1{\llap{##1}}%
+ \if@inlabel
+ \let\@tempa\@empty \count@\macro@cnt
+ \loop \ifnum\count@>\z@
+ \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
+ \edef\makelabel##1{\llap{\vtop to\baselineskip
+ {\@tempa\hbox{##1}\vss}}}%
+ \advance \macro@cnt \@ne
+ \else \macro@cnt\@ne \fi
+ \edef\@tempa{\noexpand\item[%
+ #1%
+ \noexpand\PrintMacroName
+ \else
+ \noexpand\PrintEnvName
+ \fi
+ {\string#2}]}%
+ \@tempa
+ \global\advance\c@CodelineNo\@ne
+ #1%
+ \SpecialMainIndex{#2}\nobreak
+ \DoNotIndex{#2}%
+ \else
+ \SpecialMainEnvIndex{#2}\nobreak
+ \fi
+ \global\advance\c@CodelineNo\m@ne
+ \ignorespaces
+}
+\CheckCommand*\changes@[3]{%
+ \protected@edef\@tempa{%
+ \noexpand\glossary{%
+ #1\levelchar
+ \ifx\saved@macroname\@empty
+ \space
+ \actualchar
+ \generalname
+ \else
+ \saved@indexname
+ \actualchar
+ \string\verb\quotechar*%
+ \verbatimchar\saved@macroname
+ \verbatimchar
+ \fi
+ :\levelchar #3%
+ }%
+ }%
+ \@tempa\endgroup\@esphack%
+}
+\ifdefined\tudxdyflag%
+ \renewcommand*\changes@[3]{%
+ \@tempswatrue%
+ \ifblank{#1}{\@tempswafalse}{}%
+ \ifblank{#3}{\@tempswafalse}{}%
+ \if@tempswa%
+ \protected@edef\@tempa{%
+ \noexpand\glossary{%
+ #1\levelchar%
+ \ifx\saved@macroname\@empty%
+ \generalname%
+ \else%
+ \implementationname%
+ \fi%
+ \levelchar
+ \ifx\saved@macroname\@empty\else%
+ \saved@indexname
+ \ifx\saved@idxtype\@empty\else%
+ \space\saved@idxtype
+ \fi%
+ \actualchar
+ \string\verb\quotechar*%
+ \verbatimchar\saved@macroname
+ \verbatimchar%
+ \ifx\saved@idxtype\@empty\else%
+ \space(\saved@idxtype)%
+ \fi%
+ :\levelchar
+ \fi
+ #2 #3%
+ \actualchar%
+ #3% (#2)%
+ }%
+ }%
+ \else%
+ \let\@tempa\relax%
+ \fi%
+ \@tempa\endgroup\@esphack%
+ }%
+\else%
+ \renewcommand*\changes@[3]{%
+ \protected@edef\@tempa{%
+ \noexpand\glossary{%
+ #1\levelchar
+ \ifx\saved@macroname\@empty
+ \quotechar!
+ \actualchar
+ \generalname
+ \else
+ \saved@indexname
+ \actualchar
+ \string\verb\quotechar*%
+ \verbatimchar\saved@macroname
+ \verbatimchar
+ \fi
+ :\levelchar #3%
+ }%
+ }%
+ \@tempa\endgroup\@esphack%
+ }%
+\fi%
+\CheckCommand*\@wrglossary[1]{%
+ \protected@write\@glossaryfile{}%
+ {\string\glossaryentry{#1}{\thepage}}%
+ \endgroup
+ \@esphack%
+}
+\def\filesep{?-}
+\def\@wrglossary#1{%
+ \ifx\special@index\index%
+ \@tempswafalse%
+ \else%
+ \@tempswatrue%
+ \fi%
+ \ifx\saved@macroname\@empty%
+ \@tempswafalse%
+ \fi%
+ \if@tempswa%
+ \global\advance\c@CodelineNo\@ne
+ \protected@write\@glossaryfile{}{%
+ \string\glossaryentry{#1}{\filesep\number\c@CodelineNo}%
+ }
+ \global\advance\c@CodelineNo\m@ne
+ \else%
+ \protected@write\@glossaryfile{}{\string\glossaryentry{#1}{\thepage}}
+ \fi%
+ \endgroup
+ \@esphack%
+}
+\renewcommand*\generalname{Allgemein}
+\newcommand*\implementationname{Implementierung}
+\newcommand*\hypersourcedef[1]{}
+\newcommand*\hypersource@def{}
+\newcommand*\hypersourceref[1]{#1}
+\newcommand*\hypersource@ref[2][]{}
+\PassOptionsToPackage{hyperindex=false}{hyperref}
+\AfterPackage{hyperref}{%
+ \renewcommand*\hypersourcedef[1]{%
+ \ifstr{#1}{\hypersource@def}{}{%
+ \Hy@raisedlink{\hyperdef{}{source:#1}{}}%
+ \xdef\hypersource@def{#1}%
+ }%
+ }%
+ \renewcommand*\hypersourceref[1]{\hypersource@ref{#1}}%
+ \renewcommand*\main[1]{\hypersource@ref[\underline]{#1}}%
+ \renewcommand*\hypersource@ref[2][\@firstofone]{%
+ \begingroup%
+ \def\@tempa##1-##2\relax{%
+ \IfArgIsEmpty{##2}{%
+ \hyperlink{page.\@tempc}{#1{\@tempc}}%
+ }{%
+ \hyperref{}{}{source:\@tempc}{#1{\@tempc}}%
+ }%
+ }%
+ \def\@tempb##1{%
+ \def\@tempc{##1}%
+ \expandafter\@tempa##1-\relax%
+ }%
+ \forcsvlist\@tempb{#2}%
+ \endgroup%
+ }%
+}
+\CheckCommand*\@doxcreatespecialmainindex[3]{%
+ \expandafter\def\csname SpecialMain#1Index\endcsname##1{%
+ \@bsphack%
+ \special@index{##1\actualchar{\string\ttfamily\space##1} (#2)
+ \encapchar main}%
+ \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1}
+ \encapchar main}%
+ \@esphack%
+ }%
+}
+\patchcmd{\@doxcreatespecialmainindex}{\actualchar}{%
+ \space(#2)\actualchar%
+}{}{\tud@patch@wrn{@doxcreatespecialmainindex}}
+\patchcmd{\@doxcreatespecialmainindex}{\@esphack}{%
+ \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}%
+}{}{\tud@patch@wrn{@doxcreatespecialmainindex}}
+\CheckCommand*\@doxcreatespecialmainmacrolikeindex[3]{%
+ \expandafter\def\csname SpecialMain#1Index\endcsname##1{%
+ \@SpecialIndexHelper@##1\@nil
+ \@bsphack%
+ \special@index{\@gtempa\actualchar
+ \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar
+ \space(#2)\encapchar main}%
+ \special@index{#3:\levelchar\@gtempa\actualchar%
+ \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar
+ \encapchar main}%
+ \@esphack%
+ }%
+}
+\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\actualchar}{%
+ \space(#2)\actualchar%
+}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}}
+\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\@esphack}{%
+ \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}%
+}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}}
+\CheckCommand*\@doxcreatespecialindex[3]{%
+ \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}
+ \encapchar usage}%
+ \@esphack%
+ }%
+}
+\patchcmd{\@doxcreatespecialindex}{\actualchar}{%
+ \space(#2)\actualchar%
+}{}{\tud@patch@wrn{@doxcreatespecialindex}}
+\CheckCommand*\@doxcreatespecialmacrolikeindex[3]{%
+ \expandafter\def\csname Special#1Index\endcsname##1{%
+ \@SpecialIndexHelper@##1\@nil
+ \@bsphack%
+ \index{\@gtempa\actualchar
+ \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar
+ \space(#2)\encapchar usage}%
+ \index{#3:\levelchar\@gtempa\actualchar
+ \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar
+ \encapchar usage}%
+ \@esphack%
+ }%
+}
+\patchcmd{\@doxcreatespecialmacrolikeindex}{\actualchar}{%
+ \space(#2)\actualchar%
+}{}{\tud@patch@wrn{@doxcreatespecialmacrolikeindex}}
+\CheckCommand\doxitem[4][]{%
+ \@nameuse{dox@macrolike\dox@macrolikedefault}%
+ \def\dox@idxtype{#3}%
+ \setkeys{dox}{#1}
+ \@ifundefined{Print#2Name}{%
+ \ifdox@macrolike
+ \expandafter\def\csname Print#2Name\endcsname##1{%
+ \strut\MacroFont\string ##1\ }
+ \else
+ \expandafter\def\csname Print#2Name\endcsname##1{%
+ \strut\MacroFont ##1\ }
+ \fi}{}
+ \ifdox@macrolike
+ \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}%
+ \else
+ \def\@doxexpr{\@doxcreatespecialmainindex{#2}}%
+ \fi
+ \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}%
+ \@ifundefined{PrintDescribe#2}{%
+ \ifdox@macrolike
+ \expandafter\def\csname PrintDescribe#2\endcsname##1{%
+ \strut\MacroFont\string ##1\ }
+ \else
+ \expandafter\def\csname PrintDescribe#2\endcsname##1{%
+ \strut\MacroFont ##1\ }
+ \fi}{}
+ \ifdox@macrolike
+ \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}%
+ \else
+ \def\@doxexpr{\@doxcreatespecialindex{#2}}%
+ \fi
+ \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}%
+ \@doxcreatedescribe{#2}
+ \@doxcreateenv{#2}{#3}%
+}
+\CheckCommand\doxitem[4][]{%
+ \@nameuse{dox@macrolike\dox@macrolikedefault}%
+ \def\dox@idxtype{#3}%
+ \setkeys{dox}{#1}
+ \@ifundefined{Print#2Name}{%
+ \ifdox@macrolike
+ \expandafter\def\csname Print#2Name\endcsname##1{%
+ \strut\MacroFont\string ##1\ }
+ \else
+ \expandafter\def\csname Print#2Name\endcsname##1{%
+ \strut\MacroFont ##1\ }
+ \fi}{}
+ \ifdox@macrolike
+ \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}%
+ \else
+ \def\@doxexpr{\@doxcreatespecialmainindex{#2}}%
+ \fi
+ \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}%
+ \@ifundefined{PrintDescribe#2}{%
+ \ifdox@macrolike
+ \expandafter\def\csname PrintDescribe#2\endcsname##1{%
+ \strut\MacroFont\string ##1\ }
+ \else
+ \expandafter\def\csname PrintDescribe#2\endcsname##1{%
+ \strut\MacroFont ##1\ }
+ \fi}{}
+ \ifdox@macrolike
+ \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}%
+ \else
+ \def\@doxexpr{\@doxcreatespecialindex{#2}}%
+ \fi
+ \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}%
+ \@doxcreatedescribe{#2}
+ \@doxcreateenv{#2}{#3}%
+}
+\CheckCommand*\@doxcreateenv[2]{%
+ \expandafter\def\csname #2\endcsname{%
+ \@ifnextchar[%]
+ {\@doxenv{#1}}{\@doxenv{#1}[]}}
+ \expandafter\let\csname end#2\endcsname\endtrivlist%
+}
+\pretocmd{\@doxcreateenv}{%
+ \ifdox@macrolike%
+ \def\@doxexpr{\@doxcreatemacrolikeindexname{#1}}%
+ \else%
+ \def\@doxexpr{\@doxcreateindexname{#1}}%
+ \fi%
+ \expandafter\@doxexpr\expandafter{\dox@idxtype}%
+}{}{\tud@patch@wrn{@doxcreateenv}}
+\newcommand*\saved@idxtype{}
+\def\@doxcreatemacrolikeindexname#1#2{%
+ \expandafter\def\csname Set#1IndexName\endcsname##1{%
+ \edef\saved@indexname{\expandafter\@gobble##1}%
+ \edef\saved@idxtype{#2}%
+ }%
+}
+\def\@doxcreateindexname#1#2{%
+ \expandafter\def\csname Set#1IndexName\endcsname##1{%
+ \let\saved@indexname##1%
+ \edef\saved@idxtype{#2}%
}%
}
-\author{Falk Hanisch\thanks{\tudscrmail}}
-\date{\filedate}
-\DoNotIndex{\",\\,,\if,\@}
+\CheckCommand\@@doxenv[2]{%
+ \endgroup%
+ \topsep\MacroTopsep \trivlist%
+ \edef\saved@macroname{\string#2}%
+ \def\makelabel##1{\llap{##1}}%
+ \if@inlabel%
+ \let\@tempa\@empty%
+ \count@\macro@cnt%
+ \loop\ifnum\count@>\z@%
+ \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne%
+ \repeat%
+ \edef\makelabel##1{\llap{\vtop to\baselineskip{\@tempa\hbox{##1}\vss}}}%
+ \advance\macro@cnt\@ne%
+ \else%
+ \macro@cnt\@ne%
+ \fi%
+ \ifdox@noprint%
+ \item%
+ \else%
+ \edef\@tempa{%
+ \noexpand\item[%
+ \expandafter\noexpand\csname Print#1Name\endcsname{\saved@macroname}]}%
+ \@tempa%
+ \fi%
+ \ifdox@noindex\else%
+ \global\advance\c@CodelineNo\@ne%
+ \@nameuse{SpecialMain#1Index}{#2}\nobreak%
+ \global\advance\c@CodelineNo\m@ne%
+ \fi%
+ \ignorespaces%
+}
+\patchcmd{\@@doxenv}{\ignorespaces}{%
+ \csname Set#1IndexName\endcsname{\saved@macroname}\ignorespaces%
+}{}{\tud@patch@wrn{@@doxenv}}
+\def\SetMacroIndexName#1{%
+ \edef\saved@indexname{\expandafter\@gobble#1}
+ \let\saved@idxtype\@empty%
+}
+\def\SetEnvIndexName#1{%
+ \let\saved@indexname#1%
+ \edef\saved@idxtype{environment}%
+}
+\CheckCommand*\SpecialMainMacroIndex[1]{%
+ \SpecialMainIndex{#1}\nobreak%
+ \DoNotIndex{#1}%
+}
+\apptocmd{\SpecialMainMacroIndex}{%
+ \hypersourcedef{\filesep\number\c@CodelineNo}%
+}{}{\tud@patch@wrn{SpecialMainMacroIndex}}
+\doxitem[idxtype=Umgebung]{Env}{environment}{Umgebungen}
\doxitem[idxtype=Option]{Option}{option}{Optionen}
\doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter}
-\doxitem[idxtype=Seitenstil]{Pagestyle}{pagestyle}{Seitenstile}
+\doxitem[idxtype=Seitenstil]{PageStyle}{pagestyle}{Seitenstile}
\doxitem[idxtype=Layer]{Layer}{layer}{Layer (Seitenstilebenen)}
\doxitem[macrolike,idxtype=L\noexpand\"ange]{Length}{length}{L\noexpand\"angen}
\doxitem[idxtype=Z\noexpand\"ahler]{Counter}{counter}{Z\noexpand\"ahler}
\doxitem[idxtype=Farbe]{Color}{color}{Farben}
\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen}
\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder}
-\DeclareRobustCommand*{\cls}[1]{\mbox{\textsf{\textbf{#1}}}}
-\DeclareRobustCommand*{\pkg}[1]{\mbox{\textsf{\textbf{#1}}}}
-\DeclareRobustCommand*{\opt}[1]{\mbox{\texttt{#1}}}
-\DeclareRobustCommand*{\val}[1]{\mbox{\texttt{#1}}}
-\DeclareRobustCommand*{\pgs}[1]{\mbox{\texttt{#1}}}
-\DeclareRobustCommand*{\env}[1]{\mbox{\texttt{#1}}}
+\doxitem[idxtype=Schriftelement]{Font}{KOMAfont}{Schriftelemente}
+\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
+ \endlinechar=-1\relax%
+ \def\tud@reserved#1#2{%
+ \immediate\openin\tud@read@replace=\jobname.#1\relax%
+ \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax%
+ \@tempswafalse%
+ \loop\unless\ifeof\tud@read@replace%
+ \readline\tud@read@replace to\tud@line@replace%
+ \tud@replace\tud@line@replace{"}{""}%
+ \tud@replace\tud@line@replace{!}{"!}%
+ \tud@replace\tud@line@replace{:}{":}%
+ \tud@replace\tud@line@replace{@}{"@}%
+ \tud@replace\tud@line@replace{\"@}{"\@backslashchar"@}%
+ \expandafter\tud@replace\expandafter\tud@line@replace%
+ \expandafter{\actualchar}{@}%
+ \expandafter\tud@replace\expandafter\tud@line@replace%
+ \expandafter{\quotechar}{"}%
+ \expandafter\tud@replace\expandafter\tud@line@replace%
+ \expandafter{\levelchar}{!}%
+ \tud@replace\tud@line@replace{" @}{}%
+ \ifeof\tud@read@replace\else%
+ \immediate\write\tud@write@replace{%
+ \unexpanded\expandafter{\tud@line@replace}%
+ }%
+ \@tempswatrue%
+ \fi%
+ \repeat%
+ \immediate\closein\tud@read@replace%
+ \immediate\closeout\tud@write@replace%
+ \ifnum\pdfshellescape=\@ne\relax%
+ \if@tempswa%
+ \immediate\write18{%
+ texindy\space%
+ -o \jobname.#2\space%
+ -M \@currname-#2.xdy\space%
+ -L german-din\space%
+ -t \jobname-#2.xlg\space%
+ \jobname-xdy.#1
+ }%
+ \else%
+ \immediate\openout\tud@write@replace=\jobname.#2\relax%
+ \immediate\closeout\tud@write@replace%
+ \fi%
+ \fi%
+ }%
+ \tud@reserved{idx}{ind}%
+ \tud@reserved{glo}{gls}%
+ \endgroup
+\else
+ \ifnum\pdfshellescape=\@ne\relax%
+ \immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}%
+ \immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx}%
+ \fi%
+\fi
+\IndexPrologue{%
+ \addsec{Index}%
+ Unterstrichene Zahlen, die gegebenenfalls mit einem Hyperlink versehen sind,
+ verweisen auf die \ifcodeline@index Codezeile der \fi Definition, alle
+ weiteren sind \ifcodeline@index Zeilennummern\else Seitenzahlen\fi, wo der
+ jeweilige Eintrag verwendet wird.
+}
+\GlossaryPrologue{\addsec{\"Anderungsliste}}
+\DeclareNewTOC[%
+ type=todo,%
+ listname={Liste der noch zu erledigenden Punkte},%
+ name=ToDo,%
+ tocentryindent=\z@,%
+ owner=\@currname,%
+]{tdo}
+\setuptoc{tdo}{totoc}
+\newcommand*\PrintToDos{\ifdefined\tudfinalflag\else\listoftodos\fi}
+\patchcmd{\@docinclude}{%
+ \let\@ltxdoc@PrintIndex\PrintIndex
+ \let\PrintIndex\relax
+ \let\@ltxdoc@PrintChanges\PrintChanges
+ \let\PrintChanges\relax
+}{%
+ \let\@ltxdoc@PrintIndex\PrintIndex
+ \let\PrintIndex\relax
+ \let\@ltxdoc@PrintChanges\PrintChanges
+ \let\PrintChanges\relax
+ \let\@ltxdoc@PrintToDos\PrintToDos
+ \let\PrintToDos\relax
+}{}{\tud@patch@wrn{@docinclude}}
+\patchcmd{\@docinclude}{%
+ \let\PrintIndex\@ltxdoc@PrintIndex
+ \let\PrintChanges\@ltxdoc@PrintChanges
+}{%
+ \let\PrintIndex\@ltxdoc@PrintIndex
+ \let\PrintChanges\@ltxdoc@PrintChanges
+ \let\PrintToDos\@ltxdoc@PrintToDos
+}{}{\tud@patch@wrn{@docinclude}}
\newcommand*\ToDo[2][]{%
- \@ifnextchar[
- {\@ToDo{#2}}{\@ToDo{#2}[]}
+ \kernel@ifnextchar[{\@ToDo{#2}}{\@ToDo{#2}[]}%
}
\newcommand*\@ToDo{}
-\newcommand*\@@ToDo{}%
\def\@ToDo#1[#2]{%
\ifdefined\tudfinalflag\else%
- \def\@@ToDo{\ifstr{#2}{}{ToDo}{ToDo: #2}}%
- \endgraf%
- \hfuzz0.8pt%
- \leavevmode\marginpar{\raggedleft\fbox{\@@ToDo\strut}}%
- \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}%
- \endgraf%
+ \begingroup%
+ \csuse{phantomsection}%
+ \def\tud@reserved{\ifxblank{#2}{ToDo: ??}{ToDo: #2}}%
+ \endgraf%
+ \hfuzz0.8pt%
+ \leavevmode\marginpar{\raggedleft\fbox{\tud@reserved\strut}}%
+ \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}%
+ \endgraf%
+ \global\advance\c@CodelineNo\@ne
+ \addxcontentsline{tdo}{todo}{#2:~#1~(\filesep\number\c@CodelineNo)}%
+ \global\advance\c@CodelineNo\m@ne
+ \endgroup%
\fi%
-}%
-\DeclareOption{final}{\let\tudfinalflag\relax}
-\ProcessOptions\relax
-\AfterPackage{hyperref}{%
- \pdfstringdefDisableCommands{\def\TUDScript{TUD-KOMA-Script}}%
-}
-\AfterPackage{babel}{%
- \AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}%
}
\AtBeginDocument{%
- \providecommand*\url[1]{\texttt{#1}}%
- \providecommand*\texorpdfstring[2]{#1}%
+ \@ifpackageloaded{etoolbox}{}{%
+ \providecommand*\newrobustcmd{\DeclareRobustCommand}%
+ }%
+ \newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}}
+ \newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}}
+ \newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}}
+ \newrobustcmd*\opt[1]{\mbox{\texttt{#1}}}
+ \newrobustcmd*\val[1]{\mbox{\texttt{#1}}}
+ \newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}}
+ \newrobustcmd*\env[1]{\mbox{\texttt{#1}}}
+ \newrobustcmd*\file[1]{\mbox{\texttt{#1}}}
+ \@ifpackageloaded{hyperref}{%
+ \pdfstringdefDisableCommands{%
+ \def\TUDScript{TUD-KOMA-Script}%
+ \let\cls\@firstofone%
+ \let\pkg\@firstofone%
+ }%
+ }{%
+ \RequirePackage{url}[2013/09/16]%
+ \providecommand*\hypersetup[1]{}%
+ \providecommand*\phantomsection{}%
+ \providecommand*\texorpdfstring[2]{#1}%
+ }%
\@ifpackageloaded{babel}{}{%
- \ClassWarning{\TUDClassName}{Package `babel' not loaded}%
+ \ClassWarning{\TUD@Class@Name}{Package `babel' not loaded}%
\let\selectlanguage\@gobble%
\let\glqq\relax%
\let\grqq\relax%
}%
\@ifpackageloaded{csquotes}{}{%
- \ClassWarning{\TUDClassName}{Package `csquotes' not loaded}%
- \providecommand\enquote[1]{\glqg#1\grqq{}}%
+ \ClassWarning{\TUD@Class@Name}{Package `csquotes' not loaded}%
+ \providecommand\enquote[1]{\glqq#1\grqq{}}%
}%
- \providecommand*\ifdin[2]{#2}%
-}
-\AtBeginDocument{%
- \@ifundefined{tud@cdfont}{\def\tud@cdfont{0}}{}%
- \ifnum\tud@cdfont>\z@\relax% true/heavy
+ \@ifpackageloaded{tudscrfonts}{%
\RequirePackage{mweights}[2013/07/21]%
- \def\mddefault{m}%
- \def\mdseries@tt{m}%
- \renewcommand*\@pnumwidth{1.7em}%
- \else%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \def\mddefault{m}%
+ \def\mdseries@tt{m}%
+ \renewcommand*\@pnumwidth{1.7em}%
+ \renewcommand*\@tocrmarg{2.7em}%
+ \fi%
+ \setlength\columnsep{10pt}%
+ }{%
\RequirePackage{lmodern}[2009/10/30]%
- \fi%
-}%
+ \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}}%
+ }%
+ \title{%
+ \file{\filename}\thanks{%
+ Dies ist Version \fileversion\nobreakspace{}von Datei \file{\filename}.%
+ }%
+ }%
+ \author{Falk Hanisch\thanks{\tudscrmail}}%
+ \date{\filedate}%
+}
%%% From File: tudscr-manual.dtx
+\RequirePackage{scrhack}[2014/02/27]
\RequirePackage{xspace}[2009/10/20]
\xspaceaddexceptions{"=}
-\newcommand*\vTUDScript{}
+\newcommand*\vTUDScript{v\TUDScriptVersionNumber}
+\newcommand*\vKOMAScript{v\TUD@Version@KOMA}
+\newcommand*\tud@english[1]{#1}
\AtBeginDocument{%
- \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}%
- \edef\@tempa{\TUDVersion}%
- \expandafter\@tempb\@tempa\relax? ? \relax\relax%
+ \providecommand*\iflanguageloaded[3]{#3}%
+ \iflanguageloaded{english}{%
+ \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
+ }{}%
}
-\newcommand*\vKOMAScript{v3.17\xspace}
-\RequirePackage{scrhack}[2014/02/27]
-\newcommand*\CD{Corporate Design\xspace}
-\newcommand*\CDs{Corporate Designs\xspace}
+\newcommand*\CD{\tud@english{Corporate Design}\xspace}
+\newcommand*\CDs{\tud@english{Corporate Designs}\xspace}
\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
-\newcommand*\DDC{%
- \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em
- N\kern.1em-\kern.1em concept}\xspace%
-}
-\AfterPackage*{babel}{%
- \@expandtwoargs\in@{,english,}{,\bbl@loaded,}%
- \ifin@%
- \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace}
- \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace}
- \fi
+\newcommand*\TUDCD{\CD der \TnUD}
+\newcommand*\TUDCDs{\CDs der \TnUD}
+\AtBeginDocument{%
+\newrobustcmd*\DDC{%
+ \mbox{%
+ D\kern.05em R\kern.05em E\kern.05em S\kern.05em %
+ D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept%
+ }\xspace%
+}
}
+\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace}
+\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace}
+%%% From File: tudscr-misc.dtx
+\catcode`\#=12
+\newcommand*\@hashchar{#}
+\catcode`\#=6
+\newcommand*\tud@lst@def{%
+ \newcommand*\tud@lst@values{}%
+ \newif\if@tud@lst@multi%
+ \newcommand*\tud@lst@init{%
+ \let\tud@lst@values\relax%
+ \@tud@lst@multifalse%
+ }%
+ \newcommand*\tud@lst@add[1]{%
+ \ifx\tud@lst@values\relax\else%
+ \@tud@lst@multitrue%
+ \fi%
+ \listadd\tud@lst@values{##1}%
+ }%
+ \newcommand*\tud@lst@process{%
+ \def\tud@reserved{}%
+ \if@tud@lst@multi%
+ \def\tud@reserved{\subsubitem}%
+ \efill%
+ \fi%
+ \forlistloop\tud@reserved{\tud@lst@values}%
+ }%
+}
+\begingroup
+\ifdef{\tudxdyflag}{%
+\newcommand*\tud@write@xdy{}
+\newwrite\tud@write@xdy
+\newif\if@tud@xdy@glo
+\newcommand*\tud@xdy@create[2][theindex]{%
+ \IfFileExists{\@currname-#2.xdy}{}{%
+ \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}%
+ \openout\tud@write@xdy=\@currname-#2.xdy\relax%
+ \write\tud@write@xdy{(require "texindy.xdy")}%
+ \write\tud@write@xdy{%
+ (markup-index^^J%
+ \space\space:open^^J%
+ "\string\begin{#1}^^J%
+ \space\space%
+ \string\providecommand*\string\lettergroupDefault[1]{\@percentchar^^J%
+ \@spaces\string\par%
+ \string\centerline{\string\textbf{\string\textsf{Symbole}}}%
+ \string\par\@percentchar^^J%
+ \@spaces\string\nopagebreak\@percentchar^^J%
+ \space\space}\@percentchar^^J%
+ \space\space%
+ \string\providecommand*\string\lettergroup[1]{\@percentchar^^J%
+ \@spaces\string\par%
+ \string\centerline{\string\textbf{\string\textsf{\@hashchar1}}}%
+ \string\par\@percentchar^^J%
+ \@spaces\string\nopagebreak\@percentchar^^J%
+ \space\space}\@percentchar^^J%
+ \space\space\string\makeatletter\@percentchar^^J%
+ \space\space\string\scan@allowedfalse\@percentchar%
+ }%
+ \if@tud@xdy@glo%
+ \write\tud@write@xdy{%
+ \space\space\string\newcommand*\string\@lettergroup{}\@percentchar^^J%
+ \space\space%
+ \string\def\string\@lettergroup\@hashchar1\string\relax%
+ {\string\lettergroup{\@hashchar1}}\@percentchar^^J%
+ \space\space\string\tud@lst@def\@percentchar%
+ }%
+ \fi%
+ \write\tud@write@xdy{%
+ "^^J%
+ \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J%
+ \space\space:hierdepth 3^^J%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (define-location-class^^J%
+ \space\space"arabic-page-numbers" ("arabic-numbers")%
+ \space:min-range-length 1^^J%
+ )^^J%
+ (define-alphabet "AlphaExtended"^^J%
+ \space(^^J%
+ \space\space"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"^^J%
+ \space\space"N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"^^J%
+ \space\space"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"^^J%
+ \space\space"n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"^^J%
+ \space\space"?"^^J%
+ \space)^^J%
+ )^^J%
+ (define-location-class^^J%
+ \space\space"part" ("AlphaExtended" :sep "-" "arabic-numbers")%
+ \space:min-range-length 1^^J%
+ )^^J%
+ (markup-range :sep "--")%
+ }%
+ \if@tud@xdy@glo%
+ \write\tud@write@xdy{%
+ (markup-locclass-list%
+ \space:open "\string\pfill\string\hypersourceref{" :close "}\string\relax"%
+ )%
+ }%
+ \else%
+ \write\tud@write@xdy{%
+ (markup-locclass-list%
+ \space:open "\string\pfill\space"%
+ \space:close "\string\relax"%
+ )%
+ }%
+ \fi%
+ \write\tud@write@xdy{%
+ (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
+ ^^J%
+ (merge-rule%
+ \space"\string^(@+)([\string^@~n]*)"%
+ \space"\string\2\string~e\string\1"%
+ \space:eregexp :again%
+ )^^J%
+ (merge-rule%
+ \space"(.*)(@@@@)([\string^@~n]*)"%
+ \space"\string\1@@@\string\3\string~e"%
+ \space:again :eregexp%
+ )^^J%
+ (merge-rule%
+ \space"(.*)(@@@)([\string^@~n]*)"%
+ \space"\string\1@@\string\3\string~e"%
+ \space:again :eregexp%
+ )^^J%
+ (merge-rule%
+ \space"(.*)(@@)([\string^@~n]*)"%
+ \space"\string\1@\string\3\string~e"%
+ \space:eregexp :again%
+ )^^J%
+ (merge-rule%
+ \space"(.*?)(@)([\string^@~n]*)"%
+ \space"\string\1\string~b\string\3"%
+ \space:eregexp :again%
+ )
+ }%
+ \if@tud@xdy@glo%
+ \write\tud@write@xdy{%
+ (markup-letter-group%
+ \space:open-head "\string~n\space\space\string\@gobble{"%
+ \space:close-head "}"%
+ )^^J%
+ (markup-indexentry-list%
+ \space:sep "\string~n\string~n\space\space\string\indexspace\string~n"%
+ \space:depth 0%
+ )^^J%
+ (markup-indexentry\@spaces\space\space%
+ :open "\string~n\space\space\string\@lettergroup\space"\space:depth 0%
+ )^^J%
+ (markup-indexentry-list :open "\string\relax" :depth 1)^^J%
+ (markup-indexentry\@spaces\space\space%
+ :open "\string~n\space\space\string\item\space" :depth 1%
+ )^^J%
+ (markup-indexentry-list :open "\string\efill" :depth 2)^^J%
+ (markup-indexentry\@spaces\space\space%
+ :open "\string~n\@spaces\string\subitem\space" :depth 2%
+ )^^J%
+ (markup-indexentry-list^^J%
+ \space\space:open \space"\string\tud@lst@init"^^J%
+ \space\space:close "\string~n \@spaces\space\string\tud@lst@process"^^J%
+ \space\space:depth 3^^J%
+ )^^J%
+ (markup-indexentry^^J%
+ \space\space:open \space"\string~n\@spaces\space\string\tud@lst@add{"^^J%
+ \space\space:close "}"^^J%
+ \space\space:depth 3^^J%
+ )%
+ }%
+ \else%
+ \write\tud@write@xdy{%
+ (markup-indexentry-list :open "\string\efill" :depth 1)%
+ }%
+ \fi%
+ \if@tud@xdy@glo\else%
+ \write\tud@write@xdy{%
+ (define-attributes (("main" "usage" "default")))^^J%
+ (markup-locref :attr "main"%
+ \space\space:open "\string\main{"\space\space:close "}"%
+ )^^J%
+ (markup-locref :attr "usage"%
+ \space:open "\string\usage{"\space:close "}"%
+ )%
+ }%
+ \fi%
+ \closeout\tud@write@xdy%
+ }%
+}
+\tud@xdy@create{ind}
+\tud@xdy@create[theglossary]{gls}
+}{}
+\endgroup
\endinput
%%
%% End of file `tudscrdoc.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
index 1b028cd45f7..b4b704fdb7c 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty
@@ -4,15 +4,15 @@
%%
%% The original source files were:
%%
-%% tudscr-version.dtx (with options: `package')
-%% tudscr-fonts.dtx (with options: `package,identify')
-%% tudscr-base.dtx (with options: `load')
-%% tudscr-comp.dtx (with options: `package,preset,fonts')
-%% tudscr-fonts.dtx (with options: `package,option')
-%% tudscr-comp.dtx (with options: `package,option,fonts')
-%% tudscr-misc.dtx (with options: `package,execute,fonts')
-%% tudscr-fonts.dtx (with options: `package,body')
-%% tudscr-comp.dtx (with options: `package,body,fonts')
+%% tudscr-version.dtx (with options: `package,fonts')
+%% 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-comp.dtx (with options: `package,fonts,option')
+%% tudscr-misc.dtx (with options: `package,fonts,execute')
+%% tudscr-fonts.dtx (with options: `package,fonts,body')
+%% tudscr-comp.dtx (with options: `package,fonts,body')
+%% tudscr-misc.dtx (with options: `package,fonts,body')
%%
%% ============================================================================
%%
@@ -42,136 +42,126 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-fonts.dtx
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{%
- tudscrfonts%
-}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
- package
- (corporate design fonts)%
+\ProvidesPackage{tudscrfonts}[%
+ 2016/07/26 v2.05 TUD-KOMA-Script
+ package (corporate design fonts)%
]
-\ifcsname KOMAClassName\endcsname\else%
- \RequirePackage{scrextend}[2013/12/19]%
+\ifcsname KOMAClassName\endcsname\else
+ \RequirePackage{scrextend}[2013/12/19]
\fi
-\RequirePackage{trimspaces}[2009/09/17]
+\@tempswafalse%
+\@for\@tempa:={%
+ tudbook,tudbeamer,tudfax,tudform,tudhaus,tudletter,%
+ tudposter,tudmathposter,tudscrbookold,tudscrreprtold,tudscrartclold%
+}\do{%
+ \@ifclassloaded{\@tempa}{%
+ \if@tempswa\else\@tempswatrue\let\@tempb\@tempa\fi%
+ }{}%
+}%
+\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'%
+ }%
+ }%
+\fi%
%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUDVersion]
-%%% From File: tudscr-comp.dtx
-\newif\if@tud@oldclass
-\@ifclassloaded{tudbook}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudbeamer}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudfax}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudform}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudhaus}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudletter}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudposter}{\@tud@oldclasstrue}{}%
-\@ifclassloaded{tudmathposter}{\@tud@oldclasstrue}{}%
-\newif\if@tud@oldscrclass
-\@ifclassloaded{tudscrbookold}{\@tud@oldscrclasstrue}{}%
-\@ifclassloaded{tudscrreprtold}{\@tud@oldscrclasstrue}{}%
-\@ifclassloaded{tudscrartclold}{\@tud@oldscrclasstrue}{}%
+\RequirePackage{tudscrbase}[\TUD@Version]
%%% From File: tudscr-fonts.dtx
-\newif\if@tud@univers
-\newif\if@tud@dinbold
-\newcommand*\tud@univers{lun}
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@fontspec
-\TUD@key{fontspec}[true]{%
- \PackageWarning{tudscrfonts}
- {%
- The option key `fontspec' is deprecated.\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@fontspec}{#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@fontspec%
- \RequirePackage{fontspec}[2014/06/21]%
- \fi%
-}
-\AfterPackage*{fontspec}{\@tud@fontspectrue}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@uclcnotmath{%
- \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
- \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
-}
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
- \@nonchangecase\ensuremath\tud@uclcnotmath
-}{}{\tud@patch@wrn{@uclcnotmath}}%
-\newcommand*\tud@font@heading{\dinbn\tud@raggedright}
-\newcommand*\tud@cdfont{1}
+\newif\if@tud@x@fontspec@enabled
+\AfterPackage*{fontspec}{\@tud@x@fontspec@enabledtrue}
+\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@ultrabold
+\@tud@cdfont@dintrue
+\newcommand*\tud@cdfont@num{1}
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@numkey@bool,%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2},%
- {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},%
- {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},%
- {nomath}{8},{nocdmath}{8},%
- {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},%
- {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},%
- {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},%
- {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},%
- {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
- {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
+ {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}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@cdfont{0}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{1}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% heavy
- \def\tud@cdfont{2}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{2}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% normalbold
+ \@tud@cdfont@ultraboldfalse%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% ultrabold
+ \@tud@cdfont@ultraboldtrue%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% nodin
- \renewcommand*\tud@font@heading{\tud@RaggedRight}%
+ \@tud@cdfont@dinfalse%
\or% din
- \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
+ \@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}%
\or% nomath
\TUDoptions{cdmath=false}%
\or% math
@@ -186,16 +176,38 @@
\TUDoptions{fontspec=false}%
\fi%
\else%
- \KOMAoptions{fontsize=#1}%
- \ifcase\tud@cdfont\relax% false to true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \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}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }{}%
+ \fi%
+}
+\newif\if@tud@relspacing
+\TUD@key{relspacing}[true]{%
+ \TUD@set@numkey{relspacing}{@tempa}{%
+ \TUD@numkey@bool,%
+ {absolute}{0},{classic}{0},{standard}{0},%
+ {relative}{1},{fontsize}{1},{font}{1},{size}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@relspacingfalse%
+ \or% true
+ \@tud@relspacingtrue%
\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{fontsize}{%
- \AtEndOfFamilyOptions{\if@atdocument\tud@font@skip@set\fi}%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\FamilyKeyStateProcessed%
}
\bool@lock{@tud@cdmath}
@@ -210,10 +222,10 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\bool@set@lock{@tud@cdmath}{false}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% true
\bool@set@lock{@tud@cdmath}{true}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% upgreek
\TUDoptions{slantedgreek=false}%
\or% slgreek
@@ -226,27 +238,51 @@
\TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\bool@set@lock{@tud@slantedgreek}{#1}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@key[2]{%
+\newcommand*\TUD@key@deprecated[2]{%
\PackageWarning{tudscrfonts}%
{%
- The option key `#1' is deprecated.\MessageBreak%
+ The option key `#1' is deprecated\MessageBreak%
It's recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\TUD@key{fontspec}[true]{%
+ \PackageWarning{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}[2014/06/21]%
+ \fi%
+}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -254,9 +290,9 @@
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -264,9 +300,9 @@
\TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{heavyfont}{cdfont=heavy}%
+ \TUD@key@deprecated{heavyfont}{cdfont=heavy}%
\else%
- \TUD@deprecated@key{heavyfont=#1}{cdfont=true}%
+ \TUD@key@deprecated{heavyfont=#1}{cdfont=true}%
\fi%
\fi%
}
@@ -274,9 +310,9 @@
\TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@key@deprecated{din}{cdfont=din}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@key@deprecated{din=#1}{cdfont=nodin}%
\fi%
\fi%
}
@@ -284,9 +320,9 @@
\TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@key@deprecated{nodin}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@key@deprecated{nodin=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -294,9 +330,9 @@
\TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@key@deprecated{noDIN}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@key@deprecated{noDIN=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -304,9 +340,9 @@
\TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@key@deprecated{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@key@deprecated{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
@@ -314,31 +350,31 @@
\TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@key@deprecated{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@key@deprecated{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
\newcommand*\tud@v@comp{\tud@v@last}
\TUD@key{tudscrver}[last]{%
- \ifcsvoid{tud@v@#1}{%
- \def\tud@v@comp{0}%
+ \tud@v@get\@tempa{#1}%
+ \ifcsundef{tud@v@\@tempa}{%
\PackageWarningNoLine{tudscrfonts}%
{%
- You have set option `tudscrver' to `#1', but\MessageBreak%
+ You have set option `tudscrver' to `\@tempa', but\MessageBreak%
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \FamilyKeyStateProcessed%
+ \def\tud@v@comp{0}%
}{%
\PackageInfoNoLine{tudscrfonts}%
{%
- Switching compatibility level to `#1'%
+ Switching compatibility level to `\@tempa'%
}%
- \edef\tud@v@comp{\@nameuse{tud@v@#1}}%
- \FamilyKeyStateProcessed%
+ \edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
+ \FamilyKeyStateProcessed%
}
\AtEndOfPackage%
{%
@@ -352,155 +388,311 @@
\FamilyKeyStateProcessed%
}%
}
-\@namedef{tud@v@first}{0}
-\@namedef{tud@v@2.02}{0}
-\@namedef{tud@v@v2.02}{0}
-\@namedef{tud@v@2.03}{1}
-\@namedef{tud@v@v2.03}{1}
-\@namedef{tud@v@2.04}{2}
-\@namedef{tud@v@v2.04}{2}
-\@namedef{tud@v@last}{2}
-\newcommand*\tud@ifverlower[1]{%
- \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax%
- \expandafter\@firstoftwo%
- \else%
- \expandafter\@secondoftwo%
- \fi%
+\csdef{tud@v@first}{0}
+\csdef{tud@v@2.00}{0}
+\csdef{tud@v@2.01}{0}
+\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}
+\csdef{tud@v@2.04a}{2}
+\csdef{tud@v@2.04b}{2}
+\csdef{tud@v@2.04c}{2}
+\csdef{tud@v@2.04d}{2}
+\csdef{tud@v@2.04e}{2}
+\csdef{tud@v@2.05}{3}
+\csdef{tud@v@last}{3}
+\newcommand*\tud@v@get[2]{%
+ \begingroup%
+ \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
+ \def\@tempb v##1\@nil{\def\@tempc{##1}}%
+ \@tempa #2\@nil%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\def#1}{\@tempc}%
+ }%
+ \tud@reserved%
+}
+\newcommand*\tud@if@v@lower[1]{%
+ \begingroup%
+ \tud@v@get\@tempa{#1}%
+ \ifcsdef{tud@v@\@tempa}{%
+ \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax%
+ \def\tud@reserved{\endgroup\@firstoftwo}%
+ \else%
+ \def\tud@reserved{\endgroup\@secondoftwo}%
+ \fi%
+ }{%
+ \def\tud@reserved{%
+ \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning!
+ Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak%
+ There's no defined macro `\string\tud@v@\@tempa'%
+ }%
+ \endgroup\@firstoftwo%
+ }%
+ }%
+ \tud@reserved%
}
%%% From File: tudscr-misc.dtx
+\newcommand*\TUD@SpecialOptionAtDocument[1]{}
\DeclareOption*{\KOMAoptions{\CurrentOption}}
-\TUDExecuteOptions{cdfont=true}
\TUDProcessOptions\relax
%%% From File: tudscr-fonts.dtx
-\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*\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@x@fontspec@noerror{}
+\IfFileExists{expl3.sty}{\@tempswatrue}{\@tempswafalse}
+\if@tempswa
+ \RequirePackage{expl3}[2016/05/18]
+ \ExplSyntaxOn
+ \renewcommand*\tud@x@fontspec@noerror{%
+ \__fontspec_font_suppress_not_found_error:
+ \msg_redirect_name:nnn {fontspec}{font-not-found}{none}
+ }%
+ \ExplSyntaxOff
+\fi
\newcommand*\tud@font@check{%
- \if@tud@fontspec%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@dinbold.fd}}%
- }%
- \def\@tempc##1{%
- \PackageInfoNoLine{tudscrfonts}%
- {%
- `##1' fonts for math typesetting not found\MessageBreak%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual%
- }%
+ \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
+ \def\@tempb##1{%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ `##1' fonts for math typesetting not found\MessageBreak%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual%
+ }%
+ \fi%
+ \fi%
+ }%
+ \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
+ \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN Bold}}%
+ \if@tud@x@fontspec@enabled%
+ \def\@tempc##1##2{%
+ \fontspec{##1}%
+ \expandafter\ifx\the\font\nullfont%
+ ##2%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. A fallback layout is used%
+ }%
+ \fi%
+ \fi%
}%
+ \begingroup%
+ \tud@x@fontspec@noerror%
+ \global\@tud@universtrue%
+ \@tempc{Univers Light}{\global\@tud@universfalse}%
+ \@tempc{Univers}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold}{\global\@tud@universfalse}%
+ \@tempc{Univers Black}{\global\@tud@universfalse}%
+ \@tempc{Univers Light Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Black Oblique}{\global\@tud@universfalse}%
+ \global\@tud@dinboldtrue%
+ \@tempc{DIN Bold}{\global\@tud@dinboldfalse}%
+ \endgroup%
\else%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@dinbold.fd}}%
- }%
\def\@tempc##1{%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}
- \PackageWarningNoLine{tudscrfonts}%
- {%
- `##1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
- \if@tempswa%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual.\MessageBreak%
- \else%
- Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
- \fi%
- A fallback layout is used%
- }%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \@tempswafalse%
+ \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
+ \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
+ \PackageWarningNoLine{tudscrfonts}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ \if@tempswa%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual.\MessageBreak%
+ \else%
+ Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
+ \fi%
+ A fallback layout is used%
+ }%
+ \fi%
}%
+ \@tempa{\encodingdefault}%
+ {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
+ \@tempa{\encodingdefault}%
+ {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\fi%
- \@tempa{\@tud@universtrue}{\@tempc{Univers}}%
- \@tempb{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\undef\tud@font@check%
}
-\newcommand*\tud@font@init{%
- \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@fontspec%
- \undef\tud@fontface%
- \undef\tud@fontspec@flag%
- \undef\tud@fontspec@error%
- \undef\tud@font@init@nfss%
- \undef\tud@font@init%
-}
-\newif\if@tud@fontspec@missing
-\newcommand*\tud@font@init@fontspec{}
-\IfFileExists{xparse.sty}{\@tempswatrue}{\@tempswafalse}%
-\if@tempswa
- \RequirePackage{xparse}
- \newcommand*\tud@fontspec@flag{\global\@tud@fontspec@missingtrue\@gobbletwo}%
- \NewDocumentCommand\tud@fontface{mmo}{%
- \global\@tud@fontspec@missingfalse%
- \newfontface#1{#2}[#3]%
- \if@tud@fontspec@missing%
- \renewrobustcmd*#1{}%
+\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%
+ \PackageWarning{tudscrfonts}%
+ {`Univers' fonts not found}%
+ \fi%
+ \if@tud@dinbold\else%
+ \PackageWarning{tudscrfonts}%
+ {`DIN Bold' fonts not found}%
+ \fi%
\fi%
- }%
- \ExplSyntaxOn
- \renewcommand*\tud@font@init@fontspec{%
- \cs_set_eq:NN \tud@fontspec@error \__fontspec_error:nx
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@flag
- \tud@fontface\univln{Univers Light}[NFSSFamily=UniversLight]%
- \tud@fontface\univrn{Univers}[NFSSFamily=UniversRegular]%
- \tud@fontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
- \tud@fontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
- \tud@fontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
- \tud@fontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
- \tud@fontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
- \tud@fontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
- \tud@fontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
- \if@tud@fontspec@missing%
- \newrobustcmd*\dinbn{\sectfont}%
- \else%
- \if@tud@dinbold%
- \newrobustcmd*\dinbn{\@dinbn\mathversion{dinbold}}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{false}%
+ \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}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{true}%
+ \if@tud@univers%
+ \if@tud@x@fontspec@enabled%
+ \setsansfont{Univers}[%
+ 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 Light Oblique},%
+ FontFace = {m}{\sldefault}{Univers Oblique},%
+ FontFace = {b}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {bx}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {eb}{\sldefault}{Univers Black Oblique},%
+ NFSSFamily = \tud@univers%
+ ]%
+ \setmonofont{LMMono10-Regular}[%
+ 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%
- \newrobustcmd*\dinbn{\@dinbn}%
+ \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}%
\fi%
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@error
- }%
- \ExplSyntaxOff
-\fi%
-\newcommand*\tud@font@init@nfss{%
+ \renewcommand*\familydefault{\sfdefault}%
+ \renewcommand*\seriesdefault{\mddefault}%
+ \renewcommand*\shapedefault{\updefault}%
+ \fi%
+ \if@tud@x@mweights@enabled%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \fi%
+ \ifdef{\tud@font@math@init}{}{\tud@font@math@set}%
+ \tud@font@skip@set%
+ \normalfont\selectfont%
+}
+\newcommand*\tud@font@skip@set{%
+ \if@tud@relspacing%
+ \tud@skip@store{smallskipamount}%
+ \tud@skip@store{medskipamount}%
+ \tud@skip@store{bigskipamount}%
+ \tud@skip@store{abovecaptionskip}%
+ \tud@skip@store{belowcaptionskip}%
+ \tud@skip@store{columnsep}%
+ \tud@font@skip@@set%
+ \else%
+ \tud@skip@restore{smallskipamount}%
+ \tud@skip@restore{medskipamount}%
+ \tud@skip@restore{bigskipamount}%
+ \tud@skip@restore{abovecaptionskip}%
+ \tud@skip@restore{belowcaptionskip}%
+ \tud@skip@restore{columnsep}%
+ \fi%
+}
+\newcommand*\tud@font@skip@@set{%
+ \smallskipamount=\partopsep%
+ \medskipamount=\partopsep%
+ \multiply\medskipamount by 2%
+ \bigskipamount=\partopsep%
+ \multiply\bigskipamount by 4%
+ \tud@skip@set{abovecaptionskip}{\dimexpr\bigskipamount*5/6\relax}%
+ \tud@skip@set{belowcaptionskip}{\z@}%
+ \tud@skip@set{columnsep}{1.1\baselineskip}%
+}
+\newcommand*\tud@font@init{%
\if@tud@univers%
\newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
\newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
@@ -511,39 +703,87 @@
\newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
\newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
\else%
- \newrobustcmd*\univln{}%
- \newrobustcmd*\univrn{}%
- \newrobustcmd*\univbn{}%
- \newrobustcmd*\univxn{}%
- \newrobustcmd*\univls{}%
- \newrobustcmd*\univrs{}%
- \newrobustcmd*\univbs{}%
- \newrobustcmd*\univxs{}%
+ \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 Light Oblique}{md}{sl}}%
+ \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
+ \newrobustcmd*\univbs{\tud@font@fallback{Univers Bold Oblique}{bf}{sl}}%
+ \newrobustcmd*\univxs{\tud@font@fallback{Univers Black Oblique}{bf}{sl}}%
\fi%
\if@tud@dinbold%
- \newrobustcmd*\dinbn{%
- \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
- \mathversion{dinbold}%
- }%
+ \if@tud@x@fontspec@enabled%
+ \newfontface\tud@dinbn{DIN Bold}[%
+ 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},%
+ NFSSFamily = \tud@dinbold%
+ ]%
+ \else%
+ \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
+ \fi%
+ \if@tud@dinboldmath%
+ \appto\tud@dinbn{\mathversion{dinbold}}%
+ \fi%
+ \newrobustcmd*\dinbn{\tud@dinbn}%
\else%
- \newrobustcmd*\dinbn{\sectfont}%
+ \newrobustcmd*\tud@dinbn{\sectfont}%
+ \newrobustcmd*\dinbn{\tud@font@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@wrn{#1}%
+ \sffamily\csuse{#2series}\csuse{#3shape}%
+}
+\newcommand*\tud@font@wrn[1]{%
+ \PackageWarning{tudscrfonts}%
+ {%
+ The requested font `#1' is not available, so\MessageBreak%
+ a fallback layout is used%
+ }%
}
\newcommand*\cdfont[1]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\@nameuse{univ\@tempc}}%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
\fi%
}
\providecommand*\tudfont[1]{\cdfont{#1}}
\newcommand*\textcdfont[2]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\@nameuse{textu\@tempc}{#2}}%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
\fi%
}
-\newcommand*\@cdfont[1]{%
- \tud@trimfontname\@tempa{#1}%
+\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}}{%
@@ -559,33 +799,34 @@
\ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
\ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
\let\@tempc\relax%
- \PackageWarning{tudscrfonts}{The font `#1' is unknown}%
+ \PackageWarning{tudscrfonts}%
+ {The font `#1' is unknown}%
}}}}}}}}}}}}}}%
}
-\newcommand*\tud@trimfontname[2]{%
+\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
- \tud@@trimfontname{ }{}%
- \tud@@trimfontname{-}{}%
- \tud@@trimfontname{_}{}%
- \tud@@trimfontname{~}{}%
- \tud@@trimfontname{ce}{}%
- \tud@@trimfontname{ff}{}%
- \tud@@trimfontname{univers}{}%
- \tud@@trimfontname{60}{65}%
- \tud@@trimfontname{light}{45}%
- \tud@@trimfontname{regular}{55}%
- \tud@@trimfontname{bold}{65}%
- \tud@@trimfontname{black}{75}%
- \tud@@trimfontname{4545}{45}%
- \tud@@trimfontname{5555}{55}%
- \tud@@trimfontname{6565}{65}%
- \tud@@trimfontname{7575}{75}%
- \tud@@trimfontname{italic}{oblique}%
- \tud@@trimfontname{slanted}{oblique}%
+ \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%
}
-\newcommand*\tud@@trimfontname[2]{%
+\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
\@whilesw\ifin@\fi{%
@@ -593,20 +834,42 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\mv@univers{}%
-\newcommand*\mv@universbold{}%
-\newcommand*\mv@dinbold{}%
+\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@fontspec\if@tud@univers\if@tud@dinbold%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \PackageWarningNoLine{tudscrfonts}%
- {%
- It's recommended to load package `fontspec' with\MessageBreak%
- option `no-math'%
+ \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%
+ }%
}%
- }%
- \fi\fi\fi%
- \if@tud@univers%
+ }{}%
+ \fi\fi%
+ \if@tud@universmath%
\DeclareMathVersion{univers}%
\DeclareMathVersion{universbold}%
\SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
@@ -617,8 +880,10 @@
\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
\SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
\SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{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}%
@@ -627,6 +892,8 @@
\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}{}%
@@ -640,15 +907,19 @@
\SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
}{}%
\fi%
- \if@tud@dinbold%
+ \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%
@@ -667,232 +938,41 @@
\tud@font@greek@loop\tud@font@greek@init%
\tud@font@math@set%
}%
- \sbox\z@{\dinbn$ $}%
+ \sbox\z@{\tud@dinbn$ $}%
\undef\tud@font@math@init%
}
-\ifbool{@tud@oldscrclass}{%
- \let\univln\relax%
- \let\univrn\relax%
- \let\univbn\relax%
- \let\univxn\relax%
- \let\univls\relax%
- \let\univrs\relax%
- \let\univbs\relax%
- \let\univxs\relax%
- \let\dinbn\relax%
- \let\textuln\relax%
- \let\texturn\relax%
- \let\textubn\relax%
- \let\textuxn\relax%
- \let\textuls\relax%
- \let\texturs\relax%
- \let\textubs\relax%
- \let\textuxs\relax%
- \let\textdbn\relax%
- \AtBeginDocument{%
- \cmd@restore{rmdefault}%
- \cmd@restore{sfdefault}%
- \cmd@restore{bfdefault}%
- \cmd@restore{mddefault}%
- \cmd@restore{familydefault}%
- \cmd@restore{seriesdefault}%
- \cmd@restore{shapedefault}%
- \cmd@restore{rmfamily}%
- \cmd@restore{sffamily}%
- \cmd@restore{ttfamily}%
- }%
-}{}
-\AtBeginDocument%
-{%
- \tud@font@check%
- \if@tud@fontspec%
- \preto\tud@font@init\tud@font@init@fontspec%
- \else%
- \preto\tud@font@init\tud@font@init@nfss%
- \fi%
- \ifdef{\sectfont}{}{\let\sectfont\relax}%
- \tud@font@init%
- \tud@font@set[nomath]%
- \tud@font@math@init%
-}
\newcommand*\tud@font@greek@init[1]{%
- \ifcsdef{up#1}{}{%
+ \ifcsundef{up#1}{%
\if@tempswa%
\csletcs{up#1}{tud@up#1}%
\else%
\csletcs{up#1}{#1}%
\fi%
- }%
- \ifcsdef{var#1}{}{%
+ }{}%
+ \ifcsundef{var#1}{%
\if@tempswa%
\csletcs{var#1}{#1}%
\else%
\csletcs{var#1}{tud@var#1}%
\fi%
- }%
+ }{}%
}
-\newif\if@tud@mweights
-\AfterPackage*{mweights}{\@tud@mweightstrue}
-\newcommand*\tud@font@set[1][]{%
- \if@tud@mweights%
- \ifdef{\bfseries@rm}{}{\edef\bfseries@rm{\bfdefault}}%
- \ifdef{\bfseries@sf}{}{\edef\bfseries@sf{\bfdefault}}%
- \ifdef{\bfseries@tt}{}{\edef\bfseries@tt{\bfdefault}}%
- \ifdef{\mdseries@rm}{}{\edef\mdseries@rm{\mddefault}}%
- \ifdef{\mdseries@sf}{}{\edef\mdseries@sf{\mddefault}}%
- \ifdef{\mdseries@tt}{}{\edef\mdseries@tt{\mddefault}}%
- \fi%
- \ifcase\tud@cdfont\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@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{false}%
- \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}%
- \if@tud@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{true}%
- \if@tud@fontspec%
- \ifnum\tud@cdfont=\@ne\relax% true
- \setsansfont{Univers Light}[%
- BoldFont = Univers,%
- ItalicFont = Univers Light Oblique,%
- BoldItalicFont = Univers Oblique,%
- ]%
- \setmonofont{LMMonoLt10-Regular}[%
- BoldFont = LMMono10-Regular,%
- ItalicFont = LMMonoLt10-Oblique,%
- BoldItalicFont = LMMonoSlant10-Regular,%
- ]%
- \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
- \setsansfont{Univers Light}[%
- BoldFont = Univers Bold,%
- ItalicFont = Univers Light Oblique,%
- BoldItalicFont = Univers Bold Oblique,%
- ]%
- }{}%
- \else% heavy
- \setsansfont{Univers}[%
- BoldFont = Univers Bold,%
- ItalicFont = Univers Oblique,%
- BoldItalicFont = Univers Bold Oblique,%
- ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont = LMMonoLt10-Bold,%
- ItalicFont = LMMonoSlant10-Regular,%
- BoldItalicFont = LMMonoLt10-BoldOblique,%
- ]%
- \fi%
- \else%
- \if@tud@univers%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \ifnum\tud@cdfont=\@ne\relax% true
- \renewcommand*\bfdefault{m}%
- \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{%
- \renewcommand*\bfdefault{b}%
- }{}%
- \renewcommand*\mddefault{l}%
- \if@tud@mweights%
- \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
- \renewcommand*\bfdefault{b}%
- \renewcommand*\mddefault{m}%
- \if@tud@mweights%
- \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%
+\newcommand*\tud@font@math@set{%
+ \if@atdocument%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \if@tud@universmath\else%
+ \PackageWarning{tudscrfonts}%
+ {`Univers' math fonts not found}%
+ \fi%
+ \if@tud@dinboldmath\else%
+ \PackageWarning{tudscrfonts}%
+ {`DIN Bold' math fonts not found}%
\fi%
\fi%
\fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\familydefault{\sfdefault}%
- \renewcommand*\seriesdefault{\mddefault}%
- \renewcommand*\shapedefault{\updefault}%
- \fi%
- \if@tud@mweights%
- \edef\rmdef@ult{\rmdefault}%
- \edef\sfdef@ult{\sfdefault}%
- \edef\ttdef@ult{\ttdefault}%
- \edef\bfdef@ult{\bfdefault}%
- \edef\mddef@ult{\mddefault}%
\fi%
- \tud@font@skip@set%
- \ifstr{#1}{nomath}{}{\tud@font@math@set}%
- \normalfont\selectfont%
-}
-\newcommand*\tud@font@skip@set{%
- \tud@ifverlower{2.04}{}{%
- \ifcase\tud@cdfont\relax% false
- \tud@skip@restore{smallskipamount}%
- \tud@skip@restore{medskipamount}%
- \tud@skip@restore{bigskipamount}%
- \tud@skip@restore{abovecaptionskip}%
- \tud@skip@restore{belowcaptionskip}%
- \tud@skip@restore{columnsep}%
- \else% true/heavy
- \tud@skip@store{smallskipamount}%
- \tud@skip@store{medskipamount}%
- \tud@skip@store{bigskipamount}%
- \tud@skip@store{abovecaptionskip}%
- \tud@skip@store{belowcaptionskip}%
- \tud@skip@store{columnsep}%
- \tud@font@skip@@set%
- \fi%
- }%
-}
-\newcommand*\tud@font@skip@@set{%
- \setlength{\@tempdimb}{\f@baselineskip}%
- \scr@setlength\smallskipamount{\dimexpr\@tempdimb/4\relax}%
- {\dimexpr\@tempdimb/12\relax}{\dimexpr\@tempdimb/12\relax}%
- \scr@setlength\medskipamount{\dimexpr\@tempdimb/2\relax}%
- {\dimexpr\@tempdimb/6\relax}{\dimexpr\@tempdimb/6\relax}%
- \scr@setlength\bigskipamount{\@tempdimb}%
- {\dimexpr\@tempdimb/3\relax}{\dimexpr\@tempdimb/3\relax}%
- \tud@skip@set\abovecaptionskip{\dimexpr4\@tempdimb/5\relax}%
- \tud@skip@set\belowcaptionskip{\z@}%
- \tud@skip@set\columnsep{1.1\baselineskip}%
-}
-\newcommand*\tud@font@math@set{%
- \if@tud@univers%
+ \if@tud@universmath%
\if@tud@cdmath%
\tud@cmd@store{mv@normal}%
\tud@cmd@store{mv@bold}%
@@ -927,20 +1007,39 @@
}
\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
+\AtBeginDocument%
+{%
+ \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{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
+ \fi%
+ \tud@font@check%
+ \ifdef{\sectfont}{}{\let\sectfont\relax}%
+ \tud@font@set%
+ \tud@font@init%
+ \tud@font@math@init%
+}
+\AfterClass*{beamer}{\usefonttheme[onlymath]{serif}}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}%
+}
\newrobustcmd*\ifdin{%
- \@tempswafalse%
- \@expandtwoargs\in@{DINBold}{\f@family}%
- \ifin@\@tempswatrue\fi%
- \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi%
- \if@tempswa%
+ \ifx\f@family\tud@dinbold%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
}
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
+\newcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdfont@din%
+ \tud@dinbn\tud@raggedright%
+ \else%
+ \sectfont#1%
+ \fi%
}
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
@@ -950,142 +1049,83 @@
}{}%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
-\AfterPackage*{siunitx}{%
- \providecommand*\lseries{\fontseries{l}\selectfont}
+\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
-\ifbool{@tud@oldclass}{%
- \AtBeginDocument{%
- \if@tud@fontspec%
- \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}%
- \else%
- \if@tud@univers%
- \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}%
- \fi%
- \fi%
- \if@sansmath%
- \DeclareSymbolFont{aunLetters}{OT1}{\tud@univers}{l}{sl}%
- \SetSymbolFont{aunLetters}{bold}{OT1}{\tud@univers}{b}{sl}%
- \DeclareSymbolFont{aunOperators}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{aunOperators}{bold}{OT1}{\tud@univers}{b}{n}%
- \DeclareSymbolFont{aunUpright}{OT1}{\tud@univers}{l}{n}%
- \SetSymbolFont{aunUpright}{bold}{OT1}{\tud@univers}{b}{n}%
- \DeclareSymbolFontAlphabet{\mathsf}{aunOperators}%
- \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters}%
- \DeclareMathAlphabet\mathbf{OT1}{\tud@univers}{b}{n}%
- \SetMathAlphabet\mathbf{bold}{OT1}{\tud@univers}{b}{n}%
- \DeclareMathAlphabet\mathit{OT1}{\tud@univers}{l}{sl}%
- \SetMathAlphabet\mathit{bold}{OT1}{\tud@univers}{l}{sl}%
- \@ifpackageloaded{tudfonts}{%
- \let\mv@normal\mv@univers%
- \let\mv@bold\mv@universbold%
- }{}%
+\AtEndOfPackage%
+{%
+ \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
+}
+\def\dinBold{\dinbn}
+\def\dinfamily{\dinbn}
+%%% 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%
- \let\dinBold\dinbn%
- \let\dinfamily\dinbn%
+ \gappto\tud@atdocument@hook{\global\booltrue{@#1}}%
}%
-}{}
-\@ifclassloaded{tudbook}{%
- \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}%
- \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}%
- \patchcmd{\section}{\dinBold\Large\bfseries}%
- {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}%
- \patchcmd{\showtitle}{\dinBold\Huge\bfseries}%
- {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}%
-}{}
-\@ifclassloaded{tudmathposter}{%
- \setkomafont{title}{\bfseries\tud@font@heading\Huge}%
- \renewcommand*\subtitlefont{\fontseries{m}\tud@font@heading\huge}%
- \if@mathevorgabe%
- \renewcommand*\sectionfont{\univbn\LARGE}%
- \renewcommand*\subsectionfont{\univbn\large}%
+}
+\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%
-}{}
-\@ifpackageloaded{tudfonts}{%
- \let\if@sansmath\if@tudfonts@sansmath%
- \renewcommand*\tudfont[1]{\cdfont{#1}}%
- \if@sansmath%
- \if@tudfonts@eulermath%
- \PackageWarningNoLine{tudscrfonts}{%
- You're using non-serif fonts in math mode. It's\MessageBreak%
- recommended to pass the option `noeulermath' to\MessageBreak%
- package `tudfonts'%
- }%
- \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%
-}{%
- \newif\if@tudfonts@nodin%
- \@ifundefined{if@sansmath}{\newif\if@sansmath}{}%
}
-\@ifclassloaded{tudposter}{%
- \let\if@sansmath\if@tudposter@sansmath%
-}{}
-\ifbool{@tud@oldscrclass}{%
- \AtBeginDocument{%
- \DeclareSymbolFontAlphabet{\mathrm}{operators}
- \if@tud@fontspec%
- \DeclareFixedFont{\univLightHead}{\encodingdefault}%
- {UniversLight}{m}{n}{\tud@head@fntsz}%
- \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
- {UniversBold}{m}{n}{\tud@head@fntsz}%
- \else%
- \if@tud@univers%
- \DeclareFixedFont{\univLightHead}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@fntsz}%
- \DeclareFixedFont{\univBoldHead}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@fntsz}%
- \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}}
\endinput
%%
%% End of file `tudscrfonts.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
deleted file mode 100644
index a3a31e63e61..00000000000
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
+++ /dev/null
@@ -1,1433 +0,0 @@
-%%
-%% This is file `tudscrman.cls',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% tudscr-version.dtx (with options: `class,manual')
-%% tudscr-manual.dtx (with options: `class')
-%% tudscr-base.dtx (with options: `load')
-%% tudscr-manual.dtx (with options: `class,option')
-%% tudscr-misc.dtx (with options: `class,inherit,execute')
-%% tudscr-manual.dtx (with options: `class,body')
-%%
-%% ============================================================================
-%%
-%% TUD-KOMA-Script
-%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
-%%
-%% ============================================================================
-%%
-%% This work may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License, version 1.3c of the license. The latest
-%% version of this license is in http://www.latex-project.org/lppl.txt and
-%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
-%% or later and of this work. This work has the LPPL maintenance status
-%% "author-maintained". The current maintainer and author of this work
-%% is Falk Hanisch.
-%%
-%% ----------------------------------------------------------------------------
-%%
-%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
-%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
-%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
-%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
-%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
-%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
-%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
-%%
-%% ============================================================================
-%%
-%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
- \def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
- \@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
- but `#1' was expected!\MessageBreak%
- You should not use classes, packages or files from\MessageBreak%
- different TUD-KOMA-Script-Bundle versions%
- }%
- \fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
-\providecommand*\tudscrmail{tudscr@gmail.com}
-\newcommand*\TUD@ProvidesWrapperClass[3]{%
- \newcommand*\TUDClassName@Parent{#2}%
- \newcommand*\TUDClassName{#1}%
- \ProvidesClass{#1}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
- ^^J#3 (#2)%
- ]%
- \TUD@ClassInfo%
-}
-\providecommand*\TUD@ClassInfo{%
- \typeout{+---------------------------------------------------------------}
- \typeout{| The Corporate Design of Technische Universitaet Dresden}
- \typeout{| Class: \TUDClassName}
- \typeout{| Version: \TUDVersion}
- \typeout{| Author: Falk Hanisch (\tudscrmail)}
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
- \typeout{+---------------------------------------------------------------}
-}
-\NeedsTeXFormat{LaTeX2e}
-\TUD@ProvidesWrapperClass{tudscrman}{tudscrreprt}{%
- internal manual class%
-}
-\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
- \ifdin{TUD-KOMA-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
- }\csname xspace\endcsname%
- }%
-}{}
-%%% From File: tudscr-manual.dtx
-%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUDVersion]
-%%% From File: tudscr-manual.dtx
-\newif\if@tud@todo
-\@tud@todotrue
-\newcommand*\tud@todo@type{}
-\TUD@key{ToDo}[true]{%
- \TUD@set@ifkey{ToDo}{@tud@todo}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \let\tud@todo@type\relax%
- \else%
- \def\tud@todo@type{#1}%
- \@tud@todotrue%
- \FamilyKeyStateProcessed%
- \fi%
-}
-\PassOptionsToClass{%
- cdfoot=true,%
- chapterpage=true,%
- chapterprefix=true,%
- headings=optiontoheadandtoc,%
- captions=tableheading,%
- numbers=noenddot,%
- cd=color,%
-}{\TUDClassName@Parent}
-\PassOptionsToPackage{automark}{scrlayer-scrpage}
-\DeclareOption{final}{\let\tudfinalflag\relax}
-\DeclareOption{print}{\let\tudprintflag\relax}
-\AtBeginDocument{%
- \ifdef{\tudfinalflag}{\TUDoptions{ToDo=false}}{}%
- \ifdef{\tudprintflag}{%
- \TUDoptions{color=no}%
- \PassOptionsToPackage{hidelinks}{hyperref}%
- }{}%
-}
-%%% From File: tudscr-misc.dtx
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUDClassName@Parent}}
-\TUDProcessOptions\relax
-\LoadClass{\TUDClassName@Parent}
-%%% From File: tudscr-manual.dtx
-\RequirePackage{xparse}[2013/12/31]
-\RequirePackage{textcomp}[2005/09/27]
-\RequirePackage{setspace}[2011/12/19]
-\setstretch{1.1}\recalctypearea
-\RequirePackage{babel}[2014/03/24]
-\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
-\AtBeginDocument{%
- \@ifpackageloaded{csquotes}{}{%
- \ClassWarning%
- {tudscrman}{Package `csquotes' not loaded}%
- \providecommand\enquote[1]{\glqg#1\grqq{}}%
- }%
-}
-\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]}
-\newlength\baselineskipglue
-\AtBeginDocument{%
- \setlength\baselineskipglue{%
- .4\baselineskip plus .4\baselineskip minus .2\baselineskip%
- }%
-}
-\PassOptionsToPackage{vskip=.5\baselineskipglue}{quoting}
-\RequirePackage{quoting}[2014/01/28]
-\RequirePackage{isodate}[2010/01/03]
-\RequirePackage{hologo}[2012/04/26]
-\RequirePackage{marginnote}[2012/03/29]
-\RequirePackage{listings}[2014/03/04]
-\lstdefinestyle{tudscr}{%
- basicstyle=\ttfamily\setstretch{1},%
- keywordstyle=,%
- columns=fullflexible,keepspaces,%
- aboveskip=.5\baselineskipglue,%
- belowskip=.5\baselineskipglue,%
- language=[LaTeX]TeX,%
- texcl,%
-}
-\RequirePackage{silence}[2012/07/02]
-\RequirePackage{filemod}[2011/09/19]
-\RequirePackage{ifpdf}[2011/01/30]
-\ifpdf
- \PassOptionsToPackage{colorinlistoftodos,obeyFinal,color=HKS92!10}{todonotes}
- \RequirePackage{todonotes}[2012/07/25]
-\else
- \TUDoptions{ToDo=false}
-\fi
-\WarningFilter*{ifplatform}{^^J \space\space\space shell escape is disabled}
-\RequirePackage{ifplatform}[2010/10/22]
-\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref}
-\PassOptionsToPackage{open,openlevel=0}{bookmark}
-\AtBeginDocument{%
- \RequirePackage{hyperref}[2012/11/06]
- \RequirePackage{bookmark}[2011/12/02]
- \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}
- \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}
- \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}
- \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}
- \newcommand*\autorefname[1][current]{%
- \ifstr{#1}{current}{%
- \expandafter\HyPsd@@autorefname\@currentHref\@nil%
- }{%
- \@autorefname\HyPsd@@autorefname{#1}%
- }%
- \unskip\xspace%
- }
- \newcommand*\@autorefname[2]{%
- \expandafter\ifx\csname r@#2\endcsname\relax%
- ??%
- \else%
- \expandafter\expandafter\expandafter\@@autorefname%
- \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil%
- \fi%
- }
- \newcommand*\@@autorefname{}
- \def\@@autorefname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil}
- \NewDocumentCommand\manualhyperdef{st'm}{%
- \IfBooleanTF{#2}{%
- \raisebox{4\baselineskip}[0pt][0pt]{\hyperdef{\jobname}{#3}{}}%
- \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax%
- \@afterindentfalse\@afterheading%
- }{%
- \Hy@raisedlink{\hyperdef{\jobname}{#3}{}}%
- \ignorespaces%
- }%
- \IfBooleanF{#1}{\label{#3}}%
- }
- \newcommand*\manualhyperref[2]{\hyperref{}{\jobname}{#1}{#2}}
-}
-\PassOptionsToPackage{xindy,splitindex}{imakeidx}
-\RequirePackage{imakeidx}[2013/07/11]%
-\indexsetup{%
- level=\addsec,%
- noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},%
- othercode={\renewcommand*\subitem{\@idxitem\hspace*{15\p@}}}%
-}
-\newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din}
-\newcommand*\tud@write@i{}
-\newwrite\tud@write@i
-\openout\tud@write@i=tudscrman-temp.xdy
-\write\tud@write@i{(require "texindy.xdy")}
-\write\tud@write@i{%
-(define-location-class^^J%
-\space\space "arabic-page-numbers" ("arabic-numbers") :min-range-length 1^^J%
-)%
-}
-\write\tud@write@i{(markup-range :sep "--")}
-\write\tud@write@i{%
-(merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
-}
-\write\tud@write@i{%
-(define-attributes (("declare" "!" "important" "?" "deprecated" "default")))%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "declare"^^J%
-\space\space :open "\string\textbf{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "!"^^J%
-\space\space :open "\string\textbf{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "important"^^J%
-\space\space :open "\string\textsl{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "?"^^J%
-\space\space :open "\string\textsl{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "default"^^J%
-\space\space :open "\string\hyperpage{"^^J%
-\space\space :close "}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "deprecated"^^J%
-\space\space :open "\string\deprecatedhyperpage{"^^J%
-\space\space :close "}"^^J%
-)%
-}
-\write\tud@write@i{%
- (markup-locclass-list :open "\string\,\string\dotfill\string\,")%
-}
-\write\tud@write@i{(define-crossref-class "seeidx")}
-\write\tud@write@i{%
-(markup-crossref-list^^J%
-\space\space :class "seeidx" :open "\string\seeidx{" :sep "; " :close "}{}"^^J%
-)%
-}
-\closeout\tud@write@i
-\makeindex[title={Allgemeiner Index},options=\xdyopt]%
-\makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]%
-\makeindex[%
- title={Umgebungen, Befehle und Seitenstile},name=macros,options=\xdyopt%
-]%
-\makeindex[title={Umgebungs- und Befehlsparameter},name=keys,options=\xdyopt]%
-\makeindex[title={Sprachabh\"angige Bezeichner},name=terms,options=\xdyopt]%
-\makeindex[title={Schriftelemente},name=fonts,options=\xdyopt]%
-\makeindex[title={Farben},name=colors,options=\xdyopt]%
-\makeindex[title={Klassen, Pakete und Dateien},name=files,options=\xdyopt]%
-\makeindex[title={\"Anderungsliste},name=changelog,columns=1,options=\xdyopt]%
-\RequirePackage{enumitem}[2011/09/28]
-\setlist{noitemsep}
-\AtBeginDocument{
- \RequirePackage{ellipsis}[2004/9/28]
- \let\ellipsispunctuation\relax
-}
-\RequirePackage{tabularx}[1999/01/07]
-\RequirePackage{ragged2e}[2009/05/21]
-\RequirePackage{chngcntr}[2009/09/02]
-\counterwithout{footnote}{chapter}
-\RequirePackage{booktabs}[2005/04/14]
-\RequirePackage{varioref}[2011/10/02]%
-\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}}
-\RequirePackage{tikz}[2013/12/13]
-\RequirePackage{pdfpages}[2013/08/25]
-\RequirePackage{units}[1998/08/04]
-\RequirePackage{tudscrsupervisor}[\TUDVersion]
-\newrobustcmd*\textOR{\,\textbardbl\,}
-\newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}}
-\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}}
-\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}}
-\newrobustcmd*\PSet{\PName{Einstellung}}
-\newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}}
-\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}}
-\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}}
-\newrobustcmd*\OLParameter[1]{%
- \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}%
-}
-\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}}
-\newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}}
-\newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}}
-\newrobustcmd*\hypertut[2]{%
- \hyperref{tutorials/#1.pdf}{\jobname}{tutorials:#1}{\textsbn{#1.pdf}#2}%
-}
-\NewDocumentCommand\Tutorial{smd||}{%
- \ifnum\pdfshellescape=\@ne\relax%
- \filemodCmp{tutorials/#2.pdf}{tutorials/#2.tex}{}{%
- \immediate\openout\tud@write@i=tutorials.sh%
- \immediate\write\tud@write@i{%
- cd tutorials^^J%
- pdflatex -shell-escape #2^^J%
- pdflatex #2^^J%
- biber #2^^J%
- pdflatex -shell-escape #2^^J%
- makeglossaries #2^^J%
- pdflatex #2%
- }%
- \immediate\closeout\tud@write@i%
- \ifwindows%
- \immediate\write18{rename tutorials.sh tutorials.bat}%
- \immediate\write18{tutorials.bat}%
- \immediate\write18{del tutorials.bat}%
- \else%
- \immediate\write18{bash tutorials.sh}%
- \immediate\write18{rm tutorials.sh}%
- \fi%
- }%
- \fi%
- \IfFileExists{tutorials/#2.pdf}{%
- \hypertut{#2}{}%
- }{%
- \textsbn{#2.pdf}%
- \tud@shellescape@wrn%
- }%
- \IfBooleanF{#1}{%
- \index[files]{\hypertut{#2}{~{\idxfont(Tutorial)}}\IfValueT{#3}{|#3}}%
- }%
-}
-\newcommand*\IncludeExample[1]{%
- \lstinputlisting[style=tudscr]{examples/#1}%
- \ifnum\pdfshellescape=\@ne\relax%
- \filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{%
- \immediate\write18{%
- pdflatex -output-directory examples examples/#1.tex
- pdflatex -output-directory examples examples/#1.tex
- }%
- }%
- \fi%
- \IfFileExists{examples/#1.pdf}{%
- \includepdf[%
- pages=-,noautoscale,frame,keepaspectratio,pagecommand={},%
- height=\textheight,width=\textwidth, offset=5mm 0mm%
- ]{examples/#1.pdf}%
- }{%
- \tud@shellescape@wrn%
- }%
-}
-\newcommand*\@ToDo{}
-\NewDocumentCommand\ToDo{somo}{%
- \ifbool{@tud@todo}{%
- \begingroup%
- \define@boolkey{todonotes}{doc}[true]{%
- \ifbool{KV@todonotes@doc}{\setkeys{todonotes}{color=HKS41!10}}{}%
- }%
- \define@boolkey{todonotes}{rls}[true]{%
- \ifbool{KV@todonotes@rls}{\setkeys{todonotes}{color=HKS44!50}}{}%
- }%
- \define@boolkey{todonotes}{imp}[true]{%
- \ifbool{KV@todonotes@imp}{\setkeys{todonotes}{color=HKS07!50}}{}%
- }%
- \define@boolkey{todonotes}{nxt}[true]{%
- \ifbool{KV@todonotes@nxt}{\setkeys{todonotes}{color=HKS57!50}}{}%
- }%
- \def\@ToDo{}%
- \IfValueTF{#2}{%
- \IfBooleanTF{#1}{\edef\@ToDo{#2,nolist}}{\edef\@ToDo{#2}}%
- }{%
- \IfBooleanT{#1}{\edef\@ToDo{nolist}}%
- }%
- \renewcommand*\marginpar[2][]{%
- \marginnote[##1]{##2}[\dimexpr-1.6ex+1pt\relax]%
- }%
- \@tempswafalse
- \ifdefvoid{\tud@todo@type}{\@tempswatrue}{}%
- \IfValueT{#2}{%
- \@for\@tempa:=#2\do{\ifstr{\@tempa}{\tud@todo@type}{\@tempswatrue}{}}%
- }%
- \if@tempswa%
- \vskip.8ex%
- \IfValueT{#4}{%
- \settowidth\marginparwidth{#4}%
- \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}%
- \let\par\relax\noindent%
- \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}%
- \@tempa{#4}%
- }%
- \edef\@tempa{\noexpand\todo[\@ToDo,inline]}%
- \@tempa{#3}%
- \fi%
- \endgroup%
- \par\noindent%
- }{}%
- \ignorespaces%
-}
-\newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi}
-\reversemarginpar
-\newrobustcmd*\bsc{\@backslashchar}
-\newcommand*\tud@shellescape@wrn{%
- \ClassWarning%
- {tudscrman}{%
- You have to recompile this document with\MessageBreak%
- activated shell escape option%
- }%
- \global\let\tud@shellescape@wrn\relax%
-}
-\newcommand*\pdfexpandableoutline[1]{%
- \AfterPackage*{hyperref}{\pdfstringdefDisableCommands{\csletcs{#1}{@#1}}}
-}
-\newcommand*\@TUDScript{TUD-KOMA-Script}
-\pdfexpandableoutline{TUDScript}
-\NewDocumentCommand\Application{smd||}{%
- \ifdin{#2}{%
- \mbox{\textsbs{#2}}%
- \CheckIndexFormat{#1}{#3}%
- \IfBooleanF{#1}{%
- \index{\textsbs{#2}~{\idxfont(Anwendungssoftware)}\IfValueT{#3}{|#3}}%
- }%
- }%
-}
-\DeclareExpandableDocumentCommand\@Application{sm}{#2}
-\pdfexpandableoutline{Application}
-\NewDocumentCommand\Distribution{smod||}{%
- \ifdin{#2\IfValueT{#3}{~#3}}{%
- \mbox{\textsbn{#2\IfValueT{#3}{~#3}}}%
- \CheckIndexFormat{#1}{#4}%
- \IfBooleanF{#1}{%
- \index{\textsbn{#2}~{\idxfont(Distribution)}\IfValueT{#4}{|#4}}%
- }%
- }%
-}
-\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}}
-\NewDocumentCommand\File{smd||}{%
- \ifdin{#2}{%
- \mbox{\textsbn{#2}}%
- \CheckIndexFormat{#1}{#3}%
- \IfBooleanF{#1}{%
- \index[files]{\textsbn{#2}~{\idxfont(Datei)}\IfValueT{#3}{|#3}}%
- }%
- }%
-}
-\NewDocumentCommand\Class{smd''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{files}{\protect\sbnfont}{#2}{Klasse}%
- \else%
- \ifdin{#2}{%
- \SetIndexFormat{#1}{#4}%
- \@ProcessOutput{\textsbn{#2}}'#3'%
- {files}[\protect\sbnfont]{#2}[~{\idxfont(Klasse)}]%
- }%
- \fi%
-}
-\DeclareExpandableDocumentCommand\@Class{sm}{#2}
-\pdfexpandableoutline{Class}
-\newcommand*\@TempPackage{}
-\NewDocumentCommand\Package{smd''d()d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{files}{\protect\sbnfont}{#2}{Paket}%
- \else%
- \ifdin{#2}{%
- \IfValueTF{#4}{\def\@TempPackage{#4}}{\def\@TempPackage{#2}}%
- \SetIndexFormat{#1}{#5}%
- \@ProcessOutput{\textsbn{#2}}'#3'(\@TempPackage)%
- {files}[\protect\sbnfont]{#2}[~{\idxfont(Paket)}]%
- }%
- \fi%
-}
-\DeclareExpandableDocumentCommand\@Package{sm}{#2}
-\pdfexpandableoutline{Package}
-\newcommand*\@TempOption{}
-\NewDocumentCommand\Option{smod''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{options}{\ttfamily}{#2}{Option}%
- \else%
- \IfValueTF{#3}{\gdef\@TempOption{\texttt{=#3}}}{\gdef\@TempOption{}}%
- \SetIndexFormat{#1}{#5}%
- \@ProcessOutput{\texttt{#2}}[\@TempOption]'#4'{options}[\ttfamily]{#2}%
- \fi%
-}
-\DeclareExpandableDocumentCommand\@Option{sm}{#2}
-\pdfexpandableoutline{Option}
-\newcommand*\@TempEnvironment{}
-\NewDocumentCommand\Environment{smod''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Umgebung}%
- \else%
- \if@declare%
- \gdef\@TempEnvironment{%
- \texttt{\bsc{}begin\{#2\}\IfValueT{#3}{#3}}\tabularnewline%
- \texttt{\dots}\tabularnewline%
- \texttt{\bsc{}end\{#2\}}%
- }%
- \else%
- \gdef\@TempEnvironment{\texttt{#2}}%
- \fi%
- \SetIndexFormat{#1}{#5}%
- \@ProcessOutput{\@TempEnvironment}'#4'{macros}[\ttfamily]{#2}%
- \fi%
-}
-\DeclareExpandableDocumentCommand\@Environment{sm}{#2}
-\pdfexpandableoutline{Environment}%
-\NewDocumentCommand\Macro{smd''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{macros}{\ttfamily\bsc}{#2}{Befehl}%
- \else%
- \SetIndexFormat{#1}{#4}%
- \@ProcessOutput{\texttt{\bsc#2}}'#3'{macros}[\ttfamily\bsc]{#2}%
- \fi%
-}
-\DeclareExpandableDocumentCommand\@Macro{sm}{#2}
-\NewDocumentCommand\Length{smd''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{macros}{\ttfamily\bsc}{#2}{L\"ange}%
- \else%
- \SetIndexFormat{#1}{#4}%
- \@ProcessOutput{\texttt{\bsc#2}}[\if@declare~{\idxfont(L\"ange)}\fi]'#3'%
- {macros}[\ttfamily\bsc]{#2}[~{\idxfont(L\"ange)}]%
- \fi%
-}
-\newcommand*\@TempKey{}
-\NewDocumentCommand\Key{smmod''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{macros}(#2){\ttfamily}{#3}{Parameter}%
- \else%
- \begingroup%
- \let\Environment\@firstofone%
- \let\Macro\@firstofone%
- \IfValueTF{#4}{%
- \gdef\@TempKey{\texttt{=#4}\if@declare~{\idxfont(Parameter)}\fi}%
- }{%
- \gdef\@TempKey{\if@declare~{\idxfont(Parameter)}\fi}%
- }%
- \SetIndexFormat{#1}{#6}%
- \@ProcessOutput{\texttt{#3}}[\@TempKey]'#5'{macros}(#2)[\ttfamily]{#3}%
- \endgroup%
- \fi%
-}
-\NewDocumentCommand\PageStyle{smd''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Seitenstil}%
- \else%
- \SetIndexFormat{#1}{#4}%
- \@ProcessOutput{\texttt{#2}\if@declare~{\idxfont(Seitenstil)}\fi}'#3'%
- {macros}[\ttfamily]{#2}[~{\idxfont(Seitenstil)}]%
- \fi%
-}
-\NewDocumentCommand\Counter{smd''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{macros}{\ttfamily}{#2}{Z\"ahler}%
- \else%
- \SetIndexFormat{#1}{#4}%
- \@ProcessOutput{\texttt{#2}}[\if@declare~{\idxfont(Z\"ahler)}\fi]%
- {macros}[\ttfamily]{#2}[~{\idxfont(Z\"ahler)}]%
- \fi%
-}
-\NewDocumentCommand\Term{smd''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{terms}{\ttfamily\bsc}{#2}{Bezeichner}%
- \else%
- \SetIndexFormat{#1}{#4}%
- \@ProcessOutput{\texttt{\bsc#2}}[\if@declare~{\idxfont(Bezeichner)}\fi]'#3'%
- {terms}[\ttfamily\bsc]{#2}%
- \fi%
-}
-\newcommand\@termlist{}
-\let\@termlist\relax
-\NewDocumentCommand\TermTable{smg}{%
- \forcsvlist{\listadd\@termlist}{#2}%
- \ifvmode\else\par\fi%
- \vskip\baselineskipglue%
- \@afterindentfalse\@afterheading%
- \IfBooleanTF{#1}{%
- \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}%
- \setlength\@tempdimc{-.7\baselineskip}%
- \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx}%
- }{%
- \setlength\@tempdimc{\z@}%
- \begin{tabular}{lll}\@TermTable\end{tabular}%
- }%
- \let\@termlist\relax%
-}
-\newcommand*\@TermTable{%
- \toprule%
- \textbf{Bezeichner} & \textbf{Deutsch} & \textbf{Englisch}\tabularnewline%
- \midrule%
- \forlistloop\@@TermTable{\@termlist}%
- \bottomrule%
-}
-\newcommand*\@@TermTable[1]{%
- \Term{#1} & %
- \ifstr{\@nameuse{#1}}{}{\PName{leer}}{\@nameuse{#1}} & %
- \selectlanguage{english}\vspace*{\@tempdimc}%
- \ifstr{\@nameuse{#1}}{}{\PName{empty}}{\@nameuse{#1}}\tabularnewline%
-}
-\NewDocumentCommand\Font{smd''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{fonts}{\ttfamily}{#2}{Schriftelement}%
- \else%
- \SetIndexFormat{#1}{#4}%
- \@ProcessOutput{\texttt{#2}\if@declare~{\idxfont(Schriftelement)}\fi}%
- {fonts}[\ttfamily]{#2}%
- \fi%
-}
-\NewDocumentCommand\Color{smod''d||}{%
- \if@changelog%
- \@ProcessChangedAt{#1}{colors}{\ttfamily}{#2}{Farbe}%
- \else%
- \SetIndexFormat{#1}{#5}%
- \@ProcessOutput{\texttt{#2}}[%
- \IfValueT{#3}{~\texttt{(#3)}}\if@declare~{\idxfont(Farbe)}\fi%
- ]'#4'{colors}[\ttfamily]{#2}%
- \fi%
-}
-\newcommand*\@IndexFormat{}
-\let\@IndexFormat\relax
-\newcommand*\CheckIndexFormat[2]{%
- \IfBooleanT{#1}{%
- \IfValueT{#2}{%
- \ClassWarning{tudscrman}{%
- You've used the starred version so no entry for\MessageBreak%
- the index is created and the optional argument\MessageBreak%
- |#2| will be ignored%
- }%
- }%
- }%
-}
-\newcommand*\SetIndexFormat[2]{%
- \CheckIndexFormat{#1}{#2}%
- \IfBooleanTF{#1}{%
- \def\@IndexFormat{#1}%
- }{%
- \IfValueTF{#2}{\def\@IndexFormat{#2}}{\def\@IndexFormat{}}%
- }%
-}
-\newif\if@declare
-\newif\if@stareddeclare
-\newif\if@openindex
-\newif\if@deprecated
-\NewDocumentCommand\@ProcessOutput{mod''d()md()omo}{%
- \if@declare%
- \if@openindex%
- \IfValueT{#3}{%
- \ClassWarning{tudscrman}{%
- It is not possible to use any cross-reference\MessageBreak%
- shorthand like '#3' within the arguments of\MessageBreak%
- the environment `Declaration'%
- }%
- }%
- \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}%
- \if@deprecated%
- \expandafter\IfBooleanF\expandafter{\@IndexFormat}{%
- \manualhyperdef{\@tempa}%
- }%
- \else%
- \expandafter\IfBooleanTF\expandafter{\@IndexFormat}{%
- \manualhyperdef{\@tempa}%
- }{%
- \ifx\@IndexFormat\@empty\else%
- \ClassWarning{tudscrman}{%
- It is not possible to use any indexing format\MessageBreak%
- like |\@IndexFormat| within the arguments of the\MessageBreak%
- environment `Declaration'%
- }%
- \fi%
- \if@stareddeclare%
- \manualhyperdef'{\@tempa}%
- \else%
- \manualhyperdef{\@tempa}%
- \fi%
- \@HyperIndex{#5}{#6}{#7}{#8}{#9}{(declare}%
- }%
- \fi%
- \if@stareddeclare\else%
- #1\IfValueT{#2}{#2}%
- \fi%
- \else%
- \if@deprecated\else%
- \expandafter\IfBooleanF\expandafter{\@IndexFormat}{%
- \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}%
- }%
- \fi%
- \fi%
- \else%
- \ifx\@IndexFormat\relax%
- \ClassError{tudscrman}{\string\SetIndexFormat\space unused}{%
- It seems you have forgotten to use \string\SetIndexFormat.%
- }%
- \else%
- \expandafter\IfBooleanF\expandafter{\@IndexFormat}{%
- \@HyperIndex{#5}{#6}{#7}{#8}{#9}{\@IndexFormat}%
- }%
- \fi%
- \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}%
- \ifcsdef{r@\@tempa}{%
- \let\@tempb\relax%
- \def\@tempc{\mbox{\hyperref{}{\jobname}{\@tempa}{#1}\IfValueT{#2}{#2}}}%
- \IfValueT{#3}{%
- \def\@tempb{%
- \ClassWarning{tudscrman}{%
- You've used the unknown cross-reference\MessageBreak%
- shorthand '#3'. Only 'auto', 'page'\MessageBreak%
- and 'full' as well as 'none' are valid%
- }%
- }%
- \ifstr{#3}{auto}{\def\@tempb{ in \autoref{\@tempa}}}{}%
- \ifstr{#3}{page}{\def\@tempb{ \vpageref{\@tempa}}}{}%
- \ifstr{#3}{ppage}{\def\@tempb{ \reftextfaraway{\@tempa}}}{}%
- \ifstr{#3}{full}{\def\@tempb{ in \fullref{\@tempa}}}{}%
- \ifstr{#3}{none}{%
- \let\@tempb\relax%
- \def\@tempc{\mbox{#1\IfValueT{#2}{#2}}}%
- }{}%
- }%
- \@tempc\@tempb%
- }{%
- \IfValueT{#3}{%
- \ClassWarning{tudscrman}{%
- No cross-reference created, label \@tempa\space is missing%
- }%
- }%
- \IfValueTF{#4}{%
- \ifstr{#4}{}{\mbox{#1\IfValueT{#2}{#2}}}{%
- \href{http://www.ctan.org/pkg/#4}{\mbox{#1\IfValueT{#2}{#2}}}%
- }%
- }{%
- \mbox{#1\IfValueT{#2}{#2}}%
- }%
- }%
- \fi%
- \let\@IndexFormat\relax%
-}
-\newrobustcmd*\hyperidx[2][]{\manualhyperref{#1}{#2}}
-\NewDocumentCommand\@HyperIndex{mmmmmm}{%
- \IfValueTF{#3}{\def\@tempa{#3}}{\def\@tempa{}}%
- \IfValueTF{#5}{\def\@tempb{#5}}{\def\@tempb{}}%
- \IfValueTF{#6}{\edef\@tempc{|#6}}{\def\@tempc{}}%
- \IfValueTF{#2}{%
- \ifcsdef{r@#1:#2:#4}{%
- \edef\@tempb{#1:#2:#4}%
- \index[#1]{%
- #2!\hyperidx[\@tempb]{\begingroup\expandonce\@tempa#4\endgroup}%
- ~{\idxfont(Parameter)}\expandonce\@tempc%
- }%
- \begingroup%
- \let\Environment\@firstofone%
- \def\Macro##1{\bsc##1}%
- \index[keys]{%
- \hyperidx[\@tempb]{%
- \begingroup\expandonce\@tempa#4\endgroup~{\idxfont(\texttt{#2})}%
- }%
- \expandonce\@tempc%
- }%
- \endgroup%
- }{%
- \index[#1]{%
- #2!\begingroup\expandonce\@tempa#4\endgroup%
- ~{\idxfont(Parameter)}\expandonce\@tempc%
- }%
- \index[keys]{%
- \begingroup\expandonce\@tempa#4\endgroup~{\idxfont(\texttt{#2})}%
- \expandonce\@tempc%
- }%
- }%
- }{%
- \ifcsdef{r@#1:#4}{%
- \index[#1]{%
- \hyperidx[#1:#4]{%
- \begingroup\expandonce\@tempa#4\endgroup\expandonce\@tempb%
- }%
- \expandonce\@tempc%
- }%
- }{%
- \index[#1]{%
- \begingroup\expandonce\@tempa#4\endgroup%
- \expandonce\@tempb\expandonce\@tempc%
- }%
- }%
- }%
-}
-\newcommand*\@declarationlist{}
-\let\@declarationlist\relax
-\newcommand*\@presetlist{}
-\let\@presetlist\relax
-\newif\if@presetlist
-\newcommand*\@additionallist{}
-\let\@additionallist\relax
-\newif\if@additionallist
-\newcommand*\@gobbleparameters{%
- \let\PName\@gobble%
- \let\PBoolean\@empty%
- \let\PBName\@gobble%
- \let\PSet\@empty%
- \let\PValue\@gobble%
- \let\Parameter\@gobble%
- \let\OParameter\@gobble%
- \let\LParameter\@empty%
- \let\OLParameter\@gobble%
- \let\PParameter\@gobble%
- \let\POParameter\@gobble%
-}
-\NewDocumentEnvironment{Declaration}{omoog}{%
- \listadd\@declarationlist{#2}%
- \@changedatdeclare{#1}{#2}%
- \IfValueTF{#3}{%
- \@presetlisttrue%
- \IfValueTF{#4}{%
- \def\@tempa[##1:##2]{##1:\,##2}%
- \listeadd\@presetlist{preset:\,#3\,|\,\expandonce{\@tempa[#4]}}%
- }{%
- \listadd\@presetlist{preset:\,#3}%
- }%
- }{%
- \listadd\@presetlist{\relax}%
- }%
- \IfValueTF{#5}{%
- \@additionallisttrue%
- \listadd\@additionallist{\hspace*{\tabcolsep}\small(#5)}%
- \in@{\Environment}{#2}%
- \ifin@\listadd\@additionallist{\tabularnewline}\fi%
- }{%
- \listadd\@additionallist{\relax}%
- \in@{\Environment}{#2}%
- \ifin@\listadd\@additionallist{\relax}\listadd\@additionallist{\relax}\fi%
- }%
-}{%
- \ifx\@declarationlist\relax\else%
- \ClassError{tudscrman}{\string\printdeclarationlist\space is missing}{%
- \string\@declarationlist\space is not empty. Did you forget\MessageBreak%
- to print this list with \string\printdeclarationlist?%
- }%
- \fi%
- \@gobbleparameters%
- \vskip-\lastskip%
- \@declaretrue\@openindexfalse#2\@declarefalse%
- \pagebreak[0]%
-}
-\NewDocumentCommand\printdeclarationlist{sod()}{%
- \ifx\@declarationlist\relax\else%
- \ifvmode\else\par\fi%
- \addpenalty{\@beginparpenalty}%
- \addvspace{1.5\baselineskipglue}%
- \IfBooleanTF{#1}{%
- \global\@deprecatedtrue%
- \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}|deprecated}%
- }{%
- \global\@deprecatedfalse%
- }%
- \IfValueT{#2}{%
- \if@additionallist%
- \ClassWarning{tudscrman}{%
- It is not possible to use the optional argument\MessageBreak%
- of \string\printdeclarationlist due to the given\MessageBreak%
- additional information as argument of the\MessageBreak%
- environment `Declaration'%
- }%
- \else%
- \@additionallisttrue%
- \let\@additionallist\relax%
- \protected@edef\@tempa{#2}%
- \protected@edef\@tempb{\hspace*{\tabcolsep}\protect\small}%
- \def\@tempc##1{%
- \listeadd\@additionallist{\expandonce\@tempb(\expandonce\@tempa)}%
- }%
- \forlistloop\@tempc{\@declarationlist}%
- \fi%
- }%
- \@declaretrue\@openindextrue%
- \@afterindentfalse\@afterheading%
- \def\@tempa##1{\ignorespaces##1\tabularnewline}%
- \edef\HyperRaiseLinkDefault{\the\baselineskip}%
- \setbox0\hbox{%
- \begin{tabular}{|l|}%
- \hline%
- \forlistloop\@tempa{\@declarationlist}%
- \hline%
- \end{tabular}%
- }\usebox0%
- \@declarefalse%
- \ifboolexpr{bool {@presetlist} or bool {@additionallist}}{%
- \if@presetlist%
- \qquad%
- \texttt{%
- \begin{tabular}{l@{}}%
- \forlistloop\@tempa{\@presetlist}%
- \end{tabular}%
- }%
- \fi%
- \if@additionallist%
- \begin{tabular}{@{}l@{}}%
- \forlistloop\@tempa{\@additionallist}%
- \end{tabular}%
- \fi%
- }{}%
- \global\let\@declarationlist\relax%
- \global\let\@presetlist\relax%
- \global\@presetlistfalse%
- \global\let\@additionallist\relax%
- \global\@additionallistfalse%
- \printchangedatlist*[%
- \dimexpr.5\ht\strutbox+.5\dp\strutbox-.5\ht0-.5\dp0\relax%
- ]%
- \IfValueT{#3}{#3}%
- \par\nobreak%
- \vskip 1.5\baselineskipglue%
- \@afterindentfalse\@afterheading%
- \fi%
-}
-\NewDocumentEnvironment{Declaration*}{om}{%
- \@changedatdeclare{#1}{#2}%
- \@stareddeclaretrue%
- \global\@deprecatedfalse%
- \@declaretrue\@openindextrue#2\@declarefalse%
- \@stareddeclarefalse%
-}{%
- \ifx\@changedatdeclarelist\relax\else%
- \ClassError{tudscrman}{\string\printchangedatlist\space is missing}{%
- \string\@changedatdeclarelist\space is not empty. Did you\MessageBreak%
- forget to print this list with \string\printchangedatlist?%
- }%
- \fi%
- \global\@deprecatedfalse%
- \@gobbleparameters%
- \@declaretrue\@openindexfalse#2\@declarefalse%
-}
-\newsavebox\tabularm@box
-\newlength\tabularm@wd
-\newcommand*\tabularm@num{1}
-\NewEnviron{tabularm}[1]{%
- \begin{lrbox}{\tabularm@box}%
- \let\allcolumnpar\@gobble%
- \begin{tabular}{*{#1}l}\BODY\end{tabular}%
- \end{lrbox}%
- \setlength\tabularm@wd{\wd\tabularm@box}%
- \def\tabularm@num{#1}%
- \let\allcolumnpar\@allcolumnpar%
- \begin{tabular}{*{#1}l}\BODY\end{tabular}%
-}
-\newcommand*\@allcolumnpar[1]{%
- \multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}%
-}
-\newlist{values}{description}{1}
-\setlist[values]{%
- topsep=.5\baselineskipglue,labelwidth=\columnwidth,labelsep=0pt,%
- font=\normalfont\ttfamily,before*=\before@values%
-}
-\newcommand*\itemvalues{}
-\newcommand*\before@values{%
- \ifdefvoid{\itemvalues}{%
- \let\itemvalues\item%
- \let\item\tud@item%
- \setlength\changedatskip{-\baselineskip}%
- }{}%
-}
-\newcommand*\itemfalse{\def\tud@item@val{false/off/no}\item}
-\newcommand*\itemtrue{\def\tud@item@val{true/on/yes}\item}
-\newcommand*\tud@item@val{}
-\newcommand*\tud@item@add{}
-\newcommand*\tud@item@format{}
-\newcommand*\tud@item{%
- \@ifstar{%
- \def\tud@item@add{(S\"aumniswert)}%
- \let\tud@item@format\emph%
- \tud@@item%
- }{%
- \let\tud@item@add\relax%
- \let\tud@item@format\relax%
- \tud@@item%
- }%
-}
-\newcommand*\tud@@item[1][]{%
- \ifblank{#1}%
- {\edef\@tempa{\tud@item@val}}%
- {\ifstr{\tud@item@val}{}%
- {\edef\@tempa{#1}}%
- {\edef\@tempa{\tud@item@val/#1}}%
- }%
- \def\tud@item@val{}%
- \ifstr{\@tempa}{}{\itemvalues}{\tud@@@item}%
-}
-\newcommand*\tud@@@item[1][]{%
- \ifblank{#1}{}{%
- \ifx\tud@item@add\relax%
- \def\tud@item@add{#1}%
- \else%
- \appto\tud@item@add{~#1}%
- \fi%
- }%
- \itemvalues[%
- \tud@item@format{\@tempa:}%
- \ifx\tud@item@add\relax\else%
- {\normalfont\space\footnotesize\tud@item@add}%
- \fi%
- ]%
-}
-\newenvironment{Example}{\@nameuse{Example*}}{%
- \@nameuse{endExample*}%
- \addvspace{-\topsep}%
-}
-\newenvironment{Example*}{%
- \labeling{{\usekomafont{disposition}Beispiel:\ }}%
- \item[{\usekomafont{disposition}Beispiel:\ }]%
-}{%
- \endlabeling%
-}
-\lstnewenvironment{Code}[1][]{\lstset{style=tudscr,#1}}{}
-\newcommand*\tud@currentHref{}
-\BeforeBeginEnvironment{Code}{\global\let\tud@currentHref\@currentHref}
-\AfterEndEnvironment{Code}{\global\let\@currentHref\tud@currentHref}
-\newlist{packages}{description}{2}
-\setlist[packages]{%
- topsep=\medskipamount,labelwidth=\linewidth,labelsep=0pt,font=\normalfont,%
- parsep=\parskip,listparindent=\parindent,before=\before@packages%
-}
-\newcommand*\itempackages{}
-\newcommand*\before@packages{%
- \ifdefvoid{\itempackages}{%
- \let\itempackages\item%
- \let\item\tud@item@pkg%
- \setlength\changedatskip{-\baselineskip}%
- }{}%
-}
-\NewDocumentCommand\tud@item@pkg{od()od''}{%
- \itempackages[{%
- \IfValueT{#1}{%
- \manualhyperdef{files:#1}%
- \IfValueTF{#2}{%
- \def\@tempa{http://www.ctan.org/pkg/#2}%
- }{%
- \def\@tempa{http://www.ctan.org/pkg/#1}%
- }%
- \href{\@tempa}{\Package{#1}'none'|!|}%
- \IfValueT{#3}{%
- \quad(%
- \let\@tempb\relax%
- \@for\@tempa:=#3\do{%
- \@tempb%
- \manualhyperdef{files:\@tempa}%
- \expandafter\Package\expandafter{\@tempa}'none'|!|%
- \def\@tempb{, }%
- }%
- )%
- }%
- \IfValueT{#4}{%
- \quad(%
- \let\@tempb\relax%
- \@for\@tempa:=#4\do{%
- \@tempb%
- \manualhyperdef{files:\@tempa}%
- \href{http://www.ctan.org/pkg/\@tempa}{%
- \expandafter\Package\expandafter{\@tempa}'none'|!|%
- }%
- \def\@tempb{, }%
- }%
- )%
- }%
- }%
- }]%
-}
-\newcommand*\@changedatdeclarelist{}
-\let\@changedatdeclarelist\relax
-\newcommand*\@changedatdeclaredefault{\emph{neu}}
-\newcommand*\@changedatdeclare[2]{%
- \IfValueT{#1}{%
- \@for\@tempa:=#1\do{%
- \ifx\@tempa\@empty\else%
- \preto{\@tempa}{#2!}%
- \expandafter\ChangedAt@Split\expandafter{\@tempa}%
- \fi%
- }%
- }%
-}
-\NewDocumentCommand\ChangedAt@Split{>{\SplitArgument{2}{!}}m}{%
- \ChangedAt@@Split#1%
-}
-\newcommand*\ChangedAt@@Split[3]{%
- \in@{*}{#1}%
- \ifin@%
- \listadd\@changedatdeclarelist{Allgemein!#2}%
- \else%
- \listadd\@changedatdeclarelist{%
- Implementierung!#2!\IfValueTF{#3}{#3}{\@changedatdeclaredefault}!#1%
- }%
- \fi%
-}
-\NewDocumentCommand\printchangedatlist{sO{\z@}}{%
- \ifx\@changedatdeclarelist\relax\else%
- \if@deprecated%
- \ChangedAt@Process[#1]{#2}{\@changedatdeclarelist}%
- \else%
- \ChangedAt@Process{#2}{\@changedatdeclarelist}%
- \fi%
- \global\let\@changedatdeclarelist\relax%
- \IfBooleanF{#1}{%
- \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax%
- \@afterindentfalse\@afterheading%
- }%
- \fi%
-}
-\newlength\changedatskip
-\NewDocumentCommand\ChangedAt{sO{\changedatskip}mO{Allgemein}}{%
- \ChangedAt@Process[#1]{#2}[#4]{#3}%
-}
-\newcommand*\@changedatlist{}
-\newcommand*\ChangedAt@Default{}
-\newcommand*\@changedatversionlist{}
-\let\@changedatversionlist\relax
-\NewDocumentCommand\ChangedAt@Process{omom}{%
- \let\@changedatlist\relax%
- \let\@changedatversionlist\relax%
- \@for\@tempa:=#4\do{%
- \ifx\@tempa\@empty\else%
- \IfValueT{#3}{\preto\@tempa{#3!}}%
- \listeadd{\@changedatlist}{\expandonce\@tempa}%
- \fi%
- }%
- \forlistloop\ChangedAt@Process@Split{\@changedatlist}%
- \IfBooleanF{#1}{%
- \sortlist{\@changedatversionlist}%
- \strut%
- \marginnote{%
- \def\@tempa####1{%
- \ignorespaces\manualhyperref{####1}{####1}\tabularnewline%
- }%
- \begin{tabular}{|l|}%
- \hline%
- \forlistloop\@tempa{\@changedatversionlist}%
- \hline%
- \end{tabular}%
- }[#2]%
- \ignorespaces%
- }%
-}
-\NewDocumentCommand\ChangedAt@Process@Split{>{\SplitArgument{3}{!}}m}{%
- \ChangedAt@@Process#1%
-}
-\newcommand*\ChangedAt@@Process[4]{%
- \IfValueTF{#4}{%
- \begingroup%
- \@gobbleparameters%
- \xdef\ChangedAt@Default{#4}%
- \endgroup%
- \ChangedAt@@@Process{#2}{#1}{\ChangedAt@Default: #3}%
- }{%
- \IfValueT{#3}{\ChangedAt@@@Process{#2}{#1}{#3}}%
- }%
- \xifinlist{#2}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#2}}%
-}
-\newcommand*\ChangedAt@@@Process[3]{%
- \begingroup%
- \def\@tempa{#3}%
- \in@{\ChangedAt@Default}{#3}%
- \ifin@%
- \expandafter\def\expandafter\@tempa\expandafter{\ChangedAt@Default}%
- \fi%
- \expandafter\in@\expandafter\Key\expandafter{\@tempa}%
- \ifin@%
- \begingroup%
- \RenewDocumentCommand\Key{sommo}{\xdef\@TempKey{##3:}}%
- \setbox0\hbox{#3}%
- \endgroup%
- \index[changelog]{%
- #1\manualhyperdef*{#1}!\manualhyperdef*{#1:#2}#2!\@TempKey\ #3%
- }%
- \else%
- \index[changelog]{%
- #1\manualhyperdef*{#1}!\manualhyperdef*{#1:#2}#2!#3%
- }%
- \fi%
- \endgroup%
-}
-\NewDocumentCommand\Replace{ommm}{%
- \@for\@tempa:={,#4}\do{%
- \ifx\@tempa\@empty\else%
- \protected@edef\@tempb{%
- Implementierung!#2!\emph{entf\"allt}|see{#3}!\@tempa%
- }%
- \expandafter\listadd\expandafter\@changedatdeclarelist\expandafter{%
- \@tempb%
- }%
- \IfValueT{#1}{\index[#1]{\@tempa|see{#3}}}%
- \fi%
- }%
-}
-\NewDocumentCommand\@ProcessChangedAt{mmd()mmm}{%
- \begingroup%
- \let\texttt\@firstofone%
- \let\textsbn\@firstofone%
- \let\textsbs\@firstofone%
- \let\Environment\@firstofone%
- \let\Macro\@firstofone%
- \IfValueTF{#3}{\xdef\@tempa{#2:#3:#5}}{\xdef\@tempa{#2:#5}}%
- \endgroup%
- \IfBooleanTF{#1}{%
- \def\@tempb{\begingroup#4#5\endgroup}%
- }{%
- \def\@tempb{\begingroup#4#5\endgroup~{\idxfont(#6)}}%
- }%
- \ifcsdef{r@\@tempa}{\hyperidx[\@tempa]{\@tempb}}{\@tempb}%
-}
-\newif\if@listsorted
-\newcommand*\@sortedlist{}
-\newcommand*\sortlist[1]{%
- \let\@sortedlist\relax%
- \forlistloop\@sortlist{#1}%
- \let#1\relax%
- \@for\@tempa:=\@sortedlist\do{\listeadd{#1}{\@tempa}}%
-}
-\newcommand*\@sortlist[1]{%
- \ifx\@sortedlist\relax%
- \def\@sortedlist{#1}%
- \else%
- \@listsortedfalse%
- \let\@tempb\@empty%
- \@for\@tempa:=\@sortedlist\do{%
- \if@listsorted%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}%
- \else%
- \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<\z@\relax%
- \ifx\@tempb\@empty%
- \expandafter\edef\expandafter\@tempb\expandafter{%
- #1,\@tempa%
- }%
- \else%
- \expandafter\edef\expandafter\@tempb\expandafter{%
- \@tempb,#1,\@tempa%
- }%
- \fi%
- \@listsortedtrue%
- \else%
- \ifx\@tempb\@empty%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempa}%
- \else%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}%
- \fi%
- \fi%
- \fi%
- }%
- \if@listsorted\else%
- \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,#1}%
- \fi%
- \let\@sortedlist\@tempb%
- \fi%
-}
-\newcommand*\idxfont{}
-\let\idxfont\footnotesize
-\robustify{\idxfont}
-\newcommand*\PrintIndex{%
- \begingroup%
- \@printindex%
- \@printindex[options]%
- \@printindex[macros]%
- \@printindex[keys]%
- \@printindex[terms]%
- \@printindex[fonts]%
- \begingroup%
- \let\lettergroup\@gobble%
- \let\indexspace\par%
- \@printindex[colors]%
- \endgroup%
- \@printindex[files]%
- \endgroup%
-}
-\newcommand*\PrintIndexPrologue[1]{\long\gdef\@printindexprologue{#1}}
-\newcommand*\@printindexprologue{}
-\newcommand*\@printindexskip{%
- \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
-}
-\newcommand*\@printindex[1][]{%
- \pagebreak[3]%
- \ifblank{#1}{%
- \ifx\@printindexprologue\@empty%
- \indexprologue[\@printindexskip]{\manualhyperdef'{idx:main}}%
- \else%
- \indexprologue{%
- \manualhyperdef'{idx:main}%
- \@printindexprologue%
- }%
- \fi%
- \printindex\@printindexskip%
- \let\@printindexprologue\@empty%
- }{%
- \indexprologue[\@printindexskip]{\manualhyperdef'{idx:#1}}%
- \printindex[#1]\@printindexskip%
- }%
-}
-\newcommand*\seeidx[2]{\pageref{idx:#1}}
-\NewDocumentCommand\Index{mom}{%
- \index{%
- #1!\textrightarrow{}\space%
- \manualhyperref{idx:#3}{Index der \IfValueTF{#2}{#2}{#1}}|seeidx{#3}%
- }%
-}
-\newcommand*\deprecatedhyperpage{}
-\newif\if@changelog
-\newcommand*\PrintChangelog{%
- \begingroup%
- \let\lettergroup\@gobble%
- \@changelogtrue%
- \let\deprecatedhyperpage\hyperpage%
- \preto\item{\let\deprecatedhyperpage\hyperpage}%
- \preto\subitem{\let\deprecatedhyperpage\hyperpage}%
- \preto\subsubitem{\let\deprecatedhyperpage\hyperpage}%
- \@printindex[changelog]%
- \endgroup%
-}
-\NewDocumentCommand\Changelog{m}{%
- \index{%
- #1!\textrightarrow{}\space%
- \manualhyperref{idx:changelog}{\"Anderungsliste}|seeidx{changelog}%
- }%
-}
-\renewrobustcmd*\see[2]{%
- \ifstr{#1}{*}{\emph{\seename}~#2}{\emph{\seename}~#1}%
- \if@changelog\let\deprecatedhyperpage\@gobble\fi%
-}
-\renewrobustcmd*\seealso[2]{%
- \ifstr{#1}{*}{\emph{\alsoname}~#2}{\emph{\alsoname}~#1}%
-}
-\RequirePackage{xspace}[2009/10/20]
-\xspaceaddexceptions{"=}
-\newcommand*\vTUDScript{}
-\AtBeginDocument{%
- \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}%
- \edef\@tempa{\TUDVersion}%
- \expandafter\@tempb\@tempa\relax? ? \relax\relax%
-}
-\newcommand*\vKOMAScript{v3.17\xspace}
-\RequirePackage{scrhack}[2014/02/27]
-\newcommand*\CD{Corporate Design\xspace}
-\newcommand*\CDs{Corporate Designs\xspace}
-\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
-\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
-\newcommand*\DDC{%
- \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em
- N\kern.1em-\kern.1em concept}\xspace%
-}
-\AfterPackage*{babel}{%
- \@expandtwoargs\in@{,english,}{,\bbl@loaded,}%
- \ifin@%
- \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace}
- \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace}
- \fi
-}
-\newcommand*\Univers{\textubn{Univers}\xspace}
-\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace}
-\newcommand*\textsbn{}
-\newcommand*\sbnfont{\sffamily\bfseries\upshape}
-\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape}
-\newcommand*\textsbs{}
-\newcommand*\sbsfont{\sffamily\bfseries\slshape}
-\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape}
-\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}}
-\NewDocumentCommand\Forum{s}{%
- \IfBooleanTF{#1}{%
- \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- }{%
- \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}%
- }%
- \xspace%
-}
-\NewDocumentCommand\GitHubRepo{s}{%
- \def\@tempc{%
- https://github.com/tud-cd/tudscr/releases%
- }%
- \IfBooleanTF{#1}{%
- \href{\@tempc}{GitHub-Repository~\File*{tudscr}}%
- }{%
- \hrfn{\@tempc}{GitHub-Repository~\File*{tudscr}}%
- }%
- \xspace%
-}
-\newcommand*\notudscrartcl{%
- F\"ur die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verf\"ugbar.
-}
-\newlength\tempdim
-\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scalebox{0.97}{\url{#1}}}}
-\NewDocumentCommand\scrguide{s}{%
- \def\@tempc{%
- http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf%
- }%
- \IfBooleanTF{#1}{%
- \href{\@tempc}{\File{scrguide.pdf}}%
- }{%
- \hrfn{\@tempc}{\File{scrguide.pdf}}%
- }%
- \xspace%
-}
-\endinput
-%%
-%% End of file `tudscrman.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty
deleted file mode 100644
index b0808547369..00000000000
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty
+++ /dev/null
@@ -1,779 +0,0 @@
-%%
-%% This is file `tudscrman.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% tudscr-version.dtx (with options: `package,manual')
-%% tudscr-manual.dtx (with options: `package,identify')
-%% tudscr-base.dtx (with options: `load')
-%% tudscr-manual.dtx (with options: `package,option')
-%% tudscr-misc.dtx
-%% tudscr-manual.dtx (with options: `package,body')
-%%
-%% ============================================================================
-%%
-%% TUD-KOMA-Script
-%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
-%%
-%% ============================================================================
-%%
-%% This work may be distributed and/or modified under the conditions of the
-%% LaTeX Project Public License, version 1.3c of the license. The latest
-%% version of this license is in http://www.latex-project.org/lppl.txt and
-%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
-%% or later and of this work. This work has the LPPL maintenance status
-%% "author-maintained". The current maintainer and author of this work
-%% is Falk Hanisch.
-%%
-%% ----------------------------------------------------------------------------
-%%
-%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
-%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
-%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
-%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
-%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
-%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
-%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
-%%
-%% ============================================================================
-%%
-%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
- \def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
- \@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
- but `#1' was expected!\MessageBreak%
- You should not use classes, packages or files from\MessageBreak%
- different TUD-KOMA-Script-Bundle versions%
- }%
- \fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
-\providecommand*\tudscrmail{tudscr@gmail.com}
-\@ifundefined{TUDClassName}{%
- \PackageError{%
- tudscrman%
- }{Unsupported class found}{%
- This package can only be used with a class out of the\MessageBreak%
- tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl).%
- }
- \endinput
-}{}
-\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
- \ifdin{TUD-KOMA-SCRIPT}{%
- \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
- }\csname xspace\endcsname%
- }%
-}{}
-%%% From File: tudscr-manual.dtx
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tudscrman}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
- package (internal tutorials)%
-]
-%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUDVersion]
-%%% From File: tudscr-manual.dtx
-\newif\if@tud@todo
-\@tud@todotrue
-\newcommand*\tud@todo@type{}
-\TUD@key{ToDo}[true]{%
- \TUD@set@ifkey{ToDo}{@tud@todo}{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \let\tud@todo@type\relax%
- \else%
- \def\tud@todo@type{#1}%
- \@tud@todotrue%
- \FamilyKeyStateProcessed%
- \fi%
-}
-\KOMAoptions{headings=small}
-\TUDoptions{cd=true,cdfoot=true}
-\AfterPackage*{pstricks}{%
- \ifnum\pdfshellescape=\@ne\relax\else%
- \PassOptionsToPackage{off}{auto-pst-pdf}%
- \fi%
- \RequirePackage{auto-pst-pdf}[2009/04/26]%
-}
-%%% From File: tudscr-misc.dtx
-%%% From File: tudscr-manual.dtx
-\RequirePackage{xparse}[2013/12/31]
-\RequirePackage{textcomp}[2005/09/27]
-\RequirePackage{setspace}[2011/12/19]
-\setstretch{1.1}\recalctypearea
-\RequirePackage{babel}[2014/03/24]
-\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
-\AtBeginDocument{%
- \@ifpackageloaded{csquotes}{}{%
- \PackageWarning%
- {tudscrman}{Package `csquotes' not loaded}%
- \providecommand\enquote[1]{\glqg#1\grqq{}}%
- }%
-}
-\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]}
-\newlength\baselineskipglue
-\AtBeginDocument{%
- \setlength\baselineskipglue{%
- .4\baselineskip plus .4\baselineskip minus .2\baselineskip%
- }%
-}
-\PassOptionsToPackage{vskip=.5\baselineskipglue}{quoting}
-\RequirePackage{quoting}[2014/01/28]
-\RequirePackage{isodate}[2010/01/03]
-\RequirePackage{hologo}[2012/04/26]
-\RequirePackage{marginnote}[2012/03/29]
-\RequirePackage{listings}[2014/03/04]
-\lstdefinestyle{tudscr}{%
- basicstyle=\ttfamily\setstretch{1},%
- keywordstyle=,%
- columns=fullflexible,keepspaces,%
- aboveskip=.5\baselineskipglue,%
- belowskip=.5\baselineskipglue,%
- language=[LaTeX]TeX,%
- texcl,%
-}
-\RequirePackage{silence}[2012/07/02]
-\RequirePackage{filemod}[2011/09/19]
-\RequirePackage{ifpdf}[2011/01/30]
-\ifpdf
- \PassOptionsToPackage{colorinlistoftodos,obeyFinal,color=HKS92!10}{todonotes}
- \RequirePackage{todonotes}[2012/07/25]
-\else
- \TUDoptions{ToDo=false}
-\fi
-\WarningFilter*{ifplatform}{^^J \space\space\space shell escape is disabled}
-\RequirePackage{ifplatform}[2010/10/22]
-\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref}
-\PassOptionsToPackage{open,openlevel=0}{bookmark}
-\AtBeginDocument{%
- \RequirePackage{hyperref}[2012/11/06]
- \RequirePackage{bookmark}[2011/12/02]
- \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}
- \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}
- \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}
- \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}
- \newcommand*\autorefname[1][current]{%
- \ifstr{#1}{current}{%
- \expandafter\HyPsd@@autorefname\@currentHref\@nil%
- }{%
- \@autorefname\HyPsd@@autorefname{#1}%
- }%
- \unskip\xspace%
- }
- \newcommand*\@autorefname[2]{%
- \expandafter\ifx\csname r@#2\endcsname\relax%
- ??%
- \else%
- \expandafter\expandafter\expandafter\@@autorefname%
- \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil%
- \fi%
- }
- \newcommand*\@@autorefname{}
- \def\@@autorefname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil}
- \newcommand*\manualhyperref[2]{\hyperref{../tudscr}{tudscr}{#1}{#2}}
-}
-\PassOptionsToPackage{xindy,splitindex}{imakeidx}
-\RequirePackage{imakeidx}[2013/07/11]%
-\indexsetup{%
- level=\subsection*,%
- noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},%
- othercode={\renewcommand*\subitem{\@idxitem\hspace*{15\p@}}}%
-}
-\newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din}
-\newcommand*\tud@write@i{}
-\newwrite\tud@write@i
-\newcommand*\tud@write@ii{}
-\newwrite\tud@write@ii
-\newcommand*\tud@read{}
-\newread\tud@read
-\openout\tud@write@i=tudscrman-temp.xdy
-\write\tud@write@i{(require "texindy.xdy")}
-\write\tud@write@i{%
-(define-location-class^^J%
-\space\space "arabic-page-numbers" ("arabic-numbers") :min-range-length 1^^J%
-)%
-}
-\write\tud@write@i{(markup-range :sep "--")}
-\write\tud@write@i{%
-(merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
-}
-\write\tud@write@i{%
-(define-attributes (("declare" "!" "important" "?" "deprecated" "default")))%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "declare"^^J%
-\space\space :open "\string\textbf{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "!"^^J%
-\space\space :open "\string\textbf{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "important"^^J%
-\space\space :open "\string\textsl{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "?"^^J%
-\space\space :open "\string\textsl{\string\hyperpage{"^^J%
-\space\space :close "}}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "default"^^J%
-\space\space :open "\string\hyperpage{"^^J%
-\space\space :close "}"^^J%
-)%
-}
-\write\tud@write@i{%
-(markup-locref^^J%
-\space\space :attr "deprecated"^^J%
-\space\space :open "\string\deprecatedhyperpage{"^^J%
-\space\space :close "}"^^J%
-)%
-}
-\write\tud@write@i{%
- (markup-locclass-list :open "\string\,\string\dotfill\string\,")%
-}
-\write\tud@write@i{(define-crossref-class "seeidx")}
-\write\tud@write@i{%
-(markup-crossref-list^^J%
-\space\space :class "seeidx" :open "\string\seeidx{" :sep "; " :close "}{}"^^J%
-)%
-}
-\closeout\tud@write@i
-\makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]%
-\makeindex[%
- title={Umgebungen, Befehle und Seitenstile},name=macros,options=\xdyopt%
-]%
-\makeindex[title={Klassen, Pakete und Dateien},name=files,options=\xdyopt]%
-\RequirePackage{scrwfile}[2013/08/05]
-\RequirePackage{filecontents}[2011/10/08]
-\WarningFilter[Tutorial]{latex}{Overwriting file}%
-\newrobustcmd*\textOR{\,\textbardbl\,}
-\newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}}
-\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}}
-\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}}
-\newrobustcmd*\PSet{\PName{Einstellung}}
-\newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}}
-\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}}
-\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}}
-\newrobustcmd*\OLParameter[1]{%
- \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}%
-}
-\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}}
-\newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}}
-\newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}}
-\newcommand*\Tutorial[1]{\href{#1.pdf}{\textsbn{#1.pdf}}}
-\newcommand*\@ToDo{}
-\NewDocumentCommand\ToDo{somo}{%
- \ifbool{@tud@todo}{%
- \begingroup%
- \define@boolkey{todonotes}{doc}[true]{%
- \ifbool{KV@todonotes@doc}{\setkeys{todonotes}{color=HKS41!10}}{}%
- }%
- \define@boolkey{todonotes}{rls}[true]{%
- \ifbool{KV@todonotes@rls}{\setkeys{todonotes}{color=HKS44!50}}{}%
- }%
- \define@boolkey{todonotes}{imp}[true]{%
- \ifbool{KV@todonotes@imp}{\setkeys{todonotes}{color=HKS07!50}}{}%
- }%
- \define@boolkey{todonotes}{nxt}[true]{%
- \ifbool{KV@todonotes@nxt}{\setkeys{todonotes}{color=HKS57!50}}{}%
- }%
- \def\@ToDo{}%
- \IfValueTF{#2}{%
- \IfBooleanTF{#1}{\edef\@ToDo{#2,nolist}}{\edef\@ToDo{#2}}%
- }{%
- \IfBooleanT{#1}{\edef\@ToDo{nolist}}%
- }%
- \renewcommand*\marginpar[2][]{%
- \marginnote[##1]{##2}[\dimexpr-1.6ex+1pt\relax]%
- }%
- \@tempswafalse
- \ifdefvoid{\tud@todo@type}{\@tempswatrue}{}%
- \IfValueT{#2}{%
- \@for\@tempa:=#2\do{\ifstr{\@tempa}{\tud@todo@type}{\@tempswatrue}{}}%
- }%
- \if@tempswa%
- \vskip.8ex%
- \IfValueT{#4}{%
- \settowidth\marginparwidth{#4}%
- \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}%
- \let\par\relax\noindent%
- \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}%
- \@tempa{#4}%
- }%
- \edef\@tempa{\noexpand\todo[\@ToDo,inline]}%
- \@tempa{#3}%
- \fi%
- \endgroup%
- \par\noindent%
- }{}%
- \ignorespaces%
-}
-\newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi}
-\reversemarginpar
-\newrobustcmd*\bsc{\@backslashchar}
-\newcommand*\tud@shellescape@wrn{%
- \PackageWarning%
- {tudscrman}{%
- You have to recompile this document with\MessageBreak%
- activated shell escape option%
- }%
- \global\let\tud@shellescape@wrn\relax%
-}
-\newcommand*\pdfexpandableoutline[1]{%
- \AfterPackage*{hyperref}{\pdfstringdefDisableCommands{\csletcs{#1}{@#1}}}
-}
-\newcommand*\@TUDScript{TUD-KOMA-Script}
-\pdfexpandableoutline{TUDScript}
-\newcommand*\Application[1]{\ifdin{#1}{\mbox{\textsbs{#1}}}}
-\newcommand*\Distribution[1]{\ifdin{#1}{\mbox{\textsbn{#1}}}}
-\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}}
-\newcommand*\File[1]{\ifdin{#1}{\mbox{\textsbn{#1}}}}
-\NewDocumentCommand\Class{sm}{%
- \ifdin{#2}{%
- \IfBooleanTF{#1}{%
- \manualhyperref{files:#2}{\textsbn{#2}}%
- }{%
- \textsbn{#2}%
- }%
- \index[files]{\begingroup\protect\sbnfont#2\endgroup~{\idxfont(Klasse)}}%
- }%
-}
-\DeclareExpandableDocumentCommand\@Class{sm}{#2}
-\pdfexpandableoutline{Class}
-\NewDocumentCommand\Package{smd()}{%
- \ifdin{#2}{%
- \IfBooleanTF{#1}{%
- \manualhyperref{files:#2}{\textsbn{#2}}%
- }{%
- \IfValueTF{#3}{%
- \href{http://www.ctan.org/pkg/#3}{\textsbn{#2}}%
- }{%
- \href{http://www.ctan.org/pkg/#2}{\textsbn{#2}}%
- }%
- }%
- \index[files]{\begingroup\protect\sbnfont#2\endgroup~{\idxfont(Paket)}}%
- }%
-}
-\DeclareExpandableDocumentCommand\@Package{sm}{#2}
-\pdfexpandableoutline{Package}
-\NewDocumentCommand\Option{smo}{%
- \ifdin{#2}{%
- \IfBooleanTF{#1}{%
- \manualhyperref{options:#2}{\texttt{#2}}\IfValueT{#3}{\texttt{=#3}}%
- }{%
- \texttt{#2}\IfValueT{#3}{\texttt{=#3}}%
- }%
- \index[options]{\begingroup\ttfamily#2\endgroup}%
- }%
-}
-\DeclareExpandableDocumentCommand\@Option{sm}{#2}
-\pdfexpandableoutline{Option}
-\NewDocumentCommand\Environment{sm}{%
- \ifdin{#2}{%
- \IfBooleanTF{#1}{%
- \manualhyperref{macros:#2}{\texttt{#2}}%
- }{%
- \texttt{#2}%
- }%
- \index[macros]{\begingroup\ttfamily#2\endgroup}%
- }%
-}
-\DeclareExpandableDocumentCommand\@Environment{sm}{#2}
-\pdfexpandableoutline{Environment}%
-\NewDocumentCommand\Macro{sm}{%
- \ifdin{\bsc#2}{%
- \IfBooleanTF{#1}{%
- \manualhyperref{macros:#2}{\texttt{\bsc#2}}%
- }{%
- \texttt{\bsc#2}%
- }%
- \index[macros]{\begingroup\ttfamily\bsc#2\endgroup}%
- }%
-}
-\DeclareExpandableDocumentCommand\@Macro{sm}{#2}
-\NewDocumentCommand\Length{sm}{%
- \ifdin{\bsc#2}{%
- \IfBooleanTF{#1}{%
- \manualhyperref{macros:#2}{\texttt{\bsc#2}}%
- }{%
- \texttt{\bsc#2}%
- }%
- \index[macros]{\begingroup\ttfamily\bsc#2\endgroup~{\idxfont(L\"ange)}}%
- }%
-}
-\newenvironment{Preamble}{\tud@tut@pre}{%
- \tud@tut@post%
- \tud@tut@append{\tud@write@i}%
- \gdef\@tempa{%
- \tud@tut@lst%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Preamble*}{\tud@tut@pre}{%
- \tud@tut@post%
- \tud@tut@append{\tud@write@i}%
- \gdef\@tempa{%
- \tud@tut@lst%
- \tud@tut@input%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Preamble+}{\tud@tut@pre}{%
- \tud@tut@post%
- \tud@tut@append{\tud@write@i}%
- \gdef\@tempa{%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Trunk}{\tud@tut@pre}{%
- \tud@tut@post%
- \tud@tut@append{\tud@write@ii}%
- \gdef\@tempa{%
- \tud@tut@lst%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Trunk*}{\tud@tut@pre}{%
- \tud@tut@post%
- \tud@tut@append{\tud@write@ii}%
- \gdef\@tempa{%
- \tud@tut@lst%
- \tud@tut@input%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Trunk+}{\tud@tut@pre}{%
- \tud@tut@post%
- \tud@tut@append{\tud@write@ii}%
- \gdef\@tempa{%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Trunk!}[1]{%
- \gdef\@StandaloneFile{#1}%
- \tud@tut@pre%
-}{%
- \tud@tut@post%
- \tud@tut@append{\tud@write@ii}%
- \gdef\@tempa{%
- \tud@tut@lst%
- \tud@tut@pdf%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Hint}{\tud@tut@pre}{%
- \tud@tut@post%
- \gdef\@tempa{%
- \tud@tut@lst%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Hint*}{\tud@tut@pre}{%
- \tud@tut@post%
- \gdef\@tempa{%
- \tud@tut@lst%
- \tud@tut@input%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Hint?}{\tud@tut@pre}{%
- \tud@tut@post%
- \gdef\@tempa{%
- \InputCode%
- \tud@tut@lst%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newenvironment{Hint!}[1]{%
- \gdef\@StandaloneFile{#1}%
- \tud@tut@pre%
-}{%
- \tud@tut@post%
- \gdef\@tempa{%
- \tud@tut@lst%
- \tud@tut@pdf%
- \global\let\@CodePreamble\relax%
- }%
- \aftergroup\@tempa%
-}
-\newcommand*\@StandaloneFile{}
-\let\@StandaloneFile\relax
-\newcommand*\tud@tut@pre{%
- \ActivateWarningFilters[Tutorial]%
- \@nameuse{filecontents*}{\jobname-temp.tex}%
-}
-\newcommand*\tud@tut@post{%
- \@nameuse{endfilecontents*}%
- \DeactivateWarningFilters[Tutorial]%
-}
-\newcommand*\tud@tut@lst{%
- \begin{quoting}[rightmargin=0pt]%
- \lstinputlisting[style=tudscr]{\jobname-temp.tex}%
- \end{quoting}%
-}
-\newcommand\@CodePreamble{}
-\let\@CodePreamble\relax
-\newcommand\CodePreamble[1]{\long\gdef\@CodePreamble{#1}}
-\newcommand*\@CodeHook{}
-\let\@CodeHook\relax
-\newcommand*\CodeHook[1]{\gdef\@CodeHook{#1}}%
-\newcommand*\tud@tut@input{%
- \def\@tempa##1##2{%
- ##1%
- \begingroup%
- ##2%
- \setbox\@tempboxa\hbox{\vbox{##1}}%
- \@tempdima=\ht\@tempboxa%
- \setbox\@tempboxa\box\voidb@x%
- \ifdim\@tempdima>\z@\relax%
- \endgraf%
- \vspace{\baselineskipglue}%
- \noindent\ignorespaces%
- \fi%
- \endgroup%
- }%
- \@tempa{\@CodePreamble}{}%
- \setlength\@tempdimc{\leftskip}%
- \setlength\leftskip{\leftmargin}%
- \ActivateWarningFilters[Tutorial]%
- \@tempa{\input{\jobname-temp.tex}}{\@CodeHook}%
- \DeactivateWarningFilters[Tutorial]%
- \global\let\@CodeHook\relax%
- \setlength\leftskip{\@tempdimc}%
- \noindent\ignorespaces%
-}
-\newcommand*\InputCode{\input{\jobname-temp.tex}}
-\ifnum\pdfshellescape=\@ne\relax%
-\ActivateWarningFilters[Tutorial]%
-\begin{filecontents*}{tutorial-temp.tex}
-\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
-\documentclass[english,ngerman]{tudscrreprt}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{babel}
-\usepackage{tudscrsupervisor}
-\usepackage{isodate}
-\usepackage{enumitem}
-\setlist{noitemsep}
-\begin{document}
-\input{\jobname.tex}
-\end{document}
-\end{filecontents*}
-\DeactivateWarningFilters[Tutorial]%
-\fi
-\newcommand*\tud@tut@pdf{%
- \ifnum\pdfshellescape=\@ne\relax%
- \immediate\write18{%
- pdflatex -jobname=\jobname-temp tutorial-temp.tex
- pdflatex -jobname=\jobname-temp tutorial-temp.tex
- pdflatex -jobname=\jobname-temp tutorial-temp.tex
- }%
- \ifwindows%
- \immediate\write18{rename \jobname-temp.pdf \@StandaloneFile-temp.pdf}%
- \else%
- \immediate\write18{mv \jobname-temp.pdf \@StandaloneFile-temp.pdf}%
- \fi%
- \fi%
- \global\let\@StandaloneFile\relax%
-}
-\NewDocumentCommand\IncludeStandalone{omO{1}}{%
- \IfFileExists{#2-temp.pdf}{%
- \@tempcnta\z@%
- \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}%
- \ifnum\@tempcnta>\z@\relax%
- \setlength\@tempdima{\textwidth}%
- \divide\@tempdima\@tempcnta%
- \advance\@tempcnta\m@ne%
- \multiply\@tempcnta 2%
- \addtolength\@tempdima{-\@tempcnta\tabcolsep}%
- \@for\@tempa:=#3\do{%
- \advance\@tempcnta\m@ne%
- \edef\@tempb{%
- keepaspectratio,page=\@tempa,width=\the\@tempdima,%
- \IfValueT{#1}{#1}%
- }
- \fbox{\expandafter\includegraphics\expandafter[\@tempb]{#2-temp.pdf}}%
- \ifnum\@tempcnta>\z@\relax\hfill\fi%
- }%
- \fi%
- }{%
- \tud@shellescape@wrn%
- }%
-}
-\newcommand\StartTutorial[1][%
- Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse
- als auch die f\"ur jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach
- sinnvollen Pakete geladen.
-]{%
- \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}%
- \faculty{}%
- \setlength\headingsvskip{-15mm}%
- \maketitle\noindent#1%
- \immediate\openout\tud@write@i=\jobname-preamble-temp.tex\relax
- \immediate\openout\tud@write@ii=\jobname-trunk-temp.tex\relax
- \immediate\write\tud@write@ii{^^J\string\begin{document}^^J}
-}
-\newcommand\FinishTutorial[1][]{%
- \immediate\write\tud@write@ii{^^J\string\end{document}^^J}
- \immediate\closeout\tud@write@ii%
- \immediate\closeout\tud@write@i%
- \tud@tut@collect%
- \clearpage%
- \addsec{Copy~\&~Paste}%
- \pagestyle{empty}%
- Zum Ende des Dokumentes wird das vorgestellte Tutorial als \"ubersetzbarer
- Quelltext ausgegeben, um dieses via Copy~\&~Paste verwenden und alle Punkte
- nachvollziehen zu k\"onnen. Bitte beachten Sie, dass~-- abh\"angig vom
- genutzten PDF-Betrachter~-- beim Kopieren die dargestellten Einz\"uge und
- Abs\"atze m\"oglicherweise verloren gehen k\"onnen. Dies kann insbesondere
- aufgrund fehlender Leerzeilen zu einem unvorteilhaften Ausgabeergebnis
- f\"uhren. Alternativ finden Sie den folgenden \hologo{LaTeX}-Quelltext auch
- im Pfad \Path{texmf/source/latex/tudscr/doc/examples/} als Datei
- \File{\jobname-example.tex}. \par #1
- \begin{quoting}[rightmargin=0pt]%
- \lstinputlisting[style=tudscr]{\jobname-example-temp.tex}%
- \end{quoting}%
-}
-\newcommand*\tud@tut@line{}
-\newcommand*\tud@tut@readtostream[2]{%
- \begingroup%
- \endlinechar=-1\relax%
- \openin\tud@read=#1%
- \@tempswafalse%
- \loop\unless\ifeof\tud@read%
- \readline\tud@read to\tud@tut@line%
- \ifx\tud@tut@line\@empty%
- \ifeof\tud@read\@tempswafalse\fi%
- \else%
- \@tempswatrue%
- \fi%
- \if@tempswa%
- \immediate\write#2{\unexpanded\expandafter{\tud@tut@line}}%
- \fi%
- \ifx\tud@tut@line\@empty\@tempswafalse\fi%
- \repeat%
- \closein\tud@read%
- \endgroup%
-}
-\newcommand*\tud@tut@append[1]{\tud@tut@readtostream{\jobname-temp.tex}{#1}}
-\newcommand*\tud@tut@collect{%
- \immediate\openout\tud@write@ii\jobname-example-temp.tex\relax%
- \tud@tut@readtostream{\jobname-preamble-temp.tex}{\tud@write@ii}%
- \tud@tut@readtostream{\jobname-trunk-temp.tex}{\tud@write@ii}%
- \immediate\closeout\tud@write@ii
-}
-\newcommand*\idxfont{}
-\let\idxfont\footnotesize
-\robustify{\idxfont}
-\newcommand*\PrintIndex{%
- \begingroup%
- \@printindex[options]%
- \@printindex[macros]%
- \@printindex[files]%
- \endgroup%
-}
-\newcommand*\@printindexskip{%
- \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
-}
-\newcommand*\@printindex[1][]{%
- \pagebreak[3]%
- \indexprologue[\@printindexskip]{}%
- \printindex[#1]\@printindexskip%
-}
-\renewrobustcmd*\see[2]{%
- \ifstr{#1}{*}{\emph{\seename}~#2}{\emph{\seename}~#1}%
-}
-\renewrobustcmd*\seealso[2]{%
- \ifstr{#1}{*}{\emph{\alsoname}~#2}{\emph{\alsoname}~#1}%
-}
-\RequirePackage{xspace}[2009/10/20]
-\xspaceaddexceptions{"=}
-\newcommand*\vTUDScript{}
-\AtBeginDocument{%
- \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}%
- \edef\@tempa{\TUDVersion}%
- \expandafter\@tempb\@tempa\relax? ? \relax\relax%
-}
-\newcommand*\vKOMAScript{v3.17\xspace}
-\RequirePackage{scrhack}[2014/02/27]
-\newcommand*\CD{Corporate Design\xspace}
-\newcommand*\CDs{Corporate Designs\xspace}
-\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
-\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
-\newcommand*\DDC{%
- \mbox{D\kern.05em R\kern.05em E\kern.05em S\kern.05em D\kern.05em E\kern.05em
- N\kern.1em-\kern.1em concept}\xspace%
-}
-\AfterPackage*{babel}{%
- \@expandtwoargs\in@{,english,}{,\bbl@loaded,}%
- \ifin@%
- \renewcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace}
- \renewcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace}
- \fi
-}
-\newcommand*\Univers{\textubn{Univers}\xspace}
-\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace}
-\newcommand*\textsbn{}
-\newcommand*\sbnfont{\sffamily\bfseries\upshape}
-\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape}
-\newcommand*\textsbs{}
-\newcommand*\sbsfont{\sffamily\bfseries\slshape}
-\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape}
-\newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}}
-\NewDocumentCommand\Forum{s}{%
- \IfBooleanTF{#1}{%
- \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}%
- }{%
- \hrfn{http://latex.wcms-file3.tu-dresden.de/phpBB3/}{TUD-\LaTeX-Forum}%
- }%
- \xspace%
-}
-\newcommand*\hrfn[2]{\href{#1}{#2}\footnote{\scalebox{0.97}{\url{#1}}}}
-\NewDocumentCommand\scrguide{s}{%
- \def\@tempc{%
- http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf%
- }%
- \IfBooleanTF{#1}{%
- \href{\@tempc}{\File{scrguide.pdf}}%
- }{%
- \hrfn{\@tempc}{\File{scrguide.pdf}}%
- }%
- \xspace%
-}
-\endinput
-%%
-%% End of file `tudscrman.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls
new file mode 100644
index 00000000000..8e442ca5ef7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls
@@ -0,0 +1,2373 @@
+%%
+%% This is file `tudscrmanual.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tudscr-version.dtx (with options: `class,manual,inherit')
+%% tudscr-manual.dtx (with options: `class,manual')
+%% tudscr-base.dtx (with options: `class,manual,inherit,load')
+%% tudscr-manual.dtx (with options: `class,manual,option')
+%% tudscr-misc.dtx (with options: `class,manual,inherit,execute')
+%% tudscr-manual.dtx (with options: `class,manual,body')
+%% tudscr-misc.dtx (with options: `class,manual,xindy')
+%% tudscr-fields.dtx (with options: `class,manual,body')
+%% tudscr-locale.dtx (with options: `class,manual,body')
+%%
+%% ============================================================================
+%%
+%% TUD-KOMA-Script
+%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
+%%
+%% ============================================================================
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, version 1.3c of the license. The latest
+%% version of this license is in http://www.latex-project.org/lppl.txt and
+%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+%% or later and of this work. This work has the LPPL maintenance status
+%% "author-maintained". The current maintainer and author of this work
+%% is Falk Hanisch.
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%%
+%% ============================================================================
+%%
+%%% From File: tudscr-version.dtx
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
+ \def\@tempa{#1}%
+ \ifx\TUD@Version\@tempa\else%
+ \@latex@warning@no@line{%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
+ but `#1' was expected!\MessageBreak%
+ You should not use classes, packages or files from\MessageBreak%
+ different TUD-KOMA-Script-Bundle versions%
+ }%
+ \fi%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
+\providecommand*\tudscrmail{tudscr@gmail.com}
+\newcommand*\TUD@ProvidesWrapperClass[3]{%
+ \ProvidesClass{#1}[%
+ 2016/07/26 v2.05 TUD-KOMA-Script
+ ^^J#3 (#2)%
+ ]%
+ \newcommand*\TUD@Class@Parent{#2}%
+ \newcommand*\TUD@Class@Name{#1}%
+ \TUD@Class@Info%
+}
+\providecommand*\TUD@Class@Info{%
+ \typeout{+---------------------------------------------------------------}%
+ \typeout{| The 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{+---------------------------------------------------------------}%
+}
+\TUD@ProvidesWrapperClass{tudscrmanual}{tudscrreprt}{manual class}
+\edef\TUDScriptClassName{\TUD@Class@Name}
+\providecommand*\TUDClassName{\TUDScriptClassName}
+\@ifundefined{TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
+ \ifdin{TUD-KOMA-SCRIPT}{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+ }\csname xspace\endcsname%
+ }%
+}{}
+%%% From File: tudscr-manual.dtx
+%%% From File: tudscr-base.dtx
+\RequirePackage{tudscrbase}[\TUD@Version]
+\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@Parent}}
+\AfterClass{\TUD@Class@Parent}{\let\TUD@KOMAoptions\KOMAoptions}
+%%% From File: tudscr-manual.dtx
+\TUD@key{final}[true]{%
+ \TUD@set@ifkey{final}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \let\tudfinalflag\relax%
+ \fi%
+ \fi%
+}
+\TUD@key{print}[true]{%
+ \TUD@set@ifkey{print}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \let\tudprintflag\relax%
+ \fi%
+ \fi%
+}
+\AtEndPreamble{%
+ \ifdef{\tudfinalflag}{%
+ \TUDoptions{ToDo=false}%
+ \TUD@key{ToDo}{}%
+ }{}%
+ \ifdef{\tudprintflag}{%
+ \ifnum\tud@cd@num>\z@\relax%
+ \TUDoptions{cd=true}%
+ \fi%
+ \TUD@key{cd}{}%
+ \ifundef{\hypersetup}{}{\hypersetup{hidelinks}}%
+ }{}%
+}
+\PassOptionsToClass{%
+ cdfoot=true,%
+ chapterpage=true,%
+ chapterprefix=true,%
+ headings=optiontoheadandtoc,%
+ captions=tableheading,%
+ numbers=noenddot,%
+ cd=color,%
+}{\TUD@Class@Parent}
+\PassOptionsToPackage{automark}{scrlayer-scrpage}
+\newif\if@tud@todo
+\newcommand*\tud@todo@type@pos{}
+\let\tud@todo@type@pos\relax
+\newcommand*\tud@todo@type@neg{}
+\let\tud@todo@type@neg\relax
+\TUD@key{ToDo}[true]{%
+ \TUD@set@ifkey{ToDo}{@tud@todo}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \let\tud@todo@type@pos\relax%
+ \let\tud@todo@type@neg\relax%
+ \else%
+ \def\@tempa not##1##2##3##4\@nil{%
+ \ifstr{##1##2##3}{not}{%
+ \if\relax##4\relax\else%
+ \listeadd\tud@todo@type@neg{##4}%
+ \@tud@todotrue%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }{%
+ \if\relax##1\relax\else%
+ \listeadd\tud@todo@type@pos{##1##2##3##4}%
+ \@tud@todotrue%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }%
+ }%
+ \edef\@tempb{not\trim@spaces{#1}}%
+ \expandafter\@tempa\@tempb\@empty\@empty\@empty\@nil%
+ \fi%
+}
+%%% From File: tudscr-misc.dtx
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUD@Class@Parent}}
+\TUDProcessOptions\relax
+\LoadClass{\TUD@Class@Parent}
+%%% From File: tudscr-manual.dtx
+\PassOptionsToPackage{log-declarations=false}{xparse}
+\RequirePackage{xparse}[2013/12/31]
+\RequirePackage{scrhack}[2014/02/27]
+\RequirePackage{babel}[2014/03/24]
+\PassOptionsToPackage{quiet}{marginnote}
+\RequirePackage{marginnote}[2012/03/29]
+\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}
+\AtBeginDocument{%
+ \iflanguageloaded{english}{%
+ \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
+ }{}%
+}
+\RequirePackage{ifluatex}[2016/05/16]
+\ifluatex
+ \RequirePackage{pdftexcmds}[2016/05/21]
+ \let\pdfstrcmp\pdf@strcmp
+ \let\pdfshellescape\pdf@shellescape
+\fi
+\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\pdfstrcmp{#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%
+}
+\newcommand*\tud@trace@lbl@created@add[1]{}
+\newcommand*\tud@trace@lbl@missing@add[1]{}
+\NewDocumentCommand\tracinglabels{sO{missing}}{%
+ \newcommand*\tud@trace@lbl@created@list{}%
+ \newcommand*\tud@trace@lbl@missing@list{}%
+ \@tempswafalse%
+ \ifstr{#2}{created}{\@tempswatrue}{}%
+ \ifstr{#2}{all}{\@tempswatrue}{}%
+ \if@tempswa%
+ \renewcommand*\tud@trace@lbl@created@add[1]{%
+ \typeout{%
+ +++++ label created: ##1 on page \thepage%
+ }%
+ \xifinlist{##1}{\tud@trace@lbl@created@list}{}{%
+ \listxadd\tud@trace@lbl@created@list{##1}%
+ }%
+ }%
+ \IfBooleanF{#1}{%
+ \AfterEndDocument{%
+ \typeout{+++++ labels created (sorted) +++++}%
+ \tud@list@sort\tud@trace@lbl@created@list%
+ \forlistloop\typeout{\tud@trace@lbl@created@list}%
+ }%
+ }%
+ \fi%
+ \@tempswafalse%
+ \ifstr{#2}{missing}{\@tempswatrue}{}%
+ \ifstr{#2}{all}{\@tempswatrue}{}%
+ \if@tempswa%
+ \renewcommand*\tud@trace@lbl@missing@add[1]{%
+ \typeout{%
+ +++++ label missing: ##1 on page \thepage%
+ }%
+ \xifinlist{##1}{\tud@trace@lbl@missing@list}{}{%
+ \listxadd\tud@trace@lbl@missing@list{##1}%
+ }%
+ }%
+ \IfBooleanF{#1}{%
+ \AfterEndDocument{%
+ \typeout{+++++ labels missing (sorted) +++++}%
+ \tud@list@sort\tud@trace@lbl@missing@list%
+ \forlistloop\typeout{\tud@trace@lbl@missing@list}%
+ }%
+ }%
+ \fi%
+}
+\@onlypreamble\tracinglabels
+\newcommand*\tud@trace@markup[2]{}
+\newcommand*\tracingmarkup{%
+ \renewcommand*\tud@trace@markup[2]{%
+ \typeout{+++++ markup ##1 on page \thepage^^J##2}%
+ }%
+}
+\@onlypreamble\tracingmarkup
+\newcommand*\tud@trace@bdl@add[1]{}
+\newcommand*\tud@trace@bdl@list{}
+\newcommand*\tracingbundle{%
+ \renewcommand*\tud@trace@bdl@add[1]{%
+ \begingroup%
+ \def\Class####1{class:####1}%
+ \def\Package####1{package:####1}%
+ \xifinlist{##1}{\tud@trace@bdl@list}{}{%
+ \listxadd\tud@trace@bdl@list{##1}%
+ }%
+ \endgroup%
+ }%
+ \AfterEndDocument{%
+ \typeout{+++++ bundle list +++++}%
+ \forlistloop\typeout{\tud@trace@bdl@list}%
+ }%
+}
+\@onlypreamble\tracingbundle
+\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref}
+\PassOptionsToPackage{open,openlevel=0}{bookmark}
+\AfterPackage*{hyperref}{%
+ \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}%
+ \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}%
+ \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}%
+ \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}%
+ \newcommand*\tud@manualname{tudscr}%
+ \NewDocumentCommand\tudhyperdef{sm}{%
+ \IfBooleanTF{#1}{%
+ \raisebox{4\baselineskip}[0pt][0pt]{\hyperdef{\tud@manualname}{#2}{}}%
+ \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax%
+ \@afterindentfalse\@afterheading%
+ }{%
+ \Hy@raisedlink{\hyperdef{\tud@manualname}{#2}{}}\ignorespaces%
+ }%
+ \label{#2}%
+ \tud@trace@lbl@created@add{#2}%
+ }%
+ \newcommand*\tudhyperref[2]{\hyperref{}{\tud@manualname}{#1}{#2}}%
+ \newcommand*\autorefname[1][current]{%
+ \ifstr{#1}{current}{%
+ \expandafter\HyPsd@@autorefname\@currentHref\@nil%
+ }{%
+ \auto@refname\HyPsd@@autorefname{#1}%
+ }%
+ \unskip\xspace%
+ }%
+ \newcommand*\auto@refname[2]{%
+ \expandafter\ifx\csname r@#2\endcsname\relax%
+ ??%
+ \else%
+ \expandafter\expandafter\expandafter\auto@@refname%
+ \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil%
+ \fi%
+ }%
+ \newcommand*\auto@@refname{}%
+ \def\auto@@refname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil}%
+}
+\TUD@UnwindPackage{hyperref}{%
+ \ClassWarningNoLine{tudscrmanual}%
+ {%
+ It is strongly recommended to load package `hyperref'.\MessageBreak%
+ Nevertheless, essential commands are rudimentarily\MessageBreak%
+ defined. At least the package `url' is loaded.%
+ }%
+ \RequirePackage{url}[2013/09/16]%
+ \providecommand*\hypersetup[1]{}%
+ \providecommand*\hyperdef[3]{\label{#1.#2}#3}%
+ \providerobustcmd*\hyperref{%
+ \kernel@ifnextchar[{\tud@hyperref@a}{\tud@hyperref@b}%
+ }
+ \newcommand*\tud@hyperref@a[2][]{#2}
+ \newcommand*\tud@hyperref@b[4]{#4}
+ \providecommand*\href[3][]{#3}%
+ \providecommand*\hyperpage[1]{#1}%
+ \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}%
+ \providecommand*\phantomsection{}%
+ \providecommand*\texorpdfstring[2]{#1}%
+ \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}%
+ \providecommand*\Email[1]{\mbox{#1}}%
+ \ProvideDocumentCommand\tudhyperdef{sm}{\label{#2}}%
+ \providecommand*\tudhyperref[2]{#2}%
+ \providecommand*\autorefname[1][]{??\xspace}%
+}
+\RequirePackage{varioref}[2011/10/02]
+\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}}
+\newcommand*\hrfn[2]{%
+ \href{#1}{\trim@spaces{#2}}%
+ \footnote{%
+ \scalebox{0.95}{%
+ \def\_{_}%
+ \edef\@tempa{#1}%
+ \strut\expandafter\url\expandafter{\@tempa}%
+ }%
+ }%
+}
+\AfterPackage*{hyperref}{%
+ \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{%
+ \let\bbl@info\@gobble\csname HyPsd@babel@%
+ }{}{\tud@patch@wrn{pdfstringdef}}%
+}
+\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]}
+\TUD@UnwindPackage{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]}
+\newif\if@tud@declare
+\newif\if@openindex
+\newcommand*\tud@declare@num{0}
+\newcommand*\tud@declaration@list{}
+\let\tud@declaration@list\relax
+\NewDocumentEnvironment{Declaration}{omoog}{%
+ \listadd\tud@declaration@list{#2}%
+ \tud@declare@start[#1]{#2}{#3}{#4}{#5}%
+}{%
+ \tud@declare@end{#2}{\printdeclarationlist}%
+}
+\newif\if@tud@obsolete
+\NewDocumentEnvironment{Obsolete}{momoog}{%
+ \@tud@obsoletetrue%
+ \ifxblank{#1}{%
+ \listadd\tud@declaration@list{%
+ \def\tud@declare@num{1}%
+ #3%
+ \def\tud@declare@num{0}%
+ }%
+ \tud@declare@start{#3}{#4}{#5}{#6}%
+ }{%
+ \listadd\tud@declaration@list{#3}%
+ \IfValueTF{#2}{%
+ \Changed@At@CreateList[#2]{#1!#3}%
+ }{%
+ \Changed@At@CreateList[#3]{#1}%
+ }%
+ \IfValueTF{#6}{%
+ \tud@declare@start{#3}{#4}{#5}{#6}%
+ }{%
+ \toks@{\tud@declare@start{#3}{#4}{#5}}%
+ \def\@tempa{\emph{entf\"allt}}%
+ \in@{:}{#1}%
+ \ifin@%
+ \def\@tempb##1:##2\@nil{%
+ \IfArgIsEmpty{##2}{}{%
+ \def\@tempa{\seeref{##2'page'}}%
+ }%
+ }%
+ \@tempb#1\@nil%
+ \fi%
+ \eaddto@hook\toks@{\expandafter{\@tempa}}%
+ \the\toks@%
+ }%
+ }%
+ \@tud@obsoletefalse%
+}{%
+ \@tud@obsoletetrue%
+ \tud@declare@end{#3}{\printobsoletelist}%
+ \@tud@obsoletefalse%
+}
+\newcommand*\tud@preset@list{}
+\let\tud@preset@list\relax
+\newif\if@tud@preset@list
+\newcommand*\tud@additional@list{}
+\let\tud@additional@list\relax
+\newif\if@tud@additional@list
+\NewDocumentCommand\tud@declare@start{ommmm}{%
+ \Changed@At@CreateList[#2]{#1}%
+ \IfValueTF{#3}{%
+ \@tud@preset@listtrue%
+ \def\@tempa{Voreinstellung: \PValue{#3}}%
+ \IfValueT{#4}{%
+ \def\@tempb[##1:##2]{##1: \PValue{##2}}%
+ \eappto\@tempa{ | \expandonce{\@tempb[#4]}}%
+ }%
+ \listeadd\tud@preset@list{\expandonce\@tempa}%
+ }{%
+ \listadd\tud@preset@list{\relax}%
+ }%
+ \IfValueTF{#5}{%
+ \@tud@additional@listtrue%
+ \listadd\tud@additional@list{(#5)}%
+ \in@{\Environment}{#2}%
+ \ifin@\listadd\tud@additional@list{\tabularnewline}\fi%
+ }{%
+ \listadd\tud@additional@list{\relax}%
+ \in@{\Environment}{#2}%
+ \ifin@%
+ \listadd\tud@additional@list{\relax}%
+ \listadd\tud@additional@list{\relax}%
+ \fi%
+ }%
+}
+\newcommand*\tud@declare@end[2]{%
+ \ifx\tud@declaration@list\relax\else%
+ \ClassError{tudscrmanual}{\string#2\space is missing}{%
+ \string\tud@declaration@list\space is not empty. Did you\MessageBreak%
+ forget to print this list with\MessageBreak%
+ \string#2?%
+ }%
+ \fi%
+ \vskip-\lastskip%
+ \@tud@declaretrue\@openindexfalse#1\@tud@declarefalse%
+ \pagebreak[1]%
+}
+\NewDocumentEnvironment{Declaration*}{om}{%
+ \tud@declare@special@start[#1]{#2}{2}%
+}{%
+ \tud@declare@special@end{#2}%
+}
+\NewDocumentEnvironment{Bundle*}{om}{%
+ \tud@declare@special@start[#1]{#2}{3}%
+ \Bundle{#2}%
+}{%
+ \endBundle%
+ \tud@declare@special@end{#2}%
+}
+\NewDocumentCommand\tud@declare@special@start{omm}{%
+ \Changed@At@CreateList(#2){#1}%
+ \def\tud@declare@num{#3}%
+ \@tud@declaretrue\@openindextrue#2\@tud@declarefalse%
+ \def\tud@declare@num{0}%
+}
+\newcommand*\tud@declare@special@end[1]{%
+ \ifx\tud@changedat@list\relax\else%
+ \ClassError{tudscrmanual}{\string\printchangedatlist\space is missing}{%
+ \string\tud@changedat@list\space is not empty. Did you\MessageBreak%
+ forget to print this list with \string\printchangedatlist?%
+ }%
+ \fi%
+ \@tud@declaretrue\@openindexfalse#1\@tud@declarefalse%
+}
+\newskip\tud@lastskip
+\pretocmd{\index}{\tud@lastskip=\lastskip}{}{\tud@patch@wrn{index}}
+\pretocmd{\label}{\tud@lastskip=\lastskip}{}{\tud@patch@wrn{label}}
+\NewDocumentCommand\printdeclarationlist{sd()}{%
+ \ifx\tud@declaration@list\relax\else%
+ \ifhmode%
+ \vskip\medskipamount%
+ \else%
+ \@tempskipa=\glueexpr\medskipamount-\tud@lastskip\relax%
+ \ifdim\@tempskipa>\z@%
+ \addpenalty{\@beginparpenalty}%
+ \addvspace{\@tempskipa}%
+ \fi%
+ \fi%
+ \global\tud@lastskip=\z@%
+ \@afterindentfalse\@afterheading%
+ \@tud@declaretrue\@openindextrue%
+ \def\@tempa##1{\ignorespaces##1\tabularnewline}%
+ \edef\HyperRaiseLinkDefault{\the\baselineskip}%
+ \sbox\z@{%
+ \begin{tabular}{|l|}%
+ \hline%
+ \forlistloop\@tempa{\tud@declaration@list}%
+ \hline%
+ \end{tabular}%
+ }\usebox\z@%
+ \@tud@declarefalse%
+ \ifboolexpr{bool {@tud@preset@list} or bool {@tud@additional@list}}{%
+ \def\@tempa##1{\small\ignorespaces##1\tabularnewline}%
+ \qquad%
+ \if@tud@preset@list%
+ \begin{tabular}{@{}l@{}}%
+ \forlistloop\@tempa{\tud@preset@list}%
+ \end{tabular}%
+ \hspace{\tabcolsep}%
+ \fi%
+ \if@tud@additional@list%
+ \begin{tabular}{@{}l@{}}%
+ \forlistloop\@tempa{\tud@additional@list}%
+ \end{tabular}%
+ \fi%
+ }{}%
+ \global\let\tud@declaration@list\relax%
+ \global\let\tud@preset@list\relax%
+ \global\let\tud@additional@list\relax%
+ \global\@tud@preset@listfalse%
+ \global\@tud@additional@listfalse%
+ \print@changedatlist{#1}{%
+ \dimexpr.5\ht\strutbox+.5\dp\strutbox-.5\ht0-.5\dp0\relax%
+ }%
+ \IfValueT{#2}{#2}%
+ \par\nobreak%
+ \vskip\medskipamount%
+ \@afterindentfalse\@afterheading%
+ \fi%
+}
+\newcommand*\printobsoletelist{%
+ \@tud@obsoletetrue%
+ \printdeclarationlist*%
+ \@tud@obsoletefalse%
+}
+\NewDocumentCommand\printchangedatlist{sO{\z@}}{%
+ \print@changedatlist{#1}{#2}%
+}
+\newrobustcmd*\bsc{\@backslashchar}
+\newrobustcmd*\suffix[1]{\begingroup~\scriptsize(#1)\endgroup}
+\newcommand*\NewExpandableDocumentCommand[3]{%
+ \NewDocumentCommand#1{#2}{#3}%
+ \DeclareExpandableDocumentCommand#1{#2}{#3}%
+}
+\newcommand*\ProcessorKeyVal[1]{%
+ \begingroup%
+ \in@{=}{#1}%
+ \ifin@%
+ \def\@tempa##1=##2\@nil{\toks@{{##1}=##2=}}%
+ \else%
+ \def\@tempa##1\@nil{\toks@{{##1}}}%
+ \fi%
+ \@tempa#1\@nil%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand\ProcessedArgument{\the\toks@}%
+ }%
+ \tud@reserved%
+}
+\newcommand*\tud@keyval@error{%
+ \ClassError{tudscrmanual}%
+ {Wrong usage of optional argument for value}%
+ {There are two optional arguments for a value given!}%
+}
+\newenvironment{Bundle}[1]{%
+ \tud@if@bdl{%
+ \ClassError{tudscrmanual}%
+ {Nested environment `Bundle'}{%
+ It is not possible to nest this environment, when\MessageBreak%
+ a cross-label was given before.%
+ }%
+ }{%
+ \gdef\tud@bdl@curr{#1}%
+ }%
+ \ignorespaces%
+}{%
+ \global\let\tud@bdl@curr\tud@bdl@dflt%
+ \aftergroup\ignorespaces%
+}
+\newcommand*\tud@bdl@curr{}
+\newcommand*\tud@bdl@dflt{tudscr}
+\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||}{%
+ \Markup@SetFormat{\sbsfont}%
+ \IfValueTF{#4}{%
+ \Process@Markup{\Application{#2}}(#3)<#4>%
+ }{%
+ \Process@Markup{\Application{#2}}(#3)%
+ }%
+ \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#4|%
+}
+\NewExpandableDocumentCommand\@Distribution{sm}{#2}
+\NewDocumentCommand\Distribution{smod()d||}{%
+ \Markup@SetFormat{\sbnfont}%
+ \IfValueTF{#3}{%
+ \Process@Markup{\Distribution{#2}}[~#3](#4)%
+ }{%
+ \Process@Markup{\Distribution{#2}}(#4)%
+ }%
+ \Process@Index{#1}{\Distribution{#2}}[Distribution](#4)|#5|%
+}
+\NewExpandableDocumentCommand\@Engine{sm}{#2}
+\NewDocumentCommand\Engine{smd()d||}{%
+ \Markup@SetFormat{\sbnfont}%
+ \Process@Markup{\Engine{\hologo{#2}}}(#3)%
+ \Process@Index{#1}{\Engine{#2}}[Textsatzsystem](#3)|#4|%
+}
+\NewExpandableDocumentCommand\@File{sm}{#2}
+\NewDocumentCommand\File{smd()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||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Class{#2}}[Klasse]%
+ \else%
+ \Markup@SetFormat{\sbnfont}%
+ \Process@Markup{\Class{#2}}(#3)'#4'%
+ \Process@Index{#1}{\Class{#2}}[Klasse](#3)|#5|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Package{sm}{#2}
+\NewDocumentCommand\Package{smd()d<>d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Package{#2}}[Paket]%
+ \else%
+ \Markup@SetFormat{\sbnfont}%
+ \IfValueTF{#4}{%
+ \Process@Markup{\Package{#2}}(#3)<#4>'#5'%
+ }{%
+ \Process@Markup{\Package{#2}}(#3)<#2>'#5'%
+ }%
+ \Process@Index{#1}{\Package{#2}}[Paket](#3)|#6|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Option{sm}{#2}
+\NewDocumentCommand\Option{s>{\ProcessorKeyVal}md==d()d''d||}{%
+ \Option@Value{#1}#2=#3=(#4)'#5'|#6|%
+}
+\NewDocumentCommand\Option@Value{mmd==d==d()d''d||}{%
+ \IfValueT{#4}{\tud@keyval@error}%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Option{#2}}=#3=[Option](#5)%
+ \else%
+ \Markup@SetFormat{\ttfamily}%
+ \Process@Markup{\Option{#2}}=#3=(#5)'#6'%
+ \Process@Index{#1}{\Option{#2}}=#3=(#5)|#7|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Environment{sm}{#2}
+\NewDocumentCommand\Environment{smod()d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Environment{#2}}[Umgebung](#4)%
+ \else%
+ \Markup@SetFormat{\ttfamily}(%
+ \ttfamily\bsc{}begin\textbraceleft#2\textbraceright\IfValueT{#3}{#3}%
+ \tabularnewline\ttfamily\dots%
+ \tabularnewline\ttfamily\bsc{}end\textbraceleft#2\textbraceright%
+ )%
+ \Process@Markup{\Environment{#2}}[#3](#4)'#5'%
+ \Process@Index{#1}{\Environment{#2}}[Umgebung](#4)|#6|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Macro{sm}{#2}
+\NewDocumentCommand\Macro{smod()d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Macro{#2}}[Befehl](#4)%
+ \else%
+ \Markup@SetFormat{\ttfamily\bsc}%
+ \Process@Markup{\Macro{#2}}[#3](#4)'#5'%
+ \Process@Index{#1}{\Macro{#2}}(#4)|#6|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Length{sm}{#2}
+\NewDocumentCommand\Length{smd()d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Length{#2}}[L\"ange](#3)%
+ \else%
+ \Markup@SetFormat{\ttfamily\bsc}[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||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Counter{#2}}[Z\"ahler](#3)%
+ \else%
+ \Markup@SetFormat{\ttfamily}[Z\"ahler]%
+ \Process@Markup{\Counter{#2}}(#3)'#4'%
+ \Process@Index{#1}{\Counter{#2}}[Z\"ahler](#3)|#5|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Key{smm}{#2!#3}
+\NewDocumentCommand\Key{sm>{\ProcessorKeyVal}md==d()d''d||}{%
+ \Key@Value{#1}{#2}#3=#4=(#5)'#6'|#7|%
+}
+\NewDocumentCommand\Key@Value{mmmd==d==d()d''d||}{%
+ \IfValueT{#5}{\tud@keyval@error}%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Key{#2}{#3}}=#4=[Parameter](#6)%
+ \else%
+ \Markup@SetFormat{\ttfamily}[Parameter]%
+ \Process@Markup{\Key{#2}{#3}}=#4=(#6)'#7'%
+ \Process@Index{#1}{\Key{#2}{#3}}=#4=(#6)|#8|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Term{sm}{#2}
+\NewDocumentCommand\Term{smd()d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Term{#2}}[Bezeichner](#3)%
+ \else%
+ \Markup@SetFormat{\ttfamily\bsc}[Bezeichner]%
+ \Process@Markup{\Term{#2}}(#3)'#4'%
+ \Process@Index{#1}{\Term{#2}}(#3)|#5|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@PageStyle{sm}{#2}
+\NewDocumentCommand\PageStyle{smd()d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\PageStyle{#2}}[Seitenstil](#3)%
+ \else%
+ \Markup@SetFormat{\ttfamily}[Seitenstil]%
+ \Process@Markup{\PageStyle{#2}}(#3)'#4'%
+ \Process@Index{#1}{\PageStyle{#2}}[Seitenstil](#3)|#5|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Font{sm}{#2}
+\NewDocumentCommand\Font{smd()d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Font{#2}}[Schriftelement](#3)%
+ \else%
+ \Markup@SetFormat{\ttfamily}[Schriftelement]%
+ \Process@Markup{\Font{#2}}(#3)'#4'%
+ \Process@Index{#1}{\Font{#2}}[Schriftelement](#3)|#5|%
+ \fi%
+}
+\NewExpandableDocumentCommand\@Color{sm}{#2}
+\NewDocumentCommand\Color{smoD(){\Package{tudscrcolor}}d''d||}{%
+ \if@tud@changedat%
+ \Process@ChangedAt{\Color{#2}}[Farbe](#4)%
+ \else%
+ \Markup@SetFormat{\ttfamily}[Farbe](%
+ \begingroup\ttfamily{#2\IfValueT{#3}{~(#3)}}\endgroup%
+ )%
+ \Process@Markup{\Color{#2}}[#3](#4)'#5'%
+ \Process@Index{#1}{\Color{#2}}[Farbe](#4)|#5|%
+ \fi%
+}
+\NewDocumentCommand\tud@attr@get{smm}{%
+ \begingroup%
+ \def\@tempa##1##2##3{%
+ \def##1####1{%
+ \edef\@tempb{\IfBooleanTF{#1}{##2}{##3}}%
+ }%
+ }%
+ \@tempa\Application{\jobname}{app}%
+ \@tempa\Distribution{\jobname}{dst}%
+ \@tempa\Engine{\jobname}{eng}%
+ \@tempa\File{files}{fle}%
+ \@tempa\Class{files}{cls}%
+ \@tempa\Package{files}{pkg}%
+ \@tempa\Option{options}{opt}%
+ \@tempa\Environment{macros}{env}%
+ \@tempa\Macro{macros}{cmd}%
+ \@tempa\Length{misc}{len}%
+ \@tempa\Counter{misc}{cnt}%
+ \def\Key##1##2{%
+ \edef\@tempb{\IfBooleanTF{#1}{macros}{key}}%
+ }%
+ \@tempa\Term{terms}{term}%
+ \@tempa\PageStyle{elements}{pgs}%
+ \@tempa\Font{elements}{font}%
+ \@tempa\Color{elements}{clr}%
+ #3%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand#2{\@tempb}%
+ }%
+ \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}}
+\newrobustcmd*\PSet{\PName{Einstellung}}
+\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}}
+\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}}
+\newrobustcmd*\Parameter[1]{%
+ \mbox{\texttt{\textbraceleft}\PName{#1}\texttt{\textbraceright}}%
+}
+\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}}
+\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}}
+\newrobustcmd*\OLParameter[1]{%
+ \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}%
+}
+\newrobustcmd*\PParameter[1]{\mbox{\texttt{\textbraceleft#1\textbraceright}}}
+\newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}}
+\newrobustcmd*\textOR{\PValue{\,\textbardbl\,}}
+\newcommand*\tud@doifPValue[3][]{%
+ \IfValueT{#2}{%
+ \begingroup%
+ \let\PValue\@firstofone%
+ \let\PName\@gobble%
+ \let\PValueName\@firstofone%
+ \let\PSet\@empty%
+ \let\PBoolean\@empty%
+ \let\PBName\@gobble%
+ \let\Parameter\@gobble%
+ \let\OParameter\@gobble%
+ \let\LParameter\@empty%
+ \let\OLParameter\@gobble%
+ \let\PParameter\@gobble%
+ \let\POParameter\@gobble%
+ \let\textOR\relax%
+ \let\emph\@firstofone%
+ #1%
+ \ifxblank{#2}{%
+ \let\tud@reserved\endgroup%
+ }{%
+ \protected@edef\tud@reserved{\noexpand\endgroup#3}%
+ }%
+ \tud@reserved%
+ }%
+}
+\NewDocumentCommand\Markup@Gobble{s}{%
+ \let\Application\@Application%
+ \let\Distribution\@Distribution%
+ \let\Engine\@Engine%
+ \let\File\@File%
+ \let\Class\@Class%
+ \let\Package\@Package%
+ \let\Option\@Option%
+ \let\Environment\@Environment%
+ \let\Macro\@Macro%
+ \let\Length\@Length%
+ \let\Counter\@Counter%
+ \let\Key\@Key%
+ \let\Term\@Term%
+ \let\PageStyle\@PageStyle%
+ \let\Font\@Font%
+ \let\Color\@Color%
+ \IfBooleanF{#1}{%
+ \let\PValue\@firstofone%
+ \let\PName\@firstofone%
+ \let\PValueName\@firstofone%
+ \let\PSet\relax%
+ \let\PBoolean\relax%
+ \let\PBName\@firstofone%
+ \let\Parameter\@firstofone%
+ \let\OParameter\@firstofone%
+ \let\LParameter\relax%
+ \let\OLParameter\@firstofone%
+ \let\PParameter\@firstofone%
+ \let\POParameter\@firstofone%
+ \let\textOR\relax%
+ \let\hologoRobust\@firstofone%
+ \def\TUDScript{TUD-KOMA-Script}%
+ \def\_{-}%
+ \protected\def~{~}%
+ }%
+}
+\AfterPackage*{hyperref}{%
+ \expandafter\pdfstringdefDisableCommands\expandafter{\Markup@Gobble}%
+}
+\newcommand*\tud@lbl@tmp{}
+\newcommand*\tud@lbl@fmt{%
+ \def~{-}%
+ \let\IeC\@firstofone%
+ \def\"##1{##1e}%
+ \def\ss{ss}%
+ \let\NoCaseChange\@firstofone%
+}
+\NewDocumentCommand\tud@lbl@get@curr{%
+ sm>{\tud@lbl@create}>{\SplitArgument{2}{:}}md==%
+}{%
+ \tud@lbl@get@@curr#2{#3}=#4=%
+ \IfBooleanF{#1}{%
+ \@tempswafalse%
+ \tud@if@lbl@exists{#2}{%
+ \@tempswatrue%
+ }{%
+ \IfValueT{#4}{%
+ \tud@lbl@get@@curr\tud@reserved{#3}%
+ \tud@if@lbl@exists{\tud@reserved}{%
+ \let#2\tud@reserved%
+ \@tempswatrue%
+ }{}%
+ }%
+ }%
+ \if@tempswa\else%
+ \tud@if@bdl{\tud@lbl@get@dflt#2{#3}=#4=}{}%
+ \fi%
+ }%
+}
+\NewDocumentCommand\tud@lbl@get@@curr{mmd==}{%
+ \def#1{#2}%
+ \tud@doifPValue[\tud@lbl@fmt]{#3}{\noexpand\appto\noexpand#1{=#3}}%
+}
+\NewDocumentCommand\tud@lbl@get@dflt{m>{\SplitArgument{2}{:}}mr==}{%
+ \tud@lbl@get@@dflt{#1}#2=#3=%
+}
+\NewDocumentCommand\tud@lbl@get@@dflt{mmmmr==}{%
+ \edef\tud@reserved{\expandafter\detokenize\expandafter{\tud@bdl@dflt}}%
+ \ifstr{\tud@reserved}{#2}{}{%
+ \tud@lbl@get@curr#1{\tud@bdl@dflt:#3:#4}=#5=%
+ }%
+}
+\NewDocumentCommand\tud@if@lbl@exists{%
+ >{\tud@lbl@create}>{\SplitArgument{2}{:}}m%
+}{%
+ \ifcsdef{r@#1}{%
+ \expandafter\@firstoftwo%
+ }{%
+ \expandafter\@secondoftwo%
+ }%
+}
+\NewDocumentCommand\tud@lbl@create{m}{\tud@lbl@@create#1}
+\NewDocumentCommand\tud@lbl@@create{mmm}{%
+ \begingroup%
+ \Markup@Gobble%
+ \tud@lbl@fmt%
+ \IfValueTF{#3}{%
+ \edef\@tempa{#1:#2:#3}%
+ }{%
+ \IfValueTF{#2}{%
+ \tud@attr@get\@tempb{#2}%
+ \IfValueTF{#1}{%
+ \ifxblank{#1}{%
+ \edef\@tempa{\tud@bdl@dflt:\@tempb:#2}%
+ }{%
+ \edef\@tempa{#1:\@tempb:#2}%
+ }%
+ }{%
+ \edef\@tempa{\tud@bdl@curr:\@tempb:#2}%
+ }%
+ }{%
+ \edef\@tempa{#1}%
+ }%
+ }%
+ \edef\@tempc{%
+ \noexpand\endgroup%
+ \def\noexpand\ProcessedArgument{%
+ \expandafter\detokenize\expandafter{\@tempa}%
+ }%
+ }%
+ \@tempc%
+}
+\newcommand*\Markup@Suppress{\let\Process@Markup\Markup@@Suppress}
+\NewDocumentCommand\Markup@@Suppress{md==od()d<>d''}{}
+\NewDocumentCommand\Process@Markup{md==od()d<>d''}{%
+ \if@tud@declare%
+ \tud@toks@{\Process@@MarkupDeclare}%
+ \IfValueTF{#4}{%
+ \tud@lbl@get@curr*\tud@lbl@tmp{#4:#1}=#2=%
+ }{%
+ \tud@lbl@get@curr*\tud@lbl@tmp{\tud@bdl@curr:#1}=#2=%
+ }%
+ \else%
+ \tud@toks@{\Process@@MarkupInline}%
+ \tud@lbl@get@curr\tud@lbl@tmp{#4:#1}=#2=%
+ \fi%
+ \eaddto@hook\tud@toks@{\expandafter{\tud@lbl@tmp}}%
+ \begingroup%
+ \Markup@Gobble*%
+ \protected@edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand\tud@reserved{#1}%
+ }%
+ \tud@reserved%
+ \eaddto@hook\tud@toks@{\expandafter{\tud@reserved}}%
+ \IfValueT{#2}{\addto@hook\tud@toks@{=#2=}}%
+ \IfValueT{#3}{\addto@hook\tud@toks@{[#3]}}%
+ \if@tud@declare%
+ \if@openindex%
+ \IfValueT{#6}{%
+ \ClassWarning{tudscrmanual}{%
+ It is not possible to use any cross-reference\MessageBreak%
+ shorthand like '#6' within the arguments of\MessageBreak%
+ the environment `Declaration'%
+ }%
+ }%
+ \tud@trace@markup{declare}{\the\tud@toks@}%
+ \else%
+ \tud@toks@{\relax}%
+ \fi%
+ \else%
+ \if@tud@index\else%
+ \IfValueT{#5}{%
+ \ifxblank{#5}{}{\addto@hook\tud@toks@{<http://www.ctan.org/pkg/#5>}}%
+ }%
+ \IfValueT{#6}{\addto@hook\tud@toks@{'#6'}}%
+ \fi%
+ \tud@trace@markup{output}{\the\tud@toks@}%
+ \fi%
+ \if@tud@index\else%
+ \IfValueT{#4}{%
+ \ifxblank{#4}{}{%
+ \tud@trace@bdl@add{#4}%
+ \ifstr{#6}{none}{}{%
+ \tud@if@lbl@exists{\tud@lbl@tmp}{}{%
+ \ClassWarning{tudscrmanual}{%
+ No existing label \tud@lbl@tmp\space for #4%
+ }%
+ }%
+ }%
+ }%
+ }%
+ \fi%
+ \the\tud@toks@%
+}
+\NewDocumentCommand\Process@@MarkupDeclare{mmd==o}{%
+ \Markup@CheckFormat%
+ \ifcase\tud@declare@num\relax%
+ \tudhyperdef{#1}%
+ \Markup@Output{#2}=#3=[#4]%
+ \or%
+ \Markup@Output{#2}=#3=[#4]%
+ \or%
+ \tudhyperdef{#1}%
+ \or%
+ \tudhyperdef*{#1}%
+ \def\@tempa##1:##2:##3\@nil{\tudhyperdef*{##3:##2:##3}}%
+ \@tempa#1\@nil%
+ \fi%
+ \Markup@ClearFormat%
+}
+\NewDocumentCommand\Process@@MarkupInline{mmd==od<>d''}{%
+ \Markup@CheckFormat%
+ \begingroup%
+ \def\@tempc{\Markup@Output{#2}=#3=[#4]}%
+ \tud@if@lbl@exists{#1}{%
+ \def\@tempa{\hyperref{}{\tud@manualname}{#1}{\@tempc}}%
+ \let\@tempb\relax%
+ \IfValueT{#6}{%
+ \def\@tempb{%
+ \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%
+ }%
+ }%
+ \ifstr{#6}{auto}{\def\@tempb{ in \autoref{#1}}}{%
+ \ifstr{#6}{page}{\def\@tempb{ \vpageref{#1}}}{%
+ \ifstr{#6}{ppage}{\def\@tempb{ \reftextfaraway{#1}}}{%
+ \ifstr{#6}{full}{\def\@tempb{ in \fullref{#1}}}{%
+ \ifstr{#6}{none}{\let\@tempa\@tempc\let\@tempb\relax}{}}}}}%
+ \IfValueT{#5}{%
+ \ifstr{#6}{url}{\def\@tempa{\href{#5}{\@tempc}}\let\@tempb\relax}{}%
+ }%
+ }%
+ }{%
+ \let\@tempa\@tempc%
+ \IfValueT{#5}{\def\@tempa{\href{#5}{\@tempc}}}%
+ \let\@tempb\relax%
+ \IfValueT{#6}{%
+ \ifstr{#6}{none}{\let\@tempa\@tempc}{%
+ \def\@tempb{%
+ \ClassWarning{tudscrmanual}{%
+ Label #1\MessageBreak%
+ is missing, no cross-reference created.%
+ }%
+ }%
+ }%
+ }%
+ \tud@trace@lbl@missing@add{#1}%
+ }%
+ \ifdin{\@tempc}{\@tempa\@tempb}%
+ \endgroup%
+ \Markup@ClearFormat%
+}
+\NewDocumentCommand\Markup@Output{>{\SplitArgument{1}{!}}md==o}{%
+ \Markup@@Output#1=#2=[#3]%
+}
+\NewDocumentCommand\Markup@@Output{mmd==o}{%
+ \if@tud@declare%
+ \tud@toks@{\Markup@Declare}%
+ \else%
+ \tud@toks@{\Markup@Inline}%
+ \fi%
+ \IfValueTF{#2}{%
+ \def\@tempa{#2}%
+ }{%
+ \def\@tempa{#1}%
+ }%
+ \IfValueT{#3}{\appto\@tempa{=#3}}%
+ \IfValueT{#4}{\appto\@tempa{#4}}%
+ \eaddto@hook\tud@toks@{\expandafter{\@tempa}}%
+ \the\tud@toks@%
+}
+\newcommand*\Markup@Inline[1]{\mbox{\Markup@Format{#1}}}
+\newcommand*\Markup@Declare{}
+\newcommand*\Markup@@Declare[1]{%
+ \begingroup\Markup@Format{#1}\endgroup\Markup@Suffix%
+}
+\newcommand*\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}}%
+ }%
+}
+\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%
+ \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.%
+ }%
+ \fi%
+}
+\PassOptionsToPackage{xindy,splitindex}{imakeidx}
+\RequirePackage{imakeidx}[2013/07/11]
+\indexsetup{%
+ level=\addsec,%
+ noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},%
+ othercode={\renewcommand*\subitem{\@idxitem\hspace*{15\p@}}}%
+}
+\ifimki@original\else%
+ \CheckCommand\theindex{%
+ \imki@maybeaddtotoc
+ \imki@indexlevel{\indexname}\imki@indexheaders
+ \thispagestyle{\imki@firstpagestyle}%
+ \ifnum\imki@columns>\@ne
+ \columnsep \imki@columnsep
+ \ifx\imki@idxprologue\relax
+ \begin{multicols}{\imki@columns}
+ \else
+ \begin{multicols}{\imki@columns}[\imki@idxprologue]
+ \fi
+ \else
+ \imki@idxprologue
+ \fi
+ \global\let\imki@idxprologue\relax
+ \parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \columnseprule \ifKV@imki@columnseprule.4\p@\else\z@\fi
+ \raggedright
+ \let\item\@idxitem
+ \imki@othercode%
+ }%
+ \patchcmd{\theindex}{%
+ \imki@indexlevel{\indexname}\imki@indexheaders%
+ }{%
+ \imki@indexheaders%
+ }{}{\tud@patch@wrn{theindex}}%
+ \patchcmd{\theindex}{%
+ \ifnum\imki@columns>\@ne
+ \columnsep \imki@columnsep
+ \ifx\imki@idxprologue\relax
+ \begin{multicols}{\imki@columns}
+ \else
+ \begin{multicols}{\imki@columns}[\imki@idxprologue]
+ \fi
+ \else
+ \imki@idxprologue
+ \fi
+ }{%
+ \ifnum\imki@columns>\@ne\relax%
+ \columnsep \imki@columnsep%
+ \ifx\imki@idxprologue\relax%
+ \begin{multicols}{\imki@columns}[\imki@indexlevel{\indexname}]%
+ \else%
+ \begin{multicols}{\imki@columns}[%
+ \imki@indexlevel{\indexname}%
+ \imki@idxprologue%
+ ]%
+ \fi%
+ \else%
+ \imki@indexlevel{\indexname}\imki@idxprologue%
+ \fi%
+ }{}{\tud@patch@wrn{theindex}}%
+\fi%
+\newrobustcmd*\cleversee{\tud@cleversee{\seename}}
+\newrobustcmd*\cleverseealso{%
+ \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}%
+ \tud@cleversee{\alsoname}%
+}
+\newcommand*\tud@cleversee{}
+\def\tud@cleversee#1#2#3\relax{%
+ \IfArgIsEmpty{#3}{%
+ \emph{#1}\space#2%
+ }{%
+ #3, \emph{\alsoname}\space#2%
+ }%
+}
+\NewDocumentCommand\seeref{sm}{%
+ \emph{\IfBooleanTF{#1}{\alsoname}{\seename}}\space#2%
+}
+\newcommand*\seeidx[2]{\pageref{idx:#1}}
+\NewDocumentCommand\makexdyindex{somo}{%
+ \let\@tempb\@empty%
+ \IfBooleanT{#1}{%
+ \def\@tempc{\jobname-#4-declare.idx}%
+ \makeindex[name={#4-declare}]%
+ \IfFileExists{\@tempc}{%
+ \edef\@tempb{-o \jobname-#4.ind \@tempc}%
+ }{%
+ \ClassWarning{tudscrmanual}{File \@tempc\space not found}%
+ }%
+ }%
+ \protected@edef\@tempa{%
+ title={#3},%
+ columnsep=\noexpand\f@size\noexpand\p@,%
+ \IfValueTF{#4}{%
+ name={#4},%
+ options={-M \@currname-ind.xdy -L german-din -t \jobname-#4.xlg \@tempb},%
+ }{%
+ options={-M \@currname-ind.xdy -L german-din -t \jobname.xlg},%
+ }%
+ \IfValueT{#2}{#2}%
+ }%
+ \expandafter\makeindex\expandafter[\@tempa]%
+}
+\makexdyindex{Allgemeiner Index}
+\makexdyindex*{Klassen- und Paketoptionen}[options]
+\makexdyindex*{Befehle und Umgebungen mit zugeh\"origen Parametern}[macros]
+\makexdyindex*{Sprachabh\"angige Bezeichner}[terms]
+\makexdyindex*{Seitenstile, Schriftelemente und Farben}[elements]
+\makexdyindex{L\"angen und Z\"ahler}[misc]
+\makexdyindex*{Klassen, Pakete und Dateien}[files]
+\makexdyindex[columns=1]{\"Anderungsliste}[changelog]
+\undef\makexdyindex
+\newif\if@tud@index
+\addtoeachtocfile{\protect\@tud@indextrue}
+\newcommand*\tud@idx@key{}
+\newcommand*\tud@idx@fmt{}
+\newcommand*\tud@idx@val{}
+\newcommand*\tud@idx@bdl{}
+\NewDocumentCommand\tud@idx@get{smmmmr==r[]r()d||}{%
+ \begingroup%
+ \begingroup%
+ \let#4\@empty%
+ \in@{\Key}{#5}%
+ \ifin@%
+ \Markup@Suppress%
+ \let\Key\@firstoftwo%
+ #5%
+ \let\@tempa\@empty%
+ \IfBooleanT{#1}{\def\@tempa{: Parameter angepasst}}%
+ \def#4{%
+ \expandonce#2\expandonce\@tempa{}@%
+ \expandonce#3\expandonce\@tempa{}!%
+ }%
+ \fi%
+ \Markup@Gobble%
+ \let\Key\@secondoftwo%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand#2{#5}%
+ \def\noexpand#4{#4}%
+ }%
+ \tud@reserved%
+ \def#3{#5}%
+ \tud@replace#2{@}{"@}%
+ \tud@replace#3{@}{"@}%
+ \let\tud@idx@bdl\tud@bdl@dflt%
+ \IfValueTF{#8}{%
+ \def\tud@idx@bdl{#8}%
+ }{%
+ \tud@if@bdl{%
+ \tud@if@lbl@exists{\tud@bdl@curr:#5}{%
+ \edef\tud@idx@bdl{\expandonce\tud@bdl@curr}%
+ \def\tud@reserved{#5}%
+ \ifx\tud@reserved\tud@idx@bdl%
+ \let\tud@idx@bdl\tud@bdl@dflt%
+ \fi%
+ }{}%
+ }{}%
+ }%
+ \let\@tempa\@empty%
+ \let\@tempb\@empty%
+ \let\@tempc\@empty%
+ \@tempswatrue%
+ \ifx\tud@idx@bdl\tud@bdl@dflt%
+ \@tempswafalse%
+ \else%
+ \in@{\Key}{#5}\ifin@\@tempswafalse\fi%
+ \IfBooleanT{#1}{\@tempswafalse}%
+ \edef\@tempb{(\expandonce\tud@idx@bdl)}%
+ \fi%
+ \let\@tempc\@tempb%
+ \IfValueT{#7}{%
+ \appto\@tempa{ #7}%
+ \appto\@tempb{\suffix{#7}}%
+ }%
+ \if@tempswa%
+ \begingroup%
+ \Markup@Gobble%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \noexpand\appto\noexpand\@tempa{ \tud@idx@bdl}%
+ }%
+ \tud@reserved%
+ \eappto\@tempb{\suffix{\expandonce\tud@idx@bdl}}%
+ \fi%
+ \@tempswafalse%
+ \IfBooleanT{#1}{\@tempswatrue}%
+ \IfValueT{#9}{\ifstr{#9}{declare}{\@tempswatrue}{}}%
+ \IfValueT{#9}{\ifstr{#9}{default}{\@tempswatrue}{}}%
+ \if@tempswa%
+ \protected@eappto#2{\expandonce\@tempa}%
+ \tud@doifPValue{#6}{\noexpand\appto\noexpand#2{=#6}}%
+ \protected@eappto#3{\IfValueT{#6}{=#6=}\expandonce\@tempb}%
+ \else%
+ \tud@doifPValue{#6}{\noexpand\@tempswatrue}%
+ \if@tempswa%
+ \eappto#4{%
+ \expandonce#2\expandonce\@tempa{}@%
+ \expandonce#3\expandonce\@tempb{}!%
+ }%
+ \appto#2{=#6}%
+ \appto#3{=#6=}%
+ \protected@eappto#3{\expandonce\@tempc}%
+ \else%
+ \protected@eappto#2{\expandonce\@tempa}%
+ \protected@eappto#3{\expandonce\@tempb}%
+ \fi%
+ \fi%
+ \let\emph\@firstofone%
+ \protected@edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand#2{#2}%
+ \def\noexpand#3{#3}%
+ \def\noexpand#4{#4}%
+ }%
+ \tud@reserved%
+}
+\NewDocumentCommand\Process@Index{mmd==od()d||}{%
+ \ifboolexpr{%
+ bool {@tud@index} or bool {@tud@obsolete}%
+ }{}{%
+ \IfBooleanTF{#1}{%
+ \IfValueT{#6}{%
+ \ClassWarning{tudscrmanual}{%
+ You've used the starred version. No index entry\MessageBreak%
+ for #2 is created. The\MessageBreak%
+ optional argument |#6| will be ignored%
+ }%
+ }%
+ }{%
+ \Process@@Index{#2}=#3=[#4](#5)|#6|%
+ }%
+ }%
+}
+\NewDocumentCommand\Process@@Index{mr==r[]r()r||}{%
+ \if@tud@declare%
+ \tud@idx@get\tud@idx@key\tud@idx@fmt\tud@idx@val{#1}=#2=[#3](#4)|declare|%
+ \else%
+ \tud@idx@get\tud@idx@key\tud@idx@fmt\tud@idx@val{#1}=#2=[#3](#4)|#5|%
+ \fi%
+ \tud@attr@get*\tud@lbl@tmp{#1}%
+ \if@tud@declare%
+ \if@openindex%
+ \IfValueT{#5}{%
+ \ClassWarning{tudscrmanual}{%
+ It is not possible to use any indexing format\MessageBreak%
+ like |#5| within the arguments of the\MessageBreak%
+ environments `Declaration' or `Declaration*'%
+ }%
+ }%
+ \index[\tud@lbl@tmp-declare]{%
+ \tud@idx@val\tud@idx@key{}@\tud@idx@fmt|(declare%
+ }%
+ \else%
+ \index[\tud@lbl@tmp-declare]{\tud@idx@val\tud@idx@key|declare)}%
+ \fi%
+ \else%
+ \IfValueT{#5}{%
+ \ifstr{#5}{declare}{%
+ \appto\tud@lbl@tmp{-declare}%
+ \appto\tud@idx@fmt{|declare}%
+ }{%
+ \appto\tud@idx@fmt{|#5}%
+ }%
+ }%
+ \index[\tud@lbl@tmp]{\tud@idx@val\tud@idx@key{}@\tud@idx@fmt}%
+ \fi%
+}
+\NewDocumentCommand\CrossIndex{smom}{%
+ \def\@tempa##1##2##3{%
+ \index{%
+ \IfBooleanTF{#1}{##3@##3}{##3!"|@}%
+ \,\textrightarrow\,%
+ \tudhyperref{idx:##2}{\IfValueTF{##1}{##1}{Index der ##3}}|seeidx{##2}%
+ }%
+ }%
+ \forcsvlist{\@tempa{#3}{#4}}{#2}%
+}
+\NewDocumentCommand\SeeRef{smm}{%
+ \sbox\z@{%
+ \let\tud@idx@fmt\relax%
+ #3%
+ \ifx\tud@idx@fmt\relax%
+ \gdef\tud@reserved{#3}%
+ \else%
+ \global\let\tud@reserved\tud@idx@fmt%
+ \fi%
+ }%
+ \IfBooleanTF{#1}{\def\tud@idx@fmt{seeunverified}}{\def\tud@idx@fmt{see}}%
+ \index{#2!#3|\tud@idx@fmt{\tud@reserved}}%
+}
+\newcommand*\tud@indexprologue{}
+\newcommand*\PrintIndex{%
+ \begingroup%
+ \providecommand*\lettergroup[1]{%
+ \par\textbf{\textsf{##1}}\par%
+ \nopagebreak%
+ }%
+ \renewcommand\tud@indexprologue{%
+ Die im Folgenden aufgelisteten Schlagworte sollen f\"ur den Umgang mit
+ \hologo{LaTeXe} im Allgemeinen sowie dem \TUDScript-Bundle im Speziellen
+ sowohl Antworten bei generellen Fragen liefern als auch L\"osungen f\"ur
+ typische Probleme bereitstellen. Falls ein gesuchter Begriff hier nicht
+ auftaucht oder trotz vorhandener Hinweise kein zufriedenstellendes
+ Ergebnis erzielt werden kann, sollte das \Forum* erster Anlaufpunkt sein,
+ um weitere Hilfe bei der Nutzung von \TUDScript zu erhalten.%
+ }%
+ \print@index%
+ \clearpage%
+ \renewcommand\tud@indexprologue{%
+ Dies ist der Index aller im Handbuch erl\"auterten sowie erw\"ahnten
+ Optionen, wobei bei den meisten auch Untereintr\"age mit Seitenangaben
+ f\"ur spezielle Wertzuweisungen existieren.%
+ }%
+ \print@index[options]%
+ \renewcommand\tud@indexprologue{%
+ Dies ist die Auflistung aller im Handbuch erl\"auterten sowie erw\"ahnten
+ Befehle und Umgebungen. Bei einigen existieren auch Untereintr\"age f\"ur
+ Schl\"ussel-Wert-Parameter, welche im optionalen Argument der jeweiligen
+ Anweisung verwendet werden k\"onnen. In der dritten Unterebene sind
+ gegebenenfalls Seitenverweise f\"ur explizite Wertzuweisungen an diese
+ Parameter zu finden.%
+ }%
+ \print@index[macros]%
+ \renewcommand\tud@indexprologue{%
+ Dies sind alle von \TUDScript definierten, sprachabh\"angigen Bezeichner.
+ Informationen zur Verwendung sowie den Anpassungsm\"oglichkeiten sind in
+ \autoref{sec:localization} zu finden.%
+ }%
+ \print@index[terms]%
+ \print@index[elements]%
+ \print@index[misc]%
+ \print@index[files]%
+ \endgroup%
+}
+\newcommand*\tud@idx@skip{%
+ \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
+}
+\newcommand*\print@index[1][]{%
+ \pagebreak[3]%
+ \@tud@indextrue%
+ \ifblank{#1}{%
+ \def\tud@reserved{\tudhyperdef*{idx:main}}%
+ }{%
+ \def\tud@reserved{\tudhyperdef*{idx:#1}}%
+ }%
+ \ifx\tud@indexprologue\@empty%
+ \indexprologue[\tud@idx@skip]{\tud@reserved}%
+ \else%
+ \indexprologue{%
+ \tud@reserved%
+ \tud@indexprologue%
+ \tud@idx@skip%
+ }%
+ \fi%
+ \ifblank{#1}{\printindex}{\printindex[#1]}%
+ \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
+ \let\tud@indexprologue\@empty%
+}
+\newif\if@tud@changedat
+\NewDocumentCommand\Process@ChangedAt{md==od()}{%
+ \tud@idx@get*\tud@idx@key\tud@idx@fmt\tud@idx@val{#1}=#2=[#3](#4)%
+}
+\newlength\changedatskip
+\NewDocumentCommand\ChangedAt{somO{\changedatskip}}{%
+ \IfValueTF{#2}{%
+ \Changed@At@CreateList[#2]{#3}%
+ }{%
+ \Changed@At@CreateList{#3}%
+ }%
+ \print@changedatlist{#1}{#4}%
+}
+\newcommand*\tud@changedat@list{}
+\let\tud@changedat@list\relax
+\DeclareListParser*{\forssvlist}{;}
+\NewDocumentCommand\Changed@At@CreateList{od()m}{%
+ \IfValueT{#3}{\forssvlist{\Changed@At@@CreateList[#1](#2)}{#3}}%
+}
+\NewDocumentCommand\Changed@At@@CreateList{r[]r()>{\SplitArgument{1}{:}}m}{%
+ \Changed@At@@@CreateList[#1](#2)#3%
+}
+\NewDocumentCommand\Changed@At@@@CreateList{r[]r()>{\SplitArgument{1}{!}}mm}{%
+ \Changed@At@@@@CreateList[#1](#2)#3{#4}%
+}
+\NewDocumentCommand\Changed@At@@@@CreateList{r[]r()mmm}{%
+ \def\@tempa##1{%
+ \sbox\z@{%
+ \let\tud@idx@fmt\relax%
+ \@tud@changedattrue%
+ ##1%
+ \@tud@changedatfalse%
+ \ifx\tud@idx@fmt\relax%
+ \gdef\@tempb{##1}%
+ \else%
+ \global\let\@tempb\tud@idx@fmt%
+ \fi%
+ }%
+ }%
+ \let\@tempb\@empty%
+ \IfValueTF{#2}{%
+ \@tempa{#2}%
+ }{%
+ \tud@if@bdl{\@tempa{\tud@bdl@curr}}{}%
+ }%
+ \IfValueTF{#1}{%
+ \toks@{#3!Implementierung }%
+ \eaddto@hook\toks@{\@tempb}%
+ \addto@hook\toks@{!#1!}%
+ \IfValueT{#4}{\addto@hook\toks@{#4}}%
+ \addto@hook\toks@{!}%
+ \if@tud@obsolete\else%
+ \IfValueT{#5}{\addto@hook\toks@{#5}}%
+ \fi%
+ }{%
+ \toks@{#3!Allgemein }%
+ \IfValueTF{#2}{%
+ \addto@hook\toks@{!}%
+ \eaddto@hook\toks@{\@tempb:\space}%
+ \IfValueTF{#5}{%
+ \addto@hook\toks@{#5}%
+ }{%
+ \addto@hook\toks@{\emph{neu}}%
+ }%
+ }{%
+ \eaddto@hook\toks@{\@tempb}%
+ \addto@hook\toks@{!}%
+ \addto@hook\toks@{#5}%
+ }%
+ \IfValueT{#4}{%
+ \ClassError{tudscrmanual}{Using !#4 isn't allowed for a change notice}{%
+ At least, it has to be implemented!%
+ }%
+ }%
+ }%
+ \listeadd\tud@changedat@list{\the\toks@}%
+}
+\NewDocumentCommand\Changed@At@CreateEntry{>{\SplitArgument{4}{!}}m}{%
+ \Changed@At@@CreateEntry#1%
+}
+\newcommand*\Changed@At@@CreateEntry[5]{%
+ \IfValueT{#3}{%
+ \IfValueTF{#4}{%
+ \@tud@changedattrue%
+ #3%
+ \@tud@changedatfalse%
+ \ifxblank{#4}{}{%
+ \eappto\tud@idx@val{%
+ \expandonce\tud@idx@key: Werte angepasst@%
+ \expandonce\tud@idx@fmt: Werte angepasst!%
+ }%
+ \begingroup%
+ \@tud@changedattrue%
+ #4%
+ \@tud@changedatfalse%
+ \let\suffix\@gobble%
+ \protected@edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand\tud@idx@key{\tud@idx@key}%
+ \def\noexpand\tud@idx@fmt{\tud@idx@fmt}%
+ }%
+ \tud@reserved%
+ }%
+ \ifxblank{#5}{%
+ \if@tud@obsolete%
+ \appto\tud@idx@fmt{: \emph{entf\"allt}}%
+ \else%
+ \appto\tud@idx@fmt{: \emph{neu}}%
+ \fi%
+ }{%
+ \appto\tud@idx@key{: #5}%
+ \appto\tud@idx@fmt{: #5}%
+ }%
+ \index[changelog]{#1!#2!\tud@idx@val\tud@idx@key @\tud@idx@fmt}%
+ }{%
+ \index[changelog]{#1!#2!#3}%
+ }%
+ }%
+ \ifinlist{#1}{\tud@templist}{}{\listadd\tud@templist{#1}}%
+}
+\newcommand*\PrintChangelog{%
+ \begingroup%
+ \let\lettergroup\@gobble%
+ \apptocmd{\theindex}{%
+ \let\subsubsubitem\subsubitem%
+ \let\subsubitem\subitem%
+ \let\subitem\item%
+ \renewcommand*\item{%
+ \begingroup%
+ \escapechar=`\\%
+ \catcode\endlinechar=\active%
+ \csname\string\item\endcsname%
+ }%
+ \begingroup%
+ \escapechar=`\\%
+ \lccode`\~=\endlinechar%
+ \lowercase{%
+ \expandafter\endgroup%
+ \expandafter\def\csname\string\item\endcsname##1~%
+ }{%
+ \endgroup%
+ \addsec[##1]{\TUDScript \NoCaseChange{##1}}%
+ \tudhyperdef*{idx:changelog:##1}%
+ \def\@tempa{\indexname: \TUDScript \NoCaseChange{##1}}%
+ \@mkboth{\@tempa}{\@tempa}%
+ }%
+ }{}{\tud@patch@wrn{theindex}}%
+ \clearpage%
+ \def\imki@indexlevel{\addchap}%
+ \print@index[changelog]%
+ \endgroup%
+}
+\NewDocumentCommand\print@changedatlist{mm}{%
+ \ifx\tud@changedat@list\relax\else%
+ \let\tud@templist\relax%
+ \forlistloop\Changed@At@CreateEntry{\tud@changedat@list}%
+ \global\let\tud@changedat@list\relax%
+ \IfBooleanF{#1}{%
+ \tud@list@sort\tud@templist%
+ \strut%
+ \marginnote{%
+ \def\@tempa####1{%
+ \ignorespaces%
+ \tudhyperref{idx:changelog:####1}{####1}%
+ \tabularnewline%
+ }%
+ \begin{tabular}{|l|}%
+ \hline%
+ \forlistloop\@tempa{\tud@templist}%
+ \hline%
+ \end{tabular}%
+ }[#2]%
+ \ignorespaces%
+ }%
+ \fi%
+}
+\RequirePackage{enumitem}[2011/09/28]
+\setlist{noitemsep}
+\newcommand*\stditem{}
+\newcommand*\tud@before@item[1]{%
+ \ifdefvoid{\stditem}{%
+ \let\stditem\item%
+ \letcs\item{tud@item@#1}%
+ \setlength\changedatskip{-\baselineskip}%
+ }{}%
+}
+\newcommand*\tud@values{}
+\NewDocumentEnvironment{values}{mo}{%
+ \def\tud@values{#1}%
+ \IfValueTF{#2}{\@values[#2]}{\@values}%
+}{%
+ \end@values%
+}
+\newlist{@values}{description}{1}
+\setlist[@values]{%
+ topsep=\smallskipamount,labelwidth=\linewidth,labelsep=0pt,%
+ font=\normalfont,parsep=\parskip,listparindent=\parindent,%
+ before=\tud@before@item{values}%
+}
+\DeclareListParser*{\forslashlist}{/}
+\NewDocumentCommand\tud@item@values{sood()}{%
+ \IfValueTF{#2}{%
+ \let\@tempc\@empty%
+ \def\tud@reserved##1{%
+ \if@tempswa%
+ \appto\@tempb{/##1}%
+ \else%
+ \@tempswatrue%
+ \let\@tempb\@empty%
+ \def\@tempc{##1}%
+ \fi%
+ }%
+ \@tempswafalse%
+ \forslashlist\tud@reserved{#2}%
+ \edef\@tempa{\expandonce\tud@values}%
+ \protected@eappto\@tempa{%
+ =\IfBooleanTF{#1}{\noexpand\emph}{\@firstofone}{\@tempc}=%
+ }%
+ \appto\@tempa{'none'|!|}%
+ \edef\@tempb{%
+ \IfBooleanTF{#1}{\noexpand\emph}{\@firstofone}{%
+ \noexpand\PValue{\@tempb}%
+ }%
+ }%
+ \IfBooleanTF{#1}{%
+ \appto\@tempb{\suffix{S\"aumniswert}}%
+ }{%
+ \IfValueT{#3}{\appto\@tempb{\suffix{S\"aumniswert f\"ur #3}}}%
+ }%
+ \IfValueT{#4}{\appto\@tempb{\suffix{#4}}}%
+ \tud@lbl@get@curr*\tud@lbl@tmp{\tud@bdl@curr:\tud@values}=\@tempc=%
+ \stditem[\tudhyperdef{\tud@lbl@tmp}\@tempa\@tempb]%
+ }{%
+ \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\item@bool{mmr[]r[]r()}{%
+ \toks@{\item}%
+ \IfBooleanT{#1}{\addto@hook\toks@{*}}%
+ \protected@edef\@tempa{#2\IfValueT{#3}{/#3}}%
+ \eaddto@hook\toks@{\expandafter[\@tempa]}%
+ \IfValueT{#4}{\addto@hook\toks@{[#4]}}%
+ \IfValueT{#5}{\addto@hook\toks@{(#5)}}%
+ \the\toks@%
+}
+\newlist{packages}{description}{2}
+\setlist[packages]{%
+ topsep=\smallskipamount,labelwidth=\linewidth,labelsep=0pt,%
+ font=\normalfont,parsep=\parskip,listparindent=\parindent,%
+ before=\tud@before@item{packages}%
+}
+\NewDocumentCommand\tud@item@packages{od<>d()}{%
+ \def\@tempa##1{%
+ \@tempc%
+ \tud@lbl@get@curr*\tud@lbl@tmp{\tud@bdl@curr:\Package{##1}}%
+ \tudhyperdef{\tud@lbl@tmp}%
+ \begingroup%
+ \Package{##1}<#2>'url'|!|%
+ \endgroup%
+ \def\@tempc{, }%
+ }%
+ \stditem[{%
+ \IfValueT{#1}{%
+ \let\@tempc\relax%
+ \forcsvlist\@tempa{#1}%
+ \IfValueT{#3}{%
+ \tud@lbl@get@curr*\tud@lbl@tmp{\tud@bdl@curr:\Package{#3}}%
+ \quad(\tudhyperdef{\tud@lbl@tmp}\Package{#3}'none'|!|)%
+ }%
+ }%
+ }]%
+}
+\newlength\tempdim
+\newsavebox\tabularm@box
+\newlength\tabularm@wd
+\newcommand*\tabularm@num{1}
+\NewEnviron{tabularm}[1]{%
+ \begin{lrbox}{\tabularm@box}%
+ \let\allcolumnpar\@gobble%
+ \begin{tabular}{*{#1}l}\BODY\end{tabular}%
+ \end{lrbox}%
+ \setlength\tabularm@wd{\wd\tabularm@box}%
+ \def\tabularm@num{#1}%
+ \let\allcolumnpar\tabularm@allcolumnpar%
+ \begin{tabular}{*{#1}l}\BODY\end{tabular}%
+}
+\newcommand*\tabularm@allcolumnpar[1]{%
+ \multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}%
+}
+\RequirePackage{tabularx}[1999/01/07]
+\NewDocumentCommand\TermTable{smg}{%
+ \let\tud@templist\relax%
+ \forcsvlist{\listadd\tud@templist}{#2}%
+ \ifhmode\par\fi%
+ \vskip\medskipamount%
+ \@afterindentfalse\@afterheading%
+ \IfBooleanTF{#1}{%
+ \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}%
+ \setlength\@tempdimc{-.7\baselineskip}%
+ \begin{tabularx}{\@tempdima}{lXX}\Term@Table\end{tabularx}%
+ }{%
+ \setlength\@tempdimc{\z@}%
+ \begin{tabular}{lll}\Term@Table\end{tabular}%
+ }%
+ \par\addvspace{\medskipamount}%
+}
+\newcommand*\Term@Table{%
+ \toprule%
+ \textbf{Bezeichner} & \textbf{Deutsch} & \textbf{Englisch}\tabularnewline%
+ \midrule%
+ \forlistloop\Term@@Table{\tud@templist}%
+ \bottomrule%
+}
+\newcommand*\Term@@Table[1]{%
+ \Term{#1} & %
+ \ifstr{\csuse{#1}}{}{\PName{leer}}{\csuse{#1}} & %
+ \selectlanguage{english}\vspace*{\@tempdimc}%
+ \ifstr{\csuse{#1}}{}{\PName{empty}}{\csuse{#1}}\tabularnewline%
+}
+\newenvironment{Example}{\csuse{Example*}}{%
+ \csuse{endExample*}%
+ \addvspace{-\topsep}%
+}
+\newenvironment{Example*}{%
+ \labeling{{\usekomafont{disposition}Beispiel:\nobreakspace}}%
+ \item[{\usekomafont{disposition}Beispiel:\nobreakspace}]%
+}{%
+ \endlabeling%
+}
+\newcommand*\tud@write@a{}
+\newwrite\tud@write@a
+\RequirePackage{listings}[2014/03/04]
+\lstdefinestyle{tudscr}{%
+ basicstyle=\ttfamily\ifdef{\setstretch}{\setstretch{1}}{},%
+ keywordstyle=,%
+ columns=fullflexible,keepspaces,%
+ aboveskip=\smallskipamount,%
+ belowskip=\smallskipamount,%
+ language=[LaTeX]TeX,%
+ texcl,%
+}
+\lstnewenvironment{Code}[1][]{\lstset{style=tudscr,#1}}{}
+\newcommand*\tud@currentHref{}
+\BeforeBeginEnvironment{Code}{\global\let\tud@currentHref\@currentHref}
+\AfterEndEnvironment{Code}{\global\let\@currentHref\tud@currentHref}
+\RequirePackage{filemod}[2011/09/19]
+\RequirePackage{ifplatform}[2010/10/22]
+\newcommand*\tud@shellescape@wrn[1]{%
+ \ClassWarning{tudscrmanual}%
+ {%
+ File `#1' is missing!\MessageBreak%
+ You have to recompile this document with\MessageBreak%
+ activated shell escape option%
+ }%
+}
+\newrobustcmd*\hypertut[2]{%
+ \hyperref{tutorials/#1.pdf}{#1}{tutorials:#1}{\File*{#1.pdf}#2}%
+}
+\NewDocumentCommand\Tutorial{smd||}{%
+ \ifnum\pdfshellescape=\@ne\relax%
+ \filemodCmp{tutorials/#2.pdf}{tutorials/#2.tex}{}{%
+ \let\@tempa\@empty%
+ \ifdef{\tudfinalflag}{\appto\@tempa{\def\noexpand\tudfinalflag{}}}{}%
+ \ifdef{\tudprintflag}{\appto\@tempa{\def\noexpand\tudprintflag{}}}{}%
+ \appto\@tempa{\noexpand\input{#2.tex}}%
+ \def\@tempb##1{%
+ \immediate\openout\tud@write@a=tutorials.sh\relax%
+ \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}%
+ \else%
+ \immediate\write18{bash tutorials.sh}%
+ \immediate\write18{rm tutorials.sh}%
+ \fi%
+ }%
+ \@tempb{pdflatex -shell-escape "\@tempa"}%
+ \IfFileExists{tutorials/#2.bcf}{\@tempb{biber #2}}{}%
+ \@tempb{%
+ pdflatex "\@tempa"^^J%
+ pdflatex -shell-escape "\@tempa"^^J%
+ pdflatex -shell-escape "\@tempa"%
+ }%
+ }%
+ \fi%
+ \IfFileExists{tutorials/#2.pdf}{%
+ \hypertut{#2}{}%
+ }{%
+ \File*{#2.pdf}%
+ \tud@shellescape@wrn{tutorials/#2.pdf}%
+ }%
+ \IfBooleanF{#1}{%
+ \index[files]{\hypertut{#2}{\suffix{Tutorial}}\IfValueT{#3}{|#3}}%
+ }%
+}
+\newcommand*\IncludeExample[1]{%
+ \lstinputlisting[style=tudscr]{examples/#1}%
+ \ifnum\pdfshellescape=\@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%
+ }%
+ }%
+ \fi%
+ \IfFileExists{examples/#1.pdf}{%
+ \includepdf[%
+ pages=-,noautoscale,frame,keepaspectratio,pagecommand={},%
+ height=\textheight,width=\textwidth, offset=5mm 0mm%
+ ]{examples/#1.pdf}%
+ }{%
+ \tud@shellescape@wrn{examples/#1.pdf}%
+ }%
+}
+\PassOptionsToPackage{obeyFinal}{todonotes}
+\ifdef{\tudprintflag}{%
+ \PassOptionsToPackage{color=white}{todonotes}%
+}{%
+ \PassOptionsToPackage{colorinlistoftodos,color=HKS92!10}{todonotes}%
+}
+\RequirePackage{todonotes}[2012/07/25]
+\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}{%
+ \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}%
+ }{%
+ \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}%
+ }%
+ }%
+ \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}%
+ \IfBooleanT{#1}{\addto@hook\toks@{,nolist}}%
+ \sbox\z@{%
+ \expandafter\todo\expandafter[\the\toks@]{\trim@spaces{#3}\strut}%
+ }\usebox\z@%
+ \renewcommand*\marginpar[2][]{%
+ \marginnote[##1]{##2}[\dimexpr-\ht\z@+1.6ex+1.75pt\relax]%
+ }%
+ \toks@\expandafter{\@tempa noline,nolist}%
+ \settowidth\marginparwidth{\tud@todo@marginnote}%
+ \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}%
+ \expandafter\todo\expandafter[\the\toks@]{\tud@todo@marginnote\strut}%
+ \aftergroup\par\aftergroup\noindent%
+ \fi%
+ \endgroup%
+ \global\let\@currentHref\tud@currentHref%
+ }{}%
+ \ignorespaces%
+ }%
+ \newcommand*\ListOfToDo{\if@tud@todo\clearpage\listoftodos\fi}%
+}
+\TUD@UnwindPackage{todonotes}{%
+ \NewDocumentCommand\ToDo{somo}{}%
+ \newcommand*\ListOfToDo{}%
+}
+\RequirePackage{textcomp}[2005/09/27]
+\RequirePackage{setspace}[2011/12/19]
+\setstretch{1.1}
+\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
+\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
+\PassOptionsToPackage{vskip=\smallskipamount}{quoting}
+\RequirePackage{quoting}[2014/01/28]
+\RequirePackage{isodate}[2010/01/03]
+\RequirePackage{hologo}[2012/04/26]
+\RequirePackage{ragged2e}[2009/05/21]
+\RequirePackage{chngcntr}[2009/09/02]
+\counterwithout{footnote}{chapter}
+\addtokomafont{footnote}{\tud@RaggedRight}
+\RequirePackage{booktabs}[2005/04/14]
+\RequirePackage{caption}[2015/09/17]
+\RequirePackage{floatrow}[2008/08/02]
+\DeclareCaptionSubType[alph]{figure}
+\DeclareCaptionSubType[alph]{table}
+\captionsetup{font=sf,labelfont=bf,labelsep=space}
+\captionsetup{singlelinecheck=off,format=hang,justification=raggedright}
+\captionsetup[subfloat]{labelformat=brace,list=off}
+\KOMAoption{captions}{tableheading,figuresignature}
+\floatsetup[table]{style=plaintop}
+\RequirePackage{tikz}[2013/12/13]
+\RequirePackage{pdfpages}[2013/08/25]
+\RequirePackage{units}[1998/08/04]
+\AtEndPreamble{%
+ \RequirePackage{ellipsis}[2004/9/28]%
+ \let\ellipsispunctuation\relax%
+}
+\newcommand*\Attention[2][\z@]{%
+ \marginnote{%
+ \setlength\fboxsep{0.25em}
+ \fbox{Achtung!}%
+ }[#1]%
+ \emph{\trim@spaces{#2}}%
+}
+\NewDocumentCommand\Forum{st'}{%
+ \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}{%
+ \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
+ \addto@hook\toks@{{http://www.ctan.org/\IfValueT{#2}{#2}}}%
+ \addto@hook\toks@{%
+ {\tud@english{Comprehensive TeX Archive Network (CTAN\IfValueT{#3}{~#3})}}%
+ }%
+ \the\toks@\xspace%
+}
+\NewDocumentCommand\GitHubRepo{s}{%
+ \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}}}}%
+ \the\toks@\xspace%
+}
+\newcommand*\notudscrartcl{%
+ F\"ur die Klassen \Class{tudscrartcl} sowie \Class{tudscrposter} ist diese
+ Option nicht verf\"ugbar.%
+}
+\NewDocumentCommand\scrguide{sO{\KOMAScript-Handbuch}}{%
+ \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
+ \addto@hook\toks@{%
+ {http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf}%
+ }%
+ \addto@hook\toks@{{#2}}%
+ \the\toks@\xspace%
+}
+\newcommand*\CD{\tud@english{Corporate Design}\xspace}
+\newcommand*\CDs{\tud@english{Corporate Designs}\xspace}
+\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
+\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
+\newcommand*\TUDCD{\CD der \TnUD}
+\newcommand*\TUDCDs{\CDs der \TnUD}
+\newrobustcmd*\DDC{%
+ \mbox{%
+ D\kern.05em R\kern.05em E\kern.05em S\kern.05em %
+ D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept%
+ }\xspace%
+}
+\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace}
+\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace}
+\newcommand*\textsbn{}
+\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape}
+\DeclareTextFontCommand\textsbn{\sbnfont}
+\newcommand*\textsbs{}
+\newrobustcmd*\sbsfont{\sffamily\bfseries\slshape}
+\DeclareTextFontCommand\textsbs{\sbsfont}
+%%% From File: tudscr-misc.dtx
+\begingroup
+\newcommand*\tud@write@xdy{}
+\newwrite\tud@write@xdy
+\newif\if@tud@xdy@glo
+\newcommand*\tud@xdy@create[2][theindex]{%
+ \IfFileExists{\@currname-#2.xdy}{}{%
+ \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}%
+ \openout\tud@write@xdy=\@currname-#2.xdy\relax%
+ \write\tud@write@xdy{(require "texindy.xdy")}%
+ \write\tud@write@xdy{%
+ (define-location-class^^J%
+ \space\space"arabic-page-numbers" ("arabic-numbers")%
+ \space:min-range-length 1^^J%
+ )^^J%
+ (markup-range :sep "--")%
+ }%
+ \write\tud@write@xdy{%
+ (markup-locclass-list%
+ \space:open "\string\,\string\dotfill\string\,"%
+ \space:close "\string\relax"%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
+ }%
+ \write\tud@write@xdy{%
+ (markup-indexentry :open "~n \string\subsubsubitem " :depth 3)%
+ }%
+ \write\tud@write@xdy{%
+ (define-attributes (("declare" "!" "important" "?" "default")))^^J%
+ (markup-locref%
+ \space:attr "declare"\space\space%
+ \space:open "\string\textbf{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "!"\@spaces\@spaces%
+ \space:open "\string\textbf{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "important"%
+ \space:open "\string\textsl{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "?"\@spaces\@spaces%
+ \space:open "\string\textsl{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "default"\space\space%
+ \space:open "\string\hyperpage{"\@spaces\@spaces%
+ \space:close "}"%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (markup-crossref-list :class "see"^^J%
+ \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J%
+ )^^J%
+ (markup-crossref-list :class "seealso"^^J%
+ \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (define-crossref-class "seeunverified" :unverified)^^J%
+ (markup-crossref-list :class "seeunverified"^^J%
+ \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (define-crossref-class "seeidx" :unverified)^^J%
+ (markup-crossref-list :class "seeidx"^^J%
+ \space\space:open "\string\seeidx{"\@spaces\@spaces:sep "; "%
+ \space:close "}{}"^^J%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (define-location-class-order^^J%
+ \space\space(^^J%
+ \@spaces"see" "seealso" "seeidx" "seeunverified"^^J%
+ \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J%
+ \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J%
+ \space\space)^^J%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (markup-crossref-layer-list :class "see"%
+ \@spaces\space:sep "\string\,\string\textbar\string\,"%
+ )^^J%
+ (markup-crossref-layer-list :class "seealso"%
+ \space:sep "\string\,\string\textbar\string\,"%
+ )%
+ }%
+ \closeout\tud@write@xdy%
+ }%
+}
+\tud@xdy@create{ind}
+\endgroup
+%%% From File: tudscr-fields.dtx
+\newcommand*\@chairman{}
+\newcommand*\chairman[1]{\gdef\@chairman{#1}}
+\newcommand*\@grade{}
+\newcommand*\grade[1]{\gdef\@grade{#1}}
+\newcommand*\@headline{}
+\newcommand*\@issuedate{}
+\newcommand*\issuedate[1]{\tud@x@isodate@printdate{\@issuedate}{#1}}
+\newcommand*\@duedate{}
+\newcommand*\duedate[1]{\tud@x@isodate@printdate{\@duedate}{#1}}
+\newcommand*\finaldate{}
+\newcommand*\maturitydate{}
+\newcommand*\@contactperson{}
+\newcommand*\contactperson[1]{\gdef\@contactperson{#1}}
+\newcommand*\@office{}
+\newrobustcmd*\office[1]{\gdef\@office{#1}}
+\newcommand*\@telephone{}
+\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}{%
+ 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}{%
+ The thesis is evaluated with a grade of \textbf{\@grade}.%
+}%
+\tud@locale@english{\noticename}{Notice}%
+\endinput
+%%
+%% End of file `tudscrmanual.cls'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls
new file mode 100644
index 00000000000..a6c8796ff12
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls
@@ -0,0 +1,5120 @@
+%%
+%% This is file `tudscrposter.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tudscr-version.dtx (with options: `class,poster')
+%% tudscr-base.dtx (with options: `class,poster,load')
+%% tudscr-fonts.dtx (with options: `class,poster,option')
+%% tudscr-area.dtx (with options: `class,poster,option')
+%% tudscr-pagestyle.dtx (with options: `class,poster,option')
+%% 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-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-area.dtx (with options: `class,poster,body')
+%% tudscr-pagestyle.dtx (with options: `class,poster,body')
+%% tudscr-layout.dtx (with options: `class,poster,body')
+%% tudscr-title.dtx (with options: `class,poster,body')
+%% tudscr-frontmatter.dtx (with options: `class,poster,body')
+%% tudscr-comp.dtx (with options: `class,poster,body')
+%% tudscr-misc.dtx (with options: `class,poster,body')
+%%
+%% ============================================================================
+%%
+%% TUD-KOMA-Script
+%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
+%%
+%% ============================================================================
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, version 1.3c of the license. The latest
+%% version of this license is in http://www.latex-project.org/lppl.txt and
+%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+%% or later and of this work. This work has the LPPL maintenance status
+%% "author-maintained". The current maintainer and author of this work
+%% is Falk Hanisch.
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%%
+%% ============================================================================
+%%
+%%% From File: tudscr-version.dtx
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
+ \def\@tempa{#1}%
+ \ifx\TUD@Version\@tempa\else%
+ \@latex@warning@no@line{%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
+ but `#1' was expected!\MessageBreak%
+ You should not use classes, packages or files from\MessageBreak%
+ different TUD-KOMA-Script-Bundle versions%
+ }%
+ \fi%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
+\providecommand*\tudscrmail{tudscr@gmail.com}
+\newcommand*\TUD@ProvidesClass[3]{%
+ \ProvidesClass{#1}[%
+ 2016/07/26 v2.05 TUD-KOMA-Script
+ ^^J#3 (#2)%
+ ]%
+ \newcommand*\TUD@Class@KOMA{#2}%
+ \@ifundefined{TUD@Class@Parent}{%
+ \newcommand*\TUD@Class@Name{#1}%
+ \TUD@Class@Info%
+ }{}%
+}
+\providecommand*\TUD@Class@Info{%
+ \typeout{+---------------------------------------------------------------}%
+ \typeout{| The 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{+---------------------------------------------------------------}%
+}
+\TUD@ProvidesClass{tudscrposter}{scrartcl}{poster class}
+\edef\TUDScriptClassName{\TUD@Class@Name}
+\providecommand*\TUDClassName{\TUDScriptClassName}
+\@ifundefined{TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
+ \ifdin{TUD-KOMA-SCRIPT}{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+ }\csname xspace\endcsname%
+ }%
+}{}
+%%% From File: tudscr-base.dtx
+\RequirePackage{tudscrbase}[\TUD@Version]
+\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}}
+\AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions}
+%%% From File: tudscr-fonts.dtx
+\PreventPackageFromLoading[%
+ \ClassWarning{\TUD@Class@Name}{%
+ The package `tudscrfonts' must not be used with\MessageBreak%
+ a TUD-KOMA-Script class%
+ }%
+]{tudscrfonts}
+\newif\if@tud@x@fontspec@enabled
+\AfterPackage*{fontspec}{\@tud@x@fontspec@enabledtrue}
+\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@ultrabold
+\@tud@cdfont@dintrue
+\newcommand*\tud@cdfont@num{1}
+\TUD@key{cdfont}[true]{%
+ \TUD@set@numkey{cdfont}{@tempa}{%
+ \TUD@numkey@bool,%
+ {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
+ {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}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@cdfont@num{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% true
+ \renewcommand*\tud@cdfont@num{1}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% heavy
+ \renewcommand*\tud@cdfont@num{2}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% normalbold
+ \@tud@cdfont@ultraboldfalse%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% ultrabold
+ \@tud@cdfont@ultraboldtrue%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \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}%
+ \or% nomath
+ \TUDoptions{cdmath=false}%
+ \or% math
+ \TUDoptions{cdmath=true}%
+ \or% upgreek
+ \TUDoptions{slantedgreek=false}%
+ \or% slgreek
+ \TUDoptions{slantedgreek=true}%
+ \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}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }{}%
+ \fi%
+}
+\newif\if@tud@relspacing
+\TUD@key{relspacing}[true]{%
+ \TUD@set@numkey{relspacing}{@tempa}{%
+ \TUD@numkey@bool,%
+ {absolute}{0},{classic}{0},{standard}{0},%
+ {relative}{1},{fontsize}{1},{font}{1},{size}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@relspacingfalse%
+ \or% true
+ \@tud@relspacingtrue%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
+ \fi%
+}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{fontsize}{%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
+ \FamilyKeyStateProcessed%
+}
+\bool@lock{@tud@cdmath}
+\TUD@key{cdmath}[true]{%
+ \TUD@set@numkey{cdmath}{@tempa}{%
+ \TUD@numkey@bool,%
+ {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},%
+ {sansmath}{1},{sans}{1},%
+ {upgreek}{2},{upright}{2},{uprightgreek}{2},{uprightGreek}{2},%
+ {slgreek}{3},{slanted}{3},{slantedgreek}{3},{slantedGreek}{3}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \bool@set@lock{@tud@cdmath}{false}%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \or% true
+ \bool@set@lock{@tud@cdmath}{true}%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \or% upgreek
+ \TUDoptions{slantedgreek=false}%
+ \or% slgreek
+ \TUDoptions{slantedgreek=true}%
+ \fi%
+ \fi%
+}
+\bool@lock{@tud@slantedgreek}
+\TUD@key{slantedgreek}[true]{%
+ \TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \bool@set@lock{@tud@slantedgreek}{#1}%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
+ \fi%
+}
+\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+%%% From File: tudscr-area.dtx
+\cs@lock{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@numkey@bool,%
+ {typearea}{0},%
+ {cd}{1},{tud}{1},{asymmetric}{1},%
+ {symmetric}{2},{centred}{2},{centered}{2},%
+ {normal}{2},{standard}{2},{std}{2},%
+ {twoside}{3},{balanced}{3},%
+ {oneside}{4},%
+ {restricted}{5},%
+ {adapted}{6},{adapt}{6},{adapting}{6},{unrestricted}{6},%
+ {calculated}{7},{calc}{7},{calculate}{7},{calculating}{7},%
+ {custom}{8},{user}{8},{package}{8}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false/typearea
+ \cs@set@lock{tud@cdgeometry@num}{0}%
+ \or% true/cd
+ \cs@set@lock{tud@cdgeometry@num}{2}%
+ \or% symmetric
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \or% twoside
+ \cs@set@lock{tud@cdgeometry@num}{4}%
+ \TUD@KOMAoptions{twoside=true}%
+ \or% oneside
+ \ifnum\tud@cdgeometry@num>\thr@@\relax%
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \fi%
+ \TUD@KOMAoptions{twoside=false}%
+ \or% restricted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{0}%
+ \or% adapted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{1}%
+ \or% calculated
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{2}%
+ \or% custom
+ \cs@set@lock{tud@cdgeometry@num}{1}%
+ \fi%
+ \@tempswafalse%
+ \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi%
+ \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi%
+ \if@tempswa%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@dim@extrabottommargin{\z@}
+\TUD@key{extrabottommargin}{%
+ \TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \fi%
+}
+\newcommand*\tud@dim@bleedmargin{.2in}
+\TUD@key{bleedmargin}{%
+ \TUD@set@dimenkey{bleedmargin}{\tud@dim@bleedmargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifdim\dimexpr\tud@dim@bleedmargin\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@bleedmargin{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \fi%
+}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{twoside}{%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \FamilyKeyStateProcessed%
+}
+\DefineFamilyKey{KOMA}{twocolumn}{%
+ \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]}
+}{}
+%%% From File: tudscr-pagestyle.dtx
+\newcommand*\tud@ps@list{}
+\newcommand*\tud@if@tudheadings[3]{%
+ \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}%
+}
+\newif\if@tud@ddc@internal
+\newcommand*\tud@comp@clearpage{}%
+\newcommand*\tud@comp@resetpagestyle{}%
+\newcommand*\tud@ddc@switch{}
+\edef\tud@ddc@switch{%
+ \TUD@numkey@bool,%
+ {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},%
+ {black}{5},{cdblack}{5},%
+ {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},%
+ {white}{7},{cdwhite}{7}%
+}
+\newif\if@tud@headlogo@option@set
+\newif\if@tud@footlogo@option@set
+\newif\if@tud@ddc@auto
+\newcommand*\tud@ddc@auto@num{0}
+\TUD@key{ddc}[true]{%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tud@ddc@internal%
+ \@tud@ddc@autofalse%
+ \else%
+ \@tud@ddc@autotrue%
+ \@tud@ddc@internaltrue%
+ \TUDoptions{ddchead=false}%
+ \TUDoptions{ddcfoot=false}%
+ \@tud@ddc@internalfalse%
+ \fi%
+ \global\@tud@headlogo@option@settrue%
+ \global\@tud@footlogo@option@settrue%
+ \fi%
+ \tud@comp@resetpagestyle%
+}
+\newcommand*\tud@ddc@head@num{0}
+\TUD@key{ddchead}[true]{%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tud@ddc@internal\else%
+ \@tud@ddc@internaltrue%
+ \TUDoptions{ddcfoot=false}%
+ \TUDoptions{ddc=false}%
+ \@tud@ddc@internalfalse%
+ \fi%
+ \fi%
+ \tud@comp@resetpagestyle%
+}
+\newcommand*\tud@ddc@foot@num{0}
+\TUD@key{ddcfoot}[true]{%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tud@ddc@internal\else%
+ \@tud@ddc@internaltrue%
+ \TUDoptions{ddchead=false}%
+ \TUDoptions{ddc=false}%
+ \@tud@ddc@internalfalse%
+ \fi%
+ \fi%
+ \tud@comp@resetpagestyle%
+}
+\newcommand*\tud@dim@footlogoheight{}
+\let\tud@dim@footlogoheight\relax
+\TUD@key{footlogoheight}{%
+ \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \global\@tud@footlogo@option@settrue%
+ \fi%
+}
+\cs@lock{tud@head@font@num}{0}
+\cs@lock{tud@head@bar@num}{0}
+\bool@lock{@tud@head@widebar}
+\newif\if@tud@head@font@set
+\newif\if@tud@head@date
+\TUD@key{cdhead}[true]{%
+ \TUD@set@numkey{cdhead}{@tempa}{%
+ \TUD@numkey@bool,%
+ {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
+ {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
+ {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
+ {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},%
+ {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},%
+ {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},%
+ {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},%
+ {colorbar}{5},{barcolor}{5},{colourbar}{5},{barcolour}{5},%
+ {bicolor}{6},{bicolour}{6},{twocolor}{6},{twocolour}{6},%
+ {bichrome}{6},{bichromatic}{6},{dichrome}{6},{dichromatic}{6},%
+ {color}{6},{colour}{6},%
+ {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},%
+ {textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},%
+ {narrow}{7},{narrowhead}{7},{small}{7},{smallhead}{7},%
+ {paperwidth}{8},{wide}{8},{widehead}{8},%
+ {date}{9},{showdate}{9},{dateon}{9},{datetrue}{9},{dateyes}{9},%
+ {nodate}{10},{hidedate}{10},{dateoff}{10},{datefalse}{10},{dateno}{10}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \cs@set@lock{tud@head@font@num}{0}%
+ \or% true
+ \cs@set@lock{tud@head@font@num}{1}%
+ \or% heavy
+ \cs@set@lock{tud@head@font@num}{2}%
+ \or% nocolor
+ \cs@set@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% color
+ \cs@set@lock{tud@head@bar@num}{3}%
+ \or% textwidth
+ \bool@set@lock{@tud@head@widebar}{false}%
+ \or% paperwidth
+ \bool@set@lock{@tud@head@widebar}{true}%
+ \or% date
+ \@tud@head@datetrue%
+ \or% nodate
+ \@tud@head@datefalse%
+ \fi%
+ \ifnum\@tempa<\thr@@\relax%
+ \global\@tud@head@font@settrue%
+ \fi%
+ \fi%
+}
+\TUD@AfterPackage@set{scrlayer-scrpage}
+\bool@lock{@tud@foot@colored}
+\TUD@key{cdfoot}[true]{%
+ \TUD@set@numkey{cdfoot}{@tempa}{%
+ \TUD@numkey@bool,%
+ {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}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
+ \tud@ps@restore{scrheadings}%
+ \tud@ps@restore{plain.scrheadings}%
+ \tud@font@koma@unset{pageheadfoot}%
+ }%
+ \or% true
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
+ \tud@ps@store{scrheadings}%
+ \tud@ps@store{plain.scrheadings}%
+ \tud@font@koma@set{pageheadfoot}{\upshape}%
+ \clearpairofpagestyles%
+ \ofoot[\pagemark]{%
+ \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi%
+ {\footnotesize\headmark}%
+ \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi%
+ }%
+ \ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
+ }%
+ \or% nocolor
+ \bool@set@lock{@tud@foot@colored}{false}%
+ \or% color
+ \bool@set@lock{@tud@foot@colored}{true}%
+ \fi%
+ \else%
+ \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
+ \fi%
+}
+\newcommand*\tud@ps@store[1]{%
+ \tud@ps@@store{#1}{odd}{left}{head}%
+ \tud@ps@@store{#1}{odd}{right}{head}%
+ \tud@ps@@store{#1}{odd}{middle}{head}%
+ \tud@ps@@store{#1}{even}{left}{head}%
+ \tud@ps@@store{#1}{even}{right}{head}%
+ \tud@ps@@store{#1}{even}{middle}{head}%
+ \tud@ps@@store{#1}{odd}{left}{foot}%
+ \tud@ps@@store{#1}{odd}{right}{foot}%
+ \tud@ps@@store{#1}{odd}{middle}{foot}%
+ \tud@ps@@store{#1}{even}{left}{foot}%
+ \tud@ps@@store{#1}{even}{right}{foot}%
+ \tud@ps@@store{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@store[4]{%
+ \ifcsdef{@@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}%
+ \tud@ps@@restore{#1}{odd}{right}{head}%
+ \tud@ps@@restore{#1}{odd}{middle}{head}%
+ \tud@ps@@restore{#1}{even}{left}{head}%
+ \tud@ps@@restore{#1}{even}{right}{head}%
+ \tud@ps@@restore{#1}{even}{middle}{head}%
+ \tud@ps@@restore{#1}{odd}{left}{foot}%
+ \tud@ps@@restore{#1}{odd}{right}{foot}%
+ \tud@ps@@restore{#1}{odd}{middle}{foot}%
+ \tud@ps@@restore{#1}{even}{left}{foot}%
+ \tud@ps@@restore{#1}{even}{right}{foot}%
+ \tud@ps@@restore{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@restore[4]{%
+ \ifcsdef{@@tud@ps@#1@#2@#3@#4}{%
+ \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}%
+ \csundef{@@tud@ps@#1@#2@#3@#4}%
+ }{}%
+}
+%%% From File: tudscr-layout.dtx
+\newcommand*\tud@layout@switch{}
+\edef\tud@layout@switch{%
+ \TUD@numkey@bool,%
+ {nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},%
+ {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
+ {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},%
+ {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},%
+ {colorbar}{3},{barcolor}{3},{colourbar}{3},{barcolour}{3},%
+ {bicolor}{4},{bicolour}{4},{twocolor}{4},{twocolour}{4},%
+ {bichrome}{4},{bichromatic}{4},{dichrome}{4},{dichromatic}{4},%
+ {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}%
+ \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}%
+ \if@atdocument\else%
+ \ifcase\tud@cd@num\relax% false
+ \cs@std@lock{tud@cdgeometry@num}{0}%
+ \else% !false
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \fi%
+ \fi%
+ \fi%
+}
+\TUD@key{cdtitle}[true]{%
+ \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@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}%
+ \fi%
+}
+\TUD@key{cdpart}[true]{%
+ \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@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}%
+ \fi%
+}
+\TUD@key{cdsection}[true]{%
+ \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@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}%
+ \fi%
+}
+\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@font@koma@unset[1]{%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
+ \csdef{tud@font@koma@#1}{\relax}%
+}
+\newcommand*\tud@font@koma@reset[1]{%
+ \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}%
+}
+\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@pagecolor{}%
+\TUD@key{backgroundcolor}[true]{%
+ \TUD@set@numkey{backgroundcolor}{@tempa}{%
+ \TUD@numkey@bool,%
+ {nocolor}{0},{nocolour}{0},{none}{0},%
+ {color}{1},{colour}{1},{cdcolor}{1},{cdcolour}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@pagecolor{}%
+ \else% true
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \fi%
+ \else%
+ \renewcommand*\tud@pagecolor{#1}%
+ \FamilyKeyStateProcessed%
+ \fi%
+ \if@atdocument%
+ \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}%
+ \normalcolor%
+ \fi%
+}
+\AfterPackage{xcolor}{%
+ \CheckCommand*\normalcolor{\let\current@color\default@color\set@color}%
+ \apptocmd{\normalcolor}{%
+ \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{}%
+ }{}{\tud@patch@wrn{normalcolor}}%
+ \AtBeginDocument{%
+ \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}%
+ \normalcolor%
+ }%
+}
+%%% From File: tudscr-title.dtx
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{titlepage}[true]{%
+ \TUD@set@numkey{titlepage}{@tempa}{\TUD@numkey@bool,{firstiscover}{2}}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \AtEndOfFamilyOptions{\tud@titlepage@deactivate}%
+ \fi%
+}
+\newcommand*\tud@titlepage@deactivate{%
+ \if@titlepage%
+ \KOMAoptions{titlepage=false}%
+ \ClassWarning{\TUD@Class@Name}{%
+ The class `\TUD@Class@Name' can't be used with\MessageBreak%
+ activated titlepage option. It will be enforced to\MessageBreak%
+ `titlepage=false'%
+ }%
+ \renewcommand*\tud@titlepage@deactivate{%
+ \if@titlepage\KOMAoptions{titlepage=false}\fi%
+ }%
+ \fi%
+}
+\AtBeginDocument{\tud@titlepage@deactivate}
+%%% From File: tudscr-frontmatter.dtx
+\newcommand*\tud@fm@switch{%
+ {section}{2},{sect}{2},{sec}{2},{addsec}{2},%
+ {new}{2},{standard}{2},{heading}{2},%
+}
+\newcommand*\tud@abstract@level@num{0}
+\TUD@key{abstract}[true]{%
+ \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}%
+ \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \renewcommand*\tud@abstract@level@num{0}%
+ \or% true
+ \renewcommand*\tud@abstract@level@num{1}%
+ \or% section
+ \renewcommand*\tud@abstract@level@num{2}%
+ \fi%
+ \fi%
+}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{abstract}[true]{%
+ \AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
+}
+%%% From File: tudscr-comp.dtx
+\newcommand*\TUD@key@deprecated[2]{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The option key `#1' is deprecated\MessageBreak%
+ It's recommended to use `#2'\MessageBreak%
+ instead%
+ }%
+ \TUDoptions{#2}%
+}
+\TUD@key{fontspec}[true]{%
+ \ClassWarning{\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}[2014/06/21]%
+ \fi%
+}
+\TUD@key{cdfonts}[true]{%
+ \TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=true}%
+ \else%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=false}%
+ \fi%
+ \fi%
+}
+\TUD@key{tudfonts}[true]{%
+ \TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=true}%
+ \else%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=false}%
+ \fi%
+ \fi%
+}
+\TUD@key{heavyfont}[true]{%
+ \TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{heavyfont}{cdfont=heavy}%
+ \else%
+ \TUD@key@deprecated{heavyfont=#1}{cdfont=true}%
+ \fi%
+ \fi%
+}
+\TUD@key{din}[true]{%
+ \TUD@set@ifkey{din}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{din}{cdfont=din}%
+ \else%
+ \TUD@key@deprecated{din=#1}{cdfont=nodin}%
+ \fi%
+ \fi%
+}
+\TUD@key{nodin}[true]{%
+ \TUD@set@ifkey{nodin}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{nodin}{cdfont=nodin}%
+ \else%
+ \TUD@key@deprecated{nodin=#1}{cdfont=din}%
+ \fi%
+ \fi%
+}
+\TUD@key{noDIN}[true]{%
+ \TUD@set@ifkey{noDIN}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{noDIN}{cdfont=nodin}%
+ \else%
+ \TUD@key@deprecated{noDIN=#1}{cdfont=din}%
+ \fi%
+ \fi%
+}
+\TUD@key{sansmath}[true]{%
+ \TUD@set@ifkey{sansmath}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{sansmath}{cdmath=true}%
+ \else%
+ \TUD@key@deprecated{sansmath=#1}{cdmath=false}%
+ \fi%
+ \fi%
+}
+\TUD@key{serifmath}[true]{%
+ \TUD@set@ifkey{serifmath}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{serifmath}{cdmath=false}%
+ \else%
+ \TUD@key@deprecated{serifmath=#1}{cdmath=true}%
+ \fi%
+ \fi%
+}
+\TUD@key{geometry}[true]{\TUD@key@deprecated{geometry=#1}{cdgeometry=#1}}
+\TUD@key{barfont}[true]{%
+ \TUD@set@numkey{barfont}{@tempa}{%
+ \TUD@numkey@bool,%
+ {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
+ {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
+ {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \TUD@key@deprecated{barfont=#1}{cdhead=false}%
+ \or% true
+ \TUD@key@deprecated{barfont=#1}{cdhead=true}%
+ \or% heavy
+ \TUD@key@deprecated{barfont=#1}{cdhead=heavy}%
+ \fi%
+ \fi%
+}
+\TUD@key{widehead}[true]{%
+ \TUD@set@ifkey{widehead}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{widehead}{cdhead=paperwidth}%
+ \else%
+ \TUD@key@deprecated{widehead=#1}{cdhead=textwidth}%
+ \fi%
+ \fi%
+}
+\TUD@key{tudfoot}[true]{%
+ \TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \TUD@key@deprecated{tudfoot}{cdfoot=true}%
+ \else%
+ \TUD@key@deprecated{tudfoot=#1}{cdfoot=false}%
+ \fi%
+ \fi%
+}
+\TUD@key{color}[true]{%
+ \TUD@set@numkey{color}{@tempa}{%
+ \TUD@numkey@bool,%
+ {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},%
+ {color}{1},{colour}{1},%
+ {lite}{2},{light}{2},{pale}{2},%
+ {colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},%
+ {colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},%
+ {colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},%
+ {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},%
+ {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},%
+ {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \TUD@key@deprecated{color=#1}{cd=true}%
+ \or% true
+ \TUD@key@deprecated{color=#1}{cd=color}%
+ \or% litecolor
+ \TUD@key@deprecated{color=#1}{cd=pale}%
+ \or% bicolor
+ \TUD@key@deprecated{color=#1}{cd=bicolor}%
+ \or% full
+ \TUD@key@deprecated{color=#1}{cd=fullcolor}%
+ \fi%
+ \fi%
+}
+\TUD@key{colour}[true]{\TUDoptions{color=#1}}
+\newcommand*\tud@v@comp{\tud@v@last}
+\TUD@key{tudscrver}[last]{%
+ \tud@v@get\@tempa{#1}%
+ \ifcsundef{tud@v@\@tempa}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ You have set option `tudscrver' to `\@tempa', but\MessageBreak%
+ this value is not supported. Because of this, the\MessageBreak%
+ value for `tudscrver' was set to `first'%
+ }%
+ \def\tud@v@comp{0}%
+ }{%
+ \ClassInfoNoLine{\TUD@Class@Name}%
+ {%
+ Switching compatibility level to `\@tempa'%
+ }%
+ \edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
+ }%
+ \FamilyKeyStateProcessed%
+}
+\AtEndOfClass%
+{%
+ \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'
+ but you have tried to set it up later.%
+ }%
+ \FamilyKeyStateProcessed%
+ }%
+ \ifcsdef{scr@v@\TUD@Version@KOMA}{%
+ \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax%
+ \ClassError{\TUD@Class@Name}{%
+ KOMA-Script compatibility level too low%
+ }{%
+ \TUD@Version\space must be used at least with\MessageBreak%
+ KOMA-Script compatibility option `version=3.12'.%
+ }%
+ \fi%
+ }{%
+ \ClassError{\TUD@Class@Name}{%
+ KOMA-Script v\TUD@Version@KOMA is required%
+ }{%
+ \TUD@Version\space must at least be used with\MessageBreak%
+ KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion%
+ }%
+ }%
+}
+\csdef{tud@v@first}{0}
+\csdef{tud@v@2.00}{0}
+\csdef{tud@v@2.01}{0}
+\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}
+\csdef{tud@v@2.04a}{2}
+\csdef{tud@v@2.04b}{2}
+\csdef{tud@v@2.04c}{2}
+\csdef{tud@v@2.04d}{2}
+\csdef{tud@v@2.04e}{2}
+\csdef{tud@v@2.05}{3}
+\csdef{tud@v@last}{3}
+\newcommand*\tud@v@get[2]{%
+ \begingroup%
+ \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
+ \def\@tempb v##1\@nil{\def\@tempc{##1}}%
+ \@tempa #2\@nil%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\def#1}{\@tempc}%
+ }%
+ \tud@reserved%
+}
+\newcommand*\tud@if@v@lower[1]{%
+ \begingroup%
+ \tud@v@get\@tempa{#1}%
+ \ifcsdef{tud@v@\@tempa}{%
+ \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax%
+ \def\tud@reserved{\endgroup\@firstoftwo}%
+ \else%
+ \def\tud@reserved{\endgroup\@secondoftwo}%
+ \fi%
+ }{%
+ \def\tud@reserved{%
+ \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning!
+ Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak%
+ There's no defined macro `\string\tud@v@\@tempa'%
+ }%
+ \endgroup\@firstoftwo%
+ }%
+ }%
+ \tud@reserved%
+}
+%%% 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%
+ }%
+ \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%
+ \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}
+\TUDExecuteOptions{%
+ cd=bicolor,relspacing=true,tudbookmarks=false,cdfont=ultrabold%
+}
+\TUDProcessOptions\relax
+\LoadClass{\TUD@Class@KOMA}[2015/04/23]
+%%% From File: tudscr-base.dtx
+\RequirePackage{environ}[2013/04/01]
+\AtEndPreamble{%
+ \@ifpackageloaded{graphicx}{}{%
+ \@ifpackageloaded{graphics}{%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ Package `graphics' was superseded by `graphicx',\MessageBreak%
+ which now will be loaded automatically%
+ }%
+ }{}%
+ }%
+ \RequirePackage{graphicx}[1999/02/16]%
+ \RequirePackage{tudscrcolor}[\TUD@Version]%
+}
+\cs@lock{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}%
+ \fi%
+}
+\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\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@x@fontspec@noerror{}
+\IfFileExists{expl3.sty}{\@tempswatrue}{\@tempswafalse}
+\if@tempswa
+ \RequirePackage{expl3}[2016/05/18]
+ \ExplSyntaxOn
+ \renewcommand*\tud@x@fontspec@noerror{%
+ \__fontspec_font_suppress_not_found_error:
+ \msg_redirect_name:nnn {fontspec}{font-not-found}{none}
+ }%
+ \ExplSyntaxOff
+\fi
+\newcommand*\tud@font@check{%
+ \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
+ \def\@tempb##1{%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts for math typesetting not found\MessageBreak%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual%
+ }%
+ \fi%
+ \fi%
+ }%
+ \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
+ \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN Bold}}%
+ \if@tud@x@fontspec@enabled%
+ \def\@tempc##1##2{%
+ \fontspec{##1}%
+ \expandafter\ifx\the\font\nullfont%
+ ##2%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. A fallback layout is used%
+ }%
+ \fi%
+ \fi%
+ }%
+ \begingroup%
+ \tud@x@fontspec@noerror%
+ \global\@tud@universtrue%
+ \@tempc{Univers Light}{\global\@tud@universfalse}%
+ \@tempc{Univers}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold}{\global\@tud@universfalse}%
+ \@tempc{Univers Black}{\global\@tud@universfalse}%
+ \@tempc{Univers Light Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Black Oblique}{\global\@tud@universfalse}%
+ \global\@tud@dinboldtrue%
+ \@tempc{DIN Bold}{\global\@tud@dinboldfalse}%
+ \endgroup%
+ \else%
+ \def\@tempc##1{%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \@tempswafalse%
+ \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
+ \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ \if@tempswa%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual.\MessageBreak%
+ \else%
+ Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
+ \fi%
+ A fallback layout is used%
+ }%
+ \fi%
+ }%
+ \@tempa{\encodingdefault}%
+ {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
+ \@tempa{\encodingdefault}%
+ {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
+ \fi%
+ \undef\tud@font@check%
+}
+\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%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' fonts not found}%
+ \fi%
+ \if@tud@dinbold\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' fonts not found}%
+ \fi%
+ \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%
+ \bool@std@lock{@tud@cdmath}{false}%
+ \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}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{true}%
+ \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
+ \if@tud@univers%
+ \if@tud@x@fontspec@enabled%
+ \setsansfont{Univers}[%
+ 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 Light Oblique},%
+ FontFace = {m}{\sldefault}{Univers Oblique},%
+ FontFace = {b}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {bx}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {eb}{\sldefault}{Univers Black Oblique},%
+ NFSSFamily = \tud@univers%
+ ]%
+ \setmonofont{LMMono10-Regular}[%
+ 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}%
+ \fi%
+ \renewcommand*\familydefault{\sfdefault}%
+ \renewcommand*\seriesdefault{\mddefault}%
+ \renewcommand*\shapedefault{\updefault}%
+ \fi%
+ \if@tud@x@mweights@enabled%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \fi%
+ \ifdef{\tud@font@math@init}{}{\tud@font@math@set}%
+ \tud@font@skip@set%
+ \normalfont\selectfont%
+ \tud@layout@process%
+ \global\@tud@head@font@settrue%
+}
+\newcommand*\tud@font@skip@set{%
+ \if@tud@relspacing%
+ \tud@skip@store{smallskipamount}%
+ \tud@skip@store{medskipamount}%
+ \tud@skip@store{bigskipamount}%
+ \tud@skip@store{abovecaptionskip}%
+ \tud@skip@store{belowcaptionskip}%
+ \tud@skip@store{columnsep}%
+ \tud@font@skip@@set%
+ \else%
+ \tud@skip@restore{smallskipamount}%
+ \tud@skip@restore{medskipamount}%
+ \tud@skip@restore{bigskipamount}%
+ \tud@skip@restore{abovecaptionskip}%
+ \tud@skip@restore{belowcaptionskip}%
+ \tud@skip@restore{columnsep}%
+ \fi%
+}
+\newcommand*\tud@font@skip@@set{%
+ \smallskipamount=\partopsep%
+ \medskipamount=\partopsep%
+ \multiply\medskipamount by 2%
+ \bigskipamount=\partopsep%
+ \multiply\bigskipamount by 4%
+ \tud@skip@set{abovecaptionskip}{\dimexpr\bigskipamount*5/6\relax}%
+ \tud@skip@set{belowcaptionskip}{\z@}%
+ \tud@skip@set{columnsep}{1.1\baselineskip}%
+}
+\newcommand*\tud@font@init{%
+ \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 Light Oblique}{md}{sl}}%
+ \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
+ \newrobustcmd*\univbs{\tud@font@fallback{Univers Bold Oblique}{bf}{sl}}%
+ \newrobustcmd*\univxs{\tud@font@fallback{Univers Black Oblique}{bf}{sl}}%
+ \fi%
+ \if@tud@dinbold%
+ \if@tud@x@fontspec@enabled%
+ \newfontface\tud@dinbn{DIN Bold}[%
+ 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},%
+ NFSSFamily = \tud@dinbold%
+ ]%
+ \else%
+ \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
+ \fi%
+ \if@tud@dinboldmath%
+ \appto\tud@dinbn{\mathversion{dinbold}}%
+ \fi%
+ \newrobustcmd*\dinbn{\tud@dinbn}%
+ \else%
+ \newrobustcmd*\tud@dinbn{\sectfont}%
+ \newrobustcmd*\dinbn{\tud@font@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@wrn{#1}%
+ \sffamily\csuse{#2series}\csuse{#3shape}%
+}
+\newcommand*\tud@font@wrn[1]{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The requested font `#1' is not available, so\MessageBreak%
+ a fallback layout is used%
+ }%
+}
+\newcommand*\cdfont[1]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
+ \fi%
+}
+\providecommand*\tudfont[1]{\cdfont{#1}}
+\newcommand*\textcdfont[2]{%
+ \tud@cdfont@get{#1}%
+ \ifx\@tempc\relax\else%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
+ \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}}{%
+ \let\@tempc\relax%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
+ }}}}}}}}}}}}}}%
+}
+\newcommand*\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%
+}
+\newcommand*\tud@cdfont@@trim[2]{%
+ \def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
+ \@expandtwoargs\in@{#1}{\@tempa}%
+ \@whilesw\ifin@\fi{%
+ \expandafter\@tempb\@tempa\relax%
+ \@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%
+ }%
+ }%
+ }{}%
+ \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}%
+ }{}%
+ \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}%
+ }{%
+ \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}%
+ \fi%
+ \tud@font@greek@loop\tud@font@greek@init%
+ \tud@font@math@set%
+ }%
+ \sbox\z@{\tud@dinbn$ $}%
+ \undef\tud@font@math@init%
+}
+\newcommand*\tud@font@greek@init[1]{%
+ \ifcsundef{up#1}{%
+ \if@tempswa%
+ \csletcs{up#1}{tud@up#1}%
+ \else%
+ \csletcs{up#1}{#1}%
+ \fi%
+ }{}%
+ \ifcsundef{var#1}{%
+ \if@tempswa%
+ \csletcs{var#1}{#1}%
+ \else%
+ \csletcs{var#1}{tud@var#1}%
+ \fi%
+ }{}%
+}
+\newcommand*\tud@font@math@set{%
+ \if@atdocument%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \if@tud@universmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' math fonts not found}%
+ \fi%
+ \if@tud@dinboldmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' math fonts not found}%
+ \fi%
+ \fi%
+ \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%
+ \else%
+ \tud@cmd@restore{mv@normal}%
+ \tud@cmd@restore{mv@bold}%
+ \tud@font@greek@loop\tud@font@greek@reset%
+ \fi%
+ \fi%
+ \if@tud@slantedgreek%
+ \tud@font@greek@loop\tud@font@greek@slanted%
+ \else%
+ \tud@font@greek@loop\tud@font@greek@upright%
+ \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}}
+\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{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
+ \fi%
+ \tud@font@check%
+ \tud@font@set%
+ \tud@font@init%
+ \AtBeginDocument{\tud@font@math@init}%
+}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}%
+}
+\newrobustcmd*\ifdin{%
+ \ifx\f@family\tud@dinbold%
+ \expandafter\@firstoftwo%
+ \else%
+ \expandafter\@secondoftwo%
+ \fi%
+}
+\newcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdfont@din%
+ \tud@dinbn\tud@raggedright%
+ \else%
+ \sectfont#1%
+ \fi%
+}
+\newcommand*\tud@raggedright{\raggedright}
+\newcommand*\tud@RaggedRight{\raggedright}
+\AfterPackage*{ragged2e}{%
+ \ifdef{\LaTeXraggedright}{%
+ \renewcommand*\tud@raggedright{\LaTeXraggedright}%
+ }{}%
+ \renewcommand*\tud@RaggedRight{\RaggedRight}%
+}
+\RequirePackage{textcase}[2004/10/07]
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+ \protect\vphantom{\"A\"O\"U}%
+}
+%%% From File: tudscr-fields.dtx
+\newcommand*\@faculty{}
+\newcommand*\@department{}
+\newcommand*\@institute{}
+\newcommand*\@chair{}
+\newcommand*\@@faculty{}
+\newcommand*\@@department{}
+\newcommand*\@@institute{}
+\newcommand*\@@chair{}
+\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}}
+\newcommand*\chair[2][\@empty]{\tud@foot@line@add{chair}{#2}{#1}}
+\newcommand*\@extraheadline{}
+\newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}{#1}}
+\newcommand*\tud@head@text@field[2]{%
+ \csgdef{@#1}{\trim@spaces{#2}}%
+ \global\@tud@head@text@settrue%
+}
+\newcommand*\tud@foot@line@add[3]{%
+ \tud@head@text@field{#1}{#2}%
+ \ifx\@empty#3\relax%
+ \global\csletcs{@@#1}{@#1}%
+ \else%
+ \csgdef{@@#1}{\trim@spaces{#3}}%
+ \fi%
+}
+\newcommand*\tud@foot@line@write[1]{%
+ \protected@edef\@tempa{\csuse{@@#1}}%
+ \ifx\@tempa\@empty\else\newline\mbox{\csuse{@@#1}}\fi%
+}
+\newcommand*\@@title{}
+\robustify\@title
+\renewcommand*\title[1]{%
+ \gdef\@title{#1}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
+ \protected@xdef\@@title{\trim@spaces{#1}}%
+ \endgroup%
+}
+\newcommand*\@@author{}
+\renewcommand*\author[1]{%
+ \gdef\@author{#1}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
+ \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}%
+ \let\@tempb\tud@split@author@list%
+ \robustify\and%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \protected@edef\@@author{#1}%
+ \tud@replace\@@author{ \relax }{}%
+ \tud@replace\@@author{\relax }{}%
+ \tud@replace\@@author{ \relax}{}%
+ \tud@replace\@@author{\relax}{}%
+ \tud@replace\@@author{ \and }{\and}%
+ \tud@replace\@@author{ \and}{\and}%
+ \tud@replace\@@author{\and }{\and}%
+ \protected@xdef\@@author{\trim@spaces{\@@author}}%
+ \endgroup%
+}
+\newcommand*\@authormore{}
+\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\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*\supervisor[1]{}
+\newcommand*\@webpage{}
+\newrobustcmd*\webpage{%
+ \kernel@ifstar{\tud@webpage@simple}{\tud@webpage@hyper}%
+}
+\newrobustcmd*\tud@webpage@simple[1]{\gdef\@webpage{#1}}
+\newrobustcmd*\tud@webpage@hyper[2][]{\gdef\@webpage{#2}}
+\AfterPackage{hyperref}{%
+ \renewrobustcmd*\tud@webpage@hyper[2][hidelinks]{%
+ \gdef\@webpage{%
+ \begingroup%
+ \urlstyle{same}%
+ \hypersetup{#1}%
+ \url{#2}%
+ \endgroup%
+ }%
+ }%
+}
+\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
+\newcommand*\tud@x@isodate@printdate[2]{%
+ \ifx\today#2\relax%
+ \gdef#1{#2}%
+ \else%
+ \ifxblank{#2}%
+ {\gdef#1{}}%
+ {\gdef#1{\printdate{#2}}}%
+ \fi%
+}
+\newcommand*\tud@date@check{%
+ \ifdefvoid{\@duedate}{%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
+ Since a thesis is a self-contained work, an end\MessageBreak%
+ date should be specified by the author.\MessageBreak%
+ Nevertheless, today's date is used%
+ }%
+ }{%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
+ It's substituted by the given due date%
+ }%
+ \global\let\@date\@duedate%
+ }%
+ \global\let\tud@date@check\relax%
+}
+\renewcommand*\date{%
+ \kernel@ifstar{%
+ \TUD@parameter@set{date}{pre=\noexpand\@place{,}}%
+ \tud@date@set%
+ }{\tud@date@set}%
+}
+\newcommand*\tud@date@set[2][]{%
+ \TUD@parameter@set{date}{#1}%
+ \tud@x@isodate@printdate{\@date}{#2}%
+ \global\let\tud@date@check\relax%
+}
+\newcommand*\tud@date@pre{}
+\newcommand*\tud@date@app{}
+\TUD@parameter@family{date}{%
+ \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@let{pre}{before}%
+ \TUD@parameter@let{prefix}{before}%
+ \TUD@parameter@def{after}{\def\tud@date@app{#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@handler@value{after}%
+}
+\newcommand*\tud@date@print{%
+ \ifx\@date\@empty\else%
+ \ifx\tud@date@pre\@empty\else%
+ \expandafter\trim@spaces\expandafter{\tud@date@pre}\nobreakspace%
+ \fi%
+ \@date%
+ \ifx\tud@date@app\@empty\else%
+ \nobreakspace\expandafter\trim@spaces\expandafter{\tud@date@app}%
+ \fi%
+ \fi%
+}
+\newcommand*\@contactperson{}
+\newcommand*\contactperson[1]{\gdef\@contactperson{#1}}
+\let\supervisor\contactperson
+\newcommand*\@office{}
+\newrobustcmd*\office[1]{\gdef\@office{#1}}
+\newcommand*\@telephone{}
+\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}{%
+ \@latex@warning@no@line%
+ }{%
+ \csuse{#1}\csgdef{#1}{}%
+ }{}%
+ \def\tud@multiple@@split##1\and##2\relax{%
+ \expandafter\csname tud@split#1@do\endcsname{##1}{##2}%
+ }%
+ \begingroup%
+ \let\and\relax%
+ \def\newline{}%
+ \def\\{}%
+ \edef\@tempa{\csname#1\endcsname\and}%
+ \expandafter\endgroup%
+ \expandafter\tud@multiple@@split\@tempa\relax%
+}
+\newcommand*\tud@multiple@@@split[2]{%
+ \ifx\relax#1\relax%
+ \let\@tempb\relax%
+ \else%
+ \def\@tempb{#2\tud@multiple@@split#1\relax}%
+ \fi%
+ \@tempb%
+}
+\newcommand*\tud@multiple@fields@store[2]{%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \letcs\@tempb{tud@split#1@list}%
+ \let\and\relax%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \sbox\z@{#2}%
+ \endgroup%
+}
+\newcommand*\tud@multiple@fields@restore[1]{%
+ \def\@tempa##1{%
+ \ifcsdef{@##1}{%
+ \tud@cmd@restore{@##1}%
+ \global\csletcs{@##1}{@##1}%
+ }{}%
+ }%
+ \letcs\@tempb{tud@split#1@list}%
+ \let\and\relax%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+}
+\newcommand*\tud@multiple@fields@preset[3]{%
+ \def\@tempa##1{%
+ \edef\@tempc{\csuse{##1}}%
+ \ifstr{#2}{*}{%
+ \csdef{@##1}{}%
+ }{%
+ \begingroup%
+ \protected@expandtwoargs\in@{\@tempc}{\csuse{#1}}%
+ \ifin@%
+ \ifcsvoid{@##1}{\@tempc{#2}}{}%
+ \fi%
+ \endgroup%
+ }%
+ }%
+ \letcs\@tempb{tud@split#1@list}%
+ \let\and\relax%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \sbox\z@{#3}%
+ \endgroup%
+}
+\newcommand*\tud@split@author@do[2]{}
+\newcommand*\tud@split@author@list{%
+ authormore,course,discipline,office,telephone,telefax,emailaddress%
+}
+\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]{%
+ \providecommand*#1{%
+ \ClassError{\TUD@Class@Name}{%
+ `\string#1' not defined for language `\languagename'%
+ }{%
+ Currently the class `\TUD@Class@Name' only supports the\MessageBreak%
+ languages german and english an its dialects. You must\MessageBreak%
+ define single patterns by yourself, e.g.:\MessageBreak%
+ `\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak%
+ You can send your definitions to \tudscrmail\space in\MessageBreak%
+ order to implement support for additional languages.%
+ }%
+ }%
+}
+\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}
+\newcommand*\tud@ifin@and[1]{%
+ \begingroup%
+ \let\and\relax%
+ \protected@edef\@tempb{#1}%
+ \def\@tempa##1\and##2\relax{%
+ \IfArgIsEmpty{##2}{%
+ \aftergroup\@secondoftwo%
+ }{%
+ \aftergroup\@firstoftwo%
+ }%
+ }%
+ \expandafter\@tempa\@tempb\and\relax%
+ \endgroup
+}
+\newcommand*\tud@locale@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{%
+ \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}%
+\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}{.}%
+}
+%%% From File: tudscr-area.dtx
+\newlength\tud@len@widemargin
+\newlength\tud@len@slimmargin
+\newlength\tud@len@both
+\newlength\tud@len@topmargin
+\newlength\tud@len@barheight
+\newlength\tud@len@headsep
+\newlength\tud@len@footsep
+\newlength\tud@len@logox
+\newlength\tud@len@logoy
+\newlength\tud@len@logowidth
+\newlength\tud@len@line
+\newlength\tud@len@heavyline
+\newlength\tud@len@thinline
+\newlength\tud@len@areaheadvskip
+\newlength\tud@len@areadiff
+\newlength\tud@len@areavskip
+\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newif\if@tud@cdgeometry@adjust
+\newlength\tud@len@layoutheight
+\newlength\tud@len@layoutwidth
+\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}%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \fi%
+ \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
+ \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.05}{%
+ \ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr148mm+1.5mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr229mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr297mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr420mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr594mm+2mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr841mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1189mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
+ }{%
+ \ifdim\tud@len@layoutheight<\dimexpr125mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr176mm+2mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr250mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr353mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr500mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr707mm+3mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1000mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1414mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
+ }%
+ \@tud@cdgeometry@adjustfalse%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \ifnum\@tempa>\z@\relax%
+ \ifnum\@tempa<8\relax%
+ \def\@tempa{3}%
+ \fi%
+ \fi%
+ \fi%
+ \ifcase\@tempa\relax% <=A7/B7
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ small paper height. It is recommended to increase\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{148mm}%
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \or% <=A6/B6
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \setlength\tud@len@thinline{0.25pt}%
+ \renewcommand*\tud@head@fontsize{4.5}%
+ \or% <=A5/B5
+ \ifnum\tud@cdgeometry@calc@num=\z@\relax% restricted
+ \@tud@cdgeometry@adjusttrue%
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \else%
+ \setlength\tud@len@widemargin{21.213203mm}%
+ \setlength\tud@len@heavyline{0.707107pt}%
+ \setlength\tud@len@thinline{0.353553pt}%
+ \renewcommand*\tud@head@fontsize{6.363961}%
+ \fi%
+ \or% <=A4/B4
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \or% <=A3/B3
+ \setlength\tud@len@widemargin{42.426407mm}%
+ \setlength\tud@len@heavyline{1.414214pt}%
+ \setlength\tud@len@thinline{0.707107pt}%
+ \renewcommand*\tud@head@fontsize{12.727922}%
+ \or% <=A2/B2
+ \setlength\tud@len@widemargin{60mm}%
+ \setlength\tud@len@heavyline{2pt}%
+ \setlength\tud@len@thinline{1pt}%
+ \renewcommand*\tud@head@fontsize{18}%
+ \or% <=A1/B1
+ \setlength\tud@len@widemargin{84.852814mm}%
+ \setlength\tud@len@heavyline{2.828427pt}%
+ \setlength\tud@len@thinline{1.414214pt}%
+ \renewcommand*\tud@head@fontsize{25.455844}%
+ \or% <=A0/B0
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@heavyline{4pt}%
+ \setlength\tud@len@thinline{2pt}%
+ \renewcommand*\tud@head@fontsize{36}%
+ \else% >A0/B0
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ huge paper height. It is recommended to reduce\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{1189mm}%
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{4pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \tud@divide\@tempa{\tud@len@layoutheight}{297mm}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \global\@tud@head@font@settrue%
+ \setlength\tud@len@slimmargin{\dimexpr2\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@both{\dimexpr5\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@topmargin{\dimexpr7\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@barheight{\dimexpr\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@headsep{\dimexpr2\tud@len@widemargin/5\relax}%
+ \setlength\tud@len@logox{\dimexpr1.1\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@logoy{\dimexpr0.45\tud@len@widemargin\relax}%
+ \setlength\tud@len@logowidth{\dimexpr1.9\tud@len@widemargin\relax}%
+ \setlength\tud@len@footsep{%
+ \dimexpr\tud@len@widemargin-.6\tud@len@topmargin\relax%
+ }%
+ \if@tud@cdgeometry@adjust%
+ \setlength\tud@len@headsep{\dimexpr.707107\tud@len@headsep\relax}%
+ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
+ \fi%
+}
+\newif\if@tud@x@crop@center
+\AfterPackage{crop}{%
+ \CheckCommand*\CROP@center{%
+ \voffset\stockheight
+ \advance\voffset-\paperheight
+ \voffset.5\voffset
+ \hoffset\stockwidth
+ \advance\hoffset-\paperwidth
+ \hoffset.5\hoffset
+ }%
+ \pretocmd{\CROP@center}{%
+ \@tud@x@crop@centertrue%
+ }{}{\tud@patch@wrn{CROP@center}}
+}
+\newif\if@tud@x@standalone@crop
+\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
+\newcommand*\tud@cdgeometry@process{}
+\newcommand*\tud@cdgeometry@@process{}
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{geometry}%
+\else
+ \RequirePackage{geometry}[2010/09/12]%
+\fi
+\AfterPackage*{geometry}{%
+ \CheckCommand*\Gm@initnewgm{%
+ \Gm@passfalse
+ \Gm@swap@papersizefalse
+ \Gm@dimlist={}
+ \Gm@hbodyfalse
+ \Gm@vbodyfalse
+ \Gm@heightroundedfalse
+ \Gm@includeheadfalse
+ \Gm@includefootfalse
+ \Gm@includempfalse
+ \let\Gm@width\@undefined
+ \let\Gm@height\@undefined
+ \let\Gm@textwidth\@undefined
+ \let\Gm@textheight\@undefined
+ \let\Gm@lines\@undefined
+ \let\Gm@hscale\@undefined
+ \let\Gm@vscale\@undefined
+ \let\Gm@hmarginratio\@undefined
+ \let\Gm@vmarginratio\@undefined
+ \let\Gm@lmargin\@undefined
+ \let\Gm@rmargin\@undefined
+ \let\Gm@tmargin\@undefined
+ \let\Gm@bmargin\@undefined
+ \Gm@layoutfalse
+ \Gm@layouthoffset\z@
+ \Gm@layoutvoffset\z@
+ \Gm@bindingoffset\z@
+ }%
+ \expandafter\CheckCommand%
+ \csname\expandafter\@gobble\string\Gm@changelayout\space\endcsname{%
+ \setlength{\@colht}{\textheight}
+ \setlength{\@colroom}{\textheight}%
+ \setlength{\vsize}{\textheight}
+ \setlength{\columnwidth}{\textwidth}%
+ \if@twocolumn%
+ \advance\columnwidth-\columnsep
+ \divide\columnwidth\tw@%
+ \@firstcolumntrue%
+ \fi%
+ \setlength{\hsize}{\columnwidth}%
+ \setlength{\linewidth}{\hsize}%
+ }%
+ \CheckCommand*\Gm@@process{%
+ \Gm@expandlengths
+ \Gm@adjustpaper
+ \addtolength\Gm@layoutwidth{-\Gm@bindingoffset}%
+ \Gm@adjustmp
+ \Gm@adjustbody
+ \Gm@detall{h}{width}{lmargin}{rmargin}%
+ \Gm@detall{v}{height}{tmargin}{bmargin}%
+ \setlength\textwidth{\Gm@width}%
+ \setlength\textheight{\Gm@height}%
+ \setlength\topmargin{\Gm@tmargin}%
+ \setlength\oddsidemargin{\Gm@lmargin}%
+ \addtolength\oddsidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\textwidth-\Gm@wd@mp
+ \advance\oddsidemargin\Gm@odd@mp
+ \fi
+ \if@mparswitch
+ \setlength\evensidemargin{\Gm@rmargin}%
+ \addtolength\evensidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\evensidemargin\Gm@even@mp
+ \fi
+ \else
+ \evensidemargin\oddsidemargin
+ \fi
+ \advance\oddsidemargin\Gm@bindingoffset
+ \addtolength\topmargin{-1\Gm@truedimen in}%
+ \ifGm@includehead
+ \addtolength\textheight{-\headheight}%
+ \addtolength\textheight{-\headsep}%
+ \else
+ \addtolength\topmargin{-\headheight}%
+ \addtolength\topmargin{-\headsep}%
+ \fi
+ \ifGm@includefoot
+ \addtolength\textheight{-\footskip}%
+ \fi
+ \ifGm@heightrounded
+ \setlength\@tempdima{\textheight}%
+ \addtolength\@tempdima{-\topskip}%
+ \@tempcnta\@tempdima
+ \@tempcntb\baselineskip
+ \divide\@tempcnta\@tempcntb
+ \setlength\@tempdimb{\baselineskip}%
+ \multiply\@tempdimb\@tempcnta
+ \advance\@tempdima-\@tempdimb
+ \multiply\@tempdima\tw@
+ \ifdim\@tempdima>\baselineskip
+ \addtolength\@tempdimb{\baselineskip}%
+ \fi
+ \addtolength\@tempdimb{\topskip}%
+ \textheight\@tempdimb
+ \fi
+ \advance\oddsidemargin\Gm@layouthoffset%
+ \advance\evensidemargin\Gm@layouthoffset%
+ \advance\topmargin\Gm@layoutvoffset%
+ \addtolength\Gm@layoutwidth{\Gm@bindingoffset}%
+ }%
+ \CheckCommand\geometry[1]{%
+ \Gm@clean
+ \setkeys{Gm}{#1}%
+ \Gm@process%
+ }%
+ \CheckCommand\newgeometry[1]{%
+ \clearpage
+ \Gm@restore@org
+ \Gm@initnewgm
+ \Gm@newgmtrue
+ \setkeys{Gm}{#1}%
+ \Gm@newgmfalse
+ \Gm@process
+ \ifnum\mag=\@m\else\Gm@magtooffset\fi
+ \Gm@changelayout
+ \Gm@showparams{newgeometry}%
+ }%
+ \CheckCommand\restoregeometry{%
+ \clearpage
+ \Gm@restore@pkg
+ \Gm@changelayout%
+ }%
+ \CheckCommand*\savegeometry[1]{%
+ \Gm@save
+ \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}%
+ }%
+ \CheckCommand*\loadgeometry[1]{%
+ \clearpage
+ \@ifundefined{Gm@restore@@#1}{%
+ \PackageError{geometry}{%
+ \string\loadgeometry : name `#1' undefined}{%
+ The name `#1' should be predefined with \string\savegeometry}%
+ }{\@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%
+ \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}%
+ \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%
+ \fi%
+ }%
+ }%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \TUD@parameter@family{geometry}{%
+ \TUD@parameter@def{paper}{\tud@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@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{layoutheight}{%
+ \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ }%
+ \TUD@parameter@def{layoutsize}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \tud@area@def{layout}{##1:##1}%
+ }{%
+ \tud@area@def{layout}{##1:##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \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}%
+ }%
+ }
+ \newcommand*\tud@area@def[2]{%
+ \tud@lowerstring{\@tempa}{#2}%
+ \def\@tempb##1paper##2\@nil{%
+ \ifstr{##2}{paper}{\def\@tempa{##1}}{}%
+ }%
+ \expandafter\@tempb\@tempa paper\@nil%
+ \@tempswafalse%
+ \ifstr{\@tempa}{seascape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{landscape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{portrait}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{letter}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{executive}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{legal}{\@tempswatrue}{}%
+ \if@tempswa\else%
+ \ifx\@tempa\@empty\relax\else%
+ \def\@tempb##1##2\@nil{%
+ \if ##1a\@tempswatrue%
+ \else\if ##1b\@tempswatrue%
+ \else\if ##1c\@tempswatrue%
+ \else\if ##1d\@tempswatrue%
+ \fi\fi\fi\fi%
+ \if@tempswa%
+ \@tempswafalse%
+ \IfArgIsEmpty{##2}{}{\ifnumber{##2}{\@tempswatrue}{}}%
+ \fi%
+ }%
+ \expandafter\@tempb\@tempa\@nil%
+ \if@tempswa\else%
+ \def\@tempb##1:##2:##3\@nil{%
+ \IfArgIsEmpty{##2}{}{%
+ \@tempswatrue%
+ \def\@tempa{##1:##2}%
+ }%
+ }%
+ \expandafter\@tempb\@tempa::\@nil%
+ \fi%
+ \if@tempswa\else%
+ \def\tud@reserved##1:##2:##3:##4\@nil{%
+ \if@tempswa\else%
+ \ifstr{\@tempa}{##1}{%
+ \@tempswatrue%
+ \def\@tempa{##2##4:##3##4}%
+ }{}%
+ \fi%
+ }%
+ \tud@reserved b0j:1030:1456:mm\@nil%
+ \tud@reserved b1j:728:1030:mm\@nil%
+ \tud@reserved b2j:515:728:mm\@nil%
+ \tud@reserved b3j:364:515:mm\@nil%
+ \tud@reserved b4j:257:364:mm\@nil%
+ \tud@reserved b5j:182:257:mm\@nil%
+ \tud@reserved b6j:128:182:mm\@nil%
+ \tud@reserved ansia:8.5:11:in\@nil%
+ \tud@reserved ansib:11:17:in\@nil%
+ \tud@reserved ansic:17:22:in\@nil%
+ \tud@reserved ansid:22:34:in\@nil%
+ \tud@reserved ansie:34:44:in\@nil%
+ \tud@reserved screen:225:180:mm\@nil%
+ \fi%
+ \fi%
+ \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]{%
+ \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}%
+ }%
+ \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}%
+ \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%
+ \begingroup%
+ \setlength\paperwidth{\Gm@layoutwidth}%
+ \setlength\paperheight{\Gm@layoutheight}%
+ \tud@area@set{layout}%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
+ layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ }%
+ }%
+ \tud@reserved%
+ \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}%
+ \else%
+ \tud@loadgeometry{init@typearea}%
+ \fi%
+ \tud@AfterChangingArea%
+ }%
+ \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{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@cdgeometry@set%
+ \ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \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,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \if@hincl%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\footskip%
+ }%
+ \else% custom
+ \ifGm@pass\else%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\Gm@lmargin,%
+ right=\Gm@rmargin,%
+ \ifGm@includemp%
+ includemp=true,%
+ \else%
+ includemp=false,%
+ \fi%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\Gm@bindingoffset%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \ifGm@includehead%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \ifGm@includefoot%
+ includefoot=true,%
+ \else%
+ includefoot=false,%
+ \fi%
+ footskip=\the\footskip%
+ }%
+ \fi%
+ \fi%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\topmargin-\headheight-\headsep-1in\relax%
+ }%
+ \ifdim\tud@len@areadiff<\z@\relax%
+ \addtolength\tud@len@headsep{-\tud@len@areadiff}%
+ \setlength\@tempdima{\z@}%
+ \else%
+ \setlength\@tempdima{\tud@len@areadiff}%
+ \fi%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep,%
+ textheight=\the\dimexpr\textheight-\@tempdima\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@ddcdiff{%
+ \dimexpr.6\tud@len@topmargin-\footskip+\tud@len@headsep%
+ +\footheight-1.25\baselineskip\relax%
+ }%
+ \edef\tud@cdgeometry@ddcmargin{%
+ textheight=\the\dimexpr\textheight-\tud@len@areadiff%
+ -\tud@len@ddcdiff\relax,%
+ footskip=\the\dimexpr\footskip+\tud@len@ddcdiff\relax%
+ }%
+ }{}%
+ \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')%
+ }%
+ \fi%
+ \else% true/symmetric/twoside
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \setlength\@tempdima{\tud@len@widemargin}%
+ \if@reversemargin%
+ \setlength\@tempdimc{\tud@len@widemargin}%
+ \else%
+ \setlength\@tempdimc{\tud@len@slimmargin}%
+ \fi%
+ \or% symmetric
+ \setlength\@tempdima{.5\tud@len@both}%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \or% twoside
+ \if@twoside%
+ \setlength\@tempdima{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdima{.5\tud@len@both}%
+ \fi%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \if@twoside%
+ \if@reversemargin%
+ \setlength\@tempdimc{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdimc{.6\tud@len@both}%
+ \fi%
+ \fi%
+ \fi%
+ \addtolength\@tempdimc{-\headsep}%
+ \setlength\@tempdimb{%
+ \dimexpr\tud@len@layoutwidth-\tud@len@both-\ta@bcor\relax%
+ }%
+ \if@mincl%
+ \addtolength\@tempdimb{-\@tempdimc}%
+ \fi%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\the\@tempdima,%
+ textwidth=\the\@tempdimb,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\@tempdimc,%
+ marginparsep=\the\dimexpr.5\headsep\relax,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \if@twoside%
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \appto\tud@cdgeometry@hmargin{,asymmetric}%
+ \else% symmetric/twoside
+ \appto\tud@cdgeometry@hmargin{,twoside}%
+ \fi%
+ \fi%
+ \if@twocolumn%
+ \appto\tud@cdgeometry@hmargin{,twocolumn}%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\dimexpr.5\tud@len@both\relax,%
+ headheight=\the\headheight,%
+ headsep=\the\tud@len@headsep,%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax%
+ }%
+ }{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\tud@len@slimmargin,%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ bottom=\the\dimexpr\tud@len@widemargin%
+ +\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@footsep+\footheight\relax%
+ }%
+ }%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep%
+ }%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\tud@len@slimmargin\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -.5\tud@len@both\relax%
+ }%
+ \setlength\tud@len@ddcdiff{.6\tud@len@topmargin}%
+ \edef\tud@cdgeometry@ddcmargin{%
+ \if@fincl%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff+\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax,%
+ \else%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff\relax,%
+ \fi%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip+\tud@len@ddcdiff\relax,%
+ }%
+ }{}%
+ \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%
+ }{}%
+ \tud@cdgeometry@@@process%
+ }%
+ \newcommand*\tud@cdgeometry@@@process{%
+ \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
+ \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.03}{%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin,%
+ \tud@cdgeometry@ddcmargin,%
+ ignorehead,ignorefoot%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudareaddc}%
+ }{}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudarea}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{stdarea}%
+ \if@atdocument%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
+ }%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@hincl{%
+ \if@hincl%
+ includehead=true%
+ \else%
+ includehead=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@fincl{%
+ \if@fincl%
+ includefoot=true%
+ \else%
+ includefoot=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@mpincl{%
+ \if@mincl%
+ includemp=true%
+ \else%
+ 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
+ \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}%
+ }%
+ }%
+ \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%
+ }%
+ \fi%
+ \fi%
+ \tud@font@koma@unset{pagefoot}%
+ \tud@font@koma@unset{pagenumber}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
+}
+\newcommand*\tud@AfterChangingArea{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
+}
+\newcommand*\tud@cdgeometry@init{%
+ \AtEndPreamble{%
+ \if@tud@x@standalone@crop%
+ \pagestyle{empty}%
+ \hoffset=-72.27pt%
+ \voffset=-72.27pt%
+ \topmargin=0pt%
+ \headheight=0pt%
+ \headsep=0pt%
+ \marginparsep=0pt%
+ \marginparwidth=0pt%
+ \footskip=0pt%
+ \marginparpush=0pt%
+ \oddsidemargin=0pt%
+ \evensidemargin=0pt%
+ \topskip=0pt%
+ \textheight=\maxdimen%
+ \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}%
+ }%
+ \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%
+ \endgroup%
+ \tud@reserved{custom}%
+ \AfterCalculatingTypearea{\tud@AfterChangingArea}%
+ \AfterSettingArea{\tud@AfterChangingArea}%
+ \ifundef{\AfterRestoreareas}{}{%
+ \AfterRestoreareas{\tud@AfterChangingArea}%
+ }%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \tud@cdgeometry@process%
+ \fi
+ \let\tud@cdgeometry@init\relax%
+ }%
+}
+\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\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]{}%
+}
+\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
+\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
+\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
+\tud@if@v@lower{2.03}{%
+ \newcommand*\tud@ddc@enlargepage[1][]{%
+ \tud@if@tudheadings{#1}{%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \enlargethispage{-\tud@len@ddcdiff}%
+ \fi%
+ }%
+ }{}%
+ }%
+}{}
+%%% From File: tudscr-pagestyle.dtx
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{scrlayer-scrpage}%
+\else
+ \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+\fi
+\AfterPackage{scrlayer-scrpage}{%
+ \DeclareNewLayer[%
+ background,headsep,%
+ addhoffset=\dimexpr\tud@len@logox-\tud@len@widemargin\relax,%
+ addwidth=\dimexpr-\tud@len@logox+\tud@len@widemargin\relax,%
+ voffset=\tud@len@logoy,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \tud@mainlogo@set%
+ \tud@headlogo@option@set%
+ \tud@mainlogo@use\hfill\tud@headlogo@use%
+ },%
+ ]{tudheadings.head.content}%
+ \DeclareNewLayer[%
+ background,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@topmargin+\tud@dim@bleedmargin\relax,%
+ addvoffset=\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax,%
+ contents={%
+ \ifnum\tud@head@bar@num>\tw@\relax% cdhead=color
+ \color{HKS41}%
+ \rule{\layerwidth}{\layerheight}%
+ \fi%
+ },%
+ ]{tudheadings.head.back}%
+ \DeclareNewLayer[%
+ background,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\tud@len@barheight,%
+ voffset=\tud@len@topmargin,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
+ \color{HKS41!60}%
+ \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
+ \raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
+ \fi%
+ },%
+ ]{tudheadings.head.bar}%
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \tud@head@font@set%
+ \tud@head@text@set%
+ \tud@head@text@box%
+ },%
+ ]{tudheadings.head.text}%
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.upline}%
+ \DeclareNewLayer[%
+ background,headsep,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.lowline}%
+ \DeclareNewLayer[%
+ background,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.uplinewide}%
+ \DeclareNewLayer[%
+ background,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
+ \fi%
+ },%
+ ]{tudheadings.head.lowlinewide}%
+ \DeclareNewLayer[%
+ foreground,headsep,%
+ addvoffset=.5\tud@len@headsep,%
+ height=\baselineskip,%
+ contents={\if@tud@head@date\hfill\tud@date@print\fi},%
+ ]{tudheadings.head.date}%
+ \DeclareNewLayer[%
+ background,foot,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ hoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset+\tud@dim@bleedmargin\relax,%
+ addvoffset=-\dp\strutbox,%
+ contents={%
+ \if@tud@foot@colored%
+ \let\@tempc\relax%
+ \ifdefvoid{\tud@pagecolor}{%
+ \ifcase\tud@head@bar@num\relax\or% cdhead=litecolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=barcolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=color
+ \def\@tempc{\color{HKS41}}%
+ \fi%
+ }{%
+ \def\@tempc{\color{HKS41}}%
+ \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!60}}}{}%
+ }%
+ \ifx\@tempc\relax\else%
+ \@tempc\rule{\layerwidth}{\layerheight}%
+ \fi%
+ \fi%
+ },%
+ ]{tudheadings.foot.back}%
+ \tud@if@v@lower{2.03}{%
+ \ModifyLayer[%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
+ contents={%
+ \if@tud@foot@colored%
+ \let\@tempc\relax%
+ \ifdefvoid{\tud@pagecolor}{%
+ \ifcase\tud@head@bar@num\relax\or\or% cdhead=barcolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=color
+ \def\@tempc{\color{HKS41}}%
+ \fi%
+ }{%
+ \def\@tempc{\color{HKS41}}%
+ \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!60}}}{}%
+ }%
+ \ifx\@tempc\relax\else%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \vbox to \layerheight{%
+ \vfil\@tempc%
+ \rule{\layerwidth}{%
+ \dimexpr\layerheight-\tud@len@ddcdiff+\ht\strutbox\relax%
+ }%
+ }%
+ \else% \tud@ddc@foot@num!=false
+ \@tempc\rule{\layerwidth}{\layerheight}%
+ \fi%
+ \fi%
+ \fi%
+ },%
+ ]{tudheadings.foot.back}%
+ }{}%
+ \DeclareNewLayer[%
+ background,foot,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset\relax,%
+ contents={%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
+ \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
+ \tud@footcontent@use{\@tempdima}{\layerwidth}%
+ },%
+ ]{tudheadings.foot.content}%
+ \tud@if@v@lower{2.03}{%
+ \ModifyLayer[%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
+ contents={%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
+ \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \addtolength\@tempdima{\dimexpr\ht\strutbox-\tud@len@ddcdiff\relax}%
+ \vskip\dimexpr\tud@len@ddcdiff-\ht\strutbox-\baselineskip\relax%
+ \fi%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
+ \tud@footcontent@use{\@tempdima}{\layerwidth}%
+ },%
+ ]{tudheadings.foot.content}%
+ }{}%
+ \DeclareNewLayer[%
+ background,%
+ ]{tudheadings.last}%
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{tudheadings}{%
+ tudheadings.head.back,%
+ tudheadings.head.content,%
+ tudheadings.head.bar,%
+ tudheadings.head.text,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
+ tudheadings.foot.back,%
+ tudheadings.foot.content,%
+ tudheadings.last,%
+ scrheadings.foot.odd,%
+ scrheadings.foot.even,%
+ scrheadings.foot.oneside,%
+ scrheadings.foot.above.line,%
+ scrheadings.foot.below.line%
+ }%
+ \DeclareNewPageStyleAlias{tud}{tudheadings}%
+ \DeclareNewPageStyleAlias{tudscr}{tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{plain.tudheadings}{%
+ tudheadings.head.back,%
+ tudheadings.head.content,%
+ tudheadings.head.bar,%
+ tudheadings.head.text,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
+ tudheadings.foot.back,%
+ tudheadings.foot.content,%
+ tudheadings.last,%
+ plain.scrheadings.foot.odd,%
+ plain.scrheadings.foot.even,%
+ plain.scrheadings.foot.oneside,%
+ plain.scrheadings.foot.above.line,%
+ plain.scrheadings.foot.below.line%
+ }%
+ \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}%
+ \DeclareNewPageStyleByLayers[%
+ onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground%
+ ]{empty.tudheadings}{%
+ tudheadings.head.back,%
+ tudheadings.head.content,%
+ tudheadings.head.bar,%
+ tudheadings.head.text,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
+ tudheadings.foot.back,%
+ tudheadings.foot.content,%
+ tudheadings.last%
+ }%
+ \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
+ \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
+ \DeclareNewLayer[%
+ background,%
+ area=%
+ {\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax}%
+ {\dimexpr\tud@len@layoutheight+\tud@dim@bleedmargin*2\relax}%
+ ,%
+ contents={%
+ \ifdefvoid{\tud@pagecolor}{}{%
+ \color{\tud@pagecolor}%
+ \rule{\layerwidth}{\layerheight}%
+ }%
+ },%
+ ]{tudheadings.pagecolor}%
+ \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
+}
+\listadd\tud@ps@list{tudheadings}
+\listadd\tud@ps@list{plain.tudheadings}
+\listadd\tud@ps@list{empty.tudheadings}
+\PreventPackageFromLoading[%
+ \ClassWarning{\TUD@Class@Name}{%
+ The package `fancyhdr' must not be used with a\MessageBreak%
+ TUD-KOMA-Script class. You should make use of the\MessageBreak%
+ capabilities of package `scrlayer-scrpage' instead%
+ }%
+]{fancyhdr}
+\newcommand*\tud@ps@onselect{%
+ \DeclarePageStyleAlias{plain}{plain.tudheadings}%
+ \DeclarePageStyleAlias{headings}{tudheadings}%
+ \def\sls@currentheadings{tudheadings}%
+ \def\sls@currentplain{plain.tudheadings}%
+}
+\newcommand*\tud@head@logocolor{black}
+\newcommand*\tud@head@fontcolor{}
+\newcommand*\tud@foot@logocolor{black}
+\newcommand*\tud@foot@fontcolor{}
+\newcommand*\tud@ps@onbackground{%
+ \ifdefvoid{\tud@pagecolor}{%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@head@logocolor{black}%
+ \renewcommand*\tud@head@fontcolor{}%
+ \or% cdhead=litecolor
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{HKS41}%
+ \or% cdhead=barcolor
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \fi%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@foot@logocolor{black}%
+ \renewcommand*\tud@foot@fontcolor{}%
+ \if@tud@foot@colored%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use a colored foot together\MessageBreak%
+ with a non-colored head (`cdhead=nocolor')%
+ }%
+ \fi%
+ \else% cdhead=*color
+ \if@tud@foot@colored%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
+ \else%
+ \renewcommand*\tud@foot@logocolor{HKS41}%
+ \renewcommand*\tud@foot@fontcolor{HKS41}%
+ \fi%
+ \fi%
+ }{%
+ \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}%
+ \ifcase\tud@head@bar@num\relax\or\or\or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \fi%
+ \if@tud@foot@colored%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
+ \else%
+ \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@pagestyle{}
+\let\tud@pagestyle\pagestyle
+\pretocmd{\tud@pagestyle}{%
+ \tud@BeforeSelectAnyPageStyle{#1}%
+ \edef\currentpagestyle{#1}%
+}{}{\tud@patch@wrn{pagestyle}}
+\tud@cmd@store{pagestyle}
+\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
+\BeforePackage{scrlayer-scrpage}{%
+ \tud@cmd@restore{pagestyle}%
+ \undef\tud@pagestyle%
+}
+\TUD@UnwindPackage{scrlayer-scrpage}{%
+ \ifcsundef{if@chapter}{%
+ \newif\if@chapter%
+ \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}%
+ }{}%
+ \cslet{ps@tudheadings}{\ps@headings}%
+ \cslet{ps@plain.tudheadings}{\ps@plain}%
+ \cslet{ps@empty.tudheadings}{\ps@empty}%
+ \providecommand*\currentpagestyle{plain}%
+ \providecommand*\BeforeSelectAnyPageStyle[1]{}%
+ \providecommand*\GetRealPageStyle[1]{#1}%
+ \let\pagestyle\tud@pagestyle%
+ \undef\tud@pagestyle%
+ \tud@cdgeometry@init%
+}
+\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{%
+ \xdef\@specialstyle{\GetRealPageStyle{#1}}%
+}{}{\tud@patch@wrn{thispagestyle}}
+\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{}
+\newcommand*\tud@head@text@buffer{}
+\newcommand*\tud@head@text@add[3][{, }]{%
+ \ifxblank{#3}{}{%
+ \edef\tud@head@text@delimiter{\expandonce\tud@head@text@buffer}%
+ \def\tud@head@text@buffer{#1}%
+ \edef\@tempa{%
+ \expandonce\tud@head@text@line%
+ \expandonce\tud@head@text@delimiter%
+ \etex@unexpanded{#2#3}%
+ }%
+ \settowidth\@tempdima{\@tempa}%
+ \ifdim\@tempdima>\textwidth\relax%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \protected@edef\tud@head@text@line{#2#3}%
+ \else%
+ \edef\tud@head@text@line{\expandonce\@tempa}%
+ \fi%
+ }%
+}
+\newif\if@tud@head@text@set
+\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{}%
+ \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}%
+ \tud@head@text@add{\tud@head@font@light}{\@chair}%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \ifxblank{\@extraheadline}{}{%
+ \listadd\tud@head@text@list{\tud@head@font@light\@extraheadline}%
+ }%
+ \gdef\tud@head@text@wrn##1{%
+ \ClassWarning{\TUD@Class@Name}{%
+ The given entries for the headline\MessageBreak%
+ (faculty, institute etc.) are ##1\MessageBreak%
+ too wide for the textwidth%
+ }%
+ }%
+ \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{%
+ \settowidth\@tempdima{##1}%
+ \ifdim\@tempdima>\textwidth\relax%
+ \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
+ \ifdim\dimexpr\@tempdima-\textwidth\relax>\hfuzz\relax%
+ \hfuzz=\dimexpr\@tempdima-\textwidth\relax%
+ \fi%
+ \fi%
+ \@tempb%
+ \tud@head@text@write[\@tempc]{##1}%
+ \def\@tempb{\newline}%
+ \def\@tempc{\z@}%
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
+ \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{%
+ \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}%
+ }%
+ \fi%
+ }%
+ \vbox{%
+ \let\@raggedtwoe@everyselectfont\relax%
+ \setlength\spaceskip{\z@}%
+ \selectfont%
+ \offinterlineskip%
+ \forlistloop\@tempa{\tud@head@text@list}%
+ }%
+ \global\let\tud@head@text@wrn\@gobble%
+}
+\newcommand*\tud@head@text@write[2][\z@]{%
+ \raisebox{\dimexpr(\tud@len@barheight+2\tud@len@line-\totalheight)/2\relax}[%
+ \dimexpr\tud@len@barheight-\depth\relax%
+ ][\dimexpr#1\relax]{#2\vphantom{gjpqy\"A\"O\"U}}%
+}
+\newcommand*\tud@head@rule[1]{%
+ \tud@color{\tud@head@fontcolor}%
+ \rule[\ht\strutbox]{#1}{\tud@len@line}%
+}
+\newcommand*\tud@newlayerbox[1]{%
+ \expandafter\newsavebox\csname tud@layer@#1\endcsname%
+}
+\newcommand*\tud@savelayerbox[1]{%
+ \global\expandafter\sbox\csname tud@layer@#1\endcsname%
+}
+\newcommand*\tud@uselayerbox[1]{%
+ \expandafter\usebox\csname tud@layer@#1\endcsname%
+}
+\newcommand*\tud@vlayerbox[3]{%
+ \begingroup%
+ \setbox\z@\vbox{#2}%
+ \setlength\@tempdima{\dimexpr\ht\z@+\dp\z@-#1\relax}%
+ \ifdim\@tempdima>\z@\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ #3\MessageBreak%
+ The maximum height is exceeded by \the\@tempdima\MessageBreak%
+ }%
+ \fi%
+ \endgroup%
+ \vbox to #1{#2}%
+}
+\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%
+ }%
+ }{}%
+}
+\newcommand*\tud@ddc@check{%
+ \let\@tempa\tud@ddc@head@num%
+ \let\@tempb\tud@ddc@foot@num%
+ \if@tud@ddc@auto%
+ \ifdefvoid{\tud@headlogo@filename}{%
+ \let\@tempa\tud@ddc@auto@num%
+ \let\@tempb\z@%
+ }{%
+ \let\@tempa\z@%
+ \let\@tempb\tud@ddc@auto@num%
+ }%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \ifnum\@tempb=\z@\relax%
+ \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}%
+ \fi%
+ }{}%
+}
+\tud@newlayerbox{main@black}
+\tud@newlayerbox{main@HKS41}
+\tud@newlayerbox{main@white}
+\newlength\tud@len@mainlogoheight
+\newcommand*\tud@mainlogo@wrn[1]{}
+\newif\if@tud@mainlogo@set
+\newcommand*\tud@mainlogo@set{%
+ \if@tud@mainlogo@set%
+ \def\@tempa{\includegraphics[keepaspectratio,width=\tud@len@logowidth]}%
+ \tud@savelayerbox{main@black}{\@tempa{TUD-black}}%
+ \tud@savelayerbox{main@HKS41}{\@tempa{TUD-blue}}%
+ \tud@savelayerbox{main@white}{\@tempa{TUD-white}}%
+ \settoheight\tud@len@mainlogoheight{\tud@uselayerbox{main@black}}%
+ \global\tud@len@mainlogoheight=\tud@len@mainlogoheight%
+ \gdef\tud@mainlogo@wrn##1{%
+ \ifdim##1<\ta@bcor\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ The selected page layout means that the\MessageBreak%
+ logo of TUD extends beyond the printing area.\MessageBreak%
+ The inner margin is smaller than BCOR\MessageBreak%
+ (`BCOR=\the\ta@bcor', inner margin is \the##1)\MessageBreak%
+ Maybe you should decrease the current value\MessageBreak%
+ of DIV (`DIV=\the\ta@div')%
+ }%
+ \global\let\tud@mainlogo@wrn\@gobble%
+ \fi%
+ }%
+ \tud@headlogo@set%
+ \@tud@footlogo@option@settrue%
+ \tud@footlogo@option@set%
+ \global\@tud@mainlogo@setfalse%
+ \fi%
+}
+\newcommand*\tud@mainlogo@use{%
+ \tud@mainlogo@wrn{%
+ \dimexpr\oddsidemargin+1in+\tud@len@logox-\tud@len@widemargin\relax%
+ }%
+ \tud@uselayerbox{main@\tud@head@logocolor}%
+}
+\tud@newlayerbox{head@black}
+\tud@newlayerbox{head@HKS41}
+\tud@newlayerbox{head@white}
+\tud@newlayerbox{head@option}
+\newcommand*\tud@headlogo@filename{}
+\newcommand*\tud@headlogo@fileoptions{}
+\newcommand*\tud@headlogo@wrn{}
+\newcommand*\headlogo[2][]{%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@headlogo@filename{#2}%
+ \renewcommand*\tud@headlogo@fileoptions{#1}%
+ \global\@tud@headlogo@option@settrue%
+ \global\@tud@footlogo@option@settrue%
+ \gdef\tud@headlogo@wrn{%
+ \ClassWarning{\TUD@Class@Name}{%
+ Secondary logo `\string\headlogo{\tud@headlogo@filename}'\MessageBreak%
+ is overwritten with DDC logo. Maybe you should\MessageBreak%
+ use `ddcfoot' or better `ddc' instead of `ddchead'%
+ }%
+ \global\let\tud@headlogo@wrn\relax%
+ }%
+ \tud@comp@resetpagestyle%
+}
+\newcommand*\tud@headlogo@set{%
+ \def\@tempa{%
+ \includegraphics[keepaspectratio,totalheight=\tud@len@mainlogoheight]%
+ }%
+ \tud@savelayerbox{head@black}{\@tempa{DDC-24}}%
+ \tud@savelayerbox{head@HKS41}{\@tempa{DDC-27}}%
+ \tud@savelayerbox{head@white}{\@tempa{DDC-30}}%
+ \tud@headlogo@option@set%
+}
+\newcommand*\tud@headlogo@option@set{%
+ \if@tud@headlogo@option@set%
+ \def\@tempc##1##2{%
+ \tud@savelayerbox{head@option}{%
+ \includegraphics[%
+ keepaspectratio,totalheight=\tud@len@mainlogoheight,##2%
+ ]{##1}%
+ }%
+ }%
+ \tud@savelayerbox{head@option}{}%
+ \tud@ddc@check%
+ \ifcase\@tempa\relax% \tud@ddc@head@num=false
+ \ifdefvoid{\tud@headlogo@filename}{}{%
+ \protected@edef\tud@headlogo@filename{%
+ \expandafter\trim@spaces\expandafter{\tud@headlogo@filename}%
+ }%
+ \protected@edef\@tempb{%
+ \noexpand\@tempc{\tud@headlogo@filename}{\tud@headlogo@fileoptions}%
+ }%
+ \@tempb%
+ }%
+ \or\or% \tud@ddc@head@num=color
+ \@tempc{DDC-03}{}%
+ \or% \tud@ddc@head@num=colorblack
+ \@tempc{DDC-09}{}%
+ \or% \tud@ddc@head@num=gray
+ \@tempc{DDC-21}{}%
+ \or% \tud@ddc@head@num=black
+ \@tempc{DDC-24}{}%
+ \or% \tud@ddc@head@num=blue
+ \@tempc{DDC-27}{}%
+ \or% \tud@ddc@head@num=white
+ \@tempc{DDC-30}{}%
+ \fi%
+ \global\@tud@headlogo@option@setfalse%
+ \fi%
+}
+\newcommand*\tud@headlogo@use{%
+ \tud@vlayerbox{\tud@len@mainlogoheight}{%
+ \vss%
+ \hbox{%
+ \tud@ddc@check%
+ \ifnum\@tempa=\@ne\relax% \tud@ddc@head@num=true
+ \tud@uselayerbox{head@\tud@head@logocolor}%
+ \else%
+ \tud@uselayerbox{head@option}%
+ \fi%
+ }%
+ \vss%
+ }{%
+ The given `\string\headlogo{\tud@headlogo@filename}' is too large.%
+ }%
+ \ifdefvoid{\tud@headlogo@filename}{}{%
+ \tud@ddc@check%
+ \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi%
+ }%
+}
+\tud@newlayerbox{foot@black}
+\tud@newlayerbox{foot@HKS41}
+\tud@newlayerbox{foot@white}
+\tud@newlayerbox{foot@option}
+\AtEndOfClass{%
+ \ifdefvoid{\tud@dim@footlogoheight}{%
+ \tud@if@v@lower{2.03}{%
+ \def\tud@dim@footlogoheight{.6\tud@len@topmargin}%
+ }{%
+ \def\tud@dim@footlogoheight{\tud@len@mainlogoheight}%
+ }%
+ }{}%
+}
+\newcommand*\tud@footlogo@ddc@set[2]{%
+ \tud@savelayerbox{foot@#1}{%
+ \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}%
+ }%
+}
+\newcommand*\tud@footlogo@option@set{%
+ \if@tud@footlogo@option@set%
+ \tud@footlogo@ddc@set{black}{DDC-22}%
+ \tud@footlogo@ddc@set{HKS41}{DDC-25}%
+ \tud@footlogo@ddc@set{white}{DDC-28}%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\or\or% \tud@ddc@foot@num=color
+ \tud@footlogo@ddc@set{option}{DDC-01}%
+ \or% \tud@ddc@foot@num=colorblack
+ \tud@footlogo@ddc@set{option}{DDC-07}%
+ \or% \tud@ddc@foot@num=gray
+ \tud@footlogo@ddc@set{option}{DDC-19}%
+ \or% \tud@ddc@foot@num=black
+ \tud@footlogo@ddc@set{option}{DDC-22}%
+ \or% \tud@ddc@foot@num=blue
+ \tud@footlogo@ddc@set{option}{DDC-25}%
+ \or% \tud@ddc@foot@num=white
+ \tud@footlogo@ddc@set{option}{DDC-28}%
+ \fi%
+ \global\@tud@footlogo@option@setfalse%
+ \fi%
+}
+\newcommand*\tud@footlogo@ddc@use[2]{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num=!false
+ \tud@footlogo@option@set%
+ \setbox\z@\hbox{%
+ \tud@vlayerbox{#1}{%
+ \vss%
+ \hbox to #2{%
+ \hss%
+ \ifcase\@tempb\relax\or% \tud@ddc@foot@num=true
+ \tud@uselayerbox{foot@\tud@foot@logocolor}%
+ \else%
+ \tud@uselayerbox{foot@option}%
+ \fi%
+ }%
+ \vss\vss%
+ }{%
+ 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%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
+ \fi%
+ }%
+ }%
+ \usebox\z@\hspace*{-\wd\z@}%
+ \fi%
+}
+\tud@newlayerbox{foot@cmd}
+\newcommand*\footlogosep{\hfill}
+\newcommand*\tud@footlogo@filenames{}
+\newcommand*\tud@footlogo@fileoptions{}
+\newcommand*\footlogo[2][]{%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@footlogo@filenames{#2}%
+ \renewcommand*\tud@footlogo@fileoptions{#1}%
+ \global\@tud@footlogo@cmd@settrue%
+ \tud@comp@resetpagestyle%
+}
+\newif\if@tud@footlogo@cmd@set
+\newcommand*\tud@footlogo@cmd@set[2]{%
+ \if@tud@footlogo@cmd@set%
+ \tud@savelayerbox{foot@cmd}{%
+ \hbox to #2{%
+ \let\@tempa\relax%
+ \@for\@tempb:=\tud@footlogo@filenames\do{%
+ \edef\@tempb{\expandafter\trim@spaces\expandafter{\@tempb}}%
+ \@tempa%
+ \ifx\@tempb\@empty\else%
+ \expandafter\tud@footlogo@cmd@@set\expandafter{\@tempb}{#1}%
+ \fi%
+ \let\@tempa\footlogosep%
+ }%
+ \hss%
+ }%
+ }%
+ \global\@tud@footlogo@cmd@setfalse%
+ \fi%
+}
+\newcommand*\tud@footlogo@cmd@@set[2]{%
+ \begingroup%
+ \def\@tempa{}%
+ \def\@tempb{}%
+ \@tempswatrue%
+ \def\do##1{%
+ \if@tempswa%
+ \def\@tempa{##1}%
+ \@tempswafalse%
+ \else%
+ \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}%
+ \fi%
+ }%
+ \let\@tempc\relax%
+ \DeclareListParser{\@tempc}{:}%
+ \@tempc{#1}%
+ \preto\tud@footlogo@fileoptions{%
+ keepaspectratio,totalheight=\tud@dim@footlogoheight,%
+ }%
+ \appto\tud@footlogo@fileoptions{\@tempb}%
+ \protected@edef\@tempc{%
+ \noexpand\includegraphics[\tud@footlogo@fileoptions]{\@tempa}%
+ }%
+ \tud@vlayerbox{#2}{\vss\hbox{\@tempc}\vss\vss}{%
+ The given `\string\footlogo{\@tempa}' is too large.%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@footlogo@cmd@use[2]{%
+ \tud@footlogo@option@set%
+ \tud@footlogo@cmd@set{#1}{#2}%
+ \setbox\z@\hbox{\tud@uselayerbox{foot@cmd}}%
+ \usebox\z@\hspace*{-\wd\z@}%
+}
+\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@fontface{}
+\newcommand*\tud@footcontent@left{}
+\newcommand*\tud@footcontent@right{\@nil}
+\newcommand*\footcontent{%
+ \kernel@ifstar{%
+ \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \tud@footcontent@do%
+ }{%
+ \renewcommand*\tud@footcontent@fontface{%
+ \usekomafont{tudheadings}%
+ \setlength\@tempdima{\tud@head@fontsize\p@}%
+ \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
+ \selectfont%
+ }%
+ \tud@footcontent@do%
+ }%
+}
+\newcommand*\tud@footcontent@do[2][]{%
+ \kernel@ifnextchar[%]
+ {\tud@footcontent@@do{#1}{#2}}%
+ {\tud@footcontent@@do{#1}{#2}[\@nil]}%
+}
+\newcommand*\tud@footcontent@@do{}
+\def\tud@footcontent@@do#1#2[#3]{%
+ \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#2}\relax\else%
+ \renewcommand*\tud@footcontent@left{#2}%
+ \fi%
+ \if\detokenize{*#3}\relax\else%
+ \renewcommand*\tud@footcontent@right{#3}%
+ \fi%
+}
+\newcommand*\tud@newline@poster{}
+\newcommand*\tud@footcontent@@left[1]{%
+ \ifxblank{#1}{}{{\tud@head@font@@bold#1\newline}}%
+ Technische Universit\"at Dresden%
+ \tud@foot@line@write{faculty}%
+ \tud@foot@line@write{department}%
+ \tud@foot@line@write{institute}%
+ \tud@foot@line@write{chair}%
+ \tud@foot@line@write{professor}%
+}
+\newcommand*\tud@footcontent@@right[2]{%
+ \def\tud@newline@poster{%
+ \ifx\@authormore\@empty\else\newline\@authormore\fi%
+ \ifx\@course\@empty%
+ \ifx\@discipline\@empty\else\newline\@discipline\fi%
+ \else%
+ \newline\@course%
+ \ifx\@discipline\@empty\else%
+ \nobreakspace(\@discipline)%
+ \fi%
+ \fi%
+ \ifx\@office\@empty\else\newline\@office\fi%
+ \ifx\@telephone\@empty\else\newline\@telephone\fi%
+ \ifx\@telefax\@empty\else\newline\@telefax\fi%
+ \ifx\@emailaddress\@empty\else\newline\@emailaddress\fi%
+ }%
+ \ifpatchable{\@author}{\@latex@warning@no@line}{%
+ \let\@tempa\@empty%
+ }{%
+ \let\@tempa\@author%
+ }%
+ \ifx\@tempa\@empty\else%
+ \ifxblank{#1}{}{{\tud@head@font@@bold#1\newline}}%
+ \renewcommand*\tud@split@author@do[2]{%
+ \tud@multiple@fields@store{@author}{##1}%
+ \tud@multiple@fields@preset{@author}{*}{##1}%
+ \ignorespaces##1\tud@newline@poster%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{##2}{\newline}%
+ }%
+ \noindent\tud@multiple@split{@author}%
+ \tud@multiple@fields@restore{@author}%
+ \tud@newline@poster%
+ \ifx\@contactperson\@empty\else\newline\fi%
+ \fi%
+ \def\tud@newline@poster{%
+ \ifx\@office\@empty\else\newline\@office\fi%
+ \ifx\@telephone\@empty\else\newline\@telephone\fi%
+ \ifx\@telefax\@empty\else\newline\@telefax\fi%
+ \ifx\@emailaddress\@empty\else\newline\@emailaddress\fi%
+ }%
+ \ifx\@contactperson\@empty\else%
+ \ifxblank{#2}{}{{\tud@head@font@@bold#2\newline}}%
+ \renewcommand*\tud@split@contactperson@do[2]{%
+ \tud@multiple@fields@store{@contactperson}{##1}%
+ \tud@multiple@fields@preset{@contactperson}{*}{##1}%
+ \ignorespaces##1\tud@newline@poster%
+ \tud@multiple@fields@restore{@contactperson}%
+ \tud@multiple@@@split{##2}{\newline}%
+ }%
+ \noindent\tud@multiple@split{@contactperson}%
+ \tud@multiple@fields@restore{@contactperson}%
+ \tud@newline@poster%
+ \fi%
+ \ifx\@webpage\@empty\else\newline\@webpage\fi%
+}
+\footcontent{%
+ \tud@footcontent@@left{\contactname}%
+}[%
+ \tud@footcontent@@right{\authorname}{\contactpersonname}%
+]
+\newcommand*\tud@footcontent@use[2]{%
+ \@tempswafalse%
+ \ifx\tud@footcontent@left\@empty\relax%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax\else%
+ \ifx\tud@footcontent@right\@empty\relax\else%
+ \@tempswatrue%
+ \fi%
+ \fi%
+ \else%
+ \@tempswatrue%
+ \fi%
+ \if@tempswa%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax%
+ \setlength\@tempdimc{\z@}%
+ \else%
+ \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
+ \addtolength\@tempdimc{\columnsep}%
+ \fi%
+ \tud@vlayerbox{#1}{%
+ \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%
+ }%
+ \vss\vss%
+ }{%
+ The content for the footer (`\string\footcontent')\MessageBreak%
+ is too high. You should either reduce the content\MessageBreak%
+ or lower the fontsize via the optional argument.%
+ \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
+ \MessageBreak%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
+ \fi%
+ }%
+ \else%
+ \hbox to #2{}%
+ \fi%
+}
+\newcommand*\tud@ps@parameters[1]{%
+ \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}%
+ \TUD@parameter@def{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
+ \TUD@parameter@def{headlogo}{\headlogo{#1}}%
+ \TUD@parameter@def{footlogo}{\footlogo{#1}}%
+ \TUD@parameter@def{ddc}[true]{\TUDoption{ddc}{#1}}%
+ \TUD@parameter@def{ddchead}[true]{\TUDoption{ddchead}{#1}}%
+ \TUD@parameter@def{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
+ \TUD@parameter@def{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@def{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
+ \TUD@parameter@def{barfont}[true]{\TUDoption{barfont}{#1}}%
+ \TUD@parameter@def{widehead}[true]{\TUDoption{widehead}{#1}}%
+ \TUD@parameter@def{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
+ \TUD@parameter@let{logo}{headlogo}%
+}
+%%% From File: tudscr-layout.dtx
+\newcommand*\tud@x@scr@headings@current{}
+\newcommand*\tud@sec@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}%
+ #1%
+ }%
+ }%
+ \KOMAoptionOf[\def\@tempb]{\KOMAClassFileName}{headings}%
+ \@for\@tempc:=\@tempb\do{%
+ \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}}{}}}}%
+ }%
+}
+\AtEndPreamble{\tud@x@scr@headings@set}
+\newcommand*\tud@x@scr@headings@reset{%
+ \tud@layout@process%
+ \tud@x@scr@headings@set[%
+ \ifcase\tud@layout@part@num\relax\else% !false
+ \tud@font@koma@reset{part}%
+ \tud@font@koma@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}%
+ \fi%
+ ]%
+}
+\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
+ \renewcommand*\titlepagestyle{empty}%
+ \tud@font@koma@unset{titlehead}%
+ \tud@font@koma@unset{title}%
+ \tud@font@koma@unset{subtitle}%
+ \tud@font@koma@unset{subject}%
+ \else% !false
+ \renewcommand*\titlepagestyle{empty.tudheadings}%
+ \tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
+ \tud@font@koma@set{title}{%
+ \raggedtitle%
+ \usekomafont{disposition}%
+ \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@font@koma@set{subject}{%
+ \sffamily%
+ \bfseries%
+ \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}%
+ \else% !false
+ \tud@cmd@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@sectioning@set[addpart]{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}%
+ \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}%
+ \else% !false
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@layout@section@num\relax\or\else% *color
+ \renewcommand*\tud@section@fontcolor{HKS41}%
+ \fi%
+ \tud@sectioning@set[addsec]{section}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsubsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{minisec}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{paragraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subparagraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@cmd@store{raggedsection}%
+ \renewcommand*\raggedsection{\tud@raggedright}%
+ \fi%
+ \ifcase\tud@cd@num\relax% false
+ \pagestyle{empty}%
+ \color{black}%
+ \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}%
+ \color{black}%
+ \or% litecolor
+ \cs@std@lock{tud@head@bar@num}{1}%
+ \bool@std@lock{@tud@foot@colored}{false}%
+ \color{HKS41}%
+ \or% barcolor
+ \cs@std@lock{tud@head@bar@num}{2}%
+ \bool@std@lock{@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}%
+ \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%
+ }%
+ \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
+ \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}}%
+ \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@addpart{}
+\newcommand*\tud@saddpart{}
+\newcommand*\tud@section{}
+\newcommand*\tud@ssection{}
+\newcommand*\tud@addsec{}
+\newcommand*\tud@saddsec{}
+\newcommand*\tud@subsection{}
+\newcommand*\tud@ssubsection{}
+\newcommand*\tud@subsubsection{}
+\newcommand*\tud@ssubsubsection{}
+\newcommand*\tud@sectioning@set[3][]{%
+ \tud@cmd@store{#2}%
+ \ifstr{#2}{minisec}{%
+ \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}%
+ }{%
+ \tud@sectioning@case{#2}%
+ \ifblank{#1}{}{%
+ \tud@cmd@store{#1}%
+ \tud@sectioning@case{#1}%
+ }%
+ }%
+ \tud@font@koma@set{#2}{#3}%
+}
+\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}{addsec}{%
+ \def\tud@addsec[##1]##2{%
+ \@@tud@addsec[{##1}]{\tud@sectioning@uppercase##2}%
+ }%
+ \def\tud@saddsec##1{%
+ \@@tud@addsec*{\tud@sectioning@uppercase##1}%
+ }%
+ }{}%
+}
+\newcommand*\tud@sectioning@reset[2][]{%
+ \tud@cmd@restore{#2}%
+ \ifblank{#1}{}{\tud@cmd@restore{#1}}%
+ \tud@font@koma@unset{#2}%
+}
+\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%
+}
+%%% From File: tudscr-title.dtx
+\newkomafont{titlepage}{%
+ \usekomafont{subject}%
+ \mdseries%
+ \large%
+}
+\robustify{\thanks}
+\robustify{\footnotemark}
+\newcommand*\tud@title@uppercase[1]{%
+ \let\@tempa\relax%
+ \begingroup%
+ \let\\\newline%
+ \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\footnote\thanks%
+ \sbox\z@{#1}%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \tud@makeuppercase{#1}%
+ \endgroup%
+ \ifx\@tempa\relax\else\thanks\@tempa\fi%
+}
+\newcommand*\tud@title@pagenumber{}
+\let\tud@title@pagenumber\relax
+\newcommand*\tud@maketitle[1][]{%
+ \begingroup%
+ \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]%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
+ }{}%
+ \else% !false
+ \tud@make@titlehead%
+ \fi%
+ \endgroup%
+ \setcounter{footnote}{0}%
+ \global\let\and\relax%
+}
+\patchcmd{\titlepage}{\thispagestyle{empty}}{%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \thispagestyle{empty.tudheadings}%
+ }{%
+ \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@ps@parameters{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\newcommand*\tud@make@titlehead{%
+ \renewcommand*\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
+ \fi%
+ \par%
+ \ifx\tud@title@pagenumber\relax\else%
+ \ifnum\tud@title@pagenumber=\@ne\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ Optional argument of \string\maketitle\space ignored\MessageBreak%
+ at notitlepage-mode%
+ }%
+ \fi%
+ \fi%
+ \begingroup%
+ \let\titlepage@restore\relax%
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \let\@oldmakefnmark\@makefnmark%
+ \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
+ \next@tdpage%
+ \@tempswafalse%
+ \if@twocolumn\ifnum\col@number>\@ne\relax%
+ \@tempswatrue%
+ \fi\fi%
+ \if@tempswa%
+ \ifx\@extratitle\@empty\else%
+ \twocolumn[\@makeextratitle]\next@tdpage%
+ \fi%
+ \twocolumn[\tud@make@@titlehead]%
+ \else%
+ \ifx\@extratitle\@empty\else%
+ \@makeextratitle\next@tdpage%
+ \fi%
+ \tud@make@@titlehead%
+ \fi%
+ \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
+ \@thanks%
+ \endgroup%
+}
+\newcommand*\tud@make@@titlehead{%
+ \global\@topnum=\z@%
+ \vspace*{\dimexpr\tud@len@areavskip-\baselineskip\relax}%
+ \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
+ \begingroup%
+ \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}}%
+ \ifx\@subtitle\@empty\else%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
+ {\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
+ \fi%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ \ifnum\col@number>\@ne\relax%
+ \ifdefvoid{\multicolsep}{}{%
+ \ifisskip{\multicolsep}{\vspace{-\multicolsep}}{}%
+ }%
+ \fi%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
+ \endgroup%
+}
+\newcommand\maketitleonecolumn[2][]{%
+ \if@twocolumn%
+ \tud@title@twocolumn{\tud@maketitle[#1]{#2}}%
+ \else%
+ \ClassError{\TUD@Class@Name}{%
+ `\string\maketitleonecolumn' can only be used in twocolumn mode%
+ }{}%
+ \fi%
+}
+\newsavebox\tud@title@box
+\newcommand\tud@title@twocolumn[1]{%
+ \onecolumn%
+ \begingroup%
+ \let\clearpage\relax%
+ \let\newpage\relax%
+ \global\setbox\tud@title@box\vbox{%
+ \vspace*{.9\baselineskip}#1\bigskip%
+ }%
+ \endgroup%
+ \setlength\@tempdima{\textheight}%
+ \tud@if@v@lower{2.03}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \setlength\@tempdima{\dimexpr\textheight-\tud@len@ddcdiff\relax}%
+ \@tempswatrue%
+ \fi%
+ }{}%
+ \ifdim\ht\tud@title@box>\@tempdima\relax%
+ \@whiledim\ht\tud@title@box>\@tempdima\do{%
+ \splittopskip\topskip%
+ \splitmaxdepth\maxdepth%
+ \vsplit\tud@title@box to \@tempdima%
+ \clearpage%
+ \setlength\@tempdima{\textheight}%
+ \tud@if@v@lower{2.03}{\@tempswafalse}{}%
+ }%
+ \else%
+ \setbox\tud@title@box\vbox{#1\bigskip}%
+ \fi%
+ \twocolumn[\unvbox\tud@title@box]%
+ \tud@if@v@lower{2.03}{%
+ \if@tempswa%
+ \ClassWarning{\TUD@Class@Name}{%
+ You are using a two-column title along with\MessageBreak%
+ the DDC-logo. Unfortunately in this case, the\MessageBreak%
+ type area has to be adjusted manually. Please\MessageBreak%
+ use `\string\enlargethispage{-\the\tud@len@ddcdiff}'\MessageBreak%
+ in both columns after the title%
+ }%
+ \fi%
+ }{}%
+}
+%%% From File: tudscr-frontmatter.dtx
+\newcommand*\tud@fm@check[2]{%
+ \global\let\tud@fm@set\tud@fm@first%
+ #2%
+}
+\newcommand\tud@fm@set[1]{}
+\newcommand\tud@fm@first[1]{%
+ \global\let\tud@fm@set\tud@fm@next%
+}
+\newcommand\tud@fm@next[1]{%
+ \if@twocolumn%
+ \par%
+ \else%
+ \ifnum\csuse{tud@#1@level@num}=\z@\relax%
+ \ifundef{\main@language}{}{\vspace*{-\baselineskip}}%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@fm@body@start[3]{%
+ \begingroup%
+ \TUD@parameter@set{#1}{#2}%
+ \tud@fm@set{#1}%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \begin{\tud@quoting}%
+ \fi%
+ \fi\fi%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \vspace{-\multicolsep}%
+ \begin{multicols}{\tud@x@multicol@num}[{\tud@fm@head{#1}{#3}}]%
+ \else%
+ \tud@fm@head{#1}{#3}%
+ \fi%
+}
+\newcommand*\tud@fm@body@end[1]{%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \end{multicols}%
+ \vspace{-\multicolsep}%
+ \else%
+ \par%
+ \fi%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \end{\tud@quoting}\par%
+ \fi%
+ \fi\fi%
+ \endgroup%
+}
+\newcommand*\tud@fm@head[2]{%
+ \ifcase\csuse{tud@#1@level@num}\relax% false
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \if@twocolumn%
+ \vskip\dimexpr\smallskipamount-\parskip\relax%
+ \else%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ }%
+ \or% true
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \@afterindentfalse%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ }%
+ \begingroup%
+ \noindent\centering%
+ \normalfont\sectfont\nobreak#2%
+ \@endparpenalty\@M%
+ \endgraf%
+ \endgroup%
+ \nopagebreak%
+ \vskip\dimexpr\medskipamount-\parskip\relax%
+ \@afterheading%
+ \or% section
+ \section*{#2}%
+ \fi%
+}
+\newcommand*\tud@quoting{quotation}
+\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
+\csundef{abstract}
+\csundef{endabstract}
+\NewEnviron{abstract}[1][]{%
+ \TUD@parameter@set{abstract}{#1}%
+ \tud@x@multicol@check%
+ \renewcommand*\nextabstract[1][]{%
+ \tud@fm@body@end{abstract}%
+ \tud@fm@body@start{abstract}{##1}{\abstractname}%
+ }%
+ \tud@fm@check{abstract}{%
+ \tud@fm@body@start{abstract}{#1}{\abstractname}%
+ \BODY%
+ \tud@fm@body@end{abstract}%
+ }%
+}[%
+ \ifnum\tud@abstract@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+]
+\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{abstract}{\TUDoption{abstract}{#1}}%
+ \TUD@parameter@let{option}{abstract}%
+ \TUD@parameter@handler@default{}%
+}
+\newcommand*\nextabstract[1][]{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextabstract'}{%
+ The command `\string\nextabstract' can only be used within\MessageBreak%
+ the environment `abstract'.%
+ }%
+}
+%%% From File: tudscr-comp.dtx
+\newcommand*\TUD@cmd@deprecated[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@len@deprecated[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@cmd@deprecated{professorship}{chair}
+\TUD@cmd@deprecated{location}{place}
+\TUD@cmd@deprecated{logofile}{headlogo}
+\TUD@cmd@deprecated{logofilename}{headlogo}
+\AfterPackage{tudscrsupervisor}{%
+ \TUD@cmd@deprecated{startdate}{issuedate}%
+ \TUD@cmd@deprecated{finaldate}{duedate}%
+ \TUD@cmd@deprecated{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%
+ \fi%
+}
+\newcommand*\tudbookmark[1][]{\@gobbletwo}
+\newcommand*\tud@x@hyperref@realfootnotes{}
+\AfterPackage{hyperref}{%
+ \renewcommand*\tudbookmark[3][]{%
+ \relax%
+ \if@tud@bookmarks%
+ \phantomsection%
+ \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}%
+ \fi%
+ }%
+ \renewcommand*\tud@x@hyperref@realfootnotes{%
+ \let\Hy@saved@footnotemark\@footnotemark%
+ \let\Hy@saved@footnotetext\@footnotetext%
+ \let\@footnotemark\H@@footnotemark%
+ \let\@footnotetext\H@@footnotetext%
+ }%
+ \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}%
+}
+\newcommand*\tud@x@bookmark@startatroot{\relax}
+\AfterPackage{bookmark}{%
+ \renewcommand*\tud@x@bookmark@startatroot{%
+ \if@tud@bookmarks\bookmarksetup{startatroot}\fi%
+ }%
+}
+\pretocmd{\tud@make@titlehead}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 1%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{tud@make@titlehead}}
+\pretocmd{\@maketitle}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 1%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{@maketitle}}
+\BeforeTOCHead[toc]{%
+ \tud@x@bookmark@startatroot%
+ \let\@tempc\relax%
+ \iftocfeature{toc}{totoc}{}{%
+ \if@tud@bookmarks%
+ \setuptoc{toc}{totoc}%
+ \tud@cmd@store{addtocontents}%
+ \def\@tempc{%
+ \unsettoc{toc}{totoc}%
+ \tud@cmd@restore{addtocontents}%
+ }%
+ \let\addtocontents\@gobbletwo%
+ \fi%
+ }%
+}
+\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%
+}
+\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}}
+\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 1c4d9845a7b..ae90157babc 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls
@@ -5,23 +5,25 @@
%% The original source files were:
%%
%% tudscr-version.dtx (with options: `class,report')
-%% tudscr-base.dtx (with options: `load')
-%% tudscr-fonts.dtx (with options: `class,option')
+%% tudscr-base.dtx (with options: `class,report,load')
+%% tudscr-fonts.dtx (with options: `class,report,option')
+%% tudscr-area.dtx (with options: `class,report,option')
%% tudscr-pagestyle.dtx (with options: `class,report,option')
%% tudscr-layout.dtx (with options: `class,report,option')
-%% tudscr-frontmatter.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-misc.dtx (with options: `class,execute')
-%% tudscr-base.dtx (with options: `class,body')
-%% tudscr-fonts.dtx (with options: `class,body')
-%% tudscr-fields.dtx (with options: `class,body')
+%% 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-area.dtx (with options: `class,report,body')
%% tudscr-pagestyle.dtx (with options: `class,report,body')
%% tudscr-layout.dtx (with options: `class,report,body')
-%% tudscr-frontmatter.dtx (with options: `class,report,body')
%% tudscr-title.dtx (with options: `class,report,body')
+%% tudscr-frontmatter.dtx (with options: `class,report,body')
%% tudscr-comp.dtx (with options: `class,report,body')
%% tudscr-misc.dtx (with options: `class,report,body')
%%
@@ -53,160 +55,153 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\newcommand*\TUD@ProvidesClass[3]{%
- \newcommand*\TUDClassName@KOMA{#2}%
- \@ifundefined{TUDClassName@Parent}{\newcommand*\TUDClassName{#1}}{}%
\ProvidesClass{#1}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
^^J#3 (#2)%
]%
- \@ifundefined{TUDClassName@Parent}{\TUD@ClassInfo}{}%
+ \newcommand*\TUD@Class@KOMA{#2}%
+ \@ifundefined{TUD@Class@Parent}{%
+ \newcommand*\TUD@Class@Name{#1}%
+ \TUD@Class@Info%
+ }{}%
}
-\providecommand*\TUD@ClassInfo{%
- \typeout{+---------------------------------------------------------------}
- \typeout{| The Corporate Design of Technische Universitaet Dresden}
- \typeout{| Class: \TUDClassName}
- \typeout{| Version: \TUDVersion}
- \typeout{| Author: Falk Hanisch (\tudscrmail)}
- \typeout{| Forum: http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php}
- \typeout{+---------------------------------------------------------------}
+\providecommand*\TUD@Class@Info{%
+ \typeout{+---------------------------------------------------------------}%
+ \typeout{| The 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{+---------------------------------------------------------------}%
}
-\NeedsTeXFormat{LaTeX2e}
\TUD@ProvidesClass{tudscrreprt}{scrreprt}{document class}
+\edef\TUDScriptClassName{\TUD@Class@Name}
+\providecommand*\TUDClassName{\TUDScriptClassName}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-base.dtx
-\RequirePackage{tudscrbase}[\TUDVersion]
+\RequirePackage{tudscrbase}[\TUD@Version]
+\renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@KOMA}}
+\AfterClass{\TUD@Class@KOMA}{\let\TUD@KOMAoptions\KOMAoptions}
%%% From File: tudscr-fonts.dtx
\PreventPackageFromLoading[%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The package `tudscrfonts' must not be used with\MessageBreak%
a TUD-KOMA-Script class%
}%
]{tudscrfonts}
-\newif\if@tud@univers
-\newif\if@tud@dinbold
-\newcommand*\tud@univers{lun}
-\newcommand*\tud@dinbold{0m6}
-\newif\if@tud@fontspec
-\TUD@key{fontspec}[true]{%
- \ClassWarning{\TUDClassName}%
- {%
- The option key `fontspec' is deprecated.\MessageBreak%
- You should load the package `fontspec' manually%
- }%
- \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}%
-}
-\AtEndOfClass%
-{%
- \TUD@key{fontspec}[]%
- {%
- \ClassError{\TUDClassName}%
- {Option `fontspec' too late}{%
- Option `fontspec' can only be set while loading the\MessageBreak%
- class `\TUDClassName'
- but you have tried to set it up later.%
- }%
- \FamilyKeyStateProcessed%
- }%
- \if@tud@fontspec%
- \RequirePackage{fontspec}[2014/06/21]%
- \fi%
-}
-\AfterPackage*{fontspec}{\@tud@fontspectrue}
-\RequirePackage{textcase}[2004/10/07]
-\newcommand*\tud@uclcnotmath{%
- \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}%
- \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}%
- \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}%
-}
-\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{%
- \@nonchangecase\ensuremath\tud@uclcnotmath
-}{}{\tud@patch@wrn{@uclcnotmath}}%
-\newcommand*\tud@font@heading{\dinbn\tud@raggedright}
-\newcommand*\tud@cdfont{1}
+\newif\if@tud@x@fontspec@enabled
+\AfterPackage*{fontspec}{\@tud@x@fontspec@enabledtrue}
+\newif\if@tud@cdfont@din
+\newif\if@tud@cdfont@ultrabold
+\@tud@cdfont@dintrue
+\newcommand*\tud@cdfont@num{1}
\TUD@key{cdfont}[true]{%
\TUD@set@numkey{cdfont}{@tempa}{%
\TUD@numkey@bool,%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2},%
- {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},%
- {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},%
- {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},%
- {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},%
- {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},%
- {bar}{6},{barfont}{6},%
- {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},%
- {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},%
- {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},%
- {headlight}{6},{headfontlight}{6},{headlightfont}{6},%
- {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},%
- {barlight}{6},{barfontlight}{6},{barlightfont}{6},%
- {litehead}{6},{liteheadfont}{6},{litefonthead}{6},%
- {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},%
- {litebar}{6},{litebarfont}{6},{litefontbar}{6},%
- {headlite}{6},{headfontlite}{6},{headlitefont}{6},%
- {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},%
- {barlite}{6},{barfontlite}{6},{barlitefont}{6},%
- {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},%
- {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},%
- {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},%
- {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},%
- {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},%
- {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},%
- {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},%
- {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},%
- {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},%
- {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},%
- {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},%
- {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},%
- {nomath}{8},{nocdmath}{8},%
- {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},%
- {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},%
- {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},%
- {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},%
- {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},%
- {nofontspec}{13},{nfss}{13},{pdftex}{13},{pdflatex}{13}%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
+ {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}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@cdfont{0}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{0}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{1}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% heavy
- \def\tud@cdfont{2}%
- \if@atdocument\tud@font@set\fi%
+ \renewcommand*\tud@cdfont@num{2}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% normalbold
+ \@tud@cdfont@ultraboldfalse%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \or% ultrabold
+ \@tud@cdfont@ultraboldtrue%
+ \ifcase\tud@cdfont@num\relax% false to true
+ \renewcommand*\tud@cdfont@num{1}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
\or% nodin
- \renewcommand*\tud@font@heading{\tud@RaggedRight}%
+ \@tud@cdfont@dinfalse%
\or% din
- \renewcommand*\tud@font@heading{\dinbn\tud@raggedright}%
+ \@tud@cdfont@dintrue%
\or% nohead
\TUDoptions{cdhead=false}%
\or% head
@@ -227,16 +222,38 @@
\TUDoptions{fontspec=false}%
\fi%
\else%
- \KOMAoptions{fontsize=#1}%
- \ifcase\tud@cdfont\relax% false to true
- \def\tud@cdfont{1}%
- \if@atdocument\tud@font@set\fi%
+ \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}%
+ \TUD@SpecialOptionAtDocument{tud@font@set}%
+ \fi%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }{}%
+ \fi%
+}
+\newif\if@tud@relspacing
+\TUD@key{relspacing}[true]{%
+ \TUD@set@numkey{relspacing}{@tempa}{%
+ \TUD@numkey@bool,%
+ {absolute}{0},{classic}{0},{standard}{0},%
+ {relative}{1},{fontsize}{1},{font}{1},{size}{1}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false
+ \@tud@relspacingfalse%
+ \or% true
+ \@tud@relspacingtrue%
\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\fi%
}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{fontsize}{%
- \AtEndOfFamilyOptions{\if@atdocument\tud@font@skip@set\fi}%
+ \TUD@SpecialOptionAtDocument{tud@font@skip@set}%
\FamilyKeyStateProcessed%
}
\bool@lock{@tud@cdmath}
@@ -251,10 +268,10 @@
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
\bool@set@lock{@tud@cdmath}{false}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% true
\bool@set@lock{@tud@cdmath}{true}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\or% upgreek
\TUDoptions{slantedgreek=false}%
\or% slgreek
@@ -267,28 +284,111 @@
\TUD@set@ifkey{slantedgreek}{@tud@slantedgreek}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\bool@set@lock{@tud@slantedgreek}{#1}%
- \if@atdocument\tud@font@math@set\fi%
+ \TUD@SpecialOptionAtDocument{tud@font@math@set}%
\fi%
}
\TUD@key{slantedGreek}[true]{\TUDoptions{slantedgreek=#1}}
+%%% From File: tudscr-area.dtx
+\cs@lock{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@numkey@bool,%
+ {typearea}{0},%
+ {cd}{1},{tud}{1},{asymmetric}{1},%
+ {symmetric}{2},{centred}{2},{centered}{2},%
+ {normal}{2},{standard}{2},{std}{2},%
+ {twoside}{3},{balanced}{3},%
+ {oneside}{4},%
+ {restricted}{5},%
+ {adapted}{6},{adapt}{6},{adapting}{6},{unrestricted}{6},%
+ {calculated}{7},{calc}{7},{calculate}{7},{calculating}{7},%
+ {custom}{8},{user}{8},{package}{8}%
+ }{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifcase\@tempa\relax% false/typearea
+ \cs@set@lock{tud@cdgeometry@num}{0}%
+ \or% true/cd
+ \cs@set@lock{tud@cdgeometry@num}{2}%
+ \or% symmetric
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \or% twoside
+ \cs@set@lock{tud@cdgeometry@num}{4}%
+ \TUD@KOMAoptions{twoside=true}%
+ \or% oneside
+ \ifnum\tud@cdgeometry@num>\thr@@\relax%
+ \cs@set@lock{tud@cdgeometry@num}{3}%
+ \fi%
+ \TUD@KOMAoptions{twoside=false}%
+ \or% restricted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{0}%
+ \or% adapted
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{1}%
+ \or% calculated
+ \cs@std@lock{tud@cdgeometry@num}{2}%
+ \renewcommand*\tud@cdgeometry@calc@num{2}%
+ \or% custom
+ \cs@set@lock{tud@cdgeometry@num}{1}%
+ \fi%
+ \@tempswafalse%
+ \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi%
+ \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi%
+ \if@tempswa%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@dim@extrabottommargin{\z@}
+\TUD@key{extrabottommargin}{%
+ \TUD@set@dimenkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \fi%
+}
+\newcommand*\tud@dim@bleedmargin{.2in}
+\TUD@key{bleedmargin}{%
+ \TUD@set@dimenkey{bleedmargin}{\tud@dim@bleedmargin}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \ifdim\dimexpr\tud@dim@bleedmargin\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@bleedmargin{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \fi%
+}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{twoside}{%
+ \TUD@SpecialOptionAtDocument{tud@cdgeometry@@process}%
+ \FamilyKeyStateProcessed%
+}
+\DefineFamilyKey{KOMA}{twocolumn}{%
+ \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]}
+}{}
%%% From File: tudscr-pagestyle.dtx
\newcommand*\tud@ps@list{}
-\newcommand*\tud@iftudps[3]{%
+\newcommand*\tud@if@tudheadings[3]{%
\xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}%
}
\newif\if@tud@ddc@internal
-\newcommand*\tud@clearpage@iftudps{%
- \if@tud@ddc@internal\else\if@atdocument%
- \tud@iftudps{\currentpagestyle}{\clearpage}{}%
- \fi\fi%
-}
-\newcommand*\tud@pagestyle@iftudps{%
- \if@tud@ddc@internal\else\if@atdocument%
- \tud@iftudps{\currentpagestyle}{%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
- }{}%
- \fi\fi%
-}
+\newcommand*\tud@comp@clearpage{}%
+\newcommand*\tud@comp@resetpagestyle{}%
\newcommand*\tud@ddc@switch{}
\edef\tud@ddc@switch{%
\TUD@numkey@bool,%
@@ -302,10 +402,10 @@
\newif\if@tud@headlogo@option@set
\newif\if@tud@footlogo@option@set
\newif\if@tud@ddc@auto
-\newcommand*\tud@ddc{0}
+\newcommand*\tud@ddc@auto@num{0}
\TUD@key{ddc}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal%
\@tud@ddc@autofalse%
@@ -319,12 +419,12 @@
\global\@tud@headlogo@option@settrue%
\global\@tud@footlogo@option@settrue%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
-\newcommand*\tud@ddc@head{0}
+\newcommand*\tud@ddc@head@num{0}
\TUD@key{ddchead}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddchead}{tud@ddc@head}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal\else%
\@tud@ddc@internaltrue%
@@ -333,12 +433,12 @@
\@tud@ddc@internalfalse%
\fi%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
-\newcommand*\tud@ddc@foot{0}
+\newcommand*\tud@ddc@foot@num{0}
\TUD@key{ddcfoot}[true]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \TUD@set@numkey{ddcfoot}{tud@ddc@foot}{\tud@ddc@switch}{#1}%
+ \tud@comp@clearpage%
+ \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tud@ddc@internal\else%
\@tud@ddc@internaltrue%
@@ -347,43 +447,32 @@
\@tud@ddc@internalfalse%
\fi%
\fi%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
-}
-\newcommand*\tud@ddc@check{%
- \let\@tempa\tud@ddc@head%
- \let\@tempb\tud@ddc@foot%
- \if@tud@ddc@auto%
- \ifdefvoid{\@headlogo}{%
- \let\@tempa\tud@ddc%
- \let\@tempb\z@%
- }{%
- \let\@tempa\z@%
- \let\@tempb\tud@ddc%
- }%
- \fi%
- \tud@ifverlower{2.03}{%
- \ifnum\@tempb=\z@\relax%
- \ifdefvoid{\@footlogo}{}{\let\@tempb\m@ne}%
- \fi%
- }{}%
+ \tud@comp@resetpagestyle%
}
-\newlength\tud@dim@extrabottommargin
-\TUD@key{extrabottommargin}{%
- \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}%
+\newcommand*\tud@dim@footlogoheight{}
+\let\tud@dim@footlogoheight\relax
+\TUD@key{footlogoheight}{%
+ \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@geometry@process\fi%
+ \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax%
+ \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}%
+ \@tempa#1\@nil%
+ \fi%
+ \global\@tud@footlogo@option@settrue%
\fi%
}
-\cs@lock{tud@head@font}{0}
-\cs@lock{tud@head@bar}{0}
+\cs@lock{tud@head@font@num}{0}
+\cs@lock{tud@head@bar@num}{0}
\bool@lock{@tud@head@widebar}
+\newif\if@tud@head@font@set
+\newif\if@tud@head@date
\TUD@key{cdhead}[true]{%
\TUD@set@numkey{cdhead}{@tempa}{%
\TUD@numkey@bool,%
{nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
{cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2},%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2},%
{nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},%
{colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},%
{colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},%
@@ -394,32 +483,42 @@
{color}{6},{colour}{6},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},%
{textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},%
- {paperwidth}{8},{wide}{8},{widehead}{8}%
+ {narrow}{7},{narrowhead}{7},{small}{7},{smallhead}{7},%
+ {paperwidth}{8},{wide}{8},{widehead}{8},%
+ {date}{9},{showdate}{9},{dateon}{9},{datetrue}{9},{dateyes}{9},%
+ {nodate}{10},{hidedate}{10},{dateoff}{10},{datefalse}{10},{dateno}{10}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@head@font}{0}%
+ \cs@set@lock{tud@head@font@num}{0}%
\or% true
- \cs@set@lock{tud@head@font}{1}%
+ \cs@set@lock{tud@head@font@num}{1}%
\or% heavy
- \cs@set@lock{tud@head@font}{2}%
+ \cs@set@lock{tud@head@font@num}{2}%
\or% nocolor
- \cs@set@lock{tud@head@bar}{0}%
+ \cs@set@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% color
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% textwidth
\bool@set@lock{@tud@head@widebar}{false}%
\or% paperwidth
\bool@set@lock{@tud@head@widebar}{true}%
+ \or% date
+ \@tud@head@datetrue%
+ \or% nodate
+ \@tud@head@datefalse%
+ \fi%
+ \ifnum\@tempa<\thr@@\relax%
+ \global\@tud@head@font@settrue%
\fi%
\fi%
}
-\TUD@AfterPackage@Set{scrlayer-scrpage}
-\newif\if@tud@foot@colored
+\TUD@AfterPackage@set{scrlayer-scrpage}
+\bool@lock{@tud@foot@colored}
\TUD@key{cdfoot}[true]{%
\TUD@set@numkey{cdfoot}{@tempa}{%
\TUD@numkey@bool,%
@@ -431,13 +530,13 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@AfterPackage{scrlayer-scrpage}{%
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@restore{scrheadings}%
\tud@ps@restore{plain.scrheadings}%
\tud@font@koma@unset{pageheadfoot}%
}%
\or% true
- \TUD@AfterPackage{scrlayer-scrpage}{%
+ \TUD@AfterPackage@do{scrlayer-scrpage}{%
\tud@ps@store{scrheadings}%
\tud@ps@store{plain.scrheadings}%
\tud@font@koma@set{pageheadfoot}{\upshape}%
@@ -450,72 +549,54 @@
\ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi%
}%
\or% nocolor
- \@tud@foot@coloredfalse%
+ \bool@set@lock{@tud@foot@colored}{false}%
\or% color
- \@tud@foot@coloredtrue%
+ \bool@set@lock{@tud@foot@colored}{true}%
\fi%
\else%
- \TUDoptions{extrabottommargin=#1}%
+ \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}%
\fi%
}
\newcommand*\tud@ps@store[1]{%
- \tud@@ps@store{#1}{odd}{left}{head}%
- \tud@@ps@store{#1}{odd}{right}{head}%
- \tud@@ps@store{#1}{odd}{middle}{head}%
- \tud@@ps@store{#1}{even}{left}{head}%
- \tud@@ps@store{#1}{even}{right}{head}%
- \tud@@ps@store{#1}{even}{middle}{head}%
- \tud@@ps@store{#1}{odd}{left}{foot}%
- \tud@@ps@store{#1}{odd}{right}{foot}%
- \tud@@ps@store{#1}{odd}{middle}{foot}%
- \tud@@ps@store{#1}{even}{left}{foot}%
- \tud@@ps@store{#1}{even}{right}{foot}%
- \tud@@ps@store{#1}{even}{middle}{foot}%
-}
-\newcommand*\tud@@ps@store[4]{%
+ \tud@ps@@store{#1}{odd}{left}{head}%
+ \tud@ps@@store{#1}{odd}{right}{head}%
+ \tud@ps@@store{#1}{odd}{middle}{head}%
+ \tud@ps@@store{#1}{even}{left}{head}%
+ \tud@ps@@store{#1}{even}{right}{head}%
+ \tud@ps@@store{#1}{even}{middle}{head}%
+ \tud@ps@@store{#1}{odd}{left}{foot}%
+ \tud@ps@@store{#1}{odd}{right}{foot}%
+ \tud@ps@@store{#1}{odd}{middle}{foot}%
+ \tud@ps@@store{#1}{even}{left}{foot}%
+ \tud@ps@@store{#1}{even}{right}{foot}%
+ \tud@ps@@store{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@store[4]{%
\ifcsdef{@@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}%
- \tud@@ps@restore{#1}{odd}{right}{head}%
- \tud@@ps@restore{#1}{odd}{middle}{head}%
- \tud@@ps@restore{#1}{even}{left}{head}%
- \tud@@ps@restore{#1}{even}{right}{head}%
- \tud@@ps@restore{#1}{even}{middle}{head}%
- \tud@@ps@restore{#1}{odd}{left}{foot}%
- \tud@@ps@restore{#1}{odd}{right}{foot}%
- \tud@@ps@restore{#1}{odd}{middle}{foot}%
- \tud@@ps@restore{#1}{even}{left}{foot}%
- \tud@@ps@restore{#1}{even}{right}{foot}%
- \tud@@ps@restore{#1}{even}{middle}{foot}%
-}
-\newcommand*\tud@@ps@restore[4]{%
+ \tud@ps@@restore{#1}{odd}{left}{head}%
+ \tud@ps@@restore{#1}{odd}{right}{head}%
+ \tud@ps@@restore{#1}{odd}{middle}{head}%
+ \tud@ps@@restore{#1}{even}{left}{head}%
+ \tud@ps@@restore{#1}{even}{right}{head}%
+ \tud@ps@@restore{#1}{even}{middle}{head}%
+ \tud@ps@@restore{#1}{odd}{left}{foot}%
+ \tud@ps@@restore{#1}{odd}{right}{foot}%
+ \tud@ps@@restore{#1}{odd}{middle}{foot}%
+ \tud@ps@@restore{#1}{even}{left}{foot}%
+ \tud@ps@@restore{#1}{even}{right}{foot}%
+ \tud@ps@@restore{#1}{even}{middle}{foot}%
+}
+\newcommand*\tud@ps@@restore[4]{%
\ifcsdef{@@tud@ps@#1@#2@#3@#4}{%
\csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}%
\csundef{@@tud@ps@#1@#2@#3@#4}%
}{}%
}
-\newcommand*\tud@geometry{0}
-\TUD@key@lock{cdgeometry}[true]{%
- \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{%
- \TUD@numkey@bool,%
- {typearea}{0},%
- {cd}{1},{tud}{1},{asymmetric}{1},%
- {symmetric}{2},{centred}{2},{centered}{2},%
- {normal}{2},{standard}{2},{std}{2},%
- {twoside}{3},{balanced}{3}%
- }{#1}%
- \ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\recalctypearea\fi%
- \fi%
-}
%%% From File: tudscr-layout.dtx
-\cs@lock{tud@layout@cover}{0}
-\cs@lock{tud@layout@title}{0}
-\cs@lock{tud@layout@part}{0}
-\cs@lock{tud@layout@chapter}{0}
\newcommand*\tud@layout@switch{}
\edef\tud@layout@switch{%
\TUD@numkey@bool,%
@@ -529,60 +610,71 @@
{color}{5},{colour}{5},%
{full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6}%
}
-\newcommand*\tud@cd{0}
+\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}{\tud@layout@switch}{#1}%
+ \TUD@set@numkey{cd}{tud@cd@num}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \ifcase\tud@cd\relax% false
- \cs@std@lock{tud@layout@cover}{0}%
- \cs@std@lock{tud@layout@title}{0}%
- \cs@std@lock{tud@layout@part}{0}%
- \cs@std@lock{tud@layout@chapter}{0}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{1}%
- \cs@std@lock{tud@layout@part}{1}%
- \cs@std@lock{tud@layout@chapter}{1}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{2}%
- \cs@std@lock{tud@layout@part}{2}%
- \cs@std@lock{tud@layout@chapter}{2}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{3}%
- \cs@std@lock{tud@layout@part}{3}%
- \cs@std@lock{tud@layout@chapter}{3}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{4}%
- \cs@std@lock{tud@layout@part}{4}%
- \cs@std@lock{tud@layout@chapter}{4}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{5}%
- \cs@std@lock{tud@layout@part}{5}%
- \cs@std@lock{tud@layout@chapter}{5}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \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}{1}%
- \cs@std@lock{tud@layout@title}{6}%
- \cs@std@lock{tud@layout@part}{6}%
- \cs@std@lock{tud@layout@chapter}{6}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \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%
- \if@atdocument%
- \tud@layout@process%
- \else%
- \ifcase\tud@cd\relax% false
- \TUD@std@numkey@lock{cdgeometry}{false}%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \if@atdocument\else%
+ \ifcase\tud@cd@num\relax% false
+ \cs@std@lock{tud@cdgeometry@num}{0}%
\else% !false
- \TUD@std@numkey@lock{cdgeometry}{true}%
+ \cs@std@lock{tud@cdgeometry@num}{2}%
\fi%
\fi%
\fi%
@@ -591,98 +683,111 @@
\TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@cover}{0}%
+ \cs@set@lock{tud@layout@cover@num}{0}%
\or% true
- \cs@set@lock{tud@layout@cover}{1}%
+ \cs@set@lock{tud@layout@cover@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@cover}{2}%
+ \cs@set@lock{tud@layout@cover@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@cover}{3}%
+ \cs@set@lock{tud@layout@cover@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@cover}{4}%
+ \cs@set@lock{tud@layout@cover@num}{4}%
\or% color
- \cs@set@lock{tud@layout@cover}{5}%
+ \cs@set@lock{tud@layout@cover@num}{5}%
\or% full
- \cs@set@lock{tud@layout@cover}{6}%
+ \cs@set@lock{tud@layout@cover@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdtitle}[true]{%
\TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@title}{0}%
+ \cs@set@lock{tud@layout@title@num}{0}%
\or% true
- \cs@set@lock{tud@layout@title}{1}%
+ \cs@set@lock{tud@layout@title@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@title}{2}%
+ \cs@set@lock{tud@layout@title@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@title}{3}%
+ \cs@set@lock{tud@layout@title@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@title}{4}%
+ \cs@set@lock{tud@layout@title@num}{4}%
\or% color
- \cs@set@lock{tud@layout@title}{5}%
+ \cs@set@lock{tud@layout@title@num}{5}%
\or% full
- \cs@set@lock{tud@layout@title}{6}%
+ \cs@set@lock{tud@layout@title@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdpart}[true]{%
\TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@part}{0}%
+ \cs@set@lock{tud@layout@part@num}{0}%
\or% true
- \cs@set@lock{tud@layout@part}{1}%
+ \cs@set@lock{tud@layout@part@num}{1}%
\or% litecolor
- \cs@set@lock{tud@layout@part}{2}%
+ \cs@set@lock{tud@layout@part@num}{2}%
\or% barcolor
- \cs@set@lock{tud@layout@part}{3}%
+ \cs@set@lock{tud@layout@part@num}{3}%
\or% bicolor
- \cs@set@lock{tud@layout@part}{4}%
+ \cs@set@lock{tud@layout@part@num}{4}%
\or% color
- \cs@set@lock{tud@layout@part}{5}%
+ \cs@set@lock{tud@layout@part@num}{5}%
\or% full
- \cs@set@lock{tud@layout@part}{6}%
+ \cs@set@lock{tud@layout@part@num}{6}%
\fi%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\TUD@key{cdchapter}[true]{%
\TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \cs@set@lock{tud@layout@chapter}{0}%
- \TUD@std@ifkey@lock{chapterpage}{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}{1}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{1}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% litecolor
- \cs@set@lock{tud@layout@chapter}{2}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{2}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% barcolor
- \cs@set@lock{tud@layout@chapter}{3}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{3}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% bicolor
- \cs@set@lock{tud@layout@chapter}{4}%
- \TUD@std@ifkey@lock{chapterpage}{false}%
+ \cs@set@lock{tud@layout@chapter@num}{4}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{false}%
\or% color
- \cs@set@lock{tud@layout@chapter}{5}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \cs@set@lock{tud@layout@chapter@num}{5}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
\or% full
- \cs@set@lock{tud@layout@chapter}{6}%
- \TUD@std@ifkey@lock{chapterpage}{true}%
+ \cs@set@lock{tud@layout@chapter@num}{6}%
+ \TUD@std@ifkey@lock{chapterpage}{@tud@chapterpage}{true}%
+ \fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
+ \fi%
+}
+\TUD@key{cdsection}[true]{%
+ \TUD@set@numkey{cdsection}{@tempa}{\tud@layout@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%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\newif\if@tud@parttitle
\TUD@key{parttitle}[true]{%
\TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
- \if@atdocument\tud@layout@process\fi%
+ \TUD@SpecialOptionAtDocument{tud@layout@process}%
\fi%
}
\newif\if@tud@chapterpage
@@ -694,25 +799,25 @@
\TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \def\tud@cleardoublepage{\cleardoubleoddpage}%
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddpage}%
\else%
- \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
+ \renewcommand*\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}%
\fi%
\else%
\ifstr{#1}{color}{\TUDoptions{clearcolor=true}}{%
\ifstr{#1}{colour}{\TUDoptions{clearcolor=true}}{%
\ifstr{#1}{current}{%
- \def\tud@cleardoublepage{\cleardoubleoddstandardpage}%
+ \renewcommand*\tud@cleardoublepage{\cleardoubleoddstandardpage}%
\FamilyKeyStateProcessed%
}{%
\AfterPreamble{%
- \ifcsdef{ps@#1}{%
- \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}%
- }{%
- \ClassError{\TUDClassName}{`#1' is no valid pagestyle}{%
+ \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%
@@ -750,37 +855,42 @@
\TUD@ifkey{clearcolor}{@tud@clearcolor}
\TUD@ifkey{clearcolour}{@tud@clearcolor}
\newcommand*\tud@font@koma@set[2]{%
- \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}%
- \@namedef{tud@font@koma@#1}{#2\nobreak}%
-}
-\newcommand*\tud@font@koma@reset[1]{%
- \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
+ \csdef{tud@font@koma@#1}{#2\nobreak}%
}
\newcommand*\tud@font@koma@unset[1]{%
- \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}%
+ \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}%
+ \csdef{tud@font@koma@#1}{\relax}%
+}
+\newcommand*\tud@font@koma@reset[1]{%
+ \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}%
}
-\newcommand*\tud@font@heading@size{}
-\AtEndOfClass{\let\tud@font@heading@size\size@part}
\DefineFamilyMember{KOMA}
\DefineFamilyKey{KOMA}{headings}{%
- \AtEndOfFamilyOptions{%
- \let\tud@font@heading@size\size@part%
- \if@atdocument%
- \tud@layout@process%
- \ifcase\tud@layout@part\relax\else% !false
- \tud@font@koma@reset{part}%
- \tud@font@koma@reset{partnumber}%
- \fi%
- \ifcase\tud@layout@chapter\relax\else% !false
- \tud@font@koma@reset{chapter}%
- \tud@font@koma@reset{chapterprefix}%
- \tud@font@koma@reset{section}%
- \tud@font@koma@reset{subsection}%
- \tud@font@koma@reset{subsubsection}%
- \tud@font@koma@reset{minisec}%
- \fi%
- \fi%
- }%
+ \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@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}%
+}
+%%% From File: tudscr-title.dtx
+\newif\if@tud@subjectthesis
+\TUD@key@lock{subjectthesis}[true]{%
+ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
}
%%% From File: tudscr-frontmatter.dtx
\newcommand*\tud@fm@switch{%
@@ -800,8 +910,8 @@
{tocmultiple}{13},{tocmulti}{13},{tocall}{13},{tocaggregate}{13},%
{totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
}
-\newcommand*\tud@abstract@level{0}
-\cs@lock{tud@abstract@toc}{0}
+\newcommand*\tud@abstract@level@num{0}
+\cs@lock{tud@abstract@toc@num}{0}
\newif\if@tud@abstract@multi
\@tud@abstract@multitrue
\newif\if@tud@abstract@fil
@@ -812,17 +922,17 @@
\TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@abstract@level{0}%
- \cs@std@lock{tud@abstract@toc}{0}%
+ \renewcommand*\tud@abstract@level@num{0}%
+ \cs@std@lock{tud@abstract@toc@num}{0}%
\or% true
- \def\tud@abstract@level{1}%
- \cs@std@lock{tud@abstract@toc}{0}%
+ \renewcommand*\tud@abstract@level@num{1}%
+ \cs@std@lock{tud@abstract@toc@num}{0}%
\or% section
- \def\tud@abstract@level{2}%
- \cs@std@lock{tud@abstract@toc}{1}%
+ \renewcommand*\tud@abstract@level@num{2}%
+ \cs@std@lock{tud@abstract@toc@num}{1}%
\or% chapter
- \def\tud@abstract@level{3}%
- \cs@std@lock{tud@abstract@toc}{1}%
+ \renewcommand*\tud@abstract@level@num{3}%
+ \cs@std@lock{tud@abstract@toc@num}{1}%
\or% single
\@tud@abstract@multifalse%
\or% multiple
@@ -836,35 +946,39 @@
\or% nomarkboth
\@tud@abstract@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@abstract@toc}{0}%
+ \cs@set@lock{tud@abstract@toc@num}{0}%
\or% totoc
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\else%
- \cs@set@lock{tud@abstract@toc}{3}%
+ \cs@set@lock{tud@abstract@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{2}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{2}%
\else%
- \cs@set@lock{tud@abstract@toc}{4}%
+ \cs@set@lock{tud@abstract@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@abstract@toc=\z@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num=\z@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\fi%
- \ifnum\tud@abstract@toc<\thr@@\relax%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@abstract@toc}{%
- \the\numexpr\tud@abstract@toc+2\relax%
+ \noexpand\cs@set@lock{tud@abstract@toc@num}{%
+ \the\numexpr\tud@abstract@toc@num+2\relax%
}%
}\@tempa%
\fi%
\fi%
\fi%
}
-\newcommand*\tud@declaration@level{1}
-\cs@lock{tud@declaration@toc}{0}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{abstract}[true]{%
+ \AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
+}
+\newcommand*\tud@declaration@level@num{1}
+\cs@lock{tud@declaration@toc@num}{0}
\newif\if@tud@declaration@multi
\@tud@declaration@multitrue
\newif\if@tud@declaration@fil
@@ -875,17 +989,17 @@
\TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@declaration@level{0}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{0}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% true
- \def\tud@declaration@level{1}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{1}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% section
- \def\tud@declaration@level{2}%
- \cs@std@lock{tud@declaration@toc}{1}%
+ \renewcommand*\tud@declaration@level@num{2}%
+ \cs@std@lock{tud@declaration@toc@num}{1}%
\or% chapter
- \def\tud@declaration@level{3}%
- \cs@std@lock{tud@declaration@toc}{1}%
+ \renewcommand*\tud@declaration@level@num{3}%
+ \cs@std@lock{tud@declaration@toc@num}{1}%
\or% single
\@tud@declaration@multifalse%
\or% multiple
@@ -899,55 +1013,74 @@
\or% nomarkboth
\@tud@declaration@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@declaration@toc}{0}%
+ \cs@set@lock{tud@declaration@toc@num}{0}%
\or% totoc
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\else%
- \cs@set@lock{tud@declaration@toc}{3}%
+ \cs@set@lock{tud@declaration@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{2}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{2}%
\else%
- \cs@set@lock{tud@declaration@toc}{4}%
+ \cs@set@lock{tud@declaration@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@declaration@toc=\z@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num=\z@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\fi%
- \ifnum\tud@declaration@toc<\thr@@\relax%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@declaration@toc}{%
- \the\numexpr\tud@declaration@toc+2\relax%
+ \noexpand\cs@set@lock{tud@declaration@toc@num}{%
+ \the\numexpr\tud@declaration@toc@num+2\relax%
}%
}\@tempa%
\fi%
\fi%
\fi%
}
-%%% From File: tudscr-title.dtx
-\newif\if@tud@subjectthesis
-\TUD@key@lock{subjectthesis}[true]{%
- \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}%
-}
%%% From File: tudscr-comp.dtx
-\newcommand*\TUD@deprecated@key[2]{%
- \ClassWarning{\TUDClassName}%
+\newcommand*\TUD@key@deprecated[2]{%
+ \ClassWarning{\TUD@Class@Name}%
{%
- The option key `#1' is deprecated.\MessageBreak%
+ The option key `#1' is deprecated\MessageBreak%
It's recommended to use `#2'\MessageBreak%
instead%
}%
\TUDoptions{#2}%
}
+\TUD@key{fontspec}[true]{%
+ \ClassWarning{\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}[2014/06/21]%
+ \fi%
+}
\TUD@key{cdfonts}[true]{%
\TUD@set@ifkey{cdfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{cdfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{cdfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -955,9 +1088,9 @@
\TUD@set@ifkey{tudfonts}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=true}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=true}%
\else%
- \TUD@deprecated@key{tudfonts=#1}{cdfont=false}%
+ \TUD@key@deprecated{tudfonts=#1}{cdfont=false}%
\fi%
\fi%
}
@@ -965,9 +1098,9 @@
\TUD@set@ifkey{heavyfont}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{heavyfont}{cdfont=heavy}%
+ \TUD@key@deprecated{heavyfont}{cdfont=heavy}%
\else%
- \TUD@deprecated@key{heavyfont=#1}{cdfont=true}%
+ \TUD@key@deprecated{heavyfont=#1}{cdfont=true}%
\fi%
\fi%
}
@@ -975,9 +1108,9 @@
\TUD@set@ifkey{din}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{din}{cdfont=din}%
+ \TUD@key@deprecated{din}{cdfont=din}%
\else%
- \TUD@deprecated@key{din=#1}{cdfont=nodin}%
+ \TUD@key@deprecated{din=#1}{cdfont=nodin}%
\fi%
\fi%
}
@@ -985,9 +1118,9 @@
\TUD@set@ifkey{nodin}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{nodin}{cdfont=nodin}%
+ \TUD@key@deprecated{nodin}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{nodin=#1}{cdfont=din}%
+ \TUD@key@deprecated{nodin=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -995,9 +1128,9 @@
\TUD@set@ifkey{noDIN}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{noDIN}{cdfont=nodin}%
+ \TUD@key@deprecated{noDIN}{cdfont=nodin}%
\else%
- \TUD@deprecated@key{noDIN=#1}{cdfont=din}%
+ \TUD@key@deprecated{noDIN=#1}{cdfont=din}%
\fi%
\fi%
}
@@ -1005,9 +1138,9 @@
\TUD@set@ifkey{sansmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{sansmath}{cdmath=true}%
+ \TUD@key@deprecated{sansmath}{cdmath=true}%
\else%
- \TUD@deprecated@key{sansmath=#1}{cdmath=false}%
+ \TUD@key@deprecated{sansmath=#1}{cdmath=false}%
\fi%
\fi%
}
@@ -1015,28 +1148,28 @@
\TUD@set@ifkey{serifmath}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{serifmath}{cdmath=false}%
+ \TUD@key@deprecated{serifmath}{cdmath=false}%
\else%
- \TUD@deprecated@key{serifmath=#1}{cdmath=true}%
+ \TUD@key@deprecated{serifmath=#1}{cdmath=true}%
\fi%
\fi%
}
-\TUD@key{geometry}[true]{\TUD@deprecated@key{geometry=#1}{cdgeometry=#1}}
+\TUD@key{geometry}[true]{\TUD@key@deprecated{geometry=#1}{cdgeometry=#1}}
\TUD@key{barfont}[true]{%
\TUD@set@numkey{barfont}{@tempa}{%
\TUD@numkey@bool,%
{nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},%
{cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},%
{light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},%
- {heavy}{2},{heavyfont}{2}%
+ {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2}%
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@deprecated@key{barfont=#1}{cdhead=false}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=false}%
\or% true
- \TUD@deprecated@key{barfont=#1}{cdhead=true}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=true}%
\or% heavy
- \TUD@deprecated@key{barfont=#1}{cdhead=heavy}%
+ \TUD@key@deprecated{barfont=#1}{cdhead=heavy}%
\fi%
\fi%
}
@@ -1044,9 +1177,9 @@
\TUD@set@ifkey{widehead}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{widehead}{cdhead=paperwidth}%
+ \TUD@key@deprecated{widehead}{cdhead=paperwidth}%
\else%
- \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}%
+ \TUD@key@deprecated{widehead=#1}{cdhead=textwidth}%
\fi%
\fi%
}
@@ -1054,9 +1187,9 @@
\TUD@set@ifkey{tudfoot}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\if@tempswa%
- \TUD@deprecated@key{tudfoot}{cdfoot=true}%
+ \TUD@key@deprecated{tudfoot}{cdfoot=true}%
\else%
- \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}%
+ \TUD@key@deprecated{tudfoot=#1}{cdfoot=false}%
\fi%
\fi%
}
@@ -1075,84 +1208,172 @@
}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \TUD@deprecated@key{color=#1}{cd=true}%
+ \TUD@key@deprecated{color=#1}{cd=true}%
\or% true
- \TUD@deprecated@key{color=#1}{cd=color}%
+ \TUD@key@deprecated{color=#1}{cd=color}%
\or% litecolor
- \TUD@deprecated@key{color=#1}{cd=pale}%
+ \TUD@key@deprecated{color=#1}{cd=pale}%
\or% bicolor
- \TUD@deprecated@key{color=#1}{cd=bicolor}%
+ \TUD@key@deprecated{color=#1}{cd=bicolor}%
\or% full
- \TUD@deprecated@key{color=#1}{cd=fullcolor}%
+ \TUD@key@deprecated{color=#1}{cd=fullcolor}%
\fi%
\fi%
}
\TUD@key{colour}[true]{\TUDoptions{color=#1}}
\newcommand*\tud@v@comp{\tud@v@last}
\TUD@key{tudscrver}[last]{%
- \ifcsvoid{tud@v@#1}{%
- \def\tud@v@comp{0}%
- \ClassWarningNoLine{\TUDClassName}%
+ \tud@v@get\@tempa{#1}%
+ \ifcsundef{tud@v@\@tempa}{%
+ \ClassWarningNoLine{\TUD@Class@Name}%
{%
- You have set option `tudscrver' to `#1', but\MessageBreak%
+ You have set option `tudscrver' to `\@tempa', but\MessageBreak%
this value is not supported. Because of this, the\MessageBreak%
value for `tudscrver' was set to `first'%
}%
- \FamilyKeyStateProcessed%
+ \def\tud@v@comp{0}%
}{%
- \ClassInfoNoLine{\TUDClassName}%
+ \ClassInfoNoLine{\TUD@Class@Name}%
{%
- Switching compatibility level to `#1'%
+ Switching compatibility level to `\@tempa'%
}%
- \edef\tud@v@comp{\@nameuse{tud@v@#1}}%
- \FamilyKeyStateProcessed%
+ \edef\tud@v@comp{\csuse{tud@v@\@tempa}}%
}%
+ \FamilyKeyStateProcessed%
}
\AtEndOfClass%
{%
\TUD@key{tudscrver}[]{%
- \ClassError{\TUDClassName}%
+ \ClassError{\TUD@Class@Name}%
{Option `tudscrver' too late}{%
Option `tudscrver' can only be set while loading the\MessageBreak%
- class `\TUDClassName'
+ class `\TUD@Class@Name'
but you have tried to set it up later.%
}%
\FamilyKeyStateProcessed%
}%
- \ifcsdef{scr@v@3.17}{%
- \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax%
- \ClassError{\TUDClassName}{%
+ \ifcsdef{scr@v@\TUD@Version@KOMA}{%
+ \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax%
+ \ClassError{\TUD@Class@Name}{%
KOMA-Script compatibility level too low%
}{%
- \TUDVersion\space has to be used at least with\MessageBreak%
- KOMA-Script compatibility option `version=v3.12'.%
+ \TUD@Version\space must be used at least with\MessageBreak%
+ KOMA-Script compatibility option `version=3.12'.%
}%
\fi%
}{%
- \ClassError{\TUDClassName}{%
- KOMA-Script v3.17 is required%
+ \ClassError{\TUD@Class@Name}{%
+ KOMA-Script v\TUD@Version@KOMA is required%
}{%
- \TUDVersion\space has to be used with KOMA-Script v3.17\MessageBreak%
- at least. You're using \KOMAScriptVersion%
+ \TUD@Version\space must at least be used with\MessageBreak%
+ KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion%
}%
}%
}
-\@namedef{tud@v@first}{0}
-\@namedef{tud@v@2.02}{0}
-\@namedef{tud@v@v2.02}{0}
-\@namedef{tud@v@2.03}{1}
-\@namedef{tud@v@v2.03}{1}
-\@namedef{tud@v@2.04}{2}
-\@namedef{tud@v@v2.04}{2}
-\@namedef{tud@v@last}{2}
-\newcommand*\tud@ifverlower[1]{%
- \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax%
- \expandafter\@firstoftwo%
+\csdef{tud@v@first}{0}
+\csdef{tud@v@2.00}{0}
+\csdef{tud@v@2.01}{0}
+\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}
+\csdef{tud@v@2.04a}{2}
+\csdef{tud@v@2.04b}{2}
+\csdef{tud@v@2.04c}{2}
+\csdef{tud@v@2.04d}{2}
+\csdef{tud@v@2.04e}{2}
+\csdef{tud@v@2.05}{3}
+\csdef{tud@v@last}{3}
+\newcommand*\tud@v@get[2]{%
+ \begingroup%
+ \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}%
+ \def\@tempb v##1\@nil{\def\@tempc{##1}}%
+ \@tempa #2\@nil%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\def#1}{\@tempc}%
+ }%
+ \tud@reserved%
+}
+\newcommand*\tud@if@v@lower[1]{%
+ \begingroup%
+ \tud@v@get\@tempa{#1}%
+ \ifcsdef{tud@v@\@tempa}{%
+ \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax%
+ \def\tud@reserved{\endgroup\@firstoftwo}%
+ \else%
+ \def\tud@reserved{\endgroup\@secondoftwo}%
+ \fi%
+ }{%
+ \def\tud@reserved{%
+ \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning!
+ Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak%
+ There's no defined macro `\string\tud@v@\@tempa'%
+ }%
+ \endgroup\@firstoftwo%
+ }%
+ }%
+ \tud@reserved%
+}
+%%% 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%
+ }%
+ \expandafter\@tempb\@tempa::\@nil%
+ \fi%
+ \@tud@x@scr@paper@setfalse%
+ \if@tempswa%
+ \ifstr{\@tempa}{a4}{}{\@tud@x@scr@paper@settrue}%
+ \FamilyKeyStateProcessed%
\else%
- \expandafter\@secondoftwo%
+ \FamilyKeyStateUnknownValue%
\fi%
}
-%%% From File: tudscr-misc.dtx
+\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}{%
@@ -1167,182 +1388,319 @@
\fi%
\fi%
}
-\newif\if@tud@bookmarks
-\TUD@ifkey{tudbookmarks}{@tud@bookmarks}
+\AtEndOfClass{%
+ \newcounter{symbolheadings}[chapter]
+}
%%% From File: tudscr-misc.dtx
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\TUDClassName@KOMA}}
-\TUDExecuteOptions{cd=true,cdfont=true,tudbookmarks=true}
+\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}
+\TUDExecuteOptions{%
+ cd=true,relspacing=true,tudbookmarks=true%
+}
\TUDProcessOptions\relax
-\LoadClass{\TUDClassName@KOMA}[2015/04/23]
+\LoadClass{\TUD@Class@KOMA}[2015/04/23]
%%% From File: tudscr-base.dtx
\RequirePackage{environ}[2013/04/01]
\AtEndPreamble{%
\@ifpackageloaded{graphicx}{}{%
\@ifpackageloaded{graphics}{%
- \ClassWarningNoLine{\TUDClassName}{%
- The package `graphics' was superseded by `graphicx',\MessageBreak%
- which is automatically loaded%
+ \ClassWarningNoLine{\TUD@Class@Name}{%
+ Package `graphics' was superseded by `graphicx',\MessageBreak%
+ which now will be loaded automatically%
}%
}{}%
}%
\RequirePackage{graphicx}[1999/02/16]%
- \RequirePackage{tudscrcolor}[\TUDVersion]%
-}
-\newcommand*\TUD@parameter@defaulthandler[2]{%
- \def\@tempa{#2}%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}%
- \ifxnumber{\@tempb}{%
- \TUD@parameter@set{#1}{columns=\@tempb}%
- }{%
- \TUD@parameter@set{#1}{language=\@tempb}%
- }%
- \fi%
- }%
-}
-\cs@lock{tud@multicols}{1}
-\newcommand*\tud@multicols@check{%
- \ifdef{\multicols}{}{%
- \ifnum\tud@multicols>\@ne\relax%
- \ClassWarning{\TUDClassName}{%
- The option `columns=\tud@multicols' is only supported,\MessageBreak%
- when package `multicol' is loaded%
- }%
- \cs@set@lock{tud@multicols}{1}%
- \fi%
- }%
+ \RequirePackage{tudscrcolor}[\TUD@Version]%
+}
+\cs@lock{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}%
+ \fi%
}
+\AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}}
%%% From File: tudscr-fonts.dtx
-\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*\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@x@fontspec@noerror{}
+\IfFileExists{expl3.sty}{\@tempswatrue}{\@tempswafalse}
+\if@tempswa
+ \RequirePackage{expl3}[2016/05/18]
+ \ExplSyntaxOn
+ \renewcommand*\tud@x@fontspec@noerror{%
+ \__fontspec_font_suppress_not_found_error:
+ \msg_redirect_name:nnn {fontspec}{font-not-found}{none}
+ }%
+ \ExplSyntaxOff
+\fi
\newcommand*\tud@font@check{%
- \if@tud@fontspec%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{OT1\tud@dinbold.fd}}%
- }%
- \def\@tempc##1{%
- \ClassInfoNoLine{\TUDClassName}%
- {%
- `##1' fonts for math typesetting not found\MessageBreak%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual%
- }%
+ \edef\@tempa##1##2{\lowercase{\noexpand\IfFileExists{##1##2.fd}}}%
+ \def\@tempb##1{%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts for math typesetting not found\MessageBreak%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual%
+ }%
+ \fi%
+ \fi%
+ }%
+ \@tempa{OT1}{\tud@univers}{\@tud@universmathtrue}{\@tempb{Univers}}%
+ \@tempa{OT1}{\tud@dinbold}{\@tud@dinboldmathtrue}{\@tempb{DIN Bold}}%
+ \if@tud@x@fontspec@enabled%
+ \def\@tempc##1##2{%
+ \fontspec{##1}%
+ \expandafter\ifx\the\font\nullfont%
+ ##2%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ It seems, you haven't installed the required\MessageBreak%
+ OTF-font on your system. A fallback layout is used%
+ }%
+ \fi%
+ \fi%
}%
+ \begingroup%
+ \tud@x@fontspec@noerror%
+ \global\@tud@universtrue%
+ \@tempc{Univers Light}{\global\@tud@universfalse}%
+ \@tempc{Univers}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold}{\global\@tud@universfalse}%
+ \@tempc{Univers Black}{\global\@tud@universfalse}%
+ \@tempc{Univers Light Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Bold Oblique}{\global\@tud@universfalse}%
+ \@tempc{Univers Black Oblique}{\global\@tud@universfalse}%
+ \global\@tud@dinboldtrue%
+ \@tempc{DIN Bold}{\global\@tud@dinboldfalse}%
+ \endgroup%
\else%
- \edef\@tempa{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@univers.fd}}%
- }%
- \edef\@tempb{%
- \lowercase{\noexpand\IfFileExists{\encodingdefault\tud@dinbold.fd}}%
- }%
\def\@tempc##1{%
- \@tempswafalse%
- \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}
- \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}
- \ClassWarningNoLine{\TUDClassName}%
- {%
- `##1' fonts not found for encoding `\encodingdefault'.\MessageBreak%
- \if@tempswa%
- Please use one of the installation scripts for the\MessageBreak%
- tudscr-bundle mentioned in the manual.\MessageBreak%
- \else%
- Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
- \fi%
- A fallback layout is used%
- }%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \@tempswafalse%
+ \ifstr{OT1}{\encodingdefault}{\@tempswatrue}{}%
+ \ifstr{T1}{\encodingdefault}{\@tempswatrue}{}%
+ \ClassWarningNoLine{\TUD@Class@Name}%
+ {%
+ `##1' fonts not found for encoding `\encodingdefault'\MessageBreak%
+ \if@tempswa%
+ Please use one of the installation scripts for the\MessageBreak%
+ tudscr-bundle mentioned in the manual.\MessageBreak%
+ \else%
+ Please choose a possible encoding (`OT1' or `T1').\MessageBreak%
+ \fi%
+ A fallback layout is used%
+ }%
+ \fi%
}%
+ \@tempa{\encodingdefault}%
+ {\tud@univers}{\@tud@universtrue}{\@tempc{Univers}}%
+ \@tempa{\encodingdefault}%
+ {\tud@dinbold}{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\fi%
- \@tempa{\@tud@universtrue}{\@tempc{Univers}}%
- \@tempb{\@tud@dinboldtrue}{\@tempc{DIN Bold}}%
\undef\tud@font@check%
}
-\newcommand*\tud@font@init{%
- \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@fontspec%
- \undef\tud@fontface%
- \undef\tud@fontspec@flag%
- \undef\tud@fontspec@error%
- \undef\tud@font@init@nfss%
- \undef\tud@font@init%
-}
-\newif\if@tud@fontspec@missing
-\newcommand*\tud@font@init@fontspec{}
-\IfFileExists{xparse.sty}{\@tempswatrue}{\@tempswafalse}%
-\if@tempswa
- \RequirePackage{xparse}
- \newcommand*\tud@fontspec@flag{\global\@tud@fontspec@missingtrue\@gobbletwo}%
- \NewDocumentCommand\tud@fontface{mmo}{%
- \global\@tud@fontspec@missingfalse%
- \newfontface#1{#2}[#3]%
- \if@tud@fontspec@missing%
- \renewrobustcmd*#1{}%
+\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%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' fonts not found}%
+ \fi%
+ \if@tud@dinbold\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' fonts not found}%
+ \fi%
\fi%
- }%
- \ExplSyntaxOn
- \renewcommand*\tud@font@init@fontspec{%
- \cs_set_eq:NN \tud@fontspec@error \__fontspec_error:nx
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@flag
- \tud@fontface\univln{Univers Light}[NFSSFamily=UniversLight]%
- \tud@fontface\univrn{Univers}[NFSSFamily=UniversRegular]%
- \tud@fontface\univbn{Univers Bold}[NFSSFamily=UniversBold]%
- \tud@fontface\univxn{Univers Black}[NFSSFamily=UniversBlack]%
- \tud@fontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]%
- \tud@fontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]%
- \tud@fontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]%
- \tud@fontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]%
- \tud@fontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]%
- \if@tud@fontspec@missing%
- \newrobustcmd*\dinbn{\sectfont}%
- \else%
- \if@tud@dinbold%
- \newrobustcmd*\dinbn{\@dinbn\mathversion{dinbold}}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{false}%
+ \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}%
+ \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%
+ \bool@std@lock{@tud@cdmath}{true}%
+ \cs@std@lock{tud@head@font@num}{\tud@cdfont@num}%
+ \if@tud@univers%
+ \if@tud@x@fontspec@enabled%
+ \setsansfont{Univers}[%
+ 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 Light Oblique},%
+ FontFace = {m}{\sldefault}{Univers Oblique},%
+ FontFace = {b}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {bx}{\sldefault}{Univers Bold Oblique},%
+ FontFace = {eb}{\sldefault}{Univers Black Oblique},%
+ NFSSFamily = \tud@univers%
+ ]%
+ \setmonofont{LMMono10-Regular}[%
+ 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%
- \newrobustcmd*\dinbn{\@dinbn}%
+ \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}%
\fi%
- \cs_set_eq:NN \__fontspec_error:nx \tud@fontspec@error
- }%
- \ExplSyntaxOff
-\fi%
-\newcommand*\tud@font@init@nfss{%
+ \renewcommand*\familydefault{\sfdefault}%
+ \renewcommand*\seriesdefault{\mddefault}%
+ \renewcommand*\shapedefault{\updefault}%
+ \fi%
+ \if@tud@x@mweights@enabled%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+ \edef\bfdef@ult{\bfdefault}%
+ \edef\mddef@ult{\mddefault}%
+ \fi%
+ \ifdef{\tud@font@math@init}{}{\tud@font@math@set}%
+ \tud@font@skip@set%
+ \normalfont\selectfont%
+ \tud@layout@process%
+ \global\@tud@head@font@settrue%
+}
+\newcommand*\tud@font@skip@set{%
+ \if@tud@relspacing%
+ \tud@skip@store{smallskipamount}%
+ \tud@skip@store{medskipamount}%
+ \tud@skip@store{bigskipamount}%
+ \tud@skip@store{abovecaptionskip}%
+ \tud@skip@store{belowcaptionskip}%
+ \tud@skip@store{columnsep}%
+ \tud@font@skip@@set%
+ \else%
+ \tud@skip@restore{smallskipamount}%
+ \tud@skip@restore{medskipamount}%
+ \tud@skip@restore{bigskipamount}%
+ \tud@skip@restore{abovecaptionskip}%
+ \tud@skip@restore{belowcaptionskip}%
+ \tud@skip@restore{columnsep}%
+ \fi%
+}
+\newcommand*\tud@font@skip@@set{%
+ \smallskipamount=\partopsep%
+ \medskipamount=\partopsep%
+ \multiply\medskipamount by 2%
+ \bigskipamount=\partopsep%
+ \multiply\bigskipamount by 4%
+ \tud@skip@set{abovecaptionskip}{\dimexpr\bigskipamount*5/6\relax}%
+ \tud@skip@set{belowcaptionskip}{\z@}%
+ \tud@skip@set{columnsep}{1.1\baselineskip}%
+}
+\newcommand*\tud@font@init{%
\if@tud@univers%
\newrobustcmd*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}%
\newrobustcmd*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}%
@@ -1353,39 +1711,87 @@
\newrobustcmd*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}%
\newrobustcmd*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}%
\else%
- \newrobustcmd*\univln{}%
- \newrobustcmd*\univrn{}%
- \newrobustcmd*\univbn{}%
- \newrobustcmd*\univxn{}%
- \newrobustcmd*\univls{}%
- \newrobustcmd*\univrs{}%
- \newrobustcmd*\univbs{}%
- \newrobustcmd*\univxs{}%
+ \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 Light Oblique}{md}{sl}}%
+ \newrobustcmd*\univrs{\tud@font@fallback{Univers Oblique}{md}{sl}}%
+ \newrobustcmd*\univbs{\tud@font@fallback{Univers Bold Oblique}{bf}{sl}}%
+ \newrobustcmd*\univxs{\tud@font@fallback{Univers Black Oblique}{bf}{sl}}%
\fi%
\if@tud@dinbold%
- \newrobustcmd*\dinbn{%
- \usefont{\encodingdefault}{\tud@dinbold}{b}{n}%
- \mathversion{dinbold}%
- }%
+ \if@tud@x@fontspec@enabled%
+ \newfontface\tud@dinbn{DIN Bold}[%
+ 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},%
+ NFSSFamily = \tud@dinbold%
+ ]%
+ \else%
+ \newrobustcmd*\tud@dinbn{\usefont{\encodingdefault}{\tud@dinbold}{b}{n}}%
+ \fi%
+ \if@tud@dinboldmath%
+ \appto\tud@dinbn{\mathversion{dinbold}}%
+ \fi%
+ \newrobustcmd*\dinbn{\tud@dinbn}%
\else%
- \newrobustcmd*\dinbn{\sectfont}%
+ \newrobustcmd*\tud@dinbn{\sectfont}%
+ \newrobustcmd*\dinbn{\tud@font@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@wrn{#1}%
+ \sffamily\csuse{#2series}\csuse{#3shape}%
+}
+\newcommand*\tud@font@wrn[1]{%
+ \ClassWarning{\TUD@Class@Name}%
+ {%
+ The requested font `#1' is not available, so\MessageBreak%
+ a fallback layout is used%
+ }%
}
\newcommand*\cdfont[1]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\dinbn}{\@nameuse{univ\@tempc}}%
+ \ifstr{\@tempc}{dinbn}{\dinbn}{\csuse{univ\@tempc}}%
\fi%
}
\providecommand*\tudfont[1]{\cdfont{#1}}
\newcommand*\textcdfont[2]{%
- \@cdfont{#1}%
+ \tud@cdfont@get{#1}%
\ifx\@tempc\relax\else%
- \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\@nameuse{textu\@tempc}{#2}}%
+ \ifstr{\@tempc}{dinbn}{\textdbn{#2}}{\csuse{textu\@tempc}{#2}}%
\fi%
}
-\newcommand*\@cdfont[1]{%
- \tud@trimfontname\@tempa{#1}%
+\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}}{%
@@ -1401,33 +1807,34 @@
\ifstr{\@tempa}{din}{\def\@tempc{dinbn}}{%
\ifstr{\@tempa}{din65}{\def\@tempc{dinbn}}{%
\let\@tempc\relax%
- \PackageWarning{tudscrfonts}{The font `#1' is unknown}%
+ \ClassWarning{\TUD@Class@Name}%
+ {The font `#1' is unknown}%
}}}}}}}}}}}}}}%
}
-\newcommand*\tud@trimfontname[2]{%
+\newcommand*\tud@cdfont@trim[2]{%
\protected@edef\@tempa{\trim@spaces{#2}}%
\tud@lowerstring{\@tempa}{\@tempa}%
- \tud@@trimfontname{ }{}%
- \tud@@trimfontname{-}{}%
- \tud@@trimfontname{_}{}%
- \tud@@trimfontname{~}{}%
- \tud@@trimfontname{ce}{}%
- \tud@@trimfontname{ff}{}%
- \tud@@trimfontname{univers}{}%
- \tud@@trimfontname{60}{65}%
- \tud@@trimfontname{light}{45}%
- \tud@@trimfontname{regular}{55}%
- \tud@@trimfontname{bold}{65}%
- \tud@@trimfontname{black}{75}%
- \tud@@trimfontname{4545}{45}%
- \tud@@trimfontname{5555}{55}%
- \tud@@trimfontname{6565}{65}%
- \tud@@trimfontname{7575}{75}%
- \tud@@trimfontname{italic}{oblique}%
- \tud@@trimfontname{slanted}{oblique}%
+ \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%
}
-\newcommand*\tud@@trimfontname[2]{%
+\newcommand*\tud@cdfont@@trim[2]{%
\def\@tempb##1#1##2\relax{\def\@tempa{##1#2##2}}%
\@expandtwoargs\in@{#1}{\@tempa}%
\@whilesw\ifin@\fi{%
@@ -1435,20 +1842,42 @@
\@expandtwoargs\in@{#1}{\@tempa}%
}%
}
-\newcommand*\mv@univers{}%
-\newcommand*\mv@universbold{}%
-\newcommand*\mv@dinbold{}%
+\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@fontspec\if@tud@univers\if@tud@dinbold%
- \@ifpackagewith{fontspec}{no-math}{}{%
- \ClassWarningNoLine{\TUDClassName}%
- {%
- It's recommended to load package `fontspec' with\MessageBreak%
- option `no-math'%
+ \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%
+ }%
}%
- }%
- \fi\fi\fi%
- \if@tud@univers%
+ }{}%
+ \fi\fi%
+ \if@tud@universmath%
\DeclareMathVersion{univers}%
\DeclareMathVersion{universbold}%
\SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}%
@@ -1459,8 +1888,10 @@
\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}%
\SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}%
\SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}%
- \SetMathAlphabet{\mathcal}{univers}{OMS}{lmsy}{m}{n}%
- \SetMathAlphabet{\mathcal}{universbold}{OMS}{lmsy}{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}%
@@ -1469,6 +1900,8 @@
\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}{}%
@@ -1482,15 +1915,19 @@
\SetMathAlphabet{\mathfrak}{universbold}{U}{euf}{b}{n}%
}{}%
\fi%
- \if@tud@dinbold%
+ \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%
@@ -1509,192 +1946,41 @@
\tud@font@greek@loop\tud@font@greek@init%
\tud@font@math@set%
}%
- \sbox\z@{\dinbn$ $}%
+ \sbox\z@{\tud@dinbn$ $}%
\undef\tud@font@math@init%
}
-\AtEndPreamble%
-{%
- \tud@font@check%
- \if@tud@fontspec%
- \preto\tud@font@init\tud@font@init@fontspec%
- \else%
- \preto\tud@font@init\tud@font@init@nfss%
- \fi%
- \tud@font@init%
- \tud@font@set[nomath]%
- \AtBeginDocument{\tud@font@math@init}%
-}
\newcommand*\tud@font@greek@init[1]{%
- \ifcsdef{up#1}{}{%
+ \ifcsundef{up#1}{%
\if@tempswa%
\csletcs{up#1}{tud@up#1}%
\else%
\csletcs{up#1}{#1}%
\fi%
- }%
- \ifcsdef{var#1}{}{%
+ }{}%
+ \ifcsundef{var#1}{%
\if@tempswa%
\csletcs{var#1}{#1}%
\else%
\csletcs{var#1}{tud@var#1}%
\fi%
- }%
+ }{}%
}
-\newif\if@tud@mweights
-\AfterPackage*{mweights}{\@tud@mweightstrue}
-\newcommand*\tud@font@set[1][]{%
- \if@tud@mweights%
- \ifdef{\bfseries@rm}{}{\edef\bfseries@rm{\bfdefault}}%
- \ifdef{\bfseries@sf}{}{\edef\bfseries@sf{\bfdefault}}%
- \ifdef{\bfseries@tt}{}{\edef\bfseries@tt{\bfdefault}}%
- \ifdef{\mdseries@rm}{}{\edef\mdseries@rm{\mddefault}}%
- \ifdef{\mdseries@sf}{}{\edef\mdseries@sf{\mddefault}}%
- \ifdef{\mdseries@tt}{}{\edef\mdseries@tt{\mddefault}}%
- \fi%
- \ifcase\tud@cdfont\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@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{false}%
- \cs@std@lock{tud@head@font}{0}%
- \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}%
- \if@tud@mweights%
- \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%
- \bool@std@lock{@tud@cdmath}{true}%
- \cs@std@lock{tud@head@font}{\tud@cdfont}%
- \if@tud@fontspec%
- \ifnum\tud@cdfont=\@ne\relax% true
- \setsansfont{Univers Light}[%
- BoldFont = Univers,%
- ItalicFont = Univers Light Oblique,%
- BoldItalicFont = Univers Oblique,%
- ]%
- \setmonofont{LMMonoLt10-Regular}[%
- BoldFont = LMMono10-Regular,%
- ItalicFont = LMMonoLt10-Oblique,%
- BoldItalicFont = LMMonoSlant10-Regular,%
- ]%
- \else% heavy
- \setsansfont{Univers}[%
- BoldFont = Univers Bold,%
- ItalicFont = Univers Oblique,%
- BoldItalicFont = Univers Bold Oblique,%
- ]%
- \setmonofont{LMMono10-Regular}[%
- BoldFont = LMMonoLt10-Bold,%
- ItalicFont = LMMonoSlant10-Regular,%
- BoldItalicFont = LMMonoLt10-BoldOblique,%
- ]%
- \fi%
- \else%
- \if@tud@univers%
- \renewcommand*\sfdefault{\tud@univers}%
- \renewcommand*\ttdefault{\tud@univers t}%
- \ifnum\tud@cdfont=\@ne\relax% true
- \renewcommand*\bfdefault{m}%
- \renewcommand*\mddefault{l}%
- \if@tud@mweights%
- \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
- \renewcommand*\bfdefault{b}%
- \renewcommand*\mddefault{m}%
- \if@tud@mweights%
- \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%
+\newcommand*\tud@font@math@set{%
+ \if@atdocument%
+ \ifnum\tud@cdfont@num>\z@\relax% true/heavy
+ \if@tud@cdmath%
+ \if@tud@universmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`Univers' math fonts not found}%
+ \fi%
+ \if@tud@dinboldmath\else%
+ \ClassWarning{\TUD@Class@Name}%
+ {`DIN Bold' math fonts not found}%
\fi%
\fi%
\fi%
- \renewcommand*\rmdefault{\sfdefault}%
- \renewcommand*\familydefault{\sfdefault}%
- \renewcommand*\seriesdefault{\mddefault}%
- \renewcommand*\shapedefault{\updefault}%
\fi%
- \if@tud@mweights%
- \edef\rmdef@ult{\rmdefault}%
- \edef\sfdef@ult{\sfdefault}%
- \edef\ttdef@ult{\ttdefault}%
- \edef\bfdef@ult{\bfdefault}%
- \edef\mddef@ult{\mddefault}%
- \fi%
- \tud@font@skip@set%
- \ifstr{#1}{nomath}{}{\tud@font@math@set}%
- \normalfont\selectfont%
- \tud@layout@process%
-}
-\newcommand*\tud@font@skip@set{%
- \tud@ifverlower{2.04}{}{%
- \ifcase\tud@cdfont\relax% false
- \tud@skip@restore{smallskipamount}%
- \tud@skip@restore{medskipamount}%
- \tud@skip@restore{bigskipamount}%
- \tud@skip@restore{abovecaptionskip}%
- \tud@skip@restore{belowcaptionskip}%
- \tud@skip@restore{columnsep}%
- \else% true/heavy
- \tud@skip@store{smallskipamount}%
- \tud@skip@store{medskipamount}%
- \tud@skip@store{bigskipamount}%
- \tud@skip@store{abovecaptionskip}%
- \tud@skip@store{belowcaptionskip}%
- \tud@skip@store{columnsep}%
- \tud@font@skip@@set%
- \fi%
- }%
-}
-\newcommand*\tud@font@skip@@set{%
- \setlength{\@tempdimb}{\f@baselineskip}%
- \scr@setlength\smallskipamount{\dimexpr\@tempdimb/4\relax}%
- {\dimexpr\@tempdimb/12\relax}{\dimexpr\@tempdimb/12\relax}%
- \scr@setlength\medskipamount{\dimexpr\@tempdimb/2\relax}%
- {\dimexpr\@tempdimb/6\relax}{\dimexpr\@tempdimb/6\relax}%
- \scr@setlength\bigskipamount{\@tempdimb}%
- {\dimexpr\@tempdimb/3\relax}{\dimexpr\@tempdimb/3\relax}%
- \tud@skip@set\abovecaptionskip{\dimexpr4\@tempdimb/5\relax}%
- \tud@skip@set\belowcaptionskip{\z@}%
- \tud@skip@set\columnsep{1.1\baselineskip}%
-}
-\newcommand*\tud@font@math@set{%
- \if@tud@univers%
+ \if@tud@universmath%
\if@tud@cdmath%
\tud@cmd@store{mv@normal}%
\tud@cmd@store{mv@bold}%
@@ -1729,70 +2015,37 @@
}
\newcommand*\tud@font@greek@upright[1]{\csletcs{#1}{up#1}}
\newcommand*\tud@font@greek@slanted[1]{\csletcs{#1}{var#1}}
-\newcommand*\tud@head@font@bold{}
-\newcommand*\tud@head@font@light{}
-\newcommand*\tud@head@font@set{%
- \ifdef{\@raggedtwoe@everyselectfont}{%
- \let\@raggedtwoe@everyselectfont\relax%
- \setlength\spaceskip{\z@}%
- \selectfont%
- }{}%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\sfdefault}{bx}{n}{\tud@head@font@size}%
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\sfdefault}{\mddefault}{n}{\tud@head@font@size}%
- \@tempswafalse%
- \ifcase\tud@head@font\relax% false
- \ifnum\tud@cdfont>\z@\relax% true/heavy
- \ClassWarning{\TUDClassName}{%
- It isn't possible to use `cdhead=false'\MessageBreak%
- together with `cdfont=true'%
- }%
- \@tempswatrue%
- \fi%
- \else% true/heavy
- \@tempswatrue%
- \fi%
- \if@tempswa% true/heavy
- \if@tud@fontspec%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {UniversBold}{m}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {UniversLight}{m}{n}{\tud@head@font@size}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {UniversRegular}{m}{n}{\tud@head@font@size}%
- \fi%
- \else%
- \if@tud@univers%
- \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}%
- {\tud@univers}{b}{n}{\tud@head@font@size}%
- \ifcase\tud@head@font\relax\or% true
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{l}{n}{\tud@head@font@size}%
- \or% heavy
- \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}%
- {\tud@univers}{m}{n}{\tud@head@font@size}%
- \fi%
- \fi%
- \fi%
+\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{\mdseries@sf}{\edef\mdseries@sf{\mddefault}}{}%
+ \ifundef{\mdseries@tt}{\edef\mdseries@tt{\mddefault}}{}%
\fi%
+ \tud@font@check%
+ \tud@font@set%
+ \tud@font@init%
+ \AtBeginDocument{\tud@font@math@init}%
+}
+\AfterPackage*{siunitx}{%
+ \providecommand*\lseries{\fontseries{l}\selectfont}%
}
\newrobustcmd*\ifdin{%
- \@tempswafalse%
- \@expandtwoargs\in@{DINBold}{\f@family}%
- \ifin@\@tempswatrue\fi%
- \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi%
- \if@tempswa%
+ \ifx\f@family\tud@dinbold%
\expandafter\@firstoftwo%
\else%
\expandafter\@secondoftwo%
\fi%
}
-\newcommand*\tud@makeuppercase[1]{%
- \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
- \protect\vphantom{\"A\"O\"U}%
+\newcommand*\tud@sec@fontface[1][]{%
+ \if@tud@cdfont@din%
+ \tud@dinbn\tud@raggedright%
+ \else%
+ \sectfont#1%
+ \fi%
}
\newcommand*\tud@raggedright{\raggedright}
\newcommand*\tud@RaggedRight{\raggedright}
@@ -1802,37 +2055,73 @@
}{}%
\renewcommand*\tud@RaggedRight{\RaggedRight}%
}
-\AfterPackage*{siunitx}{%
- \providecommand*\lseries{\fontseries{l}\selectfont}
+\RequirePackage{textcase}[2004/10/07]
+\newcommand*\tud@makeuppercase[1]{%
+ \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}%
+ \protect\vphantom{\"A\"O\"U}%
}
%%% From File: tudscr-fields.dtx
-\RequirePackage{trimspaces}[2009/09/17]
\newcommand*\@faculty{}
-\newcommand*\faculty[2][]{\gdef\@faculty{\trim@spaces{#2}}}
\newcommand*\@department{}
-\newcommand*\department[2][]{\gdef\@department{\trim@spaces{#2}}}
\newcommand*\@institute{}
-\newcommand*\institute[2][]{\gdef\@institute{\trim@spaces{#2}}}
\newcommand*\@chair{}
-\newcommand*\chair[2][]{\gdef\@chair{\trim@spaces{#2}}}
+\newcommand*\faculty[2][]{\tud@head@text@field{faculty}{#2}}
+\newcommand*\department[2][]{\tud@head@text@field{department}{#2}}
+\newcommand*\institute[2][]{\tud@head@text@field{institute}{#2}}
+\newcommand*\chair[2][]{\tud@head@text@field{chair}{#2}}
\newcommand*\@extraheadline{}
-\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}}
+\newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}{#1}}
+\newcommand*\tud@head@text@field[2]{%
+ \csgdef{@#1}{\trim@spaces{#2}}%
+ \global\@tud@head@text@settrue%
+}
\newcommand*\@@title{}
+\robustify\@title
\renewcommand*\title[1]{%
\gdef\@title{#1}%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
\protected@xdef\@@title{\trim@spaces{#1}}%
\endgroup%
}
+\newcommand*\@@author{}
+\renewcommand*\author[1]{%
+ \gdef\@author{#1}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \def\newline{\space\ignorespaces}%
+ \def\\{\space\ignorespaces}%
+ \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}%
+ \let\@tempb\tud@split@author@list%
+ \robustify\and%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \protected@edef\@@author{#1}%
+ \tud@replace\@@author{ \relax }{}%
+ \tud@replace\@@author{\relax }{}%
+ \tud@replace\@@author{ \relax}{}%
+ \tud@replace\@@author{\relax}{}%
+ \tud@replace\@@author{ \and }{\and}%
+ \tud@replace\@@author{ \and}{\and}%
+ \tud@replace\@@author{\and }{\and}%
+ \protected@xdef\@@author{\trim@spaces{\@@author}}%
+ \endgroup%
+}
\newcommand*\@authormore{}
-\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}}
+\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces}
+\newcommand*\@course{}
+\newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces}
+\newcommand*\@discipline{}
+\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces}
+\providecommand*\publisher[1]{\publishers{#1}}
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
-\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
+\newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}}
\newcommand*\tud@thanks{}
-\newcommand*\tud@thesis[2]{%
+\newcommand*\tud@thesis@do[2]{%
\begingroup%
\global\let\tud@thanks\relax%
\def\thanks##1{\gdef\tud@thanks{##1}}%
@@ -1844,47 +2133,51 @@
\ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}%
\global\let\@tempa\@tempa%
\endgroup%
- \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{%
- \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{%
- \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{%
- \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{%
- \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{%
- \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{%
- \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{%
- \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{%
- \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{%
- \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{%
- \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{%
- \@namedef{@#1}{#2}%
- }}}}}}}}}}}}}%
-}
-\newcommand*\tud@@thesis[2]{%
+ \ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{%
+ \ifstr{\@tempa}{diploma}{\tud@thesis@@do{#1}{\diplomathesisname}}{%
+ \ifstr{\@tempa}{master}{\tud@thesis@@do{#1}{\masterthesisname}}{%
+ \ifstr{\@tempa}{bachelor}{\tud@thesis@@do{#1}{\bachelorthesisname}}{%
+ \ifstr{\@tempa}{student}{\tud@thesis@@do{#1}{\studentthesisname}}{%
+ \ifstr{\@tempa}{evidence}{\tud@thesis@@do{#1}{\studentresearchname}}{%
+ \ifstr{\@tempa}{project}{\tud@thesis@@do{#1}{\projectpapername}}{%
+ \ifstr{\@tempa}{seminar}{\tud@thesis@@do{#1}{\seminarpapername}}{%
+ \ifstr{\@tempa}{term}{\tud@thesis@@do{#1}{\termpapername}}{%
+ \ifstr{\@tempa}{research}{\tud@thesis@@do{#1}{\researchname}}{%
+ \ifstr{\@tempa}{log}{\tud@thesis@@do{#1}{\logname}}{%
+ \ifstr{\@tempa}{report}{\tud@thesis@@do{#1}{\reportname}}{%
+ \ifstr{\@tempa}{internship}{\tud@thesis@@do{#1}{\internshipname}}{%
+ \csdef{@#1}{#2}%
+ }}}}}}}}}}}}}}}%
+}
+\newcommand*\tud@thesis@@do[2]{%
\ifstr{#1}{subject}{%
\ifx\@thesis\@empty\else%
- \ClassWarning{\TUDClassName}{Field `thesis' is overwritten by `subject'}%
+ \ClassWarning{\TUD@Class@Name}{%
+ Field `thesis' is overwritten by `subject'%
+ }%
\fi%
- \TUD@std@ifkey@lock{subjectthesis}{true}%
+ \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{true}%
}{%
- \TUD@std@ifkey@lock{subjectthesis}{false}%
+ \TUD@std@ifkey@lock{subjectthesis}{@tud@subjectthesis}{false}%
}%
\ifx\tud@thanks\relax%
\gdef\@thesis{#2}%
\else%
\protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}%
\fi%
- \gdef\@@thesis{#2}%
+ \protected@xdef\@@thesis{\trim@spaces{#2}}%
}
-\renewcommand*\subject[1]{\tud@thesis{subject}{#1}}
+\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}}
\newcommand*\@graduation{}
-\newcommand*\@graduationabbr{}
+\newcommand*\@@graduation{}
\newcommand*\graduation[2][]{%
- \ifxblank{#1}{\gdef\@graduationabbr{}}{\gdef\@graduationabbr{(#1)}}%
+ \ifxblank{#1}{\gdef\@@graduation{}}{\gdef\@@graduation{(#1)}}%
\gdef\@graduation{#2}%
}
\newcommand*\@professor{}
-\newcommand*\professor[2][]{\gdef\@professor{#2}}
+\newcommand*\professor[1]{\gdef\@professor{#1}}
\newcommand*\@supervisor{}
\newcommand*\supervisor[1]{\gdef\@supervisor{#1}}
\newcommand*\@supporter{}
@@ -1897,41 +2190,31 @@
\newcommand*\advisor[1]{\gdef\@advisor{#1}}
\newcommand*\@matriculationnumber{}
\newrobustcmd*\matriculationnumber[1]{%
- \gdef\@matriculationnumber{#1}%
+ \gdef\@matriculationnumber{#1}\ignorespaces%
}
\newcommand*\@matriculationyear{}
-\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}}
+\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces}
\newcommand*\@placeofbirth{}
-\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}}
-\providecommand*\publisher[1]{\publishers{#1}}
-\newlength\tud@signatureskip
-\setlength\tud@signatureskip{15mm plus 10mm minus 10mm}
+\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces}
+\newlength\tud@len@signatureskip
+\setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex}
\newcommand*\@confirmationclosing{%
- \tud@datecheck%
+ \tud@date@check%
\ifx\@date\@empty\else%
\medskip\noindent%
\ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
\fi%
- \vskip\tud@signatureskip\noindent%
+ \vskip\tud@len@signatureskip\noindent%
\begingroup%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \renewcommand*\tud@split@author[2]{%
- \tud@multiple@fields@store{@author}{##1}%
- \ignorespaces##1%
- \tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{##2}{\hfil}%
- }%
- \tud@multiple@split{@author}%
- \hfil%
+ \let\and\hfil%
+ \@@author\hfil%
\endgroup%
}
\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\gdef\@place{#1}}
-\newcommand*\printdate[1]{#1}
-\BeforePackage{isodate}{\undef\printdate}
-\newcommand*\tud@printdate[2]{%
+\TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}}
+\newcommand*\tud@x@isodate@printdate[2]{%
\ifx\today#2\relax%
\gdef#1{#2}%
\else%
@@ -1940,43 +2223,77 @@
{\gdef#1{\printdate{#2}}}%
\fi%
}
-\newcommand*\tud@datecheck{%
+\newcommand*\tud@date@check{%
\ifdefvoid{\@duedate}{%
- \ClassWarning{\TUDClassName}{%
- `\string\date' was not given.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
Since a thesis is a self-contained work, an end\MessageBreak%
date should be specified by the author.\MessageBreak%
Nevertheless, today's date is used%
}%
}{%
- \ClassWarning{\TUDClassName}{%
- `\string\date' was not given.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\string\date' was not given\MessageBreak%
It's substituted by the given due date%
}%
\global\let\@date\@duedate%
}%
- \global\let\tud@datecheck\relax%
-}
-\newcommand*\@datemore{}
-\renewcommand*\date[2][]{%
- \gdef\@datemore{\trim@spaces{#1}}%
- \tud@printdate{\@date}{#2}%
- \global\let\tud@datecheck\relax%
+ \global\let\tud@date@check\relax%
+}
+\renewcommand*\date{%
+ \kernel@ifstar{%
+ \TUD@parameter@set{date}{pre=\noexpand\@place{,}}%
+ \tud@date@set%
+ }{\tud@date@set}%
+}
+\newcommand*\tud@date@set[2][]{%
+ \TUD@parameter@set{date}{#1}%
+ \tud@x@isodate@printdate{\@date}{#2}%
+ \global\let\tud@date@check\relax%
+}
+\newcommand*\tud@date@pre{}
+\newcommand*\tud@date@app{}
+\TUD@parameter@family{date}{%
+ \TUD@parameter@def{before}{\def\tud@date@pre{#1}}%
+ \TUD@parameter@let{pre}{before}%
+ \TUD@parameter@let{prefix}{before}%
+ \TUD@parameter@def{after}{\def\tud@date@app{#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@handler@value{after}%
+}
+\newcommand*\tud@date@print{%
+ \ifx\@date\@empty\else%
+ \ifx\tud@date@pre\@empty\else%
+ \expandafter\trim@spaces\expandafter{\tud@date@pre}\nobreakspace%
+ \fi%
+ \@date%
+ \ifx\tud@date@app\@empty\else%
+ \nobreakspace\expandafter\trim@spaces\expandafter{\tud@date@app}%
+ \fi%
+ \fi%
}
\newcommand*\@defensedate{}
-\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
+\newcommand*\defensedate[1]{\tud@x@isodate@printdate{\@defensedate}{#1}}
\newcommand*\@dateofbirth{}
-\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}}
-\newcommand*\tud@multiple@@split{}%
+\newrobustcmd*\dateofbirth[1]{%
+ \tud@x@isodate@printdate{\@dateofbirth}{#1}\ignorespaces%
+}
+\newcommand*\tud@multiple@@split{}
\newcommand*\tud@multiple@split[1]{%
\expandafter\ifpatchable\expandafter{\csname#1\endcsname}{%
- \@latex@warning@no@line}{\csuse{#1}\csgdef{#1}{}%
+ \@latex@warning@no@line%
+ }{%
+ \csuse{#1}\csgdef{#1}{}%
}{}%
\def\tud@multiple@@split##1\and##2\relax{%
- \expandafter\csname tud@split#1\endcsname{##1}{##2}%
+ \expandafter\csname tud@split#1@do\endcsname{##1}{##2}%
}%
\begingroup%
\let\and\relax%
+ \def\newline{}%
+ \def\\{}%
\edef\@tempa{\csname#1\endcsname\and}%
\expandafter\endgroup%
\expandafter\tud@multiple@@split\@tempa\relax%
@@ -1990,13 +2307,10 @@
\@tempb%
}
\newcommand*\tud@multiple@fields@store[2]{%
- \letcs\@tempa{tud@split#1@list}%
+ \def\@tempa##1{\ifcsdef{@##1}{\tud@cmd@store{@##1}}{}}%
+ \letcs\@tempb{tud@split#1@list}%
\let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifcsdef{@\@tempb}{\tud@cmd@store{@\@tempb}}{}%
- \fi%
- }%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
@@ -2004,45 +2318,68 @@
\endgroup%
}
\newcommand*\tud@multiple@fields@restore[1]{%
- \letcs\@tempa{tud@split#1@list}%
+ \def\@tempa##1{%
+ \ifcsdef{@##1}{%
+ \tud@cmd@restore{@##1}%
+ \global\csletcs{@##1}{@##1}%
+ }{}%
+ }%
+ \letcs\@tempb{tud@split#1@list}%
\let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \ifcsdef{@\@tempb}{%
- \tud@cmd@restore{@\@tempb}%
- \global\csletcs{@\@tempb}{@\@tempb}%
- }{}%
- \fi%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+}
+\newcommand*\tud@multiple@fields@preset[3]{%
+ \def\@tempa##1{%
+ \edef\@tempc{\csuse{##1}}%
+ \ifstr{#2}{*}{%
+ \csdef{@##1}{}%
+ }{%
+ \begingroup%
+ \protected@expandtwoargs\in@{\@tempc}{\csuse{#1}}%
+ \ifin@%
+ \ifcsvoid{@##1}{\@tempc{#2}}{}%
+ \fi%
+ \endgroup%
+ }%
}%
+ \letcs\@tempb{tud@split#1@list}%
+ \let\and\relax%
+ \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}%
+ \begingroup%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \sbox\z@{#3}%
+ \endgroup%
}
-\newcommand*\tud@split@author[2]{}
+\newcommand*\tud@split@author@do[2]{}
\newcommand*\tud@split@author@list{%
- authormore,matriculationyear,enrolmentyear,%
+ authormore,course,discipline,%
+ matriculationyear,enrolmentyear,%
matriculationnumber,studentid,matriculationid,%
placeofbirth,birthplace,dateofbirth,birthday,%
}
%%% From File: tudscr-locale.dtx
\newcommand*\tud@locale@define[1]{%
\providecommand*#1{%
- \ClassError{\TUDClassName}{%
+ \ClassError{\TUD@Class@Name}{%
`\string#1' not defined for language `\languagename'%
}{%
- Currently the class `\TUDClassName' only supports the\MessageBreak%
+ Currently the class `\TUD@Class@Name' only supports the\MessageBreak%
languages german and english an its dialects. You must\MessageBreak%
define single patterns by yourself, e.g.:\MessageBreak%
`\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak%
You can send your definitions to \tudscrmail\space in\MessageBreak%
- order to implement support for additional languages.
+ order to implement support for additional languages.%
}%
}%
}
\tud@locale@define{\graduationtext}
-\tud@locale@define{\supervisorname}
-\tud@locale@define{\supervisorothername}
\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}
@@ -2053,62 +2390,87 @@
\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}
+\newcommand*\tud@ifin@and[1]{%
+ \begingroup%
+ \let\and\relax%
+ \protected@edef\@tempb{#1}%
+ \def\@tempa##1\and##2\relax{%
+ \IfArgIsEmpty{##2}{%
+ \aftergroup\@secondoftwo%
+ }{%
+ \aftergroup\@firstoftwo%
+ }%
+ }%
+ \expandafter\@tempa\@tempb\and\relax%
+ \endgroup
+}
\newcommand*\tud@locale@german{%
\providecaptionname{%
german,ngerman,austrian,naustrian,swissgerman,nswissgerman%
}%
}
\tud@locale@german{\graduationtext}{zur Erlangung des akademischen Grades}%
-\tud@locale@german{\supervisorname}{Betreuer}%
-\tud@locale@german{\supervisorothername}{}%
\tud@locale@german{\refereename}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@referee}%
- }%
- \endgroup%
- \if@tempswa%
- Erstgutachter%
- \else%
- Gutachter%
- \fi%
-}
+ \tud@ifin@and{\@referee}{%
+ \ifx\refereeothername\@empty%
+ Gutachter%
+ \else%
+ Erstgutachter%
+ \fi%
+ }{Gutachter}%
+}%
\tud@locale@german{\refereeothername}{Zweitgutachter}%
-\tud@locale@german{\advisorname}{Fachreferent}%
+\tud@locale@german{\advisorname}{%
+ \tud@ifin@and{\@advisor}{%
+ \ifx\advisorothername\@empty%
+ Fachreferenten%
+ \else%
+ Erster Fachreferent%
+ \fi%
+ }{Fachreferent}%
+}%
\tud@locale@german{\advisorothername}{}%
+\tud@locale@german{\supervisorname}{%
+ \tud@ifin@and{\@supervisor}{%
+ \ifx\supervisorothername\@empty%
+ Betreuer%
+ \else%
+ Erstbetreuer%
+ \fi%
+ }{Betreuer}%
+}%
+\tud@locale@german{\supervisorothername}{}%
\tud@locale@german{\professorname}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@professor}%
- }%
- \endgroup%
- \if@tempswa%
- Betreuende Hochschullehrer%
- \else%
- Betreuender Hochschullehrer%
- \fi%
-}
+ \tud@ifin@and{\@professor}{%
+ \ifx\professorothername\@empty%
+ Betreuende Hochschullehrer%
+ \else%
+ Erster betreuender Hochschullehrer%
+ \fi%
+ }{Betreuender Hochschullehrer}%
+}%
\tud@locale@german{\professorothername}{}%
\tud@locale@german{\datetext}{Eingereicht am}%
\tud@locale@german{\dateofbirthtext}{Geboren am}%
@@ -2118,28 +2480,29 @@
\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}{%
Hiermit versichere ich, dass ich die vorliegende
\ifx\@@thesis\@empty Arbeit \else\@@thesis{} \fi
\ifx\@@title\@empty\else mit dem Titel \emph{\@@title} \fi
- selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es
- wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel und
- Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} \"ubernommenen
- Zitate habe ich als solche kenntlich gemacht.
+ selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe.
+ Es wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel
+ und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{}
+ \"ubernommenen Zitate habe ich als solche kenntlich gemacht.
\ifx\@supporter\@empty%
- Es waren keine weiteren Personen an der geistigen Herstellung der
- vorliegenden Arbeit beteiligt.
+ Es waren keine weiteren Personen an der geistigen Herstellung
+ der vorliegenden Arbeit beteiligt.
\else%
- W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden
- Personen unterst\"utzt:%
+ W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von
+ folgenden Personen unterst\"utzt:%
\begin{quote}\def\and{\newline}\@supporter\end{quote}%
- \noindent Weitere Personen waren an der geistigen Herstellung der
- vorliegenden Arbeit nicht beteiligt.
+ \noindent Weitere Personen waren an der geistigen Herstellung
+ der vorliegenden Arbeit nicht beteiligt.
\fi%
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}{%
Diese \ifx\@@thesis\@empty Arbeit \else\@@thesis{} \fi
@@ -2151,18 +2514,22 @@
durch \emph{\@company} \fi nicht gestattet, ebenso wie
Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die
vorliegende Arbeit ist nur dem Betreuer an der Technischen
- Universit\"at Dresden, den Gutachtern sowie den Mitgliedern des
- Pr\"ufungsausschusses zug\"anglich zu machen.%
-}
+ 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{\studentresearchname}{Studienarbeit}%
+\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}%
@@ -2173,39 +2540,45 @@
}%
}
\tud@locale@english{\graduationtext}{to achieve the academic degree}%
-\tud@locale@english{\supervisorname}{Supervisor}%
-\tud@locale@english{\supervisorothername}{}%
\tud@locale@english{\refereename}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@referee}%
- }%
- \endgroup%
- \if@tempswa%
- First referee%
- \else%
- Referee%
- \fi%
-}
+ \tud@ifin@and{\@referee}{%
+ \ifx\refereeothername\@empty%
+ Referees%
+ \else%
+ First referee%
+ \fi%
+ }{Referee}%
+}%
\tud@locale@english{\refereeothername}{Second referee}%
-\tud@locale@english{\advisorname}{Advisor}%
+\tud@locale@english{\advisorname}{%
+ \tud@ifin@and{\@advisor}{%
+ \ifx\advisorothername\@empty%
+ Advisors%
+ \else%
+ First advisor%
+ \fi%
+ }{Advisor}%
+}%
\tud@locale@english{\advisorothername}{}%
+\tud@locale@english{\supervisorname}{%
+ \tud@ifin@and{\@supervisor}{%
+ \ifx\supervisorothername\@empty%
+ Supervisors%
+ \else%
+ First supervisor%
+ \fi%
+ }{Supervisor}%
+}%
+\tud@locale@english{\supervisorothername}{}%
\tud@locale@english{\professorname}{%
- \begingroup%
- \protecting{%
- \global\@tempswafalse%
- \def\and{\global\@tempswatrue}%
- \sbox\z@{\@professor}%
- }%
- \endgroup%
- \if@tempswa%
- Supervising professors%
- \else%
- Supervising professor%
- \fi%
-}
+ \tud@ifin@and{\@professor}{%
+ \ifx\professorothername\@empty%
+ Supervising professors%
+ \else%
+ First supervising professor%
+ \fi%
+ }{Supervising professor}%
+}%
\tud@locale@english{\professorothername}{}%
\tud@locale@english{\datetext}{Submitted on}%
\tud@locale@english{\dateofbirthtext}{Born on}%
@@ -2215,6 +2588,7 @@
\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}{%
I hereby certify that I have authored this
@@ -2225,40 +2599,44 @@
indicated in this thesis have been used. I have marked
both literal and accordingly adopted quotations as such.
\ifx\@supporter\@empty%
- They were no additional persons involved in the spiritual
- preparation of the present thesis.
+ There were no additional persons involved in the
+ intellectual preparation of the present thesis.
\else%
- During the preparation of this thesis I was only supported
- by the following persons:%
+ During the preparation of this thesis I was only
+ supported by the following persons:%
\begin{quote}\def\and{\newline}\@supporter\end{quote}%
- \noindent Additional persons were not involved in the spiritual
- preparation of the present thesis.
+ \noindent Additional persons were not involved in the
+ intellectual preparation of the present thesis.
\fi%
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}{%
This \ifx\@@thesis\@empty thesis \else\@@thesis{} \fi
\ifx\@@title\@empty\else entitled \emph{\@@title} \fi
contains confidential data\ifx\@company\@empty\else
- , disclosed by \emph{\@company}\fi. Publications, duplications and
- inspections---even in part---are prohibited without explicit
+ , disclosed by \emph{\@company}\fi. Publications, duplications
+ and inspections---even in part---are prohibited without explicit
permission\ifx\@company\@empty\else\space by \emph{\@company}\fi,
as well as publications about the content of this thesis.
This thesis may only be made accessible to the supervisor at
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}%
@@ -2273,205 +2651,1255 @@
\tud@locale@english{\@commaswap}{\,}%
\tud@locale@english{\@dotswap}{.}%
}
-%%% From File: tudscr-pagestyle.dtx
-\newlength\tud@dim@widemargin
-\newlength\tud@dim@slimmargin
-\newlength\tud@dim@both
-\newlength\tud@dim@topmargin
-\newlength\tud@dim@barheight
-\newlength\tud@dim@headsep
-\newlength\tud@dim@footsep
-\newlength\tud@dim@logox
-\newlength\tud@dim@logoy
-\newlength\tud@dim@logowidth
-\newlength\tud@dim@line
-\newlength\tud@dim@heavyline
-\newlength\tud@dim@thinline
-\newlength\tud@dim@headdiff
-\newlength\tud@dim@headingsvskip
-\tud@ifverlower{2.03}{\newlength\tud@dim@ddcdiff}{}
-\newcommand*\tud@head@font@size{}
-\newcommand*\tud@geometry@set{%
- \ifdim\paperheight<148.1mm\relax%
- \setlength\tud@dim@widemargin{15mm}%
- \setlength\tud@dim@heavyline{0.5pt}%
- \setlength\tud@dim@thinline{0.25pt}%
- \def\tud@head@font@size{4.5}%
- \else\ifdim\paperheight<297.1mm\relax%
- \setlength\tud@dim@widemargin{30mm}%
- \setlength\tud@dim@heavyline{1pt}%
- \setlength\tud@dim@thinline{0.5pt}%
- \def\tud@head@font@size{9}%
- \else\ifdim\paperheight<420.1mm\relax%
- \setlength\tud@dim@widemargin{42.426407mm}%
- \setlength\tud@dim@heavyline{1.414214pt}%
- \setlength\tud@dim@thinline{0.707107pt}%
- \def\tud@head@font@size{12.727922}%
- \else\ifdim\paperheight<594.1mm\relax%
- \setlength\tud@dim@widemargin{60mm}%
- \setlength\tud@dim@heavyline{2pt}%
- \setlength\tud@dim@thinline{1pt}%
- \def\tud@head@font@size{18}%
- \else\ifdim\paperheight<841.1mm\relax%
- \setlength\tud@dim@widemargin{84.852814mm}%
- \setlength\tud@dim@heavyline{2.828427pt}%
- \setlength\tud@dim@thinline{1.414214pt}%
- \def\tud@head@font@size{25.455844}%
+%%% From File: tudscr-area.dtx
+\newlength\tud@len@widemargin
+\newlength\tud@len@slimmargin
+\newlength\tud@len@both
+\newlength\tud@len@topmargin
+\newlength\tud@len@barheight
+\newlength\tud@len@headsep
+\newlength\tud@len@footsep
+\newlength\tud@len@logox
+\newlength\tud@len@logoy
+\newlength\tud@len@logowidth
+\newlength\tud@len@line
+\newlength\tud@len@heavyline
+\newlength\tud@len@thinline
+\newlength\tud@len@areaheadvskip
+\newlength\tud@len@areadiff
+\newlength\tud@len@areavskip
+\tud@if@v@lower{2.03}{\newlength\tud@len@ddcdiff}{}
+\newif\if@tud@cdgeometry@adjust
+\newlength\tud@len@layoutheight
+\newlength\tud@len@layoutwidth
+\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@dim@widemargin{120mm}%
- \setlength\tud@dim@heavyline{4pt}%
- \setlength\tud@dim@thinline{2pt}%
- \def\tud@head@font@size{36}%
- \fi\fi\fi\fi\fi%
- \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}%
- \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}%
- \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}%
- \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}%
- \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}%
- \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}%
- \setlength\tud@dim@footsep{%
- \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax%
+ \setlength\tud@len@layoutheight{\paperheight}%
+ \setlength\tud@len@layoutwidth{\paperwidth}%
+ \fi%
+ \setlength\tud@len@layouthoffset{\Gm@layouthoffset}%
+ \setlength\tud@len@layoutvoffset{\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.05}{%
+ \ifdim\tud@len@layoutheight<\dimexpr105mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr148mm+1.5mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr229mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr297mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr420mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr594mm+2mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr841mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1189mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
+ }{%
+ \ifdim\tud@len@layoutheight<\dimexpr125mm+1.5mm\relax%
+ \def\@tempa{0}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr176mm+2mm\relax%
+ \def\@tempa{1}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr250mm+2mm\relax%
+ \def\@tempa{2}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr353mm+2mm\relax%
+ \def\@tempa{3}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr500mm+2mm\relax%
+ \def\@tempa{4}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr707mm+3mm\relax%
+ \def\@tempa{5}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1000mm+3mm\relax%
+ \def\@tempa{6}%
+ \else\ifdim\tud@len@layoutheight<\dimexpr1414mm+3mm\relax%
+ \def\@tempa{7}%
+ \else%
+ \def\@tempa{8}%
+ \fi\fi\fi\fi\fi\fi\fi\fi%
}%
+ \@tud@cdgeometry@adjustfalse%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \ifnum\@tempa>\z@\relax%
+ \ifnum\@tempa<8\relax%
+ \def\@tempa{3}%
+ \fi%
+ \fi%
+ \fi%
+ \ifcase\@tempa\relax% <=A7/B7
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ small paper height. It is recommended to increase\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{148mm}%
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \or% <=A6/B6
+ \setlength\tud@len@widemargin{15mm}%
+ \setlength\tud@len@heavyline{0.5pt}%
+ \setlength\tud@len@thinline{0.25pt}%
+ \renewcommand*\tud@head@fontsize{4.5}%
+ \or% <=A5/B5
+ \ifnum\tud@cdgeometry@calc@num=\z@\relax% restricted
+ \@tud@cdgeometry@adjusttrue%
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \else%
+ \setlength\tud@len@widemargin{21.213203mm}%
+ \setlength\tud@len@heavyline{0.707107pt}%
+ \setlength\tud@len@thinline{0.353553pt}%
+ \renewcommand*\tud@head@fontsize{6.363961}%
+ \fi%
+ \or% <=A4/B4
+ \setlength\tud@len@widemargin{30mm}%
+ \setlength\tud@len@heavyline{1pt}%
+ \setlength\tud@len@thinline{0.5pt}%
+ \renewcommand*\tud@head@fontsize{9}%
+ \or% <=A3/B3
+ \setlength\tud@len@widemargin{42.426407mm}%
+ \setlength\tud@len@heavyline{1.414214pt}%
+ \setlength\tud@len@thinline{0.707107pt}%
+ \renewcommand*\tud@head@fontsize{12.727922}%
+ \or% <=A2/B2
+ \setlength\tud@len@widemargin{60mm}%
+ \setlength\tud@len@heavyline{2pt}%
+ \setlength\tud@len@thinline{1pt}%
+ \renewcommand*\tud@head@fontsize{18}%
+ \or% <=A1/B1
+ \setlength\tud@len@widemargin{84.852814mm}%
+ \setlength\tud@len@heavyline{2.828427pt}%
+ \setlength\tud@len@thinline{1.414214pt}%
+ \renewcommand*\tud@head@fontsize{25.455844}%
+ \or% <=A0/B0
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@heavyline{4pt}%
+ \setlength\tud@len@thinline{2pt}%
+ \renewcommand*\tud@head@fontsize{36}%
+ \else% >A0/B0
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ There's no type area defined for such a\MessageBreak%
+ huge paper height. It is recommended to reduce\MessageBreak%
+ the paper size. Nevertheless, it will be tried to\MessageBreak%
+ calculate a proper type area%
+ }%
+ \fi%
+ \tud@divide\@tempa{\tud@len@layoutheight}{1189mm}%
+ \setlength\tud@len@widemargin{120mm}%
+ \setlength\tud@len@widemargin{\@tempa\tud@len@widemargin}%
+ \setlength\tud@len@heavyline{4pt}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \ifnum\tud@cdgeometry@calc@num=\tw@\relax%
+ \tud@divide\@tempa{\tud@len@layoutheight}{297mm}%
+ \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}%
+ \edef\tud@head@fontsize{\strip@pt\@tempdima}%
+ \fi%
+ \global\@tud@head@font@settrue%
+ \setlength\tud@len@slimmargin{\dimexpr2\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@both{\dimexpr5\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@topmargin{\dimexpr7\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@barheight{\dimexpr\tud@len@widemargin/6\relax}%
+ \setlength\tud@len@headsep{\dimexpr2\tud@len@widemargin/5\relax}%
+ \setlength\tud@len@logox{\dimexpr1.1\tud@len@widemargin/3\relax}%
+ \setlength\tud@len@logoy{\dimexpr0.45\tud@len@widemargin\relax}%
+ \setlength\tud@len@logowidth{\dimexpr1.9\tud@len@widemargin\relax}%
+ \setlength\tud@len@footsep{%
+ \dimexpr\tud@len@widemargin-.6\tud@len@topmargin\relax%
+ }%
+ \if@tud@cdgeometry@adjust%
+ \setlength\tud@len@headsep{\dimexpr.707107\tud@len@headsep\relax}%
+ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}%
+ \fi%
}
-\newcommand*\tud@ifsacrop{%
- \ifcsdef{ifsa@crop}{%
- \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}%
- }{%
- \@secondoftwo%
+\newif\if@tud@x@crop@center
+\AfterPackage{crop}{%
+ \CheckCommand*\CROP@center{%
+ \voffset\stockheight
+ \advance\voffset-\paperheight
+ \voffset.5\voffset
+ \hoffset\stockwidth
+ \advance\hoffset-\paperwidth
+ \hoffset.5\hoffset
+ }%
+ \pretocmd{\CROP@center}{%
+ \@tud@x@crop@centertrue%
+ }{}{\tud@patch@wrn{CROP@center}}
+}
+\newif\if@tud@x@standalone@crop
+\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop}
+\newcommand*\tud@cdgeometry@process{}
+\newcommand*\tud@cdgeometry@@process{}
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{geometry}%
+\else
+ \RequirePackage{geometry}[2010/09/12]%
+\fi
+\AfterPackage*{geometry}{%
+ \CheckCommand*\Gm@initnewgm{%
+ \Gm@passfalse
+ \Gm@swap@papersizefalse
+ \Gm@dimlist={}
+ \Gm@hbodyfalse
+ \Gm@vbodyfalse
+ \Gm@heightroundedfalse
+ \Gm@includeheadfalse
+ \Gm@includefootfalse
+ \Gm@includempfalse
+ \let\Gm@width\@undefined
+ \let\Gm@height\@undefined
+ \let\Gm@textwidth\@undefined
+ \let\Gm@textheight\@undefined
+ \let\Gm@lines\@undefined
+ \let\Gm@hscale\@undefined
+ \let\Gm@vscale\@undefined
+ \let\Gm@hmarginratio\@undefined
+ \let\Gm@vmarginratio\@undefined
+ \let\Gm@lmargin\@undefined
+ \let\Gm@rmargin\@undefined
+ \let\Gm@tmargin\@undefined
+ \let\Gm@bmargin\@undefined
+ \Gm@layoutfalse
+ \Gm@layouthoffset\z@
+ \Gm@layoutvoffset\z@
+ \Gm@bindingoffset\z@
+ }%
+ \expandafter\CheckCommand%
+ \csname\expandafter\@gobble\string\Gm@changelayout\space\endcsname{%
+ \setlength{\@colht}{\textheight}
+ \setlength{\@colroom}{\textheight}%
+ \setlength{\vsize}{\textheight}
+ \setlength{\columnwidth}{\textwidth}%
+ \if@twocolumn%
+ \advance\columnwidth-\columnsep
+ \divide\columnwidth\tw@%
+ \@firstcolumntrue%
+ \fi%
+ \setlength{\hsize}{\columnwidth}%
+ \setlength{\linewidth}{\hsize}%
+ }%
+ \CheckCommand*\Gm@@process{%
+ \Gm@expandlengths
+ \Gm@adjustpaper
+ \addtolength\Gm@layoutwidth{-\Gm@bindingoffset}%
+ \Gm@adjustmp
+ \Gm@adjustbody
+ \Gm@detall{h}{width}{lmargin}{rmargin}%
+ \Gm@detall{v}{height}{tmargin}{bmargin}%
+ \setlength\textwidth{\Gm@width}%
+ \setlength\textheight{\Gm@height}%
+ \setlength\topmargin{\Gm@tmargin}%
+ \setlength\oddsidemargin{\Gm@lmargin}%
+ \addtolength\oddsidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\textwidth-\Gm@wd@mp
+ \advance\oddsidemargin\Gm@odd@mp
+ \fi
+ \if@mparswitch
+ \setlength\evensidemargin{\Gm@rmargin}%
+ \addtolength\evensidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\evensidemargin\Gm@even@mp
+ \fi
+ \else
+ \evensidemargin\oddsidemargin
+ \fi
+ \advance\oddsidemargin\Gm@bindingoffset
+ \addtolength\topmargin{-1\Gm@truedimen in}%
+ \ifGm@includehead
+ \addtolength\textheight{-\headheight}%
+ \addtolength\textheight{-\headsep}%
+ \else
+ \addtolength\topmargin{-\headheight}%
+ \addtolength\topmargin{-\headsep}%
+ \fi
+ \ifGm@includefoot
+ \addtolength\textheight{-\footskip}%
+ \fi
+ \ifGm@heightrounded
+ \setlength\@tempdima{\textheight}%
+ \addtolength\@tempdima{-\topskip}%
+ \@tempcnta\@tempdima
+ \@tempcntb\baselineskip
+ \divide\@tempcnta\@tempcntb
+ \setlength\@tempdimb{\baselineskip}%
+ \multiply\@tempdimb\@tempcnta
+ \advance\@tempdima-\@tempdimb
+ \multiply\@tempdima\tw@
+ \ifdim\@tempdima>\baselineskip
+ \addtolength\@tempdimb{\baselineskip}%
+ \fi
+ \addtolength\@tempdimb{\topskip}%
+ \textheight\@tempdimb
+ \fi
+ \advance\oddsidemargin\Gm@layouthoffset%
+ \advance\evensidemargin\Gm@layouthoffset%
+ \advance\topmargin\Gm@layoutvoffset%
+ \addtolength\Gm@layoutwidth{\Gm@bindingoffset}%
+ }%
+ \CheckCommand\geometry[1]{%
+ \Gm@clean
+ \setkeys{Gm}{#1}%
+ \Gm@process%
+ }%
+ \CheckCommand\newgeometry[1]{%
+ \clearpage
+ \Gm@restore@org
+ \Gm@initnewgm
+ \Gm@newgmtrue
+ \setkeys{Gm}{#1}%
+ \Gm@newgmfalse
+ \Gm@process
+ \ifnum\mag=\@m\else\Gm@magtooffset\fi
+ \Gm@changelayout
+ \Gm@showparams{newgeometry}%
+ }%
+ \CheckCommand\restoregeometry{%
+ \clearpage
+ \Gm@restore@pkg
+ \Gm@changelayout%
+ }%
+ \CheckCommand*\savegeometry[1]{%
+ \Gm@save
+ \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}%
+ }%
+ \CheckCommand*\loadgeometry[1]{%
+ \clearpage
+ \@ifundefined{Gm@restore@@#1}{%
+ \PackageError{geometry}{%
+ \string\loadgeometry : name `#1' undefined}{%
+ The name `#1' should be predefined with \string\savegeometry}%
+ }{\@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%
+ \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}%
+ \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%
+ \fi%
+ }%
+ }%
+ \newcommand*\tud@loadgeometry[1]{%
+ \@tud@x@geometry@enabledfalse%
+ \loadgeometry{#1}%
+ \@currsize%
+ \if@tud@x@crop@center\CROP@center\fi%
+ \@tud@x@geometry@enabledtrue%
+ }%
+ \TUD@parameter@family{geometry}{%
+ \TUD@parameter@def{paper}{\tud@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@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{layoutheight}{%
+ \tud@area@def{layout}{\the\tud@len@layoutwidth:#1}%
+ }%
+ \TUD@parameter@def{layoutsize}{%
+ \def\@tempa##1,##2,##3\@nil{%
+ \IfArgIsEmpty{##2}{%
+ \tud@area@def{layout}{##1:##1}%
+ }{%
+ \tud@area@def{layout}{##1:##2}%
+ }%
+ }%
+ \@tempa#1,,\@nil%
+ }%
+ \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}%
+ }%
+ }
+ \newcommand*\tud@area@def[2]{%
+ \tud@lowerstring{\@tempa}{#2}%
+ \def\@tempb##1paper##2\@nil{%
+ \ifstr{##2}{paper}{\def\@tempa{##1}}{}%
+ }%
+ \expandafter\@tempb\@tempa paper\@nil%
+ \@tempswafalse%
+ \ifstr{\@tempa}{seascape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{landscape}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{portrait}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{letter}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{executive}{\@tempswatrue}{}%
+ \ifstr{\@tempa}{legal}{\@tempswatrue}{}%
+ \if@tempswa\else%
+ \ifx\@tempa\@empty\relax\else%
+ \def\@tempb##1##2\@nil{%
+ \if ##1a\@tempswatrue%
+ \else\if ##1b\@tempswatrue%
+ \else\if ##1c\@tempswatrue%
+ \else\if ##1d\@tempswatrue%
+ \fi\fi\fi\fi%
+ \if@tempswa%
+ \@tempswafalse%
+ \IfArgIsEmpty{##2}{}{\ifnumber{##2}{\@tempswatrue}{}}%
+ \fi%
+ }%
+ \expandafter\@tempb\@tempa\@nil%
+ \if@tempswa\else%
+ \def\@tempb##1:##2:##3\@nil{%
+ \IfArgIsEmpty{##2}{}{%
+ \@tempswatrue%
+ \def\@tempa{##1:##2}%
+ }%
+ }%
+ \expandafter\@tempb\@tempa::\@nil%
+ \fi%
+ \if@tempswa\else%
+ \def\tud@reserved##1:##2:##3:##4\@nil{%
+ \if@tempswa\else%
+ \ifstr{\@tempa}{##1}{%
+ \@tempswatrue%
+ \def\@tempa{##2##4:##3##4}%
+ }{}%
+ \fi%
+ }%
+ \tud@reserved b0j:1030:1456:mm\@nil%
+ \tud@reserved b1j:728:1030:mm\@nil%
+ \tud@reserved b2j:515:728:mm\@nil%
+ \tud@reserved b3j:364:515:mm\@nil%
+ \tud@reserved b4j:257:364:mm\@nil%
+ \tud@reserved b5j:182:257:mm\@nil%
+ \tud@reserved b6j:128:182:mm\@nil%
+ \tud@reserved ansia:8.5:11:in\@nil%
+ \tud@reserved ansib:11:17:in\@nil%
+ \tud@reserved ansic:17:22:in\@nil%
+ \tud@reserved ansid:22:34:in\@nil%
+ \tud@reserved ansie:34:44:in\@nil%
+ \tud@reserved screen:225:180:mm\@nil%
+ \fi%
+ \fi%
+ \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]{%
+ \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}%
+ }%
+ \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}%
+ \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%
+ \begingroup%
+ \setlength\paperwidth{\Gm@layoutwidth}%
+ \setlength\paperheight{\Gm@layoutheight}%
+ \tud@area@set{layout}%
+ \edef\tud@reserved{%
+ \endgroup%
+ \etex@unexpanded{\epreto{\tud@x@geometry@parameter}}{%
+ layoutwidth=\the\paperwidth,layoutheight=\the\paperheight,%
+ }%
+ }%
+ \tud@reserved%
+ \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}%
+ \else%
+ \tud@loadgeometry{init@typearea}%
+ \fi%
+ \tud@AfterChangingArea%
+ }%
+ \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{%
+ \csuse{@ta@usegeometryfalse}%
+ \tud@cdgeometry@set%
+ \ifnum\tud@cdgeometry@num<\tw@\relax% false/custom
+ \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,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \if@hincl%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\footskip%
+ }%
+ \else% custom
+ \ifGm@pass\else%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\Gm@lmargin,%
+ right=\Gm@rmargin,%
+ \ifGm@includemp%
+ includemp=true,%
+ \else%
+ includemp=false,%
+ \fi%
+ marginparwidth=\the\marginparwidth,%
+ marginparsep=\the\marginparsep,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\Gm@bindingoffset%
+ }%
+ \edef\tud@cdgeometry@vmargin{%
+ \ifGm@includehead%
+ includehead=true,%
+ top=\the\dimexpr\topmargin+1in\relax,%
+ \else%
+ includehead=false,%
+ top=\the\dimexpr\topmargin%
+ +\headheight+\headsep+1in\relax,%
+ \fi%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ textheight=\the\textheight,%
+ \ifGm@includefoot%
+ includefoot=true,%
+ \else%
+ includefoot=false,%
+ \fi%
+ footskip=\the\footskip%
+ }%
+ \fi%
+ \fi%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\topmargin-\headheight-\headsep-1in\relax%
+ }%
+ \ifdim\tud@len@areadiff<\z@\relax%
+ \addtolength\tud@len@headsep{-\tud@len@areadiff}%
+ \setlength\@tempdima{\z@}%
+ \else%
+ \setlength\@tempdima{\tud@len@areadiff}%
+ \fi%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep,%
+ textheight=\the\dimexpr\textheight-\@tempdima\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@ddcdiff{%
+ \dimexpr.6\tud@len@topmargin-\footskip+\tud@len@headsep%
+ +\footheight-1.25\baselineskip\relax%
+ }%
+ \edef\tud@cdgeometry@ddcmargin{%
+ textheight=\the\dimexpr\textheight-\tud@len@areadiff%
+ -\tud@len@ddcdiff\relax,%
+ footskip=\the\dimexpr\footskip+\tud@len@ddcdiff\relax%
+ }%
+ }{}%
+ \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')%
+ }%
+ \fi%
+ \else% true/symmetric/twoside
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \setlength\@tempdima{\tud@len@widemargin}%
+ \if@reversemargin%
+ \setlength\@tempdimc{\tud@len@widemargin}%
+ \else%
+ \setlength\@tempdimc{\tud@len@slimmargin}%
+ \fi%
+ \or% symmetric
+ \setlength\@tempdima{.5\tud@len@both}%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \or% twoside
+ \if@twoside%
+ \setlength\@tempdima{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdima{.5\tud@len@both}%
+ \fi%
+ \setlength\@tempdimc{.5\tud@len@both}%
+ \if@twoside%
+ \if@reversemargin%
+ \setlength\@tempdimc{.4\tud@len@both}%
+ \else%
+ \setlength\@tempdimc{.6\tud@len@both}%
+ \fi%
+ \fi%
+ \fi%
+ \addtolength\@tempdimc{-\headsep}%
+ \setlength\@tempdimb{%
+ \dimexpr\tud@len@layoutwidth-\tud@len@both-\ta@bcor\relax%
+ }%
+ \if@mincl%
+ \addtolength\@tempdimb{-\@tempdimc}%
+ \fi%
+ \edef\tud@cdgeometry@hmargin{%
+ left=\the\@tempdima,%
+ textwidth=\the\@tempdimb,%
+ \tud@cdgeometry@mpincl,%
+ marginparwidth=\the\@tempdimc,%
+ marginparsep=\the\dimexpr.5\headsep\relax,%
+ \if@reversemargin%
+ reversemarginpar=true,%
+ \else%
+ reversemarginpar=false,%
+ \fi%
+ bindingoffset=\the\ta@bcor%
+ }%
+ \if@twoside%
+ \ifcase\tud@cdgeometry@num\relax\or\or% true
+ \appto\tud@cdgeometry@hmargin{,asymmetric}%
+ \else% symmetric/twoside
+ \appto\tud@cdgeometry@hmargin{,twoside}%
+ \fi%
+ \fi%
+ \if@twocolumn%
+ \appto\tud@cdgeometry@hmargin{,twocolumn}%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\dimexpr.5\tud@len@both\relax,%
+ headheight=\the\headheight,%
+ headsep=\the\tud@len@headsep,%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax%
+ }%
+ }{%
+ \edef\tud@cdgeometry@vmargin{%
+ \tud@cdgeometry@hincl,%
+ top=\the\tud@len@slimmargin,%
+ headheight=\the\headheight,%
+ headsep=\the\headsep,%
+ bottom=\the\dimexpr\tud@len@widemargin%
+ +\tud@dim@extrabottommargin\relax,%
+ \tud@cdgeometry@fincl,%
+ footskip=\the\dimexpr\tud@len@footsep+\footheight\relax%
+ }%
+ }%
+ \edef\tud@cdgeometry@tudmargin{%
+ ignorehead=true,%
+ top=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax,%
+ headheight=\the\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -\tud@len@logoy\relax,%
+ headsep=\the\tud@len@headsep%
+ }%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -\tud@len@slimmargin\relax%
+ }%
+ \tud@if@v@lower{2.03}{%
+ \setlength\tud@len@areadiff{%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight+\tud@len@headsep%
+ -.5\tud@len@both\relax%
+ }%
+ \setlength\tud@len@ddcdiff{.6\tud@len@topmargin}%
+ \edef\tud@cdgeometry@ddcmargin{%
+ \if@fincl%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff+\tud@len@headsep+\footheight%
+ -1.25\baselineskip\relax,%
+ \else%
+ bottom=\the\dimexpr.5\tud@len@both+\tud@dim@extrabottommargin%
+ +\tud@len@ddcdiff\relax,%
+ \fi%
+ footskip=\the\dimexpr\tud@len@headsep+\footheight%
+ -1.25\baselineskip+\tud@len@ddcdiff\relax,%
+ }%
+ }{}%
+ \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%
+ }{}%
+ \tud@cdgeometry@@@process%
+ }%
+ \newcommand*\tud@cdgeometry@@@process{%
+ \eappto\tud@cdgeometry@hmargin{,layouthoffset=\the\Gm@layouthoffset}%
+ \eappto\tud@cdgeometry@vmargin{,layoutvoffset=\the\Gm@layoutvoffset}%
+ \tud@if@v@lower{2.03}{%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin,%
+ \tud@cdgeometry@ddcmargin,%
+ ignorehead,ignorefoot%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudareaddc}%
+ }{}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin,%
+ \tud@cdgeometry@tudmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{tudarea}%
+ \edef\@tempa{%
+ \tud@cdgeometry@hmargin,%
+ \tud@cdgeometry@vmargin%
+ }%
+ \tud@setgeometry{\@tempa}%
+ \tud@savegeometry{stdarea}%
+ \if@atdocument%
+ \ifstr{\tud@currentgeometry}{stdarea}{}{%
+ \expandafter\tud@loadgeometry\expandafter{\tud@currentgeometry}%
+ }%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@hincl{%
+ \if@hincl%
+ includehead=true%
+ \else%
+ includehead=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@fincl{%
+ \if@fincl%
+ includefoot=true%
+ \else%
+ includefoot=false%
+ \fi%
+ }%
+ \newcommand*\tud@cdgeometry@mpincl{%
+ \if@mincl%
+ includemp=true%
+ \else%
+ includemp=false%
+ \fi%
}%
}
-\tud@ifsacrop{%
- \PreventPackageFromLoading{scrlayer-scrpage}%
- \pagestyle{empty}%
- \hoffset=-72.27pt%
- \voffset=-72.27pt%
- \topmargin=0pt%
- \headheight=0pt%
- \headsep=0pt%
- \marginparsep=0pt%
- \marginparwidth=0pt%
- \footskip=0pt%
- \marginparpush=0pt%
- \oddsidemargin=0pt%
- \evensidemargin=0pt%
- \topskip=0pt%
- \textheight=\maxdimen%
-}{%
- \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+\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}%
+ }%
+ }%
+ \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%
+ }%
+ \fi%
+ \fi%
+ \tud@font@koma@unset{pagefoot}%
+ \tud@font@koma@unset{pagenumber}%
+ }%
+ \global\tud@len@areavskip=\tud@len@areavskip%
+ }{}%
}
-\tud@cmd@store{pagestyle}
-\cslet{ps@tudheadings}{\ps@headings}%
-\cslet{ps@plain.tudheadings}{\ps@plain}%
-\cslet{ps@empty.tudheadings}{\ps@empty}%
-\providecommand*\currentpagestyle{plain}
-\providecommand*\BeforeSelectAnyPageStyle[1]{}
-\providecommand*\GetRealPageStyle[1]{#1}
-\BeforePackage{scrlayer-scrpage}{%
- \tud@cmd@restore{pagestyle}%
- \csundef{ps@tudheadings}%
- \csundef{ps@plain.tudheadings}%
- \csundef{ps@empty.tudheadings}%
- \undef\currentpagestyle%
- \undef\BeforeSelectAnyPageStyle%
- \undef\GetRealPageStyle%
+\newcommand*\tud@AfterChangingArea{%
+ \tud@cdgeometry@@process%
+ \KOMAoptions{pagesize=\@pagesizelast}%
+ \global\@tud@mainlogo@settrue%
+ \gdef\tud@currentgeometry{}%
+ \expandafter\pagestyle\expandafter{\currentpagestyle}%
}
-\let\tud@pagestyle\pagestyle
-\apptocmd{\tud@pagestyle}{%
- \edef\currentpagestyle{#1}%
-}{}{\tud@patch@wrn{pagestyle}}%
-\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
-\AtEndPreamble{%
- \@ifpackageloaded{scrlayer-scrpage}{}{%
- \let\pagestyle\tud@pagestyle%
- \undef\tud@pagestyle%
+\newcommand*\tud@cdgeometry@init{%
+ \AtEndPreamble{%
+ \if@tud@x@standalone@crop%
+ \pagestyle{empty}%
+ \hoffset=-72.27pt%
+ \voffset=-72.27pt%
+ \topmargin=0pt%
+ \headheight=0pt%
+ \headsep=0pt%
+ \marginparsep=0pt%
+ \marginparwidth=0pt%
+ \footskip=0pt%
+ \marginparpush=0pt%
+ \oddsidemargin=0pt%
+ \evensidemargin=0pt%
+ \topskip=0pt%
+ \textheight=\maxdimen%
+ \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}%
+ }%
+ \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%
+ \endgroup%
+ \tud@reserved{custom}%
+ \AfterCalculatingTypearea{\tud@AfterChangingArea}%
+ \AfterSettingArea{\tud@AfterChangingArea}%
+ \ifundef{\AfterRestoreareas}{}{%
+ \AfterRestoreareas{\tud@AfterChangingArea}%
+ }%
+ \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{##1}}%
+ \tud@cdgeometry@process%
+ \fi
+ \let\tud@cdgeometry@init\relax%
}%
}
+\AfterPackage!{scrlayer-scrpage}{\tud@cdgeometry@init}
+\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]{}%
+}
+\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
+\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
+\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
+ \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
+}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
+\tud@if@v@lower{2.03}{%
+ \newcommand*\tud@ddc@enlargepage[1][]{%
+ \tud@if@tudheadings{#1}{%
+ \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \enlargethispage{-\tud@len@ddcdiff}%
+ \fi%
+ }%
+ }{}%
+ }%
+}{}
+%%% From File: tudscr-pagestyle.dtx
+\if@tud@x@standalone@crop
+ \PreventPackageFromLoading{scrlayer-scrpage}%
+\else
+ \AtEndPreamble{\RequirePackage{scrlayer-scrpage}[2013/12/14]}%
+\fi
\AfterPackage{scrlayer-scrpage}{%
\DeclareNewLayer[%
background,headsep,%
- voffset=\tud@dim@logoy,%
+ addhoffset=\dimexpr\tud@len@logox-\tud@len@widemargin\relax,%
+ addwidth=\dimexpr-\tud@len@logox+\tud@len@widemargin\relax,%
+ voffset=\tud@len@logoy,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
\tud@mainlogo@set%
\tud@headlogo@option@set%
- \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}%
\tud@mainlogo@use\hfill\tud@headlogo@use%
},%
]{tudheadings.head.content}%
\DeclareNewLayer[%
background,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@topmargin+\tud@dim@bleedmargin\relax,%
+ addvoffset=\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax,%
contents={%
- \ifnum\tud@head@bar>\tw@\relax% cdhead=color
+ \ifnum\tud@head@bar@num>\tw@\relax% cdhead=color
\color{HKS41}%
- \rule{\layerwidth}{\tud@dim@topmargin}%
+ \rule{\layerwidth}{\layerheight}%
\fi%
},%
]{tudheadings.head.back}%
\DeclareNewLayer[%
background,%
- voffset=\tud@dim@topmargin,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\tud@len@barheight,%
+ voffset=\tud@len@topmargin,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar>\@ne\relax% cdhead=barcolor/color
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\color{HKS41!60}%
- \rule{\layerwidth}{\tud@dim@barheight}%
+ \setlength{\@tempdima}{\dimexpr\ht\strutbox-\tud@len@barheight\relax}%
+ \ifdim\@tempdima<\z@\relax\setlength\@tempdima{\z@}\fi%
+ \raisebox{\@tempdima}{\rule{\layerwidth}{\layerheight}}%
\fi%
},%
]{tudheadings.head.bar}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,%
- contents={\tud@head@text@box},%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
+ contents={%
+ \tud@head@font@set%
+ \tud@head@text@set%
+ \tud@head@text@box%
+ },%
]{tudheadings.head.text}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.upperline}%
+ ]{tudheadings.head.upline}%
\DeclareNewLayer[%
background,headsep,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\else\tud@head@rule{\textwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\else\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.lowerline}%
+ ]{tudheadings.head.lowline}%
\DeclareNewLayer[%
background,%
- voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin-.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.upperwideline}%
+ ]{tudheadings.head.uplinewide}%
\DeclareNewLayer[%
background,%
- voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -.5\tud@dim@line\relax,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ addhoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ voffset=\dimexpr\tud@len@topmargin+\tud@len@barheight%
+ -.5\tud@len@line\relax,%
+ addvoffset=\tud@len@layoutvoffset,%
contents={%
- \ifnum\tud@head@bar<\tw@\relax% cdhead=nocolor/litecolor
- \if@tud@head@widebar\tud@head@rule{\paperwidth}\fi%
+ \ifnum\tud@head@bar@num<\tw@\relax% cdhead=nocolor/litecolor
+ \if@tud@head@widebar\tud@head@rule{\layerwidth}\fi%
\fi%
},%
- ]{tudheadings.head.lowerwideline}%
+ ]{tudheadings.head.lowlinewide}%
+ \DeclareNewLayer[%
+ foreground,headsep,%
+ addvoffset=.5\tud@len@headsep,%
+ height=\baselineskip,%
+ contents={\if@tud@head@date\hfill\tud@date@print\fi},%
+ ]{tudheadings.head.date}%
\DeclareNewLayer[%
background,foot,%
- hoffset=0pt,%
- width=\paperwidth,%
+ width=\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax,%
+ hoffset=\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset+\tud@dim@bleedmargin\relax,%
addvoffset=-\dp\strutbox,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
contents={%
\if@tud@foot@colored%
\let\@tempc\relax%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \ifcase\tud@head@bar@num\relax\or% cdhead=litecolor
+ \def\@tempc{\color{HKS41!60}}%
+ \or% cdhead=barcolor
\def\@tempc{\color{HKS41!60}}%
\or% cdhead=color
\def\@tempc{\color{HKS41}}%
@@ -2486,14 +3914,14 @@
\fi%
},%
]{tudheadings.foot.back}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\ModifyLayer[%
- addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
contents={%
\if@tud@foot@colored%
\let\@tempc\relax%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax\or\or% cdhead=barcolor
+ \ifcase\tud@head@bar@num\relax\or\or% cdhead=barcolor
\def\@tempc{\color{HKS41!60}}%
\or% cdhead=color
\def\@tempc{\color{HKS41}}%
@@ -2504,14 +3932,14 @@
}%
\ifx\@tempc\relax\else%
\tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot=false
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
\vbox to \layerheight{%
\vfil\@tempc%
\rule{\layerwidth}{%
- \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax%
+ \dimexpr\layerheight-\tud@len@ddcdiff+\ht\strutbox\relax%
}%
}%
- \else% \tud@ddc@foot!=false
+ \else% \tud@ddc@foot@num!=false
\@tempc\rule{\layerwidth}{\layerheight}%
\fi%
\fi%
@@ -2521,23 +3949,35 @@
}{}%
\DeclareNewLayer[%
background,foot,%
- height=\dimexpr\paperheight-\layeryoffset\relax,%
+ height=\dimexpr\tud@len@layoutheight-\layeryoffset%
+ +\tud@len@layoutvoffset\relax,%
contents={%
- \tud@footlogoheight@set%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
\setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
- \tud@footlogo@option@set%
- \tud@footlogo@cmd@set{\@tempdima}{\layerwidth}%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
\tud@footcontent@use{\@tempdima}{\layerwidth}%
- \hspace*{-\layerwidth}%
- \tud@footlogo@cmd@use%
- \hspace*{-\layerwidth}%
- \hfill\tud@footlogo@ddc@use{\@tempdima}%
},%
]{tudheadings.foot.content}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\ModifyLayer[%
- addvoffset=-\tud@dim@ddcdiff+\ht\strutbox,%
- height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,%
+ addvoffset=-\tud@len@ddcdiff+\ht\strutbox,%
+ contents={%
+ \TUD@len@deprecated[%
+ \global\@tud@footlogo@option@settrue%
+ ]{footlogoheight}%
+ \setlength\@tempdima{\dimexpr\layerheight-\dp\strutbox\relax}%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax% \tud@ddc@foot@num=false
+ \addtolength\@tempdima{\dimexpr\ht\strutbox-\tud@len@ddcdiff\relax}%
+ \vskip\dimexpr\tud@len@ddcdiff-\ht\strutbox-\baselineskip\relax%
+ \fi%
+ \tud@footlogo@cmd@use{\@tempdima}{\layerwidth}%
+ \tud@footlogo@ddc@use{\@tempdima}{\layerwidth}%
+ \tud@footcontent@use{\@tempdima}{\layerwidth}%
+ },%
]{tudheadings.foot.content}%
}{}%
\DeclareNewLayer[%
@@ -2551,10 +3991,11 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last,%
@@ -2564,7 +4005,6 @@
scrheadings.foot.above.line,%
scrheadings.foot.below.line%
}%
- \listadd\tud@ps@list{tudheadings}%
\DeclareNewPageStyleAlias{tud}{tudheadings}%
\DeclareNewPageStyleAlias{tudscr}{tudheadings}%
\DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}%
@@ -2575,10 +4015,11 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last,%
@@ -2588,7 +4029,6 @@
plain.scrheadings.foot.above.line,%
plain.scrheadings.foot.below.line%
}%
- \listadd\tud@ps@list{plain.tudheadings}%
\DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}%
\DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}%
\DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}%
@@ -2601,23 +4041,28 @@
tudheadings.head.content,%
tudheadings.head.bar,%
tudheadings.head.text,%
- tudheadings.head.upperline,%
- tudheadings.head.lowerline,%
- tudheadings.head.upperwideline,%
- tudheadings.head.lowerwideline,%
+ tudheadings.head.upline,%
+ tudheadings.head.lowline,%
+ tudheadings.head.uplinewide,%
+ tudheadings.head.lowlinewide,%
+ tudheadings.head.date,%
tudheadings.foot.back,%
tudheadings.foot.content,%
tudheadings.last%
}%
- \listadd\tud@ps@list{empty.tudheadings}%
\DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}%
\DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}%
- \newcommand*\tud@pagecolor{}%
\DeclareNewLayer[%
- background,page,%
+ background,%
+ area=%
+ {\dimexpr\tud@len@layouthoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutvoffset-\tud@dim@bleedmargin\relax}%
+ {\dimexpr\tud@len@layoutwidth+\tud@dim@bleedmargin*2\relax}%
+ {\dimexpr\tud@len@layoutheight+\tud@dim@bleedmargin*2\relax}%
+ ,%
contents={%
\ifdefvoid{\tud@pagecolor}{}{%
\color{\tud@pagecolor}%
@@ -2627,8 +4072,11 @@
]{tudheadings.pagecolor}%
\AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}%
}
+\listadd\tud@ps@list{tudheadings}
+\listadd\tud@ps@list{plain.tudheadings}
+\listadd\tud@ps@list{empty.tudheadings}
\PreventPackageFromLoading[%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The package `fancyhdr' must not be used with a\MessageBreak%
TUD-KOMA-Script class. You should make use of the\MessageBreak%
capabilities of package `scrlayer-scrpage' instead%
@@ -2646,203 +4094,305 @@
\newcommand*\tud@foot@fontcolor{}
\newcommand*\tud@ps@onbackground{%
\ifdefvoid{\tud@pagecolor}{%
- \ifcase\tud@head@bar\relax% cdhead=nocolor
- \def\tud@head@logocolor{black}%
- \def\tud@head@fontcolor{}%
- \def\tud@foot@logocolor{black}%
- \def\tud@foot@fontcolor{}%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@head@logocolor{black}%
+ \renewcommand*\tud@head@fontcolor{}%
\or% cdhead=litecolor
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{HKS41}%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{HKS41}%
\or% cdhead=barcolor
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{white}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \fi%
+ \ifcase\tud@head@bar@num\relax% cdhead=nocolor
+ \renewcommand*\tud@foot@logocolor{black}%
+ \renewcommand*\tud@foot@fontcolor{}%
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
- \else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use a colored foot together\MessageBreak%
+ with a non-colored head (`cdhead=nocolor')%
+ }%
\fi%
- \or% cdhead=color
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
+ \else% cdhead=*color
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@foot@logocolor{HKS41}%
+ \renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
\fi%
}{%
\ifstr{\tud@pagecolor}{HKS41}{%
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
- \def\tud@foot@logocolor{white}%
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
\if@tud@foot@colored%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@fontcolor{HKS41!30}%
+ \renewcommand*\tud@foot@fontcolor{HKS41!30}%
\fi%
\bool@std@lock{@tud@head@widebar}{true}%
}{%
- \def\tud@head@logocolor{HKS41}%
- \def\tud@head@fontcolor{HKS41}%
- \ifcase\tud@head@bar\relax\or\or\or% cdhead=color
- \def\tud@head@logocolor{white}%
- \def\tud@head@fontcolor{white}%
+ \renewcommand*\tud@head@logocolor{HKS41}%
+ \renewcommand*\tud@head@fontcolor{HKS41}%
+ \ifcase\tud@head@bar@num\relax\or\or\or% cdhead=color
+ \renewcommand*\tud@head@logocolor{white}%
+ \renewcommand*\tud@head@fontcolor{white}%
\fi%
\if@tud@foot@colored%
- \def\tud@foot@logocolor{white}%
- \def\tud@foot@fontcolor{white}%
+ \renewcommand*\tud@foot@logocolor{white}%
+ \renewcommand*\tud@foot@fontcolor{white}%
\else%
- \def\tud@foot@logocolor{HKS41}%
- \def\tud@foot@fontcolor{HKS41}%
+ \renewcommand*\tud@foot@logocolor{HKS41}%
+ \renewcommand*\tud@foot@fontcolor{HKS41}%
\fi%
\bool@std@lock{@tud@head@widebar}{true}%
}%
}%
- \let\tud@dim@line\tud@dim@thinline%
- \ifstr{\tud@head@fontcolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}%
+ \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@pagestyle{}
+\let\tud@pagestyle\pagestyle
+\pretocmd{\tud@pagestyle}{%
+ \tud@BeforeSelectAnyPageStyle{#1}%
+ \edef\currentpagestyle{#1}%
+}{}{\tud@patch@wrn{pagestyle}}
+\tud@cmd@store{pagestyle}
+\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}}
+\BeforePackage{scrlayer-scrpage}{%
+ \tud@cmd@restore{pagestyle}%
+ \undef\tud@pagestyle%
+}
+\TUD@UnwindPackage{scrlayer-scrpage}{%
+ \ifcsundef{if@chapter}{%
+ \newif\if@chapter%
+ \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}%
+ }{}%
+ \cslet{ps@tudheadings}{\ps@headings}%
+ \cslet{ps@plain.tudheadings}{\ps@plain}%
+ \cslet{ps@empty.tudheadings}{\ps@empty}%
+ \providecommand*\currentpagestyle{plain}%
+ \providecommand*\BeforeSelectAnyPageStyle[1]{}%
+ \providecommand*\GetRealPageStyle[1]{#1}%
+ \let\pagestyle\tud@pagestyle%
+ \undef\tud@pagestyle%
+ \tud@cdgeometry@init%
+}
\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{%
- \xdef\@specialstyle{\GetRealPageStyle{#1}}
+ \xdef\@specialstyle{\GetRealPageStyle{#1}}%
}{}{\tud@patch@wrn{thispagestyle}}
-\newcommand*\tud@head@text{}
-\newcommand*\tud@head@text@first{}
-\newcommand*\tud@head@text@second{}
+\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{}
\newcommand*\tud@head@text@buffer{}
-\newcommand*\tud@head@rule[1]{%
- \tud@color{\tud@head@fontcolor}%
- \rule[\ht\strutbox]{#1}{\tud@dim@line}%
-}
-\newcommand*\tud@head@text@add[3][, ]{%
- \protected@edef\tud@head@text{#3}%
- \ifx\tud@head@text\@empty%
- \def\tud@head@text@delimiter{}%
- \else%
- \edef\tud@head@text@delimiter{\tud@head@text@buffer}%
+\newcommand*\tud@head@text@add[3][{, }]{%
+ \ifxblank{#3}{}{%
+ \edef\tud@head@text@delimiter{\expandonce\tud@head@text@buffer}%
\def\tud@head@text@buffer{#1}%
- \fi%
- \if@tempswa\else%
- \def\@tempa{%
- \tud@head@text@first%
- \tud@head@text@delimiter%
- #2%
- \tud@head@text%
+ \edef\@tempa{%
+ \expandonce\tud@head@text@line%
+ \expandonce\tud@head@text@delimiter%
+ \etex@unexpanded{#2#3}%
}%
\settowidth\@tempdima{\@tempa}%
\ifdim\@tempdima>\textwidth\relax%
- \@tempswatrue%
- \def\tud@head@text@delimiter{}%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \protected@edef\tud@head@text@line{#2#3}%
\else%
- \protected@edef\tud@head@text@first{\@tempa}%
+ \edef\tud@head@text@line{\expandonce\@tempa}%
\fi%
- \fi%
- \if@tempswa%
- \protected@edef\tud@head@text@second{%
- \tud@head@text@second%
- \tud@head@text@delimiter%
- #2%
- \tud@head@text%
+ }%
+}
+\newif\if@tud@head@text@set
+\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{}%
+ \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}%
+ \tud@head@text@add{\tud@head@font@light}{\@chair}%
+ \listeadd\tud@head@text@list{\expandonce\tud@head@text@line}%
+ \ifxblank{\@extraheadline}{}{%
+ \listadd\tud@head@text@list{\tud@head@font@light\@extraheadline}%
+ }%
+ \gdef\tud@head@text@wrn##1{%
+ \ClassWarning{\TUD@Class@Name}{%
+ The given entries for the headline\MessageBreak%
+ (faculty, institute etc.) are ##1\MessageBreak%
+ too wide for the textwidth%
+ }%
}%
\fi%
}
\newcommand*\tud@head@text@box{%
\ifx\@faculty\@empty%
- \ClassWarningNoLine{\TUDClassName}{No `\string\faculty' given}%
+ \ClassWarningNoLine{\TUD@Class@Name}{No `\string\faculty' given}%
\faculty{}%
\fi%
- \tud@head@font@set%
- \@tempswafalse%
- \def\tud@head@text@first{}%
- \def\tud@head@text@second{}%
- \def\tud@head@text@buffer{}%
- \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}%
- \tud@head@text@add{\tud@head@font@light}{\@chair}%
- \settowidth\@tempdima{\tud@head@text@second}%
- \ifdim\@tempdima>\textwidth\relax%
- \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
- \hfuzz=\@tempdima%
- \fi%
- \vbox{%
- \linespread{0}\selectfont\offinterlineskip%
- \tud@color{\tud@head@fontcolor}%
- \tud@head@text@write{\tud@head@text@first}%
- \ifnum\tud@head@bar>\@ne% cdhead=barcolor/color
+ \def\@tempb{\tud@color{\tud@head@fontcolor}}%
+ \def\@tempc{\depth+\tud@len@heavyline}%
+ \def\@tempa##1{%
+ \settowidth\@tempdima{##1}%
+ \ifdim\@tempdima>\textwidth\relax%
+ \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}%
+ \ifdim\dimexpr\@tempdima-\textwidth\relax>\hfuzz\relax%
+ \hfuzz=\dimexpr\@tempdima-\textwidth\relax%
+ \fi%
+ \fi%
+ \@tempb%
+ \tud@head@text@write[\@tempc]{##1}%
+ \def\@tempb{\newline}%
+ \def\@tempc{\z@}%
+ \ifnum\tud@head@bar@num>\@ne\relax% cdhead=barcolor/color
\ifdefvoid{\tud@pagecolor}{\color{HKS41}}{%
\ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}%
}%
\fi%
- \ifx\tud@head@text@second\@empty%
- \newline\tud@head@text@write{\tud@head@font@light\@extraheadline}%
- \else%
- \newline\tud@head@text@write{\tud@head@text@second}%
- \ifx\@extraheadline\@empty\else%
- \newline\vbox{\tud@head@font@light\@extraheadline}%
- \fi%
- \fi%
}%
-}
-\newcommand*\tud@head@text@write[1]{%
- \raisebox{\dimexpr(\tud@dim@barheight+2\tud@dim@line-\totalheight)/2\relax}[%
- \dimexpr\tud@dim@barheight-\depth\relax%
- ][\dimexpr\depth+\tud@dim@heavyline\relax]{#1\vphantom{gjpqy\"A\"O\"U}}%
-}
-\newcommand\tud@head@text@wrn[1]{%
- \ClassWarning{\TUDClassName}{%
- The given entries for the headline\MessageBreak%
- (faculty, institute etc.) are #1\MessageBreak%
- too wide for the textwidth%
+ \vbox{%
+ \let\@raggedtwoe@everyselectfont\relax%
+ \setlength\spaceskip{\z@}%
+ \selectfont%
+ \offinterlineskip%
+ \forlistloop\@tempa{\tud@head@text@list}%
}%
\global\let\tud@head@text@wrn\@gobble%
}
+\newcommand*\tud@head@text@write[2][\z@]{%
+ \raisebox{\dimexpr(\tud@len@barheight+2\tud@len@line-\totalheight)/2\relax}[%
+ \dimexpr\tud@len@barheight-\depth\relax%
+ ][\dimexpr#1\relax]{#2\vphantom{gjpqy\"A\"O\"U}}%
+}
+\newcommand*\tud@head@rule[1]{%
+ \tud@color{\tud@head@fontcolor}%
+ \rule[\ht\strutbox]{#1}{\tud@len@line}%
+}
\newcommand*\tud@newlayerbox[1]{%
- \expandafter\newsavebox\csname tud@logo@#1\endcsname%
+ \expandafter\newsavebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@savelayerbox[1]{%
- \global\expandafter\sbox\csname tud@logo@#1\endcsname%
+ \global\expandafter\sbox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@uselayerbox[1]{%
- \expandafter\usebox\csname tud@logo@#1\endcsname%
+ \expandafter\usebox\csname tud@layer@#1\endcsname%
}
\newcommand*\tud@vlayerbox[3]{%
\begingroup%
\setbox\z@\vbox{#2}%
\setlength\@tempdima{\dimexpr\ht\z@+\dp\z@-#1\relax}%
\ifdim\@tempdima>\z@\relax%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
#3\MessageBreak%
- The maximum height is exceeded by \the\@tempdima%
+ The maximum height is exceeded by \the\@tempdima\MessageBreak%
}%
\fi%
\endgroup%
\vbox to #1{#2}%
}
+\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%
+ }%
+ }{}%
+}
+\newcommand*\tud@ddc@check{%
+ \let\@tempa\tud@ddc@head@num%
+ \let\@tempb\tud@ddc@foot@num%
+ \if@tud@ddc@auto%
+ \ifdefvoid{\tud@headlogo@filename}{%
+ \let\@tempa\tud@ddc@auto@num%
+ \let\@tempb\z@%
+ }{%
+ \let\@tempa\z@%
+ \let\@tempb\tud@ddc@auto@num%
+ }%
+ \fi%
+ \tud@if@v@lower{2.03}{%
+ \ifnum\@tempb=\z@\relax%
+ \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}%
+ \fi%
+ }{}%
+}
\tud@newlayerbox{main@black}
\tud@newlayerbox{main@HKS41}
\tud@newlayerbox{main@white}
-\newlength\tud@mainlogoheight
+\newlength\tud@len@mainlogoheight
\newcommand*\tud@mainlogo@wrn[1]{}
\newif\if@tud@mainlogo@set
\newcommand*\tud@mainlogo@set{%
\if@tud@mainlogo@set%
- \def\@tempa{\includegraphics[keepaspectratio,width=\tud@dim@logowidth]}%
+ \def\@tempa{\includegraphics[keepaspectratio,width=\tud@len@logowidth]}%
\tud@savelayerbox{main@black}{\@tempa{TUD-black}}%
\tud@savelayerbox{main@HKS41}{\@tempa{TUD-blue}}%
\tud@savelayerbox{main@white}{\@tempa{TUD-white}}%
- \setlength\tud@mainlogoheight{\ht\tud@logo@main@black}%
- \global\tud@mainlogoheight=\tud@mainlogoheight%
+ \settoheight\tud@len@mainlogoheight{\tud@uselayerbox{main@black}}%
+ \global\tud@len@mainlogoheight=\tud@len@mainlogoheight%
\gdef\tud@mainlogo@wrn##1{%
\ifdim##1<\ta@bcor\relax%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The selected page layout means that the\MessageBreak%
logo of TUD extends beyond the printing area.\MessageBreak%
The inner margin is smaller than BCOR\MessageBreak%
@@ -2854,13 +4404,14 @@
\fi%
}%
\tud@headlogo@set%
- \tud@footlogo@set%
+ \@tud@footlogo@option@settrue%
+ \tud@footlogo@option@set%
\global\@tud@mainlogo@setfalse%
\fi%
}
\newcommand*\tud@mainlogo@use{%
\tud@mainlogo@wrn{%
- \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax%
+ \dimexpr\oddsidemargin+1in+\tud@len@logox-\tud@len@widemargin\relax%
}%
\tud@uselayerbox{main@\tud@head@logocolor}%
}
@@ -2868,28 +4419,28 @@
\tud@newlayerbox{head@HKS41}
\tud@newlayerbox{head@white}
\tud@newlayerbox{head@option}
-\newcommand*\@headlogo{}
-\newcommand*\@@headlogo{}
+\newcommand*\tud@headlogo@filename{}
+\newcommand*\tud@headlogo@fileoptions{}
\newcommand*\tud@headlogo@wrn{}
\newcommand*\headlogo[2][]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \def\@headlogo{#2}%
- \def\@@headlogo{#1}%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@headlogo@filename{#2}%
+ \renewcommand*\tud@headlogo@fileoptions{#1}%
\global\@tud@headlogo@option@settrue%
\global\@tud@footlogo@option@settrue%
\gdef\tud@headlogo@wrn{%
- \ClassWarning{\TUDClassName}{%
- The secondary logo `\string\headlogo{\@headlogo}' is\MessageBreak%
- overwritten with DDC logo. Maybe you should use\MessageBreak%
- `ddcfoot' or better `ddc' instead of `ddchead'%
+ \ClassWarning{\TUD@Class@Name}{%
+ Secondary logo `\string\headlogo{\tud@headlogo@filename}'\MessageBreak%
+ is overwritten with DDC logo. Maybe you should\MessageBreak%
+ use `ddcfoot' or better `ddc' instead of `ddchead'%
}%
\global\let\tud@headlogo@wrn\relax%
}%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
\newcommand*\tud@headlogo@set{%
\def\@tempa{%
- \includegraphics[keepaspectratio,totalheight=\tud@mainlogoheight]%
+ \includegraphics[keepaspectratio,totalheight=\tud@len@mainlogoheight]%
}%
\tud@savelayerbox{head@black}{\@tempa{DDC-24}}%
\tud@savelayerbox{head@HKS41}{\@tempa{DDC-27}}%
@@ -2901,39 +4452,44 @@
\def\@tempc##1##2{%
\tud@savelayerbox{head@option}{%
\includegraphics[%
- keepaspectratio,totalheight=\tud@mainlogoheight,##2%
- ]{\trim@spaces{##1}}%
+ keepaspectratio,totalheight=\tud@len@mainlogoheight,##2%
+ ]{##1}%
}%
}%
\tud@savelayerbox{head@option}{}%
\tud@ddc@check%
- \ifcase\@tempa\relax% \tud@ddc@head=false
- \ifdefvoid{\@headlogo}{}{%
- \protected@edef\@tempb{\noexpand\@tempc{\@headlogo}{\@@headlogo}}%
+ \ifcase\@tempa\relax% \tud@ddc@head@num=false
+ \ifdefvoid{\tud@headlogo@filename}{}{%
+ \protected@edef\tud@headlogo@filename{%
+ \expandafter\trim@spaces\expandafter{\tud@headlogo@filename}%
+ }%
+ \protected@edef\@tempb{%
+ \noexpand\@tempc{\tud@headlogo@filename}{\tud@headlogo@fileoptions}%
+ }%
\@tempb%
}%
- \or\or% \tud@ddc@head=color
+ \or\or% \tud@ddc@head@num=color
\@tempc{DDC-03}{}%
- \or% \tud@ddc@head=colorblack
+ \or% \tud@ddc@head@num=colorblack
\@tempc{DDC-09}{}%
- \or% \tud@ddc@head=gray
+ \or% \tud@ddc@head@num=gray
\@tempc{DDC-21}{}%
- \or% \tud@ddc@head=black
+ \or% \tud@ddc@head@num=black
\@tempc{DDC-24}{}%
- \or% \tud@ddc@head=blue
+ \or% \tud@ddc@head@num=blue
\@tempc{DDC-27}{}%
- \or% \tud@ddc@head=white
+ \or% \tud@ddc@head@num=white
\@tempc{DDC-30}{}%
\fi%
\global\@tud@headlogo@option@setfalse%
\fi%
}
\newcommand*\tud@headlogo@use{%
- \tud@vlayerbox{\tud@mainlogoheight}{%
+ \tud@vlayerbox{\tud@len@mainlogoheight}{%
\vss%
\hbox{%
\tud@ddc@check%
- \ifnum\@tempa=\@ne\relax% \tud@ddc@head=true
+ \ifnum\@tempa=\@ne\relax% \tud@ddc@head@num=true
\tud@uselayerbox{head@\tud@head@logocolor}%
\else%
\tud@uselayerbox{head@option}%
@@ -2941,9 +4497,9 @@
}%
\vss%
}{%
- The given `\string\headlogo{\@headlogo}' is too large.%
- }
- \ifdefvoid{\@headlogo}{}{%
+ The given `\string\headlogo{\tud@headlogo@filename}' is too large.%
+ }%
+ \ifdefvoid{\tud@headlogo@filename}{}{%
\tud@ddc@check%
\ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi%
}%
@@ -2952,95 +4508,89 @@
\tud@newlayerbox{foot@HKS41}
\tud@newlayerbox{foot@white}
\tud@newlayerbox{foot@option}
-\newlength\footlogoheight
-\newlength\tud@footlogoheight
-\newcommand*\tud@footlogoheight@set{%
- \ifdim\footlogoheight=\z@\relax%
- \tud@ifverlower{2.03}{%
- \setlength\tud@footlogoheight{.6\tud@dim@topmargin}%
+\AtEndOfClass{%
+ \ifdefvoid{\tud@dim@footlogoheight}{%
+ \tud@if@v@lower{2.03}{%
+ \def\tud@dim@footlogoheight{.6\tud@len@topmargin}%
}{%
- \setlength\tud@footlogoheight{\tud@mainlogoheight}%
+ \def\tud@dim@footlogoheight{\tud@len@mainlogoheight}%
}%
- \else%
- \ifdim\footlogoheight=\tud@footlogoheight\relax\else%
- \setlength\tud@footlogoheight{\footlogoheight}%
- \global\@tud@footlogo@option@settrue%
- \fi%
- \fi%
- \global\tud@footlogoheight=\tud@footlogoheight%
+ }{}%
}
\newcommand*\tud@footlogo@ddc@set[2]{%
- \tud@footlogoheight@set%
\tud@savelayerbox{foot@#1}{%
- \includegraphics[keepaspectratio,totalheight=\tud@footlogoheight]{#2}%
+ \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}%
}%
}
-\newcommand*\tud@footlogo@set{%
- \tud@footlogo@ddc@set{black}{DDC-22}%
- \tud@footlogo@ddc@set{HKS41}{DDC-25}%
- \tud@footlogo@ddc@set{white}{DDC-28}%
- \tud@footlogo@option@set%
-}
\newcommand*\tud@footlogo@option@set{%
\if@tud@footlogo@option@set%
+ \tud@footlogo@ddc@set{black}{DDC-22}%
+ \tud@footlogo@ddc@set{HKS41}{DDC-25}%
+ \tud@footlogo@ddc@set{white}{DDC-28}%
\tud@ddc@check%
- \ifcase\@tempb\relax\or\or% \tud@ddc@foot=color
+ \ifcase\@tempb\relax\or\or% \tud@ddc@foot@num=color
\tud@footlogo@ddc@set{option}{DDC-01}%
- \or% \tud@ddc@foot=colorblack
+ \or% \tud@ddc@foot@num=colorblack
\tud@footlogo@ddc@set{option}{DDC-07}%
- \or% \tud@ddc@foot=gray
+ \or% \tud@ddc@foot@num=gray
\tud@footlogo@ddc@set{option}{DDC-19}%
- \or% \tud@ddc@foot=black
+ \or% \tud@ddc@foot@num=black
\tud@footlogo@ddc@set{option}{DDC-22}%
- \or% \tud@ddc@foot=blue
+ \or% \tud@ddc@foot@num=blue
\tud@footlogo@ddc@set{option}{DDC-25}%
- \or% \tud@ddc@foot=white
+ \or% \tud@ddc@foot@num=white
\tud@footlogo@ddc@set{option}{DDC-28}%
\fi%
\global\@tud@footlogo@option@setfalse%
\fi%
}
-\newcommand*\tud@footlogo@ddc@use[1]{%
- \tud@vlayerbox{#1}{%
- \vss%
- \hbox{%
- \tud@ddc@check%
- \ifcase\@tempb\relax\or% \tud@ddc@foot=true
- \tud@uselayerbox{foot@\tud@foot@logocolor}%
- \else%
- \tud@uselayerbox{foot@option}%
- \fi%
+\newcommand*\tud@footlogo@ddc@use[2]{%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num=!false
+ \tud@footlogo@option@set%
+ \setbox\z@\hbox{%
+ \tud@vlayerbox{#1}{%
+ \vss%
+ \hbox to #2{%
+ \hss%
+ \ifcase\@tempb\relax\or% \tud@ddc@foot@num=true
+ \tud@uselayerbox{foot@\tud@foot@logocolor}%
+ \else%
+ \tud@uselayerbox{foot@option}%
+ \fi%
+ }%
+ \vss\vss%
+ }{%
+ 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%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
+ \fi%
+ }%
}%
- \vss\vss%
- }{%
- The `\string\footlogoheight' (\the\footlogoheight) is too\MessageBreak%
- high. You should reduce this length.%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \MessageBreak%
- Alternatively you can enlarge the bottom margin\MessageBreak%
- by using option `extrabottommargin'.%
- \fi%
- }%
+ \usebox\z@\hspace*{-\wd\z@}%
+ \fi%
}
\tud@newlayerbox{foot@cmd}
\newcommand*\footlogosep{\hfill}
-\newcommand*\@footlogo{}
-\newcommand*\@@footlogo{}
+\newcommand*\tud@footlogo@filenames{}
+\newcommand*\tud@footlogo@fileoptions{}
\newcommand*\footlogo[2][]{%
- \tud@ifverlower{2.04}{\tud@clearpage@iftudps}{}%
- \def\@footlogo{#2}%
- \def\@@footlogo{#1}%
+ \tud@comp@clearpage%
+ \renewcommand*\tud@footlogo@filenames{#2}%
+ \renewcommand*\tud@footlogo@fileoptions{#1}%
\global\@tud@footlogo@cmd@settrue%
- \tud@ifverlower{2.04}{\tud@pagestyle@iftudps}{}%
+ \tud@comp@resetpagestyle%
}
\newif\if@tud@footlogo@cmd@set
\newcommand*\tud@footlogo@cmd@set[2]{%
\if@tud@footlogo@cmd@set%
- \tud@footlogoheight@set%
\tud@savelayerbox{foot@cmd}{%
\hbox to #2{%
\let\@tempa\relax%
- \@for\@tempb:=\@footlogo\do{%
+ \@for\@tempb:=\tud@footlogo@filenames\do{%
\edef\@tempb{\expandafter\trim@spaces\expandafter{\@tempb}}%
\@tempa%
\ifx\@tempb\@empty\else%
@@ -3070,568 +4620,257 @@
\let\@tempc\relax%
\DeclareListParser{\@tempc}{:}%
\@tempc{#1}%
- \preto\@@footlogo{%
- keepaspectratio,totalheight=\tud@footlogoheight,%
+ \preto\tud@footlogo@fileoptions{%
+ keepaspectratio,totalheight=\tud@dim@footlogoheight,%
+ }%
+ \appto\tud@footlogo@fileoptions{\@tempb}%
+ \protected@edef\@tempc{%
+ \noexpand\includegraphics[\tud@footlogo@fileoptions]{\@tempa}%
}%
- \appto\@@footlogo{\@tempb}%
- \protected@edef\@tempc{\noexpand\includegraphics[\@@footlogo]{\@tempa}}%
\tud@vlayerbox{#2}{\vss\hbox{\@tempc}\vss\vss}{%
The given `\string\footlogo{\@tempa}' is too large.%
}%
\endgroup%
}
-\newcommand*\tud@footlogo@cmd@use{\tud@uselayerbox{foot@cmd}}%
-\newkomafont{tudheadings}{%
- \sffamily%
- \tud@color{\tud@foot@fontcolor}%
+\newcommand*\tud@footlogo@cmd@use[2]{%
+ \tud@footlogo@option@set%
+ \tud@footlogo@cmd@set{#1}{#2}%
+ \setbox\z@\hbox{\tud@uselayerbox{foot@cmd}}%
+ \usebox\z@\hspace*{-\wd\z@}%
}
-\newcommand*\tud@footcontent@font{}
+\newkomafont{tudheadings}{\tud@color{\tud@foot@fontcolor}}
+\newcommand*\tud@footcontent@fontface{}
\newcommand*\tud@footcontent@left{}
-\newcommand*\tud@footcontent@right{}
+\newcommand*\tud@footcontent@right{\@nil}
\newcommand*\footcontent{%
- \@ifstar{%
- \@tempswafalse%
- \@footcontent%
+ \kernel@ifstar{%
+ \renewcommand*\tud@footcontent@fontface{\usekomafont{tudheadings}}%
+ \tud@footcontent@do%
}{%
- \@tempswatrue%
- \@footcontent%
- }%
-}
-\newcommand*\@footcontent[2][]{%
- \kernel@ifnextchar[%]
- {\@@footcontent{#1}{#2}}%
- {\@@footcontent{#1}{#2}[\@nnil]}%
-}
-\newcommand*\@@footcontent{}
-\def\@@footcontent#1#2[#3]{%
- \if@tempswa%
- \def\tud@footcontent@font{%
+ \renewcommand*\tud@footcontent@fontface{%
\usekomafont{tudheadings}%
- \tud@divide\@tempa{\tud@head@font@size}{\f@size}%
- \linespread{\@tempa}%
+ \setlength\@tempdima{\tud@head@fontsize\p@}%
+ \fontsize{\tud@head@fontsize}{1.25\@tempdima}%
\selectfont%
- \tud@head@font@light%
- #1%
}%
- \else%
- \def\tud@footcontent@font{#1}%
+ \tud@footcontent@do%
+ }%
+}
+\newcommand*\tud@footcontent@do[2][]{%
+ \kernel@ifnextchar[%]
+ {\tud@footcontent@@do{#1}{#2}}%
+ {\tud@footcontent@@do{#1}{#2}[\@nil]}%
+}
+\newcommand*\tud@footcontent@@do{}
+\def\tud@footcontent@@do#1#2[#3]{%
+ \appto\tud@footcontent@fontface{#1\selectfont}%
+ \if\detokenize{*#2}\relax\else%
+ \renewcommand*\tud@footcontent@left{#2}%
+ \fi%
+ \if\detokenize{*#3}\relax\else%
+ \renewcommand*\tud@footcontent@right{#3}%
\fi%
- \def\tud@footcontent@left{#2}%
- \def\tud@footcontent@right{#3}%
}
\newcommand*\tud@footcontent@use[2]{%
- \tud@ddc@check%
- \ifcase\@tempb%
- \setlength\@tempdimc{\z@}%
- \else%
- \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
- \addtolength\@tempdimc{\columnsep}%
- \fi%
- \tud@vlayerbox{#1}{%
- \vss%
- \hbox to #2{%
- \tud@footcontent@font%
- \expandafter\ifx\tud@footcontent@right\@nnil\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%
- }%
+ \@tempswafalse%
+ \ifx\tud@footcontent@left\@empty\relax%
+ \def\@tempa{\@nil}%
+ \ifx\@tempa\tud@footcontent@right\relax\else%
+ \ifx\tud@footcontent@right\@empty\relax\else%
+ \@tempswatrue%
\fi%
- \hss%
- }%
- \vss\vss%
- }{%
- The content for the footer (`\string\footcontent')\MessageBreak%
- is too high. You should either reduce the content or\MessageBreak%
- lower the fontsize via the optional argument.%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \MessageBreak%
- Alternatively you can enlarge the bottom margin\MessageBreak%
- by using option `extrabottommargin'.%
\fi%
- }%
-}
-\AtEndPreamble{%
- \@ifpackageloaded{geometry}{}{%
- \def\tud@geometry@process{\tud@geometry@set}%
- \let\tud@BeforeSelectAnyPageStyle\@gobble%
- }%
-}
-\tud@ifsacrop{%
- \PreventPackageFromLoading{geometry}%
-}{%
- \RequirePackage{geometry}[2010/09/12]%
- \newcommand*\tud@geometry@hmargin{}%
- \newcommand*\tud@geometry@vmargin{}%
- \newcommand*\tud@geometry@tudmargin{}%
- \tud@ifverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{}%
- \newcommand*\tud@newgeometry[1]{%
- \if@atdocument%
- \edef\@tempa{#1}%
- \expandafter\newgeometry\expandafter{#1}%
+ \else%
+ \@tempswatrue%
+ \fi%
+ \if@tempswa%
+ \tud@ddc@check%
+ \ifcase\@tempb\relax%
+ \setlength\@tempdimc{\z@}%
\else%
- \edef\@tempa{paperwidth=\the\paperwidth,paperheight=\the\paperheight,#1}%
- \expandafter\geometry\expandafter{\@tempa}%
+ \settowidth\@tempdimc{\tud@uselayerbox{foot@black}}%
+ \addtolength\@tempdimc{\columnsep}%
\fi%
- }%
- \newcommand*\tud@geometry@process{%
- \tud@geometry@set%
- \ifcase\tud@geometry\relax% false
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax%
- }%
- \ifdim\tud@ta@headdiff<\z@\relax%
- \addtolength\tud@dim@headsep{-\tud@ta@headdiff}%
- \fi%
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\dimexpr\oddsidemargin+1in-\ta@bcor\relax,%
- textwidth=\the\textwidth,%
- \tud@geometry@mpincl,%
- marginparwidth=\the\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,%
- \if@reversemargin%
- reversemarginpar=true,%
- \if@twoside%
- marginparwidth=\the\dimexpr\oddsidemargin+1in%
- -\tud@ta@headsep\relax,%
- \fi%
- \else%
- reversemarginpar=false,%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \edef\tud@geometry@vmargin{%
- \if@hincl%
- includehead=true,%
- top=\the\dimexpr\tud@ta@topmargin+1in\relax,%
+ \tud@vlayerbox{#1}{%
+ \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%
- includehead=false,%
- top=\the\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep%
- +1in\relax,%
- \fi%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@ta@headsep,%
- textheight=\the\tud@ta@textheight,%
- \tud@geometry@fincl,%
- footskip=\the\tud@ta@footskip%
- }%
- \ifdim\tud@ta@headdiff<\z@\relax%
- \setlength\@tempdima{\z@}%
- \else%
- \setlength\@tempdima{\tud@ta@headdiff}%
- \fi%
- \edef\tud@geometry@tudmargin{%
- top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\the\tud@dim@headsep,%
- textheight=\the\dimexpr\tud@ta@textheight-\@tempdima\relax,%
- ignorehead%
- }%
- \tud@ifverlower{2.03}{%
- \setlength\tud@dim@ddcdiff{%
- \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep%
- +\tud@ta@footheight-1.25\baselineskip\relax%
- }%
- \edef\tud@geometry@ddcmargin{%
- textheight=\the\dimexpr\tud@ta@textheight-\tud@ta@headdiff%
- -\tud@dim@ddcdiff\relax,%
- footskip=\the\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax%
- }%
- }{}%
- \ifdim\tud@dim@extrabottommargin=\z@\relax\else%
- \ClassWarning{\TUDClassName}{%
- Option `extrabottommargin' is ineffective when\MessageBreak%
- package typearea is used (`cdgeometry=no')%
- }%
- \fi%
- \else% true/symmetric/twoside
- \ifcase\tud@geometry\or% true
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\tud@dim@widemargin,%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \if@twoside asymmetric,\fi%
- \tud@geometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- marginparwidth=\the\dimexpr\tud@dim@widemargin%
- -\tud@ta@headsep\relax,%
- \else%
- reversemarginpar=false,%
- marginparwidth=\the\dimexpr\tud@dim@slimmargin%
- -\tud@ta@headsep\relax,%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \or% symmetric
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- left=\the\dimexpr.5\tud@dim@both\relax,%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \tud@geometry@mpincl,%
- \if@reversemargin%
- reversemarginpar=true,%
- \else%
- reversemarginpar=false,%
- \fi%
- marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \or% twoside
- \edef\tud@geometry@hmargin{%
- bindingoffset=\the\ta@bcor,%
- \if@twoside%
- left=\the\dimexpr.4\tud@dim@both\relax,%
- twoside,%
- \else%
- left=\the\dimexpr.5\tud@dim@both\relax,%
- \fi%
- textwidth=\the\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,%
- \tud@geometry@mpincl,%
- marginparwidth=\the\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,%
- \if@reversemargin%
- reversemarginpar=true,%
- \if@twoside%
- marginparwidth=\the\dimexpr.4\tud@dim@both%
- -\tud@ta@headsep\relax,%
- \fi%
- \else%
- reversemarginpar=false,%
- \if@twoside%
- marginparwidth=\the\dimexpr.6\tud@dim@both%
- -\tud@ta@headsep\relax,%
- \fi%
- \fi%
- marginparsep=\the\dimexpr.5\tud@ta@headsep\relax%
- }%
- \fi%
- \tud@ifverlower{2.03}{%
- \edef\tud@geometry@vmargin{%
- top=\the\dimexpr.5\tud@dim@both\relax,%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@dim@headsep,%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,%
- footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip\relax,%
- \tud@geometry@hincl,%
- \tud@geometry@fincl%
- }%
- }{%
- \edef\tud@geometry@vmargin{%
- top=\the\tud@dim@slimmargin,%
- headheight=\the\tud@ta@headheight,%
- headsep=\the\tud@ta@headsep,%
- bottom=\the\dimexpr\tud@dim@widemargin%
- +\tud@dim@extrabottommargin\relax,%
- footskip=\the\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,%
- \tud@geometry@hincl,%
- \tud@geometry@fincl%
- }%
- }%
- \edef\tud@geometry@tudmargin{%
- top=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax,%
- headheight=\the\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- -\tud@dim@logoy\relax,%
- headsep=\the\tud@dim@headsep,%
- ignorehead%
- }%
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -\tud@dim@slimmargin\relax%
- }%
- \tud@ifverlower{2.03}{%
- \setlength\tud@ta@headdiff{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep%
- -.5\tud@dim@both\relax%
- }%
- \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}%
- \edef\tud@geometry@ddcmargin{%
- \if@fincl%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
- +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip\relax,%
- \else%
- bottom=\the\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin%
- +\tud@dim@ddcdiff\relax,%
- \fi%
- footskip=\the\dimexpr\tud@dim@headsep+\tud@ta@footheight%
- -1.25\baselineskip+\tud@dim@ddcdiff\relax,%
- }%
- }{}%
- \fi%
- \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi%
- \global\tud@ta@headdiff=\tud@ta@headdiff%
- \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}%
- \global\tud@dim@headingsvskip=\tud@dim@headingsvskip%
- \tud@ifverlower{2.03}{%
- \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi%
- \global\tud@dim@ddcdiff=\tud@dim@ddcdiff%
- }{}%
- \tud@geometry@@process%
- }%
- \newcommand*\tud@geometry@@process{%
- \edef\Gm@restore@org{\Gm@restore}%
- \tud@ifverlower{2.03}{%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin,%
- \tud@geometry@ddcmargin,%
- ignorehead,ignorefoot%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{tudareaddc}%
- }{}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin,%
- \tud@geometry@tudmargin%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{tudarea}%
- \edef\@tempa{%
- \tud@geometry@hmargin,%
- \tud@geometry@vmargin%
- }%
- \tud@newgeometry{\@tempa}%
- \savegeometry{typearea}%
- }%
- \newcommand*\tud@geometry@hincl{%
- \if@hincl%
- includehead=true%
- \else%
- includehead=false%
- \fi%
- }%
- \newcommand*\tud@geometry@fincl{%
- \if@fincl%
- includefoot=true%
- \else%
- includefoot=false%
- \fi%
- }%
- \newcommand*\tud@geometry@mpincl{%
- \if@mincl%
- includemp=true%
- \else%
- includemp=false%
- \fi%
- }%
-}
-\newcommand*\tud@currentgeometry{}
-\newcommand*\tud@BeforeSelectAnyPageStyle[1]{%
- \ifstr{#1}{\GetRealPageStyle{#1}}{%
- \tud@iftudps{#1}{%
- \tud@ifverlower{2.03}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax% \tud@ddc@foot=false
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2\relax%
+ \strut\ignorespaces\tud@footcontent@left\strut%
}%
- \else% \tud@ddc@foot!=false
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \loadgeometry{tudareaddc}%
- \gdef\tud@currentgeometry{tudareaddc}%
+ \hspace{\columnsep}%
+ \vtop{%
+ \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax%
+ \strut\ignorespaces\tud@footcontent@right\strut%
}%
\fi%
- }{%
- \ifstr{\tud@currentgeometry}{tudarea}{}{%
- \loadgeometry{tudarea}%
- \gdef\tud@currentgeometry{tudarea}%
- }%
+ \hss%
}%
- \setlength\tud@dim@headdiff{\z@}%
- \tud@font@koma@set{pagefoot}{\usekomafont{tudheadings}}%
- \tud@font@koma@set{pagenumber}{\usekomafont{tudheadings}}%
+ \vss\vss%
}{%
- \ifstr{\tud@currentgeometry}{typearea}{}{%
- \loadgeometry{typearea}%
- \gdef\tud@currentgeometry{typearea}%
- }%
- \setlength\tud@dim@headdiff{\tud@ta@headdiff}%
- \ifcase\tud@geometry\relax\else% true/symmetric/twoside
- \if@hincl%
- \addtolength\tud@dim@headdiff{%
- \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax%
- }%
- \fi%
+ The content for the footer (`\string\footcontent')\MessageBreak%
+ is too high. You should either reduce the content\MessageBreak%
+ or lower the fontsize via the optional argument.%
+ \ifnum\tud@cdgeometry@num>\@ne% true/symmetric/twoside
+ \MessageBreak%
+ Alternatively you can enlarge the bottom margin\MessageBreak%
+ by using option `extrabottommargin'.%
\fi%
- \tud@font@koma@unset{pagefoot}%
- \tud@font@koma@unset{pagenumber}%
}%
- \global\tud@dim@headdiff=\tud@dim@headdiff%
- }{}%
-}
-\patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}}
-\patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}}
-\patchcmd{\cleardoublepageusingstyle}{\pagestyle}{%
- \let\tud@BeforeSelectAnyPageStyle\@gobble\pagestyle%
-}{}{\tud@patch@wrn{cleardoublepageusingstyle}}
-\tud@ifverlower{2.03}{%
- \newcommand*\tud@ddc@enlargepage[1][]{%
- \tud@iftudps{#1}{%
- \ifstr{\tud@currentgeometry}{tudareaddc}{}{%
- \tud@ddc@check%
- \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
- \enlargethispage{-\tud@dim@ddcdiff}%
- \fi%
- }%
- }{}%
- }%
-}{}
-\newlength\tud@ta@textheight
-\newlength\tud@ta@topmargin
-\newlength\tud@ta@headheight
-\newlength\tud@ta@headsep
-\newlength\tud@ta@footheight
-\newlength\tud@ta@footskip
-\newlength\tud@ta@headdiff
-\newcommand*\tud@AfterChangingArea{%
- \setlength\tud@ta@textheight{\textheight}%
- \setlength\tud@ta@topmargin{\topmargin}%
- \setlength\tud@ta@headheight{\headheight}%
- \setlength\tud@ta@headsep{\headsep}%
- \ifcsvoid{ta@fh}{%
- \setlength\tud@ta@footheight{\footheight}%
- }{%
- \setlength\tud@ta@footheight{\ta@fh}%
- }%
- \setlength\tud@ta@footskip{\footskip}%
- \tud@geometry@process%
- \global\@tud@mainlogo@settrue%
- \gdef\tud@currentgeometry{}%
- \expandafter\pagestyle\expandafter{\currentpagestyle}%
+ \else%
+ \hbox to #2{}%
+ \fi%
}
-\AtEndPreamble{%
- \tud@ifsacrop{}{%
- \AfterCalculatingTypearea{\tud@AfterChangingArea}%
- \AfterSettingArea{\tud@AfterChangingArea}%
- \BeforeSelectAnyPageStyle{\tud@BeforeSelectAnyPageStyle{#1}}%
- \recalctypearea%
- }%
+\newcommand*\tud@ps@parameters[1]{%
+ \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}%
+ \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}%
+ \TUD@parameter@def{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
+ \TUD@parameter@def{headlogo}{\headlogo{#1}}%
+ \TUD@parameter@def{footlogo}{\footlogo{#1}}%
+ \TUD@parameter@def{ddc}[true]{\TUDoption{ddc}{#1}}%
+ \TUD@parameter@def{ddchead}[true]{\TUDoption{ddchead}{#1}}%
+ \TUD@parameter@def{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
+ \TUD@parameter@def{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
+ \TUD@parameter@def{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
+ \TUD@parameter@def{barfont}[true]{\TUDoption{barfont}{#1}}%
+ \TUD@parameter@def{widehead}[true]{\TUDoption{widehead}{#1}}%
+ \TUD@parameter@def{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
+ \TUD@parameter@let{logo}{headlogo}%
}
-\newcommand*\tud@ps{tudheadings}
-\newcommand*\tud@ps@select{%
- \expandafter\pagestyle\expandafter{\tud@ps}%
- \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{%
+\newcommand*\tud@envir@ps{tudheadings}
+\newcommand*\tud@envir@selectps{%
+ \expandafter\pagestyle\expandafter{\tud@envir@ps}%
+ \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty}{%
\renewcommand*\titlepagestyle{empty}%
\renewcommand*\partpagestyle{empty}%
\renewcommand*\chapterpagestyle{empty}%
\renewcommand*\indexpagestyle{empty}%
}{}%
- \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{%
+ \ifstr{\GetRealPageStyle{\tud@envir@ps}}{empty.tudheadings}{%
\renewcommand*\titlepagestyle{empty.tudheadings}%
\renewcommand*\partpagestyle{empty.tudheadings}%
\renewcommand*\chapterpagestyle{empty.tudheadings}%
\renewcommand*\indexpagestyle{empty.tudheadings}%
}{}%
}
-\newcommand*\tud@currentpagestyle{}
+\newcommand*\tud@currentpagestyle@value{}
\newcommand*\tud@currentpagestyle@set{%
- \ifdefvoid{\tud@currentpagestyle}{%
- \xdef\tud@currentpagestyle{\currentpagestyle}%
+ \ifdefvoid{\tud@currentpagestyle@value}{%
+ \xdef\tud@currentpagestyle@value{\currentpagestyle}%
}{}%
}
\newcommand*\tud@currentpagestyle@reset{%
- \ifdefvoid{\tud@currentpagestyle}{}{%
- \expandafter\pagestyle\expandafter{\tud@currentpagestyle}%
- \let\tud@currentpagestyle\relax%
+ \ifdefvoid{\tud@currentpagestyle@value}{}{%
+ \expandafter\pagestyle\expandafter{\tud@currentpagestyle@value}%
+ \let\tud@currentpagestyle@value\relax%
}%
}
\NewEnviron{tudpage}[1][]{%
\tud@currentpagestyle@set%
\clearpage%
- \def\tud@ps{tudheadings}%
+ \def\tud@envir@ps{tudheadings}%
\TUD@parameter@set{tudpage}{#1}%
- \tud@ps@select%
- \tud@multicols@check%
- \ifnum\tud@multicols>\@ne\relax%
- \begin{multicols}{\tud@multicols}%
+ \tud@envir@selectps%
+ \tud@x@multicol@check%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \begin{multicols}{\tud@x@multicol@num}%
\fi%
\BODY%
- \ifnum\tud@multicols>\@ne\relax%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
\end{multicols}%
\fi%
}[%
\aftergroup\tud@currentpagestyle@reset%
\clearpage%
]
-\newcommand*\TUD@parameter@define@ps[1]{%
- \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}%
- \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}%
- \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}%
- \TUD@parameter@define{headlogo}{\headlogo{#1}}%
- \TUD@parameter@define{footlogo}{\footlogo{#1}}%
- \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}%
- \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}%
- \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}%
- \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}%
- \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}%
- \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}%
- \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}%
- \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}%
- \TUD@parameter@let{logo}{headlogo}%
-}
-\TUD@parameter{tudpage}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{%
- \tud@iftudps{#1}{\renewcommand*\tud@ps{#1}}{%
- \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{%
- \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{%
- \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{%
+\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{pagestyle}{%
+ \tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{%
+ \ifstr{#1}{empty}{\renewcommand*\tud@envir@ps{empty.tudheadings}}{%
+ \ifstr{#1}{plain}{\renewcommand*\tud@envir@ps{plain.tudheadings}}{%
+ \ifstr{#1}{headings}{\renewcommand*\tud@envir@ps{tudheadings}}{%
\TUD@parameter@error{pagestyle}{%
headings, plain, empty or any tudheadings page style type%
}%
}}}%
}%
}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@default{}%
}
%%% 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%
+ }%
+ }%
+ \KOMAoptionOf[\def\@tempb]{\KOMAClassFileName}{headings}%
+ \@for\@tempc:=\@tempb\do{%
+ \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}}{}}}}%
+ }%
+}
+\AtEndPreamble{\tud@x@scr@headings@set}
+\newcommand*\tud@x@scr@headings@reset{%
+ \tud@layout@process%
+ \tud@x@scr@headings@set[%
+ \ifcase\tud@layout@part@num\relax\else% !false
+ \tud@font@koma@reset{part}%
+ \tud@font@koma@reset{partnumber}%
+ \fi%
+ \ifcase\tud@layout@chapter@num\relax\else% !false
+ \tud@font@koma@reset{chapter}%
+ \tud@font@koma@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}%
+ \fi%
+ ]%
+}
+\newcommand*\tud@title@fontcolor{}
\newcommand*\tud@part@fontcolor{}
\newcommand*\tud@chapter@fontcolor{}
+\newcommand*\tud@section@fontcolor{}
+\providecommand*\raggedtitle{\tud@raggedright}
\newkomafont{parttitle}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
\usesizeofkomafont{section}%
}
-\newlength\pageheadingsvskip
-\newlength\headingsvskip
-\newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}}
-\newcommand*\tud@headmidvskip@neg{%
- \setbox\z@\vbox{\tud@headmidvskip}%
+\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@layout@process{%
- \ifcase\tud@layout@cover\relax% false
- \bool@std@lock{@tud@cover@cdgeometry}{false}%
+ \ifcase\tud@layout@cover@num\relax% false
+ \bool@std@lock{@tud@cdgeometry@cover}{false}%
\else% !false
- \bool@std@lock{@tud@cover@cdgeometry}{true}%
+ \bool@std@lock{@tud@cdgeometry@cover}{true}%
\fi%
- \ifcase\tud@layout@title\relax% false
- \tud@cmd@restore{maketitle}%
- \tud@cmd@restore{@maketitle}%
+ \ifcase\tud@layout@title@num\relax% false
\tud@cmd@restore{titlepagestyle}%
\tud@font@koma@unset{titlehead}%
\tud@font@koma@unset{title}%
@@ -3641,34 +4880,36 @@
\tud@font@koma@unset{date}%
\tud@font@koma@unset{publishers}%
\else% !false
- \tud@cmd@store{maketitle}%
- \tud@cmd@store{@maketitle}%
\tud@cmd@store{titlepagestyle}%
+ \renewcommand*\titlepagestyle{plain.tudheadings}%
\tud@font@koma@set{titlehead}{\usekomafont{titlepage}}%
\tud@font@koma@set{title}{%
+ \raggedtitle%
\usekomafont{disposition}%
- \tud@font@heading%
- \tud@font@heading@size%
+ \tud@sec@fontface%
+ \tud@sec@fontsize%
\tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subtitle}{%
- \tud@font@heading%
+ \raggedtitle%
+ \ifstr{\mddefault}{l}{%
+ \tud@sec@fontface[\fontseries{m}]%
+ }{%
+ \tud@sec@fontface[\fontseries{bx}]%
+ }%
\usesizeofkomafont{section}%
\tud@color{\tud@title@fontcolor}%
}%
\tud@font@koma@set{subject}{%
- \fontfamily{\sfdefault}%
- \fontseries{\bfdefault}%
- \selectfont%
+ \sffamily%
+ \bfseries%
\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}}%
- \let\maketitle\tud@maketitle%
- \renewcommand*\titlepagestyle{plain.tudheadings}%
\fi%
- \ifcase\tud@layout@part\relax% false
+ \ifcase\tud@layout@part@num\relax% false
\tud@cmd@restore{partheadstartvskip}%
\tud@cmd@restore{partheadendvskip}%
\tud@cmd@restore{partheademptypage}%
@@ -3682,44 +4923,44 @@
}%
\tud@sectioning@reset[addpart]{part}%
\tud@font@koma@unset{partnumber}%
+ \tud@cmd@restore{raggedpart}%
\else% !false
\tud@cmd@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}%
+ \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[addpart]{part}{\usekomafont{parttitle}}%
\tud@font@koma@set{partnumber}{\usekomafont{parttitle}}%
\else%
\tud@sectioning@set[addpart]{part}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
}%
\tud@font@koma@set{partnumber}{%
- \tud@font@heading%
+ \tud@sec@fontface%
\tud@color{\tud@part@fontcolor}%
}%
\fi%
- \let\partheadstartvskip\tud@partheadstartvskip%
- \let\partheadendvskip\tud@partheadendvskip%
- \let\partheademptypage\relax%
- \renewcommand*\partpagestyle{plain.tudheadings}%
- \ifcsdef{scr@v@3.18}{%
- \let\scr@@startpart\tud@@startpart%
- \let\scr@@startspart\tud@@startspart%
- }{%
- \let\@part\tud@@part%
- \let\@spart\tud@@spart%
- }%
+ \tud@cmd@store{raggedpart}%
+ \renewcommand*\raggedpart{\tud@raggedright}%
\fi%
- \ifcase\tud@layout@chapter\relax% false
+ \ifcase\tud@layout@chapter@num\relax% false
\tud@cmd@restore{chapterheadstartvskip}%
\tud@cmd@restore{chapterformat}%
\tud@cmd@restore{@chapter}%
@@ -3731,36 +4972,66 @@
}%
\tud@sectioning@reset[addchap]{chapter}%
\tud@font@koma@unset{chapterprefix}%
- \tud@sectioning@reset[addsec]{section}%
- \tud@sectioning@reset{subsection}%
- \tud@sectioning@reset{subsubsection}%
- \tud@sectioning@reset{minisec}%
+ \tud@cmd@restore{raggedchapter}%
\else% !false
\tud@cmd@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[addchap]{chapter}{%
- \tud@font@heading%
- \tud@font@heading@size%
+ \tud@sec@fontface%
+ \tud@sec@fontsize%
\tud@color{\tud@chapter@fontcolor}%
}%
\tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}%
- \tud@sectioning@set[addsec]{section}{\tud@font@heading}%
- \tud@sectioning@set{subsection}{\tud@font@heading}%
- \tud@sectioning@set{subsubsection}{\tud@font@heading}%
- \tud@sectioning@set{minisec}{\tud@font@heading}%
- \let\chapterheadstartvskip\tud@chapterheadstartvskip%
- \ifcsdef{scr@v@3.18}{%
- \let\scr@@makechapterhead\tud@@@makechapterhead%
- }{%
- \let\@@makechapterhead\tud@@@makechapterhead%
+ \tud@cmd@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}%
+ \else% !false
+ \renewcommand*\tud@section@fontcolor{}%
+ \ifcase\tud@layout@section@num\relax\or\else% *color
+ \renewcommand*\tud@section@fontcolor{HKS41}%
+ \fi%
+ \tud@sectioning@set[addsec]{section}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subsubsection}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{minisec}{%
+ \tud@sec@fontface%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
}%
+ \tud@sectioning@set{paragraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@sectioning@set{subparagraph}{%
+ \ifstr{\tud@pagecolor}{HKS41}{}{\tud@color{\tud@section@fontcolor}}%
+ }%
+ \tud@cmd@store{raggedsection}%
+ \renewcommand*\raggedsection{\tud@raggedright}%
\fi%
}
\newcommand*\tud@layout@specialpage@set[1]{%
@@ -3779,33 +5050,33 @@
\tud@cmd@restore{footnoterule}%
}
\newcommand*\tud@partheadstartvskip{%
- \def\tud@part@fontcolor{}% false/true
- \ifcase\tud@layout@part\relax\or\or% litecolor
- \def\tud@part@fontcolor{HKS41}%
+ \renewcommand*\tud@part@fontcolor{}% false/true
+ \ifcase\tud@layout@part@num\relax\or\or% litecolor
+ \renewcommand*\tud@part@fontcolor{HKS41}%
\or% barcolor
- \def\tud@part@fontcolor{HKS41}%
+ \renewcommand*\tud@part@fontcolor{HKS41}%
\or% bicolor
- \def\tud@part@fontcolor{HKS41}%
+ \renewcommand*\tud@part@fontcolor{HKS41}%
\or% color
- \def\tud@part@fontcolor{HKS41!30}%
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
\or% full
- \def\tud@part@fontcolor{HKS41!30}%
+ \renewcommand*\tud@part@fontcolor{HKS41!30}%
\fi%
\tud@layout@specialpage@set{part}%
\begingroup%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\pageheadingsvskip}%
+ \TUD@len@deprecated{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\if@tud@parttitle%
\begingroup%
- \tud@font@heading%
- \tud@font@heading@size%
+ \tud@sec@fontface%
+ \tud@sec@fontsize%
\tud@color{\tud@part@fontcolor}%
\ifx\@@title\@empty%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
You activated the option `parttitle' but\MessageBreak%
no title was given%
}%
@@ -3817,27 +5088,27 @@
{\usekomafont{titlepage}{\vskip 2ex\@plus1ex\@minus1ex}}%
\endgroup%
\else%
- \usekomafont{partnumber}{\tud@headmidvskip@neg}%
+ \usekomafont{partnumber}{\tud@headmidvskip@reverse}%
\fi%
\endgroup%
}
\newcommand*\tud@partheadendvskip{%
\tud@cleardoublespecialpage{%
- \def\tud@pagecolor{}%
- \ifcase\tud@layout@part\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \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}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{1}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% full
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{3}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
\addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
\addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
@@ -3845,8 +5116,7 @@
}%
\tud@layout@specialpage@unset%
}
-\@tempswafalse
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
\if@tempswa
\newcommand*\tud@@startpart{}%
\let\tud@@startpart\scr@@startpart%
@@ -3856,7 +5126,7 @@
\ifnumbered{#1}{%
\usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}%
\setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip
+ \partheadmidvskip%
}{}%
}{%
\ifnumbered{#1}{%
@@ -3864,21 +5134,21 @@
\if@tud@parttitle%
\enskip%
\else%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}{%
\if@tud@parttitle\else%
\usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}%
- }{}{\tud@patch@wrn{scr@startpart}}%
+ }{}{\tud@patch@wrn{scr@@startpart}}%
\else%
\patchcmd{\tud@@startpart}{%
\ifnumbered{#1}{%
\usekomafont{#1prefix}{\@nameuse{#1format}}%
\setlength{\@tempskipa}{\@nameuse{scr@#1@innerskip}}%
- \partheadmidvskip
+ \partheadmidvskip%
}{}%
}{%
\ifnumbered{#1}{%
@@ -3886,15 +5156,15 @@
\if@tud@parttitle%
\enskip%
\else%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}{%
\if@tud@parttitle\else%
\usekomafont{#1prefix}{\vphantom{\partname}}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}%
- }{}{\tud@patch@wrn{scr@startpart}}%
+ }{}{\tud@patch@wrn{scr@@startpart}}%
\fi%
\newcommand*\tud@@startspart{}%
\let\tud@@startspart\scr@@startspart%
@@ -3905,12 +5175,12 @@
\normalfont\sectfont\nobreak%
\if@tud@parttitle\else%
\size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip\nobreak%
+ \tud@headmidvskip@normal\nobreak%
\fi%
}{}{\tud@patch@wrn{scr@@startspart}}%
\else
\newcommand*\tud@@part{}%
- \let\tud@@part\@part
+ \let\tud@@part\@part%
\patchcmd{\tud@@part}{%
\ifnumbered{part}{%
\size@partnumber{\partformat}%
@@ -3923,17 +5193,17 @@
\if@tud@parttitle%
\enskip%
\else%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}{%
\if@tud@parttitle\else%
\size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
\fi%
}%
}{}{\tud@patch@wrn{@part}}%
\newcommand*\tud@@spart{}%
- \let\tud@@spart\@spart
+ \let\tud@@spart\@spart%
\patchcmd{\tud@@spart}{%
\normalfont
\sectfont\nobreak\size@part
@@ -3941,78 +5211,87 @@
\normalfont\sectfont\nobreak%
\if@tud@parttitle\else%
\size@partnumber{\vphantom{\partname}}%
- \tud@headmidvskip\nobreak%
+ \tud@headmidvskip@normal\nobreak%
\fi%
\size@part%
- }{}{\tud@patch@wrn{@spart}}
+ }{}{\tud@patch@wrn{@spart}}%
\fi
\newcommand*\tud@partpreamble{%
- \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap
+ \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap
+ \renewcommand*\tud@abstract@level@num{1}%
+ \fi%
\KOMAoptions{titlepage=false}%
\addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}%
- \addtokomafont{dictumtext}{\tud@color{\tud@part@fontcolor}}%
+ \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}%
\tud@color{\tud@part@fontcolor}%
\vskip\dimexpr\topskip+.9\baselineskip\relax%
\@afterindentfalse\@afterheading%
}
\newcommand*\tud@chapterheadstartvskip{%
- \def\tud@chapter@fontcolor{}%
- \ifcase\tud@layout@chapter\relax\or\else% *color
- \def\tud@chapter@fontcolor{HKS41}%
+ \renewcommand*\tud@chapter@fontcolor{}%
+ \ifcase\tud@layout@chapter@num\relax\or\else% *color
+ \renewcommand*\tud@chapter@fontcolor{HKS41}%
\fi%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip\relax%
}%
\if@tud@chapterpage%
- \vspace*{\pageheadingsvskip}%
+ \TUD@len@deprecated{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
\else%
- \vspace*{\headingsvskip}%
+ \TUD@len@deprecated{headingsvskip}%
+ \vspace*{\tud@dim@headingsvskip}%
\fi%
-}%
-\@tempswafalse
-\ifcsdef{scr@v@3.18}{\@tempswatrue}{}%
+}
+\newcommand*\tud@@makechapterhead{}%
+\ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse}
\if@tempswa
- \newcommand*\tud@@@makechapterhead{}
- \let\tud@@@makechapterhead\scr@@makechapterhead
- \patchcmd{\tud@@@makechapterhead}{%
+ \let\tud@@makechapterhead\scr@@makechapterhead%
+ \patchcmd{\tud@@makechapterhead}{%
\csname #1format\endcsname%
\setlength{\@tempskipa}{\csname scr@#1@innerskip\endcsname}%
\chapterheadmidvskip
}{%
- \tud@headmidvskip@neg%
+ \tud@headmidvskip@reverse%
\vskip-\parskip%
\tud@makeuppercase{\csname #1format\endcsname}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
}{}{\tud@patch@wrn{scr@@makechapterhead}}%
\else
- \newcommand*\tud@@@makechapterhead{}
- \let\tud@@@makechapterhead\@@makechapterhead
- \patchcmd{\tud@@@makechapterhead}{%
+ \let\tud@@makechapterhead\@@makechapterhead%
+ \patchcmd{\tud@@makechapterhead}{%
\chapterformat
\setlength{\@tempskipa}{\scr@chapter@innerskip}%
\chapterheadmidvskip
}{%
- \tud@headmidvskip@neg%
+ \tud@headmidvskip@reverse%
\vskip-\parskip%
\tud@makeuppercase{\chapterformat}%
- \tud@headmidvskip%
+ \tud@headmidvskip@normal%
}{}{\tud@patch@wrn{@@makechapterhead}}%
\fi
\newcommand*\tud@chapterpreamble{%
- \ifnum\tud@abstract@level>\@ne\relax\def\tud@abstract@level{1}\fi% sec/chap
+ \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap
+ \renewcommand*\tud@abstract@level@num{1}%
+ \fi%
\KOMAoptions{titlepage=false}%
\if@tud@chapterpage%
- \ifcase\tud@cdfont\relax\or% true
+ \ifcase\tud@cdfont@num\relax\or% true
\TUDoptions{cdfont=true}%
\or% heavy
\TUDoptions{cdfont=heavy}%
\fi%
\addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}%
- \addtokomafont{dictumtext}{\tud@color{\tud@chapter@fontcolor}}%
+ \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}%
\tud@color{\tud@chapter@fontcolor}%
\fi%
\@afterindentfalse\@afterheading%
}
+\CheckCommand\set@@@@preamble[6]{%
+ \expandafter\gdef\csname #1@preamble\endcsname{%
+ \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
+ }%
+}
\patchcmd{\set@@@@preamble}{%
\hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}%
}{%
@@ -4032,29 +5311,29 @@
\tud@layout@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@head@bar@store{}
+\let\tud@head@bar@store\relax
+\newcommand*\tud@head@bar@restore{}
+\let\tud@head@bar@restore\relax
\newcommand*\tud@chapter@app{%
\if@tud@chapterpage%
\tud@cleardoublespecialpage{%
- \def\tud@pagecolor{}%
+ \renewcommand*\tud@pagecolor{}%
\let\tud@foot@fontcolor\tud@chapter@fontcolor%
- \ifcase\tud@layout@chapter\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \ifcase\tud@layout@chapter@num\relax\or% true
+ \cs@std@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \def\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar}{1}%
+ \renewcommand*\tud@pagecolor{HKS41!10}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% fullcolor
- \def\tud@pagecolor{HKS41!10}%
- \cs@set@lock{tud@head@bar}{3}%
+ \renewcommand*\tud@pagecolor{HKS41!10}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
\addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
\addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
@@ -4063,33 +5342,33 @@
\tud@layout@specialpage@unset%
\if@restonecol\twocolumn\fi%
\else%
- \edef\tud@head@bar@store{\tud@head@bar}%
+ \edef\tud@head@bar@store{\tud@head@bar@num}%
\edef\tud@head@bar@restore{%
- \gdef\noexpand\tud@head@bar{\tud@head@bar@store}%
+ \gdef\noexpand\tud@head@bar@num{\tud@head@bar@store}%
\global\let\noexpand\tud@head@bar@store\relax%
\global\let\noexpand\tud@head@bar@restore\relax%
}%
- \ifcase\tud@layout@chapter\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \ifcase\tud@layout@chapter@num\relax\or% true
+ \cs@std@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% fullcolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}%
\fi%
\if@twocolumn%
\@afterindentfalse\@afterheading%
\fi%
}
\newcommand*\tud@clearcolor@wrn{%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Option `clearcolor' is only available together with\MessageBreak%
options `twoside' and `open=right'%
}%
@@ -4170,7 +5449,7 @@
\ifblank{#1}{}{\tud@cmd@restore{#1}}%
\tud@font@koma@unset{#2}%
}
-\robustify{\footnote}%
+\robustify{\footnote}
\newcommand*\tud@sectioning@uppercase[1]{%
\begingroup%
\if@tud@symbolheadings%
@@ -4180,426 +5459,148 @@
\tud@makeuppercase{#1}%
\endgroup%
}
-%%% From File: tudscr-frontmatter.dtx
-\newcommand*\tud@fm@check[2]{%
- \global\let\tud@fm@set\tud@fm@first%
- \ifnumless{\@nameuse{tud@#1@level}}{3}{% false/true/section
- \ifboolexpr{%
- bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
- }{%
- \sbox\z@{\vbox{#2}}%
- \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
- \ClassWarning{\TUDClassName}{%
- The given content within the `#1'\MessageBreak%
- environment is too large, so it wasn't possible\MessageBreak%
- to center the body vertically. Setting the option\MessageBreak%
- `#1=nofill' would be a solution. You\MessageBreak%
- could also use multiple `#1' environments%
- }%
- \boolfalse{@tud@#1@fil}%
- \fi%
- }{}%
- }{% chapter
- \boolfalse{@tud@#1@multi}%
- \boolfalse{@tud@#1@fil}%
- }%
- \ifnum\@nameuse{tud@#1@toc}>\tw@\relax%
- \tud@fm@toc{#1}{#2}%
- \fi%
- \global\let\tud@fm@set\tud@fm@first%
- #2%
-}
-\newcommand*\tud@fm@@toc{}
-\newcommand*\tud@fm@@@toc{}
-\newcommand*\tud@fm@toc[2]{%
- \ifbool{@tud@#1@multi}{%
- \begingroup%
- \let\tud@fm@@@toc\@empty%
- \renewcommand*\tud@fm@head[2]{%
- \protected@edef\@tempa{##2}%
- \protected@xdef\tud@fm@@toc{\tud@fm@@@toc\@tempa}%
- \protected@xdef\tud@fm@@@toc{\tud@fm@@toc/}%
- }%
- \let\clearpage\relax%
- \sbox\z@{\vbox{#2}}%
- \protected@edef\@tempa{%
- \noexpand\endgroup%
- \noexpand\ifnumodd{\csname tud@#1@toc\endcsname}{%
- \noexpand\addchaptertocentry{}{\tud@fm@@toc}%
- }{%
- \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
- }%
- }%
- \@tempa%
- }{%
- \ClassWarning{\TUDClassName}{%
- It isn't possible to use `#1=single'\MessageBreak%
- or `#1=chapter'
- with `#1=tocmultiple'%
- }%
- \edef\@tempa{%
- \noexpand\cs@set@lock{tud@#1@toc}{%
- \the\numexpr\@nameuse{tud@#1@toc}-2\relax%
- }%
- }%
- \@tempa%
- }%
-}
-\newcommand\tud@fm@set[1]{}
-\newcommand\tud@fm@first[1]{%
- \global\let\tud@fm@set\tud@fm@next%
- \if@twocolumn\else%
- \if@titlepage%
- \ifbool{@tud@#1@fil}{%
- \null\vfil%
- \ifnum\@nameuse{tud@#1@level}=\tw@\relax% section
- \vspace{\dimexpr-\parskip-\baselineskip\relax}%
- {\usekomafont{section}{\vspace{-\baselineskip}}}%
- \fi%
- }{}%
- \fi%
- \fi%
+%%% From File: tudscr-title.dtx
+\newkomafont{thesis}{%
+ \usekomafont{title}%
+ \tud@thesis@fontsize%
}
-\newcommand\tud@fm@next[1]{%
- \if@twocolumn%
- \ifbool{@tud@#1@multi}{\par}{\newpage}%
- \else%
- \if@titlepage%
- \ifbool{@tud@#1@multi}{%
- \ifbool{@tud@#1@fil}{\vfil}{}%
- }{%
- \ifbool{@tud@#1@fil}{\null\clearpage\null\vfil}{\clearpage}%
- }%
- \else%
- \ifnum\@nameuse{tud@#1@level}=\z@%
- \ifdef{\main@language}{\vspace*{-\baselineskip}}{}%
- \fi%
- \fi%
- \fi%
+\newkomafont{titlepage}{%
+ \usekomafont{subject}%
+ \mdseries%
+ \large%
}
-\newcommand*\tud@fm@body@start[3]{%
+\robustify{\thanks}
+\robustify{\footnotemark}
+\newcommand*\tud@title@uppercase[1]{%
+ \let\@tempa\relax%
\begingroup%
- \TUD@parameter@set{#1}{#2}%
- \tud@fm@set{#1}%
- \if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\begin{\tud@quoting}\fi% false/true
- \fi\fi%
- \ifnum\tud@multicols>\@ne\relax%
- \setlength\multicolsep{\z@}%
- \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#3}}]%
- \else%
- \tud@fm@head{#1}{#3}%
- \fi%
-}
-\newcommand*\tud@fm@body@end[1]{%
- \ifnum\tud@multicols>\@ne\relax%
- \end{multicols}%
- \else%
- \par%
- \fi%
- \if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\end{\tud@quoting}\par\fi% false/true
- \fi\fi%
+ \let\\\newline%
+ \def\thanks##1{\gdef\@tempa{##1}}%
+ \let\footnote\thanks%
+ \sbox\z@{#1}%
+ \let\thanks\@gobble%
+ \let\footnote\@gobble%
+ \tud@makeuppercase{#1}%
\endgroup%
+ \ifx\@tempa\relax\else\thanks\@tempa\fi%
}
-\newcommand*\tud@fm@head[2]{%
- \ifcase\@nameuse{tud@#1@level}\relax% false
- \if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
- \ifstr{\@currenvir}{\tud@quoting}{}{%
- \if@twocolumn%
- \vskip\dimexpr\smallskipamount-\parskip\relax%
+\newcommand*\tud@title@delimiter{:\nobreakspace}
+\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}}
+\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}}%
+ \if@tud@cover\else%
+ \ifx\@authormore\@empty\else%
+ \tud@newline@title%
+ \@authormore%
+ \fi%
+ \ifx\@dateofbirth\@empty\else%
+ \if@titlepage%
+ \tud@newline@title%
+ \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}%
+ \@dateofbirth%
+ \ifx\@placeofbirth\@empty\else%
+ \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
+ \fi%
\else%
- \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \tud@title@wrn{dateofbirth}%
\fi%
- }%
- \or% true
- \if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
- \@afterindentfalse%
- \ifstr{\@currenvir}{\tud@quoting}{}{%
- \vskip\dimexpr\bigskipamount-\parskip\relax%
- }%
- \begingroup%
- \noindent\centering%
- \normalfont\sectfont\nobreak#2%
- \@endparpenalty\@M%
- \endgraf%
- \endgroup%
- \nopagebreak%
- \vskip\dimexpr\medskipamount-\parskip\relax%
- \@afterheading%
- \or% section
- \section*{#2}%
- \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
- \or% chapter
- \chapter*{#2}%
- \@mkdouble{\MakeMarkcase{#2}}%
- \fi%
- \ifbool{@tud@#1@markboth}{%
- \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
- }{}%
- \ifnum\@nameuse{tud@#1@toc}>\z@\relax%
- \ifnum\@nameuse{tud@#1@toc}<\thr@@\relax%
- \ifnumodd{\csname tud@#1@toc\endcsname}{%
- \addchaptertocentry{}{#2}%
- }{%
- \addsectiontocentry{}{#2}%
- }%
\fi%
- \fi%
-}
-\newcommand*\tud@fm@pagestyle[2]{%
- \if@titlepage%
- \ifcsdef{ps@#2}{\def\tud@ps{#2}}{%
- \ClassError{\TUDClassName}{`#2' is no valid pagestyle}{%
- You tried to use `#2' as a pagestyle for the\MessageBreak%
- `#1' environment, but it was never defined.%
+ \def\@tempc##1{%
+ \ifstr{\csuse{@##1}}{}{}{%
+ \if@titlepage%
+ \tud@newline@title%
+ \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}%
+ \csuse{@##1}%
+ \else%
+ \tud@title@wrn{##1}%
+ \fi%
}%
}%
- \else%
- \ClassWarning{\TUDClassName}{%
- The key `pagestyle' can only be used either with\MessageBreak%
- activated option `titlepage' or with chapter\MessageBreak%
- headings (`#1=chapter')%
- }%
- \fi%
-}
-\newcommand*\tud@quoting{quotation}
-\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
-\csundef{abstract}
-\csundef{endabstract}
-\NewEnviron{abstract}[1][]{%
- \ifnum\@nameuse{tud@abstract@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
- \TUD@parameter@set{abstract}{#1}%
- \tud@multicols@check%
- \if@titlepage%
- \tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
- \clearpage%
- \tud@ps@select%
- \fi%
- \renewcommand*\nextabstract[1][]{%
- \tud@fm@body@end{abstract}%
- \tud@fm@body@start{abstract}{##1}{\abstractname}%
- }%
- \tud@fm@check{abstract}{%
- \tud@fm@body@start{abstract}{#1}{\abstractname}%
- \BODY%
- \tud@fm@body@end{abstract}%
- }%
-}[%
- \if@titlepage%
- \if@tud@abstract@fil\vfil\null\fi%
- \aftergroup\tud@currentpagestyle@reset%
- \clearpage%
+ \@tempc{course}%
+ \@tempc{discipline}%
+ \@tempc{matriculationnumber}%
+ \@tempc{matriculationyear}%
\fi%
-]
-\TUD@parameter{abstract}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
- \TUD@parameter@define{markboth}[true]{%
- \ifstrbool{#1}{%
- \@tud@abstract@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- }{%
- \@tud@abstract@markbothfalse%
- }{%
- \@tud@abstract@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- \manualmark\markboth{#1}{#1}%
- }%
- }%
- \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}%
- \TUD@parameter@let{option}{abstract}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}%
-}
-\newcommand*\nextabstract[1][]{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextabstract'}{%
- The command `\string\nextabstract' can only be used within\MessageBreak%
- the environment `abstract'.%
- }%
-}
-\newif\if@tud@declarations
-\NewEnviron{declarations}[1][]{%
- \@tud@declarationstrue%
- \ifnum\@nameuse{tud@declaration@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
- \TUD@parameter@set{declaration}{#1}%
- \tud@multicols@check%
- \if@titlepage%
- \tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
- \clearpage%
- \tud@ps@select%
- \fi%
- \tud@fm@check{declaration}{\BODY}%
-}[%
- \if@titlepage%
- \if@tud@declaration@fil\vfil\null\fi%
- \aftergroup\tud@currentpagestyle@reset%
- \clearpage%
- \fi%
-]
-\TUD@parameter{declaration}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
- \TUD@parameter@define{markboth}[true]{%
- \ifstrbool{#1}{%
- \@tud@declaration@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- }{%
- \@tud@declaration@markbothfalse%
- }{%
- \@tud@declaration@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
- \manualmark\markboth{#1}{#1}%
- }%
- }%
- \TUD@parameter@define{company}{\def\@company{#1}}%
- \TUD@parameter@define{supporter}{\def\@supporter{#1}}%
- \TUD@parameter@define{place}{\def\@place{#1}}%
- \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}%
- \TUD@parameter@let{confirmationclosing}{closing}%
- \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}%
- \TUD@parameter@let{option}{declaration}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}%
-}
-\newcommand*\declaration[1][]{%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@confirmation[#1]%
- \tud@fm@blocking[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
- \tud@fm@blocking%
- \end{declarations}%
- }%
-}
-\newcommand*\nextdeclaration[3][]{%
- \ifbool{@tud@declarations}{%
- \tud@fm@body@start{declaration}{#1}{#2}
- #3%
- \tud@fm@body@end{declaration}%
- }{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextdeclaration'}{%
- The command `\string\nextdeclaration' can only be used\MessageBreak%
- within the environment `declarations'.%
- }%
- }%
-}
-\newcommand*\confirmation[1][]{%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{supporter=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@confirmation[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
- \end{declarations}%
- }%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
- }%
-}
-\newcommand*\tud@fm@confirmation[1][]{%
- \tud@fm@body@start{declaration}{#1}{\confirmationname}%
- \confirmationtext\vskip\z@\@confirmationclosing%
- \tud@fm@body@end{declaration}%
+ \tud@multiple@fields@restore{@author}%
+ \tud@multiple@@@split{#2}{\vskip 2ex}%
}
-\newcommand*\blocking[1][]{%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{company=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@blocking[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@blocking%
- \end{declarations}%
- }%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
+\newcommand*\tud@title@wrn[1]{%
+ \ClassWarning{\TUD@Class@Name}{%
+ `\@backslashchar#1' has to be used with\MessageBreak%
+ activated titlepage option%
}%
}
-\newcommand*\tud@fm@blocking[1][]{%
- \tud@fm@body@start{declaration}{#1}{\blockingname}%
- \blockingtext%
- \tud@fm@body@end{declaration}%
-}
-%%% From File: tudscr-title.dtx
-\newkomafont{thesis}{\usekomafont{title}\LARGE}
-\newkomafont{titlepage}{%
- \usekomafont{subject}%
- \fontseries{\mddefault}%
- \selectfont%
- \large%
+\newcommand*\tud@thesis@tosubject{%
+ \if@tud@subjectthesis\ifx\@thesis\@empty\else%
+ \ifx\@subject\@empty\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ The option `subjectthesis' was activated, so\MessageBreak%
+ the field `subject' will be overwritten with the\MessageBreak%
+ given thesis%
+ }%
+ \fi%
+ \let\@subject\@thesis%
+ \fi\fi%
}
-\newcommand*\tud@title@fontcolor{}
-\newcommand*\tud@titlepagenumber{}%
-\let\tud@titlepagenumber\relax%
+\newcommand*\tud@title@pagenumber{}
+\let\tud@title@pagenumber\relax
\newcommand*\tud@maketitle[1][]{%
\begingroup%
\TUD@parameter@set{title}{#1}%
- \ifcase\tud@layout@title\relax% false
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \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]%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \ifstr{\titlepagestyle}{empty}{\thispagestyle{empty.tudheadings}}{}%
+ }{}%
\else% !false
\if@titlepage%
- \tud@maketitlepage%
+ \tud@make@titlepage%
\else%
- \def\tud@title@fontcolor{}%
- \ifcase\tud@layout@title\relax\or\else% *color
- \def\tud@title@fontcolor{HKS41}%
- \fi%
- \let\@maketitle\tud@@maketitle%
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \if@twocolumn%
- \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}%
- \else%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
- \fi%
+ \tud@make@titlehead%
\fi%
\fi%
\endgroup%
+ \setcounter{footnote}{0}%
+ \global\let\and\relax%
}
-\TUD@parameter{title}{%
- \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}%
+\patchcmd{\titlepage}{\thispagestyle{empty}}{%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \thispagestyle{empty.tudheadings}%
+ }{%
+ \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@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}%
-}%
-\robustify{\thanks}%
-\robustify{\footnotemark}%
-\newcommand*\tud@titleback{}%
-\newcommand*\tud@maketitlepage{%
- \def\tud@title@fontcolor{}%
- \ifcase\tud@layout@title\relax\or\or% litecolor
- \def\tud@title@fontcolor{HKS41}%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+\newcommand*\tud@titleback{}
+\newcommand*\tud@make@titlepage{%
+ \renewcommand*\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title@num\relax\or\or% litecolor
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% barcolor
- \def\tud@title@fontcolor{HKS41}%
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% bicolor
- \def\tud@title@fontcolor{HKS41}%
+ \renewcommand*\tud@title@fontcolor{HKS41}%
\or% color
- \def\tud@title@fontcolor{HKS41!30}%
+ \renewcommand*\tud@title@fontcolor{HKS41!30}%
\or% full
- \def\tud@title@fontcolor{HKS41!30}%
+ \renewcommand*\tud@title@fontcolor{HKS41!30}%
\fi%
\begin{titlepage}%
\tud@layout@specialpage@set{title}%
- \ifx\tud@titlepagenumber\relax\else%
- \setcounter{page}{\tud@titlepagenumber}%
+ \ifx\tud@title@pagenumber\relax\else%
+ \setcounter{page}{\tud@title@pagenumber}%
\fi%
\if@tud@cover\else%
\let\footnotesize\small%
@@ -4608,10 +5609,10 @@
\renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
\let\@oldmakefnmark\@makefnmark%
\renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
- \tud@footnote@unhyper%
+ \tud@x@hyperref@realfootnotes%
\ifx\@extratitle\@empty%
\if@titlepageiscoverpage%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Using option `titlepage=firstiscover' is only\MessageBreak%
possible with an extra title. Alternatively you can\MessageBreak%
create a cover with `\string\makecover'%
@@ -4631,9 +5632,9 @@
\topmargin=\dimexpr\coverpagetopmargin-1in\relax%
\oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
\evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
-\coverpagerightmargin\relax%
- \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
-\coverpagebottommargin\relax%
\headheight=0pt%
\headsep=0pt%
@@ -4650,20 +5651,11 @@
\noindent\@extratitle\next@tdpage%
\fi%
\fi%
- \if@tud@bookmarks%
- \if@tud@cover%
- \tudbookmark[0]{\coverpagename}{cover}%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \else%
- \tudbookmark[0]{\titlepagename}{title}%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \fi%
- \fi%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\pageheadingsvskip}%
+ \TUD@len@deprecated{pageheadingsvskip}%
+ \vspace*{\tud@dim@pageheadingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\begingroup%
\usekomafont{titlepage}%
@@ -4676,7 +5668,7 @@
}}%
\addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
- \tud@letsubjectthesis%
+ \tud@thesis@tosubject%
\ifx\@subject\@empty\else%
\sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
\addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
@@ -4685,20 +5677,20 @@
\ifx\@titlehead\@empty\else\usebox\z@\par\fi%
\ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
{\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\fi%
+ \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
- \let\tud@split@author\tud@split@author@title%
+ \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%
\ifx\@date\@empty\else%
\vskip 2ex\@plus.1fill%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ {\usekomafont{date}{\tud@date@print\par}}%
\fi%
\fi%
\vskip 2ex\@plus.25fill%
@@ -4712,7 +5704,7 @@
\ifx\@graduation\@empty\else%
\def\@tempc{%
\@graduation%
- \ifx\@graduationabbr\@empty\else\nobreakspace\@graduationabbr\fi%
+ \ifx\@@graduation\@empty\else\nobreakspace\@@graduation\fi%
}%
{\usekomafont{titlepage}{\graduationtext\par}}%
\vskip 2ex\@plus1ex\@minus1ex%
@@ -4727,18 +5719,20 @@
\vskip 2ex\@plus.5fill%
\fi%
\if@tud@cover\else%
- \tud@title@names{supervisor}%
\tud@title@names{referee}%
\tud@title@names{advisor}%
+ \tud@title@names{supervisor}%
\tud@title@names{professor}%
\ifx\@thesis\@empty\else%
- \tud@datecheck%
+ \tud@date@check%
\ifx\@date\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
- \ifstr{\datetext}{}{}{\datetext\@titledelim}%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ \ifxblank{\datetext}{}{\datetext\tud@title@delimiter}%
+ {\usekomafont{date}{\tud@date@print\par}}%
\ifx\@defensedate\@empty\else%
- \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}%
+ \ifxblank{\defensedatetext}{}{%
+ \defensedatetext\tud@title@delimiter%
+ }%
{\usekomafont{date}{\@defensedate\par}}%
\fi%
\fi%
@@ -4771,27 +5765,27 @@
\fi%
\fi%
\def\@tempa{%
- \def\tud@pagecolor{}%
- \ifcase\tud@layout@title\relax\or% true
- \cs@std@lock{tud@head@bar}{0}%
+ \renewcommand*\tud@pagecolor{}%
+ \ifcase\tud@layout@title@num\relax\or% true
+ \cs@std@lock{tud@head@bar@num}{0}%
\or% litecolor
- \cs@set@lock{tud@head@bar}{1}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% barcolor
- \cs@set@lock{tud@head@bar}{2}%
+ \cs@set@lock{tud@head@bar@num}{2}%
\or% bicolor
- \cs@set@lock{tud@head@bar}{3}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\or% color
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{1}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{1}%
\or% full
- \def\tud@pagecolor{HKS41}%
- \cs@set@lock{tud@head@bar}{3}%
+ \renewcommand*\tud@pagecolor{HKS41}%
+ \cs@set@lock{tud@head@bar@num}{3}%
\fi%
\tud@color{\tud@title@fontcolor}%
\addtokomafont{pagenumber}{\usekomafont{tudheadings}}%
\addtokomafont{pagefoot}{\usekomafont{tudheadings}}%
\thispagestyle{empty.tudheadings}%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage}{}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage}{}%
}%
\if@tud@cover%
\begingroup%
@@ -4815,22 +5809,6 @@
\fi%
\fi%
\end{titlepage}%
- \if@tud@cover\else%
- \setcounter{footnote}{0}%
- \global\let\and\relax%
- \fi%
-}
-\newcommand*\tud@title@uppercase[1]{%
- \let\@tempa\relax%
- \begingroup%
- \def\thanks##1{\gdef\@tempa{##1}}%
- \let\footnote\thanks%
- \sbox\z@{#1}%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \tud@makeuppercase{#1}%
- \endgroup%
- \ifx\@tempa\relax\else\thanks\@tempa\fi%
}
\newcommand*\tud@title@names[1]{%
\letcs\@tempa{@#1}%
@@ -4838,28 +5816,65 @@
\def\and{%
\ifcsvoid{#1othername}{\par}{%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{titlepage}{\@nameuse{#1othername}\par}}%
+ {\usekomafont{titlepage}{\csuse{#1othername}\par}}%
}%
\let\and\par%
}%
\vskip 1ex\@plus.5ex\@minus.5ex%
- {\usekomafont{titlepage}{\@nameuse{#1name}\par}}%
- {\usekomafont{author}{\@nameuse{@#1}\par}}%
+ {\usekomafont{titlepage}{\csuse{#1name}\par}}%
+ {\usekomafont{author}{\csuse{@#1}\par}}%
\fi%
}
-\newcommand*\@titledelim{:\nobreakspace}
-\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}}
-\newcommand*\tud@@maketitle{%
+\newcommand*\tud@make@titlehead{%
+ \renewcommand*\tud@title@fontcolor{}%
+ \ifcase\tud@layout@title@num\relax\or\else% *color
+ \ifstr{\tud@pagecolor}{HKS41}{}{\renewcommand*\tud@title@fontcolor{HKS41}}%
+ \fi%
+ \par%
+ \ifx\tud@title@pagenumber\relax\else%
+ \ifnum\tud@title@pagenumber=\@ne\relax\else%
+ \ClassWarning{\TUD@Class@Name}{%
+ Optional argument of \string\maketitle\space ignored\MessageBreak%
+ at notitlepage-mode%
+ }%
+ \fi%
+ \fi%
+ \begingroup%
+ \let\titlepage@restore\relax%
+ \renewcommand*\thefootnote{\@fnsymbol\c@footnote}%
+ \let\@oldmakefnmark\@makefnmark%
+ \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}%
+ \next@tdpage%
+ \@tempswafalse%
+ \if@twocolumn\ifnum\col@number>\@ne\relax%
+ \@tempswatrue%
+ \fi\fi%
+ \if@tempswa%
+ \ifx\@extratitle\@empty\else%
+ \twocolumn[\@makeextratitle]\next@tdpage%
+ \fi%
+ \twocolumn[\tud@make@@titlehead]%
+ \else%
+ \ifx\@extratitle\@empty\else%
+ \@makeextratitle\next@tdpage%
+ \fi%
+ \tud@make@@titlehead%
+ \fi%
+ \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi%
+ \@thanks%
+ \endgroup%
+}
+\newcommand*\tud@make@@titlehead{%
\global\@topnum=\z@%
\vspace*{%
- \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip%
- +\parskip\relax%
+ \dimexpr\tud@len@areavskip+\tud@len@areaheadvskip-\baselineskip\relax%
}%
- \vspace*{\headingsvskip}%
+ \TUD@len@deprecated{headingsvskip}%
+ \vspace*{\tud@dim@headingsvskip}%
\setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative%
\begingroup%
\usekomafont{titlepage}%
- \tud@footnote@unhyper%
+ \tud@x@hyperref@realfootnotes%
\setlength\@tempdima{\z@}%
\ifx\@titlehead\@empty\else%
\sbox\z@{\vbox{%
@@ -4870,7 +5885,7 @@
\addtolength\@tempdima{\dimexpr\ht\z@+\dp\z@\relax}%
\fi%
\TUDoptions{subjectthesis=true}%
- \tud@letsubjectthesis%
+ \tud@thesis@tosubject%
\ifx\@subject\@empty\else%
\sbox\@ne{\vbox{{\usekomafont{subject}{\@subject\par\null}}}}%
\addtolength\@tempdima{\dimexpr\ht\@ne+\dp\@ne+\p@\relax}%
@@ -4879,16 +5894,18 @@
\ifx\@titlehead\@empty\else\usebox\z@\par\fi%
\ifx\@subject\@empty\else\usebox\@ne\par\fi%
{\usekomafont{title}{\tud@title@uppercase{\@title}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\ifx\@subtitle\@empty\else%
+ \vskip 1ex\@plus.5ex\@minus.5ex%
{\usekomafont{subtitle}{\tud@title@uppercase{\@subtitle}\par}}%
- \vskip 2ex\@plus1ex\@minus1ex%
\fi%
+ \vskip 2ex\@plus1ex\@minus1ex%
\vskip 2\bigskipamount%
- \let\tud@split@author\tud@split@author@title%
+ \let\tud@split@author@do\tud@split@author@title%
\tud@multiple@split{@author}\par%
- \vskip 2ex\@plus1ex\@minus1ex%
- {\usekomafont{date}{\@date\nobreakspace\@datemore\par}}%
+ \ifx\@date\@empty\else%
+ \vskip 2ex\@plus1ex\@minus1ex%
+ {\usekomafont{date}{\tud@date@print\par}}%
+ \fi%
\ifx\@publishers\@empty\else%
\vskip 2ex\@plus1ex\@minus1ex%
{\usekomafont{publishers}{\@publishers\par}}%
@@ -4898,138 +5915,80 @@
{\centering\usekomafont{dedication}{\@dedication\par}}%
\fi%
\ifx\@graduation\@empty\else\tud@title@wrn{graduation}\fi%
- \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
\ifx\@referee\@empty\else\tud@title@wrn{referee}\fi%
+ \ifx\@advisor\@empty\else\tud@title@wrn{advisor}\fi%
+ \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi%
\ifx\@professor\@empty\else\tud@title@wrn{professor}\fi%
\vskip 2\bigskipamount%
- \tud@ifverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
- \endgroup%
-}
-\newcommand*\tud@newline{}
-\newcommand*\tud@split@author@title[2]{%
- \tud@multiple@fields@store{@author}{#1}%
- \def\tud@newline{\vskip .5ex\let\tud@newline\newline}%
- {\usekomafont{author}{\ignorespaces#1}}%
- \if@tud@cover\else%
- \ifx\@authormore\@empty\else%
- \tud@newline%
- \@authormore%
- \fi%
- \ifx\@dateofbirth\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\dateofbirthtext}{}%
- {}{\dateofbirthtext\@titledelim}\@dateofbirth%
- \ifx\@placeofbirth\@empty\else%
- \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth%
- \fi%
- \else%
- \tud@title@wrn{dateofbirth}%
- \fi%
- \fi%
- \ifx\@matriculationnumber\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\matriculationnumbername}{}%
- {}{\matriculationnumbername\@titledelim}%
- \@matriculationnumber%
- \else%
- \tud@title@wrn{matriculationnumber}%
- \fi%
- \fi%
- \ifx\@matriculationyear\@empty\else%
- \if@titlepage%
- \tud@newline%
- \ifstr{\matriculationyearname}{}%
- {}{\matriculationyearname\@titledelim}%
- \@matriculationyear%
- \else%
- \tud@title@wrn{matriculationyear}%
- \fi%
+ \ifnum\col@number>\@ne\relax%
+ \ifdefvoid{\multicolsep}{}{%
+ \ifisskip{\multicolsep}{\vspace{-\multicolsep}}{}%
+ }%
\fi%
- \fi%
- \tud@multiple@fields@restore{@author}%
- \tud@multiple@@@split{#2}{\vskip 2ex}%
+ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}%
+ \endgroup%
}
\newcommand\maketitleonecolumn[2][]{%
\if@twocolumn%
\if@titlepage%
- \maketitle[#1]%
+ \tud@maketitle[#1]%
\onecolumn{#2}\twocolumn%
\else%
- \tud@title@twocolumn{\maketitle[#1]{#2}}%
+ \tud@title@twocolumn{\tud@maketitle[#1]{#2}}%
\fi%
\else%
- \ClassError{\TUDClassName}{%
+ \ClassError{\TUD@Class@Name}{%
`\string\maketitleonecolumn' can only be used in twocolumn mode%
}{}%
\fi%
}
-\newsavebox\tud@title@twocolumn@box
+\newsavebox\tud@title@box
\newcommand\tud@title@twocolumn[1]{%
\onecolumn%
\begingroup%
\let\clearpage\relax%
\let\newpage\relax%
- \global\setbox\tud@title@twocolumn@box\vbox{%
+ \global\setbox\tud@title@box\vbox{%
\vspace*{.9\baselineskip}#1\bigskip%
}%
\endgroup%
\setlength\@tempdima{\textheight}%
- \tud@ifverlower{2.03}{%
+ \tud@if@v@lower{2.03}{%
\tud@ddc@check%
- \ifcase\@tempb\relax\else% \tud@ddc@foot!=false
- \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}%
+ \ifcase\@tempb\relax\else% \tud@ddc@foot@num!=false
+ \setlength\@tempdima{\dimexpr\textheight-\tud@len@ddcdiff\relax}%
\@tempswatrue%
\fi%
}{}%
- \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax%
- \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{%
+ \ifdim\ht\tud@title@box>\@tempdima\relax%
+ \@whiledim\ht\tud@title@box>\@tempdima\do{%
\splittopskip\topskip%
\splitmaxdepth\maxdepth%
- \vsplit\tud@title@twocolumn@box to \@tempdima%
+ \vsplit\tud@title@box to \@tempdima%
\clearpage%
\setlength\@tempdima{\textheight}%
- \tud@ifverlower{2.03}{\@tempswafalse}{}%
+ \tud@if@v@lower{2.03}{\@tempswafalse}{}%
}%
\else%
- \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}%
+ \setbox\tud@title@box\vbox{#1\bigskip}%
\fi%
- \twocolumn[\unvbox\tud@title@twocolumn@box]%
- \tud@ifverlower{2.03}{%
+ \twocolumn[\unvbox\tud@title@box]%
+ \tud@if@v@lower{2.03}{%
\if@tempswa%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
You are using a two-column title along with\MessageBreak%
the DDC-logo. Unfortunately in this case, the\MessageBreak%
type area has to be adjusted manually. Please\MessageBreak%
- use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak%
+ use `\string\enlargethispage{-\the\tud@len@ddcdiff}'\MessageBreak%
in both columns after the title%
}%
\fi%
}{}%
}
-\newcommand*\tud@letsubjectthesis{%
- \if@tud@subjectthesis\ifx\@thesis\@empty\else%
- \ifx\@subject\@empty\else%
- \ClassWarning{\TUDClassName}{%
- The option `subjectthesis' was activated.\MessageBreak%
- The field `subject' will be overwritten with the\MessageBreak%
- given thesis%
- }%
- \fi%
- \let\@subject\@thesis%
- \fi\fi%
-}
-\newcommand*\tud@title@wrn[1]{%
- \ClassWarning{\TUDClassName}{%
- `\@backslashchar#1' has to be used with\MessageBreak%
- activated titlepage option%
- }%
-}
\newif\if@tud@cover
\newcommand*\makecover[1][]{%
\if@titlepageiscoverpage%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
Using both option `titlepage=firstiscover' and\MessageBreak%
`\string\makecover' together isn't supported. The\MessageBreak%
option `titlepage=firstiscover' will be ignored. If you\MessageBreak%
@@ -5044,26 +6003,26 @@
\let\thanks\@gobble%
\let\footnote\@gobble%
\TUD@parameter@set{cover}{#1}%
- \let\tud@layout@title\tud@layout@cover%
+ \let\tud@layout@title@num\tud@layout@cover@num%
\tud@layout@process%
- \if@tud@cover@cdgeometry%
- \let\coverpagetopmargin\tud@dim@slimmargin%
- \let\coverpagebottommargin\tud@dim@widemargin%
- \let\coverpageleftmargin\tud@dim@widemargin%
- \let\coverpagerightmargin\tud@dim@slimmargin%
- \tud@ifverlower{2.03}{%
- \def\coverpagetopmargin{.5\tud@dim@both}%
- \def\coverpagebottommargin{.5\tud@dim@both}%
+ \if@tud@cdgeometry@cover%
+ \let\coverpagetopmargin\tud@len@slimmargin%
+ \let\coverpagebottommargin\tud@len@widemargin%
+ \let\coverpageleftmargin\tud@len@widemargin%
+ \let\coverpagerightmargin\tud@len@slimmargin%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagetopmargin{.5\tud@len@both}%
+ \def\coverpagebottommargin{.5\tud@len@both}%
}{}%
\fi%
- \ifcase\tud@layout@cover\relax% false
+ \ifcase\tud@layout@cover@num\relax% false
\KOMAoptions{titlepage=firstiscover}%
\let\@extratitle\@empty%
\let\@uppertitleback\@empty%
\let\@lowertitleback\@empty%
\let\@dedication\@empty%
- \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi%
- \tud@cmd@use{maketitle}[\tud@titlepagenumber]%
+ \ifx\tud@title@pagenumber\relax\gdef\tud@title@pagenumber{1}\fi%
+ \tud@cmd@use{maketitle}[\tud@title@pagenumber]%
\else% !false
\@tud@covertrue%
\@titlepagetrue%
@@ -5077,32 +6036,32 @@
\begingroup%
\oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax%
\evensidemargin=\dimexpr\coverpageleftmargin-1in\relax%
- \textwidth=\dimexpr\paperwidth-\coverpageleftmargin%
+ \textwidth=\dimexpr\tud@len@layoutwidth-\coverpageleftmargin%
-\coverpagerightmargin\relax%
\headheight=0pt%
\headsep=0pt%
- \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax%
- \tud@ifverlower{2.03}{%
- \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight%
+ \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@cover@cdgeometry%
+ \if@tud@cdgeometry@cover%
\def\coverpagetopmargin{%
- \dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep\relax%
+ \dimexpr\tud@len@topmargin+\tud@len@barheight%
+ +\tud@len@headsep\relax%
}%
\else%
- \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight%
- +\tud@dim@headsep-1in\relax%
+ \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@dim@widemargin%
- \tud@ifverlower{2.03}{%
- \def\coverpagebottommargin{.5\tud@dim@both}%
+ \let\coverpagebottommargin\tud@len@widemargin%
+ \tud@if@v@lower{2.03}{%
+ \def\coverpagebottommargin{.5\tud@len@both}%
}{}%
\fi%
\fi%
- \textheight=\dimexpr\paperheight-\coverpagetopmargin%
+ \textheight=\dimexpr\tud@len@layoutheight-\coverpagetopmargin%
-\coverpagebottommargin-\tud@dim@extrabottommargin\relax%
\topmargin=\dimexpr\coverpagetopmargin-1in\relax%
\@colht=\textheight%
@@ -5111,74 +6070,536 @@
\columnwidth=\textwidth%
\hsize=\columnwidth%
\linewidth=\hsize%
- \tud@dim@headdiff=\z@%
- \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}%
+ \tud@len@areavskip=\z@%
+ \ifundef{\hypersetup}{}{\hypersetup{pageanchor=false}}%
\tud@maketitle%
\clearpage%
- \csname titlepage@restore\endcsname%
+ \titlepage@restore%
\fi%
\endgroup%
}
-\bool@lock{@tud@cover@cdgeometry}
-\TUD@parameter{cover}{%
- \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}%
+\bool@lock{@tud@cdgeometry@cover}
+\TUD@parameter@family{cover}{%
+ \TUD@parameter@def{cdcover}[true]{\TUDoption{cdcover}{#1}}%
\TUD@parameter@let{cd}{cdcover}%
- \TUD@parameter@define{cdgeometry}[true]{%
+ \TUD@parameter@def{cdgeometry}[true]{%
\ifstrbool{#1}{%
- \bool@set@lock{@tud@cover@cdgeometry}{true}%
+ \bool@set@lock{@tud@cdgeometry@cover}{true}%
}{%
- \bool@set@lock{@tud@cover@cdgeometry}{false}%
+ \bool@set@lock{@tud@cdgeometry@cover}{false}%
}{%
- \TUD@parameter@error{cdgeometry}{true,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}%
+ }%
+ }%
}%
}%
- \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}%
- \TUD@parameter@define@ps{#1}%
- \TUD@parameter@sethandler{%
- \ifxnumber{#1}{%
- \TUD@parameter@set{cover}{pagenumber=#1}%
+ \TUD@parameter@def{pagenumber}{\def\tud@title@pagenumber{#1}}%
+ \tud@ps@parameters{#1}%
+ \TUD@parameter@handler@value{pagenumber}%
+}
+%%% From File: tudscr-frontmatter.dtx
+\newcommand*\tud@fm@check[2]{%
+ \global\let\tud@fm@set\tud@fm@first%
+ \ifnumless{\csuse{tud@#1@level@num}}{3}{% false/true/section
+ \ifboolexpr{%
+ bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
}{%
- \TUD@parameter@set{cover}{cdgeometry=#1}%
+ \sbox\z@{\vbox{#2}}%
+ \ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
+ \ClassWarning{\TUD@Class@Name}{%
+ The given content within the `#1'\MessageBreak%
+ environment is too large, so it wasn't possible\MessageBreak%
+ to center the body vertically. Setting the option\MessageBreak%
+ `#1=nofill' would be a solution. You\MessageBreak%
+ could also use multiple `#1' environments%
+ }%
+ \boolfalse{@tud@#1@fil}%
+ \fi%
+ }{}%
+ }{% chapter
+ \boolfalse{@tud@#1@multi}%
+ \boolfalse{@tud@#1@fil}%
+ }%
+ \ifnum\csuse{tud@#1@toc@num}>\tw@\relax%
+ \tud@fm@toc{#1}{#2}%
+ \fi%
+ \global\let\tud@fm@set\tud@fm@first%
+ #2%
+}
+\newcommand*\tud@fm@@toc{}
+\newcommand*\tud@fm@@@toc{}
+\newcommand*\tud@fm@toc[2]{%
+ \ifbool{@tud@#1@multi}{%
+ \begingroup%
+ \let\tud@fm@@@toc\@empty%
+ \renewcommand*\tud@fm@head[2]{%
+ \protected@edef\@tempa{##2}%
+ \protected@xdef\tud@fm@@toc{\tud@fm@@@toc\@tempa}%
+ \protected@xdef\tud@fm@@@toc{\tud@fm@@toc/}%
+ }%
+ \let\clearpage\relax%
+ \sbox\z@{\vbox{#2}}%
+ \protected@edef\@tempa{%
+ \noexpand\endgroup%
+ \noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{%
+ \noexpand\addchaptertocentry{}{\tud@fm@@toc}%
+ }{%
+ \noexpand\addsectiontocentry{}{\tud@fm@@toc}%
+ }%
+ }%
+ \@tempa%
+ }{%
+ \ClassWarning{\TUD@Class@Name}{%
+ It isn't possible to use `#1=single'\MessageBreak%
+ or `#1=chapter'
+ with `#1=tocmultiple'%
}%
+ \edef\@tempa{%
+ \noexpand\cs@set@lock{tud@#1@toc@num}{%
+ \the\numexpr\csuse{tud@#1@toc@num}-2\relax%
+ }%
+ }%
+ \@tempa%
}%
}
+\newcommand\tud@fm@set[1]{}
+\newcommand\tud@fm@first[1]{%
+ \if@twocolumn\else%
+ \if@titlepage%
+ \ifbool{@tud@#1@fil}{\null\vfil}{}%
+ \fi%
+ \fi%
+ \global\let\tud@fm@set\tud@fm@next%
+}
+\newcommand\tud@fm@next[1]{%
+ \if@twocolumn%
+ \ifbool{@tud@#1@multi}{\par}{\newpage}%
+ \else%
+ \if@titlepage%
+ \ifbool{@tud@#1@multi}{%
+ \ifbool{@tud@#1@fil}{\vfil}{}%
+ }{%
+ \ifbool{@tud@#1@fil}{\vfil\null\clearpage\null\vfil}{\clearpage}%
+ }%
+ \else%
+ \ifnum\csuse{tud@#1@level@num}=\z@\relax%
+ \ifundef{\main@language}{}{\vspace*{-\baselineskip}}%
+ \fi%
+ \fi%
+ \fi%
+}
+\newcommand*\tud@fm@body@start[3]{%
+ \begingroup%
+ \TUD@parameter@set{#1}{#2}%
+ \tud@fm@set{#1}%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \begin{\tud@quoting}%
+ \fi%
+ \fi\fi%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \vspace{-\multicolsep}%
+ \begin{multicols}{\tud@x@multicol@num}[{\tud@fm@head{#1}{#3}}]%
+ \else%
+ \tud@fm@head{#1}{#3}%
+ \fi%
+}
+\newcommand*\tud@fm@body@end[1]{%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \end{multicols}%
+ \vspace{-\multicolsep}%
+ \else%
+ \par%
+ \fi%
+ \if@twocolumn\else\if@titlepage\else\relax%
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \end{\tud@quoting}\par%
+ \fi%
+ \fi\fi%
+ \endgroup%
+}
+\newcommand*\tud@fm@head[2]{%
+ \ifcase\csuse{tud@#1@level@num}\relax% false
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \if@twocolumn%
+ \vskip\dimexpr\smallskipamount-\parskip\relax%
+ \else%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ }%
+ \or% true
+ \if@titlepage\endgraf\fi%
+ \csuse{phantomsection}%
+ \@afterindentfalse%
+ \ifstr{\@currenvir}{\tud@quoting}{}{%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ }%
+ \begingroup%
+ \noindent\centering%
+ \normalfont\sectfont\nobreak#2%
+ \@endparpenalty\@M%
+ \endgraf%
+ \endgroup%
+ \nopagebreak%
+ \vskip\dimexpr\medskipamount-\parskip\relax%
+ \@afterheading%
+ \or% section
+ \section*{#2}%
+ \ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
+ \or% chapter
+ \chapter*{#2}%
+ \@mkdouble{\MakeMarkcase{#2}}%
+ \fi%
+ \ifbool{@tud@#1@markboth}{%
+ \markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
+ }{}%
+ \ifcase\csuse{tud@#1@toc@num}\relax\or% totoc
+ \addchaptertocentry{}{#2}%
+ \or% totocleveldown
+ \addsectiontocentry{}{#2}%
+ \fi%
+}
+\newcommand*\tud@fm@pagestyle[2]{%
+ \if@titlepage%
+ \ifcsundef{ps@#2}{%
+ \ClassError{\TUD@Class@Name}{`#2' is no valid pagestyle}{%
+ You tried to use `#2' as a pagestyle for the\MessageBreak%
+ `#1' environment, but it was never defined.%
+ }%
+ }{\def\tud@envir@ps{#2}}%
+ \else%
+ \ClassWarning{\TUD@Class@Name}{%
+ The key `pagestyle' can only be used either with\MessageBreak%
+ activated option `titlepage' or with chapter\MessageBreak%
+ headings (`#1=chapter')%
+ }%
+ \fi%
+}
+\newcommand*\tud@quoting{quotation}
+\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
+\csundef{abstract}
+\csundef{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%
+ \if@titlepage%
+ \tud@currentpagestyle@set%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
+ \clearpage%
+ \tud@envir@selectps%
+ \fi%
+ \renewcommand*\nextabstract[1][]{%
+ \tud@fm@body@end{abstract}%
+ \tud@fm@body@start{abstract}{##1}{\abstractname}%
+ }%
+ \tud@fm@check{abstract}{%
+ \tud@fm@body@start{abstract}{#1}{\abstractname}%
+ \BODY%
+ \tud@fm@body@end{abstract}%
+ }%
+}[%
+ \if@titlepage%
+ \if@tud@abstract@fil\vfil\null\fi%
+ \aftergroup\tud@currentpagestyle@reset%
+ \clearpage%
+ \else%
+ \ifnum\tud@abstract@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ \fi%
+]
+\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{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
+ \TUD@parameter@def{markboth}[true]{%
+ \ifstrbool{#1}{%
+ \@tud@abstract@markbothtrue%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ }{%
+ \@tud@abstract@markbothfalse%
+ }{%
+ \@tud@abstract@markbothfalse%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ \manualmark\markboth{#1}{#1}%
+ }%
+ }%
+ \TUD@parameter@def{abstract}{\TUDoption{abstract}{#1}}%
+ \TUD@parameter@let{option}{abstract}%
+ \TUD@parameter@handler@default{}%
+}
+\newcommand*\nextabstract[1][]{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextabstract'}{%
+ The command `\string\nextabstract' can only be used within\MessageBreak%
+ the environment `abstract'.%
+ }%
+}
+\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%
+ \if@titlepage%
+ \tud@currentpagestyle@set%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
+ \clearpage%
+ \tud@envir@selectps%
+ \fi%
+ \def\and{, }%
+ \let\thanks\@gobble%
+ \tud@fm@check{declaration}{\BODY}%
+}[%
+ \if@titlepage%
+ \if@tud@declaration@fil\vfil\null\fi%
+ \aftergroup\tud@currentpagestyle@reset%
+ \clearpage%
+ \else%
+ \ifnum\tud@declaration@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+ \fi%
+]
+\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{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
+ \TUD@parameter@def{markboth}[true]{%
+ \ifstrbool{#1}{%
+ \@tud@declaration@markbothtrue%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ }{%
+ \@tud@declaration@markbothfalse%
+ }{%
+ \@tud@declaration@markbothfalse%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
+ \manualmark\markboth{#1}{#1}%
+ }%
+ }%
+ \TUD@parameter@def{company}{\def\@company{#1}}%
+ \TUD@parameter@def{supporter}{\def\@supporter{#1}}%
+ \TUD@parameter@def{place}{\def\@place{#1}}%
+ \TUD@parameter@def{closing}{\def\@confirmationclosing{#1}}%
+ \TUD@parameter@let{confirmationclosing}{closing}%
+ \TUD@parameter@def{declaration}{\TUDoption{declaration}{#1}}%
+ \TUD@parameter@let{option}{declaration}%
+ \TUD@parameter@handler@default{}%
+}
+\newcommand*\tud@fm@supporter{}
+\newcommand*\declaration{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@declaration%
+ }{%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@declaration%
+ }%
+}
+\newcommand*\tud@fm@declaration[1][]{%
+ \ifbool{@tud@declarations}{%
+ \begingroup%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
+ \tud@fm@blocking[#1]%
+ \endgroup%
+ }{%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
+ \tud@fm@blocking%
+ \end{declarations}%
+ }%
+}
+\newcommand*\nextdeclaration[3][]{%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@body@start{declaration}{#1}{#2}%
+ #3%
+ \tud@fm@body@end{declaration}%
+ }{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextdeclaration'}{%
+ The command `\string\nextdeclaration' can only be used\MessageBreak%
+ within the environment `declarations'.%
+ }%
+ }%
+}
+\newcommand*\confirmation{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@confirmation%
+ }{%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@confirmation%
+ }%
+}
+\newcommand*\tud@fm@confirmation[1][]{%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{supporter}%
+ \undef\KV@declaration@company%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
+ }{%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
+ \end{declarations}%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@fm@@confirmation[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\confirmationname}%
+ \confirmationtext\vskip\z@\@confirmationclosing%
+ \tud@fm@body@end{declaration}%
+}
+\newcommand*\blocking[1][]{%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{company}%
+ \undef\KV@declaration@supporter%
+ \undef\KV@declaration@closing%
+ \undef\KV@declaration@confirmationclosing%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@blocking[#1]%
+ }{%
+ \begin{declarations}[#1]%
+ \tud@fm@blocking%
+ \end{declarations}%
+ }%
+ \endgroup%
+}
+\newcommand*\tud@fm@blocking[1][]{%
+ \tud@fm@body@start{declaration}{#1}{\blockingname}%
+ \blockingtext%
+ \tud@fm@body@end{declaration}%
+}
%%% From File: tudscr-comp.dtx
-\newcommand*\tud@deprecated@cmd[2]{%
+\newcommand*\TUD@cmd@deprecated[2]{%
\AtBeginDocument{%
- \ifcsdef{#1}{}{%
+ \ifcsundef{#1}{%
\expandafter\newrobustcmd\csname #1\endcsname{%
- \ClassWarning{\TUDClassName}{%
- The command `\@backslashchar#1' is deprecated.\MessageBreak%
+ \ClassWarning{\TUD@Class@Name}{%
+ The command `\@backslashchar#1' is deprecated\MessageBreak%
It's recommended to use `\@backslashchar#2' instead%
}%
\csletcs{#1}{#2}%
- \@nameuse{#2}%
+ \csuse{#2}%
}%
- }%
+ }{}%
}%
}
-\newlength\chapterheadingvskip
+\newcommand*\TUD@len@deprecated[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
+\setlength\pageheadingsvskip{\maxdimen}
+\newlength\headingsvskip
+\setlength\headingsvskip{\maxdimen}
+\newcommand*\chapterheadingvskip{}
\let\chapterheadingvskip\headingsvskip
-\tud@deprecated@cmd{professorship}{chair}
-\tud@deprecated@cmd{studentid}{matriculationnumber}
-\tud@deprecated@cmd{matriculationid}{matriculationnumber}
-\tud@deprecated@cmd{enrolmentyear}{matriculationyear}%
-\tud@deprecated@cmd{birthplace}{placeofbirth}
-\tud@deprecated@cmd{location}{place}
-\tud@deprecated@cmd{submissiondate}{date}
-\tud@deprecated@cmd{oralexaminationdate}{defensedate}%
-\tud@deprecated@cmd{birthday}{dateofbirth}
-\tud@deprecated@cmd{logofile}{headlogo}
-\tud@deprecated@cmd{logofilename}{headlogo}
+\TUD@cmd@deprecated{professorship}{chair}
+\TUD@cmd@deprecated{studentid}{matriculationnumber}
+\TUD@cmd@deprecated{matriculationid}{matriculationnumber}
+\TUD@cmd@deprecated{enrolmentyear}{matriculationyear}
+\TUD@cmd@deprecated{birthplace}{placeofbirth}
+\TUD@cmd@deprecated{submissiondate}{date}
+\TUD@cmd@deprecated{oralexaminationdate}{defensedate}
+\TUD@cmd@deprecated{birthday}{dateofbirth}
+\TUD@cmd@deprecated{location}{place}
+\TUD@cmd@deprecated{logofile}{headlogo}
+\TUD@cmd@deprecated{logofilename}{headlogo}
\AfterPackage{tudscrsupervisor}{%
- \tud@deprecated@cmd{startdate}{issuedate}%
- \tud@deprecated@cmd{finaldate}{duedate}%
- \tud@deprecated@cmd{maturitydate}{duedate}%
+ \TUD@cmd@deprecated{startdate}{issuedate}%
+ \TUD@cmd@deprecated{finaldate}{duedate}%
+ \TUD@cmd@deprecated{maturitydate}{duedate}%
+}
+\AtEndOfClass%
+{%
+ \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}%
}
%%% From File: tudscr-misc.dtx
-\newcounter{symbolheadings}[chapter]%
+\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%
+ \fi%
+}
\newcommand*\tudbookmark[1][]{\@gobbletwo}
-\newcommand*\tud@footnote@unhyper{}
+\newcommand*\tud@x@hyperref@realfootnotes{}
\AfterPackage{hyperref}{%
\renewcommand*\tudbookmark[3][]{%
\relax%
@@ -5187,7 +6608,7 @@
\ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}%
\fi%
}%
- \renewcommand*\tud@footnote@unhyper{%
+ \renewcommand*\tud@x@hyperref@realfootnotes{%
\let\Hy@saved@footnotemark\@footnotemark%
\let\Hy@saved@footnotetext\@footnotetext%
\let\@footnotemark\H@@footnotemark%
@@ -5195,26 +6616,89 @@
}%
\pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}%
}
-\pretocmd{\maketitle}{%
- \if@tud@bookmarks%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
- \fi%
- \tudbookmark[0]{\titlepagename}{title}%
-}{}{\tud@patch@wrn{maketitle}}
-\pretocmd{\tableofcontents}{%
- \if@tud@bookmarks%
- \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}%
+\newcommand*\tud@x@bookmark@startatroot{\relax}
+\AfterPackage{bookmark}{%
+ \renewcommand*\tud@x@bookmark@startatroot{%
+ \if@tud@bookmarks\bookmarksetup{startatroot}\fi%
+ }%
+}
+\apptocmd{\titlepage}{%
+ \tud@x@bookmark@startatroot%
+ \if@tud@cover%
+ \tudbookmark[%
+ 0%
+ ]{\coverpagename}{cover}%
+ \else%
+ \tudbookmark[%
+ 0%
+ ]{\titlepagename}{title}%
\fi%
- \tudbookmark[0]{\contentsname}{toc}%
-}{}{\tud@patch@wrn{tableofcontents}}
+}{}{\tud@patch@wrn{titlepage}}
+\pretocmd{\tud@make@titlehead}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 0%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{tud@make@titlehead}}
+\pretocmd{\@maketitle}{%
+ \tud@x@bookmark@startatroot%
+ \tudbookmark[%
+ 0%
+ ]{\titlename}{title}%
+}{}{\tud@patch@wrn{@maketitle}}
+\BeforeTOCHead[toc]{%
+ \tud@x@bookmark@startatroot%
+ \let\@tempc\relax%
+ \iftocfeature{toc}{totoc}{}{%
+ \if@tud@bookmarks%
+ \setuptoc{toc}{totoc}%
+ \tud@cmd@store{addtocontents}%
+ \def\@tempc{%
+ \unsettoc{toc}{totoc}%
+ \tud@cmd@restore{addtocontents}%
+ }%
+ \let\addtocontents\@gobbletwo%
+ \fi%
+ }%
+}
+\AfterTOCHead[toc]{\@tempc}
+\BeforeTOCHead[lof]{\tud@x@bookmark@startatroot}
+\BeforeTOCHead[lot]{\tud@x@bookmark@startatroot}
\BeforePackage{tocloft}{%
- \ClassWarning{\TUDClassName}{%
- It is not recommended to use package `tocloft'.\MessageBreak%
- Loading the package will certainly lead to problems\MessageBreak%
- with table of contents and any list of floats. You\MessageBreak%
- should use the appropriate options of KOMA-Script%
+ \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%
+}
+\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}}
\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 c8d41581777..a1dfebfde7b 100644
--- a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty
@@ -5,7 +5,7 @@
%% The original source files were:
%%
%% tudscr-version.dtx (with options: `package,supervisor')
-%% tudscr-supervisor.dtx (with options: `package')
+%% tudscr-supervisor.dtx (with options: `package,supervisor')
%% tudscr-fields.dtx (with options: `package,supervisor')
%% tudscr-locale.dtx (with options: `package,supervisor')
%%
@@ -37,85 +37,109 @@
%% ============================================================================
%%
%%% From File: tudscr-version.dtx
-\begingroup%
- \catcode`\@11\relax%
- \ifx\TUDVersion\undefined%
- \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}%
- \else%
- \newcommand*\@TUDVersion[1]{%
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
\def\@tempa{#1}%
- \ifx\TUDVersion\@tempa\else%
+ \ifx\TUD@Version\@tempa\else%
\@latex@warning@no@line{%
- \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
but `#1' was expected!\MessageBreak%
You should not use classes, packages or files from\MessageBreak%
different TUD-KOMA-Script-Bundle versions%
}%
\fi%
- }%
- \fi%
- \@TUDVersion{2016/06/17 v2.04e TUD-KOMA-Script}%
-\endgroup%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
-\@ifundefined{TUDClassName}{%
+\@ifundefined{TUD@Class@Name}{%
\PackageError{%
tudscrsupervisor%
}{Unsupported class found}{%
This package can only be used with a class out of the\MessageBreak%
- tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl).%
- }
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
+ }%
\endinput
}{}
\@ifundefined{TUDScript}{%
- \DeclareRobustCommand{\TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
\ifdin{TUD-KOMA-SCRIPT}{%
\textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
}\csname xspace\endcsname%
}%
}{}
%%% From File: tudscr-supervisor.dtx
-\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudscrsupervisor}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
package
(commands for supervisors)%
]
+\newcommand*\tud@multiple@fields@output{}
+\newcommand*\tud@multiple@fields@style{table}
\newenvironment{task}[1][]{%
\cleardoubleoddpage%
\def\@headline{}%
- \TUD@parameter{tudpage}{%
- \TUD@parameter@define{headline}{\def\@headline{##1}}%
+ \TUD@parameter@family{tudpage}{%
+ \TUD@parameter@def{headline}{\def\@headline{##1}}%
+ \TUD@parameter@let{heading}{headline}%
\TUD@parameter@let{line}{headline}%
- \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}%
+ \TUD@parameter@def{style}{\def\tud@multiple@fields@style{##1}}%
+ \TUD@parameter@handler@default{headline}%
}%
\tudpage[pagestyle=empty,#1]%
\tudbookmark{\taskname}{task}%
\subsection*{%
\ifx\@headline\@empty%
\taskname\space%
- \ifx\tasktext\@empty\else\ifx\@thesis\@empty\else%
- \ignorespaces\tasktext\space\trim@spaces{\@thesis}%
+ \ifx\tasktext\@empty\else\ifx\@@thesis\@empty\else%
+ \ignorespaces\tasktext\space\@@thesis%
\fi\fi%
\else\@headline\fi%
}%
- \tud@author@table%
+ \tud@authortable@set%
}{%
- \def\and{%
- \tabularnewline%
- \ifx\supervisorothername\@empty\else\supervisorothername\@titledelim\fi%
- & \def\and{\tabularnewline &}%
+ \def\tud@multiple@fields@output##1{%
+ \ifstr{\tud@multiple@fields@style}{table}{%
+ \def\and{%
+ \tabularnewline%
+ \ifstr{\csuse{##1othername}}{}{}{%
+ \csuse{##1othername}\tud@title@delimiter%
+ }%
+ & \def\and{\tabularnewline &}%
+ }%
+ }{%
+ \def\and{\unskip,\space\ignorespaces}%
+ }%
+ \csuse{@##1}%
}%
\removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi\medskip%
\begingroup%
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
- \begin{tabular}{@{}p{\tud@dim@table}l@{}}%
- \supervisorname\@titledelim &
- \@supervisor\tabularnewline[\smallskipamount]%
- \issuedatetext\@titledelim & \@issuedate\tabularnewline%
- \duedatetext\@titledelim & \@duedate\tabularnewline%
+ \begin{tabular}{@{}p{\tud@len@authortable}l@{}}%
+ \ifx\@referee\@empty\else%
+ \refereename\tud@title@delimiter & %
+ \tud@multiple@fields@output{referee}\tabularnewline[\smallskipamount]%
+ \fi%
+ \supervisorname\tud@title@delimiter & %
+ \tud@multiple@fields@output{supervisor}\tabularnewline[\smallskipamount]%
+ \issuedatetext\tud@title@delimiter & \@issuedate\tabularnewline%
+ \duedatetext\tud@title@delimiter & \@duedate\tabularnewline%
\end{tabular}%
- \vskip\tud@signatureskip\noindent%
+ \vskip\tud@len@signatureskip\noindent%
\ifx\@chairman\@empty\else%
\begin{tabular}{@{}l@{}}%
\@chairman\tabularnewline%
@@ -135,13 +159,13 @@
\aftergroup\cleardoublepage%
}
\newcommand\taskform[3][]{%
- \begin{task}[#1]
+ \begin{task}[#1]%
\removelastskip%
- \ifxblank{#2}{}{\minisec{\objectivesname}#2}%
- \ifxblank{#3}{}{%
+ \ifblank{#2}{}{\minisec{\objectivesname}#2}%
+ \ifblank{#3}{}{%
\minisec{\focusname}%
\begin{itemize}\tud@RaggedRight%
- #3
+ #3%
\end{itemize}%
}%
\end{task}%
@@ -149,23 +173,24 @@
\newenvironment{evaluation}[1][]{%
\cleardoubleoddpage%
\def\@headline{}%
- \TUD@parameter{tudpage}{%
- \TUD@parameter@define{headline}{\def\@headline{##1}}%
+ \TUD@parameter@family{tudpage}{%
+ \TUD@parameter@def{headline}{\def\@headline{##1}}%
+ \TUD@parameter@let{heading}{headline}%
\TUD@parameter@let{line}{headline}%
- \TUD@parameter@define{grade}{\def\@grade{##1}}%
- \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}%
+ \TUD@parameter@def{grade}{\def\@grade{##1}}%
+ \TUD@parameter@handler@default{headline}%
}%
\tudpage[pagestyle=empty,#1]%
\tudbookmark{\evaluationname}{evaluation}%
\subsection*{%
\ifx\@headline\@empty%
\evaluationname\space%
- \ifx\evaluationtext\@empty\else\ifx\@thesis\@empty\else%
- \ignorespaces\evaluationtext\space\trim@spaces{\@thesis}%
+ \ifx\evaluationtext\@empty\else\ifx\@@thesis\@empty\else%
+ \ignorespaces\evaluationtext\space\@@thesis%
\fi\fi%
\else\@headline\fi%
}%
- \tud@author@table%
+ \tud@authortable@set%
}{%
\removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
@@ -179,7 +204,7 @@
\vskip\@tempskipa\noindent%
\ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
\fi%
- \vskip\tud@signatureskip\noindent%
+ \vskip\tud@len@signatureskip\noindent%
\ifx\@referee\@empty\let\@referee\@supervisor\fi%
\let\@tempa\refereename%
\def\and{%
@@ -200,60 +225,65 @@
\aftergroup\cleardoublepage%
}
\newcommand\evaluationform[5][]{%
- \begin{evaluation}[#1]
+ \begin{evaluation}[#1]%
\removelastskip%
- \ifxblank{#2}{}{\minisec{\taskname}#2}%
- \ifxblank{#3}{}{\minisec{\contentname}#3}%
- \ifxblank{#4}{}{\minisec{\assessmentname}#4}%
- \ifxblank{#5}{}{\def\@grade{#5}}%
+ \ifblank{#2}{}{\minisec{\taskname}#2}%
+ \ifblank{#3}{}{\minisec{\contentname}#3}%
+ \ifblank{#4}{}{\minisec{\assessmentname}#4}%
+ \ifblank{#5}{}{\def\@grade{#5}}%
\end{evaluation}%
}
\newcommand*\student{\author}
-\newlength\tud@dim@table%
-\newcommand*\tud@author@table{%
+\newlength\tud@len@authortable
+\newcommand*\tud@authortable@set{%
\begingroup%
\let\thanks\@gobble%
\let\footnote\@gobble%
\tud@multiple@split{@author}%
\tud@multiple@fields@preset{@author}{\null}{}%
- \setlength\tud@dim@table{2em}%
- \edef\@tempa{%
- \namesname,\titlename,\supervisorname,\supervisorothername,%
- \issuedatetext,\duedatetext,%
- \expandafter\ifx\@matriculationnumber\@empty\else%
- \matriculationnumbername%
- \fi,%
- \expandafter\ifx\@matriculationyear\@empty\else%
- \matriculationyearname%
- \fi,%
- \expandafter\ifx\@course\@empty\else\coursename\fi,%
- \expandafter\ifx\@discipline\@empty\else\disciplinename\fi,%
+ \setlength\tud@len@authortable{2em}%
+ \def\@tempb##1{%
+ \expandafter\ifx\csname @##1\endcsname\@empty\else%
+ \expandafter\appto\expandafter\@tempa\expandafter{%
+ \expandafter,\csname ##1name\endcsname%
+ }%
+ \fi%
+ }%
+ \def\@tempa{%
+ \namesname,\titlename,\issuedatetext,\duedatetext,\supervisorname%
}%
+ \tud@ifin@and{\@supervisor}{\appto\@tempa{,\supervisorothername}}{}%
+ \@tempb{referee}%
+ \tud@ifin@and{\@referee}{\appto\@tempa{,\refereeothername}}{}%
+ \@tempb{matriculationnumber}%
+ \@tempb{matriculationyear}%
+ \@tempb{course}%
+ \@tempb{discipline}%
\@for\@tempb:=\@tempa\do{%
- \settowidth\@tempdima{\@tempb\@titledelim}%
- \ifdim\@tempdima>\tud@dim@table\relax%
- \setlength\tud@dim@table{\@tempdima}%
+ \settowidth\@tempdima{\@tempb\tud@title@delimiter}%
+ \ifdim\@tempdima>\tud@len@authortable\relax%
+ \setlength\tud@len@authortable{\@tempdima}%
\fi%
}%
- \global\tud@dim@table=\tud@dim@table%
+ \global\tud@len@authortable=\tud@len@authortable%
\begingroup%
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
- \begin{tabular}{@{}p{\tud@dim@table}}%
+ \begin{tabular}{@{}p{\tud@len@authortable}}%
\ifx\@course\@empty\else%
- \coursename\@titledelim\tabularnewline%
+ \coursename\tud@title@delimiter\tabularnewline%
\fi%
\ifx\@discipline\@empty\else%
- \disciplinename\@titledelim\tabularnewline%
+ \disciplinename\tud@title@delimiter\tabularnewline%
\fi%
- \namesname\@titledelim\tabularnewline%
+ \namesname\tud@title@delimiter\tabularnewline%
\ifx\@matriculationnumber\@empty\else%
- \matriculationnumbername\@titledelim\tabularnewline%
+ \matriculationnumbername\tud@title@delimiter\tabularnewline%
\fi%
\ifx\@matriculationyear\@empty\else%
- \matriculationyearname\@titledelim\tabularnewline%
+ \matriculationyearname\tud@title@delimiter\tabularnewline%
\fi%
\end{tabular}%
- \renewcommand*\tud@split@author[2]{%
+ \renewcommand*\tud@split@author@do[2]{%
\tud@multiple@fields@store{@author}{##1}%
\tud@multiple@fields@preset{@author}{\null}{##1}%
\begin{tabular}{l@{}}%
@@ -272,9 +302,9 @@
}%
\tud@multiple@split{@author}%
\vskip\smallskipamount%
- \begin{tabular}{@{}p{\tud@dim@table}%
- p{\dimexpr\textwidth-\tud@dim@table-2\tabcolsep\relax}@{}}%
- \titlename\@titledelim & \tud@RaggedRight\textsf{\textbf{\@@title}}%
+ \begin{tabular}{@{}p{\tud@len@authortable}%
+ p{\dimexpr\textwidth-\tud@len@authortable-2\tabcolsep\relax}@{}}%
+ \titlename\tud@title@delimiter & \tud@RaggedRight\textsf{\textbf{\@@title}}%
\end{tabular}%
\par%
\endgroup%
@@ -282,28 +312,17 @@
\endgroup%
\noindent\ignorespaces%
}
-\patchcmd{\tud@split@author@list}{authormore}{%
- authormore,course,discipline%
-}{}{\tud@patch@wrn{tud@split@author@list}}
\newenvironment{notice}[1][]{%
\cleardoubleoddpage%
\def\@headline{\noticename}%
- \TUD@parameter{tudpage}{%
- \TUD@parameter@define{headline}{\def\@headline{##1}}%
+ \TUD@parameter@family{tudpage}{%
+ \TUD@parameter@def{headline}{\def\@headline{##1}}%
+ \TUD@parameter@let{heading}{headline}%
\TUD@parameter@let{line}{headline}%
- \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}%
+ \TUD@parameter@handler@default{headline}%
}%
- \tudpage[pagestyle=empty,#1]%
+ \tudpage[pagestyle=empty,cdhead=date,#1]%
\tudbookmark{\noticename}{notice}%
- \ifx\@date\@empty\else%
- \begingroup%
- \vspace*{-\parskip}%
- \vspace*{-2\baselineskip}%
- \raggedleft
- \@date\par%
- \vspace*{-\parskip}%
- \endgroup%
- \fi%
\ifx\@headline\@empty\else%
\section*{\@headline}%
\fi%
@@ -312,13 +331,14 @@
\ifx\@contactperson\@empty\else%
\removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
- \renewcommand*\tud@split@contactperson[2]{%
+ \renewcommand*\tud@split@contactperson@do[2]{%
\tud@multiple@fields@store{@contactperson}{##1}%
\tud@multiple@fields@preset{@contactperson}{}{##1}%
\begin{tabular}[t]{@{}l@{}}%
\ignorespaces##1\tabularnewline%
\ifx\@office\@empty\else\@office\tabularnewline\fi%
\ifx\@telephone\@empty\else\@telephone\tabularnewline\fi%
+ \ifx\@telefax\@empty\else\@telefax\tabularnewline\fi%
\ifx\@emailaddress\@empty\else\@emailaddress\tabularnewline\fi%
\end{tabular}%
\tud@multiple@fields@restore{@contactperson}%
@@ -331,93 +351,71 @@
\aftergroup\cleardoublepage%
}
\newcommand\noticeform[3][]{%
- \begin{notice}[#1]
+ \begin{notice}[#1]%
\removelastskip%
- \ifxblank{#2}{}{%
+ \ifblank{#2}{}{%
\ifx\@@title\@empty\else%
\minisec{\expandonce{\@@title}}%
\fi%
#2%
}%
- \ifxblank{#3}{}{%
+ \ifblank{#3}{}{%
\minisec{\focusname}%
\begin{itemize}\tud@RaggedRight%
- #3
+ #3%
\end{itemize}%
}%
\end{notice}%
}
%%% From File: tudscr-fields.dtx
-\newcommand*\@course{}
-\newrobustcmd*\course[1]{\gdef\@course{#1}}
-\newcommand*\@discipline{}
-\newrobustcmd*\discipline[1]{\gdef\@discipline{#1}}
\newcommand*\@chairman{}
\newcommand*\chairman[1]{\gdef\@chairman{#1}}
\newcommand*\@grade{}
\newcommand*\grade[1]{\gdef\@grade{#1}}
\newcommand*\@headline{}
\newcommand*\@issuedate{}
-\newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}}
+\newcommand*\issuedate[1]{\tud@x@isodate@printdate{\@issuedate}{#1}}
\newcommand*\@duedate{}
-\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}}
+\newcommand*\duedate[1]{\tud@x@isodate@printdate{\@duedate}{#1}}
\newcommand*\finaldate{}
\newcommand*\maturitydate{}
-\@ifpackageloaded{%
- tudscrposter%
-}{}{%
- \newcommand*\@contactperson{}
- \newcommand*\contactperson[1]{\gdef\@contactperson{#1}}
- \newcommand*\@office{}
- \newrobustcmd*\office[1]{\gdef\@office{#1}}
- \newcommand*\@telephone{}
- \newrobustcmd*\telephone[1]{\gdef\@telephone{#1}}
- \newcommand*\@emailaddress{}
- \newrobustcmd*\emailaddress[2][]{\gdef\@emailaddress{#2}}
- \AfterPackage*{hyperref}{%
- \renewrobustcmd*\emailaddress[2][hidelinks]{%
- \gdef\@emailaddress{%
- \begingroup%
- \hypersetup{#1}%
- \href{mailto:#2}{#2}%
- \endgroup%
- }%
- }%
- }%
- \newcommand*\tud@multiple@fields@preset[3]{%
- \letcs\@tempa{tud@split#1@list}%
- \let\and\relax%
- \@for\@tempb:=\@tempa\do{%
- \ifx\@tempb\@empty\else%
- \edef\@tempc{\@nameuse{\@tempb}}%
- \ifstr{#2}{*}{%
- \@namedef{@\@tempb}{}%
- }{%
- \begingroup%
- \protected@expandtwoargs\in@{\@tempc}{\@nameuse{#1}}%
- \ifin@%
- \ifcsempty{@\@tempb}{\@tempc{#2}}{}%
- \fi%
- \endgroup%
- }%
- \fi%
+\@ifclassloaded{tudscrposter}{\@tempswafalse}{\@tempswatrue}
+\if@tempswa
+\newcommand*\@contactperson{}
+\newcommand*\contactperson[1]{\gdef\@contactperson{#1}}
+\newcommand*\@office{}
+\newrobustcmd*\office[1]{\gdef\@office{#1}}
+\newcommand*\@telephone{}
+\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%
}%
- \begingroup%
- \let\thanks\@gobble%
- \let\footnote\@gobble%
- \sbox\z@{#3}%
- \endgroup%
}%
- \newcommand*\tud@split@contactperson[2]{}
- \newcommand*\tud@split@contactperson@list{office,telephone,emailaddress}
}
+\newcommand*\tud@split@contactperson@do[2]{}
+\newcommand*\tud@split@contactperson@list{office,telephone,telefax,emailaddress}
+\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{\titlename}
-\tud@locale@define{\coursename}
-\tud@locale@define{\disciplinename}
\tud@locale@define{\issuedatetext}
\tud@locale@define{\duedatetext}
\tud@locale@define{\chairmanname}
@@ -429,13 +427,12 @@
\tud@locale@define{\assessmentname}
\tud@locale@define{\gradetext}
\tud@locale@define{\noticename}
-\tud@locale@define{\contactpersonname}
+\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{\titlename}{Titel}%
-\tud@locale@german{\coursename}{Studiengang}%
-\tud@locale@german{\disciplinename}{Studienrichtung}%
\tud@locale@german{\issuedatetext}{Ausgeh\"andigt am}%
\tud@locale@german{\duedatetext}{Einzureichen am}%
\tud@locale@german{\chairmanname}{Pr\"ufungsausschussvorsitzender}%
@@ -447,15 +444,14 @@
\tud@locale@german{\assessmentname}{Bewertung}%
\tud@locale@german{\gradetext}{%
Die Arbeit wird mit der Note \textbf{\@grade} bewertet.%
-}
+}%
\tud@locale@german{\noticename}{Aushang}%
-\tud@locale@german{\contactpersonname}{Ansprechpartner}%
+\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{\titlename}{Title}%
-\tud@locale@english{\coursename}{Course}%
-\tud@locale@english{\disciplinename}{Discipline}%
\tud@locale@english{\issuedatetext}{Issued on}%
\tud@locale@english{\duedatetext}{Due date for submission}%
\tud@locale@english{\chairmanname}{Chairman of the Audit Committee}%
@@ -467,9 +463,8 @@
\tud@locale@english{\assessmentname}{Assessment}%
\tud@locale@english{\gradetext}{%
The thesis is evaluated with a grade of \textbf{\@grade}.%
-}
+}%
\tud@locale@english{\noticename}{Notice}%
-\tud@locale@english{\contactpersonname}{Contact}%
\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
new file mode 100644
index 00000000000..ae2f2d7719a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty
@@ -0,0 +1,1533 @@
+%%
+%% This is file `tudscrtutorial.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tudscr-version.dtx (with options: `package,tutorial')
+%% tudscr-manual.dtx (with options: `package,tutorial,identify')
+%% tudscr-base.dtx (with options: `package,tutorial,load')
+%% tudscr-manual.dtx (with options: `package,tutorial,option')
+%% tudscr-misc.dtx (with options: `package,tutorial,execute')
+%% tudscr-manual.dtx (with options: `package,tutorial,body')
+%% tudscr-misc.dtx (with options: `package,tutorial,xindy')
+%%
+%% ============================================================================
+%%
+%% TUD-KOMA-Script
+%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016
+%%
+%% ============================================================================
+%%
+%% This work may be distributed and/or modified under the conditions of the
+%% LaTeX Project Public License, version 1.3c of the license. The latest
+%% version of this license is in http://www.latex-project.org/lppl.txt and
+%% version 1.3c or later is part of all distributions of LaTeX 2005/12/01
+%% or later and of this work. This work has the LPPL maintenance status
+%% "author-maintained". The current maintainer and author of this work
+%% is Falk Hanisch.
+%%
+%% ----------------------------------------------------------------------------
+%%
+%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+%% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+%% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+%% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+%% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status
+%% "author-maintained", wird somit allein durch den Autor verwaltet. Der
+%% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
+%%
+%% ============================================================================
+%%
+%%% From File: tudscr-version.dtx
+\begingroup
+ \catcode`\@11\relax
+ \ifx\TUD@Version\undefined
+ \newcommand*\TUD@Version@Check[1]{%
+ \gdef\TUD@Version{#1}%
+ \gdef\TUDScriptVersion{#1}%
+ \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}%
+ }
+ \else
+ \newcommand*\TUD@Version@Check[1]{%
+ \def\@tempa{#1}%
+ \ifx\TUD@Version\@tempa\else%
+ \@latex@warning@no@line{%
+ \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
+ but `#1' was expected!\MessageBreak%
+ You should not use classes, packages or files from\MessageBreak%
+ different TUD-KOMA-Script-Bundle versions%
+ }%
+ \fi%
+ }
+ \fi
+ \TUD@Version@Check{2016/07/26 v2.05 TUD-KOMA-Script}
+\endgroup
+\NeedsTeXFormat{LaTeX2e}
+\providecommand*\tudscrmail{tudscr@gmail.com}
+\@ifundefined{TUD@Class@Name}{%
+ \PackageError{%
+ tudscrtutorial%
+ }{Unsupported class found}{%
+ This package can only be used with a class out of the\MessageBreak%
+ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
+ }%
+ \endinput
+}{}
+\@ifundefined{TUDScript}{%
+ \DeclareRobustCommand\TUDScript{%
+ \ifdin{TUD-KOMA-SCRIPT}{%
+ \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript%
+ }\csname xspace\endcsname%
+ }%
+}{}
+%%% From File: tudscr-manual.dtx
+\ProvidesPackage{tudscrtutorial}[%
+ 2016/07/26 v2.05 TUD-KOMA-Script
+ package (internal tutorials)%
+]
+%%% From File: tudscr-base.dtx
+\RequirePackage{tudscrbase}[\TUD@Version]
+%%% From File: tudscr-manual.dtx
+\TUD@key{final}[true]{%
+ \TUD@set@ifkey{final}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \let\tudfinalflag\relax%
+ \fi%
+ \fi%
+}
+\TUD@key{print}[true]{%
+ \TUD@set@ifkey{print}{@tempswa}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \if@tempswa%
+ \let\tudprintflag\relax%
+ \fi%
+ \fi%
+}
+\AtEndPreamble{%
+ \ifdef{\tudfinalflag}{%
+ \TUDoptions{ToDo=false}%
+ \TUD@key{ToDo}{}%
+ }{}%
+ \ifdef{\tudprintflag}{%
+ \ifnum\tud@cd@num>\z@\relax%
+ \TUDoptions{cd=true}%
+ \fi%
+ \TUD@key{cd}{}%
+ \ifundef{\hypersetup}{}{\hypersetup{hidelinks}}%
+ }{}%
+}
+\newif\if@tud@todo
+\newcommand*\tud@todo@type@pos{}
+\let\tud@todo@type@pos\relax
+\newcommand*\tud@todo@type@neg{}
+\let\tud@todo@type@neg\relax
+\TUD@key{ToDo}[true]{%
+ \TUD@set@ifkey{ToDo}{@tud@todo}{#1}%
+ \ifx\FamilyKeyState\FamilyKeyStateProcessed%
+ \let\tud@todo@type@pos\relax%
+ \let\tud@todo@type@neg\relax%
+ \else%
+ \def\@tempa not##1##2##3##4\@nil{%
+ \ifstr{##1##2##3}{not}{%
+ \if\relax##4\relax\else%
+ \listeadd\tud@todo@type@neg{##4}%
+ \@tud@todotrue%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }{%
+ \if\relax##1\relax\else%
+ \listeadd\tud@todo@type@pos{##1##2##3##4}%
+ \@tud@todotrue%
+ \FamilyKeyStateProcessed%
+ \fi%
+ }%
+ }%
+ \edef\@tempb{not\trim@spaces{#1}}%
+ \expandafter\@tempa\@tempb\@empty\@empty\@empty\@nil%
+ \fi%
+}
+%%% From File: tudscr-misc.dtx
+\KOMAoptions{headings=small}
+\TUDoptions{cdfoot=true}
+\TUDExecuteOptions{ToDo=true}
+\TUDProcessOptions\relax
+%%% From File: tudscr-manual.dtx
+\PassOptionsToPackage{log-declarations=false}{xparse}
+\RequirePackage{xparse}[2013/12/31]
+\RequirePackage{scrhack}[2014/02/27]
+\RequirePackage{babel}[2014/03/24]
+\PassOptionsToPackage{quiet}{marginnote}
+\RequirePackage{marginnote}[2012/03/29]
+\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}
+\AtBeginDocument{%
+ \iflanguageloaded{english}{%
+ \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
+ }{}%
+}
+\RequirePackage{ifluatex}[2016/05/16]
+\ifluatex
+ \RequirePackage{pdftexcmds}[2016/05/21]
+ \let\pdfstrcmp\pdf@strcmp
+ \let\pdfshellescape\pdf@shellescape
+\fi
+\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\pdfstrcmp{#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}%
+\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref}
+\PassOptionsToPackage{open,openlevel=0}{bookmark}
+\AfterPackage*{hyperref}{%
+ \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}%
+ \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}%
+ \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}%
+ \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}%
+ \newcommand*\tud@manualname{tudscr}%
+ \newcommand*\tudhyperref[2]{%
+ \hyperref{../\tud@manualname.pdf}{\tud@manualname}{#1}{#2}%
+ }%
+ \newcommand*\autorefname[1][current]{%
+ \ifstr{#1}{current}{%
+ \expandafter\HyPsd@@autorefname\@currentHref\@nil%
+ }{%
+ \auto@refname\HyPsd@@autorefname{#1}%
+ }%
+ \unskip\xspace%
+ }%
+ \newcommand*\auto@refname[2]{%
+ \expandafter\ifx\csname r@#2\endcsname\relax%
+ ??%
+ \else%
+ \expandafter\expandafter\expandafter\auto@@refname%
+ \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil%
+ \fi%
+ }%
+ \newcommand*\auto@@refname{}%
+ \def\auto@@refname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil}%
+}
+\TUD@UnwindPackage{hyperref}{%
+ \PackageWarningNoLine{tudscrtutorial}%
+ {%
+ It is strongly recommended to load package `hyperref'.\MessageBreak%
+ Nevertheless, essential commands are rudimentarily\MessageBreak%
+ defined. At least the package `url' is loaded.%
+ }%
+ \RequirePackage{url}[2013/09/16]%
+ \providecommand*\hypersetup[1]{}%
+ \providecommand*\hyperdef[3]{\label{#1.#2}#3}%
+ \providerobustcmd*\hyperref{%
+ \kernel@ifnextchar[{\tud@hyperref@a}{\tud@hyperref@b}%
+ }
+ \newcommand*\tud@hyperref@a[2][]{#2}
+ \newcommand*\tud@hyperref@b[4]{#4}
+ \providecommand*\href[3][]{#3}%
+ \providecommand*\hyperpage[1]{#1}%
+ \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}%
+ \providecommand*\phantomsection{}%
+ \providecommand*\texorpdfstring[2]{#1}%
+ \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}%
+ \providecommand*\Email[1]{\mbox{#1}}%
+ \providecommand*\tudhyperref[2]{#2}%
+ \providecommand*\autorefname[1][]{??\xspace}%
+}
+\RequirePackage{varioref}[2011/10/02]
+\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}}
+\newcommand*\hrfn[2]{%
+ \href{#1}{\trim@spaces{#2}}%
+ \footnote{%
+ \scalebox{0.95}{%
+ \def\_{_}%
+ \edef\@tempa{#1}%
+ \strut\expandafter\url\expandafter{\@tempa}%
+ }%
+ }%
+}
+\AfterPackage*{hyperref}{%
+ \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{%
+ \let\bbl@info\@gobble\csname HyPsd@babel@%
+ }{}{\tud@patch@wrn{pdfstringdef}}%
+}
+\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]}
+\TUD@UnwindPackage{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]}
+\newrobustcmd*\bsc{\@backslashchar}
+\newrobustcmd*\suffix[1]{\begingroup~\scriptsize(#1)\endgroup}
+\newcommand*\NewExpandableDocumentCommand[3]{%
+ \NewDocumentCommand#1{#2}{#3}%
+ \DeclareExpandableDocumentCommand#1{#2}{#3}%
+}
+\newcommand*\ProcessorKeyVal[1]{%
+ \begingroup%
+ \in@{=}{#1}%
+ \ifin@%
+ \def\@tempa##1=##2\@nil{\toks@{{##1}=##2=}}%
+ \else%
+ \def\@tempa##1\@nil{\toks@{{##1}}}%
+ \fi%
+ \@tempa#1\@nil%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand\ProcessedArgument{\the\toks@}%
+ }%
+ \tud@reserved%
+}
+\newcommand*\tud@keyval@error{%
+ \PackageError{tudscrtutorial}%
+ {Wrong usage of optional argument for value}%
+ {There are two optional arguments for a value given!}%
+}
+\newenvironment{Bundle}[1]{%
+ \tud@if@bdl{%
+ \PackageError{tudscrtutorial}%
+ {Nested environment `Bundle'}{%
+ It is not possible to nest this environment, when\MessageBreak%
+ a cross-label was given before.%
+ }%
+ }{%
+ \gdef\tud@bdl@curr{#1}%
+ }%
+ \ignorespaces%
+}{%
+ \global\let\tud@bdl@curr\tud@bdl@dflt%
+ \aftergroup\ignorespaces%
+}
+\newcommand*\tud@bdl@curr{}
+\newcommand*\tud@bdl@dflt{tudscr}
+\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||}{%
+ \Markup@SetFormat{\sbsfont}%
+ \IfValueTF{#4}{%
+ \Process@Markup{\Application{#2}}(#3)<#4>%
+ }{%
+ \Process@Markup{\Application{#2}}(#3)%
+ }%
+ \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#4|%
+}
+\NewExpandableDocumentCommand\@Distribution{sm}{#2}
+\NewDocumentCommand\Distribution{smod()d||}{%
+ \Markup@SetFormat{\sbnfont}%
+ \IfValueTF{#3}{%
+ \Process@Markup{\Distribution{#2}}[~#3](#4)%
+ }{%
+ \Process@Markup{\Distribution{#2}}(#4)%
+ }%
+ \Process@Index{#1}{\Distribution{#2}}[Distribution](#4)|#5|%
+}
+\NewExpandableDocumentCommand\@Engine{sm}{#2}
+\NewDocumentCommand\Engine{smd()d||}{%
+ \Markup@SetFormat{\sbnfont}%
+ \Process@Markup{\Engine{\hologo{#2}}}(#3)%
+ \Process@Index{#1}{\Engine{#2}}[Textsatzsystem](#3)|#4|%
+}
+\NewExpandableDocumentCommand\@File{sm}{#2}
+\NewDocumentCommand\File{smd()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||}{%
+ \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||}{%
+ \Markup@SetFormat{\sbnfont}%
+ \IfValueTF{#4}{%
+ \Process@Markup{\Package{#2}}(#3)<#4>'#5'%
+ }{%
+ \Process@Markup{\Package{#2}}(#3)<#2>'#5'%
+ }%
+ \Process@Index{#1}{\Package{#2}}[Paket](#3)|#6|%
+}
+\NewExpandableDocumentCommand\@Option{sm}{#2}
+\NewDocumentCommand\Option{s>{\ProcessorKeyVal}md==d()d''d||}{%
+ \Option@Value{#1}#2=#3=(#4)'#5'|#6|%
+}
+\NewDocumentCommand\Option@Value{mmd==d==d()d''d||}{%
+ \IfValueT{#4}{\tud@keyval@error}%
+ \Markup@SetFormat{\ttfamily}%
+ \Process@Markup{\Option{#2}}=#3=(#5)'#6'%
+ \Process@Index{#1}{\Option{#2}}=#3=(#5)|#7|%
+}
+\NewExpandableDocumentCommand\@Environment{sm}{#2}
+\NewDocumentCommand\Environment{smod()d''d||}{%
+ \Markup@SetFormat{\ttfamily}(%
+ \ttfamily\bsc{}begin\textbraceleft#2\textbraceright\IfValueT{#3}{#3}%
+ \tabularnewline\ttfamily\dots%
+ \tabularnewline\ttfamily\bsc{}end\textbraceleft#2\textbraceright%
+ )%
+ \Process@Markup{\Environment{#2}}[#3](#4)'#5'%
+ \Process@Index{#1}{\Environment{#2}}[Umgebung](#4)|#6|%
+}
+\NewExpandableDocumentCommand\@Macro{sm}{#2}
+\NewDocumentCommand\Macro{smod()d''d||}{%
+ \Markup@SetFormat{\ttfamily\bsc}%
+ \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]%
+ \Process@Markup{\Length{#2}}(#3)'#4'%
+ \Process@Index{#1}{\Length{#2}}[L\"ange](#3)|#5|%
+}
+\NewExpandableDocumentCommand\@Counter{sm}{#2}
+\NewDocumentCommand\Counter{smd()d''d||}{%
+ \Markup@SetFormat{\ttfamily}[Z\"ahler]%
+ \Process@Markup{\Counter{#2}}(#3)'#4'%
+ \Process@Index{#1}{\Counter{#2}}[Z\"ahler](#3)|#5|%
+}
+\NewDocumentCommand\tud@attr@get{smm}{%
+ \begingroup%
+ \def\@tempa##1##2##3{%
+ \def##1####1{%
+ \edef\@tempb{\IfBooleanTF{#1}{##2}{##3}}%
+ }%
+ }%
+ \@tempa\Application{\jobname}{app}%
+ \@tempa\Distribution{\jobname}{dst}%
+ \@tempa\Engine{\jobname}{eng}%
+ \@tempa\File{files}{fle}%
+ \@tempa\Class{files}{cls}%
+ \@tempa\Package{files}{pkg}%
+ \@tempa\Option{options}{opt}%
+ \@tempa\Environment{macros}{env}%
+ \@tempa\Macro{macros}{cmd}%
+ \@tempa\Length{misc}{len}%
+ \@tempa\Counter{misc}{cnt}%
+ #3%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand#2{\@tempb}%
+ }%
+ \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}}
+\newrobustcmd*\PSet{\PName{Einstellung}}
+\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}}
+\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}}
+\newrobustcmd*\Parameter[1]{%
+ \mbox{\texttt{\textbraceleft}\PName{#1}\texttt{\textbraceright}}%
+}
+\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}}
+\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}}
+\newrobustcmd*\OLParameter[1]{%
+ \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}%
+}
+\newrobustcmd*\PParameter[1]{\mbox{\texttt{\textbraceleft#1\textbraceright}}}
+\newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}}
+\newrobustcmd*\textOR{\PValue{\,\textbardbl\,}}
+\newcommand*\tud@doifPValue[3][]{%
+ \IfValueT{#2}{%
+ \begingroup%
+ \let\PValue\@firstofone%
+ \let\PName\@gobble%
+ \let\PValueName\@firstofone%
+ \let\PSet\@empty%
+ \let\PBoolean\@empty%
+ \let\PBName\@gobble%
+ \let\Parameter\@gobble%
+ \let\OParameter\@gobble%
+ \let\LParameter\@empty%
+ \let\OLParameter\@gobble%
+ \let\PParameter\@gobble%
+ \let\POParameter\@gobble%
+ \let\textOR\relax%
+ \let\emph\@firstofone%
+ #1%
+ \ifxblank{#2}{%
+ \let\tud@reserved\endgroup%
+ }{%
+ \protected@edef\tud@reserved{\noexpand\endgroup#3}%
+ }%
+ \tud@reserved%
+ }%
+}
+\NewDocumentCommand\Markup@Gobble{s}{%
+ \let\Application\@Application%
+ \let\Distribution\@Distribution%
+ \let\Engine\@Engine%
+ \let\File\@File%
+ \let\Class\@Class%
+ \let\Package\@Package%
+ \let\Option\@Option%
+ \let\Environment\@Environment%
+ \let\Macro\@Macro%
+ \let\Length\@Length%
+ \let\Counter\@Counter%
+ \IfBooleanF{#1}{%
+ \let\PValue\@firstofone%
+ \let\PName\@firstofone%
+ \let\PValueName\@firstofone%
+ \let\PSet\relax%
+ \let\PBoolean\relax%
+ \let\PBName\@firstofone%
+ \let\Parameter\@firstofone%
+ \let\OParameter\@firstofone%
+ \let\LParameter\relax%
+ \let\OLParameter\@firstofone%
+ \let\PParameter\@firstofone%
+ \let\POParameter\@firstofone%
+ \let\textOR\relax%
+ \let\hologoRobust\@firstofone%
+ \def\TUDScript{TUD-KOMA-Script}%
+ \def\_{-}%
+ \protected\def~{~}%
+ }%
+}
+\AfterPackage*{hyperref}{%
+ \expandafter\pdfstringdefDisableCommands\expandafter{\Markup@Gobble}%
+}
+\newcommand*\tud@lbl@tmp{}
+\newcommand*\tud@lbl@fmt{%
+ \def~{-}%
+ \let\IeC\@firstofone%
+ \def\"##1{##1e}%
+ \def\ss{ss}%
+ \let\NoCaseChange\@firstofone%
+}
+\NewDocumentCommand\tud@lbl@get@curr{%
+ sm>{\tud@lbl@create}>{\SplitArgument{2}{:}}md==%
+}{%
+ \tud@lbl@get@@curr#2{#3}=#4=%
+}
+\NewDocumentCommand\tud@lbl@get@@curr{mmd==}{%
+ \def#1{#2}%
+ \tud@doifPValue[\tud@lbl@fmt]{#3}{\noexpand\appto\noexpand#1{=#3}}%
+}
+\NewDocumentCommand\tud@lbl@get@dflt{m>{\SplitArgument{2}{:}}mr==}{%
+ \tud@lbl@get@@dflt{#1}#2=#3=%
+}
+\NewDocumentCommand\tud@lbl@get@@dflt{mmmmr==}{%
+ \edef\tud@reserved{\expandafter\detokenize\expandafter{\tud@bdl@dflt}}%
+ \ifstr{\tud@reserved}{#2}{}{%
+ \tud@lbl@get@curr#1{\tud@bdl@dflt:#3:#4}=#5=%
+ }%
+}
+\NewDocumentCommand\tud@lbl@create{m}{\tud@lbl@@create#1}
+\NewDocumentCommand\tud@lbl@@create{mmm}{%
+ \begingroup%
+ \Markup@Gobble%
+ \tud@lbl@fmt%
+ \IfValueTF{#3}{%
+ \edef\@tempa{#1:#2:#3}%
+ }{%
+ \IfValueTF{#2}{%
+ \tud@attr@get\@tempb{#2}%
+ \IfValueTF{#1}{%
+ \ifxblank{#1}{%
+ \edef\@tempa{\tud@bdl@dflt:\@tempb:#2}%
+ }{%
+ \edef\@tempa{#1:\@tempb:#2}%
+ }%
+ }{%
+ \edef\@tempa{\tud@bdl@curr:\@tempb:#2}%
+ }%
+ }{%
+ \edef\@tempa{#1}%
+ }%
+ }%
+ \edef\@tempc{%
+ \noexpand\endgroup%
+ \def\noexpand\ProcessedArgument{%
+ \expandafter\detokenize\expandafter{\@tempa}%
+ }%
+ }%
+ \@tempc%
+}
+\newcommand*\Markup@Suppress{\let\Process@Markup\Markup@@Suppress}
+\NewDocumentCommand\Markup@@Suppress{md==od()d<>d''}{}
+\NewDocumentCommand\Process@Markup{md==od()d<>d''}{%
+ \tud@toks@{\Process@@MarkupInline}%
+ \tud@lbl@get@curr\tud@lbl@tmp{#4:#1}=#2=%
+ \eaddto@hook\tud@toks@{\expandafter{\tud@lbl@tmp}}%
+ \begingroup%
+ \Markup@Gobble*%
+ \protected@edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand\tud@reserved{#1}%
+ }%
+ \tud@reserved%
+ \eaddto@hook\tud@toks@{\expandafter{\tud@reserved}}%
+ \IfValueT{#2}{\addto@hook\tud@toks@{=#2=}}%
+ \IfValueT{#3}{\addto@hook\tud@toks@{[#3]}}%
+ \if@tud@index\else%
+ \IfValueT{#5}{%
+ \ifxblank{#5}{}{\addto@hook\tud@toks@{<http://www.ctan.org/pkg/#5>}}%
+ }%
+ \IfValueT{#6}{\addto@hook\tud@toks@{'#6'}}%
+ \fi%
+ \the\tud@toks@%
+}
+\NewDocumentCommand\Process@@MarkupInline{mmd==od<>d''}{%
+ \Markup@CheckFormat%
+ \begingroup%
+ \def\@tempc{\Markup@Output{#2}=#3=[#4]}%
+ \let\@tempa\@tempc%
+ \IfValueT{#5}{\def\@tempa{\href{#5}{\@tempc}}}%
+ \let\@tempb\relax%
+ \IfValueT{#6}{%
+ \ifstr{#6}{none}{\let\@tempa\@tempc}{%
+ \ifstr{#6}{manual}{\def\@tempa{\tudhyperref{#1}{\@tempc}}}{%
+ \def\@tempb{%
+ \ClassWarning{tudscrmanual}{%
+ You've used the unknown cross-reference\MessageBreak%
+ shorthand '#6'. Only 'none' and 'manual'\MessageBreak%
+ are valid%
+ }%
+ }%
+ }%
+ }%
+ }%
+ \ifdin{\@tempc}{\@tempa\@tempb}%
+ \endgroup%
+ \Markup@ClearFormat%
+}
+\NewDocumentCommand\Markup@Output{>{\SplitArgument{1}{!}}md==o}{%
+ \Markup@@Output#1=#2=[#3]%
+}
+\NewDocumentCommand\Markup@@Output{mmd==o}{%
+ \tud@toks@{\Markup@Inline}%
+ \IfValueTF{#2}{%
+ \def\@tempa{#2}%
+ }{%
+ \def\@tempa{#1}%
+ }%
+ \IfValueT{#3}{\appto\@tempa{=#3}}%
+ \IfValueT{#4}{\appto\@tempa{#4}}%
+ \eaddto@hook\tud@toks@{\expandafter{\@tempa}}%
+ \the\tud@toks@%
+}
+\newcommand*\Markup@Inline[1]{\mbox{\Markup@Format{#1}}}
+\newcommand*\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}}%
+ }%
+}
+\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%
+ \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.%
+ }%
+ \fi%
+}
+\PassOptionsToPackage{xindy,splitindex}{imakeidx}
+\RequirePackage{imakeidx}[2013/07/11]
+\indexsetup{%
+ level=\subsection*,%
+ noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},%
+ othercode={\renewcommand*\subitem{\@idxitem\hspace*{15\p@}}}%
+}
+\ifimki@original\else%
+ \CheckCommand\theindex{%
+ \imki@maybeaddtotoc
+ \imki@indexlevel{\indexname}\imki@indexheaders
+ \thispagestyle{\imki@firstpagestyle}%
+ \ifnum\imki@columns>\@ne
+ \columnsep \imki@columnsep
+ \ifx\imki@idxprologue\relax
+ \begin{multicols}{\imki@columns}
+ \else
+ \begin{multicols}{\imki@columns}[\imki@idxprologue]
+ \fi
+ \else
+ \imki@idxprologue
+ \fi
+ \global\let\imki@idxprologue\relax
+ \parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \columnseprule \ifKV@imki@columnseprule.4\p@\else\z@\fi
+ \raggedright
+ \let\item\@idxitem
+ \imki@othercode%
+ }%
+ \patchcmd{\theindex}{%
+ \imki@indexlevel{\indexname}\imki@indexheaders%
+ }{%
+ \imki@indexheaders%
+ }{}{\tud@patch@wrn{theindex}}%
+ \patchcmd{\theindex}{%
+ \ifnum\imki@columns>\@ne
+ \columnsep \imki@columnsep
+ \ifx\imki@idxprologue\relax
+ \begin{multicols}{\imki@columns}
+ \else
+ \begin{multicols}{\imki@columns}[\imki@idxprologue]
+ \fi
+ \else
+ \imki@idxprologue
+ \fi
+ }{%
+ \ifnum\imki@columns>\@ne\relax%
+ \columnsep \imki@columnsep%
+ \ifx\imki@idxprologue\relax%
+ \begin{multicols}{\imki@columns}[\imki@indexlevel{\indexname}]%
+ \else%
+ \begin{multicols}{\imki@columns}[%
+ \imki@indexlevel{\indexname}%
+ \imki@idxprologue%
+ ]%
+ \fi%
+ \else%
+ \imki@indexlevel{\indexname}\imki@idxprologue%
+ \fi%
+ }{}{\tud@patch@wrn{theindex}}%
+\fi%
+\newrobustcmd*\cleversee{\tud@cleversee{\seename}}
+\newrobustcmd*\cleverseealso{%
+ \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}%
+ \tud@cleversee{\alsoname}%
+}
+\newcommand*\tud@cleversee{}
+\def\tud@cleversee#1#2#3\relax{%
+ \IfArgIsEmpty{#3}{%
+ \emph{#1}\space#2%
+ }{%
+ #3, \emph{\alsoname}\space#2%
+ }%
+}
+\NewDocumentCommand\makexdyindex{somo}{%
+ \let\@tempb\@empty%
+ \protected@edef\@tempa{%
+ title={#3},%
+ columnsep=\noexpand\f@size\noexpand\p@,%
+ \IfValueTF{#4}{%
+ name={#4},%
+ options={-M \@currname-ind.xdy -L german-din -t \jobname-#4.xlg \@tempb},%
+ }{%
+ options={-M \@currname-ind.xdy -L german-din -t \jobname.xlg},%
+ }%
+ \IfValueT{#2}{#2}%
+ }%
+ \expandafter\makeindex\expandafter[\@tempa]%
+}
+\makexdyindex{Allgemeiner Index}
+\makexdyindex*{Klassen- und Paketoptionen}[options]
+\makexdyindex*{Befehle und Umgebungen mit zugeh\"origen Parametern}[macros]
+\makexdyindex{L\"angen und Z\"ahler}[misc]
+\makexdyindex*{Klassen, Pakete und Dateien}[files]
+\undef\makexdyindex
+\newif\if@tud@index
+\addtoeachtocfile{\protect\@tud@indextrue}
+\newcommand*\tud@idx@key{}
+\newcommand*\tud@idx@fmt{}
+\newcommand*\tud@idx@val{}
+\newcommand*\tud@idx@bdl{}
+\NewDocumentCommand\tud@idx@get{smmmmr==r[]r()d||}{%
+ \begingroup%
+ \begingroup%
+ \Markup@Gobble%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand#2{#5}%
+ }%
+ \tud@reserved%
+ \def#3{#5}%
+ \tud@replace#2{@}{"@}%
+ \tud@replace#3{@}{"@}%
+ \let\tud@idx@bdl\tud@bdl@dflt%
+ \IfValueTF{#8}{%
+ \def\tud@idx@bdl{#8}%
+ }{%
+ }%
+ \let\@tempa\@empty%
+ \let\@tempb\@empty%
+ \let\@tempc\@empty%
+ \@tempswatrue%
+ \ifx\tud@idx@bdl\tud@bdl@dflt%
+ \@tempswafalse%
+ \else%
+ \IfBooleanT{#1}{\@tempswafalse}%
+ \edef\@tempb{(\expandonce\tud@idx@bdl)}%
+ \fi%
+ \let\@tempc\@tempb%
+ \IfValueT{#7}{%
+ \appto\@tempa{ #7}%
+ \appto\@tempb{\suffix{#7}}%
+ }%
+ \if@tempswa%
+ \begingroup%
+ \Markup@Gobble%
+ \edef\tud@reserved{%
+ \noexpand\endgroup%
+ \noexpand\appto\noexpand\@tempa{ \tud@idx@bdl}%
+ }%
+ \tud@reserved%
+ \eappto\@tempb{\suffix{\expandonce\tud@idx@bdl}}%
+ \fi%
+ \@tempswafalse%
+ \IfBooleanT{#1}{\@tempswatrue}%
+ \IfValueT{#9}{\ifstr{#9}{declare}{\@tempswatrue}{}}%
+ \IfValueT{#9}{\ifstr{#9}{default}{\@tempswatrue}{}}%
+ \if@tempswa%
+ \protected@eappto#2{\expandonce\@tempa}%
+ \tud@doifPValue{#6}{\noexpand\appto\noexpand#2{=#6}}%
+ \protected@eappto#3{\IfValueT{#6}{=#6=}\expandonce\@tempb}%
+ \else%
+ \tud@doifPValue{#6}{\noexpand\@tempswatrue}%
+ \if@tempswa%
+ \eappto#4{%
+ \expandonce#2\expandonce\@tempa{}@%
+ \expandonce#3\expandonce\@tempb{}!%
+ }%
+ \appto#2{=#6}%
+ \appto#3{=#6=}%
+ \protected@eappto#3{\expandonce\@tempc}%
+ \else%
+ \protected@eappto#2{\expandonce\@tempa}%
+ \protected@eappto#3{\expandonce\@tempb}%
+ \fi%
+ \fi%
+ \let\emph\@firstofone%
+ \protected@edef\tud@reserved{%
+ \noexpand\endgroup%
+ \def\noexpand#2{#2}%
+ \def\noexpand#3{#3}%
+ \def\noexpand#4{#4}%
+ }%
+ \tud@reserved%
+}
+\NewDocumentCommand\Process@Index{mmd==od()d||}{%
+ \ifboolexpr{%
+ bool {@tud@index}%
+ }{}{%
+ \IfBooleanTF{#1}{%
+ \IfValueT{#6}{%
+ \ClassWarning{tudscrmanual}{%
+ You've used the starred version. No index entry\MessageBreak%
+ for #2 is created. The\MessageBreak%
+ optional argument |#6| will be ignored%
+ }%
+ }%
+ }{%
+ \Process@@Index{#2}=#3=[#4](#5)|#6|%
+ }%
+ }%
+}
+\NewDocumentCommand\Process@@Index{mr==r[]r()r||}{%
+ \tud@idx@get\tud@idx@key\tud@idx@fmt\tud@idx@val{#1}=#2=[#3](#4)|#5|%
+ \tud@attr@get*\tud@lbl@tmp{#1}%
+ \IfValueT{#5}{%
+ \appto\tud@idx@fmt{|#5}%
+ }%
+ \index[\tud@lbl@tmp]{\tud@idx@val\tud@idx@key{}@\tud@idx@fmt}%
+}
+\newcommand*\PrintIndex{%
+ \begingroup%
+ \providecommand*\lettergroup[1]{%
+ \par\textbf{\textsf{##1}}\par%
+ \nopagebreak%
+ }%
+ \begingroup%
+ \let\lettergroup\@gobble%
+ \let\indexspace\relax%
+ \print@index%
+ \endgroup%
+ \print@index[options]%
+ \print@index[macros]%
+ \begingroup%
+ \let\lettergroup\@gobble%
+ \let\indexspace\relax%
+ \print@index[misc]%
+ \endgroup%
+ \print@index[files]%
+ \endgroup%
+}
+\newcommand*\tud@idx@skip{%
+ \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
+}
+\newcommand*\print@index[1][]{%
+ \pagebreak[3]%
+ \@tud@indextrue%
+ \indexprologue[\tud@idx@skip]{}%
+ \ifblank{#1}{\printindex}{\printindex[#1]}%
+ \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
+}
+\newcommand*\tud@write@a{}
+\newwrite\tud@write@a
+\newcommand*\tud@write@b{}
+\newwrite\tud@write@b
+\newcommand*\tud@read{}
+\newread\tud@read
+\RequirePackage{listings}[2014/03/04]
+\lstdefinestyle{tudscr}{%
+ basicstyle=\ttfamily\ifdef{\setstretch}{\setstretch{1}}{},%
+ keywordstyle=,%
+ columns=fullflexible,keepspaces,%
+ aboveskip=\smallskipamount,%
+ belowskip=\smallskipamount,%
+ language=[LaTeX]TeX,%
+ texcl,%
+}
+\RequirePackage{filemod}[2011/09/19]
+\RequirePackage{ifplatform}[2010/10/22]
+\newcommand*\tud@shellescape@wrn[1]{%
+ \PackageWarning{tudscrtutorial}%
+ {%
+ File `#1' is missing!\MessageBreak%
+ You have to recompile this document with\MessageBreak%
+ activated shell escape option%
+ }%
+}
+\newcommand*\Tutorial[1]{\href{#1.pdf}{\textsbn{#1.pdf}}}
+\newcommand*\tud@tut@temp{}
+\edef\tud@tut@temp{\@currname-temp}
+\newcommand*\tud@tut@readtostream[2]{%
+ \begingroup%
+ \endlinechar=-1\relax%
+ \openin\tud@read=#1%
+ \@tempswafalse%
+ \loop\unless\ifeof\tud@read%
+ \readline\tud@read to\tud@reserved%
+ \ifx\tud@reserved\@empty%
+ \ifeof\tud@read\@tempswafalse\fi%
+ \else%
+ \@tempswatrue%
+ \fi%
+ \if@tempswa%
+ \immediate\write#2{\expandonce\tud@reserved}%
+ \fi%
+ \ifx\tud@reserved\@empty\@tempswafalse\fi%
+ \repeat%
+ \closein\tud@read%
+ \endgroup%
+}
+\newcommand*\tud@tut@append[1]{%
+ \ifstr{#1}{preamble}{%
+ \tud@tut@readtostream{\tud@tut@temp.tex}{\tud@write@a}%
+ }{%
+ \ifstr{#1}{trunk}{%
+ \tud@tut@readtostream{\tud@tut@temp.tex}{\tud@write@b}%
+ }{%
+ \tud@tut@readtostream{\tud@tut@temp.tex}{#1}%
+ }%
+ }%
+}
+\TUDoptions{headingsvskip=-10ex}
+\newcommand\StartTutorial[1][%
+ Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse
+ als auch die f\"ur jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach
+ sinnvollen Pakete geladen.%
+]{%
+ \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}%
+ \faculty{}%
+ \maketitle\noindent#1%
+ \immediate\openout\tud@write@a=\tud@tut@temp-preamble.tex\relax%
+ \immediate\openout\tud@write@b=\tud@tut@temp-trunk.tex\relax%
+ \immediate\write\tud@write@b{^^J\string\begin{document}^^J}
+}
+\newcommand\FinishTutorial[1][]{%
+ \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%
+ \tud@tut@readtostream{\tud@tut@temp-preamble.tex}{\tud@write@a}%
+ \tud@tut@readtostream{\tud@tut@temp-trunk.tex}{\tud@write@a}%
+ \immediate\closeout\tud@write@a%
+ \clearpage%
+ \addsec{Copy\nobreakspace\&\nobreakspace{}Paste}%
+ \pagestyle{empty}%
+ Zum Ende des Dokumentes wird das vorgestellte Tutorial als \"ubersetzbarer
+ Quelltext ausgegeben, um dieses via Copy~\&~Paste verwenden und alle Punkte
+ nachvollziehen zu k\"onnen. Bitte beachten Sie, dass~-- abh\"angig vom
+ genutzten PDF-Betrachter~-- beim Kopieren die dargestellten Einz\"uge und
+ Abs\"atze m\"oglicherweise verloren gehen k\"onnen. Dies kann insbesondere
+ aufgrund fehlender Leerzeilen zu einem unvorteilhaften Ausgabeergebnis
+ f\"uhren. Alternativ finden Sie den folgenden \hologo{LaTeX}-Quelltext auch
+ im Pfad \Path{\PName{texmf}/source/latex/tudscr/doc/examples/} als Datei
+ \File{\jobname-example.tex}. \par #1%
+ %
+ \begin{quoting}[rightmargin=0pt]%
+ \lstinputlisting[style=tudscr]{\jobname-example.tex}%
+ \end{quoting}%
+ %
+ \ifnum\pdfshellescape=\@ne\relax%
+ \ifwindows%
+ \def\@tempa{del}%
+ \else%
+ \def\@tempa{rm}%
+ \fi%
+ \immediate\write18{\@tempa\space\tud@tut@temp*.*}%
+ \fi%
+}
+\newcommand\Code@Preamble{}
+\let\Code@Preamble\relax
+\newcommand\CodePreamble[1]{\long\gdef\Code@Preamble{#1}}
+\newcommand*\Code@Hook{}
+\let\Code@Hook\relax
+\newcommand*\CodeHook[1]{\gdef\Code@Hook{#1}}
+\newcommand*\StandaloneFile{}
+\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%
+ \tud@tut@append{preamble}%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Preamble*}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \tud@tut@append{preamble}%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \tud@tut@input%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Preamble+}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \tud@tut@append{preamble}%
+ \gdef\@tempa{%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Trunk}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \tud@tut@append{trunk}%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Trunk*}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \tud@tut@append{trunk}%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \tud@tut@input%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Trunk+}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \tud@tut@append{trunk}%
+ \gdef\@tempa{%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Trunk!}[1]{%
+ \gdef\StandaloneFile{#1}%
+ \tud@tut@pre%
+}{%
+ \tud@tut@post%
+ \tud@tut@append{trunk}%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \tud@tut@pdf%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Hint}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Hint*}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \tud@tut@input%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Hint?}{\tud@tut@pre}{%
+ \tud@tut@post%
+ \gdef\@tempa{%
+ \InputCode%
+ \tud@tut@lst%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newenvironment{Hint!}[1]{%
+ \gdef\StandaloneFile{#1}%
+ \tud@tut@pre%
+}{%
+ \tud@tut@post%
+ \gdef\@tempa{%
+ \tud@tut@lst%
+ \tud@tut@pdf%
+ \global\let\Code@Preamble\relax%
+ }%
+ \aftergroup\@tempa%
+}
+\newcommand*\tud@tut@lst{%
+ \begin{quoting}[rightmargin=0pt]%
+ \lstinputlisting[style=tudscr]{\tud@tut@temp.tex}%
+ \end{quoting}%
+}
+\newcommand*\tud@tut@input{%
+ \def\@tempa##1##2{%
+ ##1%
+ \begingroup%
+ ##2%
+ \setbox\@tempboxa\hbox{\vbox{##1}}%
+ \@tempdima=\ht\@tempboxa%
+ \setbox\@tempboxa\box\voidb@x%
+ \ifdim\@tempdima>\z@\relax%
+ \endgraf%
+ \vspace{\medskipamount}%
+ \noindent\ignorespaces%
+ \fi%
+ \endgroup%
+ }%
+ \@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%
+}
+\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[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{babel}
+\usepackage{tudscrsupervisor}
+\usepackage{isodate}
+\usepackage{enumitem}
+\setlist{noitemsep}
+\begin{document}
+\ifdefvoid{\StandaloneDate}{}{\date{\StandaloneDate}}%
+\input{\jobname.tex}%
+\end{document}
+\end{filecontents*}
+\DeactivateWarningFilters[Tutorial]%
+\fi
+\newcommand*\tud@tut@pdf{%
+ \ifnum\pdfshellescape=\@ne\relax%
+ \filemodCmp{\jobname-standalone-\StandaloneFile.pdf}{\jobname.tex}{}{%
+ \begingroup%
+ \let\printdate\@firstofone%
+ \edef\@tempa{\expandonce\@date}%
+ \def\@tempb{\today}%
+ \ifx\@tempa\@tempb\relax%
+ \def\@tempb{}%
+ \else%
+ \edef\@tempb{\etex@unexpanded{\def\StandaloneDate}{\@date}}%
+ \fi%
+ \edef\@tempa{%
+ pdflatex -jobname=\tud@tut@temp\space%
+ "\noexpand\unexpanded{\expandonce\@tempb\noexpand\input}%
+ {\tud@tut@temp-standalone.tex}"%
+ }%
+ \immediate\write18{\@tempa^^J\@tempa^^J\@tempa}%
+ \ifwindows%
+ \def\@tempa{rename}%
+ \else%
+ \def\@tempa{mv}%
+ \fi%
+ \immediate\write18{%
+ \@tempa\space\tud@tut@temp.pdf\space%
+ \jobname-standalone-\StandaloneFile.pdf%
+ }%
+ \endgroup%
+ }%
+ \fi%
+ \global\let\StandaloneFile\relax%
+}
+\NewDocumentCommand\IncludeStandalone{omO{1}}{%
+ \IfFileExists{\jobname-standalone-#2.pdf}{%
+ \@tempcnta\z@%
+ \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}%
+ \ifnum\@tempcnta>\z@\relax%
+ \setlength\@tempdima{\textwidth}%
+ \divide\@tempdima\@tempcnta%
+ \advance\@tempcnta\m@ne%
+ \multiply\@tempcnta 2%
+ \addtolength\@tempdima{-\@tempcnta\tabcolsep}%
+ \@for\@tempa:=#3\do{%
+ \advance\@tempcnta\m@ne%
+ \edef\@tempb{%
+ keepaspectratio,page=\@tempa,width=\the\@tempdima,%
+ \IfValueT{#1}{#1}%
+ }%
+ \fbox{%
+ \expandafter\includegraphics\expandafter[\@tempb]{%
+ \jobname-standalone-#2.pdf%
+ }%
+ }%
+ \ifnum\@tempcnta>\z@\relax\hfill\fi%
+ }%
+ \fi%
+ }{%
+ \tud@shellescape@wrn{\jobname-standalone-#2.pdf}%
+ }%
+}
+\AfterPackage*{pstricks}{%
+ \ifnum\pdfshellescape=\@ne\relax%
+ \filemodCmp{\jobname-pics.pdf}{\jobname.tex}{%
+ \PassOptionsToPackage{off}{auto-pst-pdf}%
+ }{}%
+ \else%
+ \PassOptionsToPackage{off}{auto-pst-pdf}%
+ \fi%
+ \RequirePackage{auto-pst-pdf}[2009/04/26]%
+ \ifnum\pdfshellescape=\@ne\relax%
+ \edef\@tempa{\app@exe{\app@rm "*\app@suffix*"}}%
+ \@tempa%
+ \fi%
+}
+\PassOptionsToPackage{obeyFinal}{todonotes}
+\ifdef{\tudprintflag}{%
+ \PassOptionsToPackage{color=white}{todonotes}%
+}{%
+ \PassOptionsToPackage{colorinlistoftodos,color=HKS92!10}{todonotes}%
+}
+\RequirePackage{todonotes}[2012/07/25]
+\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}{%
+ \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}%
+ }{%
+ \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}%
+ }%
+ }%
+ \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}%
+ \IfBooleanT{#1}{\addto@hook\toks@{,nolist}}%
+ \sbox\z@{%
+ \expandafter\todo\expandafter[\the\toks@]{\trim@spaces{#3}\strut}%
+ }\usebox\z@%
+ \renewcommand*\marginpar[2][]{%
+ \marginnote[##1]{##2}[\dimexpr-\ht\z@+1.6ex+1.75pt\relax]%
+ }%
+ \toks@\expandafter{\@tempa noline,nolist}%
+ \settowidth\marginparwidth{\tud@todo@marginnote}%
+ \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}%
+ \expandafter\todo\expandafter[\the\toks@]{\tud@todo@marginnote\strut}%
+ \aftergroup\par\aftergroup\noindent%
+ \fi%
+ \endgroup%
+ \global\let\@currentHref\tud@currentHref%
+ }{}%
+ \ignorespaces%
+ }%
+ \newcommand*\ListOfToDo{\if@tud@todo\clearpage\listoftodos\fi}%
+}
+\TUD@UnwindPackage{todonotes}{%
+ \NewDocumentCommand\ToDo{somo}{}%
+ \newcommand*\ListOfToDo{}%
+}
+\RequirePackage{textcomp}[2005/09/27]
+\RequirePackage{setspace}[2011/12/19]
+\setstretch{1.1}
+\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
+\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
+\PassOptionsToPackage{vskip=\smallskipamount}{quoting}
+\RequirePackage{quoting}[2014/01/28]
+\RequirePackage{isodate}[2010/01/03]
+\RequirePackage{hologo}[2012/04/26]
+\newcommand*\Attention[2][\z@]{%
+ \marginnote{%
+ \setlength\fboxsep{0.25em}
+ \fbox{Achtung!}%
+ }[#1]%
+ \emph{\trim@spaces{#2}}%
+}
+\NewDocumentCommand\Forum{st'}{%
+ \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}{%
+ \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
+ \addto@hook\toks@{{http://www.ctan.org/\IfValueT{#2}{#2}}}%
+ \addto@hook\toks@{%
+ {\tud@english{Comprehensive TeX Archive Network (CTAN\IfValueT{#3}{~#3})}}%
+ }%
+ \the\toks@\xspace%
+}
+\NewDocumentCommand\scrguide{sO{\KOMAScript-Handbuch}}{%
+ \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
+ \addto@hook\toks@{%
+ {http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf}%
+ }%
+ \addto@hook\toks@{{#2}}%
+ \the\toks@\xspace%
+}
+\newcommand*\CD{\tud@english{Corporate Design}\xspace}
+\newcommand*\CDs{\tud@english{Corporate Designs}\xspace}
+\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
+\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
+\newcommand*\TUDCD{\CD der \TnUD}
+\newcommand*\TUDCDs{\CDs der \TnUD}
+\newrobustcmd*\DDC{%
+ \mbox{%
+ D\kern.05em R\kern.05em E\kern.05em S\kern.05em %
+ D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept%
+ }\xspace%
+}
+\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace}
+\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace}
+\newcommand*\textsbn{}
+\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape}
+\DeclareTextFontCommand\textsbn{\sbnfont}
+\newcommand*\textsbs{}
+\newrobustcmd*\sbsfont{\sffamily\bfseries\slshape}
+\DeclareTextFontCommand\textsbs{\sbsfont}
+%%% From File: tudscr-misc.dtx
+\begingroup
+\newcommand*\tud@write@xdy{}
+\newwrite\tud@write@xdy
+\newif\if@tud@xdy@glo
+\newcommand*\tud@xdy@create[2][theindex]{%
+ \IfFileExists{\@currname-#2.xdy}{}{%
+ \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}%
+ \openout\tud@write@xdy=\@currname-#2.xdy\relax%
+ \write\tud@write@xdy{(require "texindy.xdy")}%
+ \write\tud@write@xdy{%
+ (define-location-class^^J%
+ \space\space"arabic-page-numbers" ("arabic-numbers")%
+ \space:min-range-length 1^^J%
+ )^^J%
+ (markup-range :sep "--")%
+ }%
+ \write\tud@write@xdy{%
+ (markup-locclass-list%
+ \space:open "\string\,\string\dotfill\string\,"%
+ \space:close "\string\relax"%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
+ }%
+ \write\tud@write@xdy{%
+ (define-attributes (("declare" "!" "important" "?" "default")))^^J%
+ (markup-locref%
+ \space:attr "declare"\space\space%
+ \space:open "\string\textbf{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "!"\@spaces\@spaces%
+ \space:open "\string\textbf{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "important"%
+ \space:open "\string\textsl{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "?"\@spaces\@spaces%
+ \space:open "\string\textsl{\string\hyperpage{"%
+ \space:close "}}"%
+ )^^J%
+ (markup-locref%
+ \space:attr "default"\space\space%
+ \space:open "\string\hyperpage{"\@spaces\@spaces%
+ \space:close "}"%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (markup-crossref-list :class "see"^^J%
+ \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J%
+ )^^J%
+ (markup-crossref-list :class "seealso"^^J%
+ \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J%
+ )%
+ }%
+ \write\tud@write@xdy{%
+ (markup-crossref-layer-list :class "see"%
+ \@spaces\space:sep "\string\,\string\textbar\string\,"%
+ )^^J%
+ (markup-crossref-layer-list :class "seealso"%
+ \space:sep "\string\,\string\textbar\string\,"%
+ )%
+ }%
+ \closeout\tud@write@xdy%
+ }%
+}
+\tud@xdy@create{ind}
+\endgroup
+\endinput
+%%
+%% End of file `tudscrtutorial.sty'.
diff --git a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
index 33ed2a093d1..f2f423cfba5 100644
--- a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
+++ b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty
@@ -36,7 +36,7 @@
%%% From File: tudscr-twocolfix.dtx
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{twocolfix}[%
- 2016/06/17 v2.04e TUD-KOMA-Script
+ 2016/07/26 v2.05 TUD-KOMA-Script
package
(twocolumn layout bugfix)%
]
@@ -94,9 +94,55 @@
\@floatplacement%
\fi%
}
-\@ifundefined{scr@topnewpage}
- {\let\@topnewpage\@tempa}
- {\let\scr@topnewpage\@tempa}
+\long\def\@tempb[#1]{%
+ \@nodocument
+ \@next\@currbox\@freelist{}{}%
+ \global \setbox\@currbox
+ \color@vbox
+ \normalcolor
+ \vbox {%
+ \hsize\textwidth
+ \@parboxrestore
+ \col@number \@ne
+ #1%
+ \vskip -\dbltextfloatsep
+ }%
+ \color@endbox
+ \ifdim \ht\@currbox>\textheight
+ \ht\@currbox \textheight
+ \fi
+ \global \count\@currbox \tw@
+ \@tempdima -\ht\@currbox
+ \advance \@tempdima -\dbltextfloatsep
+ \global \advance \@colht \@tempdima
+ \ifx \@dbltoplist \@empty
+ \else
+ \@latexerr{Float(s) lost}\@ehb
+ \let \@dbltoplist \@empty
+ \fi
+ \@cons \@dbltoplist \@currbox
+ \global \@dbltopnum \m@ne
+ \ifdim \@colht<2.5\baselineskip
+ \@latex@warning@no@line {Optional argument of \noexpand\twocolumn
+ too tall on page \thepage}%
+ \@emptycol
+ \if@firstcolumn
+ \else
+ \@emptycol
+ \fi
+ \else
+ \global \vsize \@colht
+ \global \@colroom \@colht
+ \@floatplacement
+ \fi
+}
+\@ifundefined{scr@topnewpage}{%
+ \@check@eq\@topnewpage\@tempb%
+ \let\@topnewpage\@tempa%
+}{%
+ \@check@eq\scr@topnewpage\@tempb%
+ \let\scr@topnewpage\@tempa%
+}
\endinput
%%
%% End of file `twocolfix.sty'.