diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls')
-rw-r--r-- | Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls | 1044 |
1 files changed, 543 insertions, 501 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls index 5e6a281e05e..688abca437e 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls @@ -4,21 +4,23 @@ %% %% The original source files were: %% -%% tudscr-version.dtx (with options: `class,manual,inherit') -%% tudscr-manual.dtx (with options: `class,manual') +%% tudscr-version.dtx (with options: `class,manual,identify,inherit') %% tudscr-base.dtx (with options: `class,manual,inherit,load') +%% tudscr-misc.dtx (with options: `class,manual,option') %% tudscr-manual.dtx (with options: `class,manual,option') %% tudscr-misc.dtx (with options: `class,manual,inherit,execute') +%% tudscr-misc.dtx (with options: `class,manual,body') %% tudscr-manual.dtx (with options: `class,manual,body') %% tudscr-fields.dtx (with options: `class,manual,body') %% tudscr-localization.dtx (with options: `class,manual,body') %% tudscr-texindy.dtx (with options: `class,manual') %% %% TUD-Script -- Corporate Design of Technische Universitaet Dresden +%% 2022/08/09 v2.06o TUD-Script %% -%% 2021/07/15 v2.06n TUD-Script -%% -%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2021 +%% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2022 +%% https://github.com/tud-cd/tudscr +%% https://latex.wcms-file3.tu-dresden.de/phpBB3/ %% %% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- @@ -34,73 +36,212 @@ %% %% The current maintainer and author of this work is Falk Hanisch. %% -%%% From File: tudscr-version.dtx +%%%% From File: tudscr-version.dtx (no git version info was found) +\NeedsTeXFormat{LaTeX2e}[2022-06-01] \begingroup - \catcode`\@11\relax - \ifx\TUD@Version\@undefined - \newcommand*\TUD@Version@Check[1]{% + \catcode`\@11\relax% + \ifx\TUD@Version\@undefined% + \newcommand*\TUD@@Version[2]{% \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.32}% - } - \else - \newcommand*\TUD@Version@Check[1]{% + \gdef\TUD@KOMAVersion{#2}% + }% + \else% + \newcommand*\TUD@@Version[2]{% \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-Script-Bundle versions% + different TUD-Script bundle versions% }% \fi% - } - \fi - \TUD@Version@Check{2021/07/15 v2.06n TUD-Script} + }% + \fi% + \TUD@@Version{2022/08/09 v2.06o TUD-Script}{2022/05/01 v3.36 KOMA-Script}% + \ifx\TUDScriptVersion\@undefined% + \xdef\TUDScriptVersion{\TUD@Version}% + \def\@tempa#1 v#2 #3\relax#4\relax#5{\gdef#5{#2}}% + \expandafter\@tempa\TUD@Version ? ?\relax\relax{\TUDScriptVersionNumber}% + \expandafter\@tempa\TUD@KOMAVersion ? ?\relax\relax{\TUD@KOMAVersionNumber}% + \fi% \endgroup -\NeedsTeXFormat{LaTeX2e}[2019/10/01] -\providecommand*\tudscrmail{hanisch.latex@outlook.com} -\newcommand*\TUD@ProvidesWrapperClass[3]{% +\@ifundefined{TUDScript}{% + \DeclareRobustCommand\TUDScript{% + \mbox{% + \textsf{% + T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script% + }% + }\ifcsname xspace\endcsname\xspace\fi% + }% +}{} +\providecommand*\TUDScriptContact{hanisch.latex@outlook.com} +\providecommand*\TUDScriptRepository{https://github.com/tud-cd/tudscr} +\providecommand*\TUDScriptForum{https://latex.wcms-file3.tu-dresden.de/phpBB3/} +\newcommand*\TUD@ProvidesWrapperClass[3] +{% \ProvidesClass{#1}[% - 2021/07/15 v2.06n TUD-Script + 2022/08/09 v2.06o TUD-Script #3 (#2)% ]% \newcommand*\TUD@Class@Parent{#2}% \newcommand*\TUD@Class@Name{#1}% + \newcommand*\TUDScriptClassName{#1}% + \providecommand*\TUDClassName{\TUDScriptClassName}% \TUD@Class@Info% } \providecommand*\TUD@Class@Info{% \typeout{+------------------------------------------------------------------}% \typeout{| Corporate Design of Technische Universitaet Dresden}% - \typeout{| Class: \TUD@Class@Name}% - \typeout{| Version: \TUD@Version}% - \typeout{| Author: Falk Hanisch (\tudscrmail)}% - \typeout{| Repository: https://github.com/tud-cd/tudscr}% - \typeout{| Forum: https://latex.wcms-file3.tu-dresden.de}% + \typeout{| Class: \TUDScriptClassName}% + \typeout{| Version: \TUDScriptVersion}% + \typeout{| Author: Falk Hanisch (\TUDScriptContact)}% + \typeout{| Repository: \TUDScriptRepository}% + \typeout{| Forum: \TUDScriptForum}% \typeout{+------------------------------------------------------------------}% } \TUD@ProvidesWrapperClass{tudscrmanual}{tudscrreprt}{manual class} -\edef\TUDScriptClassName{\TUD@Class@Name} -\providecommand*\TUDClassName{\TUDScriptClassName} -\@ifundefined{TUDScript}{% - \DeclareRobustCommand\TUDScript{% - \textsf{% - T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script% - }% - \ifcsname xspace\endcsname% - \xspace% - \fi% - }% -}{} -%%% From File: tudscr-manual.dtx -%%% From File: tudscr-base.dtx -\RequirePackage{tudscrbase}[\TUD@Version] +%%%% From File: tudscr-base.dtx (no git version info was found) +\RequirePackage{tudscrbase}[% + 2022/08/09 v2.06o TUD-Script +] \renewcommand*\TUD@KOMAoptions[1]{\PassOptionsToClass{#1}{\TUD@Class@Parent}} \AfterClass{\TUD@Class@Parent}{\let\TUD@KOMAoptions\KOMAoptions} -%%% From File: tudscr-manual.dtx +%%%% From File: tudscr-misc.dtx (no git version info was found) +\RequirePackage{scrhack}[% + 2022/05/01 v3.36 KOMA-Script +] +\RequirePackage{xspace} +\xspaceaddexceptions{"=} +\PassOptionsToPackage{quiet}{marginnote} +\RequirePackage{marginnote} +\reversemarginpar +\RequirePackage{shellesc} +\RequirePackage{pdftexcmds} +\PassOptionsToPackage{hyperindex=false}{hyperref} +\AfterPackage*{bookmark}{\bookmarksetup{open,openlevel=1}} +\AfterAtEndOfPackage*{hyperref}{% + \@ifpackageloaded{bookmark}{}{\RequirePackage{bookmark}}% + \hypersetup{colorlinks,linkcolor=blue}% +} +\newcommand*\hrfn[2]{% + \href{#1}{\trim@spaces{#2}}% + \footnote{\strut\url{#1}}% +} +\newrobustcmd*\mailto[1]{\mbox{\href{mailto:#1}{\nolinkurl{#1}}}} +\TUD@UnwindPackage{hyperref}{% + \RequirePackage{url} + \providerobustcmd*\url[1]{\texttt{\detokenize{#1}}}% + \providerobustcmd*\nolinkurl[1]{\url{#1}}% + \providerobustcmd*\href[3][]{#3}% + \providecommand*\hypersetup[1]{}% + \providecommand*\phantomsection{}% + \providecommand*\pdfbookmark[3][]{}% + \providecommand*\currentpdfbookmark[2]{}% + \providecommand*\subpdfbookmark[2]{}% + \providecommand*\belowpdfbookmark[2]{}% +} +\AfterPackage*{babel}{\RequirePackage{csquotes}} +\TUD@UnwindPackage{babel}{% + \ClassWarningNoLine{\TUD@Class@Name}{Package `babel' not loaded}% + \providecommand*\selectlanguage[1]{}% + \providecommand*\glqq{\quotedblbase}% + \providecommand*\grqq{\textquotedblleft}% + \providecommand*\seename{see}% + \providecommand*\alsoname{see\nobreakspace also}% +} +\TUD@UnwindPackage{csquotes}{% + \ClassWarningNoLine{\TUD@Class@Name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\emph{#1}}% +} +\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% + }% +} +\tud@newif\if@tud@list@sorted +\newcommand*\tud@list@@sort[1]{% + \ifx\tud@templist\relax% + \def\tud@templist{#1}% + \else% + \@tud@list@sortedfalse% + \let\@tempb\@empty% + \@for\@tempa:=\tud@templist\do{% + \if@tud@list@sorted% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% + \else% + \expandafter\ifnum\pdf@strcmp{#1}{\@tempa}<\z@\relax% + \ifx\@tempb\@empty% + \expandafter\edef\expandafter\@tempb\expandafter{% + #1,\@tempa% + }% + \else% + \expandafter\edef\expandafter\@tempb\expandafter{% + \@tempb,#1,\@tempa% + }% + \fi% + \@tud@list@sortedtrue% + \else% + \ifx\@tempb\@empty% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempa}% + \else% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% + \fi% + \fi% + \fi% + }% + \if@tud@list@sorted\else% + \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,#1}% + \fi% + \let\tud@templist\@tempb% + \fi% +} +\newcommand*\tud@replace@in[3]{% + \begingroup% + \edef\tud@res@a{\expandonce{#1}}% + \let\tud@res@c\@empty% + \def\tud@res@b##1#2##2\@nil{% + \IfArgIsEmpty{##2}{% + \appto\tud@res@c{##1}% + }{% + \appto\tud@res@c{##1#3}% + \tud@res@b##2\@nil% + }% + }% + \expandafter\tud@res@b\tud@res@a#2\@nil% + \edef\tud@res@a{% + \endgroup% + \unexpanded{\def#1}{\expandonce\tud@res@c}% + }% + \tud@res@a% +} +\newcommand*\tud@replace@@in[3]{% + \begingroup% + \protected@edef\tud@res@a{#1}% + \edef\tud@res@a{\detokenize\expandafter{\tud@res@a}}% + \edef\tud@res@b{% + \unexpanded{\tud@replace@in\tud@res@a}{\detokenize{#2}}{\detokenize{#3}}% + }% + \tud@res@b% + \edef\tud@res@a{% + \endgroup% + \unexpanded{\def#1}{\tud@res@a}% + }% + \tud@res@a% +} +%%%% From File: tudscr-manual.dtx (no git version info was found) \TUD@key{final}[true]{% \TUD@set@ifkey{final}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% @@ -142,7 +283,7 @@ cd=color,% }{\TUD@Class@Parent} \PassOptionsToPackage{automark}{scrlayer-scrpage} -\newif\if@tud@todo +\tud@newif\if@tud@todo \newcommand*\tud@todo@type@pos{} \let\tud@todo@type@pos\relax \newcommand*\tud@todo@type@neg{} @@ -154,7 +295,7 @@ \let\tud@todo@type@neg\relax% \else% \def\@tempa not##1##2##3##4\@nil{% - \ifstr{##1##2##3}{not}{% + \tud@if@strequal{##1##2##3}{not}{% \IfArgIsEmpty{##4}{}{% \listeadd\tud@todo@type@neg{##4}% \@tud@todotrue% @@ -172,104 +313,136 @@ \expandafter\@tempa\@tempb\@empty\@empty\@empty\@nil% \fi% } -%%% From File: tudscr-misc.dtx +%%%% From File: tudscr-misc.dtx (no git version info was found) \DeclareOption*{% \expandafter\PassOptionsToClass\expandafter{\CurrentOption}% {\TUD@Class@Parent}% } -\TUDExecuteOptions{% -} \TUDProcessOptions\relax -\PassOptionsToClass{ttfont=roboto}{\TUD@Class@Parent} -\LoadClass{\TUD@Class@Parent} -%%% From File: tudscr-manual.dtx -\PassOptionsToPackage{log-declarations=false}{xparse} -\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}{2018/04/17}{% - \ClassWarning{\TUD@Class@Name}{% - Package `geometry' was updated so some patches\MessageBreak% - are maybe outdated% +\LoadClass{\TUD@Class@Parent}[% + 2022/08/09 v2.06o TUD-Script +] +%%%% From File: tudscr-misc.dtx (no git version info was found) +\renewcommand*\@pnumwidth{2.1em} +\renewcommand*\@tocrmarg{3.1em} +\newcommand*\textsbn{} +\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape} +\DeclareTextFontCommand\textsbn{\sbnfont} +\newcommand*\textsbi{} +\newrobustcmd*\sbifont{\sffamily\bfseries\itshape} +\DeclareTextFontCommand\textsbi{\sbifont} +\newcommand*\textttit{} +\newrobustcmd*\ttitfont{\ttfamily\itshape} +\DeclareTextFontCommand\textttit{\ttitfont} +\newcommand*\tud@english[1]{% + \iflanguageloaded{english}{\foreignlanguage{english}{#1}}{#1}% +} +\AfterPackage*{babel}{% + \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}% +} +\kernel@make@fragile\KOMAScript +\edef\KOMAScript{\noexpand\mbox{\expandonce\KOMAScript}\noexpand\xspace} +\robustify\KOMAScript +\robustify\TUDScript +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\KOMAScript{KOMA-Script{}}% + \def\TUDScript{TUD-Script{}}% }% -}{}% +} \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}}% - }{}% +\newcommand*\vKOMAScript{v\TUD@KOMAVersionNumber} +\newrobustcmd*\CD{\tud@english{Corporate Design}\xspace} +\newrobustcmd*\CDs{\tud@english{Corporate Designs}\xspace} +\newrobustcmd*\TUD{Technische Universit\"at Dresden\xspace} +\newrobustcmd*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\TUDCD{\CD der \TnUD} +\newcommand*\TUDCDs{\CDs der \TnUD} +\newrobustcmd*\TUDForum{\mbox{T\kern.05em U\kern.05em D-\LaTeX-Forum}\xspace} +\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% } -\RequirePackage{shellesc}[2016/06/07] -\RequirePackage{pdftexcmds}[2016/05/21] -\newcommand*\tud@templist{} -\let\tud@templist\relax -\newcommand*\tud@list@sort[1]{% - \ifdefvoid{#1}{% - \ClassWarning{tudscrmanual}{% - The given list \string#1\space\MessageBreak% - is empty, nothing to sort here% - }% +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\CD{Corporate Design{}}% + \def\CDs{Corporate Designs{}}% + \def\TUD{Technische Universit\"at Dresden{}}% + \def\TnUD{Technischen Universit\"at Dresden{}}% + \def\TUDForum{TUD-LaTeX-Forum{}}% + \def\DDC{DRESDEN-concept{}}% + }% +} +\newrobustcmd*\OpenSans{\textcdbn{Open\nobreakspace Sans}\xspace} +\newrobustcmd*\Univers{\textcdbi{Univers}\xspace} +\newrobustcmd*\DIN{\textcdbi{DIN\nobreakspace Bold}\xspace} +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\OpenSans{Open Sans{}}% + \def\Univers{Univers{}}% + \def\DIN{DIN Bold{}}% + }% +} +\newcommand*\GitHubBase[1]{} +\NewDocumentCommand\GitHubRepo{!s !t' !O{releases} !D(){tud-cd/tudscr} !d<>}{% + \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}% + \IfBooleanT{#2}{\toks@{\url}}% + \def\@tempa{https://github.com/#4/}% + \edef\@tempa{{\@tempa\IfValueTF{#5}{issues/#5}{#3}}}% + \addto@hook@expandafter\toks@{\@tempa}% + \IfBooleanF{#2}{% + \addto@hook\toks@{{\tud@english{GitHub-Repository~\textsbn{#4}}}}% + }% + \the\toks@\xspace% +} +\newcommand*\Download[1]{% + https://github.com/tud-cd/tudscr/releases/download/#1% +} +\NewDocumentCommand\CTAN{!s !o !g}{% + \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\Forum{!s !t' !O{\TUDForum} !d<>}{% + \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}% + \IfBooleanT{#2}{\toks@{\url}}% + \def\@tempa{http://latex.wcms-file3.tu-dresden.de/phpBB3/}% + \edef\@tempa{{\@tempa\IfValueT{#4}{viewtopic.php?t=#4}}}% + \addto@hook@expandafter\toks@{\@tempa}% + \IfBooleanF{#2}{\addto@hook\toks@{{#3}}}% + \the\toks@\xspace% +} +\newcommand*\Attention[2][\z@]{% + \marginnote{% + \tud@setdim\fboxsep{0.25em}% + \fbox{Achtung!}% + }[{#1}]% + \emph{\trim@spaces{#2}}% +} +\newrobustcmd*\TUDScriptContactTitle{% + \ifundef{\emailaddress}{% + \qquad\expandafter\mailto\expandafter{\TUDScriptContact}% }{% - \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% + \expandafter\emailaddress\expandafter{\TUDScriptContact}% }% } -\newif\if@tud@list@sorted -\newcommand*\tud@list@@sort[1]{% - \ifx\tud@templist\relax% - \def\tud@templist{#1}% - \else% - \@tud@list@sortedfalse% - \let\@tempb\@empty% - \@for\@tempa:=\tud@templist\do{% - \if@tud@list@sorted% - \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% - \else% - \expandafter\ifnum\pdf@strcmp{#1}{\@tempa}<\z@\relax% - \ifx\@tempb\@empty% - \expandafter\edef\expandafter\@tempb\expandafter{% - #1,\@tempa% - }% - \else% - \expandafter\edef\expandafter\@tempb\expandafter{% - \@tempb,#1,\@tempa% - }% - \fi% - \@tud@list@sortedtrue% - \else% - \ifx\@tempb\@empty% - \expandafter\edef\expandafter\@tempb\expandafter{\@tempa}% - \else% - \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% - \fi% - \fi% - \fi% - }% - \if@tud@list@sorted\else% - \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,#1}% - \fi% - \let\tud@templist\@tempb% - \fi% +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{\let\TUDScriptContactTitle\relax}% } +%%%% From File: tudscr-manual.dtx (no git version info was found) \newcommand*\tud@trace@lbl@created@add[1]{} \newcommand*\tud@trace@lbl@missing@add[1]{} \NewDocumentCommand\tracinglabels{!s !O{missing}}{% \newcommand*\tud@trace@lbl@created@list{}% \newcommand*\tud@trace@lbl@missing@list{}% \@tempswafalse% - \ifstr{#2}{created}{\@tempswatrue}{}% - \ifstr{#2}{all}{\@tempswatrue}{}% + \tud@if@strequal{#2}{created}{\@tempswatrue}{}% + \tud@if@strequal{#2}{all}{\@tempswatrue}{}% \if@tempswa% \renewcommand*\tud@trace@lbl@created@add[1]{% \typeout{% @@ -288,8 +461,8 @@ }% \fi% \@tempswafalse% - \ifstr{#2}{missing}{\@tempswatrue}{}% - \ifstr{#2}{all}{\@tempswatrue}{}% + \tud@if@strequal{#2}{missing}{\@tempswatrue}{}% + \tud@if@strequal{#2}{all}{\@tempswatrue}{}% \if@tempswa% \renewcommand*\tud@trace@lbl@missing@add[1]{% \typeout{% @@ -334,8 +507,6 @@ }% } \@onlypreamble\tracingbundle -\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref} -\PassOptionsToPackage{open,openlevel=0}{bookmark} \AfterPackage*{hyperref}{% \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}% \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}% @@ -343,11 +514,11 @@ \newcommand*\tud@manualname{tudscr}% \NewDocumentCommand\tudhyperdef{s t' m}{% \@tempswafalse% - \IfBooleanT{#1}{\@tempswatrue\setlength\@tempdima{3\baselineskip}}% - \IfBooleanT{#2}{\@tempswatrue\setlength\@tempdima{15\baselineskip}}% + \IfBooleanT{#1}{\@tempswatrue\tud@setdim\@tempdima{3\baselineskip}}% + \IfBooleanT{#2}{\@tempswatrue\tud@setdim\@tempdima{15\baselineskip}}% \if@tempswa% \raisebox{\@tempdima}[0pt][0pt]{\hyperdef{\tud@manualname}{#3}{}}% - \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax% + \par\nobreak\vskip-\parskip\vskip-\baselineskip% \@afterindentfalse\@afterheading% \else% \Hy@raisedlink{\hyperdef{\tud@manualname}{#3}{}}\ignorespaces% @@ -357,7 +528,7 @@ }% \newcommand*\tudhyperref[2]{\hyperref{}{\tud@manualname}{#1}{#2}}% \newcommand*\autorefname[1][current]{% - \ifstr{#1}{current}{% + \tud@if@strequal{#1}{current}{% \expandafter\HyPsd@@autorefname\@currentHref\@nil% }{% \auto@refname\HyPsd@@autorefname{#1}% @@ -382,12 +553,6 @@ Nevertheless, essential commands are rudimentarily\MessageBreak% defined. At least the package `url' is loaded% }% - \providecommand*\hypersetup[1]{}% - \providecommand*\href[3][]{#3}% - \providecommand*\phantomsection{}% - \providecommand*\texorpdfstring[2]{#1}% - \RequirePackage{url}[2013/09/16]% - \providecommand*\nolinkurl[1]{\url{#1}}% \providecommand*\hyperpage[1]{#1}% \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% \providecommand*\hyperdef[3]{\label{#1.#2}#3}% @@ -410,28 +575,10 @@ \providecommand*\tudhyperref[2]{#2}% \providecommand*\autorefname[1][]{??\xspace}% } -\newcommand*\hrfn[2]{% - \href{#1}{\trim@spaces{#2}}% - \footnote{% - \begingroup% - \def\_{_}% - \edef\@tempa{#1}% - \strut\expandafter\url\expandafter{\@tempa}% - \endgroup% - }% -} -\newrobustcmd*\mailto[1]{\mbox{\href{mailto:#1}{\nolinkurl{#1}}}}% -\AfterPackage*{hyperref}{% - \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{% - \let\bbl@info\@gobble\csname HyPsd@babel@% - }{}{\tud@patch@wrn{pdfstringdef}}% -} -\RequirePackage{varioref}[2011/10/02] -\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} -\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} -\TUD@UnwindPackage{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} -\newif\if@tud@declare -\newif\if@openindex +\RequirePackage{varioref} +\renewcommand*\fullref[1]{\hyperref[{#1}]{\autoref*{#1} \vpageref{#1}}} +\tud@newif\if@tud@declare +\tud@newif\if@openindex \newcommand*\tud@declare@num{0} \newcommand*\tud@declaration@list{} \let\tud@declaration@list\relax @@ -441,10 +588,10 @@ }{% \tud@declare@end{#2}{\printdeclarationlist}% } -\newif\if@tud@obsolete +\tud@newif\if@tud@obsolete \NewDocumentEnvironment{Obsolete}{momoog}{% \@tud@obsoletetrue% - \ifxblank{#1}{% + \tud@if@strblank{#1}{% \listadd\tud@declaration@list{% \def\tud@declare@num{1}% #3% @@ -472,7 +619,7 @@ }% \@tempb#1\@nil% \fi% - \eaddto@hook\toks@{\expandafter{\@tempa}}% + \addto@hook@expandafter\toks@{\expandafter{\@tempa}}% \the\toks@% }% }% @@ -484,10 +631,10 @@ } \newcommand*\tud@preset@list{} \let\tud@preset@list\relax -\newif\if@tud@preset@list +\tud@newif\if@tud@preset@list \newcommand*\tud@additional@list{} \let\tud@additional@list\relax -\newif\if@tud@additional@list +\tud@newif\if@tud@additional@list \NewDocumentCommand\tud@declare@start{omr[]r[]m}{% \Changed@At@CreateList[#2]{#1}% \IfValueTF{#3}{% @@ -554,15 +701,19 @@ \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}} +\tud@newglue\tud@lastskip +\pretocmd\index{% + \tud@lastskip=\lastskip% +}{}{\tud@patch@wrn{index}} +\pretocmd\label{% + \tud@lastskip=\lastskip% +}{}{\tud@patch@wrn{label}} \NewDocumentCommand\printdeclarationlist{!s !d()}{% \ifx\tud@declaration@list\relax\else% \ifhmode% \vskip\medskipamount% \else% - \@tempskipa=\glueexpr\medskipamount-\tud@lastskip\relax% + \tud@setglue\@tempskipa{\medskipamount-\tud@lastskip}% \ifdim\@tempskipa>\z@\relax% \addpenalty{\@beginparpenalty}% \addvspace{\@tempskipa}% @@ -619,6 +770,7 @@ \print@changedatlist{#1}{#2}% } \newrobustcmd*\bsc{\@backslashchar} +\newrobustcmd*\txb{{\raise.05em\hbox{\kern.05em\textbar\kern.05em}}} \newrobustcmd*\suffix[1]{\begingroup~\scriptsize(#1)\endgroup} \providecommand*\NewExpandableDocumentCommand[3]{% \NewDocumentCommand#1{#2}{}% @@ -662,10 +814,12 @@ \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}} +\newcommand*\tud@if@bdl[2]{% + \tud@if@strequal{\tud@bdl@curr}{\tud@bdl@dflt}{#2}{#1}% +} \NewExpandableDocumentCommand\@Application{sm}{#2} \NewDocumentCommand\Application{s m !d() !d<> !d||}{% - \Markup@SetFormat{\sbsfont}% + \Markup@SetFormat{\sbifont}% \IfValueTF{#4}{% \Process@Markup{\Application{#2}}(#3)<#4>% }{% @@ -901,7 +1055,7 @@ \let\textOR\relax% \let\emph\@firstofone% #1% - \ifxblank{#2}{% + \tud@if@strblank{#2}{% \let\tud@reserved\endgroup% }{% \protected@edef\tud@reserved{\noexpand\endgroup#3}% @@ -987,18 +1141,17 @@ \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@if@strequal{#2}{\tud@bdl@dflt}{}{% \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% - }{% + \ifcsundef{r@#1}{% \expandafter\@secondoftwo% + }{% + \expandafter\@firstoftwo% }% } \NewDocumentCommand\tud@lbl@create{m}{\tud@lbl@@create#1} @@ -1012,7 +1165,7 @@ \IfValueTF{#2}{% \tud@attr@get\@tempb{#2}% \IfValueTF{#1}{% - \ifxblank{#1}{% + \tud@if@strblank{#1}{% \edef\@tempa{\tud@bdl@dflt:\@tempb:#2}% }{% \edef\@tempa{#1:\@tempb:#2}% @@ -1032,7 +1185,7 @@ }% \@tempc% } -\newif\if@tud@disposition +\tud@newif\if@tud@disposition \newcommand*\ifdisposition{% \if@tud@disposition% \expandafter\@firstoftwo% @@ -1040,7 +1193,7 @@ \expandafter\@secondoftwo% \fi% } -\pretocmd{\tud@sec@format}{% +\pretocmd\tud@sec@format{% \@tud@dispositiontrue% }{}{\tud@patch@wrn{tud@sec@format}} \newcommand*\Markup@Suppress{\let\Process@Markup\Markup@@Suppress} @@ -1057,7 +1210,7 @@ \tud@toks@{\Process@@MarkupInline}% \tud@lbl@get@curr\tud@lbl@tmp{#4:#1}=#2=% \fi% - \eaddto@hook\tud@toks@{\expandafter{\tud@lbl@tmp}}% + \addto@hook@expandafter\tud@toks@{\expandafter{\tud@lbl@tmp}}% \begingroup% \Markup@Gobble*% \protected@edef\tud@reserved{% @@ -1065,7 +1218,7 @@ \def\noexpand\tud@reserved{#1}% }% \tud@reserved% - \eaddto@hook\tud@toks@{\expandafter{\tud@reserved}}% + \addto@hook@expandafter\tud@toks@{\expandafter{\tud@reserved}}% \IfValueT{#2}{\addto@hook\tud@toks@{=#2=}}% \IfValueT{#3}{\addto@hook\tud@toks@{[#3]}}% \if@tud@declare% @@ -1084,7 +1237,9 @@ \else% \if@tud@index\else% \IfValueT{#5}{% - \ifxblank{#5}{}{\addto@hook\tud@toks@{<http://www.ctan.org/pkg/#5>}}% + \tud@if@strblank{#5}% + {}% + {\addto@hook\tud@toks@{<http://www.ctan.org/pkg/#5>}}% }% \IfValueT{#6}{\addto@hook\tud@toks@{'#6'}}% \fi% @@ -1092,9 +1247,9 @@ \fi% \if@tud@index\else% \IfValueT{#4}{% - \ifxblank{#4}{}{% + \tud@if@strblank{#4}{}{% \tud@trace@bdl@add{#4}% - \ifstr{#6}{none}{}{% + \tud@if@strequal{#6}{none}{}{% \tud@if@lbl@exists{\tud@lbl@tmp}{}{% \ClassWarning{tudscrmanual}{% No existing label \tud@lbl@tmp\space for #4% @@ -1131,20 +1286,21 @@ \let\@tempb\relax% \IfValueT{#6}{% \def\@tempb{% - \ClassWarning{tudscrmanual}% - {% + \ClassWarning{tudscrmanual}{% You've used the unknown cross-reference\MessageBreak% shorthand '#6'. Only 'auto', 'page' and 'full'\MessageBreak% as well as 'none' \IfValueT{#5}{or 'url' }are valid% }% }% - \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}{}}}}}% + \tud@if@strequal{#6}{auto} {\def\@tempb{ in \autoref{#1}}}{% + \tud@if@strequal{#6}{page} {\def\@tempb{ \vpageref{#1}}}{% + \tud@if@strequal{#6}{ppage}{\def\@tempb{ \reftextfaraway{#1}}}{% + \tud@if@strequal{#6}{full} {\def\@tempb{ in \fullref{#1}}}{% + \tud@if@strequal{#6}{none} {\let\@tempa\@tempc\let\@tempb\relax}{}}}}}% \IfValueT{#5}{% - \ifstr{#6}{url}{\def\@tempa{\href{#5}{\@tempc}}\let\@tempb\relax}{}% + \tud@if@strequal{#6}{url}% + {\def\@tempa{\href{#5}{\@tempc}}\let\@tempb\relax}% + {}% }% }% }{% @@ -1152,7 +1308,7 @@ \IfValueT{#5}{\def\@tempa{\href{#5}{\@tempc}}}% \let\@tempb\relax% \IfValueT{#6}{% - \ifstr{#6}{none}{\let\@tempa\@tempc}{% + \tud@if@strequal{#6}{none}{\let\@tempa\@tempc}{% \def\@tempb{% \ClassWarning{tudscrmanual}% {% @@ -1184,7 +1340,7 @@ }% \IfValueT{#3}{\appto\@tempa{=#3}}% \IfValueT{#4}{\appto\@tempa{#4}}% - \eaddto@hook\tud@toks@{\expandafter{\@tempa}}% + \addto@hook@expandafter\tud@toks@{\expandafter{\@tempa}}% \the\tud@toks@% } \newcommand*\Markup@Inline[1]{\mbox{\Markup@Format{#1}}} @@ -1194,11 +1350,7 @@ \undef\Markup@Format \newcommand*\Markup@Suffix{} \NewDocumentCommand\Markup@SetFormat{omod()}{% - \def\Markup@Format##1{% - \def\tud@res@a{#2}% - \tud@ifdin{\let\tud@res@a\tud@sec@format}{}% - \begingroup\tud@res@a{\IfValueT{#1}{#1}##1}\endgroup% - }% + \def\Markup@Format##1{\begingroup#2{\IfValueT{#1}{#1}##1}\endgroup}% \IfValueT{#3}{\def\Markup@Suffix{\suffix{#3}}}% \IfValueT{#4}{\renewcommand*\Markup@Declare[1]{#4\Markup@Suffix}}% } @@ -1215,37 +1367,8 @@ {It seems you have forgotten to use \string\Markup@SetFormat.}% }{}% } -\ifundef{\tud@x@textcase@uclcnotmath}{}{% - \NewDocumentCommand\tud@nonchangecase{m}{% - \DeclareExpandableDocumentCommand#1{sm}{% - \IfBooleanT{##1}{\noexpand\@tud@indextrue}% - \NoCaseChange{#1{##2}}% - }% - } - \apptocmd{\tud@x@textcase@uclcnotmath}{% - \tud@nonchangecase\Application% - \tud@nonchangecase\Distribution% - \tud@nonchangecase\Engine% - \tud@nonchangecase\File% - \tud@nonchangecase\Class% - \tud@nonchangecase\Package% - \tud@nonchangecase\Option% - \tud@nonchangecase\Environment% - \tud@nonchangecase\Macro% - \tud@nonchangecase\Length% - \tud@nonchangecase\Counter% - \DeclareExpandableDocumentCommand\Key{smm}{% - \IfBooleanT{##1}{\noexpand\@tud@indextrue}% - \NoCaseChange{#1{##2}{##3}}% - }% - \tud@nonchangecase\Term% - \tud@nonchangecase\PageStyle% - \tud@nonchangecase\Font% - \tud@nonchangecase\Color% - }{}{\tud@patch@wrn{tud@x@textcase@uclcnotmath}} -} \PassOptionsToPackage{xindy,splitindex}{imakeidx} -\RequirePackage{imakeidx}[2013/07/11] +\RequirePackage{imakeidx} \indexsetup{% level=\addsec,% noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},% @@ -1274,12 +1397,12 @@ \let\item\@idxitem \imki@othercode% }% - \patchcmd{\theindex}{% + \patchcmd\theindex{% \imki@indexlevel{\indexname}\imki@indexheaders% }{% \imki@indexheaders% }{}{\tud@patch@wrn{theindex}}% - \patchcmd{\theindex}{% + \patchcmd\theindex{% \ifnum\imki@columns>\@ne \columnsep \imki@columnsep \ifx\imki@idxprologue\relax @@ -1306,25 +1429,30 @@ \fi% }{}{\tud@patch@wrn{theindex}}% \fi% +\newcommand*\tud@xdy@settings{} +\edef\tud@xdy@settings{-M \@currname-ind.xdy -L german-din} \NewDocumentCommand\makexdyindex{s o m !o}{% \let\@tempb\@empty% \IfBooleanT{#1}{% \def\@tempc{\jobname-#4-declare.idx}% - \makeindex[name={#4-declare}]% + \makeindex[name=#4-declare]% \IfFileExists{\@tempc}{% \edef\@tempb{-o \jobname-#4.ind \@tempc}% }{% \ClassWarning{tudscrmanual}{File \@tempc\space not found}% }% }% + \ifundef{\inputencodingname}{}{% + \eappto\tud@xdy@settings{\space-C\space\inputencodingname}% + }% \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={\tud@xdy@settings\space-t \jobname-#4.xlg \@tempb},% }{% - options={-M \@currname-ind.xdy -L german-din -t \jobname.xlg},% + options={\tud@xdy@settings\space-t \jobname.xlg},% }% \IfValueT{#2}{#2}% }% @@ -1339,7 +1467,7 @@ \makexdyindex*{Klassen, Pakete und Dateien}[files] \makexdyindex[columns=1]{\"Anderungsliste}[changelog] \undef\makexdyindex -\newif\if@tud@index +\tud@newif\if@tud@index \addtoeachtocfile{\protect\@tud@indextrue} \newcommand*\tud@idx@key{} \newcommand*\tud@idx@fmt{} @@ -1370,8 +1498,8 @@ }% \tud@reserved% \def#3{#5}% - \tud@replace#2{@}{"@}% - \tud@replace#3{@}{"@}% + \tud@replace@@in#2{@}{"@}% + \tud@replace@@in#3{@}{"@}% \let\tud@idx@bdl\tud@bdl@dflt% \IfValueTF{#8}{% \def\tud@idx@bdl{#8}% @@ -1414,8 +1542,10 @@ \fi% \@tempswafalse% \IfBooleanT{#1}{\@tempswatrue}% - \IfValueT{#9}{\ifstr{#9}{declare}{\@tempswatrue}{}}% - \IfValueT{#9}{\ifstr{#9}{default}{\@tempswatrue}{}}% + \IfValueT{#9}{% + \tud@if@strequal{#9}{declare}{\@tempswatrue}{}% + \tud@if@strequal{#9}{default}{\@tempswatrue}{}% + }% \if@tempswa% \protected@eappto#2{\expandonce\@tempa}% \tud@doifPValue{#6}{\noexpand\appto\noexpand#2{=#6}}% @@ -1451,20 +1581,38 @@ \tud@cleversee{\alsoname}% } \newcommand*\tud@cleversee{} -\def\tud@cleversee#1#2#3\relax{% - \IfArgIsEmpty{#3}{% - \emph{#1}\space#2% - }{% - \begingroup% - \def\@tempa, ##1\@nil{##1,\space\emph{\alsoname}\space#2}% - \@tempa#3\@nil% - \endgroup% - }% +\def\tud@cleversee#1#2\relax{% + \begingroup% + \let\cleversee\@empty% + \let\cleverseealso\@empty% + \let\tud@res@a\@empty% + \def\tud@res@b{#2}% + \def\tud@res@c##1\\##2\@nil{% + \appto\tud@res@a{##1}% + \def\tud@res@b{##2}% + \trim@spaces@in\tud@res@b% + \in@{\\}{##2}% + }% + \in@true% + \@whilesw\ifin@\fi{% + \expandafter\tud@res@c\tud@res@b\@nil% + }% + \ifx\tud@res@b\@empty% + \mbox{\emph{#1}}% + \else% + \def\tud@res@c##1 ##2\@nil{% + ##2##1\space\mbox{\emph{\alsoname}}% + }% + \expandafter\tud@res@c\tud@res@b\@nil% + \fi% + \space\tud@res@a% + \endgroup% } +\newrobustcmd*\seesep{\txb}% \NewDocumentCommand\seeref{s m}{% \emph{\IfBooleanTF{#1}{\alsoname}{\seename}}\space#2% } -\newcommand*\seeidx[2]{\pageref{idx:#1}} +\newrobustcmd*\seeidx[2]{\pageref{idx:#1}} \NewDocumentCommand\Process@Index{mmd==od()d||}{% \ifboolexpr{% bool {@tud@index} or bool {@tud@obsolete}% @@ -1507,7 +1655,7 @@ \fi% \else% \IfValueT{#5}{% - \ifstr{#5}{declare}{% + \tud@if@strequal{#5}{declare}{% \appto\tud@lbl@tmp{-declare}% \appto\tud@idx@fmt{|declare}% }{% @@ -1590,7 +1738,7 @@ \newcommand*\print@index[1][]{% \pagebreak[3]% \@tud@indextrue% - \ifblank{#1}{% + \tud@if@strblank{#1}{% \def\tud@reserved{\tudhyperdef*{idx:main}}% }{% \def\tud@reserved{\tudhyperdef*{idx:#1}}% @@ -1604,15 +1752,15 @@ \tud@idx@skip% }% \fi% - \ifblank{#1}{\printindex}{\printindex[#1]}% + \tud@if@strblank{#1}{\printindex}{\printindex[{#1}]}% \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi% \let\tud@indexprologue\@empty% } -\newif\if@tud@changedat +\tud@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 +\tud@newdim\changedatskip \NewDocumentCommand\ChangedAt{s o d() m !O{\changedatskip}}{% \IfValueTF{#2}{% \Changed@At@CreateList[#2](#3){#4}% @@ -1662,7 +1810,7 @@ }% \IfValueTF{#1}{% \toks@{#3!Implementierung }% - \eaddto@hook\toks@{\@tempb}% + \addto@hook@expandafter\toks@{\@tempb}% \addto@hook\toks@{!#1!}% \IfValueT{#4}{\addto@hook\toks@{#4}}% \addto@hook\toks@{!}% @@ -1673,14 +1821,14 @@ \toks@{#3!Allgemein }% \IfValueTF{#2}{% \addto@hook\toks@{!}% - \eaddto@hook\toks@{\@tempb:\space}% + \addto@hook@expandafter\toks@{\@tempb:\space}% \IfValueTF{#5}{% \addto@hook\toks@{#5}% }{% \addto@hook\toks@{\emph{neu}}% }% }{% - \eaddto@hook\toks@{\@tempb}% + \addto@hook@expandafter\toks@{\@tempb}% \addto@hook\toks@{!}% \addto@hook\toks@{#5}% }% @@ -1701,7 +1849,7 @@ \@tud@changedattrue% #3% \@tud@changedatfalse% - \ifxblank{#4}{}{% + \tud@if@strblank{#4}{}{% \eappto\tud@idx@val{% \expandonce\tud@idx@key: Werte angepasst@% \expandonce\tud@idx@fmt: Werte angepasst!% @@ -1718,7 +1866,7 @@ }% \tud@reserved% }% - \ifxblank{#5}{% + \tud@if@strblank{#5}{% \if@tud@obsolete% \appto\tud@idx@fmt{: \emph{entf\"allt}}% \else% @@ -1738,7 +1886,7 @@ \newcommand*\PrintChangelog{% \begingroup% \let\lettergroup\@gobble% - \apptocmd{\theindex}{% + \apptocmd\theindex{% \let\subsubsubitem\subsubitem% \let\subsubitem\subitem% \let\subitem\item% @@ -1756,11 +1904,9 @@ \expandafter\def\csname\string\item\endcsname##1~% }{% \endgroup% - \let\@tempb\@firstofone% - \if@tud@cdoldfont@active\def\@tempb##1{\NoCaseChange{##1}}\fi% - \addsec[##1]{\TUDScript \@tempb{##1}}% + \addsec[{##1}]{\TUDScript ##1}% \tudhyperdef*{idx:changelog:##1}% - \def\@tempa{\indexname: \TUDScript \@tempb{##1}}% + \def\@tempa{\indexname: \TUDScript ##1}% \@mkboth{\@tempa}{\@tempa}% }% }{}{\tud@patch@wrn{theindex}}% @@ -1788,25 +1934,25 @@ \forlistloop\@tempa{\tud@templist}% \hline% \end{tabular}% - }[#2]% + }[{#2}]% \ignorespaces% }% \fi% } -\RequirePackage{enumitem}[2011/09/28] +\RequirePackage{enumitem} \setlist{before*={\endgraf\tud@RaggedRight},partopsep=0pt,noitemsep} \newcommand*\stditem{} \newcommand*\tud@before@item[1]{% \ifdefvoid{\stditem}{% \let\stditem\item% \letcs\item{tud@item@#1}% - \setlength\changedatskip{-\baselineskip}% + \tud@setdim\changedatskip{-1\baselineskip}% }{}% } \newcommand*\tud@values{} \NewDocumentEnvironment{values}{mo}{% \def\tud@values{#1}% - \IfValueTF{#2}{\@values[#2]}{\@values}% + \IfValueTF{#2}{\@values[{#2}]}{\@values}% }{% \end@values% } @@ -1863,7 +2009,7 @@ \toks@{\item}% \IfBooleanT{#1}{\addto@hook\toks@{*}}% \protected@edef\@tempa{#2\IfValueT{#3}{/#3}}% - \eaddto@hook\toks@{\expandafter[\@tempa]}% + \addto@hook@expandafter\toks@{\expandafter[\@tempa]}% \IfValueT{#4}{\addto@hook\toks@{[#4]}}% \IfValueT{#5}{\addto@hook\toks@{(#5)}}% \the\toks@% @@ -1895,16 +2041,16 @@ }% }]% } -\newlength\tempdim +\tud@newglue\tempdim \newsavebox\tabularm@box -\newlength\tabularm@wd +\tud@newdim\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}% + \tud@setdim\tabularm@wd{\wd\tabularm@box}% \def\tabularm@num{#1}% \let\allcolumnpar\tabularm@allcolumnpar% \begin{tabular}{*{#1}l}\BODY\end{tabular}% @@ -1912,7 +2058,7 @@ \newcommand*\tabularm@allcolumnpar[1]{% \multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}% } -\RequirePackage{tabularx}[1999/01/07] +\RequirePackage{tabularx} \NewDocumentCommand\TermTable{s m !g}{% \let\tud@templist\relax% \forcsvlist{\listadd\tud@templist}{#2}% @@ -1920,11 +2066,11 @@ \vskip\medskipamount% \@afterindentfalse\@afterheading% \IfBooleanTF{#1}{% - \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}% - \setlength\@tempdimc{-.7\baselineskip}% + \tud@setdim\@tempdima{\IfValueTF{#3}{#3}{\linewidth}}% + \tud@setdim\@tempdimc{-.7\baselineskip}% \begin{tabularx}{\@tempdima}{lXX}\Term@Table\end{tabularx}% }{% - \setlength\@tempdimc{\z@}% + \tud@setdim\@tempdimc{\z@}% \begin{tabular}{lll}\Term@Table\end{tabular}% }% \par\addvspace{\medskipamount}% @@ -1938,9 +2084,9 @@ } \newcommand*\Term@@Table[1]{% \Term{#1}'none' & % - \ifstr{\csuse{#1}}{}{\PName{leer}}{\csuse{#1}} & % + \tud@if@strempty{\csuse{#1}}{\PName{leer}}{\csuse{#1}} & % \selectlanguage{english}\vspace*{\@tempdimc}% - \ifstr{\csuse{#1}}{}{\PName{empty}}{\csuse{#1}}\tabularnewline% + \tud@if@strempty{\csuse{#1}}{\PName{empty}}{\csuse{#1}}\tabularnewline% } \newenvironment{Example}{\csuse{Example*}}{% \csuse{endExample*}% @@ -1952,11 +2098,10 @@ }{% \endlabeling% } -\newcommand*\tud@write@a{} -\newwrite\tud@write@a -\RequirePackage{listings}[2014/03/04] +\tud@newwrite\tud@write@a +\RequirePackage{listings} \lstdefinestyle{tudscr}{% - basicstyle=\ttfamily\ifdef{\setstretch}{\setstretch{1}}{},% + basicstyle=\ttfamily\ifundef{\setstretch}{}{\setstretch{1}},% keywordstyle=,% columns=fullflexible,keepspaces,% aboveskip=\smallskipamount,% @@ -1968,8 +2113,8 @@ \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] +\RequirePackage{filemod} +\RequirePackage{ifplatform} \newcommand*\tud@shellescape@wrn[1]{% \ClassWarning{tudscrmanual}% {% @@ -2066,16 +2211,16 @@ }{% \PassOptionsToPackage{colorinlistoftodos,color=HKS92!10}{todonotes}% } -\RequirePackage{todonotes}[2012/07/25] +\RequirePackage{todonotes} \AtEndPreamble{% \ifdim\marginparwidth<2cm\relax% - \setlength\marginparwidth{2cm}% + \tud@setdim\marginparwidth{2cm}% \fi% } \AfterPackage*{todonotes}{% \newcommand*\tud@todo@type@use{}% \NewDocumentCommand\ToDo{s o m !o}{% - \ifbool{@tud@todo}{% + \if@tud@todo% \global\let\tud@currentHref\@currentHref% \begingroup% \let\tud@todo@type@use\@empty% @@ -2124,7 +2269,7 @@ \tud@v@get\tud@res@a{#4}% \def\tud@res@c##1.##2##3##4\@nil{##1##2##3}% \edef\tud@res@b{\expandafter\tud@res@c\tud@res@a.000\@nil}% - \ifnumber{\tud@res@b}{% + \Ifnumber{\tud@res@b}{% \edef\tud@res@c{% \expandafter\tud@res@c\TUDScriptVersionNumber.000\@nil% }% @@ -2160,11 +2305,11 @@ \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]% + \marginnote[{##1}]{##2}[\dimexpr-\ht\z@+1.6ex+1.75pt\relax]% }% \toks@\expandafter{\tud@res@a noline,nolist}% \settowidth\marginparwidth{\tud@res@c}% - \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}% + \tud@addtodim\marginparwidth{1.6ex+1pt}% \expandafter\todo\expandafter[\the\toks@]{\tud@res@c\strut}% \aftergroup\par\aftergroup\noindent% \listremove{\tud@todo@type@use}{rls}% @@ -2173,9 +2318,7 @@ \ifx\tud@todo@type@use\@empty\else% \begingroup% \let\tud@res@c\@empty% - \renewcommand*{\do}[1]{% - \appto\tud@res@c{,##1}% - }% + \def\do##1{\appto\tud@res@c{,##1}}% \dolistloop{\tud@todo@type@use}% \edef\tud@res@c{% \endgroup% @@ -2189,7 +2332,7 @@ \fi% \endgroup% \global\let\@currentHref\tud@currentHref% - }{}% + \fi% \ignorespaces% }% \newcommand*\ListOfToDo{\if@tud@todo\clearpage\listoftodos\fi}% @@ -2198,20 +2341,19 @@ \NewDocumentCommand\ToDo{s o m !o}{}% \newcommand*\ListOfToDo{}% } -\RequirePackage{csquotes}[2011/10/22] -\RequirePackage{textcomp}[2005/09/27] -\RequirePackage{setspace}[2011/12/19] +\RequirePackage{textcomp} +\RequirePackage{setspace} \setstretch{1.1} \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{quoting} +\RequirePackage{isodate} +\RequirePackage{hologo} +\RequirePackage{ragged2e} \@removefromreset{footnote}{chapter} \renewcommand*\raggedfootnote{\tud@RaggedRight}% -\RequirePackage{booktabs}[2005/04/14] -\RequirePackage{caption}[2015/09/17] -\RequirePackage{floatrow}[2008/08/02] +\RequirePackage{booktabs} +\RequirePackage{caption} +\RequirePackage{floatrow} \DeclareCaptionSubType[alph]{figure} \DeclareCaptionSubType[alph]{table} \captionsetup{font=sf,labelfont=bf,labelsep=space} @@ -2219,75 +2361,13 @@ \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] +\RequirePackage{tikz} +\RequirePackage{pdfpages} +\RequirePackage{units} \AtEndPreamble{% - \RequirePackage{ellipsis}[2004/9/28]% + \RequirePackage{ellipsis} \let\ellipsispunctuation\relax% } -\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% -} -\newcommand*\Attention[2][\z@]{% - \marginnote{% - \setlength\fboxsep{0.25em}% - \fbox{Achtung!}% - }[#1]% - \emph{\trim@spaces{#2}}% -} -\NewDocumentCommand\Forum{!s !t'}{% - \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}% - \IfBooleanT{#2}{\toks@{\url}}% - \addto@hook\toks@{{http://latex.wcms-file3.tu-dresden.de/phpBB3/}}% - \IfBooleanF{#2}{\addto@hook\toks@{{TUD-\LaTeX-Forum}}}% - \the\toks@\xspace% -} -\NewDocumentCommand\CTAN{!s !o !g}{% - \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 !t' !O{releases}}{% - \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}% - \IfBooleanT{#2}{\toks@{\url}}% - \addto@hook\toks@{{https://github.com/tud-cd/tudscr/#3}}% - \IfBooleanF{#2}{% - \addto@hook\toks@{{\tud@english{GitHub-Repository~\Distribution*{tudscr}}}}% - }% - \the\toks@\xspace% -} -\newcommand*\Download[1]{% - https://github.com/tud-cd/tudscr/releases/download/#1% -} \newcommand*\notudscrartcl{% F\"ur die Klassen \Class{tudscrartcl} sowie \Class{tudscrposter} ist diese Option nicht verf\"ugbar.% @@ -2300,60 +2380,24 @@ \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% -} -\AfterPackage*{hyperref}{% - \pdfstringdefDisableCommands{% - \def\DDC{DRESDEN-concept}% - \def\TUDScript{TUD-Script}% - \def\KOMAScript{KOMA-Script}% - }% -} -\DeclareTextFontCommand\tud@cdfont@texteb{% - \fontfamily{\tud@cdfont@fam}\fontseries{\tud@cdfont@ebf}\selectfont% -} -\newrobustcmd*\OpenSans{% - \texorpdfstring{\tud@cdfont@texteb{Open~Sans}}{Open Sans}\xspace% -} -\newrobustcmd*\Univers{\texorpdfstring{\textcdbi{Univers}}{Univers}\xspace} -\newrobustcmd*\DIN{\texorpdfstring{\textcdxi{DIN~Bold}}{DIN Bold}\xspace} -\renewcommand*\@pnumwidth{2.1em}% -\renewcommand*\@tocrmarg{3.1em}% -\newcommand*\textsbn{} -\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape} -\DeclareTextFontCommand\textsbn{\sbnfont} -\newcommand*\textsbs{} -\newrobustcmd*\sbsfont{\sffamily\bfseries\slshape} -\DeclareTextFontCommand\textsbs{\sbsfont} -%%% From File: tudscr-fields.dtx +%%%% From File: tudscr-fields.dtx (no git version info was found) \newcommand*\@chairman{} -\newcommand*\chairman[1]{\gdef\@chairman{#1}} +\newcommand*\chairman[1]{\tud@trim@field\@chairman{#1}} \newcommand*\@grade{} -\newcommand*\grade[1]{\gdef\@grade{#1}} -\newcommand*\@headline{} +\newcommand*\grade[1]{\tud@trim@field\@grade{#1}} \newcommand*\@issuedate{} \newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}} \newcommand*\@duedate{} \newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}} \newcommand*\@contactperson{} -\newcommand*\contactperson[1]{\gdef\@contactperson{#1}} +\newcommand*\contactperson[1]{\tud@trim@field\@contactperson{#1}} \newcommand*\@office{} -\newrobustcmd*\office[1]{\gdef\@office{#1}} +\newrobustcmd*\office[1]{\tud@trim@field\@office{#1}} \newcommand*\@telephone{} -\newrobustcmd*\telephone[1]{\gdef\@telephone{#1}} +\newrobustcmd*\telephone[1]{\tud@trim@field\@telephone{#1}} \newcommand*\@telefax{} -\newrobustcmd*\telefax[1]{\gdef\@telefax{#1}} -%%% From File: tudscr-localization.dtx +\newrobustcmd*\telefax[1]{\tud@trim@field\@telefax{#1}} +%%%% From File: tudscr-localization.dtx (no git version info was found) \tud@localization@define{\authorname} \tud@localization@define{\contactname} \tud@localization@define{\contactpersonname} @@ -2409,107 +2453,105 @@ The thesis is evaluated with a grade of \textbf{\@grade}.% } \tud@localization@english{\noticename}{Notice} -%%% From File: tudscr-texindy.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% +%%%% From File: tudscr-texindy.dtx (no git version info was found) +\edef\tud@res@a{\catcode`\noexpand\#=\the\catcode`\#\relax}% +\@makeother\# +\newcommand*\@hashchar{#} +\tud@res@a +\tud@newwrite\tud@xdy@write +\NewDocumentCommand\tud@xdy@create{s}{% + \begingroup% + \edef\tud@res@a{\@currname-\IfBooleanTF{#1}{gls}{ind}.xdy}% + \expandafter\IfFileExists\expandafter{\tud@res@a}{}{% + \IfBooleanTF{#1}{\@tud@res@swatrue}{\@tud@res@swafalse}% + \edef\tud@res@b{the\if@tud@res@swa glossary\else index\fi}% + \edef\tud@res@a{\noexpand\tud@xdy@@create{\tud@res@b}{\tud@res@a}}% + \tud@res@a% + }% + \endgroup% +} +\newcommand*\tud@xdy@@create[2]{% + \immediate\openout\tud@xdy@write=#2\relax% + \immediate\write\tud@xdy@write{(require "texindy.xdy")}% + \immediate\write\tud@xdy@write{% + (markup-index^^J% + \@spaces:open^^J% + "\string\begin{#1}^^J% + \space\space\string\providecommand*\string\seesep{/}\@percentchar^^J% + "^^J% Ende des Umgebungsbeginns + \@spaces:close "\string~n\string~n\string\end{#1}\string~n"^^J% + \@spaces:hierdepth 3^^J% )^^J% - (markup-range :sep "--")% - }% - \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{% - (markup-locclass-list% - \space:open "\string\,\string\dotfill\string\,"% - \space:close "\string\relax"% - \space:sep ",\space"% - )% - }% - \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 "}}"% + (define-location-class "arabic-page-numbers"^^J% + \@spaces("arabic-numbers")^^J% + \@spaces:min-range-length 2^^J% )^^J% - (markup-locref% - \space:attr "!"\@spaces\@spaces% - \space:open "\string\textbf{\string\hyperpage{"% - \space:close "}}"% + (markup-range :sep "--")^^J% + (merge-rule :eregexp^^J% + \@spaces"\string\[(.*)\string\]"^^J% + \@spaces""^^J% )^^J% - (markup-locref% - \space:attr "important"% - \space:open "\string\textsl{\string\hyperpage{"% - \space:close "}}"% + (markup-indexentry :depth 3^^J% + \@spaces:open\space\space"\string~n\string\subsubsubitem\space"^^J% )^^J% - (markup-locref% - \space:attr "?"\@spaces\@spaces% - \space:open "\string\textsl{\string\hyperpage{"% - \space:close "}}"% + (markup-locclass-list^^J% + \@spaces:open\space\space"\string\,\string\dotfill\string\,"^^J% + \@spaces:close "\string\relax"^^J% + \@spaces:sep\space\space\space",\space"^^J% + )^^J% + (define-attributes (("!" "default") ("?" "default") ("default")))^^J% + (markup-attribute-group-list :sep ", ")^^J% + (markup-locref :attr "!"^^J% + \@spaces:open\space\space"\string\textbf{\string\hyperpage{"^^J% + \@spaces:close "}}"^^J% + )^^J% + (markup-locref :attr "?"^^J% + \@spaces:open\space\space"\string\textit{\string\hyperpage{"^^J% + \@spaces:close "}}"^^J% + )^^J% + (markup-locref :attr "default"^^J% + \@spaces:open\space\space"\string\hyperpage{"^^J% + \@spaces:close "}" ^^J% )^^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% + \@spaces:open\space\space"\string\cleversee\space"^^J% + \@spaces:sep\space\space\space"; "^^J% + \@spaces:close "\@backslashchar\@backslashchar"^^J% )^^J% (markup-crossref-list :class "seealso"^^J% - \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J% - )% - }% - \write\tud@write@xdy{% + \@spaces:open\space\space"\string\cleverseealso\space"^^J% + \@spaces:sep\space\space\space"; "^^J% + \@spaces:close "\@backslashchar\@backslashchar"^^J% + )^^J% (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{% + \@spaces:open\space\space"\string\cleversee\space"^^J% + \@spaces:sep\space\space\space"; "^^J% + \@spaces:close "\@backslashchar\@backslashchar"^^J% + )^^J% (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{% + \@spaces:open\space\space"\string\seeidx{"^^J% + \@spaces:sep\space\space\space"; "^^J% + \@spaces:close "}{}"^^J% + )^^J% + (markup-crossref-layer-list :class "see"% + \@spaces\space:sep "\string\seesep{}"% + )^^J% + (markup-crossref-layer-list :class "seealso"% + \space:sep "\string\seesep{}"% + )^^J% (define-location-class-order^^J% - \space\space(^^J% + \@spaces(^^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\,"% + \@spaces)^^J% )^^J% - (markup-crossref-layer-list :class "seealso"% - \space:sep "\string\,\string\textbar\string\,"% - )% - }% - \closeout\tud@write@xdy% }% + \immediate\closeout\tud@xdy@write% } -\tud@xdy@create{ind} -\endgroup +\tud@xdy@create \endinput %% %% End of file `tudscrmanual.cls'. |