%% %% This is file `tudscrmanual.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% tudscr-version.dtx (with options: `package,manual,identify') %% tudscr-manual.dtx (with options: `package,manual,identify') %% tudscr-base.dtx (with options: `package,manual,load') %% tudscr-misc.dtx (with options: `package,manual,option') %% tudscr-manual.dtx (with options: `package,manual,option') %% tudscr-misc.dtx (with options: `package,manual,execute') %% tudscr-misc.dtx (with options: `package,manual,body') %% tudscr-manual.dtx (with options: `package,manual,body') %% tudscr-texindy.dtx (with options: `package,manual') %% %% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% 2022/08/09 v2.06o TUD-Script %% %% Copyright (C) Falk Hanisch , 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. %% ---------------------------------------------------------------------------- %% %% This work may be distributed and/or modified under the conditions of the %% LaTeX Project Public License, either version 1.3c of this license or %% any later version. 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 version 2008-05-04 or later. %% %% This work has the LPPL maintenance status "maintained". %% %% The current maintainer and author of this work is Falk Hanisch. %% %%%% 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[2]{% \gdef\TUD@Version{#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% }% \fi% }% \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 \@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/} \providecommand*\TUD@Class@Check[1]{% \ifx\TUD@Class@Name\@undefined% \PackageError{#1}{TUD-Script class not loaded}{% This package requires a class of the TUD-Script bundle\MessageBreak% (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% }% \DeclareOption*{}% \ProcessOptions\relax% \expandafter\endinput% \fi% }% %%%% From File: tudscr-manual.dtx (no git version info was found) \ProvidesPackage{tudscrmanual}[% 2022/08/09 v2.06o TUD-Script package (tudscr tutorials)% ] \TUD@Class@Check{tudscrtutorial} %%%% From File: tudscr-base.dtx (no git version info was found) \RequirePackage{tudscrbase}[% 2022/08/09 v2.06o TUD-Script ] %%%% 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@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% \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}{\FamilyKeyStateProcessed}% }{% \KOMAoptions{overfullrule}% }% \ifdef{\tudprintflag}{% \ifnum\tud@cd@num>\z@\relax% \TUDoptions{cd=true}% \fi% \TUD@key{cd}{\FamilyKeyStateProcessed}% \ifundef{\hypersetup}{}{\hypersetup{hidelinks}}% }{}% } \tud@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{% \tud@if@strequal{##1##2##3}{not}{% \IfArgIsEmpty{##4}{}{% \listeadd\tud@todo@type@neg{##4}% \@tud@todotrue% \FamilyKeyStateProcessed% }% }{% \IfArgIsEmpty{##1}{}{% \listeadd\tud@todo@type@pos{##1##2##3##4}% \@tud@todotrue% \FamilyKeyStateProcessed% }% }% }% \edef\@tempb{not\trim@spaces{#1}}% \expandafter\@tempa\@tempb\@empty\@empty\@empty\@nil% \fi% } %%%% From File: tudscr-misc.dtx (no git version info was found) \KOMAoptions{headings=small} \TUDoptions{cdfoot=true} \TUDExecuteOptions{% } \TUDProcessOptions\relax %%%% 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@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% } \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}% }{% \expandafter\emailaddress\expandafter{\TUDScriptContact}% }% } \AfterPackage*{hyperref}{% \pdfstringdefDisableCommands{\let\TUDScriptContactTitle\relax}% } %%%% From File: tudscr-manual.dtx (no git version info was found) \RequirePackage{scrwfile} \AfterPackage*{hyperref}{% \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}% \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}% \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}% \newcommand*\tud@manualname{tudscr}% \newcommand*\tudhyperref[2]{% \hyperref{../\tud@manualname.pdf}{\tud@manualname}{#1}{#2}% }% \newcommand*\autorefname[1][current]{% \tud@if@strequal{#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{tudscrmanual}% {% It is strongly recommended to load package `hyperref'. \MessageBreak% Nevertheless, essential commands are rudimentarily\MessageBreak% defined. At least the package `url' is loaded% }% \providecommand*\hyperpage[1]{#1}% \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% \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} \tud@localization@german{\partautorefname}{Teil}% \tud@localization@german{\chapterautorefname}{Kapitel}% \tud@localization@german{\sectionautorefname}{Unterkapitel}% \tud@localization@german{\subsectionautorefname}{Abschnitt}% \tud@localization@german{\subsubsectionautorefname}{Unterabschnitt}% \tud@localization@english{\partautorefname}{Part}% \tud@localization@english{\chapterautorefname}{chapter}% \tud@localization@english{\sectionautorefname}{section}% \tud@localization@english{\subsectionautorefname}{subsection}% \tud@localization@english{\subsubsectionautorefname}{subsubsection}% \providecommand*\tudhyperref[2]{#2}% \providecommand*\autorefname[1][]{??\xspace}% } \RequirePackage{varioref} \renewcommand*\fullref[1]{\hyperref[{#1}]{\autoref*{#1} \vpageref{#1}}} \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}{}% \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{tudscrmanual}% {Wrong usage of optional argument for value}% {There are two optional arguments for a value given!}% } \newenvironment{Bundle}[1]{% \tud@if@bdl{% \PackageError{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]{% \tud@if@strequal{\tud@bdl@curr}{\tud@bdl@dflt}{#2}{#1}% } \NewExpandableDocumentCommand\@Application{sm}{#2} \NewDocumentCommand\Application{s m !d() !d<> !d||}{% \Markup@SetFormat{\sbifont}% \IfValueTF{#4}{% \Process@Markup{\Application{#2}}(#3)<#4>% }{% \Process@Markup{\Application{#2}}(#3)% }% \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#5|% } \NewExpandableDocumentCommand\@Distribution{sm}{#2} \NewDocumentCommand\Distribution{s m !o !d() !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{s m !d() !d||}{% \Markup@SetFormat{\sbnfont}% \Process@Markup{\Engine{\hologo{#2}}}(#3)% \Process@Index{#1}{\Engine{#2}}[Textsatzsystem](#3)|#4|% } \newrobustcmd*\Path[1]{\mbox{\texttt{#1}}} \NewExpandableDocumentCommand\@File{sm}{#2} \NewDocumentCommand\File{s m !d() !d||}{% \Markup@SetFormat{\sbnfont}% \Process@Markup{\File{#2}}(#3)% \Process@Index{#1}{\File{#2}}[Datei](#3)|#4|% } \NewExpandableDocumentCommand\@Class{sm}{#2} \NewDocumentCommand\Class{s m !d() !d'' !d||}{% \Markup@SetFormat{\sbnfont}% \Process@Markup{\Class{#2}}(#3)'#4'% \Process@Index{#1}{\Class{#2}}[Klasse](#3)|#5|% } \NewExpandableDocumentCommand\@Package{sm}{#2} \NewDocumentCommand\Package{s m !d() !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}m !d== !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{s m !o !d() !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{s m !o !d() !d'' !d||}{% \Markup@SetFormat[\bsc]{\ttfamily}% \Process@Markup{\Macro{#2}}[#3](#4)'#5'% \Process@Index{#1}{\Macro{#2}}(#4)|#6|% } \NewExpandableDocumentCommand\@Length{sm}{#2} \NewDocumentCommand\Length{s m !d() !d'' !d||}{% \Markup@SetFormat[\bsc]{\ttfamily}[L\"ange]% \Process@Markup{\Length{#2}}(#3)'#4'% \Process@Index{#1}{\Length{#2}}[L\"ange](#3)|#5|% } \NewExpandableDocumentCommand\@Counter{sm}{#2} \NewDocumentCommand\Counter{s m !d() !d'' !d||}{% \Markup@SetFormat{\ttfamily}[Z\"ahler]% \Process@Markup{\Counter{#2}}(#3)'#4'% \Process@Index{#1}{\Counter{#2}}[Z\"ahler](#3)|#5|% } \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*\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% \tud@if@strblank{#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\_{-}% \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}% \def\dots{...}% \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==}{% \tud@if@strequal{#2}{\tud@bdl@dflt}{}{% \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}{% \tud@if@strblank{#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% } \tud@newif\if@tud@disposition \newcommand*\ifdisposition{% \if@tud@disposition% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% \fi% } \pretocmd\tud@sec@format{% \@tud@dispositiontrue% }{}{\tud@patch@wrn{tud@sec@format}} \newcommand*\Markup@Suppress{\let\Process@Markup\Markup@@Suppress} \NewDocumentCommand\Markup@@Suppress{md==od()d<>d''}{} \NewDocumentCommand\Process@Markup{md==od()d<>d''}{% \tud@toks@{\Process@@MarkupInline}% \tud@lbl@get@curr\tud@lbl@tmp{#4:#1}=#2=% \addto@hook@expandafter\tud@toks@{\expandafter{\tud@lbl@tmp}}% \begingroup% \Markup@Gobble*% \protected@edef\tud@reserved{% \noexpand\endgroup% \def\noexpand\tud@reserved{#1}% }% \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@index\else% \IfValueT{#5}{% \tud@if@strblank{#5}% {}% {\addto@hook\tud@toks@{}}% }% \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}{% \tud@if@strequal{#6}{none}{\let\@tempa\@tempc}{% \tud@if@strequal{#6}{manual}{\def\@tempa{\tudhyperref{#1}{\@tempc}}}{% \def\@tempb{% \PackageWarning{tudscrmanual}% {% You've used the unknown cross-reference\MessageBreak% shorthand '#6'. Only 'none' and 'manual'\MessageBreak% are valid% }% }% }% }% }% \ifdisposition{\@tempc}{\@tempa\@tempb}% \endgroup% \Markup@ClearFormat% } \NewDocumentCommand\Markup@Output{>{\SplitArgument{1}{!}}mr==r[]}{% \Markup@@Output#1=#2=[#3]% } \NewDocumentCommand\Markup@@Output{mmr==r[]}{% \tud@toks@{\Markup@Inline}% \IfValueTF{#2}{% \def\@tempa{#2}% }{% \def\@tempa{#1}% }% \IfValueT{#3}{\appto\@tempa{=#3}}% \IfValueT{#4}{\appto\@tempa{#4}}% \addto@hook@expandafter\tud@toks@{\expandafter{\@tempa}}% \the\tud@toks@% } \newcommand*\Markup@Inline[1]{\mbox{\Markup@Format{#1}}} \newcommand*\Markup@Format{} \undef\Markup@Format \newcommand*\Markup@Suffix{} \NewDocumentCommand\Markup@SetFormat{omod()}{% \def\Markup@Format##1{\begingroup#2{\IfValueT{#1}{#1}##1}\endgroup}% \IfValueT{#3}{\def\Markup@Suffix{\suffix{#3}}}% } \newcommand*\Markup@ClearFormat{% \undef\Markup@Format% \let\Markup@Declare\Markup@@Declare% \let\Markup@Suffix\relax% } \Markup@ClearFormat \newcommand*\Markup@CheckFormat{% \ifundef\Markup@Format{% \PackageError{tudscrmanual}% {\string\Markup@SetFormat\space unused}% {It seems you have forgotten to use \string\Markup@SetFormat.}% }{}% } \PassOptionsToPackage{xindy,splitindex}{imakeidx} \RequirePackage{imakeidx} \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% \newcommand*\tud@xdy@settings{} \edef\tud@xdy@settings{-M \@currname-ind.xdy -L german-din} \NewDocumentCommand\makexdyindex{s o m !o}{% \let\@tempb\@empty% \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={\tud@xdy@settings\space-t \jobname-#4.xlg \@tempb},% }{% options={\tud@xdy@settings\space-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 \tud@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@@in#2{@}{"@}% \tud@replace@@in#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}{% \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}}% \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% } \newrobustcmd*\cleversee{\tud@cleversee{\seename}} \newrobustcmd*\cleverseealso{% \PackageWarning{tudscrmanual}% {You should use `|see' instead of `|seealso'}% \tud@cleversee{\alsoname}% } \newcommand*\tud@cleversee{} \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% } \NewDocumentCommand\Process@Index{mmd==od()d||}{% \ifboolexpr{% bool {@tud@index}% }{}{% \IfBooleanTF{#1}{% \IfValueT{#6}{% \PackageWarning{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]{}% \tud@if@strblank{#1}{\printindex}{\printindex[{#1}]}% \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi% } \tud@newwrite\tud@write@a \tud@newwrite\tud@write@b \tud@newread\tud@read \RequirePackage{listings} \lstdefinestyle{tudscr}{% basicstyle=\ttfamily\ifundef{\setstretch}{}{\setstretch{1}},% keywordstyle=,% columns=fullflexible,keepspaces,% aboveskip=\smallskipamount,% belowskip=\smallskipamount,% language=[LaTeX]TeX,% texcl,% } \RequirePackage{filemod} \RequirePackage{ifplatform} \newcommand*\tud@shellescape@wrn[1]{% \PackageWarning{tudscrmanual}% {% File `#1' is missing!\MessageBreak% You have to recompile this document with\MessageBreak% activated shell escape option% }% } \newcommand*\tud@latex@ext{pdflatex\space} \iftutex \ifxetex \renewcommand*\tud@latex@ext{xelatex\space} \else \renewcommand*\tud@latex@ext{lualatex\space} \fi \fi \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=\m@ne\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]{% \tud@if@strequal{#1}{preamble}{% \tud@tut@readtostream{\tud@tut@temp.tex}{\tud@write@a}% }{% \tud@if@strequal{#1}{trunk}{% \tud@tut@readtostream{\tud@tut@temp.tex}{\tud@write@b}% }{% \tud@tut@readtostream{\tud@tut@temp.tex}{#1}% }% }% } \TUDoptions{headingsvskip=-6ex} \newcommand\StartTutorial[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}% \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}% \faculty{}% \maketitle% \IfArgIsEmpty{#1}{}{% \noindent% \begin{abstract}% \noindent#1% \end{abstract}% \medskip% }% \noindent\ignorespaces% } \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}% \thispagestyle{empty}% \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\pdf@shellescape=\@ne\relax% \ifwindows% \def\@tempa{del}% \else% \def\@tempa{rm}% \fi% \ShellEscape{\@tempa\space\tud@tut@temp*.*}% \fi% } \newcommand\Code@Preamble{} \let\Code@Preamble\relax \newcommand\CodePreamble[1]{% \long\gdef\Code@Preamble{% \hskip.5\leftmargin\textit{Die resultierende Ausgabe:}\space#1% }% } \newcommand*\Code@Hook{} \let\Code@Hook\relax \newcommand*\CodeHook[1]{\gdef\Code@Hook{#1}} \newcommand*\StandaloneFile{} \let\StandaloneFile\relax \newcommand*\StandaloneDate{} \providecommand*\filec@ntents@silent{% \let\@latex@warning@no@line\@gobble% } \newcommand*\tud@tut@pre{% \csuse{filecontents*}[force,silent,nosearch]{\tud@tut@temp.tex}% } \newcommand*\tud@tut@post{% \csuse{endfilecontents*}% } \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}{}% \tud@setdim\@tempdimc{\leftskip}% \tud@setdim\leftskip{\leftmargin}% \@tempa{\input{\tud@tut@temp.tex}}{\Code@Hook}% \global\let\Code@Hook\relax% \tud@setdim\leftskip{\@tempdimc}% \noindent\ignorespaces% } \newcommand*\InputCode{\input{\tud@tut@temp.tex}} \IfFileExists{\tud@tut@temp-standalone.tex}{\@tempswafalse}{\@tempswatrue} \if@tempswa% \begin{filecontents*}{\tud@tut@temp-standalone.tex} \documentclass[english,ngerman]{tudscrreprt} \iftutex \usepackage{fontspec} \else \usepackage[T1]{fontenc} \usepackage[ngerman=ngerman-x-latest]{hyphsubst} \fi \usepackage{babel} \usepackage{tudscrsupervisor} \usepackage{isodate} \usepackage{enumitem} \setlist{noitemsep} \begin{document} \ifdefvoid{\StandaloneDate}{}{\date{\StandaloneDate}}% \input{\jobname.tex}% \end{document} \end{filecontents*} \fi \newcommand*\tud@tut@pdf{% \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{\jobname-standalone-\StandaloneFile.pdf}{\jobname.tex}{}{% \begingroup% \let\printdate\@firstofone% \edef\@tempa{\expandonce\@date}% \def\@tempb{\today}% \ifx\@tempa\@tempb\relax% \let\@tempb\@empty% \else% \edef\@tempb{\unexpanded{\def\StandaloneDate}{\@date}}% \fi% \edef\@tempa{% \tud@latex@ext -jobname=\tud@tut@temp\space% "\noexpand\unexpanded{\expandonce\@tempb\noexpand\input}% {\tud@tut@temp-standalone.tex}"% }% \ShellEscape{\@tempa^^J\@tempa^^J\@tempa}% \ifwindows% \def\@tempa{rename}% \else% \def\@tempa{mv}% \fi% \ShellEscape{% \@tempa\space\tud@tut@temp.pdf\space% \jobname-standalone-\StandaloneFile.pdf% }% \endgroup% }% \fi% \global\let\StandaloneFile\relax% } \NewDocumentCommand\IncludeStandalone{o m !O{1}}{% \IfFileExists{\jobname-standalone-#2.pdf}{% \@tempcnta\z@% \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}% \ifnum\@tempcnta>\z@\relax% \tud@setdim\@tempdima{\textwidth}% \divide\@tempdima\@tempcnta% \advance\@tempcnta\m@ne% \multiply\@tempcnta 2% \tud@addtodim\@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\pdf@shellescape=\@ne\relax% \filemodCmp{\jobname-pics.pdf}{\jobname.tex}{% \PassOptionsToPackage{off}{auto-pst-pdf}% }{}% \else% \PassOptionsToPackage{off}{auto-pst-pdf}% \fi% \RequirePackage{auto-pst-pdf} \ifnum\pdf@shellescape=\@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} \AtEndPreamble{% \ifdim\marginparwidth<2cm\relax% \tud@setdim\marginparwidth{2cm}% \fi% } \AfterPackage*{todonotes}{% \newcommand*\tud@todo@type@use{}% \NewDocumentCommand\ToDo{s o m !o}{% \if@tud@todo% \global\let\tud@currentHref\@currentHref% \begingroup% \let\tud@todo@type@use\@empty% \IfValueTF{#2}{% \IfArgIsEmpty{#2}{}{% \let\tud@todo@type@use\relax% \ifx\tud@todo@type@pos\relax% \def\tud@res@a##1{% \ifinlist{##1}{\tud@todo@type@use}{}{% \ifinlist{##1}{\tud@todo@type@neg}{}{% \listadd\tud@todo@type@use{##1}% }% }% }% \else% \def\tud@res@a##1{% \ifinlist{##1}{\tud@todo@type@use}{}{% \ifinlist{##1}{\tud@todo@type@pos}{% \listadd\tud@todo@type@use{##1}% }{}% }% }% \fi% \forcsvlist\tud@res@a{#2}% }% }{}% \ifx\tud@todo@type@use\relax\else% \let\tud@res@a\@empty% \let\tud@res@b\@empty% \let\tud@res@c\@empty% \ifinlist{rls}{\tud@todo@type@use}{% \def\tud@res@a{color=HKS44!30,}% \def\tud@res@b{color=HKS44!30,}% \edef\tud@res@c{v\TUDScriptVersionNumber}% }{% \ifinlist{imp}{\tud@todo@type@use}{% \def\tud@res@a{color=HKS57!50,}% }{% \ifinlist{doc}{\tud@todo@type@use}{% \def\tud@res@a{color=HKS41!30,}% }{}% }% \def\tud@res@c{ToDo}% \IfValueT{#4}{% \begingroup% \tud@v@get\tud@res@a{#4}% \def\tud@res@c##1.##2##3##4\@nil{##1##2##3}% \edef\tud@res@b{\expandafter\tud@res@c\tud@res@a.000\@nil}% \Ifnumber{\tud@res@b}{% \edef\tud@res@c{% \expandafter\tud@res@c\TUDScriptVersionNumber.000\@nil% }% \ifnum\tud@res@b>\tud@res@c\relax% \def\tud@res@b{color=HKS92!30,}% \else% \ifnum\tud@res@b<\tud@res@c\relax% \def\tud@res@b{color=HKS07!50,}% \else% \def\tud@res@b{color=HKS41!30,}% \fi% \fi% \def\tud@res@c{v\tud@res@a}% }{% \let\tud@res@b\@empty% \def\tud@res@c{#4}% }% \edef\tud@res@c{% \endgroup% \def\noexpand\tud@res@b{\tud@res@b}% \def\noexpand\tud@res@c{\tud@res@c}% }% \tud@res@c% }% }% \ifhmode\par\fi% \let\par\relax% \vskip\medskipamount% \noindent% \toks@\expandafter{\tud@res@b 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{\tud@res@a noline,nolist}% \settowidth\marginparwidth{\tud@res@c}% \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}% \listremove{\tud@todo@type@use}{imp}% \listremove{\tud@todo@type@use}{doc}% \ifx\tud@todo@type@use\@empty\else% \begingroup% \let\tud@res@c\@empty% \def\do##1{\appto\tud@res@c{,##1}}% \dolistloop{\tud@todo@type@use}% \edef\tud@res@c{% \endgroup% \edef\noexpand\tud@res@c{\expandafter\@gobble\tud@res@c}% }% \tud@res@c% \ClassWarning{tudscrmanual}{% Unknown key(s) `\string\ToDo[\tud@res@c]'% }% \fi% \fi% \endgroup% \global\let\@currentHref\tud@currentHref% \fi% \ignorespaces% }% \newcommand*\ListOfToDo{\if@tud@todo\clearpage\listoftodos\fi}% } \TUD@UnwindPackage{todonotes}{% \NewDocumentCommand\ToDo{s o m !o}{}% \newcommand*\ListOfToDo{}% } \RequirePackage{textcomp} \RequirePackage{setspace} \setstretch{1.1} \PassOptionsToPackage{vskip=\smallskipamount}{quoting} \RequirePackage{quoting} \RequirePackage{isodate} \RequirePackage{hologo} \newcommand*\notudscrartcl{% F\"ur die Klassen \Class{tudscrartcl} sowie \Class{tudscrposter} ist diese Option nicht verf\"ugbar.% } \NewDocumentCommand\scrguide{!s !O{\KOMAScript-Handbuch}}{% \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}% \addto@hook\toks@{% {http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf}% }% \addto@hook\toks@{{#2}}% \the\toks@\xspace% } %%%% 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% (define-location-class "arabic-page-numbers"^^J% \@spaces("arabic-numbers")^^J% \@spaces:min-range-length 2^^J% )^^J% (markup-range :sep "--")^^J% (merge-rule :eregexp^^J% \@spaces"\string\[(.*)\string\]"^^J% \@spaces""^^J% )^^J% (markup-indexentry :depth 3^^J% \@spaces:open\space\space"\string~n\string\subsubsubitem\space"^^J% )^^J% (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-crossref-list :class "see"^^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% \@spaces:open\space\space"\string\cleverseealso\space"^^J% \@spaces:sep\space\space\space"; "^^J% \@spaces:close "\@backslashchar\@backslashchar"^^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% \@spaces(^^J% \@spaces"see" "seealso"^^J% \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J% \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J% \@spaces)^^J% )^^J% }% \immediate\closeout\tud@xdy@write% } \tud@xdy@create \endinput %% %% End of file `tudscrmanual.sty'.