diff options
author | Karl Berry <karl@freefriends.org> | 2015-02-16 21:40:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-02-16 21:40:28 +0000 |
commit | 68695b0b7015bb233b4f5697ebdb9def46b9cb4a (patch) | |
tree | 94745a5ea3bedbf6b6904bf5cbb949151e8f41fd | |
parent | e016928e2bd0e7163bde478d7ab2419f49468c3c (diff) |
tudscr (16feb15)
git-svn-id: svn://tug.org/texlive/trunk@36296 c570f23f-e606-0410-a88d-b1316a301751
54 files changed, 11395 insertions, 7601 deletions
diff --git a/Master/texmf-dist/doc/latex/tudscr/LICENSE b/Master/texmf-dist/doc/latex/tudscr/LICENSE index 227e61450bc..2b19659f45c 100644 --- a/Master/texmf-dist/doc/latex/tudscr/LICENSE +++ b/Master/texmf-dist/doc/latex/tudscr/LICENSE @@ -1,7 +1,7 @@ ============================================================================ TUD-KOMA-Script - Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 + Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 ============================================================================ @@ -15,12 +15,12 @@ ---------------------------------------------------------------------------- - Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, - Version 1.3c, verteilt und/oder verändert werden. Die neuste Version - dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c - 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. + 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. ============================================================================ diff --git a/Master/texmf-dist/doc/latex/tudscr/README b/Master/texmf-dist/doc/latex/tudscr/README index 3a863e5998f..295470d8135 100644 --- a/Master/texmf-dist/doc/latex/tudscr/README +++ b/Master/texmf-dist/doc/latex/tudscr/README @@ -2,11 +2,11 @@ TUD-KOMA-Script =============== -TUD-KOMA-Script 2014/12/17 v2.02 -Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +TUD-KOMA-Script 2015/02/15 v2.03 +Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 -This material is subject to the LaTeX Project Public License. -See http://www.latex-project.org/lppl.txt for the details of that license. +This material is subject to the LaTeX Project Public License version 1.3c or +later. See http://www.latex-project.org/lppl.txt for details of that license. English text below @@ -18,11 +18,14 @@ Zusammenfassung Das TUD-KOMA-Script-Bundle stellt sowohl Klassen als auch Pakete bereit, um LaTeX-Dokumente im Corporate Design der Technischen Universität Dresden zu erstellen. Es basiert auf dem KOMA-Script-Bundle, welches zwingend vorhanden -sein muss. Außerdem sind die PostScript-Schriftfamilien Univers und DIN-Bold -erforderlich. Mitarbeiter und Studenten der Technischen Universität Dresden -können diese unter https://tu-dresden.de/service/publizieren/cd/4_latex vom -Universitätsmarketing mit dem Hinweis auf die Verwendung von LaTeX anfordern. +sein muss. Außerdem sollten die beiden PostScript-Schriftfamilien Univers und +DIN-Bold installiert werden. Geschieht dies nicht, können die Dokumentklassen +zwar genutzt werden, die ausgegebenen Dokumente entsprechen in diesem Fall +jedoch nicht dem ursprünglich erhofftem Stil. +Mitarbeiter und Studenten der Technischen Universität Dresden können die +Schriftdateien unter https://tu-dresden.de/service/publizieren/cd/4_latex vom +Universitätsmarketing mit dem Hinweis auf die Verwendung von LaTeX anfordern. Für die Installation der PostScript-Schriften sei auf den entsprechenden Release unter https://github.com/tud-cd/tudscr/releases/tag/fonts und das LaTeX-Forum der Technischen Universität Dresden verwiesen: @@ -51,6 +54,15 @@ Versionen --------- +**v2.03** (2015/02/15) + ++ Anpassungen an KOMA-Script v3.15 ++ Verbesserung des Satzspiegels für das Corporate Design ++ Kopf und Fuß können farbig dargestellt werden ++ Logos in der Fußzeile für Titel und dergleichen möglich ++ kleinere Fehlerkorrekturen + + **v2.02** (2014/12/17) + Paket `tudscrfonts` @@ -99,6 +111,7 @@ Versionen + erste Version des TUD-KOMA-Script-Bundles + ------------------------------------------------------------------------------- Summary @@ -107,14 +120,16 @@ Summary The TUD-KOMA-Script bundle provides both classes and packages in order to create LaTeX documents in the corporate design of the Technische Universität Dresden. It bases on the KOMA-Script bundle, which must necessarily be present. -In addition, the PostScript font families Univers and DIN-Bold are required. +In addition, the PostScript font families Univers and DIN-Bold should be +installed. Otherwise, the document classes can admittedly be used, but in this +case, the created documents do not correspond to the originally thought style. + Employees and students of the Technische Universität Dresden can request these fonts via https://tu-dresden.de/service/publizieren/cd/4_latex from the -university marketing university marketing with regard to the use of LaTeX. - -To install the PostScript fonts, please refer to the corresponding release -under https://github.com/tud-cd/tudscr/releases/tag/fonts and the LaTeX forum -of the Technische Universität Dresden: +university marketing university marketing with regard to the use of LaTeX. To +install the PostScript fonts, please refer to the corresponding release under +https://github.com/tud-cd/tudscr/releases/tag/fonts and the LaTeX forum of the +Technische Universität Dresden: http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php Classes and Packages @@ -139,6 +154,15 @@ Versions -------- +**v2.03** (2015/02/15) + ++ adjustments to KOMA-Script v3.15 ++ improvement of the corporate design type area ++ colored head and foot possible ++ including logos in the foot for the title etc. ++ a few little bux fixes + + **v2.02** (2014/12/17) + package `tudscrfonts` @@ -159,17 +183,17 @@ Versions **v2.01b** (2014/06/04) -+ Fixed bug when using task (tudscrsupervisor) ++ fixed bug when using task (tudscrsupervisor) **v2.01a** (2014/06/03) -+ Fixed bug when using the subtitle. ++ fixed bug when using the subtitle **v2.01** (2014/04/24) -+ Fixes the kerning of the digits and the font weight at the title page. ++ fixes the kerning of the digits and the font weight at the title page **v2.00** (2014/04/22) diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf b/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf Binary files differindex ede73513e1a..7325bd2166c 100644 --- a/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf +++ b/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscr_print.pdf b/Master/texmf-dist/doc/latex/tudscr/tudscr_print.pdf Binary files differindex ddcd0404246..8f14a10ddc3 100644 --- a/Master/texmf-dist/doc/latex/tudscr/tudscr_print.pdf +++ b/Master/texmf-dist/doc/latex/tudscr/tudscr_print.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscrsource.pdf b/Master/texmf-dist/doc/latex/tudscr/tudscrsource.pdf Binary files differindex a5d9097ccb1..ac26b13d7a7 100644 --- a/Master/texmf-dist/doc/latex/tudscr/tudscrsource.pdf +++ b/Master/texmf-dist/doc/latex/tudscr/tudscrsource.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tutorials/mathswap.pdf b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathswap.pdf Binary files differindex f19b0077e48..0857107a89d 100644 --- a/Master/texmf-dist/doc/latex/tudscr/tutorials/mathswap.pdf +++ b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathswap.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tutorials/mathtype.pdf b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathtype.pdf Binary files differindex 313e94257f0..4c91f812a0a 100644 --- a/Master/texmf-dist/doc/latex/tudscr/tutorials/mathtype.pdf +++ b/Master/texmf-dist/doc/latex/tudscr/tutorials/mathtype.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tutorials/treatise.pdf b/Master/texmf-dist/doc/latex/tudscr/tutorials/treatise.pdf Binary files differindex 0fa94a76a3b..cf729123454 100644 --- a/Master/texmf-dist/doc/latex/tudscr/tutorials/treatise.pdf +++ b/Master/texmf-dist/doc/latex/tudscr/tutorials/treatise.pdf diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex index 2fc21272109..a50c3f324ae 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex @@ -5,6 +5,7 @@ \end{abstract} } \chapter{Zusätzliche Pakete im \TUDScript-Bundle} +\label{sec:bundle} \section{Das Paket \Package{tudscrsupervisor} -- Studentische Betreuung} \begin{Declaration*}{\Package{tudscrsupervisor}} Dieses Paket stellt für das Erstellen von Aufgabenstellungen und Gutachten @@ -93,9 +94,8 @@ Die empfohlene Verwendung des Befehls \Macro{taskform} ist wie folgt: Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:exmpl:task} verwiesen. \end{Example} -\Rename[macros]{v2.02}{\Macro{branch}}{\Macro{discipline}} \begin{Declaration}{\Macro{course}\Parameter{Studiengang}} -\begin{Declaration}{\Macro{discipline}\Parameter{Studienrichtung}} +\begin{Declaration}[v2.02]{\Macro{discipline}\Parameter{Studienrichtung}} \printdeclarationlist% \index{Kollaboratives Schreiben}% % @@ -264,13 +264,10 @@ Die empfohlene Verwendung des Befehls \Macro{noticeform} ist wie folgt: Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:exmpl:notice} verwiesen. \end{Example} -\Rename[macros]{v2.02}{\Macro{contact}}{\Macro{contactperson}} -\Rename[macros]{v2.02}{\Macro{phone}}{\Macro{telephone}} -\Rename[macros]{v2.02}{\Macro{email}}{\Macro{emailaddress}} -\begin{Declaration}{\Macro{contactperson}\Parameter{Kontaktperson(en)}} +\begin{Declaration}[v2.02]{\Macro{contactperson}\Parameter{Kontaktperson(en)}} \begin{Declaration}{\Macro{office}\Parameter{Dienstsitz}} -\begin{Declaration}{\Macro{telephone}\Parameter{Telefonnummer}} -\begin{Declaration}{\Macro{emailaddress}\Parameter{E-Mail-Adresse}} +\begin{Declaration}[v2.02]{\Macro{telephone}\Parameter{Telefonnummer}} +\begin{Declaration}[v2.02]{\Macro{emailaddress}\Parameter{E-Mail-Adresse}} \printdeclarationlist% % Am Ende eines Aushangs können mit \Macro{contactperson} Kontaktinformationen @@ -312,11 +309,10 @@ um die Typisierung erweitert. Falls gewünscht, kann die automatisch generierte \end{Declaration} \end{Declaration} -\Rename[terms]{v2.02}{\Term{branchname}}{\Term{disciplinename}} \begin{Declaration}{\Term{authorname}} \begin{Declaration}{\Term{titlename}} \begin{Declaration}{\Term{coursename}} -\begin{Declaration}{\Term{disciplinename}} +\begin{Declaration}[v2.02]{\Term{disciplinename}} \printdeclarationlist% % Diese Bezeichner werden in der Tabelle mit den Autoreninformationen zu Beginn @@ -395,9 +391,8 @@ wird diese innerhalb von \Term{gradetext} verwendet. \TermTable*{gradetext}{.7\textwidth} \end{Declaration} -\Rename[terms]{v2.02}{\Term{contactname}}{\Term{contactpersonname}} \begin{Declaration}{\Term{noticename}} -\begin{Declaration}{\Term{contactpersonname}} +\begin{Declaration}[v2.02]{\Term{contactpersonname}} \printdeclarationlist% % Die Bezeichnung des Aushangs selbst ist in \Term{noticename} enthalten. Für @@ -541,16 +536,16 @@ beschriebenen Grundfarben \Color*{HKS41}, \Color*{HKS92}, \Color*{HKS44}, \Color*{HKS07}. Alle anderen farblichen Abstufungen können mit den beschrieben Möglichkeiten des Paketes \Package{xcolor} generiert werden. -\begin{Declaration}{\Option{full}} +\begin{Declaration}{\Option{oldcolors}} \printdeclarationlist% % In den letzten Jahren sind viele verschiedene Klassen und Pakete für das \CD der \TnUD entstanden. Innerhalb dieser existieren abweichende Farbdefinitionen. -Um eine Migration von anderen Klassen und Paketen auf \TUDScript zu -ermöglichen, existiert die Paketoption \Option{full}. Wird diese aktiviert, so -werden zusätzlich weitere Farben nach dem Schema \Color*{HKS41K}\PName{Zahl} -und \Color*{HKS41-}\PName{Zahl} bereitgestellt, wobei der hinten angestellte -Zahlenwert aus der 10er-Reihe kommen muss. +Um eine Migration von den benannten Klassen und Paketen auf \TUDScript zu +ermöglichen, existiert die Paketoption \Option{oldcolors}. Wird diese genutzt, +so werden zusätzliche Farben nach dem Schema \Color*{HKS41K}\PName{Zahl} und +\Color*{HKS41-}\PName{Zahl} definiert, wobei der hinten angestellte Zahlenwert +aus der 10er-Reihe kommen muss. \end{Declaration} @@ -602,8 +597,8 @@ Dieses Paket stellt die Schriften des \CDs für \hologo{LaTeXe}-Klassen bereit, welche \emph{nicht} zum \TUDScript-Bundle gehören. Das Paket unterstützt einen Großteil der in \fullref{sec:fonts} beschriebenen Optionen und Befehle. Die nutzbaren Paketoptionen sind für den Fließtext \Option{cdfont}~-- ohne die -Einstellungsmöglichkeiten für den Querbalken des \CDs (\Option{barfont})~-- und -für die mathematischen Schriften \Option{sansmath} sowie \Option{slantedgreek}. +Einstellungsmöglichkeiten für den Querbalken des \CDs (\Option{cdhead})~-- und +für die mathematischen Schriften \Option{cdmath} sowie \Option{slantedgreek}. Da von \Package{tudscrfonts} intern das Paket \Package{tudscrbase} geladen wird, können diese entweder als Paketoptionen im optionalen Argument von \Macro*{usepackage}\OParameter{Paketoption}\PParameter{\Package{tudscrfonts}} @@ -666,179 +661,6 @@ werden. -\section{Das Paket \Package{tudscrcomp} -- Kompatibilität alter Klassen} -\begin{Declaration*}{\Package{tudscrcomp}} -\index{Version!v1.0|(}% -\index{Kompatibilität!Version v1.0|(}% -\index{Kompatibilität!\Class{tudbook}|(}% -% -\noindent\Attention{% - Sollten Sie die \Class{tudbook}-Klasse oder \TUDScript in der Version~v1.0 - nie genutzt haben, können Sie dieses \autorefname ohne Weiteres überspringen. - Sämtliche hier vorgestellten Optionen und Befehle sind in der aktuellen - Version von \TUDScript obsolet. -} - -\bigskip\noindent -Zu Beginn der Entwicklung von \TUDScript bildete die Klasse \Class{tudbook} -die Basis. Ziel war es, sämtliche Funktionalitäten dieser beizubehalten und -zusätzlich den vollen Funktionsumfang der \KOMAScript-Klassen nutzbar zu -machen. Bei der kompletten Neuimplementierung der \TUDScript-Klassen wurde sehr -viel verändert und verbessert. Einige der Optionen und Befehle waren jedoch -bereits in der \TUDScript-Version~v1.0 Relikte, um die Kompatibilität zur -\Class{tudbook}-Klasse zu gewährleisten. Mit der Version~v2.00 wurden einige -aus Gründen der Konsistenz lediglich umbenannt, andere wiederum wurden -vollständig entfernt oder über neue Befehle und Optionen in ihrer -Funktionalität ersetzt und erweitert. - -Das Paket \Package{tudscrcomp} dient der Überführung von alten Dokumenten, die -entweder mit der \Class{tudbook}-Klasse oder mit der Version~v1.0 erstellt -wurden, auf \TUDScript~\vTUDScript. Es werden einige Optionen und Befehle -bereitgestellt, welche von den alten Klassen definiert wurden und das -entsprechende Verhalten nachahmen. Damit soll die Kompatibilität bei der -Änderung der Dokumentklasse sichergestellt werden. Die Intention ist, alte -Dokumente möglichst schnell und einfach auf die \TUDScript-Klassen portieren zu -können. Des Weiteren ist beschrieben, wie sich die Funktionalität ohne die -Verwendung des Paketes mit den Mitteln von \TUDScript umsetzen lassen. Für den -Satz neuer Dokumente wird empfohlen, auf den Einsatz dieses Paketes komplett zu -verzichten und stattdessen die neuen Befehle zu nutzen. - -\begin{Declaration}{\Option{serifmath}}{% - identisch zu \Option{sansmath}[false]% -} -\printdeclarationlist% -% -Die Funktionalität wird durch die Option \Option{sansmath} bereitgestellt. -\end{Declaration} - -\begin{Declaration}{\Option{colortitle}}{% - identisch zu \Option{cdtitle}[color]% -} -\begin{Declaration}{\Option{nocolortitle}}{% - identisch zu \Option{cdtitle}[true]% -} -\printdeclarationlist% -% -Die Funktionalität wird durch die Option \Option{cdtitle} bereitgestellt. -\end{Declaration} -\end{Declaration} - -\begin{Declaration}{\Macro{einrichtung}\Parameter{Fakultät}}{% - identisch zu \Macro{faculty} -} -\begin{Declaration}{\Macro{fachrichtung}\Parameter{Einrichtung}}{% - identisch zu \Macro{department} -} -\begin{Declaration}{\Macro{institut}\Parameter{Institut}}{% - identisch zu \Macro{institute} -} -\begin{Declaration}{\Macro{professur}\Parameter{Lehrstuhl}}{% - identisch zu \Macro{chair} -} -\printdeclarationlist% -% -Dies sind die deutschsprachigen Befehle für den Kopf im \CD. -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} - -\begin{Declaration}{\Macro{moreauthor}\Parameter{Autorenzusatz}}{% - identisch zu \Macro{authormore}% -} -\printdeclarationlist% -% -Ursprünglich war diese Befehl für das Unterbringen aller möglichen, -zusätzlichen Autoreninformationen gedacht. Auch der Befehl \Macro{authormore} -ist ein Rudiment davon. Empfohlen wird die Verwendung der Befehle -\Macro{dateofbirth}, \Macro{placeofbirth}, \Macro{matriculationnumber} und -\Macro{matriculationyear} sowie für die Aufgabenstellung einer -wissenschaftlichen Arbeit \Macro{course} und \Macro{discipline} aus dem Paket -\Package{tudscrsupervisor}. -\end{Declaration} - -\begin{Declaration}{\Macro{submitdate}\Parameter{Datum}}{% - identisch zu \Macro{date}% -} -\printdeclarationlist% -% -Die Funktionalität wird durch den erweiterten Standardbefehl \Macro{date} -abgedeckt. -\end{Declaration} - -\begin{Declaration}{\Macro{supervisorII}\Parameter{Name}}{% - identisch zur Verwendung von \Macro{and} innerhalb von \Macro{supervisor}% -} -\printdeclarationlist% -% -Es ist \Macro{supervisor}\PParameter{\PName{Name} \Macro{and} \PName{Name}} -statt \Macro{supervisorII}\Parameter{Name} zu verwenden. -\end{Declaration} - -\begin{Declaration}{\Macro{supervisedby}\Parameter{Bezeichnung}}{% - siehe \Term{supervisorname}% -} -\begin{Declaration}{\Macro{supervisedIIby}\Parameter{Bezeichnung}}{% - siehe \Term{supervisorothername}% -} -\begin{Declaration}{\Macro{submittedon}\Parameter{Bezeichnung}}{% - siehe \Term{datetext}% -} -\printdeclarationlist% -% -Zur Änderung der Bezeichnung der Betreuer sollten die sprachabhängigen -Bezeichner wie in \autoref{sec:localization} beschrieben angepasst werden. Eine -Verwendung der alten Befehle entfernt die Abhängigkeit der Bezeichner von der -verwendeten Sprache. -\end{Declaration} -\end{Declaration} -\end{Declaration} - -\begin{Declaration}{\Macro{dissertation}} -\printdeclarationlist% -% -Die Funktionalität kann durch die Befehle \Macro{thesis}\PParameter{diss} und -\Macro{referee} sowie die Bezeichner \Term{refereename} und -\Term{refereeothername} dargestellt werden. -\end{Declaration} - -\begin{Declaration}{\Option{ddcfooter}}{% - identisch zu \Option{ddcfoot}[true]% -} -\printdeclarationlist% -% -Die Funktionalität wird durch die Option \Option{ddcfoot} bereitgestellt. -\end{Declaration} - -\begin{Declaration}{\Macro{chapterpage}} -\printdeclarationlist% -% -Durch diesen Befehl können Kapitelseiten konträr zur eigentlichen Einstellung -aktiviert oder deaktiviert werden. Prinzipiell ist dies auch durch Änderung der -Option \Option{chapterpage} möglich. Allerdings wird davon abgeraten, da dies -zu einem inkonsistenten Layout innerhalb des Dokumentes führt. -\end{Declaration} - -\begin{Declaration}{\Environment{theglossary}[\OParameter{Präambel}]} -\begin{Declaration}{\Macro{glossitem}\Parameter{Begriff}} -\printdeclarationlist% -% -Die \Class{tudbook}-Klasse stellt eine rudimentäre Umgebung für ein Glossar -bereit. Allerdings gibt es dafür bereits zahlreiche und besser implementierte -Pakete. Daher wird für diese Umgebung keine Portierung vorgenommen, sondern -lediglich die ursprüngliche Definition übernommen. Allerdings sein an dieser -Stelle auf wesentlich bessere Lösungen wie beispielsweise das Paket -\Package{glossaries} oder~-- mit Abstrichen~-- das nicht ganz so umfangreiche -Paket \Package{nomencl} verwiesen. -\end{Declaration} -\end{Declaration} -\index{Version!v1.0|)} -\index{Kompatibilität!Version v1.0|)} -\index{Kompatibilität!\Class{tudbook}|)} -\end{Declaration*} - - - \section{Das Paket \Package{mathswap}} \begin{Declaration*}{\Package{mathswap}} \index{Trennzeichen}\index{Mathematiksatz}% @@ -925,26 +747,16 @@ Diese Dinge sollen langfristig in das \TUDScript-Bundle eingearbeitet werden. %\chapter[Die Briefklasse \Class*{tudscrlttr}]{Die Briefklasse} %\begin{Declaration*}{\Class{tudscrlttr}} -\subsection*{\Class*{tudscrlttr} auf Basis von \Class*{scrlttr2}} \ToDo[imp,nxt]{Klasse \Class*{tudscrlttr}}[v2.x] -Es soll die Klasse -% -\begin{description} - \item \Class*{tudscrlttr} -\end{description} -% -für Briefe im \CD der \TnUD entstehen. Auch Vorlagen für Fax und -Hausmitteilungen sollen dabei abfallen. +Es soll die Klasse \Class*{tudscrlttr} für Briefe im \CD der \TnUD entstehen. +Auch Vorlagen für Fax und Hausmitteilungen sollen dabei abfallen. %\end{Declaration*} - - %\section{Das Paket \Package{tudscrposter} -- Poster im \CD}% %\begin{Declaration*}{\Package{tudscrposter}} -\subsection*{Das Paket \Package*{tudscrposter}} \ToDo[imp,nxt]{% Paket \Package*{tudscrposter} als Ersatz für \Class{tudmathposter}% -}[v2.x] +}[v2.04] Die Funktionalität der Klasse \Class{tudmathposter} soll in ein eigenständiges Paket mit dem Namen \Package*{tudscrposter}(tudscr) o.\,ä. überführt werden. %\end{Declaration*} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-examples.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-examples.tex index 4407168e698..3d627e2c1f4 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-examples.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-examples.tex @@ -85,7 +85,7 @@ Die meisten Anwender der \TUDScript-Klassen sind Studenten oder angehörige der wissenschaftlichen Arbeit oder ähnlichem machen. Während der Einstiegsphase in \hologo{LaTeXe} kann ein Anfänger sehr schnell aufgrund der großen Anzahl an empfohlenen Pakete sowie der teilweise diametral zueinander stehenden Hinweise -überfordert sein. Mit dem Tutorial \Tutorial{treatise} soll versucht werden, +überfordert sein. Mit dem Tutorial \Tutorial{treatise}|!| soll versucht werden, ein wenig Licht ins Dunkel zu bringen. Es erhebt jedoch keinerlei Anspruch, vollständig oder perfekt zu sein. Einige der darin vorgestellten Möglichkeiten lassen sich mit Sicherheit auch anders, einfacher und/oder besser lösen. @@ -96,7 +96,7 @@ wissenschaftlichen Arbeit gedacht. \section{Ein Beitrag zum mathematischen Satz in \NoCaseChange{\hologo{LaTeXe}}} \label{sec:exmpl:mathtype} \index{Tutorial!Mathematiksatz} -Das Tutorial \Tutorial{mathtype} richtet sich an alle Anwender, die in ihrem +Das Tutorial \Tutorial{mathtype}|!| richtet sich an alle Anwender, die in ihrem \hologo{LaTeX}"=Dokument mathematische Formeln setzen wollen. In diesem wird ausführlich darauf eingegangen, wie mit wenigen Handgriffen ein typographisch sauberer Mathematiksatz zu bewerkstelligen ist. @@ -113,5 +113,5 @@ diese in einem Dokument deutscher Sprache eingebunden werden, müssten diese normalerweise allesamt angepasst und das ursprüngliche Dezimaltrennzeichen durch ein Komma ersetzt werden. Dieser Schritt wird mit dem \TUDScript-Paket \Package{mathswap} automatisiert. Wie dies genau funktioniert, wird im Tutorial -\Tutorial{mathswap} erläutert. +\Tutorial{mathswap}|!| erläutert. \index{Tutorial|)} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex index 1a8d3cac5a9..8115c272899 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex @@ -30,7 +30,7 @@ unter Windows in \Path{\%APPDATA\%\textbackslash texstudio} beziehungsweise unter unixoiden Betriebssystemen in \Path{.config/texstudio} eingefügt werden. Möchten Sie das grafische \hologo{LaTeX}-Frontend~\Application{\hologo{LyX}} -für das Erstellen eines Dokumentes mit \TUDScript verwenden, so werden dafür +für das Erstellen eines Dokumentes mit \TUDScript nutzen, so werden dafür spezielle Layout-Dateien benötigt, um die Klassendateien verwenden zu können. Diese sind zusammen mit einem exemplarischen \hologo{LyX}-Dokument als Archiv \hrfn{https://github.com/tud-cd/tudscr/releases/download/LyX/tudscr4lyx.zip}% @@ -39,6 +39,8 @@ dafür im \Application{\hologo{LyX}}"=Installationspfad in den passenden Unterordner kopiert werden. Dieser ist bei Windows \Path{\%PROGRAMFILES(X86)\%\textbackslash{}LyX~2.0\textbackslash{}Resources\textbackslash{}layouts} beziehungsweise bei unixoiden Betriebssystemen \Path{/usr/share/lyx/layouts}. +Anschließend muss LyX über den Menüpunkt \emph{Werkzeuge} neu konfiguriert +werden. @@ -175,7 +177,7 @@ werden. -\section{Bezeichnungen der Gliederungsebenen durch \Package{hyperref}} +\section{Bezeichnung der Gliederungsebenen durch \Package{hyperref}} \index{Querverweise} % \ChangedAt{v2.02!\TaT: Bezeichnungen der Gliederungsebenen} @@ -475,83 +477,6 @@ gezeichnet, die dazu ähnlichsten werden zurückgegeben. -\section{Warnung bei der Verwendung von \Package{multicol}} -% -\ChangedAt{v2.02!\TaT: Warnung bei der Verwendung von \Package{multicol}} -% -Das einzig momentan bekannte Problem der \TUDScript"=Klasse tritt in Verbindung -mit dem Paket \Package{multicol}|?| auf. Dieses greift~-- ähnlich zu dem für -die Seitenstile verwendeten Paket \Package{scrlayer-scrpage}~-- sehr stark in -die Ausgaberoutine von \hologo{LaTeXe} ein. Bei Spaltenumbrüchen innerhalb der -\Environment{multicols}"=Umgebung kommt es sehr häufig zu folgender Warnung: -% -\begin{quoting} -\begin{Code} -Underfull \hbox (badness 10000) has occurred while \output is active -\end{Code} -\end{quoting} -% -Wird \Package{scrlayer-scrpage} nicht verwendet, unterbleibt die Warnung. Beide -Pakete haben in der Kombination miteinander augenscheinlich ein Problem. Die -Autoren der beiden Pakete wurden über dieses Problem informiert, signalisierten -jedoch verständlicherweise wenig Bereitschaft, der Ursache auf den Grund zu -gehen. Leider kann für die \TUDScript-Klassen auf \Package{scrlayer-scrpage} -nicht verzichtet werden, es ist von essentieller Bedeutung für die Seitenstile -im \CD der \TnUD. Am Ausgabeergebnis ändert sich nichts. Im Zweifelsfall werden -jedoch eine Menge bedeutungsloser Warnungen generiert. - -Es gibt allerdings eine Möglichkeit, diese zu unterdrücken. Hierfür wird auf -die Funktionalitäten von \Package{etoolbox} zurückgegriffen, was ohnehin von -den \TUDScript-Klassen geladen wird. In der Präambel kann folgender Quelltext -verwendet werden: -% -\begin{quoting} -\begin{Code} -\makeatletter -\apptocmd{\prepare@multicols}{\hbadness10000}{}{} -\makeatother -\end{Code} -\end{quoting} -% -Dadurch werden die durch \hologo{LaTeXe} generierten Warnungen innerhalb der -\Environment{multicols}"=Umgebung deaktiviert. Es muss dabei beachtet werden, -dass dies für alle Boxen~-- und nicht nur jene beim Spaltenumbruch~-- gilt. - - - -\section{Fehlermeldung: ! No room for a new \textbackslash write} -% -\ChangedAt{v2.02!\TaT: Fehler beim Schreiben von Hilfsdateien} -% -Für das Erstellen und Schreiben externer Hilfsdateien steht \hologo{LaTeXe} nur -eine begrenzte Anzahl sogenannter Ausgabe-Streams zur Verfügung. Allein für -jedes zu erstellende Verzeichnis reserviert \hologo{LaTeX} selbst jeweils einen -neuen Stream. Auch einige bereits zuvor in diesem Handbuch vorgestellte, sehr -hilfreiche Pakete~-- wie beispielsweise \Package{hyperref}, \Package{biblatex}, -\Package{glossaries}, \Package{todonotes} oder auch \Package{filecontents}~-- -benötigen eigene Hilfsdateien und öffnen für das Erstellen dieser einen -Ausgabe-Stream oder mehr. - -Lädt der Anwender mehrere, in eine Hilfsdatei schreibende Pakete, kann es zur -der Fehlermeldung -% -\begin{quoting} -\begin{Code} -! No room for a new \write . -\end{Code} -\end{quoting} -% -kommen. Abhilfe schafft hier das Paket \Package{scrwfile}(koma-script), welches -einige Änderungen am \hologo{LaTeX}-Kern vornimmt, um die Anzahl der benötigten -Hilfsdateien für das Schreiben aller Verzeichnisse zu reduzieren. Es muss -einfach in der Präambel eingebunden werden. Sollten mit diesem Paket -unerwarteter Weise Probleme auftreten, ist dessen Anleitung in \scrguide zu -finden. Eine weitere Möglichkeit, das beschriebene Problem der geringen Menge -an Ausgabe-Streams zu umgehen, stellt das Paket \Package{morewrites} dar. -Allerdings ist dessen Verwendung nicht in allen Fällen von Erfolg gekrönt. - - - \section{Änderung des Papierformates} \index{Papierformat} Es kann vorkommen, dass man innerhalb eines Dokumentes kurzzeitig das @@ -592,6 +517,11 @@ Mitteln von \KOMAScript{} geändert werden kann. +\ToDo[imp,nxt]{Schnittmarken implementieren und dokumentieren}[v2.04] +%\section{Schnittmarken} + + + \section{Platzierung von Gleitobjekten} \manualhyperdef'{sec:tips:floats}{}% \index{Gleitobjekte|?}% @@ -814,3 +744,36 @@ ist. \fi \end{Code} \end{quoting} + + + +\section{Fehlermeldung: ! No room for a new \textbackslash write} +% +\ChangedAt{v2.02!\TaT: Fehler beim Schreiben von Hilfsdateien} +% +Für das Erstellen und Schreiben externer Hilfsdateien steht \hologo{LaTeXe} nur +eine begrenzte Anzahl sogenannter Ausgabe-Streams zur Verfügung. Allein für +jedes zu erstellende Verzeichnis reserviert \hologo{LaTeX} selbst jeweils einen +neuen Stream. Auch einige bereits zuvor in diesem Handbuch vorgestellte, sehr +hilfreiche Pakete~-- wie beispielsweise \Package{hyperref}, \Package{biblatex}, +\Package{glossaries}, \Package{todonotes} oder auch \Package{filecontents}~-- +benötigen eigene Hilfsdateien und öffnen für das Erstellen dieser einen +Ausgabe-Stream oder mehr. + +Lädt der Anwender mehrere, in eine Hilfsdatei schreibende Pakete, kann es zur +der Fehlermeldung +% +\begin{quoting} +\begin{Code} +! No room for a new \write . +\end{Code} +\end{quoting} +% +kommen. Abhilfe schafft hier das Paket \Package{scrwfile}(koma-script), welches +einige Änderungen am \hologo{LaTeX}-Kern vornimmt, um die Anzahl der benötigten +Hilfsdateien für das Schreiben aller Verzeichnisse zu reduzieren. Es muss +einfach in der Präambel eingebunden werden. Sollten mit diesem Paket +unerwarteter Weise Probleme auftreten, ist dessen Anleitung in \scrguide zu +finden. Eine weitere Möglichkeit, das beschriebene Problem der geringen Menge +an Ausgabe-Streams zu umgehen, stellt das Paket \Package{morewrites} dar. +Allerdings ist dessen Verwendung nicht in allen Fällen von Erfolg gekrönt. diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-index.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-index.tex index d8a2348d1cd..233611d48f2 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-index.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-index.tex @@ -66,12 +66,12 @@ } \addchap*{\indexname} \addxcontentsline{toc}{part}{\indexname} -\PrintIndexPrologue{% - Die aufgelisteten Schlagworte sollen sowohl Antworten bei generellen Fragen - als auch Lösungen für typische Probleme beim Umgang mit \hologo{LaTeXe} sowie - dem \TUDScript-Bundle liefern. -% Falls ein gesuchter Begriff hier nicht auftaucht, ist das Forum erster -% Anlaufpunkt. -} +%\PrintIndexPrologue{% +% Die aufgelisteten Schlagworte sollen sowohl Antworten bei generellen Fragen +% als auch Lösungen für typische Probleme beim Umgang mit \hologo{LaTeXe} +% sowie dem \TUDScript-Bundle liefern. +% Falls ein gesuchter Begriff hier nicht auftaucht, sollte das \Forum erster +% Anlaufpunkt sein, um Fragen bei der Nutzung von \TUDScript zu beantworten. +%} \PrintIndex \PrintChangelog diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex index 36de3d01b56..e98a23877d4 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex @@ -4,16 +4,16 @@ \noindent\Attention{% Im Folgenden werden unterschiedliche Varianten erläutert, wie die jeweils aktuelle Version von \TUDScript genutzt werden kann, falls bereits eine - frühere Variante \textbf{lokal} installiert ist. Unabhängig davon, für welche - Möglichkeit Sie sich entscheiden, ist eine abermalige Installation der - PostScript"=Schriften für eine fehlerfreie Verwendung von \TUDScript zwingend - notwendig, wenn Sie bisher \TUDScript vor der Version~v2.02 verwendet haben. - Das liegt daran, dass der Installationsprozess der Schriften des \CDs für die - Version~v2.02 nochmals angepasst werden musste. Dieser Schritt ließ sich - leider nicht vermeiden. Für zukünftige Versionen kann darauf hoffentlich - verzichtet werden, sodass Aktualisierungen ausschließlich über CTAN - eingespielt werden können. Die Installation der PostScript"=Schriften ist in - \autoref{sec:install} beschrieben. + frühere Variante als \textbf{lokale Nutzerinstallation} verwendet wird. + Unabhängig davon, für welche Möglichkeit Sie sich entscheiden, ist eine + abermalige Installation der PostScript"=Schriften für eine fehlerfreie + Verwendung von \TUDScript zwingend notwendig, wenn Sie bisher \TUDScript vor + der Version~v2.02 verwendet haben, da der Installationsprozess der Schriften + des \CDs für die Version~v2.02 nochmals angepasst werden musste. Dieser + Schritt ließ sich leider nicht vermeiden. Für zukünftige Versionen kann + darauf hoffentlich verzichtet werden, sodass Aktualisierungen ausschließlich + über CTAN eingespielt werden können. In \autoref{sec:install} wird der + Installationsprozess der PostScript"=Schriften beschrieben. } \bigskip\noindent @@ -92,16 +92,17 @@ werden (\autoref{sec:install}). Wird \emph{nur} das lokale Nutzerverzeichnis oder gar kein Verzeichnis gefunden, so wird höchstwahrscheinlich eine veraltete Distribution -verwendet. In diesem Fall \emph{muss} \TUDScript lokal aktualisiert -(\autoref{sec:local:update}) beziehungsweise bei der erstmaligen Verwendung -lokal installiert (\autoref{sec:local:install}) werden. Sollte neben dem -Pfad der Distribution immer noch mindestens ein weiterer Pfad angezeigt werden, -so ist weiterhin eine lokale Nutzerversion installiert. In diesem Fall hat der -Anwender zwei Möglichkeiten: +verwendet. In diesem Fall wird eine Aktualisierung dieser \emph{unbedingt} +empfohlen. Sollte dies nicht möglich sein, \emph{muss} \TUDScript als lokale +Nutzerversion aktualisiert (\autoref{sec:local:update}) beziehungsweise bei der +erstmaligen Verwendung installiert (\autoref{sec:local:install}) werden. Sollte +neben dem Pfad der Distribution immer noch mindestens ein weiterer Pfad +angezeigt werden, so ist weiterhin eine lokale Nutzerversion installiert. In +diesem Fall hat der Anwender zwei Möglichkeiten: % \begin{enumerate} \item Entfernen der lokalen Nutzerinstallation (manuell) -\item Update der lokalen Nutzerversion +\item Aktualisierung der lokalen Nutzerversion \end{enumerate} % Die erste Variante wird nachfolgend erläutert, die zweite Möglichkeit wird in @@ -125,7 +126,7 @@ Um die Nutzerinstallation vollständig zu entfernen, muss als erstes zu \Path{\emph{<Installationspfad>}} navigiert werden. Anschließend ist in diesem Pfad Folgendes durchzuführen: % -\settowidth{\tempdim}{\Path{tex/latex/tudscr/}}% +\settowidth\tempdim{\Path{tex/latex/tudscr/}}% \begin{description}[labelwidth=\tempdim,labelsep=1em] \item[\Path{tex/latex/tudscr/}]alle .cls- und .sty-Dateien löschen \item[\Path{tex/latex/tudscr/}]Ordner \Path{logo} vollständig löschen @@ -137,8 +138,8 @@ Das Verzeichnis \Path{\emph{<Installationspfad>}/tex/latex/tudscr/fonts} \textbf{sollte erhalten bleiben}. Andernfalls müssen die Schriften des \CDs abermals wie unter \autoref{sec:install} beschrieben installiert werden. Zum Abschluss ist in der Kommandozeile beziehungsweise im Terminal der Befehl -\Path{texhash} aufzurufen. Damit wurde die lokale Version entfernt und es wird -von nun an die Version von \TUDScript genutzt, welche durch die verwendete +\Path{texhash} aufzurufen. Damit wurde die lokale Nutzerversion entfernt und es +wird von nun an die Version von \TUDScript genutzt, welche durch die verwendete Distribution bereitgestellt wird. @@ -147,15 +148,15 @@ Distribution bereitgestellt wird. \label{sec:local:install} \index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} % -Für die lokale Installation von \TUDScript inklusive der Schriften des \CDs -werden für Windows sowie unixartige Betriebssysteme die passenden Skripte +Für die lokale Nutzerinstallation von \TUDScript inklusive der Schriften des +\CDs werden für Windows sowie unixartige Betriebssysteme die passenden Skripte angeboten. Eine lokale Installation sollte nur von Anwender ausgeführt werden, die genau wissen, aus welchen Gründen dies geschehen soll. \subsection{Lokale Installation von \TUDScript unter Windows} \index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} -Für eine lokale Installation sowohl des \TUDScript-Bundles als auch der +Für eine lokale Nutzerinstallation sowohl des \TUDScript-Bundles als auch der dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} oder \Distribution{\hologo{MiKTeX}} werden neben Schriftarchiven die Dateien aus \hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Windows\_full.zip}% @@ -164,7 +165,7 @@ Verwendung des Skripts \File{tudscr\_\vTUDScript\_install.bat} sollte sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis befinden: % -\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_install.bat}}% +\settowidth\tempdim{\File{tudscr\_\vTUDScript\_install.bat}}% \begin{description}[labelwidth=\tempdim,labelsep=1em] \item[\File{tudscr\_\vTUDScript.zip}]Archiv mit Klassen- und Paketdateien \item[\File{tudscr\_\vTUDScript\_install.bat}]Installationsskript @@ -188,7 +189,7 @@ Schriftinstallation sei auf \autoref{sec:install:fonts:win} verwiesen. \subsection{Lokale Installation von \TUDScript unter Linux und OS~X} \index{Installation!Nutzerinstallation}\index{Nutzerinstallation (lokal)} -Für eine lokale Installation sowohl des \TUDScript-Bundles als auch der +Für eine lokale Nutzerinstallation sowohl des \TUDScript-Bundles als auch der dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} oder \Distribution{Mac\hologo{TeX}} werden neben Schriftarchiven die Dateien aus \hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Unix\_full.zip}% @@ -198,7 +199,7 @@ sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis befinden: % \begin{description}[labelwidth=\tempdim,labelsep=1em] -\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_install.sh}}% +\settowidth\tempdim{\File{tudscr\_\vTUDScript\_install.sh}}% \item[\File{tudscr\_\vTUDScript.zip}]Archiv mit Klassen- und Paketdateien \item[\File{tudscr\_\vTUDScript\_install.sh}]Installationsskript (Terminal: \Path{bash tudscr\_\vTUDScript\_install.sh}) @@ -218,31 +219,34 @@ verwiesen. \section{Lokales Update des \TUDScript-Bundles} \label{sec:local:update} \index{Update!Nutzerinstallation}\index{Nutzerinstallation (lokal)} -% -%\subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.02} -%Für eine lokale Aktualisierung von \TUDScript auf \vTUDScript{} muss das Archiv -%\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip}% -%{TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip} respektive -%\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip}% -%{TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip} entpackt und anschließend -%\File{tudscr\_\vTUDScript\_update.bat} oder -%\File{tudscr\_\vTUDScript\_update.sh} ausgeführt werden. -%\Attention{% -% Das lokale Update funktioniert nur, wenn bereits mindestens Version~v2.02 -% entweder lokal oder über die Distribution installiert ist.% -%} + + + +\subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.02} +Für eine lokale Aktualisierung von \TUDScript auf \vTUDScript{} muss das Archiv +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip}% +{TUD-KOMA-Script\_\vTUDScript\_Windows\_update.zip} respektive +\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip}% +{TUD-KOMA-Script\_\vTUDScript\_Unix\_update.zip} entpackt und anschließend +\File{tudscr\_\vTUDScript\_update.bat} oder +\File{tudscr\_\vTUDScript\_update.sh} ausgeführt werden. +\Attention{% + Die lokale Aktualisierung funktioniert nur, wenn \TUDScript bereits + mindestens in der Version~v2.02 entweder als lokale Nutzerversion oder über + die Distribution sowie die PostScript"=Schriften installiert sind.% +} \subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.00} Mit der Version~v2.02 gab es einige tiefgreifende Änderungen. Deshalb wird für vorausgehende Versionen~-- sprich v2.00 und v2.01~-- kein dediziertes Update angeboten. Die Aktualisierung kann durch den Anwender entweder~-- wie in \autoref{sec:local:install} erläutert~-- mit einer skriptbasierten oder mit -einer manuellen Neuinstallation lokal erfolgen. Für die zweite Variante muss +einer manuellen Neuinstallation erfolgen. Für die zweite Variante muss der Inhalt des Archivs \hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/tudscr\_\vTUDScript.zip}% {\File{tudscr\_\vTUDScript.zip}} in das lokale \Path{texmf}"=Nutzerverzeichnis kopiert werden. Des Weiteren wurde die Installation der Schriften überarbeitet. -Deshalb wird auch für diese eine Neuinstallation (\autoref{sec:install}) +Deshalb wird auch für diese eine Neuinstallation (\autoref{sec:install}) sehr empfohlen. @@ -263,9 +267,9 @@ bereitgestellt. Andernfalls wird es zu Problemen kommen. Die aktuelle Version~\vTUDScript{} kann nach der Deinstallation der Version~v1.0 wie unter \autoref{sec:install} beschrieben installiert werden. -Sollen die obsoleten \TUDScript-Klassen in der Version~v1.0 nach einer -Aktualisierung weiterhin genutzt werden, so müssen diese erst wie zuvor -beschrieben de"~~und anschließend neu installiert werden. Dafür kann das Archiv +Möchten Sie die obsoleten \TUDScript-Klassen in der Version~v1.0 nach einer +Aktualisierung weiterhin nutzen, so müssen diese nach der Deinstallation neu +installiert werden. Dafür kann das Archiv \hrfn{https://github.com/tud-cd/tudscrold/releases/download/v1.0/TUD-KOMA-Script_v1.0old.zip}% {\File*{TUD-KOMA-Script\_v1.0old.zip}} verwendet werden, welches sowohl die genannten Skripte zur Deinstallation als auch die zur neuerlichen Installation @@ -276,15 +280,14 @@ die alten Klassen der Version~v1.0 mit \Class{tudscrbookold}, parallel zur aktuellen Version~\vTUDScript{} genutzt werden. Im Vergleich zur Version~v1.0 hat sich an der Benutzerschnittstelle nicht sehr -viel verändert. Treten nach dem Umstieg von der Version~v1.0 auf die -Version~\vTUDScript{} dennoch Probleme auf, sollte der Anwender als erstes in -die Beschreibung des Paketes \Package{tudscrcomp}'full' sehen. Diese Paket -stellt eine Schnittstelle bereit, mit der es möglich ist, alte und ursprünglich -nicht mehr vorgesehene Befehle und Optionen dennoch zu nutzen. Allerdings -werden einige von diesen auch durch das Paket \Package{tudscrcomp} nicht mehr -bereitgestellt, weil diese schlichtweg verworfen wurden. Diese sind in -\autoref{sec:obsolete} aufgeführt und es werden im alten Dokument notwendige -Anpassungen beschrieben. Sollten dennoch Fehler oder Probleme beim Umstieg auf +viel verändert. Treten nach dem Umstieg auf die Version~\vTUDScript{} dennoch +Probleme auf, sollte der Anwender als erstes in die Beschreibung des Paketes +\Package{tudscrcomp}'full' sehen,welches eine Schnittstelle bereitstellt, mit +der es möglich ist, alte und ursprünglich nicht mehr vorgesehene Befehle sowie +Optionen dennoch zu nutzen. Allerdings werden einige von diesen auch durch das +Paket \Package{tudscrcomp} nicht mehr bereitgestellt. Aufgeführt sind diese in +\autoref{sec:obsolete}. Sollten trotz aller Hinweise in besagtem +\autorefname[sec:obsolete] dennoch Fehler oder Probleme beim Umstieg auf die neue \TUDScript-Version auftreten, ist eine Meldung im Forum die beste Möglichkeit, um Hilfe zu erhalten. \end{Declaration*} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex index 7f821f36daf..006109b1fd9 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex @@ -98,13 +98,13 @@ Das \TUDScript-Bundle ist seit der Version~v2.01~-- aufgrund lizenzrechtlicher Bedingungen \emph{ohne} die geschützten Schriften \Univers und \DIN~-- im \foreignlanguage{english}{% \hrfn{http://www.ctan.org/}{Comprehensive TeX Archive Network (CTAN)} -} zu finden und dadurch in aktuellen \hologo{LaTeX}"=Distributionen wie +} zu finden und kann dadurch die aktuellen \hologo{LaTeX}"=Distributionen wie \Distribution{\hologo{TeX}~Live}[2014], \Distribution{Mac\hologo{TeX}}[2014] -oder auch \Distribution{\hologo{MiKTeX}}[2.9] enthalten. Aus diesem Grund ist -eine komplett lokale Nutzerinstallation wie in den vorherigen Versionen nicht -mehr notwendig. Auch manuelle Updates des \TUDScript-Bundles sind~-- für den -Fall, dass die \hologo{LaTeX}"=Distribution durch den Nutzer aktuell gehalten -wird~-- prinzipiell nicht mehr nötig. +oder auch \Distribution{\hologo{MiKTeX}}[2.9] genutzt werden. Es besteht +momentan aus den drei Hauptklassen \Class{tudscrbook}, \Class{tudscrreprt} +sowie \Class{tudscrartcl}~-- dokumentiert in \autoref{sec:mainclasses}~-- und +sowohl mit den \TUDScript-Klassen assoziierten als auch eigenständigen Paketen, +welche in \autoref{sec:bundle} beschrieben sind. Zur problemlosen Verwendung des \TUDScript-Bundles ist~-- neben \KOMAScript{} in der Version~\vKOMAScript und den in \autoref{sec:packages:needed} aufgeführten @@ -128,8 +128,8 @@ Dort sind auch die Quelldateien von \TUDScript und der Installationsskripte zu finden. \Attention{% - Wurde \TUDScript in einer früheren Ausführung als lokale Nutzerinstallation - eingerichtet oder soll es in der Version \vTUDScript{} lokal installiert + Wurde \TUDScript in einer früheren Ausführung als lokale Nutzerversion + installiert oder soll es in der Version \vTUDScript{} als solche genutzt werden, so sei auf \autoref{sec:install:ext} verwiesen.% } @@ -166,7 +166,7 @@ Verzeichnis kopiert werden. Vor der Verwendung des Skripts \File{tudscrfonts\_install.bat} sollte sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis befinden: % -\settowidth{\tempdim}{\File{tudscrfonts\_install.bat}}% +\settowidth\tempdim{\File{tudscrfonts\_install.bat}}% \begin{description}[labelwidth=\tempdim,labelsep=1em] \item[\File{tudscrfonts\_install.bat}]Installationsskript \item[\File{Univers\_PS.zip}]Archiv mit Schriftdateien für \Univers @@ -239,7 +239,7 @@ Verzeichnis kopiert werden. Vor der Verwendung des Skripts \File{tudscrfonts\_install.sh} sollte sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis befinden: % -\settowidth{\tempdim}{\File{tudscrfonts\_install.sh}}% +\settowidth\tempdim{\File{tudscrfonts\_install.sh}}% \begin{description}[labelwidth=\tempdim,labelsep=1em] \item[\File{tudscrfonts\_install.sh}]Installationsskript (Terminal: \Path{bash tudscrfonts\_install.sh}) @@ -257,10 +257,10 @@ Nutzerverzeichnis der jeweiligen Distribution installiert. Treten bei der Installation wider Erwarten Probleme auf, so sollte eine Logdatei erstellt werden. Unter Windows muss das Skript, welches Probleme verursacht, aus der Kommandozeile mit -\Path{\PName{Skript}.bat > \PName{Skript}.log} aufgerufen werden, wobei hierbei -das doppelte Betätigen der Eingabetaste nötig ist. Für unixartige Systeme -ist der Aufruf \Path{./\PName{Skript}.sh > \PName{Skript}.log} aus dem Terminal -heraus zu verwenden. Die erstellte Logdatei kann mit einer kurzen +\Path{\PName{Skript}.bat > \PName{Skript}.log} aufgerufen werden, wobei das +doppelte Betätigen der Eingabetaste nötig ist. Für unixartige Systeme +ist der Aufruf \Path{bash \PName{Skript}.sh > \PName{Skript}.log} aus dem +Terminal heraus zu verwenden. Die erstellte Logdatei kann mit einer kurzen Fehlerbeschreibung direkt an \Email{\tudscrmail} gesendet werden. diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex index 63feffb17be..cb60a9fded4 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex @@ -1,4 +1,10 @@ \chapter[Die Klassen tudscrbook, tudscrreprt und tudscrartcl]{Die Hauptklassen} +\label{sec:mainclasses} +\ChangedAt*{% + v2.00!Robustheit vieler Befehle und Optionen erhöht,% + v2.02!Umbenennung einiger Befehle für Kompatibilität mit anderen Paketen,% + v2.03!Anpassungen interner Befehle an \KOMAScript-Version~v3.15% +} \begin{Declaration*}{\Class{tudscrbook}} \begin{Declaration*}{\Class{tudscrreprt}} \begin{Declaration*}{\Class{tudscrartcl}} @@ -55,10 +61,15 @@ innerhalb dieser lokal begrenzt. \end{Declaration} + \section{Die Schriften des \CDs} \label{sec:fonts} \index{Schrift|?} % +\ChangedAt*{% + v2.00!Schriften~-- insbesondere für den mathematischen Satz~-- verbessert,% + v2.01!Unterschneidung (Kerning) der Ziffern für \Univers verbessert% +} Das \CD der \TnUD gibt die Verwendung der Schriften \Univers für den Fließtext sowie \DIN für das Setzen von Überschriften vor. Im Standardfall wird dies so unterstützt. Da jedoch in längeren Texten die Verwendung von Serifenschriften @@ -87,7 +98,7 @@ Hinweise zum typographisch guten Mathematiksatz zu finden. \subsection{Schriften für den Textsatz} \begin{Declaration}[% - v2.02!Werte für Optionen \Option{barfont} und \Option{fontspec} ergänzt% + v2.02!Werte für Optionen \Option{cdhead} und \Option{fontspec} ergänzt% ]{\Option{cdfont}[\PSet]}[true]% \printdeclarationlist% \label{sec:text}% @@ -108,7 +119,7 @@ Querbalken der Kopfzeile lässt sich hiermit ebenfalls einstellen. Für die Verwendung der klassischen \hologo{LaTeX}"=Schriften, ist das Paket \Package{lmodern} sehr empfehlenswert.% } - Sollte das Layout des \CDs aktiviert sein (siehe \Option{cd}), werden die + Sollte das Layout des \CDs aktiviert sein (\see*{\Option{cd}}), werden die Überschriften in Großbuchstaben und \DIN gesetzt und nur die Schriftart des Fließtextes kann angepasst werden. \itemtrue*[light/lightfont/noheavyfont] @@ -141,33 +152,33 @@ Querbalken der Kopfzeile lässt sich hiermit ebenfalls einstellen. Für den Text im Querbalken gibt es folgende Einstellmöglichkeiten: % \begin{values} -\item[barfont] +\item[head/lighthead/lightfonthead/noheavyfonthead] Für den Querbalken der Kopfzeile wird unabhängig von der Verwendung der Hausschriften die Schrift \Univers in normaler Schriftstärke verwendet, - siehe \Option{barfont}[true]. -\item[heavybarfont] - Die im Querbalken der Kopfzeile verwendete Stärke der Schrift \Univers wird - erhöht, siehe \Option{barfont}[heavy]. + \see*{\Option{cdhead}[true]}. +\item[heavyhead/heavyfonthead] + Die im Querbalken der Kopfzeile verwendete Schrift ist in jedem Fall \Univers + in erhöhter Stärke, \see*{\Option{cdhead}[heavy]}. \end{values} % Die verwendeten Mathematikschriften lassen sich mit folgenden Werte beeinflussen: % \begin{values} -\item[serifmath/serif/nosansmath/nosans] +\item[nomath/nocdmath] Diese Einstellung deaktiviert die Verwendung von serifenlosen Schriften für den mathematischen Satz. Es werden die \hologo{LaTeX}"=Standardschriften verwendet und der Benutzer kann beliebige Schriftpakete für den - Mathematikmodus nutzen, siehe \Option{sansmath}[false]. -\item[sansmath/sans] + Mathematikmodus nutzen, \see*{\Option{cdmath}[false]}. +\item[math/cdmath] Es werden serifenlose Mathematikschriften für lateinische und griechische - Lettern genutzt, siehe \Option{sansmath}[true]. -\item[upgreek/uprightgreek/uprightGreek] + Lettern genutzt, \see*{\Option{cdmath}[true]}. +\item[upgreek/uprightgreek] Die großen griechischen Buchstaben werden im Mathematikmodus aufrecht gesetzt, - siehe \Option{slantedgreek}[false]. -\item[slgreek/slantedgreek/slantedGreek] + \see*{\Option{slantedgreek}[false]}. +\item[slgreek/slantedgreek] In mathematischen Umgebungen erfolgt die Ausgabe der griechischen Majuskeln - kursiv, siehe \Option{slantedgreek}[true]. + kursiv, \see*{\Option{slantedgreek}[true]}. \end{values} % \ChangedAt{v2.02} @@ -260,7 +271,7 @@ Die \TUDScript-Klassen definieren mit \Macro{newkomafont} diese neuen Schriftelemente. Dabei wird \Font{titlepage} auf der Titelseite für alle Felder verwendet, welche kein spezielles Schriftelement verwenden und \Font{thesis} für das mit \Macro{thesis} angegebene Feld, in welchem der Typ -einer Abschlussarbeit angegeben wird (siehe \autoref{sec:title}). Mit +einer Abschlussarbeit angegeben wird (\see*{\autoref{sec:title}}). Mit \Font{parttitle} kann die Schrift für die Bezeichnung des Teils bei aktivierter \Option{parttitle}-Option beeinflusst werden. Alle Schriften lassen sich mit \Macro{addtokomafont}\Parameter{Schriftelement} anpassen. @@ -286,8 +297,8 @@ sich mit \Macro{addtokomafont}\Parameter{Schriftelement} anpassen. \begin{Declaration}{\Macro{textuxs}\Parameter{Text}} \begin{Declaration}{\Macro{dinbn}} \begin{Declaration}{\Macro{textdbn}\Parameter{Text}} -\settowidth{\tempdim}{\Macro{textuln}\Parameter{Text}}% -\addtolength{\tempdim}{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth}% +\settowidth\tempdim{\Macro{textuln}\Parameter{Text}}% +\addtolength\tempdim{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth}% \printdeclarationlist(% \begin{minipage}{-\tempdim}% \centering% @@ -353,35 +364,37 @@ Verwendung der letzteren Variante vorzuziehen. \end{Declaration} \end{Declaration} + \subsection{Schriften für den Mathematiksatz} -\begin{Declaration}{\Option{sansmath}[\PBoolean]}% +\begin{Declaration}[v2.03]{\Option{cdmath}[\PBoolean]}% [true][\Option{cdfont}[false]:false] \printdeclarationlist% \label{sec:math} \index{Schrift!Mathematiksatz}\index{Mathematiksatz|!} \index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben} % -Diese Option dient zur Verwendung serifenloser Mathematikschriften. Dafür -werden zum einen die griechischen Buchstaben aus \Package{cmbright} und zum -anderen die Symbole aus \Package{iwona} verwendet. Für die lateinischen -Buchstaben wird \Univers genutzt. Ein Umschalten auf Serifenlose und zurück -innerhalb des Dokumentes ist~-- beispielsweise in einer Abbildung oder in einer -Tabelle~-- durch \Macro{TUDoptions}\PParameter{\Option{sansmath}[true]} und -\Macro{TUDoptions}\PParameter{\Option{sansmath}[false]} möglich. Mit -\Macro{boldmath} kann auf fette Mathematikschriften umgeschaltet werden. - -Mit der Einstellung \Option{sansmath}[false] wird auf die Standardschriften -für den Mathematikmodus zurückgeschaltet. Sollen stattdessen andere serifenlose -Mathematikschriften genutzt werden, so sei auf \Package{sansmath}, -\Package{sansmathfonts}, \Package{mathastext}, \Package{sfmath} sowie -\Package{sansmathaccent} verwiesen. +Diese Option dient zur Anpassung der Mathematikschriften. Wird diese aktiviert, +so werden zu den Hausschriften passende im Mathematikmodus genutzt, mit +\Option{cdmath}[false] wird auf die Standardschriften zurückgeschaltet. Ein +Umschalten innerhalb des Dokumentes ist~-- beispielsweise für Abbildungen oder +Tabellen~-- durch \Macro{TUDoptions}\PParameter{\Option{cdmath}[true/false]} +möglich. Mit \Macro{boldmath} kann auf fette Mathematikschriften umgeschaltet +werden. % \begin{values} \itemfalse Es werden die normalen \hologo{LaTeX}"=Serifenschriften beziehungsweise die Schriften beliebig nutzbarer Pakete für den Mathematiksatz verwendet. \itemtrue* - Die serifenlose Mathematikschriften werden aktiviert. + Im Mathematikmodus wird \Univers genutzt. Außerdem kommen die griechischen + Buchstaben aus dem Paket \Package{cmbright} sowie Symbole aus dem Paket + \Package{iwona} zum Einsatz. +\item[upgreek/uprightgreek] + Die griechischen Majuskeln werden aufrecht gesetzt, + \see*{\Option{slantedgreek}[false]}. +\item[slgreek/slantedgreek] + Die Ausgabe der griechischen Großbuchstaben erfolgt kursiv, + \see*{\Option{slantedgreek}[true]}. \end{values} \end{Declaration} @@ -410,8 +423,8 @@ Mathematikschriften genutzt werden, so sei auf \Package{sansmath}, \begin{Declaration}{\Macro{upPsi}} \begin{Declaration}{\Macro{upOmega}} \index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben}% -\settowidth{\tempdim}{\Macro{varUpsilon}}% -\addtolength{\tempdim}{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth}% +\settowidth\tempdim{\Macro{varUpsilon}}% +\addtolength\tempdim{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth\relax}% \printdeclarationlist(% \begin{minipage}{-\tempdim}% \newcommand\tablecontent{}% @@ -440,7 +453,7 @@ Mathematikschriften genutzt werden, so sei auf \Package{sansmath}, )% % Griechische Majuskeln werden sowohl in aufrechter als auch in geneigter Form -bereitgestellt. Unabhängig von den beiden Optionen \Option{sansmath} und +bereitgestellt. Unabhängig von den beiden Optionen \Option{cdmath} und \Option{slantedgreek} können sowohl kursive als auch aufrechte griechischen Großbuchstaben im Mathematikmodus direkt verwendet werden. Dies ist nützlich, um zwischen kursiven Variablen und aufrechten Konstanten zu unterscheiden. Die @@ -543,23 +556,24 @@ Betriebssystem installiert sein. \section{Das Layout des \CDs} Das Hauptaugenmerk der neuen Klassen liegt auf der Umsetzung des \CDs der \TnUD für \hologo{LaTeX}. Ein großer Teil der definierten Optionen und Befehle -dient genau dazu und wird folgend beschrieben. +dient genau dazu und wird nachfolgend beschrieben. Einige spezielle Seiten werden im prägnanten Stil mit dem Logo der \TnUD und der dazugehörigen Kopfzeile mit Querbalken gesetzt. Dies betrifft insbesondere -\hyperref[sec:title]{die Umschlagseite und den Titel in \autoref{sec:title}}, +\hyperref[sec:title]{die Umschlagseite und den Titel aus \autoref{sec:title}}, die \hyperref[sec:part]{Teileseiten in \autoref{sec:part}} sowie die -\hyperref[sec:chapter]{Kapitelseiten in \autoref{sec:chapter}}. -Außerdem können entweder mit den \PageStyle{tudheadings}"=Seitenstilen oder -mit der \Environment{tudpage}-Umgebung aus \autoref{sec:tudheadings} eigene -Seiten im selben Stil erzeugt werden. Wird das Paket \Package{tudscrsupervisor} -verwendet und mit den entsprechenden Befehlen oder Umgebungen aus diesem eine -Aufgabenstellung, ein Gutachten oder ein Aushang erstellt, so erscheinen auch -diese in besagtem Seitenstil. +\hyperref[sec:chapter]{Kapitelseiten in \autoref{sec:chapter}}. Mit den +\PageStyle{tudheadings}"=Seitenstilen oder der \Environment{tudpage}-Umgebung +können weitere Seiten in diesem Stil erzeugt werden. Wird das Paket +\Package{tudscrsupervisor} verwendet und mit den bereitgestellten Befehlen oder +Umgebungen eine Aufgabenstellung, ein Gutachten oder ein Aushang erstellt, so +erscheinen auch diese in besagtem Seitenstil. -\subsection{Das Erscheinungsbild von Titel, Teilen und Kapiteln} -\begin{Declaration}{\Option{cd}[\PSet]}[true] +\subsection{Die Gestalt von Titel, Umschlagseite, Teilen und Kapiteln} +\begin{Declaration}[% + v2.03!Option für neue Gestaltungsmöglichkeiten erweitert% +]{\Option{cd}[\PSet]}[true] \printdeclarationlist% \index{Layout}% % @@ -570,18 +584,25 @@ Sie hat Einfluss auf die Ausprägung für Titel"~, Teil"~, und Kapitelseiten. \itemfalse Diese Einstellung erzeugt das Standard"=Verhalten der \KOMAScript"=Klassen, es wird kein \CD genutzt. -\itemtrue*[standard/simple/monochrom] +\itemtrue*[nocolor/nocolour/monochrome] Das Layout für Titel"~, Teil"~ und Kapitelseiten ist im \CD, es wird schwarze Schrift für Titel, Teil"~ und Kapitelüberschriften sowie im Seitenkopf verwendet. -\item[lite/light/pale] +\item[lightcolor/pale] Die Einstellung entspricht weitestgehend der Option \Option{cd}[true], - allerdings wird die primäre Hausfarbe \Color{HKS41} anstelle schwarzer - Schrift genutzt. -\item[color/colour/full] + allerdings wird die primäre Hausfarbe \Color{HKS41} für den Kopf des + \PageStyle{tudheadings}"=Seitenstils und die Schrift genutzt. +\item[bicolor/bicolour/bichrome] + \ChangedAt{v2.03} Der Kopf wird mit einem farbigen Hintergrund in der + Hausfarbe gesetzt, auch der Querbalken wird farbig hinterlegt. Die Schrift + wird in der primären Hausfarbe gesetzt. +\item[color/colour] Der Titel sowie Teil"~ und Kapitelseiten werden allesamt farbig und im \CD gestaltet, der Seitenkopf wird in der primären Hausfarbe \Color{HKS41} - gesetzt. + gesetzt, der Querbalken erhält Linien als Begrenzung. +\item[full/fullcolor/fullcolour] + \ChangedAt{v2.03} Entspricht der vorherigen Einstellung, allerdings wird der + Querbalken nicht durch Linien begrenzt sondern farbig hinterlegt. \end{values} \end{Declaration} @@ -599,12 +620,11 @@ sowohl den Titel innerhalb eines Titelkopfes (\Option{titlepage}[false]) als auch die Überschrift eines Kapitels bei deaktivierter Kapitelseite (\Option{chapterpage}[false]) in ihrer vertikalen Position anzupassen. -Normalerweise werden alle der zuvor genannten Überschriften im Layout relativ -tief im Textbereich gesetzt. Mit negativen Werten wird diese nach oben -verschoben, positive Werte setzen diese dementsprechend tiefer. Beim -Verschieben nach oben, sollte darauf geachtet werden, dass diese sich danach -noch innerhalb des Satzspiegels befinden, da dies \emph{nicht} automatisch -durch die Hauptklassen überprüft wird. +Die zuvor genannten Überschriften werden normalerweise im Layout relativ tief +im Textbereich gesetzt. Mit negativen Werten werden die Überschriften nach oben +verschoben, wobei darauf geachtet werden sollte, dass diese sich danach noch +innerhalb des Satzspiegels befinden. Positive Werte setzen die Überschriften +dementsprechend tiefer. \end{Declaration} \end{Declaration} @@ -615,23 +635,20 @@ Das Verhalten aller Elemente% Teileseite (\Macro{part}, \Macro{addpart}), Kapitelseite (\Macro{chapter}, \Macro{addchap})% } -wird normalerweise von der Option \Option{cd}[\PSet] bestimmt. Bedarfsweise -können einzelne Elemente andererseits auch individuell mit abweichenden -Wertzuweisungen angepasst werden. Soll ein bestimmtes Elemente des Layouts -anders erscheinen als der Rest des Dokumentes, so kann der entsprechende Wert -mithilfe der folgenden Optionen überschrieben werden. Die gültigen -Wertzuweisungen für die einzelnen Elemente entsprechend dabei den möglichen -Werten für die Option \Option{cd}. +wird von der Option \Option{cd}[\PSet] bestimmt. Soll ein bestimmtes Element +des Layouts abweichend erscheinen, so kann eine der folgenden Optionen genutzt +werden, um dieses individuell anzupassen. Die gültigen Wertzuweisungen für die +einzelnen Elemente entsprechend dabei den möglichen Werten für die Option +\Option{cd}. \begin{Declaration}{\Option{cdtitle}[\PSet]} \printdeclarationlist% \index{Titel}\index{Layout!Titel}% % -Mit \Option{cdtitle} kann der Wert des Schlüssels \Option{cd} für die -Titelseite überschrieben werden. Es kann zwischen dem Standardtitel~-- welcher -durch \KOMAScript{} bereitgestellt wird~-- und dem Titel im \CD umgeschaltet -werden. Die neue Titelseite unterstützt alle durch \KOMAScript{} definierten -Befehle für den Titel.% +Mit der Option \Option{cdtitle} kann die allgemeine Einstellung für den Titel +überschrieben werden. Es kann zwischen dem normalen (\Option{cdtitle}[false]) +und dem im \CD umgeschaltet werden. Die neue Titelseite unterstützt alle durch +\KOMAScript{} definierten Befehle für den Titel.% \footnote{\raggedright% \Macro{extratitle}\Parameter{Schmutztitel},\Macro{titlehead}\Parameter{Kopf}, \Macro{subject}\Parameter{Typisierung},\Macro{title}\Parameter{Titel}, @@ -642,8 +659,8 @@ Befehle für den Titel.% \Macro{lowertitleback}\Parameter{Titelrückseitenfuß} und \Macro{dedication}\Parameter{Widmung} } -Zusätzlich werden viele neue Felder für den Titel definiert, welche vor allem -für den Titel einer wissenschaftlichen Arbeit von Relevanz sind. Genaueres dazu +Zusätzlich werden viele neue Felder definiert, welche vor allem für eine +wissenschaftliche Arbeit von Relevanz sind. Genaueres dazu ist in \autoref{sec:title} nachzulesen. Unabhängig von der gewählten Variante der Titelseite wird diese immer mit \Macro{maketitle} erzeugt. \end{Declaration} @@ -740,7 +757,7 @@ Vorderseite von Teil oder Kapitel gesetzt werden. \notudscrartcl erzeugte Rückseite verwendet. \item[color/colour] Im farbigen Layout ist auch die Rückseite von Teilen und Kapiteln farbig, - siehe \Option{clearcolor}. + \see*{\Option{clearcolor}}. \makeatletter\item@values[\PName{Seitenstil}\textsl{:}]\makeatother Mit der Angabe von \Option{cleardoublespecialpage}[\PName{Seitenstil}] kann ein beliebiger, bereits definierter Seitenstil für die Rückseite nach @@ -765,7 +782,7 @@ gegebenenfalls auch von Kapiteln~-- farbig gesetzt.% } Die Option wirkt sich ebenfalls auf die Rückseite des Titels aus.% \footnote{% - siehe \Macro{uppertitleback} und \Macro{lowertitleback} der + \see*{\Macro{uppertitleback} und \Macro{lowertitleback}} der \KOMAScript"=Dokumentation (\scrguide*) } Der Stil dieser zusätzlich eingefügten Rückseiten ist abhängig von der Option @@ -787,35 +804,50 @@ Der Stil dieser zusätzlich eingefügten Rückseiten ist abhängig von der Optio \printdeclarationlist% \label{sec:tudheadings} % -Ein zentrales Element des \CDs der \TnUD ist der eingeführte prägnante -Seitenkopf mit der Angabe von Fakultät (\Macro{faculty}), Einrichtung -(\Macro{department}), Institut (\Macro{institute}) und Lehrstuhl -(\Macro{chair}) in der dazugehörigen Kopfzeile mit Querbalken. Durch die -Verwendung von \Package{scrlayer-scrpage} lassen sich einzelne Seiten oder auch -ganze Dokumente sehr einfach in diesem Stil setzen. Hierzu muss lediglich einer -der Seitenstile mit \Macro{pagestyle}\Parameter{Seitenstil} geladen werden. - -Allen Seitenstilen ist der typische Kopf gemein. Der Fuß des Seitenstils -\PageStyle{empty.tudheadings} ist immer leer, \PageStyle{tudheadings} und -\PageStyle{plain.tudheadings} übernehmen die Einstellungen für den Fuß aus der -Anwenderschnittstelle von \Package{scrlayer-scrpage}.% +\ChangedAt*{% + v2.03!Seitenstile um zweifarbigen Kopf und farbigen Fuß erweitert% +}% +Ein zentrales Element des \CDs der \TnUD ist der prägnante Seitenkopf mit der +Angabe von Fakultät~(\Macro{faculty}), Einrichtung~(\Macro{department}), +Institut~(\Macro{institute}) und Lehrstuhl~(\Macro{chair}) im dazugehörigen +Querbalken. Durch die Nutzung des Paketes \Package{scrlayer-scrpage} lassen +sich entweder einzelne Seiten oder auch ganze Dokumente sehr einfach in diesem +Stil setzen. Hierzu muss lediglich mit \Macro{pagestyle}\Parameter{Seitenstil} +einer der Seitenstile geladen werden. + +Allen Seitenstilen gemein ist der typische Kopf mit dem charakteristischen +Querbalken, dessen Gestalt für \emph{alle} Seitenstile gleichermaßen über die +Option \Option{cdhead} angepasst werden kann. Die Ausprägung des Fußes ist für +die einzelnen Seitenstile unterschiedlich. Dieser ist der Verwendung des Stils +\PageStyle{empty.tudheadings} immer leer. Die beiden Stile~-- oder vielmehr das +Seitenstil-Paar~-- \PageStyle{tudheadings} und \PageStyle{plain.tudheadings} +übernehmen die Einstellungen für die Fußzeile aus der Anwenderschnittstelle von +\Package{scrlayer-scrpage}.% \footnote{% Es können die Befehle \Macro{lefoot}, \Macro{cefoot} und \Macro{refoot} sowie - \Macro{lofoot}, \Macro{cofoot} und \Macro{rofoot} verwendet werden. + \Macro{lofoot}, \Macro{cofoot} und \Macro{rofoot} respektive \Macro{ofoot}, + \Macro{cfoot} und \Macro{ifoot} genutzt werden. } -Wie diese zu verwenden ist, ist der \KOMAScript"=Anleitung zu entnehmen. -Alternativ zu einer eigenen Definition der Fußzeile kann außerdem die Option -\Option{cdfoot} verwendet werden. +Wie diese zu verwenden ist, kann der \KOMAScript"=Anleitung entnommen werden. +Alternativ zu einer eigenen Definition der Fußzeile lässt sich außerdem die +Option \Option{cdfoot} verwenden. -Sobald einer der neu definierten Seitenstile aktiviert wurde, sind diese -zusätzlich unter den Namen \PageStyle{headings}, \PageStyle{plain} und -\PageStyle{empty} verwendbar. Das hat den Vorteil, dass bei Optionen oder -Befehlen, die automatisch zwischen \PageStyle{headings}, \PageStyle{plain} -und \PageStyle{empty} umschalten, durch die einmalige Auswahl von einem der -Stile \PageStyle{tudheadings}, \PageStyle{plain.tudheadings} oder -\PageStyle{empty.tudheadings} nun zwischen diesen Stilen umgeschaltet wird. Um -auf das normale Verhalten zurückzuschalten, muss einer der beiden Seitenstile -\PageStyle{scrheadings} oder \PageStyle{plain.scrheadings} aktiviert werden. +Sobald einer der definierten Stile mit \Macro{pagestyle}\Parameter{Seitentil} +aktiviert wurde, sind die beiden Seitenstile \PageStyle{tudheadings} sowie +\PageStyle{plain.tudheadings} zusätzlich unter den Namen \PageStyle{headings} +respektive \PageStyle{plain} verwendbar. Dies hat den Vorteil, dass bei +Optionen oder Befehlen, welche automatisch zwischen den beiden Seitenstilen +\PageStyle{headings} und \PageStyle{plain} umschalten, durch die einmalige +Auswahl von einem der \PageStyle{tudheadings}-Stilen nun zwischen diesen +umgeschaltet wird. + +Der Seitenstil \PageStyle{empty} erzeugt allerdings weiterhin eine komplett +leere Seite. Soll eine Seite mit der prägnanten Kopfzeile der \TnUD und leerem +Seitenfuß erschienen, so muss \Macro{pagestyle}\PParameter{empty.tudheadings} +manuell aufgerufen werden. Um auf das typische Verhalten von \KOMAScript{} +zurückzuschalten und Seiten ohne den prägnanten Kopf der \TnUD zu erhalten, +muss einer der Stile \PageStyle{scrheadings} oder \PageStyle{plain.scrheadings} +aktiviert werden. \end{Declaration} \end{Declaration} \end{Declaration} @@ -837,15 +869,183 @@ Sollte der Platz in der ersten Zeile nicht ausreichen, erfolgt ein automatischer Zeilenumbruch. In besonderen Ausnahmefällen erlaubt das \CD die Angabe einer zusätzlichen -zweiten beziehungsweise dritten Zeile, welche weitere, frei wählbare Angaben -enthält. Diese kann mit dem Befehl \Macro{extraheadline}\Parameter{Textzeile} -definiert werden. +zweiten beziehungsweise dritten Zeile unterhalb der Angaben des Bereichs an der +\TnUD, welche weitere, frei wählbare Angaben enthält. Diese kann mit dem Befehl +\Macro{extraheadline}\Parameter{Textzeile} definiert werden. \end{Declaration} \end{Declaration} \end{Declaration} \end{Declaration} \end{Declaration} +\begin{Declaration}[v2.03]{\Option{cdhead}[\PSet]}[true][% + \Option{cdfont}[false]:false% +] +\printdeclarationlist% +\index{Kopfzeile!Schrift}% +\index{Layout!Kopfzeile}% +\index{Querbalken}\index{Layout!Querbalken}% +% +Mit dieser Option lassen sich für die \PageStyle{tudheadings}"=Seitenstile +sowohl die Gestalt des Logos sowie des Querbalkens als auch die darin +verwendete Schrift beeinflussen. Die folgenden Werte können für eine Anpassung +der Schriftart im Balken verwendet werden: +% +\begin{values} +\itemfalse + Sollte mit \Option{cdfont}[false] die Verwendung der Hausschrift im Stil des + \CDs der \TnUD deaktiviert worden sein, wird die Kopfzeile im Querbalken in + den Serifenlosen der genutzten Schrift gesetzt. Sind die Hausschriften + aktiviert, hat diese Einstellung keinen Einfluss. +\itemtrue*[light/lightfont/noheavyfont] + Im Querbalken wird für \Macro{faculty} \textubn{Univers~65~Bold} verwendet, + für die Felder \Macro{department}, \Macro{institute}, \Macro{chair} und + \Macro{extraheadline} kommt \textuln{Univers~45~Light} zum Einsatz. +\item[heavy/heavyfont] + Der Inhalt von \Macro{faculty} wird weiterhin in \textubn{Univers~65~Bold} + gesetzt, für die restlichen Felder wird \texturn{Univers~55~Regular} genutzt. +\end{values} +% +Bei der Ausprägung des Kopfes und des Querbalkens gibt es mehrere Varianten: +% +\begin{values} +\item[nocolor/nocolour/monochrome] + Der Kopf und die Linien des Querbalkens erscheinen in schwarzer Farbe. +\item[lightcolor/pale] + Sowohl Kopf als auch Querbalken werden in der primären Hausfarbe gesetzt. +\item[bicolor/bicolour/bichrome] + \ChangedAt{v2.03} Die Kopfzeile wird farblich abgesetzt, wobei der + Hintergrund des Logos und der Querbalken unterschiedlich ausfallen. Die + Außenlinien der Querbalkens entfallen. +\end{values} +% +Die Außenlinien des Querbalkens laufen entweder bis zum Text"~ oder jedoch bis +zum Blattrand. Für den Fall, dass ein randloser Ausdruck technisch nicht +möglich ist, können die Varianten bei denen der Querbalken bis an den Blattrand +reicht Probleme bereiten. Deshalb kann mit der Option \Option{cdhead} dessen +Breite angepasst werden. Normalerweise wird der Querbalken lediglich im +farbigen Layout in der Blattbreite erzeugt. +% +\begin{values} +\item[textwidth/slim] + Der Querbalken im Kopf erstreckt sich immer nur über den Textbereich. +\item[paperwidth/wide] + Die horizontale Ausdehnung des Querbalkens erstreckt sich immer bis an den + Blattrand. +\end{values} +\end{Declaration} + +\ToDo[imp,nxt]{Text im Seitenfuß}[v2.04] +\begin{Declaration}[% + v2.03!farbiger Hintergrund der Fußzeile möglich% +]{\Option{cdfoot}[\PBoolean]}[false]% +\printdeclarationlist% +\index{Kolumnentitel}\index{Layout!Kolumnentitel} +\index{Satzspiegel!doppelseitig}% + +Die \TUDScript-Klassen sind~-- insbesondere aufgrund der Möglichkeit zur +Verwendung des Paketes \Package{scrlayer-scrpage}~-- bei der Gestaltung der +Kopf"~ und Fußzeilen sehr flexibel und individuell anpassbar. Die Ausprägung +und der Inhalt dieser ist nicht explizit durch das \CD vorgegeben und können +durch den Anwender beliebig gewählt und geändert werden. Wird die Klassenoption +\Option{automark} angegeben, werden für das automatische Setzen der Marken die +Titel der Gliederungsebenen verwendet. Genaueres hierzu sowie der Möglichkeit, +die Kolumnentitel manuell festzulegen, ist dem Handbuch von \KOMAScript{} zu +entnehmen. + +Eine Möglichkeit für deren Gestaltung zeigt das Handbuch für das \CD der \TnUD. +Dieses wird ohne Kopf"~ und mit einer einfachen Fußzeile gesetzt, welche den +aktuellen Kolumnentitel sowie die Paginierung enthält. Mit \Option{cdfoot} kann +diese Ausprägung aktiviert werden, was auch für dieses Anwenderhandbuch +geschehen ist. +% +\begin{values} +\itemfalse + Die Kopf"~ und Fußzeilen zeigen Standardverhalten, zur manuellen Änderung + dieser sollte unbedingt das \KOMAScript"=Paket \Package{scrlayer-scrpage} + verwendet werden. +\itemtrue* + Die Kopf"~ und Fußzeilen des Dokumentes werden wie im Handbuch des \CDs der + \TnUD gesetzt. Im doppelseitigen Satz (\Option{twoside}[true]) wird die + Seitenzahl außen platziert. +\end{values} +% +\ChangedAt{v2.03} +Sollte einer der \PageStyle{tudheadings}-Seitenstil aktiviert sein und es wird +auf der erzeugten Seite ein farbiges Layout~-- beispielsweise der zweifarbige +Kopf (\Option{cdhead}[bicolor]) oder ein farbiger Seitenhintergrund~-- genutzt, +so kann auch die Fußzeile einen farbigen Hintergrund erhalten. +% +\begin{values} +\item[nocolor/nocolour/monochrome] + Der Fuß wird immer ohne farbigen Hintergrund gesetzt. +\item[bicolor/bicolour/bichrome] + Die Fußzeile wird farblich abgesetzt, falls entweder der zweifarbige Kopf + (\Option{cdhead}[bicolor]) oder zumindest eine Seite mit einem farbigen + Hintergrund in der Hausfarbe (Titel oder Kapitelseite) verwendet wurde. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Macro{headlogo}\LParameter\Parameter{Dateiname}} +\printdeclarationlist% +\index{Zweitlogo|?}\index{Layout!Zweitlogo}\index{\DDC-Logo}% +\index{Kopfzeile}\index{Kopfzeile!Logo}\index{Layout!Kopfzeile} +% +Neben dem Logo der \TnUD darf zusätzlich ein Zweitlogo im Kopf verwendet werden. +Dieses lässt sich mit diesem Befehl einbinden. Normalerweise wird es auf die +Höhe der Erstlogos skaliert. Über das optionale Argument können weitere +Formatierungsbefehle an den verwendeten Befehl \Macro{includegraphics} +durchgereicht werden, um beispielsweise die Größe des Zweitlogos anzupassen. +Welche Parameter angepasst werden können, ist der Dokumentation des +\Package{graphicx}-Paketes zu entnehmen. + +Sollte die Option \Option{ddc} aktiviert sein, wird das \DDC-Logo nicht im Kopf +sondern automatisch im Fuß gesetzt. Die Option \Option{ddchead} setzt dieses +auf jeden Fall im Kopf und überschreibt damit das mit \Macro{headlogo} +angegebene Zweitlogo. +\end{Declaration} + +\begin{Declaration}[v2.03]{% + \Macro{footlogo}\LParameter\Parameter{Dateinamenliste}% +} +\begin{Declaration}[v2.03]{\Macro{footlogosep}}% +\begin{Declaration}[v2.03]{\Length{footlogoheight}}% +\printdeclarationlist% +\index{Drittlogo|?}\index{Layout!Drittlogo}\index{\DDC-Logo}% +\index{Fußzeile}\index{Fußzeile!Logo}\index{Layout!Fußzeile}% + +Laut den Richtlinien des \CDs dürfen im Fußbereich weitere Logos erscheinen, +beispielsweise von kooperierenden Unternehmen oder Sponsoren. Die Dateinamen +der gewünschten Logos können als kommaseparierte Liste im obligatorischen +Argument des Befehls \Macro{footlogo} angegeben werden. Sollte tatsächlich +nicht nur ein Dateiname sondern eine Liste übergeben worden sein, so wird bei +der Ausgabe der Logos zwischen diesen jeweils der in \Macro{footlogosep} +gespeicherte Separator gesetzt. Die Voreinstellung dieses Befehls lautet +\Macro*{newcommand*}\Macro{footlogosep}\PParameter{\Macro*{hfill}} und kann +beliebig angepasst werden. Der Separator wird auch gesetzt, wenn in der +\Parameter{Dateinamenliste} lediglich ein Komma verwendet wurde. So kann man +beispielsweise ein Logo mit \Macro{footlogo}\PParameter{,\PName{Dateiname},} +zentriert im Fuß setzen. + +Das optionale Argument von \Macro{footlogo} wird an \Macro{includegraphics} +weitergereicht. Bitte beachten Sie dabei, dass dies für alle angegeben Dateien +aus der Liste gleichermaßen geschieht. Sollen für einzelne Logos individuelle +Einstellungen vorgenommen werden, so sind die entsprechenden Parameter im +obligatorischen Argument dem jeweiligen Dateinamen mit Doppelpunkt~\PValue{:} +anzuhängen (\Macro{footlogo}\PParameter{\PName{Dateiname}:\PName{Parameter}}), +wobei diese \emph{nach} den allgemeinen Einstellungen für alle Logos angewendet +werden.Die möglichen Parameter und Werte für die optionalen Argumente sind der +Dokumentation des \Package{graphicx}-Paketes zu entnehmen. + +Ohne die Angabe eines optionalen Argumentes werden alle Logos im Fuß auf die +Höhe \Length{footlogoheight} skaliert, welche vom Anwender ebenfalls angepasst +werden kann. Sollte die Höhe des Fußbereiches nicht ausreichen um alle Logos in +der gewünschten Größe darstellen zu können, so kann diese über die Option +\Option{extrabottommargin} angepasst werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + \begin{Declaration}[% v2.02!\protect\DDC-Logo automatisch in Kopf oder Fuß% ]{\Option{ddc}[\PSet]}[false] @@ -885,150 +1085,84 @@ werden: grauen verwendet. Für den Fuß wird der grüne Claim ebenfalls durch einen schwarzen ersetzt. Dies ist insbesondere für kleine Darstellungen des Logos im Fuß sinnvoll. -\item[gray/grey/cdgray/cdgrey] +\item[gray/grey] Dies Ausgabe des \DDC-Logos erfolgt in Graustufen. \item[black] Verwendung des Logos in Graustufen mit schwarzem Schriftzug. -\item[blue/cddarkblue] +\item[blue] Der Schriftzug und das Logo werden in der primären Hausfarbe \Color{HKS41} und den entsprechenden Abstufungen gesetzt \item[white] Das \DDC-Logo sowie der dazugehörige Schriftzug sind vollständig weiß. \end{values} % -\end{Declaration} -\end{Declaration} -\end{Declaration} - -\begin{Declaration}{% - \Macro{headlogo}\LParameter\Parameter{Dateiname}% -} -\printdeclarationlist% -\index{Zweitlogo|?}\index{Layout!Zweitlogo}\index{\DDC-Logo}% -% -Neben dem Logo der \TnUD darf zusätzlich ein Zweitlogo im Kopf verwendet werden. -Dieses lässt sich mit diesem Befehl einbinden. Normalerweise wird es auf die -Höhe der Erstlogos skaliert. Über das optionale Argument können weitere -Formatierungsbefehle an den verwendeten Befehl \Macro{includegraphics} -durchgereicht werden, um beispielsweise die Größe des Zweitlogos anzupassen. -Welche Parameter angepasst werden können, ist der Dokumentation des -\Package{graphicx}-Paketes zu entnehmen. +Die Größe des \DDC-Logos ist vorgegeben. Es wird sowohl im Kopf als auch im Fuß +in der gleichen Höhe gesetzt, wie das Logo der \TnUD. Wird es im Fuß gesetzt, +lässt sich die Größe allerdings über die Länge \Length{footlogoheight} ändern. +Sollte nach einer Vergrößerung der Darstellung die Höhe des Fußbereiches nicht +ausreichen, so kann diese über die Option \Option{extrabottommargin} angepasst +werden. -Sollte die Option \Option{ddc} aktiviert sein, wird das \DDC-Logo nicht im Kopf -sondern automatisch im Fuß gesetzt. Die Option \Option{ddchead} setzt dieses -auf jeden Fall im Kopf und überschreibt damit das mit \Macro{headlogo} -angegebene Zweitlogo. \end{Declaration} - -\begin{Declaration}{\Option{widehead}[\PBoolean]}% - [false][\Option{cd}[color]:true]% -\printdeclarationlist% -\index{Querbalken}\index{Layout!Querbalken}% -% -Für die \TUDScript-Klassen ist ein Seitenlayout entstanden, welche den Kopf des -\CDs umsetzt. Dieser besteht aus dem Logo der \TnUD sowie einem darunter -befindlichen Querbalken, in welchem Fakultät, Einrichtung, Institut und -Lehrstuhl% -\footnote{% - \Macro{faculty}, \Macro{department}, \Macro{institute} sowie \Macro{chair}% -} -aufgeführt werden können. Bei der Ausprägung dieses Balkens gibt es zwei -Varianten. Die Außenlinien laufen entweder bis zum Text"~ oder bis zum -Blattrand. - -Für den Fall, dass ein randloser Ausdruck technisch nicht möglich ist, -kann die letztere der beiden Variante Probleme bereiten. Deshalb kann mit der -Option \Option{widehead} die Breite des Querbalkens angepasst werden. -Normalerweise ist der Balken auf die Textbreite begrenzt, lediglich im farbigen -Layout wird dieser standardmäßig bis zum Blattrand verlängert. -% -\begin{values} -\itemfalse - Der Querbalken im Kopf erstreckt sich nur über den Textbereich. -\itemtrue* - Die horizontale Ausdehnung des Querbalkens erstreckt sich bis an den - Blattrand.\footnote{Voreinstellung bei \Option{cd}[color]} -\end{values} \end{Declaration} - -\begin{Declaration}[v2.02]{\Option{barfont}[\PSet]}% - [true][\Option{cdfont}[false]:false] -\printdeclarationlist% -\index{Kopfzeile!Schrift}% -\index{Layout!Kopfzeile}% -% -Mit dieser Option kann die Schrift im Querbalken der Kopfzeile für Seiten, -welche in einem der \PageStyle{tudheadings}"=Seitenstilen gesetzt wird, -beeinflusst werden. -% -\begin{values} -\itemfalse - Sollte mit \Option{cdfont}[false] die Verwendung der Hausschrift im Stil des - \CDs der \TnUD deaktiviert worden sein, wird die Kopfzeile im Querbalken in - den Serifenlosen der genutzten Schrift gesetzt. Sind die Hausschriften - aktiviert, hat diese Einstellung keinen Einfluss. -\itemtrue*[cdfont/light/lightfont/noheavyfont] - Im Querbalken wird für \Macro{faculty} \textubn{Univers~65~Bold} verwendet, - für die Felder \Macro{department}, \Macro{institute}, \Macro{chair} und - \Macro{extraheadline} kommt \textuln{Univers~45~Light} zum Einsatz. -\item[heavy/heavyfont] - Der Inhalt von \Macro{faculty} wird weiterhin in \textubn{Univers~65~Bold} - gesetzt, für die restlichen Felder wird \texturn{Univers~55~Regular} genutzt. -\end{values} \end{Declaration} \begin{Declaration}[% - v2.02!Parameter \Key{\Environment{tudpage}}{head} und - \Key{\Environment{tudpage}}{foot} entfernt + v2.02!\Key{\Environment{tudpage}}{head} \emph{entfällt}, + v2.02!\Key{\Environment{tudpage}}{foot} \emph{entfällt}, + v2.03!\Key{\Environment{tudpage}}{color} \emph{entfällt} ]{\Environment{tudpage}[\OLParameter{Sprache}]} \begin{Declaration}{\Key{\Environment{tudpage}}{language}[\PName{Sprache}]} \begin{Declaration}{\Key{\Environment{tudpage}}{columns}[\PName{Anzahl}]} -\begin{Declaration}{\Key{\Environment{tudpage}}{color}[\PName{Farbe}]} \begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{pagestyle}[\PSet]} -\begin{Declaration}{\Key{\Environment{tudpage}}{headlogo}[\PName{Dateiname}]} -\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddc}[\PSet]} -\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddchead}[\PSet]} -\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddcfoot}[\PSet]} -\begin{Declaration}{\Key{\Environment{tudpage}}{cdfont}[\PSet]} -\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{barfont}[\PSet]} -\begin{Declaration}{\Key{\Environment{tudpage}}{widehead}[\PBoolean]} +\begin{Declaration}{\Key{\Environment{tudpage}}{cdfont}[\PSet]}{% + \see*{\Option{cdfont}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Environment{tudpage}}{cdhead}[\PSet]}{% + \see*{\Option{cdhead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Environment{tudpage}}{cdfoot}[\PSet]}{% + \see*{\Option{cdfoot}'ppage'}% +} +\begin{Declaration}{\Key{\Environment{tudpage}}{headlogo}[\PName{Dateiname}]}{% + \see*{\Macro{headlogo}'ppage'}% +} +\begin{Declaration}[v2.03]{% + \Key{\Environment{tudpage}}{footlogo}[\PName{Dateinamenliste}] +}{\see*{\Macro{footlogo}'ppage'}} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddc}[\PSet]}{% + \see*{\Option{ddc}'ppage'}% +} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddchead}[\PSet]}{% + \see*{\Option{ddchead}'ppage'}% +} +\begin{Declaration}[v2.02]{\Key{\Environment{tudpage}}{ddcfoot}[\PSet]}{% + \see*{\Option{ddcfoot}'ppage'}% +} \printdeclarationlist% \index{Layout}\index{Layout!Seitenstil}% \index{Kopfzeile}\index{Layout!Kopfzeile}% \index{Fußzeile}\index{Layout!Fußzeile}% \index{Schrift}\index{Kopfzeile!Schrift} % -Diese Umgebung dient zum Setzen einer oder mehrerer Seiten innerhalb des -Dokumentes mit dem Kopf im \CD. Sie hat ihren Ursprung in einer früheren +Die \Environment{tudpage}"=Umgebung hat ihren Ursprung in einer früheren Version, als die \PageStyle{tudheadings}"=Seitenstile noch nicht verfügbar -waren. Diese können mittlerweile anstelle der \Environment{tudpage}"=Umgebung -verwendet werden. - -Dabei lassen sich verschiedene Parameter als optionales Argument angegeben. -Wird das Paket \Package{babel} genutzt, kann die in der Umgebung verwendete -Sprache mit \Key{\Environment{tudpage}}{language}[\PName{Sprache}] geändert -werden, was zur lokalen Anpassung der sprachspezifischen Trennungsmuster und +waren, welche mittlerweile anstelle dieser Umgebung verwendet werden können. +Für die \Environment{tudpage}"=Umgebung lassen sich verschiedene Parameter als +optionales Argument angegeben. Wird das Paket \Package{babel} genutzt, kann die +verwendete Sprache mit \Key{\Environment{tudpage}}{language}[\PName{Sprache}] +geändert werden, was zur Anpassung der sprachspezifischen Trennungsmuster und Bezeichner führt. Wurde das Paket \Package{multicol} geladen, wird mit dem Parameter \Key{\Environment{tudpage}}{columns}[\PName{Anzahl}] der Inhalt der -Umgebung mehrspaltig gesetzt. +Umgebung mehrspaltig gesetzt. Mit \Key{\Environment{tudpage}}{pagestyle} kann +der Seitenstil angepasst werden, wobei \PValue{headings}, \PValue{plain} und +\PValue{empty} gültige Werte sind. -Mit dem Parameter \Key{\Environment{tudpage}}{color} kann die Farbe des Kopfes -auf eine beliebige geändert werden. Diese ist für den Fall eines farbigen -Layouts (\Option{cd}[pale|color]) auf die primäre Hausfarbe \Color{HKS41} -gesetzt, sonst ist der Kopf standardmäßig schwarz. Außerdem kann mit -\Key{\Environment{tudpage}}{pagestyle} der Seitenstil angepasst werden. -Gültige Werte sind \PValue{headings}, \PValue{plain}, \PValue{empty} oder einer -der \PageStyle{tudheadings}"=Seitenstile. Soll lokal ein anderes Zweitlogo als -das mit \Macro{headlogo} gegebene erscheinen, so kann der Parameter -\Key{\Environment{tudpage}}{headlogo}[\PName{Dateiname}] verwendet werden. - -Die anderen Parameter entsprechen in ihrem Verhalten prinzipiell den -gleichnamigen Klassenoptionen, wirken sich jedoch nur lokal innerhalb der -\Environment{tudpage}"=Umgebung aus. Dies sind namentlich sowohl die Optionen -\Option{cdfont}'full' sowie \Option{ddc}, \Option{ddchead} und -\Option{ddcfoot}'full' als auch \Option{barfont} und \Option{widehead}'page'. -Das Verhalten sowie die jeweils gültigen Wertzuweisungen können in den -entsprechenden Abschnitten der Dokumentation nachgelesen werden. +Die weiteren Parameter entsprechen in ihrem Verhalten prinzipiell den +gleichnamigen Klassenoptionen respektive Befehlen, wirken sich jedoch nur lokal +innerhalb der \Environment{tudpage}"=Umgebung aus. Das Verhalten sowie die +jeweils gültigen Wertzuweisungen können in den entsprechenden Abschnitten des +Handbuchs nachgelesen werden. \end{Declaration} \end{Declaration} \end{Declaration} @@ -1043,7 +1177,7 @@ entsprechenden Abschnitten der Dokumentation nachgelesen werden. \end{Declaration} \ToDo[imp,nxt]{% - Titelseite und Cover auf Drittlogos und dergleichen mit scrlayer erweitern. + Titelseite und Cover auf freie Gestaltung mit scrlayer erweitern. }[v2.x] @@ -1053,6 +1187,9 @@ entsprechenden Abschnitten der Dokumentation nachgelesen werden. \index{Umschlagseite|!}% \index{Titel!Umschlagseite}\index{Layout!Umschlagseite}% % +\ChangedAt*{% + v2.03!Bugfix für Umschlagseite und Titel beim Satzspiegel% +} Für den Titel werden alle Felder unterstützt, die bereits durch \KOMAScript{} bereitgestellt werden. Darüber hinaus werden für die \TUDScript-Klassen weitere Felder definiert, die Auswirkungen auf die Gestalt des Titels haben. Diese @@ -1093,7 +1230,30 @@ standardmäßig in \DIN sondern in \textubn{Univers~65~Bold} ausgegeben wird. \begin{Declaration}[v2.02]{% \Key{\Macro{maketitle}}{pagenumber}[\PName{Seitenzahl}]% } -\begin{Declaration}[v2.02]{\Key{\Macro{maketitle}}{cdfont}[\PSet]} +\begin{Declaration}[v2.02]{\Key{\Macro{maketitle}}{cdfont}[\PSet]}{% + \see*{\Option{cdfont}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{cdhead}[\PSet]}{% + \see*{\Option{cdhead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{cdfoot}[\PSet]}{% + \see*{\Option{cdfoot}'ppage'}% +} +\begin{Declaration}[v2.03]{% + \Key{\Macro{maketitle}}{headlogo}[\PName{Dateiname}]% +}{\see*{\Macro{headlogo}'ppage'}} +\begin{Declaration}[v2.03]{% + \Key{\Macro{maketitle}}{footlogo}[\PName{Dateinamenliste}] +}{\see*{\Macro{footlogo}'ppage'}} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{ddc}[\PSet]}{% + \see*{\Option{ddc}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{ddchead}[\PSet]}{% + \see*{\Option{ddchead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{maketitle}}{ddcfoot}[\PSet]}{% + \see*{\Option{ddcfoot}'ppage'}% +} \printdeclarationlist% \index{Layout!Titel}% \index{Satzspiegel!doppelseitig}% @@ -1102,35 +1262,40 @@ Der Befehl \Macro{maketitle} setzt für \Option{cdtitle}[false] den normalen \KOMAScript"=Titel{}, ansonsten wird die Titelseite im \CD der \TnUD erzeugt. Letztere Variante ist im Vergleich zum Standardtitel um eine Vielzahl von Feldern erweitert worden und erlaubt insbesondere die Angabe von Daten für das -Deckblatt einer akademischen Abschlussarbeit. Die einzelnen Felder werden in -diesem \autorefname erläutert. Wird das Dokument doppelseitig und mit rechts -öffnenden Kapiteln gesetzt,% +Deckblatt einer akademischen Abschlussarbeit. Die einzelnen Felder werden +später in diesem \autorefname erläutert. Wird das Dokument doppelseitig und mit +rechts öffnenden Kapiteln gesetzt,% \footnote{% \Option{twoside} und \Option{open}[right], Standard für \Class{tudscrbook} } -so wird zusätzlich die Option \Option{clearcolor} beachtet. +so wird zusätzlich die Option \Option{clearcolor} beachtet. Dies gilt es +insbesondere bei der Verwendung der Befehle \Macro{uppertitleback} respektive +\Macro{lowertitleback} für die Titelrückseite zu beachten. Das optionale Argument erlaubt~-- ebenso wie bei den \KOMAScript"=Klassen~-- die Änderung der Seitenzahl der Titelseite. Diese wird jedoch nicht ausgegeben, sondern beeinflusst lediglich die Zählung. Sie sollten hier unbedingt eine ungerade Zahl wählen, da sonst die gesamte Zählung durcheinander gerät. -Zusätzlich kann der Parameter \Key{\Macro{maketitle}}{cdfont} im optionalen -Argument verwendet werden, um die Nutzung der Schriften des \CDs zu regulieren. -Er entspricht in seinem Verhalten der gleichnamigen Klassenoption. Die gültigen -Wertzuweisungen können der Beschreibung der Option \Option{cdfont}'full' -entnommen werden. Die Einstellungen dieses Parameters wirkt sich nur lokal und -einzig auf die Umschlagseite aus. +Wird eine Titelseite (\Option{titlepage}[true]) im \CD der \TnUD gesetzt +(\Option{cdtitle}[true]), können auch die weiterhin aufgeführten Parameter im +optionalen Argument verwendet werden. Diese entsprechen in ihrem Verhalten den +gleichnamigen Optionen respektive Befehlen, wirken sich jedoch nur lokal und +einzig auf die Titelseite aus. So kann beispielsweise die Nutzung eines +\DDC-Logos auf den Titel beschränkt bleiben. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} \end{Declaration} \end{Declaration} \end{Declaration} \begin{Declaration}{% - \Macro{maketitleonecolumn}\OParameter{Seitenzahl}\Parameter{Einspaltentext}% -} -\begin{Declaration}[v2.02]{% - \Key{\Macro{maketitleonecolumn}}{pagenumber}[\PName{Seitenzahl}]% + \Macro{maketitleonecolumn}\OLParameter{Seitenzahl}\Parameter{Einspaltentext}% } -\begin{Declaration}[v2.02]{\Key{\Macro{maketitleonecolumn}}{cdfont}[\PSet]} \printdeclarationlist% \index{Layout!Titel}% \index{Satzspiegel!doppelseitig}% @@ -1138,22 +1303,25 @@ einzig auf die Umschlagseite aus. % Im zweispaltigen Satz (\Option{twocolumn}) wird mit \Macro{maketitle} die Titelseite selbst immer einspaltig gesetzt. Direkt nach dem Titel folgt -normalerweise der zweispaltige Fließtext. Mit dem Befehl -\Macro{maketitleonecolumn} -ermöglichen die \TUDScript-Klassen, nach dem Titel zusätzlich noch weitere -Textpassagen~-- beispielsweise eine Zusammenfassung~-- einspaltig zu setzen. +normalerweise der zweispaltige Fließtext. Mit dem \TUDScript-Befehl +\Macro{maketitleonecolumn} kann nach dem Titel zusätzlich noch weiterer +Inhalt~-- beispielsweise eine Zusammenfassung~-- einspaltig gesetzt werden. Wird der Befehl bei einer Titelseite (\Option{titlepage}[true]) verwendet, wird -der Inhalt des Argumentes direkt nach dieser auf einer neuen Seite ebenfalls -einspaltig ausgegeben. Kommt jedoch ein Titelkopf (\Option{titlepage}[false]) -zum Einsatz, so folgt nach diesem die einspaltige Textpassage aus dem Argument. -Danach wird auf das zweispaltige Layout umgeschaltet, - -Der optionale Parameter von \Macro{maketitleonecolumn} kann äquivalent zum -Befehl \Macro{maketitle} für die Anpassung der Seitenzahl und der verwendeten -Schrift verwendet werden. -\end{Declaration} -\end{Declaration} +der Inhalt des Argumentes (\PName{Einspaltentext}) direkt nach dieser auf einer +oder gegebenenfalls mehreren neuen Seiten ebenfalls einspaltig ausgegeben. +Kommt jedoch ein Titelkopf (\Option{titlepage}[false]) zum Einsatz, so folgt +diesem die einspaltige Textpassage aus dem obligatorischen Argument direkt. +Dabei erfolgt gegebenenfalls ein automatischer Seitenumbruch, falls der Inhalt +nicht auf eine einzelne Seite passt. Nach dem \PName{Einspaltentext} des +obligatorischen Argumentes wird direkt danach und ohne zusätzlichen Umbruch auf +das zweispaltige Layout umgeschaltet. + +Der optionale Parameter von \Macro{maketitleonecolumn} kann äquivalent zu +\Macro{maketitle} für die Änderung der Seitenzahl, der verwendeten Schrift +sowie zur Anpassung von Kopf und Fuß verwendet werden. Dabei ist zu beachten, +dass ein Großteil der Parameter nur Auswirkungen haben, falls eine Titelseite +(\Option{titlepage}[true]) verwendet wird. \end{Declaration} \begin{Declaration}[% @@ -1162,18 +1330,41 @@ Schrift verwendet werden. \Font*{subject}{,} \Font*{title}{,} \Font*{subtitle}{,} \Font*{author}{,} \Font*{publishers}{,} \Font*{titlepage} und \Font*{thesis}% ]{\Macro{makecover}\OLParameter{Seitenzahl}} -\begin{Declaration}{\Key{\Macro{makecover}}{cdlayout}[\PBoolean]} \begin{Declaration}[v2.02]{% \Key{\Macro{makecover}}{pagenumber}[\PName{Seitenzahl}]% } -\begin{Declaration}{\Key{\Macro{makecover}}{cdfont}[\PSet]} +\begin{Declaration}{\Key{\Macro{makecover}}{cdgeometry}[\PBoolean]} +\begin{Declaration}[v2.02]{\Key{\Macro{makecover}}{cdfont}[\PSet]}{% + \see*{\Option{cdfont}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{cdhead}[\PSet]}{% + \see*{\Option{cdhead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{cdfoot}[\PSet]}{% + \see*{\Option{cdfoot}'ppage'}% +} +\begin{Declaration}[v2.03]{% + \Key{\Macro{makecover}}{headlogo}[\PName{Dateiname}]% +}{\see*{\Macro{headlogo}'ppage'}} +\begin{Declaration}[v2.03]{% + \Key{\Macro{makecover}}{footlogo}[\PName{Dateinamenliste}] +}{\see*{\Macro{footlogo}'ppage'}} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{ddc}[\PSet]}{% + \see*{\Option{ddc}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{ddchead}[\PSet]}{% + \see*{\Option{ddchead}'ppage'}% +} +\begin{Declaration}[v2.03]{\Key{\Macro{makecover}}{ddcfoot}[\PSet]}{% + \see*{\Option{ddcfoot}'ppage'}% +} \printdeclarationlist% % Eine Umschlagseite wird zumeist für gebundene Abschlussarbeiten verlangt, um diese beispielsweise für einen Prägedruck auf dem Buchdeckel zu verwenden. -Hierfür ist es sinnvoll, mit \Option{cdcover}[true] die farbige Ausprägung der -Umschlagseite zu deaktivieren, falls diese für das restliche Dokument aktiv ist -(\Option{cd}[color]). +Deshalb ist die farbige Ausprägung der Umschlagseite auch deaktiviert, wenn +diese für das restliche Dokument aktiv ist (\Option{cd}[color]). Dies kann +jedoch jederzeit mit \Option{cdcover}[\PSet] überschrieben werden. Wird \Option{cdcover}[true] gewählt, so wird die Umschlagseite im \CD der \TnUD gesetzt. Auf dieser werden der Titel des Dokumentes, die Typisierung @@ -1187,77 +1378,26 @@ Für die Einstellung \Option{cdcover}[false] wird lediglich der normale Die Titelseite selbst gehört immer zum Buchblock und wird daher im gleichen Satzspiegel gesetzt. Dem entgegen steht die Umschlagseite, welche zumeist in einem anderen Layout erscheint. Normalerweise wird das Cover~-- unabhängig von -der Option \Option{geometry}~-- im asymmetrischen Satzspiegel des \CDs gesetzt. -Mit \Key{\Macro{makecover}}{cdlayout}[false] im optionalen Argument kann das -Verhalten geändert werden. In diesem Fall erscheint auch die Umschlagseite im -Buchblock des restlichen Dokumentes. Allerdings können für diese Einstellung -die Seitenränder durch den Nutzer mit den Befehlen \Macro{coverpagetopmargin}, +der Option \Option{cdgeometry}~-- im asymmetrischen Satzspiegel des \CDs +gesetzt. Mit \Key{\Macro{makecover}}{cdgeometry}[false] im optionalen Argument +kann das Verhalten geändert werden. In diesem Fall erscheint auch die +Umschlagseite im Buchblock des restlichen Dokumentes. Allerdings können für +diese Einstellung die Seitenränder mit den Befehlen \Macro{coverpagetopmargin}, \Macro{coverpageleftmargin}, \Macro{coverpagerightmargin} sowie -\Macro{coverpagebottommargin} frei angepasst werden. Mehr dazu ist im -\KOMAScript"=Handbuch \scrguide zu finden. +\Macro{coverpagebottommargin} durch den Nutzer frei angepasst werden. Mehr dazu +ist im \KOMAScript"=Handbuch \scrguide zu finden. + +Das optionale Argument erlaubt die Änderung der Seitenzahl der Umschlagseite. +Diese wird jedoch nicht ausgegeben, sondern beeinflusst lediglich die Zählung. +Sie sollten hier unbedingt eine ungerade Zahl wählen, da sonst die gesamte +Zählung durcheinander gerät. Die weiterhin aufgeführten Parameter entsprechen +in ihrem Verhalten den gleichnamigen Optionen respektive Befehlen, wirken sich +jedoch nur lokal und einzig auf die Umschlagseite aus. -Die beiden anderen optionalen Parameter \Key{\Macro{makecover}}{pagenumber} -sowie \Key{\Macro{makecover}}{cdfont} dienen~-- äquivalent zum Befehl -\Macro{maketitle}~-- zur Anpassung der Seitenzahl und der verwendeten Schrift. \end{Declaration} \end{Declaration} \end{Declaration} \end{Declaration} - -\begin{Declaration}{\Macro{extratitle}\Parameter{Schmutztitel}} -\begin{Declaration}{\Macro{titlehead}\Parameter{Kopf}} -\begin{Declaration}{\Macro{title}\Parameter{Titel}} -\begin{Declaration}[% - v2.01a!Bugfix für Schriftstärke bei Verwendung des Untertitels% -]{\Macro{subtitle}\Parameter{Untertitel}} -\begin{Declaration}{\Macro{publishers}\Parameter{Verlag}} -\begin{Declaration}{\Macro{thanks}\Parameter{Fußnote}} -\begin{Declaration}{\Macro{uppertitleback}\Parameter{Titelrückseitenkopf}} -\begin{Declaration}{\Macro{lowertitleback}\Parameter{Titelrückseitenfuß}} -\begin{Declaration}{\Macro{dedication}\Parameter{Widmung}} -\printdeclarationlist% -\index{Titel!Felder}% -% -Diese Befehle entsprechen den in ihrem Verhalten den originalen Pendants der -\KOMAScript"=Klassen{} und sollen hier der Vollständigkeit halber erwähnt -werden. - -Die Ausgabe des mit \Macro{extratitle} definierten Schmutztitels~-- welcher -beliebig gestaltet und formatiert werden kann~-- erfolgt als Bestandteil der -Titelei mit \Macro{maketitle} vor der eigentlichen Titelseite. Mit dem Befehl -\Macro{titlehead} kann ein zusätzlicher, beliebig formatierbarer Text oberhalb -der Typisierung und des Titels ausgegeben werden. Da die vertikale Position des -Dokumenttitels durch das \CD fest vorgegeben ist, kann es~-- im Gegensatz zu -den \KOMAScript"=Klassen~-- passieren, dass der Kopf des Haupttitels selbst in -die Kopfzeile ragt. Dies wird durch die \TUDScript-Klassen nicht geprüft und -muss gegebenenfalls vom Anwender kontrolliert werden. - -Die Befehle \Macro{title} und \Macro{subtitle} bedürfen keiner weiteren -Erklärung. Anzumerken ist, dass sowohl Titel als auch Untertitel normalerweise -in Majuskeln und \DIN gesetzt werden. Der mit dem Befehl \Macro{publishers} -definierte Inhalt muss nicht zwingende einen Verlag bezeichnen sondern kann -auch andere Informationen beinhalten, welche am Ende der Titelseite ausgegeben -werden sollen. - -Fußnoten werden auf dem Titel nicht mit \Macro{footnote}, sondern mit der -Anweisung \Macro{thanks} erzeugt. Diese dienen in der Regel für Anmerkungen bei -Titel oder den Autoren. Als Fußnotenzeichen werden dabei Symbole statt Zahlen -verwendet. Der Befehl \Macro{thanks} kann nur innerhalb des Arguments einer -der Anweisungen für die Titelseite wie beispielsweise \Macro{author} oder -\Macro{title} verwendet werden. - -\index{Satzspiegel!doppelseitig}% -Im doppelseitigen Druck lässt sich die Rückseite der Haupttitelseite für -weitere Angaben nutzen. Sowohl den Titelrückseitenkopf als auch den -Titelrückseitenfuß kann der Anwender mit \Macro{uppertitleback} und -\Macro{lowertitleback} frei gestalten. - -Mit \Macro{dedication} kann eine eigene Widmungsseite zentriert und in etwas -größerer Schrift gesetzt werden. Die Rückseite ist wie die des Schmutztitels -grundsätzlich leer. Die Widmung wird zusammen mit der restlichen Titelei durch -\Macro{maketitle} ausgegeben und muss daher vor dieser Anweisung definiert sein. -\end{Declaration} -\end{Declaration} \end{Declaration} \end{Declaration} \end{Declaration} @@ -1272,14 +1412,13 @@ grundsätzlich leer. Die Widmung wird zusammen mit der restlichen Titelei durch % Für den Titel und die Umschlagseite werden durch die \TUDScript-Klassen eine Reihe von zusätzlichen Feldern bereitgestellt. Einigen dieser Felder wird -eine Beschreibung (siehe dazu \autoref{sec:localization}) vorangestellt. -Dazwischen wird bei der Ausgabe ein Trennzeichen eingefügt. Ein Doppelpunkt -gefolgt von einem Leerzeichen (:\Macro*{nobreakspace}) ist hierfür die -Voreinstellung. Mit dem Befehl \Macro{titledelimiter} lässt sich dieses -Trennzeichen beliebig an die individuellen Wünsche des Anwenders anpassen. +eine Beschreibung (\see*{\autoref{sec:localization}}) vorangestellt. Dazwischen +wird bei der Ausgabe ein Trennzeichen eingefügt. Ein Doppelpunkt gefolgt von +einem Leerzeichen (:\Macro*{nobreakspace}) ist hierfür die Voreinstellung. Mit +dem Befehl \Macro{titledelimiter} lässt sich dieses Trennzeichen beliebig an +die individuellen Wünsche des Anwenders anpassen. \end{Declaration} - \begin{Declaration}{\Macro{author}\Parameter{Autor(en)}} \begin{Declaration}{\Macro{authormore}\Parameter{Autorenzusatz}} \begin{Declaration}{\Macro{dateofbirth}\Parameter{Geburtsdatum}} @@ -1457,8 +1596,7 @@ diesem Fall ignoriert. \end{values} \end{Declaration} -\Rename[macros]{v2.02}{\Macro{degree}}{\Macro{graduation}} -\begin{Declaration}{\Macro{graduation}\OParameter{Kurzform}\Parameter{Grad}} +\begin{Declaration}[v2.02]{\Macro{graduation}\OParameter{Kurzform}\Parameter{Grad}} \printdeclarationlist% \index{Titel!Felder}% % @@ -1516,6 +1654,68 @@ alle Datumsfelder des Dokumentes und folglich auch für die beiden Felder \Macro{date} und \Macro{defensedate} verwendet. \end{Declaration} \end{Declaration} + +\begin{Declaration}{\Macro{extratitle}\Parameter{Schmutztitel}} +\begin{Declaration}{\Macro{titlehead}\Parameter{Kopf}} +\begin{Declaration}{\Macro{title}\Parameter{Titel}} +\begin{Declaration}[% + v2.01a!Bugfix für Schriftstärke bei Verwendung des Untertitels% +]{\Macro{subtitle}\Parameter{Untertitel}} +\begin{Declaration}{\Macro{publishers}\Parameter{Verlag}} +\begin{Declaration}{\Macro{thanks}\Parameter{Fußnote}} +\begin{Declaration}{\Macro{uppertitleback}\Parameter{Titelrückseitenkopf}} +\begin{Declaration}{\Macro{lowertitleback}\Parameter{Titelrückseitenfuß}} +\begin{Declaration}{\Macro{dedication}\Parameter{Widmung}} +\printdeclarationlist% +\index{Titel!Felder}% +% +Diese Befehle entsprechen den in ihrem Verhalten den originalen Pendants der +\KOMAScript"=Klassen{} und sollen hier der Vollständigkeit halber erwähnt +werden. + +Die Ausgabe des mit \Macro{extratitle} definierten Schmutztitels~-- welcher +beliebig gestaltet und formatiert werden kann~-- erfolgt als Bestandteil der +Titelei mit \Macro{maketitle} vor der eigentlichen Titelseite. Mit dem Befehl +\Macro{titlehead} kann ein zusätzlicher, beliebig formatierbarer Text oberhalb +der Typisierung und des Titels ausgegeben werden. Da die vertikale Position des +Dokumenttitels durch das \CD fest vorgegeben ist, kann es~-- im Gegensatz zu +den \KOMAScript"=Klassen~-- passieren, dass der Kopf des Haupttitels selbst in +die Kopfzeile ragt. Dies wird durch die \TUDScript-Klassen nicht geprüft und +muss gegebenenfalls vom Anwender kontrolliert werden. + +Die Befehle \Macro{title} und \Macro{subtitle} bedürfen keiner weiteren +Erklärung. Anzumerken ist, dass sowohl Titel als auch Untertitel normalerweise +in Majuskeln und \DIN gesetzt werden. Der mit dem Befehl \Macro{publishers} +definierte Inhalt muss nicht zwingende einen Verlag bezeichnen sondern kann +auch andere Informationen beinhalten, welche am Ende der Titelseite ausgegeben +werden sollen. + +Fußnoten werden auf dem Titel nicht mit \Macro{footnote}, sondern mit der +Anweisung \Macro{thanks} erzeugt. Diese dienen in der Regel für Anmerkungen bei +Titel oder den Autoren. Als Fußnotenzeichen werden dabei Symbole statt Zahlen +verwendet. Der Befehl \Macro{thanks} kann nur innerhalb des Arguments einer +der Anweisungen für die Titelseite wie beispielsweise \Macro{author} oder +\Macro{title} verwendet werden. + +\index{Satzspiegel!doppelseitig}% +Im doppelseitigen Druck lässt sich die Rückseite der Haupttitelseite für +weitere Angaben nutzen. Sowohl den Titelrückseitenkopf als auch den +Titelrückseitenfuß kann der Anwender mit \Macro{uppertitleback} und +\Macro{lowertitleback} frei gestalten. + +Mit \Macro{dedication} kann eine eigene Widmungsseite zentriert und in etwas +größerer Schrift gesetzt werden. Die Rückseite ist wie die des Schmutztitels +grundsätzlich leer. Die Widmung wird zusammen mit der restlichen Titelei durch +\Macro{maketitle} ausgegeben und muss daher vor dieser Anweisung definiert sein. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} \index{Titel|!)} @@ -1524,7 +1724,7 @@ alle Datumsfelder des Dokumentes und folglich auch für die beiden Felder % \ChangedAt{% v2.02!\PageStyle{plain.tudheadings} wird genutzt!\Macro{partpagestyle}% -} +}[Implementierung] Wird für die Teileseiten das Layout des \CDs verwendet, so wird der Seitenstil dieser (\Macro{partpagestyle}) auf \PageStyle{plain.tudheadings} gesetzt. Möchten Sie stattdessen einen anderen Seitenstil nutzen, so kann dieser mit @@ -1574,22 +1774,22 @@ standardmäßig aktiviert. \notudscrartcl \begin{values} \itemfalse Es gibt keine Sonderstellung von Kapiteln, der nachfolgende Text wird direkt - unter der Überschrift auf der gleichen Seite ausgegeben. + unter der Überschrift respektive nach der mit \Macro{setchapterpreamble} + erzeugten Kapitelpräambel auf der gleichen Seite ausgegeben. \itemtrue* - Die Kapitelüberschrift wird auf einer separaten Seite gesetzt, der folgende - Text wird erst auf der nächsten beziehungsweise übernächsten Seite - ausgegeben. Siehe dazu auch die Option \Option{cleardoublespecialpage}. + Die Kapitelüberschrift und gegebenenfalls die Kapitelpräambel werden auf + einer separaten Seite gesetzt. Der folgende Text erscheint auf der nächsten + respektive übernächsten Seite, \seealso*{\Option{cleardoublespecialpage}}. \end{values} % \ChangedAt{% v2.02!nicht mehr abhängig von \Macro{partpagestyle}!\Macro{chapterpagestyle} -} +}[Implementierung] Mit \Macro*{renewcommand*}\PParameter{\Macro{chapterpagestyle}}% \Parameter{Seitenstil} lässt sich übrigens~-- unabhängig von der Option -\Option{chapterpage}~-- der Seitenstil von Kapiteln anpassen. - -Außerdem empfehle ich insbesondere bei der Verwendung separater Kapitelseiten -das Aktivieren der \KOMAScript-Option \Option{chapterprefix}. Damit werden die +\Option{chapterpage}~-- der Seitenstil von Kapiteln anpassen. Bei der +Verwendung von separaten Kapitelseiten ist außerdem das Aktivieren der +\KOMAScript-Option \Option{chapterprefix} empfehlenswert. Damit werden die Kapitelüberschriften mit einer Vorsatzzeile gesetzt. Falls ein nummeriertes Kapitel erzeugt wird, so wird zunächst in einer Zeile \enquote{Kapitel} gefolgt von der aktuellen Kapitelnummer ausgegeben, in der nächsten Zeile wird @@ -1599,11 +1799,12 @@ nachzulesen. \end{Declaration} -\subsection{Satzspiegel und Kolumnentitel} -\begin{Declaration}{\Option{geometry}[\PSet]}[true]% +\subsection{Der Satzspiegel} +\begin{Declaration}[v2.03]{\Option{cdgeometry}[\PSet]}[true]% \printdeclarationlist% +\index{Satzspiegel|(}\index{Layout!Satzspiegel|(}% \index{Seitenstil}\index{Layout!Seitenstil}% -\index{Satzspiegel}\index{Satzspiegel!doppelseitig}\index{Layout!Satzspiegel}% +\index{Satzspiegel!doppelseitig}% \index{Layout!Seitenränder}% % Diese Option ist für die Aufteilung beziehungsweise die Berechnung des @@ -1615,14 +1816,14 @@ vernünftigen doppelseitigen Satz zu ermöglichen.% Des Weiteren besteht die Möglichkeit, auf das Standardverhalten von \KOMAScript{} zurückzufallen und die Satzspiegelberechnung durch das Paket \Package{typearea} vornehmen zu lassen. Hier hat insbesondere die Klassenoption -\Option{DIV}[\PSet] maßgeblichen Einfluss auf den Satzspiegel. Siehe dazu die -Dokumentation von \KOMAScript{}. +\Option{DIV}[\PSet] maßgeblichen Einfluss auf den Satzspiegel. Mehr dazu ist in +der Dokumentation von \KOMAScript zu finden. % \begin{values} \itemfalse Die Satzspiegelberechnung erfolgt via \Package{typearea}, die Vorgaben des \CDs bezüglich der Seitenränder werden ignoriert. -\itemtrue*[tud/cd/asymmetric] +\itemtrue*[asymmetric/cd] Die Seitenränder werden im asymmetrischen Stil des \CDs fest definiert und auch für den doppelseitigen Satz (\Option{twoside}[true]) genutzt.% \footnote{links: 30\,mm, rechts: 20\,mm, oben: 25\,mm, unten: 30\,mm} @@ -1631,10 +1832,9 @@ Dokumentation von \KOMAScript{}. zentriert.% \footnote{links: 25\,mm, rechts: 25\,mm, oben: 25\,mm, unten: 30\,mm} \item[balanced/twoside] - Im einseitigen Layout ist das Verhalten der Einstellung identisch zu - \Option{geometry}[symmetric]. Beim doppelseitigen Satz wird der Satzspiegel - derart verändert, dass die Ränder der inneren Seiten schmaler sind als die - der äußeren.% + Im einseitigen Layout ist diese Einstellung zu \Option{cdgeometry}[symmetric] + identisch. Beim doppelseitigen Satz wird der Satzspiegel derart verändert, + dass die Ränder der inneren Seiten schmaler sind als die der äußeren.% \footnote{innen: 20\,mm, außen: 30\,mm, oben: 25\,mm, unten: 30\,mm} \Attention{% Der so erzeugte Satzspiegel ist jedoch nicht sehr vorteilhaft. Es ist zu @@ -1644,12 +1844,43 @@ Dokumentation von \KOMAScript{}. } \end{values} % -Für die Festlegung der Seitenränder wird das Paket \Package{geometry} -verwendet. Ist \Option{geometry}[false] gewählt, erfolgt die Berechnung des -Satzspiegels durch \Package{typearea}. Die damit berechneten Werte werden -anschließend an \Package{geometry} weitergereicht und durch dieses umgesetzt. +Für die Festlegung der Seitenränder wird das Paket \Package{geometry} genutzt. +Ist \Option{cdgeometry}[false] gewählt, erfolgt die Berechnung des Satzspiegels +durch \Package{typearea}. Die damit berechneten Werte werden anschließend an +\Package{geometry} weitergereicht und durch dieses umgesetzt. +\end{Declaration} + +\begin{Declaration}[v2.03]{\Option{extrabottommargin}[\PName{Höhe}]}% +\printdeclarationlist% +\index{Fußzeile|?} +% +Mit dieser Option kann die Größe des unteren Seitenrandes angepasst werden, +wenn der Satzspiegel des \CDs (\Option{cdgeometry}[true/symmetric/balanced]) +verwendet wird. Insbesondere für den Fall, dass Drittlogos im Fußbereich der +Seiten im Stil \PageStyle{tudheadings} verwendet werden, kann dieser unter +Umständen etwas zu klein sein. Dabei wird der Fußbereich durch positive Werte +vergrößert, negative Werte verkleinern diesen entsprechend. Es spielt dabei +keine Rolle, ob eine \hologo{LaTeX}-Länge, ein \hologo{TeX}-Abstand oder eine +\hologo{TeX}-Ausdehnung als Länge bei der Wertzuweisung verwendet wird. \end{Declaration} +\subsubsection{Kopf"~ und Fußzeile im Zusammenspiel mit dem Satzspiegel} +\index{Kopfzeile|?}\index{Layout!Kopfzeile}% +\index{Fußzeile|?}\index{Layout!Fußzeile}% +Da im \CD nicht festgelegt ist, wie die Gestaltung der Kopf"~ und Fußzeilen in +einer wissenschaftlichen Arbeit auszuführen ist, bleibt dem Nutzer dafür eine +gewisse Freiheit. Dafür sollte idealerweise das zu \KOMAScript{} gehörige Paket +\Package{scrlayer-scrpage} genutzt werden. + +In der Dokumentation zu \Package{typearea} wird auch darauf eingegangen, wann +Kopf"~ und Fußzeile bei der Satzspiegelkonstruktion entweder dem Rand oder dem +Textkörper zugeschlagen werden sollten. Dies sollte bei der Erstellung eigener +Kopf"~ und Fußzeilen beachtet werden. Die Einstellung dafür erfolgt mit den +beiden \KOMAScript"=Optionen \Option{headinclude}[\PBoolean] sowie +\Option{footinclude}[\PBoolean]. Diese können~-- unabhängig von der gewählten +Einstellung zur Satzspiegelgestaltung für die Option \Option{cdgeometry}~-- +verwendet werden. + \subsubsection{Bindekorrektur} \index{Bindekorrektur|!}\index{Layout!Bindekorrektur}% % @@ -1678,57 +1909,7 @@ in etwa einer Höhe von \unit[10]{mm}, bei \unit[100]{g/m²} ca. \unit[12]{mm}. Dementsprechend wäre eine Bindekorrektur von \Option{BCOR}[5mm] beziehungsweise \Option{BCOR}[6mm] bei diesem Beispiel zu wählen. \end{Example} - -\subsubsection{Kopf"~ und Fußzeile im Zusammenspiel mit dem Satzspiegel} -\index{Kopfzeile|!}\index{Layout!Kopfzeile}% -\index{Fußzeile|!}\index{Layout!Fußzeile}% -Da im \CD nicht festgelegt ist, wie die Gestaltung der Kopf"~ und Fußzeilen in -einer wissenschaftlichen Arbeit auszuführen ist, bleibt dem Nutzer dafür eine -gewisse Freiheit. Dafür sollte idealerweise das zu \KOMAScript{} gehörige Paket -\Package{scrlayer-scrpage} genutzt werden. - -In der Dokumentation zu \Package{typearea} wird auch darauf eingegangen, wann -Kopf"~ und Fußzeile bei der Satzspiegelkonstruktion entweder dem Rand oder dem -Textkörper zugeschlagen werden sollten. Dies sollte bei der Erstellung eigener -Kopf"~ und Fußzeilen beachtet werden. Die Einstellung dafür erfolgt mit den -beiden \KOMAScript"=Optionen \Option{headinclude}[\PBoolean] sowie -\Option{footinclude}[\PBoolean]. Diese können~-- unabhängig von der gewählten -Einstellung zur Satzspiegelgestaltung über \Option{geometry}~-- verwendet -werden. - -\begin{Declaration}{\Option{cdfoot}[\PBoolean]}[false]% -\printdeclarationlist% -\index{Kolumnentitel}\index{Layout!Kolumnentitel} -\index{Satzspiegel!doppelseitig}% - -Eine Möglichkeit zur Gestaltung der Kolumnentitel zeigt das Handbuch für das -\CD der \TnUD. Dieses wird ohne Kopf"~ und mit einer einfachen Fußzeile -gesetzt. Diese enthält dabei den aktuellen Kolumnentitel sowie die Paginierung. -Eine derartige Ausprägung ist nicht explizit durch das \CD vorgegeben, wurde -jedoch innerhalb der alten \Class{tudbook}"=Klasse exakt so umgesetzt. - -Die neuen \TUDScript-Klassen sind~-- insbesondere aufgrund der Möglichkeit zur -Verwendung des Paketes \Package{scrlayer-scrpage}~-- bei der Gestaltung der -Kopf"~ und Fußzeilen wesentlich flexibler. Dennoch kann mit dieser Option das -beschriebene Verhalten aktiviert werden. Hierbei wird beim doppelseitigen Satz -(\Option{twoside}[true]) die Seitenzahl außen gesetzt. -% -\begin{values} -\itemfalse - Die Kopf"~ und Fußzeilen zeigen Standardverhalten, zur manuellen Änderung - dieser sollte unbedingt das \KOMAScript"=Paket \Package{scrlayer-scrpage} - verwendet werden. -\itemtrue* - Die Kopf"~ und Fußzeilen des Dokumentes werden wie im Handbuch des \CDs der - \TnUD beziehungsweise der \Class{tudbook}"=Klasse gesetzt. -\end{values} -% -Der Inhalt der Kolumnentitel kann durch den Anwender frei gewählt werden. Wird -die Klassenoption \Option{automark} angegeben, werden für das automatische -Setzen der Marken die Titel der Gliederungsebenen verwendet. Genaueres hierzu -sowie der Möglichkeit, die Kolumnentitel manuell festzulegen, ist dem Handbuch -von \KOMAScript{} zu entnehmen. -\end{Declaration} +\index{Satzspiegel|)}\index{Layout!Satzspiegel|)}% \subsection{Die Farben des \CDs} @@ -1743,6 +1924,10 @@ automatisch ein. Detaillierte Informationen sind in der Dokumentation von \section{Zusätzliche Optionen und Erweiterungen} +\ChangedAt*{% + v2.03!Bugfix für \abstractname{,} \confirmationname{} und \blockingname{} + bei Seitenstil und Kolumnentitel% +}% Neben den Befehlen für die Anpassung des Layouts an das \CD der \TnUD stellen die \TUDScript-Klassen weitere Befehle und Umgebungen zur Verfügung, um die Anwendung insbesondere für wissenschaftliche Arbeiten zu erleichtern. @@ -1811,7 +1996,7 @@ jederzeit mit folgenden Werten durch den Anwender überschrieben werden. Es wird ein nicht nummerierten Eintrag im Inhaltsverzeichnis auf der obersten Gliederungsebene der verwendeten Dokumentklasse für die Zusammenfassung gesetzt. -\item[tocleveldown/totocleveldown/leveldown] +\item[leveldown/tocleveldown/totocleveldown] \ChangedAt{v2.02} Der Inhaltsverzeichniseintrag wird eine Gliederungsebene unterhalb der obersten erzeugt. @@ -1866,7 +2051,7 @@ auf einer Seite unterdrückt werden. \end{values} % Die zuletzt genannten Einstellungen zur Positionierung der Zusammenfassungen -innerhalb der \Environment{abstract}"=Umgebung nur wirksam sind, wenn eine +innerhalb der \Environment{abstract}"=Umgebung sind nur wirksam, wenn eine Titelseite (\Option{titlepage}[true]) und \emph{keine} Überschriften in Form von Kapiteln (\Option{abstract}[chapter]) verwendet werden. \end{Declaration} @@ -1883,19 +2068,22 @@ von Kapiteln (\Option{abstract}[chapter]) verwendet werden. \Key{\Environment{abstract}}{pagestyle}[\PName{Seitenstil}]% } \begin{Declaration}{\Key{\Environment{abstract}}{columns}[\PName{Anzahl}]} -\begin{Declaration}{\Key{\Environment{abstract}}{option}[\PSet]} +\begin{Declaration}{\Key{\Environment{abstract}}{option}[\PSet]}{% + \see*{\Option{abstract}'ppage'}% +} \printdeclarationlist% \index{Zweispaltensatz}% % -Diese Umgebung dient speziell für die Ausgabe einer Zusammenfassung. Wird ein -Titelkopf (\Option{titlepage}[false]) und keine Titelseite verwendet, so wird -für den Fall, dass die Zusammenfassung \emph{nicht} mit der Überschrift einer -Gliederungsebene gesetzt wird, diese wie bei den \KOMAScript"=Klassen in einer -\Environment{quotation}"=Umgebung gesetzt, um diese vom restlichen Fließtext -abzuheben. Diese hat jedoch den Nachteil, dass in besagter Umgebung die Option -\Option{parskip} nicht beachtet wird. Um dieses Problem zu beheben, kann das -Paket \Package{quoting} geladen werden, wodurch stattdessen die Umgebung -\Environment{quoting} verwendet wird. +Die \Environment{abstract}-Umgebung dient speziell für die Ausgabe einer +Zusammenfassung, entweder zu Beginn eines Dokumentes oder beispielsweise vor +einem Teil oder Kapitel. Wird ein Titelkopf (\Option{titlepage}[false]) und +keine Titelseite verwendet, so wird für den Fall, dass die Zusammenfassung +\emph{nicht} mit der Überschrift einer Gliederungsebene gesetzt wird, diese wie +bei den \KOMAScript"=Klassen in einer \Environment{quotation}"=Umgebung +gesetzt, um diese vom restlichen Fließtext abzuheben. Diese hat jedoch den +Nachteil, dass in besagter Umgebung die Option \Option{parskip} nicht beachtet +wird. Um dieses Problem zu beheben, kann das Paket \Package{quoting} geladen +werden, wodurch stattdessen die Umgebung \Environment{quoting} verwendet wird. Mit der zuvor erläuterten Option \Option{abstract} kann eingestellt werden, in welcher Gestalt die Zusammenfassung ausgegeben werden soll. Des Weiteren lässt @@ -1923,10 +2111,12 @@ für linke und rechte Seiten auf \Term{abstractname}. Außerdem lässt sich der Kolumnentitel mit \Key{\Environment{abstract}}{markboth}[\PName{Kolumnentitel}] auch direkt festlegen. So können die Kolumnen beispielsweise mit der Verwendung von \Key{\Environment{abstract}}{markboth}[\PParameter{}] auch gelöscht werden. -Sollte \Key{\Environment{abstract}}{markboth} verwendet werden, so wird in der -Umgebung automatisch der Seitenstil \PageStyle{headings} verwendet. Mit dem -Parameter \Key{\Environment{abstract}}{pagestyle} dieser auch manuell angegeben -werden. Auch die \PageStyle{tudheadings}"=Seitenstile werden unterstützt. +Sollte \Key{\Environment{abstract}}{markboth} aktiviert werden, so wird in der +Umgebung automatisch der Seitenstil \PageStyle{headings} genutzt~-- falls eine +Titelseite und kein Titelkopf (\Option{titlepage}[true]) verwendet wird. Mit +dem Parameter \Key{\Environment{abstract}}{pagestyle} kann dieser auch manuell +angegeben werden, wobei die \PageStyle{tudheadings}"=Seitenstile ebenfalls +unterstützt werden. Wurde das Paket \Package{multicol} geladen, kann mit dem Parameter \Key{\Environment{abstract}}{columns}[\PName{Anzahl}] die Zusammenfassung @@ -1950,9 +2140,9 @@ unterstützt werden. Das Minimalbeispiel in \fullref{sec:exmpl:dissertation} zeigt hierfür das notwendige Vorgehen. Wird die \Environment{abstract}"=Umgebung innerhalb des Argumentes der Befehle -\Macro{partpreamble} beziehungsweise \Macro{chapterpreamble} verwendet, so wird -die Überschrift~-- im Fall, dass nicht \Option{abstract}[false] gewählt ist~-- -\emph{immer} in Textgröße und zentriert gesetzt. +\Macro{setpartpreamble} beziehungsweise \Macro{setchapterpreamble} verwendet, +so wird die Überschrift~-- im Fall, dass nicht \Option{abstract}[false] gewählt +ist~-- \emph{immer} in Textgröße und zentriert gesetzt. \end{Declaration} \end{Declaration} \end{Declaration} @@ -2022,7 +2212,7 @@ folgenden Werten überschrieben werden. Unabhängig von der Wahl der Überschrift erhält jede Erklärung einen nicht nummerierten Eintrag im Inhaltsverzeichnis auf der obersten Gliederungsebene der aktuell gerade verwendeten Dokumentklasse. -\item[tocleveldown/totocleveldown/leveldown] +\item[leveldown/tocleveldown/totocleveldown] \ChangedAt{v2.02} Der Inhaltsverzeichniseintrag wird eine Gliederungsebene unterhalb der obersten erzeugt. @@ -2047,11 +2237,10 @@ forcieren, wobei hierfür der Titel der Überschrift genutzt wird. Die Einstellung für manuelle oder automatische Kolumnentitel werden beachtet. \end{values} % -Des Weiteren kann mit dem Parameter \Key{\Environment{declaration}}{markboth} -der \Environment{declarations}"=Umgebung der Kolumnentitel mit einem beliebigen -Inhalt gesetzt werden. Verwenden Sie einen der Befehle \Macro{declaration} -beziehungsweise \Macro{confirmation} und \Macro{blocking} ist dies mit dem -gleichnamigen, optionalen Parameter ebenfalls möglich. +Für \Macro{declaration} respektive \Macro{confirmation} und \Macro{blocking} +sowie die \Environment{declaration}"=Umgebung kann mit dem Parameter +\Key{\Environment{declaration}}{markboth} außerdem der Kolumnentitel mit einem +beliebigen Inhalt gesetzt werden. Die folgenden Einstellungen zur Positionierung der Erklärungen haben lediglich Auswirkungen, wenn die Überschrift der Erklärung \emph{nicht} im Form eines @@ -2100,6 +2289,13 @@ wird. \printdeclarationlist% \index{Selbstständigkeitserklärung}\index{Sperrvermerk}% % +Für Selbstständigkeitserklärung und Sperrvermerk sollten im einfachsten Fall +die Befehle \Macro{declaration} beziehungsweise \Macro{confirmation} und +\Macro{blocking} verwendet werden. Sobald diese jedoch in anderer Reihenfolge, +mehrfacher Ausführung, unterschiedlichen Sprachen oder durch zusätzliche +Erklärungen ergänzt werden, so bietet die \Environment{declarations}-Umgebung +die notwendigen Freiheiten. + Innerhalb dieser Umgebung können Selbstständigkeitserklärung und Sperrvermerk mit dem Befehl \Macro{declaration} direkt nacheinander folgend beziehungsweise mit \Macro{confirmation} und \Macro{blocking} auch separat ausgegeben werden. @@ -2128,50 +2324,14 @@ respektive \Term{blockingname} verwendet. Außerdem kann der Anwender diese mit festlegen. Sollte \Key{\Environment{declarations}}{markboth} verwendet werden, wird der Seitenstil automatisch auf \PageStyle{headings} gesetzt. Mit dem Parameter \Key{\Environment{declarations}}{pagestyle} lässt sich dieser für die -Umgebung auch manuell angegeben. - +Umgebung auch manuell angegeben. Wurde das Paket \Package{multicol} geladen, +wird mit \Key{\Environment{declarations}}{columns}[\PName{Anzahl}] der Inhalt +der Umgebung mehrspaltig gesetzt. Für \Key{\Environment{declarations}}{option} +können alle gültigen Werte der Option \Option{declaration} angegeben werden. Die Verwendung der Parameter \Key{\Macro{confirmation}}{supporter} sowie \Key{\Macro{confirmation}}{place} und \Key{\Macro{confirmation}}{closing} ist in der Dokumentation des Befehls \Macro{confirmation} zu finden, der Parameter -\Key{\Macro{blocking}}{company} ist für \Macro{blocking} erläutert. Für den -Parameter \Key{\Environment{declarations}}{option} können alle gültigen Werte -der Option \Option{declaration} angegeben werden. Diese wirken sich nur lokal -innerhalb der \Environment{declarations}"=Umgebung aus. -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} -\end{Declaration} - -\begin{Declaration}{\Macro{declaration}\LParameter} -\begin{Declaration}{\Key{\Macro{declaration}}{language}[\PName{Sprache}]} -\begin{Declaration}[v2.02]{% - \Key{\Macro{declaration}}{markboth}[\PBName{Kolumnentitel}]% -} -\begin{Declaration}[v2.02]{% - \Key{\Macro{declaration}}{pagestyle}[\PName{Seitenstil}]% -} -\begin{Declaration}[v2.02]{\Key{\Macro{declaration}}{columns}[\PName{Anzahl}]} -\begin{Declaration}{\Key{\Macro{declaration}}{option}[\PSet]} -\begin{Declaration}{\Key{\Macro{declaration}}{supporter}[\PName{Unterstützer}]} -\begin{Declaration}{\Key{\Macro{declaration}}{place}[\PName{Ort}]} -\begin{Declaration}{\Key{\Macro{declaration}}{closing}[\PName{Ende}]} -\begin{Declaration}{\Key{\Macro{declaration}}{company}[\PName{Firma}]} -\printdeclarationlist% -\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% -% -Dieser Befehl gibt die Selbstständigkeitserklärung und den Sperrvermerk direkt -aufeinanderfolgend aus. Dabei werden die Einstellungen zur Positionierung der -einzelnen Erklärungen, welche über die Wertzuweisungen an die Option -\Option{declaration}[simple/multiple/fill/nofill] erfolgen, beachtet. Er kann -sowohl innerhalb der \Environment{declarations}"=Umgebung als auch außerhalb -direkt im Dokument verwendet werden und akzeptiert im optionalen Argument dabei -alle für die \Environment{declarations}"=Umgebung beschriebenen Parameter. +\Key{\Macro{blocking}}{company} ist für \Macro{blocking} erläutert. \end{Declaration} \end{Declaration} \end{Declaration} @@ -2205,21 +2365,20 @@ Mit diesem Befehl wird ein sprachspezifischer Standardtext für eine Selbstständigkeitserklärung ausgegeben, welcher in \Term{confirmationtext} gespeichert ist. Wie dieser angepasst beziehungsweise geändert werden kann, ist unter \autoref{sec:localization} zu finden. Er kann sowohl innerhalb der -\Environment{declarations}"=Umgebung als auch außerhalb direkt im Dokument -verwendet werden. - -Wird er in seiner ursprünglichen Form belassen, kann er im optionalen Argument -über die deklarierten Parameter angepasst werden. Im Standardtext der -Selbstständigkeitserklärung werden sowohl der Titel als auch der Typ der -Abschlussarbeit~-- falls dieser mit \Macro{thesis} oder \Macro{subject} und -einem speziellen Wert aus \autoref{tab:thesis} beziehungsweise mit der Option +\Environment{declarations}"=Umgebung als auch außerhalb dieser direkt im +Dokument verwendet werden. + +Wird \Term{confirmationtext} nicht geändert, kann dieser über das optionale +Argument von \Macro{confirmation} und die deklarierten Parameter angepasst +werden. Im Standardtext der Selbstständigkeitserklärung werden sowohl der Titel +als auch der Typ der Abschlussarbeit~-- falls dieser mit \Macro{thesis}, +\Macro{subject}\Parameter{\autoref{tab:thesis}} beziehungsweise mit der Option \Option{subjectthesis} angegeben wurde~-- aufgeführt. Über den Parameter -\Key{\Macro{confirmation}}{supporter} können weitere an der Arbeit beteiligte -Personen angegeben werden. Dies ist auch mit dem Befehl \Macro{supporter} -möglich, wenn dieser \emph{vor} \Macro{confirmation} verwendet wird. Mehrere -zu nennende Personen sind auch hier durch \Macro{and} zu trennen. Das Feld der -Unterstützer kann auch mit dem bloßen optionalen Argument ohne die Angabe eines -Parameters angepasst werden. +\Key{\Macro{confirmation}}{supporter} oder \emph{zuvor} mit dem Befehl +\Macro{supporter} können weitere an der Arbeit beteiligte Personen angegeben +werden. Mehrere zu nennende Personen sind auch hier durch \Macro{and} zu +trennen. Das Feld der Unterstützer kann auch mit dem bloßen optionalen Argument +ohne die Angabe eines Parameters angepasst werden. Nach dem eigentlichen Text der Selbstständigkeitserklärung wird der mit \Key{\Macro{confirmation}}{place} beziehungsweise \Macro{place} angegebene Ort @@ -2231,6 +2390,7 @@ anderes nach dem Text der Selbstständigkeitserklärung gesetzt werden, kann die mit dem Parameter \Key{\Macro{confirmation}}{closing} oder zuvor mit dem Befehl \Macro{confirmationclosing} angepasst werden. Die Parameter \Key{\Environment{declarations}}{language}, +\Key{\Environment{declarations}}{markboth}, \Key{\Environment{declarations}}{pagestyle}, \Key{\Environment{declarations}}{columns} und \Key{\Environment{declarations}}{option} entsprechen in ihrem Verhalten denen @@ -2245,19 +2405,14 @@ der \Environment{declarations}"=Umgebung. \end{Declaration} \end{Declaration} -\Rename[macros]{v2.02}{\Macro{restriction}}{\Macro{blocking}} -\begin{Declaration}{\Macro{blocking}\OLParameter{Firma}} +\begin{Declaration}[v2.02]{\Macro{blocking}\OLParameter{Firma}} \begin{Declaration}{\Key{\Macro{blocking}}{company}[\PName{Firma}]} \begin{Declaration}{\Key{\Macro{blocking}}{language}[\PName{Sprache}]} \begin{Declaration}[v2.02]{% \Key{\Macro{blocking}}{markboth}[\PBName{Kolumnentitel}]% } -\begin{Declaration}[v2.02]{% - \Key{\Macro{blocking}}{pagestyle}[\PName{Seitenstil}]% -} -\begin{Declaration}[v2.02]{% - \Key{\Macro{blocking}}{columns}[\PName{Anzahl}]% -} +\begin{Declaration}[v2.02]{\Key{\Macro{blocking}}{pagestyle}[\PName{Seitenstil}]} +\begin{Declaration}[v2.02]{\Key{\Macro{blocking}}{columns}[\PName{Anzahl}]} \begin{Declaration}{\Key{\Macro{blocking}}{option}[\PSet]} \printdeclarationlist% \index{Sperrvermerk}% @@ -2272,14 +2427,14 @@ außerhalb direkt im Dokument verwendet werden. In seiner ursprünglichen Definition, kann er im optionalen Argument über die deklarierten Parameter angepasst werden. Im Standardtext des Sperrvermerks werden sowohl der Titel als auch der Typ der Abschlussarbeit~-- falls dieser -mit \Macro{thesis} oder \Macro{subject} und einem speziellen Wert aus -\autoref{tab:thesis} beziehungsweise mit der Option \Option{subjectthesis} -angegeben wurde~-- aufgeführt. Mit \Key{\Macro{blocking}}{company}~-- oder -\emph{vorher} mit dem Befehl \Macro{company}~-- kann zusätzlich eine im -Sperrvermerk zu nennende Firma oder ähnliches angegeben werden. Dieses Feld -kann auch direkt im optionalen Argument ohne die Verwendung eines Parameters -gesetzt werden. Die weiteren Parameter +mit \Macro{thesis}, \Macro{subject}\Parameter{\autoref{tab:thesis}} respektive +mit der Option \Option{subjectthesis} angegeben wurde~-- aufgeführt. Mit +\Key{\Macro{blocking}}{company} oder \emph{vorher} mit \Macro{company} kann +zusätzlich eine im Sperrvermerk zu nennende Firma oder ähnliches angegeben +werden. Dieses Feld kann auch direkt im optionalen Argument ohne die Verwendung +eines Parameters gesetzt werden. Die weiteren Parameter \Key{\Environment{declarations}}{language}, +\Key{\Environment{declarations}}{markboth}, \Key{\Environment{declarations}}{pagestyle}, \Key{\Environment{declarations}}{columns} und \Key{\Environment{declarations}}{option} entsprechen in ihrem Verhalten denen @@ -2292,6 +2447,41 @@ der \Environment{declarations}"=Umgebung. \end{Declaration} \end{Declaration} +\begin{Declaration}{\Macro{declaration}\LParameter} +\begin{Declaration}{\Key{\Macro{declaration}}{language}[\PName{Sprache}]} +\begin{Declaration}[v2.02]{% + \Key{\Macro{declaration}}{markboth}[\PBName{Kolumnentitel}]% +} +\begin{Declaration}[v2.02]{% + \Key{\Macro{declaration}}{pagestyle}[\PName{Seitenstil}]% +} +\begin{Declaration}[v2.02]{\Key{\Macro{declaration}}{columns}[\PName{Anzahl}]} +\begin{Declaration}{\Key{\Macro{declaration}}{option}[\PSet]} +\begin{Declaration}{\Key{\Macro{declaration}}{supporter}[\PName{Unterstützer}]} +\begin{Declaration}{\Key{\Macro{declaration}}{place}[\PName{Ort}]} +\begin{Declaration}{\Key{\Macro{declaration}}{closing}[\PName{Ende}]} +\begin{Declaration}{\Key{\Macro{declaration}}{company}[\PName{Firma}]} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% +% +Dieser Befehl gibt die Selbstständigkeitserklärung und den Sperrvermerk direkt +aufeinanderfolgend aus. Dabei werden die Einstellungen zur Positionierung der +einzelnen Erklärungen, welche über die Wertzuweisungen an die Option +\Option{declaration}[simple/multiple/fill/nofill] erfolgen, beachtet. Er kann +sowohl innerhalb der \Environment{declarations}"=Umgebung als auch außerhalb +direkt im Dokument verwendet werden und akzeptiert im optionalen Argument dabei +alle für die \Environment{declarations}"=Umgebung beschriebenen Parameter. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + \begin{Declaration}{\Macro{supporter}\Parameter{Unterstützer}} \begin{Declaration}{\Macro{place}\Parameter{Ort}} \begin{Declaration}{\Macro{confirmationclosing}\Parameter{Ende}} @@ -2360,12 +2550,12 @@ Sollte der Anwender die im Folgenden erläuterten oder auch andere Bezeichner, welche von einem beliebigen (Sprach"~)Paket bereitgestellt werden, ändern wollen, ist hierfür der Befehl \Macro{renewcaptionname}\Parameter{Sprache}\Parameter{Makro}\Parameter{Inhalt} -zu verwenden. Seit der Version~v3.12 stellt \KOMAScript sicher, dass die -Bezeichner erst \textbf{nach} \Macro*{begin}\PParameter{document} angepasst -werden und somit nicht durch ein später geladenes Paket abermals geändert -werden können. Es sollte natürlich dabei eine \PName{Sprache} angegeben werden, -welche im Dokument durch \Package{babel} oder ein anderes Sprachpaket verwendet -wird, beispielsweise \PValue{ngerman} oder \PValue{english}. +zu verwenden. Dabei stellt \KOMAScript{} sicher, dass die Bezeichner erst +\textbf{nach} \Macro*{begin}\PParameter{document} angepasst werden und somit +nicht durch ein später geladenes Paket abermals geändert werden können. Es +sollte natürlich dabei eine \PName{Sprache} angegeben werden, welche im +Dokument durch \Package{babel} oder ein anderes Sprachpaket verwendet wird, +beispielsweise \PValue{ngerman} oder \PValue{english}. Die Makros der Bezeichner und deren Verwendung werden folgend kurz beschrieben und tabellarisch aufgeführt. Dabei wurde versucht, alle Befehle der Bezeichner @@ -2375,7 +2565,7 @@ für bestimmte Begriffe auf \PValue{\dots{}name} und beschreibende Texte auf \begin{Declaration}{\Term{supervisorname}} \begin{Declaration}{\Term{supervisorothername}} \begin{Declaration}[% - v2.02!Unterscheidung zwischen einem und mehreren Gutachtern% + v2.02!Unterscheidung von einem und mehreren Gutachtern% ]{\Term{refereename}} \begin{Declaration}{\Term{refereeothername}} \begin{Declaration}{\Term{advisorname}} @@ -2478,8 +2668,7 @@ vom eigentlichen Feld abgegrenzt. \end{Declaration} \end{Declaration} -\Rename[terms]{v2.02}{\Term{degreetext}}{\Term{graduationtext}} -\begin{Declaration}{\Term{graduationtext}} +\begin{Declaration}[v2.02]{\Term{graduationtext}} \printdeclarationlist% \index{Titel}\index{Abschlussarbeit}\index{Typisierung}% % @@ -2515,9 +2704,8 @@ von \KOMAScript{} für die Buchklasse nicht vorgesehen wird. \TermTable{abstractname} \end{Declaration} -\Rename[terms]{v2.02}{\Term{restrictionname}}{\Term{blockingname}} \begin{Declaration}{\Term{confirmationname}} -\begin{Declaration}{\Term{blockingname}} +\begin{Declaration}[v2.02]{\Term{blockingname}} \printdeclarationlist% \index{Selbstständigkeitserklärung}\index{Sperrvermerk}% % @@ -2527,9 +2715,8 @@ für die dazugehörigen Überschriften definiert. \end{Declaration} \end{Declaration} -\Rename[terms]{v2.02}{\Term{restrictiontext}}{\Term{blockingtext}} \begin{Declaration}{\Term{confirmationtext}} -\begin{Declaration}{\Term{blockingtext}} +\begin{Declaration}[v2.02]{\Term{blockingtext}} \printdeclarationlist% % Die Texte der Erklärungen selbst sind derart aufgebaut, dass sie in @@ -2599,3 +2786,45 @@ für Quelltextausschnitte und das Quelltextverzeichnis verwendet. \end{Declaration} \end{Declaration} \index{Bezeichner|!)} + +\section{Kompatibilitätseinstellungen zu früheren Versionen} +Bei der Entwicklung von \TUDScript lässt es sich nicht immer vermeiden, dass +Verbesserungen sowie Korrekturen an den Klassen und Paketen zu Änderungen am +Ergebnis der Ausgabe führen, insbesondere bei Umbruch und Layout. Für bereits +archivierte Dokumente, welche mit einer früheren Version erstellt wurden ist +dies jedoch bei einer erneuten Kompilierung unter Umständen eher unerwünscht. + +\begin{Declaration}[v2.03]{\Option{tudscrver}[% + \PName{Version}\textOR\PValue{first}\textOR\PValue{last}% +]}[last] +\printdeclarationlist% +\index{Kompatibilität|!}% +% +Mit der Option \Option{tudscrver} wird es möglich, auf das Verhalten einer +älteren Version von \TUDScript umzuschalten, um nach der Kompilierung das +erwartete Ergebnis zu erhalten. Neue Möglichkeiten, die sich nicht auf den +Umbruch oder das Layout auswirken, sind auch für den Fall verfügbar, dass per +Option die Kompatibilität zu einer älteren Version ausgewählt wurde. + +Bei der Angabe einer unbekannten Version als Wert wird eine Warnung ausgegeben +und \Option{tudscrver}[first] angenommen. Mit \Option{tudscrver}[last] wird die +jeweils aktuell verfügbare Version ausgewählt und folglich auf die zukünftige +Kompatibilität des Dokumentes zu der genutzten Version verzichtet. Dieses +Verhalten entspricht der Voreinstellung. Es ist zu beachten, dass die Nutzung +von \Option{tudscrver} nur als Klassenoption möglich ist. +% +\begin{values} +\item[\PValue{v2.02}\textOR\PValue{last}] + \ChangedAt{% + v2.03!Satzspiegel im \CD geändert{,} das \protect\DDC-Logo im Fußbereich + wird ohne vergrößerten Seitenrand verwendet + } + Der Satzspiegel im Layout des \CDs (\see*{\Option{cdgeometry}}) wurde in der + Version~v2.03 leicht geändert. Der obere Seitenrand wurde verkleinert, der + untere im gleichen Maße vergrößert. Der verfügbare Textbereich ist folglich + identisch. Bei der Aktivierung des \DDC-Logos im Fußbereich der Seite + (\see*{\Option{ddcfoot}}) wird im Gegensatz zur Version~v2.02 der gleiche + Satzspiegel genutzt. Mit \Option{tudscrver}[v2.02] kann dieses Verhalten + deaktiviert werden. +\end{values} +\end{Declaration}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-obsolete.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-obsolete.tex index 02ccdb607a9..999bb594760 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-obsolete.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-obsolete.tex @@ -1,6 +1,7 @@ \chapter{Obsolete sowie vollständig entfernte Optionen und Befehle} \label{sec:obsolete}% % +\section{Veraltete Optionen und Befehle in \TUDScript} Einige Optionen und Befehle waren während der Weiterentwicklung von \TUDScript in ihrer ursprünglichen Form nicht mehr umsetzbar oder wurden~-- unter anderem aus Gründen der Kompatibilität zu anderen Paketen~-- schlichtweg verworfen. @@ -9,11 +10,13 @@ Funktionalität ohne größere Aufwände mit \TUDScript in der aktuellen Version \vTUDScript{} darzustellen. Ist dies der Fall, wird hier entsprechend kurz darauf hingewiesen. -\begin{Declaration}{\Option{cd}[alternative]}{entfällt} -\begin{Declaration}{\Option{cdtitle}[alternative]}{entfällt} -\begin{Declaration}{\Length{titlecolwidth}}{entfällt} -\begin{Declaration}{\Term{authortext}}{entfällt} -\printdeclarationlist*% + +\subsection{Änderungen für \TUDScript~v2.00} +\begin{Declaration}[v2.00]{\Option*{cd}[alternative]} +\begin{Declaration}[v2.00]{\Option*{cdtitle}[alternative]} +\begin{Declaration}[v2.00]{\Length{titlecolwidth}} +\begin{Declaration}[v2.00]{\Term{authortext}} +\printdeclarationlist*[\emph{entfällt}]% \index{Titel!alternativer}% % Die alternative Titelseite ist komplett aus dem \TUDScript-Bundle entfernt @@ -24,118 +27,193 @@ und Bezeichner. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Option{color}[\PBoolean]}{siehe \Option*{cd}[color]} -\printdeclarationlist*% +\Replace{v2.00}{\Option{cd}}{\Option{color}} +\begin{Declaration}[v2.00]{\Option{color}[\PBoolean]} +\printdeclarationlist*[\see*{\Option*{cd}'page'}]% % Die Einstellungen der farbigen Ausprägung des Dokumentes erfolgt über die Option \Option*{cd}. \end{Declaration} -\begin{Declaration}{\Option{tudfonts}[\PBoolean]}{siehe \Option*{cdfont}[\PSet]} -\printdeclarationlist*% +\Replace{v2.00}{\Option{cdfont}}{\Option{tudfonts}} +\begin{Declaration}[v2.00]{\Option{tudfonts}[\PBoolean]} +\begin{Declaration}[v2.00]{\Option*{cdfonts}[\PBoolean]} +\printdeclarationlist*[\see*{\Option*{cdfont}'page'}]% % Die Option zur Schrifteinstellung ist wesentlich erweitert worden. Aus Gründen der Konsistenz wurde diese umbenannt. \end{Declaration} +\end{Declaration} -\begin{Declaration}{\Option{tudfoot}[\PBoolean]}{ - siehe \Option*{cdfoot}[\PBoolean]% -} -\printdeclarationlist*% +\Replace{v2.00}{\Option{cdfoot}}{\Option{tudfoot}} +\begin{Declaration}[v2.00]{\Option{tudfoot}[\PBoolean]} +\printdeclarationlist*[\see*{\Option*{cdfoot}'page'}]% % Ebenso wurde die Option \Option*{tudfoot} umbenannt, um dem Namensschema der restlichen Optionen von \TUDScript zu entsprechen. \end{Declaration} -\begin{Declaration}{\Option{headfoot}[\PSet]}{entfällt} -\printdeclarationlist*% +\begin{Declaration}[v2.00]{\Option{headfoot}[\PSet]} +\printdeclarationlist*[\emph{entfällt}, + \KOMAScript-Optionen \Option*{headinclude} und \Option*{footinclude}% +]% % Diese Option war für \TUDScript in der Version~v1.0 notwendig, um die parallele -Verwendung der beiden Pakete \Package{typearea} und \Package{geometry} zu +Verwendung der beiden Pakete \Package*{typearea} und \Package*{geometry} zu ermöglichen. Die Erstellung des Satzspiegels wurde komplett überarbeitet. -Mittlerweile werden an das Paket \Package{geometry} die Einstellungen für die -\KOMAScript"=Optionen \Option{headinclude} und \Option{footinclude} direkt +Mittlerweile werden an das Paket \Package*{geometry} die Einstellungen für die +\KOMAScript"=Optionen \Option*{headinclude} und \Option*{footinclude} direkt weitergereicht, so dass die Option \Option*{headfoot} nicht mehr notwendig ist und deshalb entfernt wurde. \end{Declaration} -\begin{Declaration}{\Option{partclear}[\PBoolean]}{% - entfällt, siehe \Option*{cleardoublespecialpage}% -} -\begin{Declaration}{\Option{chapterclear}[\PBoolean]}{% - entfällt, siehe \Option*{cleardoublespecialpage}% -} -\printdeclarationlist*% -% +\Replace{v2.00}{\Option{cleardoublespecialpage}}{% + \Option{partclear},\Option{chapterclear}% +} +\begin{Declaration}[v2.00]{\Option{partclear}[\PBoolean]} +\begin{Declaration}[v2.00]{\Option{chapterclear}[\PBoolean]} +\printdeclarationlist*[% + \emph{entfällt}, \see*{\Option*{cleardoublespecialpage}'page'}% +]% Beide Optionen sind in der neuen Option \Option*{cleardoublespecialpage} aufgegangen, womit ein konsistentes Layout erreicht wird. Die ursprünglichen Optionen entfallen. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Option{abstracttotoc}[\PBoolean]}{% - entfällt, siehe \Option*{abstract}[\PSet]% -} -\begin{Declaration}{\Option{abstractdouble}[\PBoolean]}{% - entfällt, siehe \Option*{abstract}[\PSet]% +\Replace{v2.00}{\Option{abstract}}{% + \Option{abstracttotoc},\Option{abstractdouble}% } -\printdeclarationlist*% +\begin{Declaration}[v2.00]{\Option{abstracttotoc}[\PBoolean]} +\begin{Declaration}[v2.00]{\Option{abstractdouble}[\PBoolean]} +\printdeclarationlist*[\emph{entfällt}, \see*{\Option*{abstract}'page'}]% % Beide Optionen wurden in die Option \Option*{abstract} integriert und sind deshalb überflüssig. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Macro{logofile}\Parameter{Dateiname}}% - {siehe \Macro*{headlogo}\Parameter{Dateiname}% -} -\begin{Declaration}{\Macro{logofilename}\Parameter{Dateiname}}% - {siehe \Macro*{headlogo}\Parameter{Dateiname}% +\Replace{v2.00}{\Macro{headlogo}}{\Macro{logofile}} +\begin{Declaration}[v2.00]{\Macro{logofile}\Parameter{Dateiname}} +\printdeclarationlist*[\see*{\Macro*{headlogo}'page'}]% +% +Der Befehl \Macro*{logofile} wurde in \Macro*{headlogo} umbenannt. wobei die +Funktionalität weiterhin bestehen bleibt. +\end{Declaration} + +\Replace{v2.00}{\Option{tudbookmarks}}{\Option{bookmarks}} +\begin{Declaration}[v2.00]{\Option{bookmarks}[\PBoolean]} +\printdeclarationlist*[\see*{\Option*{tudbookmarks}'page'}]% +% +Umbenannt, um Überschneidungen mit \Package*{hyperref} zu vermeiden. +\end{Declaration} + +\begin{Declaration}[v2.00]{\Length{signatureheight}} +\printdeclarationlist*[\emph{entfällt}]% +% +Die Höhe für die Zeile der Unterschriften wurde dehnbar gestaltet, eine etwaige +Anpassung durch den Anwender ist nicht vonnöten. +\end{Declaration} + +\Replace{v2.00}{\Macro{titledelimiter}}{\Term{titlecoldelim}} +\begin{Declaration}[v2.00]{\Term{titlecoldelim}}% +\printdeclarationlist*[\emph{entfällt}, \see*{\Macro*{titledelimiter}'page'}]% +% +Das Trennzeichen für Bezeichnungen beziehungsweise beschreibende Texte und dem +eigentlichen Feld auf der Titelseite ist nicht mehr sprachabhängig und wurde +umbenannt. +\end{Declaration} + +\Replace{v2.00}{\Macro{declaration}}{% + \Macro{confirmationandrestriction},\Macro{restrictionandconfirmation}% } -\printdeclarationlist*% +\begin{Declaration}[v2.00]{\Macro{confirmationandrestriction}} +\begin{Declaration}[v2.00]{\Macro{restrictionandconfirmation}} +\printdeclarationlist*[\emph{entfällt}, \see*{\Macro*{declaration}'page'}]% % -Der Befehl \Macro*{logofile} sowie der dazugehörige Alias \Macro*{logofilename} -wurden in \Macro*{headlogo} umbenannt. Die Funktionalität bleibt weiterhin -bestehen. +Die beiden Befehle entfallen, stattdessen sollte entweder der Befehl +\Macro*{declaration} oder die Umgebung \Environment*{declarations} zusammen mit +den Befehlen \Macro*{confirmation} und \Macro*{blocking} verwendet werden, +wobei sich diese in der Umgebung in beliebiger Reihenfolge anordnen lassen. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Length{chapterheadingvskip}}{% - siehe \Length*{pageheadingsvskip} sowie \Length*{headingsvskip} +\Replace{v2.00}{\Macro{place}}{\Macro{location}} +\begin{Declaration}[v2.00]{\Macro{location}\Parameter{Ort}}{% + \see*{\Macro*{place}'page'}% } -\begin{Declaration}{\Length{signatureheight}}{entfällt} \printdeclarationlist*% +In Anlehnung an andere \hologo{LaTeX}-Pakete und "~Klassen wurde +\Macro*{location} in \Macro*{place} umbenannt. +\end{Declaration} + +\minisec{\taskname} +Die Umgebung für die Erstellung einer Aufgabenstellung für eine +wissenschaftliche Arbeit wurde in das Paket \Package{tudscrsupervisor} +ausgelagert. Dieses muss für die Verwendung der Umgebung \Environment*{task} +und der daraus abgeleiteten standardisierten Form zwingend geladen werden. + +\Replace{v2.00}{\Environment*{task}}{\Option{cdtask}} +\begin{Declaration}[v2.00]{\Option{cdtask}[\PSet]} +\begin{Declaration}[v2.00]{\Option{taskcompact}[\PBoolean]} +\begin{Declaration}[v2.00]{\Length{taskcolwidth}} +\printdeclarationlist*[\emph{entfällt}, \see*{\Environment*{task}'page'}]% % -Die vertikale Positionierung von Überschriften wurde zweigeteilt. Die Höhe für -die Zeile der Unterschriften wurde dehnbar gestaltet. Eine Anpassung durch den -Anwender ist nicht vonnöten. +Die Klassenoption \Option*{cdtask} ist komplett entfernt worden, alle +Einstellungen, welche \Environment*{task} betreffen erfolgen direkt über das +optionale Argument der Umgebung. Die Variante eines kompakten Kopfes mit der +Option \Option*{taskcompact} wird nicht mehr bereitgestellt. Die manuelle +Einstellmöglichkeit der Spaltenbreite für den Kopf der Aufgabenstellung mit +\Length*{taskcolwidth} wurde aufgrund der verbesserten automatischen Berechnung +entfernt. +\end{Declaration} \end{Declaration} \end{Declaration} -\begin{Declaration}{\Term{titlecoldelim}}{% - entfällt, siehe \Macro*{titledelimiter}% +\Replace{v2.00}{\Macro{taskform}}{\Macro{tasks}} +\begin{Declaration}[v2.00]{% + \Macro{tasks}\Parameter{Ziele}\Parameter{Schwerpunkte}% +}{\emph{entfällt}, \see*{\Macro*{taskform}'page'}} +\Replace{v2.00}{\Term{focusname}}{\Term{focustext}} +\begin{Declaration}[v2.00]{\Term{focustext}}{% + \emph{entfällt}, \see*{\Term*{focusname}'page'}% +} +\Replace{v2.00}{\Term{objectivesname}}{\Term{objectivestext}} +\begin{Declaration}[v2.00]{\Term{objectivestext}}{% + \emph{entfällt}, \see*{\Term*{objectivesname}'page'}% } \printdeclarationlist*% % -Das Trennzeichen für Bezeichnungen beziehungsweise beschreibende Texte und dem -eigentlichen Feld auf der Titelseite ist nicht mehr sprachabhängig und wurde -umbenannt. +Der Befehl \Macro*{tasks} wurde in \Macro*{taskform} umbenannt und in der +Funktionalität erweitert. Die darin verendeten Bezeichner wurden ebenfalls +leicht abgewandelt. +\end{Declaration} +\end{Declaration} \end{Declaration} -\begin{Declaration}{\Macro{submissiondate}\Parameter{Datum}}{% - Alias für \Macro*{date}% +\Replace{v2.00}{\Macro{matriculationnumber}}{\Macro{studentid}} +\begin{Declaration}[v2.00]{\Macro{studentid}\Parameter{Matrikelnummer}}{% + \see*{\Macro*{matriculationnumber}'page'}% } -\begin{Declaration}{\Macro{birthday}\Parameter{Geburtsdatum}}{% - Alias für \Macro*{dateofbirth}% +\Replace{v2.00}{\Macro{matriculationyear}}{\Macro{enrolmentyear}} +\begin{Declaration}{\Macro{enrolmentyear}\Parameter{Immatrikulationsjahr}}{% + \see*{\Macro*{matriculationyear}'page'}% } -\begin{Declaration}{\Macro{birthplace}\Parameter{Geburtsort}}{% - Alias für \Macro*{placeofbirth} +\Replace{v2.00}{\Macro{date}}{\Macro{submissiondate}} +\begin{Declaration}[v2.00]{\Macro{submissiondate}\Parameter{Datum}}{% + \see*{\Macro*{date}'page'}% } -\begin{Declaration}{\Macro{studentid}\Parameter{Matrikelnummer}}{% - Alias für \Macro*{matriculationnumber} +\Replace{v2.00}{\Macro{dateofbirth}}{\Macro{birthday}} +\begin{Declaration}[v2.00]{\Macro{birthday}\Parameter{Geburtsdatum}}{% + \see*{\Macro*{dateofbirth}'page'}% } -\begin{Declaration}{\Macro{enrolmentyear}\Parameter{Immatrikulationsjahr}}{% - Alias für \Macro*{matriculationyear}% +\Replace{v2.00}{\Macro{placeofbirth}}{\Macro{birthplace}} +\begin{Declaration}[v2.00]{\Macro{birthplace}\Parameter{Geburtsort}}{% + \see*{\Macro*{placeofbirth}'page'}% +} +\Replace{v2.00}{\Macro{issuedate}}{\Macro{startdate}} +\begin{Declaration}[v2.00]{\Macro{startdate}\Parameter{Ausgabedatum}}{% + \emph{entfällt}, \see*{\Macro*{issuedate}'page'}% } \printdeclarationlist*% % @@ -146,25 +224,43 @@ Titelseite im \CD nutzbar. \end{Declaration} \end{Declaration} \end{Declaration} +\end{Declaration} -\begin{Declaration}{\Term{submissiontext}}{umbenannt, siehe \Term*{datetext}} -\begin{Declaration}{\Term{birthdaytext}}{% - umbenannt, siehe \Term*{dateofbirthtext}% +\Replace{v2.00}{\Term{matriculationnumbername}}{\Term{studentidname}} +\begin{Declaration}[v2.00]{\Term{studentidname}}{% + \emph{entfällt}, \see*{\Term*{matriculationnumbername}'page'}% } -\begin{Declaration}{\Term{birthplacetext}}{% - umbenannt, siehe \Term*{placeofbirthtext}% +\Replace{v2.00}{\Term{matriculationyearname}}{\Term{enrolmentname}} +\begin{Declaration}[v2.00]{\Term{enrolmentname}}{% + \emph{entfällt}, \see*{\Term*{matriculationyearname}'page'}% } -\begin{Declaration}{\Term{studentidname}}{% - umbenannt, siehe \Term*{matriculationnumbername}% +\Replace{v2.00}{\Term{datetext}}{\Term{submissiontext}} +\begin{Declaration}[v2.00]{\Term{submissiontext}}{% + \emph{entfällt}, \see*{\Term*{datetext}'page'}% } -\begin{Declaration}{\Term{enrolmentname}}{% - umbenannt, siehe \Term*{matriculationyearname}% +\Replace{v2.00}{\Term{dateofbirthtext}}{\Term{birthdaytext}} +\begin{Declaration}[v2.00]{\Term{birthdaytext}}{% + \emph{entfällt}, \see*{\Term*{dateofbirthtext}'page'}% } -\begin{Declaration}{\Term{supervisorIIname}}{% - umbenannt, siehe \Term*{supervisorothername}% +\Replace{v2.00}{\Term{placeofbirthtext}}{\Term{birthplacetext}} +\begin{Declaration}[v2.00]{\Term{birthplacetext}}{% + \emph{entfällt}, \see*{\Term*{placeofbirthtext}'page'}% } -\begin{Declaration}{\Term{defensetext}}{% - umbenannt, siehe \Term*{defensedatetext}% +\Replace{v2.00}{\Term{supervisorothername}}{\Macro{supervisorIIname}} +\begin{Declaration}[v2.00]{\Macro{supervisorIIname}}{% + \emph{entfällt}, \see*{\Term*{supervisorothername}'page'}% +} +\Replace{v2.00}{\Term{defensedatetext}}{\Term{defensetext}} +\begin{Declaration}[v2.00]{\Term{defensetext}}{% + \emph{entfällt}, \see*{\Term*{defensedatetext}'page'}% +} +\Replace{v2.00}{\Term{issuedatetext}}{\Term{starttext}} +\begin{Declaration}[v2.00]{\Term{starttext}}{% + \emph{entfällt}, \see*{\Term*{issuedatetext}'page'} +} +\Replace{v2.00}{\Term{duedatetext}}{\Term{duetext}} +\begin{Declaration}[v2.00]{\Term{duetext}}{% + \emph{entfällt}, \see*{\Term*{duedatetext}'page'}% } \printdeclarationlist*% % @@ -176,11 +272,34 @@ Die Bezeichner wurden in Anlehnung an die dazugehörigen Befehlsnamen umbenannt. \end{Declaration} \end{Declaration} \end{Declaration} +\end{Declaration} +\end{Declaration} + + +\subsection{Änderungen für \TUDScript~v2.02} +\vskip-\lastskip +\Replace[macros]{v2.02}{\Length{pageheadingsvskip}}{% + \Length{chapterheadingvskip}% +} +\begin{Declaration}[v2.02]{\Length{chapterheadingvskip}} +\printdeclarationlist*[% + \emph{entfällt}, \see*{\Length*{pageheadingsvskip}'page'}% +]% +Die vertikale Positionierung von Überschriften wurde aufgeteilt. Zum einen kann +diese für Titel-, Teile- und Kapitelseiten (\Option*{chapterpage}[true]) über +die Länge \Length*{pageheadingsvskip} geändert werden. Für Kapitelüberschriften +(\Option*{chapterpage}[false]) sowie den Titelkopf (\Option*{titlepage}[false]) +kann dies unabhängig davon mit \Length*{headingsvskip} erfolgen. +\end{Declaration} -\begin{Declaration}{\Macro{degree}\OParameter{Kurzform}\Parameter{Grad}}{% - umbenannt, siehe \Macro*{graduation}% +\Replace[macros]{v2.02}{\Macro{graduation}}{\Macro{degree}} +\begin{Declaration}[v2.02]{\Macro{degree}\OParameter{Abk.}\Parameter{Grad}}{% + \see*{\Macro*{graduation}'page'}% +} +\Replace[terms]{v2.02}{\Term{graduationtext}}{\Term{degreetext}} +\begin{Declaration}[v2.02]{\Term{degreetext}}{% + \see*{\Term*{graduationtext}'page'}% } -\begin{Declaration}{\Term{degreetext}}{umbenannt, siehe \Term*{graduationtext}} \printdeclarationlist*% % Der Befehl wurde zur Erhöhung der Kompatibilität mit anderen Paketen umbenannt, @@ -188,14 +307,17 @@ der dazugehörige Bezeichner dahingehend angepasst. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Macro{restriction}\OLParameter{Firma}}{% - umbenannt, siehe \Macro*{blocking}% +\Replace[macros]{v2.02}{\Macro{blocking}}{\Macro{restriction}} +\begin{Declaration}[v2.02]{\Macro{restriction}\OLParameter{Firma}}{% + \see*{\Macro*{blocking}'page'}% } -\begin{Declaration}{\Term{restrictionname}}{% - umbenannt, siehe \Term*{blockingname} +\Replace[terms]{v2.02}{\Term{blockingname}}{\Term{restrictionname}} +\begin{Declaration}[v2.02]{\Term{restrictionname}}{% + \see*{\Term*{blockingname}'page'}% } -\begin{Declaration}{\Term{restrictiontext}}{% - umbenannt, siehe \Term*{blockingtext}% +\Replace[terms]{v2.02}{\Term{blockingtext}}{\Term{restrictiontext}} +\begin{Declaration}[v2.02]{\Term{restrictiontext}}{% + \see*{\Term*{blockingtext}'page'}% } \printdeclarationlist*% % @@ -205,102 +327,247 @@ die dazugehörigen Bezeichner dahingehend angepasst. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Macro{confirmationandrestriction}}{% - entfällt, siehe \Macro*{declaration}% +\minisec{Änderungen im Paket \Package*{tudscrsupervisor}} +\vskip-\lastskip +\Replace[macros]{v2.02}{\Macro{discipline}}{\Macro{branch}} +\begin{Declaration}[v2.02]{\Macro{branch}\Parameter{Studienrichtung}}{% + \emph{entfällt}, \see*{\Macro*{discipline}'page'}% } -\begin{Declaration}{\Macro{restrictionandconfirmation}}{% - entfällt, siehe \Macro*{declaration}% +\Replace[terms]{v2.02}{\Term{disciplinename}}{\Term{branchname}} +\begin{Declaration}[v2.02]{\Term{branchname}}{% + \emph{entfällt}, \see*{\Term*{disciplinename}'page'}% } \printdeclarationlist*% % -Die beiden Befehle entfallen, stattdessen sollte entweder der Befehl -\Macro*{declaration} oder die Umgebung \Environment{declarations} zusammen mit -den Befehlen \Macro*{confirmation} und \Macro*{blocking} verwendet werden, -wobei sich diese in der Umgebung in beliebiger Reihenfolge anordnen lassen. +Für die \taskname{} wurden der Befehl sowie der dazugehörige Bezeichner +umbenannt. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Macro{location}\Parameter{Ort}}{% - siehe \Macro*{place} sowie auch Parameter \Key*{\Macro{declaration}}{place}% +\Replace[macros]{v2.02}{\Macro{contactperson}}{\Macro{contact}} +\begin{Declaration}[v2.02]{\Macro{contact}\Parameter{Kontaktperson(en)}}{% + \emph{entfällt}, \see*{\Macro*{contactperson}'page'}% +} +\Replace[terms]{v2.02}{\Term{contactpersonname}}{\Term{contactname}} +\begin{Declaration}[v2.02]{\Term{contactname}}{% + \emph{entfällt}, \see*{\Term*{contactpersonname}'page'}% +} +\Replace[macros]{v2.02}{\Macro{telephone}}{\Macro{phone}} +\begin{Declaration}[v2.02]{\Macro{phone}\Parameter{Telefonnummer}}{% + \emph{entfällt}, \see*{\Macro*{telephone}'page'}% +} +\Replace[macros]{v2.02}{\Macro{emailaddress}}{\Macro{email}} +\begin{Declaration}[v2.02]{\Macro{email}\Parameter{E-Mail-Adresse}}{% + \emph{entfällt}, \see*{\Macro*{emailaddress}'page'}% } \printdeclarationlist*% -In Anlehnung an andere \hologo{LaTeX}-Pakete und "~Klassen wurde -\Macro*{location} in \Macro*{place} umbenannt. +% +Alle genannten Befehle und Bezeichner wurden für den \noticename{} umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} \end{Declaration} +\subsection{Änderungen für \TUDScript~v2.03} +\vskip-\lastskip +\Replace[options]{v2.03}{\Option{cdgeometry}}{\Option{geometry}}% +\begin{Declaration}[v2.03]{\Option{geometry}[\PBoolean]} +\printdeclarationlist*[\see*{\Option*{cdgeometry}'page'}]% +% +Die Option \Option*{geometry} wurde aus Gründen der Konsistenz und dem +Vermeiden eines möglichen Konfliktes mit einer späteren \KOMAScript-Version +umbenannt. An der Funktionalität wurde nichts geändert. +\end{Declaration} +\Replace[options]{v2.03}{\Option{cdmath}}{\Option{sansmath}}% +\begin{Declaration}[v2.03]{\Option{sansmath}[\PBoolean]} +\printdeclarationlist*[\see*{\Option*{cdmath}'page'}]% +% +Die Option \Option*{sansmath} wurde aus Gründen der Konsistenz umbenannt. +Zusätzlich wurde die Funktionalität erweitert. +\end{Declaration} -\minisec{\taskname{} und \noticename} -Die Umgebung für die Erstellung einer Aufgabenstellung für eine -wissenschaftliche Arbeit wurde in das Paket \Package{tudscrsupervisor} -ausgelagert. Dieses muss für die Verwendung der Umgebung \Environment*{task} -und der daraus abgeleiteten standardisierten Form zwingend geladen werden. +\Replace[options]{v2.03}{\Option{cdhead}}{\Option{barfont},\Option{widehead}} +\begin{Declaration}[v2.03]{\Option{barfont}[\PSet]} +\begin{Declaration}[v2.03]{\Option{widehead}[\PBoolean]} +\printdeclarationlist*[\see*{\Option*{cdhead}'page'}]% +% +Die Funktionalitäten der Optionen \Option*{barfont} und \Option*{widehead} +wurden in der Option \Option*{cdhead} zusammengefasst und erweitert. +\end{Declaration} +\end{Declaration} -\begin{Declaration}{\Option{cdtask}[\PSet]}{entfällt, siehe \Environment*{task}} -\begin{Declaration}{\Option{taskcompact}[\PBoolean]}{entfällt} -\begin{Declaration}{\Macro{tasks}\Parameter{Ziele}\Parameter{Schwerpunkte}}{% - umbenannt, siehe \Macro*{taskform}% + + +\section{Das Paket \Package{tudscrcomp} -- Umstieg von anderen Klassen} +\begin{Declaration*}{\Package{tudscrcomp}} +\index{Version!v1.0|(}% +\index{Kompatibilität!Version v1.0|(}% +\index{Kompatibilität!\Class{tudbook}|(}% +% +\noindent\Attention{% + Sollten Sie eine der Klassen \Class{tudbook}, \Class{tudbeamer}, + \Class{tudletter}, \Class{tudfax}, \Class{tudhaus} sowie \Class{tudform} oder + \TUDScript in der Version~v1.0 nie genutzt haben, können Sie dieses + \autorefname ohne Weiteres überspringen. Sämtliche hier vorgestellten + Optionen und Befehle sind in der aktuellen Version von \TUDScript obsolet. +} + +\bigskip\noindent +Zu Beginn der Entwicklung von \TUDScript bildete die Klasse \Class{tudbook} +die Basis. Ziel war es, sämtliche Funktionalitäten dieser beizubehalten und +zusätzlich den vollen Funktionsumfang der \KOMAScript-Klassen nutzbar zu +machen. Bei der kompletten Neuimplementierung der \TUDScript-Klassen wurde sehr +viel verändert und verbessert. Einige der Optionen und Befehle waren jedoch +bereits in der \TUDScript-Version~v1.0 Relikte, um die Kompatibilität zur +\Class{tudbook}-Klasse und ihren Derivaten zu gewährleisten. Mit \TUDScript in +der Version~v2.00 wurden einige aus Gründen der Konsistenz lediglich umbenannt, +andere wiederum wurden vollständig entfernt oder über neue Befehle und Optionen +in ihrer Funktionalität ersetzt und erweitert. + +Das Paket \Package{tudscrcomp} dient der Überführung von alten Dokumenten, die +entweder mit der \Class{tudbook}-Klasse, ihren Derivaten oder mit \TUDScript in +der Version~v1.0 erstellt wurden, auf \TUDScript~\vTUDScript. Es werden einige +Optionen und Befehle bereitgestellt, welche von den alten Klassen definiert +wurden und das entsprechende Verhalten nachahmen. Damit soll die Kompatibilität +bei der Änderung der Dokumentklasse sichergestellt werden. Die Intention ist, +alte Dokumente möglichst schnell und einfach auf die \TUDScript-Klassen +portieren zu können. Des Weiteren ist beschrieben, wie sich die Funktionalität +ohne die Verwendung des Paketes mit den Mitteln von \TUDScript umsetzen lassen. +Für den Satz neuer Dokumente wird empfohlen, auf den Einsatz dieses Paketes +komplett zu verzichten und stattdessen die neuen Befehle zu nutzen. + +\begin{Declaration}{\Option{serifmath}}{% + identisch zu \Option*{cdmath}[false]% } -\begin{Declaration}{\Length{taskcolwidth}}{entfällt} \printdeclarationlist*% % -Die Klassenoption \Option*{cdtask} ist komplett entfernt worden, alle -Einstellungen, welche \Environment*{task} betreffen erfolgen direkt über das -optionale Argument der Umgebung. Die Variante eines kompakten Kopfes mit der -Option \Option*{taskcompact} wird nicht mehr bereitgestellt. Der Befehl -\Macro*{tasks} wurde in \Macro*{taskform} umbenannt und in der Funktionalität -erweitert. Die manuelle Einstellung der Spaltenbreite für den Kopf der -Aufgabenstellung mit \Length*{taskcolwidth} wurde aufgrund der verbesserten -automatischen Berechnung entfernt. -\end{Declaration} +Die Funktionalität wird durch die Option \Option*{cdmath} bereitgestellt. \end{Declaration} + +\begin{Declaration}{\Option{colortitle}}{% + identisch zu \Option*{cdtitle}[color]% +} +\begin{Declaration}{\Option{nocolortitle}}{% + identisch zu \Option*{cdtitle}[true]% +} +\printdeclarationlist*% +% +Die Funktionalität wird durch die Option \Option*{cdtitle} bereitgestellt. \end{Declaration} \end{Declaration} -\begin{Declaration}{\Macro{branch}\Parameter{Studienrichtung}}{% - umbenannt, siehe \Macro*{discipline}% +\begin{Declaration}{\Macro{einrichtung}\Parameter{Fakultät}}{% + identisch zu \Macro*{faculty} } -\begin{Declaration}{\Term{branchname}}{umbenannt, siehe \Term*{disciplinename}} -\begin{Declaration}{\Macro{startdate}\Parameter{Ausgabedatum}}{% - Alias für \Macro*{issuedate}% +\begin{Declaration}{\Macro{fachrichtung}\Parameter{Einrichtung}}{% + identisch zu \Macro*{department} } -\begin{Declaration}{\Macro{enddate}\Parameter{Abgabetermin}}{% - Alias für \Macro*{duedate}% +\begin{Declaration}{\Macro{institut}\Parameter{Institut}}{% + identisch zu \Macro*{institute} } -\begin{Declaration}{\Term{starttext}}{umbenannt, siehe \Term*{issuedatetext}} -\begin{Declaration}{\Term{duetext}}{umbenannt, siehe \Term*{duedatetext}} -\begin{Declaration}{\Term{focustext}}{umbenannt, siehe \Term*{focusname}} -\begin{Declaration}{\Term{objectivestext}}{% - umbenannt, siehe \Term*{objectivesname}% +\begin{Declaration}{\Macro{professur}\Parameter{Lehrstuhl}}{% + identisch zu \Macro*{chair} } \printdeclarationlist*% % -Alle genannten Befehle und Bezeichner wurden für die \taskname{} umbenannt. -\end{Declaration} -\end{Declaration} +Dies sind die deutschsprachigen Befehle für den Kopf im \CD. \end{Declaration} \end{Declaration} \end{Declaration} \end{Declaration} + +\begin{Declaration}{\Macro{moreauthor}\Parameter{Autorenzusatz}}{% + identisch zu \Macro*{authormore}% +} +\printdeclarationlist*% +% +Ursprünglich war diese Befehl für das Unterbringen aller möglichen, +zusätzlichen Autoreninformationen gedacht. Auch der Befehl \Macro*{authormore} +ist ein Rudiment davon. Empfohlen wird die Verwendung der Befehle +\Macro*{dateofbirth}, \Macro*{placeofbirth}, \Macro*{matriculationnumber} und +\Macro*{matriculationyear} sowie für die Aufgabenstellung einer +wissenschaftlichen Arbeit \Macro*{course} und \Macro*{discipline} aus dem Paket +\Package*{tudscrsupervisor}. \end{Declaration} + +\begin{Declaration}{\Macro{submitdate}\Parameter{Datum}}{% + identisch zu \Macro*{date}% +} +\printdeclarationlist*% +% +Die Funktionalität wird durch den erweiterten Standardbefehl \Macro*{date} +abgedeckt. \end{Declaration} -\begin{Declaration}{\Macro{contact}\Parameter{Kontaktperson(en)}}{% - umbenannt, siehe \Macro*{contactperson}% +\begin{Declaration}{\Macro{supervisorII}\Parameter{Name}}{% + identisch zur Verwendung von \Macro*{and} innerhalb von \Macro*{supervisor}% } -\begin{Declaration}{\Term{contactname}}{% - umbenannt, siehe \Term*{contactpersonname}% +\printdeclarationlist*% +% +Es ist \Macro*{supervisor}\PParameter{\PName{Name} \Macro*{and} \PName{Name}} +statt \Macro*{supervisorII}\Parameter{Name} zu verwenden. +\end{Declaration} + +\begin{Declaration}{\Macro{supervisedby}\Parameter{Bezeichnung}}{% + siehe \Term*{supervisorname}% } -\begin{Declaration}{\Macro{phone}\Parameter{Telefonnummer}}{% - umbenannt, siehe \Macro*{telephone}% +\begin{Declaration}{\Macro{supervisedIIby}\Parameter{Bezeichnung}}{% + siehe \Term*{supervisorothername}% } -\begin{Declaration}{\Macro{email}\Parameter{E-Mail-Adresse}}{% - umbenannt, siehe \Macro*{emailaddress}% +\begin{Declaration}{\Macro{submittedon}\Parameter{Bezeichnung}}{% + siehe \Term*{datetext}% } \printdeclarationlist*% % -Alle genannten Befehle und Bezeichner wurden für den \noticename{} umbenannt. +Zur Änderung der Bezeichnung der Betreuer sollten die sprachabhängigen +Bezeichner wie in \autoref{sec:localization} beschrieben angepasst werden. Eine +Verwendung der alten Befehle entfernt die Abhängigkeit der Bezeichner von der +verwendeten Sprache. \end{Declaration} \end{Declaration} \end{Declaration} + +\begin{Declaration}{\Option{ddcfooter}}{% + identisch zu \Option*{ddcfoot}[true]% +} +\printdeclarationlist*% +% +Die Funktionalität wird durch die Option \Option*{ddcfoot} bereitgestellt. \end{Declaration} + +\begin{Declaration}{\Macro{dissertation}} +\printdeclarationlist*% +% +Die Funktionalität kann durch die Befehle \Macro*{thesis}\PParameter{diss} und +\Macro*{referee} sowie die Bezeichner \Term*{refereename} und +\Term*{refereeothername} dargestellt werden. +\end{Declaration} + +\begin{Declaration}{\Macro{chapterpage}} +\printdeclarationlist*% +% +Durch diesen Befehl können Kapitelseiten konträr zur eigentlichen Einstellung +aktiviert oder deaktiviert werden. Prinzipiell ist dies auch durch eine +Änderung der Option \Option*{chapterpage} möglich. Allerdings wird davon +abgeraten, da dies zu einem inkonsistenten Layout innerhalb des Dokumentes +führt. +\end{Declaration} + +\begin{Declaration}{\Environment{theglossary}[\OParameter{Präambel}]} +\begin{Declaration}{\Macro{glossitem}\Parameter{Begriff}} +\printdeclarationlist*% +% +Die \Class{tudbook}-Klasse stellt eine rudimentäre Umgebung für ein Glossar +bereit. Allerdings gibt es dafür bereits zahlreiche und besser implementierte +Pakete. Daher wird für diese Umgebung keine Portierung vorgenommen, sondern +lediglich die ursprüngliche Definition übernommen. Allerdings sein an dieser +Stelle auf wesentlich bessere Lösungen wie beispielsweise das Paket +\Package{glossaries} oder~-- mit Abstrichen~-- das nicht ganz so umfangreiche +Paket \Package{nomencl} verwiesen. +\end{Declaration} +\end{Declaration} +\index{Version!v1.0|)} +\index{Kompatibilität!Version v1.0|)} +\index{Kompatibilität!\Class{tudbook}|)} +\end{Declaration*}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-packages.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-packages.tex index 591b7c43f48..2c144219147 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-packages.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-packages.tex @@ -8,7 +8,7 @@ Für die Installation der Schriften sind die folgend genannten Pakete von \emph{essentieller} Bedeutung und daher \emph{zwingend} notwendig. Das Vorhandensein dieser wird durch die jeweiligen Schriftinstallationsskripte -(siehe~\autoref{sec:install}) geprüft und die Installation beim Fehlen eines +(\see*{\autoref{sec:install}}) geprüft und die Installation beim Fehlen eines oder mehrerer Pakete mit einer entsprechenden Warnung abgebrochen. % \begin{packages} @@ -26,6 +26,7 @@ oder mehrerer Pakete mit einer entsprechenden Warnung abgebrochen. Zusätzlich werden die \texttt{Schreibmaschinenschriften} aus dem Paket \Package{lmodern} verwendet. + \subsection{Notwendige Pakete für die Verwendung der Hauptklassen} In diesem \autorefname werden alle Pakete genannt, die von den neuen Klassen zwingend benötigt und geladen werden, um den Anwender das mehrmalige Laden @@ -67,19 +68,16 @@ dieser Pakete oder mögliche Konflikte mit anderen Paketen zu ersparen. Es wird eine verbesserte Deklaration von Umgebungen ermöglicht, bei der auch beim Abschluss der Umgebung auf die übergebenen Parameter zugegriffen werden kann. Dies wird die Neugestaltung der \Environment{abstract}"=Umgebung - benötigt. Das Paket lädt \Package{trimspaces}, womit das Entfernen von - überflüssigen Leerraum um einen Strings ermöglicht wird. -\item[afterpage] - \ChangedAt{v2.02!\Package{afterpage}: Für Verwendung notwendig} - Der Befehl \Macro{afterpage}\Parameter{\dots} kann genutzt werden, um den - Inhalt aus dessen Argument direkt nach der Ausgabe der aktuellen Seite - auszuführen. Es wird für den Titelkopf im \CD für das zweispaltige Layout - benötigt (\autoref{sec:title}). + benötigt. +\item[trimspaces] + Bei mehreren Eingabefeldern für den Anwender werden die Argumente mithilfe + dieses Paketes um eventuell angegebene, unnötige Leerzeichen befreit. \end{packages} % -Möchten Sie eines der hier aufgezählten Pakete selber mit bestimmten Optionen -laden, so sollten diese bereits \emph{vor} der Definition der Dokumentklasse an -das Paket weitergereicht werden. +Möchten Sie eines der hier aufgezählten Pakete selber nutzen, es jedoch mit +bestimmten Optionen laden, so sollten diese bereits \emph{vor} der Definition +der Dokumentklasse an das Paket weitergereicht werden. Ein manuelles Laden +dieser Pakete ist nicht notwendig. % \begin{Example} Das Weiterreichen von Optionen an Pakete muss folgendermaßen erfolgen: @@ -93,6 +91,10 @@ Das Weiterreichen von Optionen an Pakete muss folgendermaßen erfolgen: \section{Durch \TUDScript direkt unterstütze Pakete} % +Wird eines der genannten Pakete geladen, so wird die Funktionalität von +\TUDScript durch dieses verbessert beziehungsweise erweitert oder es wird ein +Bugfix bereitgestellt. +% \begin{packages} \item[hyperref]\index{Lesezeichen}\index{Querverweise} Hiermit können in einem PDF-Dokument Lesezeichen, Querverweise und @@ -126,10 +128,8 @@ Das Weiterreichen von Optionen an Pakete muss folgendermaßen erfolgen: \item[ragged2e]\index{Worttrennung} Das Paket verbessert den Flattersatz, indem für diesen die Worttrennung aktiviert wird. -\item[pagecolor]\index{Farben} - Mit dem Paket kann die Hintergrundfarbe der Seiten im Dokument geändert - werden. Nach der Ausgabe einer farbigen Titel"~, Teile"~, oder Kapitelseite - wird auf diese zurückgeschaltet. +\item[pdfpages] + Bugfix für die Einbindung von PDF"~Dateien ohne angegebene Seitenfarbe. \end{packages} @@ -258,8 +258,8 @@ Wertschätzung ableiten. nach dem Motto \enquote{viel hilft viel} verfahren werden. In diesem Dokument wurde als Faktor für den Zeilenabstand \Macro{setstretch}\PParameter{1.1} gewählt. Nach einer Einstellung des Zeilenabstandes sollte der Satzspiegel - unbedingt mit \Macro{recalctypearea} neu berechnet werden. Siehe dazu auch - \autoref{sec:tips:headings} sowie \autoref{sec:tips:headline}. + unbedingt mit \Macro{recalctypearea} neu berechnet werden. Weitere Tipps sind + in \autoref{sec:tips:headings} sowie \autoref{sec:tips:headline} zu finden. \item[csquotes]\index{Zitate} Das Paket stellt unter anderem den Befehl \Macro{enquote}\Parameter{Zitat} zur Verfügung, welcher Anführungszeichen in Abhängigkeit der gewählten @@ -277,12 +277,11 @@ Wertschätzung ableiten. Leerzeichen automatisch. In \autoref{sec:tips:xspace} ist die Definition eines solchen Befehls exemplarisch ausgeführt. \item[ellipsis]\index{Befehle!Deklaration} - In \hologo{LaTeX} folgten den Befehlen für Auslassungspunkte (\Macro{dots} - und \Macro{textellipsis}) \emph{immer} ein Leerzeichen. Dies kann unter - Umständen unerwünscht sein. Mit dem Paket \Package{ellipsis} wird das - folgende Leerzeichen~-- im Gegensatz zum Standardverhalten~-- nur gesetzt, - wenn ein Satzzeichen und kein Buchstabe folgt. Siehe dazu auch - \autoref{sec:tips:dots}. + In \hologo{LaTeX} folgen den Befehlen für Auslassungspunkte (\Macro{dots} und + \Macro{textellipsis}) \emph{immer} ein Leerzeichen. Dies kann unter Umständen + unerwünscht sein. Mit dem Paket \Package{ellipsis} wird das nachfolgende + Leerzeichen~-- im Gegensatz zum Standardverhalten~-- nur gesetzt, wenn ein + Satzzeichen und kein Buchstabe folgt, \seealso*{\autoref{sec:tips:dots}}. \item[xpunctuate]\index{Befehle!Deklaration} Die Funktionalität von \Package{xspace} wird um die Beachtung von Interpunktionen erweitert. @@ -373,16 +372,16 @@ Dokumentprozessor genutzt wird. gestellt. \end{packages} % -Auch für die mathematischen Schriften gibt es einige nützliche Pakete. +Auch für die Mathematikschriften gibt es einige nützliche Pakete. Werden die +Schriften des \CDs genutzt, sei auf die Option \Option{cdmath} verwiesen. \index{Mathematiksatz!Schrift}\index{Schrift!Mathematiksatz} % \begin{packages} -\item[sansmath] +\item[sansmathfonts] Sollten die normalen \hologo{LaTeX}-Schriften Computer~Modern verwendet werden, kann man dieses Paket zum serifenlosen Setzen mathematischer - Ausdrücke nutzen. Werden die Schriften des \CDs der \TnUD zusammen mit den - \TUDScript-Hauptklassen verwendet, sei auf die Option \Option{sansmath} - verwiesen. + Ausdrücke nutzen. Ein alternatives Paket mit der gleichen Zielstellung ist + \Package{sansmath} \item[sfmath] Diese Paket verfolgt ein ähnliches Ziel, kann jedoch im Gegensatz zu \Package{sansmath} nicht nur für Computer~Modern sondern mit der @@ -804,7 +803,7 @@ eingeordnet zu werden. Argumentes ist möglich. \item[xkeyval]\index{Befehle!Deklaration} \ChangedAt{v2.02!\Package{xkeyval}: Beschreibung hinzugefügt} - Das \KOMAScript{}"=Bundle lädt das Paket \Package{keyval}, um Optionen mit + Das \KOMAScript"=Bundle lädt das Paket \Package{keyval}, um Optionen mit einer Schlüssel"=Wert"=Syntax deklarieren zu können. Zusätzlich wird von \TUDScript das Paket \Package{kvsetkeys} geladen, um auf nicht definierte Schlüssel reagieren zu können. Die Schlüssel"=Wert"=Syntax kann auch für @@ -842,6 +841,13 @@ eingeordnet zu werden. {~}{{\textasciitilde}}1 {ß}{{\ss}}1 } \end{Code}\vspace{-\baselineskip}% +\item[afterpage] + Der Befehl \Macro{afterpage}\Parameter{\dots} kann genutzt werden, um den + Inhalt aus dessen Argument direkt nach der Ausgabe der aktuellen Seite + auszuführen. +\item[pagecolor]\index{Farben} + Mit dem Paket kann die Hintergrundfarbe der Seiten im Dokument geändert + werden. \item[mwe]\index{Minimalbeispiel|!} \ChangedAt{v2.02!\Package{mwe}: Beschreibung hinzugefügt} Mit diesem Paket lassen sich sehr einfach Minimalbeispiele erzeugen, die diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex index 0fea5fe02df..adc1e00371c 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex @@ -10,13 +10,11 @@ {~}{{\textasciitilde}}1 {ß}{{\ss}}1 } -\usepackage[open,openlevel=0]{bookmark}[2011/12/02] - \begin{document} \faculty{http://tu-dresden.de/cd} -\date{17.12.2014} +\date{15.02.2015} \author{Falk Hanisch\thanks{\noexpand\Email{\tudscrmail}}} -\subject{\TUDScript{} \vTUDScript{} basierend auf \KOMAScript{} \vKOMAScript} +\subject{\TUDScript{} \vTUDScript{} basierend auf \KOMAScript{}} \title{% Ein \NoCaseChange{\hologo{LaTeXe}}-Bundle für Dokumente im~neuen \CD der \TnUD } @@ -38,18 +36,20 @@ pdfkeywords = {LaTeX, \TUDScript, Benutzerhandbuch},% }% \endgroup% +\renewcommand*\@pnumwidth{1.7em} \makeatother -\maketitle -\include{tudscr-preface} -\makeatletter -\renewcommand*\@pnumwidth{1.7em} -\makeatother +\ChangedAt*{% + v2.00!Generalüberholung und komplette Neuimplementierung von \TUDScript% +}% +\maketitle +\include{tudscr-preface} \tableofcontents - \include{tudscr-introduction} + + \setpartpreamble{% \begin{abstract} \hypersetup{linkcolor=red} @@ -57,24 +57,13 @@ Anwender alle verfügbaren Optionen, Umgebungen und Befehle, die über die Funktionalität von \KOMAScript{} hinausgehen. \end{abstract} - \ChangedAt*{% - v2.00!Generalüberholung und komplette Neuimplementierung von \TUDScript,% - v2.00!Schriften~-- insbesondere für den mathematischen Satz~-- verbessert,% - v2.00!Robustheit vieler Befehle und Optionen erhöht,% - v2.01!Unterschneidung (Kerning) der Ziffern für \Univers verbessert,% - v2.01b!Bugfix für falsche Berechnungen verschiedener Längen,% - v2.02!Befehle zur besseren Kompatibilität mit anderen Paketen umbenannt{,} - siehe dazu \manualhyperref{v2.02:Umbenennungen}{\enquote{Umbenennungen}} - in der Änderungsliste zur Version~v2.02,% - }% }% -\part{Das \TUDScript-Bundle} -\label{part:main} - +\part{Das \TUDScript-Bundle}\label{part:main} \include{tudscr-mainclasses} - \include{tudscr-bundle} + + \setpartpreamble{% \begin{abstract} \hypersetup{linkcolor=red} @@ -94,25 +83,29 @@ jederzeit empfänglich. \end{abstract} } -\part{Ergänzungen und Hinweise} -\label{part:additional} - +\part{Ergänzungen und Hinweise}\label{part:additional} \include{tudscr-examples} - \include{tudscr-packages} - \include{tudscr-hints} + + \part{Anhang} \appendix - \include{tudscr-installation} - \include{tudscr-obsolete} - \include{tudscr-index} + + \ListOfToDo +\ToDo[imp,nxt]{% + verzögertes Laden der Pakete \Package{fontspec}, \Package{graphicx}, + \Package{tudscrcolor}, \Package{scrlayer-scrpage} und \Package{geometry} + auflösen bzw. ggf. dokumentieren% +}[v2.04] +\ToDo[rls]{dtx-Dateien der vorherigen Version mit WinMerge sichten} \ToDo[rls]{Layout und Umbrüche kontrollieren, insbesondere im Index} \ToDo[rls]{Datum in tudscr-version.dtx, Handbuch und README aktualisieren} +\ToDo[rls]{ggf. notwendige KOMA-Script-Version anpassen (LoadClass)} \end{document} diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx index 517936b8410..8c43c7fb9bc 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx @@ -1,29 +1,33 @@ -% \CheckSum{271} +% \CheckSum{291} % \iffalse meta-comment -% ====================================================================== -% -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ +% % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-base.dtx}[% - 2014/11/05 v2.02 TUD-KOMA-Script\space% + 2015/02/12 v2.03 TUD-KOMA-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<package>\ProvidesPackage{tudscrbase}[% @@ -134,11 +138,39 @@ % \end{macrocode} % \end{macro}^^A \ifxnumber % +% \subsubsection{Test auf booleschen Ausdruck in Form eines Strings} +% +% \begin{macro}{\ifstrbool} +% \changes{v2.03}{2015/01/09}{neu}%^^A +% Dieser Befehl dient zum Testen, ob ein gegebener String als boolescher +% Ausdruck interpretiert werden kann. Ist der String als \enquote{wahr} +% interpretierbar, wird das zweite Argument ausgeführt. Kann der String als +% \enquote{falsch} angesehen werden, dementsprechen das dritte. Ist der String +% kein logischer Wert, kommt das letzte Argument zum Tragen. Die Syntax lautet: +% \cs{ifstrbool}\marg{Argument}\marg{Wahr}\marg{Falsch}\marg{Andernfalls} +% \begin{macrocode} +\newcommand*\ifstrbool[4]{% + \ifstr{#1}{true}{#2}{% + \ifstr{#1}{on}{#2}{% + \ifstr{#1}{yes}{#2}{% + \ifstr{#1}{false}{#3}{% + \ifstr{#1}{no}{#3}{% + \ifstr{#1}{off}{#3}{% + #4% + }% + }% + }% + }% + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \ifstrbool +% % \subsubsection{Schlüssel und Parameter für die Wrapper-Klassen} % % \begin{macro}{\TUDProcessOptions} % \begin{macro}{\TUDExecuteOptions} -% \begin{macro}{\TUDDefaultOptions} % \begin{macro}{\TUDoptions} % \begin{macro}{\TUDoption} % \begin{macro}{\TUD@noworlater} @@ -149,27 +181,35 @@ % \begin{macro}{\TUD@set@ifkey} % \begin{macro}{\TUD@numkey} % \begin{macro}{\TUD@numkey@bool} -% \changes{v2.02}{2014/11/05}{neu}%^^A +% \changes{v2.03}{2015/01/09}{neu}%^^A % \begin{macro}{\TUD@set@numkey} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% \begin{macro}{\TUD@lengthkey} +% \changes{v2.03}{2015/01/09}{neu}%^^A +% \begin{macro}{\TUD@set@lengthkey} % \begin{macro}{\TUD@unknown@keyval} % In Anlehnung an \KOMAScript{} werden hier Befehle zur Definition und % Ausführung unterschiedlicher Klassenoptionen mithilfe der Funktionen aus % dem \pkg{scrbase}-Paket erstellt. Klassenoptionen können entweder als % Schalter (\cs{TUD@ifkey}) oder aber mit mehreren möglichen Werten -% (\cs{TUD@numkey}) definiert werden. Die Grundeinstellungen für alle -% \cls{tudscr}-Klassen werden in \cs{TUDDefaultOptions} hinterlegt. +% (\cs{TUD@numkey}) definiert werden. % \begin{macrocode} \DefineFamily{TUD} \newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}} \newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}} -\newcommand*\TUDDefaultOptions{cd,cdfont,tudbookmarks} \newcommand*\TUDoptions{\FamilyOptions{TUD}} \newcommand*\TUDoption{\FamilyOption{TUD}} +% \end{macrocode} +% Hiermit wird die Abarbeitung der Optionen an das Ende der Klasse verzögert. +% \begin{macrocode} \newcommand*\TUD@noworlater{\AtEndOfClass} \AtEndOfClass{\let\TUD@noworlater\@firstofone} +% \end{macrocode} +% Dies sind die Befehle zur Definition einer Standardoption. +% \begin{macrocode} \newcommand*\TUD@key[2][.\@currname.\@currext]{% \DefineFamilyMember{TUD}% - \@ifnextchar[%] + \kernel@ifnextchar[%] {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}% } \def\TUD@@key[#1]#2[#3]#4{% @@ -178,11 +218,17 @@ \def\TUD@@@key[#1]#2#3{% \DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}% } +% \end{macrocode} +% Dies sind die Befehle zur Definition einer booleschen Option. +% \begin{macrocode} \newcommand*\TUD@ifkey[1][.\@currname.\@currext]{% \DefineFamilyMember{TUD}% \FamilyBoolKey[#1]{TUD}% } \newcommand*\TUD@set@ifkey{\FamilySetBool{TUD}} +% \end{macrocode} +% Dies sind die Befehle zur Definition einer Option mit definierten Werten. +% \begin{macrocode} \newcommand*\TUD@numkey[1][.\@currname.\@currext]{% \DefineFamilyMember{TUD}% \FamilyNumericalKey[#1]{TUD}% @@ -195,9 +241,23 @@ {false}{0},{off}{0},{no}{0},{true}{1},{on}{1},{yes}{1}% } \newcommand*\TUD@set@numkey{\FamilySetNumerical{TUD}} +% \end{macrocode} +% Dies sind die Befehle zur Definition einer Option zur Festlegung einer Länge. +% \begin{macrocode} +\newcommand*\TUD@lengthkey[1][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \FamilyLengthKey[#1]{TUD}% +} +\newcommand*\TUD@set@lengthkey{\FamilySetLength{TUD}} +% \end{macrocode} +% Dieser Befehl wird lediglich pro forma definiert. Derzeit wird er durch +% \KOMAScript nicht abgearbeitet. +% \begin{macrocode} \newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}} % \end{macrocode} % \end{macro}^^A \TUD@unknown@keyval +% \end{macro}^^A \TUD@set@lengthkey +% \end{macro}^^A \TUD@lengthkey % \end{macro}^^A \TUD@set@numkey % \end{macro}^^A \TUD@numkey@bool % \end{macro}^^A \TUD@numkey @@ -209,7 +269,6 @@ % \end{macro}^^A \TUD@noworlater % \end{macro}^^A \TUDoption % \end{macro}^^A \TUDoptions -% \end{macro}^^A \TUDDefaultOptions % \end{macro}^^A \TUDExecuteOptions % \end{macro}^^A \TUDProcessOptions % \begin{macro}{\TUD@key@lock} @@ -253,11 +312,11 @@ \boolfalse{@tud@#1@locked}% }% } -\let\TUD@std@numkey@lock\TUD@std@ifkey@lock \newcommand*\TUD@set@ifkey@lock[1]{% \booltrue{@tud@#1@locked}% \TUD@set@ifkey{#1}% } +\let\TUD@std@numkey@lock\TUD@std@ifkey@lock \newcommand*\TUD@set@numkey@lock[1]{% \booltrue{@tud@#1@locked}% \TUD@set@numkey{#1}% @@ -268,93 +327,124 @@ % \end{macro}^^A \TUD@std@numkey@lock % \end{macro}^^A \TUD@std@ifkey@lock % \end{macro}^^A \TUD@key@lock -% \begin{macro}{\csdef@lock} -% \begin{macro}{\csstd@lock} -% \begin{macro}{\csset@lock} -% Mit \cs{csdef@lock}\marg{Name}\marg{Definition} kann ein Befehl definiert -% werden, welcher intern nur mit \cs{csstd@lock}\marg{Name}\marg{Definition} +% \begin{macro}{\cs@lock} +% \begin{macro}{\cs@std@lock} +% \begin{macro}{\cs@set@lock} +% Mit \cs{cs@lock}\marg{Name}\marg{Definition} kann ein Befehl definiert +% werden, welcher intern nur mit \cs{cs@std@lock}\marg{Name}\marg{Definition} % geschrieben wird, wenn nicht über eine entsprechende Option ein explizites -% Verhalten mit \cs{csset@lock}\marg{Name}\marg{Definition} zugewiesen wurde. +% Verhalten mit \cs{cs@set@lock}\marg{Name}\marg{Definition} zugewiesen wurde. % Dies ist äquivalent zu \cs{TUD@std@ifkey@lock} und \cs{TUD@set@ifkey@lock} % bzw. \cs{TUD@std@numkey@lock} und \cs{TUD@set@numkey@lock} % \begin{macrocode} -\newcommand*\csdef@lock[2]{% +\newcommand*\cs@lock[2]{% \csdef{#1}{#2}% \newbool{#1@locked}% } -\newcommand*\csstd@lock[2]{% +\newcommand*\cs@std@lock[2]{% \ifbool{#1@locked}{}{% \csdef{#1}{#2}% \boolfalse{#1@locked}% }% } -\newcommand*\csset@lock[2]{% +\newcommand*\cs@set@lock[2]{% \csdef{#1}{#2}% \booltrue{#1@locked}% } % \end{macrocode} -% \end{macro}^^A \csset@lock -% \end{macro}^^A \csstd@lock -% \end{macro}^^A \csdef@lock -% \begin{macro}{\newbool@lock} -% \begin{macro}{\stdbool@lock} -% \begin{macro}{\setbool@lock} +% \end{macro}^^A \cs@set@lock +% \end{macro}^^A \cs@std@lock +% \end{macro}^^A \cs@lock +% \begin{macro}{\bool@lock} +% \begin{macro}{\bool@std@lock} +% \begin{macro}{\bool@set@lock} % Diese Makros dienen in Anlehnung an die vorherigen zum Definieren und Setzen % von sperrbaren booleschen Schaltern. % \begin{macrocode} -\newcommand*\newbool@lock[2][false]{% +\newcommand*\bool@lock[2][false]{% \newbool{#2}% \newbool{#2@locked}% \setbool{#2}{#1}% } -\newcommand*\stdbool@lock[2]{% +\newcommand*\bool@std@lock[2]{% \ifbool{#1@locked}{}{% \setbool{#1}{#2}% \boolfalse{#1@locked}% }% } -\newcommand*\setbool@lock[2]{% +\newcommand*\bool@set@lock[2]{% \setbool{#1}{#2}% \booltrue{#1@locked}% } % \end{macrocode} -% \end{macro}^^A \setbool@lock -% \end{macro}^^A \stdbool@lock -% \end{macro}^^A \newbool@lock +% \end{macro}^^A \bool@set@lock +% \end{macro}^^A \bool@std@lock +% \end{macro}^^A \bool@lock % \begin{macro}{\tud@cmd@store} % \begin{macro}{\tud@cmd@reset} % \begin{macro}{\tud@cmd@use} % \begin{macro}{\tud@cmd@restore} -% Mit diesen beiden Befehlene wird es möglich, Originalbefehle sichern, nutzen -% und wiederherstellen zu können. Dies wird benötigt, um zwischen den einzelnen +% \begin{macro}{\tud@cmd@check} +% \changes{v2.03}{2015/01/09}{neu}%^^A +% Mit diesen Befehlen wird es möglich, Originalbefehle sichern, nutzen und +% wiederherstellen zu können. Dies wird benötigt, um zwischen den einzelnen % Layouts über Optionseinstellungen zu wechseln und dabei von einem definierten -% Anfangszustand auszugehen. Mit dem Aufruf \cs{tud@cmd@store}\marg{Befehlsname} -% wird der angegebene Befehl in einem neuen Makro \cs{@@tud@\meta{Befehlsname}} -% gespeichert. -% -% Der Originalbefehl kann als solcher mit \cs{tud@cmd@use}\marg{Befehlsname} -% weiterhin genutzt werden. Das Makro \cs{tud@cmd@reset}\marg{Befehlsname} -% setzt den Originalbefehl zurück. Durch \cs{tud@cmd@restore}\marg{Befehlsname} -% wird das mit \cs{tud@cmd@store} erstellte Hilfsmakro zusätzlich gelöscht. +% Anfangszustand auszugehen. +% +% Mit dem Aufruf \cs{tud@cmd@store}\marg{Befehlsname} wird der angegebene +% Befehl in einem neuen Makro \cs{@@tud@\meta{Befehlsname}} gespeichert. Dieser +% kann danach beliebig angepasst werden. Soll der Befehl zu einem späteren +% Zeitpunkt auf den Orginalzustand zurücksetzen, kann hierfür jederzeit der +% Befehl \cs{tud@cmd@reset}\marg{Befehlsname} verwendet werden. Durch das Makro +% \cs{tud@cmd@restore}\marg{Befehlsname} wird das mit \cs{tud@cmd@store} +% erstellte Hilfsmakro zusätzlich noch gelöscht. Der Originalbefehl kann als +% solcher mit \cs{tud@cmd@use}\marg{Befehlsname} weiterhin genutzt werden. % \begin{macrocode} \newcommand*\tud@cmd@store[1]{% - \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}% + \ifcsdef{@@tud@#1}{}{% + \tud@cmd@check{#1}% + \csletcs{@@tud@#1}{#1}% + }% } \newcommand*\tud@cmd@reset[1]{% \ifcsdef{@@tud@#1}{% + \tud@cmd@check{#1}% \csletcs{#1}{@@tud@#1}% }{}% } -\newcommand*\tud@cmd@use[1]{% - \ifcsdef{@@tud@#1}{\@nameuse{@@tud@#1}}{\@nameuse{#1}}% -} \newcommand*\tud@cmd@restore[1]{% \ifcsdef{@@tud@#1}{% + \tud@cmd@check{#1}% \csletcs{#1}{@@tud@#1}% \csundef{@@tud@#1}% }{}% } +\newcommand*\tud@cmd@use[1]{% + \ifcsdef{@@tud@#1}{% + \@nameuse{@@tud@#1}% + }{% + \tud@cmd@check{#1}% + \@nameuse{#1}% + }% +} % \end{macrocode} +% Dieses Makro dient zum Überprüfen, ob der zu sichernde beziehungsweise +% wiederherzustellende Befehl überhaupt definiert ist. Sollte das nicht der +% Fall sein, wird ein Fehler ausgegeben. +% \begin{macrocode} +\newcommand*\tud@cmd@check[1]{% + \ifcsdef{#1}{}{% + \PackageError{tudscrbase}{% + `\@backslashchar#1' is not defined% + }{% + The command `\@backslashchar#1' was never defined.\MessageBreak% + Please contact the TUD-KOMA-Script maintainer\MessageBreak% + via \tudscrmail. A bugfix is urgently required + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@cmd@check % \end{macro}^^A \tud@cmd@restore % \end{macro}^^A \tud@cmd@use % \end{macro}^^A \tud@cmd@reset @@ -366,10 +456,10 @@ % \begin{macrocode} \newcommand*\tud@patch@wrn[1]{% \PackageWarning{tudscrbase}{% - It wasn't possible to patch `#1'.\MessageBreak% - Please contact the author via \tudscrmail.\MessageBreak% - Without a bugfix an erroneous output\MessageBreak% - may occur. + It wasn't possible to patch `\@backslashchar#1'.\MessageBreak% + Please contact the TUD-KOMA-Script maintainer\MessageBreak% + via \tudscrmail. Without a bugfix an\MessageBreak% + erroneous output may occur% }% } % \end{macrocode} @@ -383,11 +473,11 @@ % Befehl, welcher eindeutig gewählt werden sollte. Dieser wird im Hilfsmakro % \cs{TUD@parameter@family} gesichert. Dies soll im Zusammenspiel mit dem % Makro \cs{TUD@parameter@checkfamily} dafür sorgen, dass die im Folgenden -% bereitgestellten Befehle\footnote{\cs{TUD@parameter@define}, -% \cs{TUD@parameter@let}, \cs{TUD@parameter@sethandler}, -% \cs{TUD@parameter@set}}~-- welche die eigentliche Definition der Parameter -% für den Benutzer bewerkstelligen~-- nur innerhalb des zweiten Argumentes von -% \cs{TUD@parameter} verwendet werden können. +% bereitgestellten Befehle \cs{TUD@parameter@define}, \cs{TUD@parameter@let}, +% und \cs{TUD@parameter@sethandler}~-- welche die eigentliche Definition der +% Parameter für den Benutzer bewerkstelligen~-- ohne die Angabe der Familie nur +% innerhalb des zweiten Argumentes von \cs{TUD@parameter} verwendet werden +% können. % \begin{macrocode} \newcommand*\TUD@parameter@family{}% \newcommand*\TUD@parameter[2]{% @@ -474,36 +564,27 @@ % \end{macro}^^A \TUD@parameter@let % \end{macro}^^A \TUD@parameter@define % \begin{macro}{\TUD@parameter@set} -% Mit \cs{TUD@parameter@set}\oarg{Familienname}\marg{Parameterliste} wird die +% Mit \cs{TUD@parameter@set}\marg{Familienname}\marg{Parameterliste} wird die % Verarbeitung aller gegebenen Parameter veranlasst. Normalerweise wird dieser -% Befehl innerhalb des zweiten Argumentes von \cs{TUD@parameter} verwendet. -% Alternativ dazu kann die gewünschte Familie im optionalen Argument angegeben -% werden. +% Befehl \emph{nicht} innerhalb des zweiten Argumentes von \cs{TUD@parameter} +% verwendet. In jedem Fall muss die zu verwendende Familie angegeben werden. % \begin{macrocode} -\newcommand*\TUD@parameter@set[1][]{% - \ifxblank{#1}{% - \TUD@parameter@checkfamily{\TUD@parameter@set}% - \expandafter\kvsetkeys\expandafter{\TUD@parameter@family}% - }{% - \expandafter\kvsetkeys\expandafter{#1}% - }% -} +\newcommand*\TUD@parameter@set[2]{\@expandtwoargs\kvsetkeys{#1}{#2}} % \end{macrocode} % \end{macro}^^A \TUD@parameter@set -% \begin{macro}{\TUD@parameter@wrn} +% \begin{macro}{\TUD@parameter@error} % Das Makro \cs{TUD@parameter@wrn}\marg{Parameter}\marg{Werteliste} gibt für % den Fall einer ungültigen Wertzuweisung an einen bestimmten \meta{Parameter} % eine Warnung mit einem entsprechenden Hinweis auf gültige Werte innerhalb von % \meta{Werteliste} aus. % \begin{macrocode} -\newcommand*\TUD@parameter@wrn[2]{% - \PackageWarning{tudscrbase}{% - Parameter `#1' can only be used with values:\MessageBreak% - #2% +\newcommand*\TUD@parameter@error[2]{% + \PackageError{tudscrbase}{Unsupported value for parameter `#1'}{% + `#1' can only be used with values:\MessageBreak#2% }% } % \end{macrocode} -% \end{macro}^^A \TUD@parameter@wrn +% \end{macro}^^A \TUD@parameter@error % % \iffalse %</package> @@ -538,7 +619,7 @@ % \KOMAScript-Klasse verzögert. % \begin{macrocode} %<*!inherit> -\TUDExecuteOptions{\TUDDefaultOptions} +\TUDExecuteOptions{cd,cdfont,tudbookmarks} %</!inherit> \TUDProcessOptions\relax % \end{macrocode} @@ -560,7 +641,7 @@ % \subsection{Externe Pakete} % % \changes{v2.01}{2014/04/24}{Versionsanforderungen bei benötigten Paketen}%^^A -% \changes{v2.02}{2014/07/08}{Warnung bei der Verwendung von \pkg{graphics}}%^^A +% \changes{v2.02}{2014/07/08}{\pkg{graphics} Warnung bei Verwendung}%^^A % % Für die Verwendung der hier erstellten \KOMAScript-Wrapper-Klassen werden % einige wenige Pakete eingebunden. Dabei wurde versucht, die Anzahl der diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx index bf07d2ead4c..824faf1f680 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx @@ -1,29 +1,33 @@ -% \CheckSum{233} +% \CheckSum{225} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-color.dtx}[% - 2014/10/10 v2.02 TUD-KOMA-Script\space% + 2015/02/12 v2.03 TUD-KOMA-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<package>\ProvidesPackage{tudscrcolor}[% @@ -94,11 +98,23 @@ % \subsection{Optionen des Paketes \pkg{tudscrcolor}} % % \begin{macrocode} +\DeclareOption{newcolors}{\let\setcdcolors@add\relax} \DeclareOption{reduced}{\let\setcdcolors@add\relax} -\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@full} +\DeclareOption{oldcolors}{\let\setcdcolors@add\setcdcolors@oldcolors} +\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@oldcolors} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}} % \end{macrocode} % +% \begin{macro}{\nopagecolor} +% \changes{v2.03}{2015/01/09}{Befehl wird standardmäßig bereitgestellt}%^^A +% Der Befehl \cs{nopagecolor} wird lediglich durch pdf\LaTeX{} und Lua\LaTeX{} +% jedoch nicht durch Xe\LaTeX{} sowie \texttt{dvips} und \texttt{dvipdfm(x)} +% bereitgestellt. Deshalb wird er durch das Paket im Zweifelsfall definiert. +% \begin{macrocode} +\providecommand*\nopagecolor{\pagecolor{white}}% +% \end{macrocode} +% \end{macro}^^A \nopagecolor +% % \iffalse %</package> %<*class> @@ -106,30 +122,17 @@ % % \subsection{Befehle für die \cls{tudscr}-Klassen} % -% \begin{macro}{\nopagecolor} % \begin{macro}{\tud@pagecolor} % \begin{macro}{\tud@restorepagecolor} -% Diese Befehle dienen zum Umschalten der Farben für Titel- und Kapitelseiten. -% Wenn die Farben für Titel- und Kapitelseiten umgeschaltet werden, geht die -% Information über die aktuelle Text- und Seitenfarbe verloren. Um dies zu -% verhindern, kann das Paket \pkg{pagecolor} geladen werden, welches mit den -% Befehlen \cs{newcolor} und \cs{restorecolor} ein Wiederherstellen ermöglicht. +% \changes{v2.03}{2015/01/09}{entfernt}%^^A +% Dieser Befehl dient zum Umschalten der Hintergrundfarben für Titel-, Teile- +% und Kapitelseiten. Gesetzt werden diese mit dem Paket \pkg{scrlayer} über +% eine Ebene im Pseudoseitenstil \pgs{@everystyle@}. % \begin{macrocode} -\newcommand*\tud@pagecolor[1]{} -\newcommand*\tud@restorepagecolor{} -\AfterPackage{tudscrcolor}{% - \providecommand*\nopagecolor{\pagecolor{white}}% - \let\tud@pagecolor\pagecolor% - \let\tud@restorepagecolor\nopagecolor% - \AfterPackage*{pagecolor}{% - \let\tud@pagecolor\newpagecolor% - \let\tud@restorepagecolor\restorepagecolor% - }% -} +\newcommand*\tud@pagecolor{} % \end{macrocode} % \end{macro}^^A \tud@restorepagecolor % \end{macro}^^A \tud@pagecolor -% \end{macro}^^A \nopagecolor % Sollte das Paket \pkg{pdfpages} geladen werden, so ist eine Definition % der Standardseitenfarbe zum Einbinden von PDF-Dokumenten notwendig. % Andernfalls werden bei der Verwendung von \cs{includepdf} nur leere Seiten @@ -254,13 +257,13 @@ % \end{macrocode} % \end{macro}^^A \setcdcolors@add % \end{macro}^^A \setcdcolors -% \begin{macro}{\setcdcolors@full} +% \begin{macro}{\setcdcolors@oldcolors} % Die erweiterten Farbbefehle werden durch \pkg{tudscrcolor} definiert, wenn -% das Paket explizit mit der Option \opt{full} geladen wird. Damit werden +% das Paket explizit mit der Option \opt{oldcolors} geladen wird. Damit werden % alle gängigen Farbdefinitionen der vielen Insellösungen des \LaTeX-Universums % an der Technischen Universität Dresden unterstützt. % \begin{macrocode} -\newcommand*\setcdcolors@full{% +\newcommand*\setcdcolors@oldcolors{% \colorlet{HKS41K100}{HKS41!100} \colorlet{HKS41K90}{HKS41!90} \colorlet{HKS41K80}{HKS41!80} @@ -423,7 +426,7 @@ \colorlet{HKS07-100}{HKS07!100} } % \end{macrocode} -% \end{macro}^^A \setcdcolors@full +% \end{macro}^^A \setcdcolors@oldcolors % Zum Schluss werden die Optionen ausgeführt und ggf. an \pkg{xcolor} % weitergereicht. Anschließend werden die Farben für das Dokument definiert. % Ohne die Angabe eines optionalen Argumentes an das Paket \pkg{xcolor} erfolgt diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx index 091416da345..161f8f20132 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx @@ -1,29 +1,33 @@ -% \CheckSum{336} +% \CheckSum{439} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,14 +51,14 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-comp.dtx}[% - 2014/11/05 v2.02 TUD-KOMA-Script\space% + 2015/02/15 v2.03 TUD-KOMA-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<package>\ProvidesPackage{tudscrcomp}[% %<*driver|package> %!TUDVersion %<package> package - (compatibility for tudbook)% + (compatibility for old tud(scr) classes)% ] %</driver|package> %<*driver> @@ -153,18 +157,22 @@ % \begin{macrocode} \TUD@key{colortitle}[true]{% \TUD@set@ifkey{colortitle}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{cdtitle=color}% - \else% - \TUDoptions{cdtitle=true}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdtitle=color}% + \else% + \TUDoptions{cdtitle=true}% + \fi% \fi% } \TUD@key{nocolortitle}[true]{% \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{cdtitle=true}% - \else% - \TUDoptions{cdtitle=color}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdtitle=true}% + \else% + \TUDoptions{cdtitle=color}% + \fi% \fi% } % \end{macrocode} @@ -177,10 +185,12 @@ % \begin{macrocode} \TUD@key{ddcfooter}[true]{% \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{ddcfoot=true}% - \else% - \TUDoptions{ddcfoot=false}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{ddcfoot=true}% + \else% + \TUDoptions{ddcfoot=false}% + \fi% \fi% } % \end{macrocode} @@ -203,9 +213,9 @@ \bib@heading% #1% \list{}{% - \setlength{\labelsep}{\z@}% - \setlength{\labelwidth}{\z@}% - \setlength{\itemindent}{-\leftmargin}% + \setlength\labelsep{\z@}% + \setlength\labelwidth{\z@}% + \setlength\itemindent{-\leftmargin}% }% }{\endlist} \newcommand\glossitem[1]{\item[] #1\par}% @@ -215,21 +225,6 @@ % \end{macro}^^A \glossitem % \end{macro}^^A \glossaryname % \end{environment}^^A theglossary -% \begin{option}{serifmath} -% Die alte \cls{tudbook}-Klasse hat neben der Option \opt{sansmath} -% außerdem den zusätzlichen Schlüssel \opt{serifmath} definiert, welcher aus -% Gründen der Kompatibilität hier ebenfalls vorgehalten wird. -% \begin{macrocode} -\TUD@key{serifmath}[true]{% - \TUD@set@ifkey{serifmath}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{sansmath=false}% - \else% - \TUDoptions{sansmath=true}% - \fi% -} -% \end{macrocode} -% \end{option}^^A serifmath % \begin{macro}{\chapterpage} % \begin{macro}{\if@tud@chapterpage@temp} % \begin{macro}{\tud@chapterpage@set} @@ -267,6 +262,30 @@ \tud@chapterpage@set% \global\@tud@chapterpage@tempfalse% } +% \end{macrocode} +% Da wie bereits beschrieben das Vorgehen äußerst fragwürdig ist, wird bei der +% Verwendung von \cs{chapterpage} zumindest einmalig eine Warnung ausgegeben. +% \begin{macrocode} +\newcommand*\tud@chapterpage@wrn{% + \ClassWarning{\tudcls@name}{% + The command \string\chapterpage\space is not\MessageBreak% + recommended. You should use the same style for\MessageBreak% + chapters throughout the document + }% + \global\let\tud@chapterpage@wrn\relax% +} +% \end{macrocode} +% \end{macro}^^A \tud@chapterpage@wrn +% \end{macro}^^A \tud@chapterpage@unset +% \end{macro}^^A \tud@chapterpage@set +% \end{macro}^^A \if@tud@chapterpage@temp +% \end{macro}^^A \chapterpage +% \begin{macro}{\tud@chapter} +% \begin{macro}{\tud@schapter} +% \begin{macro}{\tud@addchap} +% \begin{macro}{\tud@saddchap} +% Hier erfolgt die notwendige Anpassungen der internen Gliederungsbefehle. +% \begin{macrocode} \AtEndPreamble{% \pretocmd{\tud@chapter}{\tud@chapterpage@set}% {}{\tud@patch@wrn{tud@nchapter}}% @@ -286,23 +305,10 @@ {}{\tud@patch@wrn{tud@saddchap}}% } % \end{macrocode} -% Da wie bereits beschrieben das Vorgehen äußerst fragwürdig ist, wird bei der -% Verwendung von \cs{chapterpage} zumindest einmalig eine Warnung ausgegeben. -% \begin{macrocode} -\newcommand*\tud@chapterpage@wrn{% - \ClassWarning{\tudcls@name}{% - The command \string\chapterpage\space is not\MessageBreak% - recommended. You should use the same style for\MessageBreak% - chapters throughout the document - }% - \global\let\tud@chapterpage@wrn\relax% -} -% \end{macrocode} -% \end{macro}^^A \tud@chapterpage@wrn -% \end{macro}^^A \tud@chapterpage@unset -% \end{macro}^^A \tud@chapterpage@set -% \end{macro}^^A \if@tud@chapterpage@temp -% \end{macro}^^A \chapterpage +% \end{macro}^^A \tud@saddchap +% \end{macro}^^A \tud@addchap +% \end{macro}^^A \tud@schapter +% \end{macro}^^A \tud@chapter % % \iffalse %</package> @@ -321,45 +327,79 @@ % Hiermit wird alles dafür vorbereitet. % % \iffalse -%<*class&option> +%<*class|fonts> % \fi % -% \begin{option}{color} -% \begin{option}{colour} -% Die alte \cls{tudbook}-Klasse hat die Option \opt{color} definiert, mit -% welcher ein Umschalten auf farbige Titel- und Kapitelseiten möglich ist. Aus -% Kompatibilitätsgründen wird diese hier ebenfalls vorgehalten. +% \begin{macro}{\tud@deprecated@key} +% \changes{v2.03}{2015/02/05}{neu}%^^A +% \begin{macro}{\tud@deprecated@cmd} +% \changes{v2.03}{2015/02/05}{neu}%^^A +% Um alte Optionen und Befehle dem Anwender bei der Verwendung kenntlich zu +% machen, werden entsprechende Warnungen definiert. Für Optionen wird dabei +% lediglich die empfohlene Option ausgegeben. Das Ausführen dieser wird später +% definert. % \begin{macrocode} -\TUD@key{color}[true]{% - \TUD@set@numkey{color}{@tempa}{% - \TUD@numkey@bool,% - {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% - {color}{1},{colour}{1},{full}{1},% - {colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% - {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% - {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% - {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% - }{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \TUDoptions{cd=true}% - \or% - \TUDoptions{cd=color}% - \or% - \TUDoptions{cd=lite}% - \fi% - \fi% +%<*option> +\newcommand*\tud@deprecated@key[2]{% +%<*!fonts> + \ClassWarning{\tudcls@name}% +%</!fonts> +%<*fonts> + \PackageWarning{tudscrfonts}% +%</fonts> + {% + The option key `#1' is deprecated.\MessageBreak% + It's recommended to use `#2' instead% + }% } -\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} +%</option> % \end{macrocode} -% \end{option}^^A colour -% \end{option}^^A color +% Bei alten Befehlen wird nach der Warnung die Definition des neuen Befehls auf +% den alten überschrieben. +% \begin{macrocode} +%<*body> +\newcommand*\tud@deprecated@cmd[2]{% + \AtBeginDocument{% + \ifcsdef{#1}{}{% + \expandafter\newrobustcmd\csname #1\endcsname{% + \ClassWarning{\tudcls@name}{% + The command `\@backslashchar#1' is deprecated.\MessageBreak% + It's recommended to use `\@backslashchar#2' instead% + }% + \csletcs{#1}{#2}% + \@nameuse{#2}% + }% + }% + }% +} +%</body> +% \end{macrocode} +% \end{macro}^^A \tud@deprecated@cmd +% \end{macro}^^A \tud@deprecated@key +% +% \iffalse +%<*option> +% \fi +% +% \begin{option}{cdfonts} % \begin{option}{tudfonts} % Diese Option wird nur aus Gründen der Kompatibilität zu v1.0 definiert. % \begin{macrocode} +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{cdfonts}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% + \fi% + \fi% +} \TUD@key{tudfonts}[true]{% \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfonts}{cdfont}% \if@tempswa% \TUDoptions{cdfont=true}% \else% @@ -369,12 +409,154 @@ } % \end{macrocode} % \end{option}^^A tudfonts +% \end{option}^^A cdfonts +% \begin{option}{heavyfont} +% Hiermit lässt sich die Schriftstärke im Dokument beeinflussen. +% \begin{macrocode} +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{heavyfont}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont=true}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A heavyfont +% \begin{option}{din} +% \begin{option}{nodin} +% Diese Optionen dienten zur Auswahl, ob die Schrift DIN~Bold für die +% Überschriften verwendet werden soll. +% \begin{macrocode} +\TUD@key{din}[true]{% + \TUD@set@ifkey{din}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{din}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=din}% + \else% + \TUDoptions{cdfont=nodin}% + \fi% + \fi% +} +\TUD@key{nodin}[true]{% + \TUD@set@ifkey{nodin}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{nodin}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=nodin}% + \else% + \TUDoptions{cdfont=din}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A nodin +% \end{option}^^A din +% \begin{option}{sansmath} +% \begin{option}{serifmath} +% Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz +% für das gesamte Dokument umgestellt werden. Die \cls{tudbook}-Klasse hat +% neben der Option \opt{sansmath} außerdem den zusätzlichen Schlüssel +% \opt{serifmath} definiert, welcher aus Gründen der Kompatibilität hier +% ebenfalls vorgehalten wird. +% \begin{macrocode} +\TUD@key{sansmath}[true]{% + \TUD@set@ifkey{sansmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=true}% + \else% + \TUDoptions{cdmath=false}% + \fi% + \fi% +} +\TUD@key{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=false}% + \else% + \TUDoptions{cdmath=true}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A serifmath +% \end{option}^^A sansmath +% +% \iffalse +%<*!fonts> +% \fi +% +% \begin{option}{geometry} +% \changes{v2.02}{2014/07/08}{neu}%^^A +% Umbennennung der zu allgemein benannten Option, um zukünftigen Konflikten mit +% \KOMAScript{} aus dem Weg zu gehen. +% \begin{macrocode} +\TUD@key{geometry}[true]{% + \tud@deprecated@key{geometry}{cdgeometry}% + \TUDoptions{cdgeometry=#1}% +} +% \end{macrocode} +% \end{option}^^A geometry +% \begin{option}{barfont} +% \changes{v2.02}{2014/07/08}{neu}%^^A +% Mit dieser Option kann die Schrift des \CDs und deren Schriftstärke in der +% TUD-Kopfzeile unabhängig von der gewählten Schriftart für den Fließtext +% aktiviert werden. +% \begin{macrocode} +\TUD@key{barfont}[true]{% + \TUD@set@numkey{barfont}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{barfont}{cdhead}% + \ifcase\@tempa\relax% + \TUDoptions{cdhead=false}% + \or% + \TUDoptions{cdhead=true}% + \or% + \TUDoptions{cdhead=heavy}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A barfont +% \begin{option}{widehead} +% Der Schalter dient zur Steuerung der Breite des Querbalkens im Kopf der +% \env{tudpage}-Seite. Entweder der Querbalken liegt im Satzspiegel oder +% aber über die komplette Papierbreite. +% \begin{macrocode} +\TUD@key{widehead}[true]{% + \TUD@set@ifkey{widehead}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{widehead}{cdhead}% + \if@tempswa% + \TUDoptions{cdhead=paperwidth}% + \else% + \TUDoptions{cdhead=textwidth}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A widehead % \begin{option}{tudfoot} % Diese Option wird nur aus Gründen der Kompatibilität zu v1.0 definiert. % \begin{macrocode} \TUD@key{tudfoot}[true]{% \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfoot}{cdfoot}% \if@tempswa% \TUDoptions{cdfoot=true}% \else% @@ -384,43 +566,84 @@ } % \end{macrocode} % \end{option}^^A tudfoot +% \begin{option}{color} +% \begin{option}{colour} +% Die alte \cls{tudbook}-Klasse hat die Option \opt{color} definiert, mit +% welcher ein Umschalten auf farbige Titel- und Kapitelseiten möglich ist. Aus +% Kompatibilitätsgründen wird diese hier ebenfalls vorgehalten. +% \begin{macrocode} +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},% + {lite}{1},{light}{1},{pale}{1},% + {colorlite}{1},{litecolor}{1},{colourlite}{1},{litecolour}{1},% + {colorlight}{1},{lightcolor}{1},{colourlight}{1},{lightcolour}{1},% + {colorpale}{1},{palecolor}{1},{colourpale}{1},{palecolour}{1},% + {bicolor}{2},{bicolour}{2},{twocolor}{2},{twocolour}{2},% + {bichrome}{2},{bichromatic}{2},{dichrome}{2},{dichromatic}{2},% + {color}{3},{colour}{3},% + {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{color}{cd}% + \ifcase\@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=pale}% + \or% + \TUDoptions{cd=bicolor}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=fullcolor}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +% \end{macrocode} +% \end{option}^^A colour +% \end{option}^^A color % \begin{option}{tudscrver} % \changes{v2.02}{2014/08/22}{neu}%^^A -% \begin{macro}{\tudscr@v@comp} +% \begin{macro}{\tud@v@comp} % \changes{v2.02}{2014/08/22}{neu}%^^A -% \begin{macro}{\tudscr@v@first} +% \begin{macro}{\tud@v@first} % \changes{v2.02}{2014/08/22}{neu}%^^A -% \begin{macro}{\tudscr@v@2.02} +% \begin{macro}{\tud@v@2.02} % \changes{v2.02}{2014/08/22}{neu}%^^A -% \begin{macro}{\tudscr@v@last} +% \begin{macro}{\tud@v@2.03} +% \changes{v2.03}{2015/01/13}{neu}%^^A +% \begin{macro}{\tud@v@last} % \changes{v2.02}{2014/08/22}{neu}%^^A +% \changes{v2.03}{2015/01/13}{angepasst}%^^A % In einigen Fällen sind Änderungen mit früheren Versionen nicht kompatibel % oder unerwünscht, weil diese beispielsweise das Ausgabeergebnis verändern. % Standardmäßig werden die Klassen in der aktuellen Version geladen. Mit % \opt{tudscrver=\meta{Version}} kann auf das Verhalten einer früheren % Version geschaltet werden. Die eingestellte Kompatibilität wird als Zahl in -% \cs{tudscr@v@comp} gespeichert. In den Makros \cs{tudscr@v@\meta{Version}} -% werden die zugehörigen Nummern gespeichert. +% \cs{tud@v@comp} gespeichert. In den Makros \cs{tud@v@\meta{Version}} werden +% die zugehörigen Nummern gespeichert. % \begin{macrocode} -\newcommand*\tudscr@v@comp{\tudscr@v@last} +\newcommand*\tud@v@comp{\tud@v@last} \TUD@key{tudscrver}[last]{% - \scr@ifundefinedorrelax{tudscr@v@#1}{% - \def\tudscr@v@comp{0}% + \ifcsvoid{tud@v@#1}{% + \def\tud@v@comp{0}% \ClassWarningNoLine{\tudcls@name}{% You have set option `tudscrver' to `#1', but\MessageBreak% - this value of version is not supported.\MessageBreak% - Because of this, version was set to `first'% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% }% \FamilyKeyStateProcessed% }{% \ClassInfoNoLine{\tudcls@name}{% Switching compatibility level to `#1'% }% - \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \edef\tud@v@comp{\@nameuse{tud@v@#1}}% \FamilyKeyStateProcessed% }% } -% \end{macrocode} +% \end{macrocode} % Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim % Laden der Klasse gesetzt werden. Danach geht dies nicht mehr. % \begin{macrocode} @@ -432,6 +655,7 @@ }% \FamilyKeyStateProcessed% }% +% \end{macrocode} % Außerdem wird darauf geachtet, dass mindestens \KOMAScript-Version~v3.12 % vorhanden ist, andernfalls wird ein Fehler erzeugt. % \begin{macrocode} @@ -452,19 +676,40 @@ }% }% } -\@namedef{tudscr@v@first}{0} -\@namedef{tudscr@v@2.02}{0} -\@namedef{tudscr@v@last}{0} -% \end{macrocode} -% \end{macro}^^A \tudscr@v@last -% \end{macro}^^A \tudscr@v@2.02 -% \end{macro}^^A \tudscr@v@first -% \end{macro}^^A \tudscr@v@comp +% \end{macrocode} +% Die numerischen Werte zu den einzelnen Versionen. +% \ToDo{Für jede neue Version der entsprechende Befehl}[v2.xx] +% \begin{macrocode} +\@namedef{tud@v@first}{0} +\@namedef{tud@v@2.02}{0} +\@namedef{tud@v@2.03}{1} +\@namedef{tud@v@last}{1} +% \end{macrocode} +% \end{macro}^^A \tud@v@last +% \end{macro}^^A \tud@v@2.03 +% \end{macro}^^A \tud@v@2.02 +% \end{macro}^^A \tud@v@first +% \end{macro}^^A \tud@v@comp % \end{option}^^A tudscrver +% \begin{macro}{\iftudscrverlower} +% \changes{v2.03}{2015/01/13}{neu}%^^A +% Mit diesem Befehl können abhängig von der gegebenen Kompatibilitätsversion in +% den Klassen unterschiedliche Einstellungen vorgenommen werden. +% \begin{macrocode} +\newcommand*\iftudscrverlower[1]{% + \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \iftudscrverlower % % \iffalse -%</class&option> -%<*class&body> +%</!fonts> +%</option> +%<*body> % \fi % % \begin{length}{\chapterheadingvskip} @@ -472,7 +717,7 @@ % älteren Versionen definiert. % \begin{macrocode} %<*book|report> -\newlength{\chapterheadingvskip} +\newlength\chapterheadingvskip \let\chapterheadingvskip\headingsvskip %</book|report> % \end{macrocode} @@ -481,15 +726,13 @@ % Für die Angabe des Lehrstuhls bzw. der Professur mit kann anstelle von % \cs{chair} als Aliasbefehl auch \cs{professorship} genutzt werden. % \begin{macrocode} -\newcommand*\professorship{} -\let\professorship\chair +\tud@deprecated@cmd{professorship}{chair} % \end{macrocode} % \end{macro}^^A \professorship % \begin{macro}{\student} % Der Befehl \cs{student} kann als Alias für \cs{author} genutzt werden. % \begin{macrocode} -\newcommand*\student{} -\let\student\author +\tud@deprecated@cmd{student}{author} % \end{macrocode} % \end{macro}^^A \student % \begin{macro}{\studentid} @@ -497,71 +740,78 @@ % Zur Angabe von Matrikelnummer kann auch \cs{studentid} oder % \cs{matriculationnumber} genutzt werden. % \begin{macrocode} -\newrobustcmd*\studentid{} -\newrobustcmd*\matriculationid{} -\let\studentid\matriculationnumber -\let\matriculationid\matriculationnumber +\tud@deprecated@cmd{studentid}{matriculationnumber} +\tud@deprecated@cmd{matriculationid}{matriculationnumber} % \end{macrocode} % \end{macro}^^A \matriculationid % \end{macro}^^A \studentid % \begin{macro}{\enrolmentyear} % Das Immatrikulationsjahr kann auch mit \cs{enrolmentyear} angegeben werden. % \begin{macrocode} -\newrobustcmd*\enrolmentyear{} -\let\enrolmentyear\matriculationyear +\tud@deprecated@cmd{enrolmentyear}{matriculationyear}% % \end{macrocode} % \end{macro}^^A \enrolmentyear % \begin{macro}{\birthplace} % Zur Angabe des Geburtsortes kann auch \cs{birthplace} verwendet werden. % \begin{macrocode} -\newrobustcmd*\birthplace{} -\let\birthplace\placeofbirth +\tud@deprecated@cmd{birthplace}{placeofbirth} % \end{macrocode} % \end{macro}^^A \birthplace % \begin{macro}{\location} % Für die Angabe des Ortes kann auch \cs{location} genutzt werden. % \begin{macrocode} -\newcommand*\location{} -\let\location\place +\tud@deprecated@cmd{location}{place} % \end{macrocode} % \end{macro}^^A \location % \begin{macro}{\submissiondate} % Der Befehl \cs{submissiondate} kann als Aliasbefehl für den Standardbefehl % \cs{date} zur Datumsangabe genutzt werden. % \begin{macrocode} -\newcommand*\submissiondate{} -\let\submissiondate\date +\tud@deprecated@cmd{submissiondate}{date} % \end{macrocode} % \end{macro}^^A \submissiondate % \begin{macro}{\oralexaminationdate} % Für \cs{defensedate} kann als Aliasbefehl auch \cs{oralexaminationdate} % verwendet werden. % \begin{macrocode} -\newcommand*\oralexaminationdate{} -\let\oralexaminationdate\defensedate +\tud@deprecated@cmd{oralexaminationdate}{defensedate}% % \end{macrocode} % \end{macro}^^A \oralexaminationdate % \begin{macro}{\birthday} % Der Geburtstag kann auch mit \cs{birthday} angegeben werden. % \begin{macrocode} -\newrobustcmd*\birthday{} -\let\birthday\dateofbirth +\tud@deprecated@cmd{birthday}{dateofbirth} % \end{macrocode} % \end{macro}^^A \birthday % \begin{macro}{\logofile} % \begin{macro}{\logofilename} % Diese beiden Befehle können anstelle von \cs{headlogo} eingesetzt werden. % \begin{macrocode} -\newcommand*\logofile{} -\let\logofile\headlogo -\newcommand*\logofilename{} -\let\logofilename\headlogo +\tud@deprecated@cmd{logofile}{headlogo} +\tud@deprecated@cmd{logofilename}{headlogo} % \end{macrocode} % \end{macro}^^A \logofilename % \end{macro}^^A \logofile +% \begin{macro}{\startdate} +% \begin{macro}{\finaldate} +% \begin{macro}{\maturitydate} +% Für das Paket \pkg{tudscrsupervisor} sind auch einige Befehle als veraltet +% anzusehen. +% \begin{macrocode} +\AfterPackage*{tudscrsupervisor}{% + \tud@deprecated@cmd{startdate}{issuedate}% + \tud@deprecated@cmd{finaldate}{duedate}% + \tud@deprecated@cmd{maturitydate}{duedate}% +} +% \end{macrocode} +% \end{macro}^^A \maturitydate +% \end{macro}^^A \finaldate +% \end{macro}^^A \startdate +% % % \iffalse -%</class&body> +%</body> +%</class|fonts> % \fi % % \Finale diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx index b980c247226..0c455951bd2 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx @@ -1,29 +1,33 @@ -% \CheckSum{183} +% \CheckSum{191} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-doc.dtx}[% - 2014/12/16 v2.02 TUD-KOMA-Script\space% + 2015/02/04 v2.03 TUD-KOMA-Script\space% %</driver> %<class>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<class>\ProvidesClass{tudscrdoc}[% @@ -77,7 +81,7 @@ % % \selectlanguage{ngerman} % -% \changes{v2.02}{2014/07/10}{Versionsnummer angepasst}%^^A +% \changes{v2.03}{2015/01/09}{\cls{tudscrdoc}: Indextyp Seitenstilebene}%^^A % % \section{Quelltextdokumentation für das \TUDScript-Bundle} % @@ -95,16 +99,19 @@ % Die Seitenränder werden so eingestellt, dass für die Darstellung des % Quelltextes genau 80~Zeichen zur Verfügung stehen. % \begin{macrocode} -\setlength{\marginparwidth}{140pt} -\setlength{\marginparsep}{8pt} -\setlength{\oddsidemargin}{\dimexpr\marginparwidth+\marginparsep-1in} -\setlength{\textwidth}{\dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep} -\setlength{\topmargin}{-1in} -\setlength{\headheight}{0pt} -\setlength{\headsep}{30pt} -\setlength{\footskip}{1.5\headsep} -\setlength{\textheight}{\dimexpr\paperheight-2\headsep-\footskip} +\setlength\marginparwidth{140pt} +\setlength\marginparsep{8pt} +\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax} +\setlength\textwidth{% + \dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep\relax% +} +\setlength\topmargin{-1in} +\setlength\headheight{0pt} +\setlength\headsep{30pt} +\setlength\footskip{1.5\headsep} +\setlength\textheight{\dimexpr\paperheight-2\headsep-\footskip\relax} \RequirePackage{dox}[2010/12/16] +\def\generalname{Allgemeines} % \end{macrocode} % Titelei. % \begin{macrocode} @@ -125,6 +132,7 @@ \doxitem[idxtype=Option]{Option}{option}{Optionen} \doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter} \doxitem[idxtype=Seitenstil]{Pagestyle}{pagestyle}{Seitenstile} +\doxitem[idxtype=Layer]{Layer}{layer}{Layer (Seitenstilebenen)} \doxitem[macrolike,idxtype=L\noexpand\"ange]{Length}{length}{L\noexpand\"angen} \doxitem[idxtype=Z\noexpand\"ahler]{Counter}{counter}{Z\noexpand\"ahler} \doxitem[idxtype=Farbe]{Color}{color}{Farben} @@ -162,7 +170,7 @@ \endgraf% \hfuzz0.8pt% \leavevmode\marginpar{\raggedleft\fbox{\@@ToDo\strut}}% - \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{#1\strut}}% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}% \endgraf% \fi% }% @@ -205,7 +213,8 @@ % verbessern. Andernfalls wird das Paket \pkg{lmodern} geladen. % \begin{macrocode} \AtBeginDocument{% - \expandafter\ifx\csname if@tud@cdfonts\endcsname\iftrue\relax% + \@ifundefined{tud@cdfont}{\def\tud@cdfont{0}}{}% + \ifnum\tud@cdfont>\z@\relax% \RequirePackage{mweights}[2013/07/21]% \def\mddefault{m}% \def\mdseries@tt{m}% diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx index 92ddb27e125..b2b3b3a1141 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx @@ -1,29 +1,33 @@ -% \CheckSum{399} +% \CheckSum{390} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-fields.dtx}[% - 2014/11/13 v2.02 TUD-KOMA-Script (input fields)% + 2015/02/12 v2.03 TUD-KOMA-Script (input fields)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} @@ -69,8 +73,6 @@ % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A -% \changes{v2.02}{2014/11/05}{Korrekturen bei der Verwendung von -% \cs{@@title}}%^^A % % \section{Eingabefelder für den Nutzer} % @@ -83,7 +85,7 @@ % Das Setzen einer speziellen Titelseite mit \LaTeX{} ist eines der häufigsten % anliegen. Dafür ist von Markus Kohm\footnote{Autor von \KOMAScript} das % \pkg{titlepage}-Paket entworfen worden. Um gleichzeitig konsistent zu diesem -% Paket, werden für die entsprechenden Felder Alias-Befehle definiert. +% Paket zu sein, werden für die entsprechenden Felder Alias-Befehle definiert. % % \StopEventually{\PrintIndex\PrintChanges} % @@ -151,6 +153,7 @@ % \end{macro}^^A \extraheadline % \begin{macro}{\title} % \begin{field}{\@@title} +% \changes{v2.02}{2014/11/06}{\cs{protected@xdef} genutzt}%^^A % \begin{field}{\@@author} % \changes{v2.02}{2014/07/25}{entfernt}%^^A % Für die spätere Verwendung im Dokument des Titels~-- beispielsweise für die @@ -185,7 +188,9 @@ % \end{macro}^^A \authormore % \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} @@ -602,35 +607,24 @@ % % \begin{macro}{\issuedate} % \begin{field}{\@issuedate} -% \begin{macro}{\startdate} % Angabe des Anfangsdatums für die Aufgabenstellung, wird im Makro -% \cs{@issuedate} gespeichert, für \cs{issuedate} kann als Aliasbefehl auch -% \cs{startdate} genutzt werden. +% \cs{@issuedate} gespeichert. % \begin{macrocode} \newcommand*\@issuedate{} \newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}} -\let\startdate\issuedate % \end{macrocode} -% \end{macro}^^A \startdate % \end{field}^^A \@issuedate % \end{macro}^^A \issuedate % \begin{macro}{\duedate} % \begin{field}{\@duedate} -% \begin{macro}{\finaldate} -% \begin{macro}{\maturitydate} % Angabe des geplanten Abgabedatums für die Aufgabenstellung, wird im Makro -% \cs{@duedate} gespeichert, für \cs{duedate} kann als Aliasbefehl auch -% \cs{finaldate} oder \cs{maturitydate} genutzt werden. +% \cs{@duedate} gespeichert. % \begin{macrocode} \newcommand*\@duedate{} \newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}} \newcommand*\finaldate{} \newcommand*\maturitydate{} -\let\finaldate\duedate -\let\maturitydate\duedate % \end{macrocode} -% \end{macro}^^A \maturitydate -% \end{macro}^^A \finaldate % \end{field}^^A \@duedate % \end{macro}^^A \duedate % diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx index f3264e41b05..6c083713ea1 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx @@ -1,29 +1,33 @@ -% \CheckSum{1099} +% \CheckSum{1131} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-fonts.dtx}[% - 2014/12/04 v2.02 TUD-KOMA-Script\space% + 2015/02/15 v2.03 TUD-KOMA-Script\space% %</driver> %<package&identify>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<package&identify>\ProvidesPackage{tudscrfonts}[% @@ -78,9 +82,11 @@ % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A -% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A +% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A +% \changes{v2.02}{2014/08/29}{Verwendung von \pkg{mweights} entfernt}%^^A % \changes{v2.02}{2014/08/29}{Unterstützung für \pkg{fontspec}}%^^A -% \changes{v2.02}{2014/09/30}{Nutzung alter tud-Klassen ermöglicht}%^^A +% \changes{v2.02}{2014/09/30}{\pkg{tudscrfonts} Nutzung alter tud-Klassen +% mit neuen Schriftfamilien ermöglicht}%^^A % % \section{Schriften des \CDs} % @@ -105,7 +111,7 @@ \ClassWarning{\tudcls@name}{% The package `tudscrfonts' must not be used with\MessageBreak% a TUD-KOMA-Script class% - } + }% ]{tudscrfonts} % \end{macrocode} % @@ -128,6 +134,9 @@ % \end{macrocode} % Wenn eine der alten Klassen aus den Vorlagen von Klaus Bergmann geladen % wurde, wird dies für spätere Anpassungen registriert. +% \ToDo{Klassen tudmathposter und tudposter einpflegen, +% \cs{tudfont\marg{\dots}}, besser \cs{cdfont} für Klassen und Paket}[v2.04] +% \ToDo{Klasse tudbeamer einpflegen}[v2.xx] % \begin{macrocode} \@ifclassloaded{tudbook}{\@tud@oldclasstrue}{}% \@ifclassloaded{tudbeamer}{\@tud@oldclasstrue}{}% @@ -200,8 +209,8 @@ % Hier kommt die eigentliche Option. % \begin{macrocode} \newif\if@tud@fontspec -\TUD@key@lock{fontspec}[true]{% - \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% +\TUD@key{fontspec}[true]{% + \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}% } % \end{macrocode} % Da dieser Prozess sehr tief in die Schriftauswahl eingreift und das Laden des @@ -209,24 +218,33 @@ % Option nur beim Laden der Klasse zugelassen. % \begin{macrocode} %<*class> -\AtEndOfClass{% - \TUD@key{fontspec}[]{% - \ClassError{\tudcls@name}{Option `fontspec' too late}{% - Option `fontspec' can only be set while loading the\MessageBreak% - class `\tudcls@name' but you have tried to set it up later.% - }% - \FamilyKeyStateProcessed% - }% +\AtEndOfClass% %</class> %<*package> -\AtEndOfPackage{% - \TUD@key{fontspec}[]{% - \PackageError{tudscrfonts}{Option `fontspec' too late}{% +\AtEndOfPackage% +%</package> +{% + \TUD@key{fontspec}[] + {% +%<*class> + \ClassError{\tudcls@name} +%</class> +%<*package> + \PackageError{tudscrfonts} +%</package> + {Option `fontspec' too late}{% Option `fontspec' can only be set while loading the\MessageBreak% - package `tudscrfonts' but you have tried to set it up later.% +%<*class> + class `\tudcls@name' +%</class> +%<*package> + package `tudscrfonts' +%</package> + but you have tried to set it up later.% }% \FamilyKeyStateProcessed% }% +%<*package> \@ifpackageloaded{fontspec}{% \PackageError{tudscrfonts}{Package `fontspec' too early}{% When using the option `fontspec' you must not load\MessageBreak% @@ -234,6 +252,22 @@ }% }{} %</package> + \if@tud@fontspec% + \PreventPackageFromLoading[% +%<*class> + \ClassWarning{\tudcls@name}% +%</class> +%<*package> + \PackageWarning{tudscrfonts}% +%</package> + {% + You must not load the package `fontspec' as it is\MessageBreak% + loaded automatically at the end of the preamble.\MessageBreak% + If you want to pass options to `fontspec' use\MessageBreak% + `\string\PassOptionsToPackage{<option list>}{fontspec}' + }% + ]{fontspec} + \fi% } % \end{macrocode} % Anschließend erfolgt die Verarbeitung der Option am Ende der Klasse. Zu @@ -283,9 +317,10 @@ %<*package> \PackageWarningNoLine{tudscrfonts}{% %</package> - `#1' fonts not found. Please use on of the\MessageBreak% - installation scripts out of the tudscr-bundle,\MessageBreak% - which suits to your OS. A fallback layout is used% + `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak% + Please use on of the installation scripts out of the\MessageBreak% + tudscr-bundle, which suits to your OS or choose a\MessageBreak% + possible encoding. A fallback layout is used% }% }% \fi% @@ -309,6 +344,7 @@ % gehindert, die Mathematikschriften von sich aus anzupassen. % \begin{macrocode} \if@tud@fontspec% + \UnPreventPackageFromLoading{fontspec}% \if@tud@univers\if@tud@dinbold% \PassOptionsToPackage{no-math}{fontspec}% \fi\fi% @@ -356,22 +392,22 @@ % Für die ersten drei Schriften werden hierfür feste NFSS-Namen vergeben, um % diese beim Setzen des Kopfes im \CD der \TnUD explizit auswählen zu können. % \begin{macrocode} - \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% - \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% - \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% - \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% - \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% - \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% - \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% - \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% - \newcommand*\textuln[1]{{\univln#1}} - \newcommand*\texturn[1]{{\univrn#1}} - \newcommand*\textubn[1]{{\univbn#1}} - \newcommand*\textuxn[1]{{\univxn#1}} - \newcommand*\textuls[1]{{\univls#1}} - \newcommand*\texturs[1]{{\univrs#1}} - \newcommand*\textubs[1]{{\univbs#1}} - \newcommand*\textuxs[1]{{\univxs#1}} + \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]% + \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]% + \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% + \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% + \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% + \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% + \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% + \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% + \newcommand*\textuln[1]{{\univln#1}}% + \newcommand*\texturn[1]{{\univrn#1}}% + \newcommand*\textubn[1]{{\univbn#1}}% + \newcommand*\textuxn[1]{{\univxn#1}}% + \newcommand*\textuls[1]{{\univls#1}}% + \newcommand*\texturs[1]{{\univrs#1}}% + \newcommand*\textubs[1]{{\univbs#1}}% + \newcommand*\textuxs[1]{{\univxs#1}}% % \end{macrocode} % Falls \opt{fontspec} nicht aktiv ist, werden die Schriften klassisch nach dem % NFSS definiert. @@ -447,6 +483,7 @@ % \end{macro}^^A \texturn % \end{macro}^^A \textuln % \begin{macro}{\dinbn} +% \begin{macro}{\@dinbn} % \begin{macro}{\textdbn} % Schalter bzw. Befehl für die Auszeichnung in DIN~Bold. Bei der Schriftauswahl % wird neben dieser noch die entsprechende Mathematikschrift aktiviert. Auch @@ -456,9 +493,9 @@ \ifdef{\sectfont}{}{\let\sectfont\relax}% %</package> \if@tud@fontspec% - \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% - \newcommand*\textdbn[1]{{\dinbn#1}} + \newcommand*\textdbn[1]{{\dinbn#1}}% \else% \if@tud@dinbold% \newcommand*\dinbn{% @@ -469,10 +506,11 @@ \let\dinbn\sectfont% \fi% \newcommand*\textdbn{}% - \DeclareTextFontCommand{\textdbn}{\dinbn} + \DeclareTextFontCommand{\textdbn}{\dinbn}% \fi% % \end{macrocode} % \end{macro}^^A \textdbn +% \end{macro}^^A \@dinbn % \end{macro}^^A \dinbn % \begin{macro}{\mv@univers} % \begin{macro}{\mv@universbold} @@ -482,24 +520,24 @@ % dem \pkg{iwona}"~Paket die mathematische Symbole verwendet. Es werden zwei % Mathematikversion mit normalen sowie mit fetten Glyphen bereitgestellt. % \begin{macrocode} - \DeclareMathVersion{univers} - \DeclareMathVersion{universbold} - \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} - \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} - \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} - \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} - \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} - \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} - \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} - \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n} - \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} - \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} - \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n} - \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} - \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} - \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} + \DeclareMathVersion{univers}% + \DeclareMathVersion{universbold}% + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}% + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}% + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}% + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}% + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}% + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}% + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}% + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}% + \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}% + \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}% + \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}% % \end{macrocode} % \end{macro}^^A \mv@universbold % \end{macro}^^A \mv@univers @@ -510,14 +548,14 @@ % Diese wurden aus dem \pkg{iwona}"=Paket entnommen. Auch die verwendeten % Symbole stammen aus diesem Paket. % \begin{macrocode} - \DeclareMathVersion{dinbold} - \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} - \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n} - \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} - \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} + \DeclareMathVersion{dinbold}% + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}% + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}% + \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}% + \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}% % \end{macrocode} % \end{macro}^^A \mv@dinbold % \begin{macro}{\upGamma} @@ -546,30 +584,30 @@ % Symbole für aufrechte und kursive Majuskeln der griechischen Lettern separat % definiert. % \begin{macrocode} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} - \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} - \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} - \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} - \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} - \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} - \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} - \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} - \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} - \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} - \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} - \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} - \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} - \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} - \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} - \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} - \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} - \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}% + \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}% + \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}% + \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}% + \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}% + \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}% + \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}% + \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}% + \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}% + \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}% + \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}% + \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}% + \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}% + \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}% + \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}% + \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}% + \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}% + \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}% } % \end{macrocode} % \end{macro}^^A \varOmega @@ -600,23 +638,40 @@ %<*(class|package)&option> % \fi % +% \begin{macro}{\tud@uclcnotmath} +% \changes{v2.02}{2014/06/27}{\pkg{textcase}: Ignorieren von Fußnoten im +% Argument des Befehls \cs{MakeTextUppercase}}%^^A +% \changes{v2.03}{2015/01/21}{\pkg{textcase}: Ignorieren des Befehls +% \cs{@mkboth} im Argument des Befehls \cs{MakeTextUppercase}}%^^A +% \begin{macro}{\@uclcnotmath} % Für das Setzen der Überschriften in Majuskeln\footnote{Großbuchstaben} mit % \cs{MakeTextUppercase}, was den internen \LaTeX-Befehl \cs{MakeUppercase} % verbessert, wird das Paket \pkg{textcase} genutzt. Damit Fußnoten nicht % automatisch in Majuskeln gesetzt werden, wird außerdem der interne Befehl % \cs{@uclcnotmath} aus diesem Paket angepasst. -% \changes{v2.02}{2014/06/27}{Ignorieren von Fußnoten im Befehl -% \cs{MakeTextUppercase}}%^^A % \begin{macrocode} \RequirePackage{textcase}[2004/10/07] -\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% - \@nonchangecase\ensuremath% +\newcommand*\tud@uclcnotmath{% \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% + \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}% +} +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath\tud@uclcnotmath }{}{\tud@patch@wrn{@uclcnotmath}}% % \end{macrocode} +% \end{macro}^^A \@uclcnotmath +% \end{macro}^^A \tud@uclcnotmath +% \begin{macro}{\tud@font@heading} +% Mit \cs{tud@font@heading} wird die Schriftart für Überschriften im Layout des +% \CDs definiert. Normalerweise wird hierfür DIN-Bold verwendet, was allerdings +% per Option auch deaktiviert werden kann. +% \begin{macrocode} +\newcommand*\tud@font@heading{\dinbn\tud@raggedright} +% \end{macrocode} +% \end{macro}^^A \tud@font@heading % \begin{option}{cdfont} -% \changes{v2.02}{2014/07/08}{Schlüsselwerte für \opt{barfont}}%^^A +% \changes{v2.02}{2014/07/08}{Schlüsselwerte für \opt{cdhead}}%^^A % \changes{v2.02}{2014/08/29}{Schlüsselwerte für \opt{fontspec}}%^^A % \begin{macro}{\tud@cdfont} % Mit dieser Option wird die zentrale Benutzerschnittstelle für alle möglichen @@ -627,65 +682,105 @@ % werden, ob für den Mathematiksatz serifenlose Schriften zum Einsatz kommen % sollen. % \begin{macrocode} -\newcommand*\tud@cdfont{0} +\newcommand*\tud@cdfont{1} \TUD@key{cdfont}[true]{% - \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@set@numkey{cdfont}{@tempa}{% \TUD@numkey@bool,% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2},% {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% %<*class> - {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% - {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% - {noheavybarfont}{5},{barfontnoheavy}{5},% - {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% + {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},% + {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},% + {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},% + {bar}{6},{barfont}{6},% + {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},% + {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},% + {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},% + {headlight}{6},{headfontlight}{6},{headlightfont}{6},% + {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},% + {barlight}{6},{barfontlight}{6},{barlightfont}{6},% + {litehead}{6},{liteheadfont}{6},{litefonthead}{6},% + {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},% + {litebar}{6},{litebarfont}{6},{litefontbar}{6},% + {headlite}{6},{headfontlite}{6},{headlitefont}{6},% + {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},% + {barlite}{6},{barfontlite}{6},{barlitefont}{6},% + {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},% + {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},% + {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},% + {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},% + {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},% + {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},% + {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},% + {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},% + {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},% + {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},% + {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},% + {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},% %</class> - {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% - {sansmath}{8},{sans}{8},% - {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% - {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% - {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% - {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + {nomath}{8},{nocdmath}{8},% + {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},% + {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},% + {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},% + {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},% + {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},% + {nofontspec}{13},{pdftex}{13},{pdflatex}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \tud@cdfont\relax% - \TUDoptions{cdfonts=false}% -%<*class> - \TUD@std@numkey@lock{barfont}{false}% -%</class> +% \end{macrocode} +% Die ersten drei Werte dienen zum Umschalten auf die Schriften des \CDs für +% den Fließtext. +% \begin{macrocode} + \ifcase\@tempa\relax% + \def\tud@cdfont{0}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=false}% -%<*class> - \TUD@std@numkey@lock{barfont}{true}% -%</class> + \def\tud@cdfont{1}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=true}% -%<*class> - \TUD@std@numkey@lock{barfont}{heavy}% -%</class> + \def\tud@cdfont{2}% + \if@atdocument\tud@font@set\fi% +% \end{macrocode} +% Hier wird die Verwendung von DIN~Bold für die Überschirften festgelegt. +% \begin{macrocode} \or% - \TUDoptions{din=false}% + \renewcommand*\tud@font@heading{\tud@RaggedRight}% \or% - \TUDoptions{din=true}% + \renewcommand*\tud@font@heading{\dinbn\tud@raggedright} +% \end{macrocode} +% Die Schrift für den Querbalken. +% \begin{macrocode} \or% %<*class> - \TUDoptions{barfont=true}% + \TUDoptions{cdhead=false}% %</class> \or% %<*class> - \TUDoptions{barfont=heavy}% + \TUDoptions{cdhead=true}% %</class> \or% - \TUDoptions{sansmath=false}% +%<*class> + \TUDoptions{cdhead=heavy}% +%</class> +% \end{macrocode} +% Die Mathematikschriften. +% \begin{macrocode} \or% - \TUDoptions{sansmath=true}% + \TUDoptions{cdmath=false}% + \or% + \TUDoptions{cdmath=true}% +% \end{macrocode} +% Die Neigung der großen griechischen Buchstaben. +% \begin{macrocode} \or% \TUDoptions{slantedgreek=false}% \or% \TUDoptions{slantedgreek=true}% +% \end{macrocode} +% Die Verwendung von \pkg{fontspec}. +% \begin{macrocode} \or% \TUDoptions{fontspec=true}% \or% @@ -696,323 +791,264 @@ % \end{macrocode} % \end{macro}^^A \tud@cdfont % \end{option}^^A cdfont -% \begin{option}{cdfonts} -% \begin{macro}{\if@tud@cdfonts} -% Diese Option dient zum Umschalten auf die Schriften des \CDs für den -% Fließtext. -% \begin{macrocode} -\newif\if@tud@cdfonts -\TUD@key{cdfonts}[true]{% - \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% -% \end{macrocode} -% Wird die Option innerhalb nach der Präambel angewendet, erfolgt die Umsetzung -% sofort. Ist die Verwendung der Schriften des \CDs gewünscht, werden diese mit -% \cs{tud@font@cdfonts} aktiviert. -% \begin{macrocode} - \if@tud@cdfonts% - \if@atdocument\tud@font@cdfonts\fi% -% \end{macrocode} -% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs~-- -% falls nicht anders durch den Anwender definiert~-- auf Serifenlose gesetzt. +% +% \iffalse +%</(class|package)&option> +%<*(class|package)&body> +% \fi +% +% \begin{macro}{\tud@font@set} +% Mit diesem Befehl werden entweder die normalen oder aber die Schriften des +% \CDs aktiviert. Dabei wird die Option \opt{fontspec} beachtet. % \begin{macrocode} - \TUD@std@ifkey@lock{sansmath}{true}% - \TUD@std@ifkey@lock{slantedgreek}{true}% +\newcommand*\tud@font@set{% % \end{macrocode} % Werden die Schriften des \CDs deaktiviert, wird auf die zu Dokumentbeginn % gesicherten Schriften\footnote{mit und ohne Serifen} zurückgeschaltet. % \begin{macrocode} - \else% - \if@atdocument% - \tud@cmd@restore{rmdefault}% - \tud@cmd@restore{sfdefault}% - \tud@cmd@restore{ttdefault}% - \tud@cmd@restore{bfdefault}% - \tud@cmd@restore{mddefault}% - \tud@cmd@restore{itdefault}% - \tud@cmd@restore{familydefault}% - \tud@cmd@restore{seriesdefault}% - \tud@cmd@restore{shapedefault}% - \normalfont\selectfont% - \fi% + \ifcase\tud@cdfont\relax% + \tud@cmd@restore{rmdefault}% + \tud@cmd@restore{sfdefault}% + \tud@cmd@restore{ttdefault}% + \tud@cmd@restore{bfdefault}% + \tud@cmd@restore{mddefault}% + \tud@cmd@restore{itdefault}% + \tud@cmd@restore{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% % \end{macrocode} -% Die Mathematikschriften werden auf ihr Stanardverhalten zurückgesetzt. +% Die Mathematikschriften werden auf ihr Stanardverhalten zurückgesetzt. % \begin{macrocode} - \TUD@std@ifkey@lock{sansmath}{false}% - \TUD@std@ifkey@lock{slantedgreek}{false}% - \fi% + \bool@std@lock{@tud@cdmath}{false}% % \end{macrocode} -% Da der Befehl \cs{tud@layout@process} auf jeden Fall mit \cs{AfterEndPreamble} -% verzögert ausgeführt wird, muss dies bei der Wahl der Option nur nach der -% Präambel, also im Dokument selbst neuerlich erfolgen. +% Innerhalb der Klassen wird auch die Schrift im Querbalken zurückgsetzt. % \begin{macrocode} %<*class> - \if@atdocument\tud@layout@process\fi% + \cs@std@lock{tud@head@font}{0}% %</class> - \fi% -} % \end{macrocode} -% \end{macro}^^A \if@tud@cdfonts -% \end{option}^^A cdfonts -% -% \iffalse -%</(class|package)&option> -%<*(class|package)&body> -% \fi -% -% \begin{macro}{\tud@font@cdfonts} -% Mit diesem Befehl werden die Schriften des \CDs aktiviert. Dabei wird die -% Option \opt{fontspec} beachtet. +% Ist die Verwendung der Schriften des \CDs gewünscht, werden die Schnitte der +% Standardschriften vorher vorher gesichert, um diese später vollständig +% wiederherstellen zu können. % \begin{macrocode} -\newcommand*\tud@font@cdfonts{% + \else% + \tud@cmd@store{rmdefault}% + \tud@cmd@store{sfdefault}% + \tud@cmd@store{ttdefault}% + \tud@cmd@store{bfdefault}% + \tud@cmd@store{mddefault}% + \tud@cmd@store{itdefault}% + \tud@cmd@store{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% % \end{macrocode} -% Schnitte der Schriften vorher vorher gesichert, um diese später vollständig -% wiederherstellen zu können.. +% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs~-- +% falls nicht anders durch den Anwender definiert~-- auf Serifenlose gesetzt. % \begin{macrocode} - \tud@cmd@store{rmdefault}% - \tud@cmd@store{sfdefault}% - \tud@cmd@store{ttdefault}% - \tud@cmd@store{bfdefault}% - \tud@cmd@store{mddefault}% - \tud@cmd@store{itdefault}% - \tud@cmd@store{familydefault}% - \tud@cmd@store{seriesdefault}% - \tud@cmd@store{shapedefault}% + \bool@std@lock{@tud@cdmath}{true}% +% \end{macrocode} +% Die Schrift im Querbalken wird bei den Klassen angepasst. +% \begin{macrocode} +%<*class> + \cs@std@lock{tud@head@font}{\tud@cdfont}% +%</class> % \end{macrocode} % Danach erfolgt die Definition der Schriften des \CDs entweder mit dem Paket % \pkg{fontspec} oder\dots % \begin{macrocode} - \if@tud@fontspec% - \if@tud@heavyfont% - \setsansfont{Univers}[% - BoldFont = Univers Bold,% - ItalicFont = Univers Oblique,% - BoldItalicFont = Univers Bold Oblique,% - ]% - \setmonofont{LMMono10-Regular}[% - BoldFont = LMMonoLt10-Bold,% - ItalicFont = LMMonoSlant10-Regular,% - BoldItalicFont = LMMonoLt10-BoldOblique,% - ] - \else% - \setsansfont{Univers Light}[% - BoldFont = Univers,% - ItalicFont = Univers Light Oblique,% - BoldItalicFont = Univers Oblique,% - ]% - \setmonofont{LMMonoLt10-Regular}[% - BoldFont = LMMono10-Regular,% - ItalicFont = LMMonoLt10-Oblique,% - BoldItalicFont = LMMonoSlant10-Regular,% - ]% + \if@tud@fontspec% + \ifnum\tud@cdfont=\@ne\relax% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% % \end{macrocode} % Für die alten Klassen von Klaus Bergmann sowie \TUDScript in der Version~v1.0 % werden die fetten Schriften in einem stärkeren Schriftschnitt gesetzt. % \begin{macrocode} %<*package> - \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% - \setsansfont{Univers Light}[% + \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% + \setsansfont{Univers Light}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + }{}% +%</package> + \else% + \setsansfont{Univers}[% BoldFont = Univers Bold,% - ItalicFont = Univers Light Oblique,% + ItalicFont = Univers Oblique,% BoldItalicFont = Univers Bold Oblique,% ]% - }{}% -%</package> - \fi% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ]% + \fi% % \end{macrocode} % \dots nach dem NFSS. % \begin{macrocode} - \else% - \if@tud@univers% - \renewcommand*\sfdefault{\tud@univers}% - \renewcommand*\ttdefault{\tud@univers t}% - \if@tud@heavyfont% - \renewcommand*\bfdefault{b}% - \renewcommand*\mddefault{m}% - \else% - \renewcommand*\bfdefault{m}% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \ifnum\tud@cdfont=\@ne\relax% + \renewcommand*\bfdefault{m}% % \end{macrocode} % Bei den alten Klassen von Klaus Bergmann bzw. \TUDScript~v1.0 sind die fetten % Schriften stärker. % \begin{macrocode} %<*package> - \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% - \renewcommand*\bfdefault{b}% - }{}% + \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% + \renewcommand*\bfdefault{b}% + }{}% %</package> - \renewcommand*\mddefault{l}% + \renewcommand*\mddefault{l}% + \else% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \fi% \fi% \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% \fi% - \renewcommand*\rmdefault{\sfdefault}% - \renewcommand*\familydefault{\sfdefault}% - \renewcommand*\seriesdefault{\mddefault}% - \renewcommand*\shapedefault{\updefault}% % \end{macrocode} -% Zum Abschluss wird die gewählte Standardschrift aktiviert. +% Zum Abschluss wird die gewählte Standardschrift aktiviert. Danach erfolgt die +% Behandlung der mathrematikschriften. Ganz zum Schluss wird das Layout erneut +% gesetzt. % \begin{macrocode} \normalfont\selectfont% + \tud@font@math@set% +%<*class> + \tud@layout@process% +%</class> } % \end{macrocode} -% \end{macro}^^A \tud@font@cdfonts -% \begin{macro}{\tud@font@mathfonts} +% \end{macro}^^A \tud@font@set +% \begin{macro}{\tud@font@math@set} % Mit diesem Befehl werden die Einstellungen für den Mathematiksatz übernommen. +% Die Option \opt{cdmath} wird ausgewertet, um zwischen dem Standard"~ und +% neuem Mathematiksatz hin"~ und herschalten zu können. Dabei wird zum einen +% das Mapping der griechischen Glyphen geändert, zum anderen werden die +% originalen Mathematikversionen überschrieben respektive wiederhergestellt. % \begin{macrocode} -\newcommand*\tud@font@mathfonts{% - \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% - \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% - \mathversion{normal}% -} -% \end{macrocode} -% \end{macro}^^A \tud@font@mathfonts -% \begin{macro}{\tud@sansmath} -% \begin{macro}{\tud@serifmath} -% Die Befehle werden von der Option \opt{sansmath} verwendet, um zwischen dem -% Standard"~ und neuem Mathematiksatz hin"~ und herschalten zu können. Dabei -% wird zum einen das Mapping der griechischen Glyphen geändert, zum anderen -% werden die originalen Mathematikversionen überschrieben beziehungsweise -% wiederhergestellt. -% \begin{macrocode} -\newcommand*\tud@sansmath{% +\newcommand*\tud@font@math@set{% \if@tud@univers% - \tud@cmd@store{mv@normal}% - \tud@cmd@store{mv@bold}% - \let\mv@normal\mv@univers% - \let\mv@bold\mv@universbold% - \mathversion{normal}% + \if@tud@cdmath% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \else% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \fi% \fi% -} -\newcommand*\tud@serifmath{% - \if@tud@univers% - \tud@cmd@restore{mv@normal}% - \tud@cmd@restore{mv@bold}% - \mathversion{normal}% + \if@tud@slantedgreek% + \tud@font@greek@slanted% + \else% + \tud@font@greek@upright% \fi% + \mathversion{normal}% } % \end{macrocode} -% \end{macro}^^A \tud@serifmath -% \end{macro}^^A \tud@sansmath -% \begin{macro}{\tud@greek@upGamma} -% \begin{macro}{\tud@greek@offset} +% \end{macro}^^A \tud@font@math@set +% \begin{macro}{\tud@font@greek@upGamma} +% \begin{macro}{\tud@font@greek@offset} % Damit innerhalb des Dokumentes problemlos zwischen aufrechten und kursiven % griechischen Buchstaben für den Mathematiksatz gewechselt werden kann, wurden % die folgenden beiden Befehle definiert, welche vom Prinzip aus dem Paket % \pkg{sansmath} abgekupfert sind. Es wird der Offset der Kodierung zwischen den -% kursiven und den aufrechten Glyphen in \cs{tud@greek@offset} gespeichert. +% kursiven und den aufrechten Glyphen in \cs{tud@font@greek@offset} gespeichert. % \begin{macrocode} -\newcount\tud@greek@upGamma -\tud@greek@upGamma\Gamma -\newcount\tud@greek@offset +\newcount\tud@font@greek@upGamma +\tud@font@greek@upGamma\Gamma +\newcount\tud@font@greek@offset \let\@tempa\relax \DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} -\tud@greek@offset\@tempa -\advance\tud@greek@offset-\Gamma -% \end{macrocode} -% \end{macro}^^A \tud@greek@offset -% \end{macro}^^A \tud@greek@upGamma -% \begin{macro}{\tud@greek@slanted} -% \begin{macro}{\tud@greek@upright} -% Mit \cs{tud@greek@slanted} wird die Kodierung der griechischen Majuskeln von -% \texttt{operator} auf \texttt{letter} geändert\dots -% \begin{macrocode} -\newcommand*\tud@greek@slanted{% - \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% +\tud@font@greek@offset\@tempa +\advance\tud@font@greek@offset-\Gamma +% \end{macrocode} +% \end{macro}^^A \tud@font@greek@offset +% \end{macro}^^A \tud@font@greek@upGamma +% \begin{macro}{\tud@font@greek@slanted} +% \begin{macro}{\tud@font@greek@upright} +% Mit dem Makro \cs{tud@font@greek@slanted} wird die Kodierung der griechischen +% Majuskeln von \texttt{operator} auf \texttt{letter} geändert\dots +% \begin{macrocode} +\newcommand*\tud@font@greek@slanted{% + \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi% } % \end{macrocode} -% \dots und \cs{tud@greek@upright} macht alles wieder rückgängig. Dabei wird -% bei beiden Befehlen vor der Ausführung geprüft, ob dies überhauot notwendig -% ist. +% \dots und \cs{tud@font@greek@upright} macht alles wieder rückgängig. Dabei +% wird bei beiden Befehlen vor der Ausführung geprüft, ob dies überhauot +% notwendig ist. % \begin{macrocode} -\newcommand*\tud@greek@upright{% - \ifnum\Gamma>\tud@greek@upGamma% - \tud@greek@offset=-\tud@greek@offset% - \tud@greek@changeshape% - \tud@greek@offset=-\tud@greek@offset% +\newcommand*\tud@font@greek@upright{% + \ifnum\Gamma>\tud@font@greek@upGamma% + \tud@font@greek@offset=-\tud@font@greek@offset% + \tud@font@greek@changeshape% + \tud@font@greek@offset=-\tud@font@greek@offset% \fi% } % \end{macrocode} -% \end{macro}^^A \tud@greek@upright -% \end{macro}^^A \tud@greek@slanted -% \begin{macro}{\tud@greek@def} -% \begin{macro}{\tud@greek@uc} -% \begin{macro}{\tud@greek@changeshape} -% Mit \cs{tud@greek@def} erfolgt die Umkodierung einer einzelnen griechischen -% Glyphe. Das Makro \cs{tud@greek@changeshape} arbeitet die Liste -% \cs{tud@greek@uc} ab. +% \end{macro}^^A \tud@font@greek@upright +% \end{macro}^^A \tud@font@greek@slanted +% \begin{macro}{\tud@font@greek@def} +% \begin{macro}{\tud@font@greek@uc} +% \begin{macro}{\tud@font@greek@changeshape} +% Mit \cs{tud@font@greek@def} erfolgt die Umkodierung einer einzelnen +% griechischen Glyphe. Das Makro \cs{tud@font@greek@changeshape} arbeitet die +% Liste \cs{tud@font@greek@uc} ab. % \begin{macrocode} -\newcommand*\tud@greek@def[2]{% +\newcommand*\tud@font@greek@def[2]{% \expandafter\@tempcnta\csname #1\endcsname% \advance\@tempcnta#2% \expandafter\mathchardef\csname #1\endcsname\@tempcnta% } % \end{macrocode} % Die Liste enthält die Namen der Befehle für große griechische Buchstaben. -% Diese wird von \cs{tud@greek@changeshape} genutzt wird. +% Diese wird von \cs{tud@font@greek@changeshape} genutzt wird. % \begin{macrocode} -\newcommand*\tud@greek@uc{% +\newcommand*\tud@font@greek@uc{% Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% } -\newcommand*\tud@greek@changeshape{% - \@for\@tempa:=\tud@greek@uc\do{% - \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% +\newcommand*\tud@font@greek@changeshape{% + \@for\@tempa:=\tud@font@greek@uc\do{% + \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}% }% } % \end{macrocode} -% \end{macro}^^A \tud@greek@changeshape -% \end{macro}^^A \tud@greek@uc -% \end{macro}^^A \tud@greek@def +% \end{macro}^^A \tud@font@greek@changeshape +% \end{macro}^^A \tud@font@greek@uc +% \end{macro}^^A \tud@font@greek@def % % \iffalse %</(class|package)&body> %<*(class|package)&option> % \fi % -% \begin{option}{heavyfont} -% \begin{macro}{\if@tud@heavyfont} -% Hiermit lässt sich die Schriftstärke im Dokument beeinflussen. -% \begin{macrocode} -\newif\if@tud@heavyfont -\TUD@key{heavyfont}[true]{% - \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@cdfonts\fi% - \fi% -} -% \end{macrocode} -% \end{macro}^^A \if@tud@heavyfont -% \end{option}^^A heavyfont -% \begin{option}{barfont} -% \changes{v2.02}{2014/07/08}{neu}%^^A -% \begin{macro}{\tud@barfont} -% \changes{v2.02}{2014/07/08}{neu}%^^A -% Mit dieser Option kann die Schrift des \CDs und deren Schriftstärke in der -% TUD-Kopfzeile unabhängig von der gewählten Schriftart für den Fließtext -% aktiviert werden. -% \begin{macrocode} -%<*class> -\newcommand*\tud@barfont{0} -\TUD@key@lock{barfont}[true]{% - \TUD@set@numkey@lock{barfont}{tud@barfont}{% - \TUD@numkey@bool,% - {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% - {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% - {heavy}{2},{heavyfont}{2}% - }{#1}% -} -%</class> -% \end{macrocode} -% \end{macro}^^A \tud@barfont -% \end{option}^^A barfont -% \begin{option}{din} -% \begin{macro}{\if@tud@din} -% Diese Option dient zur Auswahl, ob die Schrift DIN~Bold für die Überschriften -% verwendet werden soll. +% Damit die Schrift im Dokument später noch umgestellt werden kann, werden +% sämtliche Einstellungen erst zu Beginn des Dokumentes gesichert. Deshalb wird +% der dafür verantwortliche Befehl \cs{tud@font@set} hier zum ersten Mal +% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie +% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu +% aktivieren. Auch die Einstellungen für den Mathematiksatz werden erstmalig +% durch \cs{tud@font@math@set} gesetzt. % \begin{macrocode} -\newif\if@tud@din\@tud@dintrue -\TUD@ifkey{din}{@tud@din} +\AtBeginDocument{\tud@font@set}% % \end{macrocode} -% \end{macro}^^A \if@tud@din -% \end{option}^^A din % % \subsection{Schriften für den Mathematiksatz} % @@ -1021,23 +1057,42 @@ % werden. Die Auswahl an Mathematikschriften für \LaTeX{} ist relativ gering. % Dennoch schien das \pkg{cmbright}-Paket dafür geeignet, weshalb dieses direkt % bei der Installation der Schriften eingebunden wurde. -% \begin{option}{sansmath} -% \begin{macro}{\if@tud@sansmath} -% \begin{macro}{\if@tud@sansmath@locked} +% +% \begin{option}{cdmath} +% \begin{macro}{\if@tud@cdmath} +% \begin{macro}{\if@tud@cdmath@locked} % Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz % für das gesamte Dokument umgestellt werden. % \begin{macrocode} -\newif\if@tud@sansmath -\TUD@key@lock{sansmath}[true]{% - \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% +\bool@lock{@tud@cdmath} +\TUD@key{cdmath}[true]{% + \TUD@set@numkey{cdmath}{@tempa}{% + \TUD@numkey@bool,% + {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},% + {sansmath}{1},{sans}{1},% + {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},% + {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}% + }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \ifcase\@tempa\relax% + \bool@set@lock{@tud@cdmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \if@atdocument\tud@font@math@set\fi% + \or% + \bool@set@lock{@tud@cdmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \if@atdocument\tud@font@math@set\fi% + \or + \TUDoptions{slantedgreek=false}% + \or + \TUDoptions{slantedgreek=true}% + \fi% \fi% } % \end{macrocode} -% \end{macro}^^A \if@tud@sansmath@locked -% \end{macro}^^A \if@tud@sansmath -% \end{option}^^A sansmath +% \end{macro}^^A \if@tud@cdmath@locked +% \end{macro}^^A \if@tud@cdmath +% \end{option}^^A cdmath % \begin{option}{slantedgreek} % \begin{macro}{\if@tud@slantedgreek} % \begin{macro}{\if@tud@slantedgreek@locked} @@ -1047,7 +1102,7 @@ \TUD@key@lock{slantedgreek}[true]{% \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \if@atdocument\tud@font@math@set\fi% \fi% } % \end{macrocode} @@ -1057,13 +1112,11 @@ % % \iffalse %</(class|package)&option> -%<*package&option> +%<*package&execute> % \fi % -% Für das Paket \pkg{tudscrfonts} werden die Schriften aktiviert und~-- aus -% Kompatibilitätsgründen zur \cls{tudbook}-Klasse~-- die Option \opt{serifmath} -% definiert. Die an das Paket übergebenen Optionen werden daran anschließend -% ausgeführt. +% Für das Paket \pkg{tudscrfonts} werden die Schriften aktiviert und die an das +% Paket übergebenen Optionen ausgeführt. % \begin{macrocode} \TUDoptions{cdfont=true} \DeclareOption*{\TUDoptions{\CurrentOption}} @@ -1071,12 +1124,12 @@ % \end{macrocode} % % \iffalse -%</package&option> +%</package&execute> %<*class&body> % \fi % % \begin{macro}{\tud@head@font@set} -% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{barfont} hinzugefügt}%^^A +% \changes{v2.02}{2014/07/08}{Unterstützung für \opt{cdhead} hinzugefügt}%^^A % \begin{macro}{\tud@head@font@bold} % \begin{macro}{\tud@head@font@light} % Die Schrift der Kopfzeile wird entweder in den Schriften des \CDs oder aber @@ -1089,6 +1142,17 @@ \newcommand*\tud@head@font@bold{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@set{% +% \changes{v2.03}{2015/01/30}{Fix für die Änderung von \cs{spaceskip} durch +% \pkg{ragged2e}}%^^A +% \end{macrocode} +% Das Paket \pkg{ragged2e} ändert im Zweifelsfall die Länge \cs{spaceskip}. Um +% den Kopf unbeeinflusst davon immer in der gleichen Gestalt erscheinen zu +% lassen, wird dies hier temporär unterdrückt. +% \begin{macrocode} + \ifdef{\@raggedtwoe@everyselectfont}{% + \let\@raggedtwoe@everyselectfont\relax% + \spaceskip\z@\selectfont% + }{}% % \end{macrocode} % Zuerst die Rückfallebene für den Fall, dass keine Schriften im \CD verendet % werden. @@ -1098,26 +1162,24 @@ \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {\sfdefault}{\mddefault}{n}{\tud@head@font@size}% % \end{macrocode} -% Die Option \opt{barfont} wird ausgewertet. +% Die Option \opt{cdhead} wird ausgewertet. % \begin{macrocode} - \ifcase \tud@barfont\relax% - \if@tud@cdfonts% + \@tempswafalse% + \ifcase\tud@head@font\relax% + \ifnum\tud@cdfont>\z@\relax% \ClassWarning{\tudcls@name}{% - It isn't possible to use `barfont=false'\MessageBreak% + It isn't possible to use `cdhead=false'\MessageBreak% together with `cdfont=true'% }% + \@tempswatrue% \fi% - \or% - \@tud@cdfontstrue% - \def\mddefault{l}% - \or% - \@tud@cdfontstrue% - \def\mddefault{m}% + \else% + \@tempswatrue% \fi% % \end{macrocode} % Die Schriften für den Kopf im \CD werden aktiviert. % \begin{macrocode} - \if@tud@cdfonts% + \if@tempswa% % \end{macrocode} % Damit \cs{DeclareFixedFont} zusammen mit \pkg{fontspec} verwendet werden % kann, wurde zu Beginn der Klasse den drei benötigten Schriftschnitten der @@ -1126,13 +1188,13 @@ \if@tud@fontspec% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {UniversBold}{m}{n}{\tud@head@font@size}% - \ifstr{\mddefault}{m}{% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {UniversRegular}{m}{n}{\tud@head@font@size}% - }{% + \ifcase\tud@head@font\relax\or% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {UniversLight}{m}{n}{\tud@head@font@size}% - }% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + \fi% % \end{macrocode} % Die klassische Auswahl mittels NFSS-Schriftname und \cs{mddefault}. % \begin{macrocode} @@ -1140,8 +1202,13 @@ \if@tud@univers% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\tud@univers}{b}{n}{\tud@head@font@size}% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {\tud@univers}{\mddefault}{n}{\tud@head@font@size}% + \ifcase\tud@head@font\relax\or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@font@size}% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{m}{n}{\tud@head@font@size}% + \fi% \fi% \fi% \fi% @@ -1164,11 +1231,11 @@ % im Dokument sowie Inhaltserzeichnis und/oder Kolumnentitel zu unterscheiden. % \begin{macrocode} \newrobustcmd*\ifdin{% - \@tempswafalse + \@tempswafalse% \@expandtwoargs\in@{DINBold}{\f@family}% \ifin@\@tempswatrue\fi% \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% - \if@tempswa + \if@tempswa% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% @@ -1281,19 +1348,6 @@ } %</package> % \end{macrocode} -% Damit die Schrift im Dokument später noch umgestellt werden kann, werden -% sämtliche Einstellungen erst zu Beginn des Dokumentes gesichert. Deshalb wird -% der dafür verantwortliche Befehl \cs{tud@font@cdfonts} hier zum ersten Mal -% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie -% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu -% aktivieren. Auch die Einstellungen für den Mathematiksatz werden erstmalig -% durch \cs{tud@font@mathfonts} gesetzt. -% \begin{macrocode} -\AtBeginDocument{% - \if@tud@cdfonts\tud@font@cdfonts\fi% - \tud@font@mathfonts% -} -% \end{macrocode} % Das Paket \pkg{cmbright} bringt zusätzlich noch Schriftschnitte für die % \pkg{ams}"=Pakete mit. Diese werden gegebenenfalls geladen. % \begin{macrocode} @@ -1328,16 +1382,12 @@ % setzen. % \begin{macrocode} \newcommand*\tud@raggedright{\raggedright} -%<*class> \newcommand*\tud@RaggedRight{\raggedright} -%</class> \AfterPackage*{ragged2e}{% \ifdef{\LaTeXraggedright}{% \renewcommand*\tud@raggedright{\LaTeXraggedright}% }{}% -%<*class> \renewcommand*\tud@RaggedRight{\RaggedRight}% -%</class> } % \end{macrocode} % \end{macro}^^A \tud@ragged2e @@ -1347,20 +1397,29 @@ %</(class|package)&body> %<*package&body> % \fi +% +% \begin{macro}{\@makechapterhead} +% \begin{macro}{\@makeschapterhead} +% \begin{macro}{\section} +% \begin{macro}{\showtitle} % Ganz zum Schluss merden für das Paket \pkg{tudscrfonts} noch ein paar % Anpassungen für die \cls{tudbook}-Klasse gemacht. % \begin{macrocode} \@ifclassloaded{tudbook}{% \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}% - {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makechapterhead}}% + {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}% \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}% - {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makeschapterhead}}% + {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}% \patchcmd{\section}{\dinBold\Large\bfseries}% - {\if@tud@din\dinbn\fi\Large}{}{\tud@patch@wrn{section}}% + {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}% \patchcmd{\showtitle}{\dinBold\Huge\bfseries}% - {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{showtitle}}% + {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}% }{} % \end{macrocode} +% \end{macro}^^A \showtitle +% \end{macro}^^A \section +% \end{macro}^^A \@makeschapterhead +% \end{macro}^^A \@makechapterhead % % \iffalse %</package&body> diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx index 5e305fb91e5..efff55db60a 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx @@ -1,29 +1,33 @@ -% \CheckSum{587} +% \CheckSum{637} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-frontmatter.dtx}[% - 2014/12/04 v2.02 TUD-KOMA-Script (frontmatter)% + 2015/02/15 v2.03 TUD-KOMA-Script (frontmatter)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} @@ -68,9 +72,12 @@ % % \selectlanguage{ngerman} % -% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A -% \changes{v2.02}{2014/11/05}{Verbesserungen für Kolumnentitel und -% Inhaltsverzeichnis}%^^A +% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A +% +% \ToDo{% +% Gesammelten Eintrag ins Inhaltsverzeichnis für alle Abschnitte\\ +% \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?f=11\&t=385} +% }[v2.04] % % \section{Befehle und Umgebungen für den Vorspann} % @@ -143,6 +150,7 @@ \boolfalse{@tud@#1@fil}% }% %</book|report> +% \end{macrocode} % Im Zweispaltensatz wird der Inhalt der Umgebung einfach ausgegeben, eine % vertikale Zentrierung findet nicht statt. % \begin{macrocode} @@ -226,6 +234,7 @@ % \begin{macro}{\tud@fm@head} % \changes{v2.02}{2014/07/18}{an \pkg{scrlayer-scrpage} angepasst}%^^A % \changes{v2.02}{2014/10/09}{Bugfix für Kolumnentitel}%^^A +% \changes{v2.02}{2014/11/05}{Bugfix Kolumnentitel und Inhaltsverzeichnis}%^^A % Dieses Makro dient zur Festlegung der Gliederungsebene der Überschrift der % Erklärung. Die gewählte Gliederungsebene ist in \cs{tud@\meta{Typ}@level} % gespeichert. Verwendet wird das Makro folgendermaßen: @@ -284,7 +293,7 @@ %<*article> \addsectiontocentry{}{#2}% %</article> - } + }% }{}% } % \end{macrocode} @@ -296,9 +305,9 @@ % vertikaler Ausrichtung die entsprchenden Abstände dazwischen eingefügt. % \begin{macrocode} \newcommand*\tud@fm@next[2]{% - \TUD@parameter@set[#1]{#2}% + \TUD@parameter@set{#1}{#2}% \if@twocolumn% - \ifbool{@tud@#1@multi}{\par}{\newpage} + \ifbool{@tud@#1@multi}{\par}{\newpage}% \else% \if@titlepage% \ifbool{@tud@#1@fil}{% @@ -314,9 +323,9 @@ }% }{\ifbool{@tud@#1@multi}{}{\clearpage}}% \else% - \ifnum\@nameuse{tud@#1@level}<2 - \end{\tud@quoting} - \begin{\tud@quoting} + \ifnum\@nameuse{tud@#1@level}<2% + \end{\tud@quoting}% + \begin{\tud@quoting}% \fi% \fi% \fi% @@ -330,8 +339,11 @@ % \begin{macrocode} \newcommand*\tud@fm@pagestyle[2]{% \if@titlepage% - \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% - \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + \ifcsdef{ps@#2}{\def\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{% + You tried to use `#2' as a pagestyle for the\MessageBreak% + `#1' environment, but it was never defined% + }% }% \else% \ClassWarning{\tudcls@name}{% @@ -398,11 +410,11 @@ \newcommand*\tud@fm@switch{% {section}{2},{sect}{2},{sec}{2},{addsec}{2},% %<*article> - {new}{2},{std}{2},{heading}{2},% + {new}{2},{standard}{2},{heading}{2},% %</article> %<*book|report> {chapter}{3},{chap}{3},{addchap}{3},% - {new}{3},{std}{3},{heading}{3},% + {new}{3},{standard}{3},{heading}{3},% %</book|report> {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% @@ -438,11 +450,11 @@ % \begin{macrocode} %<*report|article> \newcommand*\tud@abstract@level{0} -\newbool@lock{@tud@abstract@toc} +\bool@lock{@tud@abstract@toc} %</report|article> %<*book> \newcommand*\tud@abstract@level{3} -\newbool@lock[true]{@tud@abstract@toc} +\bool@lock[true]{@tud@abstract@toc} %</book> % \end{macrocode} % \end{macro}^^A \if@tud@abstract@toc@locked @@ -505,23 +517,23 @@ % allerdings vom Anwender jederzeit überschrieben werden kann. % \begin{macrocode} \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% %<*report|article> \def\tud@abstract@level{0}% - \stdbool@lock{@tud@abstract@toc}{false}% + \bool@std@lock{@tud@abstract@toc}{false}% %</report|article> \or% %<*report|article> \def\tud@abstract@level{1}% - \stdbool@lock{@tud@abstract@toc}{false}% + \bool@std@lock{@tud@abstract@toc}{false}% %</report|article> \or% \def\tud@abstract@level{2}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% %<*book|report> \def\tud@abstract@level{3}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% %</book|report> % \end{macrocode} % Neben den Einstellungen für die Art der Gliederungsebene der Überschrift für @@ -531,13 +543,13 @@ % die Zusammenfassung einen Eintrag ins Inhaltsverzeichnis bekommen soll. % \begin{macrocode} \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldownfalse% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldowntrue% \or% - \setbool@lock{@tud@abstract@toc}{false}% + \bool@set@lock{@tud@abstract@toc}{false}% \or% \@tud@abstract@markbothtrue% \or% @@ -562,6 +574,7 @@ % \fi % % \begin{environment}{abstract} +% \changes{v2.03}{2015/01/09}{Bugfix für Seitenstilauswahl}%^^A % Die \env{abstract}-Umgebung wird komplett überarbeitet. Um alle gewünschten % Optionen\footnote{\opt{titlepage}, \opt{twocolumn}, \opt{abstract@multi}, % \opt{abstract@fil} sowie Gliederungsebene der Überschrift} beachten zu @@ -578,29 +591,33 @@ % \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. Bei aktiver \opt{titlepage}-Option wird -% anschließend der aktuelle Seitenstil gesichert, um diesen nach der Umgebung -% wiederherstellen zu können. +% 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. % \begin{macrocode} \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% - \if@titlepage% - \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% - \fi% + \let\tud@ps\relax% % \end{macrocode} % Als nächstes werden die Optionen verarbeitet. Sollte nach Abarbeitung der % Optionen für \env{abstract} festgestellt werden, dass eine spezielle % Spaltenanzahl gewünscht ist, so wird~-- für den Fall, dass das Paket % \pkg{multicol} geladen ist~-- diese gesetzt. Sonst wird die angegbene Anzahl -% der Spalten ignoriert und eine Warnung ausgegeben. Bei aktiver Option -% \opt{titlepage} kann über den Parameter \opt{pagestyle} der Seitenstil -% innerhalb der Umgebung geändert werden. Dieser wird automatisch auf -% \val{headings} gesetzt, wenn beidseitige Kolumnentitel verwendet werden. +% der Spalten ignoriert und eine Warnung ausgegeben. % \begin{macrocode} - \TUD@parameter@set[abstract]{#1}% - \if@tud@abstract@markboth\def\tud@ps{headings}\fi% + \TUD@parameter@set{abstract}{#1}% \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% +% \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} + \if@titlepage% + \tud@currentpagestyle@set% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% + \fi% \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% % \end{macrocode} % Nach der Umgebung wird bei aktiver \opt{titlepage}-Option der ursprüngliche @@ -629,26 +646,31 @@ \TUD@parameter@define{language}{\selectlanguage{#1}}% \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{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]{% - \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@abstract@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% + \@tud@abstract@markbothfalse% + }{% \@tud@abstract@markbothfalse% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% \manualmark\markboth{#1}{#1}% - }}}}}}% + }% }% \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% - \TUD@parameter@define{option}{\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. Hierfür ist der Befehl -% \cs{tud@environmenthandler} definiert, welcher auch von \env{tudpage}-Umgebung -% verwendet wird +% \cs{TUD@parameter@defaulthandler} definiert, welcher auch von der Umgebung +% \env{tudpage} verwendet wird. % \begin{macrocode} - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}% } % \end{macrocode} % \end{parameter}^^A option @@ -658,6 +680,7 @@ % \end{parameter}^^A columns % \end{parameter}^^A language % \begin{macro}{\nextabstract} +% \changes{v2.02}{2014/11/05}{neu}%^^A % Um einzelne Abschnitte innerhalb einer Zusammenfassung trennen zu können, ist % dieser Befehl notwendig. % \begin{macrocode} @@ -704,17 +727,17 @@ % \begin{macrocode} %<*report|article> \newcommand*\tud@declaration@level{1} -\newbool@lock{@tud@declaration@toc} +\bool@lock{@tud@declaration@toc} %</report|article> %<*book> \newcommand*\tud@declaration@level{3} -\newbool@lock[true]{@tud@declaration@toc} +\bool@lock[true]{@tud@declaration@toc} %</book> \newif\if@tud@declaration@toc@leveldown \newif\if@tud@declaration@markboth \newif\if@tud@declaration@multi -\@tud@declaration@multitrue \newif\if@tud@declaration@fil +\@tud@declaration@multitrue \@tud@declaration@filtrue % \end{macrocode} % \end{macro}^^A \if@tud@declaration@fil @@ -736,28 +759,28 @@ \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \def\tud@declaration@level{0}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{1}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{2}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% %<*book|report> \def\tud@declaration@level{3}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% %</book|report> \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldownfalse% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldowntrue% \or% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@set@lock{@tud@declaration@toc}{false}% \or% \@tud@declaration@markbothtrue% \or% @@ -782,6 +805,9 @@ % \fi % % \begin{environment}{declarations} +% \changes{v2.02}{2014/11/05}{neu}%^^A +% \changes{v2.03}{2015/01/09}{Bugfix für Seitenstilauswahl}%^^A +% \changes{v2.03}{2015/01/30}{Bugfix für Spaltenanzahl}%^^A % \begin{macro}{\if@tud@declarations} % Die \env{declarations}-Umgebung wird ähnlich zur \env{abstract}-Umgebung % definiert. Prinzipiell funktioniert diese genauso, inklusive der Parameter. @@ -791,17 +817,26 @@ % \begin{macrocode} \newif\if@tud@declarations \NewEnviron{declarations}[1][]{% + \@tud@declarationstrue% \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{declaration}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \@tud@declarationstrue% - \TUD@parameter@set[declaration]{#1}% - \if@tud@declaration@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% - \tud@fm@check{declaration}{\BODY}% + \tud@fm@check{declaration}{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + }% }[% \if@titlepage% \aftergroup\tud@currentpagestyle@reset% @@ -834,29 +869,31 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@declaration@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% + \@tud@declaration@markbothfalse% + }{% \@tud@declaration@markbothfalse% + \ifx\tud@ps\relax\def\tud@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@let{confirmationclosing}{closing}% \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% - \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% + \TUD@parameter@let{option}{declaration}% % \end{macrocode} % Für die Optionsangabe ohne Schlüssel und Wert kann eine Anzahl an Spalten % oder eine alternative Sprache angegeben werden. Hierfür ist der Befehl -% \cs{tud@environmenthandler} definiert, welcher auch von \env{tudpage}-Umgebung -% verwendet wird +% \cs{TUD@parameter@defaulthandler} definiert, welcher auch von der Umgebung +% \env{tudpage} verwendet wird. % \begin{macrocode} - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}% } % \end{macrocode} % \end{parameter}^^A option @@ -871,17 +908,21 @@ % \end{parameter}^^A language % \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 % 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. % \begin{macrocode} \newcommand*\declaration[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% - \tud@fm@blocking + \tud@fm@blocking% \endgroup% }{% \begin{declarations}[#1]% @@ -889,11 +930,15 @@ \tud@fm@blocking% \end{declarations}% }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } % \end{macrocode} % \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 % \begin{macro}{\tud@fm@confirmation} % \changes{v2.02}{2014/07/18}{neu}%^^A % Mit diesem Befehl kann die Selbstständigkeitserklärung ausgegeben werden. Das @@ -901,14 +946,19 @@ % sind Schlüssel-Wert-Paare als Option nutzbar. % \begin{macrocode} \newcommand*\confirmation[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% % \end{macrocode} % Damit das optionale Argument ohne Schlüssel für die Unterstützer verwendet % werden kann, wird der Handler umdefiniert. % \begin{macrocode} - \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{supporter=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% \endgroup% }{% @@ -919,7 +969,12 @@ % \end{macrocode} % Der Handler wird auf das ursprüngliche Verhalten zurückgesetzt. % \begin{macrocode} - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } % \end{macrocode} % Dies ist der eigentliche Inhalt des Befehls \cs{confirmation}. @@ -927,7 +982,7 @@ \newcommand*\tud@fm@confirmation{% \tud@fm@check{declaration}{% \tud@fm@set{declaration}{\confirmationname}{% - \confirmationtext\vskip0pt\@confirmationclosing% + \confirmationtext\vskip\z@\@confirmationclosing% }% }% } @@ -937,16 +992,22 @@ % \begin{macro}{\blocking} % \changes{v2.02}{2014/05/16}{neu, \cs{restriction} umbenannt}%^^A % \changes{v2.02}{2014/07/18}{an \pkg{scrlayer-scrpage} angepasst}%^^A +% \changes{v2.03}{2015/01/30}{Bugfix für Spaltenanzahl}%^^A % \begin{macro}{\tud@fm@blocking} % \changes{v2.02}{2014/07/18}{neu}%^^A % Für den Sperrvermerk wird äquivalent zu \cs{confirmation} verfahren. Das % optionale Argument ohne Schlüssel setzt hier die Firma für den Sperrvermerk. % \begin{macrocode} \newcommand*\blocking[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{company=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@blocking% \endgroup% }{% @@ -954,7 +1015,12 @@ \tud@fm@blocking% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } % \end{macrocode} % Dies ist der eigentliche Inhalt des Befehls \cs{blocking}. diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx index 50ea0d764dd..342cf420d82 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx @@ -1,29 +1,33 @@ -% \CheckSum{1021} +% \CheckSum{1090} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-layout.dtx}[% - 2014/11/21 v2.02 TUD-KOMA-Script (layout)% + 2015/02/15 v2.03 TUD-KOMA-Script (layout)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} @@ -68,7 +72,7 @@ % % \selectlanguage{ngerman} % -% \changes{v2.02}{2014/07/08}{Nutzung \cs{FamilyKeyState}}%^^A +% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A % % \section{Das Layout des \CDs} % @@ -85,22 +89,18 @@ % % \subsection{Optionen} % -% \begin{macro}{\tud@head@color} -% Dieses Makro definiert die Farbe des Kopfes. Diese kann durch die -% entsprechende Option der \env{tudpage}"=Umgebung geändert werden. Außerdem -% gibt es für Titel, Teil und Kapitel speziell dazugehörige Farben, so dass -% das Aussehen des Kopfes ggf. angepasst wird. -% \begin{macrocode} -\newcommand*\tud@head@color{black} -% \end{macrocode} -% \end{macro}^^A \tud@head@color % \begin{option}{cd} % \begin{macro}{\tud@cd} % \begin{macro}{\tud@layout@cover} % \changes{v2.02}{2014/08/08}{neu}^^A +% \begin{macro}{\if@tud@layout@cover@locked} +% \changes{v2.02}{2014/08/08}{neu}^^A % \begin{macro}{\tud@layout@title} +% \begin{macro}{\if@tud@layout@title@locked} % \begin{macro}{\tud@layout@part} +% \begin{macro}{\if@tud@layout@part@locked} % \begin{macro}{\tud@layout@chapter} +% \begin{macro}{\if@tud@layout@chapter@locked} % \begin{macro}{\tud@layout@switch} % Ein zentraler Teil der Wrapper-Klassen ist die Auswahl der Darstellung des % \CDs. Dabei kann gewählt werden, ob es einfarbig, mit leichtem oder aber mit @@ -117,12 +117,11 @@ % werden alle Komponenten mit einer zentralen Option festgelegt, können aber % auch durch den Nutzer explizit überschrieben werden. % \begin{macrocode} -\newcommand*\tud@cd{0} -\csdef@lock{tud@layout@cover}{0} -\csdef@lock{tud@layout@title}{0} -\csdef@lock{tud@layout@part}{0} +\cs@lock{tud@layout@cover}{0} +\cs@lock{tud@layout@title}{0} +\cs@lock{tud@layout@part}{0} %<*book|report> -\csdef@lock{tud@layout@chapter}{0} +\cs@lock{tud@layout@chapter}{0} %</book|report> % \end{macrocode} % Dies sind die Standardoptionen für alle einzelnen Einstellungen des Layouts. @@ -132,69 +131,92 @@ \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% \TUD@numkey@bool,% - {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},% {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% - {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% - {color}{3},{colour}{3}% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{4},{colour}{4},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5}% } % \end{macrocode} % Es folgt die eigentliche Option. % \begin{macrocode} +\newcommand*\tud@cd{0} \TUD@key{cd}[true]{% \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \def\tud@head@color{black}% - \ifcase \tud@cd\relax% - \csstd@lock{tud@layout@cover}{0}% - \csstd@lock{tud@layout@title}{0}% - \csstd@lock{tud@layout@part}{0}% +% \end{macrocode} +% Layout nicht im \CD. +% \begin{macrocode} + \ifcase\tud@cd\relax% + \cs@std@lock{tud@layout@cover}{0}% + \cs@std@lock{tud@layout@title}{0}% + \cs@std@lock{tud@layout@part}{0}% %<*book|report> - \csstd@lock{tud@layout@chapter}{0}% + \cs@std@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% %</book|report> +% \end{macrocode} +% Layout im \CD mit schwarzer Schrift und schwarzem Kopf. +% \begin{macrocode} \or% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{1}% - \csstd@lock{tud@layout@part}{1}% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{1}% + \cs@std@lock{tud@layout@part}{1}% %<*book|report> - \csstd@lock{tud@layout@chapter}{1}% + \cs@std@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% %</book|report> +% \end{macrocode} +% Layout im \CD mit blauer Schrift und blauem Kopf. +% \begin{macrocode} \or% - \def\tud@head@color{HKS41}% % \end{macrocode} % Die Umschlagseite wird standardmäßig immer monochrom gesetzt. % \begin{macrocode} - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{2}% - \csstd@lock{tud@layout@part}{2}% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{2}% + \cs@std@lock{tud@layout@part}{2}% %<*book|report> - \csstd@lock{tud@layout@chapter}{2}% + \cs@std@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% %</book|report> +% \end{macrocode} +% Layout im \CD mit blauer Schrift und zweifarbigem Kopf. +% \begin{macrocode} \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{3}% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{3}% + \cs@std@lock{tud@layout@part}{3}% +%<*book|report> + \cs@std@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{false}% +%</book|report> % \end{macrocode} -% Ein komplett farbiges Layout ist bloß für Klassen mit Teil- und Kapitelseiten -% (\cls{tudscrbook} und \cls{tudscrreprt}) möglich. Ansonsten werden lediglich -% die Überschriften, jedoch nicht der Seitenhintergrund farbig gestaltet. +% Farbiges Layout mit farbigem Hintergrund im \CD mit weißer Schrift und +% Outline im Kopf. % \begin{macrocode} -%<*article> - \csstd@lock{tud@layout@part}{2}% -%</article> + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{4}% + \cs@std@lock{tud@layout@part}{4}% %<*book|report> - \csstd@lock{tud@layout@part}{3}% - \csstd@lock{tud@layout@chapter}{3}% + \cs@std@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% %</book|report> % \end{macrocode} -% Die Klassenoptionen \opt{chapterpage} und \opt{widehead} werden für den -% Fall der komplett farbigen Darstellung standardmäßig aktiviert -% können allerdings vom Anwender überschrieben werden. +% Farbiges Layout mit farbigem Hintergrund im \CD mit weißer Schrift und +% farbigem Querbalken im Kopf. % \begin{macrocode} + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{5}% + \cs@std@lock{tud@layout@part}{5}% %<*book|report> + \cs@std@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% - \TUD@std@ifkey@lock{widehead}{true}% %</book|report> \fi% % \end{macrocode} @@ -209,22 +231,26 @@ \else% % \end{macrocode} % Innerhalb der Präambel wird der Satzspiegel abhängig vom gewünschten Layout -% festgelegt. Dies kann vom Benutzer mit dem Setzen der Option \opt{geometry} +% festgelegt. Dies kann vom Benutzer mit dem Setzen der Option \opt{cdgeometry} % überschrieben werden. % \begin{macrocode} - \ifcase \tud@cd\relax% - \TUD@std@numkey@lock{geometry}{false}% + \ifcase\tud@cd\relax% + \TUD@std@numkey@lock{cdgeometry}{false}% \else% - \TUD@std@numkey@lock{geometry}{true}% + \TUD@std@numkey@lock{cdgeometry}{true}% \fi% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \tud@layout@switch +% \end{macro}^^A \if@tud@layout@chapter@locked % \end{macro}^^A \tud@layout@chapter +% \end{macro}^^A \if@tud@layout@part@locked % \end{macro}^^A \tud@layout@part +% \end{macro}^^A \if@tud@layout@title@locked % \end{macro}^^A \tud@layout@title +% \end{macro}^^A \if@tud@layout@cover@locked % \end{macro}^^A \tud@layout@cover % \end{macro}^^A \if@tud@cd % \end{option}^^A cd @@ -236,18 +262,23 @@ \TUD@key{cdcover}[true]{% \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@cover}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@cover}{0}% \or% - \csset@lock{tud@layout@cover}{1}% + \cs@set@lock{tud@layout@cover}{1}% \or% - \csset@lock{tud@layout@cover}{2}% + \cs@set@lock{tud@layout@cover}{2}% \or% - \csset@lock{tud@layout@cover}{3}% + \cs@set@lock{tud@layout@cover}{3}% + \or% + \cs@set@lock{tud@layout@cover}{4}% + \or% + \cs@set@lock{tud@layout@cover}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } +% \end{macrocode} % \end{option}^^A cdcover % \begin{option}{cdtitle} % \dots Titel (\opt{cdtitle}),\dots @@ -255,14 +286,18 @@ \TUD@key{cdtitle}[true]{% \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@title}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@title}{0}% \or% - \csset@lock{tud@layout@title}{1}% + \cs@set@lock{tud@layout@title}{1}% \or% - \csset@lock{tud@layout@title}{2}% + \cs@set@lock{tud@layout@title}{2}% \or% - \csset@lock{tud@layout@title}{3}% + \cs@set@lock{tud@layout@title}{3}% + \or% + \cs@set@lock{tud@layout@title}{4}% + \or% + \cs@set@lock{tud@layout@title}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -275,19 +310,18 @@ \TUD@key{cdpart}[true]{% \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@part}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@part}{0}% \or% - \csset@lock{tud@layout@part}{1}% + \cs@set@lock{tud@layout@part}{1}% \or% - \csset@lock{tud@layout@part}{2}% + \cs@set@lock{tud@layout@part}{2}% \or% -%<*article> - \csset@lock{tud@layout@part}{2}% -%</article> -%<*book|report> - \csset@lock{tud@layout@part}{3}% -%</book|report> + \cs@set@lock{tud@layout@part}{3}% + \or% + \cs@set@lock{tud@layout@part}{4}% + \or% + \cs@set@lock{tud@layout@part}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -303,17 +337,23 @@ \TUD@key{cdchapter}[true]{% \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@chapter}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@set@lock{tud@layout@chapter}{1}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{1}% + \cs@set@lock{tud@layout@chapter}{2}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{2}% + \cs@set@lock{tud@layout@chapter}{3}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{3}% + \cs@set@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \or% + \cs@set@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% \fi% \if@atdocument\tud@layout@process\fi% @@ -323,35 +363,40 @@ % \end{macrocode} % \end{option}^^A cdchapter % \begin{option}{headings} +% \begin{macro}{\tud@font@heading@size} % Die \KOMAScript-Option \opt{headings} setzt die Formatierung aller % Überschriften zurück. Damit die Einstellungen für das \CD aktiv bleiben, % werden nach der Ausführung der Option die mit \cs{tud@font@koma@set} % definierten Makros \cs{tud@font@koma@\meta{Element}} erneut an die % entsprechenden Schriftelemente angehängt. % \begin{macrocode} +\newcommand*\tud@font@heading@size{} +\AtEndOfClass{\let\tud@font@heading@size\size@part} \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \AtEndOfFamilyOptions{% \let\tud@font@heading@size\size@part% - \tud@layout@process% - \ifcase \tud@layout@part\relax\else% - \tud@font@koma@reset{part}% - \tud@font@koma@reset{partnumber}% + \if@atdocument% + \tud@layout@process% + \ifcase\tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% %<*book|report> - \fi% - \ifcase \tud@layout@chapter\relax\else% - \tud@font@koma@reset{chapter}% - \tud@font@koma@reset{chapterprefix}% - \let\chapterheadstartvskip\tud@chapterheadstartvskip% + \fi% + \ifcase\tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% %</book|report> - \tud@font@koma@reset{section}% - \tud@font@koma@reset{subsection}% - \tud@font@koma@reset{subsubsection}% - \tud@font@koma@reset{minisec}% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% \fi% }% } % \end{macrocode} +% \end{macro}^^A \tud@font@heading@size % \end{option}^^A headings % % \iffalse @@ -362,19 +407,17 @@ % \cls{tudscrbook} und \cls{tudscrreprt} definiert. % \begin{option}{parttitle} % \begin{macro}{\if@tud@parttitle} -% \begin{macro}{\if@tud@parttitle@locked} % Der Schalter dient zur Steuerung, ob der Titel des Dokumentes wie im Handbuch % des \CDs auf den Teileseiten stehen soll. % \begin{macrocode} \newif\if@tud@parttitle -\TUD@key@lock{parttitle}[true]{% - \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% +\TUD@key{parttitle}[true]{% + \TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\tud@layout@process\fi% \fi% } % \end{macrocode} -% \end{macro}^^A \if@tud@parttitle@locked % \end{macro}^^A \if@tud@parttitle % \end{option}^^A parttitle % \begin{option}{chapterpage} @@ -394,8 +437,12 @@ % \begin{option}{cleardoublespecialpage} % \changes{v2.02}{2014/07/08}{Nutzung als globale Klassenoption mit Werten für % Seitenstile aus den \KOMAScript{} bzw. \TUDScript-Klassen}%^^A +% \changes{v2.03}{2015/01/09}{Prüfung des Seitenstils mit \cs{AfterPreamble} +% auf Beginn des Dokumentes verzögert}%^^A % \begin{macro}{\tud@cleardoublepage} % \begin{macro}{\tud@cleardoublespecialpage} +% \changes{v2.03}{2015/01/09}{Seitenhintergrund mit \pkg{scrlayer-scrpage}, +% Makro \cs{tud@restorepagecolor} überflüssig}%^^A % Für Klassen mit separaten Teileseiten und Kapiteln wird eine zusätzliche % Option definiert, welche nur bei zweiseitigem Satz (\opt{twoside}) und % zusätzlich immer auf nur der rechten Seite öffnenden Teilen bzw. Kapiteln @@ -438,29 +485,23 @@ \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% \FamilyKeyStateProcessed% }{% - \ifcsdef{ps@#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% % \end{macrocode} % Beim Laden der Klasse selbst sind die speziellen Seitenstile der \KOMAScript- % bzw. \TUDScript-Klassen noch nicht definiert. Diese sollen als Werte jedoch -% trotzdem erlaubt sein. -% \begin{macrocode} - \ifx\@currname\tudcls@name% - \ifx\@currext\@clsextension% - \ifstr{#1}{headings}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% - \tud@ifinpslist{#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{}% - }% - \fi% - \fi% +% trotzdem erlaubt sein. Deshalb wird für diesen Fall das Überprüfen mit +% \cs{AfterPreamble} auf den Beginn des Dokumentes verzögert. +% \begin{macrocode} + \AfterPreamble{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + }{% + \ClassError{\tudcls@name}{`#1' is no valid pagestyle}{% + You tried to use `#1' as a pagestyle for option\MessageBreak% + `cleardoublespecialpage', but it was never defined% + }% + }% }% + \FamilyKeyStateProcessed% }}}% \fi% } @@ -478,13 +519,11 @@ \def\@tempa{% #1% \tud@cleardoublepage% - \tud@restorepagecolor% \endgroup% }% \else% \def\@tempa{% \endgroup% - \tud@restorepagecolor% #1% \tud@cleardoublepage% }% @@ -492,7 +531,6 @@ }{% \if@tud@clearcolor\tud@clearcolor@wrn\fi% \def\@tempa{% - \tud@restorepagecolor% \endgroup% #1% }% @@ -535,32 +573,21 @@ % verschiedener Textelemente sowie die farbliche Gestaltung verstanden. Für das % \CD gibt es dabei drei Ausprägungen, die für die verschiedenen Elemente % auch unabhängig gewählt werden können. -% \begin{macro}{\tud@color@partfont} -% \begin{macro}{\tud@color@partpage} -% \begin{macro}{\tud@color@parthead} -% \begin{macro}{\tud@color@chapterfont} -% \begin{macro}{\tud@color@chapterpage} -% Die Makros werden für die Hintergrundfarbe der Seiten und die Farbe der -% Überschriften verwendet. -% \begin{macrocode} -\newcommand*\tud@color@partfont{black} +% \begin{macro}{\tud@part@fontcolor} +% \begin{macro}{\tud@chapter@fontcolor} +% Die Makros werden für die Farbe der Überschriften verwendet. +% \begin{macrocode} +\newcommand*\tud@part@fontcolor{black} %<*book|report> -\newcommand*\tud@color@partpage{white} -\newcommand*\tud@color@parthead{black} -\newcommand*\tud@color@chapterfont{black} -\newcommand*\tud@color@chapterpage{white} +\newcommand*\tud@chapter@fontcolor{black} %</book|report> % \end{macrocode} -% \end{macro}^^A \tud@color@chapterpage -% \end{macro}^^A \tud@color@chapterfont -% \end{macro}^^A \tud@color@parthead -% \end{macro}^^A \tud@color@partpage -% \end{macro}^^A \tud@color@partfont +% \end{macro}^^A \tud@chapter@fontcolor +% \end{macro}^^A \tud@part@fontcolor % \begin{KOMAfont}{tud@heading} % \changes{v2.02}{2014/08/24}{entfernt}%^^A % \begin{KOMAfont}{parttitle} -% \begin{macro}{\tud@font@heading} -% \begin{macro}{\tud@font@heading@size} +% \changes{v2.02}{2014/08/24}{neu}%^^A % \begin{macro}{\tud@font@heading@numsize} % \changes{v2.02}{2014/08/24}{entfernt}%^^A % \begin{macro}{\tud@font@part} @@ -571,20 +598,11 @@ % \changes{v2.02}{2014/06/23}{entfernt}%^^A % \begin{macro}{\tud@font@chapter} % \changes{v2.02}{2014/08/24}{entfernt}%^^A -% Mit \cs{tud@font@heading} wird die Schriftart für Überschriften definiert. -% Falls die Schriftarten des \CDs installiert wurden, wird DIN-Bold verwendet, -% sonst die Standardüberschriften. -% \begin{macrocode} -\newcommand*\tud@font@heading{% - \if@tud@din\dinbn\tud@raggedright\else\tud@RaggedRight\fi% -} -\newcommand*\tud@font@heading@size{\Huge} -% \end{macrocode} -% Anschließend wird das Schriftelement für die Option \opt{parttitle} erstellt. +% Es wird das Schriftelement für die Option \opt{parttitle} erstellt. % \begin{macrocode} \newkomafont{parttitle}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } % \end{macrocode} @@ -593,8 +611,6 @@ % \end{macro}^^A \tud@font@part@number % \end{macro}^^A \tud@font@part % \end{macro}^^A \tud@font@heading@numsize -% \end{macro}^^A \tud@font@heading@size -% \end{macro}^^A \tud@font@heading % \end{KOMAfont}^^A parttitle % \end{KOMAfont}^^A tud@heading % \begin{length}{\pageheadingsvskip} @@ -610,11 +626,34 @@ % Kapiteln oder aber die des Titelkopfes (\opt{titlepage=false}) verschoben, % bei denen nach der Überschrift direkt der Fließtext folgt. % \begin{macrocode} -\newlength{\pageheadingsvskip} -\newlength{\headingsvskip} +\newlength\pageheadingsvskip +\newlength\headingsvskip % \end{macrocode} % \end{length}^^A \headingsvskip % \end{length}^^A \pageheadingsvskip +% \begin{macro}{\tud@headmidvskip} +% \changes{v2.03}{2015/01/21}{neu}%^^A +% \begin{macro}{\tud@headmidvskip@neg} +% \changes{v2.03}{2015/01/21}{neu}%^^A +% Mit \cs{tud@headmidvskip} wird der Abstände zwischen Nummerierung eines +% Titels und der eigentlichen Bezeichnung gesetzt. Das gleiche gilt für eine +% separate Kapitelnummernzeile (\opt{chapterprefix}) und dem eigentlichen +% Kapiteltitel. Das Makro \cs{tud@headmidvskip@neg} wird benötigt, um ggf. +% vorher um den eingefügten Abstand nach oben zu verschieben. +% \begin{macrocode} +%<*article> +\newcommand*\tud@headmidvskip{\par\nobreak} +%</article> +%<*book|report> +\newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}} +\newcommand*\tud@headmidvskip@neg{% + \setbox0\vbox{\tud@headmidvskip}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht0\relax}% +} +%</book|report> +% \end{macrocode} +% \end{macro}^^A \tud@headmidvskip@neg +% \end{macro}^^A \tud@headmidvskip % \begin{macro}{\tud@layout@process} % \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}%^^A % Dieser Befehl kümmert sich darum, dass die gewählten Optionen für den @@ -627,10 +666,10 @@ % Die Einstellungen für die Umschlagseite. Je nachdem, ob das \CD verwendet % wird, wird der Satzspiegel standardmäßig umgestellt oder eben nicht. % \begin{macrocode} - \ifcase \tud@layout@cover\relax% - \stdbool@lock{@tud@cover@cdlayout}{false}% + \ifcase\tud@layout@cover\relax% + \bool@std@lock{@tud@cover@cdgeometry}{false}% \else% - \stdbool@lock{@tud@cover@cdlayout}{true}% + \bool@std@lock{@tud@cover@cdgeometry}{true}% \fi% % \end{macrocode} % Die Einstellungen für den Titel. Vor dessen Umstellung werden die relevanten @@ -638,7 +677,7 @@ % später gegebenenfalls mit \cs{tud@cmd@restore}\marg{Befehl} wiederhergestellt % werden können. % \begin{macrocode} - \ifcase \tud@layout@title\relax% + \ifcase\tud@layout@title\relax% \tud@cmd@restore{maketitle}% \tud@cmd@restore{@maketitle}% \tud@cmd@restore{titlepagestyle}% @@ -658,18 +697,18 @@ \usekomafont{disposition}% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subtitle}{% \tud@font@heading% \usesizeofkomafont{section}% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subject}{% \fontfamily{\sfdefault}% \fontseries{\bfdefault}% \selectfont% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{author}{\usekomafont{subject}}% \tud@font@koma@set{date}{\usekomafont{titlepage}}% @@ -680,7 +719,7 @@ % \end{macrocode} % Das gleiche für die Teileseiten. % \begin{macrocode} - \ifcase \tud@layout@part\relax% + \ifcase\tud@layout@part\relax% \tud@cmd@restore{partheadstartvskip}% \tud@cmd@restore{partheadmidvskip}% %<*book|report> @@ -721,13 +760,13 @@ \else% \tud@sectioning@set[addpart]{part}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% \tud@font@koma@set{partnumber}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% - \renewcommand*\partheadmidvskip{\par\nobreak\vspace{.5\baselineskip}}% + \let\partheadmidvskip\tud@headmidvskip% \fi% %</book|report> % \end{macrocode} @@ -736,13 +775,13 @@ %<*article> \tud@sectioning@set[addpart]{part}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% \tud@font@koma@set{partnumber}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% - \renewcommand*\partheadmidvskip{\par\nobreak\vskip.3\baselineskip}% + \let\partheadmidvskip\tud@headmidvskip% %</article> % \end{macrocode} % Einigen Makros werden mittels \cs{let} Definitionen von anderen Makros @@ -756,7 +795,7 @@ \let\partheadstartvskip\tud@partheadstartvskip% %<*book|report> \let\partheadendvskip\tud@partheadendvskip% - \renewcommand*\partheademptypage{}% + \let\partheademptypage\relax% \renewcommand*\partpagestyle{plain.tudheadings}% %</book|report> \let\@part\tud@@part% @@ -773,10 +812,10 @@ % Teileseiten. % \begin{macrocode} %<*article> - \ifcase \tud@layout@part\relax% + \ifcase\tud@layout@part\relax% %</article> %<*book|report> - \ifcase \tud@layout@chapter\relax% + \ifcase\tud@layout@chapter\relax% \tud@cmd@restore{chapterheadstartvskip}% \tud@cmd@restore{chapterformat}% \tud@cmd@restore{@chapter}% @@ -803,7 +842,7 @@ \tud@sectioning@set[addchap]{chapter}{% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@chapterfont}% + \color{\tud@chapter@fontcolor}% }% \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% %</book|report> @@ -821,18 +860,12 @@ \fi% } % \end{macrocode} -% Die beteiligten Optionen führen den Befehl nur nach der Präambel aus. Um die -% Grundeinstellungen zu Beginn des Dokumentes umzusetzen, werden die Befehle -% am Ende der Präambel einmalig ausgeführt. -% \begin{macrocode} -\AtEndPreamble{% - \let\tud@font@heading@size\size@part% - \tud@layout@process% -} -% \end{macrocode} % \end{macro}^^A \tud@layout@process % \begin{macro}{\tud@partheadstartvskip} % \changes{v2.02}{2014/11/05}{Nutzung der Option \opt{parttitle} verbessert}%^^A +% \changes{v2.03}{2015/01/21}{Bei Verwendung der Option \opt{parttitle}: +% Abstand ist identisch zu Untertitel auf Titelseite}%^^A +% \begin{macro}{\partheadstartvskip} % Dieses Makro ersetzt den Standardbefehl \cs{partheadstartvskip} für die % CD-Teilseiten. Damit lassen sich insbesondere die Farbanpassungen für alle % Klassen sowie die Option \opt{parttitle} für \cls{tudscrreprt}- und @@ -846,9 +879,9 @@ \newcommand*\tud@partheadstartvskip{} \let\tud@partheadstartvskip\partheadstartvskip% \pretocmd{\tud@partheadstartvskip}{% - \def\tud@color@partfont{black}% - \ifcase \tud@layout@part\relax\or\or% - \def\tud@color@partfont{HKS41}% + \def\tud@part@fontcolor{black}% + \ifcase\tud@layout@part\relax\or\else% + \def\tud@part@fontcolor{HKS41}% \fi% }{}{\tud@patch@wrn{tud@partheadstartvskip}} %</article> @@ -858,21 +891,20 @@ % \begin{macrocode} %<*book|report> \newcommand*\tud@partheadstartvskip{% - \def\tud@color@partfont{black}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{black}% - \ifcase \tud@layout@part\relax\or\or% - \def\tud@color@partfont{HKS41}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{HKS41}% + \def\tud@part@fontcolor{black}% + \ifcase\tud@layout@part\relax\or\or% + \def\tud@part@fontcolor{HKS41}% + \or% + \def\tud@part@fontcolor{HKS41}% \or% - \def\tud@color@partpage{HKS41}% - \def\tud@color@partfont{HKS41!30}% - \def\tud@color@parthead{white}% + \def\tud@part@fontcolor{HKS41!30}% + \or% + \def\tud@part@fontcolor{HKS41!30}% \fi% \begingroup% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% @@ -885,22 +917,28 @@ \begingroup% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \ifx\@@title\@empty% \tud@makeuppercase{\strut}% \else% \tud@makeuppercase{\@@title}% \fi% - \par\nobreak\vskip .775\baselineskip% +% \end{macrocode} +% Der Titel des Teils wird auf der gleichen Höhe wie der Untertitel auf der +% Titelseite ausgegeben. +% \begin{macrocode} + \par\nobreak + {\usekomafont{titlepage}\vskip 2ex\@plus1ex\@minus1ex}% \endgroup% \else% \usekomafont{partnumber}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \tud@headmidvskip@neg% \fi% \endgroup% } %</book|report> % \end{macrocode} +% \end{macro}^^A \partheadstartvskip % \end{macro}^^A \tud@partheadstartvskip % % \iffalse @@ -918,9 +956,24 @@ % \begin{macrocode} \newcommand*\tud@partheadendvskip{% \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@partpage}% - \def\tud@head@color{\tud@color@parthead}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@part\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@part@fontcolor}}% \clearpage% }% } @@ -935,6 +988,8 @@ % \fi % % \begin{macro}{\tud@@part} +% \changes{v2.03}{2015/01/21}{Korrektur bei der Position der Überschrift}%^^A +% \begin{macro}{\@part} % Damit auch das Präfix der Teile in Majuskeln erscheint, wird dem Befehl % \cs{partformat}, welcher das Präfix enthält, für die \cls{tudscrartcl}-Klasse % der entsprechende Befehl vorangestellt. @@ -943,7 +998,7 @@ \let\tud@@part\@part \patchcmd{\tud@@part}% {\size@partnumber{\partformat}}% - {\size@partnumber{\tud@makeuppercase\partformat}}% + {\size@partnumber{\tud@makeuppercase{\partformat}}}% {}{\tud@patch@wrn{@part}}% %</article> % \end{macrocode} @@ -961,14 +1016,18 @@ }{}% }{% \ifnumbered{part}{% - \size@partnumber{\tud@makeuppercase\partformat}% + \size@partnumber{\tud@makeuppercase{\partformat}}% + \partheadmidvskip% }{% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \partheadmidvskip% + \fi% }% - \unskip\partheadmidvskip% }{}{\tud@patch@wrn{@part}}% %</book|report> % \end{macrocode} +% \end{macro}^^A \@part % \end{macro}^^A \tud@@part % % \iffalse @@ -976,6 +1035,7 @@ % \fi % % \begin{macro}{\tud@@spart} +% \begin{macro}{\@spart} % Bei den Teile-Befehlen ohne Gliederungsnummerierung muss zusätzlich der % Freiraum vorgehalten werden, damit alle Überschriften auf der gleichen % vertikalen Position liegen. @@ -986,11 +1046,14 @@ \sectfont\nobreak\size@part }{% \normalfont\sectfont\nobreak% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \fi% \partheadmidvskip\unskip% \size@part% }{}{\tud@patch@wrn{@spart}} % \end{macrocode} +% \end{macro}^^A \@spart % \end{macro}^^A \tud@@spart % \begin{macro}{\tud@partpreamble} % Um die \KOMAScript-Befehle für die Teilepräambel auch für das farbige Layout @@ -1003,9 +1066,9 @@ \newcommand*\tud@partpreamble{% \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% \KOMAoptions{titlepage=false}% - \addtokomafont{disposition}{\color{\tud@color@partfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@partfont}}% - \color{\tud@color@partfont}% + \addtokomafont{disposition}{\color{\tud@part@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@part@fontcolor}}% + \color{\tud@part@fontcolor}% % \end{macrocode} % Hiermit wird der unterschiedliche Abstand bei Teil- und Kapitelpräambeln % ausgeglichen. @@ -1023,17 +1086,18 @@ % für die jeweilig gewählte Option ausgewählt. % \begin{macrocode} \newcommand*\tud@chapterheadstartvskip{% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{black}% - \ifcase \tud@layout@chapter\relax\or\or% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{HKS41}% - \or% - \def\tud@color@chapterpage{HKS41!10}% - \def\tud@color@chapterfont{HKS41}% + \def\tud@chapter@fontcolor{black}% + \ifcase\tud@layout@chapter\relax\or\else% + \def\tud@chapter@fontcolor{HKS41}% \fi% - \vspace*{% - \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + \ifcsdef{scr@v@3.15}{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax% + }% + }{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% }% \if@tud@chapterpage% \vspace*{\pageheadingsvskip}% @@ -1044,38 +1108,64 @@ % \end{macrocode} % \end{macro}^^A \tud@chapterheadstartvskip % \begin{macro}{\tud@@@makechapterhead} -% Damit das Präfix des Kapitels bei der gegebenenfalls aktivierten Option -% \opt{chapterprefix} in Majuskeln erscheint, wird dem Befehl -% \cs{chapterformat}, welcher das Präfix enthält, der entsprechende Befehl -% vorangestellt. Außerdem muss die Überschrift bei aktivierter -% \opt{chapterprefix}-Option um die Höhe des Präfixes nach oben verschoben -% werden, damit die Überschrift selbst auf der richtigen Höhe liegt. +% \begin{macro}{\@@makechapterhead} +% Für das Präfix des Kapitels bei der gegebenenfalls aktivierten Option +% \opt{chapterprefix} ist einiges an Anpassungen notwendig, um die eigentliche +% Überschrift auf der gewünschten Position erscheinen zu lassen. +% +% Zunächst muss die Überschrift um die Höhe des Präfixes nach oben verschoben +% werden. Der Befehl \cs{chapterformat} enthält das Präfix slbst. Damit dieses +% in Majuskeln erscheint, wird \cs{chapterformat} im Argument des Makros +% \cs{tud@makeuppercase} verwendet. Zuletzt wird der Abstand zwischen Präfix +% und Kapiteltitel auf \cs{tud@headmidvskip} gesetzt. Weiterhin wird die Länge +% \cs{parskip} auf \cs{z@} gesetzt, damit die Überschriften für alle +% Einstellmöglichkieten der \opt{parskip}-Option immer auf exakt der selben +% Höhe liegen und auch die Abstände zwischen den ggf. genutzten Präfixen +% identisch sind. +% +% Da der Quelltext sich bei \KOMAScript~v3.15 stark geändert hat, wird der +% Befehl \cs{@@makechapterhead} versionsabhängig angepasst. % \begin{macrocode} \newcommand*\tud@@@makechapterhead{} \let\tud@@@makechapterhead\@@makechapterhead -\patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% - \chapterheadstartvskip% - \if@chapterprefix% - \begingroup% - \usekomafont{chapterprefix}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% - \endgroup% - \fi% -}{}{\tud@patch@wrn{@@makechapterhead}} -\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% - \tud@makeuppercase{\chapterformat}% -}{}{\tud@patch@wrn{@@makechapterhead}} % \end{macrocode} -% Weiterhin müssen alle vertikalen Abstände gelöscht werden, damit die -% Überschriften für alle Einstellungen der \opt{parskip}-Option immer auf -% exakt der selben Höhe liegen und auch die Abstände zwischen den ggf. -% genutzten Präfixen identisch sind. +% Die Patches für \KOMAScript~v3.15. % \begin{macrocode} -\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{% - \setlength{\parskip}{\z@}% - \size@chapter{#1}% -}{}{\tud@patch@wrn{@@makechapterhead}} +\ifcsdef{scr@v@3.15}{% + \patchcmd{\tud@@@makechapterhead}{\chapterformat\chapterheadmidvskip}{% + \tud@headmidvskip@neg% + \tud@makeuppercase{\chapterformat}\tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{% + \IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}% + }{}{\tud@patch@wrn{@@makechapterhead}} % \end{macrocode} +% Die Patches für \KOMAScript~v3.14 und früher. +% \begin{macrocode} +}{% + \patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \ifnumbered{chapter}{% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \tud@headmidvskip@neg% + \endgroup% + \fi% + }{}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \tud@makeuppercase{\chapterformat}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\endgraf\nobreak\vskip.5\baselineskip}{% + \tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\interlinepenalty}{% + \ifnumbered{chapter}{\setlength\parskip{\z@}}{}\interlinepenalty + }{}{\tud@patch@wrn{@@makechapterhead}} +} +% \end{macrocode} +% \end{macro}^^A \@@makechapterhead % \end{macro}^^A \tud@@@makechapterhead % \begin{macro}{\tud@chapterpreamble} % Um die \KOMAScript-Befehle für die Kapitelpräambel auch für das farbige Layout @@ -1090,21 +1180,20 @@ % Die Farb- und Schrifteinstellungen sind nur für reine Kapitelseiten notwendig. % \begin{macrocode} \if@tud@chapterpage% - \if@tud@cdfonts% - \if@tud@heavyfont% - \TUDoptions{cdfont=heavy}% - \else% - \TUDoptions{cdfont=true}% - \fi% + \ifcase\tud@cdfont\relax\or% + \TUDoptions{cdfont=true}% + \or% + \TUDoptions{cdfont=heavy}% \fi% - \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% - \color{\tud@color@chapterfont}% + \addtokomafont{disposition}{\color{\tud@chapter@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@chapter@fontcolor}}% + \color{\tud@chapter@fontcolor}% \fi% \@afterindentfalse\@afterheading% } % \end{macrocode} % \end{macro}^^A \tud@chapterpreamble +% \begin{macro}{\set@@@@preamble} % Die beiden Befehle für Präambeln aus \KOMAScript{} ignorieren in ihrer % ursprünglichen Form die Einstellungen für \opt{parskip}. Dies wird mit diesem % Patch beseitigt. Außerdem werden das Makro für die Layouteinstellungen für @@ -1124,6 +1213,7 @@ }% }{}{\tud@patch@wrn{set@@@@preamble}} % \end{macrocode} +% \end{macro}^^A \set@@@@preamble % \begin{macro}{\tud@chapter@pre} % \begin{macro}{\tud@chapter@app} % Diese beiden Makros dienen zur Behandlung der Besonderheiten von spearaten @@ -1132,6 +1222,7 @@ % \begin{macrocode} \newcommand*\tud@chapter@pre{% \if@tud@chapterpage% +% \end{macrocode} % Für den zweispaltigen Satz und aktivierter \opt{chapterpage}-Option muss % für die Kapitelseiten temporär auf einseitigen Satz umgestellt werden, damit % alle Befehle und Einstellungen beim Erzeugen des jeweiligen Kapitels zum @@ -1156,9 +1247,24 @@ % Rückseite beachtet. Umgesetzt wird dies mit \cs{tud@cleardoublespecialpage}. % \begin{macrocode} \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@chapterpage}% - \def\tud@head@color{\tud@color@chapterfont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@chapter\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@chapter@fontcolor}}% \clearpage% }% % \end{macrocode} @@ -1167,10 +1273,10 @@ \if@restonecol\twocolumn\fi% % \end{macrocode} % Sollten keine reinen Kapitelseiten verwendet werden, muss gegebenenfalls im -% Fuß genügend Freiraum für das \DDC-Logo gelassen werden. +% Kompatibilitätsmodus genügend Freiraum für das \DDC-Logo gelassen werden. % \begin{macrocode} \else% - \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}% \fi% % \end{macrocode} % Unabhängig von der Option \opt{chapterpage} wird deim zweispaltigen Layout @@ -1204,26 +1310,31 @@ % \fi % % \begin{macro}{\SecDef} +% \changes{v2.02}{2014/09/12}{neu}%^^A % \begin{macro}{\scr@section@dblarg} +% \changes{v2.02}{2014/09/12}{neu}%^^A % \begin{macro}{\scr@section@xdblarg} -% Diese Befehle werden ab der \KOMAScript-Version~v3.13a eingeführt. Damit +% \changes{v2.02}{2014/09/12}{neu}%^^A +% Diese Befehle werden ab der \KOMAScript-Version~v3.14 eingeführt. Damit % werden obligatorische Argumente der Gliederungsebenen besser auf das % optionale Argument dupliziert, falls dieses nicht angegeben wurde. Damit das % auch mit der Version~v3.12 funktioniert, werden die entsprechenden Befehle % hier bereitgehalten. % \begin{macrocode} -\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} -\providecommand\scr@section@dblarg[1]{% - \kernel@ifnextchar[%] - {#1}% - {\scr@section@xdblarg{#1}}% -} -\providecommand\scr@section@xdblarg[2]{% - \begingroup - \edef\reserved@a{% - \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% - {\scr@osectarg}}% - \reserved@a +\ifcsdef{scr@v@3.14}{}{% + \providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} + \providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% + } + \providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a + } } % \end{macrocode} % \end{macro}^^A \scr@section@xdblarg @@ -1367,7 +1478,7 @@ % \begin{macrocode} }{% \tud@sectioning@case{#2}% - \ifstrempty{#1}{}{% + \ifblank{#1}{}{% \tud@cmd@store{#1}% \tud@sectioning@case{#1}% }% @@ -1463,7 +1574,7 @@ % \begin{macrocode} \newcommand*\tud@sectioning@reset[2][]{% \tud@cmd@restore{#2}% - \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \ifblank{#1}{}{\tud@cmd@restore{#1}}% \tud@font@koma@unset{#2}% } % \end{macrocode} @@ -1491,7 +1602,7 @@ % \begin{macrocode} \newcommand*\tud@font@koma@set[2]{% \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% - \@namedef{tud@font@koma@#1}{#2}% + \@namedef{tud@font@koma@#1}{#2\nobreak}% } % \end{macrocode} % Durch die Option \opt{headings} werden die Schriftelemente zurückgesetzt. diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx index 96d43819ce8..74c1a93d1ee 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx @@ -1,29 +1,33 @@ % \CheckSum{549} % \iffalse meta-comment -% ====================================================================== -% -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ +% % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-locale.dtx}[% - 2014/11/11 v2.02 TUD-KOMA-Script (localization)% + 2015/01/24 v2.03 TUD-KOMA-Script (localization)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} @@ -69,8 +73,6 @@ % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A -% \changes{v2.02}{2014/11/05}{Korrekturen bei der Verwendung von -% \cs{@@title}}%^^A % % \section{Lokalisierung} % @@ -112,10 +114,12 @@ % \begin{locale}{\abstractname} % \begin{locale}{\confirmationname} % \begin{locale}{\confirmationtext} +% \changes{v2.02}{2014/11/05}{Korrektur bei der Verwendung von \cs{@@title}}%^^A % \begin{locale}{\blockingname} % \changes{v2.02}{2014/05/16}{neu, \cs{restrictionname} umbenannt}%^^A % \begin{locale}{\blockingtext} % \changes{v2.02}{2014/05/16}{neu, \cs{restrictiontext} umbenannt}%^^A +% \changes{v2.02}{2014/11/05}{Korrektur bei der Verwendung von \cs{@@title}}%^^A % \begin{locale}{\listingname} % \begin{locale}{\listlistingname} % \begin{locale}{\dissertationname} diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx index 392573d872d..2a59e7932e8 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx @@ -1,29 +1,33 @@ -% \CheckSum{2611} +% \CheckSum{2750} % \iffalse meta-comment -% ====================================================================== -% -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ +% % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-manual.dtx}[% - 2014/12/17 v2.02 TUD-KOMA-Script\space% + 2015/02/15 v2.03 TUD-KOMA-Script\space% %</driver> %<identify>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<class&identify>\ProvidesClass{tudscrman}[% @@ -78,8 +82,9 @@ % % \selectlanguage{ngerman} % -% \changes{v2.02}{2014/11/18}{Index für Tutorials möglich}%^^A -% \changes{v2.02}{2014/12/17}{xindy-Stildatei wird zur Laufzeit erzeugt}%^^A +% \changes{v2.02}{2014/11/18}{\cls{tudscrman} Index für Tutorials möglich}%^^A +% \changes{v2.02}{2014/12/17}{\cls{tudscrman} xindy-Stildatei wird bei der +% Kompilierung erzeugt}%^^A % % \section{Klasse und Paket für die Anwenderdokumentation von \TUDScript} % @@ -136,10 +141,23 @@ % \end{macrocode} % Das Paket \pkg{microtype} wird für den optischen Randausgleich verwendet. % \begin{macrocode} -\RequirePackage[babel]{microtype}[2013/05/23] +\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} +% \end{macrocode} +% \begin{length}{\baselineskipglue} +% Diese Länge wird in der Dokumentation für alle möglichen stauch- und +% dehnbaren Einfügen genutzt. +% \begin{macrocode} +\newlength\baselineskipglue +\AtBeginDocument{% + \setlength\baselineskipglue{% + .4\baselineskip plus .4\baselineskip minus .2\baselineskip% + }% +} % \end{macrocode} +% \end{length}^^A \baselineskipglue % Verbesserte Zitate. % \begin{macrocode} +\PassOptionsToPackage{vskip=.5\baselineskipglue}{quoting} \RequirePackage{quoting}[2014/01/28] % \end{macrocode} % Automatisierte Datumsformatierung. @@ -200,12 +218,13 @@ \RequirePackage{ifplatform}[2010/10/22] % \end{macrocode} % Das Paket \pkg{hyperref} wird für alle möglichen Links und Querverweise -% geladen. +% geladen, \pkg{bookmark} verbesssert das Erstellen der Outline-Einträge. % \begin{macrocode} -\PassOptionsToPackage{hyperindex=false}{hyperref} -\AtEndPreamble{% +\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref} +\PassOptionsToPackage{open,openlevel=0}{bookmark} +\AtBeginDocument{% \RequirePackage{hyperref}[2012/11/06] - \hypersetup{colorlinks,linkcolor=blue} + \RequirePackage{bookmark}[2011/12/02] % \end{macrocode} % Es folgen einige Befehle, die an das Paket \pkg{hyperref} gekoppelt sind. % \begin{macro}{\Email} @@ -267,7 +286,7 @@ \NewDocumentCommand\manualhyperdef{st'm}{% \IfBooleanTF{#2}{% \raisebox{4\baselineskip}[0pt][0pt]{\hyperdef{\jobname}{#3}{}}% - \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax% \@afterindentfalse\@afterheading% }{% \Hy@raisedlink{\hyperdef{\jobname}{#3}{}}% @@ -304,7 +323,8 @@ %<*package> level=\subsection*,% %</package> - noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname}% + noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},% + othercode={\renewcommand*\subitem{\@idxitem\hspace*{15\p@}}}% } \newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din} % \end{macrocode} @@ -346,9 +366,8 @@ % für angehängte \enquote{f.} sowie \enquote{ff.} einstellen. Diese würden % deshalb bei kursiven oder fetten Seitenzahlen trotzdem in normaler Schrift % erscheinen, weshalb auf die Auszeichnung folgender Seiten verzichtet wird. -% \begin{macrocode} -%\write\tud@write@i{(require "ff-ranges.xdy")} -% \end{macrocode} +%^^A\write\tud@write@i{(require "ff-ranges.xdy")} +% % Seitenbereiche werden sofort zusammengefasst, wobei als Trennzeichen ein % Halbgeviertstrich verwendet wird. % \begin{macrocode} @@ -369,30 +388,28 @@ % selbst, nicht jedoch die Argumente verworfen werden. Leider werden die % manuell erstellten RegExp-Regeln durch \texttt{texindy} zu spät genutzt % (\url{http://sourceforge.net/p/xindy/bugs/22/}). -% \begin{macrocode} -%\write\tud@write@i{(merge-rule "\\hyperindex\{(.*)\}\{(.*)\}" "/2" :eregexp)} -%\write\tud@write@i{(merge-rule "\\hologo\{(.*)\}" "/1" :eregexp)} -%\write\tud@write@i{(merge-rule "\\texttt\{(.*)\}" "/1" :eregexp)} -%\write\tud@write@i{(merge-rule "\\textsbn\{(.*)\}" "/1" :eregexp)} -%\write\tud@write@i{(merge-rule "\\textsbs\{(.*)\}" "/1" :eregexp)} -% \end{macrocode} +%^^A\write\tud@write@i{(merge-rule "\\hyperidx\{(.*)\}\{(.*)\}" "/2" :eregexp)} +%^^A\write\tud@write@i{(merge-rule "\\hologo\{(.*)\}" "/1" :eregexp)} +%^^A\write\tud@write@i{(merge-rule "\\texttt\{(.*)\}" "/1" :eregexp)} +%^^A\write\tud@write@i{(merge-rule "\\textsbn\{(.*)\}" "/1" :eregexp)} +%^^A\write\tud@write@i{(merge-rule "\\textsbs\{(.*)\}" "/1" :eregexp)} +% % Es werden die Attribute \emph{declare} mit der Abkürzung \emph{!} sowie % \emph{important} mit der Abkürzung \emph{?} und \emph{default} definiert, % welche hierarchisch gleichgestellt sind. % \begin{macrocode} \write\tud@write@i{% - (define-attributes (("declare" "!" "important" "?" "default")))% + (define-attributes (("declare" "!" "important" "?" "deprecated" "default")))% } % \end{macrocode} % Eine Alternative wäre, diese in der Hierarchie zu unterscheiden, allerdings % war eine Bildung von zufriedenstellenden Seitenbereichen dabei nicht möglich % und wurde deshalb verworfen. -% \begin{macrocode} -%\write\tud@write@i{(markup-attribute-group-list :sep ", ")} -%\write\tud@write@i{% -%\space\space(define-attributes (("declare" "!") ("important" "?")("default")))% -%} -% \end{macrocode} +%^^A\write\tud@write@i{(markup-attribute-group-list :sep ", ")} +%^^A\write\tud@write@i{% +%^^A(define-attributes (("declare" "!") ("important" "?")("default")))% +%^^A} +% % Einträge, die als wichtig deklariert wurden, können auch für normale zur % Bereichsbildung verwendet werden. % \begin{macrocode} @@ -439,6 +456,20 @@ )% } % \end{macrocode} +% Für die Änderungsliste wird ein separates Attribut erstellt. Mit diesem wird +% es möglich, die Seitenangabe für Optionen und Befehle zu unterdrücken, welche +% aus \TUDScript entfernt oder veraltet wurden, wenn mit \cs{Replace} eine +% Alternative eingeführt wurde. Dafür wird der Befehl \cs{deprecatedhyperpage} +% verwendet, welcher im Bedarfsball auf \cs{@gobble} gesetzt wird. +% \begin{macrocode} +\write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\deprecatedhyperpage{"^^J% +\space\space :close "}"^^J% +\space\space :attr "deprecated"^^J% +)% +} +% \end{macrocode} % Punkte zwischen Eintrag und Seitenzahl. % \begin{macrocode} \write\tud@write@i{% @@ -581,13 +612,26 @@ % \changes{v2.02}{2014/07/10}{neu}%^^A % \begin{macro}{\if@tud@todo} % \changes{v2.02}{2014/07/10}{neu}%^^A +% \begin{macro}{\tud@todo@type} +% \changes{v2.03}{2015/01/25}{neu}%^^A % Diese Option ist verantwortlich für den Schalter \cs{if@tud@todo}. Über % diesen wird gesteuert, ob ToDo-Notizen ausgegeben werden sollen. % \begin{macrocode} \newif\if@tud@todo \@tud@todotrue -\TUD@ifkey{ToDo}{@tud@todo} +\newcommand*\tud@todo@type{} +\TUD@key{ToDo}[true]{% + \TUD@set@ifkey{ToDo}{@tud@todo}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \let\tud@todo@type\relax% + \else% + \def\tud@todo@type{#1}% + \@tud@todotrue% + \FamilyKeyStateProcessed% + \fi% +} % \end{macrocode} +% \end{macro}^^A \tud@todo@type % \end{macro}^^A \if@tud@todo % \end{option}^^A ToDo % @@ -605,7 +649,7 @@ headings=optiontoheadandtoc,% captions=tableheading,% numbers=noenddot,% - color=true,% + cd=color,% }{\tudinh@name} \PassOptionsToPackage{automark}{scrlayer-scrpage} % \end{macrocode} @@ -619,7 +663,10 @@ \DeclareOption{print}{\let\tudprintflag\relax} \AtBeginDocument{% \ifdef{\tudfinalflag}{\TUDoptions{ToDo=false}}{}% - \ifdef{\tudprintflag}{\hypersetup{hidelinks}\TUDoptions{color=no}}{}% + \ifdef{\tudprintflag}{% + \TUDoptions{color=no}% + \PassOptionsToPackage{hidelinks}{hyperref}% + }{}% } % \end{macrocode} % \end{macro}^^A \tudprintflag @@ -677,23 +724,27 @@ % \begin{macro}{\PValue} % \begin{macro}{\PParameter} % \begin{macro}{\POParameter} +% \begin{macro}{\textOR} +% \changes{v2.02}{2015/01/25}{neu}%^^A % Diese Befehle dienen zum Auszeichnen von obligatorischen und optionalen % Parametern und Befehlen oder bestimmten Wertzuweisungen. % \begin{macrocode} +\newrobustcmd*\textOR{\,\textbardbl\,} \newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}} \newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}} -\newrobustcmd*\PBName[1]{\PBoolean|\PName{#1}} +\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}} \newrobustcmd*\PSet{\PName{Einstellung}} \newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}} \newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}} \newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}} \newrobustcmd*\OLParameter[1]{% - \mbox{\texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]}}% + \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}% } \newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}} \newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}} \newrobustcmd*\POParameter[1]{\mbox{\texttt{[#1]}}} % \end{macrocode} +% \end{macro}^^A \textOR % \end{macro}^^A \POParameter % \end{macro}^^A \PParameter % \end{macro}^^A \PValue @@ -721,22 +772,22 @@ \newrobustcmd*\hypertut[2]{% \hyperref{tutorials/#1.pdf}{\jobname}{tutorials:#1}{\textsbn{#1.pdf}#2}% } -\NewDocumentCommand\Tutorial{som}{% +\NewDocumentCommand\Tutorial{smd||}{% \ifnum\pdfshellescape=1\relax% % \end{macrocode} % Um mit den verschachtelten Aufrufen von pdf\LaTeX{} umgehen zu können, wird % das ganze Prozedere in ein Skript ausgelagert. Somit können die Aufrufe von % pdf\LaTeX{} für die Tutorials im entsprechenden Ordner erfolgen. % \begin{macrocode} - \filemodCmp{tutorials/#3.pdf}{tutorials/#3.tex}{}{% + \filemodCmp{tutorials/#2.pdf}{tutorials/#2.tex}{}{% \immediate\openout\tud@write@i=tutorials.sh% \immediate\write\tud@write@i{% cd tutorials^^J% - pdflatex -shell-escape #3^^J% - biber #3^^J% - makeglossaries #3^^J% - pdflatex #3^^J% - pdflatex #3% + pdflatex -shell-escape #2^^J% + biber #2^^J% + makeglossaries #2^^J% + pdflatex #2^^J% + pdflatex #2% }% \immediate\closeout\tud@write@i% % \end{macrocode} @@ -755,14 +806,14 @@ % \end{macrocode} % Hyperlink und Indexeintrag. % \begin{macrocode} - \IfFileExists{tutorials/#3.pdf}{% - \hypertut{#3}{}% + \IfFileExists{tutorials/#2.pdf}{% + \hypertut{#2}{}% }{% - \textsbn{#3.pdf}% + \textsbn{#2.pdf}% \tud@shellescape@wrn% }% \IfBooleanF{#1}{% - \index[files]{\hypertut{#3}{~{\idxfont(Tutorial)}\IfValueT{#2}{|#2}}}% + \index[files]{\hypertut{#2}{~{\idxfont(Tutorial)}}\IfValueT{#3}{|#3}}% }% } %</class> @@ -828,6 +879,7 @@ % % \begin{macro}{\ToDo} % \changes{v2.02}{2014/07/10}{Verwendung von \pkg{todonotes}}%^^A +% \changes{v2.03}{2015/01/25}{Ausgabe auf bestimmten Typ beschränkbar}%^^A % \begin{macro}{\@ToDo} % \changes{v2.02}{2014/07/10}{neu}%^^A % \begin{macro}{\ListOfToDo} @@ -872,23 +924,34 @@ }% % \end{macrocode} % Damit die Randnotiz nicht verrutscht, wird \cs{marginnote} anstelle von -% \cs{marginpar} verwendet. Außerdem ist eine Verschiebung um den durch -% \pkg{todonotes} definierten Leerraum notwendig. +% \cs{marginpar} verwendet. % \begin{macrocode} - \renewcommand*\marginpar[2][]{\marginnote[##1]{##2}[\dimexpr-1.6ex+1pt]}% - \vskip.8ex% + \renewcommand*\marginpar[2][]{% + \marginnote[##1]{##2}[\dimexpr-1.6ex+1pt\relax]% + }% % \end{macrocode} -% hier erfolgt die Ausgabe. +% Die Ausgabe erfolgt entweder für alle ToDo-Notizen oder nur den per Option +% festgelegten Typ. % \begin{macrocode} - \IfValueT{#4}{% - \settowidth\marginparwidth{#4}% - \addtolength\marginparwidth{\dimexpr1.6ex+1pt}% - \let\par\relax\noindent% - \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% - \@tempa{#4}% - }% - \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% - \@tempa{#3}% + \@tempswafalse + \ifdefvoid{\tud@todo@type}{\@tempswatrue}{}% + \IfValueT{#2}{\ifstr{#2}{\tud@todo@type}{\@tempswatrue}{}}% +% \end{macrocode} +% Vor der Ausgabe ist eine vertikale Verschiebung um den durch \pkg{todonotes} +% definierten Leerraum notwendig. +% \begin{macrocode} + \if@tempswa% + \vskip.8ex% + \IfValueT{#4}{% + \settowidth\marginparwidth{#4}% + \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}% + \let\par\relax\noindent% + \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% + \@tempa{#4}% + }% + \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% + \@tempa{#3}% + \fi% \endgroup% \par\noindent% }{}% @@ -917,16 +980,6 @@ \newrobustcmd*\bsc{\@backslashchar} % \end{macrocode} % \end{macro}^^A \bsc -% \begin{length}{\baselineskipglue} -% Diese Länge wird in der Dokumentation für alle möglichen stauch- und -% dehnbaren Einfügen genutzt. -% \begin{macrocode} -\newlength\baselineskipglue -\setlength\baselineskipglue{% - .4\baselineskip plus .4\baselineskip minus .2\baselineskip% -} -% \end{macrocode} -% \end{length}^^A \baselineskipglue % \begin{macro}{\tud@shellescape@wrn} % \changes{v2.02}{2014/10/14}{neu}%^^A % Dieses Makro wird verwendet, wenn eine gesuchte Datei nicht gefunden wurde, @@ -1426,10 +1479,10 @@ \@afterindentfalse\@afterheading% \IfBooleanTF{#1}{% \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}% - \setlength{\@tempdimc}{-.7\baselineskip}% + \setlength\@tempdimc{-.7\baselineskip}% \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx}% }{% - \setlength{\@tempdimc}{\z@}% + \setlength\@tempdimc{\z@}% \begin{tabular}{lll}\@TermTable\end{tabular}% }% \let\@termlist\relax% @@ -1549,7 +1602,7 @@ % \begin{macro}{\if@stareddeclare} % \changes{v2.02}{2014/10/09}{neu}%^^A % \begin{macro}{\if@openindex} -% \begin{macro}{\if@noindex} +% \begin{macro}{\if@deprecated} % Dies sin ein paar Hilfsmakros zur Steuerung des Markup sowie der Ausgabe von % Deklarationen, Index und Änderungsliste, welche bei den nächsten Befehlen und % Umgebungen genutzt werden. @@ -1557,9 +1610,9 @@ \newif\if@declare \newif\if@stareddeclare \newif\if@openindex -\newif\if@noindex +\newif\if@deprecated % \end{macrocode} -% \end{macro}^^A \if@noindex +% \end{macro}^^A \if@deprecated % \end{macro}^^A \if@openindex % \end{macro}^^A \if@stareddeclare % \end{macro}^^A \if@declare @@ -1610,21 +1663,33 @@ the environment `Declaration'% }% }% - \ifx\@IndexFormat\@empty\else% - \ClassWarning{\tudcls@name}{% - It is not possible to use any indexing format\MessageBreak% - like |\@IndexFormat| within the arguments of the\MessageBreak% - environment `Declaration'% +% \end{macrocode} +% Das zu erzeugende Label wird definiert. +% \begin{macrocode} + \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% +% \end{macrocode} +% Für die Deklaration veralteter Optionen, Befehle etc. kann die Sternvariante +% des Auszeichnungsbefehle verwendet werden, um das Erzeugen eines Labels zu +% unterbinden. +% \begin{macrocode} + \if@deprecated% + \expandafter\IfBooleanF\expandafter{\@IndexFormat}{% + \manualhyperdef{\@tempa}% }% - \fi% - \if@noindex\else% - \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% % \end{macrocode} % Wird zur Deklaration die Umgebung \env{Declaration*} genutzt, so wird der % Hyperlink ein ganzes Stück nach oben verschoben. Hintergrund ist, dass diese % Umgebung eigentlich nur zum Deklarieren von Klassen und Paketen gedacht ist % und direkt nach einer Gliederungsüberschrift folgen sollte. % \begin{macrocode} + \else% + \ifx\@IndexFormat\@empty\else% + \ClassWarning{\tudcls@name}{% + It is not possible to use any indexing format\MessageBreak% + like |\@IndexFormat| within the arguments of the\MessageBreak% + environment `Declaration'% + }% + \fi% \if@stareddeclare% \manualhyperdef'{\@tempa}% \else% @@ -1645,7 +1710,7 @@ #1\IfValueT{#2}{#2}% \fi% \else% - \if@noindex\else% + \if@deprecated\else% \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}% \fi% \fi% @@ -1691,6 +1756,7 @@ }% \ifstr{#3}{auto}{\def\@tempb{ in \autoref{\@tempa}}}{}% \ifstr{#3}{page}{\def\@tempb{ \vpageref{\@tempa}}}{}% + \ifstr{#3}{ppage}{\def\@tempb{ \reftextfaraway{\@tempa}}}{}% \ifstr{#3}{full}{\def\@tempb{ in \fullref{\@tempa}}}{}% \ifstr{#3}{none}{% \let\@tempb\relax% @@ -1832,6 +1898,7 @@ % \begin{macro}{\if@additionallist} % \begin{macro}{\@gobbleparameters} % \changes{v2.02}{2014/10/09}{neu}%^^A +% \changes{v2.03}{2015/02/02}{Makro \cs{relax} mit \cs{@empty} ersetzt}%^^A % Es werden einige Hilfsmakros für die Ausgabe einer Deklaration sowie der % dazugehörigen Änderungsliste initialisiert. % \begin{macrocode} @@ -1845,13 +1912,13 @@ \newif\if@additionallist \newcommand*\@gobbleparameters{% \let\PName\@gobble% - \let\PBoolean\relax% + \let\PBoolean\@empty% \let\PBName\@gobble% - \let\PSet\relax% + \let\PSet\@empty% \let\PValue\@gobble% \let\Parameter\@gobble% \let\OParameter\@gobble% - \let\LParameter\relax% + \let\LParameter\@empty% \let\OLParameter\@gobble% \let\PParameter\@gobble% \let\POParameter\@gobble% @@ -1903,9 +1970,11 @@ \@additionallisttrue% \listadd\@additionallist{\hspace*{\tabcolsep}\small(#5)}% \in@{\Environment}{#2}% - \ifin@ \listadd\@additionallist{\tabularnewline}\fi% + \ifin@\listadd\@additionallist{\tabularnewline}\fi% }{% \listadd\@additionallist{\relax}% + \in@{\Environment}{#2}% + \ifin@\listadd\@additionallist{\relax}\listadd\@additionallist{\relax}\fi% }% }{% % \end{macrocode} @@ -1942,15 +2011,46 @@ % optionale Argument kann genutzt werden, um das standardmäßige Atrribut für % die Änderungsliste, welches in \cs{@changedatdeclaredefault} hinterlegt ist, % zu ändern. Dies ist für die normale Version auf \emph{neu} und für die -% Sternversion auf \emph{entfällt} voreingestellt. +% Sternversion auf \emph{entfällt} voreingestellt. Für überholte Einträge in +% der Änderungsliste wird das Indexattribut \enquote{deprecated} angehängt. % \begin{macrocode} \IfBooleanTF{#1}{% - \global\@noindextrue% - \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}}% + \global\@deprecatedtrue% + \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}|deprecated}% }{% - \global\@noindexfalse% + \global\@deprecatedfalse% + }% +% \end{macrocode} +% Das optionale Argument kann verwendet werden, um allen Deklarationen die +% gleiche, nebenstehende Zusatzinformation mitzugeben, falls diese bis dahin +% komplett leer waren. +% \begin{macrocode} + \IfValueT{#2}{% + \if@additionallist% + \ClassWarning{\tudcls@name}{% + It is not possible to use the optional argument\MessageBreak% + of \string\printdeclarationlist due to the given\MessageBreak% + additional information as argument of the\MessageBreak% + environment `Declaration'% + }% + \else% +% \end{macrocode} +% Wurde das optionale Argument angegeben und die Zusatzliste war leer, so wird +% der Schalter \cs{@additionallisttrue} gesetzt. +% \begin{macrocode} + \@additionallisttrue% + \let\@additionallist\relax% + \protected@edef\@tempa{#2}% +% \end{macrocode} +% Die Standardformatierung der Zusatzinformationen. +% \begin{macrocode} + \protected@edef\@tempb{\hspace*{\tabcolsep}\protect\small}% + \def\@tempc##1{% + \listeadd\@additionallist{\expandonce\@tempb(\expandonce\@tempa)}% + }% + \forlistloop\@tempc{\@declarationlist}% + \fi% }% - \IfValueT{#2}{\renewcommand*\@changedatdeclaredefault{\emph{#2}}}% \@declaretrue\@openindextrue% \@afterindentfalse\@afterheading% % \end{macrocode} @@ -2038,7 +2138,7 @@ \NewDocumentEnvironment{Declaration*}{om}{% \@changedatdeclare{#1}{#2}% \@stareddeclaretrue% - \global\@noindexfalse% + \global\@deprecatedfalse% \@declaretrue\@openindextrue#2\@declarefalse% \@stareddeclarefalse% }{% @@ -2048,6 +2148,7 @@ forget to print this list with \string\printchangedatlist?% }% \fi% + \global\@deprecatedfalse% \@gobbleparameters% \@declaretrue\@openindexfalse#2\@declarefalse% } @@ -2074,7 +2175,7 @@ \let\allcolumnpar\@gobble% \begin{tabular}{*{#1}l}\BODY\end{tabular}% \end{lrbox}% - \setlength{\tabularm@wd}{\wd\tabularm@box}% + \setlength\tabularm@wd{\wd\tabularm@box}% \def\tabularm@num{#1}% \let\allcolumnpar\@allcolumnpar% \begin{tabular}{*{#1}l}\BODY\end{tabular}% @@ -2149,7 +2250,7 @@ % optionalen Argument aufgeführt wird. % \begin{macrocode} \newcommand*\tud@@item[1][]{% - \ifstrempty{#1}% + \ifblank{#1}% {\edef\@tempa{\tud@item@val}}% {\ifstr{\tud@item@val}{}% {\edef\@tempa{#1}}% @@ -2167,11 +2268,11 @@ % Der gesicherte Befehl wird mit den aufbereiteten Formatierungen genutzt. % \begin{macrocode} \newcommand*\tud@@@item[1][]{% - \ifstrempty{#1}{}{% + \ifblank{#1}{}{% \ifx\tud@item@add\relax% \def\tud@item@add{#1}% \else% - \apptocmd{\tud@item@add}{~#1}{}{}% + \appto\tud@item@add{~#1}% \fi% }% \item@values[% @@ -2286,22 +2387,31 @@ % Um dem Anwender einen schnellen Überblick zu Änderungen der aktuellen Verison % bereitstellen zu können, werden Befehle zur automatisierten Erzeugung einer % solchen Liste definiert. +% \ToDo{% +% Der Quelltext ist ein Grauen, das muss ich irgendwann einmal komplett +% überarbeiten. Insbesondere sollten die Argumente für die Änderungsliste +% wesentlich strukturierter eingefügt werden, bestenfalls mit zwei oder mehr +% unterschiedlichen Trennzeichen. +% }[?] % -% \begin{macro}{\printchangedatlist} -% \changes{v2.02}{2014/10/09}{neu}%^^A % \begin{macro}{\@changedatdeclare} % \changes{v2.02}{2014/10/09}{neu}%^^A +% \changes{v2.03}{2015/01/31}{Ersetzungen ermöglicht}%^^A % \begin{macro}{\@changedatdeclaredefault} % \changes{v2.02}{2014/10/09}{neu}%^^A % \begin{macro}{\@changedatdeclarelist} % \changes{v2.02}{2014/07/25}{neu}%^^A +% \begin{macro}{\ChangedAt@Split} +% \begin{macro}{\ChangedAt@@Split} % Um für Änderungsnotizen die dazugehörige Option, Befehl etc. bei einer % Deklaration kenntlich zu machen, wird das deklarierte Element zusammen mit % der Notiz in einer Liste gespeichert. Da mehrere kommaseparierte Werte % angegeben werden können, muss das optionale Argument der Umgebung % \env{Declaration} dahingehend abgearbeitet werden. Wenn keine weitere % Erklärung angegeben wurde, wird der entspredchende Eintrag mit dem Attribut -% versehen, welches in \cs{@changedatdeclaredefault} gespeichert ist. +% versehen, welches in \cs{@changedatdeclaredefault} gespeichert ist. Dabei +% kann außerdem angegeben werden, ob es sich bei Änderung um eine Umbenennung +% von Option, Befehl etc. handelt. % \begin{macrocode} \newcommand*\@changedatdeclarelist{} \let\@changedatdeclarelist\relax @@ -2309,18 +2419,45 @@ \newcommand*\@changedatdeclare[2]{% \IfValueT{#1}{% \@for\@tempa:=#1\do{% - \protected@expandtwoargs\in@{!}{\@tempa}% - \ifin@% - \expandafter\listadd\expandafter\@changedatdeclarelist% - \expandafter{\@tempa!#2}% - \else% - \expandafter\listadd\expandafter\@changedatdeclarelist% - \expandafter{\@tempa!\@changedatdeclaredefault!#2}% + \ifx\@tempa\@empty\else% + \preto{\@tempa}{#2!}% + \expandafter\ChangedAt@Split\expandafter{\@tempa}% \fi% }% }% } % \end{macrocode} +% Die Änderungsnotiz für die Implementierung wird erst an den Ausrufezeichen +% in einzelne Argumente getrennt\dots +% \begin{macrocode} +\NewDocumentCommand\ChangedAt@Split{>{\SplitArgument{2}{!}}m}{% + \ChangedAt@@Split#1% +} +% \end{macrocode} +% \dots und anschließend in die Liste \cs{@changedatdeclarelist}~-- in einer +% etwas kryptischen Form~-- eingetragen. Dies geschieht jedoch nur, wenn im +% Argument nicht die Sternversion eines Auszeichnungsbefehls genutzt wurde. +% Diese sollen keinen Eintrag in der Änderungsliste, wohl aber eine Randnotiz +% erzeugen. +% \begin{macrocode} +\newcommand*\ChangedAt@@Split[3]{% + \in@{*}{#1}% + \ifin@% + \listadd\@changedatdeclarelist{Allgemein!#2}% + \else% + \listadd\@changedatdeclarelist{% + Implementierung!#2!\IfValueTF{#3}{#3}{\@changedatdeclaredefault}!#1% + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \ChangedAt@@Split +% \end{macro}^^A \ChangedAt@Split +% \end{macro}^^A \@changedatdeclarelist +% \end{macro}^^A \@changedatdeclaredefault +% \end{macro}^^A \@changedatdeclare +% \begin{macro}{\printchangedatlist} +% \changes{v2.02}{2014/10/09}{neu}%^^A % Die Einträge in der Änderungsliste sowie die dazugehörige Randnotiz werden % mit dem Makro \cs{ChangedAt@Process} abgearbeitet, sortiert und erstellt. Bei % \cs{printchangedatlist} wird mit dem optionalen Argument der Versatz für die @@ -2329,35 +2466,39 @@ % \begin{macrocode} \NewDocumentCommand\printchangedatlist{sO{\z@}}{% \ifx\@changedatdeclarelist\relax\else% - \ChangedAt@Process{#2}{\@changedatdeclarelist}% + \if@deprecated% + \ChangedAt@Process[#1]{#2}{\@changedatdeclarelist}% + \else% + \ChangedAt@Process{#2}{\@changedatdeclarelist}% + \fi% \global\let\@changedatdeclarelist\relax% \IfBooleanF{#1}{% - \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax% \@afterindentfalse\@afterheading% }% \fi% } % \end{macrocode} -% \end{macro}^^A \@changedatdeclarelist -% \end{macro}^^A \@changedatdeclaredefault -% \end{macro}^^A \@changedatdeclare % \end{macro}^^A \printchangedatlist % \begin{macro}{\ChangedAt} % \changes{v2.02}{2014/07/25}{erweitert}%^^A % \changes{v2.02}{2014/10/15}{Sternversion neu (keine Randnotiz)}%^^A % An den Befehl \cs{ChangedAt} kann eine kommagetrente Liste mit verschiedenen % Versionsnummern und dazugehörigen Änderungen übergeben werden. Er wird in der -% Form: \cs{ChangedAt}\marg{Version!Definition,Version!Erweiterung} genutzt. -% Der Prozess selbst wird mit \cs{ChangedAt@Process} durchgeführt. Es wird -% zu der angegebenen Versionsnummer ein Eintrag in die Änderungsliste erstellt, -% wenn mit einem Ausrufezeichen getrennt der gewünschte Inhalt gegeben wurde. +% Form: \cs{ChangedAt}\verb|{|\meta{Version}\verb|!|\meta{Beschreibung}\verb|}| +% genutzt. Mit \cs{ChangedAt@Process} wird der Prozess selbst durchgeführt. Es +% wird zu der angegebenen Versionsnummer ein Eintrag in die Änderungsliste +% erstellt, wenn mit einem Ausrufezeichen getrennt der gewünschte Inhalt +% gegeben wurde. % % Alle übergegebenen Versionsnummern werden als Liste mit einmaligen Einträgen % in einer Randnotiz gesetzt. Mit dem optionalen Argument kann ein vertikaler -% dieser angegeben werden. Die Sternversion von \cs{ChangedAt} unterdrückt die -% Ausgabe dieser Randnotiz. +% dieser angegeben werden. Die Sternversion unterdrückt stattdessen die Ausgabe +% dieser Randnotiz. % \begin{macrocode} -\NewDocumentCommand\ChangedAt{sO{\z@}m}{\ChangedAt@Process[#1]{#2}{#3}} +\NewDocumentCommand\ChangedAt{sO{\z@}mO{Allgemein}}{% + \ChangedAt@Process[#1]{#2}[#4]{#3}% +} % \end{macrocode} % \end{macro}^^A \ChangedAt % \begin{macro}{\ChangedAt@Process} @@ -2369,7 +2510,7 @@ % \changes{v2.02}{2014/10/16}{Unterteilung Änderungsliste in Bereiche}%^^A % \begin{macro}{\ChangedAt@Default} % \changes{v2.02}{2014/09/02}{neu}%^^A -% \begin{macro}{\ChangedAt@Split} +% \begin{macro}{\ChangedAt@Process@Split} % \changes{v2.02}{2014/09/02}{neu}%^^A % \begin{macro}{\@changedatlist} % \changes{v2.02}{2014/09/02}{neu}%^^A @@ -2378,20 +2519,25 @@ % Mit diesen Befehlen wird die Änderungshistorie in Form eines Index erstellt. % Der Befehl \cs{ChangedAt@Process} setzt eine kommagetrennte Liste in eine % im Format von \pkg{etoolbox} um. Anschließend wird diese für die Liste der -% Änderungen mit \cs{ChangedAt@Split} aufgespalten. Die einzelnen Einträge -% werden mit \cs{ChangedAt@@Process} weiter verarbeitet. +% Änderungen mit \cs{ChangedAt@Process@Split} aufgespalten. Die einzelnen +% Einträge werden mit \cs{ChangedAt@@Process} weiter verarbeitet. % \begin{macrocode} \newcommand*\@changedatlist{} \newcommand*\ChangedAt@Default{} \newcommand*\@changedatversionlist{} \let\@changedatversionlist\relax -\newcommand*\ChangedAt@Process[3][]{% +\NewDocumentCommand\ChangedAt@Process{omom}{% \let\@changedatlist\relax% \let\@changedatversionlist\relax% - \@for\@tempa:=#3\do{\listeadd{\@changedatlist}{\expandonce\@tempa}}% - \forlistloop\ChangedAt@Split{\@changedatlist}% + \@for\@tempa:=#4\do{% + \ifx\@tempa\@empty\else% + \IfValueT{#3}{\preto\@tempa{#3!}}% + \listeadd{\@changedatlist}{\expandonce\@tempa}% + \fi% + }% + \forlistloop\ChangedAt@Process@Split{\@changedatlist}% % \end{macrocode} -% Nach der Verarbeitung aller Einräge sind in \cs{@changedatlist} alle +% Nach der Verarbeitung aller Einräge sind in \cs{@changedatversionlist} alle % angegebenen Versionsnummern genau einmal enthalten. Mit \cs{sortlist} werden % diese in die richtige Reihenfolge sortiert und anschließend als Randnotiz in % einer Tabelle ausgegeben, falls nicht die Sternversion verwendet wurde. @@ -2413,21 +2559,21 @@ }% } % \end{macrocode} -% Der Befehl \cs{ChangedAt@Split} teilt ein gegebenes Argument am Delimiter -% Ausrufezeichen (\enquote{!}) in drei Argumente auf und reicht diese an -% \cs{ChangedAt@@Process} weiter. Sollte kein oder nur Ausrufezeichen gefunden -% werden, so wird das zweite und/oder dritte Argument mit dem~-- vom Paket -% \pkg{xparse} definierten~-- leeren Wert \texttt{-NoValue-} an den Befehl -% \cs{ChangedAt@@Process} übergeben. +% Der Befehl \cs{ChangedAt@Process@Split} teilt ein gegebenes Argument am +% Delimiter Ausrufezeichen (\enquote{!}) in drei Argumente auf und reicht diese +% an \cs{ChangedAt@@Process} weiter. Sollte kein oder nur Ausrufezeichen +% gefunden werden, so wird das zweite und/oder dritte Argument mit dem~-- vom +% Paket \pkg{xparse} definierten~-- leeren Wert \texttt{-NoValue-} an den +% Befehl \cs{ChangedAt@@Process} übergeben. % \begin{macrocode} -\NewDocumentCommand\ChangedAt@Split{>{\SplitArgument{2}{!}}m}{% +\NewDocumentCommand\ChangedAt@Process@Split{>{\SplitArgument{3}{!}}m}{% \ChangedAt@@Process#1% } % \end{macrocode} % Hiermit wird der Eintrag in die Änderungshistorie erzeugt. Dabei ist zu % unterscheiden, ob der Befehl \cs{ChangedAt} direkt genutzt wurde oder aber % der Eintrag innerhalb der \env{Declaration}-Umgebung erfolgte. Dies wird -% anhand von des dritten Argumentes erkannt. Für den ersten Fall erfolgt ein +% anhand des dritten Argumentes erkannt. Für den ersten Fall erfolgt ein % Eintrag lediglich, wenn neben der Versionsnummer selbst auch eine Erklärung % angegben wurde~-- eine Randnotiz wird aber in jedem Fall gesetzt. Im zweiten % Fall wird der Erklärung \emph{immer} \cs{ChangedAt@Default} vorangestellt. @@ -2435,8 +2581,8 @@ % Änderungsliste vermerkt, dass es sich um eine \emph{neue} Option, Befehl etc. % handelt. Der eigentliche Eintrag selbst erfolgt mit \cs{ChangedAt@@@Process}. % \begin{macrocode} -\newcommand*\ChangedAt@@Process[3]{% - \IfValueTF{#3}{% +\newcommand*\ChangedAt@@Process[4]{% + \IfValueTF{#4}{% % \end{macrocode} % Bei der Deklaration von Optionen, Befehlen etc. werden diese automatisch in % der Liste der Änderungen im Bereich \enquote{Implementierung} vor der @@ -2447,22 +2593,22 @@ % \begin{macrocode} \begingroup% \@gobbleparameters% - \xdef\ChangedAt@Default{#3}% + \xdef\ChangedAt@Default{#4}% \endgroup% - \ChangedAt@@@Process{#1}{Implementierung}{\ChangedAt@Default: #2}% + \ChangedAt@@@Process{#2}{#1}{\ChangedAt@Default: #3}% }{% % \end{macrocode} % Wurde \cs{ChangedAt} direkt und nicht über das optionale Argument der % Umgebungen \env{Declaration} genutzt, erscheint der gewünschte Eintrag im % Bereich \enquote{Allgemein}. % \begin{macrocode} - \IfValueT{#2}{\ChangedAt@@@Process{#1}{Allgemein}{#2}}% + \IfValueT{#3}{\ChangedAt@@@Process{#2}{#1}{#3}}% }% % \end{macrocode} % Außerdem wird der Liste \cs{changedatversionlist} die aktuelle Version % einmalig hinzugefügt, um alle in einer Randnotiz ausgeben zu können. % \begin{macrocode} - \xifinlist{#1}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#1}}% + \xifinlist{#2}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#2}}% } % \end{macrocode} % Mit \cs{ChangedAt@@@Process} Erfolgen die Einträge in die Änderungsliste. @@ -2482,7 +2628,7 @@ % \end{macrocode} % Danach wird geprüft, ob das Makro \cs{Key} übergeben wurde. Außerdem wird ein % Anker in der Änderungsliste für die Referenzierung auf die einzelnen Bereiche -% (\enquote{Allgemein}, \enquote{Implementierung} und \enquote{Umbenennungen}) +% (\enquote{Allgemein}, \enquote{Implementierung} und \enquote{Ersetzungen}) % gesetzt. % \begin{macrocode} \expandafter\in@\expandafter\Key\expandafter{\@tempa}% @@ -2492,11 +2638,11 @@ \setbox0\hbox{#3}% \endgroup% \index[changelog]{% - #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!\@TempKey\ #3% + #1\manualhyperdef*{#1}!\manualhyperdef*{#1:#2}#2!\@TempKey\ #3% }% \else% \index[changelog]{% - #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!#3% + #1\manualhyperdef*{#1}!\manualhyperdef*{#1:#2}#2!#3% }% \fi% \endgroup% @@ -2504,28 +2650,40 @@ % \end{macrocode} % \end{macro}^^A \@changedatversionlist % \end{macro}^^A \@changedatlist -% \end{macro}^^A \ChangedAt@Split +% \end{macro}^^A \ChangedAt@Process@Split % \end{macro}^^A \ChangedAt@Default % \end{macro}^^A \ChangedAt@@@Process % \end{macro}^^A \ChangedAt@@Process % \end{macro}^^A \ChangedAt@Process -% \begin{macro}{\Rename} +% \begin{macro}{\Replace} % \changes{v2.02}{2014/07/25}{neu}%^^A -% Der Befehl \cs{Rename} erzeugt einen Eintrag in der Änderungshistorie sowie +% \changes{v2.03}{2015/02/02}{auf mehrere Einträge erweitert}%^^A +% Der Befehl \cs{Replace} erzeugt einen Eintrag in der Änderungshistorie sowie % einen Eintrag im gewünschten Index mit einem Verweis auf den neuen Befehl. % \begin{macrocode} -\newcommand*\Rename[4][]{% - \ChangedAt@@@Process{#2}{Umbenennungen}{% - #3: \emph{umbenannt}~\textrightarrow~siehe #4% - }% - \ChangedAt@@@Process{#2}{Implementierung}{% - #4: \emph{neu}~\textrightarrow~ersetzt #3% +\NewDocumentCommand\Replace{ommm}{% +% \end{macrocode} +% Die alten Befehle in der Liste erhalten einen Eintrag in der Änderungsnotiz. +% Das Komma vor dem Argument in der Schleife ist notwendig, weil ansonsten das +% Argument sofort expandiert wird. +% \begin{macrocode} + \@for\@tempa:={,#4}\do{% + \ifx\@tempa\@empty\else% + \protected@edef\@tempb{% + Implementierung!#2!\emph{entf\"allt}|see{#3}!\@tempa% + }% + \expandafter\listadd\expandafter\@changedatdeclarelist\expandafter{% + \@tempb% + }% +% \end{macrocode} +% Und ggf. der Eintrag im Index. +% \begin{macrocode} + \IfValueT{#1}{\index[#1]{\@tempa|see{#3}}}% + \fi% }% - \listeadd\@changedatdeclarelist{#2}% - \index[#1]{#3|see{#4}}% } % \end{macrocode} -% \end{macro}^^A \Rename +% \end{macro}^^A \Replace % \begin{macro}{\@ProcessChangedAt} % \changes{v2.02}{2014/07/25}{erweitert}%^^A % \changes{v2.02}{2014/10/08}{Sternversion ergänzt}%^^A @@ -2950,8 +3108,8 @@ % Text vorangestellt werden kann. % \begin{macrocode} \@tempa{\@CodePreamble}{}% - \setlength{\@tempdimc}{\leftskip}% - \setlength{\leftskip}{\leftmargin}% + \setlength\@tempdimc{\leftskip}% + \setlength\leftskip{\leftmargin}% % \end{macrocode} % Durch die zweimalige Verwendung von \val{\string\jobname-temp.tex}~-- einmal % dirket und einmal innerhalb einer Box~-- können darin verwendete Befehle wie @@ -2963,7 +3121,7 @@ \@tempa{\input{\jobname-temp.tex}}{\@CodeHook}% \DeactivateWarningFilters[Tutorial]% \global\let\@CodeHook\relax% - \setlength{\leftskip}{\@tempdimc}% + \setlength\leftskip{\@tempdimc}% \noindent\ignorespaces% } % \end{macrocode} @@ -3051,11 +3209,11 @@ \@tempcnta\z@% \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}% \ifnum\@tempcnta>\z@% - \setlength{\@tempdima}{\textwidth}% + \setlength\@tempdima{\textwidth}% \divide\@tempdima\@tempcnta% \advance\@tempcnta\m@ne% \multiply\@tempcnta 2% - \addtolength{\@tempdima}{-\@tempcnta\tabcolsep}% + \addtolength\@tempdima{-\@tempcnta\tabcolsep}% \@for\@tempa:=#3\do{% \advance\@tempcnta\m@ne% \edef\@tempb{% @@ -3247,10 +3405,10 @@ %<*class> \@printindex[keys]% \@printindex[terms]% + \@printindex[fonts]% \begingroup% \let\lettergroup\@gobble% \let\indexspace\par% - \@printindex[fonts]% \@printindex[colors]% \endgroup% %</class> @@ -3275,7 +3433,6 @@ % \begin{macrocode} \newcommand*\@printindex[1][]{% \pagebreak[3]% - \apptocmd{\prepare@multicols}{\hbadness10000}{}{}% %<*class> \ifblank{#1}{% \ifx\@printindexprologue\@empty% @@ -3330,13 +3487,22 @@ % \begin{macro}{\if@changelog} % \begin{macro}{\Changelog} % \changes{v2.02}{2014/08/20}{neu}%^^A -% Ähnlich wie für den Index wird auch für die Änderungsliste verfahren. +% \begin{macro}{\deprecatedhyperpage} +% \changes{v2.03}{2015/02/05}{neu}%^^A +% Ähnlich wie für den Index wird auch für die Änderungsliste verfahren. Mit dem +% Makro \cs{deprecatedhyperpage} wird die Ausgabe der Seitenzahlen unterdrückt, +% wenn zusätzlich ein mit \cs{see} gesetzter Querverweis existiert. % \begin{macrocode} +\newcommand*\deprecatedhyperpage{} \newif\if@changelog \newcommand*\PrintChangelog{% \begingroup% \let\lettergroup\@gobble% \@changelogtrue% + \let\deprecatedhyperpage\hyperpage% + \preto\item{\let\deprecatedhyperpage\hyperpage}% + \preto\subitem{\let\deprecatedhyperpage\hyperpage}% + \preto\subsubitem{\let\deprecatedhyperpage\hyperpage}% \@printindex[changelog]% \endgroup% } @@ -3347,12 +3513,41 @@ }% } % \end{macrocode} +% \end{macro}^^A \deprecatedhyperpage % \end{macro}^^A \Changelog % \end{macro}^^A \if@changelog % \end{macro}^^A \PrintChangelog % % \iffalse %</class> +% \fi +% +% \begin{macro}{\see} +% \changes{v2.03}{2015/02/06}{neu}%^^A +% \begin{macro}{\seealso} +% \changes{v2.03}{2015/02/06}{neu}%^^A +% Diese Befehle werden zum einen so definiert, dass zwischen \cs{seename} und +% dem Argument ein geschütztes Leerzeichen verwendet wird. Die Sternversion +% benötigt kein zweites, leeres Argument. +% \begin{macrocode} +\renewrobustcmd*\see[2]{% + \ifstr{#1}{*}{\emph{\seename}~#2}{\emph{\seename}~#1}% +% \end{macrocode} +% Innerhalb der Klasse dient er außerdem zum etwaigen Unterdrücken von +% Seitenzahlen in der Änderungsliste veralteter Optionen, Befehle etc. +% \begin{macrocode} +%<*class> + \if@changelog\let\deprecatedhyperpage\@gobble\fi% +%</class> +} +\renewrobustcmd*\seealso[2]{% + \ifstr{#1}{*}{\emph{\alsoname}~#2}{\emph{\alsoname}~#1}% +} +% \end{macrocode} +% \end{macro}^^A \seealso +% \end{macro}^^A \see +% +% \iffalse %</body> % \fi % diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx index 15ab5eab35f..7dbe67b0b7e 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx @@ -1,29 +1,33 @@ % \CheckSum{149} % \iffalse meta-comment -% ====================================================================== -% -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-mathswap.dtx}[% - 2014/10/10 v2.02 TUD-KOMA-Script\space% + 2015/01/24 v2.03 TUD-KOMA-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<package>\ProvidesPackage{mathswap}[% @@ -77,8 +81,8 @@ % % \selectlanguage{ngerman} % -% \changes{v2.02}{2014/07/10}{Versionsnummer angepasst}%^^A -% \changes{v2.02}{2014/08/18}{Schalter zum Aktivieren und Deaktivieren}%^^A +% \changes{v2.02}{2014/08/18}{\pkg{mathswap} Schalter zum Aktivieren und +% Deaktivieren der Funktionalität}%^^A % % \section{Aktive Trennzeichen im mathematischen Satz} % diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx index 4748344ff2c..cdd60cf9e71 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx @@ -1,29 +1,33 @@ -% \CheckSum{298} +% \CheckSum{293} % \iffalse meta-comment -% ====================================================================== -% -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ +% % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-misc.dtx}[% - 2014/12/12 v2.02 TUD-KOMA-Script (miscellaneous)% + 2015/02/15 v2.03 TUD-KOMA-Script (miscellaneous)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} @@ -69,7 +73,7 @@ % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A -% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A +% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A % % \section{Verschiedenes für die Hauptklassen} % @@ -81,6 +85,22 @@ %<*class&option> % \fi % +% \subsection{Ausführung von paketspezifischem Quellcode} +% +% Ab und an ist es notwendig, bestimmten Quelltext erst gezielt nach einem +% Paket auszuführen. +% \begin{macro}{\TUD@parameter@defaulthandler} +% \changes{v2.03}{2015/02/15}{neu}%^^A +% Im ersten Argument wird das paket angegeben, im zweiten der Quellcode. Dabei +% ist zu beachten, dass dieser im Dokument auch ausgeführt wird, wenn das Paket +% \emph{nicht} geladen wurde. +% \begin{macrocode} +\newcommand*\TUD@AfterPackage[2]{% + \if@atdocument#2\else\AfterPackage!{#1}{#2}\fi% +} +% \end{macrocode} +% \end{macro}^^A \TUD@parameter@defaulthandler +% % \subsection{Fußnoten in Überschriften} % % \begin{option}{footnotes} @@ -99,7 +119,7 @@ {symbolheadings}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \@tud@symbolheadingsfalse% \or% \@tud@symbolheadingstrue% @@ -183,6 +203,14 @@ }% \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% } +% \end{macrocode} +% \end{macro}^^A \tud@footnote@rehyper +% \end{macro}^^A \tud@footnote@unhyper +% \end{macro}^^A \tudbookmark +% \begin{macro}{\maketitle} +% \begin{macro}{\tableofcontents} +% Für den Titel und das Inhaltsverzeichnis werden Outline-Einträge erzeugt. +% \begin{macrocode} \pretocmd{\maketitle}{% \if@tud@bookmarks% \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% @@ -195,9 +223,6 @@ %</article> }{}{\tud@patch@wrn{maketitle}} \pretocmd{\tableofcontents}{% -%<*book|report> - \if@openright\cleardoublepage\else\clearpage\fi% -%</book|report> \if@tud@bookmarks% \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% @@ -209,33 +234,34 @@ %</article> }{}{\tud@patch@wrn{tableofcontents}} % \end{macrocode} -% \end{macro}^^A \tud@footnote@rehyper -% \end{macro}^^A \tud@footnote@unhyper -% \end{macro}^^A \tudbookmark +% \end{macro}^^A \tableofcontents +% \end{macro}^^A \maketitle % % \subsection{Parameter für Umgebungen und mehrspaltige Texte} % % Diese Befehle dienen dazu, bei Umgebungen die Sprache über einen Parameter % anzugeben sowie das Paket \pkg{multicol} verwenden zu können. -% \begin{macro}{\tud@environmenthandler} +% \begin{macro}{\TUD@parameter@defaulthandler} % Hiermit kann sowohl die zu verwendende Sprache als auch die Anzahl der % gewünschten Spalten für bestimmte Umgebungen ohne die explizite Angabe eines % Schlüssels festgelegt werden. Momentan betrifft das die beiden Umgebungen % \env{abstract} und \env{tudpage}. % \begin{macrocode} -\newcommand*\tud@environmenthandler[1]{% - \def\@tempa{#1}% +\newcommand*\TUD@parameter@defaulthandler[2]{% + \def\@tempa{#2}% \@for\@tempb:=\@tempa\do{% \ifx\@tempb\@empty\else% - \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% - \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% - \expandafter\selectlanguage\expandafter{\@tempb}% - }}% + \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}% + \ifxnumber{\@tempb}{% + \TUD@parameter@set{#1}{columns=\@tempb}% + }{% + \TUD@parameter@set{#1}{language=\@tempb}% + }% \fi% }% } % \end{macrocode} -% \end{macro}^^A \tud@environmenthandler +% \end{macro}^^A \TUD@parameter@defaulthandler % \begin{macro}{\tud@multicols} % \begin{macro}{\tud@multicols@check} % Im Makro \cs{tud@multicols} wird die Anzahl der gewünschten Spalten in einer @@ -267,20 +293,18 @@ % tatsächlich die Schrift DIN~Bold verwendet wird. % \begin{macro}{\tud@makeuppercase} % Der Befehl führt \cs{MakeTextUppercase}\marg{Text} deshalb nur aus, wenn die -% richtige Schriftfamilie verwendet wird. Außerdem wird gleich noch die zu hoch -% liegende Grundlinie bei Überschriften der beiden Ebenen \cs{section} und -% \cs{subsection} nach unten korrigiert (derber Hack). +% richtige Schriftfamilie verwendet wird. % \begin{macrocode} \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% - \protect\vphantom{\"A\"O\"U}% % \end{macrocode} -% Aufgrund eines Fehlers im \LaTeX-Kernels liegt die Grundlinie für die -% Gliederungsebene \cs{section} zu hoch. Mit dem Einfügen des vertikalen -% Freiraums für die Umlaute würde diese automatisch nach unten verschoben. -% Allerdings wäre das ein ziemlich übler Hack. +% Aufgrund eines Fehlers im \LaTeX-Kernels liegt die Grundlinie für die beiden +% Gliederungsebenen \cs{section} und \cs{subsection} zu hoch. Mit dem Einfügen +% des vertikalen Freiraums für die Umlaute wird diese automatisch nach unten +% verschoben. Allerdings ist das ein ziemlich übler Hack. +%^^A \addtokomafont{section}{\strut\ignorespaces}% % \begin{macrocode} -%% \addtokomafont{section}{\strut\ignorespaces}% + \protect\vphantom{\"A\"O\"U}% } % \end{macrocode} % \end{macro}^^A \tud@makeuppercase @@ -309,6 +333,7 @@ % Expansion der beiden Argumente aufgrund der standardmäßigen Verwendung von % \cs{edef} allerdings vollständig und ohne die Beachtung von \cs{protect}. % \begin{macro}{\protected@expandtwoargs} +% \changes{v2.02}{2014/11/13}{neu}%^^A % Der Befehl \cs{protected@expandtwoargs} kann äquivalent genutzt werden, % lässt dabei aber mit \cs{protect} geschützte Makros unberührt. % \begin{macrocode} @@ -361,7 +386,7 @@ % \end{macrocode} % Ganz zum Schluss noch Bugfixes für unterschiedliche Pakete. % \begin{macrocode} -\RequirePackage{scrhack}[2014/07/07] +\RequirePackage{scrhack}[2014/02/27] % \end{macrocode} % \dots und der Rest. % \begin{macrocode} @@ -402,7 +427,7 @@ \newcommand*\notudscrartcl{% F\"ur die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verf\"ugbar. } -\newlength{\tempdim} +\newlength\tempdim %</manual&class> %</manual> \newcommand*\CD{Corporate Design\xspace} diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx index f3c196cde38..311650d066a 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx @@ -1,29 +1,33 @@ -% \CheckSum{1513} +% \CheckSum{1954} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-pagestyle.dtx}[% - 2014/12/17 v2.02 TUD-KOMA-Script (pagestyle)% + 2015/02/15 v2.03 TUD-KOMA-Script (pagestyle)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} @@ -69,7 +73,7 @@ % \selectlanguage{ngerman} % % \changes{v2.02}{2014/06/23}{Unterstützung für \pkg{titlepage} entfernt}%^^A -% \changes{v2.02}{2014/07/08}{Verwendung \cs{FamilyKeyState}}%^^A +% \changes{v2.02}{2014/07/08}{Optionen nutzen \cs{FamilyKeyState}}%^^A % % \section{Der Seitenstil des \CDs} % @@ -98,60 +102,62 @@ %<*class&body> % \fi % -% \begin{length}{\tud@dim@left} -% \begin{length}{\tud@dim@right} +% \begin{length}{\tud@dim@widemargin} +% \begin{length}{\tud@dim@slimmargin} % \begin{length}{\tud@dim@both} % Die Seitenränder für links und rechts sowie deren Summe, welche später für % weitere Layouts dazu verwendet wird, diese anteilig zu verteilen. % \begin{macrocode} -\newlength{\tud@dim@left} -\newlength{\tud@dim@right} -\newlength{\tud@dim@both} +\newlength\tud@dim@widemargin +\newlength\tud@dim@slimmargin +\newlength\tud@dim@both % \end{macrocode} % \end{length}^^A \tud@dim@both -% \end{length}^^A \tud@dim@right -% \end{length}^^A \tud@dim@left +% \end{length}^^A \tud@dim@slimmargin +% \end{length}^^A \tud@dim@widemargin % \begin{length}{\tud@dim@top} +% \changes{v2.02}{2015/01/09}{entfernt}%^^A % \begin{length}{\tud@dim@bottom} +% \changes{v2.02}{2015/01/09}{entfernt}%^^A % \begin{length}{\tud@dim@footskip} -% Die Seitenränder für sowohl oben als auch unten sowie der Abstand zwischen -% Textkörper und Fußzeile. -% \begin{macrocode} -\newlength{\tud@dim@top} -\newlength{\tud@dim@bottom} -\newlength{\tud@dim@footskip} -% \end{macrocode} +% \changes{v2.02}{2015/01/09}{entfernt}%^^A +% Die Befehle wurden mit der \TUDScript-Version~v2.03 allesamt entfernt, da +% diese redundant waren und implizit durch andere, bereits für das \CD +% definierte Längen dargestellt werden können. % \end{length}^^A \tud@dim@footskip % \end{length}^^A \tud@dim@bottom % \end{length}^^A \tud@dim@top -% \begin{length}{\tud@dim@headheight} +% \begin{length}{\tud@dim@topmargin} % \begin{length}{\tud@dim@barheight} % \begin{length}{\tud@dim@headsep} +% \begin{length}{\tud@dim@footsep} % Es folgen die speziellen Maße für die Seiten mit dem TUD-Kopf, also die Höhe % oberhalb des Querbalkens, die Höhe des Querbalkens selbst sowie der vertikale -% (Mindest"~)Abstand zwischen Querbalken und Textkörper. +% (Mindest"~)Abstand zwischen Querbalken und Textkörper sowie der Fußzeile. % \begin{macrocode} -\newlength{\tud@dim@headheight} -\newlength{\tud@dim@barheight} -\newlength{\tud@dim@headsep} +\newlength\tud@dim@topmargin +\newlength\tud@dim@barheight +\newlength\tud@dim@headsep +\newlength\tud@dim@footsep % \end{macrocode} +% \end{length}^^A \tud@dim@footsep % \end{length}^^A \tud@dim@headsep % \end{length}^^A \tud@dim@barheight -% \end{length}^^A \tud@dim@headheight +% \end{length}^^A \tud@dim@topmargin % \begin{length}{\tud@dim@logox} % \begin{length}{\tud@dim@logoy} % \begin{length}{\tud@dim@logowidth} % \begin{length}{\tud@dim@logoheight} +% \changes{v2.03}{2015/01/13}{entfernt}%^^A % Außerdem müssen noch die Abmessungen und die Position des TUD-Logos definiert % werden, nämlich der horizontale (Soll"~)Abstand zwischen linkem Seitenrand % und Logo, der vertikale (Soll"~)Abstand zwischen oberem Seitenrand und Logo % sowie die Breite und Höhe\footnote{Proportionen sind durch die Grafik % vorgegeben} des Logos. % \begin{macrocode} -\newlength{\tud@dim@logox} -\newlength{\tud@dim@logoy} -\newlength{\tud@dim@logowidth} -\newlength{\tud@dim@logoheight} +\newlength\tud@dim@logox +\newlength\tud@dim@logoy +\newlength\tud@dim@logowidth % \end{macrocode} % \end{length}^^A \tud@dim@logoheight % \end{length}^^A \tud@dim@logowidth @@ -159,8 +165,8 @@ % \end{length}^^A \tud@dim@logox % \begin{length}{\tud@dim@line} % \changes{v2.02}{2014/06/23}{neu}%^^A -% \begin{length}{\tud@dim@thinline} % \begin{length}{\tud@dim@heavyline} +% \begin{length}{\tud@dim@thinline} % Die Linienstärke der Outline im Kopf ist für ein monochromes Layout schmaler % als im Layout mit farbigem Hintergrund.\footnote{% % monochrom \cs{tud@dim@thinline}, koloriert \cs{tud@dim@heavyline}}% @@ -168,141 +174,93 @@ % \cs{tud@dim@line} durch den Seitenstil situativ entweder auf den Wert von % \cs{tud@dim@thinline} oder aber \cs{tud@dim@heavyline} gesetzt. % \begin{macrocode} -\newlength{\tud@dim@line} -\newlength{\tud@dim@thinline} -\newlength{\tud@dim@heavyline} +\newlength\tud@dim@line +\newlength\tud@dim@heavyline +\newlength\tud@dim@thinline % \end{macrocode} -% \end{length}^^A \tud@dim@heavyline % \end{length}^^A \tud@dim@thinline +% \end{length}^^A \tud@dim@heavyline % \end{length}^^A \tud@dim@line +% \begin{length}{\tud@dim@headdiff} % \begin{length}{\tud@dim@headingsvskip} -% Die Länge für den vertikalen Standardversatz der Überschriften. +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Die Längen für den vertikalen Standardversatz der Überschriften sowie die +% Differenz der Kopfhöhen von normalem Satzspiegel und dem mit dem TUD-Kopf. % \begin{macrocode} -\newlength{\tud@dim@headingsvskip} +\newlength\tud@dim@headdiff +\newlength\tud@dim@headingsvskip % \end{macrocode} +% \end{length}^^A \tud@dim@headdiff % \end{length}^^A \tud@dim@headingsvskip -% \begin{length}{\tud@dim@headdiff} -% \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{length}{\tud@dim@ddcdiff} % \changes{v2.02}{2014/06/23}{neu}%^^A -% \begin{length}{\tud@dim@ddcfoot} -% \changes{v2.02}{2014/06/23}{neu, Umbenennung von \cs{tud@dim@ddcheight}}%^^A -% Zu guter Letzt noch die Höhe des \DDC-Logos in der Fußzeile. Die maximale Höhe -% der Fußzeile ist fest vorgegeben. +% Zu guter Letzt noch die Länge \cs{tud@dim@ddcdiff} für den Höhenausgleich des +% Seitenfußes, welcher bei der Verwendung des \DDC-Logos in der Fußzeile bei +% Version~v2.02 für den Satzspiegel notwendig war. Dieser etwas verschrobene +% Satzspiegel wird im Kompatibilitätsmodus weiterhin angeboten. % \begin{macrocode} -\newlength{\tud@dim@headdiff} -\newlength{\tud@dim@ddcdiff} -\newlength{\tud@dim@ddcfoot} +\iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{} % \end{macrocode} -% \end{length}^^A \tud@dim@ddcfoot % \end{length}^^A \tud@dim@ddcdiff -% \end{length}^^A \tud@dim@headdiff % \begin{macro}{\tud@geometry@set} +% \changes{v2.03}{2015/01/23}{Längenberechnung für den Satzspiegel an +% Referenzlänge \cs{tud@dim@widemargin} gekoppelt}%^^A % \begin{macro}{\tud@head@font@size} % Hiermit werden in Abhängigkeit der gewählten Papiergröße die Maße für die % Größe der Kopfzeile, die Position des Logos, die Seitenränder sowie die % Schriftgröße in der Kopfzeile definiert. Aufgerufen wird der Befehl durch -% \cs{tud@geometry@process}. +% \cs{tud@geometry@process}. Dabei fungiert \cs{tud@dim@widemargin} als +% Bezugslänge. Die maßgebliche Papiergröße ist DIN~A4. Die Längen für alle +% anderen Papiermaße unterscheiden sich um den Faktor~$\sqrt{2}$, wobei das +% Format DIN~A5 nach den Vorgaben des \CDs übersprungen wird. % \begin{macrocode} \newcommand*\tud@head@font@size{} \newcommand*\tud@geometry@set{% \ifdim\paperheight<148.1mm\relax% - \setlength{\tud@dim@headheight}{17.5mm}% - \setlength{\tud@dim@barheight}{2.5mm}% - \setlength{\tud@dim@headsep}{6mm}% - \setlength{\tud@dim@logox}{5.5mm}% - \setlength{\tud@dim@logoy}{6.5mm}% - \setlength{\tud@dim@logowidth}{28.5mm}% - \setlength{\tud@dim@left}{15mm}% - \setlength{\tud@dim@right}{10mm}% - \setlength{\tud@dim@top}{12.5mm}% - \setlength{\tud@dim@bottom}{12.5mm}% - \setlength{\tud@dim@footskip}{6mm}% - \setlength{\tud@dim@heavyline}{0.75pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{15mm}% + \setlength\tud@dim@heavyline{0.5pt}% + \setlength\tud@dim@thinline{0.25pt}% \def\tud@head@font@size{4.5}% \else\ifdim\paperheight<297.1mm\relax% - \setlength{\tud@dim@headheight}{35mm}% - \setlength{\tud@dim@barheight}{5mm}% - \setlength{\tud@dim@headsep}{12mm}% - \setlength{\tud@dim@logox}{11mm}% - \setlength{\tud@dim@logoy}{13.5mm}% - \setlength{\tud@dim@logowidth}{57mm}% - \setlength{\tud@dim@left}{30mm}% - \setlength{\tud@dim@right}{20mm}% - \setlength{\tud@dim@top}{25mm}% - \setlength{\tud@dim@bottom}{25mm}% - \setlength{\tud@dim@footskip}{12mm}% - \setlength{\tud@dim@heavyline}{1pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{30mm}% + \setlength\tud@dim@heavyline{1pt}% + \setlength\tud@dim@thinline{0.5pt}% \def\tud@head@font@size{9}% \else\ifdim\paperheight<420.1mm\relax% - \setlength{\tud@dim@headheight}{50mm}% - \setlength{\tud@dim@barheight}{7mm}% - \setlength{\tud@dim@headsep}{17mm}% - \setlength{\tud@dim@logox}{15.5mm}% - \setlength{\tud@dim@logoy}{19mm}% - \setlength{\tud@dim@logowidth}{80mm}% - \setlength{\tud@dim@left}{42mm}% - \setlength{\tud@dim@right}{28mm}% - \setlength{\tud@dim@top}{35mm}% - \setlength{\tud@dim@bottom}{35mm}% - \setlength{\tud@dim@footskip}{17mm}% - \setlength{\tud@dim@heavyline}{1.4pt}% - \setlength{\tud@dim@thinline}{0.7pt}% - \def\tud@head@font@size{13}% + \setlength\tud@dim@widemargin{42.426407mm}% + \setlength\tud@dim@heavyline{1.414214pt}% + \setlength\tud@dim@thinline{0.707107pt}% + \def\tud@head@font@size{12.727922}% \else\ifdim\paperheight<594.1mm\relax% - \setlength{\tud@dim@headheight}{70mm}% - \setlength{\tud@dim@barheight}{10mm}% - \setlength{\tud@dim@headsep}{24mm}% - \setlength{\tud@dim@logox}{22mm}% - \setlength{\tud@dim@logoy}{27mm}% - \setlength{\tud@dim@logowidth}{114mm}% - \setlength{\tud@dim@left}{60mm}% - \setlength{\tud@dim@right}{40mm}% - \setlength{\tud@dim@top}{50mm}% - \setlength{\tud@dim@bottom}{50mm}% - \setlength{\tud@dim@footskip}{24mm}% - \setlength{\tud@dim@heavyline}{1.7pt}% - \setlength{\tud@dim@thinline}{1pt}% - \def\tud@head@font@size{13.5}% + \setlength\tud@dim@widemargin{60mm}% + \setlength\tud@dim@heavyline{2pt}% + \setlength\tud@dim@thinline{1pt}% + \def\tud@head@font@size{18}% \else\ifdim\paperheight<841.1mm\relax% - \setlength{\tud@dim@headheight}{100mm}% - \setlength{\tud@dim@barheight}{14mm}% - \setlength{\tud@dim@headsep}{34mm}% - \setlength{\tud@dim@logox}{31mm}% - \setlength{\tud@dim@logoy}{38mm}% - \setlength{\tud@dim@logowidth}{161.5mm}% - \setlength{\tud@dim@left}{85mm}% - \setlength{\tud@dim@right}{56.5mm}% - \setlength{\tud@dim@top}{71mm}% - \setlength{\tud@dim@bottom}{71mm}% - \setlength{\tud@dim@footskip}{34mm}% - \setlength{\tud@dim@heavyline}{1.9pt}% - \setlength{\tud@dim@thinline}{1.5pt}% - \def\tud@head@font@size{14}% + \setlength\tud@dim@widemargin{84.852814mm}% + \setlength\tud@dim@heavyline{2.828427pt}% + \setlength\tud@dim@thinline{1.414214pt}% + \def\tud@head@font@size{25.455844}% \else% - \setlength{\tud@dim@headheight}{140mm}% - \setlength{\tud@dim@barheight}{20mm}% - \setlength{\tud@dim@headsep}{48mm}% - \setlength{\tud@dim@logox}{44mm}% - \setlength{\tud@dim@logoy}{54mm}% - \setlength{\tud@dim@logowidth}{228mm}% - \setlength{\tud@dim@left}{120mm}% - \setlength{\tud@dim@right}{80mm}% - \setlength{\tud@dim@top}{100mm}% - \setlength{\tud@dim@bottom}{100mm}% - \setlength{\tud@dim@footskip}{48mm}% - \setlength{\tud@dim@heavyline}{2.1pt}% - \setlength{\tud@dim@thinline}{2pt}% - \def\tud@head@font@size{20}% + \setlength\tud@dim@widemargin{120mm}% + \setlength\tud@dim@heavyline{4pt}% + \setlength\tud@dim@thinline{2pt}% + \def\tud@head@font@size{36}% \fi\fi\fi\fi\fi% - \setlength{\tud@dim@both}{\dimexpr\tud@dim@left+\tud@dim@right\relax}% % \end{macrocode} -% Hiermit wird sichergestellt, dass bei der Verwendung des \DDC-Logos im Fuß -% ausreichend Platz zur Verfügung steht. -% \begin{macrocode} - \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% +% Zum Schluss werden die restlichen Längen aus der Referenzlänge berechnet. +% \begin{macrocode} + \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}% + \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}% + \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}% + \setlength\tud@dim@footsep{% + \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax% + }% } % \end{macrocode} % \end{macro}^^A \tud@head@font@size @@ -310,7 +268,7 @@ % % \subsection{Unterstützung der \cls{standalone}-Klasse} % -% \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}"=Klasse}%^^A +% \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}-Klasse}%^^A % % Mit der Klasse~\cls{standalone} können insbesondere Grafiken als separate % Dateien erzeugt und später im Dokument eingebunden werden. Diese Klasse @@ -318,7 +276,7 @@ % der Verwendung mit den \TUDScript-Klassen nicht in die Quere kommen, müssen % für einige Einstellungen unterdrückt werden. % -% \begin{macro}{\tud@ifsacrop} +% \begin{macro}{\ifstandalonecrop} % \changes{v2.02}{2014/09/08}{neu}%^^A % Mit diesem Makro kann die Verwendung der Option \opt{crop} mit der Klasse % \cls{standalone} geprüft werden. Das erste Argument wird ausgeführt, wenn @@ -326,7 +284,7 @@ % ausgeführt, wenn entweder die Option \opt{crop} deaktiviert ist oder die % Klasse \cls{standalone} gar nicht geladen wurde. % \begin{macrocode} -\newcommand*\tud@ifsacrop{% +\newcommand*\ifstandalonecrop{% \ifcsdef{ifsa@crop}{% \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% }{% @@ -334,7 +292,7 @@ }% } % \end{macrocode} -% \end{macro}^^A \tud@ifsacrop +% \end{macro}^^A \ifstandalonecrop % % Ist die Klasse \cls{standalone} zusammen mit der Option \opt{crop} aktiv, % werden die Seitenränder auf die Einstellungen dieser Klasse gesetzt und das @@ -342,7 +300,7 @@ % % \begin{macrocode} \AtEndPreamble{% - \tud@ifsacrop{% + \ifstandalonecrop{% \PreventPackageFromLoading{scrlayer-scrpage}% \pagestyle{empty}% \hoffset=-72.27pt% @@ -357,7 +315,7 @@ \oddsidemargin=0pt% \evensidemargin=0pt% \topskip=0pt% - \textheight=\dimexpr\maxdimen% + \textheight=\maxdimen% }{}% } % \end{macrocode} @@ -378,198 +336,438 @@ % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{pagestyle}{empty.tudheadings} % \changes{v2.02}{2014/06/23}{neu}%^^A -% Es wird ein neuer Seitenstil kreiert, der das \CD der TU~Dresden mit der +% Es wird ein neuer Seitenstil kreiert, der das \CD der \TnUD mit der % prägenden Kopfzeile umsetzt. Dabei soll dieser Kopf auch verwendbar sein, % wenn nicht die vom \CD vorgeschriebenen Seitenränder sondern das Paket % \pkg{typearea} genutzt wird. Dafür wird das Logo im Kopf so wie im \CD % vorgesehen mit dem Logo der \TnUD in den Rand und dem Schriftzug bündig zum -% Textblock gesetzt. Für den Fall, dass das Dokument nicht ausschließlich mit -% dem TUD-Kopf auf jeder Seite gesetzt wird, muss der komplette vertikale -% Satzspiegel angepasst werden, sonst wäre der obere Rand optisch viel zu groß. -% Hierfür wird das Paket \pkg{geometry} genutzt.Durch \cs{tud@geometry@process} -% werden drei Layouts erstellt. Diese können mit \cs{loadgeometry}\marg{Stil} -% geladen werden. +% Textblock gesetzt. +% +% Für das Erzeugen der Seitenstile wird das Paket \pkg{scrlayer-scrpage} +% genutzt. Mit diesem können verschiedene Ebenen erstellt werden, aus welchen +% anschließend der eigentliche Seitenstil zusammengesetzt wird. % \begin{macrocode} \AtEndPreamble{% % \end{macrocode} % Damit der Anwender beliebige Optionen an \pkg{scrlayer-scrpage} übergeben % kann, wird das Paket erst zum Ende der Präambel geladen, wenn dies nicht -% bereits vorher geschehen ist. -% \ToDo{Versionsanforderung rein, sobald aktuelle Version auf CTAN vorhanden} +% bereits vorher geschehen ist. Anschließend werden verschiedene, sogeannte +% Layers respektive Ebenen für die einzelnen Elemente auf einer Seite erstellt. % \begin{macrocode} \RequirePackage{scrlayer-scrpage}[2013/12/14]% + \AfterPackage*{scrlayer-scrpage}{% % \end{macrocode} -% Anschließend werden verschiedene, sogeannte Layers für die einzelnen Elemente -% auf einer Seite erstellt. Dies sind das aus dem Satzspiegel nach links -% verschobene Logo der \TnUD sowie \dots +% \begin{layer}{tudheadings.head.mainlogo} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{layer}{tudheadings.head.logo} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Dies sind das links aus dem Satzspiegel verschobene Logo der \TnUD, \dots % \begin{macrocode} - \AfterPackage*{scrlayer-scrpage}{% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={% - \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}% + \tud@mainlogo% },% ]{tudheadings.head.mainlogo}% % \end{macrocode} -% \dots das Zweitlogo, \dots +% \dots und das Zweitlogo. % \begin{macrocode} \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={\hfill\tud@headlogo},% ]{tudheadings.head.logo}% % \end{macrocode} -% \dots die obere und untere Linie des Querbalkens sowohl in der normalen +% \end{layer}^^A tudheadings.head.logo +% \end{layer}^^A tudheadings.head.mainlogo +% \begin{layer}{tudheadings.head.back} +% \changes{v2.03}{2015/02/14}{neu}%^^A +% \begin{layer}{tudheadings.head.bar} +% \changes{v2.03}{2015/02/14}{neu}%^^A +% Außerdem gibt es eine Variante ohne Querbalken-Outline. Stattdessen werden +% der Querbalken und der darüberliegende Kopf farbig abgesetzt. +% \begin{macrocode} + \DeclareNewLayer[% + background,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41}% + \rule{\layerwidth}{\tud@dim@topmargin}% + \fi% + },% + ]{tudheadings.head.back}% + \DeclareNewLayer[% + background,% + voffset=\tud@dim@topmargin,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41!80}% + \rule{\layerwidth}{\tud@dim@barheight}% + \fi% + },% + ]{tudheadings.head.bar}% +% \end{macrocode} +% \end{layer}^^A tudheadings.head.bar +% \end{layer}^^A tudheadings.head.back +% \begin{layer}{tudheadings.head.text} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Fakultät, Einrichtung, Institut und Lehrstuhl als Inhalt des Querbalkens. +% \begin{macrocode} + \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,% + contents={\tud@head@text@box},% + ]{tudheadings.head.text}% +% \end{macrocode} +% \end{layer}^^A tudheadings.head.text +% \begin{layer}{tudheadings.head.upperline} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{layer}{tudheadings.head.lowerline} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{layer}{tudheadings.head.upperwideline} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{layer}{tudheadings.head.lowerwideline} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% Die Ebenen für obere und untere Linie des Querbalkens sowohl in der normalen % Version, welche den Textbereich überspannt als auch in der Variante über die % komplette Seitenbreite. Dabei muss für beide Varianten der entsprechenden % horizontale Versatz beachtet werden. Dafür wird ggf. der Parameter \val{head} % von \pkg{scrlayer-scrpage} verwendet. Darauf folgt \dots % \begin{macrocode} \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.topline}% - \DeclareNewLayer[% - background,head,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% },% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.bottomline}% + ]{tudheadings.head.upperline}% \DeclareNewLayer[% - background,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.topwideline}% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerline}% \DeclareNewLayer[% - background,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% },% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.bottomwideline}% -% \end{macrocode} -% \dots der Inhalt mit Fakultät, Einrichtung, Institut und Lehrstuhl. -% \begin{macrocode} + ]{tudheadings.head.upperwideline}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% - contents={\tud@head@text@box},% - ]{tudheadings.head.text}% + background,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerwideline}% % \end{macrocode} -% Außerdem wird eine weitere Ebene mit dem \DDC-Logo im Seitenfuß erstellt. +% \end{layer}^^A tudheadings.head.lowerwideline +% \end{layer}^^A tudheadings.head.upperwideline +% \end{layer}^^A tudheadings.head.lowerline +% \end{layer}^^A tudheadings.head.upperline +% \begin{layer}{tudheadings.foot.logo} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \changes{v2.03}{2015/01/13}{Ebenendeklaration ist kompatibilitätsabhängig}%^^A +% \begin{layer}{tudheadings.foot.back} +% \changes{v2.03}{2015/02/15}{neu}%^^A +% Außerdem wird eine weitere Ebene für Drittlogos sowie das \DDC-Logo im +% Seitenfuß erstellt. Dabei wird die Ebene in Abhängigkeit vom gewählten +% Kompatibilitätsmodus unterschiedlich definiert. +% +% Ab Version~v2.03 wird der Satzspiegel so gewählt, dass das \DDC-Logo in den +% normalen Seitenfuß passt. % \begin{macrocode} \DeclareNewLayer[% background,foot,% + height=\dimexpr\paperheight-\layeryoffset\relax,% contents={% - \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% - \hfill\tud@footlogo% - },% - ]{tudheadings.foot.ddclogo}% % \end{macrocode} -% Aus den zuvor erstellten Ebenen werden jetzt die eigentlichen Seitenstile -% zusammengesetzt. Mit \cs{newpairofpagestyles} wird neben dem Seitenstil -% \pgs{tudheadings} der passende Seitenstil \pgs{plain.tudheadings} gleich mit -% deklariert. +% Falls die Höhe der Logos im Fuß nicht durch den Anwender festgelegt wurden, +% werden passende Standardwerte gesetzt. % \begin{macrocode} - \newpairofpagestyles{tudheadings}{}% + \ifdim\footlogoheight>\z@\relax\else% + \settoheight\footlogoheight{\tud@mainlogo}% + \iftudscrverlower{2.03}{% + \setlength\footlogoheight{.6\tud@dim@topmargin}% + }{}% + \fi% % \end{macrocode} -% Allerdings führt der Befehl dazu, dass zunächst eine Vielzahl an Ebenen -% hinzugefügt wird, welche nicht benötigt werden. Deshalb werden diese mit -% \cs{RemoveLayersFromPageStyle} zunächst entfernt. +% Die gesetzt Größe der Logos im Fuß wird geprüft. Sollten diese zu groß sein, +% wird eine Warnug ausgegeben. % \begin{macrocode} - \ForEachLayerOfPageStyle{tudheadings}{% - \RemoveLayersFromPageStyle{tudheadings}{#1}% - }% - \ForEachLayerOfPageStyle{plain.tudheadings}{% - \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% - }% + \setlength\@tempdima{% + \dimexpr\footlogoheight-\layerheight+\dp\strutbox\relax% + }% + \ifdim\@tempdima>\vfuzz\relax% + \ClassWarning{\tudcls@name}{% + The chosen `\string\footlogoheight' + (\the\footlogoheight)\MessageBreak% + is \the\@tempdima\space higher than recommended. You\MessageBreak% + should decrease this length + \ifcase\tud@geometry\relax\else% + or alternatively\MessageBreak% + enlarge the bottom margin by using option\MessageBreak% + `extrabottommargin'% + \fi% + }% + \fi% +% \end{macrocode} +% Hier erfolgt die eigentliche Ausgabe der Logos. Dabei werden ggf. zuerst die +% mit \cs{footlogo} angegeben wurden, anschließend wird das \DDC-Logo gesetzt, +% fall dies gefordert ist. +% \begin{macrocode} + \let\@tempa\relax% + \@for\@tempb:=\tud@@footlogo\do{% + \@tempa% + \ifx\@tempb\@empty\else% + \expandafter\tud@footlogo\expandafter{\@tempb}% + \fi% + \let\@tempa\footlogosep% + }% + \tud@ddclogo% + },% + ]{tudheadings.foot.logo}% +% \end{macrocode} +% Bis zur Version~v2.02 wurde für die Verwendung des \DDC-Logos der Satzspiegel +% geändert. Hier wird dem Rechnung getragen. +% \begin{macrocode} + \iftudscrverlower{2.03}{% + \ModifyLayer[% + voffset=\dimexpr\topmargin+1in+\headheight+\headsep+\textheight% + +\footskip-\footheight-\tud@dim@ddcdiff% + \ifcase\tud@geometry\relax\else+\ht\strutbox+\dp\strutbox\fi% + \relax,% + height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,% + ]{tudheadings.foot.logo}% + }{}% % \end{macrocode} -% Nun folgt das Hinzufügen der Ebenen zu den jetzt leeren Seitenstilen. Damit -% die Benutzerschnittstelle von \pkg{scrlayer-scrpage} für die Fußzeile -% weiterhin durch den Anwender verwendet werden kann, werden die entsprechenden -% \pgs{scrheadings}-Ebenen verwendet. +% Diese Ebene wird als Hintergrund für den Fußbereich definiert. % \begin{macrocode} - \AddLayersToPageStyle{tudheadings}{% + \DeclareNewLayer[% + background,% + hoffset=0pt,% + width=\paperwidth,% + voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}% + -\dp\strutbox\relax,% + height=\dimexpr\paperheight-\layeryoffset\relax,% + contents={% + \if@tud@footcolor% + \let\@tempc\relax% + \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi% + \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}% + \ifx\@tempc\relax\else% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \vbox to \layerheight{% + \vfil\@tempc% + \rule{\layerwidth}{% + \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax% + }% + }% + \else% + \@tempc\rule{\layerwidth}{\layerheight}% + \fi% + }{\@tempc\rule{\layerwidth}{\layerheight}}% + \fi% + \fi% + },% + ]{tudheadings.foot.back}% +% \end{macrocode} +% \end{layer}^^A tudheadings.foot.back +% \end{layer}^^A tudheadings.foot.logo +% Aus den zuvor erstellten Ebenen werden jetzt die eigentlichen Seitenstile +% zusammengesetzt. Als erstes wird der \pgs{headings}-Seitenstil definiert. +% Dieser verwendet den TUD-Kopf und die Fußzeilenebenen des Seitenstils +% \pgs{scrheadings}, welche zur Definition des Seitenstils verwendet werden. +% Beim Aktivieren des Seitenstils wird außerdem \cs{tud@ps@init} ausgeführt. +% Damit die Benutzerschnittstelle von \pkg{scrlayer-scrpage} für die Fußzeile +% weiterhin durch den Anwender verwendet werden kann, werden wie erwähnt die +% entsprechenden \pgs{scrheadings}-Ebenen verwendet. +% \begin{macrocode} + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% scrheadings.foot.odd,% scrheadings.foot.even,% scrheadings.foot.oneside,% scrheadings.foot.above.line,% scrheadings.foot.below.line% }% - \AddLayersToPageStyle{plain.tudheadings}{% +% \end{macrocode} +% Zuletzt werden Aliasnamen für den Seitenstil definiert. +% \begin{macrocode} + \DeclareNewPageStyleAlias{tud}{tudheadings}% + \DeclareNewPageStyleAlias{tudscr}{tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% +% \end{macrocode} +% Für den \pgs{plain}-Seitenstil wird ebenso verfahren. Hier werden für die +% Fußzeilenebenen des Seitenstils \pgs{plain.scrheadings} hinzugefügt. +% \begin{macrocode} + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{plain.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% plain.scrheadings.foot.odd,% plain.scrheadings.foot.even,% plain.scrheadings.foot.oneside,% plain.scrheadings.foot.above.line,% plain.scrheadings.foot.below.line% }% - \DeclareNewPageStyleByLayers{empty.tudheadings}{% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}% +% \end{macrocode} +% Des Weiteren gibt es einen selbstständigen \enquote{leeren} Seitenstil, der +% lediglich aus dem Kopf besteht und einen lerren Seitenfuß hat. +% \begin{macrocode} + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{empty.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% - }% -% \end{macrocode} -% Normalerweise werden durch \pkg{scrlayer-scrpage} bei der Umschaltung auf -% einen mit dem Befehl \cs{newpairofpagestyles}\marg{Seitenstil} definierten -% Seitenstil, die Seitenstile \pgs{headings} und \pgs{plain} als Alias für -% \pgs{\meta{Seitenstil}} und \pgs{plain.\meta{Seitenstil}} definiert. Hiermit -% wird zusätzlich dafür gesorgt, das der Seitenstil \pgs{empty} ebenfalls als -% Alias für \pgs{empty.tudheadings} verwendet werden kann. -% \begin{macrocode} - \AddToLayerPageStyleOptions{tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% - }% - \AddToLayerPageStyleOptions{plain.tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% }% - \AddToLayerPageStyleOptions{empty.tudheadings}{% - onselect={% - \letcs\ps@empty{ps@empty.tudheadings}% - \letcs\ps@plain{ps@plain.tudheadings}% - \letcs\ps@headings{ps@tudheadings}% - }% - }% -% \end{macrocode} -% Außerdem wird der Alias-Seitenstil \pgs{tudscrheadings} definiert. -% \begin{macrocode} - \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% - \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}% +% \end{macrocode} +% \begin{layer}{tudheadings.pagecolor} +% \changes{v2.03}{2015/01/09}{neu}%^^A +% Um farbige Titel- Teil- und Kapitelseiten \emph{unabhängig} vom aktuell +% verwendeten Seitenstil erstellen zu können, wird die zusätzliche Ebene +% \val{tudheadings.pagecolor} definiert, die \emph{allen} Seitenstilen +% hinzugefügt wird. +% \begin{macrocode} + \DeclareNewLayer[ + background,page,% + contents={% + \ifdefvoid{\tud@pagecolor}{}{% + \color{\tud@pagecolor}% + \rule{\layerwidth}{\layerheight}% + }% + },% + ]{tudheadings.pagecolor} + \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% % \end{macrocode} -% Der TUD-Kopf erfordert einen eigenen Satzspiegel, der ggf. durch -% \cs{tud@beforepagestyle} aktiviert bzw. deaktiviert wird. +% \end{layer}^^A tudheadings.pagecolor +% Der Kopf im \CD der \TnUD erfordert einen eigenen Satzspiegel, der ggf. durch +% \cs{tud@beforeselectanypagestyle} aktiviert bzw. deaktiviert wird. % \begin{macrocode} - \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}% }% } % \end{macrocode} % \end{pagestyle}^^A empty.tudheadings % \end{pagestyle}^^A plain.tudheadings % \end{pagestyle}^^A tudheadings +% \begin{macro}{\tud@ps@onselect} +% \changes{v2.03}{2015/01/09}{neu}%^^A +% \begin{macro}{\tud@ps@onbackground} +% \changes{v2.03}{2015/02/14}{neu}%^^A +% \begin{macro}{\tud@head@logocolor} +% \begin{macro}{\tud@foot@logocolor} +% \changes{v2.03}{2015/02/15}{neu}%^^A +% Diese Befehle werden bei der Initialiserung der Seitenstile beziehungsweise +% zu Beginn der Ebenenausgabe aufgerufen. +% \begin{macrocode} +\newcommand*\tud@ps@onselect{% +% \end{macrocode} +% Normalerweise werden durch \pkg{scrlayer-scrpage} bei der Umschaltung auf +% einen mit dem Befehl \cs{newpairofpagestyles}\marg{Seitenstil} definierten +% Seitenstil, die Seitenstile \pgs{headings} und \pgs{plain} als Aliase für +% \pgs{\meta{Seitenstil}} und \pgs{plain.\meta{Seitenstil}} festgelegt. +% Allerdings definiert dieser Befehl zusätzliche Ebenen für Kopf- und Fußzeile, +% weshalb auf die Verwendung verziichtet wird. Das automatische Umschalten soll +% dennoch ermöglicht werden. +% \begin{macrocode} + \DeclarePageStyleAlias{plain}{plain.tudheadings}% + \DeclarePageStyleAlias{headings}{tudheadings}% + \def\sls@currentheadings{tudheadings}% + \def\sls@currentplain{plain.tudheadings}% +} +% Das Makro \cs{tud@head@logocolor} enthält die Farbe des Kopfes. Die Gestalt +% des Querbalkens kann über die Option \opt{cdhead} geändert werden. Für Titel, +% Teil und Kapitel gibt es speziell dazugehörige Optionen, womit das Aussehen +% des Kopfes ggf. angepasst werden kann. Mit \cs{tud@foot@logocolor} erfolgt +% dies gleichermaßen für ein etwaiges \DDC-Logo. +% \begin{macrocode} +\newcommand*\tud@head@logocolor{black} +\newcommand*\tud@foot@logocolor{black} +\newcommand*\tud@ps@onbackground{% + \ifcase\tud@head@bar\relax% + \def\tud@head@logocolor{black}% + \def\tud@foot@logocolor{black}% + \or% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \or% + \def\tud@head@logocolor{white}% + \if@tud@footcolor% + \def\tud@foot@logocolor{white}% + \else% + \def\tud@foot@logocolor{HKS41}% + \fi% + \fi% +% \end{macrocode} +% In Abhängigkeit von der eingestzten Hintergrundfarbe der Seite wird die +% Linienstärke des Querbalkens gesetzt. +% \begin{macrocode} + \let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}% +} +% \end{macrocode} +% \end{macro}^^A \tud@foot@logocolor +% \end{macro}^^A \tud@head@logocolor +% \end{macro}^^A \tud@ps@onbackground +% \end{macro}^^A \tud@ps@onselect % \begin{macro}{\ps@tudpage@plain} % \changes{v2.02}{2014/06/23}{entfernt}%^^A % \begin{macro}{\ps@tudpage@empty} @@ -577,124 +775,175 @@ % Diese Befehle wurden mit der \TUDScript-Version~v2.02 entfernt. % \end{macro}^^A \ps@tudpage@empty % \end{macro}^^A \ps@tudpage@plain -% \begin{macro}{\tud@beforepagestyle} +% \begin{macro}{\thispagestyle} +% \changes{v2.03}{2015/01/20}{Auswahl eines Aliasseitenstils unterdrückt}%^^A +% \begin{macrocode} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}} +}{}{\tud@patch@wrn{thispagestyle}} +% \end{macrocode} +% \end{macro}^^A \tud@beforeselectanypagestyle +% \begin{macro}{\tud@beforeselectanypagestyle} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@currentgeometry} % \changes{v2.02}{2014/06/23}{neu}%^^A -% Mit \cs{tud@beforepagestyle} wird beim Umschalten des Seitenstils ggf. der -% Satzspiegel geändert. +% Mit \cs{tud@beforeselectanypagestyle} wird beim Umschalten des Seitenstils +% gegebenfalls der Satzspiegel geändert. Dabei wird der aktivierte Satzspiegel +% in dem Makro \cs{tud@currentgeometry} gesichert, um darauf zu einem späteren +% Zeitpunkt prüfen zu können. +% +% Für den Fall, dass das Dokument nicht ausschließlich mit dem Kopf im \CD +% auf jeder Seite gesetzt wird, muss der komplette vertikale Satzspiegel +% angepasst werden, sonst wäre der obere Rand optisch viel zu groß. Hierfür +% wird das Paket \pkg{geometry} genutzt. Durch \cs{tud@geometry@process} +% werden zwei~-- für die KOmpatibilitätsvariante drei~-- Layouts erstellt. +% Diese können mit \cs{loadgeometry}\marg{Stil} geladen werden. % \begin{macrocode} \newcommand*\tud@currentgeometry{} -\newcommand*\tud@beforepagestyle[1]{% +\newcommand*\tud@beforeselectanypagestyle[1]{% % \end{macrocode} % Der \pgs{tudheadings}-Seitenstil wird mit dem Befehl \cs{newpairofpagestyles} -% derart definiert, dass zwischen \pgs{tudheadings}, \pgs{plain.tudheadings} -% sowie~-- durch die Anpassungen weiter oben~-- \pgs{empty.tudheadings} auch -% mit \LaTeX-Standardseitenstilen \pgs{headings}, \pgs{plain} und \pgs{empty} +% derart definiert, dass zwischen \pgs{tudheadings} und \pgs{plain.tudheadings} +% auch mit \LaTeX-Standardseitenstilen \pgs{headings} bzw. \pgs{plain} % umgeschaltet werden kann. Dies wird hiermit beachtet. % \begin{macrocode} - \def\@tempa{#1}% - \ifstr{\sls@currentheadings}{tudheadings}{% - \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% - \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% - \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% - }{}% + \ifstr{#1}{\GetRealPageStyle{#1}}{% + \def\@tempa{#1}% +% \end{macrocode} +% Vor der \KOMAScript-Version~v3.15 wurden die Seitenstile \pgs{headings} und +% \pgs{plain} nicht als Alias definiert. Dieses Problem wird hiermit behoben. +% \begin{macrocode} + \ifcsdef{scr@v@3.15}{}{% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + }{}% + }% +% \end{macrocode} +% Für den Fall, das ein \pgs{tudheadings}-Seitenstil geladen werden soll, muss +% der dazugehörige Satzspiegel ausgewählt werden\dots +% \begin{macrocode} + \iftudpagestyle{\@tempa}{% % \end{macrocode} -% Für den Fall, das ein \pgs{tudheadings}-Seitenstil geladen werden soll\dots +% \dots wobei in der Version~v2.02 zwei unterschiedliche existierten, und +% abhängig von der Verwendung des \DDC-Logos im Fuß waren. % \begin{macrocode} - \tud@ifinpslist{\@tempa}{% + \iftudscrverlower{2.03}{% % \end{macrocode} -% \dots werden die Einstellungen für den Seitenfuß mit \cs{tud@ddc@check} in +% In diesem Fall werden die Seitenfußeinstellungen mit \cs{tud@ddc@check} in % \cs{@tempb} geschrieben und abhängig davon der richtige Satzspiegel geladen. % Dabei wird zuvor mit dem Wert aus \cs{tud@currentgeometry} geprüft, ob dies % überhaupt notwendig ist. % \begin{macrocode} - \tud@ddc@check% + \tud@ddc@check% % \end{macrocode} % Das \DDC-Logo im Fuß ist nicht aktiviert. % \begin{macrocode} - \ifcase \@tempb\relax% - \ifstr{\tud@currentgeometry}{tudarea}{}{% - \loadgeometry{tudarea}% - \gdef\tud@currentgeometry{tudarea}% - }% + \ifcase\@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% % \end{macrocode} % Das \DDC-Logo im Fuß ist aktiviert. % \begin{macrocode} - \else% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \loadgeometry{tudareaddc}% - \gdef\tud@currentgeometry{tudareaddc}% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% +% \end{macrocode} +% Ab der Version~v2.03 ist nur noch ein Satzspiegel vonnöten. +% \begin{macrocode} + }{% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% }% - \fi% % \end{macrocode} % Die Länge \cs{tud@dim@headdiff} gibt an, wie groß die Differenz zwischen % Kopfhöhe zwischen aktuellem und dem speziellen \pgs{tudheadings}-Seitenstil % ist. Da diese in diesem Fall identisch sind, wird die Länge zu \cs{z@} % gesetzt. % \begin{macrocode} - \setlength{\tud@dim@headdiff}{\z@}% + \setlength\tud@dim@headdiff{\z@}% % \end{macrocode} % Hier ist der Fall, wenn kein \pgs{tudheadings}-Seitenstil geladen werden soll. % Zusätzlich zum Satzspeigel wird außerdem der Seitenstil \pgs{empty} % zurückgesetzt. % \begin{macrocode} - }{% - \ifstr{\tud@currentgeometry}{typearea}{}{% - \loadgeometry{typearea}% - \gdef\tud@currentgeometry{typearea}% - \RedeclarePageStyleByLayers{empty}{}% - }% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + }% % \end{macrocode} % Die Länge \cs{tud@dim@headdiff} wird auf den berechneten Wert gesetzt. Nur % für den Fall, dass die Kopfzeile zum Satzspiegel gerechnet wird und dieser % nicht durch \pkg{typearea} berechnet wurde, muss diese Länge etwas angepasst % werden. % \begin{macrocode} - \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% - \ifcase \tud@geometry\relax\else% - \if@hincl% - \addtolength{\tud@dim@headdiff}{% - \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% - }% + \setlength\tud@dim@headdiff{\tud@ta@headdiff}% + \ifcase\tud@geometry\relax\else% + \if@hincl% + \addtolength\tud@dim@headdiff{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% \fi% - \fi% - }% + }% % \end{macrocode} % Die Länge \cs{tud@dim@headdiff} wird vorsichtshalber global gesetzt. % \begin{macrocode} - \global\tud@dim@headdiff=\tud@dim@headdiff% + \global\tud@dim@headdiff=\tud@dim@headdiff% + }{}% } % \end{macrocode} +% \end{macro}^^A \tud@currentgeometry +% \end{macro}^^A \tud@beforeselectanypagestyle +% \begin{macro}{\cleardoubleoddpageusingstyle} +% \begin{macro}{\cleardoubleevenpageusingstyle} +% \begin{macro}{\cleardoublepageusingstyle} % Damit die Satzspiegelumstellungen nicht durchgeführt werden, wenn durch die % folgenden \KOMAScript-Befehle Leerseiten erzeugt werden, müssen diese minimal % angepasst werden. % \begin{macrocode} \patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} \patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} \patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoublepageusingstyle}} % \end{macrocode} -% \end{macro}^^A \tud@currentgeometry -% \end{macro}^^A \tud@beforepagestyle +% \end{macro}^^A \cleardoublepageusingstyle +% \end{macro}^^A \cleardoubleevenpageusingstyle +% \end{macro}^^A \cleardoubleoddpageusingstyle % \begin{macro}{\tud@ddc@enlargepage} % \changes{v2.02}{2014/06/23}{neu}%^^A -% Der Befehl wird für die Titelkopf- und Kapitelseiten verwendet. Er -% verkleinert die entsprechenden Seiten, wenn für diese mit dem Befehl -% \cs{thispagestyle} einer der \pgs{tudheadings}"=Seitenstile gewählt wurde -% \emph{und} des \DDC-Logo im Fuß gesetzt werden soll. -% \begin{macrocode} -\newcommand*\tud@ddc@enlargepage{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\fi% +% Der Befehl wird nur für den Kompatibilitätsmodus zur Version~v2.02 benötigt +% und für die Titelkopf- und Kapitelseiten verwendet. Er verkleinert die +% entsprechenden Seiten, wenn für diese mit dem Befehl \cs{thispagestyle} einer +% der \pgs{tudheadings}"=Seitenstile gewählt wird \emph{und} das \DDC-Logo im +% Fuß gesetzt werden soll. Der entsprechende Seitenstil kann im optionalen +% Argument angegeben werden, wenn der Befehl bedingt ausgeführt werden soll. +% \begin{macrocode} +\iftudscrverlower{2.03}{% + \newcommand*\tud@ddc@enlargepage[1][]{% + \iftudpagestyle{#1}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \enlargethispage{-\tud@dim@ddcdiff}% + \fi% + }% + }{}% }% -} +}{} % \end{macrocode} % \end{macro}^^A \tud@ddc@enlargepage % \begin{macro}{\tud@head@text} @@ -702,7 +951,6 @@ % \begin{macro}{\tud@head@text@second} % \begin{macro}{\tud@head@text@delimiter} % \begin{macro}{\tud@head@text@buffer} -% \begin{macro}{\tud@head@font} % Diese Befehle sind Hilfsmakros, die bei der Erzeugung der Textzeile inner- und % unterhalb des Querbalkens des TUD-Kopfes dienen. % \begin{macrocode} @@ -711,9 +959,7 @@ \newcommand*\tud@head@text@second{} \newcommand*\tud@head@text@delimiter{} \newcommand*\tud@head@text@buffer{} -\newcommand*\tud@head@font{} % \end{macrocode} -% \end{macro}^^A \tud@head@font % \end{macro}^^A \tud@head@text@buffer % \end{macro}^^A \tud@head@text@delimiter % \end{macro}^^A \tud@head@text@second @@ -721,14 +967,14 @@ % \end{macro}^^A \tud@head@text % \begin{macro}{\tud@head@rule} % \changes{v2.02}{2014/06/23}{gewünschte Breite als Argument}%^^A -% Der Querbalken des Kopfes läuft je nach gewähltem Parameter \opt{widehead} +% Der Querbalken des Kopfes läuft je nach gewähltem Parameter \cs{tud@head@bar} % entweder nur über den Textbereich oder aber über die gesamte Seitenbreite. % Der Befehl erzeugt eine horizontale Linie mit der übergebenen Breite und % über \cs{tud@dim@line} definierter Dicke. % \begin{macrocode} \newcommand*\tud@head@rule[1]{% - \color{\tud@head@color}% - \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% + \color{\tud@head@logocolor}% + \rule[\ht\strutbox]{#1}{\tud@dim@line}% } % \end{macrocode} % \end{macro}^^A \tud@head@rule @@ -742,7 +988,6 @@ % nachfolgt. % \begin{macrocode} \newcommand*\tud@head@text@add[3][, ]{% - \def\tud@head@font{#2}% \edef\tud@head@text{#3}% \ifx\tud@head@text\@empty% \def\tud@head@text@delimiter{}% @@ -754,10 +999,10 @@ \def\@tempa{% \tud@head@text@first% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% - \settowidth{\@tempdima}{\@tempa}% + \settowidth\@tempdima{\@tempa}% \ifdim\@tempdima>\textwidth\relax% \@tempswatrue% \def\tud@head@text@delimiter{}% @@ -769,7 +1014,7 @@ \edef\tud@head@text@second{% \tud@head@text@second% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% \fi% @@ -778,7 +1023,10 @@ % \end{macro}^^A \tud@head@text@add % \begin{macro}{\tud@head@text@box} % \changes{v2.02}{2014/06/23}{neu}%^^A +% \changes{v2.03}{2015/01/09}{Bugfix für zweite Zeile. Diese muss in jedem Fall +% gesetzt werden, auch wenn sie leer ist.}%^^A % Dieser Befehl ist der Inhalt der Ebene für den Text der Kopfzeile. +% \ToDo{Zeilenabstand bei unterschiedlichen Papiergrößen prüfen}[v2.04] % \begin{macrocode} \newcommand*\tud@head@text@box{% % \end{macrocode} @@ -789,14 +1037,8 @@ \faculty{}% \fi% % \end{macrocode} -% Die Farbe des Kopfes wird für Titel und Teileseiten durch die gewählten -% Optionen\footnote{\opt{cdtitle}, \opt{cdpart}} bestimmt.\footnote{für -% die \env{tudpage}-Umgebung kann dieser angepasst werden} -% \begin{macrocode} - \color{\tud@head@color}% -% \end{macrocode} -% Abhängig vom Schalter \cs{if@tud@cdfonts}~-- gesetzt entweder von der globalen -% Klassenoption oder vom lokalelParameter \opt{cdfont}~-- werden entweder die +% Abhängig vom Wert \cs{tud@cdfont}~-- gesetzt entweder von der globalen +% Klassenoption oder vom lokalen Parameter \opt{cdfont}~-- werden entweder die % Schriften des \CDs oder aber die serifenlose Standardschrift für die Kopfzeile % verwendet. % \begin{macrocode} @@ -823,7 +1065,7 @@ % Sollte die zweite Textzeile zu lang sein, was bei kleinen Papierformaten % vorkommen kann, dann wird eine Warnung ausgegeben. % \begin{macrocode} - \settowidth{\@tempdima}{\tud@head@text@second}% + \settowidth\@tempdima{\tud@head@text@second}% \ifdim\@tempdima>\textwidth\relax% \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}% \hfuzz=\@tempdima% @@ -834,15 +1076,26 @@ % \begin{macrocode} \vbox{% \linespread{0}\selectfont% +% \end{macrocode} +% Die Farbe des Textes der ersten Zeile entspricht immer der des Kopfes\dots +% \begin{macrocode} + \color{\tud@head@logocolor}% \tud@head@text@write{\tud@head@text@first}% +% \end{macrocode} +% Die zweite und dritte Zeile sind bei zweifarbigen Kopf normalerweise blau, +% nur für einen dunklen Seitenhintergrund weiß. +% \begin{macrocode} + \ifnum\tud@head@bar>\@ne% + \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{% + \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% + }% + \fi% \ifx\tud@head@text@second\@empty% - \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% - \fi% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% \else% \newline\tud@head@text@write{\tud@head@text@second}% \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\@extraheadline% + \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline% \fi% \fi% }% @@ -923,12 +1176,12 @@ \newcommand*\tud@ddc@switch{} \edef\tud@ddc@switch{% \TUD@numkey@bool,% - {color}{2},{colour}{2},% - {colorblack}{3},{colourblack}{3},% - {gray}{4},{grey}{4},{cdgray}{4},% - {black}{5},% - {blue}{6},{cddarkblue}{6},% - {white}{7}% + {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% + {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% + {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},% + {black}{5},{cdblack}{5},% + {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},% + {white}{7},{cdwhite}{7}% } % \end{macrocode} % \end{macro}^^A \tud@ddc@switch @@ -964,16 +1217,17 @@ % \begin{macrocode} \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% - \ifcase \tud@ddc\relax% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \ifcase\tud@ddc\relax% \@tud@ddc@autosetfalse% \else% \@tud@ddc@autosettrue% \fi% % \end{macrocode} % Abschließend wird der aktuelle Seitenstil erneut aufgerufen, um bei einem -% geänderten Fuß den notwendigen Satzspiegel zu laden. Siehe dazu auch -% \cs{tud@beforepagestyle}. +% geänderten Fuß den notwendigen Satzspiegel zu laden. Dies ist jedoch nur +% notwendig, wenn die Option innerhalb des Dokumentes verwendet wurde. Siehe +% \cs{tud@beforeselectanypagestyle}. % \begin{macrocode} \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% \fi% @@ -982,6 +1236,7 @@ % \end{macro}^^A \if@tud@ddc@autoset % \end{macro}^^A \tud@ddc % \begin{macro}{\tud@ddc@head} +% \changes{v2.03}{2015/01/22}{Bugfix Seitenstilauswahl bei Deaktivierung}%^^A % Die Option \opt{ddchead} dient zum zwingenden Setzen des \DDC-Logos im Kopf % der Seiten im Stil von \pgs{tudheadings}. % \begin{macrocode} @@ -1001,14 +1256,16 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@head\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% % \end{macrocode} % Danach werden die sich ausschließenden Optionen deaktiviert, ohne eine % Sicherung der Werte vorzunehmen. % \begin{macrocode} - \ifcase \tud@ddc@head\relax\else% + \ifcase\tud@ddc@head\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddcfoot=false}% @@ -1019,6 +1276,7 @@ % \end{macrocode} % \end{macro}^^A \tud@ddc@head % \begin{macro}{\tud@ddc@foot} +% \changes{v2.03}{2015/01/22}{Bugfix Seitenstilauswahl bei Deaktivierung}%^^A % Die Option \opt{ddcfoot} dient zum zwingenden Setzen des \DDC-Logos im Fuß % der Seiten im Stil von \pgs{tudheadings}. Das Vorgehen beim Umschalten des % Schlüssels ist äquivalent zur Option \opt{ddchead} @@ -1031,10 +1289,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@foot\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@foot\relax\else% + \ifcase\tud@ddc@foot\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddchead=false}% @@ -1065,45 +1325,52 @@ \let\@tempb\tud@ddc% \fi% \fi% + \iftudscrverlower{2.03}{% + \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi% + }{}% } % \end{macrocode} % \end{macro}^^A \tud@ddc@check % \end{option}^^A ddcfoot % \end{option}^^A ddchead % \end{option}^^A ddc -% \begin{macro}{\tud@ifinpslist} +% \begin{macro}{\iftudpagestyle} % \changes{v2.02}{2014/06/23}{neu}%^^A -% \begin{macro}{\tud@pslist} +% \begin{macro}{\tud@ps@list} % \changes{v2.02}{2014/06/23}{neu}%^^A -% Mit dem Befehl \cs{tud@ifinpslist} wird geprüft, ob der übergebene -% Seitenstil~-- was auch das Makro \cs{currentpagestyle} sein kann, welches -% durch das Paket \pkg{scrlayer-scrpage} definiert wird und den aktuellen -% Seitenstil beinhaltet~-- einem aus \cs{tud@pslist} entspricht. Ist dies der -% Fall, wird das zweite Argument ausgeführt, sonst das dritte. -% \begin{macrocode} -\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} -\newcommand*\tud@pslist{} -\forcsvlist{\listadd\tud@pslist}{% +% Mit dem Befehl \cs{iftudpagestyle} wird geprüft, ob der im ersten Argument +% gegebene Seitenstil~-- was auch das Makro \cs{currentpagestyle} sein kann, +% welches durch das Paket \pkg{scrlayer-scrpage} definiert wird und den +% aktuellen Seitenstil beinhaltet~-- einem aus der Liste \cs{tud@ps@list} +% entspricht. Ist dies der Fall, wird das zweite Argument ausgeführt, +% anderfalls das dritte. +% \begin{macrocode} +\newcommand*\iftudpagestyle[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% +} +\newcommand*\tud@ps@list{} +\forcsvlist{\listadd\tud@ps@list}{% tudheadings,plain.tudheadings,empty.tudheadings% } % \end{macrocode} -% \end{macro}^^A \tud@pslist -% \end{macro}^^A \tud@ifinpslist -% \begin{option}{widehead} -% \begin{macro}{\if@tud@widehead} -% \begin{macro}{\if@tud@widehead@locked} -% Der Schalter dient zur Steuerung der Breite des Querbalkens im Kopf der -% \env{tudpage}-Seite. Entweder der Querbalken liegt im Satzspiegel oder -% aber über die komplette Papierbreite. -% \begin{macrocode} -\newif\if@tud@widehead -\TUD@key@lock{widehead}[true]{% - \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +% \end{macro}^^A \tud@ps@list +% \end{macro}^^A \iftudpagestyle +% \begin{option}{extrabottommargin} +% \begin{length}{\tud@dim@extrabottommargin} +% Diese Option dient dazu, die Höhe des Fußes anzupassen. Dies ist jedoch nur +% möglich, wenn der Satzspiegel des \CDs verwendet wird. Kommt \pkg{typearea} +% zum Einsatz, ist die Option wirkungslos. +% \begin{macrocode} +\newlength\tud@dim@extrabottommargin +\TUD@key{extrabottommargin}{% + \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@geometry@process\fi% + \fi% } % \end{macrocode} -% \end{macro}^^A \if@tud@widehead@locked -% \end{macro}^^A \if@tud@widehead -% \end{option}^^A widehead +% \end{length}^^A \tud@dim@extrabottommargin +% \end{option}^^A extrabottommargin % % \iffalse %</class&option> @@ -1129,8 +1396,8 @@ % eine Warnung ausgegeben, damit das Problem durch den Anwender behoben werden % kann. % \begin{macrocode} - \setlength{\@tempdima}{% - \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + \setlength\@tempdima{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax% }% \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% % \end{macrocode} @@ -1138,13 +1405,10 @@ % geändert. % \begin{macrocode} \def\tud@@mainlogo{TUD-black}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% - \global\let\tud@dim@line\tud@dim@thinline% - \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% - \color{\tud@head@color}% - \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}% } % \end{macrocode} % \end{macro}^^A \tud@@mainlogo @@ -1169,7 +1433,7 @@ % \cs{includegraphics} weitergereicht werden können. % \begin{macrocode} \newcommand*\headlogo[2][]{% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \def\tud@@headlogo{#2}% \def\tud@@@headlogo{#1}% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% @@ -1181,11 +1445,11 @@ \ifx\tud@@headlogo\@empty\else% \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% \fi% - \ifcase \@tempa\relax\or% + \ifcase\@tempa\relax\or% \def\tud@@headlogo{DDC-24}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}% \or% \def\tud@@headlogo{DDC-03}% \or% @@ -1200,9 +1464,10 @@ \def\tud@@headlogo{DDC-30}% \fi% \ifx\tud@@headlogo\@empty\else% - \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% - \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% - {}{\tud@patch@wrn{tud@@@headlogo}}% + \settoheight\@tempdima{\tud@mainlogo}% + \protected@epreto\tud@@@headlogo{% + keepaspectratio,totalheight=\the\@tempdima,% + }% \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% \fi% } @@ -1220,57 +1485,205 @@ % \end{macro}^^A \tud@@headlogo % \end{macro}^^A \tud@headlogo % \end{macro}^^A \headlogo -% \begin{macro}{\tud@ddc@sethead} -% \changes{v2.02}{2014/06/23}{entfernt}%^^A -% Dieser Befehl wurde mit der \TUDScript-Version~v2.02 entfernt. -% \end{macro}^^A \tud@ddc@sethead +% \begin{macro}{\footlogo} +% \changes{v2.03}{2015/01/27}{neu}%^^A +% \begin{macro}{\footlogosep} +% \changes{v2.03}{2015/01/27}{neu}%^^A +% \begin{length}{\footlogoheight} +% \changes{v2.03}{2015/01/27}{neu}%^^A % \begin{macro}{\tud@footlogo} -% \changes{v2.02}{2014/06/23}{neu}%^^A +% \changes{v2.03}{2015/01/27}{neu}%^^A +% \changes{v2.03}{2015/02/02}{optionale Parameter datei-individuell nutzbar}%^^A +% \begin{macro}{\tud@footlogo@parser} +% \changes{v2.03}{2015/02/02}{neu}%^^A % \begin{macro}{\tud@@footlogo} +% \changes{v2.03}{2015/01/27}{neu}%^^A +% \begin{macro}{\tud@@@footlogo} +% \changes{v2.03}{2015/01/27}{neu}%^^A +% Mit dem Befehl \cs{footlogo} kann eine kommasparierte Liste für Logos im +% Fuß angegeben werden, die mit \cs{footlogosep} voneinander getrennt werden. +% \begin{macrocode} +\newlength\footlogoheight +\newcommand*\footlogosep{\hfill} +\newcommand*\footlogo[2][]{% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \def\tud@@footlogo{#2}% + \def\tud@@@footlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} +\newcommand*\tud@@footlogo{} +\newcommand*\tud@@@footlogo{} +% \end{macrocode} +% Der Befehl \cs{tud@footlogo} wird genutzt, um die Logos für den Fuß innerhalb +% der Ebene \val{tudheadings.foot.logo} auszugeben. +% \begin{macrocode} +\DeclareListParser{\tud@footlogo@parser}{:}% +\newcommand*\tud@footlogo[1]{% + \begingroup% +% \end{macrocode} +% Dabei soll es möglich sein, optionale Parameter an \cs{includegraphics} zu +% übergeben. Dies soll zum einen global für alle Dateien als auch individuell +% für einzelne Logos möglich sein. Zu diesem Zweck wird die Schnittstelle für +% den Anwender so gestaltet, dass individuelle Parameter mit einem Doppelpunkt +% direkt an den Dateinamen angehangen werden können. +% \begin{macrocode} + \def\@tempa{}% + \def\@tempb{}% + \@tempswatrue% + \def\do##1{% + \if@tempswa% + \def\@tempa{##1}% + \@tempswafalse% + \else% + \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}% + \fi% + }% + \tud@footlogo@parser{#1}% +% \end{macrocode} +% Wurden tatsächlich inidviduelle Parameter übergeben, so werden diese als +% letztes ausgeführt, um vorige Einstellungen überschreiben zu können. +% \begin{macrocode} + \protected@eappto\tud@@@footlogo{\@tempb}% +% \end{macrocode} +% In jedem Fall werden die Grundeinstellungen als erstes ausgeführt. +% \begin{macrocode} + \protected@epreto\tud@@@footlogo{% + keepaspectratio,totalheight=\the\footlogoheight,% + }% + \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}% + \vbox to \dimexpr\layerheight-\dp\strutbox\relax{% + \vfil\hbox{\@tempc}\vfil\vfil% + }% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \tud@@@footlogo +% \end{macro}^^A \tud@@footlogo +% \end{macro}^^A \tud@footlogo@parser +% \end{macro}^^A \tud@footlogo +% \end{length}^^A \footlogoheight +% \end{macro}^^A \footlogosep +% \end{macro}^^A \footlogo +% \begin{macro}{\tud@ddclogo} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\tud@@ddclogo} % \changes{v2.02}{2014/06/23}{neu, \cs{tud@foot@logo} umbenannt}%^^A +% \changes{v2.03}{2015/01/13}{Größe des Logos kompatibilitätsabhängig}%^^A % Diese Befehle dienen zum Einbinden des \DDC-Logos im Fuß der Seiten im Stil % \pgs{tudheadings}. % \begin{macrocode} -\newcommand*\tud@@footlogo{} -\newcommand*\tud@footlogo{% +\newcommand*\tud@@ddclogo{} +\newcommand*\tud@ddclogo{% \tud@ddc@check% - \ifcase \@tempb\relax\or% - \def\tud@@footlogo{DDC-22}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \ifcase\@tempb\relax\or% + \def\tud@@ddclogo{DDC-22}% + \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}% \or% - \def\tud@@footlogo{DDC-01}% + \def\tud@@ddclogo{DDC-01}% \or% - \def\tud@@footlogo{DDC-07}% + \def\tud@@ddclogo{DDC-07}% \or% - \def\tud@@footlogo{DDC-19}% + \def\tud@@ddclogo{DDC-19}% \or% - \def\tud@@footlogo{DDC-22}% + \def\tud@@ddclogo{DDC-22}% \or% - \def\tud@@footlogo{DDC-25}% + \def\tud@@ddclogo{DDC-25}% \or% - \def\tud@@footlogo{DDC-28}% + \def\tud@@ddclogo{DDC-28}% \fi% - \ifx\tud@@footlogo\@empty\else% - \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \ifx\tud@@ddclogo\@empty\else% + \let\tud@@@footlogo\relax% + \hfill\tud@footlogo{\tud@@ddclogo}% \fi% } % \end{macrocode} -% \end{macro}^^A \tud@@footlogo -% \end{macro}^^A \tud@footlogo +% \end{macro}^^A \tud@@ddclogo +% \end{macro}^^A \tud@ddclogo +% \begin{macro}{\tud@ddc@sethead} +% \changes{v2.02}{2014/06/23}{entfernt}%^^A % \begin{macro}{\tud@ddc@setfoot} % \changes{v2.02}{2014/06/23}{entfernt}%^^A -% Dieser Befehl wurde mit der \TUDScript-Version~v2.02 entfernt. +% Diese Befehle wurden mit der \TUDScript-Version~v2.02 entfernt. % \end{macro}^^A \tud@ddc@setfoot +% \end{macro}^^A \tud@ddc@sethead % % \iffalse %</class&body> %<*class&option> % \fi % +% \begin{option}{cdhead} +% \changes{v2.03}{2015/01/29}{neu}%^^A +% \begin{macro}{\tud@head@font} +% \changes{v2.03}{2015/02/04}{neu}%^^A +% \begin{macro}{\if@tud@head@font@locked} +% \changes{v2.03}{2015/02/04}{neu}%^^A +% \begin{macro}{\tud@head@bar} +% \changes{v2.03}{2015/02/04}{neu}%^^A +% \begin{macro}{\if@tud@head@widebar} +% \changes{v2.03}{2015/02/14}{neu}%^^A +% \begin{macro}{\if@tud@head@widebar@locked} +% \changes{v2.03}{2015/02/14}{neu}%^^A +% Mit dieser Option wird die zentrale Benutzerschnittstelle für Einstellungen +% des typischen Querbalkens für den TUD-Kopf geschaffen. Durch sie können +% sowohl die verwendete Schrift als auch die Stärke für den Balkentext +% (Institut, Fakultät etc.) geändert werden. Zusätzlich ist die Laufweite des +% Querbalkens bzw. die Farbe einstellbar. +% \begin{macrocode} +\cs@lock{tud@head@font}{0} +\newcommand*\tud@head@bar{0} +\bool@lock{@tud@head@widebar} +\TUD@key{cdhead}[true]{% + \TUD@set@numkey{cdhead}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},% + {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},% + {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},% + {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},% + {bicolor}{5},{bicolour}{5},{twocolor}{5},{twocolour}{5},% + {bichrome}{5},{bichromatic}{5},{dichrome}{5},{dichromatic}{5},% + {color}{5},{colour}{5},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5},% + {textwidth}{6},{slim}{6},{slimhead}{6},{nowide}{6},{nowidehead}{6},% + {paperwidth}{7},{wide}{7},{widehead}{7}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% + \cs@set@lock{tud@head@font}{0}% + \or% + \cs@set@lock{tud@head@font}{1}% + \or% + \cs@set@lock{tud@head@font}{2}% + \or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \bool@set@lock{@tud@head@widebar}{false}% + \or% + \bool@set@lock{@tud@head@widebar}{true}% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@head@widebar@locked +% \end{macro}^^A \if@tud@head@widebar +% \end{macro}^^A \tud@head@bar +% \end{macro}^^A \if@tud@head@font@locked +% \end{macro}^^A \tud@head@font +% \end{option}^^A cdhead % \begin{option}{cdfoot} -% \begin{macro}{\if@tud@cdfoot} +% \changes{v2.03}{2015/02/02}{Option \opt{extrabottommargin} bei Längenangabe +% indirekt nutzbar}%^^A +% \begin{macro}{\if@tud@footcolor} % \begin{macro}{\tud@ps@store} % \changes{v2.02}{2014/06/23}{neu}%^^A % \begin{macro}{\tud@@ps@store} @@ -1281,21 +1694,41 @@ % \changes{v2.02}{2014/06/23}{neu}%^^A % Dieser Seitenstil mit dem Kolumnentitel im Fuß wurde bereits für die alte % \cls{tudbook}-Klasse bereitgestellt und soll auch hier optional angeboten -% werden. +% werden. Zusätzlich kann mit dieser Option ggf. ein farbiger Hintergrund in +% der Fußzeile aktiviert werden. % \begin{macrocode} -\newif\if@tud@cdfoot +\newif\if@tud@footcolor \TUD@key{cdfoot}[true]{% - \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \TUD@set@numkey{cdfoot}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{3},{colour}{3},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% +% \end{macrocode} +% Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@restore} +% wiederhergestellt. Dies wird allerdings frühestens nach dem Laden von +% \pkg{scrlayer-scrpage} durchgeführt. +% \begin{macrocode} + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@restore{scrheadings}% + \tud@ps@restore{plain.scrheadings}% + \tud@font@koma@unset{pageheadfoot}% + }% % \end{macrocode} % Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@store} % gesichert, um gegebenenfalls zurückschalten zu können. Anschließend werden -% diese mit dem neuen Stil überschrieben. +% diese mit dem neuen Stil überschrieben. Dies wird allerdings frühestens nach +% dem Laden von \pkg{scrlayer-scrpage} durchgeführt. % \begin{macrocode} - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument% - \if@tud@cdfoot% - \tud@ps@store{headings}% - \tud@ps@store{plain}% + \or% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@store{scrheadings}% + \tud@ps@store{plain.scrheadings}% \tud@font@koma@set{pageheadfoot}{\upshape}% \clearpairofpagestyles% \ofoot[\pagemark]{% @@ -1303,34 +1736,38 @@ {\footnotesize\headmark}% \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% }% + }% % \end{macrocode} -% Die ursprünglichen Kopf- und Fußzeilen werden mit \cs{tud@ps@restore} -% wiederhergestellt. +% Hier kann die Hintergrundfarbe des Fußes aktiviert bzw. deaktiviert werden. % \begin{macrocode} - \else% - \tud@ps@restore{headings}% - \tud@ps@restore{plain}% - \tud@font@koma@unset{pageheadfoot}% - \fi% + \or% + \@tud@footcolorfalse% + \or% + \@tud@footcolortrue% \fi% +% \end{macrocode} +% Außerdem kann mit der Option \opt{extrabottommargin} gesetzt werden. +% \begin{macrocode} + \else% + \TUDoptions{extrabottommargin=#1}% \fi% } % \end{macrocode} % Die nächsten beiden Befehle dienen zum Sichern der Kopf- und Fußzeilen\dots % \begin{macrocode} \newcommand*\tud@ps@store[1]{% - \tud@@ps@store{#1}{odd}{left}{head}{}% - \tud@@ps@store{#1}{odd}{right}{head}{}% - \tud@@ps@store{#1}{odd}{middle}{head}{}% - \tud@@ps@store{#1}{even}{left}{head}{}% - \tud@@ps@store{#1}{even}{right}{head}{}% - \tud@@ps@store{#1}{even}{middle}{head}{}% - \tud@@ps@store{#1}{odd}{left}{foot}{}% - \tud@@ps@store{#1}{odd}{right}{foot}{}% - \tud@@ps@store{#1}{odd}{middle}{foot}{}% - \tud@@ps@store{#1}{even}{left}{foot}{}% - \tud@@ps@store{#1}{even}{right}{foot}{}% - \tud@@ps@store{#1}{even}{middle}{foot}{}% + \tud@@ps@store{#1}{odd}{left}{head}% + \tud@@ps@store{#1}{odd}{right}{head}% + \tud@@ps@store{#1}{odd}{middle}{head}% + \tud@@ps@store{#1}{even}{left}{head}% + \tud@@ps@store{#1}{even}{right}{head}% + \tud@@ps@store{#1}{even}{middle}{head}% + \tud@@ps@store{#1}{odd}{left}{foot}% + \tud@@ps@store{#1}{odd}{right}{foot}% + \tud@@ps@store{#1}{odd}{middle}{foot}% + \tud@@ps@store{#1}{even}{left}{foot}% + \tud@@ps@store{#1}{even}{right}{foot}% + \tud@@ps@store{#1}{even}{middle}{foot}% } % \end{macrocode} % \dots, wobei hierfür auf die internen Befehle von \pkg{scrlayer-scrpage} @@ -1338,40 +1775,35 @@ % \begin{macrocode} \newcommand*\tud@@ps@store[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% - \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}% }% } \newcommand*\tud@ps@restore[1]{% - \tud@@ps@restore{#1}{odd}{left}{head}{}% - \tud@@ps@restore{#1}{odd}{right}{head}{}% - \tud@@ps@restore{#1}{odd}{middle}{head}{}% - \tud@@ps@restore{#1}{even}{left}{head}{}% - \tud@@ps@restore{#1}{even}{right}{head}{}% - \tud@@ps@restore{#1}{even}{middle}{head}{}% - \tud@@ps@restore{#1}{odd}{left}{foot}{}% - \tud@@ps@restore{#1}{odd}{right}{foot}{}% - \tud@@ps@restore{#1}{odd}{middle}{foot}{}% - \tud@@ps@restore{#1}{even}{left}{foot}{}% - \tud@@ps@restore{#1}{even}{right}{foot}{}% - \tud@@ps@restore{#1}{even}{middle}{foot}{}% + \tud@@ps@restore{#1}{odd}{left}{head}% + \tud@@ps@restore{#1}{odd}{right}{head}% + \tud@@ps@restore{#1}{odd}{middle}{head}% + \tud@@ps@restore{#1}{even}{left}{head}% + \tud@@ps@restore{#1}{even}{right}{head}% + \tud@@ps@restore{#1}{even}{middle}{head}% + \tud@@ps@restore{#1}{odd}{left}{foot}% + \tud@@ps@restore{#1}{odd}{right}{foot}% + \tud@@ps@restore{#1}{odd}{middle}{foot}% + \tud@@ps@restore{#1}{even}{left}{foot}% + \tud@@ps@restore{#1}{even}{right}{foot}% + \tud@@ps@restore{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@restore[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% - \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% \csundef{@@tud@ps@#1@#2@#3@#4}% - }% + }{}% } % \end{macrocode} -% Damit die Einstellungen aus der Präambel übernommen werden, wird die Option -% ggf. zu Beginn mit \cs{AtBeginDocument} aufgerufen. -% \begin{macrocode} -\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} -% \end{macrocode} % \end{macro}^^A \tud@@ps@restore % \end{macro}^^A \tud@ps@restore % \end{macro}^^A \tud@@ps@store % \end{macro}^^A \tud@ps@store -% \end{macro}^^A \if@tud@cdfoot +% \end{macro}^^A \if@tud@footcolor % \end{option}^^A cdfoot % \begin{macro}{\tud@ps@headings} % \changes{v2.02}{2014/06/23}{entfernt}%^^A @@ -1385,7 +1817,7 @@ % \end{macro}^^A \tud@ps@plain % \end{macro}^^A \tud@ps@myheadings % \end{macro}^^A \tud@ps@headings -% \begin{option}{geometry} +% \begin{option}{cdgeometry} % \begin{macro}{\tud@geometry} % \begin{macro}{\if@tud@geometry@locked} % Für das \CD sind standardmäßig feste Seitenränder vorgegeben. Diese sind @@ -1402,8 +1834,8 @@ % Satzspiegeloptionen umgesetzt und nachfolgend definiert. % \begin{macrocode} \newcommand*\tud@geometry{0} -\TUD@key@lock{geometry}[true]{% - \TUD@set@numkey@lock{geometry}{tud@geometry}{% +\TUD@key@lock{cdgeometry}[true]{% + \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{% \TUD@numkey@bool,% {typearea}{0},% {tud}{1},{asymmetric}{1},{cd}{1},% @@ -1417,7 +1849,7 @@ % \end{macrocode} % \end{macro}^^A \if@tud@geometry@locked % \end{macro}^^A \tud@geometry -% \end{option}^^A geometry +% \end{option}^^A cdgeometry % % \iffalse %</class&option> @@ -1428,18 +1860,22 @@ % \begin{length}{\tud@ta@topmargin} % \begin{length}{\tud@ta@headheight} % \begin{length}{\tud@ta@headsep} +% \begin{length}{\tud@ta@footheight} +% \changes{v2.03}{2015/01/09}{neu, für entsprechende \pkg{typearea}-Option}%^^A % \begin{length}{\tud@ta@footskip} % Diese Längen werden benötigt, um einen mit \pkg{typearea} berechneten % Satzspiegel an \pkg{geometry} weiterzureichen und die unterschiedlichen, vom % Satzspiegel abhängigen Seitenlayouts zu erstelen. % \begin{macrocode} -\newlength{\tud@ta@textheight} -\newlength{\tud@ta@topmargin} -\newlength{\tud@ta@headheight} -\newlength{\tud@ta@headsep} -\newlength{\tud@ta@footskip} +\newlength\tud@ta@textheight +\newlength\tud@ta@topmargin +\newlength\tud@ta@headheight +\newlength\tud@ta@headsep +\newlength\tud@ta@footheight +\newlength\tud@ta@footskip % \end{macrocode} % \end{length}^^A \tud@ta@footskip +% \end{length}^^A \tud@ta@footheight % \end{length}^^A \tud@ta@headsep % \end{length}^^A \tud@ta@headheight % \end{length}^^A \tud@ta@topmargin @@ -1455,7 +1891,7 @@ % das \CD vorgegeben ist oder der durch \pkg{typearea} berechnete. Die Länge % \cs{tud@ta@footdiff} wurde mit der \TUDScript-Version~v2.02 entfernt. % \begin{macrocode} -\newlength{\tud@ta@headdiff} +\newlength\tud@ta@headdiff % \end{macrocode} % \end{length}^^A \tud@ta@footdiff % \end{length}^^A \tud@ta@headdiff @@ -1474,11 +1910,16 @@ % \begin{macrocode} \newcommand*\tud@geometry@restore{} \AfterCalculatingTypearea{% - \setlength{\tud@ta@textheight}{\textheight}% - \setlength{\tud@ta@topmargin}{\topmargin}% - \setlength{\tud@ta@headheight}{\headheight}% - \setlength{\tud@ta@headsep}{\headsep}% - \setlength{\tud@ta@footskip}{\footskip}% + \setlength\tud@ta@textheight{\textheight}% + \setlength\tud@ta@topmargin{\topmargin}% + \setlength\tud@ta@headheight{\headheight}% + \setlength\tud@ta@headsep{\headsep}% + \ifcsvoid{ta@fh}{% + \setlength\tud@ta@footheight{\footheight}% + }{% + \setlength\tud@ta@footheight{\ta@fh}% + }% + \setlength\tud@ta@footskip{\footskip}% \let\tud@geometry@restore\Gm@restore@org% \if@atdocument% \let\Gm@restore@org\relax% @@ -1487,7 +1928,8 @@ % Damit Änderungen am Satzspiegel im Dokument sicher übernommen werden, wird % das Setzen des Satzspiegels forciert. Dafür wird \cs{tud@currentgeometry} % zurückgesetzt und anschließend der aktuelle Seitenstil erneut geladen, um das -% erneute und korrekte Ausführen von \cs{tud@beforepagestyle} zu erzwingen. +% erneute und korrekte Ausführen von \cs{tud@beforeselectanypagestyle} zu +% erzwingen. % \begin{macrocode} \gdef\tud@currentgeometry{}% \expandafter\pagestyle\expandafter{\currentpagestyle}% @@ -1498,25 +1940,26 @@ % \end{macro}^^A \tud@geometry@restore % \begin{macro}{\tud@geometry@hmargin} % \begin{macro}{\tud@geometry@vmargin} -% \begin{macro}{\tud@geometry@pmargin} -% \begin{macro}{\tud@geometry@dmargin} -% Dies sind Hilfsmakros zur Definition unterschiedicher Seitenlayouts -% (horizontale und vertikale Ränder). Es handelt sich dabei um die Definition -% der horizontalen und vertikalen Seitenränder sowie die angepassten vertikalen -% Einstellungen für die Seitenstilvarianten mit TUD-Kopf und/oder \DDC-Fuß. -% Gesetzt werden diese in Abhängigkeit von der Option \opt{geometry} im +% \begin{macro}{\tud@geometry@tudmargin} +% \begin{macro}{\tud@geometry@ddcmargin} +% Dies sind Hilfsmakros für die Definition der unterschiedichen Seitenlayouts +% (horizontale und vertikale Ränder). Es handelt sich dabei um die Seitenränder +% für den normalen Textbereich sowie die angepassten vertikalen Einstellungen +% für die Seitenstilvarianten mit TUD-Kopf. Im Kompatibilitätsmodus für die +% Version~v2.02 gibt es außerdem einen separaten Satzspiegel für den \DDC-Fuß. +% Gesetzt werden diese in Abhängigkeit von der Option \opt{cdgeometry} im % Makro \cs{tud@geometry@process} bzw. \cs{tud@geometry@@process}. % \begin{macrocode} \newcommand*\tud@geometry@hmargin{} \newcommand*\tud@geometry@vmargin{} -\newcommand*\tud@geometry@pmargin{} -\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@tudmargin{} +\iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{} % \end{macrocode} -% \end{macro}^^A \tud@geometry@dmargin -% \end{macro}^^A \tud@geometry@pmargin +% \end{macro}^^A \tud@geometry@ddcmargin +% \end{macro}^^A \tud@geometry@tudmargin % \end{macro}^^A \tud@geometry@vmargin % \end{macro}^^A \tud@geometry@hmargin -% \changes{v2.02}{2014/06/29}{Verzögertes Laden von \pkg{geometry}}%^^A +% \changes{v2.02}{2014/06/29}{\pkg{geometry} Laden verzögert}%^^A % Das Paket \pkg{geometry} erlaubt eine genaue Vorgabe des Satzspiegels und % der Seitenränder, wie es vom \CD der TU~Dresden verlangt wird. Damit dieses % alle Satzspiegeleinstellungen korrekt vornimmt und auch alle Klassenoptionen @@ -1528,7 +1971,7 @@ % \opt{crop} geladen wurde, um die Seitenränder nicht zu ändern. % \begin{macrocode} \AtEndPreamble{% - \tud@ifsacrop{}{% + \ifstandalonecrop{}{% \recalctypearea% \RequirePackage{geometry}[2010/09/12]% \tud@geometry@process% @@ -1538,6 +1981,9 @@ % \end{macrocode} % \begin{macro}{\tud@geometry@process} % \changes{v2.02}{2014/06/23}{diverse Anpassungen an \pkg{scrlayer-scrpage}}%^^A +% \changes{v2.03}{2015/01/09}{Satzspiegel des \CDs angepasst}%^^A +% \changes{v2.03}{2015/01/09}{intiale Festlegung der Länge \cs{marginpar}}%^^A +% \changes{v2.03}{2015/01/13}{Satzspiegel kompatibilitätsabhängig}%^^A % \begin{macro}{\tud@geometry@@process} % Das Makro \cs{tud@geometry@process} setzt die Option für den gewünschten % Satzspiegel um, sowohl für die Seitenränder als auch zur Einberechnung der @@ -1562,52 +2008,73 @@ % Dazu werden die berechneten Werte in die entsprechenden Hilfsmakros % für die Erstellung der \pkg{geometry}-Satzspiegel übergeben. % \begin{macrocode} - \ifcase \tud@geometry\relax% + \ifcase\tud@geometry\relax% \def\tud@geometry@hmargin{% left=\dimexpr\oddsidemargin+1in\relax,% width=\textwidth,% + marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,% + \if@twoside\if@reversemargin% + marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,% + \fi\fi% + marginparsep=.5\tud@ta@headsep,% }% \def\tud@geometry@vmargin{% - top={% - \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% - },% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep% + +1in\relax,% headheight=\tud@ta@headheight,% headsep=\tud@ta@headsep,% textheight=\tud@ta@textheight,% footskip=\tud@ta@footskip,% }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% - footskip=\tud@ta@footskip,% - }% - \def\tud@geometry@dmargin{% - textheight={% - \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% - },% - footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + ignorehead,% }% % \end{macrocode} % Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile % für den \pkg{typearea}-Satzspiegel berechnet. % \begin{macrocode} - \setlength{\tud@ta@headdiff}{\dimexpr% - \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% - -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% - }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% }% % \end{macrocode} % Sollte der \pkg{typearea}-Satzspiegel noch unterhalb des TUD-Kopfes liegen, % wird der Abstand zum Kopf vergrößert. % \begin{macrocode} \ifdim\tud@ta@headdiff<\z@\relax% - \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \addtolength\tud@dim@headsep{-\tud@ta@headdiff}% + \fi% +% \end{macrocode} +% Für den Kompatibilitätsmodus der Version~v2.02 gibt es für den \DDC-Fuß einen +% separaten Satzspiegel. +% \begin{macrocode} + \iftudscrverlower{2.03}{% + \setlength\tud@dim@ddcdiff{% + \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep% + +\tud@ta@footheight-1.25\baselineskip\relax% + }% + \def\tud@geometry@ddcmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff% + -\tud@dim@ddcdiff\relax,% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + }{}% +% \end{macrocode} +% Sollte die Option \opt{extrabottommargin} verwendet worden sein, wird eine +% Warnung ausgegeben, dass diese für den \pkg{typearea}-Satzspiegel wirkungslos +% ist. +% \begin{macrocode} + \ifdim\tud@dim@extrabottommargin=\z@\relax\else% + \ClassWarning{\tudcls@name}{% + Option `extrabottommargin' is ineffective when\MessageBreak% + package typearea is used (`cdgeometry=no')% + }% \fi% % \end{macrocode} % Hier erfolgt die Definition der Hilfsmakros für das CD-konforme asymmetrische @@ -1616,10 +2083,16 @@ % unterschiedlichen Optionen definiert. Danach kommt der Gleichanteil. % \begin{macrocode} \else% - \ifcase \tud@geometry\or% + \ifcase\tud@geometry\or% \def\tud@geometry@hmargin{% - left=\tud@dim@left,% + left=\tud@dim@widemargin,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@reversemargin% + marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% \if@twoside asymmetric,\fi% }% @@ -1631,6 +2104,8 @@ \def\tud@geometry@hmargin{% left=.5\tud@dim@both,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% % \end{macrocode} @@ -1648,67 +2123,106 @@ left=.5\tud@dim@both,% \fi% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@twoside% + \if@reversemargin% + marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + \else% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \fi% % \end{macrocode} -% Für alle drei Varianten der vertikale Gleichanteil. -% \begin{macrocode} - \def\tud@geometry@vmargin{% - top=\tud@dim@top,% - headheight=\tud@ta@headheight,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - \tud@geometry@hincl,% - \tud@geometry@fincl,% +% Für alle drei Varianten der vertikale Gleichanteil. Der Satzspiegel der +% Version~v2.02 wird aus Gründen der Kompatibilität weiterhin vorgehalten. +% \begin{macrocode} + \iftudscrverlower{2.03}{% + \def\tud@geometry@vmargin{% + top=.5\tud@dim@both,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + }{% + \def\tud@geometry@vmargin{% + top=\tud@dim@slimmargin,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + bottom=\dimexpr\tud@dim@widemargin+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - }% -% \end{macrocode} -% Wird die Fußzeile zum Satzspiegel gerechnet, ist für Seiten mit \DDC-Fuß -% etwas Handarbeit notwendig, damit dieser nicht allzu weit nach oben ragt. -% \begin{macrocode} - \def\tud@geometry@dmargin{% - \if@fincl% - bottom=\dimexpr% - \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% - \else% - bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% - \fi% - footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + ignorehead,% }% % \end{macrocode} % Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile % für den Satzspiegel des \CDs berechnet. % \begin{macrocode} - \setlength{\tud@ta@headdiff}{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight% - +\tud@dim@headsep-\tud@dim@top\relax% - }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@dim@slimmargin\relax% }% +% \end{macrocode} +% Für die Kompatibilitätsvariante wieder mal die Extrawurst\dots +% \begin{macrocode} + \iftudscrverlower{2.03}{% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -.5\tud@dim@both\relax% + }% +% \end{macrocode} +% Wird die Fußzeile zum Satzspiegel gerechnet, ist für Seiten mit \DDC-Fuß +% etwas Handarbeit notwendig, damit dieser nicht allzu weit nach oben ragt. +% \begin{macrocode} + \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}% + \def\tud@geometry@ddcmargin{% + \if@fincl% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \else% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff\relax,% + \fi% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip+\tud@dim@ddcdiff\relax,% + }% + }{}% \fi% % \end{macrocode} % Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile % für den Satzspiegel des \CDs berechnet. Außerdem wird die standardmäßige % vertikale Verschiebung der Überschriften festgelegt. % \begin{macrocode} - \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi% \global\tud@ta@headdiff=\tud@ta@headdiff% - \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% - \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% - \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}% \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% % \end{macrocode} +% Für den Satzspiegel der Version~v2.02 wird außerdem die Länge für den höheren +% Seitenfuß gesetzt. +% \begin{macrocode} + \iftudscrverlower{2.03}{% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + }{}% +% \end{macrocode} % Es wird \cs{tud@geometry@@process} aufgerufen, was die zuvor definierten % Hilfsmakros nutzt, um alle benötigten Seitenlayouts optionsabhängig zu % erstellen. @@ -1726,32 +2240,34 @@ % \begin{macrocode} \newcommand*\tud@geometry@@process{% % \end{macrocode} -% Als erstes wird der Satzspiegel für TUD-Kopf und \DDC-Fuß erstellt. Das -% Einbeziehen der Fußzeile in den Satzspiegel erfolgt ggf. manuell bei der -% Definition von \cs{tud@geometry@dmargin}. -% \begin{macrocode} - \edef\@tempa{% - \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - \tud@geometry@dmargin,% - ignorehead,ignorefoot,% - }% - \expandafter\newgeometry\expandafter{\@tempa}% - \savegeometry{tudareaddc}% +% Für den Satzspiegel der Version~v2.02 wird als erstes der Satzspiegel für den +% TUD-Kopf zusammen mit dem \DDC-Fuß erstellt. Das Einbeziehen der Fußzeile in +% den Satzspiegel erfolgt nicht ggf. über die Option \opt{includefoot} sondern +% manuell bei der Definition von \cs{tud@geometry@ddcmargin}. +% \begin{macrocode} + \iftudscrverlower{2.03}{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% + \tud@geometry@ddcmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + }{}% % \end{macrocode} -% Danach folgt der Seitenstil, welcher zwar den TUD-Kopf aber lediglich die -% Standardfußzeile hat. +% Danach folgt der Seitenstil, mit dem TUD-Kopf und der Standardfußzeile. % \begin{macrocode} \edef\@tempa{% \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - ignorehead,% - \tud@geometry@fincl% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{tudarea}% % \end{macrocode} -% Der Standardsatzspiegel wird erstellt. +% Als letztes wird der Standardsatzspiegel erstellt. % \begin{macrocode} \edef\@tempa{% \tud@geometry@hmargin,% @@ -1796,15 +2312,16 @@ % \changes{v2.02}{2014/07/18}{neu}%^^A % \begin{macro}{\tud@currentpagestyle@reset} % \changes{v2.02}{2014/07/18}{neu}%^^A +% \changes{v2.03}{2015/01/09}{Bugfix, wenn \cs{tud@currentpagestyle} void}%^^A % Durch den hohen TUD-Kopf muss bei der Verwendung dessens das Seitenlayout % temporär umgeschaltet werden, um die Höhe des Satzspiegels zu verringern. % Dies geschieht innerhalb dieser Umgebung reversibel mit \cs{pagestyle}. % Dabei wird mit \cs{loadgeometry} ein Seitenumbruch erzwungen und der % benötigte Satzspiegel geladen. % -% Die Befehle \cs{tud@currentpagestyle@set} und -% \cs{tud@currentpagestyle@reset} sind für die Sicherung und Wiederherstellung -% des vor der Umgebung geladenen Seitenstils verantwortlich. +% Die Befehle \cs{tud@currentpagestyle@set} und \cs{tud@currentpagestyle@reset} +% sind für die Sicherung und Wiederherstellung des vor der Umgebung geladenen +% Seitenstils verantwortlich. % % Zu Beginn der Umgebung werden die weiter unten beschriebenen Optionen für % diese Umgebung mit \cs{TUD@parameter@set} ausgeführt. Nach dem Beenden der @@ -1815,12 +2332,22 @@ \newcommand*\tud@ps{tudheadings} \newcommand*\tud@ps@select{% \expandafter\pagestyle\expandafter{\tud@ps}% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{% + \renewcommand*\titlepagestyle{empty}% %<*book|report> - \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}% - \ifstr{\tud@ps}{empty.tudheadings}{% - \renewcommand*\chapterpagestyle{empty.tudheadings}% + \renewcommand*\partpagestyle{empty}% + \renewcommand*\chapterpagestyle{empty}% +%</book|report> + \renewcommand*\indexpagestyle{empty}% }{}% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{% + \renewcommand*\titlepagestyle{empty.tudheadings}% +%<*book|report> + \renewcommand*\partpagestyle{empty.tudheadings}% + \renewcommand*\chapterpagestyle{empty.tudheadings}% %</book|report> + \renewcommand*\indexpagestyle{empty.tudheadings}% + }{}% } \newcommand*\tud@currentpagestyle{} \newcommand*\tud@currentpagestyle@set{% @@ -1829,8 +2356,10 @@ }{}% } \newcommand*\tud@currentpagestyle@reset{% - \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% - \let\tud@currentpagestyle\relax% + \ifdefvoid{\tud@currentpagestyle}{}{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% + }% } \NewEnviron{tudpage}[1][]{% % \end{macrocode} @@ -1838,8 +2367,9 @@ % dieser im Hilfsmakro \cs{tud@currentpagestyle} gespeichert. % \begin{macrocode} \tud@currentpagestyle@set% - \clearpage\def\tud@ps{tudheadings}% - \TUD@parameter@set[tudpage]{#1}% + \clearpage% + \def\tud@ps{tudheadings}% + \TUD@parameter@set{tudpage}{#1}% \tud@ps@select% \tud@multicols@check% % \end{macrocode} @@ -1871,45 +2401,51 @@ % \end{macro}^^A \tud@ps@select % \end{macro}^^A \tud@ps % \end{environment}^^A tudpage +% \begin{macro}{\TUD@parameter@define@ps} % Im Folgenden werden die einzelnen Parameter für die \env{tudpage}"=Umgebung -% definiert. Mit \cs{TUD@parameter}\marg{Family}\marg{\dots} wird die -% Parameterfamilie festgelegt und anschließend die Definitionen getätigt. +% definiert. Die Parameter für Kopf- und Fußzeile werden nicht nur für die +% \env{tudpage}-Umgebung sondern auch noch für Titel und Umschlagseite +% verwendet, weshalb deren Definitionen zur einfacheren Wiederverwendung in das +% Makro \cs{TUD@parameter@define@ps} ausgelagert werden. % \begin{macrocode} -\TUD@parameter{tudpage}{% +\newcommand*\TUD@parameter@define@ps[1]{% % \end{macrocode} -% \begin{parameter}{language} -% Mit diesem Parameter kann die Sprache in der Umgebung umgeschaltet werden. Die -% Sprache kann auch ohne den entsprechenden Schlüssel direkt als Parameter -% angegeben werden. +% \begin{parameter}{cdfont} +% Die Option \opt{cdfont} bestimmt, ob die Schriften des \CDs oder aber die +% standardmäßigen Serifenlosen für die Auszeichnugen in der Kopfzeile und +% Serifen im Inhalt verwendet werden. % \begin{macrocode} - \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% % \end{macrocode} -% \end{parameter} ^^A language -% \begin{parameter}{columns} -% Hiermit kann die Anzahl der Spalten für die Umgebung angegeben werden. Für -% mehr als zwei Spalten muss das Paket \pkg{multicols} geladen werden. Die -% Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter -% angegeben werden. +% \end{parameter}^^A cdfont +% \begin{parameter}{cdhead} +% \changes{v2.03}{2015/01/28}{\val{barfont} und \val{widehead} überlagert}%^^A +% Mit dem Parameter \val{cdhead} kann die Verwendung der Schriften des \CDs +% aktiviert werden, wenn diese im Fließtext nicht zum Einsatz kommen. Die +% Breite des Querbalkens kann über diesen Parameter ebenfalls geändert werden. % \begin{macrocode} - \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}% % \end{macrocode} -% \end{parameter} ^^A columns -% \begin{parameter}{color} -% \begin{parameter}{colour} -% Die \opt{color}"=Option ändert die Farbe von Schrift, Querbalken und im -% pdf\LaTeX-Modus auch die des TUD-Logos. +% \end{parameter}^^A cdhead +% \begin{parameter}{cdfoot} +% \changes{v2.03}{2015/01/30}{neu}%^^A +% Über \val{cdfoot} kann gg. die Hintergrundfarbe sowie die Standardfußzeile +% des \CDs aktiviert werden. % \begin{macrocode} - \TUD@parameter@define{color}[HKS41]{\def\tud@head@color{#1}}% - \TUD@parameter@let{colour}{color}% + \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}% % \end{macrocode} -% \end{parameter}^^A colour -% \end{parameter}^^A color -% \begin{parameter}{widehead} -% Die Breite des Querbalkens kann ebenfalls geändert werden. +% \end{parameter}^^A cdfoot +% \begin{parameter}{headlogo} +% \changes{v2.03}{2015/01/28}{neu}%^^A +% \begin{parameter}{footlogo} +% \changes{v2.03}{2015/01/28}{neu}%^^A +% Das Zweit- und die Drittlogos können ebenfalls lokal geändert werden. % \begin{macrocode} - \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@define{footlogo}{\footlogo{#1}}% % \end{macrocode} -% \end{parameter}^^A widehead +% \end{parameter}^^A footlogo +% \end{parameter}^^A headlogo % \begin{parameter}{ddc} % \changes{v2.02}{2014/08/16}{neu}%^^A % \begin{parameter}{ddchead} @@ -1920,79 +2456,110 @@ \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% % \end{macrocode} -% \end{parameter}^^A ddc -% \end{parameter}^^A ddchead % \end{parameter}^^A ddcfoot -% \begin{parameter}{head} -% \changes{v2.02}{2014/06/30}{entfernt, Funktionalität teilweise durch Option -% \opt{ddchead} übernommen}%^^A -% \begin{parameter}{foot} -% \changes{v2.02}{2014/06/30}{entfernt, Funktinalität teilweise durch Option -% \opt{ddcfoot} übernommen}%^^A -% Diese Parameter wurden entfernt. Innerhalb der Umgebung können hierfür -% \cs{TUDoptions} mit den Schlüsseln \opt{ddchead=\dots} und \opt{ddcfoot=\dots} -% sowie \cs{headlogo} bzw. für den Querbalken \opt{widehead=true/false} genutzt -% werden. -% \end{parameter}^^A head -% \end{parameter}^^A foot -% \begin{parameter}{cdfont} +% \end{parameter}^^A ddchead +% \end{parameter}^^A ddc % \begin{parameter}{cdfonts} -% \changes{v2.02}{2014/08/08}{entfernt}^^A % \begin{parameter}{tudfonts} -% \changes{v2.02}{2014/08/08}{entfernt}^^A -% Die Option \opt{cdfont} bzw. \opt{cdfonts} bestimmt, ob die Schriften des -% \CDs{} oder aber die standarmäßigen Serifenlosen für die Auszeichnugen in der -% Kopfzeile und Serifen im Inhalt verwendet werden. +% \begin{parameter}{barfont} +% \begin{parameter}{widehead} +% \begin{parameter}{tudfoot} +% \begin{parameter}{logo} +% Für die Kompatibilität werden auch veraltete Parameter bereitgestellt. % \begin{macrocode} - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}% + \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}% + \TUD@parameter@let{logo}{headlogo}% % \end{macrocode} +% \end{parameter}^^A logo +% \end{parameter}^^A tudfoot +% \end{parameter}^^A widehead +% \end{parameter}^^A barfont % \end{parameter}^^A tudfonts % \end{parameter}^^A cdfonts -% \end{parameter}^^A cdfont -% \begin{parameter}{barfont} -% \changes{v2.02}{2014/07/08}{neu}%^^A -% Mit der Option \opt{headfont} kann die Verwendung der Schriften des \CDs -% aktiviert werden, wenn diese im Fließtext nicht zum Einsatz kommen. +% Damit sind alle notwendigen Parameter für die Kopf- und Fußzeile der Seiten +% im Stil \pgs{tudheadings} definiert. % \begin{macrocode} - \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% +} +% \end{macrocode} +% \end{macro}^^A \TUD@parameter@define@ps +% Mit \cs{TUD@parameter}\marg{Family}\marg{\dots} wird die Parameterfamilie +% festgelegt und anschließend die Definitionen getätigt. +% \begin{macrocode} +\TUD@parameter{tudpage}{% +% \end{macrocode} +% \begin{parameter}{language} +% Mit diesem Parameter kann die Sprache in der Umgebung umgeschaltet werden. Die +% Sprache kann auch ohne den entsprechenden Schlüssel direkt als Parameter +% angegeben werden. +% \begin{macrocode} + \TUD@parameter@define{language}{\selectlanguage{#1}}% +% \end{macrocode} +% \end{parameter} ^^A language +% \begin{parameter}{columns} +% Hiermit kann die Anzahl der Spalten für die Umgebung angegeben werden. Für +% mehr als zwei Spalten muss das Paket \pkg{multicols} geladen werden. Die +% Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter +% angegeben werden. +% \begin{macrocode} + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% % \end{macrocode} -% \end{parameter}^^A headfont +% \end{parameter} ^^A columns +% \begin{parameter}{color} +% \changes{v2.03}{2015/01/28}{entfernt}%^^A +% \begin{parameter}{colour} +% \changes{v2.03}{2015/01/28}{entfernt}%^^A +% Beide Parameter wurden entfernt, da diese augenscheinlich für das \CD nicht +% notwendig sind. +% \end{parameter}^^A colour +% \end{parameter}^^A color % \begin{parameter}{pagestyle} % \changes{v2.02}{2014/06/23}{neu}%^^A +% \changes{v2.03}{2015/01/28}{\cs{iftudpagestyle} verwendet}%^^A % Mit diesem Parameter kann der verwendete Seitenstil eingestellt werden, wobei -% entweder \pgs{tudheadings} oder aber\pgs{plain.tudheadings} bzw. -% \pgs{empty.tudheadings} verwendet wird. +% einer der \pgs{tudheadings}-Seitenstile verwendet wird. % \begin{macrocode} \TUD@parameter@define{pagestyle}{% - \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% - \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% - \TUD@parameter@wrn{pagestyle}{% - headings, plain, empty or any tudheadings page style type% - }% - }}}}}}% + \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@error{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}% + }% }% % \end{macrocode} % \end{parameter}^^A pagestyle -% \begin{parameter}{headlogo} -% \begin{parameter}{logo} -% Das sekundäre Logo kann ebenfalls lokal geändert werden. +% \begin{parameter}{head} +% \changes{v2.02}{2014/06/30}{entfernt, Funktionalität teilweise durch Option +% \opt{ddchead} übernommen}%^^A +% \begin{parameter}{foot} +% \changes{v2.02}{2014/06/30}{entfernt, Funktinalität teilweise durch Option +% \opt{ddcfoot} übernommen}%^^A +% Diese Parameter wurden entfernt. Stattdessen kann innerhalb der Umgebung +% entweder der Befehl \cs{TUDoptions} mit den Schlüsseln \opt{ddchead=\dots} +% und \opt{ddcfoot=\dots} bzw. für den Querbalken \opt{cdhead=\dots} sowie das +% Makro \cs{headlogo} genutzt werden oder aber die gleichnamigen Parameter der +% Umgebung. +% \end{parameter}^^A head +% \end{parameter}^^A foot +% Hier werden die Parameter für Kopf- und Fußzeile tatsächlich defniert. % \begin{macrocode} - \TUD@parameter@define{headlogo}{\headlogo{#1}}% - \TUD@parameter@let{logo}{headlogo}% + \TUD@parameter@define@ps{#1}% % \end{macrocode} -% \end{parameter}^^A logo -% \end{parameter}^^A headlogo % Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation gegeben -% wird, erfolgt eine Sonderbehandlung durch \cs{tud@environmenthandler}, bei der -% erst auf eine Zahl geprüft wird und anschießend versucht wird, das Argument -% als Sprache zu setzen. Nach der Definition aller Parameter wird der Befehl -% \cs{TUD@parameter} und damit auch die aktuelle Parameterfamilie beendet. +% wird, erfolgt eine Sonderbehandlung durch \cs{TUD@parameter@defaulthandler}, +% bei dererst auf eine Zahl geprüft wird und anschießend versucht wird, das +% Argument als Sprache zu setzen. Nach der Definition aller Parameter wird der +% Befehl \cs{TUD@parameter} und damit auch die aktuelle Parameterfamilie +% beendet. % \begin{macrocode} - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}% } % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx index cfc68f265d5..a06f717fd7e 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx @@ -1,29 +1,33 @@ -% \CheckSum{586} +% \CheckSum{583} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-supervisor.dtx}[% - 2014/11/04 v2.02 TUD-KOMA-Script\space% + 2015/01/30 v2.03 TUD-KOMA-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<package>\ProvidesPackage{tudscrsupervisor}[% @@ -91,6 +95,8 @@ % \subsection{Das Paket \pkg{tudscrsupervisor}} % % \begin{environment}{task} +% \changes{v2.03}{2015/01/05}{Bugfix für initialen Seitenstil}%^^A +% \changes{v2.03}{2015/01/05}{Bugfix für Seitenstil im zweiseitigen Satz}%^^A % Die Umgebung für die Aufgabenstellung nutzt die \env{tudpage}-Umgebung. Sie % wird auf einer neuen (rechten) Seite gesetzt. Es wird zu Beginn eine Tabelle % mit Informationen zum Autor gesetzt. Zum Abschluss werden Betreuer, @@ -106,10 +112,9 @@ \TUD@parameter{tudpage}{% \TUD@parameter@define{headline}{\def\@headline{##1}}% \TUD@parameter@let{line}{headline}% - \TUD@parameter@sethandler{\def\@headline{##1}}% - \TUD@parameter@set{pagestyle=empty}% + \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}% }% - \tudpage[#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. @@ -168,7 +173,7 @@ \par% \endgroup% \endtudpage% - \cleardoublepage% + \aftergroup\cleardoublepage% } % \end{macrocode} % \end{environment}^^A task @@ -192,6 +197,7 @@ % \end{macrocode} % \end{macro}^^A \taskform % \begin{environment}{evaluation} +% \changes{v2.03}{2015/01/05}{Bugfix für Seitenstil im zweiseitigen Satz}%^^A % Die Umgebung für das Gutachten nutzt ebenfalls die \env{tudpage}-Umgebung. Sie % wird auf einer neuen (rechten) Seite gesetzt. Es wird zu Beginn eine Tabelle % mit Informationen zum Autor gesetzt. Zum Abschluss werden Ort, Datum und @@ -210,10 +216,9 @@ \TUD@parameter@define{headline}{\def\@headline{##1}}% \TUD@parameter@let{line}{headline}% \TUD@parameter@define{grade}{\def\@grade{##1}}% - \TUD@parameter@sethandler{\def\@headline{##1}}% - \TUD@parameter@set{pagestyle=empty}% + \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}% }% - \tudpage[#1]% + \tudpage[pagestyle=empty,#1]% \tudbookmark{\evaluationname}{evaluation}% \subsection*{% \ifx\@headline\@empty% @@ -264,7 +269,7 @@ \end{tabular}% \hfill\null% \endtudpage% - \cleardoublepage% + \aftergroup\cleardoublepage% } % \end{macrocode} % \end{environment}^^A evaluation @@ -292,7 +297,7 @@ % Informationen zum Autor/zu den Autoren\footnote{Matrikelnummer, Jahrgang, % Studiengang etc.} für Aufgabenstellung und Gutachten. % \begin{macrocode} -\newlength{\tud@dim@table}% +\newlength\tud@dim@table% \newcommand*\tud@author@table{% \tud@check@author% \begingroup% @@ -348,7 +353,7 @@ % genutzt werden. Dafür wird \cs{tud@multiple@setfields} mit \cs{null} als % Argument aufgerufen, um alle potentiellen Felder erkennen zu können. % \begin{macrocode} - \setlength{\tud@dim@table}{2em}% + \setlength\tud@dim@table{2em}% \gdef\tud@multiple@field{@author}% \tud@multiple@setfields{\null}{}% % \end{macrocode} @@ -369,9 +374,9 @@ \expandafter\ifx\@discipline\@empty\else\disciplinename\fi,% }% \@for\@tempb:=\@tempa\do{% - \settowidth{\@tempdima}{\@tempb\@titledelim}% + \settowidth\@tempdima{\@tempb\@titledelim}% \ifdim\@tempdima>\tud@dim@table\relax% - \setlength{\tud@dim@table}{\@tempdima}% + \setlength\tud@dim@table{\@tempdima}% \fi% }% \global\tud@dim@table=\tud@dim@table% @@ -420,15 +425,16 @@ % \end{macrocode} % \end{length}^^A \tud@dim@table % \end{macro}^^A \tud@author@table -% \begin{macro}{\tud@author@checkfields} -% Der Befehl \cs{tud@author@checkfields} wird um die hier im Paket zusätzlich +% \begin{macro}{\tud@split@author@list} +% Der Befehl \cs{tud@split@author@list} wird um die hier im Paket zusätzlich % definierten Felder erweitert. % \begin{macrocode} \patchcmd{\tud@split@author@list}{\authormore}% {\authormore,\course,\discipline}{}{\tud@patch@wrn{tud@split@author@list}} % \end{macrocode} -% \end{macro}^^A \tud@author@checkfields +% \end{macro}^^A \tud@split@author@list % \begin{environment}{notice} +% \changes{v2.03}{2015/01/05}{Bugfix für Seitenstil im zweiseitigen Satz}%^^A % Die Umgebung für Aushänge nutzt ebenfalls die \env{tudpage}-Umgebung. Sie wird % auf einer neuen (rechten) Seite gesetzt. Die Überschrift wird in der % Voreinstellung auf den sprachabhängigen Bezeichner \cs{noticename} gesetzt, @@ -440,10 +446,9 @@ \TUD@parameter{tudpage}{% \TUD@parameter@define{headline}{\def\@headline{##1}}% \TUD@parameter@let{line}{headline}% - \TUD@parameter@sethandler{\def\@headline{##1}}% - \TUD@parameter@set{pagestyle=empty}% + \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}% }% - \tudpage[#1]% + \tudpage[pagestyle=empty,#1]% \tudbookmark{\noticename}{notice}% % \end{macrocode} % Es wird zu Beginn das angegebene Datum oben auf der rechten Seite ausgegeben. @@ -475,7 +480,7 @@ \noindent\tud@multiple@split{@contactperson}\hfill\null% \fi% \endtudpage% - \cleardoublepage% + \aftergroup\cleardoublepage% } % \end{macrocode} % \end{environment}^^A notice diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx index f2461fd028a..89e36d4610b 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx @@ -1,29 +1,33 @@ -% \CheckSum{1375} +% \CheckSum{1400} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-title.dtx}[% - 2014/11/13 v2.02 TUD-KOMA-Script (title)% + 2015/02/15 v2.03 TUD-KOMA-Script (title)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{tudscrdoc} @@ -135,19 +139,12 @@ % \end{macrocode} % \end{KOMAfont}^^A titlepage % \end{KOMAfont}^^A thesis -% \begin{macro}{\tud@color@titlefont} -% \begin{macro}{\tud@color@titlepage} -% \begin{macro}{\tud@color@titlehead} -% Die Makros werden für die Hintergrundfarbe der Titelseite sowie die Farbe der -% Schriften verwendet. -% \begin{macrocode} -\newcommand*\tud@color@titlefont{black} -\newcommand*\tud@color@titlepage{white} -\newcommand*\tud@color@titlehead{black} -% \end{macrocode} -% \end{macro}^^A \tud@color@titlehead -% \end{macro}^^A \tud@color@titlepage -% \end{macro}^^A \tud@color@titlefont +% \begin{macro}{\tud@title@fontcolor} +% Das Makro wird für die Hintergrundfarbe der Titelseite verwendet. +% \begin{macrocode} +\newcommand*\tud@title@fontcolor{black} +% \end{macrocode} +% \end{macro}^^A \tud@title@fontcolor % \begin{macro}{\tud@maketitle} % \changes{v2.01a}{2014/06/03}{Fehler bei Nutzung von \cs{subtitle} behoben}%^^A % \changes{v2.02}{2014/06/23}{\val{firstiscover} wird als Wert für die Option @@ -174,8 +171,8 @@ % \end{macrocode} % Das optionale Argument wird für das Setzen der Parameter verwendet. % \begin{macrocode} - \TUD@parameter@set[title]{#1}% - \ifcase \tud@layout@title + \TUD@parameter@set{title}{#1}% + \ifcase\tud@layout@title\relax% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \else% @@ -186,9 +183,9 @@ % hierfür wird die Ausprägung festgelegt. % \begin{macrocode} \else% - \ifcase \tud@layout@title\relax\or\else% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\else% + \def\tud@title@fontcolor{HKS41}% \fi% % \end{macrocode} % Um einen Titelkopf zu setzen, wird einfach der Originalbefehl verwendet und @@ -203,7 +200,7 @@ % gesetzt und direkt danach der zweispaltige Satz begonnen. % \begin{macrocode} \if@twocolumn% - \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}% \else% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \fi% @@ -214,21 +211,51 @@ % \end{macrocode} % \end{macro}^^A \tud@titlepagenumber % \end{macro}^^A \tud@maketitle +% \begin{parameter}{cdtitle} +% \changes{v2.03}{2015/01/12}{neu}^^A +% \begin{parameter}{cd} +% \changes{v2.03}{2015/01/12}{neu}^^A % \begin{parameter}{pagenumber} % \changes{v2.02}{2014/09/05}{neu}^^A % \begin{parameter}{cdfont} % \changes{v2.02}{2014/09/05}{neu}^^A +% \begin{parameter}{cdhead} +% \begin{parameter}{cdfoot} +% \begin{parameter}{headlogo} +% \begin{parameter}{footlogo} +% \begin{parameter}{ddc} +% \begin{parameter}{ddchead} +% \begin{parameter}{ddcfoot} % Die einzelnen Parameter dienen zur Einstellung der Titelseite und entsprechen % in ihrem Verhalten den gleichnamigen Klassenoptionen. % \begin{macrocode} \TUD@parameter{title}{% + \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}% + \TUD@parameter@let{cd}{cdtitle}% \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% +% \end{macrocode} +% Mit \cs{TUD@parameter@define@ps} werden alle verfügbaren Parameter für die +% Kopf- und Fußzeilen definiert. +% \begin{macrocode} + \TUD@parameter@define@ps{#1}% +% \end{macrocode} +% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation angegeben +% wurde, wird versucht, das gegebene Argument als Seitenzahl zu verwenden. +% \begin{macrocode} + \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}% }% % \end{macrocode} +% \end{parameter}^^A ddcfoot +% \end{parameter}^^A ddchead +% \end{parameter}^^A ddc +% \end{parameter}^^A footlogo +% \end{parameter}^^A headlogo +% \end{parameter}^^A cdfoot +% \end{parameter}^^A cdhead % \end{parameter}^^A cdfont % \end{parameter}^^A pagenumber +% \end{parameter}^^A cd +% \end{parameter}^^A cdtitle % Die Befehle \cs{thanks} und \cs{footnotemark} werden mit \cs{robustify} % behandelt, um die Makros vor dem Expandieren zu schützen. Dies ist z.\,B. für % \cs{tud@multiple@split} aber auch für weitere Felder auf dem Titel nötig. @@ -258,13 +285,15 @@ % wird die entsprechende Layoutoption ausgewertet und entsprechend dieser die % Werte belegt. % \begin{macrocode} - \ifcase \tud@layout@title\relax\or\or% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41!30}% \or% - \def\tud@color@titlepage{HKS41}% - \def\tud@color@titlefont{HKS41!30}% - \def\tud@color@titlehead{white}% + \def\tud@title@fontcolor{HKS41!30}% \fi% % \end{macrocode} % Die Titelseite. Es existieren die Optionen \opt{full} für eine vollständig @@ -328,13 +357,13 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin\relax% \headheight=0pt% \headsep=0pt% \footskip=\baselineskip% @@ -377,8 +406,9 @@ % Das ganze Layout wird vertikal so verschoben, dass der Titel auf der gleichen % Höhe steht wie die Überschriften auf Teil- und Kapitelseiten. % \begin{macrocode} - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% @@ -400,14 +430,14 @@ % werden. Anschließend werden die beiden Boxen ausgegeben und der Aufbau der % Titelseite kann beginnen. % \begin{macrocode} - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% % \end{macrocode} % Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll @@ -416,7 +446,7 @@ \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -517,16 +547,15 @@ % \begin{macrocode} \ifdefvoid{\@duedate}{% \ClassWarning{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak% + `\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{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak It's substituted by the given due date% + `\string\date' was not given.\MessageBreak% + It's substituted by the given due date% }% \let\@date\@duedate% }% @@ -580,18 +609,37 @@ \fi% \fi% % \end{macrocode} -% Es werden Schriftart, abhängig \opt{heavyfont} die Schriftstärke, sowie die -% Farbe der Seite und des Kopfes und die Linienstärke des Querbalkens und die -% \DDC-Logos aus den Einstellungen übernommen. +% Es werden Schriftart, die Schriftstärke, sowie die Farbe der Seite und des +% Kopfes und die Linienstärke des Querbalkens und die \DDC-Logos aus den +% Einstellungen übernommen. % \begin{macrocode} \def\@tempa{% - \tud@pagecolor{\tud@color@titlepage}% - \def\tud@head@color{\tud@color@titlehead}% - \color{\tud@color@titlefont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% - \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@title\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \color{\tud@title@fontcolor}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@title@fontcolor}}% + \addtokomafont{footnote}{\sffamily\color{\tud@title@fontcolor}}% \thispagestyle{empty.tudheadings}% - \tud@ddc@enlargepage% +% \end{macrocode} +% Im Kompatibilitätsmodus für die Version~v2.02 wird im Zweifelsfall die Seite +% für den Fuß mit \DDC-Logo vergrößert. +% \begin{macrocode} + \iftudscrverlower{2.03}{\tud@ddc@enlargepage}{}% }% % \end{macrocode} % Bei der Ausgabe des Covers werden lediglich die Farb- und Schriftdefinitionen @@ -601,7 +649,6 @@ \begingroup% \@tempa% \cleardoubleemptypage% - \tud@restorepagecolor% \endgroup% \else% % \end{macrocode} @@ -720,8 +767,9 @@ % gesetzt werden. % \begin{macrocode} \global\@topnum=\z@% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\headingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% @@ -738,14 +786,14 @@ % \cs{@titlehead} und \cs{@subject} so nach oben verschoben, dass der Titel % selbst auf der gewünschten Höhe landet. % \begin{macrocode} - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% % \end{macrocode} % Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll @@ -755,7 +803,7 @@ \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -798,10 +846,10 @@ % \begin{macrocode} \vskip 2\bigskipamount% % \end{macrocode} -% Wird das \DDC-Logo gesetzt, muss dafür am unteren Rand entsprechend Platz -% gelassen werden. +% Wird das \DDC-Logo im Kompatibilitätsmodus für die Version~v2.02 gesetzt, +% muss dafür am unteren Rand entsprechend Platz gelassen werden. % \begin{macrocode} - \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } % \end{macrocode} @@ -914,6 +962,7 @@ \ifpatchable{\@author}{\@latex@warning@no@line}{\@author\gdef\@author{}}{}% } \newcommand*\tud@split@author[2]{% +% \end{macrocode} % Zu Beginn werden alle Felder, welche innerhalb des \meta{Feld}-Argumentes % angegeben sind, initial gelöscht (erstes Argument \cs{tud@multiple@setfields}) % Anschließend werden die Felder des aktuellen Teils gefüllt (zweites Argument @@ -1002,6 +1051,7 @@ % \begin{macro}{\@maketitleonecolumn} % \changes{v2.02}{2014/08/12}{entfernt}%^^A % \begin{macro}{\tud@title@twocolumn} +% \changes{v2.03}{2015/01/13}{Bugfix für falsche Position des Titels}%^^A % \begin{macro}{\tud@title@twocolumn@box} % Zum Setzen eines einspaltigen Titels mit einspaltiger Zusammenfassung bei % einem Titelkopf~-- dank der Hilfe von Markus Kohm.% @@ -1013,7 +1063,6 @@ % anschließend ggf. \meta{Inhalt} einspaltig ausgegeben. Beim Satz eines % Titelkopfes wird der Befehl \cs{tud@title@twocolumn} zur Ausgabe genutzt. % \begin{macrocode} -\RequirePackage{afterpage}[1995/10/27] \newcommand\maketitleonecolumn[2][]{% % \end{macrocode} % Hier erfolgt die Unterscheidung der Ausgabe, abhängig von der Option @@ -1024,7 +1073,7 @@ \maketitle[#1]% \onecolumn{#2}\twocolumn% \else% - \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \tud@title@twocolumn{\maketitle[#1]{#2}}% \fi% \else% \ClassError{\tudcls@name}{% @@ -1038,7 +1087,7 @@ % kann, wird mit einer Box gearbeitet. % \begin{macrocode} \newsavebox\tud@title@twocolumn@box -\newcommand\tud@title@twocolumn[1][]{% +\newcommand\tud@title@twocolumn[1]{% % \end{macrocode} % Zunächst wird auf einseitigen Satz umgeschaltet. Der zu schreibende Inhalt % wird in einer Box gespeichert. Während des Zusammenbaus der Box sind keine @@ -1048,54 +1097,71 @@ \begingroup% \let\clearpage\relax% \let\newpage\relax% - \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% +% \end{macrocode} +% Sollte der Inhalt der Box größer als die verfügbare Texthöhe des Satzspiegels +% sein, muss aufgrund der verwendeten Box ein zusätzlicher vertikaler Abstand +% von \val{.9}\cs{baselineskip} zur korrekten Postionierung der Überschrift +% eingefügt werden. +% \begin{macrocode} + \global\setbox\tud@title@twocolumn@box\vbox{% + \vspace*{.9\baselineskip}#1\bigskip% + }% \endgroup% % \end{macrocode} -% Für den speziellen Satzspiegel mit dem \DDC-Logo im Fuß ist im Zweifelsfall -% etwas Anpassungarbeit von Nöten. Sollte dieser für die Titelseite benötigt -% werden, der entsprechende Seitenstil ist aber nicht geladen, so wird für die -% folgende Ausgaberoutine im ersten Durchlauf der Platz auf der Titelseite -% reduziert. -% \begin{macrocode} - \setlength{\@tempdimc}{\textheight}% - \tud@ifinpslist{\titlepagestyle}{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else% - \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% - \fi% - }{}% +% Als erstes muss geprüft werden, ob der Inhalt größer als der Textbereich ist. +% Vor der Version~v2.03 gab es für das \DDC-Logo einen abweichenden Satzspiegel +% der ggf. beachtet werden muss. +% \begin{macrocode} + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}% + \@tempswatrue% + \fi% }{}% % \end{macrocode} % Jetzt werden der Inhalt stückweise so lange auf einzelnen Seiten ausgeben, -% bis der immer kleiner werdende Rest in der Box auf eine Seite passt. Dabei -% sollen für das seitenweise Zerteilen des Inhaltes innerhalb der Box dieselben -% Rahmenbedingungen für den Seitenaufbau gelten, wie auch im normalen Dokument. -% Nach der Ausgabe der ersten vollständigen Seite wird der verfügbare Platz auf -% das normale Maß zurückgesetzt. -% \begin{macrocode} - \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% - \splittopskip\topskip% - \splitmaxdepth\maxdepth% - \vsplit\tud@title@twocolumn@box to \@tempdimc% - \clearpage% - \setlength{\@tempdimc}{\textheight}% - }% +% bis der immer kleiner werdende Rest in der Box auf eine Seite passt. +% \begin{macrocode} + \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax% + \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdima% + \clearpage% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{\@tempswafalse}{}% + }% +% \end{macrocode} +% Passt der auszugebende einspaltige Teil auf eine Seite, ist eine vertikale +% Korrektur von \val{.9}\cs{baselineskip} nicht notwendig. In diesem Fall wird +% die Box vor der Ausgabe einfach neu und ohne diese Länge gesetzt. +% \begin{macrocode} + \else% + \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \fi% % \end{macrocode} % Der Rest wir einfach als optionales Argument von \cs{twocolumn} ausgegeben. % \begin{macrocode} \twocolumn[\unvbox\tud@title@twocolumn@box]% % \end{macrocode} -% Sollte der einspaltige Teil bereits auf der Titelseite selbst beendet worden -% sein, so muss im zweispaltigen Satz für beide Spalten der Platz eingeschränkt -% werden. Leider ist das Vergrößern zweier Spalten in \LaTeXe nicht trivial -% möglich, weshalb hierfür wird das Paket \pkg{afterpage} benötigt wird. Es -% wird die aktuelle und mit \cs{afterpage} die nächstfolgende Spalte verkürzt. +% In der Version~v2.02 wird eine Warnung ausgegeben, damit der Anwender den +% Satzspiegel manuell anpassen kann. Die Verwendung von \pkg{afterpage} liefert +% leider nicht in allen Fällen das gewollte Ergebnis, weshalb darauf verzichtet +% wird. % \begin{macrocode} - \ifdim\@tempdimc<\textheight\relax% - \enlargethispage{-\tud@dim@ddcdiff}% - \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% - \fi% + \iftudscrverlower{2.03}{% + \if@tempswa% + \ClassWarning{\tudcls@name}{% + You are using a two-column title along with\MessageBreak% + the DDC-logo. Unfortunately in this case, the\MessageBreak% + type area hast to be adjusted manually. Please\MessageBreak% + use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak% + in both columns after the title% + }% + \fi% + }{}% } % \end{macrocode} % \end{macro}^^A \tud@title@twocolumn@box @@ -1148,21 +1214,20 @@ % separate Umschlagseite erzeugt werden. Um die Gestaltung dieser anzupassen, % wurden Einstellungsmöglichkeiten vorgesehen, die insbesondere den verwendeten % Satzspiegel betreffen. +% % \begin{macro}{\makecover} % \changes{v2.02}{2014/06/23}{Warnung für die Option \opt{titlepage} mit dem % Wert \val{firstiscover}}%^^A % \changes{v2.02}{2014/08/08}{\cs{makecover} jetzt auch ohne \CD verwendbar}^^A +% \changes{v2.02}{2014/08/12}{Satzspiegel mit \cs{coverpage\dots{}margin} +% änderbar, falls CD-Layout deaktiviert}^^A +% \changes{v2.03}{2015/01/09}{Anpassungen für neue Satzspiegelerzeugung}%^^A % \begin{macro}{\if@tud@cover} -% \begin{macro}{\tud@coverpagetopmargin} -% \changes{v2.02}{2014/08/12}{neu}^^A -% Der Befehl ist für ein Cover bei einem gebundenen Werk zu verwenden. +% Der Befehl \cs{makecover} ist für eine Umschlagseite bei einem gebundenen +% Werk zu verwenden. % \begin{macrocode} \newif\if@tud@cover -\newcommand*\tud@coverpagetopmargin{} -\let\tud@coverpagetopmargin\coverpagetopmargin \newcommand*\makecover[1][]{% -% \changes{v2.02}{2014/08/12}{Satzspiegel bei \opt{cdlayout=false} -% anpassbar}%^^A % \end{macrocode} % Ist die Option \opt{titlepage=firstiscover} aktiv, wird eine Warnung erzeugt. % \begin{macrocode} @@ -1170,7 +1235,7 @@ \ClassWarning{\tudcls@name}{% Using both option `titlepage=firstiscover' and\MessageBreak% `\string\makecover' together isn't supported. The\MessageBreak% - option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + option `titlepage=firstiscover' will be ignored. If you\MessageBreak% want to create an individual cover, you have to use\MessageBreak% `\string\extratitle' instead of `\string\makecover'.\MessageBreak% See also the documentation of KOMA-Script% @@ -1190,37 +1255,24 @@ \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% - \TUD@parameter@set[cover]{#1}% + \TUD@parameter@set{cover}{#1}% \let\tud@layout@title\tud@layout@cover% \tud@layout@process% % \end{macrocode} -% Wird der Parameter \opt{cdlayout} aktiviert, werden die Seitenränder wie +% Wird der Parameter \opt{cdgeometry} aktiviert, werden die Seitenränder wie % durch das \CD vorgegeben eingestellt. Andernfalls entsprechen diese den % Einstellungen des Satzspiegels und können mit \cs{coverpage\dots margin} -% durch den Anwender angepasst werden. Der mit \cs{coverpagetopmargin} -% zusätzlich eingefügte, obere Seitenrand wird bei aktiviertem Parameter -% \opt{cdlayout} im Normalfall~-- sprich ohne eine Änderung des Befehls -% \cs{coverpagetopmargin}~-- durch \cs{tud@coverpagetopmargin} ausgeglichen, um -% den Titel auf der Umschlagseite in der richtigen vertikalen Position -% erscheinen zu lassen. -% \begin{macrocode} - \if@tud@cover@cdlayout% - \ifcase \tud@layout@cover\relax% - \let\coverpagetopmargin\tud@dim@top% - \else% - \def\coverpagetopmargin{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - }% - \fi% - \let\coverpagebottommargin\tud@dim@bottom% - \let\coverpageleftmargin\tud@dim@left% - \let\coverpagerightmargin\tud@dim@right% - \else% - \ifcase \tud@layout@cover\relax\else% - \expandafter\def\expandafter\coverpagetopmargin\expandafter{% - \coverpagetopmargin-\tud@coverpagetopmargin% - }% - \fi% +% durch den Anwender angepasst werden. +% \begin{macrocode} + \if@tud@cover@cdgeometry% + \let\coverpagetopmargin\tud@dim@slimmargin% + \let\coverpagebottommargin\tud@dim@widemargin% + \let\coverpageleftmargin\tud@dim@widemargin% + \let\coverpagerightmargin\tud@dim@slimmargin% + \iftudscrverlower{2.03}{% + \def\coverpagetopmargin{.5\tud@dim@both}% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% \fi% % \end{macrocode} % Für den Fall, dass eine Umschlagseite gesetzt werden soll, die nicht im \CD @@ -1229,7 +1281,7 @@ % anpassen zu können. Außerdem werden ein mit \cs{extatitle} gegebener % Schmutztitel ebenso ignoriert, wie Danksagung oder Einträge für die Rückseite. % \begin{macrocode} - \ifcase \tud@layout@cover\relax% + \ifcase\tud@layout@cover\relax% \KOMAoptions{titlepage=firstiscover}% \let\@extratitle\@empty% \let\@uppertitleback\@empty% @@ -1258,98 +1310,154 @@ \noexpand\global\vsize\the\vsize% \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% +% \end{macrocode} +% Linker und rechter Rand sowie die Textbreite werden identisch erzeugt. Für +% das Layout im \CD wurden die Seitenränder (\cs{coverpage\dots margin}) zuvor +% angepasst. Die Höhe der Kopfzeile wird auf \val{0pt} gesetzt, die Fußzeile +% entspricht dem normalen Satzspiegel im \CD. +% \begin{macrocode} \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% -% \end{macrocode} -% Bei der Höhe des Textbereiches und der Kopfzeile muss unterschieden werden, -% ob der Satzspiegel im \CD oder aber im Buchblock erfolgen soll. -% \begin{macrocode} - \if@tud@cover@cdlayout% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% \headheight=0pt% \headsep=0pt% - \else% - \textheight=\dimexpr\paperheight-\coverpagebottommargin% - -\tud@dim@headheight-\tud@dim@barheight% - -\tud@dim@headsep-\tud@dim@bottom\relax% - \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% - \headsep=\tud@dim@headsep% - \fi% - \footskip=\tud@dim@footskip% - \@colht=\textheight% - \@colroom=\textheight% - \vsize=\textheight% - \columnwidth=\textwidth% - \hsize=\columnwidth% - \linewidth=\hsize% - \tud@dim@headdiff=\z@% + \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax% + \iftudscrverlower{2.03}{% + \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax% + }{}% +% \end{macrocode} +% Bei der Höhe des oberen Seitenrandes muss unterschieden werden, ob der +% Satzspiegel im \CD oder aber im Buchblock erscheinen soll. +% \begin{macrocode} + \if@tud@cover@cdgeometry% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax% + }% + \else% +% \end{macrocode} +% Bei der Verwendung eines eigenen Satzspiegels kann der obere Seitenrand über +% das Makro \cs{coverpagetopmargin} geändert werden. Das Vermeiden einer +% unerwünschten Überdeckung des Kopfes oder ein zu kleiner Fußbereich muss +% durch den Anwender korrigiert werden. Standardmäßig wird die Höhe jedoch für +% das \CD angepasst. Auch die Fußhöhe wird im Zweifelsfall gesetzt. +% \begin{macrocode} + \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep-1in\relax% + \def\@tempa{2\dimexpr\coverpagetopmargin\relax}% + \ifx\@tempa\coverpagebottommargin\relax% + \let\coverpagebottommargin\tud@dim@widemargin% + \iftudscrverlower{2.03}{% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% + \fi% + \fi% +% \end{macrocode} +% Damit alle Einstellungen korrekt und wie gewünscht übernommen werden, muss +% die Höhe des Textbereiches \cs{textheight} \emph{vor} der Größe des oberen +% Seitenrande gesetzt werden. Dies hat mit der originären Definition von +% \cs{coverpagetopmargin} zu tun. +% \begin{macrocode} + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin-\tud@dim@extrabottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% % \end{macrocode} % Weil bereits die Titelseite normalerweise die Seitenzahl eins bekommt, kann es % bei der Verwendung des Paketes \pkg{hyperref} zu einer Warnung aufgrund der % doppelt verwendeten Seitenzahl kommen. Um dies zu verhindern, werden die % Seitenanker für das Cover deaktiviert. % \begin{macrocode} - \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% % \end{macrocode} % Die Ausgabe des Covers und ggf. das Wiederherstellen des Satzspiegels. % \begin{macrocode} - \tud@maketitle% - \clearpage% + \tud@maketitle% + \clearpage% \csname titlepage@restore\endcsname% \fi% \endgroup% } % \end{macrocode} -% \end{macro}^^A \tud@coverpagetopmargin % \end{macro}^^A \if@tud@cover % \end{macro}^^A \makecover +% \begin{parameter}{cdcover} +% \changes{v2.03}{2015/01/12}{neu}^^A +% \begin{parameter}{cd} +% \changes{v2.03}{2015/01/12}{neu}^^A +% \begin{parameter}{cdgeometry} +% \changes{v2.02}{2014/06/23}{neu}%^^A +% \begin{macro}{\if@tud@cover@cdgeometry} +% \begin{macro}{\if@tud@cover@cdgeometry@locked} % \begin{parameter}{pagenumber} % \begin{parameter}{cdfont} -% \begin{parameter}{cdfonts} -% \changes{v2.02}{2014/08/08}{entfernt}^^A -% \begin{parameter}{tudfonts} -% \changes{v2.02}{2014/08/08}{entfernt}^^A -% \begin{parameter}{cdlayout} -% \changes{v2.02}{2014/06/23}{neu}%^^A -% \begin{macro}{\if@tud@cover@cdlayout} +% \begin{parameter}{cdhead} +% \begin{parameter}{cdfoot} +% \begin{parameter}{headlogo} +% \begin{parameter}{footlogo} +% \begin{parameter}{ddc} +% \begin{parameter}{ddchead} +% \begin{parameter}{ddcfoot} % Die einzelnen Parameter dienen zur Einstellung der Umschlagseite und % entsprechen in ihrem Verhalten den gleichnamigen Klassenoptionen~-- -% \opt{cdlayout} ausgenommen. +% \opt{cdgeometry} ausgenommen. % \begin{macrocode} -\newbool@lock{@tud@cover@cdlayout} +\bool@lock{@tud@cover@cdgeometry} \TUD@parameter{cover}{% - \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@define{cdlayout}[true]{% - \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \TUD@parameter@wrn{cdlayout}{true,false}% - }}}}}}% + \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}% + \TUD@parameter@let{cd}{cdcover}% + \TUD@parameter@define{cdgeometry}[true]{% + \ifstrbool{#1}{% + \bool@set@lock{@tud@cover@cdgeometry}{true}% + }{% + \bool@set@lock{@tud@cover@cdgeometry}{false}% + }{% + \TUD@parameter@error{cdgeometry}{true,false}% + }% }% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% +% \end{macrocode} +% Mit \cs{TUD@parameter@define@ps} werden alle verfügbaren Parameter für die +% Kopf- und Fußzeilen definiert. +% \begin{macrocode} + \TUD@parameter@define@ps{#1}% +% \end{macrocode} +% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation angegeben +% wurde, wird versucht, das gegebene Argument entweder als booleschen Ausdruck +% für das Seitenlayout oder als Seitenzahl zu interpretieren. +% \begin{macrocode} \TUD@parameter@sethandler{% \ifxnumber{#1}{% - \TUD@parameter@set[cover]{pagenumber=#1}% + \TUD@parameter@set{cover}{pagenumber=#1}% }{% - \TUD@parameter@set[cover]{cdlayout=#1}% + \TUD@parameter@set{cover}{cdgeometry=#1}% }% }% -}% +} % \end{macrocode} -% \end{macro}^^A \if@tud@cover@cdlayout -% \end{parameter}^^A cdlayout -% \end{parameter}^^A tudfonts -% \end{parameter}^^A cdfonts +% \end{parameter}^^A ddcfoot +% \end{parameter}^^A ddchead +% \end{parameter}^^A ddc +% \end{parameter}^^A footlogo +% \end{parameter}^^A headlogo +% \end{parameter}^^A cdfoot +% \end{parameter}^^A cdhead % \end{parameter}^^A cdfont % \end{parameter}^^A pagenumber +% \end{macro}^^A \if@tud@cover@cdgeometry@locked +% \end{macro}^^A \if@tud@cover@cdgeometry +% \end{parameter}^^A cdgeometry +% \end{parameter}^^A cd +% \end{parameter}^^A cdcover % % \iffalse %</class&body> diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx index ab4738a5131..a9eb4529fc5 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx @@ -1,29 +1,33 @@ -% \CheckSum{119} +% \CheckSum{117} % \iffalse meta-comment -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ % -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== % \fi % % \CharacterTable @@ -47,7 +51,7 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-twocolfix.dtx}[% - 2014/11/21 v2.02 TUD-KOMA-Script\space% + 2015/01/24 v2.03 TUD-KOMA-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e}[2011/06/27] %<package>\ProvidesPackage{twocolfix}[% @@ -77,8 +81,6 @@ % % \selectlanguage{ngerman} % -% \changes{v2.02}{2014/07/10}{Versionsnummer angepasst}%^^A -% % \section{Bugfix für den zweispaltigen Satz} % % Der \LaTeXe-Kernel enthält einen Fehler, der Kapitelüberschriften im @@ -119,9 +121,9 @@ % gesetzt wird, darf der Befehl \cs{@parboxrestore} nicht aufgerufen werden. % Alternativ müsste \KOMAScript{} eine Option bereitstellen, mit der sich die % Einstellungen für Absätze wiederherstellen lassen. +%^^A \@parboxrestore +%^^A \KOMAoptions{parskip=last} % \begin{macrocode} -% \@parboxrestore -% \KOMAoptions{parskip=last} \col@number \@ne% \ignorespaces #1\par% \ifdim\parskip>\z@\null\fi% diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx index afd592063fa..5ff5f1b5ba8 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx @@ -1,29 +1,33 @@ % \CheckSum{101} % \iffalse meta-comment -% ====================================================================== -% -% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen -% -% ====================================================================== -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, version 1.3c of the license. -% The latest version of this license is in -% http://www.latex-project.org/lppl.txt -% and version 1.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later and of this work. -% This work has the LPPL maintenance status "author-maintained". -% The current maintainer and author of this work is Falk Hanisch. -% ---------------------------------------------------------------------- -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -% Version 1.3c, verteilt und/oder veraendert werden. -% Die neuste Version dieser Lizenz ist -% http://www.latex-project.org/lppl.txt -% und Version 1.3c ist Teil aller Verteilungen von LaTeX -% Version 2005/12/01 oder spaeter und dieses Werks. -% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" -% (allein durch den Autor verwaltet). -% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% ====================================================================== +% +% ============================================================================ +% +% TUD-KOMA-Script +% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 +% +% ============================================================================ +% +% 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 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. +% +% ============================================================================ +% % \fi % % \CharacterTable @@ -54,15 +58,14 @@ % % \selectlanguage{ngerman} % -% \changes{v1.0}{2012/10/31}{\TUDScript-Bundle erstellt und erstmalig -% veröffentlicht}%^^A +% \changes{v1.0}{2012/10/31}{\TUDScript-Bundle erstmalig veröffentlicht}%^^A % \changes{v2.00}{2014/04/21}{\TUDScript-Bundle auf \pkg{docstrip} umgestellt % und stark erweitert}%^^A % \changes{v2.01}{2014/04/24}{Anpassungen in Dokumentation und % Schriftinstallation, Fehlerkorrekturen}%^^A -% \changes{v2.02}{2014/05/14}{Probleme mit \pkg{calc} behoben}%^^A -% \changes{v2.02}{2014/05/16}{Mehrere Befehle für die Kompatibilität mit -% anderen Paketen umbenannt}%^^A +% \changes{v2.02}{2014/05/14}{Problem globaler Längenänderungen behoben}%^^A +% \changes{v2.02}{2014/05/16}{Umbennenung mehrerer Befehle zur Kompatibilität +% mit anderen Paketen}%^^A % % \section{Version des \texorpdfstring{\TUDScript}{TUD-KOMA-Script}-Bundles} % @@ -82,6 +85,7 @@ % Definition überprüft oder eine globale Definition vorgenommen. Da das Ganze % auch bei der Erstellung der Dokumentation geschieht, wird \cs{makeatletter} % innerhalb einer Gruppe verwendet. +% \ToDo{Version eintragen}[v2.xx] % \begin{macrocode} \begingroup% \catcode`\@11\relax% @@ -111,7 +115,7 @@ %<*!(package|class)> \fi% %</!(package|class)> - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% % \end{macrocode} % \end{macro}^^A \@TUDVersion diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr.ins b/Master/texmf-dist/source/latex/tudscr/tudscr.ins index c821e9aafce..2f87876fcdc 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr.ins +++ b/Master/texmf-dist/source/latex/tudscr/tudscr.ins @@ -27,7 +27,7 @@ ============================================================================ TUD-KOMA-Script - Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 + Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 ============================================================================ @@ -41,13 +41,13 @@ ---------------------------------------------------------------------------- - Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, - Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version - dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c - ist Teil aller Verteilungen von LaTeX 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. ============================================================================ @@ -151,11 +151,16 @@ \file{mathswap.sty}{% \from{tudscr-mathswap.dtx}{package}% } +} +\generate{% + \usepreamble\defaultpreamble% \file{tudscrfonts.sty}{% \from{tudscr-version.dtx}{package}% \from{tudscr-fonts.dtx}{package,identify}% \from{tudscr-base.dtx}{load}% \from{tudscr-fonts.dtx}{package,option}% + \from{tudscr-comp.dtx}{fonts,option}% + \from{tudscr-fonts.dtx}{package,execute}% \from{tudscr-fonts.dtx}{package,body}% } } diff --git a/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex b/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex index 84fa648559e..48d31370449 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex +++ b/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex @@ -19,7 +19,7 @@ \KOMAoptions{parskip=half-} \begin{document} \addtokomafont{subject}{\sffamily} -\subject{\TUDScript{} \vTUDScript{} basierend auf \KOMAScript{} v3.12} +\subject{\TUDScript{}~\vTUDScript{} basierend auf \KOMAScript{}~\vKOMAScript} \title{Ein \LaTeXe-Bundle für Dokumente \mbox{im neuen \CD der} \mbox{\TnUD}} \subtitle{Dokumentierter Quelltext} \date{\filedate\\[1ex] Version \fileversion} @@ -52,8 +52,23 @@ sondern um den dokumentierten Quelltext der Implementierung von \TUDScript. Das Anwenderhandbuch kann über die Konsole respektive das Terminal mit dem Aufruf \texttt{texdoc tudscr} geöffnet werden. +\ToDo{% + \begin{itemize} + \item Schnittrand für Poster (Welches Paket? außen- und/oder innenliegend) + \item farbige Tabellen wie in \cls{tudmathposter}? + \item Schriftgrößendateien erstellen (\cs{@fontsizefilebase} umdefinieren) + \item evtl. \cs{changefontsizes} anpassen + \end{itemize} +}[v2.04] +\ToDo{Laden von \pkg{crop} mit Optionen verzögern?}[v2.04] +\ToDo{Schnittmarken mit \pkg{geometry} ermöglichen}[v2.04] +\ToDo{verzögertes Laden von Paketen und dergleichen mit AtEndPreamble möglichst +entfernen, bzw. mit BeforePackage und AfterPackage arbeiten, ganz zum Schluss +im Zweifelsfall selbst laden}[v2.04] + \tableofcontents \clearpage + \DocInclude{tudscr-version} \DocInclude{tudscr-base} \DocInclude{tudscr-fields} @@ -69,13 +84,16 @@ Aufruf \texttt{texdoc tudscr} geöffnet werden. \DocInclude{tudscr-comp} \DocInclude{tudscr-twocolfix} \DocInclude{tudscr-mathswap} -\DocInclude{tudscr-manual} -\DocInclude{tudscr-doc} + +%\DocInclude{tudscr-manual} +%\DocInclude{tudscr-doc} +%\DocInclude{install/tudscr-metrics} +%\DocInclude{install/tudscr-scripts} \addpart{\appendixname} -\phantomsection\addxcontentsline{toc}{section}{\indexname} +\phantomsection\addsectiontocentry{}{\indexname} \PrintIndex \clearpage -\phantomsection\addxcontentsline{toc}{section}{Change History} +\phantomsection\addsectiontocentry{}{Change History} \PrintChanges \end{document} diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-black.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-black.pdf Binary files differindex 06439682a29..8777e57cd69 100644 --- a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-black.pdf +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-black.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.eps b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.eps index c035baacffb..6393041d06e 100644 --- a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.eps +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.eps @@ -446,9 +446,8 @@ q W 0.059998 0 255.24 74.04 re W -/DeviceRGB {} cs -[0 0 0] sc -[0 0.1843 0.3686] sc +/DeviceCMYK {} cs +[1 0.7 0.1 0.5] sc false op false OP 225.986 47.138 3.4563 3.5281 re diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.pdf Binary files differindex de733488b7d..4c62d0e386b 100644 --- a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.pdf +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-blue.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-white.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-white.pdf Binary files differindex 7d102aaad70..92a701c5f79 100644 --- a/Master/texmf-dist/tex/latex/tudscr/logo/TUD-white.pdf +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TUD-white.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty index 4bd42ae68ec..c0cb99c2db3 100644 --- a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty +++ b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty @@ -9,7 +9,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -23,20 +23,20 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% %%% From File: tudscr-mathswap.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{mathswap}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package (swap mathematical separators)% ] diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls index e95c5944f8d..0af95cae5da 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls @@ -28,7 +28,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -42,13 +42,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -70,7 +70,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\cls@name{article} @@ -78,7 +78,7 @@ \newcommand*\tudcls@name{tudscrartcl} \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesClass{\tudcls@name}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script document class (\cls@name)% ] \typeout{The Corporate Design of Technische Universitaet Dresden} @@ -100,7 +100,7 @@ \ClassWarning{\tudcls@name}{% The package `tudscrfonts' must not be used with\MessageBreak% a TUD-KOMA-Script class% - } + }% ]{tudscrfonts} \newif\if@tud@univers \newif\if@tud@dinbold @@ -108,17 +108,32 @@ \newcommand*\tud@dinbold{0m6} \newcommand*\tud@mathenc{OT1} \newif\if@tud@fontspec -\TUD@key@lock{fontspec}[true]{% - \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% -} -\AtEndOfClass{% - \TUD@key{fontspec}[]{% - \ClassError{\tudcls@name}{Option `fontspec' too late}{% +\TUD@key{fontspec}[true]{% + \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfClass% +{% + \TUD@key{fontspec}[] + {% + \ClassError{\tudcls@name} + {Option `fontspec' too late}{% Option `fontspec' can only be set while loading the\MessageBreak% - class `\tudcls@name' but you have tried to set it up later.% + class `\tudcls@name' + but you have tried to set it up later.% }% \FamilyKeyStateProcessed% }% + \if@tud@fontspec% + \PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}% + {% + You must not load the package `fontspec' as it is\MessageBreak% + loaded automatically at the end of the preamble.\MessageBreak% + If you want to pass options to `fontspec' use\MessageBreak% + `\string\PassOptionsToPackage{<option list>}{fontspec}' + }% + ]{fontspec} + \fi% } \AtEndPreamble{% \@expandtwoargs\in@{OT}{\encodingdefault}% @@ -142,9 +157,10 @@ }% \def\@tempb#1{% \ClassWarningNoLine{\tudcls@name}{% - `#1' fonts not found. Please use on of the\MessageBreak% - installation scripts out of the tudscr-bundle,\MessageBreak% - which suits to your OS. A fallback layout is used% + `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak% + Please use on of the installation scripts out of the\MessageBreak% + tudscr-bundle, which suits to your OS or choose a\MessageBreak% + possible encoding. A fallback layout is used% }% }% \fi% @@ -160,6 +176,7 @@ \fi% \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% \if@tud@fontspec% + \UnPreventPackageFromLoading{fontspec}% \if@tud@univers\if@tud@dinbold% \PassOptionsToPackage{no-math}{fontspec}% \fi\fi% @@ -167,54 +184,83 @@ \fi% } \RequirePackage{textcase}[2004/10/07] -\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% - \@nonchangecase\ensuremath% +\newcommand*\tud@uclcnotmath{% \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% + \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}% +} +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath\tud@uclcnotmath }{}{\tud@patch@wrn{@uclcnotmath}}% -\newcommand*\tud@cdfont{0} +\newcommand*\tud@font@heading{\dinbn\tud@raggedright} +\newcommand*\tud@cdfont{1} \TUD@key{cdfont}[true]{% - \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@set@numkey{cdfont}{@tempa}{% \TUD@numkey@bool,% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2},% {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% - {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% - {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% - {noheavybarfont}{5},{barfontnoheavy}{5},% - {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% - {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% - {sansmath}{8},{sans}{8},% - {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% - {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% - {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% - {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},% + {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},% + {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},% + {bar}{6},{barfont}{6},% + {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},% + {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},% + {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},% + {headlight}{6},{headfontlight}{6},{headlightfont}{6},% + {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},% + {barlight}{6},{barfontlight}{6},{barlightfont}{6},% + {litehead}{6},{liteheadfont}{6},{litefonthead}{6},% + {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},% + {litebar}{6},{litebarfont}{6},{litefontbar}{6},% + {headlite}{6},{headfontlite}{6},{headlitefont}{6},% + {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},% + {barlite}{6},{barfontlite}{6},{barlitefont}{6},% + {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},% + {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},% + {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},% + {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},% + {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},% + {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},% + {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},% + {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},% + {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},% + {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},% + {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},% + {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},% + {nomath}{8},{nocdmath}{8},% + {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},% + {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},% + {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},% + {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},% + {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},% + {nofontspec}{13},{pdftex}{13},{pdflatex}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \tud@cdfont\relax% - \TUDoptions{cdfonts=false}% - \TUD@std@numkey@lock{barfont}{false}% + \ifcase\@tempa\relax% + \def\tud@cdfont{0}% + \if@atdocument\tud@font@set\fi% + \or% + \def\tud@cdfont{1}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=false}% - \TUD@std@numkey@lock{barfont}{true}% + \def\tud@cdfont{2}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=true}% - \TUD@std@numkey@lock{barfont}{heavy}% + \renewcommand*\tud@font@heading{\tud@RaggedRight}% \or% - \TUDoptions{din=false}% + \renewcommand*\tud@font@heading{\dinbn\tud@raggedright} \or% - \TUDoptions{din=true}% + \TUDoptions{cdhead=false}% \or% - \TUDoptions{barfont=true}% + \TUDoptions{cdhead=true}% \or% - \TUDoptions{barfont=heavy}% + \TUDoptions{cdhead=heavy}% \or% - \TUDoptions{sansmath=false}% + \TUDoptions{cdmath=false}% \or% - \TUDoptions{sansmath=true}% + \TUDoptions{cdmath=true}% \or% \TUDoptions{slantedgreek=false}% \or% @@ -226,75 +272,49 @@ \fi% \fi% } -\newif\if@tud@cdfonts -\TUD@key{cdfonts}[true]{% - \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@cdfonts% - \if@atdocument\tud@font@cdfonts\fi% - \TUD@std@ifkey@lock{sansmath}{true}% - \TUD@std@ifkey@lock{slantedgreek}{true}% - \else% - \if@atdocument% - \tud@cmd@restore{rmdefault}% - \tud@cmd@restore{sfdefault}% - \tud@cmd@restore{ttdefault}% - \tud@cmd@restore{bfdefault}% - \tud@cmd@restore{mddefault}% - \tud@cmd@restore{itdefault}% - \tud@cmd@restore{familydefault}% - \tud@cmd@restore{seriesdefault}% - \tud@cmd@restore{shapedefault}% - \normalfont\selectfont% - \fi% - \TUD@std@ifkey@lock{sansmath}{false}% - \TUD@std@ifkey@lock{slantedgreek}{false}% - \fi% - \if@atdocument\tud@layout@process\fi% - \fi% -} -\newif\if@tud@heavyfont -\TUD@key{heavyfont}[true]{% - \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@cdfonts\fi% - \fi% -} -\newcommand*\tud@barfont{0} -\TUD@key@lock{barfont}[true]{% - \TUD@set@numkey@lock{barfont}{tud@barfont}{% +\AtBeginDocument{\tud@font@set}% +\bool@lock{@tud@cdmath} +\TUD@key{cdmath}[true]{% + \TUD@set@numkey{cdmath}{@tempa}{% \TUD@numkey@bool,% - {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% - {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% - {heavy}{2},{heavyfont}{2}% + {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},% + {sansmath}{1},{sans}{1},% + {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},% + {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}% }{#1}% -} -\newif\if@tud@din\@tud@dintrue -\TUD@ifkey{din}{@tud@din} -\newif\if@tud@sansmath -\TUD@key@lock{sansmath}[true]{% - \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \ifcase\@tempa\relax% + \bool@set@lock{@tud@cdmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \if@atdocument\tud@font@math@set\fi% + \or% + \bool@set@lock{@tud@cdmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \if@atdocument\tud@font@math@set\fi% + \or + \TUDoptions{slantedgreek=false}% + \or + \TUDoptions{slantedgreek=true}% + \fi% \fi% } \newif\if@tud@slantedgreek \TUD@key@lock{slantedgreek}[true]{% \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \if@atdocument\tud@font@math@set\fi% \fi% } %%% From File: tudscr-pagestyle.dtx \newcommand*\tud@ddc@switch{} \edef\tud@ddc@switch{% \TUD@numkey@bool,% - {color}{2},{colour}{2},% - {colorblack}{3},{colourblack}{3},% - {gray}{4},{grey}{4},{cdgray}{4},% - {black}{5},% - {blue}{6},{cddarkblue}{6},% - {white}{7}% + {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% + {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% + {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},% + {black}{5},{cdblack}{5},% + {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},% + {white}{7},{cdwhite}{7}% } \newcommand*\tud@ddc@save{} \newif\if@tud@ddc@save @@ -304,8 +324,8 @@ \TUD@key{ddc}[true]{% \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% - \ifcase \tud@ddc\relax% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \ifcase\tud@ddc\relax% \@tud@ddc@autosetfalse% \else% \@tud@ddc@autosettrue% @@ -321,10 +341,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@head\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@head\relax\else% + \ifcase\tud@ddc@head\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddcfoot=false}% @@ -340,10 +362,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@foot\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@foot\relax\else% + \ifcase\tud@ddc@foot\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddchead=false}% @@ -363,24 +387,86 @@ \let\@tempb\tud@ddc% \fi% \fi% + \iftudscrverlower{2.03}{% + \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi% + }{}% } -\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} -\newcommand*\tud@pslist{} -\forcsvlist{\listadd\tud@pslist}{% +\newcommand*\iftudpagestyle[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% +} +\newcommand*\tud@ps@list{} +\forcsvlist{\listadd\tud@ps@list}{% tudheadings,plain.tudheadings,empty.tudheadings% } -\newif\if@tud@widehead -\TUD@key@lock{widehead}[true]{% - \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +\newlength\tud@dim@extrabottommargin +\TUD@key{extrabottommargin}{% + \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@geometry@process\fi% + \fi% } -\newif\if@tud@cdfoot +\cs@lock{tud@head@font}{0} +\newcommand*\tud@head@bar{0} +\bool@lock{@tud@head@widebar} +\TUD@key{cdhead}[true]{% + \TUD@set@numkey{cdhead}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},% + {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},% + {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},% + {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},% + {bicolor}{5},{bicolour}{5},{twocolor}{5},{twocolour}{5},% + {bichrome}{5},{bichromatic}{5},{dichrome}{5},{dichromatic}{5},% + {color}{5},{colour}{5},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5},% + {textwidth}{6},{slim}{6},{slimhead}{6},{nowide}{6},{nowidehead}{6},% + {paperwidth}{7},{wide}{7},{widehead}{7}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% + \cs@set@lock{tud@head@font}{0}% + \or% + \cs@set@lock{tud@head@font}{1}% + \or% + \cs@set@lock{tud@head@font}{2}% + \or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \bool@set@lock{@tud@head@widebar}{false}% + \or% + \bool@set@lock{@tud@head@widebar}{true}% + \fi% + \fi% +} +\newif\if@tud@footcolor \TUD@key{cdfoot}[true]{% - \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \TUD@set@numkey{cdfoot}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{3},{colour}{3},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}% + }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument% - \if@tud@cdfoot% - \tud@ps@store{headings}% - \tud@ps@store{plain}% + \ifcase\@tempa\relax% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@restore{scrheadings}% + \tud@ps@restore{plain.scrheadings}% + \tud@font@koma@unset{pageheadfoot}% + }% + \or% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@store{scrheadings}% + \tud@ps@store{plain.scrheadings}% \tud@font@koma@set{pageheadfoot}{\upshape}% \clearpairofpagestyles% \ofoot[\pagemark]{% @@ -388,57 +474,58 @@ {\footnotesize\headmark}% \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% }% - \else% - \tud@ps@restore{headings}% - \tud@ps@restore{plain}% - \tud@font@koma@unset{pageheadfoot}% - \fi% + }% + \or% + \@tud@footcolorfalse% + \or% + \@tud@footcolortrue% \fi% + \else% + \TUDoptions{extrabottommargin=#1}% \fi% } \newcommand*\tud@ps@store[1]{% - \tud@@ps@store{#1}{odd}{left}{head}{}% - \tud@@ps@store{#1}{odd}{right}{head}{}% - \tud@@ps@store{#1}{odd}{middle}{head}{}% - \tud@@ps@store{#1}{even}{left}{head}{}% - \tud@@ps@store{#1}{even}{right}{head}{}% - \tud@@ps@store{#1}{even}{middle}{head}{}% - \tud@@ps@store{#1}{odd}{left}{foot}{}% - \tud@@ps@store{#1}{odd}{right}{foot}{}% - \tud@@ps@store{#1}{odd}{middle}{foot}{}% - \tud@@ps@store{#1}{even}{left}{foot}{}% - \tud@@ps@store{#1}{even}{right}{foot}{}% - \tud@@ps@store{#1}{even}{middle}{foot}{}% + \tud@@ps@store{#1}{odd}{left}{head}% + \tud@@ps@store{#1}{odd}{right}{head}% + \tud@@ps@store{#1}{odd}{middle}{head}% + \tud@@ps@store{#1}{even}{left}{head}% + \tud@@ps@store{#1}{even}{right}{head}% + \tud@@ps@store{#1}{even}{middle}{head}% + \tud@@ps@store{#1}{odd}{left}{foot}% + \tud@@ps@store{#1}{odd}{right}{foot}% + \tud@@ps@store{#1}{odd}{middle}{foot}% + \tud@@ps@store{#1}{even}{left}{foot}% + \tud@@ps@store{#1}{even}{right}{foot}% + \tud@@ps@store{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@store[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% - \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}% }% } \newcommand*\tud@ps@restore[1]{% - \tud@@ps@restore{#1}{odd}{left}{head}{}% - \tud@@ps@restore{#1}{odd}{right}{head}{}% - \tud@@ps@restore{#1}{odd}{middle}{head}{}% - \tud@@ps@restore{#1}{even}{left}{head}{}% - \tud@@ps@restore{#1}{even}{right}{head}{}% - \tud@@ps@restore{#1}{even}{middle}{head}{}% - \tud@@ps@restore{#1}{odd}{left}{foot}{}% - \tud@@ps@restore{#1}{odd}{right}{foot}{}% - \tud@@ps@restore{#1}{odd}{middle}{foot}{}% - \tud@@ps@restore{#1}{even}{left}{foot}{}% - \tud@@ps@restore{#1}{even}{right}{foot}{}% - \tud@@ps@restore{#1}{even}{middle}{foot}{}% + \tud@@ps@restore{#1}{odd}{left}{head}% + \tud@@ps@restore{#1}{odd}{right}{head}% + \tud@@ps@restore{#1}{odd}{middle}{head}% + \tud@@ps@restore{#1}{even}{left}{head}% + \tud@@ps@restore{#1}{even}{right}{head}% + \tud@@ps@restore{#1}{even}{middle}{head}% + \tud@@ps@restore{#1}{odd}{left}{foot}% + \tud@@ps@restore{#1}{odd}{right}{foot}% + \tud@@ps@restore{#1}{odd}{middle}{foot}% + \tud@@ps@restore{#1}{even}{left}{foot}% + \tud@@ps@restore{#1}{even}{right}{foot}% + \tud@@ps@restore{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@restore[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% - \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% \csundef{@@tud@ps@#1@#2@#3@#4}% - }% + }{}% } -\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} \newcommand*\tud@geometry{0} -\TUD@key@lock{geometry}[true]{% - \TUD@set@numkey@lock{geometry}{tud@geometry}{% +\TUD@key@lock{cdgeometry}[true]{% + \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{% \TUD@numkey@bool,% {typearea}{0},% {tud}{1},{asymmetric}{1},{cd}{1},% @@ -450,51 +537,57 @@ \fi% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@head@color{black} -\newcommand*\tud@cd{0} -\csdef@lock{tud@layout@cover}{0} -\csdef@lock{tud@layout@title}{0} -\csdef@lock{tud@layout@part}{0} +\cs@lock{tud@layout@cover}{0} +\cs@lock{tud@layout@title}{0} +\cs@lock{tud@layout@part}{0} \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% \TUD@numkey@bool,% - {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},% {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% - {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% - {color}{3},{colour}{3}% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{4},{colour}{4},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5}% } +\newcommand*\tud@cd{0} \TUD@key{cd}[true]{% \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \def\tud@head@color{black}% - \ifcase \tud@cd\relax% - \csstd@lock{tud@layout@cover}{0}% - \csstd@lock{tud@layout@title}{0}% - \csstd@lock{tud@layout@part}{0}% - \or% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{1}% - \csstd@lock{tud@layout@part}{1}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{2}% - \csstd@lock{tud@layout@part}{2}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{3}% - \csstd@lock{tud@layout@part}{2}% + \ifcase\tud@cd\relax% + \cs@std@lock{tud@layout@cover}{0}% + \cs@std@lock{tud@layout@title}{0}% + \cs@std@lock{tud@layout@part}{0}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{1}% + \cs@std@lock{tud@layout@part}{1}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{2}% + \cs@std@lock{tud@layout@part}{2}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{3}% + \cs@std@lock{tud@layout@part}{3}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{4}% + \cs@std@lock{tud@layout@part}{4}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{5}% + \cs@std@lock{tud@layout@part}{5}% \fi% \if@atdocument% \tud@layout@process% \else% - \ifcase \tud@cd\relax% - \TUD@std@numkey@lock{geometry}{false}% + \ifcase\tud@cd\relax% + \TUD@std@numkey@lock{cdgeometry}{false}% \else% - \TUD@std@numkey@lock{geometry}{true}% + \TUD@std@numkey@lock{cdgeometry}{true}% \fi% \fi% \fi% @@ -502,14 +595,18 @@ \TUD@key{cdcover}[true]{% \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@cover}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@cover}{0}% + \or% + \cs@set@lock{tud@layout@cover}{1}% + \or% + \cs@set@lock{tud@layout@cover}{2}% \or% - \csset@lock{tud@layout@cover}{1}% + \cs@set@lock{tud@layout@cover}{3}% \or% - \csset@lock{tud@layout@cover}{2}% + \cs@set@lock{tud@layout@cover}{4}% \or% - \csset@lock{tud@layout@cover}{3}% + \cs@set@lock{tud@layout@cover}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -517,14 +614,18 @@ \TUD@key{cdtitle}[true]{% \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@title}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@title}{0}% \or% - \csset@lock{tud@layout@title}{1}% + \cs@set@lock{tud@layout@title}{1}% \or% - \csset@lock{tud@layout@title}{2}% + \cs@set@lock{tud@layout@title}{2}% \or% - \csset@lock{tud@layout@title}{3}% + \cs@set@lock{tud@layout@title}{3}% + \or% + \cs@set@lock{tud@layout@title}{4}% + \or% + \cs@set@lock{tud@layout@title}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -532,37 +633,45 @@ \TUD@key{cdpart}[true]{% \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@part}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@part}{0}% + \or% + \cs@set@lock{tud@layout@part}{1}% + \or% + \cs@set@lock{tud@layout@part}{2}% \or% - \csset@lock{tud@layout@part}{1}% + \cs@set@lock{tud@layout@part}{3}% \or% - \csset@lock{tud@layout@part}{2}% + \cs@set@lock{tud@layout@part}{4}% \or% - \csset@lock{tud@layout@part}{2}% + \cs@set@lock{tud@layout@part}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } +\newcommand*\tud@font@heading@size{} +\AtEndOfClass{\let\tud@font@heading@size\size@part} \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \AtEndOfFamilyOptions{% \let\tud@font@heading@size\size@part% - \tud@layout@process% - \ifcase \tud@layout@part\relax\else% - \tud@font@koma@reset{part}% - \tud@font@koma@reset{partnumber}% - \tud@font@koma@reset{section}% - \tud@font@koma@reset{subsection}% - \tud@font@koma@reset{subsubsection}% - \tud@font@koma@reset{minisec}% + \if@atdocument% + \tud@layout@process% + \ifcase\tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% \fi% }% } %%% From File: tudscr-frontmatter.dtx \newcommand*\tud@fm@switch{% {section}{2},{sect}{2},{sec}{2},{addsec}{2},% - {new}{2},{std}{2},{heading}{2},% + {new}{2},{standard}{2},{heading}{2},% {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% {nottotoc}{6},{notoc}{6},% @@ -574,7 +683,7 @@ {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% } \newcommand*\tud@abstract@level{0} -\newbool@lock{@tud@abstract@toc} +\bool@lock{@tud@abstract@toc} \newif\if@tud@abstract@toc@leveldown \newif\if@tud@abstract@markboth \newif\if@tud@abstract@multi @@ -584,24 +693,24 @@ \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \def\tud@abstract@level{0}% - \stdbool@lock{@tud@abstract@toc}{false}% + \bool@std@lock{@tud@abstract@toc}{false}% \or% \def\tud@abstract@level{1}% - \stdbool@lock{@tud@abstract@toc}{false}% + \bool@std@lock{@tud@abstract@toc}{false}% \or% \def\tud@abstract@level{2}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldownfalse% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldowntrue% \or% - \setbool@lock{@tud@abstract@toc}{false}% + \bool@set@lock{@tud@abstract@toc}{false}% \or% \@tud@abstract@markbothtrue% \or% @@ -618,35 +727,35 @@ \fi% } \newcommand*\tud@declaration@level{1} -\newbool@lock{@tud@declaration@toc} +\bool@lock{@tud@declaration@toc} \newif\if@tud@declaration@toc@leveldown \newif\if@tud@declaration@markboth \newif\if@tud@declaration@multi -\@tud@declaration@multitrue \newif\if@tud@declaration@fil +\@tud@declaration@multitrue \@tud@declaration@filtrue \TUD@key{declaration}[true]{% \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \def\tud@declaration@level{0}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{1}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{2}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldownfalse% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldowntrue% \or% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@set@lock{@tud@declaration@toc}{false}% \or% \@tud@declaration@markbothtrue% \or% @@ -668,6 +777,9 @@ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% } %%% From File: tudscr-misc.dtx +\newcommand*\TUD@AfterPackage[2]{% + \if@atdocument#2\else\AfterPackage!{#1}{#2}\fi% +} \newif\if@tud@symbolheadings \TUD@key{footnotes}{% \TUD@set@numkey{footnotes}{@tempa}{% @@ -675,7 +787,7 @@ {symbolheadings}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \@tud@symbolheadingsfalse% \or% \@tud@symbolheadingstrue% @@ -685,30 +797,28 @@ \newif\if@tud@bookmarks \TUD@ifkey{tudbookmarks}{@tud@bookmarks} %%% From File: tudscr-comp.dtx -\TUD@key{color}[true]{% - \TUD@set@numkey{color}{@tempa}{% - \TUD@numkey@bool,% - {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% - {color}{1},{colour}{1},{full}{1},% - {colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% - {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% - {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% - {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% - }{#1}% +\newcommand*\tud@deprecated@key[2]{% + \ClassWarning{\tudcls@name}% + {% + The option key `#1' is deprecated.\MessageBreak% + It's recommended to use `#2' instead% + }% +} +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \TUDoptions{cd=true}% - \or% - \TUDoptions{cd=color}% - \or% - \TUDoptions{cd=lite}% + \tud@deprecated@key{cdfonts}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% \fi% \fi% } -\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} \TUD@key{tudfonts}[true]{% \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfonts}{cdfont}% \if@tempswa% \TUDoptions{cdfont=true}% \else% @@ -716,9 +826,99 @@ \fi% \fi% } +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{heavyfont}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont=true}% + \fi% + \fi% +} +\TUD@key{din}[true]{% + \TUD@set@ifkey{din}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{din}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=din}% + \else% + \TUDoptions{cdfont=nodin}% + \fi% + \fi% +} +\TUD@key{nodin}[true]{% + \TUD@set@ifkey{nodin}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{nodin}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=nodin}% + \else% + \TUDoptions{cdfont=din}% + \fi% + \fi% +} +\TUD@key{sansmath}[true]{% + \TUD@set@ifkey{sansmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=true}% + \else% + \TUDoptions{cdmath=false}% + \fi% + \fi% +} +\TUD@key{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=false}% + \else% + \TUDoptions{cdmath=true}% + \fi% + \fi% +} +\TUD@key{geometry}[true]{% + \tud@deprecated@key{geometry}{cdgeometry}% + \TUDoptions{cdgeometry=#1}% +} +\TUD@key{barfont}[true]{% + \TUD@set@numkey{barfont}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{barfont}{cdhead}% + \ifcase\@tempa\relax% + \TUDoptions{cdhead=false}% + \or% + \TUDoptions{cdhead=true}% + \or% + \TUDoptions{cdhead=heavy}% + \fi% + \fi% +} +\TUD@key{widehead}[true]{% + \TUD@set@ifkey{widehead}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{widehead}{cdhead}% + \if@tempswa% + \TUDoptions{cdhead=paperwidth}% + \else% + \TUDoptions{cdhead=textwidth}% + \fi% + \fi% +} \TUD@key{tudfoot}[true]{% \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfoot}{cdfoot}% \if@tempswa% \TUDoptions{cdfoot=true}% \else% @@ -726,21 +926,50 @@ \fi% \fi% } -\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},% + {lite}{1},{light}{1},{pale}{1},% + {colorlite}{1},{litecolor}{1},{colourlite}{1},{litecolour}{1},% + {colorlight}{1},{lightcolor}{1},{colourlight}{1},{lightcolour}{1},% + {colorpale}{1},{palecolor}{1},{colourpale}{1},{palecolour}{1},% + {bicolor}{2},{bicolour}{2},{twocolor}{2},{twocolour}{2},% + {bichrome}{2},{bichromatic}{2},{dichrome}{2},{dichromatic}{2},% + {color}{3},{colour}{3},% + {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{color}{cd}% + \ifcase\@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=pale}% + \or% + \TUDoptions{cd=bicolor}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=fullcolor}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +\newcommand*\tud@v@comp{\tud@v@last} \TUD@key{tudscrver}[last]{% - \scr@ifundefinedorrelax{tudscr@v@#1}{% - \def\tudscr@v@comp{0}% + \ifcsvoid{tud@v@#1}{% + \def\tud@v@comp{0}% \ClassWarningNoLine{\tudcls@name}{% You have set option `tudscrver' to `#1', but\MessageBreak% - this value of version is not supported.\MessageBreak% - Because of this, version was set to `first'% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% }% \FamilyKeyStateProcessed% }{% \ClassInfoNoLine{\tudcls@name}{% Switching compatibility level to `#1'% }% - \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \edef\tud@v@comp{\@nameuse{tud@v@#1}}% \FamilyKeyStateProcessed% }% } @@ -769,12 +998,20 @@ }% }% } -\@namedef{tudscr@v@first}{0} -\@namedef{tudscr@v@2.02}{0} -\@namedef{tudscr@v@last}{0} +\@namedef{tud@v@first}{0} +\@namedef{tud@v@2.02}{0} +\@namedef{tud@v@2.03}{1} +\@namedef{tud@v@last}{1} +\newcommand*\iftudscrverlower[1]{% + \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} %%% From File: tudscr-base.dtx \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} -\TUDExecuteOptions{\TUDDefaultOptions} +\TUDExecuteOptions{cd,cdfont,tudbookmarks} \TUDProcessOptions\relax \LoadClass{\scrcls@name}[2013/12/19] \RequirePackage{environ}[2013/04/01] @@ -792,22 +1029,22 @@ %%% From File: tudscr-fonts.dtx \AtEndPreamble{% \if@tud@fontspec% - \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% - \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% - \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% - \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% - \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% - \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% - \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% - \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% - \newcommand*\textuln[1]{{\univln#1}} - \newcommand*\texturn[1]{{\univrn#1}} - \newcommand*\textubn[1]{{\univbn#1}} - \newcommand*\textuxn[1]{{\univxn#1}} - \newcommand*\textuls[1]{{\univls#1}} - \newcommand*\texturs[1]{{\univrs#1}} - \newcommand*\textubs[1]{{\univbs#1}} - \newcommand*\textuxs[1]{{\univxs#1}} + \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]% + \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]% + \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% + \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% + \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% + \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% + \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% + \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% + \newcommand*\textuln[1]{{\univln#1}}% + \newcommand*\texturn[1]{{\univrn#1}}% + \newcommand*\textubn[1]{{\univbn#1}}% + \newcommand*\textuxn[1]{{\univxn#1}}% + \newcommand*\textuls[1]{{\univls#1}}% + \newcommand*\texturs[1]{{\univrs#1}}% + \newcommand*\textubs[1]{{\univbs#1}}% + \newcommand*\textuxs[1]{{\univxs#1}}% \else% \if@tud@univers% \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% @@ -846,9 +1083,9 @@ \DeclareTextFontCommand{\textuxs}{\univxs}% \fi% \if@tud@fontspec% - \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% - \newcommand*\textdbn[1]{{\dinbn#1}} + \newcommand*\textdbn[1]{{\dinbn#1}}% \else% \if@tud@dinbold% \newcommand*\dinbn{% @@ -859,220 +1096,239 @@ \let\dinbn\sectfont% \fi% \newcommand*\textdbn{}% - \DeclareTextFontCommand{\textdbn}{\dinbn} - \fi% - \DeclareMathVersion{univers} - \DeclareMathVersion{universbold} - \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} - \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} - \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} - \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} - \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} - \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} - \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} - \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n} - \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} - \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} - \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n} - \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} - \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} - \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} - \DeclareMathVersion{dinbold} - \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} - \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n} - \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} - \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} - \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} - \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} - \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} - \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} - \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} - \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} - \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} - \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} - \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} - \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} - \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} - \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} - \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} - \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} - \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} - \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} - \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} -} -\newcommand*\tud@font@cdfonts{% - \tud@cmd@store{rmdefault}% - \tud@cmd@store{sfdefault}% - \tud@cmd@store{ttdefault}% - \tud@cmd@store{bfdefault}% - \tud@cmd@store{mddefault}% - \tud@cmd@store{itdefault}% - \tud@cmd@store{familydefault}% - \tud@cmd@store{seriesdefault}% - \tud@cmd@store{shapedefault}% - \if@tud@fontspec% - \if@tud@heavyfont% - \setsansfont{Univers}[% - BoldFont = Univers Bold,% - ItalicFont = Univers Oblique,% - BoldItalicFont = Univers Bold Oblique,% - ]% - \setmonofont{LMMono10-Regular}[% - BoldFont = LMMonoLt10-Bold,% - ItalicFont = LMMonoSlant10-Regular,% - BoldItalicFont = LMMonoLt10-BoldOblique,% - ] - \else% - \setsansfont{Univers Light}[% - BoldFont = Univers,% - ItalicFont = Univers Light Oblique,% - BoldItalicFont = Univers Oblique,% - ]% - \setmonofont{LMMonoLt10-Regular}[% - BoldFont = LMMono10-Regular,% - ItalicFont = LMMonoLt10-Oblique,% - BoldItalicFont = LMMonoSlant10-Regular,% - ]% - \fi% + \DeclareTextFontCommand{\textdbn}{\dinbn}% + \fi% + \DeclareMathVersion{univers}% + \DeclareMathVersion{universbold}% + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}% + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}% + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}% + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}% + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}% + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}% + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}% + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}% + \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}% + \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}% + \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}% + \DeclareMathVersion{dinbold}% + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}% + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}% + \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}% + \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}% + \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}% + \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}% + \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}% + \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}% + \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}% + \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}% + \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}% + \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}% + \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}% + \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}% + \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}% + \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}% + \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}% + \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}% + \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}% + \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}% + \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}% +} +\newcommand*\tud@font@set{% + \ifcase\tud@cdfont\relax% + \tud@cmd@restore{rmdefault}% + \tud@cmd@restore{sfdefault}% + \tud@cmd@restore{ttdefault}% + \tud@cmd@restore{bfdefault}% + \tud@cmd@restore{mddefault}% + \tud@cmd@restore{itdefault}% + \tud@cmd@restore{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \bool@std@lock{@tud@cdmath}{false}% + \cs@std@lock{tud@head@font}{0}% \else% - \if@tud@univers% - \renewcommand*\sfdefault{\tud@univers}% - \renewcommand*\ttdefault{\tud@univers t}% - \if@tud@heavyfont% - \renewcommand*\bfdefault{b}% - \renewcommand*\mddefault{m}% + \tud@cmd@store{rmdefault}% + \tud@cmd@store{sfdefault}% + \tud@cmd@store{ttdefault}% + \tud@cmd@store{bfdefault}% + \tud@cmd@store{mddefault}% + \tud@cmd@store{itdefault}% + \tud@cmd@store{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \bool@std@lock{@tud@cdmath}{true}% + \cs@std@lock{tud@head@font}{\tud@cdfont}% + \if@tud@fontspec% + \ifnum\tud@cdfont=\@ne\relax% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% \else% - \renewcommand*\bfdefault{m}% - \renewcommand*\mddefault{l}% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \ifnum\tud@cdfont=\@ne\relax% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \else% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \fi% \fi% \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% \fi% - \renewcommand*\rmdefault{\sfdefault}% - \renewcommand*\familydefault{\sfdefault}% - \renewcommand*\seriesdefault{\mddefault}% - \renewcommand*\shapedefault{\updefault}% \normalfont\selectfont% + \tud@font@math@set% + \tud@layout@process% } -\newcommand*\tud@font@mathfonts{% - \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% - \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% - \mathversion{normal}% -} -\newcommand*\tud@sansmath{% +\newcommand*\tud@font@math@set{% \if@tud@univers% - \tud@cmd@store{mv@normal}% - \tud@cmd@store{mv@bold}% - \let\mv@normal\mv@univers% - \let\mv@bold\mv@universbold% - \mathversion{normal}% + \if@tud@cdmath% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \else% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \fi% \fi% -} -\newcommand*\tud@serifmath{% - \if@tud@univers% - \tud@cmd@restore{mv@normal}% - \tud@cmd@restore{mv@bold}% - \mathversion{normal}% + \if@tud@slantedgreek% + \tud@font@greek@slanted% + \else% + \tud@font@greek@upright% \fi% + \mathversion{normal}% } -\newcount\tud@greek@upGamma -\tud@greek@upGamma\Gamma -\newcount\tud@greek@offset +\newcount\tud@font@greek@upGamma +\tud@font@greek@upGamma\Gamma +\newcount\tud@font@greek@offset \let\@tempa\relax \DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} -\tud@greek@offset\@tempa -\advance\tud@greek@offset-\Gamma -\newcommand*\tud@greek@slanted{% - \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% +\tud@font@greek@offset\@tempa +\advance\tud@font@greek@offset-\Gamma +\newcommand*\tud@font@greek@slanted{% + \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi% } -\newcommand*\tud@greek@upright{% - \ifnum\Gamma>\tud@greek@upGamma% - \tud@greek@offset=-\tud@greek@offset% - \tud@greek@changeshape% - \tud@greek@offset=-\tud@greek@offset% +\newcommand*\tud@font@greek@upright{% + \ifnum\Gamma>\tud@font@greek@upGamma% + \tud@font@greek@offset=-\tud@font@greek@offset% + \tud@font@greek@changeshape% + \tud@font@greek@offset=-\tud@font@greek@offset% \fi% } -\newcommand*\tud@greek@def[2]{% +\newcommand*\tud@font@greek@def[2]{% \expandafter\@tempcnta\csname #1\endcsname% \advance\@tempcnta#2% \expandafter\mathchardef\csname #1\endcsname\@tempcnta% } -\newcommand*\tud@greek@uc{% +\newcommand*\tud@font@greek@uc{% Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% } -\newcommand*\tud@greek@changeshape{% - \@for\@tempa:=\tud@greek@uc\do{% - \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% +\newcommand*\tud@font@greek@changeshape{% + \@for\@tempa:=\tud@font@greek@uc\do{% + \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}% }% } \newcommand*\tud@head@font@bold{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@set{% + \ifdef{\@raggedtwoe@everyselectfont}{% + \let\@raggedtwoe@everyselectfont\relax% + \spaceskip\z@\selectfont% + }{}% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\sfdefault}{bx}{n}{\tud@head@font@size}% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {\sfdefault}{\mddefault}{n}{\tud@head@font@size}% - \ifcase \tud@barfont\relax% - \if@tud@cdfonts% + \@tempswafalse% + \ifcase\tud@head@font\relax% + \ifnum\tud@cdfont>\z@\relax% \ClassWarning{\tudcls@name}{% - It isn't possible to use `barfont=false'\MessageBreak% + It isn't possible to use `cdhead=false'\MessageBreak% together with `cdfont=true'% }% + \@tempswatrue% \fi% - \or% - \@tud@cdfontstrue% - \def\mddefault{l}% - \or% - \@tud@cdfontstrue% - \def\mddefault{m}% + \else% + \@tempswatrue% \fi% - \if@tud@cdfonts% + \if@tempswa% \if@tud@fontspec% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {UniversBold}{m}{n}{\tud@head@font@size}% - \ifstr{\mddefault}{m}{% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {UniversRegular}{m}{n}{\tud@head@font@size}% - }{% + \ifcase\tud@head@font\relax\or% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {UniversLight}{m}{n}{\tud@head@font@size}% - }% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + \fi% \else% \if@tud@univers% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\tud@univers}{b}{n}{\tud@head@font@size}% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {\tud@univers}{\mddefault}{n}{\tud@head@font@size}% + \ifcase\tud@head@font\relax\or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@font@size}% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{m}{n}{\tud@head@font@size}% + \fi% \fi% \fi% \fi% } \newrobustcmd*\ifdin{% - \@tempswafalse + \@tempswafalse% \@expandtwoargs\in@{DINBold}{\f@family}% \ifin@\@tempswatrue\fi% \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% - \if@tempswa + \if@tempswa% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% \fi% } -\AtBeginDocument{% - \if@tud@cdfonts\tud@font@cdfonts\fi% - \tud@font@mathfonts% -} \AfterPackage*{amsfonts}{% \DeclareFontFamily{U}{msa}{}% \DeclareFontShape{U}{msa}{m}{n}{% @@ -1096,17 +1352,7 @@ \renewcommand*\tud@RaggedRight{\RaggedRight}% } %%% From File: tudscr-color.dtx -\newcommand*\tud@pagecolor[1]{} -\newcommand*\tud@restorepagecolor{} -\AfterPackage{tudscrcolor}{% - \providecommand*\nopagecolor{\pagecolor{white}}% - \let\tud@pagecolor\pagecolor% - \let\tud@restorepagecolor\nopagecolor% - \AfterPackage*{pagecolor}{% - \let\tud@pagecolor\newpagecolor% - \let\tud@restorepagecolor\restorepagecolor% - }% -} +\newcommand*\tud@pagecolor{} \AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} %%% From File: tudscr-fields.dtx \RequirePackage{trimspaces}[2009/09/17] @@ -1497,123 +1743,68 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-pagestyle.dtx -\newlength{\tud@dim@left} -\newlength{\tud@dim@right} -\newlength{\tud@dim@both} -\newlength{\tud@dim@top} -\newlength{\tud@dim@bottom} -\newlength{\tud@dim@footskip} -\newlength{\tud@dim@headheight} -\newlength{\tud@dim@barheight} -\newlength{\tud@dim@headsep} -\newlength{\tud@dim@logox} -\newlength{\tud@dim@logoy} -\newlength{\tud@dim@logowidth} -\newlength{\tud@dim@logoheight} -\newlength{\tud@dim@line} -\newlength{\tud@dim@thinline} -\newlength{\tud@dim@heavyline} -\newlength{\tud@dim@headingsvskip} -\newlength{\tud@dim@headdiff} -\newlength{\tud@dim@ddcdiff} -\newlength{\tud@dim@ddcfoot} +\newlength\tud@dim@widemargin +\newlength\tud@dim@slimmargin +\newlength\tud@dim@both +\newlength\tud@dim@topmargin +\newlength\tud@dim@barheight +\newlength\tud@dim@headsep +\newlength\tud@dim@footsep +\newlength\tud@dim@logox +\newlength\tud@dim@logoy +\newlength\tud@dim@logowidth +\newlength\tud@dim@line +\newlength\tud@dim@heavyline +\newlength\tud@dim@thinline +\newlength\tud@dim@headdiff +\newlength\tud@dim@headingsvskip +\iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{} \newcommand*\tud@head@font@size{} \newcommand*\tud@geometry@set{% \ifdim\paperheight<148.1mm\relax% - \setlength{\tud@dim@headheight}{17.5mm}% - \setlength{\tud@dim@barheight}{2.5mm}% - \setlength{\tud@dim@headsep}{6mm}% - \setlength{\tud@dim@logox}{5.5mm}% - \setlength{\tud@dim@logoy}{6.5mm}% - \setlength{\tud@dim@logowidth}{28.5mm}% - \setlength{\tud@dim@left}{15mm}% - \setlength{\tud@dim@right}{10mm}% - \setlength{\tud@dim@top}{12.5mm}% - \setlength{\tud@dim@bottom}{12.5mm}% - \setlength{\tud@dim@footskip}{6mm}% - \setlength{\tud@dim@heavyline}{0.75pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{15mm}% + \setlength\tud@dim@heavyline{0.5pt}% + \setlength\tud@dim@thinline{0.25pt}% \def\tud@head@font@size{4.5}% \else\ifdim\paperheight<297.1mm\relax% - \setlength{\tud@dim@headheight}{35mm}% - \setlength{\tud@dim@barheight}{5mm}% - \setlength{\tud@dim@headsep}{12mm}% - \setlength{\tud@dim@logox}{11mm}% - \setlength{\tud@dim@logoy}{13.5mm}% - \setlength{\tud@dim@logowidth}{57mm}% - \setlength{\tud@dim@left}{30mm}% - \setlength{\tud@dim@right}{20mm}% - \setlength{\tud@dim@top}{25mm}% - \setlength{\tud@dim@bottom}{25mm}% - \setlength{\tud@dim@footskip}{12mm}% - \setlength{\tud@dim@heavyline}{1pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{30mm}% + \setlength\tud@dim@heavyline{1pt}% + \setlength\tud@dim@thinline{0.5pt}% \def\tud@head@font@size{9}% \else\ifdim\paperheight<420.1mm\relax% - \setlength{\tud@dim@headheight}{50mm}% - \setlength{\tud@dim@barheight}{7mm}% - \setlength{\tud@dim@headsep}{17mm}% - \setlength{\tud@dim@logox}{15.5mm}% - \setlength{\tud@dim@logoy}{19mm}% - \setlength{\tud@dim@logowidth}{80mm}% - \setlength{\tud@dim@left}{42mm}% - \setlength{\tud@dim@right}{28mm}% - \setlength{\tud@dim@top}{35mm}% - \setlength{\tud@dim@bottom}{35mm}% - \setlength{\tud@dim@footskip}{17mm}% - \setlength{\tud@dim@heavyline}{1.4pt}% - \setlength{\tud@dim@thinline}{0.7pt}% - \def\tud@head@font@size{13}% + \setlength\tud@dim@widemargin{42.426407mm}% + \setlength\tud@dim@heavyline{1.414214pt}% + \setlength\tud@dim@thinline{0.707107pt}% + \def\tud@head@font@size{12.727922}% \else\ifdim\paperheight<594.1mm\relax% - \setlength{\tud@dim@headheight}{70mm}% - \setlength{\tud@dim@barheight}{10mm}% - \setlength{\tud@dim@headsep}{24mm}% - \setlength{\tud@dim@logox}{22mm}% - \setlength{\tud@dim@logoy}{27mm}% - \setlength{\tud@dim@logowidth}{114mm}% - \setlength{\tud@dim@left}{60mm}% - \setlength{\tud@dim@right}{40mm}% - \setlength{\tud@dim@top}{50mm}% - \setlength{\tud@dim@bottom}{50mm}% - \setlength{\tud@dim@footskip}{24mm}% - \setlength{\tud@dim@heavyline}{1.7pt}% - \setlength{\tud@dim@thinline}{1pt}% - \def\tud@head@font@size{13.5}% + \setlength\tud@dim@widemargin{60mm}% + \setlength\tud@dim@heavyline{2pt}% + \setlength\tud@dim@thinline{1pt}% + \def\tud@head@font@size{18}% \else\ifdim\paperheight<841.1mm\relax% - \setlength{\tud@dim@headheight}{100mm}% - \setlength{\tud@dim@barheight}{14mm}% - \setlength{\tud@dim@headsep}{34mm}% - \setlength{\tud@dim@logox}{31mm}% - \setlength{\tud@dim@logoy}{38mm}% - \setlength{\tud@dim@logowidth}{161.5mm}% - \setlength{\tud@dim@left}{85mm}% - \setlength{\tud@dim@right}{56.5mm}% - \setlength{\tud@dim@top}{71mm}% - \setlength{\tud@dim@bottom}{71mm}% - \setlength{\tud@dim@footskip}{34mm}% - \setlength{\tud@dim@heavyline}{1.9pt}% - \setlength{\tud@dim@thinline}{1.5pt}% - \def\tud@head@font@size{14}% + \setlength\tud@dim@widemargin{84.852814mm}% + \setlength\tud@dim@heavyline{2.828427pt}% + \setlength\tud@dim@thinline{1.414214pt}% + \def\tud@head@font@size{25.455844}% \else% - \setlength{\tud@dim@headheight}{140mm}% - \setlength{\tud@dim@barheight}{20mm}% - \setlength{\tud@dim@headsep}{48mm}% - \setlength{\tud@dim@logox}{44mm}% - \setlength{\tud@dim@logoy}{54mm}% - \setlength{\tud@dim@logowidth}{228mm}% - \setlength{\tud@dim@left}{120mm}% - \setlength{\tud@dim@right}{80mm}% - \setlength{\tud@dim@top}{100mm}% - \setlength{\tud@dim@bottom}{100mm}% - \setlength{\tud@dim@footskip}{48mm}% - \setlength{\tud@dim@heavyline}{2.1pt}% - \setlength{\tud@dim@thinline}{2pt}% - \def\tud@head@font@size{20}% + \setlength\tud@dim@widemargin{120mm}% + \setlength\tud@dim@heavyline{4pt}% + \setlength\tud@dim@thinline{2pt}% + \def\tud@head@font@size{36}% \fi\fi\fi\fi\fi% - \setlength{\tud@dim@both}{\dimexpr\tud@dim@left+\tud@dim@right\relax}% - \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% + \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}% + \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}% + \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}% + \setlength\tud@dim@footsep{% + \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax% + }% } -\newcommand*\tud@ifsacrop{% +\newcommand*\ifstandalonecrop{% \ifcsdef{ifsa@crop}{% \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% }{% @@ -1621,7 +1812,7 @@ }% } \AtEndPreamble{% - \tud@ifsacrop{% + \ifstandalonecrop{% \PreventPackageFromLoading{scrlayer-scrpage}% \pagestyle{empty}% \hoffset=-72.27pt% @@ -1636,192 +1827,352 @@ \oddsidemargin=0pt% \evensidemargin=0pt% \topskip=0pt% - \textheight=\dimexpr\maxdimen% + \textheight=\maxdimen% }{}% } \AtEndPreamble{% \RequirePackage{scrlayer-scrpage}[2013/12/14]% \AfterPackage*{scrlayer-scrpage}{% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={% - \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}% + \tud@mainlogo% },% ]{tudheadings.head.mainlogo}% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={\hfill\tud@headlogo},% ]{tudheadings.head.logo}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.topline}% - \DeclareNewLayer[% - background,head,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41}% + \rule{\layerwidth}{\tud@dim@topmargin}% + \fi% },% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.bottomline}% - \DeclareNewLayer[% - background,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.topwideline}% + ]{tudheadings.head.back}% \DeclareNewLayer[% - background,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + voffset=\tud@dim@topmargin,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41!80}% + \rule{\layerwidth}{\tud@dim@barheight}% + \fi% },% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.bottomwideline}% + ]{tudheadings.head.bar}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,% contents={\tud@head@text@box},% ]{tudheadings.head.text}% \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperline}% + \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperwideline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerwideline}% + \DeclareNewLayer[% background,foot,% + height=\dimexpr\paperheight-\layeryoffset\relax,% contents={% - \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% - \hfill\tud@footlogo% + \ifdim\footlogoheight>\z@\relax\else% + \settoheight\footlogoheight{\tud@mainlogo}% + \iftudscrverlower{2.03}{% + \setlength\footlogoheight{.6\tud@dim@topmargin}% + }{}% + \fi% + \setlength\@tempdima{% + \dimexpr\footlogoheight-\layerheight+\dp\strutbox\relax% + }% + \ifdim\@tempdima>\vfuzz\relax% + \ClassWarning{\tudcls@name}{% + The chosen `\string\footlogoheight' + (\the\footlogoheight)\MessageBreak% + is \the\@tempdima\space higher than recommended. You\MessageBreak% + should decrease this length + \ifcase\tud@geometry\relax\else% + or alternatively\MessageBreak% + enlarge the bottom margin by using option\MessageBreak% + `extrabottommargin'% + \fi% + }% + \fi% + \let\@tempa\relax% + \@for\@tempb:=\tud@@footlogo\do{% + \@tempa% + \ifx\@tempb\@empty\else% + \expandafter\tud@footlogo\expandafter{\@tempb}% + \fi% + \let\@tempa\footlogosep% + }% + \tud@ddclogo% },% - ]{tudheadings.foot.ddclogo}% - \newpairofpagestyles{tudheadings}{}% - \ForEachLayerOfPageStyle{tudheadings}{% - \RemoveLayersFromPageStyle{tudheadings}{#1}% - }% - \ForEachLayerOfPageStyle{plain.tudheadings}{% - \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% - }% - \AddLayersToPageStyle{tudheadings}{% + ]{tudheadings.foot.logo}% + \iftudscrverlower{2.03}{% + \ModifyLayer[% + voffset=\dimexpr\topmargin+1in+\headheight+\headsep+\textheight% + +\footskip-\footheight-\tud@dim@ddcdiff% + \ifcase\tud@geometry\relax\else+\ht\strutbox+\dp\strutbox\fi% + \relax,% + height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,% + ]{tudheadings.foot.logo}% + }{}% + \DeclareNewLayer[% + background,% + hoffset=0pt,% + width=\paperwidth,% + voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}% + -\dp\strutbox\relax,% + height=\dimexpr\paperheight-\layeryoffset\relax,% + contents={% + \if@tud@footcolor% + \let\@tempc\relax% + \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi% + \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}% + \ifx\@tempc\relax\else% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \vbox to \layerheight{% + \vfil\@tempc% + \rule{\layerwidth}{% + \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax% + }% + }% + \else% + \@tempc\rule{\layerwidth}{\layerheight}% + \fi% + }{\@tempc\rule{\layerwidth}{\layerheight}}% + \fi% + \fi% + },% + ]{tudheadings.foot.back}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% scrheadings.foot.odd,% scrheadings.foot.even,% scrheadings.foot.oneside,% scrheadings.foot.above.line,% scrheadings.foot.below.line% }% - \AddLayersToPageStyle{plain.tudheadings}{% + \DeclareNewPageStyleAlias{tud}{tudheadings}% + \DeclareNewPageStyleAlias{tudscr}{tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{plain.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% plain.scrheadings.foot.odd,% plain.scrheadings.foot.even,% plain.scrheadings.foot.oneside,% plain.scrheadings.foot.above.line,% plain.scrheadings.foot.below.line% }% - \DeclareNewPageStyleByLayers{empty.tudheadings}{% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{empty.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% }% - \AddToLayerPageStyleOptions{tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% - }% - \AddToLayerPageStyleOptions{plain.tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% - }% - \AddToLayerPageStyleOptions{empty.tudheadings}{% - onselect={% - \letcs\ps@empty{ps@empty.tudheadings}% - \letcs\ps@plain{ps@plain.tudheadings}% - \letcs\ps@headings{ps@tudheadings}% - }% - }% - \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% - \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% - \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}% + \DeclareNewLayer[ + background,page,% + contents={% + \ifdefvoid{\tud@pagecolor}{}{% + \color{\tud@pagecolor}% + \rule{\layerwidth}{\layerheight}% + }% + },% + ]{tudheadings.pagecolor} + \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% + \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}% }% } -\newcommand*\tud@currentgeometry{} -\newcommand*\tud@beforepagestyle[1]{% - \def\@tempa{#1}% - \ifstr{\sls@currentheadings}{tudheadings}{% - \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% - \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% - \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% - }{}% - \tud@ifinpslist{\@tempa}{% - \tud@ddc@check% - \ifcase \@tempb\relax% - \ifstr{\tud@currentgeometry}{tudarea}{}{% - \loadgeometry{tudarea}% - \gdef\tud@currentgeometry{tudarea}% - }% +\newcommand*\tud@ps@onselect{% + \DeclarePageStyleAlias{plain}{plain.tudheadings}% + \DeclarePageStyleAlias{headings}{tudheadings}% + \def\sls@currentheadings{tudheadings}% + \def\sls@currentplain{plain.tudheadings}% +} +\newcommand*\tud@head@logocolor{black} +\newcommand*\tud@foot@logocolor{black} +\newcommand*\tud@ps@onbackground{% + \ifcase\tud@head@bar\relax% + \def\tud@head@logocolor{black}% + \def\tud@foot@logocolor{black}% + \or% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \or% + \def\tud@head@logocolor{white}% + \if@tud@footcolor% + \def\tud@foot@logocolor{white}% \else% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \loadgeometry{tudareaddc}% - \gdef\tud@currentgeometry{tudareaddc}% - }% + \def\tud@foot@logocolor{HKS41}% \fi% - \setlength{\tud@dim@headdiff}{\z@}% - }{% - \ifstr{\tud@currentgeometry}{typearea}{}{% - \loadgeometry{typearea}% - \gdef\tud@currentgeometry{typearea}% - \RedeclarePageStyleByLayers{empty}{}% + \fi% + \let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}} +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforeselectanypagestyle[1]{% + \ifstr{#1}{\GetRealPageStyle{#1}}{% + \def\@tempa{#1}% + \ifcsdef{scr@v@3.15}{}{% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + }{}% }% - \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% - \ifcase \tud@geometry\relax\else% - \if@hincl% - \addtolength{\tud@dim@headdiff}{% - \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + \iftudpagestyle{\@tempa}{% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% + }{% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% }% + }% + \setlength\tud@dim@headdiff{\z@}% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + }% + \setlength\tud@dim@headdiff{\tud@ta@headdiff}% + \ifcase\tud@geometry\relax\else% + \if@hincl% + \addtolength\tud@dim@headdiff{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% \fi% - \fi% - }% - \global\tud@dim@headdiff=\tud@dim@headdiff% + }% + \global\tud@dim@headdiff=\tud@dim@headdiff% + }{}% } \patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} \patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} \patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoublepageusingstyle}} -\newcommand*\tud@ddc@enlargepage{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\fi% +\iftudscrverlower{2.03}{% + \newcommand*\tud@ddc@enlargepage[1][]{% + \iftudpagestyle{#1}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \enlargethispage{-\tud@dim@ddcdiff}% + \fi% + }% + }{}% }% -} +}{} \newcommand*\tud@head@text{} \newcommand*\tud@head@text@first{} \newcommand*\tud@head@text@second{} \newcommand*\tud@head@text@delimiter{} \newcommand*\tud@head@text@buffer{} -\newcommand*\tud@head@font{} \newcommand*\tud@head@rule[1]{% - \color{\tud@head@color}% - \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% + \color{\tud@head@logocolor}% + \rule[\ht\strutbox]{#1}{\tud@dim@line}% } \newcommand*\tud@head@text@add[3][, ]{% - \def\tud@head@font{#2}% \edef\tud@head@text{#3}% \ifx\tud@head@text\@empty% \def\tud@head@text@delimiter{}% @@ -1833,10 +2184,10 @@ \def\@tempa{% \tud@head@text@first% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% - \settowidth{\@tempdima}{\@tempa}% + \settowidth\@tempdima{\@tempa}% \ifdim\@tempdima>\textwidth\relax% \@tempswatrue% \def\tud@head@text@delimiter{}% @@ -1848,7 +2199,7 @@ \edef\tud@head@text@second{% \tud@head@text@second% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% \fi% @@ -1858,7 +2209,6 @@ \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% \faculty{}% \fi% - \color{\tud@head@color}% \tud@head@font@set% \@tempswafalse% \def\tud@head@text@first{}% @@ -1868,22 +2218,26 @@ \tud@head@text@add{\tud@head@font@light}{\@department}% \tud@head@text@add{\tud@head@font@light}{\@institute}% \tud@head@text@add{\tud@head@font@light}{\@chair}% - \settowidth{\@tempdima}{\tud@head@text@second}% + \settowidth\@tempdima{\tud@head@text@second}% \ifdim\@tempdima>\textwidth\relax% \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}% \hfuzz=\@tempdima% \fi% \vbox{% \linespread{0}\selectfont% + \color{\tud@head@logocolor}% \tud@head@text@write{\tud@head@text@first}% + \ifnum\tud@head@bar>\@ne% + \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{% + \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% + }% + \fi% \ifx\tud@head@text@second\@empty% - \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% - \fi% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% \else% \newline\tud@head@text@write{\tud@head@text@second}% \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\@extraheadline% + \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline% \fi% \fi% }% @@ -1914,21 +2268,18 @@ } \newcommand*\tud@@mainlogo{} \newcommand*\tud@mainlogo{% - \setlength{\@tempdima}{% - \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + \setlength\@tempdima{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax% }% \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% \def\tud@@mainlogo{TUD-black}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% - \global\let\tud@dim@line\tud@dim@thinline% - \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% - \color{\tud@head@color}% - \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}% } \newcommand*\headlogo[2][]{% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \def\tud@@headlogo{#2}% \def\tud@@@headlogo{#1}% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% @@ -1940,11 +2291,11 @@ \ifx\tud@@headlogo\@empty\else% \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% \fi% - \ifcase \@tempa\relax\or% + \ifcase\@tempa\relax\or% \def\tud@@headlogo{DDC-24}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}% \or% \def\tud@@headlogo{DDC-03}% \or% @@ -1959,9 +2310,10 @@ \def\tud@@headlogo{DDC-30}% \fi% \ifx\tud@@headlogo\@empty\else% - \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% - \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% - {}{\tud@patch@wrn{tud@@@headlogo}}% + \settoheight\@tempdima{\tud@mainlogo}% + \protected@epreto\tud@@@headlogo{% + keepaspectratio,totalheight=\the\@tempdima,% + }% \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% \fi% } @@ -1973,44 +2325,86 @@ }% \global\let\tud@headlogo@wrn\relax% } +\newlength\footlogoheight +\newcommand*\footlogosep{\hfill} +\newcommand*\footlogo[2][]{% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \def\tud@@footlogo{#2}% + \def\tud@@@footlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} \newcommand*\tud@@footlogo{} -\newcommand*\tud@footlogo{% +\newcommand*\tud@@@footlogo{} +\DeclareListParser{\tud@footlogo@parser}{:}% +\newcommand*\tud@footlogo[1]{% + \begingroup% + \def\@tempa{}% + \def\@tempb{}% + \@tempswatrue% + \def\do##1{% + \if@tempswa% + \def\@tempa{##1}% + \@tempswafalse% + \else% + \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}% + \fi% + }% + \tud@footlogo@parser{#1}% + \protected@eappto\tud@@@footlogo{\@tempb}% + \protected@epreto\tud@@@footlogo{% + keepaspectratio,totalheight=\the\footlogoheight,% + }% + \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}% + \vbox to \dimexpr\layerheight-\dp\strutbox\relax{% + \vfil\hbox{\@tempc}\vfil\vfil% + }% + \endgroup% +} +\newcommand*\tud@@ddclogo{} +\newcommand*\tud@ddclogo{% \tud@ddc@check% - \ifcase \@tempb\relax\or% - \def\tud@@footlogo{DDC-22}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \ifcase\@tempb\relax\or% + \def\tud@@ddclogo{DDC-22}% + \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}% \or% - \def\tud@@footlogo{DDC-01}% + \def\tud@@ddclogo{DDC-01}% \or% - \def\tud@@footlogo{DDC-07}% + \def\tud@@ddclogo{DDC-07}% \or% - \def\tud@@footlogo{DDC-19}% + \def\tud@@ddclogo{DDC-19}% \or% - \def\tud@@footlogo{DDC-22}% + \def\tud@@ddclogo{DDC-22}% \or% - \def\tud@@footlogo{DDC-25}% + \def\tud@@ddclogo{DDC-25}% \or% - \def\tud@@footlogo{DDC-28}% + \def\tud@@ddclogo{DDC-28}% \fi% - \ifx\tud@@footlogo\@empty\else% - \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \ifx\tud@@ddclogo\@empty\else% + \let\tud@@@footlogo\relax% + \hfill\tud@footlogo{\tud@@ddclogo}% \fi% } -\newlength{\tud@ta@textheight} -\newlength{\tud@ta@topmargin} -\newlength{\tud@ta@headheight} -\newlength{\tud@ta@headsep} -\newlength{\tud@ta@footskip} -\newlength{\tud@ta@headdiff} +\newlength\tud@ta@textheight +\newlength\tud@ta@topmargin +\newlength\tud@ta@headheight +\newlength\tud@ta@headsep +\newlength\tud@ta@footheight +\newlength\tud@ta@footskip +\newlength\tud@ta@headdiff \newcommand*\tud@geometry@restore{} \AfterCalculatingTypearea{% - \setlength{\tud@ta@textheight}{\textheight}% - \setlength{\tud@ta@topmargin}{\topmargin}% - \setlength{\tud@ta@headheight}{\headheight}% - \setlength{\tud@ta@headsep}{\headsep}% - \setlength{\tud@ta@footskip}{\footskip}% + \setlength\tud@ta@textheight{\textheight}% + \setlength\tud@ta@topmargin{\topmargin}% + \setlength\tud@ta@headheight{\headheight}% + \setlength\tud@ta@headsep{\headsep}% + \ifcsvoid{ta@fh}{% + \setlength\tud@ta@footheight{\footheight}% + }{% + \setlength\tud@ta@footheight{\ta@fh}% + }% + \setlength\tud@ta@footskip{\footskip}% \let\tud@geometry@restore\Gm@restore@org% \if@atdocument% \let\Gm@restore@org\relax% @@ -2022,10 +2416,10 @@ } \newcommand*\tud@geometry@hmargin{} \newcommand*\tud@geometry@vmargin{} -\newcommand*\tud@geometry@pmargin{} -\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@tudmargin{} +\iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{} \AtEndPreamble{% - \tud@ifsacrop{}{% + \ifstandalonecrop{}{% \recalctypearea% \RequirePackage{geometry}[2010/09/12]% \tud@geometry@process% @@ -2034,50 +2428,68 @@ } \newcommand*\tud@geometry@process{% \tud@geometry@set% - \ifcase \tud@geometry\relax% + \ifcase\tud@geometry\relax% \def\tud@geometry@hmargin{% left=\dimexpr\oddsidemargin+1in\relax,% width=\textwidth,% + marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,% + \if@twoside\if@reversemargin% + marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,% + \fi\fi% + marginparsep=.5\tud@ta@headsep,% }% \def\tud@geometry@vmargin{% - top={% - \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% - },% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep% + +1in\relax,% headheight=\tud@ta@headheight,% headsep=\tud@ta@headsep,% textheight=\tud@ta@textheight,% footskip=\tud@ta@footskip,% }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% - footskip=\tud@ta@footskip,% - }% - \def\tud@geometry@dmargin{% - textheight={% - \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% - },% - footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + ignorehead,% }% - \setlength{\tud@ta@headdiff}{\dimexpr% - \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% - -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% - }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% }% \ifdim\tud@ta@headdiff<\z@\relax% - \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \addtolength\tud@dim@headsep{-\tud@ta@headdiff}% + \fi% + \iftudscrverlower{2.03}{% + \setlength\tud@dim@ddcdiff{% + \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep% + +\tud@ta@footheight-1.25\baselineskip\relax% + }% + \def\tud@geometry@ddcmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff% + -\tud@dim@ddcdiff\relax,% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + }{}% + \ifdim\tud@dim@extrabottommargin=\z@\relax\else% + \ClassWarning{\tudcls@name}{% + Option `extrabottommargin' is ineffective when\MessageBreak% + package typearea is used (`cdgeometry=no')% + }% \fi% \else% - \ifcase \tud@geometry\or% + \ifcase\tud@geometry\or% \def\tud@geometry@hmargin{% - left=\tud@dim@left,% + left=\tud@dim@widemargin,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@reversemargin% + marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% \if@twoside asymmetric,\fi% }% @@ -2085,6 +2497,8 @@ \def\tud@geometry@hmargin{% left=.5\tud@dim@both,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \or% @@ -2096,66 +2510,99 @@ left=.5\tud@dim@both,% \fi% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@twoside% + \if@reversemargin% + marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + \else% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \fi% - \def\tud@geometry@vmargin{% - top=\tud@dim@top,% - headheight=\tud@ta@headheight,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - \tud@geometry@hincl,% - \tud@geometry@fincl,% + \iftudscrverlower{2.03}{% + \def\tud@geometry@vmargin{% + top=.5\tud@dim@both,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + }{% + \def\tud@geometry@vmargin{% + top=\tud@dim@slimmargin,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + bottom=\dimexpr\tud@dim@widemargin+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - }% - \def\tud@geometry@dmargin{% - \if@fincl% - bottom=\dimexpr% - \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% - \else% - bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% - \fi% - footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + ignorehead,% }% - \setlength{\tud@ta@headdiff}{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight% - +\tud@dim@headsep-\tud@dim@top\relax% - }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@dim@slimmargin\relax% }% + \iftudscrverlower{2.03}{% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -.5\tud@dim@both\relax% + }% + \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}% + \def\tud@geometry@ddcmargin{% + \if@fincl% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \else% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff\relax,% + \fi% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip+\tud@dim@ddcdiff\relax,% + }% + }{}% \fi% - \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi% \global\tud@ta@headdiff=\tud@ta@headdiff% - \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% - \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% - \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}% \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% + \iftudscrverlower{2.03}{% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + }{}% \tud@geometry@@process% } \newcommand*\tud@geometry@@process{% + \iftudscrverlower{2.03}{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% + \tud@geometry@ddcmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + }{}% \edef\@tempa{% \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - \tud@geometry@dmargin,% - ignorehead,ignorefoot,% - }% - \expandafter\newgeometry\expandafter{\@tempa}% - \savegeometry{tudareaddc}% - \edef\@tempa{% - \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - ignorehead,% - \tud@geometry@fincl% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{tudarea}% @@ -2183,6 +2630,14 @@ \newcommand*\tud@ps{tudheadings} \newcommand*\tud@ps@select{% \expandafter\pagestyle\expandafter{\tud@ps}% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{% + \renewcommand*\titlepagestyle{empty}% + \renewcommand*\indexpagestyle{empty}% + }{}% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{% + \renewcommand*\titlepagestyle{empty.tudheadings}% + \renewcommand*\indexpagestyle{empty.tudheadings}% + }{}% } \newcommand*\tud@currentpagestyle{} \newcommand*\tud@currentpagestyle@set{% @@ -2191,13 +2646,16 @@ }{}% } \newcommand*\tud@currentpagestyle@reset{% - \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% - \let\tud@currentpagestyle\relax% + \ifdefvoid{\tud@currentpagestyle}{}{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% + }% } \NewEnviron{tudpage}[1][]{% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{tudheadings}% - \TUD@parameter@set[tudpage]{#1}% + \clearpage% + \def\tud@ps{tudheadings}% + \TUD@parameter@set{tudpage}{#1}% \tud@ps@select% \tud@multicols@check% \ifnum\tud@multicols>1\relax% @@ -2211,53 +2669,56 @@ \aftergroup\tud@currentpagestyle@reset% \clearpage% ] -\TUD@parameter{tudpage}{% - \TUD@parameter@define{language}{\selectlanguage{#1}}% - \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% - \TUD@parameter@define{color}[HKS41]{\def\tud@head@color{#1}}% - \TUD@parameter@let{colour}{color}% - \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% +\newcommand*\TUD@parameter@define@ps[1]{% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}% + \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@define{footlogo}{\footlogo{#1}}% \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}% \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}% + \TUD@parameter@let{logo}{headlogo}% +} +\TUD@parameter{tudpage}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{% - \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% - \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% - \TUD@parameter@wrn{pagestyle}{% - headings, plain, empty or any tudheadings page style type% - }% - }}}}}}% + \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@error{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}% + }% }% - \TUD@parameter@define{headlogo}{\headlogo{#1}}% - \TUD@parameter@let{logo}{headlogo}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@color@partfont{black} -\newcommand*\tud@font@heading{% - \if@tud@din\dinbn\tud@raggedright\else\tud@RaggedRight\fi% -} -\newcommand*\tud@font@heading@size{\Huge} +\newcommand*\tud@part@fontcolor{black} \newkomafont{parttitle}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } -\newlength{\pageheadingsvskip} -\newlength{\headingsvskip} +\newlength\pageheadingsvskip +\newlength\headingsvskip +\newcommand*\tud@headmidvskip{\par\nobreak} \newcommand*\tud@layout@process{% - \ifcase \tud@layout@cover\relax% - \stdbool@lock{@tud@cover@cdlayout}{false}% + \ifcase\tud@layout@cover\relax% + \bool@std@lock{@tud@cover@cdgeometry}{false}% \else% - \stdbool@lock{@tud@cover@cdlayout}{true}% + \bool@std@lock{@tud@cover@cdgeometry}{true}% \fi% - \ifcase \tud@layout@title\relax% + \ifcase\tud@layout@title\relax% \tud@cmd@restore{maketitle}% \tud@cmd@restore{@maketitle}% \tud@cmd@restore{titlepagestyle}% @@ -2277,18 +2738,18 @@ \usekomafont{disposition}% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subtitle}{% \tud@font@heading% \usesizeofkomafont{section}% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subject}{% \fontfamily{\sfdefault}% \fontseries{\bfdefault}% \selectfont% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{author}{\usekomafont{subject}}% \tud@font@koma@set{date}{\usekomafont{titlepage}}% @@ -2296,7 +2757,7 @@ \let\maketitle\tud@maketitle% \renewcommand*\titlepagestyle{plain.tudheadings}% \fi% - \ifcase \tud@layout@part\relax% + \ifcase\tud@layout@part\relax% \tud@cmd@restore{partheadstartvskip}% \tud@cmd@restore{partheadmidvskip}% \tud@cmd@restore{@part}% @@ -2308,17 +2769,17 @@ \tud@cmd@store{@part}% \tud@sectioning@set[addpart]{part}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% \tud@font@koma@set{partnumber}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% - \renewcommand*\partheadmidvskip{\par\nobreak\vskip.3\baselineskip}% + \let\partheadmidvskip\tud@headmidvskip% \let\partheadstartvskip\tud@partheadstartvskip% \let\@part\tud@@part% \fi% - \ifcase \tud@layout@part\relax% + \ifcase\tud@layout@part\relax% \tud@sectioning@reset[addsec]{section}% \tud@sectioning@reset{subsection}% \tud@sectioning@reset{subsubsection}% @@ -2330,35 +2791,33 @@ \tud@sectioning@set{minisec}{\tud@font@heading}% \fi% } -\AtEndPreamble{% - \let\tud@font@heading@size\size@part% - \tud@layout@process% -} \newcommand*\tud@partheadstartvskip{} \let\tud@partheadstartvskip\partheadstartvskip% \pretocmd{\tud@partheadstartvskip}{% - \def\tud@color@partfont{black}% - \ifcase \tud@layout@part\relax\or\or% - \def\tud@color@partfont{HKS41}% + \def\tud@part@fontcolor{black}% + \ifcase\tud@layout@part\relax\or\else% + \def\tud@part@fontcolor{HKS41}% \fi% }{}{\tud@patch@wrn{tud@partheadstartvskip}} \let\tud@@part\@part \patchcmd{\tud@@part}% {\size@partnumber{\partformat}}% - {\size@partnumber{\tud@makeuppercase\partformat}}% + {\size@partnumber{\tud@makeuppercase{\partformat}}}% {}{\tud@patch@wrn{@part}}% -\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} -\providecommand\scr@section@dblarg[1]{% - \kernel@ifnextchar[%] - {#1}% - {\scr@section@xdblarg{#1}}% -} -\providecommand\scr@section@xdblarg[2]{% - \begingroup - \edef\reserved@a{% - \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% - {\scr@osectarg}}% - \reserved@a +\ifcsdef{scr@v@3.14}{}{% + \providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} + \providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% + } + \providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a + } } \newcommand*\tud@part{} \newcommand*\tud@spart{} @@ -2376,7 +2835,7 @@ \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}% }{% \tud@sectioning@case{#2}% - \ifstrempty{#1}{}{% + \ifblank{#1}{}{% \tud@cmd@store{#1}% \tud@sectioning@case{#1}% }% @@ -2412,7 +2871,7 @@ } \newcommand*\tud@sectioning@reset[2][]{% \tud@cmd@restore{#2}% - \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \ifblank{#1}{}{\tud@cmd@restore{#1}}% \tud@font@koma@unset{#2}% } \robustify{\footnote}% @@ -2427,7 +2886,7 @@ } \newcommand*\tud@font@koma@set[2]{% \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% - \@namedef{tud@font@koma@#1}{#2}% + \@namedef{tud@font@koma@#1}{#2\nobreak}% } \newcommand*\tud@font@koma@reset[1]{% \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% @@ -2528,13 +2987,13 @@ \addsubsectiontocentry{}{#2}% }{% \addsectiontocentry{}{#2}% - } + }% }{}% } \newcommand*\tud@fm@next[2]{% - \TUD@parameter@set[#1]{#2}% + \TUD@parameter@set{#1}{#2}% \if@twocolumn% - \ifbool{@tud@#1@multi}{\par}{\newpage} + \ifbool{@tud@#1@multi}{\par}{\newpage}% \else% \if@titlepage% \ifbool{@tud@#1@fil}{% @@ -2550,17 +3009,20 @@ }% }{\ifbool{@tud@#1@multi}{}{\clearpage}}% \else% - \ifnum\@nameuse{tud@#1@level}<2 - \end{\tud@quoting} - \begin{\tud@quoting} + \ifnum\@nameuse{tud@#1@level}<2% + \end{\tud@quoting}% + \begin{\tud@quoting}% \fi% \fi% \fi% } \newcommand*\tud@fm@pagestyle[2]{% \if@titlepage% - \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% - \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + \ifcsdef{ps@#2}{\def\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{% + You tried to use `#2' as a pagestyle for the\MessageBreak% + `#1' environment, but it was never defined% + }% }% \else% \ClassWarning{\tudcls@name}{% @@ -2575,14 +3037,15 @@ \csundef{endabstract} \NewEnviron{abstract}[1][]{% \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{abstract}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \TUD@parameter@set[abstract]{#1}% - \if@tud@abstract@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% }[% \if@titlepage% @@ -2595,19 +3058,20 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@abstract@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% \@tud@abstract@markbothfalse% + }{% + \@tud@abstract@markbothfalse% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% \manualmark\markboth{#1}{#1}% - }}}}}}% + }% }% \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% - \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{abstract}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}% } \newcommand*\nextabstract[1][]{% \ifnum\tud@multicols>1\relax% @@ -2628,17 +3092,26 @@ } \newif\if@tud@declarations \NewEnviron{declarations}[1][]{% + \@tud@declarationstrue% \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{declaration}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \@tud@declarationstrue% - \TUD@parameter@set[declaration]{#1}% - \if@tud@declaration@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% - \tud@fm@check{declaration}{\BODY}% + \tud@fm@check{declaration}{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + }% }[% \if@titlepage% \aftergroup\tud@currentpagestyle@reset% @@ -2650,30 +3123,35 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@declaration@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% + \@tud@declaration@markbothfalse% + }{% \@tud@declaration@markbothfalse% + \ifx\tud@ps\relax\def\tud@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@let{confirmationclosing}{closing}% \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% - \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{declaration}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}% } \newcommand*\declaration[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% - \tud@fm@blocking + \tud@fm@blocking% \endgroup% }{% \begin{declarations}[#1]% @@ -2681,12 +3159,20 @@ \tud@fm@blocking% \end{declarations}% }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\confirmation[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{supporter=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% \endgroup% }{% @@ -2694,20 +3180,30 @@ \tud@fm@confirmation% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@confirmation{% \tud@fm@check{declaration}{% \tud@fm@set{declaration}{\confirmationname}{% - \confirmationtext\vskip0pt\@confirmationclosing% + \confirmationtext\vskip\z@\@confirmationclosing% }% }% } \newcommand*\blocking[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{company=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@blocking% \endgroup% }{% @@ -2715,7 +3211,12 @@ \tud@fm@blocking% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@blocking{% \tud@fm@check{declaration}{% @@ -2730,29 +3231,27 @@ \selectfont% \large% } -\newcommand*\tud@color@titlefont{black} -\newcommand*\tud@color@titlepage{white} -\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@title@fontcolor{black} \newcommand*\tud@titlepagenumber{}% \let\tud@titlepagenumber\relax% \newcommand*\tud@maketitle[1][]{% \begingroup% - \TUD@parameter@set[title]{#1}% - \ifcase \tud@layout@title + \TUD@parameter@set{title}{#1}% + \ifcase\tud@layout@title\relax% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \else% \if@titlepage% \tud@maketitlepage% \else% - \ifcase \tud@layout@title\relax\or\else% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\else% + \def\tud@title@fontcolor{HKS41}% \fi% \let\@maketitle\tud@@maketitle% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \if@twocolumn% - \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}% \else% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \fi% @@ -2761,21 +3260,25 @@ \endgroup% } \TUD@parameter{title}{% + \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}% + \TUD@parameter@let{cd}{cdtitle}% \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}% }% \robustify{\thanks}% \robustify{\footnotemark}% \newcommand*\tud@titleback{}% \newcommand*\tud@maketitlepage{% - \ifcase \tud@layout@title\relax\or\or% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41}% \or% - \def\tud@color@titlepage{HKS41}% - \def\tud@color@titlefont{HKS41!30}% - \def\tud@color@titlehead{white}% + \def\tud@title@fontcolor{HKS41!30}% + \or% + \def\tud@title@fontcolor{HKS41!30}% \fi% \begin{titlepage}% \ifx\tud@titlepagenumber\relax\else% @@ -2808,13 +3311,13 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin\relax% \headheight=0pt% \headsep=0pt% \footskip=\baselineskip% @@ -2839,26 +3342,27 @@ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% \fi% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -2914,16 +3418,15 @@ \ifdefstring{\@date}{\today}{% \ifdefvoid{\@duedate}{% \ClassWarning{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak% + `\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{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak It's substituted by the given due date% + `\string\date' was not given.\MessageBreak% + It's substituted by the given due date% }% \let\@date\@duedate% }% @@ -2966,19 +3469,33 @@ \fi% \fi% \def\@tempa{% - \tud@pagecolor{\tud@color@titlepage}% - \def\tud@head@color{\tud@color@titlehead}% - \color{\tud@color@titlefont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% - \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@title\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \color{\tud@title@fontcolor}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@title@fontcolor}}% + \addtokomafont{footnote}{\sffamily\color{\tud@title@fontcolor}}% \thispagestyle{empty.tudheadings}% - \tud@ddc@enlargepage% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage}{}% }% \if@tud@cover% \begingroup% \@tempa% \cleardoubleemptypage% - \tud@restorepagecolor% \endgroup% \else% \begingroup% @@ -3035,28 +3552,29 @@ \newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} \newcommand*\tud@@maketitle{% \global\@topnum=\z@% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\headingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% \tud@footnote@unhyper% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \TUDoptions{subjectthesis=true}% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -3085,7 +3603,7 @@ \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% \vskip 2\bigskipamount% - \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } \newcommand*\tud@multiple@field{} @@ -3179,14 +3697,13 @@ \matriculationnumber,\studentid,\matriculationid,% \placeofbirth,\birthplace,\dateofbirth,\birthday,% } -\RequirePackage{afterpage}[1995/10/27] \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% \maketitle[#1]% \onecolumn{#2}\twocolumn% \else% - \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \tud@title@twocolumn{\maketitle[#1]{#2}}% \fi% \else% \ClassError{\tudcls@name}{% @@ -3195,34 +3712,47 @@ \fi% } \newsavebox\tud@title@twocolumn@box -\newcommand\tud@title@twocolumn[1][]{% +\newcommand\tud@title@twocolumn[1]{% \onecolumn% \begingroup% \let\clearpage\relax% \let\newpage\relax% - \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \global\setbox\tud@title@twocolumn@box\vbox{% + \vspace*{.9\baselineskip}#1\bigskip% + }% \endgroup% - \setlength{\@tempdimc}{\textheight}% - \tud@ifinpslist{\titlepagestyle}{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else% - \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% - \fi% - }{}% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}% + \@tempswatrue% + \fi% }{}% - \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% - \splittopskip\topskip% - \splitmaxdepth\maxdepth% - \vsplit\tud@title@twocolumn@box to \@tempdimc% - \clearpage% - \setlength{\@tempdimc}{\textheight}% - }% - \twocolumn[\unvbox\tud@title@twocolumn@box]% - \ifdim\@tempdimc<\textheight\relax% - \enlargethispage{-\tud@dim@ddcdiff}% - \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax% + \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdima% + \clearpage% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{\@tempswafalse}{}% + }% + \else% + \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% \fi% + \twocolumn[\unvbox\tud@title@twocolumn@box]% + \iftudscrverlower{2.03}{% + \if@tempswa% + \ClassWarning{\tudcls@name}{% + You are using a two-column title along with\MessageBreak% + the DDC-logo. Unfortunately in this case, the\MessageBreak% + type area hast to be adjusted manually. Please\MessageBreak% + use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak% + in both columns after the title% + }% + \fi% + }{}% } \newcommand*\tud@letsubjectthesis{% \if@tud@subjectthesis\ifx\@thesis\@empty\else% @@ -3243,14 +3773,12 @@ }% } \newif\if@tud@cover -\newcommand*\tud@coverpagetopmargin{} -\let\tud@coverpagetopmargin\coverpagetopmargin \newcommand*\makecover[1][]{% \if@titlepageiscoverpage% \ClassWarning{\tudcls@name}{% Using both option `titlepage=firstiscover' and\MessageBreak% `\string\makecover' together isn't supported. The\MessageBreak% - option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + option `titlepage=firstiscover' will be ignored. If you\MessageBreak% want to create an individual cover, you have to use\MessageBreak% `\string\extratitle' instead of `\string\makecover'.\MessageBreak% See also the documentation of KOMA-Script% @@ -3261,28 +3789,20 @@ \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% - \TUD@parameter@set[cover]{#1}% + \TUD@parameter@set{cover}{#1}% \let\tud@layout@title\tud@layout@cover% \tud@layout@process% - \if@tud@cover@cdlayout% - \ifcase \tud@layout@cover\relax% - \let\coverpagetopmargin\tud@dim@top% - \else% - \def\coverpagetopmargin{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - }% - \fi% - \let\coverpagebottommargin\tud@dim@bottom% - \let\coverpageleftmargin\tud@dim@left% - \let\coverpagerightmargin\tud@dim@right% - \else% - \ifcase \tud@layout@cover\relax\else% - \expandafter\def\expandafter\coverpagetopmargin\expandafter{% - \coverpagetopmargin-\tud@coverpagetopmargin% - }% - \fi% + \if@tud@cover@cdgeometry% + \let\coverpagetopmargin\tud@dim@slimmargin% + \let\coverpagebottommargin\tud@dim@widemargin% + \let\coverpageleftmargin\tud@dim@widemargin% + \let\coverpagerightmargin\tud@dim@slimmargin% + \iftudscrverlower{2.03}{% + \def\coverpagetopmargin{.5\tud@dim@both}% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% \fi% - \ifcase \tud@layout@cover\relax% + \ifcase\tud@layout@cover\relax% \KOMAoptions{titlepage=firstiscover}% \let\@extratitle\@empty% \let\@uppertitleback\@empty% @@ -3301,60 +3821,73 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \if@tud@cover@cdlayout% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% \headheight=0pt% \headsep=0pt% - \else% - \textheight=\dimexpr\paperheight-\coverpagebottommargin% - -\tud@dim@headheight-\tud@dim@barheight% - -\tud@dim@headsep-\tud@dim@bottom\relax% - \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% - \headsep=\tud@dim@headsep% - \fi% - \footskip=\tud@dim@footskip% - \@colht=\textheight% - \@colroom=\textheight% - \vsize=\textheight% - \columnwidth=\textwidth% - \hsize=\columnwidth% - \linewidth=\hsize% - \tud@dim@headdiff=\z@% - \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% - \tud@maketitle% - \clearpage% + \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax% + \iftudscrverlower{2.03}{% + \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax% + }{}% + \if@tud@cover@cdgeometry% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax% + }% + \else% + \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep-1in\relax% + \def\@tempa{2\dimexpr\coverpagetopmargin\relax}% + \ifx\@tempa\coverpagebottommargin\relax% + \let\coverpagebottommargin\tud@dim@widemargin% + \iftudscrverlower{2.03}{% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% + \fi% + \fi% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin-\tud@dim@extrabottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \tud@maketitle% + \clearpage% \csname titlepage@restore\endcsname% \fi% \endgroup% } -\newbool@lock{@tud@cover@cdlayout} +\bool@lock{@tud@cover@cdgeometry} \TUD@parameter{cover}{% - \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@define{cdlayout}[true]{% - \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \TUD@parameter@wrn{cdlayout}{true,false}% - }}}}}}% + \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}% + \TUD@parameter@let{cd}{cdcover}% + \TUD@parameter@define{cdgeometry}[true]{% + \ifstrbool{#1}{% + \bool@set@lock{@tud@cover@cdgeometry}{true}% + }{% + \bool@set@lock{@tud@cover@cdgeometry}{false}% + }{% + \TUD@parameter@error{cdgeometry}{true,false}% + }% }% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define@ps{#1}% \TUD@parameter@sethandler{% \ifxnumber{#1}{% - \TUD@parameter@set[cover]{pagenumber=#1}% + \TUD@parameter@set{cover}{pagenumber=#1}% }{% - \TUD@parameter@set[cover]{cdlayout=#1}% + \TUD@parameter@set{cover}{cdgeometry=#1}% }% }% -}% +} %%% From File: tudscr-misc.dtx \newcounter{symbolheadings} \newcommand*\tudbookmark[1][]{\@gobbletwo} @@ -3387,14 +3920,16 @@ \fi% \tudbookmark[1]{\contentsname}{toc}% }{}{\tud@patch@wrn{tableofcontents}} -\newcommand*\tud@environmenthandler[1]{% - \def\@tempa{#1}% +\newcommand*\TUD@parameter@defaulthandler[2]{% + \def\@tempa{#2}% \@for\@tempb:=\@tempa\do{% \ifx\@tempb\@empty\else% - \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% - \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% - \expandafter\selectlanguage\expandafter{\@tempb}% - }}% + \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}% + \ifxnumber{\@tempb}{% + \TUD@parameter@set{#1}{columns=\@tempb}% + }{% + \TUD@parameter@set{#1}{language=\@tempb}% + }% \fi% }% } @@ -3413,7 +3948,6 @@ \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% \protect\vphantom{\"A\"O\"U}% -%% \addtokomafont{section}{\strut\ignorespaces}% } \newcommand*\tud@lowerstring[2]{% \protected@edef#1{#2}% @@ -3425,30 +3959,37 @@ \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% } %%% From File: tudscr-comp.dtx -\newcommand*\professorship{} -\let\professorship\chair -\newcommand*\student{} -\let\student\author -\newrobustcmd*\studentid{} -\newrobustcmd*\matriculationid{} -\let\studentid\matriculationnumber -\let\matriculationid\matriculationnumber -\newrobustcmd*\enrolmentyear{} -\let\enrolmentyear\matriculationyear -\newrobustcmd*\birthplace{} -\let\birthplace\placeofbirth -\newcommand*\location{} -\let\location\place -\newcommand*\submissiondate{} -\let\submissiondate\date -\newcommand*\oralexaminationdate{} -\let\oralexaminationdate\defensedate -\newrobustcmd*\birthday{} -\let\birthday\dateofbirth -\newcommand*\logofile{} -\let\logofile\headlogo -\newcommand*\logofilename{} -\let\logofilename\headlogo +\newcommand*\tud@deprecated@cmd[2]{% + \AtBeginDocument{% + \ifcsdef{#1}{}{% + \expandafter\newrobustcmd\csname #1\endcsname{% + \ClassWarning{\tudcls@name}{% + The command `\@backslashchar#1' is deprecated.\MessageBreak% + It's recommended to use `\@backslashchar#2' instead% + }% + \csletcs{#1}{#2}% + \@nameuse{#2}% + }% + }% + }% +} +\tud@deprecated@cmd{professorship}{chair} +\tud@deprecated@cmd{student}{author} +\tud@deprecated@cmd{studentid}{matriculationnumber} +\tud@deprecated@cmd{matriculationid}{matriculationnumber} +\tud@deprecated@cmd{enrolmentyear}{matriculationyear}% +\tud@deprecated@cmd{birthplace}{placeofbirth} +\tud@deprecated@cmd{location}{place} +\tud@deprecated@cmd{submissiondate}{date} +\tud@deprecated@cmd{oralexaminationdate}{defensedate}% +\tud@deprecated@cmd{birthday}{dateofbirth} +\tud@deprecated@cmd{logofile}{headlogo} +\tud@deprecated@cmd{logofilename}{headlogo} +\AfterPackage*{tudscrsupervisor}{% + \tud@deprecated@cmd{startdate}{issuedate}% + \tud@deprecated@cmd{finaldate}{duedate}% + \tud@deprecated@cmd{maturitydate}{duedate}% +} \endinput %% %% End of file `tudscrartcl.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty index c9e987129ac..591ed749a38 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty @@ -10,7 +10,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -24,13 +24,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -52,7 +52,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \@ifundefined{TUDScript}{% @@ -65,7 +65,7 @@ %%% From File: tudscr-base.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{tudscrbase}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package (basics for the bundle)% ] @@ -80,17 +80,31 @@ \expandafter\@secondoftwo% \fi% } +\newcommand*\ifstrbool[4]{% + \ifstr{#1}{true}{#2}{% + \ifstr{#1}{on}{#2}{% + \ifstr{#1}{yes}{#2}{% + \ifstr{#1}{false}{#3}{% + \ifstr{#1}{no}{#3}{% + \ifstr{#1}{off}{#3}{% + #4% + }% + }% + }% + }% + }% + }% +} \DefineFamily{TUD} \newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}} \newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}} -\newcommand*\TUDDefaultOptions{cd,cdfont,tudbookmarks} \newcommand*\TUDoptions{\FamilyOptions{TUD}} \newcommand*\TUDoption{\FamilyOption{TUD}} \newcommand*\TUD@noworlater{\AtEndOfClass} \AtEndOfClass{\let\TUD@noworlater\@firstofone} \newcommand*\TUD@key[2][.\@currname.\@currext]{% \DefineFamilyMember{TUD}% - \@ifnextchar[%] + \kernel@ifnextchar[%] {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}% } \def\TUD@@key[#1]#2[#3]#4{% @@ -112,6 +126,11 @@ {false}{0},{off}{0},{no}{0},{true}{1},{on}{1},{yes}{1}% } \newcommand*\TUD@set@numkey{\FamilySetNumerical{TUD}} +\newcommand*\TUD@lengthkey[1][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \FamilyLengthKey[#1]{TUD}% +} +\newcommand*\TUD@set@lengthkey{\FamilySetLength{TUD}} \newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}} \newcommand*\TUD@key@lock[2][.\@currname.\@currext]{% \newbool{@tud@#2@locked}% @@ -123,67 +142,88 @@ \boolfalse{@tud@#1@locked}% }% } -\let\TUD@std@numkey@lock\TUD@std@ifkey@lock \newcommand*\TUD@set@ifkey@lock[1]{% \booltrue{@tud@#1@locked}% \TUD@set@ifkey{#1}% } +\let\TUD@std@numkey@lock\TUD@std@ifkey@lock \newcommand*\TUD@set@numkey@lock[1]{% \booltrue{@tud@#1@locked}% \TUD@set@numkey{#1}% } -\newcommand*\csdef@lock[2]{% +\newcommand*\cs@lock[2]{% \csdef{#1}{#2}% \newbool{#1@locked}% } -\newcommand*\csstd@lock[2]{% +\newcommand*\cs@std@lock[2]{% \ifbool{#1@locked}{}{% \csdef{#1}{#2}% \boolfalse{#1@locked}% }% } -\newcommand*\csset@lock[2]{% +\newcommand*\cs@set@lock[2]{% \csdef{#1}{#2}% \booltrue{#1@locked}% } -\newcommand*\newbool@lock[2][false]{% +\newcommand*\bool@lock[2][false]{% \newbool{#2}% \newbool{#2@locked}% \setbool{#2}{#1}% } -\newcommand*\stdbool@lock[2]{% +\newcommand*\bool@std@lock[2]{% \ifbool{#1@locked}{}{% \setbool{#1}{#2}% \boolfalse{#1@locked}% }% } -\newcommand*\setbool@lock[2]{% +\newcommand*\bool@set@lock[2]{% \setbool{#1}{#2}% \booltrue{#1@locked}% } \newcommand*\tud@cmd@store[1]{% - \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}% + \ifcsdef{@@tud@#1}{}{% + \tud@cmd@check{#1}% + \csletcs{@@tud@#1}{#1}% + }% } \newcommand*\tud@cmd@reset[1]{% \ifcsdef{@@tud@#1}{% + \tud@cmd@check{#1}% \csletcs{#1}{@@tud@#1}% }{}% } -\newcommand*\tud@cmd@use[1]{% - \ifcsdef{@@tud@#1}{\@nameuse{@@tud@#1}}{\@nameuse{#1}}% -} \newcommand*\tud@cmd@restore[1]{% \ifcsdef{@@tud@#1}{% + \tud@cmd@check{#1}% \csletcs{#1}{@@tud@#1}% \csundef{@@tud@#1}% }{}% } +\newcommand*\tud@cmd@use[1]{% + \ifcsdef{@@tud@#1}{% + \@nameuse{@@tud@#1}% + }{% + \tud@cmd@check{#1}% + \@nameuse{#1}% + }% +} +\newcommand*\tud@cmd@check[1]{% + \ifcsdef{#1}{}{% + \PackageError{tudscrbase}{% + `\@backslashchar#1' is not defined% + }{% + The command `\@backslashchar#1' was never defined.\MessageBreak% + Please contact the TUD-KOMA-Script maintainer\MessageBreak% + via \tudscrmail. A bugfix is urgently required + }% + }% +} \newcommand*\tud@patch@wrn[1]{% \PackageWarning{tudscrbase}{% - It wasn't possible to patch `#1'.\MessageBreak% - Please contact the author via \tudscrmail.\MessageBreak% - Without a bugfix an erroneous output\MessageBreak% - may occur. + It wasn't possible to patch `\@backslashchar#1'.\MessageBreak% + Please contact the TUD-KOMA-Script maintainer\MessageBreak% + via \tudscrmail. Without a bugfix an\MessageBreak% + erroneous output may occur% }% } \newcommand*\TUD@parameter@family{}% @@ -238,18 +278,10 @@ \expandafter\kv@set@family@handler\expandafter{#1}% }% } -\newcommand*\TUD@parameter@set[1][]{% - \ifxblank{#1}{% - \TUD@parameter@checkfamily{\TUD@parameter@set}% - \expandafter\kvsetkeys\expandafter{\TUD@parameter@family}% - }{% - \expandafter\kvsetkeys\expandafter{#1}% - }% -} -\newcommand*\TUD@parameter@wrn[2]{% - \PackageWarning{tudscrbase}{% - Parameter `#1' can only be used with values:\MessageBreak% - #2% +\newcommand*\TUD@parameter@set[2]{\@expandtwoargs\kvsetkeys{#1}{#2}} +\newcommand*\TUD@parameter@error[2]{% + \PackageError{tudscrbase}{Unsupported value for parameter `#1'}{% + `#1' can only be used with values:\MessageBreak#2% }% } \endinput diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls index 8b647c47984..8b7faa9a31b 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls @@ -28,7 +28,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -42,13 +42,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -70,7 +70,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\cls@name{book} @@ -78,7 +78,7 @@ \newcommand*\tudcls@name{tudscrbook} \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesClass{\tudcls@name}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script document class (\cls@name)% ] \typeout{The Corporate Design of Technische Universitaet Dresden} @@ -100,7 +100,7 @@ \ClassWarning{\tudcls@name}{% The package `tudscrfonts' must not be used with\MessageBreak% a TUD-KOMA-Script class% - } + }% ]{tudscrfonts} \newif\if@tud@univers \newif\if@tud@dinbold @@ -108,17 +108,32 @@ \newcommand*\tud@dinbold{0m6} \newcommand*\tud@mathenc{OT1} \newif\if@tud@fontspec -\TUD@key@lock{fontspec}[true]{% - \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% -} -\AtEndOfClass{% - \TUD@key{fontspec}[]{% - \ClassError{\tudcls@name}{Option `fontspec' too late}{% +\TUD@key{fontspec}[true]{% + \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfClass% +{% + \TUD@key{fontspec}[] + {% + \ClassError{\tudcls@name} + {Option `fontspec' too late}{% Option `fontspec' can only be set while loading the\MessageBreak% - class `\tudcls@name' but you have tried to set it up later.% + class `\tudcls@name' + but you have tried to set it up later.% }% \FamilyKeyStateProcessed% }% + \if@tud@fontspec% + \PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}% + {% + You must not load the package `fontspec' as it is\MessageBreak% + loaded automatically at the end of the preamble.\MessageBreak% + If you want to pass options to `fontspec' use\MessageBreak% + `\string\PassOptionsToPackage{<option list>}{fontspec}' + }% + ]{fontspec} + \fi% } \AtEndPreamble{% \@expandtwoargs\in@{OT}{\encodingdefault}% @@ -142,9 +157,10 @@ }% \def\@tempb#1{% \ClassWarningNoLine{\tudcls@name}{% - `#1' fonts not found. Please use on of the\MessageBreak% - installation scripts out of the tudscr-bundle,\MessageBreak% - which suits to your OS. A fallback layout is used% + `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak% + Please use on of the installation scripts out of the\MessageBreak% + tudscr-bundle, which suits to your OS or choose a\MessageBreak% + possible encoding. A fallback layout is used% }% }% \fi% @@ -160,6 +176,7 @@ \fi% \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% \if@tud@fontspec% + \UnPreventPackageFromLoading{fontspec}% \if@tud@univers\if@tud@dinbold% \PassOptionsToPackage{no-math}{fontspec}% \fi\fi% @@ -167,54 +184,83 @@ \fi% } \RequirePackage{textcase}[2004/10/07] -\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% - \@nonchangecase\ensuremath% +\newcommand*\tud@uclcnotmath{% \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% + \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}% +} +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath\tud@uclcnotmath }{}{\tud@patch@wrn{@uclcnotmath}}% -\newcommand*\tud@cdfont{0} +\newcommand*\tud@font@heading{\dinbn\tud@raggedright} +\newcommand*\tud@cdfont{1} \TUD@key{cdfont}[true]{% - \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@set@numkey{cdfont}{@tempa}{% \TUD@numkey@bool,% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2},% {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% - {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% - {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% - {noheavybarfont}{5},{barfontnoheavy}{5},% - {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% - {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% - {sansmath}{8},{sans}{8},% - {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% - {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% - {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% - {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},% + {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},% + {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},% + {bar}{6},{barfont}{6},% + {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},% + {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},% + {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},% + {headlight}{6},{headfontlight}{6},{headlightfont}{6},% + {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},% + {barlight}{6},{barfontlight}{6},{barlightfont}{6},% + {litehead}{6},{liteheadfont}{6},{litefonthead}{6},% + {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},% + {litebar}{6},{litebarfont}{6},{litefontbar}{6},% + {headlite}{6},{headfontlite}{6},{headlitefont}{6},% + {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},% + {barlite}{6},{barfontlite}{6},{barlitefont}{6},% + {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},% + {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},% + {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},% + {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},% + {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},% + {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},% + {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},% + {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},% + {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},% + {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},% + {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},% + {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},% + {nomath}{8},{nocdmath}{8},% + {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},% + {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},% + {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},% + {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},% + {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},% + {nofontspec}{13},{pdftex}{13},{pdflatex}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \tud@cdfont\relax% - \TUDoptions{cdfonts=false}% - \TUD@std@numkey@lock{barfont}{false}% + \ifcase\@tempa\relax% + \def\tud@cdfont{0}% + \if@atdocument\tud@font@set\fi% + \or% + \def\tud@cdfont{1}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=false}% - \TUD@std@numkey@lock{barfont}{true}% + \def\tud@cdfont{2}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=true}% - \TUD@std@numkey@lock{barfont}{heavy}% + \renewcommand*\tud@font@heading{\tud@RaggedRight}% \or% - \TUDoptions{din=false}% + \renewcommand*\tud@font@heading{\dinbn\tud@raggedright} \or% - \TUDoptions{din=true}% + \TUDoptions{cdhead=false}% \or% - \TUDoptions{barfont=true}% + \TUDoptions{cdhead=true}% \or% - \TUDoptions{barfont=heavy}% + \TUDoptions{cdhead=heavy}% \or% - \TUDoptions{sansmath=false}% + \TUDoptions{cdmath=false}% \or% - \TUDoptions{sansmath=true}% + \TUDoptions{cdmath=true}% \or% \TUDoptions{slantedgreek=false}% \or% @@ -226,75 +272,49 @@ \fi% \fi% } -\newif\if@tud@cdfonts -\TUD@key{cdfonts}[true]{% - \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@cdfonts% - \if@atdocument\tud@font@cdfonts\fi% - \TUD@std@ifkey@lock{sansmath}{true}% - \TUD@std@ifkey@lock{slantedgreek}{true}% - \else% - \if@atdocument% - \tud@cmd@restore{rmdefault}% - \tud@cmd@restore{sfdefault}% - \tud@cmd@restore{ttdefault}% - \tud@cmd@restore{bfdefault}% - \tud@cmd@restore{mddefault}% - \tud@cmd@restore{itdefault}% - \tud@cmd@restore{familydefault}% - \tud@cmd@restore{seriesdefault}% - \tud@cmd@restore{shapedefault}% - \normalfont\selectfont% - \fi% - \TUD@std@ifkey@lock{sansmath}{false}% - \TUD@std@ifkey@lock{slantedgreek}{false}% - \fi% - \if@atdocument\tud@layout@process\fi% - \fi% -} -\newif\if@tud@heavyfont -\TUD@key{heavyfont}[true]{% - \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@cdfonts\fi% - \fi% -} -\newcommand*\tud@barfont{0} -\TUD@key@lock{barfont}[true]{% - \TUD@set@numkey@lock{barfont}{tud@barfont}{% +\AtBeginDocument{\tud@font@set}% +\bool@lock{@tud@cdmath} +\TUD@key{cdmath}[true]{% + \TUD@set@numkey{cdmath}{@tempa}{% \TUD@numkey@bool,% - {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% - {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% - {heavy}{2},{heavyfont}{2}% + {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},% + {sansmath}{1},{sans}{1},% + {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},% + {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}% }{#1}% -} -\newif\if@tud@din\@tud@dintrue -\TUD@ifkey{din}{@tud@din} -\newif\if@tud@sansmath -\TUD@key@lock{sansmath}[true]{% - \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \ifcase\@tempa\relax% + \bool@set@lock{@tud@cdmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \if@atdocument\tud@font@math@set\fi% + \or% + \bool@set@lock{@tud@cdmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \if@atdocument\tud@font@math@set\fi% + \or + \TUDoptions{slantedgreek=false}% + \or + \TUDoptions{slantedgreek=true}% + \fi% \fi% } \newif\if@tud@slantedgreek \TUD@key@lock{slantedgreek}[true]{% \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \if@atdocument\tud@font@math@set\fi% \fi% } %%% From File: tudscr-pagestyle.dtx \newcommand*\tud@ddc@switch{} \edef\tud@ddc@switch{% \TUD@numkey@bool,% - {color}{2},{colour}{2},% - {colorblack}{3},{colourblack}{3},% - {gray}{4},{grey}{4},{cdgray}{4},% - {black}{5},% - {blue}{6},{cddarkblue}{6},% - {white}{7}% + {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% + {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% + {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},% + {black}{5},{cdblack}{5},% + {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},% + {white}{7},{cdwhite}{7}% } \newcommand*\tud@ddc@save{} \newif\if@tud@ddc@save @@ -304,8 +324,8 @@ \TUD@key{ddc}[true]{% \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% - \ifcase \tud@ddc\relax% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \ifcase\tud@ddc\relax% \@tud@ddc@autosetfalse% \else% \@tud@ddc@autosettrue% @@ -321,10 +341,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@head\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@head\relax\else% + \ifcase\tud@ddc@head\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddcfoot=false}% @@ -340,10 +362,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@foot\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@foot\relax\else% + \ifcase\tud@ddc@foot\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddchead=false}% @@ -363,24 +387,86 @@ \let\@tempb\tud@ddc% \fi% \fi% + \iftudscrverlower{2.03}{% + \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi% + }{}% +} +\newcommand*\iftudpagestyle[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% } -\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} -\newcommand*\tud@pslist{} -\forcsvlist{\listadd\tud@pslist}{% +\newcommand*\tud@ps@list{} +\forcsvlist{\listadd\tud@ps@list}{% tudheadings,plain.tudheadings,empty.tudheadings% } -\newif\if@tud@widehead -\TUD@key@lock{widehead}[true]{% - \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +\newlength\tud@dim@extrabottommargin +\TUD@key{extrabottommargin}{% + \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@geometry@process\fi% + \fi% +} +\cs@lock{tud@head@font}{0} +\newcommand*\tud@head@bar{0} +\bool@lock{@tud@head@widebar} +\TUD@key{cdhead}[true]{% + \TUD@set@numkey{cdhead}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},% + {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},% + {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},% + {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},% + {bicolor}{5},{bicolour}{5},{twocolor}{5},{twocolour}{5},% + {bichrome}{5},{bichromatic}{5},{dichrome}{5},{dichromatic}{5},% + {color}{5},{colour}{5},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5},% + {textwidth}{6},{slim}{6},{slimhead}{6},{nowide}{6},{nowidehead}{6},% + {paperwidth}{7},{wide}{7},{widehead}{7}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% + \cs@set@lock{tud@head@font}{0}% + \or% + \cs@set@lock{tud@head@font}{1}% + \or% + \cs@set@lock{tud@head@font}{2}% + \or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \bool@set@lock{@tud@head@widebar}{false}% + \or% + \bool@set@lock{@tud@head@widebar}{true}% + \fi% + \fi% } -\newif\if@tud@cdfoot +\newif\if@tud@footcolor \TUD@key{cdfoot}[true]{% - \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \TUD@set@numkey{cdfoot}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{3},{colour}{3},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}% + }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument% - \if@tud@cdfoot% - \tud@ps@store{headings}% - \tud@ps@store{plain}% + \ifcase\@tempa\relax% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@restore{scrheadings}% + \tud@ps@restore{plain.scrheadings}% + \tud@font@koma@unset{pageheadfoot}% + }% + \or% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@store{scrheadings}% + \tud@ps@store{plain.scrheadings}% \tud@font@koma@set{pageheadfoot}{\upshape}% \clearpairofpagestyles% \ofoot[\pagemark]{% @@ -388,57 +474,58 @@ {\footnotesize\headmark}% \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% }% - \else% - \tud@ps@restore{headings}% - \tud@ps@restore{plain}% - \tud@font@koma@unset{pageheadfoot}% - \fi% + }% + \or% + \@tud@footcolorfalse% + \or% + \@tud@footcolortrue% \fi% + \else% + \TUDoptions{extrabottommargin=#1}% \fi% } \newcommand*\tud@ps@store[1]{% - \tud@@ps@store{#1}{odd}{left}{head}{}% - \tud@@ps@store{#1}{odd}{right}{head}{}% - \tud@@ps@store{#1}{odd}{middle}{head}{}% - \tud@@ps@store{#1}{even}{left}{head}{}% - \tud@@ps@store{#1}{even}{right}{head}{}% - \tud@@ps@store{#1}{even}{middle}{head}{}% - \tud@@ps@store{#1}{odd}{left}{foot}{}% - \tud@@ps@store{#1}{odd}{right}{foot}{}% - \tud@@ps@store{#1}{odd}{middle}{foot}{}% - \tud@@ps@store{#1}{even}{left}{foot}{}% - \tud@@ps@store{#1}{even}{right}{foot}{}% - \tud@@ps@store{#1}{even}{middle}{foot}{}% + \tud@@ps@store{#1}{odd}{left}{head}% + \tud@@ps@store{#1}{odd}{right}{head}% + \tud@@ps@store{#1}{odd}{middle}{head}% + \tud@@ps@store{#1}{even}{left}{head}% + \tud@@ps@store{#1}{even}{right}{head}% + \tud@@ps@store{#1}{even}{middle}{head}% + \tud@@ps@store{#1}{odd}{left}{foot}% + \tud@@ps@store{#1}{odd}{right}{foot}% + \tud@@ps@store{#1}{odd}{middle}{foot}% + \tud@@ps@store{#1}{even}{left}{foot}% + \tud@@ps@store{#1}{even}{right}{foot}% + \tud@@ps@store{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@store[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% - \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}% }% } \newcommand*\tud@ps@restore[1]{% - \tud@@ps@restore{#1}{odd}{left}{head}{}% - \tud@@ps@restore{#1}{odd}{right}{head}{}% - \tud@@ps@restore{#1}{odd}{middle}{head}{}% - \tud@@ps@restore{#1}{even}{left}{head}{}% - \tud@@ps@restore{#1}{even}{right}{head}{}% - \tud@@ps@restore{#1}{even}{middle}{head}{}% - \tud@@ps@restore{#1}{odd}{left}{foot}{}% - \tud@@ps@restore{#1}{odd}{right}{foot}{}% - \tud@@ps@restore{#1}{odd}{middle}{foot}{}% - \tud@@ps@restore{#1}{even}{left}{foot}{}% - \tud@@ps@restore{#1}{even}{right}{foot}{}% - \tud@@ps@restore{#1}{even}{middle}{foot}{}% + \tud@@ps@restore{#1}{odd}{left}{head}% + \tud@@ps@restore{#1}{odd}{right}{head}% + \tud@@ps@restore{#1}{odd}{middle}{head}% + \tud@@ps@restore{#1}{even}{left}{head}% + \tud@@ps@restore{#1}{even}{right}{head}% + \tud@@ps@restore{#1}{even}{middle}{head}% + \tud@@ps@restore{#1}{odd}{left}{foot}% + \tud@@ps@restore{#1}{odd}{right}{foot}% + \tud@@ps@restore{#1}{odd}{middle}{foot}% + \tud@@ps@restore{#1}{even}{left}{foot}% + \tud@@ps@restore{#1}{even}{right}{foot}% + \tud@@ps@restore{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@restore[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% - \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% \csundef{@@tud@ps@#1@#2@#3@#4}% - }% + }{}% } -\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} \newcommand*\tud@geometry{0} -\TUD@key@lock{geometry}[true]{% - \TUD@set@numkey@lock{geometry}{tud@geometry}{% +\TUD@key@lock{cdgeometry}[true]{% + \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{% \TUD@numkey@bool,% {typearea}{0},% {tud}{1},{asymmetric}{1},{cd}{1},% @@ -450,58 +537,70 @@ \fi% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@head@color{black} -\newcommand*\tud@cd{0} -\csdef@lock{tud@layout@cover}{0} -\csdef@lock{tud@layout@title}{0} -\csdef@lock{tud@layout@part}{0} -\csdef@lock{tud@layout@chapter}{0} +\cs@lock{tud@layout@cover}{0} +\cs@lock{tud@layout@title}{0} +\cs@lock{tud@layout@part}{0} +\cs@lock{tud@layout@chapter}{0} \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% \TUD@numkey@bool,% - {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},% {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% - {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% - {color}{3},{colour}{3}% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{4},{colour}{4},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5}% } +\newcommand*\tud@cd{0} \TUD@key{cd}[true]{% \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \def\tud@head@color{black}% - \ifcase \tud@cd\relax% - \csstd@lock{tud@layout@cover}{0}% - \csstd@lock{tud@layout@title}{0}% - \csstd@lock{tud@layout@part}{0}% - \csstd@lock{tud@layout@chapter}{0}% - \or% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{1}% - \csstd@lock{tud@layout@part}{1}% - \csstd@lock{tud@layout@chapter}{1}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{2}% - \csstd@lock{tud@layout@part}{2}% - \csstd@lock{tud@layout@chapter}{2}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{3}% - \csstd@lock{tud@layout@part}{3}% - \csstd@lock{tud@layout@chapter}{3}% + \ifcase\tud@cd\relax% + \cs@std@lock{tud@layout@cover}{0}% + \cs@std@lock{tud@layout@title}{0}% + \cs@std@lock{tud@layout@part}{0}% + \cs@std@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{1}% + \cs@std@lock{tud@layout@part}{1}% + \cs@std@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{2}% + \cs@std@lock{tud@layout@part}{2}% + \cs@std@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{3}% + \cs@std@lock{tud@layout@part}{3}% + \cs@std@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{4}% + \cs@std@lock{tud@layout@part}{4}% + \cs@std@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{5}% + \cs@std@lock{tud@layout@part}{5}% + \cs@std@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% - \TUD@std@ifkey@lock{widehead}{true}% \fi% \if@atdocument% \tud@layout@process% \else% - \ifcase \tud@cd\relax% - \TUD@std@numkey@lock{geometry}{false}% + \ifcase\tud@cd\relax% + \TUD@std@numkey@lock{cdgeometry}{false}% \else% - \TUD@std@numkey@lock{geometry}{true}% + \TUD@std@numkey@lock{cdgeometry}{true}% \fi% \fi% \fi% @@ -509,14 +608,18 @@ \TUD@key{cdcover}[true]{% \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@cover}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@cover}{0}% + \or% + \cs@set@lock{tud@layout@cover}{1}% \or% - \csset@lock{tud@layout@cover}{1}% + \cs@set@lock{tud@layout@cover}{2}% \or% - \csset@lock{tud@layout@cover}{2}% + \cs@set@lock{tud@layout@cover}{3}% \or% - \csset@lock{tud@layout@cover}{3}% + \cs@set@lock{tud@layout@cover}{4}% + \or% + \cs@set@lock{tud@layout@cover}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -524,14 +627,18 @@ \TUD@key{cdtitle}[true]{% \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@title}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@title}{0}% + \or% + \cs@set@lock{tud@layout@title}{1}% + \or% + \cs@set@lock{tud@layout@title}{2}% \or% - \csset@lock{tud@layout@title}{1}% + \cs@set@lock{tud@layout@title}{3}% \or% - \csset@lock{tud@layout@title}{2}% + \cs@set@lock{tud@layout@title}{4}% \or% - \csset@lock{tud@layout@title}{3}% + \cs@set@lock{tud@layout@title}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -539,14 +646,18 @@ \TUD@key{cdpart}[true]{% \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@part}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@part}{0}% + \or% + \cs@set@lock{tud@layout@part}{1}% + \or% + \cs@set@lock{tud@layout@part}{2}% \or% - \csset@lock{tud@layout@part}{1}% + \cs@set@lock{tud@layout@part}{3}% \or% - \csset@lock{tud@layout@part}{2}% + \cs@set@lock{tud@layout@part}{4}% \or% - \csset@lock{tud@layout@part}{3}% + \cs@set@lock{tud@layout@part}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -554,45 +665,54 @@ \TUD@key{cdchapter}[true]{% \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@chapter}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@chapter}{0}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{1}% + \cs@set@lock{tud@layout@chapter}{1}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{2}% + \cs@set@lock{tud@layout@chapter}{2}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{3}% + \cs@set@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@set@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \or% + \cs@set@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } +\newcommand*\tud@font@heading@size{} +\AtEndOfClass{\let\tud@font@heading@size\size@part} \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \AtEndOfFamilyOptions{% \let\tud@font@heading@size\size@part% - \tud@layout@process% - \ifcase \tud@layout@part\relax\else% - \tud@font@koma@reset{part}% - \tud@font@koma@reset{partnumber}% - \fi% - \ifcase \tud@layout@chapter\relax\else% - \tud@font@koma@reset{chapter}% - \tud@font@koma@reset{chapterprefix}% - \let\chapterheadstartvskip\tud@chapterheadstartvskip% - \tud@font@koma@reset{section}% - \tud@font@koma@reset{subsection}% - \tud@font@koma@reset{subsubsection}% - \tud@font@koma@reset{minisec}% + \if@atdocument% + \tud@layout@process% + \ifcase\tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% + \fi% + \ifcase\tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% \fi% }% } \newif\if@tud@parttitle -\TUD@key@lock{parttitle}[true]{% - \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% +\TUD@key{parttitle}[true]{% + \TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\tud@layout@process\fi% \fi% @@ -617,24 +737,17 @@ \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% \FamilyKeyStateProcessed% }{% - \ifcsdef{ps@#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% - \ifx\@currname\tudcls@name% - \ifx\@currext\@clsextension% - \ifstr{#1}{headings}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% - \tud@ifinpslist{#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{}% - }% - \fi% - \fi% + \AfterPreamble{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + }{% + \ClassError{\tudcls@name}{`#1' is no valid pagestyle}{% + You tried to use `#1' as a pagestyle for option\MessageBreak% + `cleardoublespecialpage', but it was never defined% + }% + }% }% + \FamilyKeyStateProcessed% }}}% \fi% } @@ -646,13 +759,11 @@ \def\@tempa{% #1% \tud@cleardoublepage% - \tud@restorepagecolor% \endgroup% }% \else% \def\@tempa{% \endgroup% - \tud@restorepagecolor% #1% \tud@cleardoublepage% }% @@ -660,7 +771,6 @@ }{% \if@tud@clearcolor\tud@clearcolor@wrn\fi% \def\@tempa{% - \tud@restorepagecolor% \endgroup% #1% }% @@ -675,7 +785,7 @@ \newcommand*\tud@fm@switch{% {section}{2},{sect}{2},{sec}{2},{addsec}{2},% {chapter}{3},{chap}{3},{addchap}{3},% - {new}{3},{std}{3},{heading}{3},% + {new}{3},{standard}{3},{heading}{3},% {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% {nottotoc}{6},{notoc}{6},% @@ -687,7 +797,7 @@ {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% } \newcommand*\tud@abstract@level{3} -\newbool@lock[true]{@tud@abstract@toc} +\bool@lock[true]{@tud@abstract@toc} \newif\if@tud@abstract@toc@leveldown \newif\if@tud@abstract@markboth \newif\if@tud@abstract@multi @@ -697,22 +807,22 @@ \edef\@tempb{\tud@fm@switch}% \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \or% \or% \def\tud@abstract@level{2}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% \def\tud@abstract@level{3}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldownfalse% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldowntrue% \or% - \setbool@lock{@tud@abstract@toc}{false}% + \bool@set@lock{@tud@abstract@toc}{false}% \or% \@tud@abstract@markbothtrue% \or% @@ -729,37 +839,37 @@ \fi% } \newcommand*\tud@declaration@level{3} -\newbool@lock[true]{@tud@declaration@toc} +\bool@lock[true]{@tud@declaration@toc} \newif\if@tud@declaration@toc@leveldown \newif\if@tud@declaration@markboth \newif\if@tud@declaration@multi -\@tud@declaration@multitrue \newif\if@tud@declaration@fil +\@tud@declaration@multitrue \@tud@declaration@filtrue \TUD@key{declaration}[chapter]{% \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \def\tud@declaration@level{0}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{1}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{2}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% \def\tud@declaration@level{3}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldownfalse% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldowntrue% \or% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@set@lock{@tud@declaration@toc}{false}% \or% \@tud@declaration@markbothtrue% \or% @@ -781,6 +891,9 @@ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% } %%% From File: tudscr-misc.dtx +\newcommand*\TUD@AfterPackage[2]{% + \if@atdocument#2\else\AfterPackage!{#1}{#2}\fi% +} \newif\if@tud@symbolheadings \TUD@key{footnotes}{% \TUD@set@numkey{footnotes}{@tempa}{% @@ -788,7 +901,7 @@ {symbolheadings}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \@tud@symbolheadingsfalse% \or% \@tud@symbolheadingstrue% @@ -798,30 +911,28 @@ \newif\if@tud@bookmarks \TUD@ifkey{tudbookmarks}{@tud@bookmarks} %%% From File: tudscr-comp.dtx -\TUD@key{color}[true]{% - \TUD@set@numkey{color}{@tempa}{% - \TUD@numkey@bool,% - {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% - {color}{1},{colour}{1},{full}{1},% - {colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% - {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% - {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% - {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% - }{#1}% +\newcommand*\tud@deprecated@key[2]{% + \ClassWarning{\tudcls@name}% + {% + The option key `#1' is deprecated.\MessageBreak% + It's recommended to use `#2' instead% + }% +} +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \TUDoptions{cd=true}% - \or% - \TUDoptions{cd=color}% - \or% - \TUDoptions{cd=lite}% + \tud@deprecated@key{cdfonts}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% \fi% \fi% } -\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} \TUD@key{tudfonts}[true]{% \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfonts}{cdfont}% \if@tempswa% \TUDoptions{cdfont=true}% \else% @@ -829,9 +940,99 @@ \fi% \fi% } +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{heavyfont}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont=true}% + \fi% + \fi% +} +\TUD@key{din}[true]{% + \TUD@set@ifkey{din}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{din}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=din}% + \else% + \TUDoptions{cdfont=nodin}% + \fi% + \fi% +} +\TUD@key{nodin}[true]{% + \TUD@set@ifkey{nodin}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{nodin}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=nodin}% + \else% + \TUDoptions{cdfont=din}% + \fi% + \fi% +} +\TUD@key{sansmath}[true]{% + \TUD@set@ifkey{sansmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=true}% + \else% + \TUDoptions{cdmath=false}% + \fi% + \fi% +} +\TUD@key{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=false}% + \else% + \TUDoptions{cdmath=true}% + \fi% + \fi% +} +\TUD@key{geometry}[true]{% + \tud@deprecated@key{geometry}{cdgeometry}% + \TUDoptions{cdgeometry=#1}% +} +\TUD@key{barfont}[true]{% + \TUD@set@numkey{barfont}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{barfont}{cdhead}% + \ifcase\@tempa\relax% + \TUDoptions{cdhead=false}% + \or% + \TUDoptions{cdhead=true}% + \or% + \TUDoptions{cdhead=heavy}% + \fi% + \fi% +} +\TUD@key{widehead}[true]{% + \TUD@set@ifkey{widehead}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{widehead}{cdhead}% + \if@tempswa% + \TUDoptions{cdhead=paperwidth}% + \else% + \TUDoptions{cdhead=textwidth}% + \fi% + \fi% +} \TUD@key{tudfoot}[true]{% \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfoot}{cdfoot}% \if@tempswa% \TUDoptions{cdfoot=true}% \else% @@ -839,21 +1040,50 @@ \fi% \fi% } -\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},% + {lite}{1},{light}{1},{pale}{1},% + {colorlite}{1},{litecolor}{1},{colourlite}{1},{litecolour}{1},% + {colorlight}{1},{lightcolor}{1},{colourlight}{1},{lightcolour}{1},% + {colorpale}{1},{palecolor}{1},{colourpale}{1},{palecolour}{1},% + {bicolor}{2},{bicolour}{2},{twocolor}{2},{twocolour}{2},% + {bichrome}{2},{bichromatic}{2},{dichrome}{2},{dichromatic}{2},% + {color}{3},{colour}{3},% + {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{color}{cd}% + \ifcase\@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=pale}% + \or% + \TUDoptions{cd=bicolor}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=fullcolor}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +\newcommand*\tud@v@comp{\tud@v@last} \TUD@key{tudscrver}[last]{% - \scr@ifundefinedorrelax{tudscr@v@#1}{% - \def\tudscr@v@comp{0}% + \ifcsvoid{tud@v@#1}{% + \def\tud@v@comp{0}% \ClassWarningNoLine{\tudcls@name}{% You have set option `tudscrver' to `#1', but\MessageBreak% - this value of version is not supported.\MessageBreak% - Because of this, version was set to `first'% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% }% \FamilyKeyStateProcessed% }{% \ClassInfoNoLine{\tudcls@name}{% Switching compatibility level to `#1'% }% - \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \edef\tud@v@comp{\@nameuse{tud@v@#1}}% \FamilyKeyStateProcessed% }% } @@ -882,12 +1112,20 @@ }% }% } -\@namedef{tudscr@v@first}{0} -\@namedef{tudscr@v@2.02}{0} -\@namedef{tudscr@v@last}{0} +\@namedef{tud@v@first}{0} +\@namedef{tud@v@2.02}{0} +\@namedef{tud@v@2.03}{1} +\@namedef{tud@v@last}{1} +\newcommand*\iftudscrverlower[1]{% + \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} %%% From File: tudscr-base.dtx \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} -\TUDExecuteOptions{\TUDDefaultOptions} +\TUDExecuteOptions{cd,cdfont,tudbookmarks} \TUDProcessOptions\relax \LoadClass{\scrcls@name}[2013/12/19] \RequirePackage{environ}[2013/04/01] @@ -905,22 +1143,22 @@ %%% From File: tudscr-fonts.dtx \AtEndPreamble{% \if@tud@fontspec% - \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% - \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% - \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% - \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% - \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% - \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% - \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% - \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% - \newcommand*\textuln[1]{{\univln#1}} - \newcommand*\texturn[1]{{\univrn#1}} - \newcommand*\textubn[1]{{\univbn#1}} - \newcommand*\textuxn[1]{{\univxn#1}} - \newcommand*\textuls[1]{{\univls#1}} - \newcommand*\texturs[1]{{\univrs#1}} - \newcommand*\textubs[1]{{\univbs#1}} - \newcommand*\textuxs[1]{{\univxs#1}} + \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]% + \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]% + \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% + \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% + \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% + \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% + \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% + \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% + \newcommand*\textuln[1]{{\univln#1}}% + \newcommand*\texturn[1]{{\univrn#1}}% + \newcommand*\textubn[1]{{\univbn#1}}% + \newcommand*\textuxn[1]{{\univxn#1}}% + \newcommand*\textuls[1]{{\univls#1}}% + \newcommand*\texturs[1]{{\univrs#1}}% + \newcommand*\textubs[1]{{\univbs#1}}% + \newcommand*\textuxs[1]{{\univxs#1}}% \else% \if@tud@univers% \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% @@ -959,9 +1197,9 @@ \DeclareTextFontCommand{\textuxs}{\univxs}% \fi% \if@tud@fontspec% - \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% - \newcommand*\textdbn[1]{{\dinbn#1}} + \newcommand*\textdbn[1]{{\dinbn#1}}% \else% \if@tud@dinbold% \newcommand*\dinbn{% @@ -972,220 +1210,239 @@ \let\dinbn\sectfont% \fi% \newcommand*\textdbn{}% - \DeclareTextFontCommand{\textdbn}{\dinbn} - \fi% - \DeclareMathVersion{univers} - \DeclareMathVersion{universbold} - \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} - \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} - \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} - \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} - \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} - \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} - \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} - \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n} - \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} - \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} - \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n} - \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} - \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} - \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} - \DeclareMathVersion{dinbold} - \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} - \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n} - \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} - \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} - \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} - \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} - \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} - \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} - \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} - \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} - \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} - \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} - \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} - \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} - \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} - \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} - \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} - \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} - \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} - \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} - \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} -} -\newcommand*\tud@font@cdfonts{% - \tud@cmd@store{rmdefault}% - \tud@cmd@store{sfdefault}% - \tud@cmd@store{ttdefault}% - \tud@cmd@store{bfdefault}% - \tud@cmd@store{mddefault}% - \tud@cmd@store{itdefault}% - \tud@cmd@store{familydefault}% - \tud@cmd@store{seriesdefault}% - \tud@cmd@store{shapedefault}% - \if@tud@fontspec% - \if@tud@heavyfont% - \setsansfont{Univers}[% - BoldFont = Univers Bold,% - ItalicFont = Univers Oblique,% - BoldItalicFont = Univers Bold Oblique,% - ]% - \setmonofont{LMMono10-Regular}[% - BoldFont = LMMonoLt10-Bold,% - ItalicFont = LMMonoSlant10-Regular,% - BoldItalicFont = LMMonoLt10-BoldOblique,% - ] - \else% - \setsansfont{Univers Light}[% - BoldFont = Univers,% - ItalicFont = Univers Light Oblique,% - BoldItalicFont = Univers Oblique,% - ]% - \setmonofont{LMMonoLt10-Regular}[% - BoldFont = LMMono10-Regular,% - ItalicFont = LMMonoLt10-Oblique,% - BoldItalicFont = LMMonoSlant10-Regular,% - ]% - \fi% + \DeclareTextFontCommand{\textdbn}{\dinbn}% + \fi% + \DeclareMathVersion{univers}% + \DeclareMathVersion{universbold}% + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}% + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}% + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}% + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}% + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}% + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}% + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}% + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}% + \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}% + \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}% + \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}% + \DeclareMathVersion{dinbold}% + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}% + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}% + \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}% + \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}% + \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}% + \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}% + \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}% + \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}% + \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}% + \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}% + \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}% + \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}% + \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}% + \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}% + \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}% + \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}% + \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}% + \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}% + \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}% + \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}% + \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}% +} +\newcommand*\tud@font@set{% + \ifcase\tud@cdfont\relax% + \tud@cmd@restore{rmdefault}% + \tud@cmd@restore{sfdefault}% + \tud@cmd@restore{ttdefault}% + \tud@cmd@restore{bfdefault}% + \tud@cmd@restore{mddefault}% + \tud@cmd@restore{itdefault}% + \tud@cmd@restore{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \bool@std@lock{@tud@cdmath}{false}% + \cs@std@lock{tud@head@font}{0}% \else% - \if@tud@univers% - \renewcommand*\sfdefault{\tud@univers}% - \renewcommand*\ttdefault{\tud@univers t}% - \if@tud@heavyfont% - \renewcommand*\bfdefault{b}% - \renewcommand*\mddefault{m}% + \tud@cmd@store{rmdefault}% + \tud@cmd@store{sfdefault}% + \tud@cmd@store{ttdefault}% + \tud@cmd@store{bfdefault}% + \tud@cmd@store{mddefault}% + \tud@cmd@store{itdefault}% + \tud@cmd@store{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \bool@std@lock{@tud@cdmath}{true}% + \cs@std@lock{tud@head@font}{\tud@cdfont}% + \if@tud@fontspec% + \ifnum\tud@cdfont=\@ne\relax% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% \else% - \renewcommand*\bfdefault{m}% - \renewcommand*\mddefault{l}% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \ifnum\tud@cdfont=\@ne\relax% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \else% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \fi% \fi% \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% \fi% - \renewcommand*\rmdefault{\sfdefault}% - \renewcommand*\familydefault{\sfdefault}% - \renewcommand*\seriesdefault{\mddefault}% - \renewcommand*\shapedefault{\updefault}% \normalfont\selectfont% + \tud@font@math@set% + \tud@layout@process% } -\newcommand*\tud@font@mathfonts{% - \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% - \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% - \mathversion{normal}% -} -\newcommand*\tud@sansmath{% +\newcommand*\tud@font@math@set{% \if@tud@univers% - \tud@cmd@store{mv@normal}% - \tud@cmd@store{mv@bold}% - \let\mv@normal\mv@univers% - \let\mv@bold\mv@universbold% - \mathversion{normal}% + \if@tud@cdmath% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \else% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \fi% \fi% -} -\newcommand*\tud@serifmath{% - \if@tud@univers% - \tud@cmd@restore{mv@normal}% - \tud@cmd@restore{mv@bold}% - \mathversion{normal}% + \if@tud@slantedgreek% + \tud@font@greek@slanted% + \else% + \tud@font@greek@upright% \fi% + \mathversion{normal}% } -\newcount\tud@greek@upGamma -\tud@greek@upGamma\Gamma -\newcount\tud@greek@offset +\newcount\tud@font@greek@upGamma +\tud@font@greek@upGamma\Gamma +\newcount\tud@font@greek@offset \let\@tempa\relax \DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} -\tud@greek@offset\@tempa -\advance\tud@greek@offset-\Gamma -\newcommand*\tud@greek@slanted{% - \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% -} -\newcommand*\tud@greek@upright{% - \ifnum\Gamma>\tud@greek@upGamma% - \tud@greek@offset=-\tud@greek@offset% - \tud@greek@changeshape% - \tud@greek@offset=-\tud@greek@offset% +\tud@font@greek@offset\@tempa +\advance\tud@font@greek@offset-\Gamma +\newcommand*\tud@font@greek@slanted{% + \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi% +} +\newcommand*\tud@font@greek@upright{% + \ifnum\Gamma>\tud@font@greek@upGamma% + \tud@font@greek@offset=-\tud@font@greek@offset% + \tud@font@greek@changeshape% + \tud@font@greek@offset=-\tud@font@greek@offset% \fi% } -\newcommand*\tud@greek@def[2]{% +\newcommand*\tud@font@greek@def[2]{% \expandafter\@tempcnta\csname #1\endcsname% \advance\@tempcnta#2% \expandafter\mathchardef\csname #1\endcsname\@tempcnta% } -\newcommand*\tud@greek@uc{% +\newcommand*\tud@font@greek@uc{% Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% } -\newcommand*\tud@greek@changeshape{% - \@for\@tempa:=\tud@greek@uc\do{% - \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% +\newcommand*\tud@font@greek@changeshape{% + \@for\@tempa:=\tud@font@greek@uc\do{% + \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}% }% } \newcommand*\tud@head@font@bold{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@set{% + \ifdef{\@raggedtwoe@everyselectfont}{% + \let\@raggedtwoe@everyselectfont\relax% + \spaceskip\z@\selectfont% + }{}% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\sfdefault}{bx}{n}{\tud@head@font@size}% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {\sfdefault}{\mddefault}{n}{\tud@head@font@size}% - \ifcase \tud@barfont\relax% - \if@tud@cdfonts% + \@tempswafalse% + \ifcase\tud@head@font\relax% + \ifnum\tud@cdfont>\z@\relax% \ClassWarning{\tudcls@name}{% - It isn't possible to use `barfont=false'\MessageBreak% + It isn't possible to use `cdhead=false'\MessageBreak% together with `cdfont=true'% }% + \@tempswatrue% \fi% - \or% - \@tud@cdfontstrue% - \def\mddefault{l}% - \or% - \@tud@cdfontstrue% - \def\mddefault{m}% + \else% + \@tempswatrue% \fi% - \if@tud@cdfonts% + \if@tempswa% \if@tud@fontspec% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {UniversBold}{m}{n}{\tud@head@font@size}% - \ifstr{\mddefault}{m}{% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {UniversRegular}{m}{n}{\tud@head@font@size}% - }{% + \ifcase\tud@head@font\relax\or% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {UniversLight}{m}{n}{\tud@head@font@size}% - }% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + \fi% \else% \if@tud@univers% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\tud@univers}{b}{n}{\tud@head@font@size}% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {\tud@univers}{\mddefault}{n}{\tud@head@font@size}% + \ifcase\tud@head@font\relax\or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@font@size}% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{m}{n}{\tud@head@font@size}% + \fi% \fi% \fi% \fi% } \newrobustcmd*\ifdin{% - \@tempswafalse + \@tempswafalse% \@expandtwoargs\in@{DINBold}{\f@family}% \ifin@\@tempswatrue\fi% \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% - \if@tempswa + \if@tempswa% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% \fi% } -\AtBeginDocument{% - \if@tud@cdfonts\tud@font@cdfonts\fi% - \tud@font@mathfonts% -} \AfterPackage*{amsfonts}{% \DeclareFontFamily{U}{msa}{}% \DeclareFontShape{U}{msa}{m}{n}{% @@ -1209,17 +1466,7 @@ \renewcommand*\tud@RaggedRight{\RaggedRight}% } %%% From File: tudscr-color.dtx -\newcommand*\tud@pagecolor[1]{} -\newcommand*\tud@restorepagecolor{} -\AfterPackage{tudscrcolor}{% - \providecommand*\nopagecolor{\pagecolor{white}}% - \let\tud@pagecolor\pagecolor% - \let\tud@restorepagecolor\nopagecolor% - \AfterPackage*{pagecolor}{% - \let\tud@pagecolor\newpagecolor% - \let\tud@restorepagecolor\restorepagecolor% - }% -} +\newcommand*\tud@pagecolor{} \AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} %%% From File: tudscr-fields.dtx \RequirePackage{trimspaces}[2009/09/17] @@ -1613,123 +1860,68 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-pagestyle.dtx -\newlength{\tud@dim@left} -\newlength{\tud@dim@right} -\newlength{\tud@dim@both} -\newlength{\tud@dim@top} -\newlength{\tud@dim@bottom} -\newlength{\tud@dim@footskip} -\newlength{\tud@dim@headheight} -\newlength{\tud@dim@barheight} -\newlength{\tud@dim@headsep} -\newlength{\tud@dim@logox} -\newlength{\tud@dim@logoy} -\newlength{\tud@dim@logowidth} -\newlength{\tud@dim@logoheight} -\newlength{\tud@dim@line} -\newlength{\tud@dim@thinline} -\newlength{\tud@dim@heavyline} -\newlength{\tud@dim@headingsvskip} -\newlength{\tud@dim@headdiff} -\newlength{\tud@dim@ddcdiff} -\newlength{\tud@dim@ddcfoot} +\newlength\tud@dim@widemargin +\newlength\tud@dim@slimmargin +\newlength\tud@dim@both +\newlength\tud@dim@topmargin +\newlength\tud@dim@barheight +\newlength\tud@dim@headsep +\newlength\tud@dim@footsep +\newlength\tud@dim@logox +\newlength\tud@dim@logoy +\newlength\tud@dim@logowidth +\newlength\tud@dim@line +\newlength\tud@dim@heavyline +\newlength\tud@dim@thinline +\newlength\tud@dim@headdiff +\newlength\tud@dim@headingsvskip +\iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{} \newcommand*\tud@head@font@size{} \newcommand*\tud@geometry@set{% \ifdim\paperheight<148.1mm\relax% - \setlength{\tud@dim@headheight}{17.5mm}% - \setlength{\tud@dim@barheight}{2.5mm}% - \setlength{\tud@dim@headsep}{6mm}% - \setlength{\tud@dim@logox}{5.5mm}% - \setlength{\tud@dim@logoy}{6.5mm}% - \setlength{\tud@dim@logowidth}{28.5mm}% - \setlength{\tud@dim@left}{15mm}% - \setlength{\tud@dim@right}{10mm}% - \setlength{\tud@dim@top}{12.5mm}% - \setlength{\tud@dim@bottom}{12.5mm}% - \setlength{\tud@dim@footskip}{6mm}% - \setlength{\tud@dim@heavyline}{0.75pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{15mm}% + \setlength\tud@dim@heavyline{0.5pt}% + \setlength\tud@dim@thinline{0.25pt}% \def\tud@head@font@size{4.5}% \else\ifdim\paperheight<297.1mm\relax% - \setlength{\tud@dim@headheight}{35mm}% - \setlength{\tud@dim@barheight}{5mm}% - \setlength{\tud@dim@headsep}{12mm}% - \setlength{\tud@dim@logox}{11mm}% - \setlength{\tud@dim@logoy}{13.5mm}% - \setlength{\tud@dim@logowidth}{57mm}% - \setlength{\tud@dim@left}{30mm}% - \setlength{\tud@dim@right}{20mm}% - \setlength{\tud@dim@top}{25mm}% - \setlength{\tud@dim@bottom}{25mm}% - \setlength{\tud@dim@footskip}{12mm}% - \setlength{\tud@dim@heavyline}{1pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{30mm}% + \setlength\tud@dim@heavyline{1pt}% + \setlength\tud@dim@thinline{0.5pt}% \def\tud@head@font@size{9}% \else\ifdim\paperheight<420.1mm\relax% - \setlength{\tud@dim@headheight}{50mm}% - \setlength{\tud@dim@barheight}{7mm}% - \setlength{\tud@dim@headsep}{17mm}% - \setlength{\tud@dim@logox}{15.5mm}% - \setlength{\tud@dim@logoy}{19mm}% - \setlength{\tud@dim@logowidth}{80mm}% - \setlength{\tud@dim@left}{42mm}% - \setlength{\tud@dim@right}{28mm}% - \setlength{\tud@dim@top}{35mm}% - \setlength{\tud@dim@bottom}{35mm}% - \setlength{\tud@dim@footskip}{17mm}% - \setlength{\tud@dim@heavyline}{1.4pt}% - \setlength{\tud@dim@thinline}{0.7pt}% - \def\tud@head@font@size{13}% + \setlength\tud@dim@widemargin{42.426407mm}% + \setlength\tud@dim@heavyline{1.414214pt}% + \setlength\tud@dim@thinline{0.707107pt}% + \def\tud@head@font@size{12.727922}% \else\ifdim\paperheight<594.1mm\relax% - \setlength{\tud@dim@headheight}{70mm}% - \setlength{\tud@dim@barheight}{10mm}% - \setlength{\tud@dim@headsep}{24mm}% - \setlength{\tud@dim@logox}{22mm}% - \setlength{\tud@dim@logoy}{27mm}% - \setlength{\tud@dim@logowidth}{114mm}% - \setlength{\tud@dim@left}{60mm}% - \setlength{\tud@dim@right}{40mm}% - \setlength{\tud@dim@top}{50mm}% - \setlength{\tud@dim@bottom}{50mm}% - \setlength{\tud@dim@footskip}{24mm}% - \setlength{\tud@dim@heavyline}{1.7pt}% - \setlength{\tud@dim@thinline}{1pt}% - \def\tud@head@font@size{13.5}% + \setlength\tud@dim@widemargin{60mm}% + \setlength\tud@dim@heavyline{2pt}% + \setlength\tud@dim@thinline{1pt}% + \def\tud@head@font@size{18}% \else\ifdim\paperheight<841.1mm\relax% - \setlength{\tud@dim@headheight}{100mm}% - \setlength{\tud@dim@barheight}{14mm}% - \setlength{\tud@dim@headsep}{34mm}% - \setlength{\tud@dim@logox}{31mm}% - \setlength{\tud@dim@logoy}{38mm}% - \setlength{\tud@dim@logowidth}{161.5mm}% - \setlength{\tud@dim@left}{85mm}% - \setlength{\tud@dim@right}{56.5mm}% - \setlength{\tud@dim@top}{71mm}% - \setlength{\tud@dim@bottom}{71mm}% - \setlength{\tud@dim@footskip}{34mm}% - \setlength{\tud@dim@heavyline}{1.9pt}% - \setlength{\tud@dim@thinline}{1.5pt}% - \def\tud@head@font@size{14}% + \setlength\tud@dim@widemargin{84.852814mm}% + \setlength\tud@dim@heavyline{2.828427pt}% + \setlength\tud@dim@thinline{1.414214pt}% + \def\tud@head@font@size{25.455844}% \else% - \setlength{\tud@dim@headheight}{140mm}% - \setlength{\tud@dim@barheight}{20mm}% - \setlength{\tud@dim@headsep}{48mm}% - \setlength{\tud@dim@logox}{44mm}% - \setlength{\tud@dim@logoy}{54mm}% - \setlength{\tud@dim@logowidth}{228mm}% - \setlength{\tud@dim@left}{120mm}% - \setlength{\tud@dim@right}{80mm}% - \setlength{\tud@dim@top}{100mm}% - \setlength{\tud@dim@bottom}{100mm}% - \setlength{\tud@dim@footskip}{48mm}% - \setlength{\tud@dim@heavyline}{2.1pt}% - \setlength{\tud@dim@thinline}{2pt}% - \def\tud@head@font@size{20}% + \setlength\tud@dim@widemargin{120mm}% + \setlength\tud@dim@heavyline{4pt}% + \setlength\tud@dim@thinline{2pt}% + \def\tud@head@font@size{36}% \fi\fi\fi\fi\fi% - \setlength{\tud@dim@both}{\dimexpr\tud@dim@left+\tud@dim@right\relax}% - \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% + \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}% + \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}% + \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}% + \setlength\tud@dim@footsep{% + \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax% + }% } -\newcommand*\tud@ifsacrop{% +\newcommand*\ifstandalonecrop{% \ifcsdef{ifsa@crop}{% \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% }{% @@ -1737,7 +1929,7 @@ }% } \AtEndPreamble{% - \tud@ifsacrop{% + \ifstandalonecrop{% \PreventPackageFromLoading{scrlayer-scrpage}% \pagestyle{empty}% \hoffset=-72.27pt% @@ -1752,192 +1944,352 @@ \oddsidemargin=0pt% \evensidemargin=0pt% \topskip=0pt% - \textheight=\dimexpr\maxdimen% + \textheight=\maxdimen% }{}% } \AtEndPreamble{% \RequirePackage{scrlayer-scrpage}[2013/12/14]% \AfterPackage*{scrlayer-scrpage}{% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={% - \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}% + \tud@mainlogo% },% ]{tudheadings.head.mainlogo}% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={\hfill\tud@headlogo},% ]{tudheadings.head.logo}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.topline}% - \DeclareNewLayer[% - background,head,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41}% + \rule{\layerwidth}{\tud@dim@topmargin}% + \fi% },% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.bottomline}% + ]{tudheadings.head.back}% \DeclareNewLayer[% - background,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.topwideline}% - \DeclareNewLayer[% - background,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + voffset=\tud@dim@topmargin,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41!80}% + \rule{\layerwidth}{\tud@dim@barheight}% + \fi% },% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.bottomwideline}% + ]{tudheadings.head.bar}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,% contents={\tud@head@text@box},% ]{tudheadings.head.text}% \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperline}% + \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperwideline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerwideline}% + \DeclareNewLayer[% background,foot,% + height=\dimexpr\paperheight-\layeryoffset\relax,% contents={% - \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% - \hfill\tud@footlogo% + \ifdim\footlogoheight>\z@\relax\else% + \settoheight\footlogoheight{\tud@mainlogo}% + \iftudscrverlower{2.03}{% + \setlength\footlogoheight{.6\tud@dim@topmargin}% + }{}% + \fi% + \setlength\@tempdima{% + \dimexpr\footlogoheight-\layerheight+\dp\strutbox\relax% + }% + \ifdim\@tempdima>\vfuzz\relax% + \ClassWarning{\tudcls@name}{% + The chosen `\string\footlogoheight' + (\the\footlogoheight)\MessageBreak% + is \the\@tempdima\space higher than recommended. You\MessageBreak% + should decrease this length + \ifcase\tud@geometry\relax\else% + or alternatively\MessageBreak% + enlarge the bottom margin by using option\MessageBreak% + `extrabottommargin'% + \fi% + }% + \fi% + \let\@tempa\relax% + \@for\@tempb:=\tud@@footlogo\do{% + \@tempa% + \ifx\@tempb\@empty\else% + \expandafter\tud@footlogo\expandafter{\@tempb}% + \fi% + \let\@tempa\footlogosep% + }% + \tud@ddclogo% },% - ]{tudheadings.foot.ddclogo}% - \newpairofpagestyles{tudheadings}{}% - \ForEachLayerOfPageStyle{tudheadings}{% - \RemoveLayersFromPageStyle{tudheadings}{#1}% - }% - \ForEachLayerOfPageStyle{plain.tudheadings}{% - \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% - }% - \AddLayersToPageStyle{tudheadings}{% + ]{tudheadings.foot.logo}% + \iftudscrverlower{2.03}{% + \ModifyLayer[% + voffset=\dimexpr\topmargin+1in+\headheight+\headsep+\textheight% + +\footskip-\footheight-\tud@dim@ddcdiff% + \ifcase\tud@geometry\relax\else+\ht\strutbox+\dp\strutbox\fi% + \relax,% + height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,% + ]{tudheadings.foot.logo}% + }{}% + \DeclareNewLayer[% + background,% + hoffset=0pt,% + width=\paperwidth,% + voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}% + -\dp\strutbox\relax,% + height=\dimexpr\paperheight-\layeryoffset\relax,% + contents={% + \if@tud@footcolor% + \let\@tempc\relax% + \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi% + \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}% + \ifx\@tempc\relax\else% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \vbox to \layerheight{% + \vfil\@tempc% + \rule{\layerwidth}{% + \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax% + }% + }% + \else% + \@tempc\rule{\layerwidth}{\layerheight}% + \fi% + }{\@tempc\rule{\layerwidth}{\layerheight}}% + \fi% + \fi% + },% + ]{tudheadings.foot.back}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% scrheadings.foot.odd,% scrheadings.foot.even,% scrheadings.foot.oneside,% scrheadings.foot.above.line,% scrheadings.foot.below.line% }% - \AddLayersToPageStyle{plain.tudheadings}{% + \DeclareNewPageStyleAlias{tud}{tudheadings}% + \DeclareNewPageStyleAlias{tudscr}{tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{plain.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% plain.scrheadings.foot.odd,% plain.scrheadings.foot.even,% plain.scrheadings.foot.oneside,% plain.scrheadings.foot.above.line,% plain.scrheadings.foot.below.line% }% - \DeclareNewPageStyleByLayers{empty.tudheadings}{% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{empty.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% - }% - \AddToLayerPageStyleOptions{tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% - }% - \AddToLayerPageStyleOptions{plain.tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% }% - \AddToLayerPageStyleOptions{empty.tudheadings}{% - onselect={% - \letcs\ps@empty{ps@empty.tudheadings}% - \letcs\ps@plain{ps@plain.tudheadings}% - \letcs\ps@headings{ps@tudheadings}% - }% - }% - \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% - \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% - \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}% + \DeclareNewLayer[ + background,page,% + contents={% + \ifdefvoid{\tud@pagecolor}{}{% + \color{\tud@pagecolor}% + \rule{\layerwidth}{\layerheight}% + }% + },% + ]{tudheadings.pagecolor} + \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% + \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}% }% } -\newcommand*\tud@currentgeometry{} -\newcommand*\tud@beforepagestyle[1]{% - \def\@tempa{#1}% - \ifstr{\sls@currentheadings}{tudheadings}{% - \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% - \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% - \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% - }{}% - \tud@ifinpslist{\@tempa}{% - \tud@ddc@check% - \ifcase \@tempb\relax% - \ifstr{\tud@currentgeometry}{tudarea}{}{% - \loadgeometry{tudarea}% - \gdef\tud@currentgeometry{tudarea}% - }% +\newcommand*\tud@ps@onselect{% + \DeclarePageStyleAlias{plain}{plain.tudheadings}% + \DeclarePageStyleAlias{headings}{tudheadings}% + \def\sls@currentheadings{tudheadings}% + \def\sls@currentplain{plain.tudheadings}% +} +\newcommand*\tud@head@logocolor{black} +\newcommand*\tud@foot@logocolor{black} +\newcommand*\tud@ps@onbackground{% + \ifcase\tud@head@bar\relax% + \def\tud@head@logocolor{black}% + \def\tud@foot@logocolor{black}% + \or% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \or% + \def\tud@head@logocolor{white}% + \if@tud@footcolor% + \def\tud@foot@logocolor{white}% \else% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \loadgeometry{tudareaddc}% - \gdef\tud@currentgeometry{tudareaddc}% - }% + \def\tud@foot@logocolor{HKS41}% \fi% - \setlength{\tud@dim@headdiff}{\z@}% - }{% - \ifstr{\tud@currentgeometry}{typearea}{}{% - \loadgeometry{typearea}% - \gdef\tud@currentgeometry{typearea}% - \RedeclarePageStyleByLayers{empty}{}% - }% - \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% - \ifcase \tud@geometry\relax\else% - \if@hincl% - \addtolength{\tud@dim@headdiff}{% - \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + \fi% + \let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}} +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforeselectanypagestyle[1]{% + \ifstr{#1}{\GetRealPageStyle{#1}}{% + \def\@tempa{#1}% + \ifcsdef{scr@v@3.15}{}{% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + }{}% + }% + \iftudpagestyle{\@tempa}{% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% + }{% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% }% + }% + \setlength\tud@dim@headdiff{\z@}% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + }% + \setlength\tud@dim@headdiff{\tud@ta@headdiff}% + \ifcase\tud@geometry\relax\else% + \if@hincl% + \addtolength\tud@dim@headdiff{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% \fi% - \fi% - }% - \global\tud@dim@headdiff=\tud@dim@headdiff% + }% + \global\tud@dim@headdiff=\tud@dim@headdiff% + }{}% } \patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} \patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} \patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoublepageusingstyle}} -\newcommand*\tud@ddc@enlargepage{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\fi% +\iftudscrverlower{2.03}{% + \newcommand*\tud@ddc@enlargepage[1][]{% + \iftudpagestyle{#1}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \enlargethispage{-\tud@dim@ddcdiff}% + \fi% + }% + }{}% }% -} +}{} \newcommand*\tud@head@text{} \newcommand*\tud@head@text@first{} \newcommand*\tud@head@text@second{} \newcommand*\tud@head@text@delimiter{} \newcommand*\tud@head@text@buffer{} -\newcommand*\tud@head@font{} \newcommand*\tud@head@rule[1]{% - \color{\tud@head@color}% - \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% + \color{\tud@head@logocolor}% + \rule[\ht\strutbox]{#1}{\tud@dim@line}% } \newcommand*\tud@head@text@add[3][, ]{% - \def\tud@head@font{#2}% \edef\tud@head@text{#3}% \ifx\tud@head@text\@empty% \def\tud@head@text@delimiter{}% @@ -1949,10 +2301,10 @@ \def\@tempa{% \tud@head@text@first% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% - \settowidth{\@tempdima}{\@tempa}% + \settowidth\@tempdima{\@tempa}% \ifdim\@tempdima>\textwidth\relax% \@tempswatrue% \def\tud@head@text@delimiter{}% @@ -1964,7 +2316,7 @@ \edef\tud@head@text@second{% \tud@head@text@second% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% \fi% @@ -1974,7 +2326,6 @@ \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% \faculty{}% \fi% - \color{\tud@head@color}% \tud@head@font@set% \@tempswafalse% \def\tud@head@text@first{}% @@ -1984,22 +2335,26 @@ \tud@head@text@add{\tud@head@font@light}{\@department}% \tud@head@text@add{\tud@head@font@light}{\@institute}% \tud@head@text@add{\tud@head@font@light}{\@chair}% - \settowidth{\@tempdima}{\tud@head@text@second}% + \settowidth\@tempdima{\tud@head@text@second}% \ifdim\@tempdima>\textwidth\relax% \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}% \hfuzz=\@tempdima% \fi% \vbox{% \linespread{0}\selectfont% + \color{\tud@head@logocolor}% \tud@head@text@write{\tud@head@text@first}% + \ifnum\tud@head@bar>\@ne% + \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{% + \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% + }% + \fi% \ifx\tud@head@text@second\@empty% - \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% - \fi% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% \else% \newline\tud@head@text@write{\tud@head@text@second}% \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\@extraheadline% + \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline% \fi% \fi% }% @@ -2030,21 +2385,18 @@ } \newcommand*\tud@@mainlogo{} \newcommand*\tud@mainlogo{% - \setlength{\@tempdima}{% - \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + \setlength\@tempdima{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax% }% \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% \def\tud@@mainlogo{TUD-black}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% - \global\let\tud@dim@line\tud@dim@thinline% - \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% - \color{\tud@head@color}% - \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}% } \newcommand*\headlogo[2][]{% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \def\tud@@headlogo{#2}% \def\tud@@@headlogo{#1}% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% @@ -2056,11 +2408,11 @@ \ifx\tud@@headlogo\@empty\else% \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% \fi% - \ifcase \@tempa\relax\or% + \ifcase\@tempa\relax\or% \def\tud@@headlogo{DDC-24}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}% \or% \def\tud@@headlogo{DDC-03}% \or% @@ -2075,9 +2427,10 @@ \def\tud@@headlogo{DDC-30}% \fi% \ifx\tud@@headlogo\@empty\else% - \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% - \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% - {}{\tud@patch@wrn{tud@@@headlogo}}% + \settoheight\@tempdima{\tud@mainlogo}% + \protected@epreto\tud@@@headlogo{% + keepaspectratio,totalheight=\the\@tempdima,% + }% \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% \fi% } @@ -2089,44 +2442,86 @@ }% \global\let\tud@headlogo@wrn\relax% } +\newlength\footlogoheight +\newcommand*\footlogosep{\hfill} +\newcommand*\footlogo[2][]{% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \def\tud@@footlogo{#2}% + \def\tud@@@footlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} \newcommand*\tud@@footlogo{} -\newcommand*\tud@footlogo{% +\newcommand*\tud@@@footlogo{} +\DeclareListParser{\tud@footlogo@parser}{:}% +\newcommand*\tud@footlogo[1]{% + \begingroup% + \def\@tempa{}% + \def\@tempb{}% + \@tempswatrue% + \def\do##1{% + \if@tempswa% + \def\@tempa{##1}% + \@tempswafalse% + \else% + \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}% + \fi% + }% + \tud@footlogo@parser{#1}% + \protected@eappto\tud@@@footlogo{\@tempb}% + \protected@epreto\tud@@@footlogo{% + keepaspectratio,totalheight=\the\footlogoheight,% + }% + \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}% + \vbox to \dimexpr\layerheight-\dp\strutbox\relax{% + \vfil\hbox{\@tempc}\vfil\vfil% + }% + \endgroup% +} +\newcommand*\tud@@ddclogo{} +\newcommand*\tud@ddclogo{% \tud@ddc@check% - \ifcase \@tempb\relax\or% - \def\tud@@footlogo{DDC-22}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \ifcase\@tempb\relax\or% + \def\tud@@ddclogo{DDC-22}% + \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}% \or% - \def\tud@@footlogo{DDC-01}% + \def\tud@@ddclogo{DDC-01}% \or% - \def\tud@@footlogo{DDC-07}% + \def\tud@@ddclogo{DDC-07}% \or% - \def\tud@@footlogo{DDC-19}% + \def\tud@@ddclogo{DDC-19}% \or% - \def\tud@@footlogo{DDC-22}% + \def\tud@@ddclogo{DDC-22}% \or% - \def\tud@@footlogo{DDC-25}% + \def\tud@@ddclogo{DDC-25}% \or% - \def\tud@@footlogo{DDC-28}% + \def\tud@@ddclogo{DDC-28}% \fi% - \ifx\tud@@footlogo\@empty\else% - \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \ifx\tud@@ddclogo\@empty\else% + \let\tud@@@footlogo\relax% + \hfill\tud@footlogo{\tud@@ddclogo}% \fi% } -\newlength{\tud@ta@textheight} -\newlength{\tud@ta@topmargin} -\newlength{\tud@ta@headheight} -\newlength{\tud@ta@headsep} -\newlength{\tud@ta@footskip} -\newlength{\tud@ta@headdiff} +\newlength\tud@ta@textheight +\newlength\tud@ta@topmargin +\newlength\tud@ta@headheight +\newlength\tud@ta@headsep +\newlength\tud@ta@footheight +\newlength\tud@ta@footskip +\newlength\tud@ta@headdiff \newcommand*\tud@geometry@restore{} \AfterCalculatingTypearea{% - \setlength{\tud@ta@textheight}{\textheight}% - \setlength{\tud@ta@topmargin}{\topmargin}% - \setlength{\tud@ta@headheight}{\headheight}% - \setlength{\tud@ta@headsep}{\headsep}% - \setlength{\tud@ta@footskip}{\footskip}% + \setlength\tud@ta@textheight{\textheight}% + \setlength\tud@ta@topmargin{\topmargin}% + \setlength\tud@ta@headheight{\headheight}% + \setlength\tud@ta@headsep{\headsep}% + \ifcsvoid{ta@fh}{% + \setlength\tud@ta@footheight{\footheight}% + }{% + \setlength\tud@ta@footheight{\ta@fh}% + }% + \setlength\tud@ta@footskip{\footskip}% \let\tud@geometry@restore\Gm@restore@org% \if@atdocument% \let\Gm@restore@org\relax% @@ -2138,10 +2533,10 @@ } \newcommand*\tud@geometry@hmargin{} \newcommand*\tud@geometry@vmargin{} -\newcommand*\tud@geometry@pmargin{} -\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@tudmargin{} +\iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{} \AtEndPreamble{% - \tud@ifsacrop{}{% + \ifstandalonecrop{}{% \recalctypearea% \RequirePackage{geometry}[2010/09/12]% \tud@geometry@process% @@ -2150,50 +2545,68 @@ } \newcommand*\tud@geometry@process{% \tud@geometry@set% - \ifcase \tud@geometry\relax% + \ifcase\tud@geometry\relax% \def\tud@geometry@hmargin{% left=\dimexpr\oddsidemargin+1in\relax,% width=\textwidth,% + marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,% + \if@twoside\if@reversemargin% + marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,% + \fi\fi% + marginparsep=.5\tud@ta@headsep,% }% \def\tud@geometry@vmargin{% - top={% - \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% - },% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep% + +1in\relax,% headheight=\tud@ta@headheight,% headsep=\tud@ta@headsep,% textheight=\tud@ta@textheight,% footskip=\tud@ta@footskip,% }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% - footskip=\tud@ta@footskip,% - }% - \def\tud@geometry@dmargin{% - textheight={% - \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% - },% - footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + ignorehead,% }% - \setlength{\tud@ta@headdiff}{\dimexpr% - \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% - -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% - }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% }% \ifdim\tud@ta@headdiff<\z@\relax% - \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \addtolength\tud@dim@headsep{-\tud@ta@headdiff}% + \fi% + \iftudscrverlower{2.03}{% + \setlength\tud@dim@ddcdiff{% + \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep% + +\tud@ta@footheight-1.25\baselineskip\relax% + }% + \def\tud@geometry@ddcmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff% + -\tud@dim@ddcdiff\relax,% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + }{}% + \ifdim\tud@dim@extrabottommargin=\z@\relax\else% + \ClassWarning{\tudcls@name}{% + Option `extrabottommargin' is ineffective when\MessageBreak% + package typearea is used (`cdgeometry=no')% + }% \fi% \else% - \ifcase \tud@geometry\or% + \ifcase\tud@geometry\or% \def\tud@geometry@hmargin{% - left=\tud@dim@left,% + left=\tud@dim@widemargin,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@reversemargin% + marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% \if@twoside asymmetric,\fi% }% @@ -2201,6 +2614,8 @@ \def\tud@geometry@hmargin{% left=.5\tud@dim@both,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \or% @@ -2212,66 +2627,99 @@ left=.5\tud@dim@both,% \fi% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@twoside% + \if@reversemargin% + marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + \else% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \fi% - \def\tud@geometry@vmargin{% - top=\tud@dim@top,% - headheight=\tud@ta@headheight,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - \tud@geometry@hincl,% - \tud@geometry@fincl,% - }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - }% - \def\tud@geometry@dmargin{% - \if@fincl% - bottom=\dimexpr% - \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% - \else% - bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% - \fi% - footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + \iftudscrverlower{2.03}{% + \def\tud@geometry@vmargin{% + top=.5\tud@dim@both,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + }{% + \def\tud@geometry@vmargin{% + top=\tud@dim@slimmargin,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + bottom=\dimexpr\tud@dim@widemargin+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% }% - \setlength{\tud@ta@headdiff}{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight% - +\tud@dim@headsep-\tud@dim@top\relax% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% + headsep=\tud@dim@headsep,% + ignorehead,% }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@dim@slimmargin\relax% }% + \iftudscrverlower{2.03}{% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -.5\tud@dim@both\relax% + }% + \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}% + \def\tud@geometry@ddcmargin{% + \if@fincl% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \else% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff\relax,% + \fi% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip+\tud@dim@ddcdiff\relax,% + }% + }{}% \fi% - \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi% \global\tud@ta@headdiff=\tud@ta@headdiff% - \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% - \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% - \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}% \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% + \iftudscrverlower{2.03}{% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + }{}% \tud@geometry@@process% } \newcommand*\tud@geometry@@process{% + \iftudscrverlower{2.03}{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% + \tud@geometry@ddcmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + }{}% \edef\@tempa{% \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - \tud@geometry@dmargin,% - ignorehead,ignorefoot,% - }% - \expandafter\newgeometry\expandafter{\@tempa}% - \savegeometry{tudareaddc}% - \edef\@tempa{% - \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - ignorehead,% - \tud@geometry@fincl% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{tudarea}% @@ -2299,9 +2747,17 @@ \newcommand*\tud@ps{tudheadings} \newcommand*\tud@ps@select{% \expandafter\pagestyle\expandafter{\tud@ps}% - \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}% - \ifstr{\tud@ps}{empty.tudheadings}{% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{% + \renewcommand*\titlepagestyle{empty}% + \renewcommand*\partpagestyle{empty}% + \renewcommand*\chapterpagestyle{empty}% + \renewcommand*\indexpagestyle{empty}% + }{}% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{% + \renewcommand*\titlepagestyle{empty.tudheadings}% + \renewcommand*\partpagestyle{empty.tudheadings}% \renewcommand*\chapterpagestyle{empty.tudheadings}% + \renewcommand*\indexpagestyle{empty.tudheadings}% }{}% } \newcommand*\tud@currentpagestyle{} @@ -2311,13 +2767,16 @@ }{}% } \newcommand*\tud@currentpagestyle@reset{% - \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% - \let\tud@currentpagestyle\relax% + \ifdefvoid{\tud@currentpagestyle}{}{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% + }% } \NewEnviron{tudpage}[1][]{% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{tudheadings}% - \TUD@parameter@set[tudpage]{#1}% + \clearpage% + \def\tud@ps{tudheadings}% + \TUD@parameter@set{tudpage}{#1}% \tud@ps@select% \tud@multicols@check% \ifnum\tud@multicols>1\relax% @@ -2331,57 +2790,61 @@ \aftergroup\tud@currentpagestyle@reset% \clearpage% ] -\TUD@parameter{tudpage}{% - \TUD@parameter@define{language}{\selectlanguage{#1}}% - \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% - \TUD@parameter@define{color}[HKS41]{\def\tud@head@color{#1}}% - \TUD@parameter@let{colour}{color}% - \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% +\newcommand*\TUD@parameter@define@ps[1]{% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}% + \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@define{footlogo}{\footlogo{#1}}% \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}% \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}% + \TUD@parameter@let{logo}{headlogo}% +} +\TUD@parameter{tudpage}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{% - \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% - \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% - \TUD@parameter@wrn{pagestyle}{% - headings, plain, empty or any tudheadings page style type% - }% - }}}}}}% + \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@error{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}% + }% }% - \TUD@parameter@define{headlogo}{\headlogo{#1}}% - \TUD@parameter@let{logo}{headlogo}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@color@partfont{black} -\newcommand*\tud@color@partpage{white} -\newcommand*\tud@color@parthead{black} -\newcommand*\tud@color@chapterfont{black} -\newcommand*\tud@color@chapterpage{white} -\newcommand*\tud@font@heading{% - \if@tud@din\dinbn\tud@raggedright\else\tud@RaggedRight\fi% -} -\newcommand*\tud@font@heading@size{\Huge} +\newcommand*\tud@part@fontcolor{black} +\newcommand*\tud@chapter@fontcolor{black} \newkomafont{parttitle}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } -\newlength{\pageheadingsvskip} -\newlength{\headingsvskip} +\newlength\pageheadingsvskip +\newlength\headingsvskip +\newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}} +\newcommand*\tud@headmidvskip@neg{% + \setbox0\vbox{\tud@headmidvskip}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht0\relax}% +} \newcommand*\tud@layout@process{% - \ifcase \tud@layout@cover\relax% - \stdbool@lock{@tud@cover@cdlayout}{false}% + \ifcase\tud@layout@cover\relax% + \bool@std@lock{@tud@cover@cdgeometry}{false}% \else% - \stdbool@lock{@tud@cover@cdlayout}{true}% + \bool@std@lock{@tud@cover@cdgeometry}{true}% \fi% - \ifcase \tud@layout@title\relax% + \ifcase\tud@layout@title\relax% \tud@cmd@restore{maketitle}% \tud@cmd@restore{@maketitle}% \tud@cmd@restore{titlepagestyle}% @@ -2401,18 +2864,18 @@ \usekomafont{disposition}% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subtitle}{% \tud@font@heading% \usesizeofkomafont{section}% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subject}{% \fontfamily{\sfdefault}% \fontseries{\bfdefault}% \selectfont% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{author}{\usekomafont{subject}}% \tud@font@koma@set{date}{\usekomafont{titlepage}}% @@ -2420,7 +2883,7 @@ \let\maketitle\tud@maketitle% \renewcommand*\titlepagestyle{plain.tudheadings}% \fi% - \ifcase \tud@layout@part\relax% + \ifcase\tud@layout@part\relax% \tud@cmd@restore{partheadstartvskip}% \tud@cmd@restore{partheadmidvskip}% \tud@cmd@restore{partheadendvskip}% @@ -2445,22 +2908,22 @@ \else% \tud@sectioning@set[addpart]{part}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% \tud@font@koma@set{partnumber}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% - \renewcommand*\partheadmidvskip{\par\nobreak\vspace{.5\baselineskip}}% + \let\partheadmidvskip\tud@headmidvskip% \fi% \let\partheadstartvskip\tud@partheadstartvskip% \let\partheadendvskip\tud@partheadendvskip% - \renewcommand*\partheademptypage{}% + \let\partheademptypage\relax% \renewcommand*\partpagestyle{plain.tudheadings}% \let\@part\tud@@part% \let\@spart\tud@@spart% \fi% - \ifcase \tud@layout@chapter\relax% + \ifcase\tud@layout@chapter\relax% \tud@cmd@restore{chapterheadstartvskip}% \tud@cmd@restore{chapterformat}% \tud@cmd@restore{@chapter}% @@ -2481,7 +2944,7 @@ \tud@sectioning@set[addchap]{chapter}{% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@chapterfont}% + \color{\tud@chapter@fontcolor}% }% \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% \tud@sectioning@set[addsec]{section}{\tud@font@heading}% @@ -2492,26 +2955,21 @@ \let\@@makechapterhead\tud@@@makechapterhead% \fi% } -\AtEndPreamble{% - \let\tud@font@heading@size\size@part% - \tud@layout@process% -} \newcommand*\tud@partheadstartvskip{% - \def\tud@color@partfont{black}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{black}% - \ifcase \tud@layout@part\relax\or\or% - \def\tud@color@partfont{HKS41}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{HKS41}% + \def\tud@part@fontcolor{black}% + \ifcase\tud@layout@part\relax\or\or% + \def\tud@part@fontcolor{HKS41}% + \or% + \def\tud@part@fontcolor{HKS41}% \or% - \def\tud@color@partpage{HKS41}% - \def\tud@color@partfont{HKS41!30}% - \def\tud@color@parthead{white}% + \def\tud@part@fontcolor{HKS41!30}% + \or% + \def\tud@part@fontcolor{HKS41!30}% \fi% \begingroup% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% @@ -2519,25 +2977,41 @@ \begingroup% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \ifx\@@title\@empty% \tud@makeuppercase{\strut}% \else% \tud@makeuppercase{\@@title}% \fi% - \par\nobreak\vskip .775\baselineskip% + \par\nobreak + {\usekomafont{titlepage}\vskip 2ex\@plus1ex\@minus1ex}% \endgroup% \else% \usekomafont{partnumber}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \tud@headmidvskip@neg% \fi% \endgroup% } \newcommand*\tud@partheadendvskip{% \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@partpage}% - \def\tud@head@color{\tud@color@parthead}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@part\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@part@fontcolor}}% \clearpage% }% } @@ -2549,11 +3023,14 @@ }{}% }{% \ifnumbered{part}{% - \size@partnumber{\tud@makeuppercase\partformat}% + \size@partnumber{\tud@makeuppercase{\partformat}}% + \partheadmidvskip% }{% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \partheadmidvskip% + \fi% }% - \unskip\partheadmidvskip% }{}{\tud@patch@wrn{@part}}% \let\tud@@spart\@spart \patchcmd{\tud@@spart}{% @@ -2561,31 +3038,34 @@ \sectfont\nobreak\size@part }{% \normalfont\sectfont\nobreak% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \fi% \partheadmidvskip\unskip% \size@part% }{}{\tud@patch@wrn{@spart}} \newcommand*\tud@partpreamble{% \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% \KOMAoptions{titlepage=false}% - \addtokomafont{disposition}{\color{\tud@color@partfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@partfont}}% - \color{\tud@color@partfont}% + \addtokomafont{disposition}{\color{\tud@part@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@part@fontcolor}}% + \color{\tud@part@fontcolor}% \vskip\dimexpr\topskip+.9\baselineskip\relax% \@afterindentfalse\@afterheading% } \newcommand*\tud@chapterheadstartvskip{% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{black}% - \ifcase \tud@layout@chapter\relax\or\or% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{HKS41}% - \or% - \def\tud@color@chapterpage{HKS41!10}% - \def\tud@color@chapterfont{HKS41}% + \def\tud@chapter@fontcolor{black}% + \ifcase\tud@layout@chapter\relax\or\else% + \def\tud@chapter@fontcolor{HKS41}% \fi% - \vspace*{% - \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + \ifcsdef{scr@v@3.15}{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax% + }% + }{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% }% \if@tud@chapterpage% \vspace*{\pageheadingsvskip}% @@ -2595,36 +3075,48 @@ }% \newcommand*\tud@@@makechapterhead{} \let\tud@@@makechapterhead\@@makechapterhead -\patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% - \chapterheadstartvskip% - \if@chapterprefix% - \begingroup% - \usekomafont{chapterprefix}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% - \endgroup% - \fi% -}{}{\tud@patch@wrn{@@makechapterhead}} -\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% - \tud@makeuppercase{\chapterformat}% -}{}{\tud@patch@wrn{@@makechapterhead}} -\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{% - \setlength{\parskip}{\z@}% - \size@chapter{#1}% -}{}{\tud@patch@wrn{@@makechapterhead}} +\ifcsdef{scr@v@3.15}{% + \patchcmd{\tud@@@makechapterhead}{\chapterformat\chapterheadmidvskip}{% + \tud@headmidvskip@neg% + \tud@makeuppercase{\chapterformat}\tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{% + \IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}% + }{}{\tud@patch@wrn{@@makechapterhead}} +}{% + \patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \ifnumbered{chapter}{% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \tud@headmidvskip@neg% + \endgroup% + \fi% + }{}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \tud@makeuppercase{\chapterformat}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\endgraf\nobreak\vskip.5\baselineskip}{% + \tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\interlinepenalty}{% + \ifnumbered{chapter}{\setlength\parskip{\z@}}{}\interlinepenalty + }{}{\tud@patch@wrn{@@makechapterhead}} +} \newcommand*\tud@chapterpreamble{% \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% \KOMAoptions{titlepage=false}% \if@tud@chapterpage% - \if@tud@cdfonts% - \if@tud@heavyfont% - \TUDoptions{cdfont=heavy}% - \else% - \TUDoptions{cdfont=true}% - \fi% + \ifcase\tud@cdfont\relax\or% + \TUDoptions{cdfont=true}% + \or% + \TUDoptions{cdfont=heavy}% \fi% - \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% - \color{\tud@color@chapterfont}% + \addtokomafont{disposition}{\color{\tud@chapter@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@chapter@fontcolor}}% + \color{\tud@chapter@fontcolor}% \fi% \@afterindentfalse\@afterheading% } @@ -2647,14 +3139,29 @@ \newcommand*\tud@chapter@app{% \if@tud@chapterpage% \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@chapterpage}% - \def\tud@head@color{\tud@color@chapterfont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@chapter\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@chapter@fontcolor}}% \clearpage% }% \if@restonecol\twocolumn\fi% \else% - \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}% \fi% \if@twocolumn% \@afterindentfalse\@afterheading% @@ -2667,18 +3174,20 @@ }% \global\let\tud@clearcolor@wrn\relax% } -\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} -\providecommand\scr@section@dblarg[1]{% - \kernel@ifnextchar[%] - {#1}% - {\scr@section@xdblarg{#1}}% -} -\providecommand\scr@section@xdblarg[2]{% - \begingroup - \edef\reserved@a{% - \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% - {\scr@osectarg}}% - \reserved@a +\ifcsdef{scr@v@3.14}{}{% + \providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} + \providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% + } + \providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a + } } \newcommand*\tud@part{} \newcommand*\tud@spart{} @@ -2700,7 +3209,7 @@ \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}% }{% \tud@sectioning@case{#2}% - \ifstrempty{#1}{}{% + \ifblank{#1}{}{% \tud@cmd@store{#1}% \tud@sectioning@case{#1}% }% @@ -2750,7 +3259,7 @@ } \newcommand*\tud@sectioning@reset[2][]{% \tud@cmd@restore{#2}% - \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \ifblank{#1}{}{\tud@cmd@restore{#1}}% \tud@font@koma@unset{#2}% } \robustify{\footnote}% @@ -2765,7 +3274,7 @@ } \newcommand*\tud@font@koma@set[2]{% \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% - \@namedef{tud@font@koma@#1}{#2}% + \@namedef{tud@font@koma@#1}{#2\nobreak}% } \newcommand*\tud@font@koma@reset[1]{% \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% @@ -2873,13 +3382,13 @@ \addsectiontocentry{}{#2}% }{% \addchaptertocentry{}{#2}% - } + }% }{}% } \newcommand*\tud@fm@next[2]{% - \TUD@parameter@set[#1]{#2}% + \TUD@parameter@set{#1}{#2}% \if@twocolumn% - \ifbool{@tud@#1@multi}{\par}{\newpage} + \ifbool{@tud@#1@multi}{\par}{\newpage}% \else% \if@titlepage% \ifbool{@tud@#1@fil}{% @@ -2895,17 +3404,20 @@ }% }{\ifbool{@tud@#1@multi}{}{\clearpage}}% \else% - \ifnum\@nameuse{tud@#1@level}<2 - \end{\tud@quoting} - \begin{\tud@quoting} + \ifnum\@nameuse{tud@#1@level}<2% + \end{\tud@quoting}% + \begin{\tud@quoting}% \fi% \fi% \fi% } \newcommand*\tud@fm@pagestyle[2]{% \if@titlepage% - \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% - \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + \ifcsdef{ps@#2}{\def\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{% + You tried to use `#2' as a pagestyle for the\MessageBreak% + `#1' environment, but it was never defined% + }% }% \else% \ClassWarning{\tudcls@name}{% @@ -2919,14 +3431,15 @@ \AfterPackage{quoting}{\renewcommand*\tud@quoting{quoting}} \NewEnviron{abstract}[1][]{% \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{abstract}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \TUD@parameter@set[abstract]{#1}% - \if@tud@abstract@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% }[% \if@titlepage% @@ -2939,19 +3452,20 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@abstract@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% + \@tud@abstract@markbothfalse% + }{% \@tud@abstract@markbothfalse% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% \manualmark\markboth{#1}{#1}% - }}}}}}% + }% }% \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% - \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{abstract}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}% } \newcommand*\nextabstract[1][]{% \ifnum\tud@multicols>1\relax% @@ -2972,17 +3486,26 @@ } \newif\if@tud@declarations \NewEnviron{declarations}[1][]{% + \@tud@declarationstrue% \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{declaration}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \@tud@declarationstrue% - \TUD@parameter@set[declaration]{#1}% - \if@tud@declaration@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% - \tud@fm@check{declaration}{\BODY}% + \tud@fm@check{declaration}{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + }% }[% \if@titlepage% \aftergroup\tud@currentpagestyle@reset% @@ -2994,30 +3517,35 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@declaration@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% \@tud@declaration@markbothfalse% + }{% + \@tud@declaration@markbothfalse% + \ifx\tud@ps\relax\def\tud@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@let{confirmationclosing}{closing}% \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% - \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{declaration}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}% } \newcommand*\declaration[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% - \tud@fm@blocking + \tud@fm@blocking% \endgroup% }{% \begin{declarations}[#1]% @@ -3025,12 +3553,20 @@ \tud@fm@blocking% \end{declarations}% }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\confirmation[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{supporter=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% \endgroup% }{% @@ -3038,20 +3574,30 @@ \tud@fm@confirmation% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@confirmation{% \tud@fm@check{declaration}{% \tud@fm@set{declaration}{\confirmationname}{% - \confirmationtext\vskip0pt\@confirmationclosing% + \confirmationtext\vskip\z@\@confirmationclosing% }% }% } \newcommand*\blocking[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{company=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@blocking% \endgroup% }{% @@ -3059,7 +3605,12 @@ \tud@fm@blocking% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@blocking{% \tud@fm@check{declaration}{% @@ -3074,29 +3625,27 @@ \selectfont% \large% } -\newcommand*\tud@color@titlefont{black} -\newcommand*\tud@color@titlepage{white} -\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@title@fontcolor{black} \newcommand*\tud@titlepagenumber{}% \let\tud@titlepagenumber\relax% \newcommand*\tud@maketitle[1][]{% \begingroup% - \TUD@parameter@set[title]{#1}% - \ifcase \tud@layout@title + \TUD@parameter@set{title}{#1}% + \ifcase\tud@layout@title\relax% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \else% \if@titlepage% \tud@maketitlepage% \else% - \ifcase \tud@layout@title\relax\or\else% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\else% + \def\tud@title@fontcolor{HKS41}% \fi% \let\@maketitle\tud@@maketitle% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \if@twocolumn% - \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}% \else% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \fi% @@ -3105,21 +3654,25 @@ \endgroup% } \TUD@parameter{title}{% + \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}% + \TUD@parameter@let{cd}{cdtitle}% \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}% }% \robustify{\thanks}% \robustify{\footnotemark}% \newcommand*\tud@titleback{}% \newcommand*\tud@maketitlepage{% - \ifcase \tud@layout@title\relax\or\or% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41!30}% \or% - \def\tud@color@titlepage{HKS41}% - \def\tud@color@titlefont{HKS41!30}% - \def\tud@color@titlehead{white}% + \def\tud@title@fontcolor{HKS41!30}% \fi% \begin{titlepage}% \ifx\tud@titlepagenumber\relax\else% @@ -3152,13 +3705,13 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin\relax% \headheight=0pt% \headsep=0pt% \footskip=\baselineskip% @@ -3183,26 +3736,27 @@ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% \fi% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -3258,16 +3812,15 @@ \ifdefstring{\@date}{\today}{% \ifdefvoid{\@duedate}{% \ClassWarning{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak% + `\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{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak It's substituted by the given due date% + `\string\date' was not given.\MessageBreak% + It's substituted by the given due date% }% \let\@date\@duedate% }% @@ -3310,19 +3863,33 @@ \fi% \fi% \def\@tempa{% - \tud@pagecolor{\tud@color@titlepage}% - \def\tud@head@color{\tud@color@titlehead}% - \color{\tud@color@titlefont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% - \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@title\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \color{\tud@title@fontcolor}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@title@fontcolor}}% + \addtokomafont{footnote}{\sffamily\color{\tud@title@fontcolor}}% \thispagestyle{empty.tudheadings}% - \tud@ddc@enlargepage% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage}{}% }% \if@tud@cover% \begingroup% \@tempa% \cleardoubleemptypage% - \tud@restorepagecolor% \endgroup% \else% \tud@cleardoublespecialpage[\tud@titleback]{% @@ -3377,28 +3944,29 @@ \newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} \newcommand*\tud@@maketitle{% \global\@topnum=\z@% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\headingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% \tud@footnote@unhyper% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \TUDoptions{subjectthesis=true}% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -3427,7 +3995,7 @@ \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% \vskip 2\bigskipamount% - \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } \newcommand*\tud@multiple@field{} @@ -3521,14 +4089,13 @@ \matriculationnumber,\studentid,\matriculationid,% \placeofbirth,\birthplace,\dateofbirth,\birthday,% } -\RequirePackage{afterpage}[1995/10/27] \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% \maketitle[#1]% \onecolumn{#2}\twocolumn% \else% - \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \tud@title@twocolumn{\maketitle[#1]{#2}}% \fi% \else% \ClassError{\tudcls@name}{% @@ -3537,34 +4104,47 @@ \fi% } \newsavebox\tud@title@twocolumn@box -\newcommand\tud@title@twocolumn[1][]{% +\newcommand\tud@title@twocolumn[1]{% \onecolumn% \begingroup% \let\clearpage\relax% \let\newpage\relax% - \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \global\setbox\tud@title@twocolumn@box\vbox{% + \vspace*{.9\baselineskip}#1\bigskip% + }% \endgroup% - \setlength{\@tempdimc}{\textheight}% - \tud@ifinpslist{\titlepagestyle}{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else% - \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% - \fi% - }{}% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}% + \@tempswatrue% + \fi% }{}% - \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% - \splittopskip\topskip% - \splitmaxdepth\maxdepth% - \vsplit\tud@title@twocolumn@box to \@tempdimc% - \clearpage% - \setlength{\@tempdimc}{\textheight}% - }% - \twocolumn[\unvbox\tud@title@twocolumn@box]% - \ifdim\@tempdimc<\textheight\relax% - \enlargethispage{-\tud@dim@ddcdiff}% - \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax% + \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdima% + \clearpage% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{\@tempswafalse}{}% + }% + \else% + \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% \fi% + \twocolumn[\unvbox\tud@title@twocolumn@box]% + \iftudscrverlower{2.03}{% + \if@tempswa% + \ClassWarning{\tudcls@name}{% + You are using a two-column title along with\MessageBreak% + the DDC-logo. Unfortunately in this case, the\MessageBreak% + type area hast to be adjusted manually. Please\MessageBreak% + use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak% + in both columns after the title% + }% + \fi% + }{}% } \newcommand*\tud@letsubjectthesis{% \if@tud@subjectthesis\ifx\@thesis\@empty\else% @@ -3585,14 +4165,12 @@ }% } \newif\if@tud@cover -\newcommand*\tud@coverpagetopmargin{} -\let\tud@coverpagetopmargin\coverpagetopmargin \newcommand*\makecover[1][]{% \if@titlepageiscoverpage% \ClassWarning{\tudcls@name}{% Using both option `titlepage=firstiscover' and\MessageBreak% `\string\makecover' together isn't supported. The\MessageBreak% - option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + option `titlepage=firstiscover' will be ignored. If you\MessageBreak% want to create an individual cover, you have to use\MessageBreak% `\string\extratitle' instead of `\string\makecover'.\MessageBreak% See also the documentation of KOMA-Script% @@ -3603,28 +4181,20 @@ \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% - \TUD@parameter@set[cover]{#1}% + \TUD@parameter@set{cover}{#1}% \let\tud@layout@title\tud@layout@cover% \tud@layout@process% - \if@tud@cover@cdlayout% - \ifcase \tud@layout@cover\relax% - \let\coverpagetopmargin\tud@dim@top% - \else% - \def\coverpagetopmargin{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - }% - \fi% - \let\coverpagebottommargin\tud@dim@bottom% - \let\coverpageleftmargin\tud@dim@left% - \let\coverpagerightmargin\tud@dim@right% - \else% - \ifcase \tud@layout@cover\relax\else% - \expandafter\def\expandafter\coverpagetopmargin\expandafter{% - \coverpagetopmargin-\tud@coverpagetopmargin% - }% - \fi% + \if@tud@cover@cdgeometry% + \let\coverpagetopmargin\tud@dim@slimmargin% + \let\coverpagebottommargin\tud@dim@widemargin% + \let\coverpageleftmargin\tud@dim@widemargin% + \let\coverpagerightmargin\tud@dim@slimmargin% + \iftudscrverlower{2.03}{% + \def\coverpagetopmargin{.5\tud@dim@both}% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% \fi% - \ifcase \tud@layout@cover\relax% + \ifcase\tud@layout@cover\relax% \KOMAoptions{titlepage=firstiscover}% \let\@extratitle\@empty% \let\@uppertitleback\@empty% @@ -3643,60 +4213,73 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \if@tud@cover@cdlayout% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% \headheight=0pt% \headsep=0pt% - \else% - \textheight=\dimexpr\paperheight-\coverpagebottommargin% - -\tud@dim@headheight-\tud@dim@barheight% - -\tud@dim@headsep-\tud@dim@bottom\relax% - \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% - \headsep=\tud@dim@headsep% - \fi% - \footskip=\tud@dim@footskip% - \@colht=\textheight% - \@colroom=\textheight% - \vsize=\textheight% - \columnwidth=\textwidth% - \hsize=\columnwidth% - \linewidth=\hsize% - \tud@dim@headdiff=\z@% - \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% - \tud@maketitle% - \clearpage% + \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax% + \iftudscrverlower{2.03}{% + \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax% + }{}% + \if@tud@cover@cdgeometry% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax% + }% + \else% + \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep-1in\relax% + \def\@tempa{2\dimexpr\coverpagetopmargin\relax}% + \ifx\@tempa\coverpagebottommargin\relax% + \let\coverpagebottommargin\tud@dim@widemargin% + \iftudscrverlower{2.03}{% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% + \fi% + \fi% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin-\tud@dim@extrabottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \tud@maketitle% + \clearpage% \csname titlepage@restore\endcsname% \fi% \endgroup% } -\newbool@lock{@tud@cover@cdlayout} +\bool@lock{@tud@cover@cdgeometry} \TUD@parameter{cover}{% - \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@define{cdlayout}[true]{% - \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \TUD@parameter@wrn{cdlayout}{true,false}% - }}}}}}% + \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}% + \TUD@parameter@let{cd}{cdcover}% + \TUD@parameter@define{cdgeometry}[true]{% + \ifstrbool{#1}{% + \bool@set@lock{@tud@cover@cdgeometry}{true}% + }{% + \bool@set@lock{@tud@cover@cdgeometry}{false}% + }{% + \TUD@parameter@error{cdgeometry}{true,false}% + }% }% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define@ps{#1}% \TUD@parameter@sethandler{% \ifxnumber{#1}{% - \TUD@parameter@set[cover]{pagenumber=#1}% + \TUD@parameter@set{cover}{pagenumber=#1}% }{% - \TUD@parameter@set[cover]{cdlayout=#1}% + \TUD@parameter@set{cover}{cdgeometry=#1}% }% }% -}% +} %%% From File: tudscr-misc.dtx \newcounter{symbolheadings}[chapter] \newcommand*\tudbookmark[1][]{\@gobbletwo} @@ -3724,20 +4307,21 @@ \tudbookmark[0]{\titlepagename}{title}% }{}{\tud@patch@wrn{maketitle}} \pretocmd{\tableofcontents}{% - \if@openright\cleardoublepage\else\clearpage\fi% \if@tud@bookmarks% \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% \tudbookmark[0]{\contentsname}{toc}% }{}{\tud@patch@wrn{tableofcontents}} -\newcommand*\tud@environmenthandler[1]{% - \def\@tempa{#1}% +\newcommand*\TUD@parameter@defaulthandler[2]{% + \def\@tempa{#2}% \@for\@tempb:=\@tempa\do{% \ifx\@tempb\@empty\else% - \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% - \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% - \expandafter\selectlanguage\expandafter{\@tempb}% - }}% + \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}% + \ifxnumber{\@tempb}{% + \TUD@parameter@set{#1}{columns=\@tempb}% + }{% + \TUD@parameter@set{#1}{language=\@tempb}% + }% \fi% }% } @@ -3756,7 +4340,6 @@ \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% \protect\vphantom{\"A\"O\"U}% -%% \addtokomafont{section}{\strut\ignorespaces}% } \newcommand*\tud@lowerstring[2]{% \protected@edef#1{#2}% @@ -3768,32 +4351,39 @@ \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% } %%% From File: tudscr-comp.dtx -\newlength{\chapterheadingvskip} +\newcommand*\tud@deprecated@cmd[2]{% + \AtBeginDocument{% + \ifcsdef{#1}{}{% + \expandafter\newrobustcmd\csname #1\endcsname{% + \ClassWarning{\tudcls@name}{% + The command `\@backslashchar#1' is deprecated.\MessageBreak% + It's recommended to use `\@backslashchar#2' instead% + }% + \csletcs{#1}{#2}% + \@nameuse{#2}% + }% + }% + }% +} +\newlength\chapterheadingvskip \let\chapterheadingvskip\headingsvskip -\newcommand*\professorship{} -\let\professorship\chair -\newcommand*\student{} -\let\student\author -\newrobustcmd*\studentid{} -\newrobustcmd*\matriculationid{} -\let\studentid\matriculationnumber -\let\matriculationid\matriculationnumber -\newrobustcmd*\enrolmentyear{} -\let\enrolmentyear\matriculationyear -\newrobustcmd*\birthplace{} -\let\birthplace\placeofbirth -\newcommand*\location{} -\let\location\place -\newcommand*\submissiondate{} -\let\submissiondate\date -\newcommand*\oralexaminationdate{} -\let\oralexaminationdate\defensedate -\newrobustcmd*\birthday{} -\let\birthday\dateofbirth -\newcommand*\logofile{} -\let\logofile\headlogo -\newcommand*\logofilename{} -\let\logofilename\headlogo +\tud@deprecated@cmd{professorship}{chair} +\tud@deprecated@cmd{student}{author} +\tud@deprecated@cmd{studentid}{matriculationnumber} +\tud@deprecated@cmd{matriculationid}{matriculationnumber} +\tud@deprecated@cmd{enrolmentyear}{matriculationyear}% +\tud@deprecated@cmd{birthplace}{placeofbirth} +\tud@deprecated@cmd{location}{place} +\tud@deprecated@cmd{submissiondate}{date} +\tud@deprecated@cmd{oralexaminationdate}{defensedate}% +\tud@deprecated@cmd{birthday}{dateofbirth} +\tud@deprecated@cmd{logofile}{headlogo} +\tud@deprecated@cmd{logofilename}{headlogo} +\AfterPackage*{tudscrsupervisor}{% + \tud@deprecated@cmd{startdate}{issuedate}% + \tud@deprecated@cmd{finaldate}{duedate}% + \tud@deprecated@cmd{maturitydate}{duedate}% +} \endinput %% %% End of file `tudscrbook.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty index d0fce7dea23..4c40ec77b9c 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty @@ -10,7 +10,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -24,13 +24,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -52,7 +52,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \@ifundefined{TUDScript}{% @@ -65,13 +65,16 @@ %%% From File: tudscr-color.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{tudscrcolor}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package (corporate design colors)% ] +\DeclareOption{newcolors}{\let\setcdcolors@add\relax} \DeclareOption{reduced}{\let\setcdcolors@add\relax} -\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@full} +\DeclareOption{oldcolors}{\let\setcdcolors@add\setcdcolors@oldcolors} +\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@oldcolors} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}} +\providecommand*\nopagecolor{\pagecolor{white}}% \newcommand*\setcdcolors@add{} \newcommand*\setcdcolors[1]{% \def\@tempa{#1}\ifx\@tempa\@empty\else% @@ -112,7 +115,7 @@ \colorlet{cdorange}{HKS07} \setcdcolors@add% } -\newcommand*\setcdcolors@full{% +\newcommand*\setcdcolors@oldcolors{% \colorlet{HKS41K100}{HKS41!100} \colorlet{HKS41K90}{HKS41!90} \colorlet{HKS41K80}{HKS41!80} diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty index 8352946ce13..6ff8e12a5f3 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty @@ -10,7 +10,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -24,13 +24,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -52,7 +52,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \@ifundefined{tudcls@name}{% @@ -74,9 +74,9 @@ %%% From File: tudscr-comp.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{tudscrcomp}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package - (compatibility for tudbook)% + (compatibility for old tud(scr) classes)% ] \newcommand*\einrichtung{} \let\einrichtung\faculty @@ -103,26 +103,32 @@ } \TUD@key{colortitle}[true]{% \TUD@set@ifkey{colortitle}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{cdtitle=color}% - \else% - \TUDoptions{cdtitle=true}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdtitle=color}% + \else% + \TUDoptions{cdtitle=true}% + \fi% \fi% } \TUD@key{nocolortitle}[true]{% \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{cdtitle=true}% - \else% - \TUDoptions{cdtitle=color}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{cdtitle=true}% + \else% + \TUDoptions{cdtitle=color}% + \fi% \fi% } \TUD@key{ddcfooter}[true]{% \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{ddcfoot=true}% - \else% - \TUDoptions{ddcfoot=false}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \TUDoptions{ddcfoot=true}% + \else% + \TUDoptions{ddcfoot=false}% + \fi% \fi% } \AtBeginDocument{% @@ -138,22 +144,14 @@ \bib@heading% #1% \list{}{% - \setlength{\labelsep}{\z@}% - \setlength{\labelwidth}{\z@}% - \setlength{\itemindent}{-\leftmargin}% + \setlength\labelsep{\z@}% + \setlength\labelwidth{\z@}% + \setlength\itemindent{-\leftmargin}% }% }{\endlist} \newcommand\glossitem[1]{\item[] #1\par}% }% } -\TUD@key{serifmath}[true]{% - \TUD@set@ifkey{serifmath}{@tempswa}{#1}% - \if@tempswa% - \TUDoptions{sansmath=false}% - \else% - \TUDoptions{sansmath=true}% - \fi% -} \newif\if@tud@chapterpage@temp \newcommand*\chapterpage{% \global\@tud@chapterpage@temptrue% @@ -172,6 +170,14 @@ \tud@chapterpage@set% \global\@tud@chapterpage@tempfalse% } +\newcommand*\tud@chapterpage@wrn{% + \ClassWarning{\tudcls@name}{% + The command \string\chapterpage\space is not\MessageBreak% + recommended. You should use the same style for\MessageBreak% + chapters throughout the document + }% + \global\let\tud@chapterpage@wrn\relax% +} \AtEndPreamble{% \pretocmd{\tud@chapter}{\tud@chapterpage@set}% {}{\tud@patch@wrn{tud@nchapter}}% @@ -190,14 +196,6 @@ \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}% {}{\tud@patch@wrn{tud@saddchap}}% } -\newcommand*\tud@chapterpage@wrn{% - \ClassWarning{\tudcls@name}{% - The command \string\chapterpage\space is not\MessageBreak% - recommended. You should use the same style for\MessageBreak% - chapters throughout the document - }% - \global\let\tud@chapterpage@wrn\relax% -} \endinput %% %% End of file `tudscrcomp.sty'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls index 26a88083431..c99fafb2961 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls @@ -11,7 +11,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -25,13 +25,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -53,7 +53,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\cls@name{doc} @@ -69,21 +69,24 @@ %%% From File: tudscr-doc.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesClass{tudscrdoc}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script class (source code documentation based on scrdoc)% ] \LoadClassWithOptions{scrdoc} -\setlength{\marginparwidth}{140pt} -\setlength{\marginparsep}{8pt} -\setlength{\oddsidemargin}{\dimexpr\marginparwidth+\marginparsep-1in} -\setlength{\textwidth}{\dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep} -\setlength{\topmargin}{-1in} -\setlength{\headheight}{0pt} -\setlength{\headsep}{30pt} -\setlength{\footskip}{1.5\headsep} -\setlength{\textheight}{\dimexpr\paperheight-2\headsep-\footskip} +\setlength\marginparwidth{140pt} +\setlength\marginparsep{8pt} +\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax} +\setlength\textwidth{% + \dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep\relax% +} +\setlength\topmargin{-1in} +\setlength\headheight{0pt} +\setlength\headsep{30pt} +\setlength\footskip{1.5\headsep} +\setlength\textheight{\dimexpr\paperheight-2\headsep-\footskip\relax} \RequirePackage{dox}[2010/12/16] +\def\generalname{Allgemeines} \title{% \texttt{\filename}\thanks{% Dies ist Version \fileversion\ von Datei \texttt{\filename}.% @@ -95,6 +98,7 @@ \doxitem[idxtype=Option]{Option}{option}{Optionen} \doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter} \doxitem[idxtype=Seitenstil]{Pagestyle}{pagestyle}{Seitenstile} +\doxitem[idxtype=Layer]{Layer}{layer}{Layer (Seitenstilebenen)} \doxitem[macrolike,idxtype=L\noexpand\"ange]{Length}{length}{L\noexpand\"angen} \doxitem[idxtype=Z\noexpand\"ahler]{Counter}{counter}{Z\noexpand\"ahler} \doxitem[idxtype=Farbe]{Color}{color}{Farben} @@ -118,7 +122,7 @@ \endgraf% \hfuzz0.8pt% \leavevmode\marginpar{\raggedleft\fbox{\@@ToDo\strut}}% - \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{#1\strut}}% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}% \endgraf% \fi% }% @@ -146,7 +150,8 @@ \providecommand*\ifdin[2]{#2}% } \AtBeginDocument{% - \expandafter\ifx\csname if@tud@cdfonts\endcsname\iftrue\relax% + \@ifundefined{tud@cdfont}{\def\tud@cdfont{0}}{}% + \ifnum\tud@cdfont>\z@\relax% \RequirePackage{mweights}[2013/07/21]% \def\mddefault{m}% \def\mdseries@tt{m}% @@ -165,7 +170,7 @@ \expandafter\@tempb\@tempa\relax? ? \relax\relax% } \newcommand*\vKOMAScript{v3.12\xspace} -\RequirePackage{scrhack}[2014/07/07] +\RequirePackage{scrhack}[2014/02/27] \newcommand*\CD{Corporate Design\xspace} \newcommand*\CDs{Corporate Designs\xspace} \newcommand*\TUD{Technische Universit\"at Dresden\xspace} diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty index 72f0e760f03..dd7c9c864ef 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty @@ -8,12 +8,14 @@ %% tudscr-fonts.dtx (with options: `package,identify') %% tudscr-base.dtx (with options: `load') %% tudscr-fonts.dtx (with options: `package,option') +%% tudscr-comp.dtx (with options: `fonts,option') +%% tudscr-fonts.dtx (with options: `package,execute') %% tudscr-fonts.dtx (with options: `package,body') %% %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -27,13 +29,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -55,7 +57,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \@ifundefined{TUDScript}{% @@ -68,7 +70,7 @@ %%% From File: tudscr-fonts.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{tudscrfonts}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package (corporate design fonts)% ] @@ -105,14 +107,18 @@ \newcommand*\tud@dinbold{0m6} \newcommand*\tud@mathenc{OT1} \newif\if@tud@fontspec -\TUD@key@lock{fontspec}[true]{% - \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% +\TUD@key{fontspec}[true]{% + \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}% } -\AtEndOfPackage{% - \TUD@key{fontspec}[]{% - \PackageError{tudscrfonts}{Option `fontspec' too late}{% +\AtEndOfPackage% +{% + \TUD@key{fontspec}[] + {% + \PackageError{tudscrfonts} + {Option `fontspec' too late}{% Option `fontspec' can only be set while loading the\MessageBreak% - package `tudscrfonts' but you have tried to set it up later.% + package `tudscrfonts' + but you have tried to set it up later.% }% \FamilyKeyStateProcessed% }% @@ -122,6 +128,17 @@ the package `fontspec' before `tudscrfonts'.% }% }{} + \if@tud@fontspec% + \PreventPackageFromLoading[% + \PackageWarning{tudscrfonts}% + {% + You must not load the package `fontspec' as it is\MessageBreak% + loaded automatically at the end of the preamble.\MessageBreak% + If you want to pass options to `fontspec' use\MessageBreak% + `\string\PassOptionsToPackage{<option list>}{fontspec}' + }% + ]{fontspec} + \fi% } \AtEndPreamble{% \@expandtwoargs\in@{OT}{\encodingdefault}% @@ -145,9 +162,10 @@ }% \def\@tempb#1{% \PackageWarningNoLine{tudscrfonts}{% - `#1' fonts not found. Please use on of the\MessageBreak% - installation scripts out of the tudscr-bundle,\MessageBreak% - which suits to your OS. A fallback layout is used% + `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak% + Please use on of the installation scripts out of the\MessageBreak% + tudscr-bundle, which suits to your OS or choose a\MessageBreak% + possible encoding. A fallback layout is used% }% }% \fi% @@ -163,6 +181,7 @@ \fi% \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% \if@tud@fontspec% + \UnPreventPackageFromLoading{fontspec}% \if@tud@univers\if@tud@dinbold% \PassOptionsToPackage{no-math}{fontspec}% \fi\fi% @@ -170,45 +189,52 @@ \fi% } \RequirePackage{textcase}[2004/10/07] -\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% - \@nonchangecase\ensuremath% +\newcommand*\tud@uclcnotmath{% \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% + \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}% +} +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath\tud@uclcnotmath }{}{\tud@patch@wrn{@uclcnotmath}}% -\newcommand*\tud@cdfont{0} +\newcommand*\tud@font@heading{\dinbn\tud@raggedright} +\newcommand*\tud@cdfont{1} \TUD@key{cdfont}[true]{% - \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@set@numkey{cdfont}{@tempa}{% \TUD@numkey@bool,% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2},% {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% - {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% - {sansmath}{8},{sans}{8},% - {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% - {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% - {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% - {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + {nomath}{8},{nocdmath}{8},% + {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},% + {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},% + {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},% + {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},% + {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},% + {nofontspec}{13},{pdftex}{13},{pdflatex}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \tud@cdfont\relax% - \TUDoptions{cdfonts=false}% + \ifcase\@tempa\relax% + \def\tud@cdfont{0}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=false}% + \def\tud@cdfont{1}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=true}% + \def\tud@cdfont{2}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{din=false}% + \renewcommand*\tud@font@heading{\tud@RaggedRight}% \or% - \TUDoptions{din=true}% + \renewcommand*\tud@font@heading{\dinbn\tud@raggedright} \or% \or% \or% - \TUDoptions{sansmath=false}% \or% - \TUDoptions{sansmath=true}% + \TUDoptions{cdmath=false}% + \or% + \TUDoptions{cdmath=true}% \or% \TUDoptions{slantedgreek=false}% \or% @@ -220,77 +246,147 @@ \fi% \fi% } -\newif\if@tud@cdfonts -\TUD@key{cdfonts}[true]{% - \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% +\AtBeginDocument{\tud@font@set}% +\bool@lock{@tud@cdmath} +\TUD@key{cdmath}[true]{% + \TUD@set@numkey{cdmath}{@tempa}{% + \TUD@numkey@bool,% + {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},% + {sansmath}{1},{sans}{1},% + {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},% + {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}% + }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@cdfonts% - \if@atdocument\tud@font@cdfonts\fi% - \TUD@std@ifkey@lock{sansmath}{true}% + \ifcase\@tempa\relax% + \bool@set@lock{@tud@cdmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \if@atdocument\tud@font@math@set\fi% + \or% + \bool@set@lock{@tud@cdmath}{true}% \TUD@std@ifkey@lock{slantedgreek}{true}% + \if@atdocument\tud@font@math@set\fi% + \or + \TUDoptions{slantedgreek=false}% + \or + \TUDoptions{slantedgreek=true}% + \fi% + \fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@font@math@set\fi% + \fi% +} +%%% From File: tudscr-comp.dtx +\newcommand*\tud@deprecated@key[2]{% + \PackageWarning{tudscrfonts}% + {% + The option key `#1' is deprecated.\MessageBreak% + It's recommended to use `#2' instead% + }% +} +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{cdfonts}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=true}% \else% - \if@atdocument% - \tud@cmd@restore{rmdefault}% - \tud@cmd@restore{sfdefault}% - \tud@cmd@restore{ttdefault}% - \tud@cmd@restore{bfdefault}% - \tud@cmd@restore{mddefault}% - \tud@cmd@restore{itdefault}% - \tud@cmd@restore{familydefault}% - \tud@cmd@restore{seriesdefault}% - \tud@cmd@restore{shapedefault}% - \normalfont\selectfont% - \fi% - \TUD@std@ifkey@lock{sansmath}{false}% - \TUD@std@ifkey@lock{slantedgreek}{false}% + \TUDoptions{cdfont=false}% + \fi% + \fi% +} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfonts}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% \fi% \fi% } -\newif\if@tud@heavyfont \TUD@key{heavyfont}[true]{% - \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@cdfonts\fi% + \tud@deprecated@key{heavyfont}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont=true}% + \fi% \fi% } -\newif\if@tud@din\@tud@dintrue -\TUD@ifkey{din}{@tud@din} -\newif\if@tud@sansmath -\TUD@key@lock{sansmath}[true]{% - \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% +\TUD@key{din}[true]{% + \TUD@set@ifkey{din}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \tud@deprecated@key{din}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=din}% + \else% + \TUDoptions{cdfont=nodin}% + \fi% \fi% } -\newif\if@tud@slantedgreek -\TUD@key@lock{slantedgreek}[true]{% - \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% +\TUD@key{nodin}[true]{% + \TUD@set@ifkey{nodin}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \tud@deprecated@key{nodin}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=nodin}% + \else% + \TUDoptions{cdfont=din}% + \fi% \fi% } +\TUD@key{sansmath}[true]{% + \TUD@set@ifkey{sansmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=true}% + \else% + \TUDoptions{cdmath=false}% + \fi% + \fi% +} +\TUD@key{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=false}% + \else% + \TUDoptions{cdmath=true}% + \fi% + \fi% +} +%%% From File: tudscr-fonts.dtx \TUDoptions{cdfont=true} \DeclareOption*{\TUDoptions{\CurrentOption}} \TUDProcessOptions\relax %%% From File: tudscr-fonts.dtx \AtEndPreamble{% \if@tud@fontspec% - \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% - \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% - \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% - \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% - \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% - \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% - \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% - \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% - \newcommand*\textuln[1]{{\univln#1}} - \newcommand*\texturn[1]{{\univrn#1}} - \newcommand*\textubn[1]{{\univbn#1}} - \newcommand*\textuxn[1]{{\univxn#1}} - \newcommand*\textuls[1]{{\univls#1}} - \newcommand*\texturs[1]{{\univrs#1}} - \newcommand*\textubs[1]{{\univbs#1}} - \newcommand*\textuxs[1]{{\univxs#1}} + \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]% + \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]% + \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% + \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% + \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% + \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% + \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% + \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% + \newcommand*\textuln[1]{{\univln#1}}% + \newcommand*\texturn[1]{{\univrn#1}}% + \newcommand*\textubn[1]{{\univbn#1}}% + \newcommand*\textuxn[1]{{\univxn#1}}% + \newcommand*\textuls[1]{{\univls#1}}% + \newcommand*\texturs[1]{{\univrs#1}}% + \newcommand*\textubs[1]{{\univbs#1}}% + \newcommand*\textuxs[1]{{\univxs#1}}% \else% \if@tud@univers% \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% @@ -330,9 +426,9 @@ \fi% \ifdef{\sectfont}{}{\let\sectfont\relax}% \if@tud@fontspec% - \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% - \newcommand*\textdbn[1]{{\dinbn#1}} + \newcommand*\textdbn[1]{{\dinbn#1}}% \else% \if@tud@dinbold% \newcommand*\dinbn{% @@ -343,179 +439,192 @@ \let\dinbn\sectfont% \fi% \newcommand*\textdbn{}% - \DeclareTextFontCommand{\textdbn}{\dinbn} + \DeclareTextFontCommand{\textdbn}{\dinbn}% \fi% - \DeclareMathVersion{univers} - \DeclareMathVersion{universbold} - \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} - \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} - \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} - \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} - \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} - \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} - \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} - \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n} - \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} - \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} - \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n} - \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} - \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} - \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} - \DeclareMathVersion{dinbold} - \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} - \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n} - \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} - \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} - \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} - \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} - \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} - \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} - \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} - \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} - \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} - \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} - \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} - \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} - \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} - \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} - \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} - \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} - \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} - \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} - \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} + \DeclareMathVersion{univers}% + \DeclareMathVersion{universbold}% + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}% + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}% + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}% + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}% + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}% + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}% + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}% + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}% + \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}% + \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}% + \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}% + \DeclareMathVersion{dinbold}% + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}% + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}% + \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}% + \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}% + \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}% + \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}% + \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}% + \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}% + \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}% + \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}% + \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}% + \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}% + \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}% + \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}% + \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}% + \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}% + \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}% + \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}% + \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}% + \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}% + \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}% } -\newcommand*\tud@font@cdfonts{% - \tud@cmd@store{rmdefault}% - \tud@cmd@store{sfdefault}% - \tud@cmd@store{ttdefault}% - \tud@cmd@store{bfdefault}% - \tud@cmd@store{mddefault}% - \tud@cmd@store{itdefault}% - \tud@cmd@store{familydefault}% - \tud@cmd@store{seriesdefault}% - \tud@cmd@store{shapedefault}% - \if@tud@fontspec% - \if@tud@heavyfont% - \setsansfont{Univers}[% - BoldFont = Univers Bold,% - ItalicFont = Univers Oblique,% - BoldItalicFont = Univers Bold Oblique,% - ]% - \setmonofont{LMMono10-Regular}[% - BoldFont = LMMonoLt10-Bold,% - ItalicFont = LMMonoSlant10-Regular,% - BoldItalicFont = LMMonoLt10-BoldOblique,% - ] - \else% - \setsansfont{Univers Light}[% - BoldFont = Univers,% - ItalicFont = Univers Light Oblique,% - BoldItalicFont = Univers Oblique,% - ]% - \setmonofont{LMMonoLt10-Regular}[% - BoldFont = LMMono10-Regular,% - ItalicFont = LMMonoLt10-Oblique,% - BoldItalicFont = LMMonoSlant10-Regular,% - ]% - \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% +\newcommand*\tud@font@set{% + \ifcase\tud@cdfont\relax% + \tud@cmd@restore{rmdefault}% + \tud@cmd@restore{sfdefault}% + \tud@cmd@restore{ttdefault}% + \tud@cmd@restore{bfdefault}% + \tud@cmd@restore{mddefault}% + \tud@cmd@restore{itdefault}% + \tud@cmd@restore{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \bool@std@lock{@tud@cdmath}{false}% + \else% + \tud@cmd@store{rmdefault}% + \tud@cmd@store{sfdefault}% + \tud@cmd@store{ttdefault}% + \tud@cmd@store{bfdefault}% + \tud@cmd@store{mddefault}% + \tud@cmd@store{itdefault}% + \tud@cmd@store{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \bool@std@lock{@tud@cdmath}{true}% + \if@tud@fontspec% + \ifnum\tud@cdfont=\@ne\relax% \setsansfont{Univers Light}[% - BoldFont = Univers Bold,% + BoldFont = Univers,% ItalicFont = Univers Light Oblique,% - BoldItalicFont = Univers Bold Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% ]% - }{}% - \fi% - \else% - \if@tud@univers% - \renewcommand*\sfdefault{\tud@univers}% - \renewcommand*\ttdefault{\tud@univers t}% - \if@tud@heavyfont% - \renewcommand*\bfdefault{b}% - \renewcommand*\mddefault{m}% - \else% - \renewcommand*\bfdefault{m}% \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% - \renewcommand*\bfdefault{b}% + \setsansfont{Univers Light}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% }{}% - \renewcommand*\mddefault{l}% + \else% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \ifnum\tud@cdfont=\@ne\relax% + \renewcommand*\bfdefault{m}% + \ifboolexpr{bool {@tud@oldclass} or bool {@tud@oldscrclass}}{% + \renewcommand*\bfdefault{b}% + }{}% + \renewcommand*\mddefault{l}% + \else% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \fi% \fi% \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% \fi% - \renewcommand*\rmdefault{\sfdefault}% - \renewcommand*\familydefault{\sfdefault}% - \renewcommand*\seriesdefault{\mddefault}% - \renewcommand*\shapedefault{\updefault}% \normalfont\selectfont% + \tud@font@math@set% } -\newcommand*\tud@font@mathfonts{% - \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% - \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% - \mathversion{normal}% -} -\newcommand*\tud@sansmath{% +\newcommand*\tud@font@math@set{% \if@tud@univers% - \tud@cmd@store{mv@normal}% - \tud@cmd@store{mv@bold}% - \let\mv@normal\mv@univers% - \let\mv@bold\mv@universbold% - \mathversion{normal}% + \if@tud@cdmath% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \else% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \fi% \fi% -} -\newcommand*\tud@serifmath{% - \if@tud@univers% - \tud@cmd@restore{mv@normal}% - \tud@cmd@restore{mv@bold}% - \mathversion{normal}% + \if@tud@slantedgreek% + \tud@font@greek@slanted% + \else% + \tud@font@greek@upright% \fi% + \mathversion{normal}% } -\newcount\tud@greek@upGamma -\tud@greek@upGamma\Gamma -\newcount\tud@greek@offset +\newcount\tud@font@greek@upGamma +\tud@font@greek@upGamma\Gamma +\newcount\tud@font@greek@offset \let\@tempa\relax \DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} -\tud@greek@offset\@tempa -\advance\tud@greek@offset-\Gamma -\newcommand*\tud@greek@slanted{% - \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% +\tud@font@greek@offset\@tempa +\advance\tud@font@greek@offset-\Gamma +\newcommand*\tud@font@greek@slanted{% + \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi% } -\newcommand*\tud@greek@upright{% - \ifnum\Gamma>\tud@greek@upGamma% - \tud@greek@offset=-\tud@greek@offset% - \tud@greek@changeshape% - \tud@greek@offset=-\tud@greek@offset% +\newcommand*\tud@font@greek@upright{% + \ifnum\Gamma>\tud@font@greek@upGamma% + \tud@font@greek@offset=-\tud@font@greek@offset% + \tud@font@greek@changeshape% + \tud@font@greek@offset=-\tud@font@greek@offset% \fi% } -\newcommand*\tud@greek@def[2]{% +\newcommand*\tud@font@greek@def[2]{% \expandafter\@tempcnta\csname #1\endcsname% \advance\@tempcnta#2% \expandafter\mathchardef\csname #1\endcsname\@tempcnta% } -\newcommand*\tud@greek@uc{% +\newcommand*\tud@font@greek@uc{% Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% } -\newcommand*\tud@greek@changeshape{% - \@for\@tempa:=\tud@greek@uc\do{% - \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% +\newcommand*\tud@font@greek@changeshape{% + \@for\@tempa:=\tud@font@greek@uc\do{% + \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}% }% } \newrobustcmd*\ifdin{% - \@tempswafalse + \@tempswafalse% \@expandtwoargs\in@{DINBold}{\f@family}% \ifin@\@tempswatrue\fi% \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% - \if@tempswa + \if@tempswa% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% @@ -618,10 +727,6 @@ \fi% }{}% } -\AtBeginDocument{% - \if@tud@cdfonts\tud@font@cdfonts\fi% - \tud@font@mathfonts% -} \AfterPackage*{amsfonts}{% \DeclareFontFamily{U}{msa}{}% \DeclareFontShape{U}{msa}{m}{n}{% @@ -637,20 +742,22 @@ }{}% } \newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} \AfterPackage*{ragged2e}{% \ifdef{\LaTeXraggedright}{% \renewcommand*\tud@raggedright{\LaTeXraggedright}% }{}% + \renewcommand*\tud@RaggedRight{\RaggedRight}% } \@ifclassloaded{tudbook}{% \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}% - {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makechapterhead}}% + {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}% \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}% - {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{@makeschapterhead}}% + {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}% \patchcmd{\section}{\dinBold\Large\bfseries}% - {\if@tud@din\dinbn\fi\Large}{}{\tud@patch@wrn{section}}% + {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}% \patchcmd{\showtitle}{\dinBold\Huge\bfseries}% - {\if@tud@din\dinbn\fi\Huge}{}{\tud@patch@wrn{showtitle}}% + {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}% }{} \endinput %% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls index c290aed875f..b5b98350816 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls @@ -15,7 +15,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -29,13 +29,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -57,7 +57,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\tudinh@name{tudscrreprt} @@ -71,7 +71,7 @@ %%% From File: tudscr-manual.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesClass{tudscrman}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script class (internal manual)% ] %%% From File: tudscr-base.dtx @@ -79,7 +79,17 @@ %%% From File: tudscr-manual.dtx \newif\if@tud@todo \@tud@todotrue -\TUD@ifkey{ToDo}{@tud@todo} +\newcommand*\tud@todo@type{} +\TUD@key{ToDo}[true]{% + \TUD@set@ifkey{ToDo}{@tud@todo}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \let\tud@todo@type\relax% + \else% + \def\tud@todo@type{#1}% + \@tud@todotrue% + \FamilyKeyStateProcessed% + \fi% +} \PassOptionsToClass{% cdfoot=true,% chapterpage=true,% @@ -87,14 +97,17 @@ headings=optiontoheadandtoc,% captions=tableheading,% numbers=noenddot,% - color=true,% + cd=color,% }{\tudinh@name} \PassOptionsToPackage{automark}{scrlayer-scrpage} \DeclareOption{final}{\let\tudfinalflag\relax} \DeclareOption{print}{\let\tudprintflag\relax} \AtBeginDocument{% \ifdef{\tudfinalflag}{\TUDoptions{ToDo=false}}{}% - \ifdef{\tudprintflag}{\hypersetup{hidelinks}\TUDoptions{color=no}}{}% + \ifdef{\tudprintflag}{% + \TUDoptions{color=no}% + \PassOptionsToPackage{hidelinks}{hyperref}% + }{}% } %%% From File: tudscr-base.dtx \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\tudinh@name}} @@ -114,7 +127,14 @@ \providecommand\enquote[1]{\glqg#1\grqq{}}% }% } -\RequirePackage[babel]{microtype}[2013/05/23] +\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} +\newlength\baselineskipglue +\AtBeginDocument{% + \setlength\baselineskipglue{% + .4\baselineskip plus .4\baselineskip minus .2\baselineskip% + }% +} +\PassOptionsToPackage{vskip=.5\baselineskipglue}{quoting} \RequirePackage{quoting}[2014/01/28] \RequirePackage{isodate}[2010/01/03] \RequirePackage{hologo}[2012/04/26] @@ -140,10 +160,11 @@ \fi \WarningFilter*{ifplatform}{^^J \space\space\space shell escape is disabled} \RequirePackage{ifplatform}[2010/10/22] -\PassOptionsToPackage{hyperindex=false}{hyperref} -\AtEndPreamble{% +\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref} +\PassOptionsToPackage{open,openlevel=0}{bookmark} +\AtBeginDocument{% \RequirePackage{hyperref}[2012/11/06] - \hypersetup{colorlinks,linkcolor=blue} + \RequirePackage{bookmark}[2011/12/02] \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}} \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} @@ -169,7 +190,7 @@ \NewDocumentCommand\manualhyperdef{st'm}{% \IfBooleanTF{#2}{% \raisebox{4\baselineskip}[0pt][0pt]{\hyperdef{\jobname}{#3}{}}% - \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax% \@afterindentfalse\@afterheading% }{% \Hy@raisedlink{\hyperdef{\jobname}{#3}{}}% @@ -183,7 +204,8 @@ \RequirePackage{imakeidx}[2013/07/11]% \indexsetup{% level=\addsec,% - noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname}% + noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},% + othercode={\renewcommand*\subitem{\@idxitem\hspace*{15\p@}}}% } \newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din} \newcommand*\tud@write@i{} @@ -198,7 +220,7 @@ \write\tud@write@i{(markup-range :sep "--")} \write\tud@write@i{(merge-rule "\[(.*)\]" "" :eregexp)} \write\tud@write@i{% - (define-attributes (("declare" "!" "important" "?" "default")))% + (define-attributes (("declare" "!" "important" "?" "deprecated" "default")))% } \write\tud@write@i{(merge-to "important" "default")} \write\tud@write@i{(merge-to "?" "default")} @@ -238,6 +260,13 @@ )% } \write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\deprecatedhyperpage{"^^J% +\space\space :close "}"^^J% +\space\space :attr "deprecated"^^J% +)% +} +\write\tud@write@i{% (markup-locclass-list :open "\string\,\string\dotfill\string\,")% } \write\tud@write@i{(define-crossref-class "seeidx")} @@ -275,15 +304,16 @@ \RequirePackage{pdfpages}[2013/08/25] \RequirePackage{units}[1998/08/04] \RequirePackage{tudscrsupervisor}[\TUDVersion] +\newrobustcmd*\textOR{\,\textbardbl\,} \newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}} \newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}} -\newrobustcmd*\PBName[1]{\PBoolean|\PName{#1}} +\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}} \newrobustcmd*\PSet{\PName{Einstellung}} \newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}} \newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}} \newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}} \newrobustcmd*\OLParameter[1]{% - \mbox{\texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]}}% + \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}% } \newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}} \newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}} @@ -291,17 +321,17 @@ \newrobustcmd*\hypertut[2]{% \hyperref{tutorials/#1.pdf}{\jobname}{tutorials:#1}{\textsbn{#1.pdf}#2}% } -\NewDocumentCommand\Tutorial{som}{% +\NewDocumentCommand\Tutorial{smd||}{% \ifnum\pdfshellescape=1\relax% - \filemodCmp{tutorials/#3.pdf}{tutorials/#3.tex}{}{% + \filemodCmp{tutorials/#2.pdf}{tutorials/#2.tex}{}{% \immediate\openout\tud@write@i=tutorials.sh% \immediate\write\tud@write@i{% cd tutorials^^J% - pdflatex -shell-escape #3^^J% - biber #3^^J% - makeglossaries #3^^J% - pdflatex #3^^J% - pdflatex #3% + pdflatex -shell-escape #2^^J% + biber #2^^J% + makeglossaries #2^^J% + pdflatex #2^^J% + pdflatex #2% }% \immediate\closeout\tud@write@i% \ifwindows% @@ -314,14 +344,14 @@ \fi% }% \fi% - \IfFileExists{tutorials/#3.pdf}{% - \hypertut{#3}{}% + \IfFileExists{tutorials/#2.pdf}{% + \hypertut{#2}{}% }{% - \textsbn{#3.pdf}% + \textsbn{#2.pdf}% \tud@shellescape@wrn% }% \IfBooleanF{#1}{% - \index[files]{\hypertut{#3}{~{\idxfont(Tutorial)}\IfValueT{#2}{|#2}}}% + \index[files]{\hypertut{#2}{~{\idxfont(Tutorial)}}\IfValueT{#3}{|#3}}% }% } \newcommand*\IncludeExample[1]{% @@ -366,17 +396,24 @@ }{% \IfBooleanT{#1}{\edef\@ToDo{nolist}}% }% - \renewcommand*\marginpar[2][]{\marginnote[##1]{##2}[\dimexpr-1.6ex+1pt]}% - \vskip.8ex% - \IfValueT{#4}{% - \settowidth\marginparwidth{#4}% - \addtolength\marginparwidth{\dimexpr1.6ex+1pt}% - \let\par\relax\noindent% - \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% - \@tempa{#4}% + \renewcommand*\marginpar[2][]{% + \marginnote[##1]{##2}[\dimexpr-1.6ex+1pt\relax]% }% - \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% - \@tempa{#3}% + \@tempswafalse + \ifdefvoid{\tud@todo@type}{\@tempswatrue}{}% + \IfValueT{#2}{\ifstr{#2}{\tud@todo@type}{\@tempswatrue}{}}% + \if@tempswa% + \vskip.8ex% + \IfValueT{#4}{% + \settowidth\marginparwidth{#4}% + \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}% + \let\par\relax\noindent% + \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% + \@tempa{#4}% + }% + \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% + \@tempa{#3}% + \fi% \endgroup% \par\noindent% }{}% @@ -385,10 +422,6 @@ \newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi} \reversemarginpar \newrobustcmd*\bsc{\@backslashchar} -\newlength\baselineskipglue -\setlength\baselineskipglue{% - .4\baselineskip plus .4\baselineskip minus .2\baselineskip% -} \newcommand*\tud@shellescape@wrn{% \ClassWarning{\tudcls@name}{% You have to recompile this document with\MessageBreak% @@ -563,10 +596,10 @@ \@afterindentfalse\@afterheading% \IfBooleanTF{#1}{% \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}% - \setlength{\@tempdimc}{-.7\baselineskip}% + \setlength\@tempdimc{-.7\baselineskip}% \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx}% }{% - \setlength{\@tempdimc}{\z@}% + \setlength\@tempdimc{\z@}% \begin{tabular}{lll}\@TermTable\end{tabular}% }% \let\@termlist\relax% @@ -627,7 +660,7 @@ \newif\if@declare \newif\if@stareddeclare \newif\if@openindex -\newif\if@noindex +\newif\if@deprecated \NewDocumentCommand\@ProcessOutput{mod''d()md()omo}{% \if@declare% \if@openindex% @@ -638,15 +671,19 @@ the environment `Declaration'% }% }% - \ifx\@IndexFormat\@empty\else% - \ClassWarning{\tudcls@name}{% + \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% + \if@deprecated% + \expandafter\IfBooleanF\expandafter{\@IndexFormat}{% + \manualhyperdef{\@tempa}% + }% + \else% + \ifx\@IndexFormat\@empty\else% + \ClassWarning{\tudcls@name}{% It is not possible to use any indexing format\MessageBreak% like |\@IndexFormat| within the arguments of the\MessageBreak% environment `Declaration'% - }% - \fi% - \if@noindex\else% - \IfValueTF{#6}{\edef\@tempa{#5:#6:#8}}{\edef\@tempa{#5:#8}}% + }% + \fi% \if@stareddeclare% \manualhyperdef'{\@tempa}% \else% @@ -658,7 +695,7 @@ #1\IfValueT{#2}{#2}% \fi% \else% - \if@noindex\else% + \if@deprecated\else% \@HyperIndex{#5}{#6}{#7}{#8}{#9}{declare)}% \fi% \fi% @@ -686,6 +723,7 @@ }% \ifstr{#3}{auto}{\def\@tempb{ in \autoref{\@tempa}}}{}% \ifstr{#3}{page}{\def\@tempb{ \vpageref{\@tempa}}}{}% + \ifstr{#3}{ppage}{\def\@tempb{ \reftextfaraway{\@tempa}}}{}% \ifstr{#3}{full}{\def\@tempb{ in \fullref{\@tempa}}}{}% \ifstr{#3}{none}{% \let\@tempb\relax% @@ -766,13 +804,13 @@ \newif\if@additionallist \newcommand*\@gobbleparameters{% \let\PName\@gobble% - \let\PBoolean\relax% + \let\PBoolean\@empty% \let\PBName\@gobble% - \let\PSet\relax% + \let\PSet\@empty% \let\PValue\@gobble% \let\Parameter\@gobble% \let\OParameter\@gobble% - \let\LParameter\relax% + \let\LParameter\@empty% \let\OLParameter\@gobble% \let\PParameter\@gobble% \let\POParameter\@gobble% @@ -795,9 +833,11 @@ \@additionallisttrue% \listadd\@additionallist{\hspace*{\tabcolsep}\small(#5)}% \in@{\Environment}{#2}% - \ifin@ \listadd\@additionallist{\tabularnewline}\fi% + \ifin@\listadd\@additionallist{\tabularnewline}\fi% }{% \listadd\@additionallist{\relax}% + \in@{\Environment}{#2}% + \ifin@\listadd\@additionallist{\relax}\listadd\@additionallist{\relax}\fi% }% }{% \ifx\@declarationlist\relax\else% @@ -817,12 +857,30 @@ \addpenalty{\@beginparpenalty}% \addvspace{1.5\baselineskipglue}% \IfBooleanTF{#1}{% - \global\@noindextrue% - \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}}% + \global\@deprecatedtrue% + \renewcommand*\@changedatdeclaredefault{\emph{entf\"allt}|deprecated}% }{% - \global\@noindexfalse% + \global\@deprecatedfalse% + }% + \IfValueT{#2}{% + \if@additionallist% + \ClassWarning{\tudcls@name}{% + It is not possible to use the optional argument\MessageBreak% + of \string\printdeclarationlist due to the given\MessageBreak% + additional information as argument of the\MessageBreak% + environment `Declaration'% + }% + \else% + \@additionallisttrue% + \let\@additionallist\relax% + \protected@edef\@tempa{#2}% + \protected@edef\@tempb{\hspace*{\tabcolsep}\protect\small}% + \def\@tempc##1{% + \listeadd\@additionallist{\expandonce\@tempb(\expandonce\@tempa)}% + }% + \forlistloop\@tempc{\@declarationlist}% + \fi% }% - \IfValueT{#2}{\renewcommand*\@changedatdeclaredefault{\emph{#2}}}% \@declaretrue\@openindextrue% \@afterindentfalse\@afterheading% \def\@tempa##1{\ignorespaces##1\tabularnewline}% @@ -867,7 +925,7 @@ \NewDocumentEnvironment{Declaration*}{om}{% \@changedatdeclare{#1}{#2}% \@stareddeclaretrue% - \global\@noindexfalse% + \global\@deprecatedfalse% \@declaretrue\@openindextrue#2\@declarefalse% \@stareddeclarefalse% }{% @@ -877,6 +935,7 @@ forget to print this list with \string\printchangedatlist?% }% \fi% + \global\@deprecatedfalse% \@gobbleparameters% \@declaretrue\@openindexfalse#2\@declarefalse% } @@ -888,7 +947,7 @@ \let\allcolumnpar\@gobble% \begin{tabular}{*{#1}l}\BODY\end{tabular}% \end{lrbox}% - \setlength{\tabularm@wd}{\wd\tabularm@box}% + \setlength\tabularm@wd{\wd\tabularm@box}% \def\tabularm@num{#1}% \let\allcolumnpar\@allcolumnpar% \begin{tabular}{*{#1}l}\BODY\end{tabular}% @@ -923,7 +982,7 @@ }% } \newcommand*\tud@@item[1][]{% - \ifstrempty{#1}% + \ifblank{#1}% {\edef\@tempa{\tud@item@val}}% {\ifstr{\tud@item@val}{}% {\edef\@tempa{#1}}% @@ -933,11 +992,11 @@ \ifstr{\@tempa}{}{\item@values}{\tud@@@item}% } \newcommand*\tud@@@item[1][]{% - \ifstrempty{#1}{}{% + \ifblank{#1}{}{% \ifx\tud@item@add\relax% \def\tud@item@add{#1}% \else% - \apptocmd{\tud@item@add}{~#1}{}{}% + \appto\tud@item@add{~#1}% \fi% }% \item@values[% @@ -992,37 +1051,57 @@ \newcommand*\@changedatdeclare[2]{% \IfValueT{#1}{% \@for\@tempa:=#1\do{% - \protected@expandtwoargs\in@{!}{\@tempa}% - \ifin@% - \expandafter\listadd\expandafter\@changedatdeclarelist% - \expandafter{\@tempa!#2}% - \else% - \expandafter\listadd\expandafter\@changedatdeclarelist% - \expandafter{\@tempa!\@changedatdeclaredefault!#2}% + \ifx\@tempa\@empty\else% + \preto{\@tempa}{#2!}% + \expandafter\ChangedAt@Split\expandafter{\@tempa}% \fi% }% }% } +\NewDocumentCommand\ChangedAt@Split{>{\SplitArgument{2}{!}}m}{% + \ChangedAt@@Split#1% +} +\newcommand*\ChangedAt@@Split[3]{% + \in@{*}{#1}% + \ifin@% + \listadd\@changedatdeclarelist{Allgemein!#2}% + \else% + \listadd\@changedatdeclarelist{% + Implementierung!#2!\IfValueTF{#3}{#3}{\@changedatdeclaredefault}!#1% + }% + \fi% +} \NewDocumentCommand\printchangedatlist{sO{\z@}}{% \ifx\@changedatdeclarelist\relax\else% - \ChangedAt@Process{#2}{\@changedatdeclarelist}% + \if@deprecated% + \ChangedAt@Process[#1]{#2}{\@changedatdeclarelist}% + \else% + \ChangedAt@Process{#2}{\@changedatdeclarelist}% + \fi% \global\let\@changedatdeclarelist\relax% \IfBooleanF{#1}{% - \par\nobreak\vskip\dimexpr-\parskip-\baselineskip% + \par\nobreak\vskip\dimexpr-\parskip-\baselineskip\relax% \@afterindentfalse\@afterheading% }% \fi% } -\NewDocumentCommand\ChangedAt{sO{\z@}m}{\ChangedAt@Process[#1]{#2}{#3}} +\NewDocumentCommand\ChangedAt{sO{\z@}mO{Allgemein}}{% + \ChangedAt@Process[#1]{#2}[#4]{#3}% +} \newcommand*\@changedatlist{} \newcommand*\ChangedAt@Default{} \newcommand*\@changedatversionlist{} \let\@changedatversionlist\relax -\newcommand*\ChangedAt@Process[3][]{% +\NewDocumentCommand\ChangedAt@Process{omom}{% \let\@changedatlist\relax% \let\@changedatversionlist\relax% - \@for\@tempa:=#3\do{\listeadd{\@changedatlist}{\expandonce\@tempa}}% - \forlistloop\ChangedAt@Split{\@changedatlist}% + \@for\@tempa:=#4\do{% + \ifx\@tempa\@empty\else% + \IfValueT{#3}{\preto\@tempa{#3!}}% + \listeadd{\@changedatlist}{\expandonce\@tempa}% + \fi% + }% + \forlistloop\ChangedAt@Process@Split{\@changedatlist}% \IfBooleanF{#1}{% \sortlist{\@changedatversionlist}% \strut% @@ -1039,20 +1118,20 @@ \ignorespaces% }% } -\NewDocumentCommand\ChangedAt@Split{>{\SplitArgument{2}{!}}m}{% +\NewDocumentCommand\ChangedAt@Process@Split{>{\SplitArgument{3}{!}}m}{% \ChangedAt@@Process#1% } -\newcommand*\ChangedAt@@Process[3]{% - \IfValueTF{#3}{% +\newcommand*\ChangedAt@@Process[4]{% + \IfValueTF{#4}{% \begingroup% \@gobbleparameters% - \xdef\ChangedAt@Default{#3}% + \xdef\ChangedAt@Default{#4}% \endgroup% - \ChangedAt@@@Process{#1}{Implementierung}{\ChangedAt@Default: #2}% + \ChangedAt@@@Process{#2}{#1}{\ChangedAt@Default: #3}% }{% - \IfValueT{#2}{\ChangedAt@@@Process{#1}{Allgemein}{#2}}% + \IfValueT{#3}{\ChangedAt@@@Process{#2}{#1}{#3}}% }% - \xifinlist{#1}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#1}}% + \xifinlist{#2}{\@changedatversionlist}{}{\listeadd\@changedatversionlist{#2}}% } \newcommand*\ChangedAt@@@Process[3]{% \begingroup% @@ -1068,24 +1147,27 @@ \setbox0\hbox{#3}% \endgroup% \index[changelog]{% - #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!\@TempKey\ #3% + #1\manualhyperdef*{#1}!\manualhyperdef*{#1:#2}#2!\@TempKey\ #3% }% \else% \index[changelog]{% - #1 \manualhyperdef*{#1}!\manualhyperdef*{#1:#2}{#2}!#3% + #1\manualhyperdef*{#1}!\manualhyperdef*{#1:#2}#2!#3% }% \fi% \endgroup% } -\newcommand*\Rename[4][]{% - \ChangedAt@@@Process{#2}{Umbenennungen}{% - #3: \emph{umbenannt}~\textrightarrow~siehe #4% - }% - \ChangedAt@@@Process{#2}{Implementierung}{% - #4: \emph{neu}~\textrightarrow~ersetzt #3% +\NewDocumentCommand\Replace{ommm}{% + \@for\@tempa:={,#4}\do{% + \ifx\@tempa\@empty\else% + \protected@edef\@tempb{% + Implementierung!#2!\emph{entf\"allt}|see{#3}!\@tempa% + }% + \expandafter\listadd\expandafter\@changedatdeclarelist\expandafter{% + \@tempb% + }% + \IfValueT{#1}{\index[#1]{\@tempa|see{#3}}}% + \fi% }% - \listeadd\@changedatdeclarelist{#2}% - \index[#1]{#3|see{#4}}% } \NewDocumentCommand\@ProcessChangedAt{mmd()mmm}{% \begingroup% @@ -1157,10 +1239,10 @@ \@printindex[macros]% \@printindex[keys]% \@printindex[terms]% + \@printindex[fonts]% \begingroup% \let\lettergroup\@gobble% \let\indexspace\par% - \@printindex[fonts]% \@printindex[colors]% \endgroup% \@printindex[files]% @@ -1171,7 +1253,6 @@ \newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi} \newcommand*\@printindex[1][]{% \pagebreak[3]% - \apptocmd{\prepare@multicols}{\hbadness10000}{}{}% \ifblank{#1}{% \ifx\@printindexprologue\@empty% \indexprologue[\@printindexskip]{\manualhyperdef'{idx:main}}% @@ -1195,11 +1276,16 @@ \manualhyperref{idx:#3}{Index der \IfValueTF{#2}{#2}{#1}}|seeidx{#3}% }% } +\newcommand*\deprecatedhyperpage{} \newif\if@changelog \newcommand*\PrintChangelog{% \begingroup% \let\lettergroup\@gobble% \@changelogtrue% + \let\deprecatedhyperpage\hyperpage% + \preto\item{\let\deprecatedhyperpage\hyperpage}% + \preto\subitem{\let\deprecatedhyperpage\hyperpage}% + \preto\subsubitem{\let\deprecatedhyperpage\hyperpage}% \@printindex[changelog]% \endgroup% } @@ -1209,6 +1295,13 @@ \manualhyperref{idx:changelog}{\"Anderungsliste}|seeidx{changelog}% }% } +\renewrobustcmd*\see[2]{% + \ifstr{#1}{*}{\emph{\seename}~#2}{\emph{\seename}~#1}% + \if@changelog\let\deprecatedhyperpage\@gobble\fi% +} +\renewrobustcmd*\seealso[2]{% + \ifstr{#1}{*}{\emph{\alsoname}~#2}{\emph{\alsoname}~#1}% +} %%% From File: tudscr-misc.dtx \RequirePackage{xspace}[2009/10/20] \xspaceaddexceptions{"=} @@ -1219,7 +1312,7 @@ \expandafter\@tempb\@tempa\relax? ? \relax\relax% } \newcommand*\vKOMAScript{v3.12\xspace} -\RequirePackage{scrhack}[2014/07/07] +\RequirePackage{scrhack}[2014/02/27] \newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}} \NewDocumentCommand\Forum{s}{% \IfBooleanTF{#1}{% @@ -1255,7 +1348,7 @@ \newcommand*\notudscrartcl{% F\"ur die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verf\"ugbar. } -\newlength{\tempdim} +\newlength\tempdim \newcommand*\CD{Corporate Design\xspace} \newcommand*\CDs{Corporate Designs\xspace} \newcommand*\TUD{Technische Universit\"at Dresden\xspace} diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty index 48ab546e16e..e6095d0eb0e 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.sty @@ -15,7 +15,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -29,13 +29,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -57,7 +57,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \@ifundefined{tudcls@name}{% @@ -79,7 +79,7 @@ %%% From File: tudscr-manual.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{tudscrman}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package (internal tutorials)% ] %%% From File: tudscr-base.dtx @@ -87,7 +87,17 @@ %%% From File: tudscr-manual.dtx \newif\if@tud@todo \@tud@todotrue -\TUD@ifkey{ToDo}{@tud@todo} +\newcommand*\tud@todo@type{} +\TUD@key{ToDo}[true]{% + \TUD@set@ifkey{ToDo}{@tud@todo}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \let\tud@todo@type\relax% + \else% + \def\tud@todo@type{#1}% + \@tud@todotrue% + \FamilyKeyStateProcessed% + \fi% +} \KOMAoptions{headings=small} \TUDoptions{cd=true,cdfoot=true} \AfterPackage*{pstricks}{% @@ -112,7 +122,14 @@ \providecommand\enquote[1]{\glqg#1\grqq{}}% }% } -\RequirePackage[babel]{microtype}[2013/05/23] +\AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} +\newlength\baselineskipglue +\AtBeginDocument{% + \setlength\baselineskipglue{% + .4\baselineskip plus .4\baselineskip minus .2\baselineskip% + }% +} +\PassOptionsToPackage{vskip=.5\baselineskipglue}{quoting} \RequirePackage{quoting}[2014/01/28] \RequirePackage{isodate}[2010/01/03] \RequirePackage{hologo}[2012/04/26] @@ -138,10 +155,11 @@ \fi \WarningFilter*{ifplatform}{^^J \space\space\space shell escape is disabled} \RequirePackage{ifplatform}[2010/10/22] -\PassOptionsToPackage{hyperindex=false}{hyperref} -\AtEndPreamble{% +\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref} +\PassOptionsToPackage{open,openlevel=0}{bookmark} +\AtBeginDocument{% \RequirePackage{hyperref}[2012/11/06] - \hypersetup{colorlinks,linkcolor=blue} + \RequirePackage{bookmark}[2011/12/02] \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}} \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel} \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt} @@ -170,7 +188,8 @@ \RequirePackage{imakeidx}[2013/07/11]% \indexsetup{% level=\subsection*,% - noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname}% + noclearpage,firstpagestyle=headings,headers={\indexname}{\indexname},% + othercode={\renewcommand*\subitem{\@idxitem\hspace*{15\p@}}}% } \newcommand*\xdyopt{-M tudscrman-temp.xdy -L german-din} \newcommand*\tud@write@i{} @@ -189,7 +208,7 @@ \write\tud@write@i{(markup-range :sep "--")} \write\tud@write@i{(merge-rule "\[(.*)\]" "" :eregexp)} \write\tud@write@i{% - (define-attributes (("declare" "!" "important" "?" "default")))% + (define-attributes (("declare" "!" "important" "?" "deprecated" "default")))% } \write\tud@write@i{(merge-to "important" "default")} \write\tud@write@i{(merge-to "?" "default")} @@ -229,6 +248,13 @@ )% } \write\tud@write@i{% +(markup-locref^^J% +\space\space :open "\string\deprecatedhyperpage{"^^J% +\space\space :close "}"^^J% +\space\space :attr "deprecated"^^J% +)% +} +\write\tud@write@i{% (markup-locclass-list :open "\string\,\string\dotfill\string\,")% } \write\tud@write@i{(define-crossref-class "seeidx")} @@ -246,15 +272,16 @@ \RequirePackage{scrwfile}[2013/08/05] \RequirePackage{filecontents}[2011/10/08] \WarningFilter[Tutorial]{latex}{Overwriting file}% +\newrobustcmd*\textOR{\,\textbardbl\,} \newrobustcmd*\PName[1]{\mbox{\texttt{\textsl{<#1>}}}} \newrobustcmd*\PBoolean{\PName{Ein-Aus-Wert}} -\newrobustcmd*\PBName[1]{\PBoolean|\PName{#1}} +\newrobustcmd*\PBName[1]{\PBoolean\textOR\PName{#1}} \newrobustcmd*\PSet{\PName{Einstellung}} \newrobustcmd*\Parameter[1]{\mbox{\texttt{\{}\PName{#1}\texttt{\}}}} \newrobustcmd*\OParameter[1]{\mbox{\texttt{[}\PName{#1}\texttt{]}}} \newrobustcmd*\LParameter{\mbox{\texttt{[}\PName{Parameterliste}\texttt{]}}} \newrobustcmd*\OLParameter[1]{% - \mbox{\texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]}}% + \mbox{\texttt{[}\PName{#1}\textOR\PName{Parameterliste}\texttt{]}}% } \newrobustcmd*\PValue[1]{\mbox{\texttt{#1}}} \newrobustcmd*\PParameter[1]{\mbox{\texttt{\{#1\}}}} @@ -282,17 +309,24 @@ }{% \IfBooleanT{#1}{\edef\@ToDo{nolist}}% }% - \renewcommand*\marginpar[2][]{\marginnote[##1]{##2}[\dimexpr-1.6ex+1pt]}% - \vskip.8ex% - \IfValueT{#4}{% - \settowidth\marginparwidth{#4}% - \addtolength\marginparwidth{\dimexpr1.6ex+1pt}% - \let\par\relax\noindent% - \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% - \@tempa{#4}% + \renewcommand*\marginpar[2][]{% + \marginnote[##1]{##2}[\dimexpr-1.6ex+1pt\relax]% }% - \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% - \@tempa{#3}% + \@tempswafalse + \ifdefvoid{\tud@todo@type}{\@tempswatrue}{}% + \IfValueT{#2}{\ifstr{#2}{\tud@todo@type}{\@tempswatrue}{}}% + \if@tempswa% + \vskip.8ex% + \IfValueT{#4}{% + \settowidth\marginparwidth{#4}% + \addtolength\marginparwidth{\dimexpr1.6ex+1pt\relax}% + \let\par\relax\noindent% + \edef\@tempa{\noexpand\todo[\@ToDo,noline,nolist]}% + \@tempa{#4}% + }% + \edef\@tempa{\noexpand\todo[\@ToDo,inline]}% + \@tempa{#3}% + \fi% \endgroup% \par\noindent% }{}% @@ -301,10 +335,6 @@ \newcommand*\ListOfToDo{\if@tud@todo\listoftodos\fi} \reversemarginpar \newrobustcmd*\bsc{\@backslashchar} -\newlength\baselineskipglue -\setlength\baselineskipglue{% - .4\baselineskip plus .4\baselineskip minus .2\baselineskip% -} \newcommand*\tud@shellescape@wrn{% \ClassWarning{\tudcls@name}{% You have to recompile this document with\MessageBreak% @@ -536,13 +566,13 @@ \endgroup% }% \@tempa{\@CodePreamble}{}% - \setlength{\@tempdimc}{\leftskip}% - \setlength{\leftskip}{\leftmargin}% + \setlength\@tempdimc{\leftskip}% + \setlength\leftskip{\leftmargin}% \ActivateWarningFilters[Tutorial]% \@tempa{\input{\jobname-temp.tex}}{\@CodeHook}% \DeactivateWarningFilters[Tutorial]% \global\let\@CodeHook\relax% - \setlength{\leftskip}{\@tempdimc}% + \setlength\leftskip{\@tempdimc}% \noindent\ignorespaces% } \newcommand*\InputCode{\input{\jobname-temp.tex}} @@ -584,11 +614,11 @@ \@tempcnta\z@% \@for\@tempa:=#3\do{\advance\@tempcnta\@ne}% \ifnum\@tempcnta>\z@% - \setlength{\@tempdima}{\textwidth}% + \setlength\@tempdima{\textwidth}% \divide\@tempdima\@tempcnta% \advance\@tempcnta\m@ne% \multiply\@tempcnta 2% - \addtolength{\@tempdima}{-\@tempcnta\tabcolsep}% + \addtolength\@tempdima{-\@tempcnta\tabcolsep}% \@for\@tempa:=#3\do{% \advance\@tempcnta\m@ne% \edef\@tempb{% @@ -678,10 +708,15 @@ \newcommand*\@printindexskip{\ifnum\imki@columns>\@ne\vspace{-\multicolsep}\fi} \newcommand*\@printindex[1][]{% \pagebreak[3]% - \apptocmd{\prepare@multicols}{\hbadness10000}{}{}% \indexprologue[\@printindexskip]{}% \printindex[#1]\@printindexskip% } +\renewrobustcmd*\see[2]{% + \ifstr{#1}{*}{\emph{\seename}~#2}{\emph{\seename}~#1}% +} +\renewrobustcmd*\seealso[2]{% + \ifstr{#1}{*}{\emph{\alsoname}~#2}{\emph{\alsoname}~#1}% +} %%% From File: tudscr-misc.dtx \RequirePackage{xspace}[2009/10/20] \xspaceaddexceptions{"=} @@ -692,7 +727,7 @@ \expandafter\@tempb\@tempa\relax? ? \relax\relax% } \newcommand*\vKOMAScript{v3.12\xspace} -\RequirePackage{scrhack}[2014/07/07] +\RequirePackage{scrhack}[2014/02/27] \newcommand*\Attention[1]{\marginnote{\fbox{Achtung!}}\emph{#1}} \NewDocumentCommand\Forum{s}{% \IfBooleanTF{#1}{% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls index 487da786271..ac85c3a0cac 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls @@ -28,7 +28,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -42,13 +42,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -70,7 +70,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\cls@name{report} @@ -78,7 +78,7 @@ \newcommand*\tudcls@name{tudscrreprt} \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesClass{\tudcls@name}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script document class (\cls@name)% ] \typeout{The Corporate Design of Technische Universitaet Dresden} @@ -100,7 +100,7 @@ \ClassWarning{\tudcls@name}{% The package `tudscrfonts' must not be used with\MessageBreak% a TUD-KOMA-Script class% - } + }% ]{tudscrfonts} \newif\if@tud@univers \newif\if@tud@dinbold @@ -108,17 +108,32 @@ \newcommand*\tud@dinbold{0m6} \newcommand*\tud@mathenc{OT1} \newif\if@tud@fontspec -\TUD@key@lock{fontspec}[true]{% - \TUD@set@ifkey@lock{fontspec}{@tud@fontspec}{#1}% -} -\AtEndOfClass{% - \TUD@key{fontspec}[]{% - \ClassError{\tudcls@name}{Option `fontspec' too late}{% +\TUD@key{fontspec}[true]{% + \TUD@set@ifkey{fontspec}{@tud@fontspec}{#1}% +} +\AtEndOfClass% +{% + \TUD@key{fontspec}[] + {% + \ClassError{\tudcls@name} + {Option `fontspec' too late}{% Option `fontspec' can only be set while loading the\MessageBreak% - class `\tudcls@name' but you have tried to set it up later.% + class `\tudcls@name' + but you have tried to set it up later.% }% \FamilyKeyStateProcessed% }% + \if@tud@fontspec% + \PreventPackageFromLoading[% + \ClassWarning{\tudcls@name}% + {% + You must not load the package `fontspec' as it is\MessageBreak% + loaded automatically at the end of the preamble.\MessageBreak% + If you want to pass options to `fontspec' use\MessageBreak% + `\string\PassOptionsToPackage{<option list>}{fontspec}' + }% + ]{fontspec} + \fi% } \AtEndPreamble{% \@expandtwoargs\in@{OT}{\encodingdefault}% @@ -142,9 +157,10 @@ }% \def\@tempb#1{% \ClassWarningNoLine{\tudcls@name}{% - `#1' fonts not found. Please use on of the\MessageBreak% - installation scripts out of the tudscr-bundle,\MessageBreak% - which suits to your OS. A fallback layout is used% + `#1' fonts not found for encoding `\encodingdefault'.\MessageBreak% + Please use on of the installation scripts out of the\MessageBreak% + tudscr-bundle, which suits to your OS or choose a\MessageBreak% + possible encoding. A fallback layout is used% }% }% \fi% @@ -160,6 +176,7 @@ \fi% \@tempa{\@tud@dinboldtrue}{\@tempb{DIN Bold}}% \if@tud@fontspec% + \UnPreventPackageFromLoading{fontspec}% \if@tud@univers\if@tud@dinbold% \PassOptionsToPackage{no-math}{fontspec}% \fi\fi% @@ -167,54 +184,83 @@ \fi% } \RequirePackage{textcase}[2004/10/07] -\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% - \@nonchangecase\ensuremath% +\newcommand*\tud@uclcnotmath{% \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% + \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}% +} +\patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% + \@nonchangecase\ensuremath\tud@uclcnotmath }{}{\tud@patch@wrn{@uclcnotmath}}% -\newcommand*\tud@cdfont{0} +\newcommand*\tud@font@heading{\dinbn\tud@raggedright} +\newcommand*\tud@cdfont{1} \TUD@key{cdfont}[true]{% - \TUD@set@numkey{cdfont}{tud@cdfont}{% + \TUD@set@numkey{cdfont}{@tempa}{% \TUD@numkey@bool,% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2},% {nodin}{3},{nodinbold}{3},{noDIN}{3},{noDINBold}{3},% {din}{4},{dinbold}{4},{DIN}{4},{DINBold}{4},% - {barfont}{5},{litebar}{5},{barlite}{5},{lightbar}{5},{barlight}{5},% - {barfontlite}{5},{litebarfont}{5},{barfontlight}{5},{lightbarfont}{5},% - {noheavybarfont}{5},{barfontnoheavy}{5},% - {heavybar}{6},{barheavy}{6},{barfontheavy}{6},{heavybarfont}{6},% - {serifmath}{7},{serif}{7},{nosansmath}{7},{nosans}{7},% - {sansmath}{8},{sans}{8},% - {upgreek}{9},{uprightgreek}{9},{uprightGreek}{9},% - {slgreek}{10},{slantedgreek}{10},{slantedGreek}{10},% - {fontspec}{11},{luatex}{11},{lualatex}{11}{xetex}{11},{xelatex}{11},% - {nofontspec}{12},{pdftex}{12},{pdflatex}{12}% + {nohead}{5},{nocdhead}{5},{noheadfont}{5},{noheadcdfont}{5},% + {nocdheadfont}{5},{nobar}{5},{nobarfont}{5},% + {head}{6},{headfont}{6},{cdhead}{6},{headcdfont}{6},{cdheadfont}{6},% + {bar}{6},{barfont}{6},% + {lighthead}{6},{lightheadfont}{6},{lightfonthead}{6},% + {lightcdhead}{6},{lightheadcdfont}{6},{lightcdheadfont}{6},% + {lightbar}{6},{lightbarfont}{6},{lightfontbar}{6},% + {headlight}{6},{headfontlight}{6},{headlightfont}{6},% + {cdheadlight}{6},{headcdfontlight}{6},{cdheadfontlight}{6},% + {barlight}{6},{barfontlight}{6},{barlightfont}{6},% + {litehead}{6},{liteheadfont}{6},{litefonthead}{6},% + {litecdhead}{6},{liteheadcdfont}{6},{litecdheadfont}{6},% + {litebar}{6},{litebarfont}{6},{litefontbar}{6},% + {headlite}{6},{headfontlite}{6},{headlitefont}{6},% + {cdheadlite}{6},{headcdfontlite}{6},{cdheadfontlite}{6},% + {barlite}{6},{barfontlite}{6},{barlitefont}{6},% + {noheavyhead}{6},{noheavyheadfont}{6},{noheavyfonthead}{6},% + {noheavycdhead}{6},{noheavyheadcdfont}{6},{noheavycdheadfont}{6},% + {noheavybar}{6},{noheavybarfont}{6},{noheavyfontbar}{6},% + {headnoheavy}{6},{headfontnoheavy}{6},{headnoheavyfont}{6},% + {cdheadnoheavy}{6},{headcdfontnoheavy}{6},{cdheadfontnoheavy}{6},% + {barnoheavy}{6},{barfontnoheavy}{6},{barnoheavyfont}{6},% + {heavyhead}{7},{heavyheadfont}{7},{heavyfonthead}{7},% + {heavycdhead}{7},{heavyheadcdfont}{7},{heavycdheadfont}{7},% + {heavybar}{7},{heavybarfont}{7},{heavyfontbar}{7},% + {headheavy}{7},{headfontheavy}{7},{headheavyfont}{7},% + {cdheadheavy}{7},{headcdfontheavy}{7},{cdheadfontheavy}{7},% + {barheavy}{7},{barfontheavy}{7},{barheavyfont}{7},% + {nomath}{8},{nocdmath}{8},% + {serifmath}{8},{serif}{8},{nosansmath}{8},{nosans}{8},% + {math}{9},{cdmath}{9},{sansmath}{9},{sans}{9},% + {upgreek}{10},{upright}{10},{uprightgreek}{10},{uprightGreek}{10},% + {slgreek}{11},{slanted}{11},{slantedgreek}{11},{slantedGreek}{11},% + {fontspec}{12},{luatex}{12},{lualatex}{12}{xetex}{12},{xelatex}{12},% + {nofontspec}{13},{pdftex}{13},{pdflatex}{13}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \tud@cdfont\relax% - \TUDoptions{cdfonts=false}% - \TUD@std@numkey@lock{barfont}{false}% + \ifcase\@tempa\relax% + \def\tud@cdfont{0}% + \if@atdocument\tud@font@set\fi% + \or% + \def\tud@cdfont{1}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=false}% - \TUD@std@numkey@lock{barfont}{true}% + \def\tud@cdfont{2}% + \if@atdocument\tud@font@set\fi% \or% - \TUDoptions{cdfonts=true}% - \TUDoptions{heavyfont=true}% - \TUD@std@numkey@lock{barfont}{heavy}% + \renewcommand*\tud@font@heading{\tud@RaggedRight}% \or% - \TUDoptions{din=false}% + \renewcommand*\tud@font@heading{\dinbn\tud@raggedright} \or% - \TUDoptions{din=true}% + \TUDoptions{cdhead=false}% \or% - \TUDoptions{barfont=true}% + \TUDoptions{cdhead=true}% \or% - \TUDoptions{barfont=heavy}% + \TUDoptions{cdhead=heavy}% \or% - \TUDoptions{sansmath=false}% + \TUDoptions{cdmath=false}% \or% - \TUDoptions{sansmath=true}% + \TUDoptions{cdmath=true}% \or% \TUDoptions{slantedgreek=false}% \or% @@ -226,75 +272,49 @@ \fi% \fi% } -\newif\if@tud@cdfonts -\TUD@key{cdfonts}[true]{% - \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@cdfonts% - \if@atdocument\tud@font@cdfonts\fi% - \TUD@std@ifkey@lock{sansmath}{true}% - \TUD@std@ifkey@lock{slantedgreek}{true}% - \else% - \if@atdocument% - \tud@cmd@restore{rmdefault}% - \tud@cmd@restore{sfdefault}% - \tud@cmd@restore{ttdefault}% - \tud@cmd@restore{bfdefault}% - \tud@cmd@restore{mddefault}% - \tud@cmd@restore{itdefault}% - \tud@cmd@restore{familydefault}% - \tud@cmd@restore{seriesdefault}% - \tud@cmd@restore{shapedefault}% - \normalfont\selectfont% - \fi% - \TUD@std@ifkey@lock{sansmath}{false}% - \TUD@std@ifkey@lock{slantedgreek}{false}% - \fi% - \if@atdocument\tud@layout@process\fi% - \fi% -} -\newif\if@tud@heavyfont -\TUD@key{heavyfont}[true]{% - \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@cdfonts\fi% - \fi% -} -\newcommand*\tud@barfont{0} -\TUD@key@lock{barfont}[true]{% - \TUD@set@numkey@lock{barfont}{tud@barfont}{% +\AtBeginDocument{\tud@font@set}% +\bool@lock{@tud@cdmath} +\TUD@key{cdmath}[true]{% + \TUD@set@numkey{cdmath}{@tempa}{% \TUD@numkey@bool,% - {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% - {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% - {heavy}{2},{heavyfont}{2}% + {serifmath}{0},{serif}{0},{nosansmath}{0},{nosans}{0},% + {sansmath}{1},{sans}{1},% + {upright}{2},{upgreek}{2},{uprightgreek}{2},{uprightGreek}{2},% + {slanted}{3},{slgreek}{3},{slantedgreek}{3},{slantedGreek}{3}% }{#1}% -} -\newif\if@tud@din\@tud@dintrue -\TUD@ifkey{din}{@tud@din} -\newif\if@tud@sansmath -\TUD@key@lock{sansmath}[true]{% - \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \ifcase\@tempa\relax% + \bool@set@lock{@tud@cdmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \if@atdocument\tud@font@math@set\fi% + \or% + \bool@set@lock{@tud@cdmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \if@atdocument\tud@font@math@set\fi% + \or + \TUDoptions{slantedgreek=false}% + \or + \TUDoptions{slantedgreek=true}% + \fi% \fi% } \newif\if@tud@slantedgreek \TUD@key@lock{slantedgreek}[true]{% \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument\tud@font@mathfonts\fi% + \if@atdocument\tud@font@math@set\fi% \fi% } %%% From File: tudscr-pagestyle.dtx \newcommand*\tud@ddc@switch{} \edef\tud@ddc@switch{% \TUD@numkey@bool,% - {color}{2},{colour}{2},% - {colorblack}{3},{colourblack}{3},% - {gray}{4},{grey}{4},{cdgray}{4},% - {black}{5},% - {blue}{6},{cddarkblue}{6},% - {white}{7}% + {color}{2},{colour}{2},{cdcolor}{2},{cdcolour}{2},% + {colorblack}{3},{colourblack}{3},{cdcolorblack}{3},{cdcolourblack}{3},% + {gray}{4},{grey}{4},{HKS92}{4},{cdgray}{4},{cdgrey}{4},% + {black}{5},{cdblack}{5},% + {blue}{6},{HKS41}{6},{cdblue}{6},{cddarkblue}{6},% + {white}{7},{cdwhite}{7}% } \newcommand*\tud@ddc@save{} \newif\if@tud@ddc@save @@ -304,8 +324,8 @@ \TUD@key{ddc}[true]{% \TUD@set@numkey{ddc}{tud@ddc}{\tud@ddc@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% - \ifcase \tud@ddc\relax% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \ifcase\tud@ddc\relax% \@tud@ddc@autosetfalse% \else% \@tud@ddc@autosettrue% @@ -321,10 +341,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@head\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@head\relax\else% + \ifcase\tud@ddc@head\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddcfoot=false}% @@ -340,10 +362,12 @@ \if@tud@ddc@save% \begingroup% \let\tud@ddc@foot\tud@ddc@save% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \endgroup% \fi% - \ifcase \tud@ddc@foot\relax\else% + \ifcase\tud@ddc@foot\relax% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% + \else% \@tud@ddc@savefalse% \TUDoptions{ddc=false}% \TUDoptions{ddchead=false}% @@ -363,24 +387,86 @@ \let\@tempb\tud@ddc% \fi% \fi% + \iftudscrverlower{2.03}{% + \ifcase\@tempb\relax\ifx\tud@@footlogo\@empty\else\let\@tempb\m@ne\fi\fi% + }{}% +} +\newcommand*\iftudpagestyle[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% } -\newcommand*\tud@ifinpslist[3]{\xifinlist{#1}{\tud@pslist}{#2}{#3}} -\newcommand*\tud@pslist{} -\forcsvlist{\listadd\tud@pslist}{% +\newcommand*\tud@ps@list{} +\forcsvlist{\listadd\tud@ps@list}{% tudheadings,plain.tudheadings,empty.tudheadings% } -\newif\if@tud@widehead -\TUD@key@lock{widehead}[true]{% - \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +\newlength\tud@dim@extrabottommargin +\TUD@key{extrabottommargin}{% + \TUD@set@lengthkey{extrabottommargin}{\tud@dim@extrabottommargin}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@atdocument\tud@geometry@process\fi% + \fi% +} +\cs@lock{tud@head@font}{0} +\newcommand*\tud@head@bar{0} +\bool@lock{@tud@head@widebar} +\TUD@key{cdhead}[true]{% + \TUD@set@numkey{cdhead}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nocolor}{3},{nocolour}{3},{monochrome}{3},{monochromatic}{3},% + {colorlite}{4},{litecolor}{4},{colourlite}{4},{litecolour}{4},% + {colorlight}{4},{lightcolor}{4},{colourlight}{4},{lightcolour}{4},% + {pale}{4},{colorpale}{4},{palecolor}{4},{colourpale}{4},{palecolour}{4},% + {bicolor}{5},{bicolour}{5},{twocolor}{5},{twocolour}{5},% + {bichrome}{5},{bichromatic}{5},{dichrome}{5},{dichromatic}{5},% + {color}{5},{colour}{5},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5},% + {textwidth}{6},{slim}{6},{slimhead}{6},{nowide}{6},{nowidehead}{6},% + {paperwidth}{7},{wide}{7},{widehead}{7}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% + \cs@set@lock{tud@head@font}{0}% + \or% + \cs@set@lock{tud@head@font}{1}% + \or% + \cs@set@lock{tud@head@font}{2}% + \or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \bool@set@lock{@tud@head@widebar}{false}% + \or% + \bool@set@lock{@tud@head@widebar}{true}% + \fi% + \fi% } -\newif\if@tud@cdfoot +\newif\if@tud@footcolor \TUD@key{cdfoot}[true]{% - \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \TUD@set@numkey{cdfoot}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{2},{nocolour}{2},{monochrome}{2},{monochromatic}{2},% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{3},{colour}{3},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3}% + }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@atdocument% - \if@tud@cdfoot% - \tud@ps@store{headings}% - \tud@ps@store{plain}% + \ifcase\@tempa\relax% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@restore{scrheadings}% + \tud@ps@restore{plain.scrheadings}% + \tud@font@koma@unset{pageheadfoot}% + }% + \or% + \TUD@AfterPackage{scrlayer-scrpage}{% + \tud@ps@store{scrheadings}% + \tud@ps@store{plain.scrheadings}% \tud@font@koma@set{pageheadfoot}{\upshape}% \clearpairofpagestyles% \ofoot[\pagemark]{% @@ -388,57 +474,58 @@ {\footnotesize\headmark}% \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% }% - \else% - \tud@ps@restore{headings}% - \tud@ps@restore{plain}% - \tud@font@koma@unset{pageheadfoot}% - \fi% + }% + \or% + \@tud@footcolorfalse% + \or% + \@tud@footcolortrue% \fi% + \else% + \TUDoptions{extrabottommargin=#1}% \fi% } \newcommand*\tud@ps@store[1]{% - \tud@@ps@store{#1}{odd}{left}{head}{}% - \tud@@ps@store{#1}{odd}{right}{head}{}% - \tud@@ps@store{#1}{odd}{middle}{head}{}% - \tud@@ps@store{#1}{even}{left}{head}{}% - \tud@@ps@store{#1}{even}{right}{head}{}% - \tud@@ps@store{#1}{even}{middle}{head}{}% - \tud@@ps@store{#1}{odd}{left}{foot}{}% - \tud@@ps@store{#1}{odd}{right}{foot}{}% - \tud@@ps@store{#1}{odd}{middle}{foot}{}% - \tud@@ps@store{#1}{even}{left}{foot}{}% - \tud@@ps@store{#1}{even}{right}{foot}{}% - \tud@@ps@store{#1}{even}{middle}{foot}{}% + \tud@@ps@store{#1}{odd}{left}{head}% + \tud@@ps@store{#1}{odd}{right}{head}% + \tud@@ps@store{#1}{odd}{middle}{head}% + \tud@@ps@store{#1}{even}{left}{head}% + \tud@@ps@store{#1}{even}{right}{head}% + \tud@@ps@store{#1}{even}{middle}{head}% + \tud@@ps@store{#1}{odd}{left}{foot}% + \tud@@ps@store{#1}{odd}{right}{foot}% + \tud@@ps@store{#1}{odd}{middle}{foot}% + \tud@@ps@store{#1}{even}{left}{foot}% + \tud@@ps@store{#1}{even}{right}{foot}% + \tud@@ps@store{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@store[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{}{% - \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}% + \csletcs{@@tud@ps@#1@#2@#3@#4}{sls@ps@#1@#2@#3@#4}% }% } \newcommand*\tud@ps@restore[1]{% - \tud@@ps@restore{#1}{odd}{left}{head}{}% - \tud@@ps@restore{#1}{odd}{right}{head}{}% - \tud@@ps@restore{#1}{odd}{middle}{head}{}% - \tud@@ps@restore{#1}{even}{left}{head}{}% - \tud@@ps@restore{#1}{even}{right}{head}{}% - \tud@@ps@restore{#1}{even}{middle}{head}{}% - \tud@@ps@restore{#1}{odd}{left}{foot}{}% - \tud@@ps@restore{#1}{odd}{right}{foot}{}% - \tud@@ps@restore{#1}{odd}{middle}{foot}{}% - \tud@@ps@restore{#1}{even}{left}{foot}{}% - \tud@@ps@restore{#1}{even}{right}{foot}{}% - \tud@@ps@restore{#1}{even}{middle}{foot}{}% + \tud@@ps@restore{#1}{odd}{left}{head}% + \tud@@ps@restore{#1}{odd}{right}{head}% + \tud@@ps@restore{#1}{odd}{middle}{head}% + \tud@@ps@restore{#1}{even}{left}{head}% + \tud@@ps@restore{#1}{even}{right}{head}% + \tud@@ps@restore{#1}{even}{middle}{head}% + \tud@@ps@restore{#1}{odd}{left}{foot}% + \tud@@ps@restore{#1}{odd}{right}{foot}% + \tud@@ps@restore{#1}{odd}{middle}{foot}% + \tud@@ps@restore{#1}{even}{left}{foot}% + \tud@@ps@restore{#1}{even}{right}{foot}% + \tud@@ps@restore{#1}{even}{middle}{foot}% } \newcommand*\tud@@ps@restore[4]{% \ifcsdef{@@tud@ps@#1@#2@#3@#4}{% - \csletcs{sls@ps@\@nameuse{sls@current#1}@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% + \csletcs{sls@ps@#1@#2@#3@#4}{@@tud@ps@#1@#2@#3@#4}% \csundef{@@tud@ps@#1@#2@#3@#4}% - }% + }{}% } -\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot=true}\fi} \newcommand*\tud@geometry{0} -\TUD@key@lock{geometry}[true]{% - \TUD@set@numkey@lock{geometry}{tud@geometry}{% +\TUD@key@lock{cdgeometry}[true]{% + \TUD@set@numkey@lock{cdgeometry}{tud@geometry}{% \TUD@numkey@bool,% {typearea}{0},% {tud}{1},{asymmetric}{1},{cd}{1},% @@ -450,58 +537,70 @@ \fi% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@head@color{black} -\newcommand*\tud@cd{0} -\csdef@lock{tud@layout@cover}{0} -\csdef@lock{tud@layout@title}{0} -\csdef@lock{tud@layout@part}{0} -\csdef@lock{tud@layout@chapter}{0} +\cs@lock{tud@layout@cover}{0} +\cs@lock{tud@layout@title}{0} +\cs@lock{tud@layout@part}{0} +\cs@lock{tud@layout@chapter}{0} \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% \TUD@numkey@bool,% - {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {nocolor}{1},{nocolour}{1},{monochrome}{1},{monochromatic}{1},% {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% - {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% - {color}{3},{colour}{3}% + {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% + {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% + {color}{4},{colour}{4},% + {full}{5},{colorfull}{5},{fullcolor}{5},{colourfull}{5},{fullcolour}{5}% } +\newcommand*\tud@cd{0} \TUD@key{cd}[true]{% \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \def\tud@head@color{black}% - \ifcase \tud@cd\relax% - \csstd@lock{tud@layout@cover}{0}% - \csstd@lock{tud@layout@title}{0}% - \csstd@lock{tud@layout@part}{0}% - \csstd@lock{tud@layout@chapter}{0}% - \or% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{1}% - \csstd@lock{tud@layout@part}{1}% - \csstd@lock{tud@layout@chapter}{1}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{2}% - \csstd@lock{tud@layout@part}{2}% - \csstd@lock{tud@layout@chapter}{2}% - \or% - \def\tud@head@color{HKS41}% - \csstd@lock{tud@layout@cover}{1}% - \csstd@lock{tud@layout@title}{3}% - \csstd@lock{tud@layout@part}{3}% - \csstd@lock{tud@layout@chapter}{3}% + \ifcase\tud@cd\relax% + \cs@std@lock{tud@layout@cover}{0}% + \cs@std@lock{tud@layout@title}{0}% + \cs@std@lock{tud@layout@part}{0}% + \cs@std@lock{tud@layout@chapter}{0}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{1}% + \cs@std@lock{tud@layout@part}{1}% + \cs@std@lock{tud@layout@chapter}{1}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{2}% + \cs@std@lock{tud@layout@part}{2}% + \cs@std@lock{tud@layout@chapter}{2}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{3}% + \cs@std@lock{tud@layout@part}{3}% + \cs@std@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{4}% + \cs@std@lock{tud@layout@part}{4}% + \cs@std@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \or% + \cs@std@lock{tud@layout@cover}{1}% + \cs@std@lock{tud@layout@title}{5}% + \cs@std@lock{tud@layout@part}{5}% + \cs@std@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% - \TUD@std@ifkey@lock{widehead}{true}% \fi% \if@atdocument% \tud@layout@process% \else% - \ifcase \tud@cd\relax% - \TUD@std@numkey@lock{geometry}{false}% + \ifcase\tud@cd\relax% + \TUD@std@numkey@lock{cdgeometry}{false}% \else% - \TUD@std@numkey@lock{geometry}{true}% + \TUD@std@numkey@lock{cdgeometry}{true}% \fi% \fi% \fi% @@ -509,14 +608,18 @@ \TUD@key{cdcover}[true]{% \TUD@set@numkey{cdcover}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@cover}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@cover}{0}% + \or% + \cs@set@lock{tud@layout@cover}{1}% \or% - \csset@lock{tud@layout@cover}{1}% + \cs@set@lock{tud@layout@cover}{2}% \or% - \csset@lock{tud@layout@cover}{2}% + \cs@set@lock{tud@layout@cover}{3}% \or% - \csset@lock{tud@layout@cover}{3}% + \cs@set@lock{tud@layout@cover}{4}% + \or% + \cs@set@lock{tud@layout@cover}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -524,14 +627,18 @@ \TUD@key{cdtitle}[true]{% \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@title}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@title}{0}% + \or% + \cs@set@lock{tud@layout@title}{1}% + \or% + \cs@set@lock{tud@layout@title}{2}% \or% - \csset@lock{tud@layout@title}{1}% + \cs@set@lock{tud@layout@title}{3}% \or% - \csset@lock{tud@layout@title}{2}% + \cs@set@lock{tud@layout@title}{4}% \or% - \csset@lock{tud@layout@title}{3}% + \cs@set@lock{tud@layout@title}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -539,14 +646,18 @@ \TUD@key{cdpart}[true]{% \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@part}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@part}{0}% + \or% + \cs@set@lock{tud@layout@part}{1}% + \or% + \cs@set@lock{tud@layout@part}{2}% \or% - \csset@lock{tud@layout@part}{1}% + \cs@set@lock{tud@layout@part}{3}% \or% - \csset@lock{tud@layout@part}{2}% + \cs@set@lock{tud@layout@part}{4}% \or% - \csset@lock{tud@layout@part}{3}% + \cs@set@lock{tud@layout@part}{5}% \fi% \if@atdocument\tud@layout@process\fi% \fi% @@ -554,45 +665,54 @@ \TUD@key{cdchapter}[true]{% \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \csset@lock{tud@layout@chapter}{0}% + \ifcase\@tempa\relax% + \cs@set@lock{tud@layout@chapter}{0}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{1}% + \cs@set@lock{tud@layout@chapter}{1}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{2}% + \cs@set@lock{tud@layout@chapter}{2}% \TUD@std@ifkey@lock{chapterpage}{false}% \or% - \csset@lock{tud@layout@chapter}{3}% + \cs@set@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{false}% + \or% + \cs@set@lock{tud@layout@chapter}{4}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \or% + \cs@set@lock{tud@layout@chapter}{5}% \TUD@std@ifkey@lock{chapterpage}{true}% \fi% \if@atdocument\tud@layout@process\fi% \fi% } +\newcommand*\tud@font@heading@size{} +\AtEndOfClass{\let\tud@font@heading@size\size@part} \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \AtEndOfFamilyOptions{% \let\tud@font@heading@size\size@part% - \tud@layout@process% - \ifcase \tud@layout@part\relax\else% - \tud@font@koma@reset{part}% - \tud@font@koma@reset{partnumber}% - \fi% - \ifcase \tud@layout@chapter\relax\else% - \tud@font@koma@reset{chapter}% - \tud@font@koma@reset{chapterprefix}% - \let\chapterheadstartvskip\tud@chapterheadstartvskip% - \tud@font@koma@reset{section}% - \tud@font@koma@reset{subsection}% - \tud@font@koma@reset{subsubsection}% - \tud@font@koma@reset{minisec}% + \if@atdocument% + \tud@layout@process% + \ifcase\tud@layout@part\relax\else% + \tud@font@koma@reset{part}% + \tud@font@koma@reset{partnumber}% + \fi% + \ifcase\tud@layout@chapter\relax\else% + \tud@font@koma@reset{chapter}% + \tud@font@koma@reset{chapterprefix}% + \tud@font@koma@reset{section}% + \tud@font@koma@reset{subsection}% + \tud@font@koma@reset{subsubsection}% + \tud@font@koma@reset{minisec}% + \fi% \fi% }% } \newif\if@tud@parttitle -\TUD@key@lock{parttitle}[true]{% - \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% +\TUD@key{parttitle}[true]{% + \TUD@set@ifkey{parttitle}{@tud@parttitle}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@atdocument\tud@layout@process\fi% \fi% @@ -617,24 +737,17 @@ \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% \FamilyKeyStateProcessed% }{% - \ifcsdef{ps@#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% - \ifx\@currname\tudcls@name% - \ifx\@currext\@clsextension% - \ifstr{#1}{headings}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{% - \tud@ifinpslist{#1}{% - \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% - \FamilyKeyStateProcessed% - }{}% - }% - \fi% - \fi% + \AfterPreamble{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + }{% + \ClassError{\tudcls@name}{`#1' is no valid pagestyle}{% + You tried to use `#1' as a pagestyle for option\MessageBreak% + `cleardoublespecialpage', but it was never defined% + }% + }% }% + \FamilyKeyStateProcessed% }}}% \fi% } @@ -646,13 +759,11 @@ \def\@tempa{% #1% \tud@cleardoublepage% - \tud@restorepagecolor% \endgroup% }% \else% \def\@tempa{% \endgroup% - \tud@restorepagecolor% #1% \tud@cleardoublepage% }% @@ -660,7 +771,6 @@ }{% \if@tud@clearcolor\tud@clearcolor@wrn\fi% \def\@tempa{% - \tud@restorepagecolor% \endgroup% #1% }% @@ -675,7 +785,7 @@ \newcommand*\tud@fm@switch{% {section}{2},{sect}{2},{sec}{2},{addsec}{2},% {chapter}{3},{chap}{3},{addchap}{3},% - {new}{3},{std}{3},{heading}{3},% + {new}{3},{standard}{3},{heading}{3},% {totoc}{4},{toc}{4},{totoclevelup}{4},{toclevelup}{4},{levelup}{4},% {totocleveldown}{5},{tocleveldown}{5},{leveldown}{5},% {nottotoc}{6},{notoc}{6},% @@ -687,7 +797,7 @@ {fil}{12},{fill}{12},{vfil}{12},{vfill}{12}% } \newcommand*\tud@abstract@level{0} -\newbool@lock{@tud@abstract@toc} +\bool@lock{@tud@abstract@toc} \newif\if@tud@abstract@toc@leveldown \newif\if@tud@abstract@markboth \newif\if@tud@abstract@multi @@ -697,26 +807,26 @@ \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% \TUD@set@numkey{abstract}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \def\tud@abstract@level{0}% - \stdbool@lock{@tud@abstract@toc}{false}% + \bool@std@lock{@tud@abstract@toc}{false}% \or% \def\tud@abstract@level{1}% - \stdbool@lock{@tud@abstract@toc}{false}% + \bool@std@lock{@tud@abstract@toc}{false}% \or% \def\tud@abstract@level{2}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% \def\tud@abstract@level{3}% - \stdbool@lock{@tud@abstract@toc}{true}% + \bool@std@lock{@tud@abstract@toc}{true}% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldownfalse% \or% - \setbool@lock{@tud@abstract@toc}{true}% + \bool@set@lock{@tud@abstract@toc}{true}% \@tud@abstract@toc@leveldowntrue% \or% - \setbool@lock{@tud@abstract@toc}{false}% + \bool@set@lock{@tud@abstract@toc}{false}% \or% \@tud@abstract@markbothtrue% \or% @@ -733,37 +843,37 @@ \fi% } \newcommand*\tud@declaration@level{1} -\newbool@lock{@tud@declaration@toc} +\bool@lock{@tud@declaration@toc} \newif\if@tud@declaration@toc@leveldown \newif\if@tud@declaration@markboth \newif\if@tud@declaration@multi -\@tud@declaration@multitrue \newif\if@tud@declaration@fil +\@tud@declaration@multitrue \@tud@declaration@filtrue \TUD@key{declaration}[true]{% \edef\@tempb{\TUD@numkey@bool,\tud@fm@switch}% \TUD@set@numkey{declaration}{@tempa}{\@tempb}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \def\tud@declaration@level{0}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{1}% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@std@lock{@tud@declaration@toc}{false}% \or% \def\tud@declaration@level{2}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% \def\tud@declaration@level{3}% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@std@lock{@tud@declaration@toc}{true}% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldownfalse% \or% - \stdbool@lock{@tud@declaration@toc}{true}% + \bool@set@lock{@tud@declaration@toc}{true}% \@tud@declaration@toc@leveldowntrue% \or% - \stdbool@lock{@tud@declaration@toc}{false}% + \bool@set@lock{@tud@declaration@toc}{false}% \or% \@tud@declaration@markbothtrue% \or% @@ -785,6 +895,9 @@ \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% } %%% From File: tudscr-misc.dtx +\newcommand*\TUD@AfterPackage[2]{% + \if@atdocument#2\else\AfterPackage!{#1}{#2}\fi% +} \newif\if@tud@symbolheadings \TUD@key{footnotes}{% \TUD@set@numkey{footnotes}{@tempa}{% @@ -792,7 +905,7 @@ {symbolheadings}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% + \ifcase\@tempa\relax% \@tud@symbolheadingsfalse% \or% \@tud@symbolheadingstrue% @@ -802,30 +915,28 @@ \newif\if@tud@bookmarks \TUD@ifkey{tudbookmarks}{@tud@bookmarks} %%% From File: tudscr-comp.dtx -\TUD@key{color}[true]{% - \TUD@set@numkey{color}{@tempa}{% - \TUD@numkey@bool,% - {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% - {color}{1},{colour}{1},{full}{1},% - {colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% - {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% - {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% - {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% - }{#1}% +\newcommand*\tud@deprecated@key[2]{% + \ClassWarning{\tudcls@name}% + {% + The option key `#1' is deprecated.\MessageBreak% + It's recommended to use `#2' instead% + }% +} +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase \@tempa\relax% - \TUDoptions{cd=true}% - \or% - \TUDoptions{cd=color}% - \or% - \TUDoptions{cd=lite}% + \tud@deprecated@key{cdfonts}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=true}% + \else% + \TUDoptions{cdfont=false}% \fi% \fi% } -\TUD@key{colour}[true]{\TUDoptions{color=#1}\FamilyKeyStateProcessed} \TUD@key{tudfonts}[true]{% \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfonts}{cdfont}% \if@tempswa% \TUDoptions{cdfont=true}% \else% @@ -833,9 +944,99 @@ \fi% \fi% } +\TUD@key{heavyfont}[true]{% + \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{heavyfont}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont=true}% + \fi% + \fi% +} +\TUD@key{din}[true]{% + \TUD@set@ifkey{din}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{din}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=din}% + \else% + \TUDoptions{cdfont=nodin}% + \fi% + \fi% +} +\TUD@key{nodin}[true]{% + \TUD@set@ifkey{nodin}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{nodin}{cdfont}% + \if@tempswa% + \TUDoptions{cdfont=nodin}% + \else% + \TUDoptions{cdfont=din}% + \fi% + \fi% +} +\TUD@key{sansmath}[true]{% + \TUD@set@ifkey{sansmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=true}% + \else% + \TUDoptions{cdmath=false}% + \fi% + \fi% +} +\TUD@key{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{sansmath}{cdmath}% + \if@tempswa% + \TUDoptions{cdmath=false}% + \else% + \TUDoptions{cdmath=true}% + \fi% + \fi% +} +\TUD@key{geometry}[true]{% + \tud@deprecated@key{geometry}{cdgeometry}% + \TUDoptions{cdgeometry=#1}% +} +\TUD@key{barfont}[true]{% + \TUD@set@numkey{barfont}{@tempa}{% + \TUD@numkey@bool,% + {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% + {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% + {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{barfont}{cdhead}% + \ifcase\@tempa\relax% + \TUDoptions{cdhead=false}% + \or% + \TUDoptions{cdhead=true}% + \or% + \TUDoptions{cdhead=heavy}% + \fi% + \fi% +} +\TUD@key{widehead}[true]{% + \TUD@set@ifkey{widehead}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{widehead}{cdhead}% + \if@tempswa% + \TUDoptions{cdhead=paperwidth}% + \else% + \TUDoptions{cdhead=textwidth}% + \fi% + \fi% +} \TUD@key{tudfoot}[true]{% \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{tudfoot}{cdfoot}% \if@tempswa% \TUDoptions{cdfoot=true}% \else% @@ -843,21 +1044,50 @@ \fi% \fi% } -\newcommand*\tudscr@v@comp{\tudscr@v@last} +\TUD@key{color}[true]{% + \TUD@set@numkey{color}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},% + {lite}{1},{light}{1},{pale}{1},% + {colorlite}{1},{litecolor}{1},{colourlite}{1},{litecolour}{1},% + {colorlight}{1},{lightcolor}{1},{colourlight}{1},{lightcolour}{1},% + {colorpale}{1},{palecolor}{1},{colourpale}{1},{palecolour}{1},% + {bicolor}{2},{bicolour}{2},{twocolor}{2},{twocolour}{2},% + {bichrome}{2},{bichromatic}{2},{dichrome}{2},{dichromatic}{2},% + {color}{3},{colour}{3},% + {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \tud@deprecated@key{color}{cd}% + \ifcase\@tempa\relax% + \TUDoptions{cd=true}% + \or% + \TUDoptions{cd=pale}% + \or% + \TUDoptions{cd=bicolor}% + \or% + \TUDoptions{cd=color}% + \or% + \TUDoptions{cd=fullcolor}% + \fi% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +\newcommand*\tud@v@comp{\tud@v@last} \TUD@key{tudscrver}[last]{% - \scr@ifundefinedorrelax{tudscr@v@#1}{% - \def\tudscr@v@comp{0}% + \ifcsvoid{tud@v@#1}{% + \def\tud@v@comp{0}% \ClassWarningNoLine{\tudcls@name}{% You have set option `tudscrver' to `#1', but\MessageBreak% - this value of version is not supported.\MessageBreak% - Because of this, version was set to `first'% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% }% \FamilyKeyStateProcessed% }{% \ClassInfoNoLine{\tudcls@name}{% Switching compatibility level to `#1'% }% - \edef\tudscr@v@comp{\@nameuse{tudscr@v@#1}}% + \edef\tud@v@comp{\@nameuse{tud@v@#1}}% \FamilyKeyStateProcessed% }% } @@ -886,12 +1116,20 @@ }% }% } -\@namedef{tudscr@v@first}{0} -\@namedef{tudscr@v@2.02}{0} -\@namedef{tudscr@v@last}{0} +\@namedef{tud@v@first}{0} +\@namedef{tud@v@2.02}{0} +\@namedef{tud@v@2.03}{1} +\@namedef{tud@v@last}{1} +\newcommand*\iftudscrverlower[1]{% + \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} %%% From File: tudscr-base.dtx \DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} -\TUDExecuteOptions{\TUDDefaultOptions} +\TUDExecuteOptions{cd,cdfont,tudbookmarks} \TUDProcessOptions\relax \LoadClass{\scrcls@name}[2013/12/19] \RequirePackage{environ}[2013/04/01] @@ -909,22 +1147,22 @@ %%% From File: tudscr-fonts.dtx \AtEndPreamble{% \if@tud@fontspec% - \newfontface\univln[NFSSFamily=UniversLight]{Univers Light}% - \newfontface\univrn[NFSSFamily=UniversRegular]{Univers}% - \newfontface\univbn[NFSSFamily=UniversBold]{Univers Bold}% - \newfontface\univxn[NFSSFamily=UniversBlack]{Univers Black}% - \newfontface\univls[NFSSFamily=UniversLightOblique]{Univers Light Oblique}% - \newfontface\univrs[NFSSFamily=UniversRegularOblique]{Univers Oblique}% - \newfontface\univbs[NFSSFamily=UniversBoldOblique]{Univers Bold Oblique}% - \newfontface\univxs[NFSSFamily=UniversBlackOblique]{Univers Black Oblique}% - \newcommand*\textuln[1]{{\univln#1}} - \newcommand*\texturn[1]{{\univrn#1}} - \newcommand*\textubn[1]{{\univbn#1}} - \newcommand*\textuxn[1]{{\univxn#1}} - \newcommand*\textuls[1]{{\univls#1}} - \newcommand*\texturs[1]{{\univrs#1}} - \newcommand*\textubs[1]{{\univbs#1}} - \newcommand*\textuxs[1]{{\univxs#1}} + \newfontface\univln{Univers Light}[NFSSFamily=UniversLight]% + \newfontface\univrn{Univers}[NFSSFamily=UniversRegular]% + \newfontface\univbn{Univers Bold}[NFSSFamily=UniversBold]% + \newfontface\univxn{Univers Black}[NFSSFamily=UniversBlack]% + \newfontface\univls{Univers Light Oblique}[NFSSFamily=UniversLightOblique]% + \newfontface\univrs{Univers Oblique}[NFSSFamily=UniversRegularOblique]% + \newfontface\univbs{Univers Bold Oblique}[NFSSFamily=UniversBoldOblique]% + \newfontface\univxs{Univers Black Oblique}[NFSSFamily=UniversBlackOblique]% + \newcommand*\textuln[1]{{\univln#1}}% + \newcommand*\texturn[1]{{\univrn#1}}% + \newcommand*\textubn[1]{{\univbn#1}}% + \newcommand*\textuxn[1]{{\univxn#1}}% + \newcommand*\textuls[1]{{\univls#1}}% + \newcommand*\texturs[1]{{\univrs#1}}% + \newcommand*\textubs[1]{{\univbs#1}}% + \newcommand*\textuxs[1]{{\univxs#1}}% \else% \if@tud@univers% \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% @@ -963,9 +1201,9 @@ \DeclareTextFontCommand{\textuxs}{\univxs}% \fi% \if@tud@fontspec% - \newfontface\@dinbn{DIN Bold}[BoldFont = DIN Bold]% + \newfontface\@dinbn{DIN Bold}[NFSSFamily=DINBold,BoldFont = DIN Bold]% \newcommand*\dinbn{\@dinbn\if@tud@dinbold\mathversion{dinbold}\fi}% - \newcommand*\textdbn[1]{{\dinbn#1}} + \newcommand*\textdbn[1]{{\dinbn#1}}% \else% \if@tud@dinbold% \newcommand*\dinbn{% @@ -976,220 +1214,239 @@ \let\dinbn\sectfont% \fi% \newcommand*\textdbn{}% - \DeclareTextFontCommand{\textdbn}{\dinbn} - \fi% - \DeclareMathVersion{univers} - \DeclareMathVersion{universbold} - \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n} - \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} - \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} - \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n} - \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n} - \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} - \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} - \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n} - \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} - \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} - \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n} - \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} - \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} - \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} - \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n} - \DeclareMathVersion{dinbold} - \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} - \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n} - \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} - \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} - \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} - \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} - \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} - \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} - \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} - \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} - \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} - \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} - \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} - \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} - \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} - \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} - \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} - \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} - \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} - \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} - \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} - \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} - \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} - \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} - \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} - \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} -} -\newcommand*\tud@font@cdfonts{% - \tud@cmd@store{rmdefault}% - \tud@cmd@store{sfdefault}% - \tud@cmd@store{ttdefault}% - \tud@cmd@store{bfdefault}% - \tud@cmd@store{mddefault}% - \tud@cmd@store{itdefault}% - \tud@cmd@store{familydefault}% - \tud@cmd@store{seriesdefault}% - \tud@cmd@store{shapedefault}% - \if@tud@fontspec% - \if@tud@heavyfont% - \setsansfont{Univers}[% - BoldFont = Univers Bold,% - ItalicFont = Univers Oblique,% - BoldItalicFont = Univers Bold Oblique,% - ]% - \setmonofont{LMMono10-Regular}[% - BoldFont = LMMonoLt10-Bold,% - ItalicFont = LMMonoSlant10-Regular,% - BoldItalicFont = LMMonoLt10-BoldOblique,% - ] - \else% - \setsansfont{Univers Light}[% - BoldFont = Univers,% - ItalicFont = Univers Light Oblique,% - BoldItalicFont = Univers Oblique,% - ]% - \setmonofont{LMMonoLt10-Regular}[% - BoldFont = LMMono10-Regular,% - ItalicFont = LMMonoLt10-Oblique,% - BoldItalicFont = LMMonoSlant10-Regular,% - ]% - \fi% + \DeclareTextFontCommand{\textdbn}{\dinbn}% + \fi% + \DeclareMathVersion{univers}% + \DeclareMathVersion{universbold}% + \SetSymbolFont{operators}{univers}{OT1}{\tud@univers}{l}{n}% + \SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl}% + \SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n}% + \SetSymbolFont{largesymbols}{univers}{OMX}{iwona}{m}{n}% + \SetSymbolFont{operators}{universbold}{OT1}{\tud@univers}{b}{n}% + \SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl}% + \SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n}% + \SetSymbolFont{largesymbols}{universbold}{OMX}{iwona}{b}{n}% + \SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n}% + \SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl}% + \SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{\tud@univers t}{l}{n}% + \SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n}% + \SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n}% + \SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl}% + \SetMathAlphabet{\mathtt}{universbold}{\tud@mathenc}{\tud@univers t}{b}{n}% + \DeclareMathVersion{dinbold}% + \SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl}% + \SetSymbolFont{symbols}{dinbold}{OMS}{\tud@dinbold}{b}{n}% + \SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n}% + \SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n}% + \SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0}% + \DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1}% + \DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2}% + \DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3}% + \DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4}% + \DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5}% + \DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6}% + \DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7}% + \DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8}% + \DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9}% + \DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10}% + \DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0}% + \DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1}% + \DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2}% + \DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3}% + \DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4}% + \DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5}% + \DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6}% + \DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7}% + \DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8}% + \DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9}% + \DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10}% +} +\newcommand*\tud@font@set{% + \ifcase\tud@cdfont\relax% + \tud@cmd@restore{rmdefault}% + \tud@cmd@restore{sfdefault}% + \tud@cmd@restore{ttdefault}% + \tud@cmd@restore{bfdefault}% + \tud@cmd@restore{mddefault}% + \tud@cmd@restore{itdefault}% + \tud@cmd@restore{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \bool@std@lock{@tud@cdmath}{false}% + \cs@std@lock{tud@head@font}{0}% \else% - \if@tud@univers% - \renewcommand*\sfdefault{\tud@univers}% - \renewcommand*\ttdefault{\tud@univers t}% - \if@tud@heavyfont% - \renewcommand*\bfdefault{b}% - \renewcommand*\mddefault{m}% + \tud@cmd@store{rmdefault}% + \tud@cmd@store{sfdefault}% + \tud@cmd@store{ttdefault}% + \tud@cmd@store{bfdefault}% + \tud@cmd@store{mddefault}% + \tud@cmd@store{itdefault}% + \tud@cmd@store{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \bool@std@lock{@tud@cdmath}{true}% + \cs@std@lock{tud@head@font}{\tud@cdfont}% + \if@tud@fontspec% + \ifnum\tud@cdfont=\@ne\relax% + \setsansfont{Univers Light}[% + BoldFont = Univers,% + ItalicFont = Univers Light Oblique,% + BoldItalicFont = Univers Oblique,% + ]% + \setmonofont{LMMonoLt10-Regular}[% + BoldFont = LMMono10-Regular,% + ItalicFont = LMMonoLt10-Oblique,% + BoldItalicFont = LMMonoSlant10-Regular,% + ]% \else% - \renewcommand*\bfdefault{m}% - \renewcommand*\mddefault{l}% + \setsansfont{Univers}[% + BoldFont = Univers Bold,% + ItalicFont = Univers Oblique,% + BoldItalicFont = Univers Bold Oblique,% + ]% + \setmonofont{LMMono10-Regular}[% + BoldFont = LMMonoLt10-Bold,% + ItalicFont = LMMonoSlant10-Regular,% + BoldItalicFont = LMMonoLt10-BoldOblique,% + ]% + \fi% + \else% + \if@tud@univers% + \renewcommand*\sfdefault{\tud@univers}% + \renewcommand*\ttdefault{\tud@univers t}% + \ifnum\tud@cdfont=\@ne\relax% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \else% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \fi% \fi% \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% \fi% - \renewcommand*\rmdefault{\sfdefault}% - \renewcommand*\familydefault{\sfdefault}% - \renewcommand*\seriesdefault{\mddefault}% - \renewcommand*\shapedefault{\updefault}% \normalfont\selectfont% + \tud@font@math@set% + \tud@layout@process% } -\newcommand*\tud@font@mathfonts{% - \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% - \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% - \mathversion{normal}% -} -\newcommand*\tud@sansmath{% +\newcommand*\tud@font@math@set{% \if@tud@univers% - \tud@cmd@store{mv@normal}% - \tud@cmd@store{mv@bold}% - \let\mv@normal\mv@univers% - \let\mv@bold\mv@universbold% - \mathversion{normal}% + \if@tud@cdmath% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \else% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \fi% \fi% -} -\newcommand*\tud@serifmath{% - \if@tud@univers% - \tud@cmd@restore{mv@normal}% - \tud@cmd@restore{mv@bold}% - \mathversion{normal}% + \if@tud@slantedgreek% + \tud@font@greek@slanted% + \else% + \tud@font@greek@upright% \fi% + \mathversion{normal}% } -\newcount\tud@greek@upGamma -\tud@greek@upGamma\Gamma -\newcount\tud@greek@offset +\newcount\tud@font@greek@upGamma +\tud@font@greek@upGamma\Gamma +\newcount\tud@font@greek@offset \let\@tempa\relax \DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} -\tud@greek@offset\@tempa -\advance\tud@greek@offset-\Gamma -\newcommand*\tud@greek@slanted{% - \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% -} -\newcommand*\tud@greek@upright{% - \ifnum\Gamma>\tud@greek@upGamma% - \tud@greek@offset=-\tud@greek@offset% - \tud@greek@changeshape% - \tud@greek@offset=-\tud@greek@offset% +\tud@font@greek@offset\@tempa +\advance\tud@font@greek@offset-\Gamma +\newcommand*\tud@font@greek@slanted{% + \ifnum\Gamma=\tud@font@greek@upGamma\relax\tud@font@greek@changeshape\fi% +} +\newcommand*\tud@font@greek@upright{% + \ifnum\Gamma>\tud@font@greek@upGamma% + \tud@font@greek@offset=-\tud@font@greek@offset% + \tud@font@greek@changeshape% + \tud@font@greek@offset=-\tud@font@greek@offset% \fi% } -\newcommand*\tud@greek@def[2]{% +\newcommand*\tud@font@greek@def[2]{% \expandafter\@tempcnta\csname #1\endcsname% \advance\@tempcnta#2% \expandafter\mathchardef\csname #1\endcsname\@tempcnta% } -\newcommand*\tud@greek@uc{% +\newcommand*\tud@font@greek@uc{% Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% } -\newcommand*\tud@greek@changeshape{% - \@for\@tempa:=\tud@greek@uc\do{% - \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% +\newcommand*\tud@font@greek@changeshape{% + \@for\@tempa:=\tud@font@greek@uc\do{% + \@expandtwoargs\tud@font@greek@def{\@tempa}{\tud@font@greek@offset}% }% } \newcommand*\tud@head@font@bold{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@set{% + \ifdef{\@raggedtwoe@everyselectfont}{% + \let\@raggedtwoe@everyselectfont\relax% + \spaceskip\z@\selectfont% + }{}% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\sfdefault}{bx}{n}{\tud@head@font@size}% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {\sfdefault}{\mddefault}{n}{\tud@head@font@size}% - \ifcase \tud@barfont\relax% - \if@tud@cdfonts% + \@tempswafalse% + \ifcase\tud@head@font\relax% + \ifnum\tud@cdfont>\z@\relax% \ClassWarning{\tudcls@name}{% - It isn't possible to use `barfont=false'\MessageBreak% + It isn't possible to use `cdhead=false'\MessageBreak% together with `cdfont=true'% }% + \@tempswatrue% \fi% - \or% - \@tud@cdfontstrue% - \def\mddefault{l}% - \or% - \@tud@cdfontstrue% - \def\mddefault{m}% + \else% + \@tempswatrue% \fi% - \if@tud@cdfonts% + \if@tempswa% \if@tud@fontspec% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {UniversBold}{m}{n}{\tud@head@font@size}% - \ifstr{\mddefault}{m}{% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {UniversRegular}{m}{n}{\tud@head@font@size}% - }{% + \ifcase\tud@head@font\relax\or% \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% {UniversLight}{m}{n}{\tud@head@font@size}% - }% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {UniversRegular}{m}{n}{\tud@head@font@size}% + \fi% \else% \if@tud@univers% \DeclareFixedFont{\tud@head@font@bold}{\encodingdefault}% {\tud@univers}{b}{n}{\tud@head@font@size}% - \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% - {\tud@univers}{\mddefault}{n}{\tud@head@font@size}% + \ifcase\tud@head@font\relax\or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@font@size}% + \or% + \DeclareFixedFont{\tud@head@font@light}{\encodingdefault}% + {\tud@univers}{m}{n}{\tud@head@font@size}% + \fi% \fi% \fi% \fi% } \newrobustcmd*\ifdin{% - \@tempswafalse + \@tempswafalse% \@expandtwoargs\in@{DINBold}{\f@family}% \ifin@\@tempswatrue\fi% \ifx\f@family\tud@dinbold\relax\@tempswatrue\fi% - \if@tempswa + \if@tempswa% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% \fi% } -\AtBeginDocument{% - \if@tud@cdfonts\tud@font@cdfonts\fi% - \tud@font@mathfonts% -} \AfterPackage*{amsfonts}{% \DeclareFontFamily{U}{msa}{}% \DeclareFontShape{U}{msa}{m}{n}{% @@ -1213,17 +1470,7 @@ \renewcommand*\tud@RaggedRight{\RaggedRight}% } %%% From File: tudscr-color.dtx -\newcommand*\tud@pagecolor[1]{} -\newcommand*\tud@restorepagecolor{} -\AfterPackage{tudscrcolor}{% - \providecommand*\nopagecolor{\pagecolor{white}}% - \let\tud@pagecolor\pagecolor% - \let\tud@restorepagecolor\nopagecolor% - \AfterPackage*{pagecolor}{% - \let\tud@pagecolor\newpagecolor% - \let\tud@restorepagecolor\restorepagecolor% - }% -} +\newcommand*\tud@pagecolor{} \AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} %%% From File: tudscr-fields.dtx \RequirePackage{trimspaces}[2009/09/17] @@ -1614,123 +1861,68 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-pagestyle.dtx -\newlength{\tud@dim@left} -\newlength{\tud@dim@right} -\newlength{\tud@dim@both} -\newlength{\tud@dim@top} -\newlength{\tud@dim@bottom} -\newlength{\tud@dim@footskip} -\newlength{\tud@dim@headheight} -\newlength{\tud@dim@barheight} -\newlength{\tud@dim@headsep} -\newlength{\tud@dim@logox} -\newlength{\tud@dim@logoy} -\newlength{\tud@dim@logowidth} -\newlength{\tud@dim@logoheight} -\newlength{\tud@dim@line} -\newlength{\tud@dim@thinline} -\newlength{\tud@dim@heavyline} -\newlength{\tud@dim@headingsvskip} -\newlength{\tud@dim@headdiff} -\newlength{\tud@dim@ddcdiff} -\newlength{\tud@dim@ddcfoot} +\newlength\tud@dim@widemargin +\newlength\tud@dim@slimmargin +\newlength\tud@dim@both +\newlength\tud@dim@topmargin +\newlength\tud@dim@barheight +\newlength\tud@dim@headsep +\newlength\tud@dim@footsep +\newlength\tud@dim@logox +\newlength\tud@dim@logoy +\newlength\tud@dim@logowidth +\newlength\tud@dim@line +\newlength\tud@dim@heavyline +\newlength\tud@dim@thinline +\newlength\tud@dim@headdiff +\newlength\tud@dim@headingsvskip +\iftudscrverlower{2.03}{\newlength\tud@dim@ddcdiff}{} \newcommand*\tud@head@font@size{} \newcommand*\tud@geometry@set{% \ifdim\paperheight<148.1mm\relax% - \setlength{\tud@dim@headheight}{17.5mm}% - \setlength{\tud@dim@barheight}{2.5mm}% - \setlength{\tud@dim@headsep}{6mm}% - \setlength{\tud@dim@logox}{5.5mm}% - \setlength{\tud@dim@logoy}{6.5mm}% - \setlength{\tud@dim@logowidth}{28.5mm}% - \setlength{\tud@dim@left}{15mm}% - \setlength{\tud@dim@right}{10mm}% - \setlength{\tud@dim@top}{12.5mm}% - \setlength{\tud@dim@bottom}{12.5mm}% - \setlength{\tud@dim@footskip}{6mm}% - \setlength{\tud@dim@heavyline}{0.75pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{15mm}% + \setlength\tud@dim@heavyline{0.5pt}% + \setlength\tud@dim@thinline{0.25pt}% \def\tud@head@font@size{4.5}% \else\ifdim\paperheight<297.1mm\relax% - \setlength{\tud@dim@headheight}{35mm}% - \setlength{\tud@dim@barheight}{5mm}% - \setlength{\tud@dim@headsep}{12mm}% - \setlength{\tud@dim@logox}{11mm}% - \setlength{\tud@dim@logoy}{13.5mm}% - \setlength{\tud@dim@logowidth}{57mm}% - \setlength{\tud@dim@left}{30mm}% - \setlength{\tud@dim@right}{20mm}% - \setlength{\tud@dim@top}{25mm}% - \setlength{\tud@dim@bottom}{25mm}% - \setlength{\tud@dim@footskip}{12mm}% - \setlength{\tud@dim@heavyline}{1pt}% - \setlength{\tud@dim@thinline}{0.5pt}% + \setlength\tud@dim@widemargin{30mm}% + \setlength\tud@dim@heavyline{1pt}% + \setlength\tud@dim@thinline{0.5pt}% \def\tud@head@font@size{9}% \else\ifdim\paperheight<420.1mm\relax% - \setlength{\tud@dim@headheight}{50mm}% - \setlength{\tud@dim@barheight}{7mm}% - \setlength{\tud@dim@headsep}{17mm}% - \setlength{\tud@dim@logox}{15.5mm}% - \setlength{\tud@dim@logoy}{19mm}% - \setlength{\tud@dim@logowidth}{80mm}% - \setlength{\tud@dim@left}{42mm}% - \setlength{\tud@dim@right}{28mm}% - \setlength{\tud@dim@top}{35mm}% - \setlength{\tud@dim@bottom}{35mm}% - \setlength{\tud@dim@footskip}{17mm}% - \setlength{\tud@dim@heavyline}{1.4pt}% - \setlength{\tud@dim@thinline}{0.7pt}% - \def\tud@head@font@size{13}% + \setlength\tud@dim@widemargin{42.426407mm}% + \setlength\tud@dim@heavyline{1.414214pt}% + \setlength\tud@dim@thinline{0.707107pt}% + \def\tud@head@font@size{12.727922}% \else\ifdim\paperheight<594.1mm\relax% - \setlength{\tud@dim@headheight}{70mm}% - \setlength{\tud@dim@barheight}{10mm}% - \setlength{\tud@dim@headsep}{24mm}% - \setlength{\tud@dim@logox}{22mm}% - \setlength{\tud@dim@logoy}{27mm}% - \setlength{\tud@dim@logowidth}{114mm}% - \setlength{\tud@dim@left}{60mm}% - \setlength{\tud@dim@right}{40mm}% - \setlength{\tud@dim@top}{50mm}% - \setlength{\tud@dim@bottom}{50mm}% - \setlength{\tud@dim@footskip}{24mm}% - \setlength{\tud@dim@heavyline}{1.7pt}% - \setlength{\tud@dim@thinline}{1pt}% - \def\tud@head@font@size{13.5}% + \setlength\tud@dim@widemargin{60mm}% + \setlength\tud@dim@heavyline{2pt}% + \setlength\tud@dim@thinline{1pt}% + \def\tud@head@font@size{18}% \else\ifdim\paperheight<841.1mm\relax% - \setlength{\tud@dim@headheight}{100mm}% - \setlength{\tud@dim@barheight}{14mm}% - \setlength{\tud@dim@headsep}{34mm}% - \setlength{\tud@dim@logox}{31mm}% - \setlength{\tud@dim@logoy}{38mm}% - \setlength{\tud@dim@logowidth}{161.5mm}% - \setlength{\tud@dim@left}{85mm}% - \setlength{\tud@dim@right}{56.5mm}% - \setlength{\tud@dim@top}{71mm}% - \setlength{\tud@dim@bottom}{71mm}% - \setlength{\tud@dim@footskip}{34mm}% - \setlength{\tud@dim@heavyline}{1.9pt}% - \setlength{\tud@dim@thinline}{1.5pt}% - \def\tud@head@font@size{14}% + \setlength\tud@dim@widemargin{84.852814mm}% + \setlength\tud@dim@heavyline{2.828427pt}% + \setlength\tud@dim@thinline{1.414214pt}% + \def\tud@head@font@size{25.455844}% \else% - \setlength{\tud@dim@headheight}{140mm}% - \setlength{\tud@dim@barheight}{20mm}% - \setlength{\tud@dim@headsep}{48mm}% - \setlength{\tud@dim@logox}{44mm}% - \setlength{\tud@dim@logoy}{54mm}% - \setlength{\tud@dim@logowidth}{228mm}% - \setlength{\tud@dim@left}{120mm}% - \setlength{\tud@dim@right}{80mm}% - \setlength{\tud@dim@top}{100mm}% - \setlength{\tud@dim@bottom}{100mm}% - \setlength{\tud@dim@footskip}{48mm}% - \setlength{\tud@dim@heavyline}{2.1pt}% - \setlength{\tud@dim@thinline}{2pt}% - \def\tud@head@font@size{20}% + \setlength\tud@dim@widemargin{120mm}% + \setlength\tud@dim@heavyline{4pt}% + \setlength\tud@dim@thinline{2pt}% + \def\tud@head@font@size{36}% \fi\fi\fi\fi\fi% - \setlength{\tud@dim@both}{\dimexpr\tud@dim@left+\tud@dim@right\relax}% - \setlength{\tud@dim@ddcfoot}{.6\tud@dim@headheight}% + \setlength\tud@dim@slimmargin{\dimexpr2\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@both{\dimexpr5\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@topmargin{\dimexpr7\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@barheight{\dimexpr\tud@dim@widemargin/6\relax}% + \setlength\tud@dim@headsep{\dimexpr2\tud@dim@widemargin/5\relax}% + \setlength\tud@dim@logox{\dimexpr1.1\tud@dim@widemargin/3\relax}% + \setlength\tud@dim@logoy{\dimexpr0.45\tud@dim@widemargin\relax}% + \setlength\tud@dim@logowidth{\dimexpr1.9\tud@dim@widemargin\relax}% + \setlength\tud@dim@footsep{% + \dimexpr\tud@dim@widemargin-.6\tud@dim@topmargin\relax% + }% } -\newcommand*\tud@ifsacrop{% +\newcommand*\ifstandalonecrop{% \ifcsdef{ifsa@crop}{% \ifbool{sa@crop}{\@firstoftwo}{\@secondoftwo}% }{% @@ -1738,7 +1930,7 @@ }% } \AtEndPreamble{% - \tud@ifsacrop{% + \ifstandalonecrop{% \PreventPackageFromLoading{scrlayer-scrpage}% \pagestyle{empty}% \hoffset=-72.27pt% @@ -1753,192 +1945,352 @@ \oddsidemargin=0pt% \evensidemargin=0pt% \topskip=0pt% - \textheight=\dimexpr\maxdimen% + \textheight=\maxdimen% }{}% } \AtEndPreamble{% \RequirePackage{scrlayer-scrpage}[2013/12/14]% \AfterPackage*{scrlayer-scrpage}{% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={% - \hspace*{\dimexpr\tud@dim@logox-\tud@dim@left\relax}\tud@mainlogo% + \hspace*{\dimexpr\tud@dim@logox-\tud@dim@widemargin\relax}% + \tud@mainlogo% },% ]{tudheadings.head.mainlogo}% \DeclareNewLayer[% - background,head,align=tl,% + background,headsep,% voffset=\tud@dim@logoy,% contents={\hfill\tud@headlogo},% ]{tudheadings.head.logo}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.topline}% - \DeclareNewLayer[% - background,head,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41}% + \rule{\layerwidth}{\tud@dim@topmargin}% + \fi% },% - contents={\if@tud@widehead\else\tud@head@rule{\textwidth}\fi},% - ]{tudheadings.head.bottomline}% + ]{tudheadings.head.back}% \DeclareNewLayer[% - background,align=tl,% - voffset=\dimexpr\tud@dim@headheight-.5\tud@dim@line\relax,% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.topwideline}% - \DeclareNewLayer[% - background,align=tl,% - voffset={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight-.5\tud@dim@line\relax% + background,% + voffset=\tud@dim@topmargin,% + contents={% + \ifnum\tud@head@bar>\@ne\relax% + \color{HKS41!80}% + \rule{\layerwidth}{\tud@dim@barheight}% + \fi% },% - contents={\if@tud@widehead\tud@head@rule{\paperwidth}\fi},% - ]{tudheadings.head.bottomwideline}% + ]{tudheadings.head.bar}% \DeclareNewLayer[% - background,head,align=tl,% - voffset=\dimexpr\tud@dim@headheight+\tud@dim@line\relax,% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@line\relax,% contents={\tud@head@text@box},% ]{tudheadings.head.text}% \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperline}% + \DeclareNewLayer[% + background,headsep,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar\else% + \tud@head@rule{\textwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin-.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.upperwideline}% + \DeclareNewLayer[% + background,% + voffset=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -.5\tud@dim@line\relax,% + contents={% + \ifnum\tud@head@bar<\tw@\relax\if@tud@head@widebar% + \tud@head@rule{\paperwidth}% + \fi\fi% + },% + ]{tudheadings.head.lowerwideline}% + \DeclareNewLayer[% background,foot,% + height=\dimexpr\paperheight-\layeryoffset\relax,% contents={% - \vskip\dimexpr-\tud@dim@ddcfoot-\baselineskip+\ht\strutbox% - \hfill\tud@footlogo% + \ifdim\footlogoheight>\z@\relax\else% + \settoheight\footlogoheight{\tud@mainlogo}% + \iftudscrverlower{2.03}{% + \setlength\footlogoheight{.6\tud@dim@topmargin}% + }{}% + \fi% + \setlength\@tempdima{% + \dimexpr\footlogoheight-\layerheight+\dp\strutbox\relax% + }% + \ifdim\@tempdima>\vfuzz\relax% + \ClassWarning{\tudcls@name}{% + The chosen `\string\footlogoheight' + (\the\footlogoheight)\MessageBreak% + is \the\@tempdima\space higher than recommended. You\MessageBreak% + should decrease this length + \ifcase\tud@geometry\relax\else% + or alternatively\MessageBreak% + enlarge the bottom margin by using option\MessageBreak% + `extrabottommargin'% + \fi% + }% + \fi% + \let\@tempa\relax% + \@for\@tempb:=\tud@@footlogo\do{% + \@tempa% + \ifx\@tempb\@empty\else% + \expandafter\tud@footlogo\expandafter{\@tempb}% + \fi% + \let\@tempa\footlogosep% + }% + \tud@ddclogo% },% - ]{tudheadings.foot.ddclogo}% - \newpairofpagestyles{tudheadings}{}% - \ForEachLayerOfPageStyle{tudheadings}{% - \RemoveLayersFromPageStyle{tudheadings}{#1}% - }% - \ForEachLayerOfPageStyle{plain.tudheadings}{% - \RemoveLayersFromPageStyle{plain.tudheadings}{#1}% - }% - \AddLayersToPageStyle{tudheadings}{% + ]{tudheadings.foot.logo}% + \iftudscrverlower{2.03}{% + \ModifyLayer[% + voffset=\dimexpr\topmargin+1in+\headheight+\headsep+\textheight% + +\footskip-\footheight-\tud@dim@ddcdiff% + \ifcase\tud@geometry\relax\else+\ht\strutbox+\dp\strutbox\fi% + \relax,% + height=\dimexpr.6\tud@dim@topmargin+\dp\strutbox\relax,% + ]{tudheadings.foot.logo}% + }{}% + \DeclareNewLayer[% + background,% + hoffset=0pt,% + width=\paperwidth,% + voffset=\dimexpr\@nameuse{scr@l@tudheadings.foot.logo@y}% + -\dp\strutbox\relax,% + height=\dimexpr\paperheight-\layeryoffset\relax,% + contents={% + \if@tud@footcolor% + \let\@tempc\relax% + \ifnum\tud@head@bar>\@ne\def\@tempc{\color{HKS41}}\fi% + \ifstr{\tud@pagecolor}{HKS41}{\def\@tempc{\color{HKS41!80}}}{}% + \ifx\@tempc\relax\else% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \vbox to \layerheight{% + \vfil\@tempc% + \rule{\layerwidth}{% + \dimexpr\layerheight-\tud@dim@ddcdiff+\ht\strutbox\relax% + }% + }% + \else% + \@tempc\rule{\layerwidth}{\layerheight}% + \fi% + }{\@tempc\rule{\layerwidth}{\layerheight}}% + \fi% + \fi% + },% + ]{tudheadings.foot.back}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% scrheadings.foot.odd,% scrheadings.foot.even,% scrheadings.foot.oneside,% scrheadings.foot.above.line,% scrheadings.foot.below.line% }% - \AddLayersToPageStyle{plain.tudheadings}{% + \DeclareNewPageStyleAlias{tud}{tudheadings}% + \DeclareNewPageStyleAlias{tudscr}{tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{plain.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% plain.scrheadings.foot.odd,% plain.scrheadings.foot.even,% plain.scrheadings.foot.oneside,% plain.scrheadings.foot.above.line,% plain.scrheadings.foot.below.line% }% - \DeclareNewPageStyleByLayers{empty.tudheadings}{% + \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsplain}{plain.tudheadings}% + \DeclareNewPageStyleByLayers[% + onselect=\tud@ps@onselect,onbackground=\tud@ps@onbackground% + ]{empty.tudheadings}{% + tudheadings.head.back,% tudheadings.head.mainlogo,% tudheadings.head.logo,% - tudheadings.head.topline,% - tudheadings.head.bottomline,% - tudheadings.head.topwideline,% - tudheadings.head.bottomwideline,% + tudheadings.head.bar,% tudheadings.head.text,% - tudheadings.foot.ddclogo,% - }% - \AddToLayerPageStyleOptions{tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% - }% - \AddToLayerPageStyleOptions{plain.tudheadings}{% - onselect={\letcs\ps@empty{ps@empty.tudheadings}}% + tudheadings.head.upperline,% + tudheadings.head.lowerline,% + tudheadings.head.upperwideline,% + tudheadings.head.lowerwideline,% + tudheadings.foot.back,% + tudheadings.foot.logo,% }% - \AddToLayerPageStyleOptions{empty.tudheadings}{% - onselect={% - \letcs\ps@empty{ps@empty.tudheadings}% - \letcs\ps@plain{ps@plain.tudheadings}% - \letcs\ps@headings{ps@tudheadings}% - }% - }% - \DeclareNewPageStyleAlias{tudscrheadings}{tudheadings}% - \DeclareNewPageStyleAlias{plain.tudscrheadings}{plain.tudheadings}% \DeclareNewPageStyleAlias{empty.tudscrheadings}{empty.tudheadings}% - \BeforeSelectAnyPageStyle{\tud@beforepagestyle{#1}}% + \DeclareNewPageStyleAlias{tudempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudheadingsempty}{empty.tudheadings}% + \DeclareNewPageStyleAlias{tudscrheadingsempty}{empty.tudheadings}% + \DeclareNewLayer[ + background,page,% + contents={% + \ifdefvoid{\tud@pagecolor}{}{% + \color{\tud@pagecolor}% + \rule{\layerwidth}{\layerheight}% + }% + },% + ]{tudheadings.pagecolor} + \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% + \BeforeSelectAnyPageStyle{\tud@beforeselectanypagestyle{#1}}% }% } -\newcommand*\tud@currentgeometry{} -\newcommand*\tud@beforepagestyle[1]{% - \def\@tempa{#1}% - \ifstr{\sls@currentheadings}{tudheadings}{% - \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% - \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% - \ifstr{#1}{empty}{\def\@tempa{empty.tudheadings}}{}% - }{}% - \tud@ifinpslist{\@tempa}{% - \tud@ddc@check% - \ifcase \@tempb\relax% - \ifstr{\tud@currentgeometry}{tudarea}{}{% - \loadgeometry{tudarea}% - \gdef\tud@currentgeometry{tudarea}% - }% +\newcommand*\tud@ps@onselect{% + \DeclarePageStyleAlias{plain}{plain.tudheadings}% + \DeclarePageStyleAlias{headings}{tudheadings}% + \def\sls@currentheadings{tudheadings}% + \def\sls@currentplain{plain.tudheadings}% +} +\newcommand*\tud@head@logocolor{black} +\newcommand*\tud@foot@logocolor{black} +\newcommand*\tud@ps@onbackground{% + \ifcase\tud@head@bar\relax% + \def\tud@head@logocolor{black}% + \def\tud@foot@logocolor{black}% + \or% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \or% + \def\tud@head@logocolor{white}% + \if@tud@footcolor% + \def\tud@foot@logocolor{white}% \else% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \loadgeometry{tudareaddc}% - \gdef\tud@currentgeometry{tudareaddc}% - }% + \def\tud@foot@logocolor{HKS41}% \fi% - \setlength{\tud@dim@headdiff}{\z@}% - }{% - \ifstr{\tud@currentgeometry}{typearea}{}{% - \loadgeometry{typearea}% - \gdef\tud@currentgeometry{typearea}% - \RedeclarePageStyleByLayers{empty}{}% - }% - \setlength{\tud@dim@headdiff}{\tud@ta@headdiff}% - \ifcase \tud@geometry\relax\else% - \if@hincl% - \addtolength{\tud@dim@headdiff}{% - \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + \fi% + \let\tud@dim@line\tud@dim@thinline% + \ifstr{\tud@head@logocolor}{white}{\let\tud@dim@line\tud@dim@heavyline}{}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}} +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@currentgeometry{} +\newcommand*\tud@beforeselectanypagestyle[1]{% + \ifstr{#1}{\GetRealPageStyle{#1}}{% + \def\@tempa{#1}% + \ifcsdef{scr@v@3.15}{}{% + \ifstr{\sls@currentheadings}{tudheadings}{% + \ifstr{#1}{headings}{\def\@tempa{tudheadings}}{}% + \ifstr{#1}{plain}{\def\@tempa{plain.tudheadings}}{}% + }{}% + }% + \iftudpagestyle{\@tempa}{% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% + }% + \else% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \loadgeometry{tudareaddc}% + \gdef\tud@currentgeometry{tudareaddc}% + }% + \fi% + }{% + \ifstr{\tud@currentgeometry}{tudarea}{}{% + \loadgeometry{tudarea}% + \gdef\tud@currentgeometry{tudarea}% }% + }% + \setlength\tud@dim@headdiff{\z@}% + }{% + \ifstr{\tud@currentgeometry}{typearea}{}{% + \loadgeometry{typearea}% + \gdef\tud@currentgeometry{typearea}% + }% + \setlength\tud@dim@headdiff{\tud@ta@headdiff}% + \ifcase\tud@geometry\relax\else% + \if@hincl% + \addtolength\tud@dim@headdiff{% + \dimexpr-\tud@ta@headheight-\tud@dim@headsep\relax% + }% + \fi% \fi% - \fi% - }% - \global\tud@dim@headdiff=\tud@dim@headdiff% + }% + \global\tud@dim@headdiff=\tud@dim@headdiff% + }{}% } \patchcmd{\cleardoubleoddpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleoddpageusingstyle}} \patchcmd{\cleardoubleevenpageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoubleevenpageusingstyle}} \patchcmd{\cleardoublepageusingstyle}{\pagestyle}{% - \let\tud@beforepagestyle\@gobble\pagestyle% + \let\tud@beforeselectanypagestyle\@gobble\pagestyle% }{}{\tud@patch@wrn{cleardoublepageusingstyle}} -\newcommand*\tud@ddc@enlargepage{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else\enlargethispage{-\tud@dim@ddcdiff}\fi% +\iftudscrverlower{2.03}{% + \newcommand*\tud@ddc@enlargepage[1][]{% + \iftudpagestyle{#1}{% + \ifstr{\tud@currentgeometry}{tudareaddc}{}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \enlargethispage{-\tud@dim@ddcdiff}% + \fi% + }% + }{}% }% -} +}{} \newcommand*\tud@head@text{} \newcommand*\tud@head@text@first{} \newcommand*\tud@head@text@second{} \newcommand*\tud@head@text@delimiter{} \newcommand*\tud@head@text@buffer{} -\newcommand*\tud@head@font{} \newcommand*\tud@head@rule[1]{% - \color{\tud@head@color}% - \rule[\dimexpr\ht\strutbox\relax]{#1}{\tud@dim@line}% + \color{\tud@head@logocolor}% + \rule[\ht\strutbox]{#1}{\tud@dim@line}% } \newcommand*\tud@head@text@add[3][, ]{% - \def\tud@head@font{#2}% \edef\tud@head@text{#3}% \ifx\tud@head@text\@empty% \def\tud@head@text@delimiter{}% @@ -1950,10 +2302,10 @@ \def\@tempa{% \tud@head@text@first% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% - \settowidth{\@tempdima}{\@tempa}% + \settowidth\@tempdima{\@tempa}% \ifdim\@tempdima>\textwidth\relax% \@tempswatrue% \def\tud@head@text@delimiter{}% @@ -1965,7 +2317,7 @@ \edef\tud@head@text@second{% \tud@head@text@second% \tud@head@text@delimiter% - \tud@head@font% + #2% \tud@head@text% }% \fi% @@ -1975,7 +2327,6 @@ \ClassWarningNoLine{\tudcls@name}{No `\string\faculty' given}% \faculty{}% \fi% - \color{\tud@head@color}% \tud@head@font@set% \@tempswafalse% \def\tud@head@text@first{}% @@ -1985,22 +2336,26 @@ \tud@head@text@add{\tud@head@font@light}{\@department}% \tud@head@text@add{\tud@head@font@light}{\@institute}% \tud@head@text@add{\tud@head@font@light}{\@chair}% - \settowidth{\@tempdima}{\tud@head@text@second}% + \settowidth\@tempdima{\tud@head@text@second}% \ifdim\@tempdima>\textwidth\relax% \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth\relax}% \hfuzz=\@tempdima% \fi% \vbox{% \linespread{0}\selectfont% + \color{\tud@head@logocolor}% \tud@head@text@write{\tud@head@text@first}% + \ifnum\tud@head@bar>\@ne% + \ifdefvoid{\tud@pagecolor}{\color{HKS41}}{% + \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{\color{HKS41}}% + }% + \fi% \ifx\tud@head@text@second\@empty% - \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% - \fi% + \newline\tud@head@font@light\tud@head@text@write{\@extraheadline}% \else% \newline\tud@head@text@write{\tud@head@text@second}% \ifx\@extraheadline\@empty\else% - \newline\tud@head@font@light\@extraheadline% + \vspace{-\tud@dim@line}\newline\tud@head@font@light\@extraheadline% \fi% \fi% }% @@ -2031,21 +2386,18 @@ } \newcommand*\tud@@mainlogo{} \newcommand*\tud@mainlogo{% - \setlength{\@tempdima}{% - \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left\relax% + \setlength\@tempdima{% + \dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@widemargin\relax% }% \ifdim\@tempdima<\ta@bcor\relax\tud@mainlogo@wrn{\the\@tempdima}\fi% \def\tud@@mainlogo{TUD-black}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@mainlogo{TUD-white}}{}% - \global\let\tud@dim@line\tud@dim@thinline% - \ifstr{\tud@head@color}{white}{\global\let\tud@dim@line\tud@dim@heavyline}{}% - \color{\tud@head@color}% - \includegraphics[width=\tud@dim@logowidth]{\tud@@mainlogo}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@mainlogo{TUD-blue}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@mainlogo{TUD-white}}{}% + \includegraphics[keepaspectratio,width=\tud@dim@logowidth]{\tud@@mainlogo}% } \newcommand*\headlogo[2][]{% - \tud@ifinpslist{\@nameuse{currentpagestyle}}{\clearpage}{}% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% \def\tud@@headlogo{#2}% \def\tud@@@headlogo{#1}% \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% @@ -2057,11 +2409,11 @@ \ifx\tud@@headlogo\@empty\else% \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% \fi% - \ifcase \@tempa\relax\or% + \ifcase\@tempa\relax\or% \def\tud@@headlogo{DDC-24}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@headlogo{DDC-30}}{}% + \ifstr{\tud@head@logocolor}{HKS41}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{cddarkblue}{\def\tud@@headlogo{DDC-27}}{}% + \ifstr{\tud@head@logocolor}{white}{\def\tud@@headlogo{DDC-30}}{}% \or% \def\tud@@headlogo{DDC-03}% \or% @@ -2076,9 +2428,10 @@ \def\tud@@headlogo{DDC-30}% \fi% \ifx\tud@@headlogo\@empty\else% - \settoheight{\tud@dim@logoheight}{\tud@mainlogo}% - \pretocmd{\tud@@@headlogo}{height=\tud@dim@logoheight,}% - {}{\tud@patch@wrn{tud@@@headlogo}}% + \settoheight\@tempdima{\tud@mainlogo}% + \protected@epreto\tud@@@headlogo{% + keepaspectratio,totalheight=\the\@tempdima,% + }% \expandafter\includegraphics\expandafter[\tud@@@headlogo]{\tud@@headlogo}% \fi% } @@ -2090,44 +2443,86 @@ }% \global\let\tud@headlogo@wrn\relax% } +\newlength\footlogoheight +\newcommand*\footlogosep{\hfill} +\newcommand*\footlogo[2][]{% + \if@atdocument\iftudpagestyle{\currentpagestyle}{\clearpage}{}\fi% + \def\tud@@footlogo{#2}% + \def\tud@@@footlogo{#1}% + \if@atdocument\expandafter\pagestyle\expandafter{\currentpagestyle}\fi% +} \newcommand*\tud@@footlogo{} -\newcommand*\tud@footlogo{% +\newcommand*\tud@@@footlogo{} +\DeclareListParser{\tud@footlogo@parser}{:}% +\newcommand*\tud@footlogo[1]{% + \begingroup% + \def\@tempa{}% + \def\@tempb{}% + \@tempswatrue% + \def\do##1{% + \if@tempswa% + \def\@tempa{##1}% + \@tempswafalse% + \else% + \expandafter\def\expandafter\@tempb\expandafter{\@tempb,##1}% + \fi% + }% + \tud@footlogo@parser{#1}% + \protected@eappto\tud@@@footlogo{\@tempb}% + \protected@epreto\tud@@@footlogo{% + keepaspectratio,totalheight=\the\footlogoheight,% + }% + \protected@edef\@tempc{\noexpand\includegraphics[\tud@@@footlogo]{\@tempa}}% + \vbox to \dimexpr\layerheight-\dp\strutbox\relax{% + \vfil\hbox{\@tempc}\vfil\vfil% + }% + \endgroup% +} +\newcommand*\tud@@ddclogo{} +\newcommand*\tud@ddclogo{% \tud@ddc@check% - \ifcase \@tempb\relax\or% - \def\tud@@footlogo{DDC-22}% - \ifstr{\tud@head@color}{HKS41}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{cddarkblue}{\def\tud@@footlogo{DDC-25}}{}% - \ifstr{\tud@head@color}{white}{\def\tud@@footlogo{DDC-28}}{}% + \ifcase\@tempb\relax\or% + \def\tud@@ddclogo{DDC-22}% + \ifstr{\tud@foot@logocolor}{HKS41}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{cddarkblue}{\def\tud@@ddclogo{DDC-25}}{}% + \ifstr{\tud@foot@logocolor}{white}{\def\tud@@ddclogo{DDC-28}}{}% \or% - \def\tud@@footlogo{DDC-01}% + \def\tud@@ddclogo{DDC-01}% \or% - \def\tud@@footlogo{DDC-07}% + \def\tud@@ddclogo{DDC-07}% \or% - \def\tud@@footlogo{DDC-19}% + \def\tud@@ddclogo{DDC-19}% \or% - \def\tud@@footlogo{DDC-22}% + \def\tud@@ddclogo{DDC-22}% \or% - \def\tud@@footlogo{DDC-25}% + \def\tud@@ddclogo{DDC-25}% \or% - \def\tud@@footlogo{DDC-28}% + \def\tud@@ddclogo{DDC-28}% \fi% - \ifx\tud@@footlogo\@empty\else% - \includegraphics[height=\tud@dim@ddcfoot]{\tud@@footlogo}% + \ifx\tud@@ddclogo\@empty\else% + \let\tud@@@footlogo\relax% + \hfill\tud@footlogo{\tud@@ddclogo}% \fi% } -\newlength{\tud@ta@textheight} -\newlength{\tud@ta@topmargin} -\newlength{\tud@ta@headheight} -\newlength{\tud@ta@headsep} -\newlength{\tud@ta@footskip} -\newlength{\tud@ta@headdiff} +\newlength\tud@ta@textheight +\newlength\tud@ta@topmargin +\newlength\tud@ta@headheight +\newlength\tud@ta@headsep +\newlength\tud@ta@footheight +\newlength\tud@ta@footskip +\newlength\tud@ta@headdiff \newcommand*\tud@geometry@restore{} \AfterCalculatingTypearea{% - \setlength{\tud@ta@textheight}{\textheight}% - \setlength{\tud@ta@topmargin}{\topmargin}% - \setlength{\tud@ta@headheight}{\headheight}% - \setlength{\tud@ta@headsep}{\headsep}% - \setlength{\tud@ta@footskip}{\footskip}% + \setlength\tud@ta@textheight{\textheight}% + \setlength\tud@ta@topmargin{\topmargin}% + \setlength\tud@ta@headheight{\headheight}% + \setlength\tud@ta@headsep{\headsep}% + \ifcsvoid{ta@fh}{% + \setlength\tud@ta@footheight{\footheight}% + }{% + \setlength\tud@ta@footheight{\ta@fh}% + }% + \setlength\tud@ta@footskip{\footskip}% \let\tud@geometry@restore\Gm@restore@org% \if@atdocument% \let\Gm@restore@org\relax% @@ -2139,10 +2534,10 @@ } \newcommand*\tud@geometry@hmargin{} \newcommand*\tud@geometry@vmargin{} -\newcommand*\tud@geometry@pmargin{} -\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@tudmargin{} +\iftudscrverlower{2.03}{\newcommand*\tud@geometry@ddcmargin{}}{} \AtEndPreamble{% - \tud@ifsacrop{}{% + \ifstandalonecrop{}{% \recalctypearea% \RequirePackage{geometry}[2010/09/12]% \tud@geometry@process% @@ -2151,50 +2546,68 @@ } \newcommand*\tud@geometry@process{% \tud@geometry@set% - \ifcase \tud@geometry\relax% + \ifcase\tud@geometry\relax% \def\tud@geometry@hmargin{% left=\dimexpr\oddsidemargin+1in\relax,% width=\textwidth,% + marginparwidth=\dimexpr\evensidemargin+1in-\tud@ta@headsep\relax,% + \if@twoside\if@reversemargin% + marginparwidth=\dimexpr\oddsidemargin+1in-\tud@ta@headsep\relax,% + \fi\fi% + marginparsep=.5\tud@ta@headsep,% }% \def\tud@geometry@vmargin{% - top={% - \dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in\relax% - },% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep% + +1in\relax,% headheight=\tud@ta@headheight,% headsep=\tud@ta@headsep,% textheight=\tud@ta@textheight,% footskip=\tud@ta@footskip,% }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% headsep=\tud@dim@headsep,% textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff\relax,% - footskip=\tud@ta@footskip,% - }% - \def\tud@geometry@dmargin{% - textheight={% - \dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@dim@ddcdiff\relax% - },% - footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + ignorehead,% }% - \setlength{\tud@ta@headdiff}{\dimexpr% - \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% - -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% - }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot-\tud@ta@footskip+\tud@dim@footskip\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in\relax% }% \ifdim\tud@ta@headdiff<\z@\relax% - \addtolength{\tud@dim@headsep}{-\tud@ta@headdiff}% + \addtolength\tud@dim@headsep{-\tud@ta@headdiff}% + \fi% + \iftudscrverlower{2.03}{% + \setlength\tud@dim@ddcdiff{% + \dimexpr.6\tud@dim@topmargin-\tud@ta@footskip+\tud@dim@headsep% + +\tud@ta@footheight-1.25\baselineskip\relax% + }% + \def\tud@geometry@ddcmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff% + -\tud@dim@ddcdiff\relax,% + footskip=\dimexpr\tud@ta@footskip+\tud@dim@ddcdiff\relax,% + }% + }{}% + \ifdim\tud@dim@extrabottommargin=\z@\relax\else% + \ClassWarning{\tudcls@name}{% + Option `extrabottommargin' is ineffective when\MessageBreak% + package typearea is used (`cdgeometry=no')% + }% \fi% \else% - \ifcase \tud@geometry\or% + \ifcase\tud@geometry\or% \def\tud@geometry@hmargin{% - left=\tud@dim@left,% + left=\tud@dim@widemargin,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@reversemargin% + marginparwidth=\dimexpr\tud@dim@widemargin-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr\tud@dim@slimmargin-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% \if@twoside asymmetric,\fi% }% @@ -2202,6 +2615,8 @@ \def\tud@geometry@hmargin{% left=.5\tud@dim@both,% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \or% @@ -2213,66 +2628,99 @@ left=.5\tud@dim@both,% \fi% textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor\relax,% + \if@twoside% + \if@reversemargin% + marginparwidth=\dimexpr.4\tud@dim@both-\tud@ta@headsep\relax,% + \else% + marginparwidth=\dimexpr.6\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + \else% + marginparwidth=\dimexpr.5\tud@dim@both-\tud@ta@headsep\relax,% + \fi% + marginparsep=.5\tud@ta@headsep,% bindingoffset=\ta@bcor,% }% \fi% - \def\tud@geometry@vmargin{% - top=\tud@dim@top,% - headheight=\tud@ta@headheight,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - \tud@geometry@hincl,% - \tud@geometry@fincl,% - }% - \def\tud@geometry@pmargin{% - top={% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - },% - headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax,% - headsep=\tud@dim@headsep,% - bottom=\tud@dim@bottom,% - footskip=\tud@dim@footskip,% - }% - \def\tud@geometry@dmargin{% - \if@fincl% - bottom=\dimexpr% - \tud@dim@bottom+\tud@dim@ddcfoot+\tud@dim@footskip\relax,% - \else% - bottom=\dimexpr\tud@dim@bottom+\tud@dim@ddcfoot\relax,% - \fi% - footskip=\dimexpr\tud@dim@footskip+\tud@dim@ddcfoot\relax,% + \iftudscrverlower{2.03}{% + \def\tud@geometry@vmargin{% + top=.5\tud@dim@both,% + headheight=\tud@ta@headheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% + }{% + \def\tud@geometry@vmargin{% + top=\tud@dim@slimmargin,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + bottom=\dimexpr\tud@dim@widemargin+\tud@dim@extrabottommargin\relax,% + footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax,% + \tud@geometry@hincl,% + \tud@geometry@fincl,% + }% }% - \setlength{\tud@ta@headdiff}{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight% - +\tud@dim@headsep-\tud@dim@top\relax% + \def\tud@geometry@tudmargin{% + top=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax,% + headheight=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + -\tud@dim@logoy\relax,% + headsep=\tud@dim@headsep,% + ignorehead,% }% - \setlength{\tud@dim@ddcdiff}{\dimexpr% - \tud@dim@ddcfoot+2\tud@dim@footskip-\tud@dim@bottom\relax% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -\tud@dim@slimmargin\relax% }% + \iftudscrverlower{2.03}{% + \setlength\tud@ta@headdiff{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight+\tud@dim@headsep% + -.5\tud@dim@both\relax% + }% + \setlength\tud@dim@ddcdiff{.6\tud@dim@topmargin}% + \def\tud@geometry@ddcmargin{% + \if@fincl% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff+\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax,% + \else% + bottom=\dimexpr.5\tud@dim@both+\tud@dim@extrabottommargin% + +\tud@dim@ddcdiff\relax,% + \fi% + footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip+\tud@dim@ddcdiff\relax,% + }% + }{}% \fi% - \ifdim\tud@ta@headdiff<\z@\relax\setlength{\tud@ta@headdiff}{\z@}\fi% + \ifdim\tud@ta@headdiff<\z@\relax\setlength\tud@ta@headdiff{\z@}\fi% \global\tud@ta@headdiff=\tud@ta@headdiff% - \ifdim\tud@dim@ddcdiff<\z@\relax\setlength{\tud@dim@ddcdiff}{\z@}\fi% - \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% - \setlength{\tud@dim@headingsvskip}{.6\tud@dim@headheight}% + \setlength\tud@dim@headingsvskip{.6\tud@dim@topmargin}% \global\tud@dim@headingsvskip=\tud@dim@headingsvskip% + \iftudscrverlower{2.03}{% + \ifdim\tud@dim@ddcdiff<\z@\relax\setlength\tud@dim@ddcdiff{\z@}\fi% + \global\tud@dim@ddcdiff=\tud@dim@ddcdiff% + }{}% \tud@geometry@@process% } \newcommand*\tud@geometry@@process{% + \iftudscrverlower{2.03}{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% + \tud@geometry@ddcmargin,% + ignorehead,ignorefoot,% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudareaddc}% + }{}% \edef\@tempa{% \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - \tud@geometry@dmargin,% - ignorehead,ignorefoot,% - }% - \expandafter\newgeometry\expandafter{\@tempa}% - \savegeometry{tudareaddc}% - \edef\@tempa{% - \tud@geometry@hmargin,% - \tud@geometry@pmargin,% - ignorehead,% - \tud@geometry@fincl% + \tud@geometry@vmargin,% + \tud@geometry@tudmargin,% }% \expandafter\newgeometry\expandafter{\@tempa}% \savegeometry{tudarea}% @@ -2300,9 +2748,17 @@ \newcommand*\tud@ps{tudheadings} \newcommand*\tud@ps@select{% \expandafter\pagestyle\expandafter{\tud@ps}% - \ifstr{\tud@ps}{empty}{\renewcommand*\chapterpagestyle{empty}}{}% - \ifstr{\tud@ps}{empty.tudheadings}{% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty}{% + \renewcommand*\titlepagestyle{empty}% + \renewcommand*\partpagestyle{empty}% + \renewcommand*\chapterpagestyle{empty}% + \renewcommand*\indexpagestyle{empty}% + }{}% + \ifstr{\GetRealPageStyle{\tud@ps}}{empty.tudheadings}{% + \renewcommand*\titlepagestyle{empty.tudheadings}% + \renewcommand*\partpagestyle{empty.tudheadings}% \renewcommand*\chapterpagestyle{empty.tudheadings}% + \renewcommand*\indexpagestyle{empty.tudheadings}% }{}% } \newcommand*\tud@currentpagestyle{} @@ -2312,13 +2768,16 @@ }{}% } \newcommand*\tud@currentpagestyle@reset{% - \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% - \let\tud@currentpagestyle\relax% + \ifdefvoid{\tud@currentpagestyle}{}{% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \let\tud@currentpagestyle\relax% + }% } \NewEnviron{tudpage}[1][]{% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{tudheadings}% - \TUD@parameter@set[tudpage]{#1}% + \clearpage% + \def\tud@ps{tudheadings}% + \TUD@parameter@set{tudpage}{#1}% \tud@ps@select% \tud@multicols@check% \ifnum\tud@multicols>1\relax% @@ -2332,57 +2791,61 @@ \aftergroup\tud@currentpagestyle@reset% \clearpage% ] -\TUD@parameter{tudpage}{% - \TUD@parameter@define{language}{\selectlanguage{#1}}% - \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% - \TUD@parameter@define{color}[HKS41]{\def\tud@head@color{#1}}% - \TUD@parameter@let{colour}{color}% - \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% +\newcommand*\TUD@parameter@define@ps[1]{% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdhead}[true]{\TUDoption{cdhead}{#1}}% + \TUD@parameter@define{cdfoot}[true]{\TUDoption{cdfoot}{#1}}% + \TUD@parameter@define{headlogo}{\headlogo{#1}}% + \TUD@parameter@define{footlogo}{\footlogo{#1}}% \TUD@parameter@define{ddc}[true]{\TUDoption{ddc}{#1}}% \TUD@parameter@define{ddchead}[true]{\TUDoption{ddchead}{#1}}% \TUD@parameter@define{ddcfoot}[true]{\TUDoption{ddcfoot}{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{tudfonts}{#1}}% \TUD@parameter@define{barfont}[true]{\TUDoption{barfont}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{tudfoot}[true]{\TUDoption{tudfoot}{#1}}% + \TUD@parameter@let{logo}{headlogo}% +} +\TUD@parameter{tudpage}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{% - \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{empty.tudheadings}{\renewcommand*\tud@ps{empty.tudheadings}}{% - \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{plain.tudheadings}{\renewcommand*\tud@ps{plain.tudheadings}}{% - \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% - \ifstr{#1}{tudheadings}{\renewcommand*\tud@ps{tudheadings}}{% - \TUD@parameter@wrn{pagestyle}{% - headings, plain, empty or any tudheadings page style type% - }% - }}}}}}% + \iftudpagestyle{#1}{\renewcommand*\tud@ps{#1}}{% + \ifstr{#1}{empty}{\renewcommand*\tud@ps{empty.tudheadings}}{% + \ifstr{#1}{plain}{\renewcommand*\tud@ps{plain.tudheadings}}{% + \ifstr{#1}{headings}{\renewcommand*\tud@ps{tudheadings}}{% + \TUD@parameter@error{pagestyle}{% + headings, plain, empty or any tudheadings page style type% + }% + }}}% + }% }% - \TUD@parameter@define{headlogo}{\headlogo{#1}}% - \TUD@parameter@let{logo}{headlogo}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{tudpage}{#1}}% } %%% From File: tudscr-layout.dtx -\newcommand*\tud@color@partfont{black} -\newcommand*\tud@color@partpage{white} -\newcommand*\tud@color@parthead{black} -\newcommand*\tud@color@chapterfont{black} -\newcommand*\tud@color@chapterpage{white} -\newcommand*\tud@font@heading{% - \if@tud@din\dinbn\tud@raggedright\else\tud@RaggedRight\fi% -} -\newcommand*\tud@font@heading@size{\Huge} +\newcommand*\tud@part@fontcolor{black} +\newcommand*\tud@chapter@fontcolor{black} \newkomafont{parttitle}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } -\newlength{\pageheadingsvskip} -\newlength{\headingsvskip} +\newlength\pageheadingsvskip +\newlength\headingsvskip +\newcommand*\tud@headmidvskip{\par\nobreak\vspace{.5\baselineskip}} +\newcommand*\tud@headmidvskip@neg{% + \setbox0\vbox{\tud@headmidvskip}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht0\relax}% +} \newcommand*\tud@layout@process{% - \ifcase \tud@layout@cover\relax% - \stdbool@lock{@tud@cover@cdlayout}{false}% + \ifcase\tud@layout@cover\relax% + \bool@std@lock{@tud@cover@cdgeometry}{false}% \else% - \stdbool@lock{@tud@cover@cdlayout}{true}% + \bool@std@lock{@tud@cover@cdgeometry}{true}% \fi% - \ifcase \tud@layout@title\relax% + \ifcase\tud@layout@title\relax% \tud@cmd@restore{maketitle}% \tud@cmd@restore{@maketitle}% \tud@cmd@restore{titlepagestyle}% @@ -2402,18 +2865,18 @@ \usekomafont{disposition}% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subtitle}{% \tud@font@heading% \usesizeofkomafont{section}% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{subject}{% \fontfamily{\sfdefault}% \fontseries{\bfdefault}% \selectfont% - \color{\tud@color@titlefont}% + \color{\tud@title@fontcolor}% }% \tud@font@koma@set{author}{\usekomafont{subject}}% \tud@font@koma@set{date}{\usekomafont{titlepage}}% @@ -2421,7 +2884,7 @@ \let\maketitle\tud@maketitle% \renewcommand*\titlepagestyle{plain.tudheadings}% \fi% - \ifcase \tud@layout@part\relax% + \ifcase\tud@layout@part\relax% \tud@cmd@restore{partheadstartvskip}% \tud@cmd@restore{partheadmidvskip}% \tud@cmd@restore{partheadendvskip}% @@ -2446,22 +2909,22 @@ \else% \tud@sectioning@set[addpart]{part}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% \tud@font@koma@set{partnumber}{% \tud@font@heading% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% }% - \renewcommand*\partheadmidvskip{\par\nobreak\vspace{.5\baselineskip}}% + \let\partheadmidvskip\tud@headmidvskip% \fi% \let\partheadstartvskip\tud@partheadstartvskip% \let\partheadendvskip\tud@partheadendvskip% - \renewcommand*\partheademptypage{}% + \let\partheademptypage\relax% \renewcommand*\partpagestyle{plain.tudheadings}% \let\@part\tud@@part% \let\@spart\tud@@spart% \fi% - \ifcase \tud@layout@chapter\relax% + \ifcase\tud@layout@chapter\relax% \tud@cmd@restore{chapterheadstartvskip}% \tud@cmd@restore{chapterformat}% \tud@cmd@restore{@chapter}% @@ -2482,7 +2945,7 @@ \tud@sectioning@set[addchap]{chapter}{% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@chapterfont}% + \color{\tud@chapter@fontcolor}% }% \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% \tud@sectioning@set[addsec]{section}{\tud@font@heading}% @@ -2493,26 +2956,21 @@ \let\@@makechapterhead\tud@@@makechapterhead% \fi% } -\AtEndPreamble{% - \let\tud@font@heading@size\size@part% - \tud@layout@process% -} \newcommand*\tud@partheadstartvskip{% - \def\tud@color@partfont{black}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{black}% - \ifcase \tud@layout@part\relax\or\or% - \def\tud@color@partfont{HKS41}% - \def\tud@color@partpage{white}% - \def\tud@color@parthead{HKS41}% + \def\tud@part@fontcolor{black}% + \ifcase\tud@layout@part\relax\or\or% + \def\tud@part@fontcolor{HKS41}% + \or% + \def\tud@part@fontcolor{HKS41}% \or% - \def\tud@color@partpage{HKS41}% - \def\tud@color@partfont{HKS41!30}% - \def\tud@color@parthead{white}% + \def\tud@part@fontcolor{HKS41!30}% + \or% + \def\tud@part@fontcolor{HKS41!30}% \fi% \begingroup% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% @@ -2520,25 +2978,41 @@ \begingroup% \tud@font@heading% \tud@font@heading@size% - \color{\tud@color@partfont}% + \color{\tud@part@fontcolor}% \ifx\@@title\@empty% \tud@makeuppercase{\strut}% \else% \tud@makeuppercase{\@@title}% \fi% - \par\nobreak\vskip .775\baselineskip% + \par\nobreak + {\usekomafont{titlepage}\vskip 2ex\@plus1ex\@minus1ex}% \endgroup% \else% \usekomafont{partnumber}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% + \tud@headmidvskip@neg% \fi% \endgroup% } \newcommand*\tud@partheadendvskip{% \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@partpage}% - \def\tud@head@color{\tud@color@parthead}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@part\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@part@fontcolor}}% \clearpage% }% } @@ -2550,11 +3024,14 @@ }{}% }{% \ifnumbered{part}{% - \size@partnumber{\tud@makeuppercase\partformat}% + \size@partnumber{\tud@makeuppercase{\partformat}}% + \partheadmidvskip% }{% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \partheadmidvskip% + \fi% }% - \unskip\partheadmidvskip% }{}{\tud@patch@wrn{@part}}% \let\tud@@spart\@spart \patchcmd{\tud@@spart}{% @@ -2562,31 +3039,34 @@ \sectfont\nobreak\size@part }{% \normalfont\sectfont\nobreak% - \size@partnumber{\strut}% + \if@tud@parttitle\else% + \size@partnumber{\vphantom{\partname}}% + \fi% \partheadmidvskip\unskip% \size@part% }{}{\tud@patch@wrn{@spart}} \newcommand*\tud@partpreamble{% \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% \KOMAoptions{titlepage=false}% - \addtokomafont{disposition}{\color{\tud@color@partfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@partfont}}% - \color{\tud@color@partfont}% + \addtokomafont{disposition}{\color{\tud@part@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@part@fontcolor}}% + \color{\tud@part@fontcolor}% \vskip\dimexpr\topskip+.9\baselineskip\relax% \@afterindentfalse\@afterheading% } \newcommand*\tud@chapterheadstartvskip{% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{black}% - \ifcase \tud@layout@chapter\relax\or\or% - \def\tud@color@chapterpage{white}% - \def\tud@color@chapterfont{HKS41}% - \or% - \def\tud@color@chapterpage{HKS41!10}% - \def\tud@color@chapterfont{HKS41}% + \def\tud@chapter@fontcolor{black}% + \ifcase\tud@layout@chapter\relax\or\else% + \def\tud@chapter@fontcolor{HKS41}% \fi% - \vspace*{% - \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + \ifcsdef{scr@v@3.15}{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip+\parskip\relax% + }% + }{% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip\relax% + }% }% \if@tud@chapterpage% \vspace*{\pageheadingsvskip}% @@ -2596,36 +3076,48 @@ }% \newcommand*\tud@@@makechapterhead{} \let\tud@@@makechapterhead\@@makechapterhead -\patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% - \chapterheadstartvskip% - \if@chapterprefix% - \begingroup% - \usekomafont{chapterprefix}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip\relax}% - \endgroup% - \fi% -}{}{\tud@patch@wrn{@@makechapterhead}} -\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% - \tud@makeuppercase{\chapterformat}% -}{}{\tud@patch@wrn{@@makechapterhead}} -\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{% - \setlength{\parskip}{\z@}% - \size@chapter{#1}% -}{}{\tud@patch@wrn{@@makechapterhead}} +\ifcsdef{scr@v@3.15}{% + \patchcmd{\tud@@@makechapterhead}{\chapterformat\chapterheadmidvskip}{% + \tud@headmidvskip@neg% + \tud@makeuppercase{\chapterformat}\tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\IfUsePrefixLine{}{\raggedchapter}}{% + \IfUsePrefixLine{\IfUseNumber{\setlength\parskip{\z@}}{}}{\raggedchapter}% + }{}{\tud@patch@wrn{@@makechapterhead}} +}{% + \patchcmd{\tud@@@makechapterhead}{\chapterheadstartvskip}{% + \chapterheadstartvskip% + \ifnumbered{chapter}{% + \if@chapterprefix% + \begingroup% + \usekomafont{chapterprefix}% + \tud@headmidvskip@neg% + \endgroup% + \fi% + }{}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \tud@makeuppercase{\chapterformat}% + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\endgraf\nobreak\vskip.5\baselineskip}{% + \tud@headmidvskip + }{}{\tud@patch@wrn{@@makechapterhead}} + \patchcmd{\tud@@@makechapterhead}{\interlinepenalty}{% + \ifnumbered{chapter}{\setlength\parskip{\z@}}{}\interlinepenalty + }{}{\tud@patch@wrn{@@makechapterhead}} +} \newcommand*\tud@chapterpreamble{% \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% \KOMAoptions{titlepage=false}% \if@tud@chapterpage% - \if@tud@cdfonts% - \if@tud@heavyfont% - \TUDoptions{cdfont=heavy}% - \else% - \TUDoptions{cdfont=true}% - \fi% + \ifcase\tud@cdfont\relax\or% + \TUDoptions{cdfont=true}% + \or% + \TUDoptions{cdfont=heavy}% \fi% - \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% - \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% - \color{\tud@color@chapterfont}% + \addtokomafont{disposition}{\color{\tud@chapter@fontcolor}}% + \addtokomafont{dictumtext}{\color{\tud@chapter@fontcolor}}% + \color{\tud@chapter@fontcolor}% \fi% \@afterindentfalse\@afterheading% } @@ -2648,14 +3140,29 @@ \newcommand*\tud@chapter@app{% \if@tud@chapterpage% \tud@cleardoublespecialpage{% - \tud@pagecolor{\tud@color@chapterpage}% - \def\tud@head@color{\tud@color@chapterfont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@chapter\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{HKS41}% + \def\tud@foot@logocolor{HKS41}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41!10}% + \def\tud@head@bar{2}% + \fi% + \addtokomafont{pagenumber}{\sffamily\color{\tud@chapter@fontcolor}}% \clearpage% }% \if@restonecol\twocolumn\fi% \else% - \tud@ifinpslist{\chapterpagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}% \fi% \if@twocolumn% \@afterindentfalse\@afterheading% @@ -2668,18 +3175,20 @@ }% \global\let\tud@clearcolor@wrn\relax% } -\providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} -\providecommand\scr@section@dblarg[1]{% - \kernel@ifnextchar[%] - {#1}% - {\scr@section@xdblarg{#1}}% -} -\providecommand\scr@section@xdblarg[2]{% - \begingroup - \edef\reserved@a{% - \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% - {\scr@osectarg}}% - \reserved@a +\ifcsdef{scr@v@3.14}{}{% + \providecommand*\SecDef[2]{\@ifstar{#2}{\scr@section@dblarg{#1}}} + \providecommand\scr@section@dblarg[1]{% + \kernel@ifnextchar[%] + {#1}% + {\scr@section@xdblarg{#1}}% + } + \providecommand\scr@section@xdblarg[2]{% + \begingroup + \edef\reserved@a{% + \unexpanded{\endgroup\let\scr@osectarg\z@#1[{#2}]{#2}\def\scr@osectarg}% + {\scr@osectarg}}% + \reserved@a + } } \newcommand*\tud@part{} \newcommand*\tud@spart{} @@ -2701,7 +3210,7 @@ \renewcommand\minisec[1]{\@@tud@minisec{\tud@makeuppercase{##1}}}% }{% \tud@sectioning@case{#2}% - \ifstrempty{#1}{}{% + \ifblank{#1}{}{% \tud@cmd@store{#1}% \tud@sectioning@case{#1}% }% @@ -2751,7 +3260,7 @@ } \newcommand*\tud@sectioning@reset[2][]{% \tud@cmd@restore{#2}% - \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \ifblank{#1}{}{\tud@cmd@restore{#1}}% \tud@font@koma@unset{#2}% } \robustify{\footnote}% @@ -2766,7 +3275,7 @@ } \newcommand*\tud@font@koma@set[2]{% \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% - \@namedef{tud@font@koma@#1}{#2}% + \@namedef{tud@font@koma@#1}{#2\nobreak}% } \newcommand*\tud@font@koma@reset[1]{% \addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}% @@ -2874,13 +3383,13 @@ \addsectiontocentry{}{#2}% }{% \addchaptertocentry{}{#2}% - } + }% }{}% } \newcommand*\tud@fm@next[2]{% - \TUD@parameter@set[#1]{#2}% + \TUD@parameter@set{#1}{#2}% \if@twocolumn% - \ifbool{@tud@#1@multi}{\par}{\newpage} + \ifbool{@tud@#1@multi}{\par}{\newpage}% \else% \if@titlepage% \ifbool{@tud@#1@fil}{% @@ -2896,17 +3405,20 @@ }% }{\ifbool{@tud@#1@multi}{}{\clearpage}}% \else% - \ifnum\@nameuse{tud@#1@level}<2 - \end{\tud@quoting} - \begin{\tud@quoting} + \ifnum\@nameuse{tud@#1@level}<2% + \end{\tud@quoting}% + \begin{\tud@quoting}% \fi% \fi% \fi% } \newcommand*\tud@fm@pagestyle[2]{% \if@titlepage% - \ifcsdef{ps@#2}{\renewcommand*\tud@ps{#2}}{% - \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{}% + \ifcsdef{ps@#2}{\def\tud@ps{#2}}{% + \ClassError{\tudcls@name}{`#2' is no valid pagestyle}{% + You tried to use `#2' as a pagestyle for the\MessageBreak% + `#1' environment, but it was never defined% + }% }% \else% \ClassWarning{\tudcls@name}{% @@ -2922,14 +3434,15 @@ \csundef{endabstract} \NewEnviron{abstract}[1][]{% \ifnumless{\@nameuse{tud@abstract@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{abstract}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \TUD@parameter@set[abstract]{#1}% - \if@tud@abstract@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% \tud@fm@check{abstract}{\tud@fm@set{abstract}{\abstractname}{\BODY}}% }[% \if@titlepage% @@ -2942,19 +3455,20 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{abstract}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{on}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@abstract@markbothtrue}{% - \ifstr{#1}{false}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{no}{\@tud@abstract@markbothfalse}{% - \ifstr{#1}{off}{\@tud@abstract@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@abstract@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% + \@tud@abstract@markbothfalse% + }{% \@tud@abstract@markbothfalse% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% \manualmark\markboth{#1}{#1}% - }}}}}}% + }% }% \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% - \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{abstract}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{abstract}{#1}}% } \newcommand*\nextabstract[1][]{% \ifnum\tud@multicols>1\relax% @@ -2975,17 +3489,26 @@ } \newif\if@tud@declarations \NewEnviron{declarations}[1][]{% + \@tud@declarationstrue% \ifnumless{\@nameuse{tud@declaration@level}}{3}{}{\@titlepagetrue}% + \let\tud@ps\relax% + \TUD@parameter@set{declaration}{#1}% + \tud@multicols@check% \if@titlepage% \tud@currentpagestyle@set% - \clearpage\def\tud@ps{empty}% + \ifx\tud@ps\relax\def\tud@ps{empty}\fi% + \clearpage% + \tud@ps@select% \fi% - \@tud@declarationstrue% - \TUD@parameter@set[declaration]{#1}% - \if@tud@declaration@markboth\def\tud@ps{headings}\fi% - \tud@multicols@check% - \if@titlepage\tud@ps@select\fi% - \tud@fm@check{declaration}{\BODY}% + \tud@fm@check{declaration}{% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + }% }[% \if@titlepage% \aftergroup\tud@currentpagestyle@reset% @@ -2997,30 +3520,35 @@ \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% \TUD@parameter@define{pagestyle}{\tud@fm@pagestyle{declaration}{#1}}% \TUD@parameter@define{markboth}[true]{% - \ifstr{#1}{true}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{on}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{yes}{\@tud@declaration@markbothtrue}{% - \ifstr{#1}{false}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{no}{\@tud@declaration@markbothfalse}{% - \ifstr{#1}{off}{\@tud@declaration@markbothfalse}{% + \ifstrbool{#1}{% + \@tud@declaration@markbothtrue% + \ifx\tud@ps\relax\def\tud@ps{headings}\fi% + }{% \@tud@declaration@markbothfalse% + }{% + \@tud@declaration@markbothfalse% + \ifx\tud@ps\relax\def\tud@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@let{confirmationclosing}{closing}% \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% - \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% - \TUD@parameter@sethandler{\tud@environmenthandler{#1}}% + \TUD@parameter@let{option}{declaration}% + \TUD@parameter@sethandler{\TUD@parameter@defaulthandler{declaration}{#1}}% } \newcommand*\declaration[1][]{% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% - \tud@fm@blocking + \tud@fm@blocking% \endgroup% }{% \begin{declarations}[#1]% @@ -3028,12 +3556,20 @@ \tud@fm@blocking% \end{declarations}% }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\confirmation[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@supporter{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{supporter=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@confirmation% \endgroup% }{% @@ -3041,20 +3577,30 @@ \tud@fm@confirmation% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@confirmation{% \tud@fm@check{declaration}{% \tud@fm@set{declaration}{\confirmationname}{% - \confirmationtext\vskip0pt\@confirmationclosing% + \confirmationtext\vskip\z@\@confirmationclosing% }% }% } \newcommand*\blocking[1][]{% - \TUD@parameter@sethandler[declaration]{\def\@company{##1}}% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@set{declaration}{company=##1}% + }% \ifbool{@tud@declarations}{% \begingroup% - \TUD@parameter@set[declaration]{#1}% + \TUD@parameter@set{declaration}{#1}% \tud@fm@blocking% \endgroup% }{% @@ -3062,7 +3608,12 @@ \tud@fm@blocking% \end{declarations}% }% - \TUD@parameter@sethandler[declaration]{\tud@environmenthandler{##1}}% + \TUD@parameter@sethandler[declaration]{% + \TUD@parameter@defaulthandler{declaration}{##1}% + }% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% } \newcommand*\tud@fm@blocking{% \tud@fm@check{declaration}{% @@ -3077,29 +3628,27 @@ \selectfont% \large% } -\newcommand*\tud@color@titlefont{black} -\newcommand*\tud@color@titlepage{white} -\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@title@fontcolor{black} \newcommand*\tud@titlepagenumber{}% \let\tud@titlepagenumber\relax% \newcommand*\tud@maketitle[1][]{% \begingroup% - \TUD@parameter@set[title]{#1}% - \ifcase \tud@layout@title + \TUD@parameter@set{title}{#1}% + \ifcase\tud@layout@title\relax% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \else% \if@titlepage% \tud@maketitlepage% \else% - \ifcase \tud@layout@title\relax\or\else% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\else% + \def\tud@title@fontcolor{HKS41}% \fi% \let\@maketitle\tud@@maketitle% \ifx\tud@titlepagenumber\relax\gdef\tud@titlepagenumber{1}\fi% \if@twocolumn% - \tud@title@twocolumn[{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}]% + \tud@title@twocolumn{\tud@cmd@use{maketitle}[\tud@titlepagenumber]}% \else% \tud@cmd@use{maketitle}[\tud@titlepagenumber]% \fi% @@ -3108,21 +3657,25 @@ \endgroup% } \TUD@parameter{title}{% + \TUD@parameter@define{cdtitle}[true]{\TUDoption{cdtitle}{#1}}% + \TUD@parameter@let{cd}{cdtitle}% \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@sethandler{\TUD@parameter@set[title]{pagenumber=#1}}% + \TUD@parameter@define@ps{#1}% + \TUD@parameter@sethandler{\TUD@parameter@set{title}{pagenumber=#1}}% }% \robustify{\thanks}% \robustify{\footnotemark}% \newcommand*\tud@titleback{}% \newcommand*\tud@maketitlepage{% - \ifcase \tud@layout@title\relax\or\or% - \def\tud@color@titlefont{HKS41}% - \def\tud@color@titlehead{HKS41}% + \def\tud@title@fontcolor{black}% + \ifcase\tud@layout@title\relax\or\or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41}% + \or% + \def\tud@title@fontcolor{HKS41!30}% \or% - \def\tud@color@titlepage{HKS41}% - \def\tud@color@titlefont{HKS41!30}% - \def\tud@color@titlehead{white}% + \def\tud@title@fontcolor{HKS41!30}% \fi% \begin{titlepage}% \ifx\tud@titlepagenumber\relax\else% @@ -3155,13 +3708,13 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin\relax% \headheight=0pt% \headsep=0pt% \footskip=\baselineskip% @@ -3186,26 +3739,27 @@ \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% \fi% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\pageheadingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -3261,16 +3815,15 @@ \ifdefstring{\@date}{\today}{% \ifdefvoid{\@duedate}{% \ClassWarning{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak% + `\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{\tudcls@name}{% - `\string\submissiondate' or `\string\date' was not given.% - \MessageBreak It's substituted by the given due date% + `\string\date' was not given.\MessageBreak% + It's substituted by the given due date% }% \let\@date\@duedate% }% @@ -3313,19 +3866,33 @@ \fi% \fi% \def\@tempa{% - \tud@pagecolor{\tud@color@titlepage}% - \def\tud@head@color{\tud@color@titlehead}% - \color{\tud@color@titlefont}% - \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% - \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \def\tud@pagecolor{}% + \ifcase\tud@layout@title\relax\or% + \def\tud@head@bar{0}% + \or% + \def\tud@head@bar{1}% + \or% + \def\tud@head@bar{2}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{-1}% + \def\tud@head@logocolor{white}% + \def\tud@foot@logocolor{white}% + \bool@std@lock{@tud@head@widebar}{true}% + \or% + \def\tud@pagecolor{HKS41}% + \def\tud@head@bar{2}% + \fi% + \color{\tud@title@fontcolor}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@title@fontcolor}}% + \addtokomafont{footnote}{\sffamily\color{\tud@title@fontcolor}}% \thispagestyle{empty.tudheadings}% - \tud@ddc@enlargepage% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage}{}% }% \if@tud@cover% \begingroup% \@tempa% \cleardoubleemptypage% - \tud@restorepagecolor% \endgroup% \else% \tud@cleardoublespecialpage[\tud@titleback]{% @@ -3380,28 +3947,29 @@ \newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} \newcommand*\tud@@maketitle{% \global\@topnum=\z@% - \vspace*{\dimexpr% - \tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip+\parskip\relax% + \vspace*{% + \dimexpr\tud@dim@headdiff+\tud@dim@headingsvskip-\baselineskip% + +\parskip\relax% }% \vspace*{\headingsvskip}% \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% \begingroup% \usekomafont{titlepage}% \tud@footnote@unhyper% - \setlength{\@tempdima}{\z@}% + \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% \setbox0\vbox{% \begin{minipage}[t]{\textwidth}% {\usekomafont{titlehead}{\@titlehead\par\null}}% \end{minipage}\newline\null% }% - \addtolength{\@tempdima}{\dimexpr\ht0+\dp0\relax}% + \addtolength\@tempdima{\dimexpr\ht0+\dp0\relax}% \fi% \TUDoptions{subjectthesis=true}% \tud@letsubjectthesis% \ifx\@subject\@empty\else% \setbox1\vbox{{\usekomafont{subject}{\@subject\par\null}}}% - \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt\relax}% + \addtolength\@tempdima{\dimexpr\ht1+\dp1+1pt\relax}% \fi% \vspace*{-\@tempdima}% \ifx\@titlehead\@empty\else\usebox0\par\fi% @@ -3430,7 +3998,7 @@ \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% \vskip 2\bigskipamount% - \tud@ifinpslist{\titlepagestyle}{\tud@ddc@enlargepage}{}% + \iftudscrverlower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } \newcommand*\tud@multiple@field{} @@ -3524,14 +4092,13 @@ \matriculationnumber,\studentid,\matriculationid,% \placeofbirth,\birthplace,\dateofbirth,\birthday,% } -\RequirePackage{afterpage}[1995/10/27] \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% \maketitle[#1]% \onecolumn{#2}\twocolumn% \else% - \tud@title@twocolumn[{\vspace*{.9\baselineskip}\maketitle[#1]{#2}}]% + \tud@title@twocolumn{\maketitle[#1]{#2}}% \fi% \else% \ClassError{\tudcls@name}{% @@ -3540,34 +4107,47 @@ \fi% } \newsavebox\tud@title@twocolumn@box -\newcommand\tud@title@twocolumn[1][]{% +\newcommand\tud@title@twocolumn[1]{% \onecolumn% \begingroup% \let\clearpage\relax% \let\newpage\relax% - \global\setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% + \global\setbox\tud@title@twocolumn@box\vbox{% + \vspace*{.9\baselineskip}#1\bigskip% + }% \endgroup% - \setlength{\@tempdimc}{\textheight}% - \tud@ifinpslist{\titlepagestyle}{% - \ifstr{\tud@currentgeometry}{tudareaddc}{}{% - \tud@ddc@check% - \ifcase \@tempb\relax\else% - \setlength{\@tempdimc}{\dimexpr\textheight-\tud@dim@ddcdiff}% - \fi% - }{}% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{% + \tud@ddc@check% + \ifcase\@tempb\relax\else% + \setlength\@tempdima{\dimexpr\textheight-\tud@dim@ddcdiff\relax}% + \@tempswatrue% + \fi% }{}% - \@whiledim\@tempdimc<\ht\tud@title@twocolumn@box\do{% - \splittopskip\topskip% - \splitmaxdepth\maxdepth% - \vsplit\tud@title@twocolumn@box to \@tempdimc% - \clearpage% - \setlength{\@tempdimc}{\textheight}% - }% - \twocolumn[\unvbox\tud@title@twocolumn@box]% - \ifdim\@tempdimc<\textheight\relax% - \enlargethispage{-\tud@dim@ddcdiff}% - \afterpage{\enlargethispage{-\tud@dim@ddcdiff}}% + \ifdim\ht\tud@title@twocolumn@box>\@tempdima\relax% + \@whiledim\ht\tud@title@twocolumn@box>\@tempdima\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\tud@title@twocolumn@box to \@tempdima% + \clearpage% + \setlength\@tempdima{\textheight}% + \iftudscrverlower{2.03}{\@tempswafalse}{}% + }% + \else% + \setbox\tud@title@twocolumn@box\vbox{#1\bigskip}% \fi% + \twocolumn[\unvbox\tud@title@twocolumn@box]% + \iftudscrverlower{2.03}{% + \if@tempswa% + \ClassWarning{\tudcls@name}{% + You are using a two-column title along with\MessageBreak% + the DDC-logo. Unfortunately in this case, the\MessageBreak% + type area hast to be adjusted manually. Please\MessageBreak% + use `\string\enlargethispage{-\the\tud@dim@ddcdiff}'\MessageBreak% + in both columns after the title% + }% + \fi% + }{}% } \newcommand*\tud@letsubjectthesis{% \if@tud@subjectthesis\ifx\@thesis\@empty\else% @@ -3588,14 +4168,12 @@ }% } \newif\if@tud@cover -\newcommand*\tud@coverpagetopmargin{} -\let\tud@coverpagetopmargin\coverpagetopmargin \newcommand*\makecover[1][]{% \if@titlepageiscoverpage% \ClassWarning{\tudcls@name}{% Using both option `titlepage=firstiscover' and\MessageBreak% `\string\makecover' together isn't supported. The\MessageBreak% - option `titlepage=firstiscover' will be ignorded. If you\MessageBreak% + option `titlepage=firstiscover' will be ignored. If you\MessageBreak% want to create an individual cover, you have to use\MessageBreak% `\string\extratitle' instead of `\string\makecover'.\MessageBreak% See also the documentation of KOMA-Script% @@ -3606,28 +4184,20 @@ \begingroup% \let\thanks\@gobble% \let\footnote\@gobble% - \TUD@parameter@set[cover]{#1}% + \TUD@parameter@set{cover}{#1}% \let\tud@layout@title\tud@layout@cover% \tud@layout@process% - \if@tud@cover@cdlayout% - \ifcase \tud@layout@cover\relax% - \let\coverpagetopmargin\tud@dim@top% - \else% - \def\coverpagetopmargin{% - \dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep\relax% - }% - \fi% - \let\coverpagebottommargin\tud@dim@bottom% - \let\coverpageleftmargin\tud@dim@left% - \let\coverpagerightmargin\tud@dim@right% - \else% - \ifcase \tud@layout@cover\relax\else% - \expandafter\def\expandafter\coverpagetopmargin\expandafter{% - \coverpagetopmargin-\tud@coverpagetopmargin% - }% - \fi% + \if@tud@cover@cdgeometry% + \let\coverpagetopmargin\tud@dim@slimmargin% + \let\coverpagebottommargin\tud@dim@widemargin% + \let\coverpageleftmargin\tud@dim@widemargin% + \let\coverpagerightmargin\tud@dim@slimmargin% + \iftudscrverlower{2.03}{% + \def\coverpagetopmargin{.5\tud@dim@both}% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% \fi% - \ifcase \tud@layout@cover\relax% + \ifcase\tud@layout@cover\relax% \KOMAoptions{titlepage=firstiscover}% \let\@extratitle\@empty% \let\@uppertitleback\@empty% @@ -3646,60 +4216,73 @@ \noexpand\let\noexpand\titlepage@restore\noexpand\relax% }% \begingroup% - \topmargin=\dimexpr \coverpagetopmargin-1in\relax% - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax% - \textwidth=\dimexpr% - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax% - \if@tud@cover@cdlayout% - \textheight=\dimexpr% - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax% + \oddsidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \evensidemargin=\dimexpr\coverpageleftmargin-1in\relax% + \textwidth=\dimexpr\paperwidth-\coverpageleftmargin% + -\coverpagerightmargin\relax% \headheight=0pt% \headsep=0pt% - \else% - \textheight=\dimexpr\paperheight-\coverpagebottommargin% - -\tud@dim@headheight-\tud@dim@barheight% - -\tud@dim@headsep-\tud@dim@bottom\relax% - \headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight\relax% - \headsep=\tud@dim@headsep% - \fi% - \footskip=\tud@dim@footskip% - \@colht=\textheight% - \@colroom=\textheight% - \vsize=\textheight% - \columnwidth=\textwidth% - \hsize=\columnwidth% - \linewidth=\hsize% - \tud@dim@headdiff=\z@% - \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% - \tud@maketitle% - \clearpage% + \footskip=\dimexpr\tud@dim@footsep+\tud@ta@footheight\relax% + \iftudscrverlower{2.03}{% + \footskip=\dimexpr\tud@dim@headsep+\tud@ta@footheight% + -1.25\baselineskip\relax% + }{}% + \if@tud@cover@cdgeometry% + \def\coverpagetopmargin{% + \dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep\relax% + }% + \else% + \topmargin=\dimexpr\tud@dim@topmargin+\tud@dim@barheight% + +\tud@dim@headsep-1in\relax% + \def\@tempa{2\dimexpr\coverpagetopmargin\relax}% + \ifx\@tempa\coverpagebottommargin\relax% + \let\coverpagebottommargin\tud@dim@widemargin% + \iftudscrverlower{2.03}{% + \def\coverpagebottommargin{.5\tud@dim@both}% + }{}% + \fi% + \fi% + \textheight=\dimexpr\paperheight-\coverpagetopmargin% + -\coverpagebottommargin-\tud@dim@extrabottommargin\relax% + \topmargin=\dimexpr\coverpagetopmargin-1in\relax% + \@colht=\textheight% + \@colroom=\textheight% + \vsize=\textheight% + \columnwidth=\textwidth% + \hsize=\columnwidth% + \linewidth=\hsize% + \tud@dim@headdiff=\z@% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \tud@maketitle% + \clearpage% \csname titlepage@restore\endcsname% \fi% \endgroup% } -\newbool@lock{@tud@cover@cdlayout} +\bool@lock{@tud@cover@cdgeometry} \TUD@parameter{cover}{% - \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% - \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% - \TUD@parameter@define{cdlayout}[true]{% - \ifstr{#1}{true}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{on}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{yes}{\setbool@lock{@tud@cover@cdlayout}{true}}{% - \ifstr{#1}{false}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{no}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \ifstr{#1}{off}{\setbool@lock{@tud@cover@cdlayout}{false}}{% - \TUD@parameter@wrn{cdlayout}{true,false}% - }}}}}}% + \TUD@parameter@define{cdcover}[true]{\TUDoption{cdcover}{#1}}% + \TUD@parameter@let{cd}{cdcover}% + \TUD@parameter@define{cdgeometry}[true]{% + \ifstrbool{#1}{% + \bool@set@lock{@tud@cover@cdgeometry}{true}% + }{% + \bool@set@lock{@tud@cover@cdgeometry}{false}% + }{% + \TUD@parameter@error{cdgeometry}{true,false}% + }% }% + \TUD@parameter@define{pagenumber}{\def\tud@titlepagenumber{#1}}% + \TUD@parameter@define@ps{#1}% \TUD@parameter@sethandler{% \ifxnumber{#1}{% - \TUD@parameter@set[cover]{pagenumber=#1}% + \TUD@parameter@set{cover}{pagenumber=#1}% }{% - \TUD@parameter@set[cover]{cdlayout=#1}% + \TUD@parameter@set{cover}{cdgeometry=#1}% }% }% -}% +} %%% From File: tudscr-misc.dtx \newcounter{symbolheadings}[chapter] \newcommand*\tudbookmark[1][]{\@gobbletwo} @@ -3727,20 +4310,21 @@ \tudbookmark[0]{\titlepagename}{title}% }{}{\tud@patch@wrn{maketitle}} \pretocmd{\tableofcontents}{% - \if@openright\cleardoublepage\else\clearpage\fi% \if@tud@bookmarks% \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% \fi% \tudbookmark[0]{\contentsname}{toc}% }{}{\tud@patch@wrn{tableofcontents}} -\newcommand*\tud@environmenthandler[1]{% - \def\@tempa{#1}% +\newcommand*\TUD@parameter@defaulthandler[2]{% + \def\@tempa{#2}% \@for\@tempb:=\@tempa\do{% \ifx\@tempb\@empty\else% - \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% - \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% - \expandafter\selectlanguage\expandafter{\@tempb}% - }}% + \ifstr{\@tempb}{twocolumn}{\def\@tempb{2}}{}% + \ifxnumber{\@tempb}{% + \TUD@parameter@set{#1}{columns=\@tempb}% + }{% + \TUD@parameter@set{#1}{language=\@tempb}% + }% \fi% }% } @@ -3759,7 +4343,6 @@ \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% \protect\vphantom{\"A\"O\"U}% -%% \addtokomafont{section}{\strut\ignorespaces}% } \newcommand*\tud@lowerstring[2]{% \protected@edef#1{#2}% @@ -3771,32 +4354,39 @@ \protected@edef\reserved@a{\noexpand#1{#2}{#3}}\reserved@a% } %%% From File: tudscr-comp.dtx -\newlength{\chapterheadingvskip} +\newcommand*\tud@deprecated@cmd[2]{% + \AtBeginDocument{% + \ifcsdef{#1}{}{% + \expandafter\newrobustcmd\csname #1\endcsname{% + \ClassWarning{\tudcls@name}{% + The command `\@backslashchar#1' is deprecated.\MessageBreak% + It's recommended to use `\@backslashchar#2' instead% + }% + \csletcs{#1}{#2}% + \@nameuse{#2}% + }% + }% + }% +} +\newlength\chapterheadingvskip \let\chapterheadingvskip\headingsvskip -\newcommand*\professorship{} -\let\professorship\chair -\newcommand*\student{} -\let\student\author -\newrobustcmd*\studentid{} -\newrobustcmd*\matriculationid{} -\let\studentid\matriculationnumber -\let\matriculationid\matriculationnumber -\newrobustcmd*\enrolmentyear{} -\let\enrolmentyear\matriculationyear -\newrobustcmd*\birthplace{} -\let\birthplace\placeofbirth -\newcommand*\location{} -\let\location\place -\newcommand*\submissiondate{} -\let\submissiondate\date -\newcommand*\oralexaminationdate{} -\let\oralexaminationdate\defensedate -\newrobustcmd*\birthday{} -\let\birthday\dateofbirth -\newcommand*\logofile{} -\let\logofile\headlogo -\newcommand*\logofilename{} -\let\logofilename\headlogo +\tud@deprecated@cmd{professorship}{chair} +\tud@deprecated@cmd{student}{author} +\tud@deprecated@cmd{studentid}{matriculationnumber} +\tud@deprecated@cmd{matriculationid}{matriculationnumber} +\tud@deprecated@cmd{enrolmentyear}{matriculationyear}% +\tud@deprecated@cmd{birthplace}{placeofbirth} +\tud@deprecated@cmd{location}{place} +\tud@deprecated@cmd{submissiondate}{date} +\tud@deprecated@cmd{oralexaminationdate}{defensedate}% +\tud@deprecated@cmd{birthday}{dateofbirth} +\tud@deprecated@cmd{logofile}{headlogo} +\tud@deprecated@cmd{logofilename}{headlogo} +\AfterPackage*{tudscrsupervisor}{% + \tud@deprecated@cmd{startdate}{issuedate}% + \tud@deprecated@cmd{finaldate}{duedate}% + \tud@deprecated@cmd{maturitydate}{duedate}% +} \endinput %% %% End of file `tudscrreprt.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty index 619cf3685bf..d9c79e98223 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty @@ -12,7 +12,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -26,13 +26,13 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% @@ -54,7 +54,7 @@ \fi% }% \fi% - \@TUDVersion{2014/12/17 v2.02 TUD-KOMA-Script}% + \@TUDVersion{2015/02/15 v2.03 TUD-KOMA-Script}% \endgroup% \providecommand*\tudscrmail{tudscr@gmail.com} \@ifundefined{tudcls@name}{% @@ -76,7 +76,7 @@ %%% From File: tudscr-supervisor.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{tudscrsupervisor}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package (commands for supervisors)% ] @@ -86,10 +86,9 @@ \TUD@parameter{tudpage}{% \TUD@parameter@define{headline}{\def\@headline{##1}}% \TUD@parameter@let{line}{headline}% - \TUD@parameter@sethandler{\def\@headline{##1}}% - \TUD@parameter@set{pagestyle=empty}% + \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}% }% - \tudpage[#1]% + \tudpage[pagestyle=empty,#1]% \tudbookmark{\taskname}{task}% \subsection*{% \ifx\@headline\@empty% @@ -133,7 +132,7 @@ \par% \endgroup% \endtudpage% - \cleardoublepage% + \aftergroup\cleardoublepage% } \newcommand\taskform[3][]{% \begin{task}[#1] @@ -154,10 +153,9 @@ \TUD@parameter@define{headline}{\def\@headline{##1}}% \TUD@parameter@let{line}{headline}% \TUD@parameter@define{grade}{\def\@grade{##1}}% - \TUD@parameter@sethandler{\def\@headline{##1}}% - \TUD@parameter@set{pagestyle=empty}% + \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}% }% - \tudpage[#1]% + \tudpage[pagestyle=empty,#1]% \tudbookmark{\evaluationname}{evaluation}% \subsection*{% \ifx\@headline\@empty% @@ -199,7 +197,7 @@ \end{tabular}% \hfill\null% \endtudpage% - \cleardoublepage% + \aftergroup\cleardoublepage% } \newcommand\evaluationform[5][]{% \begin{evaluation}[#1] @@ -210,7 +208,7 @@ \ifxblank{#5}{}{\def\@grade{#5}}% \end{evaluation}% } -\newlength{\tud@dim@table}% +\newlength\tud@dim@table% \newcommand*\tud@author@table{% \tud@check@author% \begingroup% @@ -231,7 +229,7 @@ \end{tabular}% \tud@multiple@@@split{##2}{~~\hspace{\tabcolsep}} }% - \setlength{\tud@dim@table}{2em}% + \setlength\tud@dim@table{2em}% \gdef\tud@multiple@field{@author}% \tud@multiple@setfields{\null}{}% \edef\@tempa{% @@ -247,9 +245,9 @@ \expandafter\ifx\@discipline\@empty\else\disciplinename\fi,% }% \@for\@tempb:=\@tempa\do{% - \settowidth{\@tempdima}{\@tempb\@titledelim}% + \settowidth\@tempdima{\@tempb\@titledelim}% \ifdim\@tempdima>\tud@dim@table\relax% - \setlength{\tud@dim@table}{\@tempdima}% + \setlength\tud@dim@table{\@tempdima}% \fi% }% \global\tud@dim@table=\tud@dim@table% @@ -290,10 +288,9 @@ \TUD@parameter{tudpage}{% \TUD@parameter@define{headline}{\def\@headline{##1}}% \TUD@parameter@let{line}{headline}% - \TUD@parameter@sethandler{\def\@headline{##1}}% - \TUD@parameter@set{pagestyle=empty}% + \TUD@parameter@sethandler{\TUD@parameter@set{tudpage}{headline=##1}}% }% - \tudpage[#1]% + \tudpage[pagestyle=empty,#1]% \tudbookmark{\noticename}{notice}% \ifx\@date\@empty\else% \begingroup% @@ -316,7 +313,7 @@ \noindent\tud@multiple@split{@contactperson}\hfill\null% \fi% \endtudpage% - \cleardoublepage% + \aftergroup\cleardoublepage% } \newcommand\noticeform[3][]{% \begin{notice}[#1] @@ -371,13 +368,10 @@ \newcommand*\@headline{} \newcommand*\@issuedate{} \newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}} -\let\startdate\issuedate \newcommand*\@duedate{} \newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}} \newcommand*\finaldate{} \newcommand*\maturitydate{} -\let\finaldate\duedate -\let\maturitydate\duedate %%% From File: tudscr-locale.dtx \tud@locale@define{\taskname} \tud@locale@define{\tasktext} diff --git a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty index 52596e1204f..8772bc4fded 100644 --- a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty +++ b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty @@ -9,7 +9,7 @@ %% ============================================================================ %% %% TUD-KOMA-Script -%% Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 +%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2015 %% %% ============================================================================ %% @@ -23,20 +23,20 @@ %% %% ---------------------------------------------------------------------------- %% -%% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, -%% Version 1.3c, verteilt und/oder veraendert werden. Die neuste Version -%% dieser Lizenz ist http://www.latex-project.org/lppl.txt und Version 1.3c -%% ist Teil aller Verteilungen von LaTeX 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. %% %% ============================================================================ %% %%% From File: tudscr-twocolfix.dtx \NeedsTeXFormat{LaTeX2e}[2011/06/27] \ProvidesPackage{twocolfix}[% - 2014/12/17 v2.02 TUD-KOMA-Script + 2015/02/15 v2.03 TUD-KOMA-Script package (twocolumn layout bugfix)% ] |