%%
%% This is file `tudscrtutorial.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tudscr-version.dtx  (with options: `package,tutorial')
%% tudscr-manual.dtx  (with options: `package,tutorial,identify')
%% tudscr-base.dtx  (with options: `package,tutorial,load')
%% tudscr-manual.dtx  (with options: `package,tutorial,option')
%% tudscr-misc.dtx  (with options: `package,tutorial,execute')
%% tudscr-manual.dtx  (with options: `package,tutorial,body')
%% tudscr-texindy.dtx  (with options: `package,tutorial')
%% 
%% TUD-Script -- Corporate Design of Technische Universitaet Dresden
%% 
%%   2017/01/26 v2.05g TUD-Script
%% 
%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017
%% 
%% 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, 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.
%% 
%%% From File: tudscr-version.dtx
\begingroup
  \catcode`\@11\relax
  \ifx\TUD@Version\@undefined
    \newcommand*\TUD@Version@Check[1]{%
      \gdef\TUD@Version{#1}%
      \gdef\TUDScriptVersion{#1}%
      \def\@tempb##1 v##2 ##3\relax##4\relax{\gdef\TUDScriptVersionNumber{##2}}%
      \edef\@tempa{\TUD@Version}%
      \expandafter\@tempb\@tempa\relax? ? \relax\relax%
      \gdef\TUD@Version@KOMA{3.17}%
    }
  \else
    \newcommand*\TUD@Version@Check[1]{%
      \def\@tempa{#1}%
      \ifx\TUD@Version\@tempa\else%
        \@latex@warning@no@line{%
          \noexpand\TUD@Version\space is `\TUD@Version',\MessageBreak%
          but `#1' was expected!\MessageBreak%
          You should not use classes, packages or files from\MessageBreak%
          different TUD-Script-Bundle versions%
        }%
      \fi%
    }
  \fi
  \TUD@Version@Check{2017/01/26 v2.05g TUD-Script}
\endgroup
\NeedsTeXFormat{LaTeX2e}
\providecommand*\tudscrmail{tudscr@gmail.com}
\ifx\TUD@Class@Name\@undefined
  \PackageError{%
    tudscrtutorial%
  }{Unsupported class found}{%
    This package can only be used with a class out of the\MessageBreak%
    tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).%
  }%
  \endinput
\fi
\@ifundefined{TUDScript}{%
  \DeclareRobustCommand\TUDScript{%
    \ifdin{TUD-SCRIPT}{%
      \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em Script}%
    }\csname xspace\endcsname%
  }%
}{}
%%% From File: tudscr-manual.dtx
\ProvidesPackage{tudscrtutorial}[%
  2017/01/26 v2.05g TUD-Script
  package
  (internal tutorials)%
]
%%% From File: tudscr-base.dtx
\RequirePackage{tudscrbase}[\TUD@Version]
%%% From File: tudscr-manual.dtx
\TUD@key{final}[true]{%
  \TUD@set@ifkey{final}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \let\tudfinalflag\relax%
    \fi%
  \fi%
}
\TUD@key{print}[true]{%
  \TUD@set@ifkey{print}{@tempswa}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \if@tempswa%
      \let\tudprintflag\relax%
    \fi%
  \fi%
}
\AtEndPreamble{%
  \ifdef{\tudfinalflag}{%
    \TUDoptions{ToDo=false}%
    \TUD@key{ToDo}{}%
  }{}%
  \ifdef{\tudprintflag}{%
    \ifnum\tud@cd@num>\z@\relax%
      \TUDoptions{cd=true}%
    \fi%
    \TUD@key{cd}{}%
    \ifundef{\hypersetup}{}{\hypersetup{hidelinks}}%
  }{}%
}
\newif\if@tud@todo
\newcommand*\tud@todo@type@pos{}
\let\tud@todo@type@pos\relax
\newcommand*\tud@todo@type@neg{}
\let\tud@todo@type@neg\relax
\TUD@key{ToDo}[true]{%
  \TUD@set@ifkey{ToDo}{@tud@todo}{#1}%
  \ifx\FamilyKeyState\FamilyKeyStateProcessed%
    \let\tud@todo@type@pos\relax%
    \let\tud@todo@type@neg\relax%
  \else%
    \def\@tempa not##1##2##3##4\@nil{%
      \ifstr{##1##2##3}{not}{%
        \if\relax##4\relax\else%
          \listeadd\tud@todo@type@neg{##4}%
          \@tud@todotrue%
          \FamilyKeyStateProcessed%
        \fi%
      }{%
        \if\relax##1\relax\else%
          \listeadd\tud@todo@type@pos{##1##2##3##4}%
          \@tud@todotrue%
          \FamilyKeyStateProcessed%
        \fi%
      }%
    }%
    \edef\@tempb{not\trim@spaces{#1}}%
    \expandafter\@tempa\@tempb\@empty\@empty\@empty\@nil%
  \fi%
}
%%% From File: tudscr-misc.dtx
\KOMAoptions{headings=small}
\TUDoptions{cdfoot=true}
\TUDExecuteOptions{ToDo=true}
\TUDProcessOptions\relax
%%% From File: tudscr-manual.dtx
\PassOptionsToPackage{log-declarations=false}{xparse}
\RequirePackage{xparse}[2013/12/31]
\RequirePackage{scrhack}[2014/02/27]
\RequirePackage{babel}[2014/03/24]
\PassOptionsToPackage{quiet}{marginnote}
\RequirePackage{marginnote}[2012/03/29]
\reversemarginpar
\RequirePackage{xspace}[2009/10/20]
\xspaceaddexceptions{"=}
\@ifpackagelater{geometry}{2010/09/13}{%
  \ClassWarning{\TUD@Class@Name}{%
    Package `geometry' was updated so some patches\MessageBreak%
    are maybe outdated
  }%
}{}%
\newcommand*\vTUDScript{v\TUDScriptVersionNumber}
\newcommand*\vKOMAScript{v\TUD@Version@KOMA}
\newcommand*\tud@english[1]{#1}
\AtBeginDocument{%
  \iflanguageloaded{english}{%
    \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}%
  }{}%
}
\RequirePackage{pdftexcmds}[2016/05/21]
\newcommand*\tud@templist{}
\let\tud@templist\relax
\newcommand*\tud@list@sort[1]{%
  \ifdefvoid{#1}{%
    \ClassWarning{tudscrmanual}{%
      The given list \string#1\space\MessageBreak%
      is empty, nothing to sort here%
    }%
  }{%
    \let\tud@reserved#1%
    \let\tud@templist\relax%
    \forlistloop\tud@list@@sort{\tud@reserved}%
    \let\tud@reserved\relax%
    \@for\@tempa:=\tud@templist\do{\listeadd\tud@reserved{\@tempa}}%
    \let#1\tud@reserved%
  }%
}
\newif\if@tud@list@sorted
\newcommand*\tud@list@@sort[1]{%
  \ifx\tud@templist\relax%
    \def\tud@templist{#1}%
  \else%
    \@tud@list@sortedfalse%
    \let\@tempb\@empty%
    \@for\@tempa:=\tud@templist\do{%
      \if@tud@list@sorted%
        \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}%
      \else%
        \expandafter\ifnum\pdf@strcmp{#1}{\@tempa}<\z@\relax%
          \ifx\@tempb\@empty%
            \expandafter\edef\expandafter\@tempb\expandafter{%
              #1,\@tempa%
            }%
          \else%
            \expandafter\edef\expandafter\@tempb\expandafter{%
              \@tempb,#1,\@tempa%
            }%
          \fi%
          \@tud@list@sortedtrue%
        \else%
          \ifx\@tempb\@empty%
            \expandafter\edef\expandafter\@tempb\expandafter{\@tempa}%
          \else%
            \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}%
          \fi%
        \fi%
      \fi%
    }%
    \if@tud@list@sorted\else%
      \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,#1}%
    \fi%
    \let\tud@templist\@tempb%
  \fi%
}
\RequirePackage{scrwfile}[2013/08/05]
\RequirePackage{silence}[2012/07/02]
\RequirePackage{filecontents}[2011/10/08]
\WarningFilter[Tutorial]{latex}{Overwriting file}%
\WarningFilter[Tutorial]{latex}{Writing file}%
\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref}
\PassOptionsToPackage{open,openlevel=0}{bookmark}
\AfterPackage*{hyperref}{%
  \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}%
  \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}%
  \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}%
  \newcommand*\tud@manualname{tudscr}%
  \newcommand*\tudhyperref[2]{%
    \hyperref{../\tud@manualname.pdf}{\tud@manualname}{#1}{#2}%
  }%
  \newcommand*\autorefname[1][current]{%
    \ifstr{#1}{current}{%
      \expandafter\HyPsd@@autorefname\@currentHref\@nil%
    }{%
      \auto@refname\HyPsd@@autorefname{#1}%
    }%
    \unskip\xspace%
  }%
  \newcommand*\auto@refname[2]{%
    \expandafter\ifx\csname r@#2\endcsname\relax%
      ??%
    \else%
      \expandafter\expandafter\expandafter\auto@@refname%
          \csname r@#2\endcsname{}{}{}{}\@nil#1\@nil%
    \fi%
  }%
  \newcommand*\auto@@refname{}%
  \def\auto@@refname#1#2#3#4#5\@nil#6\@nil{#6#4.\@nil}%
}
\TUD@UnwindPackage{hyperref}{%
  \PackageWarningNoLine{tudscrtutorial}%
  {%
    It is strongly recommended to load package `hyperref'.\MessageBreak%
    Nevertheless, essential commands are rudimentarily\MessageBreak%
    defined. At least the package `url' is loaded.%
  }%
  \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}%
  \providerobustcmd*\hyperref{%
    \kernel@ifnextchar[{\tud@hyperref@a}{\tud@hyperref@b}%
  }
  \newcommand*\tud@hyperref@a[2][]{#2}
  \newcommand*\tud@hyperref@b[4]{#4}
  \tud@locale@german{\partautorefname}{Teil}%
  \tud@locale@german{\chapterautorefname}{Kapitel}%
  \tud@locale@german{\sectionautorefname}{Unterkapitel}%
  \tud@locale@german{\subsectionautorefname}{Abschnitt}%
  \tud@locale@german{\subsubsectionautorefname}{Unterabschnitt}%
  \tud@locale@english{\partautorefname}{Part}%
  \tud@locale@english{\chapterautorefname}{chapter}%
  \tud@locale@english{\sectionautorefname}{section}%
  \tud@locale@english{\subsectionautorefname}{subsection}%
  \tud@locale@english{\subsubsectionautorefname}{subsubsection}%
  \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]{\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]}
\newrobustcmd*\bsc{\@backslashchar}
\newrobustcmd*\suffix[1]{\begingroup~\scriptsize(#1)\endgroup}
\newcommand*\NewExpandableDocumentCommand[3]{%
  \NewDocumentCommand#1{#2}{#3}%
  \DeclareExpandableDocumentCommand#1{#2}{#3}%
}
\newcommand*\ProcessorKeyVal[1]{%
  \begingroup%
    \in@{=}{#1}%
    \ifin@%
      \def\@tempa##1=##2\@nil{\toks@{{##1}=##2=}}%
    \else%
      \def\@tempa##1\@nil{\toks@{{##1}}}%
    \fi%
    \@tempa#1\@nil%
    \edef\tud@reserved{%
      \noexpand\endgroup%
      \def\noexpand\ProcessedArgument{\the\toks@}%
    }%
  \tud@reserved%
}
\newcommand*\tud@keyval@error{%
  \PackageError{tudscrtutorial}%
    {Wrong usage of optional argument for value}%
    {There are two optional arguments for a value given!}%
}
\newenvironment{Bundle}[1]{%
  \tud@if@bdl{%
    \PackageError{tudscrtutorial}%
      {Nested environment `Bundle'}{%
      It is not possible to nest this environment, when\MessageBreak%
      a cross-label was given before.%
    }%
  }{%
    \gdef\tud@bdl@curr{#1}%
  }%
  \ignorespaces%
}{%
  \global\let\tud@bdl@curr\tud@bdl@dflt%
  \aftergroup\ignorespaces%
}
\newcommand*\tud@bdl@curr{}
\newcommand*\tud@bdl@dflt{tudscr}
\let\tud@bdl@curr\tud@bdl@dflt
\newcommand*\tud@if@bdl[2]{\ifstr{\tud@bdl@curr}{\tud@bdl@dflt}{#2}{#1}}
\NewExpandableDocumentCommand\@Application{sm}{#2}
\NewDocumentCommand\Application{smd()d<>d||}{%
  \Markup@SetFormat{\sbsfont}%
  \IfValueTF{#4}{%
    \Process@Markup{\Application{#2}}(#3)<#4>%
  }{%
    \Process@Markup{\Application{#2}}(#3)%
  }%
  \Process@Index{#1}{\Application{#2}}[Anwendungssoftware](#3)|#4|%
}
\NewExpandableDocumentCommand\@Distribution{sm}{#2}
\NewDocumentCommand\Distribution{smod()d||}{%
  \Markup@SetFormat{\sbnfont}%
  \IfValueTF{#3}{%
    \Process@Markup{\Distribution{#2}}[~#3](#4)%
  }{%
    \Process@Markup{\Distribution{#2}}(#4)%
  }%
  \Process@Index{#1}{\Distribution{#2}}[Distribution](#4)|#5|%
}
\NewExpandableDocumentCommand\@Engine{sm}{#2}
\NewDocumentCommand\Engine{smd()d||}{%
  \Markup@SetFormat{\sbnfont}%
  \Process@Markup{\Engine{\hologo{#2}}}(#3)%
  \Process@Index{#1}{\Engine{#2}}[Textsatzsystem](#3)|#4|%
}
\NewExpandableDocumentCommand\@File{sm}{#2}
\NewDocumentCommand\File{smd()d||}{%
  \Markup@SetFormat{\sbnfont}%
  \Process@Markup{\File{#2}}(#3)%
  \Process@Index{#1}{\File{#2}}[Datei](#3)|#4|%
}
\NewExpandableDocumentCommand\@Class{sm}{#2}
\NewDocumentCommand\Class{smd()d''d||}{%
    \Markup@SetFormat{\sbnfont}%
    \Process@Markup{\Class{#2}}(#3)'#4'%
    \Process@Index{#1}{\Class{#2}}[Klasse](#3)|#5|%
}
\NewExpandableDocumentCommand\@Package{sm}{#2}
\NewDocumentCommand\Package{smd()d<>d''d||}{%
    \Markup@SetFormat{\sbnfont}%
    \IfValueTF{#4}{%
      \Process@Markup{\Package{#2}}(#3)<#4>'#5'%
    }{%
      \Process@Markup{\Package{#2}}(#3)<#2>'#5'%
    }%
    \Process@Index{#1}{\Package{#2}}[Paket](#3)|#6|%
}
\NewExpandableDocumentCommand\@Option{sm}{#2}
\NewDocumentCommand\Option{s>{\ProcessorKeyVal}md==d()d''d||}{%
  \Option@Value{#1}#2=#3=(#4)'#5'|#6|%
}
\NewDocumentCommand\Option@Value{mmd==d==d()d''d||}{%
  \IfValueT{#4}{\tud@keyval@error}%
    \Markup@SetFormat{\ttfamily}%
    \Process@Markup{\Option{#2}}=#3=(#5)'#6'%
    \Process@Index{#1}{\Option{#2}}=#3=(#5)|#7|%
}
\NewExpandableDocumentCommand\@Environment{sm}{#2}
\NewDocumentCommand\Environment{smod()d''d||}{%
    \Markup@SetFormat{\ttfamily}(%
      \ttfamily\bsc{}begin\textbraceleft#2\textbraceright\IfValueT{#3}{#3}%
      \tabularnewline\ttfamily\dots%
      \tabularnewline\ttfamily\bsc{}end\textbraceleft#2\textbraceright%
    )%
    \Process@Markup{\Environment{#2}}[#3](#4)'#5'%
    \Process@Index{#1}{\Environment{#2}}[Umgebung](#4)|#6|%
}
\NewExpandableDocumentCommand\@Macro{sm}{#2}
\NewDocumentCommand\Macro{smod()d''d||}{%
    \Markup@SetFormat{\ttfamily\bsc}%
    \Process@Markup{\Macro{#2}}[#3](#4)'#5'%
    \Process@Index{#1}{\Macro{#2}}(#4)|#6|%
}
\NewExpandableDocumentCommand\@Length{sm}{#2}
\NewDocumentCommand\Length{smd()d''d||}{%
    \Markup@SetFormat{\ttfamily\bsc}[L\"ange]%
    \Process@Markup{\Length{#2}}(#3)'#4'%
    \Process@Index{#1}{\Length{#2}}[L\"ange](#3)|#5|%
}
\NewExpandableDocumentCommand\@Counter{sm}{#2}
\NewDocumentCommand\Counter{smd()d''d||}{%
    \Markup@SetFormat{\ttfamily}[Z\"ahler]%
    \Process@Markup{\Counter{#2}}(#3)'#4'%
    \Process@Index{#1}{\Counter{#2}}[Z\"ahler](#3)|#5|%
}
\NewDocumentCommand\tud@attr@get{smm}{%
  \begingroup%
    \def\@tempa##1##2##3{%
      \def##1####1{%
        \edef\@tempb{\IfBooleanTF{#1}{##2}{##3}}%
      }%
    }%
    \@tempa\Application{\jobname}{app}%
    \@tempa\Distribution{\jobname}{dst}%
    \@tempa\Engine{\jobname}{eng}%
    \@tempa\File{files}{fle}%
    \@tempa\Class{files}{cls}%
    \@tempa\Package{files}{pkg}%
    \@tempa\Option{options}{opt}%
    \@tempa\Environment{macros}{env}%
    \@tempa\Macro{macros}{cmd}%
    \@tempa\Length{misc}{len}%
    \@tempa\Counter{misc}{cnt}%
    #3%
    \edef\tud@reserved{%
      \noexpand\endgroup%
      \def\noexpand#2{\@tempb}%
    }%
  \tud@reserved%
}
\newrobustcmd*\Path[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}}
\newrobustcmd*\PName[1]{\PValue{\textsl{<#1>}}}
\newrobustcmd*\PValueName[1]{\PName{#1}}
\newrobustcmd*\PSet{\PName{Einstellung}}
\newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}}
\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}}
\newrobustcmd*\Parameter[1]{%
  \mbox{\texttt{\textbraceleft}\PName{#1}\texttt{\textbraceright}}%
}
\newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}}
\newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}}
\newrobustcmd*\OLParameter[1]{%
  \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}%
}
\newrobustcmd*\PParameter[1]{\mbox{\texttt{\textbraceleft#1\textbraceright}}}
\newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}}
\newrobustcmd*\textOR{\PValue{\,\textbardbl\,}}
\newcommand*\tud@doifPValue[3][]{%
  \IfValueT{#2}{%
    \begingroup%
      \let\PValue\@firstofone%
      \let\PName\@gobble%
      \let\PValueName\@firstofone%
      \let\PSet\@empty%
      \let\PBoolean\@empty%
      \let\PBName\@gobble%
      \let\Parameter\@gobble%
      \let\OParameter\@gobble%
      \let\LParameter\@empty%
      \let\OLParameter\@gobble%
      \let\PParameter\@gobble%
      \let\POParameter\@gobble%
      \let\textOR\relax%
      \let\emph\@firstofone%
      #1%
      \ifxblank{#2}{%
        \let\tud@reserved\endgroup%
      }{%
        \protected@edef\tud@reserved{\noexpand\endgroup#3}%
      }%
    \tud@reserved%
  }%
}
\NewDocumentCommand\Markup@Gobble{s}{%
  \let\Application\@Application%
  \let\Distribution\@Distribution%
  \let\Engine\@Engine%
  \let\File\@File%
  \let\Class\@Class%
  \let\Package\@Package%
  \let\Option\@Option%
  \let\Environment\@Environment%
  \let\Macro\@Macro%
  \let\Length\@Length%
  \let\Counter\@Counter%
  \IfBooleanF{#1}{%
    \let\PValue\@firstofone%
    \let\PName\@firstofone%
    \let\PValueName\@firstofone%
    \let\PSet\relax%
    \let\PBoolean\relax%
    \let\PBName\@firstofone%
    \let\Parameter\@firstofone%
    \let\OParameter\@firstofone%
    \let\LParameter\relax%
    \let\OLParameter\@firstofone%
    \let\PParameter\@firstofone%
    \let\POParameter\@firstofone%
    \let\textOR\relax%
    \let\hologoRobust\@firstofone%
    \def\_{-}%
    \protected\def~{~}%
  }%
}
\AfterPackage*{hyperref}{%
  \expandafter\pdfstringdefDisableCommands\expandafter{\Markup@Gobble}%
}
\newcommand*\tud@lbl@tmp{}
\newcommand*\tud@lbl@fmt{%
  \def~{-}%
  \let\IeC\@firstofone%
  \def\"##1{##1e}%
  \def\ss{ss}%
  \let\NoCaseChange\@firstofone%
}
\NewDocumentCommand\tud@lbl@get@curr{%
  sm>{\tud@lbl@create}>{\SplitArgument{2}{:}}md==%
}{%
  \tud@lbl@get@@curr#2{#3}=#4=%
}
\NewDocumentCommand\tud@lbl@get@@curr{mmd==}{%
  \def#1{#2}%
  \tud@doifPValue[\tud@lbl@fmt]{#3}{\noexpand\appto\noexpand#1{=#3}}%
}
\NewDocumentCommand\tud@lbl@get@dflt{m>{\SplitArgument{2}{:}}mr==}{%
  \tud@lbl@get@@dflt{#1}#2=#3=%
}
\NewDocumentCommand\tud@lbl@get@@dflt{mmmmr==}{%
  \edef\tud@reserved{\expandafter\detokenize\expandafter{\tud@bdl@dflt}}%
  \ifstr{\tud@reserved}{#2}{}{%
    \tud@lbl@get@curr#1{\tud@bdl@dflt:#3:#4}=#5=%
  }%
}
\NewDocumentCommand\tud@lbl@create{m}{\tud@lbl@@create#1}
\NewDocumentCommand\tud@lbl@@create{mmm}{%
  \begingroup%
    \Markup@Gobble%
    \tud@lbl@fmt%
    \IfValueTF{#3}{%
      \edef\@tempa{#1:#2:#3}%
    }{%
      \IfValueTF{#2}{%
        \tud@attr@get\@tempb{#2}%
        \IfValueTF{#1}{%
          \ifxblank{#1}{%
            \edef\@tempa{\tud@bdl@dflt:\@tempb:#2}%
          }{%
            \edef\@tempa{#1:\@tempb:#2}%
          }%
        }{%
          \edef\@tempa{\tud@bdl@curr:\@tempb:#2}%
        }%
      }{%
        \edef\@tempa{#1}%
      }%
    }%
    \edef\@tempc{%
      \noexpand\endgroup%
      \def\noexpand\ProcessedArgument{%
        \expandafter\detokenize\expandafter{\@tempa}%
      }%
    }%
  \@tempc%
}
\newcommand*\Markup@Suppress{\let\Process@Markup\Markup@@Suppress}
\NewDocumentCommand\Markup@@Suppress{md==od()d<>d''}{}
\NewDocumentCommand\Process@Markup{md==od()d<>d''}{%
    \tud@toks@{\Process@@MarkupInline}%
    \tud@lbl@get@curr\tud@lbl@tmp{#4:#1}=#2=%
  \eaddto@hook\tud@toks@{\expandafter{\tud@lbl@tmp}}%
  \begingroup%
    \Markup@Gobble*%
    \protected@edef\tud@reserved{%
      \noexpand\endgroup%
      \def\noexpand\tud@reserved{#1}%
    }%
  \tud@reserved%
  \eaddto@hook\tud@toks@{\expandafter{\tud@reserved}}%
  \IfValueT{#2}{\addto@hook\tud@toks@{=#2=}}%
  \IfValueT{#3}{\addto@hook\tud@toks@{[#3]}}%
    \if@tud@index\else%
      \IfValueT{#5}{%
        \ifxblank{#5}{}{\addto@hook\tud@toks@{<http://www.ctan.org/pkg/#5>}}%
      }%
      \IfValueT{#6}{\addto@hook\tud@toks@{'#6'}}%
    \fi%
  \the\tud@toks@%
}
\NewDocumentCommand\Process@@MarkupInline{mmd==od<>d''}{%
  \Markup@CheckFormat%
  \begingroup%
    \def\@tempc{\Markup@Output{#2}=#3=[#4]}%
      \let\@tempa\@tempc%
      \IfValueT{#5}{\def\@tempa{\href{#5}{\@tempc}}}%
      \let\@tempb\relax%
      \IfValueT{#6}{%
        \ifstr{#6}{none}{\let\@tempa\@tempc}{%
        \ifstr{#6}{manual}{\def\@tempa{\tudhyperref{#1}{\@tempc}}}{%
          \def\@tempb{%
            \ClassWarning{tudscrmanual}{%
              You've used the unknown cross-reference\MessageBreak%
              shorthand '#6'. Only 'none' and 'manual'\MessageBreak%
              are valid%
            }%
          }%
        }%
        }%
      }%
    \ifdin{\@tempc}{\@tempa\@tempb}%
  \endgroup%
  \Markup@ClearFormat%
}
\NewDocumentCommand\Markup@Output{>{\SplitArgument{1}{!}}md==o}{%
  \Markup@@Output#1=#2=[#3]%
}
\NewDocumentCommand\Markup@@Output{mmd==o}{%
    \tud@toks@{\Markup@Inline}%
  \IfValueTF{#2}{%
    \def\@tempa{#2}%
  }{%
    \def\@tempa{#1}%
  }%
  \IfValueT{#3}{\appto\@tempa{=#3}}%
  \IfValueT{#4}{\appto\@tempa{#4}}%
  \eaddto@hook\tud@toks@{\expandafter{\@tempa}}%
  \the\tud@toks@%
}
\newcommand*\Markup@Inline[1]{\mbox{\Markup@Format{#1}}}
\newcommand*\Markup@Format{}
\newcommand*\Markup@Suffix{}
\NewDocumentCommand\Markup@SetFormat{mod()}{%
  \def\Markup@Format{\ifdin{\MakeTextUppercase}{#1}}%
  \IfValueT{#2}{\def\Markup@Suffix{\suffix{#2}}}%
}
\robustify\NoCaseChange
\NewDocumentCommand\tud@nonchangecase{m}{%
  \DeclareExpandableDocumentCommand#1{sm}{%
    \IfBooleanT{##1}{\noexpand\@tud@indextrue}%
    \NoCaseChange{#1{##2}}%
  }%
}
\apptocmd{\tud@x@textcase@uclcnotmath}{%
  \tud@nonchangecase\Application%
  \tud@nonchangecase\Distribution%
  \tud@nonchangecase\Engine%
  \tud@nonchangecase\File%
  \tud@nonchangecase\Class%
  \tud@nonchangecase\Package%
  \tud@nonchangecase\Option%
  \tud@nonchangecase\Environment%
  \tud@nonchangecase\Macro%
  \tud@nonchangecase\Length%
  \tud@nonchangecase\Counter%
}{}{\tud@patch@wrn{tud@x@textcase@uclcnotmath}}
\newcommand*\Markup@ClearFormat{%
  \let\Markup@Format\relax%
  \let\Markup@Declare\Markup@@Declare%
  \let\Markup@Suffix\relax%
}
\Markup@ClearFormat
\newcommand*\Markup@CheckFormat{%
  \ifx\Markup@Format\relax%
    \ClassError{tudscrmanual}{\string\Markup@SetFormat\space unused}{%
      It seems you have forgotten to use \string\Markup@SetFormat.%
    }%
  \fi%
}
\PassOptionsToPackage{xindy,splitindex}{imakeidx}
\let\tud@shellescape\shellescape
\RequirePackage{imakeidx}[2013/07/11]
\let\shellescape\tud@shellescape
\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%
\NewDocumentCommand\makexdyindex{somo}{%
  \let\@tempb\@empty%
  \protected@edef\@tempa{%
    title={#3},%
    columnsep=\noexpand\f@size\noexpand\p@,%
    \IfValueTF{#4}{%
      name={#4},%
      options={-M \@currname-ind.xdy -L german-din -t \jobname-#4.xlg \@tempb},%
    }{%
      options={-M \@currname-ind.xdy -L german-din -t \jobname.xlg},%
    }%
    \IfValueT{#2}{#2}%
  }%
  \expandafter\makeindex\expandafter[\@tempa]%
}
\makexdyindex{Allgemeiner Index}
\makexdyindex*{Klassen- und Paketoptionen}[options]
\makexdyindex*{Befehle und Umgebungen mit zugeh\"origen Parametern}[macros]
\makexdyindex{L\"angen und Z\"ahler}[misc]
\makexdyindex*{Klassen, Pakete und Dateien}[files]
\undef\makexdyindex
\newif\if@tud@index
\addtoeachtocfile{\protect\@tud@indextrue}
\newcommand*\tud@idx@key{}
\newcommand*\tud@idx@fmt{}
\newcommand*\tud@idx@val{}
\newcommand*\tud@idx@bdl{}
\NewDocumentCommand\tud@idx@get{smmmmr==r[]r()d||}{%
  \begingroup%
    \begingroup%
      \Markup@Gobble%
      \edef\tud@reserved{%
        \noexpand\endgroup%
        \def\noexpand#2{#5}%
      }%
    \tud@reserved%
    \def#3{#5}%
    \tud@replace#2{@}{"@}%
    \tud@replace#3{@}{"@}%
    \let\tud@idx@bdl\tud@bdl@dflt%
    \IfValueTF{#8}{%
      \def\tud@idx@bdl{#8}%
    }{%
    }%
    \let\@tempa\@empty%
    \let\@tempb\@empty%
    \let\@tempc\@empty%
    \@tempswatrue%
    \ifx\tud@idx@bdl\tud@bdl@dflt%
      \@tempswafalse%
    \else%
      \IfBooleanT{#1}{\@tempswafalse}%
      \edef\@tempb{(\expandonce\tud@idx@bdl)}%
    \fi%
    \let\@tempc\@tempb%
    \IfValueT{#7}{%
      \appto\@tempa{ #7}%
      \appto\@tempb{\suffix{#7}}%
    }%
    \if@tempswa%
      \begingroup%
        \Markup@Gobble%
        \edef\tud@reserved{%
          \noexpand\endgroup%
          \noexpand\appto\noexpand\@tempa{ \tud@idx@bdl}%
        }%
      \tud@reserved%
      \eappto\@tempb{\suffix{\expandonce\tud@idx@bdl}}%
    \fi%
    \@tempswafalse%
    \IfBooleanT{#1}{\@tempswatrue}%
    \IfValueT{#9}{\ifstr{#9}{declare}{\@tempswatrue}{}}%
    \IfValueT{#9}{\ifstr{#9}{default}{\@tempswatrue}{}}%
    \if@tempswa%
      \protected@eappto#2{\expandonce\@tempa}%
      \tud@doifPValue{#6}{\noexpand\appto\noexpand#2{=#6}}%
      \protected@eappto#3{\IfValueT{#6}{=#6=}\expandonce\@tempb}%
    \else%
      \tud@doifPValue{#6}{\noexpand\@tempswatrue}%
      \if@tempswa%
        \eappto#4{%
          \expandonce#2\expandonce\@tempa{}@%
          \expandonce#3\expandonce\@tempb{}!%
        }%
        \appto#2{=#6}%
        \appto#3{=#6=}%
        \protected@eappto#3{\expandonce\@tempc}%
      \else%
        \protected@eappto#2{\expandonce\@tempa}%
        \protected@eappto#3{\expandonce\@tempb}%
      \fi%
    \fi%
    \let\emph\@firstofone%
    \protected@edef\tud@reserved{%
      \noexpand\endgroup%
      \def\noexpand#2{#2}%
      \def\noexpand#3{#3}%
      \def\noexpand#4{#4}%
    }%
  \tud@reserved%
}
\newrobustcmd*\cleversee{\tud@cleversee{\seename}}
\newrobustcmd*\cleverseealso{%
  \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}%
  \tud@cleversee{\alsoname}%
}
\newcommand*\tud@cleversee{}
\def\tud@cleversee#1#2#3\relax{%
  \IfArgIsEmpty{#3}{%
    \emph{#1}\space#2%
  }{%
    #3, \emph{\alsoname}\space#2%
  }%
}
\NewDocumentCommand\Process@Index{mmd==od()d||}{%
  \ifboolexpr{%
    bool {@tud@index}%
  }{}{%
    \IfBooleanTF{#1}{%
      \IfValueT{#6}{%
        \ClassWarning{tudscrmanual}{%
          You've used the starred version. No index entry\MessageBreak%
          for #2 is created. The\MessageBreak%
          optional argument |#6| will be ignored%
        }%
      }%
    }{%
      \Process@@Index{#2}=#3=[#4](#5)|#6|%
    }%
  }%
}
\NewDocumentCommand\Process@@Index{mr==r[]r()r||}{%
    \tud@idx@get\tud@idx@key\tud@idx@fmt\tud@idx@val{#1}=#2=[#3](#4)|#5|%
  \tud@attr@get*\tud@lbl@tmp{#1}%
    \IfValueT{#5}{%
      \appto\tud@idx@fmt{|#5}%
    }%
    \index[\tud@lbl@tmp]{\tud@idx@val\tud@idx@key{}@\tud@idx@fmt}%
}
\newcommand*\PrintIndex{%
  \begingroup%
    \providecommand*\lettergroup[1]{%
      \par\textbf{\textsf{##1}}\par%
      \nopagebreak%
    }%
    \begingroup%
    \let\lettergroup\@gobble%
    \let\indexspace\relax%
    \print@index%
    \endgroup%
    \print@index[options]%
    \print@index[macros]%
    \begingroup%
    \let\lettergroup\@gobble%
    \let\indexspace\relax%
    \print@index[misc]%
    \endgroup%
    \print@index[files]%
  \endgroup%
}
\newcommand*\tud@idx@skip{%
  \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
}
\newcommand*\print@index[1][]{%
  \pagebreak[3]%
  \@tud@indextrue%
  \indexprologue[\tud@idx@skip]{}%
  \ifblank{#1}{\printindex}{\printindex[#1]}%
  \ifnum\imki@columns>\@ne\relax\vspace{-\multicolsep}\fi%
}
\newcommand*\tud@write@a{}
\newwrite\tud@write@a
\newcommand*\tud@write@b{}
\newwrite\tud@write@b
\newcommand*\tud@read{}
\newread\tud@read
\RequirePackage{listings}[2014/03/04]
\lstdefinestyle{tudscr}{%
  basicstyle=\ttfamily\ifdef{\setstretch}{\setstretch{1}}{},%
  keywordstyle=,%
  columns=fullflexible,keepspaces,%
  aboveskip=\smallskipamount,%
  belowskip=\smallskipamount,%
  language=[LaTeX]TeX,%
  texcl,%
}
\RequirePackage{filemod}[2011/09/19]
\RequirePackage{ifplatform}[2010/10/22]
\newcommand*\tud@shellescape@wrn[1]{%
  \PackageWarning{tudscrtutorial}%
  {%
    File `#1' is missing!\MessageBreak%
    You have to recompile this document with\MessageBreak%
    activated shell escape option%
  }%
}
\newcommand*\Tutorial[1]{\href{#1.pdf}{\textsbn{#1.pdf}}}
\newcommand*\tud@tut@temp{}
\edef\tud@tut@temp{\@currname-temp}
\newcommand*\tud@tut@readtostream[2]{%
  \begingroup%
    \endlinechar=\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]{%
  \ifstr{#1}{preamble}{%
    \tud@tut@readtostream{\tud@tut@temp.tex}{\tud@write@a}%
  }{%
    \ifstr{#1}{trunk}{%
      \tud@tut@readtostream{\tud@tut@temp.tex}{\tud@write@b}%
    }{%
      \tud@tut@readtostream{\tud@tut@temp.tex}{#1}%
    }%
  }%
}
\TUDoptions{headingsvskip=-10ex}
\newcommand\StartTutorial[1][]{%
  \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%
  \ifblank{#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}%
  \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%
    \immediate\write18{\@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{}
\newcommand*\tud@tut@pre{%
  \ActivateWarningFilters[Tutorial]%
  \csuse{filecontents*}{\tud@tut@temp.tex}%
}
\newcommand*\tud@tut@post{%
  \csuse{endfilecontents*}%
  \DeactivateWarningFilters[Tutorial]%
}
\newenvironment{Preamble}{\tud@tut@pre}{%
  \tud@tut@post%
  \tud@tut@append{preamble}%
  \gdef\@tempa{%
    \tud@tut@lst%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Preamble*}{\tud@tut@pre}{%
  \tud@tut@post%
  \tud@tut@append{preamble}%
  \gdef\@tempa{%
    \tud@tut@lst%
    \tud@tut@input%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Preamble+}{\tud@tut@pre}{%
  \tud@tut@post%
  \tud@tut@append{preamble}%
  \gdef\@tempa{%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Trunk}{\tud@tut@pre}{%
  \tud@tut@post%
  \tud@tut@append{trunk}%
  \gdef\@tempa{%
    \tud@tut@lst%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Trunk*}{\tud@tut@pre}{%
  \tud@tut@post%
  \tud@tut@append{trunk}%
  \gdef\@tempa{%
    \tud@tut@lst%
    \tud@tut@input%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Trunk+}{\tud@tut@pre}{%
  \tud@tut@post%
  \tud@tut@append{trunk}%
  \gdef\@tempa{%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Trunk!}[1]{%
  \gdef\StandaloneFile{#1}%
  \tud@tut@pre%
}{%
  \tud@tut@post%
  \tud@tut@append{trunk}%
  \gdef\@tempa{%
    \tud@tut@lst%
    \tud@tut@pdf%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Hint}{\tud@tut@pre}{%
  \tud@tut@post%
  \gdef\@tempa{%
    \tud@tut@lst%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Hint*}{\tud@tut@pre}{%
  \tud@tut@post%
  \gdef\@tempa{%
    \tud@tut@lst%
    \tud@tut@input%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Hint?}{\tud@tut@pre}{%
  \tud@tut@post%
  \gdef\@tempa{%
    \InputCode%
    \tud@tut@lst%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newenvironment{Hint!}[1]{%
  \gdef\StandaloneFile{#1}%
  \tud@tut@pre%
}{%
  \tud@tut@post%
  \gdef\@tempa{%
    \tud@tut@lst%
    \tud@tut@pdf%
    \global\let\Code@Preamble\relax%
  }%
  \aftergroup\@tempa%
}
\newcommand*\tud@tut@lst{%
  \begin{quoting}[rightmargin=0pt]%
  \lstinputlisting[style=tudscr]{\tud@tut@temp.tex}%
  \end{quoting}%
}
\newcommand*\tud@tut@input{%
  \def\@tempa##1##2{%
    ##1%
    \begingroup%
      ##2%
      \setbox\@tempboxa\hbox{\vbox{##1}}%
      \@tempdima=\ht\@tempboxa%
      \setbox\@tempboxa\box\voidb@x%
      \ifdim\@tempdima>\z@\relax%
        \endgraf%
        \vspace{\medskipamount}%
        \noindent\ignorespaces%
      \fi%
    \endgroup%
  }%
  \@tempa{\Code@Preamble}{}%
  \setlength\@tempdimc{\leftskip}%
  \setlength\leftskip{\leftmargin}%
  \ActivateWarningFilters[Tutorial]%
  \@tempa{\input{\tud@tut@temp.tex}}{\Code@Hook}%
  \DeactivateWarningFilters[Tutorial]%
  \global\let\Code@Hook\relax%
  \setlength\leftskip{\@tempdimc}%
  \noindent\ignorespaces%
}
\newcommand*\InputCode{\input{\tud@tut@temp.tex}}
\IfFileExists{\tud@tut@temp-standalone.tex}{\@tempswafalse}{\@tempswatrue}
\if@tempswa%
\ActivateWarningFilters[Tutorial]%
\begin{filecontents*}{\tud@tut@temp-standalone.tex}
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
\documentclass[english,ngerman]{tudscrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{tudscrsupervisor}
\usepackage{isodate}
\usepackage{enumitem}
\setlist{noitemsep}
\begin{document}
\ifdefvoid{\StandaloneDate}{}{\date{\StandaloneDate}}%
\input{\jobname.tex}%
\end{document}
\end{filecontents*}
\DeactivateWarningFilters[Tutorial]%
\fi
\newcommand*\tud@tut@pdf{%
  \ifnum\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%
          \def\@tempb{}%
        \else%
          \edef\@tempb{\etex@unexpanded{\def\StandaloneDate}{\@date}}%
        \fi%
        \edef\@tempa{%
          pdflatex -jobname=\tud@tut@temp\space%
          "\noexpand\unexpanded{\expandonce\@tempb\noexpand\input}%
            {\tud@tut@temp-standalone.tex}"%
        }%
        \immediate\write18{\@tempa^^J\@tempa^^J\@tempa}%
        \ifwindows%
          \def\@tempa{rename}%
        \else%
          \def\@tempa{mv}%
        \fi%
        \immediate\write18{%
          \@tempa\space\tud@tut@temp.pdf\space%
          \jobname-standalone-\StandaloneFile.pdf%
        }%
      \endgroup%
    }%
  \fi%
  \global\let\StandaloneFile\relax%
}
\NewDocumentCommand\IncludeStandalone{omO{1}}{%
  \IfFileExists{\jobname-standalone-#2.pdf}{%
    \@tempcnta\z@%
    \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}%
    \ifnum\@tempcnta>\z@\relax%
      \setlength\@tempdima{\textwidth}%
      \divide\@tempdima\@tempcnta%
      \advance\@tempcnta\m@ne%
      \multiply\@tempcnta 2%
      \addtolength\@tempdima{-\@tempcnta\tabcolsep}%
      \@for\@tempa:=#3\do{%
        \advance\@tempcnta\m@ne%
        \edef\@tempb{%
          keepaspectratio,page=\@tempa,width=\the\@tempdima,%
          \IfValueT{#1}{#1}%
        }%
        \fbox{%
          \expandafter\includegraphics\expandafter[\@tempb]{%
            \jobname-standalone-#2.pdf%
          }%
        }%
        \ifnum\@tempcnta>\z@\relax\hfill\fi%
      }%
    \fi%
  }{%
    \tud@shellescape@wrn{\jobname-standalone-#2.pdf}%
  }%
}
\AfterPackage*{pstricks}{%
  \ifnum\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}[2009/04/26]%
  \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}[2012/07/25]
\AfterPackage*{todonotes}{%
  \newcommand*\tud@todo@type@color[2]{%
    \define@boolkey{todonotes}{#1}[true]{%
      \ifdef{\tudprintflag}{}{%
        \ifbool{KV@todonotes@#1}{\setkeys{todonotes}{color=#2}}{}%
      }%
    }%
  }%
  \tud@todo@type@color{doc}{HKS41!30}%
  \tud@todo@type@color{rls}{HKS44!30}%
  \tud@todo@type@color{imp}{HKS57!50}%
  \tud@todo@type@color{urg}{HKS07!50}%
  \tud@todo@type@color{nxt}{HKS92!30}%
  \undef\tud@todo@type@color%
  \newcommand*\tud@todo@marginnote{}%
  \NewDocumentCommand\ToDo{somo}{%
    \ifbool{@tud@todo}{%
      \global\let\tud@currentHref\@currentHref%
      \begingroup%
        \let\@tempa\@empty%
        \def\tud@todo@marginnote{ToDo}%
        \IfValueT{#4}{%
          \def\tud@todo@marginnote{#4}%
          \tud@v@get\@tempc{#4}%
          \ifcsdef{tud@v@\@tempc}{%
            \ifstr{\@tempc}{\TUDScriptVersionNumber}{}{\def\@tempa{urg}}%
            \edef\tud@todo@marginnote{v\@tempc}%
          }{%
            \def\@tempa##1.##2##3##4\@nil{##1##2##3}%
            \edef\@tempb{\expandafter\@tempa\@tempc.000\@nil}%
            \ifxnumber{\@tempb}{%
              \def\@tempa{nxt}%
              \edef\tud@todo@marginnote{v\@tempc}%
            }{\let\@tempa\@empty}%
          }%
        }%
        \IfValueT{#2}{\preto\@tempa{#2,}}%
        \@tempswafalse%
        \ifx\tud@todo@type@pos\relax\@tempswatrue\fi%
        \toks@{\forcsvlist\@tempb}%
        \eaddto@hook\toks@{\expandafter{\@tempa}}%
        \let\@tempa\@empty%
        \def\@tempb##1{%
          \eappto\@tempa{##1,}%
          \ifinlist{##1}{\tud@todo@type@pos}{\@tempswatrue}{}%
          \ifinlist{##1}{\tud@todo@type@neg}{\@tempswafalse}{}%
        }%
        \the\toks@%
        \if@tempswa%
          \ifhmode\par\fi%
          \let\par\relax%
          \vskip\medskipamount%
          \noindent%
          \toks@\expandafter{\@tempa inline}%
          \IfBooleanT{#1}{\addto@hook\toks@{,nolist}}%
          \sbox\z@{%
            \expandafter\todo\expandafter[\the\toks@]{\trim@spaces{#3}\strut}%
          }\usebox\z@%
          \renewcommand*\marginpar[2][]{%
            \marginnote[##1]{##2}[\dimexpr-\ht\z@+1.6ex+1.75pt\relax]%
          }%
          \toks@\expandafter{\@tempa noline,nolist}%
          \settowidth\marginparwidth{\tud@todo@marginnote}%
          \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}%
          \expandafter\todo\expandafter[\the\toks@]{\tud@todo@marginnote\strut}%
          \aftergroup\par\aftergroup\noindent%
        \fi%
      \endgroup%
      \global\let\@currentHref\tud@currentHref%
    }{}%
    \ignorespaces%
  }%
  \newcommand*\ListOfToDo{\if@tud@todo\clearpage\listoftodos\fi}%
}
\TUD@UnwindPackage{todonotes}{%
  \NewDocumentCommand\ToDo{somo}{}%
  \newcommand*\ListOfToDo{}%
}
\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}
\RequirePackage{textcomp}[2005/09/27]
\RequirePackage{setspace}[2011/12/19]
\setstretch{1.1}
\PassOptionsToPackage{vskip=\smallskipamount}{quoting}
\RequirePackage{quoting}[2014/01/28]
\RequirePackage{isodate}[2010/01/03]
\RequirePackage{hologo}[2012/04/26]
\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{st'}{%
  \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
  \IfBooleanT{#2}{\toks@{\url}}%
  \addto@hook\toks@{{http://latex.wcms-file3.tu-dresden.de/phpBB3/}}%
  \IfBooleanF{#2}{\addto@hook\toks@{{TUD-\LaTeX-Forum}}}%
  \the\toks@\xspace%
}
\NewDocumentCommand\CTAN{sog}{%
  \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
  \addto@hook\toks@{{http://www.ctan.org/\IfValueT{#2}{#2}}}%
  \addto@hook\toks@{%
    {\tud@english{Comprehensive TeX Archive Network (CTAN\IfValueT{#3}{~#3})}}%
  }%
  \the\toks@\xspace%
}
\NewDocumentCommand\scrguide{sO{\KOMAScript-Handbuch}}{%
  \IfBooleanTF{#1}{\toks@{\href}}{\toks@{\hrfn}}%
  \addto@hook\toks@{%
    {http://mirrors.ctan.org/macros/latex/contrib/koma-script/doc/scrguide.pdf}%
  }%
  \addto@hook\toks@{{#2}}%
  \the\toks@\xspace%
}
\newcommand*\CD{\tud@english{Corporate Design}\xspace}
\newcommand*\CDs{\tud@english{Corporate Designs}\xspace}
\newcommand*\TUD{Technische Universit\"at Dresden\xspace}
\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace}
\newcommand*\TUDCD{\CD der \TnUD}
\newcommand*\TUDCDs{\CDs der \TnUD}
\newrobustcmd*\DDC{%
  \mbox{%
    D\kern.05em R\kern.05em E\kern.05em S\kern.05em %
    D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept%
  }\xspace%
}
\AfterPackage*{hyperref}{%
  \pdfstringdefDisableCommands{%
    \def\DDC{DRESDEN-concept}%
    \def\TUDScript{TUD-Script}%
    \def\KOMAScript{KOMA-Script}%
  }%
}
\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace}
\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace}
\newcommand*\textsbn{}
\newrobustcmd*\sbnfont{\sffamily\bfseries\upshape}
\DeclareTextFontCommand\textsbn{\sbnfont}
\newcommand*\textsbs{}
\newrobustcmd*\sbsfont{\sffamily\bfseries\slshape}
\DeclareTextFontCommand\textsbs{\sbsfont}
%%% From File: tudscr-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 2^^J%
    )^^J%
    (markup-range :sep "--")%
  }%
  \write\tud@write@xdy{%
    (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)%
  }%
  \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 "}}"%
    )^^J%
    (markup-locref%
    \space:attr "!"\@spaces\@spaces%
    \space:open "\string\textbf{\string\hyperpage{"%
    \space:close "}}"%
    )^^J%
    (markup-locref%
    \space:attr "important"%
    \space:open "\string\textsl{\string\hyperpage{"%
    \space:close "}}"%
    )^^J%
    (markup-locref%
    \space:attr "?"\@spaces\@spaces%
    \space:open "\string\textsl{\string\hyperpage{"%
    \space:close "}}"%
    )^^J%
    (markup-locref%
    \space:attr "default"\space\space%
    \space:open "\string\hyperpage{"\@spaces\@spaces%
    \space:close "}"%
    )%
  }%
  \write\tud@write@xdy{%
    (markup-crossref-list :class "see"^^J%
    \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J%
    )^^J%
    (markup-crossref-list :class "seealso"^^J%
    \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J%
    )%
  }%
  \write\tud@write@xdy{%
    (markup-crossref-layer-list :class "see"%
    \@spaces\space:sep "\string\,\string\textbar\string\,"%
    )^^J%
    (markup-crossref-layer-list :class "seealso"%
    \space:sep "\string\,\string\textbar\string\,"%
    )%
  }%
  \closeout\tud@write@xdy%
  }%
}
\tud@xdy@create{ind}
\endgroup
\endinput
%%
%% End of file `tudscrtutorial.sty'.
