summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/tudscr/tudscrman.cls')
-rw-r--r--Master/texmf-dist/tex/latex/tudscr/tudscrman.cls1284
1 files changed, 1284 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
new file mode 100644
index 00000000000..c290aed875f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls
@@ -0,0 +1,1284 @@
+%%
+%% This is file `tudscrman.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% tudscr-version.dtx (with options: `class,inherit')
+%% tudscr-manual.dtx (with options: `class,identify')
+%% tudscr-base.dtx (with options: `load')
+%% tudscr-manual.dtx (with options: `class,option')
+%% tudscr-base.dtx (with options: `execute,inherit')
+%% tudscr-manual.dtx (with options: `class,body')
+%% tudscr-misc.dtx (with options: `class,manual')
+%%
+%% ============================================================================
+%%
+%% TUD-KOMA-Script
+%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014
+%%
+%% ============================================================================
+%%
+%% 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,
+%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version
+%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c
+%% ist Teil aller Verteilungen von LaTeX 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{2014/12/17 v2.02 TUD-KOMA-Script}%
+\endgroup%
+\providecommand*\tudscrmail{tudscr@gmail.com}
+\newcommand*\tudinh@name{tudscrreprt}
+\@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}[2011/06/27]
+\ProvidesClass{tudscrman}[%
+ 2014/12/17 v2.02 TUD-KOMA-Script
+ class (internal manual)%
+]
+%%% From File: tudscr-base.dtx
+\RequirePackage{tudscrbase}[\TUDVersion]
+%%% From File: tudscr-manual.dtx
+\newif\if@tud@todo
+\@tud@todotrue
+\TUD@ifkey{ToDo}{@tud@todo}
+\PassOptionsToClass{%
+ cdfoot=true,%
+ chapterpage=true,%
+ chapterprefix=true,%
+ headings=optiontoheadandtoc,%
+ captions=tableheading,%
+ numbers=noenddot,%
+ color=true,%
+}{\tudinh@name}
+\PassOptionsToPackage{automark}{scrlayer-scrpage}
+\DeclareOption{final}{\let\tudfinalflag\relax}
+\DeclareOption{print}{\let\tudprintflag\relax}
+\AtBeginDocument{%
+ \ifdef{\tudfinalflag}{\TUDoptions{ToDo=false}}{}%
+ \ifdef{\tudprintflag}{\hypersetup{hidelinks}\TUDoptions{color=no}}{}%
+}
+%%% From File: tudscr-base.dtx
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\tudinh@name}}
+\TUDProcessOptions\relax
+\LoadClass{\tudinh@name}
+%%% From File: tudscr-manual.dtx
+\RequirePackage{xparse}[2013/12/31]
+\RequirePackage{textcomp}[2005/09/27]
+\RequirePackage{fixltx2e}[2014/06/10]
+\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{\tudcls@name}{Package `csquotes' not loaded}%
+ \providecommand\enquote[1]{\glqg#1\grqq{}}%
+ }%
+}
+\RequirePackage[babel]{microtype}[2013/05/23]
+\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}{hyperref}
+\AtEndPreamble{%
+ \RequirePackage{hyperref}[2012/11/06]
+ \hypersetup{colorlinks,linkcolor=blue}
+ \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%
+ \@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}%
+}
+\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 "\[(.*)\]" "" :eregexp)}
+\write\tud@write@i{%
+ (define-attributes (("declare" "!" "important" "?" "default")))%
+}
+\write\tud@write@i{(merge-to "important" "default")}
+\write\tud@write@i{(merge-to "?" "default")}
+\write\tud@write@i{%
+(markup-locref^^J%
+\space\space :open "\string\textbf{\string\hyperpage{"^^J%
+\space\space :close "}}"^^J%
+\space\space :attr "declare"^^J%
+)%
+}
+\write\tud@write@i{%
+(markup-locref^^J%
+\space\space :open "\string\textbf{\string\hyperpage{"^^J%
+\space\space :close "}}"^^J%
+\space\space :attr "!"^^J%
+)%
+}
+\write\tud@write@i{%
+(markup-locref^^J%
+\space\space :open "\string\textsl{\string\hyperpage{"^^J%
+\space\space :close "}}"^^J%
+\space\space :attr "important"^^J%
+)%
+}
+\write\tud@write@i{%
+(markup-locref^^J%
+\space\space :open "\string\textsl{\string\hyperpage{"^^J%
+\space\space :close "}}"^^J%
+\space\space :attr "?"^^J%
+)%
+}
+\write\tud@write@i{%
+(markup-locref^^J%
+\space\space :open "\string\hyperpage{"^^J%
+\space\space :close "}"^^J%
+\space\space :attr "default"^^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*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}}
+\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}}
+\newrobustcmd*\PBName[1]{\PBoolean|\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}|\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{som}{%
+ \ifnum\pdfshellescape=1\relax%
+ \filemodCmp{tutorials/#3.pdf}{tutorials/#3.tex}{}{%
+ \immediate\openout\tud@write@i=tutorials.sh%
+ \immediate\write\tud@write@i{%
+ cd tutorials^^J%
+ pdflatex -shell-escape #3^^J%
+ biber #3^^J%
+ makeglossaries #3^^J%
+ pdflatex #3^^J%
+ pdflatex #3%
+ }%
+ \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/#3.pdf}{%
+ \hypertut{#3}{}%
+ }{%
+ \textsbn{#3.pdf}%
+ \tud@shellescape@wrn%
+ }%
+ \IfBooleanF{#1}{%
+ \index[files]{\hypertut{#3}{~{\idxfont(Tutorial)}\IfValueT{#2}{|#2}}}%
+ }%
+}
+\newcommand*\IncludeExample[1]{%
+ \lstinputlisting[style=tudscr]{examples/#1}%
+ \ifnum\pdfshellescape=1\relax%
+ \filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{%
+ \immediate\write18{%
+ pdflatex -shell-escape -output-directory examples examples/#1.tex
+ 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]}%
+ \vskip.8ex%
+ \IfValueT{#4}{%
+ \settowidth\marginparwidth{#4}%
+ \addtolength\marginparwidth{\dimexpr1.6ex+1pt}%
+ \let\par\relax\noindent%
+ \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}%
+ \@tempa{#4}%
+ }%
+ \edef\@tempa{\noexpand\todo[\@ToDo,inline]}%
+ \@tempa{#3}%
+ \endgroup%
+ \par\noindent%
+ }{}%
+ \ignorespaces%
+}
+\newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi}
+\reversemarginpar
+\newrobustcmd*\bsc{\@backslashchar}
+\newlength\baselineskipglue
+\setlength\baselineskipglue{%
+ .4\baselineskip plus .4\baselineskip minus .2\baselineskip%
+}
+\newcommand*\tud@shellescape@wrn{%
+ \ClassWarning{\tudcls@name}{%
+ 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{\tudcls@name}{%
+ 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@noindex
+\NewDocumentCommand\@ProcessOutput{mod''d()md()omo}{%
+ \if@declare%
+ \if@openindex%
+ \IfValueT{#3}{%
+ \ClassWarning{\tudcls@name}{%
+ It is not possible to use any cross-reference\MessageBreak%
+ shorthand like '#3' within the arguments of\MessageBreak%
+ the environment `Declaration'%
+ }%
+ }%
+ \ifx\@IndexFormat\@empty\else%
+ \ClassWarning{\tudcls@name}{%
+ It is not possible to use any indexing format\MessageBreak%
+ like |\@IndexFormat| within the arguments of the\MessageBreak%
+ environment `Declaration'%
+ }%
+ \fi%
+ \if@noindex\else%
+ \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}%
+ \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@noindex\else%
+ \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}%
+ \fi%
+ \fi%
+ \else%
+ \ifx\@IndexFormat\relax%
+ \ClassError{\tudcls@name}{\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{\tudcls@name}{%
+ 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}{full}{\def\@tempb{ in \fullref{\@tempa}}}{}%
+ \ifstr{#3}{none}{%
+ \let\@tempb\relax%
+ \def\@tempc{\mbox{#1\IfValueT{#2}{#2}}}%
+ }{}%
+ }%
+ \@tempc\@tempb%
+ }{%
+ \IfValueT{#3}{%
+ \ClassWarning{\tudcls@name}{%
+ No cross-reference created, label \@tempa\space is missing%
+ }%
+ }%
+ \IfValueTF{#4}{%
+ \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\relax%
+ \let\PBName\@gobble%
+ \let\PSet\relax%
+ \let\PValue\@gobble%
+ \let\Parameter\@gobble%
+ \let\OParameter\@gobble%
+ \let\LParameter\relax%
+ \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}%
+ }%
+}{%
+ \ifx\@declarationlist\relax\else%
+ \ClassError{\tudcls@name}{\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\@noindextrue%
+ \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}}%
+ }{%
+ \global\@noindexfalse%
+ }%
+ \IfValueT{#2}{\renewcommand*\@changedatdeclaredefault{\emph{#2}}}%
+ \@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\@noindexfalse%
+ \@declaretrue\@openindextrue#2\@declarefalse%
+ \@stareddeclarefalse%
+}{%
+ \ifx\@changedatdeclarelist\relax\else%
+ \ClassError{\tudcls@name}{\string\printchangedatlist\space is missing}{%
+ \string\@changedatdeclarelist\space is not empty. Did you\MessageBreak%
+ forget to print this list with \string\printchangedatlist?%
+ }%
+ \fi%
+ \@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*\before@values{%
+ \let\item@values\item%
+ \let\item\tud@item%
+}
+\newcommand*\itemfalse{\def\tud@item@val{false/off/no}\item}
+\newcommand*\itemtrue{\def\tud@item@val{true/on/yes}\item}
+\newcommand*\item@values{}
+\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][]{%
+ \ifstrempty{#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}{}{\item@values}{\tud@@@item}%
+}
+\newcommand*\tud@@@item[1][]{%
+ \ifstrempty{#1}{}{%
+ \ifx\tud@item@add\relax%
+ \def\tud@item@add{#1}%
+ \else%
+ \apptocmd{\tud@item@add}{~#1}{}{}%
+ \fi%
+ }%
+ \item@values[%
+ \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%
+ }{}%
+}
+\NewDocumentCommand\tud@item@pkg{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'|!|}%
+ }%
+ }]%
+}
+\newcommand*\@changedatdeclarelist{}
+\let\@changedatdeclarelist\relax
+\newcommand*\@changedatdeclaredefault{\emph{neu}}
+\newcommand*\@changedatdeclare[2]{%
+ \IfValueT{#1}{%
+ \@for\@tempa:=#1\do{%
+ \protected@expandtwoargs\in@{!}{\@tempa}%
+ \ifin@%
+ \expandafter\listadd\expandafter\@changedatdeclarelist%
+ \expandafter{\@tempa!#2}%
+ \else%
+ \expandafter\listadd\expandafter\@changedatdeclarelist%
+ \expandafter{\@tempa!\@changedatdeclaredefault!#2}%
+ \fi%
+ }%
+ }%
+}
+\NewDocumentCommand\printchangedatlist{sO{\z@}}{%
+ \ifx\@changedatdeclarelist\relax\else%
+ \ChangedAt@Process{#2}{\@changedatdeclarelist}%
+ \global\let\@changedatdeclarelist\relax%
+ \IfBooleanF{#1}{%
+ \par\nobreak\vskip\dimexpr-\parskip-\baselineskip%
+ \@afterindentfalse\@afterheading%
+ }%
+ \fi%
+}
+\NewDocumentCommand\ChangedAt{sO{\z@}m}{\ChangedAt@Process[#1]{#2}{#3}}
+\newcommand*\@changedatlist{}
+\newcommand*\ChangedAt@Default{}
+\newcommand*\@changedatversionlist{}
+\let\@changedatversionlist\relax
+\newcommand*\ChangedAt@Process[3][]{%
+ \let\@changedatlist\relax%
+ \let\@changedatversionlist\relax%
+ \@for\@tempa:=#3\do{\listeadd{\@changedatlist}{\expandonce\@tempa}}%
+ \forlistloop\ChangedAt@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@Split{>{\SplitArgument{2}{!}}m}{%
+ \ChangedAt@@Process#1%
+}
+\newcommand*\ChangedAt@@Process[3]{%
+ \IfValueTF{#3}{%
+ \begingroup%
+ \@gobbleparameters%
+ \xdef\ChangedAt@Default{#3}%
+ \endgroup%
+ \ChangedAt@@@Process{#1}{Implementierung}{\ChangedAt@Default: #2}%
+ }{%
+ \IfValueT{#2}{\ChangedAt@@@Process{#1}{Allgemein}{#2}}%
+ }%
+ \xifinlist{#1}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#1}}%
+}
+\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%
+}
+\newcommand*\Rename[4][]{%
+ \ChangedAt@@@Process{#2}{Umbenennungen}{%
+ #3: \emph{umbenannt}~\textrightarrow~siehe #4%
+ }%
+ \ChangedAt@@@Process{#2}{Implementierung}{%
+ #4: \emph{neu}~\textrightarrow~ersetzt #3%
+ }%
+ \listeadd\@changedatdeclarelist{#2}%
+ \index[#1]{#3|see{#4}}%
+}
+\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}<0\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]%
+ \begingroup%
+ \let\lettergroup\@gobble%
+ \let\indexspace\par%
+ \@printindex[fonts]%
+ \@printindex[colors]%
+ \endgroup%
+ \@printindex[files]%
+ \endgroup%
+}
+\newcommand*\PrintIndexPrologue[1]{\long\gdef\@printindexprologue{#1}}
+\newcommand*\@printindexprologue{}
+\newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi}
+\newcommand*\@printindex[1][]{%
+ \pagebreak[3]%
+ \apptocmd{\prepare@multicols}{\hbadness10000}{}{}%
+ \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}%
+ }%
+}
+\newif\if@changelog
+\newcommand*\PrintChangelog{%
+ \begingroup%
+ \let\lettergroup\@gobble%
+ \@changelogtrue%
+ \@printindex[changelog]%
+ \endgroup%
+}
+\NewDocumentCommand\Changelog{m}{%
+ \index{%
+ #1!\textrightarrow{}\space%
+ \manualhyperref{idx:changelog}{\"Anderungsliste}|seeidx{changelog}%
+ }%
+}
+%%% From File: tudscr-misc.dtx
+\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.12\xspace}
+\RequirePackage{scrhack}[2014/07/07]
+\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{\scriptsize\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%
+}
+\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*\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*\sbnfont{\sffamily\bfseries\upshape}
+\newcommand*\sbsfont{\sffamily\bfseries\slshape}
+\newcommand*\textsbn{}
+\newcommand*\textsbs{}
+\DeclareTextFontCommand\textsbn{\sffamily\bfseries\upshape}
+\DeclareTextFontCommand\textsbs{\sffamily\bfseries\slshape}
+\endinput
+%%
+%% End of file `tudscrman.cls'.