% \CheckSum{875} % \iffalse meta-comment % % TUD-Script -- Corporate Design of Technische Universität Dresden % ---------------------------------------------------------------------------- % % Copyright (C) Falk Hanisch , 2012-2020 % % ---------------------------------------------------------------------------- % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, version 1.3c of the license. The latest % version of this license is in http://www.latex-project.org/lppl.txt and % version 1.3c or later is part of all distributions of LaTeX 2005/12/01 % or later and of this work. This work has the LPPL maintenance status % "author-maintained". The current maintainer and author of this work % is Falk Hanisch. % % ---------------------------------------------------------------------------- % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz % in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle % Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und % Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 % oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status % "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. % % ---------------------------------------------------------------------------- % % \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 %<*dtx> % \fi % \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-fields.dtx}[2019/08/20 v2.06c TUD-Script\space% (input fields)% ] % % \iffalse \documentclass[english,ngerman,xindy]{tudscrdoc} \iftutex \usepackage{fontspec} \else \usepackage[T1]{fontenc} \usepackage[ngerman=ngerman-x-latest]{hyphsubst} \fi \usepackage{babel} \usepackage{tudscrfonts} \KOMAoptions{parskip=half-} \usepackage{bookmark} \usepackage[babel]{microtype} \CodelineIndex \RecordChanges \GetFileInfo{tudscr-fields.dtx} \title{\file{\filename}} \author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} \date{\fileversion\nobreakspace(\filedate)} \begin{document} \maketitle \tableofcontents \DocInput{\filename} \end{document} % % \fi % % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A % % \section{Anwenderbefehle für Eingabefelder} % % Das \TUDScript-Bundle für das \TUDCD definieren mehrere Felder, welche durch % den Anwender festgelegt werden können und dadurch auf der Titelseite bzw. auf % der Aufgabenstellung~-- falls das Paket \pkg{tudscrsupervisor} zum Einsatz % kommt~-- ausgegeben 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 zu sein, werden für die entsprechenden Felder Alias-Befehle definiert. % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % % \iffalse %<*class&!manual> % \fi % % \begin{macro}{\getfield} % \changes{v2.06}{2018/08/20}{neu}^^A % Hiermit wird der Inhalt des im zweiten (obligatorischen) Argument namentlich % genannten Feldes in die im ersten (optionalen) Argument gegebene Anweisung % expandiert. % \begin{macrocode} \newcommand*\getfield[2][\@firstofone]{% \begingroup% \def\tud@res@b{#1}% \ifcsdef{@@#2}{% \letcs\tud@res@a{@@#2}% }{% \ifcsdef{@#2}{% \letcs\tud@res@a{@#2}% }{% \let\tud@res@a\@empty% \ClassWarning{\TUD@Class@Name}{% The internal field `@#2' does not exist% }% }% }% \edef\tud@res@a{% \endgroup% \expandonce\tud@res@b{\expandonce\tud@res@a}% }% \tud@res@a% } % \end{macrocode} % \end{macro}^^A \getfield % % \subsection{Textfelder für die \TUDScript-Klassen} % % Von den Klassen benötigte Formularfelder werden definiert. Für das Setzen von % Feldern werden mit dem Makro \cs{trim@spaces} aus dem Paket \pkg{trimspaces} % bei einem übergebenen Argument führende und angehängte Leerzeichen beseitigt. % \begin{macro}{\faculty} % \begin{field}{\@faculty} % \begin{field}{\@facultyfoot} % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{macro}{\department} % \begin{field}{\@department} % \begin{field}{\@departmentfoot} % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{macro}{\institute} % \begin{field}{\@institute} % \begin{field}{\@institutefoot} % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{macro}{\chair} % \begin{field}{\@chair} % \begin{field}{\@chairfoot} % \changes{v2.05}{2015/07/06}{neu}^^A % Für die für die TUD-Kopfzeile kann mit \cs{faculty}\marg{Fakultät} die % Fakultät angegeben werden, welche im Makro \cs{@faculty} gespeichert wird. % Das gilt ebenso für die Angabe von Einrichtung, Institut und Lehrstuhls bzw. % Professur. Dies erfolgt mit den Makros \cs{department}\marg{Fachrichtung}, % \cs{institute}\marg{Institut} sowie \cs{chair}\marg{Lehrstuhl}, welche in % \cs{@department}, \cs{@institute} und \cs{@chair} gespeichert werden. % % Das optionale Argument wird zur Kompatibilität zur Klasse \cls{tudscrposter} % vorgehalten. Wird das Paket geladen, kann mit dem optionalen Argument die % Angabe der Struktureinheiten im Fußbereich variiert werden. Dafür werden die % Felder \cs{@facultyfoot}, \cs{@departmentfoot}, \cs{@institutefoot} sowie % \cs{@chairfoot} % definiert. % \begin{macrocode} \newcommand*\@faculty{} \newcommand*\@department{} \newcommand*\@institute{} \newcommand*\@chair{} %<*book|report|article> \newcommand*\faculty[2][]{\tud@head@text@field{faculty}{#2}} \newcommand*\department[2][]{\tud@head@text@field{department}{#2}} \newcommand*\institute[2][]{\tud@head@text@field{institute}{#2}} \newcommand*\chair[2][]{\tud@head@text@field{chair}{#2}} % %<*poster> \newcommand*\@facultyfoot{} \newcommand*\@departmentfoot{} \newcommand*\@institutefoot{} \newcommand*\@chairfoot{} \newcommand*\faculty[2][\@empty]{\tud@foot@line@add{faculty}{#2}{#1}} \newcommand*\department[2][\@empty]{\tud@foot@line@add{department}{#2}{#1}} \newcommand*\institute[2][\@empty]{\tud@foot@line@add{institute}{#2}{#1}} \newcommand*\chair[2][\@empty]{\tud@foot@line@add{chair}{#2}{#1}} % % \end{macrocode} % \end{field}^^A \@chairfoot % \end{field}^^A \@chair % \end{macro}^^A \chair % \end{field}^^A \@institutefoot % \end{field}^^A \@institute % \end{macro}^^A \institute % \end{field}^^A \@departmentfoot % \end{field}^^A \@department % \end{macro}^^A \department % \end{field}^^A \@facultyfoot % \end{field}^^A \@faculty % \end{macro}^^A \faculty % \begin{macro}{\extraheadline} % \begin{field}{\@extraheadline} % Für die Angabe weiteren, freien Textzeile im Kopf. Dies ist laut \CD nur in % besonderen Ausnahmefällen gestattet. % \begin{macrocode} \newcommand*\@extraheadline{} \newcommand*\extraheadline[1]{\tud@head@text@field{extraheadline}{#1}} % \end{macrocode} % \end{field}^^A \@extraheadline % \end{macro}^^A \extraheadline % \begin{macro}{\tud@head@text@field} % \changes{v2.05}{2015/11/26}{neu}^^A % Wird ein Feld gesetzt, muss im Zweifel die Kopfzeile neu erstellt werden. % \begin{macrocode} \newcommand*\tud@head@text@field[2]{% \csgdef{@#1}{\trim@spaces{#2}}% \global\@tud@head@text@settrue% } % \end{macrocode} % \end{macro}^^A \tud@head@text@field % \begin{macro}{\tud@foot@line@add} % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{macro}{\tud@foot@line@write} % \changes{v2.05}{2015/07/06}{neu}^^A % Mit \cs{tud@foot@line@add} wird der Inhalt eines Feldes in \cs{@\meta{Feld}} % gespeichert. Der Befehl erwartet als erstes obligatorisches Argument den % Feldnamen und als zweites den Inhalt. Entspricht das dritte obligatorische % Argument \cs{@empty}, so wird in \cs{@\meta{Feld}foot} ebenfalls das zweite % Argument abgelegt, andernfalls das dritte. % % Damit wird es für Poster möglich, die Befehle \cs{faculty}, \cs{department}, % \cs{institute}, \cs{chair} und \cs{professor} dahingehend zu erweitern, dass % unterschiedliche Angaben für die Kopf- und Fußzeile gemacht werden können. % Wird eines der zuvor genannten Makros lediglich mit einem obligatorischen % Argument verwendet, so enthalten Kopf und Fuß den gleichen Eintrag. Wird % jedoch zusätzlich das optionale Argument genutzt, so wird dessen Inhalt im % Fußbereich mit \cs{tud@foot@line@write} ausgegeben. % \begin{macrocode} %<*poster> \newcommand*\tud@foot@line@add[3]{% \tud@head@text@field{#1}{#2}% \ifx\@empty#3\relax% \global\csletcs{@#1foot}{@#1}% \else% \csgdef{@#1foot}{\trim@spaces{#3}}% \fi% } \newcommand*\tud@foot@line@write[1]{% \protected@edef\@tempa{\csuse{@#1foot}}% \ifx\@tempa\@empty\else\newline\mbox{\csuse{@#1foot}}\fi% } % % \end{macrocode} % \end{macro}^^A \tud@foot@line@write % \end{macro}^^A \tud@foot@line@add % \begin{macro}{\title} % \begin{field}{\@title} % \begin{field}{\@@title} % \changes{v2.02}{2014/11/06}{\cs{protected@xdef} genutzt}^^A % Für die spätere Verwendung im Dokument des Titels~-- beispielsweise für die % Aufgabenstellung oder die Selbstständigkeitserklärung~-- wird das Feld % \cs{@@title} definiert. In diesem wird der mit \cs{title} gesicherte Eintrag % ohne die etwaigen Fußnoten gespeichert. % \begin{macrocode} \newcommand*\@@title{} \robustify\@title \renewcommand*\title[1]{% \gdef\@title{#1}% \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% \def\newline{\space\ignorespaces}% \def\\{\space\ignorespaces}% \protected@xdef\@@title{\trim@spaces{#1}}% \endgroup% } % \end{macrocode} % \end{field}^^A \@@title % \end{field}^^A \@title % \end{macro}^^A \title % \begin{macro}{\author} % \begin{field}{\@author} % \begin{field}{\@@author} % \begin{macro}{\authormore} % \begin{field}{\@authormore} % Die 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} \newcommand*\@@author{} \renewcommand*\author[1]{% \gdef\@author{#1}% % \end{macrocode} % Das Feld \cs{@@author} soll lediglich die Autoren ohne weitere Anmerkungen % enthalten. Deshalb werden die gewöhnlichen Formatierungsbefehle des Titels % temporär unschädlich gemacht. % \begin{macrocode} \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% \def\newline{\space\ignorespaces}% \def\\{\space\ignorespaces}% % \end{macrocode} % Die Makros aus \cs{tud@split@author@list} werden zu \cs{@tempc} gesetzt, um % diese nach der Expansion weiter zu behandeln. % \begin{macrocode} \let\@tempc\relax% \def\@tempa##1{\csedef{##1}####1{\@tempc}}% \let\@tempb\tud@split@author@list% \ifx\and\relax\else% \robustify\and% \fi% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% % \end{macrocode} % Da die Befehle für Zusatzinformationen unter Umständen ungewollte Leerzeichen % im Feld \cs{@@author} hinterlassen, werden diese entfernt. % \begin{macrocode} \def\@tempa##1##2{% \def\@tempb####1##2####2\@nil{% \IfArgIsEmpty{####2}{% \def##1{####1}% }{% \@tempb####1####2\@nil% }% }% \expandafter\@tempb##1##2\@nil% }% \protected@edef\@@author{#1}% \@tempa{\@@author}{ \@tempc }% \@tempa{\@@author}{\@tempc }% \@tempa{\@@author}{ \@tempc}% \@tempa{\@@author}{\@tempc}% \xdef\@@author{\expandonce\@@author}% \endgroup% } \newcommand*\@authormore{} \newrobustcmd*\authormore[1]{\gdef\@authormore{#1}\ignorespaces} % \end{macrocode} % \end{field}^^A \@authormore % \end{macro}^^A \authormore % \end{field}^^A \@@author % \end{field}^^A \@author % \end{macro}^^A \author % \begin{macro}{\emailaddress} % \changes{v2.02}{2014/05/16}{neu, Umbenennung des Makros \cs{email}}^^A % \begin{field}{\@emailaddress} % \changes{v2.02}{2014/05/16}{neu, Umbenennung des Makros \cs{@email}}^^A % \begin{macro}{\tud@emailaddress@simple} % \changes{v2.05}{2016/07/09}{neu}^^A % \begin{macro}{\tud@emailaddress@hyper} % \changes{v2.05}{2016/07/09}{neu}^^A % \begin{macrocode} \newcommand*\@emailaddress{} \newrobustcmd*\emailaddress{% \kernel@ifstar{\tud@emailaddress@simple}{\tud@emailaddress@hyper}% } \newrobustcmd*\tud@emailaddress@simple[1]{\gdef\@emailaddress{#1}} \newrobustcmd*\tud@emailaddress@hyper[2][]{\gdef\@emailaddress{#2}} \AfterPackage{hyperref}{% \renewrobustcmd*\tud@emailaddress@hyper[2][hidelinks]{% \gdef\@emailaddress{% \begingroup% \urlstyle{same}% \hypersetup{#1}% \href{mailto:#2}{\nolinkurl{#2}}% \endgroup% }% }% } % \end{macrocode} % \end{macro}^^A \tud@emailaddress@hyper % \end{macro}^^A \tud@emailaddress@simple % \end{field}^^A \@emailaddress % \end{macro}^^A \emailaddress % \begin{macro}{\course} % \begin{field}{\@course} % Studiengang für den Titel sowie den Kopf der Aufgabenstellung, wird im Makro % \cs{@course} gespeichert. % \begin{macrocode} \newcommand*\@course{} \newrobustcmd*\course[1]{\gdef\@course{#1}\ignorespaces} % \end{macrocode} % \end{field}^^A \@course % \end{macro}^^A \course % \begin{macro}{\discipline} % \changes{v2.02}{2014/05/16}{neu, von \cs{branch} umbenannt}^^A % \begin{field}{\@discipline} % \changes{v2.02}{2014/05/16}{neu, von \cs{@branch} umbenannt}^^A % Studienrichtung bzw. Fachrichtung für Titel und Kopf der Aufgabenstellung, % wird im Makro \cs{@discipline} gespeichert. % \begin{macrocode} \newcommand*\@discipline{} \newrobustcmd*\discipline[1]{\gdef\@discipline{#1}\ignorespaces} % \end{macrocode} % \end{field}^^A \@discipline % \end{macro}^^A \discipline % % \iffalse %<*book|report|article> % \fi % % \begin{macro}{\matriculationnumber} % \begin{field}{\@matriculationnumber} % Die Matrikelnummer für Titelseite und Aufgabenstellung, wird in % \cs{@matriculationid} gespeichert. % \begin{macrocode} \newcommand*\@matriculationnumber{} \newrobustcmd*\matriculationnumber[1]{% \gdef\@matriculationnumber{#1}\ignorespaces% } % \end{macrocode} % \end{field}^^A \@matriculationnumber % \end{macro}^^A \matriculationnumber % \begin{macro}{\matriculationyear} % \begin{field}{\@matriculationyear} % Das Immatrikulationsjahr für den Titel wird in \cs{@matriculationyear} % gespeichert. % \begin{macrocode} \newcommand*\@matriculationyear{} \newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}\ignorespaces} % \end{macrocode} % \end{field}^^A \@matriculationyear % \end{macro}^^A \matriculationyear % \begin{macro}{\placeofbirth} % \begin{field}{\@placeofbirth} % Der Geburtsort für den Titel wird in \cs{@placeofbirth} gespeichert. % \begin{macrocode} \newcommand*\@placeofbirth{} \newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}\ignorespaces} % \end{macrocode} % \end{field}^^A \@placeofbirth % \end{macro}^^A \placeofbirth % \begin{macro}{\thesis} % \begin{field}{\@thesis} % \changes{v2.02}{2014/11/06}{\cs{protected@xdef} genutzt}^^A % \begin{field}{\@@thesis} % \changes{v2.02}{2014/11/06}{\cs{protected@xdef} genutzt}^^A % \begin{macro}{\subject} % \begin{field}{\@subject} % \begin{macro}{\tud@thesis@do} % \begin{macro}{\tud@thesis@@do} % \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@do} wird in den Feldern \cs{@thesis} respektive \cs{@subject} % nach bestimmten Schlagwörtern für Abschlussarbeiten o.\,ä. gesucht. Wird % eines dieser Wörter gefunden, wird der entsprechende Bezeichner für dieses % Feld gesetzt. Zusätzlich wird durch \cs{tud@thesis@@do} dafür gesorgt, dass % gegebenenfalls der Inhalt von \cs{@subject} in \cs{@thesis} verschoben und % entsprechend die Option \opt{subjectthesis} gesetzt wird. In \cs{@@thesis} % wird die angegebene Abschlussarbeit ohne etwaige Fußnoten gespeichert. % \begin{macrocode} \newcommand*\@thesis{} \newcommand*\@@thesis{} \newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}} \renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\tud@thanks{} \newcommand*\tud@thesis@do[2]{% \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% \sbox\z@{#2}% \let\thanks\@gobble% \let\footnote\@gobble% \tud@lowerstring{\@tempa}{#2}% \ifstr{#1}{thesis}{\protected@xdef\@@thesis{#2}}{}% \protected@edef\@tempa{% \endgroup% \def\noexpand\@tempa{\@tempa}% }% \@tempa% \ifstr{\@tempa}{diss}{\tud@thesis@@do{#1}{\dissertationname}}{% \ifstr{\@tempa}{doctoral}{\tud@thesis@@do{#1}{\dissertationname}}{% \ifstr{\@tempa}{phd}{\tud@thesis@@do{#1}{\dissertationname}}{% \ifstr{\@tempa}{diploma}{\tud@thesis@@do{#1}{\diplomathesisname}}{% \ifstr{\@tempa}{master}{\tud@thesis@@do{#1}{\masterthesisname}}{% \ifstr{\@tempa}{bachelor}{\tud@thesis@@do{#1}{\bachelorthesisname}}{% \ifstr{\@tempa}{student}{\tud@thesis@@do{#1}{\studentthesisname}}{% \ifstr{\@tempa}{evidence}{\tud@thesis@@do{#1}{\studentresearchname}}{% \ifstr{\@tempa}{project}{\tud@thesis@@do{#1}{\projectpapername}}{% \ifstr{\@tempa}{seminar}{\tud@thesis@@do{#1}{\seminarpapername}}{% \ifstr{\@tempa}{term}{\tud@thesis@@do{#1}{\termpapername}}{% \ifstr{\@tempa}{research}{\tud@thesis@@do{#1}{\researchname}}{% \ifstr{\@tempa}{log}{\tud@thesis@@do{#1}{\logname}}{% \ifstr{\@tempa}{report}{\tud@thesis@@do{#1}{\reportname}}{% \ifstr{\@tempa}{internship}{\tud@thesis@@do{#1}{\internshipname}}{% \csdef{@#1}{#2}% }}}}}}}}}}}}}}}% } \newcommand*\tud@thesis@@do[2]{% \ifstr{#1}{subject}{% \ifx\@thesis\@empty\else% \ClassWarning{\TUD@Class@Name}{% Field `thesis' is overwritten by `subject'% }% \fi% \TUD@key@preset{subjectthesis}{true}% }{% \TUD@key@preset{subjectthesis}{false}% }% \ifx\tud@thanks\relax% \gdef\@thesis{#2}% \else% \protected@xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% \fi% \protected@xdef\@@thesis{\trim@spaces{#2}}% } % \end{macrocode} % \end{macro}^^A \tud@thanks % \end{macro}^^A \tud@thesis@@do % \end{macro}^^A \tud@thesis@do % \end{field}^^A \@subject % \end{macro}^^A \subject % \end{field}^^A \@@thesis % \end{field}^^A \@thesis % \end{macro}^^A \thesis % \begin{macro}{\graduation} % \changes{v2.02}{2014/05/16}{neu, von \cs{degree} umbenannt}^^A % \begin{field}{\@graduation} % \changes{v2.02}{2014/05/16}{neu, von \cs{@degree} umbenannt}^^A % \begin{field}{\@graduationabbreviation} % \changes{v2.02}{2014/05/16}{neu, \cs{@degreeabbr} umbenannt}^^A % Der angestrebte Abschluss bzw. der zu erwerbende akademische Grad, welcher % auf der Titelseite ausgegeben werden soll, wird im Makro \cs{@graduation} % gespeichert. Zusätzlich kann als optionales Argument die Kurzform des % akademischen Grades angegeben werden, wird in \cs{@graduationabbr} % gespeichert. % \begin{macrocode} \newcommand*\@graduation{} \newcommand*\@graduationabbreviation{} \newcommand*\graduation[2][]{% \gdef\@graduationabbreviation{}% \ifxblank{#1}{}{\gdef\@graduationabbreviation{(#1)}}% \gdef\@graduation{#2}% } % \end{macrocode} % \end{field}^^A \@graduationabbreviation % \end{field}^^A \@graduation % \end{macro}^^A \graduation % % \iffalse % % \fi % % \begin{macro}{\professor} % \begin{field}{\@professor} % \begin{field}{\@professorfoot} % \changes{v2.05}{2015/07/06}{neu}^^A % Angabe des verantwortlichen Hochschullehrers für Titel und Aufgabenstellung, % wird im Makro \cs{@professor} gespeichert. % \begin{macrocode} %<*book|report|article> \newcommand*\@professor{} \newcommand*\professor[1]{\gdef\@professor{#1}} % %<*poster> \newcommand*\@professorfoot{} \newcommand*\professor[1]{\gdef\@professorfoot{#1}} % % \end{macrocode} % \end{field}^^A \@professorfoot % \end{field}^^A \@professor % \end{macro}^^A \professor % \begin{macro}{\supervisor} % \changes{v2.02}{2014/05/16}{erzeugter Eintrag der Betreuer mit % \cs{supervisor} für Selbstständigkeitserklärung verworfen}^^A % \begin{field}{\@supervisor} % (Erst- und Zweit"~)Betreuer bei Abschlussarbeiten, wird in \cs{@supervisor} % gespeichert. Mehrere Betreuer werden durch \cs{and} getrennt. Für Poster kann % der Befehl als Äquivalent zu \cs{contactperson} genutzt werden. % \begin{macrocode} %<*book|report|article> \newcommand*\@supervisor{} \newcommand*\supervisor[1]{\gdef\@supervisor{#1}} % %<*poster> \newcommand*\supervisor[1]{} % % \end{macrocode} % \end{field}^^A \@supervisor % \end{macro}^^A \supervisor % % \iffalse %<*book|report|article> % \fi % % \begin{macro}{\supporter} % \changes{v2.02}{2014/05/16}{erzeugter Eintrag der Betreuer mit % \cs{supervisor} für Selbstständigkeitserklärung verworfen}^^A % \begin{field}{\@supporter} % Diese Feld ist für die Hilfesteller bei der Anfertigung der Abschlussarbeit, % welche auf der Selbstständigkeitserklärung aufgeführt werden. Mehrere % Hilfesteller werden durch \cs{and} voneinander getrennt. % \begin{macrocode} \newcommand*\@supporter{} \newcommand*\supporter[1]{\gdef\@supporter{#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{length}{\tud@len@signatureskip} % \changes{v2.04}{2015/05/06}{neu}^^A % Für alle Formatvorlagen, welche eine Unterschriftenzeile bereitstellen, wird % ein einheitlicher Abstand verwendet. % \begin{macrocode} \newlength\tud@len@signatureskip \setlength\tud@len@signatureskip{8ex plus 6ex minus 6ex} % \end{macrocode} % \end{length}^^A \tud@len@signatureskip % \begin{macro}{\confirmationclosing} % \begin{field}{\@confirmationclosing} % Als Abschluss der Selbstständigkeitserklärung für Ort und Unterschrift. % \begin{macrocode} \newcommand*\@confirmationclosing{% \tud@date@check% \ifx\@date\@empty\else% \medskip\noindent% \ifx\@place\@empty\else\@place,\nobreakspace\fi\@date% \fi% \vskip\tud@len@signatureskip\noindent% \begingroup% \let\and\hfil% \@@author\hfil% \endgroup% } \newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}} % \end{macrocode} % \end{field}^^A \@confirmationclosing % \end{macro}^^A \confirmationclosing % \begin{macro}{\place} % \begin{field}{\@place} % Die Angabe des Ortes mit \cs{place} für die Selbstständigkeitserklärung und % ggf. das Datum wird im Makro \cs{@place} gespeichert und standardmäßig mit % \enquote{Dresden} gesetzt. % \begin{macrocode} \newcommand*\@place{Dresden} \newcommand*\place[1]{\gdef\@place{#1}} % \end{macrocode} % \end{field}^^A \@place % \end{macro}^^A \place % % \iffalse % % \fi % % \begin{macro}{\publisher} % Kleine Korrektur für \KOMAScript, der Befehl sollte im Singular stehen. % \begin{macrocode} \providecommand*\publisher[1]{\publishers{#1}} % \end{macrocode} % \end{macro}^^A \publisher % % \iffalse %<*poster> % \fi % % \begin{macro}{\webpage} % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{field}{\@webpage} % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{macro}{\tud@webpage@simple} % \changes{v2.05}{2016/07/09}{neu}^^A % \begin{macro}{\tud@webpage@hyper} % \changes{v2.05}{2016/07/09}{neu}^^A % Im Fußbereich eines Posters kann zusätzlich eine Web-Seite angegeben werden. % \begin{macrocode} \newcommand*\@webpage{} \newrobustcmd*\webpage{% \kernel@ifstar{\tud@webpage@simple}{\tud@webpage@hyper}% } \newrobustcmd*\tud@webpage@simple[1]{\gdef\@webpage{#1}} \newrobustcmd*\tud@webpage@hyper[2][]{\gdef\@webpage{#2}} \AfterPackage{hyperref}{% \renewrobustcmd*\tud@webpage@hyper[2][hidelinks]{% \gdef\@webpage{% \begingroup% \urlstyle{same}% \hypersetup{#1}% \url{#2}% \endgroup% }% }% } % \end{macrocode} % \end{macro}^^A \tud@webpage@hyper % \end{macro}^^A \tud@webpage@simple % \end{field}^^A \@webpage % \end{macro}^^A \webpage % % \iffalse % % \fi % % \subsection{Datumsfelder für die \TUDScript-Klassen} % % \begin{macro}{\printdate} % Im Folgenden werden mehrere Datumsfelder definiert. Damit diese optional % durch eines der Pakete \pkg{isodate} oder \pkg{datetime2} formatiert werden % können, wird der zu \pkg{isodate} gehörende Befehl \cs{printdate} in die % Definition der eigentlichen Datumsfelder integriert. Sollte das Paket nicht % geladen sein, so verwendet der Befehl die Schnittstelle von \pkg{datetime2}, % welches nur ein spezielles Datenformat als Eingabe akzeptiert. Wird keines % der beiden Pakete verwendet, wird das Argument direkt durchgereicht. % \begin{macrocode} \TUD@UnwindPackage{isodate}{% \@ifpackageloaded{datetime2}{% \providecommand*\printdate[1]{\DTMDate{#1}}% }{% \providecommand*\printdate[1]{#1}% }% } % \end{macrocode} % \end{macro}^^A \printdate % \begin{macro}{\tud@printdate} % Damit die Datumsfelder definiert werden können und eines der Datumspakete % 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\relax% \gdef#1{#2}% \else% \ifxblank{#2}% {\gdef#1{}}% {\gdef#1{\printdate{#2}}}% \fi% } % \end{macrocode} % \end{macro}^^A \tud@printdate % \begin{macro}{\tud@date@check} % \changes{v2.04}{2015/05/06}{neu}^^A % Das Makro prüft vor der Nutzung des Datumfeldes \cs{@date}, ob selbiges % explizit angegeben wurde. Falls dies nicht der Fall ist, wird eine Warnung % ausgegeben. % \begin{macrocode} \newcommand*\tud@date@check{% \ifdefvoid{\@duedate}{% \ClassWarning{\TUD@Class@Name}{% `\string\date' was not given\MessageBreak% Since a thesis is a self-contained work, an end\MessageBreak% date should be specified by the author. \MessageBreak% Nevertheless, today's date is used% }% }{% \ClassWarning{\TUD@Class@Name}{% `\string\date' was not given\MessageBreak% It's substituted by the given due date% }% \global\let\@date\@duedate% }% \global\let\tud@date@check\relax% } % \end{macrocode} % \end{macro}^^A \tud@date@check % \begin{macro}{\date} % \begin{parameter}{before} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{parameter}{after} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{parameter}{prefix} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{parameter}{suffix} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{parameter}{pre} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{parameter}{app} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{parameter}{place} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{macro}{\tud@date@set} % \changes{v2.05}{2016/05/27}{neu}^^A % \changes{v2.06}{2018/08/08}{optionales Argument nutzt \cs{tud@toks@}}^^A % \begin{field}{\@date} % \begin{field}{\@beforedate} % \changes{v2.05}{2016/05/27}{neu}^^A % \begin{field}{\@afterdate} % \changes{v2.05}{2016/05/27}{neu}^^A % Das Abgabedatum der Arbeit für den Titel, wird im originalen Makro \cs{@date} % gespeichert. Zusätzlich kann über die Parameter im optionalen Argument eine % Ergänzung davorgesetzt angehängt werden~-- beispielsweise als Erklärung für % eine verspätete Abgabe aufgrund einer Verlängerung der Bearbeitungszeit~-- % welche in den Feldern \cs{@beforedate} und \cs{@afterdate} gespeichert % wird. Hierfür wird der originale Befehl für das Datum \cs{date} erweitert, % wobei die Sternversion \cs{date*} den angegebenen Ort als Präfix verwendet. % \begin{macrocode} \renewcommand*\date{% \kernel@ifstar{% \TUD@parameter@set{date}{pre=\noexpand\@place{,}}% \tud@date@set% }{\tud@date@set}% } \newcommand*\tud@date@set[2][]{% \tud@toks@{#1}% \TUD@parameter@set{date}{\the\tud@toks@}% \tud@printdate{\@date}{#2}% \global\let\tud@date@check\relax% } \newcommand*\@beforedate{} \newcommand*\@afterdate{} \TUD@parameter@family{date}{% \TUD@parameter@def{before}{\def\@beforedate{#1}}% \TUD@parameter@let{pre}{before}% \TUD@parameter@let{prefix}{before}% \TUD@parameter@def{after}{\def\@afterdate{#1}}% \TUD@parameter@let{app}{after}% \TUD@parameter@let{suffix}{after}% \TUD@parameter@def{place}{\def\@place{#1}\def\@beforedate{#1,}}% \TUD@parameter@handler@value{after}% } % \end{macrocode} % \end{field}^^A \@afterdate % \end{field}^^A \@beforedate % \end{field}^^A \@date % \end{macro}^^A \tud@date@set % \end{parameter}^^A place % \end{parameter}^^A app % \end{parameter}^^A pre % \end{parameter}^^A suffix % \end{parameter}^^A prefix % \end{parameter}^^A after % \end{parameter}^^A before % \end{macro}^^A \date % \begin{macro}{\tud@date@print} % \changes{v2.05}{2016/05/27}{neu}^^A % Mit diesem Makro erfolgt die eigentliche Ausgabe des Datums und ggf. der % optionalen Ergänzungen. % \begin{macrocode} \newcommand*\tud@date@print{% \ifx\@date\@empty\else% \ifx\@beforedate\@empty\else% \expandafter\trim@spaces@noexp\expandafter{\@beforedate}\nobreakspace% \fi% \@date% \ifx\@afterdate\@empty\else% \nobreakspace\expandafter\trim@spaces@noexp\expandafter{\@afterdate}% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \tud@date@print % % \iffalse %<*book|report|article> % \fi % % \begin{macro}{\defensedate} % \begin{field}{\@defensedate} % Das Verteidigungsdatum erscheint auf dem Titel und wird in \cs{@defensedate} % gespeichert. % \begin{macrocode} \newcommand*\@defensedate{} \newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} % \end{macrocode} % \end{field}^^A \@defensedate % \end{macro}^^A \defensedate % \begin{macro}{\dateofbirth} % \begin{field}{\@dateofbirth} % Angabe des Geburtstages für die Titelseite, wird im Makro \cs{@dateofbirth} % gespeichert. % \begin{macrocode} \newcommand*\@dateofbirth{} \newrobustcmd*\dateofbirth[1]{% \tud@printdate{\@dateofbirth}{#1}\ignorespaces% } % \end{macrocode} % \end{field}^^A \@dateofbirth % \end{macro}^^A \dateofbirth % % \iffalse % % %<*package&supervisor|class&manual> % \fi % % \subsection{% % Felder für die Klasse \cls{tudscrposter}% % und das Paket \pkg{tudscrsupervisor}% % } % % Die Klasse \cls{tudscrposter} und das Paket \pkg{tudscrsupervisor} stellen % einige weitere Felder bereit bzw. erweitern deren Funktionalitäten. % % \begin{macro}{\chairman} % \begin{field}{\@chairman} % Die 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}{\grade} % \begin{field}{\@grade} % \begin{field}{\@headline} % Die 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 % \begin{macro}{\issuedate} % \begin{field}{\@issuedate} % Angabe des Anfangsdatums für die Aufgabenstellung, wird im Makro % \cs{@issuedate} gespeichert. % \begin{macrocode} \newcommand*\@issuedate{} \newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}} % \end{macrocode} % \end{field}^^A \@issuedate % \end{macro}^^A \issuedate % \begin{macro}{\duedate} % \begin{field}{\@duedate} % Angabe des geplanten Abgabedatums für die Aufgabenstellung, wird im Makro % \cs{@duedate} gespeichert. % \begin{macrocode} \newcommand*\@duedate{} \newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}} % \end{macrocode} % \end{field}^^A \@duedate % \end{macro}^^A \duedate % % \iffalse % %<*class&poster|package&supervisor|class&manual> % \fi % % Einige Befehle werden nur definiert, falls das Paket nicht mit der Klasse % \cls{tudscrposter} verwendet wird -- was allerdings nicht sinnvoll ist. % \begin{macrocode} %<*supervisor> \@ifclassloaded{tudscrposter}{\@tempswafalse}{\@tempswatrue} \if@tempswa % % \end{macrocode} % \begin{macro}{\contactperson} % \changes{v2.02}{2014/05/16}{neu, Makro \cs{contact} umbenannt}^^A % \begin{field}{\@contactperson} % \changes{v2.02}{2014/05/16}{neu, Makro \cs{@contact} umbenannt}^^A % \begin{macro}{\office} % \begin{field}{\@office} % \begin{macro}{\telephone} % \changes{v2.02}{2014/05/16}{neu, Umbenennung des Makros \cs{phone}}^^A % \begin{field}{\@telephone} % \changes{v2.02}{2014/05/16}{neu, Umbenennung des Makros \cs{@phone}}^^A % \begin{macro}{\telefax} % \changes{v2.05}{2016/04/05}{neu}^^A % \begin{field}{\@telefax} % \changes{v2.05}{2016/04/05}{neu}^^A % Für einen Aushang bzw. ein Poster kann eine oder mehrere Kontaktpersonen % angegeben werden. Zusätzlich lassen sich für jede einzelne Person ein Raum, % eine Telefonnummer und die E"~Mail-Adresse hinzugefügen. % \begin{macrocode} \newcommand*\@contactperson{} \newcommand*\contactperson[1]{\gdef\@contactperson{#1}} %<*poster> \let\supervisor\contactperson % \newcommand*\@office{} \newrobustcmd*\office[1]{\gdef\@office{#1}} \newcommand*\@telephone{} \newrobustcmd*\telephone[1]{\gdef\@telephone{#1}} \newcommand*\@telefax{} \newrobustcmd*\telefax[1]{\gdef\@telefax{#1}} % \end{macrocode} % \end{field}^^A \@telefax % \end{macro}^^A \telefax % \end{field}^^A \@telephone % \end{macro}^^A \telephone % \end{field}^^A \@office % \end{macro}^^A \office % \end{field}^^A \@contactperson % \end{macro}^^A \contactperson % % \iffalse % %<*!manual> %<*class> % \fi % % \subsection{Verarbeitung bestimmter Feldinhalte für die Ausgabe} % % Einige Felder sind darauf ausgelegt, dass deren kommagetrennte Inhalte % einzeln abgearbeitet und ausgewertet werden können. Die folgenden Makros % übernehmen diese Aufgabe. % \begin{macro}{\tud@multiple@split} % \begin{macro}{\tud@multiple@@split} % \begin{macro}{\tud@multiple@@@split} % Für Felder, die mehrere Personen~-- getrennt durch \cs{and}~-- beinhalten % können und für die zusätzliche Angaben durch die Verwendung weiterer Makros % innerhalb des Feldbefehlargumentes möglich sind, werden diese Befehle zum % Aufteilen der Angaben bereitgestellt. Mit diesen wird es möglich, die durch % \cs{and} getrennten Teile separat auszuwerten. Für diese Unterfangen wird der % Befehl \cs{tud@multiple@@split} definiert. Dessen obligatorisches Argument % ist dabei das Feld mit dem auszuwertenden Inhalt. % % Dafür müssen für jedes so auszuwertende Feld zum einen zum Zeitpunkt der % Ausgabe das entsprechende Makro \cs{tud@split\meta{Feld}} und zum anderen % eine Liste der auszuwertenden lokalen Angaben \cs{tud@split\meta{Feld}@list} % definiert sein. Momentan werden die beiden Felder \cs{@author} und~-- für die % Klasse \cls{tudscrposter} sowie das Paket Pakete \pkg{tudscrsupervisor}~-- % \cs{@contactperson} zur Angabe zusätzlicher Informationen unterstützt. % \begin{macrocode} \newcommand*\tud@multiple@@split{} \newcommand*\tud@multiple@split[1]{% % \end{macrocode} % Sollte ein Feld verwendet werden, welches initial eine Fehlermeldung enthält, % so die vorhandene Warnung ausgegeben und danach das Feld als leer definiert. % \begin{macrocode} \expandafter\ifpatchable\expandafter{\csname#1\endcsname}{% \@latex@warning@no@line% }{% \csuse{#1}\csgdef{#1}{}% }{}% % \end{macrocode} % Das Makro \cs{tud@multiple@@split} wird so definiert, dass der Befehl % \cs{and} als Separator für die einzelnen Argumente dient. Mit den beiden % freigestellten Argumenten kann das Makro zur eigentlichen Ausgabe aufgerufen % werden, welches aus dem obligatorischen Argument |#1| konstruiert wird % (\cs{tud@split\meta{Feld}}). An dieses wird der jeweils aktuelle Autor % im ersten Argument und die restlichen im zweiten Argument übergeben. % \begin{macrocode} \def\tud@multiple@@split##1\and##2\relax{% \expandafter\csname tud@split#1@do\endcsname{##1}{##2}% }% \begingroup% \let\and\relax% \let\newline\@empty% \let\\\@empty% % \end{macrocode} % Das Feld wird mit \cs{and} terminiert, um der Definition von % \cs{tud@multiple@@split} in jedem Fall zu entsprechen. % \begin{macrocode} \edef\@tempa{\csname#1\endcsname\and}% \expandafter\endgroup% \expandafter\tud@multiple@@split\@tempa\relax% } % \end{macrocode} % Der Befehl \cs{tud@multiple@@@split} prüft zum Schluss, ob noch weitere % Autoren angegeben sind. Sollte dies der Fall sein, so wird der Inhalt des % zweiten Argumentes ausgeführt und \cs{tud@multiple@@split} ein weiteres Mal % aufgerufen, um so sequentiell alle Autoren abzuarbeiten. Dafür muss % \cs{tud@multiple@@@split} innerhalb des verarbeitenden Makro % (\cs{tud@split\meta{Feld}}) aufgerufen werden. % \begin{macrocode} \newcommand*\tud@multiple@@@split[2]{% \ifx\relax#1\relax% \let\@tempb\relax% \else% \def\@tempb{#2\tud@multiple@@split#1\relax}% \fi% \@tempb% } % \end{macrocode} % \end{macro}^^A \tud@multiple@@@split % \end{macro}^^A \tud@multiple@@split % \end{macro}^^A \tud@multiple@split % \begin{macro}{\tud@multiple@fields@store} % \changes{v2.04}{2015/05/12}{neu}^^A % \begin{macro}{\tud@multiple@fields@restore} % \changes{v2.04}{2015/05/12}{neu}^^A % Mit \cs{tud@multiple@fields@store} und \cs{tud@multiple@fields@restore} % werden Hilfsmakros definiert, um einzelne Feldinhalte lokal ändern und nach % der Verarbeitung auf den ursprünglichen Wert zurücksetzen zu können. % % Nach der Sicherung der globalen Feldinhalte wird der übergebene Teilinhalt % des zweiten Argumentes mit \cs{sbox}\cs{z@}\marg{\#2} in eine Box expandiert. % Der Teilinhalt entspricht dabei dem aktuellen Teil des Feldes vor dem % nächsten \cs{and}. Damit werden die ggf. angegebenen lokalen Felder gesetzt, % welche in \cs{tud@split\meta{Feld}@list} aufgelistet sind ohne eine Ausgabe % zu erzeugen. % \begin{macrocode} \newcommand*\tud@multiple@fields@store[2]{% \def\@tempa##1{\ifcsdef{@##1}{\tud@cs@store{@##1}}{}}% \letcs\@tempb{tud@split#1@list}% \let\and\relax% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% \sbox\z@{#2}% \endgroup% } % \end{macrocode} % Nach dem Verarbeiten und der Ausgabe der lokalen Felder werden die zuvor % bestehenden Feldwerte zurückgesetzt. % \begin{macrocode} \newcommand*\tud@multiple@fields@restore[1]{% \def\@tempa##1{% \ifcsdef{@##1}{% \tud@cs@restore{@##1}% \global\csletcs{@##1}{@##1}% }{}% }% \letcs\@tempb{tud@split#1@list}% \let\and\relax% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% } % \end{macrocode} % \end{macro}^^A \tud@multiple@fields@restore % \end{macro}^^A \tud@multiple@fields@store % \begin{macro}{\tud@multiple@fields@preset} % \changes{v2.04}{2015/05/12}{neu}^^A % Mit diesem Makro wird es möglich, die Inhalte bestimmter Felder aus einer % definierten Liste \cs{tud@split\meta{Feld}@list} auf Standardwerte zu setzen. % \begin{macrocode} \newcommand*\tud@multiple@fields@preset[3]{% \def\@tempa##1{% \edef\@tempc{\csuse{##1}}% \ifstr{#2}{*}{% \csdef{@##1}{}% }{% \begingroup% \protected@expandtwoargs\in@{\@tempc}{\csuse{#1}}% \ifin@% \ifcsvoid{@##1}{\@tempc{#2}}{}% \fi% \endgroup% }% }% \letcs\@tempb{tud@split#1@list}% \let\and\relax% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% \sbox\z@{#3}% \endgroup% } % \end{macrocode} % \end{macro}^^A \tud@multiple@fields@preset % % \iffalse % % \fi % % Auf der Titelseite sowie für die Aufgabenstellung (\pkg{tudscrsupervisor}) % und den Seitenfuß von Postern (\cls{tudscrposter}) wird die Angabe einer % kollaborativen Autorenschaft ermöglicht, wo für jeden einzelnen Autor weitere % Angaben (Matrikelnummer etc.) gemacht werden können. Hierfür werden die % folgenden Makros bereitgestellt. % \begin{macro}{\tud@split@author@do} % \changes{v2.02}{2014/07/25}{neu, aus Umbenennung \cs{tud@split@@author}}^^A % \begin{macro}{\tud@split@author@list} % \changes{v2.02}{2014/07/25}{neu, Umbenennung \cs{tud@split@@author@list}}^^A % \begin{macro}{\tud@split@contactperson@do} % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{macro}{\tud@split@contactperson@list} % \changes{v2.05}{2015/07/06}{neu}^^A % Die beiden Makros \cs{tud@split@author@do} und \cs{tud@split@contactperson@do} % werden zunächst jeweils als Dummy initialisiert und an den entsprechenden % Stellen umdefiniert. Dies betrifft den Titel, die Aufgabenstellung und den % Aushang in den Umgebungen \env{task} und \env{notice} sowie den Seitenfuß bei % Postern. Im Makro \cs{tud@split@author@list} werden alle Felder hinterlegt, % die durch \cs{tud@multiple@fields@\dots} geprüft und ggf. initialisiert % werden sollen. % % Für die Angabe mehrerer Kontaktpersonen im Posterfuß (\cls{tudscrposter}) % oder auf einem Aushang (\pkg{tudscrsupervisor}) wird äquivalent verfahren. % \begin{macrocode} %<*class> \newcommand*\tud@split@author@do[2]{} %<*book|report|article> \newcommand*\tud@split@author@list{% authormore,course,discipline,emailaddress,% matriculationyear,enrolmentyear,% matriculationnumber,studentid,matriculationid,% placeofbirth,birthplace,dateofbirth,birthday,% } % % \end{macrocode} % Der Befehl \cs{tud@split@author@list} für die Klasse \cls{tudscrposter}. % \begin{macrocode} %<*poster> \newcommand*\tud@split@author@list{% authormore,course,discipline,emailaddress,office,telephone,telefax% } % % %<*class&poster|package&supervisor> \newcommand*\tud@split@contactperson@do[2]{} \newcommand*\tud@split@contactperson@list{emailaddress,office,telephone,telefax} % % \end{macrocode} % Damit ist der Teil für das Paket \pkg{tudscrsupervisor} abgeschlossen, wo % bei der Verwendung von \cls{tudscrposter} die vorhergenden Befehle nicht % definiert werden, beendet. % \begin{macrocode} %<*package&supervisor> \fi % % \end{macrocode} % \end{macro}^^A \tud@split@contactperson@list % \end{macro}^^A \tud@split@contactperson@do % \end{macro}^^A \tud@split@author@list % \end{macro}^^A \tud@split@author@do % % \iffalse % % \fi % % \Finale % \endinput