summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx')
-rw-r--r--macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx171
1 files changed, 79 insertions, 92 deletions
diff --git a/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx b/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
index db5b85bd59..af2aa82be2 100644
--- a/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
+++ b/macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx
@@ -1,10 +1,10 @@
-% \CheckSum{600}
% \iffalse meta-comment
+%/GitFileInfo=tudscr-supervisor.dtx
%
% TUD-Script -- Corporate Design of Technische Universität Dresden
% ----------------------------------------------------------------------------
%
-% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2021
+% Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2012-2022
%
% ----------------------------------------------------------------------------
%
@@ -23,44 +23,19 @@
%
% \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-supervisor.dtx
-%<*dtx>
-% \fi
-%
-\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
-\ProvidesFile{tudscr-supervisor.dtx}[2019/08/20 v2.06c TUD-Script\space%
-%
-% \iffalse
-%</dtx>
-%<package>\ProvidesPackage{tudscrsupervisor}[%
-%<*package>
-%!TUD@Version
-%</package>
-%<package> package
-%<*dtx|package>
-% \fi
- (commands for supervisors)%
-]
-% \iffalse
-%</dtx|package>
+% \iffalse ins:batch + dtx:driver
+%<*ins>
+\ifx\documentclass\undefined
+ \input docstrip.tex
+ \ifToplevel{\batchinput{tudscr.ins}}
+\else
+ \let\endbatchfile\relax
+\fi
+\endbatchfile
+%</ins>
%<*dtx>
+\ProvidesFile{tudscr-supervisor.dtx}[2022/08/09]
+\RequirePackage{tudscr-gitinfo}
\documentclass[english,ngerman,xindy]{tudscrdoc}
\iftutex
\usepackage{fontspec}
@@ -70,18 +45,11 @@
\fi
\usepackage{babel}
\usepackage{tudscrfonts}
-\KOMAoptions{parskip=half-}
-\usepackage{bookmark}
\usepackage[babel]{microtype}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{tudscr-supervisor.dtx}
-\title{\file{\filename}}
-\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}}
-\date{\fileversion\nobreakspace(\filedate)}
-
+\GitHubBase{\TUDScriptRepository}
\begin{document}
+ \author{Falk Hanisch\TUDScriptContactTitle}
\maketitle
\tableofcontents
\DocInput{\filename}
@@ -91,18 +59,28 @@
%
% \selectlanguage{ngerman}
%
-% \section{%
-% Das Paket \pkg{tudscrsupervisor} -- Betreuung wissenschaftlicher Arbeiten%
+%
+%
+% \section{^^A
+% Das Paket \pkg{tudscrsupervisor} -- Betreuung wissenschaftlicher Arbeiten^^A
% }
%
% Diese Paket stellt für die \TUDScript-Klassen mehrere Umgebungen und Befehle
% zur Erstellung der Aufgabenstellung einer Abschlussarbeit sowie eines
% Gutachtens und eines Aushangs bereit.
%
-% \StopEventually{\PrintIndex\PrintChanges\PrintToDos}
+% \begin{macrocode}
+%<*package&identify>
+\ProvidesPackage{tudscrsupervisor}[%
+%!TUD@Version
+ package (commands for supervisors)%
+]
+\TUD@Class@Check{tudscrsupervisor}
+%</package&identify>
+% \end{macrocode}
%
% \iffalse
-%<*package>
+%<*package&body>
% \fi
%
% \begin{macro}{\tud@multiple@fields@output}
@@ -112,6 +90,9 @@
% Diesen beiden Makros dienen dazu, unterschiedliche Varianten für die Ausgabe
% innerhalb der nachfolgenden Umgebungen generieren zu können. Momentan werden
% diese nur innerhalb der \env{task}-Umgebung verwendet.
+% \ToDo{
+% Definition von \cs{tud@multiple@fields@style} mit \cs{FamilyNumericalKey}
+% }[v2.07]
% \begin{macrocode}
\newcommand*\tud@multiple@fields@output{}
\newcommand*\tud@multiple@fields@style{table}
@@ -126,12 +107,12 @@
% \end{macro}^^A \student
% \begin{macro}{\tud@authortable@set}
% \changes{v2.01b}{2014/06/04}{Probleme mit Paket \pkg{calc} behoben}^^A
-% \begin{length}{\tud@len@authortable}
+% \begin{length}{\tud@dim@authortable}
% Der Befehl \cs{tud@authortable@set} dient bei Aufgabenstellung und Gutachten
% zur Ausgabe einer Tabelle mit Informationen zum Autor beziehungsweise zu den
% Autoren.\footnote{Matrikelnummer, Jahrgang, Studiengang etc.}
% \begin{macrocode}
-\newlength\tud@len@authortable
+\tud@newdim\tud@dim@authortable
\newcommand*\tud@authortable@set{%
\begingroup%
\let\thanks\@gobble%
@@ -148,19 +129,17 @@
% \begin{macrocode}
\tud@multiple@split{@author}%
\tud@multiple@fields@preset{@author}{\null}{}%
- \setlength\tud@len@authortable{2em}%
+ \tud@setdim\tud@dim@authortable{2em}%
% \end{macrocode}
% Anschließend werden die Bezeichner sowohl der obligatorischen als auch der
% genutzten, optionalen Felder in \cs{@tempa} gespeichert. Mit der Liste wird
-% der längste Bezeichner bestimmt und dessen Länge in \cs{tud@len@authortable}
+% der längste Bezeichner bestimmt und dessen Länge in \cs{tud@dim@authortable}
% gespeichert.
% \begin{macrocode}
\def\@tempb##1{%
- \expandafter\ifx\csname @##1\endcsname\@empty\else%
- \expandafter\appto\expandafter\@tempa\expandafter{%
- \expandafter,\csname ##1name\endcsname%
- }%
- \fi%
+ \tud@if@strempty{\csname @##1\endcsname}{}{%
+ \eappto\@tempa{,\expandafter\noexpand\csname ##1name\endcsname}%
+ }%
}%
\def\@tempa{%
\namesname,\titlename,\issuedatetext,\duedatetext,\supervisorname%
@@ -174,11 +153,11 @@
\@tempb{discipline}%
\@for\@tempb:=\@tempa\do{%
\settowidth\@tempdima{\@tempb\tud@title@delimiter}%
- \ifdim\@tempdima>\tud@len@authortable\relax%
- \setlength\tud@len@authortable{\@tempdima}%
+ \ifdim\@tempdima>\tud@dim@authortable\relax%
+ \tud@setdim\tud@dim@authortable{\@tempdima}%
\fi%
}%
- \global\tud@len@authortable=\tud@len@authortable%
+ \global\tud@dim@authortable=\tud@dim@authortable%
% \end{macrocode}
% Die Tabelle mit den benötigten Bezeichnern. Damit diese bis an den Seiterand
% ohne Warnungen gesetzt werden können, wird die Auszeichnung von Absatzenden
@@ -186,7 +165,7 @@
% \begin{macrocode}
\begingroup%
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
- \begin{tabular}{@{}p{\tud@len@authortable}}%
+ \begin{tabular}{@{}p{\tud@dim@authortable}}%
\ifx\@course\@empty\else%
\coursename\tud@title@delimiter\tabularnewline%
\fi%
@@ -203,9 +182,9 @@
\end{tabular}%
% \end{macrocode}
% Der Befehl \cs{tud@split@author@do} wird innerhalb der \TUDScript-Klassen zur
-% formatierten Ausgabe mehrerer Autoren auf der Titelseite verwendet, welche
-% durch \cs{author}\marg{Autor(en)} angegeben und mit \cs{and} getrennt wurden.
-% Er wird hier auf die Ausgabe der Autoren mit den jeweils zusätzlich gegebenen
+% formatierten Ausgabe mehrerer Autoren auf der Titelseite genutzt, welche mit
+% \cs{author}\marg{Autor(en)} angegeben und mit \cs{and} getrennt wurden. Er
+% wird hier auf die Ausgabe der Autoren mit den jeweils zusätzlich gegebenen
% Informationen in einer Tabelle angepasst.
% \begin{macrocode}
\renewcommand*\tud@split@author@do[2]{%
@@ -252,8 +231,8 @@
% Danach wird der Inhalt der Aufgabenstellung gesetzt.
% \begin{macrocode}
\vskip\smallskipamount%
- \begin{tabular}{@{}p{\tud@len@authortable}%
- p{\dimexpr\textwidth-\tud@len@authortable-2\tabcolsep\relax}@{}}%
+ \begin{tabular}{@{}p{\tud@dim@authortable}%
+ p{\dimexpr\textwidth-\tabcolsep*2-\tud@dim@authortable\relax}@{}}%
\titlename\tud@title@delimiter & \tud@RaggedRight\textsf{\textbf{\@@title}}%
\end{tabular}%
\par%
@@ -263,8 +242,14 @@
\noindent\ignorespaces%
}
% \end{macrocode}
-% \end{length}^^A \tud@len@authortable
+% \end{length}^^A \tud@dim@authortable
% \end{macro}^^A \tud@authortable@set
+% \begin{field}{\@headline}
+% Hier wird der Inhalt des Parametes \prm{headline} hinein geschrieben.
+% \begin{macrocode}
+\newcommand*\@headline{}
+% \end{macrocode}
+% \end{field}^^A \@headline
%
% \subsection{Aufgabenstellung}
%
@@ -284,17 +269,18 @@
% \end{macrocode}
% Die \env{tudpage}-Umgebung wird geöffnet. Mit dem Parameter \opt{headline}
% kann die standardmäßige Überschrift überschrieben werden.
+% \ToDo{style=table/inline mit \cs{FamilyNumericalKey}}[v2.07]
% \begin{macrocode}
\cleardoubleoddpage%
\let\@headline\@empty%
\TUD@parameter@family{tudpage}{%
- \TUD@parameter@def{headline}{\def\@headline{##1}}%
+ \TUD@parameter@def{headline}{\tud@trim@field\@headline{##1}}%
\TUD@parameter@let{heading}{headline}%
\TUD@parameter@let{line}{headline}%
\TUD@parameter@def{style}{\def\tud@multiple@fields@style{##1}}%
\TUD@parameter@handler@default{headline}%
}%
- \tudpage[pagestyle=empty,#1]%
+ \tudpage[{pagestyle=empty,#1}]%
% \end{macrocode}
% Zu Beginn wird als erstes die Überschrift und~-- die entsprechende Option
% vorausgesetzt~-- im PDF einen Lesezeichen- oder auch Outline-Eintrag gesetzt.
@@ -317,10 +303,10 @@
% oberen Teil.
% \begin{macrocode}
\def\tud@multiple@fields@output##1{%
- \ifstr{\tud@multiple@fields@style}{table}{%
+ \tud@if@strequal{\tud@multiple@fields@style}{table}{%
\def\and{%
\tabularnewline%
- \ifstr{\csuse{##1othername}}{}{}{%
+ \tud@if@strempty{\csuse{##1othername}}{}{%
\csuse{##1othername}\tud@title@delimiter%
}%
& \def\and{\tabularnewline &}%
@@ -334,13 +320,13 @@
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi\medskip%
\begingroup%
\setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative%
- \begin{tabular}{@{}p{\tud@len@authortable}l@{}}%
+ \begin{tabular}{@{}p{\tud@dim@authortable}l@{}}%
\ifx\@referee\@empty\else%
\refereename\tud@title@delimiter & %
- \tud@multiple@fields@output{referee}\tabularnewline[\smallskipamount]%
+ \tud@multiple@fields@output{referee}\tabularnewline[1\smallskipamount]%
\fi%
\supervisorname\tud@title@delimiter & %
- \tud@multiple@fields@output{supervisor}\tabularnewline[\smallskipamount]%
+ \tud@multiple@fields@output{supervisor}\tabularnewline[1\smallskipamount]%
\issuedatetext\tud@title@delimiter & \@issuedate\tabularnewline%
\duedatetext\tud@title@delimiter & \@duedate\tabularnewline%
\end{tabular}%
@@ -350,7 +336,7 @@
% in einer Tabelle ausgegeben. Die \env{tudpage}-Umgebung wird beendet, und
% eine neue (rechte) Seite geöffnet.
% \begin{macrocode}
- \vskip\tud@len@signatureskip\noindent%
+ \vskip\tud@glue@signaturevskip\noindent%
\ifx\@chairman\@empty\else%
\begin{tabular}{@{}l@{}}%
\@chairman\tabularnewline%
@@ -379,9 +365,10 @@
% Dies soll die Standardform einer Aufgabenstellung sein. Im ersten Argument
% werden kurz die Ziele motiviert und erläutert, im zweiten Argument werden im
% besten Fall die Schwerpunkte in einer \env{itemize}-Umgebung aufgeschlüsselt.
+% \ToDo{optionales Argument zum Schluss für nachfolgenden Text}[v2.07]
% \begin{macrocode}
\newcommand\taskform[3][]{%
- \begin{task}[#1]%
+ \begin{task}[{#1}]%
\ifblank{#2}{}{\minisec{\objectivesname}\smallskip#2}%
\ifblank{#3}{}{%
\minisec{\focusname}\smallskip%
@@ -417,13 +404,13 @@
\cleardoubleoddpage%
\let\@headline\@empty%
\TUD@parameter@family{tudpage}{%
- \TUD@parameter@def{headline}{\def\@headline{##1}}%
+ \TUD@parameter@def{headline}{\tud@trim@field\@headline{##1}}%
\TUD@parameter@let{heading}{headline}%
\TUD@parameter@let{line}{headline}%
\TUD@parameter@def{grade}{\def\@grade{##1}}%
\TUD@parameter@handler@default{headline}%
}%
- \tudpage[pagestyle=empty,#1]%
+ \tudpage[{pagestyle=empty,#1}]%
\tudbookmark{\evaluationname}{evaluation}%
\subsection*{%
\ifx\@headline\@empty%
@@ -440,17 +427,17 @@
% \begin{macrocode}
\removelastskip%
\ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi%
- \setlength\@tempskipa{\smallskipamount}%
+ \tud@setglue\@tempskipa{\smallskipamount}%
\ifx\@grade\@empty\else%
\vskip\@tempskipa\noindent%
\gradetext%
- \setlength\@tempskipa{\bigskipamount}%
+ \tud@setglue\@tempskipa{\bigskipamount}%
\fi%
\ifx\@date\@empty\else%
\vskip\@tempskipa\noindent%
\ifx\@place\@empty\else\@place,\nobreakspace\fi\@date%
\fi%
- \vskip\tud@len@signatureskip\noindent%
+ \vskip\tud@glue@signaturevskip\noindent%
% \end{macrocode}
% Der Befehl \cs{and} wird für einen möglichen Zweitgutachter angepasst. Das
% Hilfsmakro \cs{@tempa} dient zur Übernahme des richtigen Bezeichners für
@@ -489,7 +476,7 @@
% erfolgt die Bewertung, das letzte Argument beinhaltet die Note.
% \begin{macrocode}
\newcommand\evaluationform[5][]{%
- \begin{evaluation}[#1]%
+ \begin{evaluation}[{#1}]%
\ifblank{#2}{}{\minisec{\taskname}\smallskip#2}%
\ifblank{#3}{}{\minisec{\contentname}\smallskip#3}%
\ifblank{#4}{}{\minisec{\assessmentname}\smallskip#4}%
@@ -515,7 +502,7 @@
\cleardoubleoddpage%
\def\@headline{\noticename}%
\TUD@parameter@family{tudpage}{%
- \TUD@parameter@def{headline}{\def\@headline{##1}}%
+ \TUD@parameter@def{headline}{\tud@trim@field\@headline{##1}}%
\TUD@parameter@let{heading}{headline}%
\TUD@parameter@let{line}{headline}%
\TUD@parameter@handler@default{headline}%
@@ -524,7 +511,7 @@
% Es wird zu Beginn das angegebene Datum oben auf der rechten Seite ausgegeben.
% Anschließend wird die Überschrift und der gegebene Titel gesetzt.
% \begin{macrocode}
- \tudpage[pagestyle=empty,cdhead=date,#1]%
+ \tudpage[{pagestyle=empty,cdhead=date,#1}]%
\tudbookmark{\noticename}{notice}%
\ifx\@headline\@empty\else%
\section*{\@headline}%
@@ -544,10 +531,10 @@
\tud@multiple@fields@preset{@contactperson}{}{##1}%
\begin{tabular}[t]{@{}l@{}}%
\ignorespaces##1\tabularnewline%
+ \ifx\@emailaddress\@empty\else\@emailaddress\tabularnewline\fi%
\ifx\@office\@empty\else\@office\tabularnewline\fi%
\ifx\@telephone\@empty\else\@telephone\tabularnewline\fi%
\ifx\@telefax\@empty\else\@telefax\tabularnewline\fi%
- \ifx\@emailaddress\@empty\else\@emailaddress\tabularnewline\fi%
\end{tabular}%
\tud@multiple@fields@restore{@contactperson}%
\tud@multiple@@@split{##2}{\hfill}%
@@ -569,7 +556,7 @@
% werden die Arbeitsschwerpunkte beschrieben.
% \begin{macrocode}
\newcommand\noticeform[3][]{%
- \begin{notice}[#1]%
+ \begin{notice}[{#1}]%
\ifblank{#2}{}{%
\ifx\@@title\@empty\else%
\minisec{\expandonce{\@@title}}\medskip%
@@ -588,9 +575,9 @@
% \end{macro}^^A \noticeform
%
% \iffalse
-%</package>
+%</package&body>
% \fi
%
-% \Finale
+% \PrintBackMatter
%
\endinput