% \CheckSum{508}
% \iffalse meta-comment
% ======================================================================
%
% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen
%
% ======================================================================
% 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
% version 2005/12/01 or later and of this work.
% This work has the LPPL maintenance status "author-maintained".
% The current maintainer and author of this work is Falk Hanisch.
% ----------------------------------------------------------------------
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
%     http://www.latex-project.org/lppl.txt
% und Version 1.3c ist Teil aller Verteilungen von LaTeX
% Version 2005/12/01 oder spaeter und dieses Werks.
% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
% (allein durch den Autor verwaltet).
% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch.
% ======================================================================
% \fi
%
% \CharacterTable
%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%   Digits        \0\1\2\3\4\5\6\7\8\9
%   Exclamation   \!     Double quote  \"     Hash (number) \#
%   Dollar        \$     Percent       \%     Ampersand     \&
%   Acute accent  \'     Left paren    \(     Right paren   \)
%   Asterisk      \*     Plus          \+     Comma         \,
%   Minus         \-     Point         \.     Solidus       \/
%   Colon         \:     Semicolon     \;     Less than     \<
%   Equals        \=     Greater than  \>     Question mark \?
%   Commercial at \@     Left bracket  \[     Backslash     \\
%   Right bracket \]     Circumflex    \^     Underscore    \_
%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%   Right brace   \}     Tilde         \~}
%
% \iffalse
%%% From File: tudscr-fields.dtx
%<*driver>
% \fi
\ProvidesFile{tudscr-fields.dtx}%
  [2014/04/24 v2.00 TUD-KOMA-Script (input fields)]
% \iffalse
\documentclass{tudscrdoc}
\KOMAoptions{parskip=half-}
\CodelineIndex
\RecordChanges
\GetFileInfo{tudscr-fields.dtx}
\begin{document}
  \maketitle
  \DocInput{\filename}
\end{document}
%</driver>
% \fi
%
% \selectlanguage{ngerman}
%
% \section{Eingabefelder für den Nutzer}
%
% Die Vorlagen für das \CD der Technischen Universität Dresden definieren
% mehrere Felder, welche durch den Nutzer gesetzt und auf Titelseite bzw. mit
% \pkg{tudscrsupervisor} auch teilweise für die Aufgabenstellung verwendet 
% werden. Ein Großteil der definierten Felder wird unter anderem für den Satz 
% der Titelseite benötigt.
%
% Das Setzen einer speziellen Titelseite mit \LaTeX{} ist eines der häufigsten
% anliegen. Dafür ist von Markus Kohm\footnote{Autor von \KOMAScript} das
% \pkg{titlepage}-Paket entworfen worden. Um gleichzeitig konsistent zu diesem
% Paket, werden für die entsprechenden Felder Alias-Befehle definiert.
%
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
%<*class|titlepage>
% \fi
%
% \subsection{Textfelder}
%
% Einige der Felder werden sowohl für die Klassen aber auch für den separaten
% \pkg{titlepage}-Stil benötigt.
% \begin{macro}{\faculty}
% \begin{field}{\@faculty}
% Angabe der Fakultät für die TUD-Kopfzeile mit \cs{faculty}\marg{Fakultät},
% wird im Makro \cs{@faculty} gespeichert.
%    \begin{macrocode}
%<*class>
\newcommand*\@faculty{}
\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}}
%</class>
%    \end{macrocode}
% \end{field}^^A \@faculty
% \end{macro}^^A \faculty
% \begin{macro}{\department}
% \begin{field}{\@department}
% Angabe der Einrichtung mit \cs{department}\marg{Fachrichtung} für die
% TUD-Kopfzeile, wird im Makro \cs{@department} gespeichert.
%    \begin{macrocode}
%<*class>
\newcommand*\@department{}
\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}}
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{department}
%</titlepage>
%    \end{macrocode}
% \end{field}^^A \@department
% \end{macro}^^A \department
% \begin{macro}{\institute}
% \begin{field}{\@institute}
% Angabe des Instituts für die TUD-Kopfzeile mit \cs{institute}\marg{Institut},
% wird im Makro \cs{@institute} gespeichert.
%    \begin{macrocode}
%<*class>
\newcommand*\@institute{}
\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}}
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{institute}
%</titlepage>
%    \end{macrocode}
% \end{field}^^A \@institute
% \end{macro}^^A \institute
% \begin{macro}{\chair}
% \begin{field}{\@chair}
% \begin{macro}{\professorship}
% Angabe des Lehrstuhls bzw. der Professur mit \cs{chair}\marg{Lehrstuhl} für
% die TUD-Kopfzeile, wird im Makro \cs{@chair} gespeichert; für \cs{chair} kann
% als Aliasbefehl auch \cs{professorship} genutzt werden.
%    \begin{macrocode}
%<*class>
\newcommand*\@chair{}
\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}}
\newcommand*\professorship{}
\let\professorship\chair
%</class>
%    \end{macrocode}
% \end{macro}^^A \professorship
% \end{field}^^A \@chair
% \end{macro}^^A \chair
% \begin{macro}{\extraheadline}
% \begin{field}{\@extraheadline}
% Für die Angabe einer freien zweiten bzw. dritten Textzeile im Kopf. Dies ist
% laut \CD nur in besonderen Ausnahmefällen gestattet.
%    \begin{macrocode}
%<*class>
\newcommand*\@extraheadline{}
\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}}
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{extraheadline}
%</titlepage>
%    \end{macrocode}
% \end{field}^^A \@extraheadline
% \end{macro}^^A \extraheadline
% \begin{macro}{\title}
% \begin{field}{\@@title}
% \begin{macro}{\author}
% \begin{field}{\@@author}
% Für die spätere Verwendung im Dokument von Titel und Autor~-- bspw. für die
% Aufgabenstellung oder die Selbstständigkeitserklärung~-- werden die Felder
% \cs{@@title} sowie \cs{@@author} definiert, wodurch die mit \cs{title} bzw.
% \cs{author} gespeicherten Einträge auch nach dem Setzen des Titels noch
% verwendet werden können, da die Standardfelder \cs{@title} und \cs{@author}
% durch \cs{maketitle} gelöscht werden. Außerdem sollen in diesen Feldern keine
% Fußnoten enthalten sein. Dafür müssen \cs{title} bzw. \cs{author} angepasst
% werden.
%    \begin{macrocode}
%<*class>
\newcommand*\@@title{}
\renewcommand*\title[1]{%
  \gdef\@title{#1}%
  \gdef\@@title{%
    \begingroup%
      \let\thanks\@gobble%
      \let\footnote\@gobble%
      #1%
    \endgroup%
  }%
}
\newcommand*\@@author{}
\renewcommand*\author[1]{%
  \gdef\@author{#1}%
  \let\@@author\@author%
}
%</class>
%    \end{macrocode}
% \end{field}^^A \@@author
% \end{macro}^^A \author
% \end{field}^^A \@@title
% \end{macro}^^A \title
% \begin{macro}{\student}
% Der Befehl \cs{student} kann als Alias für \cs{author} genutzt werden.
%    \begin{macrocode}
%<*class>
\newcommand*\student{}
\let\student\author
%</class>
%    \end{macrocode}
% \end{macro}^^A \student
% \begin{macro}{\authormore}
% \begin{field}{\@authormore}
% Ausgabe einer zusätzlichen Zeile mit \cs{authormore}\marg{Textzeile} direkt
% unterhalb der Angabe des Autors auf der Titelseite, wird im Makro
% \cs{@authormore} gespeichert.
%    \begin{macrocode}
%<*class>
\newcommand*\@authormore{}
\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}}
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{authormore}
%</titlepage>
%    \end{macrocode}
% \end{field}^^A \@authormore
% \end{macro}^^A \authormore
% \begin{macro}{\thesis}
% \begin{field}{\@thesis}
% \begin{field}{\@@thesis}
% \begin{macro}{\subject}
% \begin{field}{\@subject}
% \begin{macro}{\tud@thesis}
% \begin{macro}{\tud@@thesis}
% \begin{macro}{\tud@thanks}
% Art bzw. Typ der Abschlussarbeit kann \cs{thesis}\marg{Abschlussarbeit}
% angegeben werden und wird im Makro \cs{@thesis} gespeichert. Alternativ
% dazu kann auch der Befehl \cs{subject} verwendet werden. Mit dem Befehl
% \cs{tud@thesis} wird in den Feldern \@thesis bzw. \@subject nach bestimmten
% Schlagwörtern für Abschlussarbeiten o.\,ä. gesucht. Wird eines dieser Wörter
% gefunden, wird der entsprechende reguläre Ausdruck für dieses Feld gesetzt.
% Zusätzlich wird durch \cs{tud@@thesis} dafür gesorgt, dass gegebenenfalls der
% Inhalt von \cs{@subject} in \cs{@thesis} verschoben und die entsprechende
% Option \opt{subjectthesis} gesetzt wird. In \cs{@@thesis} wird die angegebene
% Abschlussarbeit ohne etwaige Fußnoten gespeichert.
%    \begin{macrocode}
%<*class>
\newcommand*\@thesis{}
\newcommand*\@@thesis{}
\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{thesis}
\renewcommand*\thesis[1]{\tud@thesis{thesis}{#1}}
%</titlepage>
\newcommand*\tud@thanks{}
\newcommand*\tud@thesis[2]{%
  \AfterPreamble{%
    \begingroup%
%    \end{macrocode}
% Hier das gleiche wie an anderer Stelle auch schon. Der Inhalt einer eventuell
% vorhandenen Fußnote wird gesichert
%    \begin{macrocode}
      \global\let\tud@thanks\relax%
      \def\thanks##1{\gdef\tud@thanks{##1}}%
      \let\footnote\thanks%
      \setbox0\vbox{#2}%
      \let\thanks\@gobble%
      \let\footnote\@gobble%
      \ifstr{#1}{thesis}{\xdef\@@thesis{#2}}{}%
    \endgroup%
    \tud@lowerstring{\@tempa}{#2}%
    \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{%
    \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{%
    \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{%
    \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{%
    \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{%
    \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{%
    \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{%
    \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{%
    \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{%
    \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{%
    \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{%
    \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{%
    \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{%
      \@namedef{@#1}{#2}%
    }}}}}}}}}}}}}%
  }%
}
\newcommand*\tud@@thesis[2]{%
  \ifx\tud@thanks\relax%
    \gdef\@thesis{#2}%
  \else%
    \xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}%
  \fi%
  \gdef\@@thesis{#2}%
  \ifstr{#1}{subject}{%
    \ifx\@thesis\empty\else%
%<*class>
      \ClassWarning{\tudcls@name}{Field 'thesis' is overwritten by 'subject'}%
%</class>
%<*titlepage>
      \PackageWarning{titlepage}{Field 'thesis' is overwritten by 'subject'}%
%</titlepage>
    \fi%
%<*class>
    \TUD@std@ifkey@lock{subjectthesis}{true}%
%</class>
%<*titlepage>
    \FamilySetBool{title}{subjectthesis}{@tud@subjectthesis}{true}%
%</titlepage>
  }{%
%<*class>
    \TUD@std@ifkey@lock{subjectthesis}{false}%
%</class>
%<*titlepage>
    \FamilySetBool{title}{subjectthesis}{@tud@subjectthesis}{false}%
%</titlepage>
  }%
}
\renewcommand*\subject[1]{\tud@thesis{subject}{#1}}
%    \end{macrocode}
% \end{macro}^^A \tud@thanks
% \end{macro}^^A \tud@@thesis
% \end{macro}^^A \tud@thesis
% \end{field}^^A \@subject
% \end{macro}^^A \subject
% \end{field}^^A \@@thesis
% \end{field}^^A \@thesis
% \end{macro}^^A \thesis
% \begin{macro}{\degree}
% \begin{field}{\@degree}
% \begin{field}{\@degreeabbr}
% Der angestrebte Abschluss bzw. der zu erwerbende akademische Grad, welcher
% auf der Titelseite ausgegeben werden soll, wird im Makro \cs{@degree}
% gespeichert. Zusätzlich kann als optionales Argument die Kurzform des
% akademischen Grades angegeben werden, wird in \cs{@degreeabbr} gespeichert.
%    \begin{macrocode}
%<*class>
\newcommand*\@degree{}
%</class>
\newcommand*\@degreeabbr{}
%<*titlepage>
\let\degree\relax
%</titlepage>
\newcommand*\degree[2][]{%
  \ifxblank{#1}{\gdef\@degreeabbr{}}{\gdef\@degreeabbr{(#1)}}%
  \gdef\@degree{#2}%
}
%    \end{macrocode}
% \end{field}^^A \@degreeabbr
% \end{field}^^A \@degree
% \end{macro}^^A \degree
%
% \iffalse
%<*class>
% \fi
%
% \begin{macro}{\professor}
% \begin{field}{\@professor}
% Angabe des verantwortlichen Hochschullehrers für Titel und Aufgabenstellung,
% wird im Makro \cs{@professor} gespeichert.
%    \begin{macrocode}
\newcommand*\@professor{}
\newcommand*\professor[1]{\gdef\@professor{#1}}
%    \end{macrocode}
% \end{field}^^A \@professor
% \end{macro}^^A \professor
% \begin{macro}{\supervisor}
% \begin{field}{\@supervisor}
% (Erst- und Zweit"~)Betreuer bei Abschlussarbeiten, wird in \cs{@supervisor}
% gespeichert. Mehrere Betreuer werden durch \cs{and} getrennt. Für die
% Selbstständigkeitserklärung werden standardmäßig die angegebenen Betreuer
% als Personen eingetragen, welche Unterstützung geleistet haben.
%    \begin{macrocode}
\newcommand*\@supervisor{}
\newcommand*\supervisor[1]{%
  \gdef\@supervisor{#1}%
  \ifx\@supporter\empty\gdef\@supporter{#1}\fi%
}
%    \end{macrocode}
% \end{field}^^A \@supervisor
% \end{macro}^^A \supervisor
% \begin{macro}{\supporter}
% \begin{field}{\@supporter}
% Diese Feld ist für die Hilfesteller bei der Anfertigung der Abschlussarbeit,
% welche auf der Selbstständigkeitserklärung aufgeführt werden. Standardmäßig
% werden diese bei der Angabe der Betreuer gesetzt. Sollten die unterstützenden
% Personen separat angegeben werden, ist das Eintragen der Betreuer in das Feld
% \cs{@supporter} nicht mehr nötig. Mehrere Hilfesteller werden durch \cs{and}
% getrennt.
%    \begin{macrocode}
\newcommand*\@supporter{}
\newcommand*\supporter[1]{%
  \gdef\@supporter{#1}%
  \renewcommand*\supervisor[1]{\gdef\@supervisor{##1}}%
}
%    \end{macrocode}
% \end{field}^^A \@supporter
% \end{macro}^^A \supporter
% \begin{macro}{\company}
% \begin{field}{\@company}
% Angabe einer externen Firma, wird im Makro \cs{@company} gespeichert.
%    \begin{macrocode}
\newcommand*\@company{}
\newcommand*\company[1]{\gdef\@company{#1}}
%    \end{macrocode}
% \end{field}^^A \@company
% \end{macro}^^A \company
% \begin{macro}{\referee}
% \begin{field}{\@referee}
% Gutachter bei einer Dissertation, werden im Makro \cs{@referee} gespeichert.
% Mehrere Gutachter werden durch \cs{and} getrennt.
%    \begin{macrocode}
\newcommand*\@referee{}
\newcommand*\referee[1]{\gdef\@referee{#1}}
%    \end{macrocode}
% \end{field}^^A \@referee
% \end{macro}^^A \referee
% \begin{macro}{\advisor}
% \begin{field}{\@advisor}
% Fachreferenten bei einer Dissertation, werden im Makro \cs{@advisor}
% gespeichert. Mehrere Fachreferenten werden durch \cs{and} getrennt.
%    \begin{macrocode}
\newcommand*\@advisor{}
\newcommand*\advisor[1]{\gdef\@advisor{#1}}
%    \end{macrocode}
% \end{field}^^A \@advisor
% \end{macro}^^A \advisor
% \begin{macro}{\matriculationnumber}
% \begin{field}{\@matriculationnumber}
% \begin{macro}{\studentid}
% \begin{macro}{\matriculationid}
% Angabe der Matrikelnummer für Titelseite und Aufgabenstellung, wird in dem
% Makro \cs{@matriculationid} gespeichert, für \cs{matriculationid} kann als
% Aliasbefehl \cs{studentid} sowie \cs{matriculationnumber} genutzt werden.
%    \begin{macrocode}
\newcommand*\@matriculationnumber{}
\newrobustcmd*\matriculationnumber[1]{%
  \gdef\@matriculationnumber{#1}%
}
\newrobustcmd*\studentid{}
\newrobustcmd*\matriculationid{}
\let\studentid\matriculationnumber
\let\matriculationid\matriculationnumber
%    \end{macrocode}
% \end{macro}^^A \matriculationid
% \end{macro}^^A \studentid
% \end{field}^^A \@matriculationnumber
% \end{macro}^^A \matriculationnumber
%
% \iffalse
%</class>
% \fi
%
% \begin{macro}{\matriculationyear}
% \begin{field}{\@matriculationyear}
% \begin{macro}{\enrolmentyear}
% Angabe des Immatrikulationsjahr für den Titel, wird im Makro
% \cs{@matriculationyear} gespeichert, für \cs{matriculationyear} kann als
% Aliasbefehl auch \cs{enrolmentyear} genutzt werden.
%    \begin{macrocode}
%<*class>
\newcommand*\@matriculationyear{}
\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}}
\newrobustcmd*\enrolmentyear{}
\let\enrolmentyear\matriculationyear
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{matriculationyear}
%</titlepage>
%    \end{macrocode}
% \end{macro}^^A \enrolmentyear
% \end{field}^^A \@matriculationyear
% \end{macro}^^A \matriculationyear
% \begin{macro}{\placeofbirth}
% \begin{field}{\@placeofbirth}
% \begin{macro}{\birthplace}
% Angabe des Geburtsortes für den Titel, wird im Makro \cs{@placeofbirth}
% gespeichert, für \cs{placeofbirth} kann als Aliasbefehl auch \cs{birthplace}
% genutzt werden.
%    \begin{macrocode}
%<*class>
\newcommand*\@placeofbirth{}
\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}}
\newrobustcmd*\birthplace{}
\let\birthplace\placeofbirth
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{placeofbirth}
%</titlepage>
%    \end{macrocode}
% \end{macro}^^A \birthplace
% \end{field}^^A \@placeofbirth
% \end{macro}^^A \placeofbirth
% \begin{macro}{\publisher}
% \begin{field}{\@publisher}
% \begin{macro}{\publishers}
% Kleine Korrektur für \KOMAScript. Der Standardbefehl sollte im Singular
% stehen.
%    \begin{macrocode}
%<*class>
\providecommand*\@publisher{}
\providecommand*\publisher[1]{\gdef\@publisher{#1}}
\let\publishers\publisher
%</class>
%<*titlepage>
\providecommand*\publishers{\publisher}
%</titlepage>
%    \end{macrocode}
% \end{macro}^^A \publishers
% \end{field}^^A \@publisher
% \end{macro}^^A \publisher
% \begin{macro}{\confirmationclosing}
% \begin{field}{\@confirmationclosing}
% Als Abschluss der Selbstständigkeitserklärung für Ort und Unterschrift.
%    \begin{macrocode}
%<*class>
\newcommand*\@confirmationclosing{%
  \medskip%
  \noindent\@place, \@@date%
  \\[15mm plus 10mm minus 10mm]%
  \begingroup%
  \let\and\hfil%
  \let\thanks\@gobble%
  \let\footnote\@gobble%
  \@@author%
  \hfil%
  \endgroup%
}
\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}}
%</class>
%    \end{macrocode}
% \end{field}^^A \@confirmationclosing
% \end{macro}^^A \confirmationclosing
% \begin{macro}{\place}
% \begin{field}{\@place}
% \begin{macro}{\location}
% Angabe des Ortes für die Unterschriftzeile der Selbstständigkeitserklärung,
% wird im Makro \cs{@place} gespeichert und standardmäßig mit
% \glqq{}Dresden\grqq{} gesetzt, für \cs{place} kann als Aliasbefehl auch
% \cs{location} genutzt werden.
%    \begin{macrocode}
%<*class>
\newcommand*\@place{Dresden}
\newcommand*\place[1]{\gdef\@place{#1}}
%</class>
\newcommand*\location{}
\let\location\place
%    \end{macrocode}
% \end{macro}^^A \location
% \end{field}^^A \@place
% \end{macro}^^A \place
%
% \iffalse
%</class|titlepage>
%<*supervisor>
% \fi
%
% \begin{macro}{\course}
% \begin{field}{\@course}
% \begin{macro}{\discipline}
% Studiengang für den Kopf der Aufgabenstellung, wird im Makro \cs{@course}
% gespeichert, für \cs{course} kann als Aliasbefehl auch \cs{discipline}
% genutzt werden.
%    \begin{macrocode}
\newcommand*\@course{}
\newrobustcmd*\course[1]{\gdef\@course{#1}}
\newrobustcmd*\discipline{}
\let\discipline\course
%    \end{macrocode}
% \end{macro}^^A \discipline
% \end{field}^^A \@course
% \end{macro}^^A \course
% \begin{macro}{\branch}
% \begin{field}{\@branch}
% Studienrichtung bzw. Fachrichtung für den Kopf der Aufgabenstellung, wird
% im Makro \cs{@branch} gespeichert.
%    \begin{macrocode}
\newcommand*\@branch{}
\newrobustcmd*\branch[1]{\gdef\@branch{#1}}
%    \end{macrocode}
% \end{field}^^A \@branch
% \end{macro}^^A \branch
% \begin{macro}{\chairman}
% \begin{field}{\@chairman}
% Angabe des Prüfungsausschussvorsitzenden für die Aufgabenstellung, wird im
% Makro \cs{@chairman} gespeichert.
%    \begin{macrocode}
\newcommand*\@chairman{}
\newcommand*\chairman[1]{\gdef\@chairman{#1}}
%    \end{macrocode}
% \end{field}^^A \@chairman
% \end{macro}^^A \chairman
% \begin{macro}{\contact}
% \begin{field}{\@contact}
% \begin{macro}{\office}
% \begin{field}{\@office}
% \begin{macro}{\phone}
% \begin{field}{\@phone}
% \begin{macro}{\email}
% \begin{field}{\@email}
% Für einen Aushang kann eine oder mehrere Kontaktpersonen angegeben werden. 
% Zusätzlich kann für jede einzelne Person ein Raum, eine Telefonnummer und die
% E-Mail"=Adresse hinzugefügt werden.
%    \begin{macrocode}
\newcommand*\@contact{}
\newcommand*\contact[1]{\gdef\@contact{#1}}
\newcommand*\@office{}
\newrobustcmd*\office[1]{\gdef\@office{#1}}
\newcommand*\@phone{}
\newrobustcmd*\phone[1]{\gdef\@phone{#1}}
\newcommand*\@email{}
\newrobustcmd*\email[1]{\gdef\@email{#1}}
\AfterPackage{hyperref}{%
  \renewrobustcmd*\email[1]{\gdef\@email{\href{mailto:#1}{\nolinkurl{#1}}}}%
}
%    \end{macrocode}
% \end{field}^^A \@email
% \end{macro}^^A \email
% \end{field}^^A \@phone
% \end{macro}^^A \phone
% \end{field}^^A \@office
% \end{macro}^^A \office
% \end{field}^^A \@contact
% \end{macro}^^A \contact
% \begin{macro}{\grade}
% \begin{field}{\@grade}
% \begin{field}{\@headline}
% Die beiden Befehle dienen zum Abspeichern der entsprechenden Parameter 
% innerhalb der neu definierten Umgebungen aus dem Paket \pkg{tudscrsupervisor}.
%    \begin{macrocode}
\newcommand*\@grade{}
\newcommand*\grade[1]{\gdef\@grade{#1}}
\newcommand*\@headline{}
%    \end{macrocode}
% \end{field}^^A \@headline
% \end{field}^^A \@grade
% \end{macro}^^A \grade
%
% \iffalse
%</supervisor>
%<*class|titlepage>
%<*class>
% \fi
%
% \subsection{Datumsfelder}
%
% \begin{macro}{\printdate}
% Im Folgenden werden mehrere Datumsfelder definiert. Damit diese optional
% durch das \pkg{isodate}-Paket formatiert werden können, wird der zu
% diesem Paket gehörende Befehl \cs{printdate} in die Definition der
% eigentlichen Datumsfelder integriert. Sollte das \pkg{isodate}-Paket nicht
% geladen werden, so muss dieser Befehl trotzdem definiert sein.
%    \begin{macrocode}
\newcommand*\printdate[1]{#1}
\BeforePackage{isodate}{\let\printdate\undefined}
%    \end{macrocode}
% \end{macro}^^A \printdate
% \begin{macro}{\tud@printdate}
% Damit die Datumsfelder definiert werden können und das \pkg{isodate}-Paket
% unterstützen, muss beim Festlegen der Datumsfelder einiges beachtet werden.
% So müssen beispielsweise leere Argumente und Sonderfälle separat betrachtet
% werden. Damit dies einheitlich für alle Felder geschehen kann, wird dieser
% Befehl genutzt. Dabei wird als erstes Argument der Befehlsname für das
% Datumsfeld übergeben, als zweites Argument der gewünschte Inhalt.
%    \begin{macrocode}
\newcommand*\tud@printdate[2]{%
  \ifx\today#2%
    \gdef#1{#2}%
  \else%
    \ifxblank{#2}%
      {\gdef#1{}}%
      {\gdef#1{\printdate{#2}}}%
  \fi%
}
%    \end{macrocode}
% \end{macro}^^A \tud@printdate
%
% \iffalse
%</class>
% \fi
%
% \begin{macro}{\date}
% \begin{field}{\@date}
% \begin{field}{\@@date}
% \begin{field}{\@datemore}
% \begin{macro}{\submissiondate}
% Das Abgabedatum der Arbeit für den Titel, wird im originalen Makro \cs{@date}
% gespeichert. Zusätzlich kann als optionales Argument eine Ergänzung angehängt
% werden~-- beispielsweise als Erklärung für eine verspätete Abgabe aufgrund
% einer offiziellen Verlängerung der Bearbeitungszeit~-- welche im Feld
% \cs{@datemore} gespeichert wird. Der originale Standardbefehl für das Datum
% \cs{date} wird aufgebohrt, \cs{submissiondate} kann auch als Aliasbefehl
% genutzt werden. Außerdem wird das Feld \cs{@@date} definiert, welches das
% Datum ebenfalls speichert, um es auch nach dem Setzen des Titels verwenden zu
% können.
%    \begin{macrocode}
\newcommand*\@datemore{}
\newcommand*\@@date{}
\let\@@date\@date
\renewcommand*\date[2][]{%
  \gdef\@datemore{#1}%
%<*titlepage>
  \gdef\@date{#2}%
%</titlepage>
%<*class>
  \tud@printdate{\@date}{#2}%
  \tud@printdate{\@@date}{#2}%
%</class>
}
%<*class>
\newcommand*\submissiondate{}
\let\submissiondate\date
%</class>
%    \end{macrocode}
% \end{macro}^^A \submissiondate
% \end{field}^^A \@datemore
% \end{field}^^A \@@date
% \end{field}^^A \@date
% \end{macro}^^A \date
% \begin{macro}{\defensedate}
% \begin{field}{\@defensedate}
% \begin{macro}{\oralexaminationdate}
% Das Verteidigungsdatum erscheint auf dem Titel und wird im Makro
% \cs{@defensedate} gespeichert, für \cs{defensedate} kann als Aliasbefehl auch
% \cs{oralexaminationdate} genutzt werden.
%    \begin{macrocode}
%<*class>
\newcommand*\@defensedate{}
\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}}
\newcommand*\oralexaminationdate{}
\let\oralexaminationdate\defensedate
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{defensedate}% instead oralexaminationdate
%</titlepage>
%    \end{macrocode}
% \end{macro}^^A \oralexaminationdate
% \end{field}^^A \@defensedate
% \end{macro}^^A \defensedate
% \begin{macro}{\dateofbirth}
% \begin{field}{\@dateofbirth}
% \begin{macro}{\birthday}
% Angabe des Geburtstages für die  Titelseite, wird im Makro \cs{@dateofbirth}
% gespeichert, für \cs{dateofbirth} kann als Aliasbefehl auch \cs{birthday}
% genutzt werden.
%    \begin{macrocode}
%<*class>
\newcommand*\@dateofbirth{}
\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}}
\newrobustcmd*\birthday{}
\let\birthday\dateofbirth
%</class>
%<*titlepage>
\DefineSimpleTitleKey[TU-Dresden]{dateofbirth}
%</titlepage>
%    \end{macrocode}
% \end{macro}^^A \birthday
% \end{field}^^A \@dateofbirth
% \end{macro}^^A \dateofbirth
%
% \iffalse
%</class|titlepage>
%<*supervisor>
% \fi
%
% \begin{macro}{\issuedate}
% \begin{field}{\@issuedate}
% \begin{macro}{\startdate}
% Angabe des Anfangsdatums für die Aufgabenstellung, wird im Makro
% \cs{@issuedate} gespeichert, für \cs{issuedate} kann als Aliasbefehl auch
% \cs{startdate} genutzt werden.
%    \begin{macrocode}
\newcommand*\@issuedate{}
\newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}}
\let\startdate\issuedate
%    \end{macrocode}
% \end{macro}^^A \startdate
% \end{field}^^A \@issuedate
% \end{macro}^^A \issuedate
% \begin{macro}{\duedate}
% \begin{field}{\@duedate}
% \begin{macro}{\finaldate}
% \begin{macro}{\maturitydate}
% Angabe des geplanten Abgabedatums für die Aufgabenstellung, wird im Makro
% \cs{@duedate} gespeichert, für \cs{duedate} kann als Aliasbefehl auch
% \cs{finaldate} oder \cs{maturitydate} genutzt werden.
%    \begin{macrocode}
\newcommand*\@duedate{}
\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}}
\newcommand*\finaldate{}
\newcommand*\maturitydate{}
\let\finaldate\duedate
\let\maturitydate\duedate
%    \end{macrocode}
% \end{macro}^^A \maturitydate
% \end{macro}^^A \finaldate
% \end{field}^^A \@duedate
% \end{macro}^^A \duedate
%
% \iffalse
%</supervisor>
% \fi
%
% \Finale
%
\endinput