summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx')
-rw-r--r--Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx614
1 files changed, 363 insertions, 251 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx
index cfcf56e9cd2..97910cf9f10 100644
--- a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx
+++ b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{758}
+% \CheckSum{809}
% \iffalse meta-comment
%
% ============================================================================
@@ -18,13 +18,13 @@
%
% ----------------------------------------------------------------------------
%
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
-% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
-% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
-% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
-% oder spaeter 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.
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz
+% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle
+% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und
+% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01
+% oder spaeter 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.
%
% ============================================================================
%
@@ -51,15 +51,17 @@
%<*driver>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{tudscr-frontmatter.dtx}[%
- 2015/06/12 v2.04 TUD-KOMA-Script (frontmatter)%
+ 2016/07/20 v2.05 TUD-KOMA-Script (frontmatter)%
]
\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst}
-\documentclass[english,ngerman]{tudscrdoc}
+\documentclass[english,ngerman,xindy]{tudscrdoc}
\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{tudscrfonts} % only load this package, if the fonts are installed
\KOMAoptions{parskip=half-}
+\usepackage{microtype}
+\usepackage{bookmark}
\CodelineIndex
\RecordChanges
\GetFileInfo{tudscr-frontmatter.dtx}
@@ -72,20 +74,23 @@
%
% \selectlanguage{ngerman}
%
-% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}^^A
+% \changes{v2.02}{2014/07/08}{\cs{FamilyKeyState} wird von Optionen genutzt}^^A
+% \changes{v2.05}{2015/07/07}{Umgebung \env{abstract} für Poster}^^A
%
% \section{Befehle und Umgebungen für den Vorspann}
%
-% Im Vorspann des Dokumentes kann der Benutzer eine Zusammenfassung angegeben.
-% Außerdem kann eine Selbstständigkeitserklärung sowie ein Sperrvermerk
-% hinzugefügt werden. Damit für diese das Layout möglichst individuell gewählt
-% werden kann, werden hier entsprechende Optionen und die dafür notwendige
-% Ausgabe definiert. Im weiteren Verlauf der Dokumentation wird der Begriff
-% \enquote{Erklärung} für die unterschiedlichen Elemente verwendet. Die
-% verwendeten Schalter und Befehle zum Setzen der Optionen heißen entweder
-% \cs{tud@abstract@\dots} oder aber \cs{tud@declaration@\dots} je nach Element.
+% Im Vorspann des Dokumentes kann der Benutzer eine Zusammenfassung oder auch
+% Kurzfassung angegeben. Des Weiteren kann eine Selbstständigkeitserklärung
+% sowie ein Sperrvermerk hinzugefügt werden. Damit sich für diese das Layout
+% möglichst individuell wählen lässt, werden hier entsprechende Optionen und
+% die dafür notwendige Ausgabe definiert. Im weiteren Verlauf der Dokumentation
+% werden die Begriffe \enquote{Zusammenfassung}, \enquote{Kurzfassung} sowie
+% \enquote{Erklärung} für die unterschiedlichen Elemente als gleichwertige
+% Synonyme verwendet. Die Schalter und Befehle zum Setzen der Optionen heißen
+% entweder \cs{tud@abstract@\dots} oder aber \cs{tud@declaration@\dots} je nach
+% Element.
%
-% \StopEventually{\PrintIndex\PrintChanges}
+% \StopEventually{\PrintIndex\PrintChanges\PrintToDos}
%
% \iffalse
%<*class&body>
@@ -102,17 +107,18 @@
% Das Makro \cs{tud@fm@set} wird zur erstmaligen Verwendung in jedem Fall auf
% die Definition von \cs{tud@fm@first} gesetzt.
% \begin{macrocode}
+%<*book|report|article>
\global\let\tud@fm@set\tud@fm@first%
% \end{macrocode}
% Danach erfolgt ggf. die Prüfung der resultierenden Seitenhöhe.
% \begin{macrocode}
- \ifnumless{\@nameuse{tud@#1@level}}{3}{% false/true/section
+ \ifnumless{\csuse{tud@#1@level@num}}{3}{% false/true/section
\ifboolexpr{%
bool {@titlepage} and bool {@tud@#1@fil} and bool {@tud@#1@multi}%
}{%
\sbox\z@{\vbox{#2}}%
\ifdim\textheight<\dimexpr\ht\z@+\dp\z@\relax%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
The given content within the `#1'\MessageBreak%
environment is too large, so it wasn't possible\MessageBreak%
to center the body vertically. Setting the option\MessageBreak%
@@ -137,7 +143,7 @@
% Zum Schluss wird ggf. der gesammelte Eintrag im Inhaltsverzeichnis erstellt.
% Danach wird das übergebene Argument ausgeführt.
% \begin{macrocode}
- \ifnum\@nameuse{tud@#1@toc}>\tw@\relax%
+ \ifnum\csuse{tud@#1@toc@num}>\tw@\relax%
\tud@fm@toc{#1}{#2}%
\fi%
% \end{macrocode}
@@ -145,11 +151,17 @@
% \cs{tud@fm@next} innerhalb von \cs{tud@fm@first}~-- abermals auf die
% Definition von \cs{tud@fm@first} gesetzt.
% \begin{macrocode}
+%</book|report|article>
\global\let\tud@fm@set\tud@fm@first%
#2%
}
% \end{macrocode}
% \end{macro}^^A \tud@fm@check
+%
+% \iffalse
+%<*book|report|article>
+% \fi
+%
% \begin{macro}{\tud@fm@toc}
% \changes{v2.04}{2015/03/20}{neu}^^A
% \begin{macro}{\tud@fm@@toc}
@@ -177,7 +189,7 @@
\sbox\z@{\vbox{#2}}%
\protected@edef\@tempa{%
\noexpand\endgroup%
- \noexpand\ifnumodd{\csname tud@#1@toc\endcsname}{%
+ \noexpand\ifnumodd{\csname tud@#1@toc@num\endcsname}{%
%<*book|report>
\noexpand\addchaptertocentry{}{\tud@fm@@toc}%
%</book|report>
@@ -195,7 +207,7 @@
}%
\@tempa%
}{%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
It isn't possible to use `#1=single'\MessageBreak%
%<*book|report>
or `#1=chapter'
@@ -203,8 +215,8 @@
with `#1=tocmultiple'%
}%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@#1@toc}{%
- \the\numexpr\@nameuse{tud@#1@toc}-2\relax%
+ \noexpand\cs@set@lock{tud@#1@toc@num}{%
+ \the\numexpr\csuse{tud@#1@toc@num}-2\relax%
}%
}%
\@tempa%
@@ -214,6 +226,11 @@
% \end{macro}^^A \tud@fm@@@toc
% \end{macro}^^A \tud@fm@@toc
% \end{macro}^^A \tud@fm@toc
+%
+% \iffalse
+%</book|report|article>
+% \fi
+%
% \begin{macro}{\tud@fm@set}
% \changes{v2.02}{2014/07/18}{Neuimplementierung für \pkg{scrlayer-scrpage}}^^A
% \changes{v2.04}{2015/03/20}{Reimplementierung}^^A
@@ -222,29 +239,25 @@
% \begin{macro}{\tud@fm@next}
% \changes{v2.02}{2014/07/19}{neu}^^A
% \changes{v2.04}{2015/03/20}{Reimplementierung}^^A
+% \changes{v2.05}{2015/07/14}{Bugfix bei vertikaler Zentrierung}^^A
% Mit diesen Makros werden bei der Ausgabe der einzelnen Erklärungen alle
% relevanten Optionen%
% \footnote{%
% \opt{titlepage}, \opt{twocolumn}, \opt{abstract/declaration=multiple},
% \opt{abstract/declaration=fill}%
-% }
-% ausgewertet und die notwendigen vertikalen Abstände diesen entsprechend
+% } ausgewertet und die notwendigen vertikalen Abstände diesen entsprechend
% gesetzt. Dabei wird durch jede Zusammenfassung bzw. Erklärung \cs{tud@fm@set}
% über \cs{tud@fm@body@start} verwendet. Der Inhalt der beiden Umgebungen
% \env{abstract} und \env{descriptions} wird mit \cs{tud@fm@check} ausgegeben.
-% Das Makro \cs{tud@fm@check} setzt die Definition von \cs{tud@fm@set} auf
-% \cs{let}\cs{tud@fm@set}\cs{tud@fm@first}. Bei der erstmaligen Verwendung von
-% \cs{tud@fm@first} wird diese auf \cs{let}\cs{tud@fm@set}\cs{tud@fm@next}
-% geändert.
% \begin{macrocode}
\newcommand\tud@fm@set[1]{}
\newcommand\tud@fm@first[1]{%
- \global\let\tud@fm@set\tud@fm@next%
% \end{macrocode}
% Im Zweispaltensatz wird der Inhalt der Umgebung einfach ausgegeben, eine
% vertikale Zentrierung findet nicht statt. Beim einspaltigen Satz wird die
% \opt{titlepage}-Option beachtet.
% \begin{macrocode}
+%<*book|report|article>
\if@twocolumn\else%
% \end{macrocode}
% Sollte diese aktiv sein, wird jede Erklärung oder Zusammenfassung abhängig
@@ -253,15 +266,16 @@
% diese ggf. vertikal auf der Seite ausgerichtet.
% \begin{macrocode}
\if@titlepage%
- \ifbool{@tud@#1@fil}{%
- \null\vfil%
- \ifnum\@nameuse{tud@#1@level}=\tw@\relax% section
- \vspace{\dimexpr-\parskip-\baselineskip\relax}%
- {\usekomafont{section}{\vspace{-\baselineskip}}}%
- \fi%
- }{}%
+ \ifbool{@tud@#1@fil}{\null\vfil}{}%
\fi%
\fi%
+%</book|report|article>
+% \end{macrocode}
+% Das Makro \cs{tud@fm@check} setzt die Definition von \cs{tud@fm@set} auf
+% \cs{tud@fm@first}. Bei der erstmaligen Verwendung von \cs{tud@fm@first} wird
+% diese auf \cs{tud@fm@next} geändert.
+% \begin{macrocode}
+ \global\let\tud@fm@set\tud@fm@next%
}
% \end{macrocode}
% Bei der abermaligen Verwendung des Makros \cs{tud@fm@set} in der gleichen
@@ -274,7 +288,8 @@
% begonnen.
% \begin{macrocode}
\if@twocolumn%
- \ifbool{@tud@#1@multi}{\par}{\newpage}%
+%<book|report|article> \ifbool{@tud@#1@multi}{\par}{\newpage}%
+%<poster> \par%
\else%
% \end{macrocode}
% Wird eine Titelseite verwendet, wird jede Erklärung oder Zusammenfassung
@@ -282,22 +297,26 @@
% auf eine neue Seite gesetzt, oder aber auf der aktuellen ausgegeben. Dabei
% werden diese ggf. vertikal auf der Seite ausgerichtet.
% \begin{macrocode}
+%<*book|report|article>
\if@titlepage%
\ifbool{@tud@#1@multi}{%
\ifbool{@tud@#1@fil}{\vfil}{}%
}{%
- \ifbool{@tud@#1@fil}{\null\clearpage\null\vfil}{\clearpage}%
+ \ifbool{@tud@#1@fil}{\vfil\null\clearpage\null\vfil}{\clearpage}%
}%
+ \else%
+%</book|report|article>
% \end{macrocode}
% Werden weder Titelseite noch Überschriften verwendet, so führt die Auswahl
% einer Sprache mit \cs{selectlanguage} zu einem zusätzlichen vertikalen
% Abstand. Dieser wird hiermit negiert.
% \begin{macrocode}
- \else%
- \ifnum\@nameuse{tud@#1@level}=\z@%
- \ifdef{\main@language}{\vspace*{-\baselineskip}}{}%
+ \ifnum\csuse{tud@#1@level@num}=\z@\relax%
+ \ifundef{\main@language}{}{\vspace*{-\baselineskip}}%
\fi%
+%<*book|report|article>
\fi%
+%</book|report|article>
\fi%
}
% \end{macrocode}
@@ -308,9 +327,6 @@
% \changes{v2.04}{2015/03/20}{neu}^^A
% \begin{macro}{\tud@fm@body@end}
% \changes{v2.04}{2015/03/20}{neu}^^A
-% \begin{macro}{\tud@fm@body}
-% \changes{v2.04}{2015/03/20}{entfernt}^^A
-% \begin{length}{\multicolsep}
% Das Makro \cs{tud@fm@body@start} setzt erst alle übergebenen Parameter für
% die aktuelle Umgebung. Anschließend werden alle notwendigen vertikalen
% Abstände mit \cs{tud@fm@set} eingefügt und ggf. notwendige Umgebungen
@@ -330,7 +346,9 @@
% Makro \cs{tud@quoting} gespeichert.
% \begin{macrocode}
\if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\begin{\tud@quoting}\fi% false/true
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \begin{\tud@quoting}%
+ \fi%
\fi\fi%
% \end{macrocode}
% Sollte das Paket \pkg{multicol} Verwendung finden, wird die entsprechende
@@ -339,9 +357,9 @@
% Gliederungsebene der Überschrift und die dazugehörigen Abstände setzt. Daher
% wird die Länge \cs{multicolsep} auf Null gesetzt.
% \begin{macrocode}
- \ifnum\tud@multicols>\@ne\relax%
- \setlength\multicolsep{\z@}%
- \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#3}}]%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
+ \vspace{-\multicolsep}%
+ \begin{multicols}{\tud@x@multicol@num}[{\tud@fm@head{#1}{#3}}]%
\else%
% \end{macrocode}
% Ansonsten wird lediglich die Überschrift der Zusammenfassung oder Erklärung
@@ -355,19 +373,20 @@
% geöffneten Umgebungen wieder geschlossen.
% \begin{macrocode}
\newcommand*\tud@fm@body@end[1]{%
- \ifnum\tud@multicols>\@ne\relax%
+ \ifnum\tud@x@multicol@num>\@ne\relax%
\end{multicols}%
+ \vspace{-\multicolsep}%
\else%
\par%
\fi%
\if@twocolumn\else\if@titlepage\else\relax%
- \ifnum\@nameuse{tud@#1@level}<\tw@\end{\tud@quoting}\par\fi% false/true
+ \ifnum\csuse{tud@#1@level@num}<\tw@\relax% false/true
+ \end{\tud@quoting}\par%
+ \fi%
\fi\fi%
\endgroup%
}
% \end{macrocode}
-% \end{length}^^A \multicolsep
-% \end{macro}^^A \tud@fm@body
% \end{macro}^^A \tud@fm@body@end
% \end{macro}^^A \tud@fm@body@start
% \begin{macro}{\tud@fm@head}
@@ -376,14 +395,14 @@
% \changes{v2.02}{2014/11/05}{Bugfix Kolumnentitel und Inhaltsverzeichnis}^^A
% \changes{v2.04}{2015/04/21}{Abstände nur, wenn keine Zitatumgebung aktiv}^^A
% Dieses Makro dient zur Ausgabe der Erklärungsüberschrift auf der gewünschten
-% Gliederungsebene. Die gewählte Ebene ist in \cs{tud@\meta{Typ}@level}
+% Gliederungsebene. Die gewählte Ebene ist in \cs{tud@\meta{Typ}@level@num}
% gespeichert. Verwendet wird das Makro folgendermaßen:
% \cs{tud@fm@head}\marg{Erklärungstyp}\marg{Überschrift}. Damit
% die ggf. aktive Option \opt{abstract/declaration=toc} funktionieren kann,
% wird für die Level, in denen keine Standardüberschrift verwendet wird, mit
% dem Befehl \cs{phantomsection} aus dem Paket \pkg{hyperref}~-- wenn es
% tatsächlich geladen wurde~-- ein Anker für einen Hyperlink erzeugt. Ist
-% \cs{if@tud@\meta{Typ}@toc} wahr, so entspricht der erzeugte Eintrag ins
+% \cs{tud@\meta{Typ}@toc@num} ungerade, so entspricht der erzeugte Eintrag ins
% Inhaltsverzeichnis für \cls{tudscrartcl} normalerweise dem eines Abschnitts,
% der für \cls{tudscrbook} und \cls{tudscrreprt} dem eines Kapitels.%
% \footnote{sonst sieht das Inhaltsverzeichnis recht bescheiden aus}
@@ -391,9 +410,9 @@
% reduziert werden.
% \begin{macrocode}
\newcommand*\tud@fm@head[2]{%
- \ifcase\@nameuse{tud@#1@level}\relax% false
+ \ifcase\csuse{tud@#1@level@num}\relax% false
\if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
+ \csuse{phantomsection}%
\ifstr{\@currenvir}{\tud@quoting}{}{%
\if@twocolumn%
\vskip\dimexpr\smallskipamount-\parskip\relax%
@@ -403,7 +422,7 @@
}%
\or% true
\if@titlepage\endgraf\fi%
- \csname phantomsection\endcsname%
+ \csuse{phantomsection}%
\@afterindentfalse%
\ifstr{\@currenvir}{\tud@quoting}{}{%
\vskip\dimexpr\bigskipamount-\parskip\relax%
@@ -419,38 +438,43 @@
\@afterheading%
\or% section
\section*{#2}%
+%<*book|report|article>
\ifx\@mkboth\@gobbletwo\else\markright{\MakeMarkcase{#2}}\fi%
%<*book|report>
\or% chapter
\chapter*{#2}%
\@mkdouble{\MakeMarkcase{#2}}%
%</book|report>
+%</book|report|article>
\fi%
+%<*book|report|article>
\ifbool{@tud@#1@markboth}{%
\markboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}%
}{}%
- \ifnum\@nameuse{tud@#1@toc}>\z@\relax%
- \ifnum\@nameuse{tud@#1@toc}<\thr@@\relax%
- \ifnumodd{\csname tud@#1@toc\endcsname}{%
+ \ifcase\csuse{tud@#1@toc@num}\relax\or% totoc
%<*book|report>
- \addchaptertocentry{}{#2}%
+ \addchaptertocentry{}{#2}%
%</book|report>
%<*article>
- \addsectiontocentry{}{#2}%
+ \addsectiontocentry{}{#2}%
%</article>
- }{%
+ \or% totocleveldown
%<*book|report>
- \addsectiontocentry{}{#2}%
+ \addsectiontocentry{}{#2}%
%</book|report>
%<*article>
- \addsubsectiontocentry{}{#2}%
+ \addsubsectiontocentry{}{#2}%
%</article>
- }%
- \fi%
\fi%
+%</book|report|article>%
}
% \end{macrocode}
% \end{macro}^^A \tud@fm@head
+%
+% \iffalse
+%<*book|report|article>
+% \fi
+%
% \begin{macro}{\tud@fm@pagestyle}
% \changes{v2.02}{2014/07/19}{neu}^^A
% Dieser Befehl sorgt für die Auswahl des Seitenstiles über die Parameter von
@@ -458,14 +482,14 @@
% \begin{macrocode}
\newcommand*\tud@fm@pagestyle[2]{%
\if@titlepage%
- \ifcsdef{ps@#2}{\def\tud@ps{#2}}{%
- \ClassError{\TUDClassName}{`#2' is no valid pagestyle}{%
+ \ifcsundef{ps@#2}{%
+ \ClassError{\TUD@Class@Name}{`#2' is no valid pagestyle}{%
You tried to use `#2' as a pagestyle for the\MessageBreak%
`#1' environment, but it was never defined.%
}%
- }%
+ }{\def\tud@envir@ps{#2}}%
\else%
- \ClassWarning{\TUDClassName}{%
+ \ClassWarning{\TUD@Class@Name}{%
%<*article>
The key `pagestyle' can only be used with\MessageBreak%
activated option `titlepage'%
@@ -480,21 +504,12 @@
}
% \end{macrocode}
% \end{macro}^^A \tud@fm@pagestyle
-% \begin{macro}{\tud@fm@level@wrn}
-% \changes{v2.02}{2014/07/19}{entfernt}^^A
-% \begin{macro}{\tud@fm@option@wrn}
-% \changes{v2.02}{2014/07/19}{entfernt}^^A
-% \begin{macro}{\tud@fm@multi@wrn}
-% \changes{v2.02}{2014/07/19}{entfernt}^^A
-% Die Befehle für die Warnungen an den Benutzer bei nicht beachteten oder nicht
-% umsetzbaren Einstellungen wurden mit der Version~v2.02 entfernt, da Sie als
-% wenig sinnvoll erachtet wurden.
-% \end{macro}^^A \tud@fm@multi@wrn
-% \end{macro}^^A \tud@fm@option@wrn
-% \end{macro}^^A \tud@fm@level@wrn
+%
+% \iffalse
+%</book|report|article>
+% \fi
+%
% \begin{macro}{\tud@quoting}
-% \begin{macro}{\tud@endquoting}
-% \changes{v2.02}{2014/07/19}{entfernt}^^A
% Mit diesem Befehl kann das empfehlenswerte Paket \pkg{quoting} unterstützt
% werden. Sollte dieses geladen werden, wird für das Setzen der Zusammenfassung
% bei einem Titelkopf die \env{quoting}-Umgebung genutzt.
@@ -502,7 +517,6 @@
\newcommand*\tud@quoting{quotation}
\AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}}
% \end{macrocode}
-% \end{macro}^^A \tud@endquoting
% \end{macro}^^A \tud@quoting
%
% \iffalse
@@ -528,13 +542,14 @@
% \begin{macrocode}
\newcommand*\tud@fm@switch{%
{section}{2},{sect}{2},{sec}{2},{addsec}{2},%
-%<*article>
+%<*article|poster>
{new}{2},{standard}{2},{heading}{2},%
-%</article>
+%</article|poster>
%<*book|report>
{chapter}{3},{chap}{3},{addchap}{3},%
{new}{3},{standard}{3},{heading}{3},%
%</book|report>
+%<*book|report|article>
{single}{4},{one}{4},{simple}{4},%
{multiple}{5},{multi}{5},{all}{5},{aggregate}{5},%
{two}{5},{both}{5},{double}{5},%
@@ -547,6 +562,7 @@
{totocleveldown}{12},{tocleveldown}{12},{leveldown}{12},%
{tocmultiple}{13},{tocmulti}{13},{tocall}{13},{tocaggregate}{13},%
{totocmultiple}{13},{totocmulti}{13},{totocall}{13},{totocaggregate}{13}%
+%</book|report|article>
}
% \end{macrocode}
% \end{macro}^^A \tud@fm@switch
@@ -556,12 +572,12 @@
% Die \env{abstract}-Umgebung wird um mehrere Optionen erweitert. So kann
% in den neuen \cls{tudscr}-Klassen die Sprache der Zusammenfassung leicht
% eingestellt und auch zwei Zusammenfassungen auf eine Seite gesetzt werden.
-% \begin{macro}{\tud@abstract@level}
-% \begin{macro}{\tud@abstract@toc}
+% \begin{macro}{\tud@abstract@level@num}
+% \begin{macro}{\tud@abstract@toc@num}
% \changes{v2.04}{2015/04/24}{neu}^^A
-% \begin{macro}{\tud@abstract@toc@locked}
+% \begin{macro}{\tud@abstract@toc@num@locked}
% \changes{v2.04}{2015/04/24}{neu}^^A
-% Der Befehl \cs{tud@abstract@level} beschreibt die Gliederungsebene der
+% Der Befehl \cs{tud@abstract@level@num} beschreibt die Gliederungsebene der
% Überschrift der Zusammenfassung numerisch und wird über die Schlüssel der
% Option \opt{abstract} gesetzt. Über \opt{abstract=toc/notoc} wird festgelegt,
% ob die Zusammenfassung einen eigenen Eintrag ins Inhaltsverzeichnis bekommt.
@@ -572,30 +588,35 @@
% standardmäßig eine Überschrift in Form eines Kapitels mit Eintrag ins
% Inhaltsverzeichnis gesetzt.
%
-% Mit \cs{tud@abstract@toc} wird die Gestalt des Inhaltsverzeichniseintrag
+% Mit \cs{tud@abstract@toc@num} wird die Gestalt des Inhaltsverzeichniseintrag
% festgelegt. Folgende Werte sind möglich:
% \begin{description}
% \item[0] kein Eintrag ins Inhaltverzeichnis
% \item[1] Individuelle Einträge auf der obersten Gliederungsebene
-% \item[2] Ein gesammelter Eintrag auf der obersten Gliederungsebene
-% \item[3] Individuelle Einträge auf der zweithöchsten Gliederungsebene
+% \item[2] Individuelle Einträge auf der zweithöchsten Gliederungsebene
+% \item[3] Ein gesammelter Eintrag auf der obersten Gliederungsebene
% \item[4] Ein gesammelter Eintrag auf der zweithöchsten Gliederungsebene
% \end{description}
% Die oberste Gliederungsebene ist \cs{chapter} für \cls{tudscrbook} und
% \cls{tudscrreprt} sowie \cs{section} für \cls{tudscrartcl}.
% \begin{macrocode}
-%<*report|article>
-\newcommand*\tud@abstract@level{0}
-\cs@lock{tud@abstract@toc}{0}
-%</report|article>
+%<*report|article|poster>
+\newcommand*\tud@abstract@level@num{0}
+%<report|article>\cs@lock{tud@abstract@toc@num}{0}
+%</report|article|poster>
%<*book>
-\newcommand*\tud@abstract@level{3}
-\cs@lock{tud@abstract@toc}{1}
+\newcommand*\tud@abstract@level@num{3}
+\cs@lock{tud@abstract@toc@num}{1}
%</book>
% \end{macrocode}
-% \end{macro}^^A \tud@abstract@toc@locked
-% \end{macro}^^A \tud@abstract@toc
-% \end{macro}^^A \tud@abstract@level
+% \end{macro}^^A \tud@abstract@toc@num@locked
+% \end{macro}^^A \tud@abstract@toc@num
+% \end{macro}^^A \tud@abstract@level@num
+%
+% \iffalse
+%<*book|report|article>
+% \fi
+%
% \begin{macro}{\if@tud@abstract@multi}
% Is dieser Schalter aktiviert, wird eine durch \cs{nextabstract} angegebene
% zweite~-- wahrscheinlich in einer Fremdsprache verfasste~-- Zusammenfassung
@@ -623,16 +644,21 @@
\newif\if@tud@abstract@markboth
% \end{macrocode}
% \end{macro}^^A \if@tud@abstract@markboth
+%
+% \iffalse
+%</book|report|article>
+% \fi
+%
% \begin{option}{abstract}
% Alle Klassen unterstützen die Werte, welche in \cs{tud@fm@switch} definiert
-% wurden. Die beiden Klassen \cls{tudscrartcl} und\ cls{tudscrreprt} adaptieren
+% wurden. Die beiden Klassen \cls{tudscrartcl} und \cls{tudscrreprt} adaptieren
% außerdem das aus \KOMAScript{} bekannte Verhalten über die booleschen Werte
% aus \cs{TUD@numkey@bool}.
% \begin{macrocode}
-%<*report|article>
+%<*report|article|poster>
\TUD@key{abstract}[true]{%
\edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}%
-%</report|article>
+%</report|article|poster>
%<*book>
\TUD@key{abstract}[chapter]{%
\edef\@tempb{\tud@fm@switch}%
@@ -645,29 +671,32 @@
% \begin{macrocode}
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
-%<*report|article>
- \def\tud@abstract@level{0}%
- \cs@std@lock{tud@abstract@toc}{0}%
-%</report|article>
+%<*report|article|poster>
+ \renewcommand*\tud@abstract@level@num{0}%
+%<report|article> \cs@std@lock{tud@abstract@toc@num}{0}%
+%</report|article|poster>
\or% true
-%<*report|article>
- \def\tud@abstract@level{1}%
- \cs@std@lock{tud@abstract@toc}{0}%
-%</report|article>
+%<*report|article|poster>
+ \renewcommand*\tud@abstract@level@num{1}%
+%<report|article> \cs@std@lock{tud@abstract@toc@num}{0}%
+%</report|article|poster>
\or% section
- \def\tud@abstract@level{2}%
- \cs@std@lock{tud@abstract@toc}{1}%
+ \renewcommand*\tud@abstract@level@num{2}%
+%<*book|report|article>
+ \cs@std@lock{tud@abstract@toc@num}{1}%
\or% chapter
%<*book|report>
- \def\tud@abstract@level{3}%
- \cs@std@lock{tud@abstract@toc}{1}%
+ \renewcommand*\tud@abstract@level@num{3}%
+ \cs@std@lock{tud@abstract@toc@num}{1}%
%</book|report>
+%</book|report|article>
% \end{macrocode}
% Neben den Einstellungen für die Art der Gliederungsebene der Überschrift für
% die Zusammenfassung können außerdem noch die Optionen gesetzt werden, ob
% versucht werden soll, eine mögliche Zusammenfassung in einer anderen Sprache
% auf die gleiche Seite wie die erste zu setzen (\opt{abstract=multi}).
% \begin{macrocode}
+%<*book|report|article>
\or% single
\@tud@abstract@multifalse%
\or% multiple
@@ -682,37 +711,47 @@
\@tud@abstract@markbothfalse%
% \end{macrocode}
% Bei den Einstellungen für das Inhaltsverzeichnis werden die unterschiedlichen
-% Möglichkeiten im Makro \cs{tud@abstract@toc} zusammengefasst.
+% Möglichkeiten im Makro \cs{tud@abstract@toc@num} zusammengefasst.
% \begin{macrocode}
\or% nottotoc
- \cs@set@lock{tud@abstract@toc}{0}%
+ \cs@set@lock{tud@abstract@toc@num}{0}%
\or% totoc
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\else%
- \cs@set@lock{tud@abstract@toc}{3}%
+ \cs@set@lock{tud@abstract@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@abstract@toc<\thr@@\relax%
- \cs@set@lock{tud@abstract@toc}{2}%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{2}%
\else%
- \cs@set@lock{tud@abstract@toc}{4}%
+ \cs@set@lock{tud@abstract@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@abstract@toc=\z@\relax%
- \cs@set@lock{tud@abstract@toc}{1}%
+ \ifnum\tud@abstract@toc@num=\z@\relax%
+ \cs@set@lock{tud@abstract@toc@num}{1}%
\fi%
- \ifnum\tud@abstract@toc<\thr@@\relax%
+ \ifnum\tud@abstract@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@abstract@toc}{%
- \the\numexpr\tud@abstract@toc+2\relax%
+ \noexpand\cs@set@lock{tud@abstract@toc@num}{%
+ \the\numexpr\tud@abstract@toc@num+2\relax%
}%
}\@tempa%
\fi%
+%</book|report|article>
\fi%
\fi%
}
% \end{macrocode}
+% Damit der Anwender die erweiterten Einstellungen für die Zusammenfassung auch
+% wie gewohnt über \cs{KOMAoptions} setzen kann, wird die entsprechende Option
+% ebenfalls definiert.
+% \begin{macrocode}
+\DefineFamilyMember{KOMA}
+\DefineFamilyKey{KOMA}{abstract}[true]{%
+ \AtEndOfFamilyOptions{\TUDoptions{abstract=#1}}%
+}
+% \end{macrocode}
% \end{option}^^A abstract
%
% \iffalse
@@ -733,20 +772,22 @@
% Inhalt der Umgebung selbst mit dem Befehl \cs{BODY} zuzugreifen. Dieser
% Mechanismus wird innerhalb von \cs{tud@abstractbody} verwendet.
% \begin{macrocode}
-%<*report|article>
+%<*report|article|poster>
\csundef{abstract}
\csundef{endabstract}
-%</report|article>
+%</report|article|poster>
\NewEnviron{abstract}[1][]{%
% \end{macrocode}
% Sollten Überschriften in Form von Kapiteln gewählt worden sein, so wird
% temporär die \opt{titlepage}-Option aktivert, da alle weiteren notwendigen
% Einstellungen dieser entsprechen. Über den Parameter \opt{pagestyle} kann bei
% der Verwendung einer Titelseite der Seitenstil definiert werden. Dafür wird
-% das dafür verantwortliche Makro \cs{tud@ps} auf \cs{relax} gesetzt.
+% das dafür verantwortliche Makro \cs{tud@envir@ps} auf \cs{relax} gesetzt.
% \begin{macrocode}
- \ifnum\@nameuse{tud@abstract@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
+%<*book|report|article>
+ \ifnum\tud@abstract@level@num>\tw@\relax\@titlepagetrue\fi% chapter
+ \let\tud@envir@ps\relax%
+%</book|report|article>
% \end{macrocode}
% Als nächstes werden die Optionen verarbeitet. Sollte nach Abarbeitung der
% Optionen für \env{abstract} festgestellt werden, dass eine spezielle
@@ -755,19 +796,27 @@
% der Spalten ignoriert und eine Warnung ausgegeben.
% \begin{macrocode}
\TUD@parameter@set{abstract}{#1}%
- \tud@multicols@check%
+ \tud@x@multicol@check%
% \end{macrocode}
% Bei aktiver \opt{titlepage}-Option wird anschließend der aktuelle Seitenstil
% gesichert, um diesen nach der Umgebung wiederherstellen zu können. Wurde über
% die möglichen Parameter \opt{pagestyle} oder indirekt mit \opt{markboth} kein
% Seitenstil definiert, so wird dieser auf \val{empty} gesetzt.
% \begin{macrocode}
+%<*book|report|article>
\if@titlepage%
\tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
\clearpage%
- \tud@ps@select%
+ \tud@envir@selectps%
\fi%
+%</book|report|article>
% \end{macrocode}
% Mit dem Befehl \cs{nextabstract} können einzelne Abschnitte innerhalb einer
% Zusammenfassung getrennt werden.
@@ -787,11 +836,19 @@
% eingefügt.
% \begin{macrocode}
}[%
+%<*book|report|article>
\if@titlepage%
\if@tud@abstract@fil\vfil\null\fi%
\aftergroup\tud@currentpagestyle@reset%
\clearpage%
+ \else%
+%</book|report|article>
+ \ifnum\tud@abstract@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
+%<*book|report|article>
\fi%
+%</book|report|article>
]
% \end{macrocode}
% \begin{parameter}{language}
@@ -805,35 +862,37 @@
% Als Schlüssel für die \env{abstract}-Umgebung können Sprache, Anzahl der
% Spalten oder auch die zur Umgebung gehörigen Klassenoptionen angegeben werden.
% \begin{macrocode}
-\TUD@parameter{abstract}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
+\TUD@parameter@family{abstract}{%
+ \TUD@parameter@def{language}{\selectlanguage{#1}}%
+ \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+%<*book|report|article>
+ \TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}%
% \end{macrocode}
% Für das Setzen von Kolumnentiteln wird der Seitenstil auf \val{headings}
% gesetzt, falls kein anderer mit \opt{pagestyle} angegeben wurde.
% \begin{macrocode}
- \TUD@parameter@define{markboth}[true]{%
+ \TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
\@tud@abstract@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
}{%
\@tud@abstract@markbothfalse%
}{%
\@tud@abstract@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
\manualmark\markboth{#1}{#1}%
}%
}%
- \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}%
+%</book|report|article>
+ \TUD@parameter@def{abstract}{\TUDoption{abstract}{#1}}%
\TUD@parameter@let{option}{abstract}%
% \end{macrocode}
% Für die Optionsangabe ohne Schlüssel und Wert kann eine Anzahl an Spalten
% oder eine alternative Sprache angegeben werden. Für die Auswertung des
-% Argumentes verantwortlich ist der Befehl \cs{TUD@parameter@defaulthandler},
+% Argumentes verantwortlich ist der Befehl \cs{TUD@parameter@handler@default},
% welcher auch von der Umgebung \env{tudpage} verwendet wird.
% \begin{macrocode}
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}%
+ \TUD@parameter@handler@default{}%
}
% \end{macrocode}
% \end{parameter}^^A option
@@ -846,7 +905,7 @@
% verwenden.
% \begin{macrocode}
\newcommand*\nextabstract[1][]{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextabstract'}{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextabstract'}{%
The command `\string\nextabstract' can only be used within\MessageBreak%
the environment `abstract'.%
}%
@@ -857,6 +916,7 @@
%
% \iffalse
%</class&body>
+%<*book|report|article>
%<*class&option>
% \fi
%
@@ -865,10 +925,10 @@
% Die Befehle für Selbstständigkeitserklärung und Sperrvermerk werden
% äquivalent zur \env{abstract}-Umgebung mit den gleichen Optionen
% ausgestattet.
-% \begin{macro}{\tud@declaration@level}
-% \begin{macro}{\tud@declaration@toc}
+% \begin{macro}{\tud@declaration@level@num}
+% \begin{macro}{\tud@declaration@toc@num}
% \changes{v2.04}{2015/04/24}{neu}^^A
-% \begin{macro}{\tud@declaration@toc@locked}
+% \begin{macro}{\tud@declaration@toc@num@locked}
% \changes{v2.04}{2015/04/24}{neu}^^A
% \begin{macro}{\if@tud@declaration@multi}
% \begin{macro}{\if@tud@declaration@fil}
@@ -877,12 +937,12 @@
% Siehe die Option \opt{abstract}.
% \begin{macrocode}
%<*report|article>
-\newcommand*\tud@declaration@level{1}
-\cs@lock{tud@declaration@toc}{0}
+\newcommand*\tud@declaration@level@num{1}
+\cs@lock{tud@declaration@toc@num}{0}
%</report|article>
%<*book>
-\newcommand*\tud@declaration@level{3}
-\cs@lock{tud@declaration@toc}{1}
+\newcommand*\tud@declaration@level@num{3}
+\cs@lock{tud@declaration@toc@num}{1}
%</book>
\newif\if@tud@declaration@multi
\@tud@declaration@multitrue
@@ -893,9 +953,9 @@
% \end{macro}^^A \if@tud@declaration@markboth
% \end{macro}^^A \if@tud@declaration@fil
% \end{macro}^^A \if@tud@declaration@multi
-% \end{macro}^^A \tud@declaration@toc@locked
-% \end{macro}^^A \tud@declaration@toc
-% \end{macro}^^A \tud@declaration@level
+% \end{macro}^^A \tud@declaration@toc@num@locked
+% \end{macro}^^A \tud@declaration@toc@num
+% \end{macro}^^A \tud@declaration@level@num
% \begin{option}{declaration}
% Siehe die Option \opt{abstract}.
% \begin{macrocode}
@@ -909,18 +969,18 @@
\TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed%
\ifcase\@tempa\relax% false
- \def\tud@declaration@level{0}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{0}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% true
- \def\tud@declaration@level{1}%
- \cs@std@lock{tud@declaration@toc}{0}%
+ \renewcommand*\tud@declaration@level@num{1}%
+ \cs@std@lock{tud@declaration@toc@num}{0}%
\or% section
- \def\tud@declaration@level{2}%
- \cs@std@lock{tud@declaration@toc}{1}%
+ \renewcommand*\tud@declaration@level@num{2}%
+ \cs@std@lock{tud@declaration@toc@num}{1}%
\or% chapter
%<*book|report>
- \def\tud@declaration@level{3}%
- \cs@std@lock{tud@declaration@toc}{1}%
+ \renewcommand*\tud@declaration@level@num{3}%
+ \cs@std@lock{tud@declaration@toc@num}{1}%
%</book|report>
\or% single
\@tud@declaration@multifalse%
@@ -935,27 +995,27 @@
\or% nomarkboth
\@tud@declaration@markbothfalse%
\or% nottotoc
- \cs@set@lock{tud@declaration@toc}{0}%
+ \cs@set@lock{tud@declaration@toc@num}{0}%
\or% totoc
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\else%
- \cs@set@lock{tud@declaration@toc}{3}%
+ \cs@set@lock{tud@declaration@toc@num}{3}%
\fi%
\or% totocleveldown
- \ifnum\tud@declaration@toc<\thr@@\relax%
- \cs@set@lock{tud@declaration@toc}{2}%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{2}%
\else%
- \cs@set@lock{tud@declaration@toc}{4}%
+ \cs@set@lock{tud@declaration@toc@num}{4}%
\fi%
\or% totocmutliple
- \ifnum\tud@declaration@toc=\z@\relax%
- \cs@set@lock{tud@declaration@toc}{1}%
+ \ifnum\tud@declaration@toc@num=\z@\relax%
+ \cs@set@lock{tud@declaration@toc@num}{1}%
\fi%
- \ifnum\tud@declaration@toc<\thr@@\relax%
+ \ifnum\tud@declaration@toc@num<\thr@@\relax%
\edef\@tempa{%
- \noexpand\cs@set@lock{tud@declaration@toc}{%
- \the\numexpr\tud@declaration@toc+2\relax%
+ \noexpand\cs@set@lock{tud@declaration@toc@num}{%
+ \the\numexpr\tud@declaration@toc@num+2\relax%
}%
}\@tempa%
\fi%
@@ -985,23 +1045,42 @@
\newif\if@tud@declarations
\NewEnviron{declarations}[1][]{%
\@tud@declarationstrue%
- \ifnum\@nameuse{tud@declaration@level}>\tw@\relax\@titlepagetrue\fi% chapter
- \let\tud@ps\relax%
+ \ifnum\tud@declaration@level@num>\tw@\relax\@titlepagetrue\fi% chapter
+ \let\tud@envir@ps\relax%
\TUD@parameter@set{declaration}{#1}%
- \tud@multicols@check%
+ \tud@x@multicol@check%
\if@titlepage%
\tud@currentpagestyle@set%
- \ifx\tud@ps\relax\def\tud@ps{empty}\fi%
+ \ifx\tud@envir@ps\relax%
+ \tud@if@tudheadings{\currentpagestyle}{%
+ \def\tud@envir@ps{empty.tudheadings}%
+ }{%
+ \def\tud@envir@ps{empty}%
+ }%
+ \fi%
\clearpage%
- \tud@ps@select%
+ \tud@envir@selectps%
\fi%
% \end{macrocode}
-% Im Gegensatz zu \env{abstract} werden in der \env{declarations}-Umgebung alle
-% Erklärungen in einer \emph{geschlossenen} Variante verwendet, um diese mit
-% einzelnen nacheinander angeben zu gönnen. Jedes der möglichen Makros
+% Falls innerhalb der Erklärung durch den Anwender bestimmte Felder verwendet
+% werden, werden vorsichtshalber Befehle für die Titelei \enquote{entschärft}.
+% \begin{macrocode}
+ \def\and{, }%
+ \let\thanks\@gobble%
+% \end{macrocode}
+% Im Gegensatz zur \env{abstract}-Umgebung werden in der Umgebung
+% \env{declarations} alle Erklärungen als \emph{geschlossene} Variante genutzt,
+% um diese einzeln und nacheinander anzugeben. Jedes hierfür nutzbare Makro
% (\cs{declaration}, \cs{nextdeclaration}, \cs{blocking} und \cs{confirmation})
-% führt intern die beiden notwendigen Makros \cs{tud@fm@body@start} sowie
-% \cs{tud@fm@body@end} selbstständig aus.
+% kann so innerhalb der Umgebung verwendet werden und führt intern die beiden
+% Makros \cs{tud@fm@body@start} und \cs{tud@fm@body@end} selbstständig aus.
+% Alternativ dazu müsste relativ umständlich geprüft werden, ob der Aufruf von
+% \cs{tud@fm@body@start} bereits erfolgte \emph{und} danach auch schon Text
+% ausgegeben wurde. Einen Mehrwert bei der Nutzung hätte dies jedoch nicht
+% gehabt außer der äquivalenten Verwendung von \cs{nextdeclaration} und
+% \cs{nextabstract}, worauf der Einfachheit halber gerne verzichtet wurde,
+% insbesondere da die erwartete Nutzung des Befehls \cs{nextdeclaration} als
+% sehr gering einzustufen ist.
% \begin{macrocode}
\tud@fm@check{declaration}{\BODY}%
}[%
@@ -1009,6 +1088,10 @@
\if@tud@declaration@fil\vfil\null\fi%
\aftergroup\tud@currentpagestyle@reset%
\clearpage%
+ \else%
+ \ifnum\tud@declaration@level@num=\tw@\relax%
+ \vskip\dimexpr\bigskipamount-\parskip\relax%
+ \fi%
\fi%
]
% \end{macrocode}
@@ -1032,30 +1115,30 @@
% \opt{option} dienen zum Setzen der Werte, welche auch als Klassenoptionen
% gesetzt werden können.
% \begin{macrocode}
-\TUD@parameter{declaration}{%
- \TUD@parameter@define{language}{\selectlanguage{#1}}%
- \TUD@parameter@define{columns}{\cs@std@lock{tud@multicols}{#1}}%
- \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
- \TUD@parameter@define{markboth}[true]{%
+\TUD@parameter@family{declaration}{%
+ \TUD@parameter@def{language}{\selectlanguage{#1}}%
+ \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}%
+ \TUD@parameter@def{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}%
+ \TUD@parameter@def{markboth}[true]{%
\ifstrbool{#1}{%
\@tud@declaration@markbothtrue%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
}{%
\@tud@declaration@markbothfalse%
}{%
\@tud@declaration@markbothfalse%
- \ifx\tud@ps\relax\def\tud@ps{headings}\fi%
+ \ifx\tud@envir@ps\relax\def\tud@envir@ps{headings}\fi%
\manualmark\markboth{#1}{#1}%
}%
}%
- \TUD@parameter@define{company}{\def\@company{#1}}%
- \TUD@parameter@define{supporter}{\def\@supporter{#1}}%
- \TUD@parameter@define{place}{\def\@place{#1}}%
- \TUD@parameter@define{closing}{\def\@confirmationclosing{#1}}%
+ \TUD@parameter@def{company}{\def\@company{#1}}%
+ \TUD@parameter@def{supporter}{\def\@supporter{#1}}%
+ \TUD@parameter@def{place}{\def\@place{#1}}%
+ \TUD@parameter@def{closing}{\def\@confirmationclosing{#1}}%
\TUD@parameter@let{confirmationclosing}{closing}%
- \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}%
+ \TUD@parameter@def{declaration}{\TUDoption{declaration}{#1}}%
\TUD@parameter@let{option}{declaration}%
- \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}%
+ \TUD@parameter@handler@default{}%
}
% \end{macrocode}
% \end{parameter}^^A option
@@ -1068,25 +1151,46 @@
% \end{parameter}^^A pagestyle
% \end{parameter}^^A columns
% \end{parameter}^^A language
+% \begin{macro}{\tud@fm@supporter}
+% \changes{v2.05}{2015/10/27}{neu}^^A
+% Dies ist ein Hilfsmakro, um die Sternversionen der beiden Befehle
+% \cs{declaration} und \cs{confirmation} zu realisieren.
+% \begin{macrocode}
+\newcommand*\tud@fm@supporter{}
+% \end{macrocode}
+% \end{macro}^^A \tud@fm@supporter
% \begin{macro}{\declaration}
% \changes{v2.02}{2014/07/18}{Neuimplementierung für \pkg{scrlayer-scrpage}}^^A
% \changes{v2.03}{2015/01/30}{Bugfix für Spaltenanzahl}^^A
+% \changes{v2.05}{2015/10/27}{Sternversion für Betreuer als Unterstützer}^^A
+% \begin{macro}{\tud@fm@declaration}
+% \changes{v2.05}{2015/10/27}{neu}^^A
% \begin{macro}{\nextdeclaration}
% \changes{v2.04}{2015/03/20}{neu}^^A
% Dieser Befehl dient zur Ausgabe von sowohl Selbstständigkeitserklärung als
% auch Sperrvermerk. Über das optionale Argument kann ohne Schlüssel die
% gewünschte Sprache eingestellt werden. Zusätzlich können Optionen als
-% Schlüssel-Wert-Paare angegeben werden.
+% Schlüssel-Wert-Paare angegeben werden. Die Sternversion erzwingt die Ausgabe
+% der in \cs{@supporter} gespeicherten Betreuer als Unterstützer.
% \begin{macrocode}
-\newcommand*\declaration[1][]{%
+\newcommand*\declaration{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@declaration%
+ }{%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@declaration%
+ }%
+}
+\newcommand*\tud@fm@declaration[1][]{%
\ifbool{@tud@declarations}{%
\begingroup%
- \tud@fm@confirmation[#1]%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
\tud@fm@blocking[#1]%
\endgroup%
}{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
\tud@fm@blocking%
\end{declarations}%
}%
@@ -1100,11 +1204,11 @@
% \begin{macrocode}
\newcommand*\nextdeclaration[3][]{%
\ifbool{@tud@declarations}{%
- \tud@fm@body@start{declaration}{#1}{#2}
+ \tud@fm@body@start{declaration}{#1}{#2}%
#3%
\tud@fm@body@end{declaration}%
}{%
- \ClassError{\TUDClassName}{Incorrect usage of `\string\nextdeclaration'}{%
+ \ClassError{\TUD@Class@Name}{Incorrect usage of `\string\nextdeclaration'}{%
The command `\string\nextdeclaration' can only be used\MessageBreak%
within the environment `declarations'.%
}%
@@ -1112,49 +1216,58 @@
}
% \end{macrocode}
% \end{macro}^^A \nextdeclaration
+% \end{macro}^^A \tud@fm@declaration
% \end{macro}^^A \declaration
% \begin{macro}{\confirmation}
% \changes{v2.02}{2014/07/18}{Neuimplementierung für \pkg{scrlayer-scrpage}}^^A
% \changes{v2.03}{2015/01/30}{Bugfix für Spaltenanzahl}^^A
+% \changes{v2.05}{2015/10/27}{Sternversion für Betreuer als Unterstützer}^^A
% \begin{macro}{\tud@fm@confirmation}
+% \changes{v2.05}{2015/10/27}{neu}^^A
+% \begin{macro}{\tud@fm@@confirmation}
% \changes{v2.02}{2014/07/18}{neu}^^A
% Mit diesem Befehl kann die Selbstständigkeitserklärung ausgegeben werden. Das
% optionale Argument bestimmt, wer als Unterstützer angegeben wird. Außerdem
-% sind Schlüssel-Wert-Paare als Option nutzbar.
-% \begin{macrocode}
-\newcommand*\confirmation[1][]{%
-% \end{macrocode}
-% Damit das optionale Argument ohne Schlüssel für die Unterstützer verwendet
-% werden kann, wird der Handler umdefiniert.
+% sind Schlüssel-Wert-Paare als Option nutzbar. Mit der Sternversion werden die
+% mit \cs{supervisor} angegebenen Betreuer als Unterstützer genannt.
% \begin{macrocode}
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{supporter=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
- \tud@fm@confirmation[#1]%
- \endgroup%
+\newcommand*\confirmation{%
+ \kernel@ifstar{%
+ \def\tud@fm@supporter{supporter=\@supervisor}%
+ \tud@fm@confirmation%
}{%
- \begin{declarations}[#1]%
- \tud@fm@confirmation%
- \end{declarations}%
+ \def\tud@fm@supporter{supporter=\@supporter}%
+ \tud@fm@confirmation%
}%
+}
+\newcommand*\tud@fm@confirmation[1][]{%
% \end{macrocode}
-% Der Handler wird auf das ursprüngliche Verhalten zurückgesetzt.
+% Damit das optionale Argument ohne Schlüssel für die Unterstützer verwendet
+% werden kann, wird der Handler lokal umdefiniert. Außerdem werden irrelevante
+% Parameter undefiniert gesetzt.
% \begin{macrocode}
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
- }%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{supporter}%
+ \undef\KV@declaration@company%
+ \ifbool{@tud@declarations}{%
+ \tud@fm@@confirmation[\tud@fm@supporter,#1]%
+ }{%
+ \begin{declarations}[\tud@fm@supporter,#1]%
+ \tud@fm@@confirmation%
+ \end{declarations}%
+ }%
+ \endgroup%
}
% \end{macrocode}
% Dies ist der eigentliche Inhalt des Befehls \cs{confirmation}.
% \begin{macrocode}
-\newcommand*\tud@fm@confirmation[1][]{%
+\newcommand*\tud@fm@@confirmation[1][]{%
\tud@fm@body@start{declaration}{#1}{\confirmationname}%
\confirmationtext\vskip\z@\@confirmationclosing%
\tud@fm@body@end{declaration}%
}
% \end{macrocode}
+% \end{macro}^^A \tud@fm@@confirmation
% \end{macro}^^A \tud@fm@confirmation
% \end{macro}^^A \confirmation
% \begin{macro}{\blocking}
@@ -1167,21 +1280,19 @@
% optionale Argument ohne Schlüssel setzt hier die Firma für den Sperrvermerk.
% \begin{macrocode}
\newcommand*\blocking[1][]{%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@set{declaration}{company=##1}%
- }%
- \ifbool{@tud@declarations}{%
- \begingroup%
+ \begingroup%
+ \TUD@parameter@handler@default[declaration]{company}%
+ \undef\KV@declaration@supporter%
+ \undef\KV@declaration@closing%
+ \undef\KV@declaration@confirmationclosing%
+ \ifbool{@tud@declarations}{%
\tud@fm@blocking[#1]%
- \endgroup%
- }{%
- \begin{declarations}[#1]%
- \tud@fm@blocking%
- \end{declarations}%
- }%
- \TUD@parameter@sethandler[declaration]{%
- \TUD@parameter@defaulthandler{declaration}{##1}%
- }%
+ }{%
+ \begin{declarations}[#1]%
+ \tud@fm@blocking%
+ \end{declarations}%
+ }%
+ \endgroup%
}
% \end{macrocode}
% Dies ist der eigentliche Inhalt des Befehls \cs{blocking}.
@@ -1197,6 +1308,7 @@
%
% \iffalse
%</class&body>
+%</book|report|article>
% \fi
%
% \Finale