diff options
author | Karl Berry <karl@freefriends.org> | 2017-01-27 23:14:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-01-27 23:14:08 +0000 |
commit | 953423df3388111af14ec84c79dfa6b10e1e8aac (patch) | |
tree | d91e3ead05751436a0713703f3cae5ffd3174fe9 /Master/texmf-dist | |
parent | 83082c7f9a495b3086e74c09252c4046fdbc6a72 (diff) |
tudscr (27jan17)
git-svn-id: svn://tug.org/texlive/trunk@43067 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
58 files changed, 8932 insertions, 7354 deletions
diff --git a/Master/texmf-dist/doc/latex/tudscr/LICENSE b/Master/texmf-dist/doc/latex/tudscr/LICENSE index f3217712f11..3a6a081a8be 100644 --- a/Master/texmf-dist/doc/latex/tudscr/LICENSE +++ b/Master/texmf-dist/doc/latex/tudscr/LICENSE @@ -1,26 +1,27 @@ -============================================================================ - TUD-Script - Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 + TUD-Script -- Corporate Design of Technische Universität Dresden +---------------------------------------------------------------------------- -============================================================================ + Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 + +---------------------------------------------------------------------------- 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 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 + 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 + in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle + Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und + Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 + oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status + "author-maintained", wird somit allein durch den Autor verwaltet. Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -============================================================================ +---------------------------------------------------------------------------- diff --git a/Master/texmf-dist/doc/latex/tudscr/README b/Master/texmf-dist/doc/latex/tudscr/README index 1cf64f19c60..c2b0d5e0995 100644 --- a/Master/texmf-dist/doc/latex/tudscr/README +++ b/Master/texmf-dist/doc/latex/tudscr/README @@ -1,34 +1,39 @@ -TUD-Script -=============== + TUD-Script -- Corporate Design of Technische Universität Dresden +---------------------------------------------------------------------------- -TUD-Script 2016/10/12 v2.05f -Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 + Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 -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. + tudscr 2017/01/26 v2.05g -English text below +============================================================================ -------------------------------------------------------------------------------- + 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. + +============================================================================ + + English text below + +---------------------------------------------------------------------------- Zusammenfassung --------------- -Das TUD-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 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 +Das TUD-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 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 +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: +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: http://latex.wcms-file3.tu-dresden.de/phpBB3/ @@ -43,13 +48,13 @@ Das Bundle beinhaltet: + das Paket `tudscrsupervisor`, welches Umgebungen und Befehle für die Erstellung von Aufgabenstellungen, Gutachten und Aushängen bereitstellt, + das Paket `tudscrfonts`, das die Schriften des Corporate Designs der - Technischen Universität Dresden für die LaTeX-Standard-Klassen und die + Technischen Universität Dresden für die LaTeX-Standard-Klassen und die KOMA-Script-Klassen nutzbar macht, + das Paket `fix-tudscrfonts`, das selbige Schriften für weitere TUD-CD-Klassen verfügbar macht, welche nicht zu TUD-Script gehören, + das Paket `tudscrcomp`, welches den Umstieg von fremden TUD-CD-Klassen auf TUD-Script vereinfacht, -+ das Paket `mathswap` für das Austauschen mathematischer Trennzeichen ++ das Paket `mathswap` für das Austauschen mathematischer Trennzeichen innerhalb von Zahlen (ähnlich zu `ionumbers`), + das Paket `twocolfix` zur Fehlerbefehbung der Position von Überschriften im zweispaltigen Layout und @@ -58,6 +63,11 @@ Das Bundle beinhaltet: Versionen --------- +**v2.05g** (2017/01/26) ++ Erweiterung der Quelltextdokumentationsklasse `tudscrdoc` ++ kleinere Fehler im TUD-Script-Bundle behoben + + **v2.05f** (2016/10/12) + Probleme mit dem Paket `bm` behoben @@ -173,20 +183,20 @@ Versionen **v2.01** (2014/04/24) -+ Fehlerkorrekturen beim Kerning der Ziffern und bei der Schriftstärke auf der ++ Fehlerkorrekturen beim Kerning der Ziffern und bei der Schriftstärke auf der Titelseite - + **v2.00** (2014/04/22) -+ Das TUD-Script-Bundle wurde von Grund auf überarbeitet und mittels - `docstrip` erzeugt. Viele Fehler wurden entfernt und die Robustheit der - Befehle und Optionen wurde erhöht. Die Verwendung der Schriften, insbesondere - für den mathematischen Satz, wurde entscheidend verbessert. Weiterhin erfuhr - das Handbuch des Bundles eine komplette Überarbeitung, wurde erweitert und um ++ Das TUD-Script-Bundle wurde von Grund auf überarbeitet und mittels + `docstrip` erzeugt. Viele Fehler wurden entfernt und die Robustheit der + Befehle und Optionen wurde erhöht. Die Verwendung der Schriften, insbesondere + für den mathematischen Satz, wurde entscheidend verbessert. Weiterhin erfuhr + das Handbuch des Bundles eine komplette Überarbeitung, wurde erweitert und um mehrere Indexe ergänzt. - + **v1.0** (2012/10/31) + erste Version des TUD-Script-Bundles @@ -197,19 +207,19 @@ Versionen Summary ------- -The TUD-Script bundle provides both classes and packages in order to -create LaTeX documents in the corporate design of the Technische Universität +The TUD-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 should be -installed. Otherwise, the document classes can admittedly be used, but in this +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: +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: http://latex.wcms-file3.tu-dresden.de/phpBB3/ Classes and Packages @@ -223,11 +233,11 @@ The bundle offers: + the package `tudscrsupervisor` providing environments and macros to create tasks, evaluations and notices for scientific theses, + the package `tudscrfonts`, which makes the corporate design fonts of the - Technische Universität Dresden available for LaTeX standard classes and + Technische Universität Dresden available for LaTeX standard classes and KOMA-Script classes, + the package `fix-tudscrfonts`, which provides the same fonts to additional corporate design classes not related to TUD-Script -+ the package `tudscrcomp`, which simplifies the switch to TUD-Script ++ the package `tudscrcomp`, which simplifies the switch to TUD-Script from external corporate design classes, + the package `mathswap` for swapping math delimiters within numbers (similiar to `ionumbers`), @@ -238,6 +248,11 @@ The bundle offers: Versions -------- +**v2.05g** (2017/01/26) ++ enhancement of the source code documentation class `tudscrdoc` ++ minor errors fixed within the TUD-Script bundle + + **v2.05f** (2016/10/12) + solved problems with package `bm` @@ -247,7 +262,7 @@ Versions **v2.05d** (2016/09/22) -+ notation changed to TUD-Script-Bundle ++ notation changed to TUD-Script bundle + solved problems with package `flexisym` @@ -330,7 +345,7 @@ Versions + loading the corporate design fonts in OpenType format with `fontspec` is possible + improved installation routine of PostScript fonts -+ pages in the style of the corporate design are generated using the package ++ pages in the style of the corporate design are generated using the package `scrlayer-scrpage` + various options and commands to customize these pages + support of the KOMA-Script font elements for title and cover @@ -358,14 +373,14 @@ Versions **v2.00** (2014/04/22) -+ The TUD-Script bundle has been redesigned from the ground up and is - generated by using `docstrip`. Many bugs have been removed and the robustness - of the commands and options has been increased. The use of the fonts, - especially for the mathematical set, was significantly improved. The manual - of the bundle underwent a complete overhaul, has been extended and ++ The TUD-Script bundle has been redesigned from the ground up and is + generated by using `docstrip`. Many bugs have been removed and the robustness + of the commands and options has been increased. The use of the fonts, + especially for the mathematical set, was significantly improved. The manual + of the bundle underwent a complete overhaul, has been extended and supplemented by several indexes. - + **v1.0** (2012/10/31) + first version of the TUD-Script bundle diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf b/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf Binary files differindex 408129326c4..2dee58100d3 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 df4a170b3cd..614b63d1d02 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 3672a8af125..3bbdca90290 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 edfe1fb5207..94e9d31a42f 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 4ad9a96d9ad..73263d8db62 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 cf5a9a48f94..baac28fe973 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/examples/mathswap-example.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathswap-example.tex index 1b064b73e11..4aca8eee82d 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/examples/mathswap-example.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathswap-example.tex @@ -24,8 +24,12 @@ \begingroup \selectlanguage{english}% - \(4,523.58\)\\ - \(4.523,58\)\\ + \(4,523.58\)\newline + \(4.523,58\) +\endgroup + +\begingroup + \selectlanguage{english}% \commaswap{.} \dotswap{\,} \(4.523,58\) diff --git a/Master/texmf-dist/source/latex/tudscr/doc/examples/mathtype-example.tex b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathtype-example.tex index 292e03bbdd4..b641c305fdb 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/examples/mathtype-example.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/examples/mathtype-example.tex @@ -30,7 +30,7 @@ M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} \end{gathered} \end{equation*} -\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\ind}[1]{\ensuremath{\kern.03em_\mathrm{#1}}} \newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} \begin{equation*} @@ -44,7 +44,6 @@ M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} \end{gathered} \end{equation*} -\renewcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} \makeatletter \renewcommand*{\M}[1]{\@ifnextchar[{\o@M{#1}}{\n@M{#1}}} \newcommand*{\n@M}{} 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 6ebe33bcf63..5908fbfdfc0 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-bundle.tex @@ -293,9 +293,9 @@ alten Variante verzichtet werden. mit den alten Schriften ändern. Alternativ zur Verwendung des Paketes \Package{fix-tudscrfonts} können die alten Schriftfamilien auch parallel zu den neuen installiert werden. Hierfür werden die Skripte - \hrfn{https://github.com/tud-cd/tudscr/releases/download/oldfonts/tud_fonts_install.bat}{\File{tud\_fonts\_install.bat}} + \hrfn{\Download{oldfonts/tud_fonts_install.bat}}{\File{tud\_fonts\_install.bat}} beziehungsweise - \hrfn{https://github.com/tud-cd/tudscr/releases/download/oldfonts/tud_fonts_install.sh}{\File{tud\_fonts\_install.sh}} + \hrfn{\Download{oldfonts/tud_fonts_install.sh}}{\File{tud\_fonts\_install.sh}} bereitgestellt. }% % 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 06174fe4a57..3c7ec4da138 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-hints.tex @@ -23,7 +23,7 @@ auf jeden Fall eine Unicode"=Unterstützung~(UTF"~8) enthalten: \end{itemize} % Für \Application{\hologo{TeX}studio} wird im \GitHubRepo* das Archiv -\hrfn{https://github.com/tud-cd/tudscr/releases/download/TeXstudio/tudscr4texstudio.zip}{\File{tudscr4texstudio.zip}} +\hrfn{\Download{TeXstudio/tudscr4texstudio.zip}}{\File{tudscr4texstudio.zip}} bereitgestellt, welches Dateien zur Erweiterung der automatischen Befehlsvervollständigung für \TUDScript enthält. Diese müssen unter Windows in \Path{\%APPDATA\%\textbackslash texstudio} beziehungsweise unter unixoiden @@ -34,7 +34,7 @@ für das Erstellen eines Dokumentes mit den \TUDScript-Klassen nutzen, so werden dafür spezielle Layout-Dateien benötigt, um die Klassendateien verwenden zu können. Diese sind zusammen mit einem \Application{\hologo{LyX}}"~Dokument als Archiv -\hrfn{https://github.com/tud-cd/tudscr/releases/download/LyX/tudscr4lyx.zip}{\File{tudscr4lyx.zip}} +\hrfn{\Download{LyX/tudscr4lyx.zip}}{\File{tudscr4lyx.zip}} im \GitHubRepo* verfügbar. Die Layout-Dateien müssen dafür im \Application{\hologo{LyX}}"=Installationspfad in den passenden Unterordner kopiert werden. Dieser ist bei Windows @@ -156,10 +156,11 @@ Normalfall jedoch die ursprüngliche Funktionalität behalten soll. \index{Schriftauszeichnung}% Der Befehl \Macro{emph} wird von \hologo{LaTeX} für Hervorhebungen im Text bereitgestellt und führt normalerweise zu einer kursiven oder~-- falls kein -Schriftschnitt mit echten Kursiven vorhanden ist~-- kursivierten Auszeichnung. -Soll nun in einem bestimmten Abschnitt die Auszeichnung mit fetter Schrift -erfolgen, kann der Befehl \Macro{emph} innerhalb einer Gruppierung geändert -und verändert werden. Wird diese beendet, verhält sich der Befehl wie gewohnt. +Schriftschnitt mit echten Kursiven vorhanden ist~-- kursivierten oder auch +geneigten Auszeichnung. Soll nun in einem bestimmten Abschnitt die Auszeichnung +mit fetter Schrift erfolgen, kann der Befehl \Macro{emph} innerhalb einer +Gruppierung geändert und verändert werden. Wird diese beendet, verhält sich der +Befehl wie gewohnt. \begin{Code} In diesem Text wird ein bestimmtes \emph{Wort} hervorgehoben. 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 c00674f93bd..e1a2796670e 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-installation.tex @@ -71,9 +71,9 @@ selbst verantwortlich ist. \index{Deinstallation}% % Um die lokale Nutzerinstallation zu entfernen, kann für Windows -\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.bat}{\File{tudscr\_uninstall.bat}} +\hrfn{\Download{uninstall/tudscr\_uninstall.bat}}{\File{tudscr\_uninstall.bat}} sowie für unixartige Betriebssysteme -\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr\_uninstall.sh}{\File{tudscr\_uninstall.sh}} +\hrfn{\Download{uninstall/tudscr\_uninstall.sh}}{\File{tudscr\_uninstall.sh}} verwendet werden. Nach der Ausführung des jeweiligen Skriptes kann in der Kommandozeile beziehungsweise im Terminal mit % @@ -157,7 +157,7 @@ die genau wissen, aus welchen Gründen dies geschehen soll. Für eine lokale Nutzerinstallation des \TUDScript-Bundles und der dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} oder \Distribution{\hologo{MiKTeX}} werden neben den Schriftarchiven die Dateien aus -\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-Script\_\vTUDScript\_Windows\_full.zip}{\File*{TUD-Script\_\vTUDScript\_Windows\_full.zip}} +\hrfn{\Download{\vTUDScript/TUD-Script\_\vTUDScript\_Windows\_full.zip}}{\File*{TUD-Script\_\vTUDScript\_Windows\_full.zip}} benötigt. Vor der Nutzung des Installationsskripts \File{tudscr\_\vTUDScript\_install.bat} sollte sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis befinden: @@ -189,7 +189,7 @@ Schriftinstallation sei auf \autoref{sec:install:win} verwiesen. Für eine lokale Nutzerinstallation des \TUDScript-Bundles und der dazugehörigen Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} oder \Distribution{Mac\hologo{TeX}} werden neben den Schriftarchiven die Dateien aus -\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-Script\_\vTUDScript\_Unix\_full.zip}{\File*{TUD-Script\_\vTUDScript\_Unix\_full.zip}} +\hrfn{\Download{\vTUDScript/TUD-Script\_\vTUDScript\_Unix\_full.zip}}{\File*{TUD-Script\_\vTUDScript\_Unix\_full.zip}} benötigt. Vor der Verwendung des Installationsskripts \File{tudscr\_\vTUDScript\_install.sh} sollte sichergestellt werden, dass sich \emph{alle} der folgenden Dateien im selben Verzeichnis befinden: @@ -217,13 +217,13 @@ verwiesen. \index{Update|!}% % \subsection{Update des \TUDScript-Bundles ab Version~\NoCaseChange{v}2.02} -Für eine lokale Aktualisierung des \TUDScript-Bundles auf \vTUDScript{} muss -das Archiv -\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-Script\_\vTUDScript\_Windows\_update.zip}{TUD-Script\_\vTUDScript\_Windows\_update.zip} +Soll eine lokale Aktualisierung des \TUDScript-Bundles auf \vTUDScript{} +erfolgen, so muss~-- abhängig vom verwendeten Betriebssystem~-- das Archiv +\hrfn{\Download{\vTUDScript/TUD-Script\_\vTUDScript\_Windows\_update.zip}}{\File*{TUD-Script\_\vTUDScript\_Windows\_update.zip}} respektive -\hrfn{https://github.com/tud-cd/tudscr/releases/download/\vTUDScript/TUD-Script\_\vTUDScript\_Unix\_update.zip}{TUD-Script\_\vTUDScript\_Unix\_update.zip} -entpackt und anschließend \File{tudscr\_\vTUDScript\_update.bat} oder -\File{tudscr\_\vTUDScript\_update.sh} ausgeführt werden. +\hrfn{\Download{\vTUDScript/TUD-Script\_\vTUDScript\_Unix\_update.zip}}{\File*{TUD-Script\_\vTUDScript\_Unix\_update.zip}} +entpackt und daran anschließend entweder \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 @@ -238,7 +238,7 @@ angeboten. Die Aktualisierung kann durch den Anwender entweder~-- wie in \autoref{sec:local:install} erläutert~-- mit einer skriptbasierten oder mit 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}} +\hrfn{\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}) sehr empfohlen. @@ -251,9 +251,9 @@ Ist \TUDScript in der veralteten \emph{Version~v1.0} installiert, so wird vor der Aktualisierung dringlichst zu einem vollständigen Entfernen dieser Version geraten. Andernfalls werden nach einem Update bei der Verwendung massive Probleme und Fehler auftreten. Zur Deinstallation werden die Skripte -\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr_uninstall.bat}{\File{tudscr\_uninstall.bat}} +\hrfn{\Download{uninstall/tudscr_uninstall.bat}}{\File{tudscr\_uninstall.bat}} respektive -\hrfn{https://github.com/tud-cd/tudscr/releases/download/uninstall/tudscr_uninstall.sh}{\File{tudscr\_uninstall.sh}} +\hrfn{\Download{uninstall/tudscr_uninstall.sh}}{\File{tudscr\_uninstall.sh}} bereitgestellt. Die aktuelle Version~\vTUDScript{} kann nach der vollständigen Deinstallation aller veralteten Versionen wie in \autoref{sec:install} beschrieben installiert werden. @@ -282,13 +282,13 @@ Nutzung von \Distribution{\hologo{TeX}~Live~Portable}|?| respektive Variante, welche in \autoref{sec:install} beschrieben wird. Alle dort gegebenen Hinweise sollten sorgfältig berücksichtigt werden. Zur Installation wird das Archiv -\hrfn{https://github.com/tud-cd/tudscr/releases/download/fonts/TUD-Script_fonts_Windows.zip}{\File*{TUD-Script\_fonts\_Windows.zip}} -benötigt, das auf der lokalen Festplatte oder auf dem externen -Speichermedium entpackt werden kann. +\hrfn{\Download{fonts/TUD-Script_fonts_Windows.zip}}{\File*{TUD-Script\_fonts\_Windows.zip}} +benötigt, das auf der lokalen Festplatte oder auf dem externen Speichermedium +entpackt werden kann. \minisec{\NoCaseChange{\hologo{TeX}}~Live~Portable} Das folgende Vorgehen wurde mit Windows getestet. Empfehlungen für die portable -Installation für unixoide Betriebssysteme können gerne an \Email{\tudscrmail} +Installation für unixoide Betriebssysteme können gerne an \mailto{\tudscrmail} gesendet werden. \begin{enumerate} \item Installation von \Distribution{\hologo{TeX}~Live~Portable} in den Pfad 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 b235d298d69..e4f5a618f6b 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-introduction.tex @@ -26,7 +26,7 @@ und Briefen.% \Class{tudhaus}, \Class{tudform}% } Das \TUDScript"=Bundle ist hauptsächlich für das Erstellen wissenschaftlicher -Texte und Arbeiten gedacht und soll die ursprünglichen Vorlagen \emph{momentan} +Texte und Arbeiten gedacht und soll die ursprünglichen Klassen \emph{momentan} nicht ersetzen sondern vielmehr ergänzen. Eine Umsetzung des \CDs für die \Class{beamer}"=Klasse sowie für Briefe und @@ -249,7 +249,7 @@ Installationshinweise in \autoref{sec:install:portable} zu finden. \tudhyperdef*{sec:install:win}% % Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv -\hrfn{https://github.com/tud-cd/tudscr/releases/download/fonts/TUD-Script_fonts_Windows.zip}{\File*{TUD-Script\_fonts\_Windows.zip}} +\hrfn{\Download{fonts/TUD-Script-fonts-Windows.zip}}{\File*{TUD-Script\_fonts\_Windows.zip}} vorgesehen. Dieses ist sowohl für \Distribution{\hologo{TeX}~Live}|?| als auch \Distribution{\hologo{MiKTeX}}|?| nutzbar und enthält~-- bis auf die jeweiligen Schriftarchive selbst~-- alle benötigten Dateien. Diese sollten nach dem @@ -281,7 +281,7 @@ Für die Erstellung des Installationsskripts für Linux und OS~X geht mein Dank an Jons-Tobias Wamhoff, der sich für die erstmalige Portierung des Skripts von Windows zu unixartigen Systemen freiwillig zur Verfügung stellte. Zur Installation der Schriften des \CDs für das \TUDScript-Bundle ist das Archiv -\hrfn{https://github.com/tud-cd/tudscr/releases/download/fonts/TUD-Script_fonts_Unix.zip}{\File*{TUD-Script\_fonts\_Unix.zip}} +\hrfn{\Download{fonts/TUD-Script_fonts_Unix.zip}}{\File*{TUD-Script\_fonts\_Unix.zip}} vorgesehen. Dieses ist sowohl für \Distribution{\hologo{TeX}~Live}|?| als auch \Distribution{Mac\hologo{TeX}}|?| nutzbar und enthält~-- bis auf die jeweiligen Schriftdateien selbst~-- alle benötigten Dateien. Diese sollten nach dem @@ -370,7 +370,7 @@ Aufruf im könnte lauten: \end{quoting} % Die erstellte Logdatei sollte \emph{mit einer kurzen Fehlerbeschreibung} direkt -an \Email{\tudscrmail} gesendet werden. +an \mailto{\tudscrmail} gesendet werden. \index{Installation|!)}% 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 23de6dee5dc..a9ddef20de5 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-mainclasses.tex @@ -223,8 +223,8 @@ fetten Schriften mit folgenden Einstellungen anpassen. \begin{values}{\Option{cdfont}} \item[normalbold] \ChangedAt{v2.05} - Für den fetten Schriftschnitt wird \texturn{Univers~55~Regular} respektive - bei stärkeren Schriften (\Option{cdfont=heavy}) \textubn{Univers~65~Bold} + Für die fette Schriftstärke wird \texturn{Univers~55~Regular} respektive bei + der stärkeren Grundschrift (\Option{cdfont=heavy}) \textubn{Univers~65~Bold} verwendet. Dies ist die Voreinstellung. \item[ultrabold/heavybold] \ChangedAt{v2.05} @@ -324,7 +324,7 @@ passende Groß- und Kleinschreibung notwendig. Für die Wahl der Schriftstärke ist die entsprechende Zahl \emph{oder} die Bezeichnung allein ausreichend.% \footnote{\PValue{45/55/65/75} oder \PValue{Light/Regular/Bold/Black}} Anstelle des Suffix' \PValue{Oblique} ist auch die Nutzung von \PValue{Italic} -oder \PValue{Slanted} als Alias für die geneigten Schriftschnitte möglich. Zur +oder \PValue{Slanted} als Alias für die geneigten Schriftlagen möglich. Zur Auswahl von \DIN ist \PValue{din} als Argument hinreichend. \end{Declaration} \end{Declaration} @@ -3600,4 +3600,4 @@ Nutzung von \Option{tudscrver} nur als Klassenoption möglich ist. \end{Declaration} \end{Declaration*} \end{Declaration*} -\end{Declaration*}
\ No newline at end of file +\end{Declaration*} diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-supervisor.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-supervisor.tex index 95051c53995..939af615f78 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr-supervisor.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr-supervisor.tex @@ -418,4 +418,3 @@ der Bezeichner \Term{contactpersonname} verwendet. \end{Declaration} \index{Bezeichner|!)}% \end{Bundle*} - diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex index b25325c387c..5d75b6f97f9 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tudscr.tex @@ -25,8 +25,8 @@ \endgroup% } \faculty{\protect\cdurl} -\date{12.10.2016} -\author{Falk Hanisch\thanks{\noexpand\Email{\tudscrmail}}} +\date{26.01.2017} +\author{Falk Hanisch\thanks{\noexpand\mailto{\tudscrmail}}} \subject{\TUDScript \vTUDScript{} basierend auf \KOMAScript} \title{% Ein \NoCaseChange{\hologo{LaTeXe}}-Bundle für Dokumente im~neuen \CD der \TnUD @@ -141,7 +141,9 @@ \ToDo[rls]{TeXstudio: alle *.cwl erneuern, automatisch über *.dtx} \ToDo[rls]{\emph{alle} dtx-Dateien der vorherigen Version mit WinMerge sichten} \ToDo[rls]{Layout und Umbrüche kontrollieren} -\ToDo[rls]{Datum in tudscr-version.dtx, Handbuch und README aktualisieren} +\ToDo[rls]{% + Datum tudscr-version.dtx, tudscr-comp.dtx, Handbuch und README aktualisieren% +} \ToDo[rls]{% Release auf GitHub und CTAN, Tag für Homepage und im Forum ändern\\ \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?t=303}% diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathswap.tex b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathswap.tex index 9067e4e0d8e..29ace682169 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathswap.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathswap.tex @@ -16,8 +16,8 @@ \begin{document} \begin{Bundle}{\Package{mathswap}} -\date{20.11.2015} -\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\date{07.11.2016} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\mailto{\tudscrmail}}} \title{Änderung der Trennzeichen im Mathematikmodus} \makeatletter \begingroup% @@ -33,7 +33,30 @@ \endgroup% \markright{\@title} \makeatother -\StartTutorial +\StartTutorial[% + Werden in einer wissenschaftlichen Abhandlung vielerlei Daten importiert und + beispielsweise tabellarisch dargestellt, kann es durchaus sein, dass diese + importierten Datensätze bezüglich der darin enthaltenen Gruppierungs- und + Dezimaltrennzeichen nicht dem Zahlenformat entsprechen, welches für die + verwendete Dokumentsprache normalerweise notwendig wäre. + + Dieses Tutorial beschäftigt sich mit den typografischen Eigenheiten von + Gruppierungs- und Dezimaltrennzeichen bei der Angabe von Zahlen in einem + \hologo{LaTeXe}"=Dokument. Sowohl bei der Einbindung von externen Daten als + auch bei der Erstellung von fremdsprachigen Dokumenten ist dies ein durchaus + relevantes Thema. Um sich die manuelle Konvertierung der Daten zu ersparen, + kann alternativ dazu die Möglichkeit genutzt werden, dies mit Hilfe von + \hologo{LaTeXe} selbst zu bewerkstelligen. + + Es wird beschrieben, wie das \TUDScript-Paket \Package{mathswap}'manual' für + diese Zwecke genutzt werden kann. Wird es in einer der \TUDScript-Klassen + geladen, so wird das angenommene Zahlenformat an die gewählte Dokumentsprache + angepasst. Alternativ dazu kann auch das Paket \Package{ionumbers}()'manual' + verwendet werden. +] +Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse als +auch die für jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach sinnvollen +Pakete geladen. % \begin{Preamble} \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} @@ -46,29 +69,33 @@ \end{Preamble} % Zusätzlich wird das Paket \Package{mathswap}'manual' aus dem \TUDScript-Bundle -geladen, welches die Änderung der Gruppierungs- und Dezimaltrennzeichen von -Zahlen im Mathematikmodus ermöglicht. +geladen, welches die Änderung der Gruppierungs- und Dezimaltrennzeichen im +Mathematikmodus ermöglicht. Dadurch werden einerseits Zahlen im zur jeweiligen +Dokumentsprache gehörigen Format typografisch korrekt gesetzt. Andererseits ist +es so möglich, Zahlen im englischen Format typografisch korrekt in deutschen +Texten zu setzen~-- et vice versa. % \begin{Preamble} \usepackage{mathswap} \end{Preamble} % -Werden in einer wissenschaftlichen Abhandlung vielerlei Daten importiert und -beispielsweise tabellarisch dargestellt, kann es durchaus sein, dass diese -importierten Daten nicht dem Zahlenformat entsprechen, welches für die -verwendete Dokumentsprache normalerweise notwendig wäre. Um sich die manuelle -Konvertierung der Daten zu ersparen, kann alternativ dazu die Möglichkeit -genutzt werden, dies mit Hilfe von \hologo{LaTeXe} selbst zu erledigen. In -diesem Tutorial wird hierfür das Paket \Package{mathswap}'manual' genutzt. -Alternativ dazu kann auch das Paket \Package{ionumbers}()'manual' verwendet -werden. - -Ohne die Verwendung eines speziellen Paketes zur Zahlenformatierung wird eine -Zahl im mathematischen Modus durch \hologo{LaTeXe} normalerweise so -ausgegeben: +\addsec{Typografisch korrekte Ausgabe für deutschsprachige Dokumente} +% +Für dieses Tutorial wird zunächst angenommen, dass die wissenschaftlichen +Abhandlung in deutscher Sprache verfasst wird. Ohne die Nutzung eines +speziellen Paketes zur Ausgabeformatierung von Zahlen werden diese durch +\hologo{LaTeXe} im mathematischen Modus bei der Angabe im deutschen +Zahlenformat~-- Punkt~(\PValue{.}) als Gruppierungs- und Komma~(\PValue{,}) als +Dezimaltrennzeichen~-- folgendermaßen ausgegeben:% +\footnote{% + Da in der Präambel dieses Dokumentes das Paket \Package{mathswap}'manual' + bereits geladen wurde, wird mit \Macro{mathswapoff}'manual' auf das + Standardverhalten von \hologo{LaTeXe} geschaltet. Die Funktionalität wird mit + \Macro{mathswapon}'manual' wieder aktiviert.% +} % \CodePreamble{% - Ausgabe mit deutscher Zifferngruppierung ohne \Package{mathswap}'manual'% + Ohne \Package{mathswap}'manual' keine typografische Zifferngruppierung% } \begin{Trunk*} \mathswapoff @@ -77,42 +104,67 @@ ausgegeben: \end{Trunk*} % -Da in der Präambel dieses Dokumentes das Paket \Package{mathswap}'manual' -bereits geladen wurde, musste mit \Macro{mathswapoff}'manual' auf das -Standardverhalten von \hologo{LaTeXe} geschaltet werden. Der Befehl -\Macro{mathswapon}'manual' aktiviert wiederum die Funktionalität von -\Package{mathswap}'manual'. +Mit dem Paket \Package{mathswap}'manual' wird das Ziel verfolgt, unabhängig vom +genutzten Zahlenformat für die Eingabe, eine typografisch korrekte Ausgabe zu +erzeugen. Wird das Paket zusammen mit einer \TUDScript-Klasse verwendet, werden +die Gruppierungs- und Dezimaltrennzeichen bei der Eingabe im Mathematikmodus +sprachabhängig interpretiert. Bei der Nutzung einer \KOMAScript-Dokumentklasse +respektive einer \hologo{LaTeX}-Standardklasse werden diese im Mathematikmodus +immer nach dem englischen Zahlenformat~-- Komma~(\PValue{,}) als Gruppierungs- +und Punkt~(\PValue{,}) als Dezimaltrennzeichen~-- betrachtet. -Für diese Tutorial wird angenommen, dass die wissenschaftlichen Abhandlung in -deutscher Sprache verfasst wird. Ist nun eine Zahl im deutschen Zahlenformat -gegeben, kann diese einfach im Mathematikmodus angegeben werden. Diese wird -den hierzulande existierenden Konventionen entsprechend gruppiert ausgegeben: +Da dieses Dokument mit einer \TUDScript-Klasse (\TUDClassName) gesetzt wird und +die Spracheinstellung~\PValue{ngerman} gewählt wurde, wird für die folgenden +Zahlen das deutsche Eingabeformat angenommen. Wird nun die bereits zuvor +verwendete Zahl bei aktiver Funktionalität von \Package{mathswap}'manual' im +Mathematikmodus angegeben werden, so wird diese den typografischen Konventionen +folgend~-- halbes Leerzeichen zur Zahlengruppierung und Komma ohne umgebenden +Leerraum als Dezimaltrennzeichen~-- entsprechend ausgegeben: % \CodePreamble{% - Ausgabe mit deutscher Zifferngruppierung und Sprache \PValue{ngerman}% + Zifferngruppierung korrekt (Spracheinstellung~\PValue{ngerman})% } \begin{Trunk*} \(4.523,58\) \end{Trunk*} % -Sollte die gleiche Zahl in englischer Formatierung gegeben sein, funktioniert -dies nicht mehr: +Wird die gleiche Zahl in englischer Formatierung angegeben, funktioniert dies +nicht mehr: % \CodePreamble{% - Ausgabe mit englischer Zifferngruppierung und Sprache \PValue{ngerman}% + Zifferngruppierung falsch (Spracheinstellung~\PValue{ngerman})% } \begin{Trunk*} \(4,523.58\) \end{Trunk*} % -Mit der Nutzung der Befehle \Macro{commaswap}[\PParameter{\Macro*{,}}]'manual' -sowie \Macro{dotswap}[\PParameter{,}]'manual' können die Substitutionen für -Komma und Punkt im Mathematikmodus geändert: +Um nun Zahlen, welche in englischer Formatierung eingegeben oder importiert +werden, in deutschsprachigen Dokumenten typografisch korrekt auszugeben, können +die beiden Befehle \Macro{commaswap}[\PParameter{\dots}]'manual' sowie +\Macro{dotswap}[\PParameter{\dots}]'manual' genutzt werden. Mit diesen lässt +sich festlegen, wie die im Mathematikmodus zur Zifferngruppierung eingegeben +Trennzeichen~-- Komma~(\PValue{,}) und Punkt~(\PValue{.})~-- substituiert +werden sollen, um damit die gewünschte Typografie zu erhalten. Die Argumente +der beiden Befehle geben also an, wodurch im mathematischen Modus Komma und +Punkt bei der Ausgabe ersetzt werden sollen. + +Im englischen Zahlenformat wird bei der Eingabe das Komma~(\PValue{,}) als +Gruppierungs- und der Punkt~(\PValue{.}) als Dezimaltrennzeichen genutzt. Bei +der Ausgabe für deutschsprachige Dokumente nach den typografischen Konventionen +muss folglich das Komma durch ein halbes Leerzeichen (\Macro*{,}) ersetzt +werden. Dies lässt sich mit \Macro{commaswap}[\PParameter{\Macro*{,}}] +bewerkstelligen. Der Punkt ist demzufolge mit einem Komma durch die Angabe von +\Macro{dotswap}[\PParameter{,}] zu ersetzen:% +\footnote{% + Die Verwendung von \Macro*{begingroup} und \Macro*{endgroup} führt hierbei + dazu, dass die Änderungen der beiden Trennzeichen nur lokal innerhalb dieser + Gruppe erfolgt. +} % \CodePreamble{% - Ausgabe mit englischer Zifferngruppierung und geänderten Trennzeichen% + Englisches Zahlenformat in korrekter deutscher Zifferngruppierung% } \begin{Trunk*} \begingroup @@ -123,25 +175,43 @@ Komma und Punkt im Mathematikmodus geändert: \end{Trunk*} % -Die Verwendung von \Macro*{begingroup} und \Macro*{endgroup} führt hierbei -dazu, dass die Änderungen der beiden Trennzeichen nur lokal innerhalb dieser -Gruppe erfolgt. - +Somit können in einem deutschsprachigen Dokument Zahlen im englischen Format +problemlos verwendet beziehungsweise importiert und dennoch typografisch +korrekt gesetzt werden. +% +\addsec{Typografisch korrekte Ausgabe für englischsprachige Dokumente} +% Wird das Paket \Package{mathswap}'manual' zusammen mit einer \TUDScript-Klasse -verwendet, werden die Dezimaltrennzeichen im Mathematikmodus sprachabhängig -definiert. Wird die Dokumentsprache auf \PValue{english} gesetzt, so werden die -Dezimaltrennzeichen standardmäßig für die englischsprachige Zifferngruppierung -definiert. In diesem Fall müssen Zahlen, welche im deutschsprachigen Format -gruppiert sind, angepasst werden: +verwendet, werden die Gruppierungs- und Dezimaltrennzeichen im Mathematikmodus +sprachabhängig definiert. Wird also die Dokumentsprache auf \PValue{english} +gesetzt, so werden die Trennzeichen standardmäßig nach dem englischsprachigen +Zahlenformat interpretiert. +% +\CodePreamble{% + Zifferngruppierung (Spracheinstellung~\PValue{english})% +} +\begin{Trunk*} +\begingroup + \selectlanguage{english}% + \(4,523.58\)\newline + \(4.523,58\) +\endgroup + +\end{Trunk*} +% +Für englischsprachige Dokumente wird für die Auszeichnung der Gruppierung von +Ziffern ebenfalls ein halbes Leerzeichen und als Dezimaltrennzeichen ein Punkt +verwendet. Werden nun Zahlen in der deutschen Formatierung eingelesen, so muss +folglich das Komma durch einen Punkt \Macro{commaswap}[\PParameter{.}] und der +Punkt mit \Macro{dotswap}[\PParameter{\Macro*{,}}] durch ein halbes Leerzeichen +ersetzt werden:% % \CodePreamble{% - Ausgabe bei \PValue{english} als gewählter Sprache% + Deutsches Zahlenformat in korrekter englischer Zifferngruppierung% } \begin{Trunk*} \begingroup \selectlanguage{english}% - \(4,523.58\)\\ - \(4.523,58\)\\ \commaswap{.} \dotswap{\,} \(4.523,58\) diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex index 5de6f3a2604..67f2e0dfef2 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/mathtype.tex @@ -15,8 +15,8 @@ \usepackage{bookmark} \begin{document} -\date{20.11.2015} -\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\date{07.11.2016} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\mailto{\tudscrmail}}} \title{Ein Beitrag zum mathematischen Satz in \NoCaseChange{\hologo{LaTeXe}}} \makeatletter \begingroup% @@ -32,7 +32,20 @@ \endgroup% \markright{\@title} \makeatother -\StartTutorial +\StartTutorial[% + Im mathematischen Satz sollten lediglich Formelzeichen für physikalische + Größen und Variablen sowie Funktions- und Operatorzeichen mit frei wählbarer + Bedeutung kursiv geschrieben werden. Dagegen werden Einheiten und ihre + Vorsätze, Zahlen, Funktions- und Operatorzeichen mit feststehender Bedeutung + sowie Chemische Elemente und Verbindungen aufrecht gesetzt. Weiterhin werden + Indizes, welche ein Formelzeichen näher beschreiben, ebenfalls aufrecht + gesetzt. Dieses Tutorial zeigt, wie mit einfachen Mitteln die Auszeichnung + von beschreibenden Indizes bei Formelzeichen typografisch korrekt erfolgen + kann. +] +Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse als +auch die für jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach sinnvollen +Pakete geladen. % \begin{Preamble} \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} @@ -52,14 +65,10 @@ in diesem Tutorial verwendeten Mathematikumgebungen \Environment{equation}, \usepackage{amsmath} \end{Preamble} % -Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn -mikrotypografisch alles richtig gemacht werden soll, gibt es einiges zu -beachten. Generell gilt, dass Variablen kursiv, Bezeichnungen und Konstanten -aufrecht gesetzt werden. Um beschreibende Indizes bei Formelzeichen richtig zu -setzen, ist ohne weitere Maßnahmen die exzessive Nutzung der beiden Befehle -\Macro{mathrm}[\PParameter{\dots}] und \Macro{mathit}[\PParameter{\dots}] wohl -oder übel notwendig. Somit wird aus: +Zunächst wird ein kurzes Beispiel gegeben, welches für die nachfolgenden +Ausführungen als Grundlage dienen soll. % +\CodePreamble{}% \begin{Trunk*} \begin{equation*} \begin{gathered} @@ -74,8 +83,16 @@ M_{EMmin}\leq M_{EM}\leq M_{EMmax} \end{Trunk*} % -mit ziemlich viel Anpassungsarbeit: -% +Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn +mikrotypografisch alles richtig gemacht werden soll, gibt es einiges zu +beachten. Generell gilt, dass Variablen kursiv oder geneigt, Bezeichnungen und +Konstanten aufrecht gesetzt werden. Um beschreibende Indizes formal richtig zu +setzen, ist ohne weitere Maßnahmen die exzessive Nutzung der Befehle +\Macro{mathrm}[\PParameter{\dots}] und \Macro{mathit}[\PParameter{\dots}] +respektive \Macro{mathnormal}[\PParameter{\dots}] wohl oder übel notwendig. +Aus dem vorhergehenden Beispiel wird mit ziemlich viel Anpassungsarbeit: +% +\CodePreamble{}% \begin{Trunk*} \begin{equation*} \begin{gathered} @@ -90,23 +107,26 @@ M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} \end{Trunk*} % -Augenscheinlich ist dabei eine sehr viel Handarbeit notwendig. Allerdings -lässt sich dies relativ gut vereinfachen. Zu diesem Zwecke wird ein Befehl -\Macro{ind}[\PParameter{\dots}] für das Setzen von Indizes bei Formelzeichen -definiert. Danach können~-- wenn dies für nötig und sinnvoll erachtet wird~-- -noch zusätzliche Befehle für häufig verwendete Ausdrücke definiert werden. Als -Beispiel wird das schon eben genutzte Drehmoment \ensuremath{M} verwendet. -Hierfür wäre folgende Definition möglich: +Augenscheinlich ist dabei sehr viel Handarbeit notwendig. Allerdings lässt sich +dies relativ gut vereinfachen. Zu diesem Zwecke wird für das Setzen von Indizes +bei Formelzeichen der Befehl \Macro{ind}[\PParameter{\dots}] definiert. Danach +können~-- wenn dies für nötig und sinnvoll erachtet wird~-- noch zusätzliche +Befehle für häufig verwendete Ausdrücke definiert werden. Als Beispiel wird das +schon eben genutzte Drehmoment \ensuremath{M} verwendet. Hierfür wäre folgende +Definition möglich:% +\footnote{% + Dabei sorgt \Macro*{kern.03em} für das Einfügen eins kleinen Abstandes + zwischen kursiver Variable und dem aufrechten Index. Abhängig von der + verwendeten Schriftart sollte dieser Abstand leicht angepasst werden. +} % \CodeHook{\let\newcommand\renewcommand} \begin{Trunk*} -\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\ind}[1]{\ensuremath{\kern.03em_\mathrm{#1}}} \newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} \end{Trunk*} -% -und damit diese Ausgabe erzeugen: -% +\CodePreamble{} \begin{Trunk*} \begin{equation*} \begin{gathered} @@ -121,23 +141,23 @@ und damit diese Ausgabe erzeugen: \end{Trunk*} % -Netter Nebeneffekt ist, dass dieser Befehl aufgrund der Verwendung von -\Macro{ensuremath}[\PParameter{\dots}] nun auch im Fließtext verwenden werden -kann, beispielsweise für das induzierte Moment einer Verbrennungskraftmaschine -\M{VM_{ind}} (\Macro{M}[\PParameter{VM\_\PParameter{ind}}]). +Ein gewünschter Nebeneffekt der vorhergehenden Definition ist, dass dieser +Befehl aufgrund der Verwendung von \Macro{ensuremath}[\PParameter{\dots}] nun +auch im Fließtext verwenden werden kann. Beispielsweise lässt sich im Textteil +das induzierten Moment einer Verbrennungskraftmaschine~\M{VM_{ind}} angeben +(\Macro{M}[\PParameter{VM\_\PParameter{ind}}]). Für noch mehr Bequemlichkeit bei der Nutzung kann eine Lösung gefunden werden, mit welcher~-- im Gegensatz zur Standardbefehlsdefinition in \hologo{LaTeXe}~-- -\textbf{nach} dem obligatorischen Argument noch ein optionales für einen -weiteren Index angegeben werden kann, um damit der natürlichen Schreibweise zu -entsprechen. Es wird der Befehl \Macro{M} so definiert, das dieser entweder mit -\Macro{M}[\Parameter{Index}] oder in der Variante mit nachgelagertem optionalen -Argument \Macro{M}[\Parameter{Index}\OParameter{Indexindex}] genutzt werden -kann. +\textbf{nach} dem obligatorischen noch ein optionales Argument für einen +zusätzlichen Subindex angegeben werden kann, um damit der natürlichen +Schreibweise zu entsprechen. Es wird der Befehl \Macro{M} so definiert, das +dieser entweder mit \Macro{M}[\Parameter{Index}] oder in der Variante +\Macro{M}[\Parameter{Index}\OParameter{Indexindex}] mit nachgelagertem +optionalen Argument genutzt werden kann. % \CodeHook{\let\newcommand\renewcommand} \begin{Trunk*} -\renewcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} \makeatletter \renewcommand*{\M}[1]{\@ifnextchar[{\o@M{#1}}{\n@M{#1}}} \newcommand*{\n@M}{} @@ -172,11 +192,7 @@ Argument genutzt werden. Damit würde die Befehlsdeklaration für \Macro{M} folgendermaßen lauten: \begin{Hint} \NewDocumentCommand \M { m o } {% - \ensuremath{% - M\ind{% - #1\IfValueT{#2}{_{#2}}% - }% - }% + \ensuremath{M\ind{#1\IfValueT{#2}{_{#2}}}}% } \end{Hint} % diff --git a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/treatise.tex b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/treatise.tex index 7740e26bed5..84f77f6a3ff 100644 --- a/Master/texmf-dist/source/latex/tudscr/doc/tutorials/treatise.tex +++ b/Master/texmf-dist/source/latex/tudscr/doc/tutorials/treatise.tex @@ -155,8 +155,8 @@ \begin{document} -\date{25.07.2016} -\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\Email{\tudscrmail}}} +\date{07.11.2016} +\author{Falk Hanisch\thanks{\noexpand\scriptsize\noexpand\mailto{\tudscrmail}}} \title{% Ein Anwenderleitfaden für das Erstellen einer wissenschaftlichen Abhandlung% } @@ -174,10 +174,9 @@ \endgroup% \makeatother \StartTutorial[% - \begin{abstract}\noindent Der Versuch, ein allumfassendes Tutorial für eine wissenschaftliche Arbeit zur Verfügung zu stellen gleicht der beschwerlichen Suche nach einer - eierlegenden Wollmilchsau. Es ist quasi nicht möglich, alle potentiellen + eierlegenden Wollmilchsau. Es ist quasi nicht möglich, alle potenziellen Anforderungen an eine wissenschaftliche Arbeit in einem Dokument abzudecken, insbesondere weil es für diese fast von jedem Lehrstuhl mehr oder weniger unterschiedliche Vorgaben zu Formatierung und Layout gibt. Dennoch soll hier @@ -221,7 +220,6 @@ Aspekte erarbeiten können. Sollten Querbezüge zu den einzelnen Abschnitten bestehen, werden diese auch genannt. Zu guter Letzt findet sich am Ende dieses Dokumentes das komplette Tutorial als ausführbarer Quelltext. - \end{abstract} ] \tableofcontents \listoffigures @@ -2651,7 +2649,7 @@ stattdessen die Option \Option{german}(\Package{hyphsubst}) mit dem Wert Sollte es dennoch passieren, dass ein Wort nicht richtig getrennt wird, kann dies manuell korrigiert werden. Dafür stellt das Paket \Package{babel} mehrere Kurzbefehle zur Verfügung. Mit dem Makro \Macro{hyphenation} lassen sich für -ein bestimmtes Wort außerdem alle potentiellen Trennstellen angeben. Zum Thema +ein bestimmtes Wort außerdem alle potenziellen Trennstellen angeben. Zum Thema \tudhyperref{sec:tips:hyphenation}{Worttrennungen in deutschsprachigen Texten} ist im \TUDScript-Handbuch unter dem Kapitel Tipps~\&~Tricks mehr zu finden. Dort wird auch erläutert, wie das Problem der alleinigen Trennung von Wörtern @@ -2810,9 +2808,7 @@ der Abstände zwischen den einzelnen, mit welche sehr häufig als zu groß empfunden werden. Eine Aufzählung erscheint ohne weitere Anpassungen wie folgt: % -\CodePreamble{% - Aufzählung mit einer \Environment*{itemize}"=Umgebung und Standardabständen:% -} +\CodePreamble{Aufzählung mit vertikalen Standardabständen} \begin{Hint*} \begin{itemize} \item erster Punkt @@ -2838,13 +2834,7 @@ Hier soll dies lediglich für die Umgebung \Environment*{itemize} geschehen: \setlist[itemize]{noitemsep} \end{Preamble*} -% -Das Ergebnis stellt sich folgendermaßen dar: -% -\CodePreamble{% - Aufzählung mit einer \Environment*{itemize}"=Umgebung ohne vertikale - Abstände:% -} +\CodePreamble{Aufzählung ohne vertikale Abstände} \begin{Hint*} \begin{itemize} \item erster Punkt diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-area.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-area.dtx index 43ba91690ac..168c4515c6d 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-area.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-area.dtx @@ -1,32 +1,32 @@ -% \CheckSum{2198} +% \CheckSum{2186} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-area.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-area.dtx}[% - 2016/09/22 v2.05d TUD-Script (type or page area)% + 2017/01/03 v2.05g TUD-Script (type or page area)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-area.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -77,6 +83,8 @@ % \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A % \changes{v2.02}{2014/07/08}{\cs{FamilyKeyState} wird von Optionen genutzt}^^A % \changes{v2.05}{2015/07/06}{Seitenstil für Poster}^^A +% \changes{v2.05}{2016/04/03}{Unterstützung von Schnittmarken mit den Paketen +% \pkg{geometry} und \pkg{crop}}^^A % % \section{Der Satzspiegel für \TUDScript} % @@ -87,23 +95,87 @@ % deshalb die Abweichung vom sonst fest vorgegebenen Satzspiegel ermöglicht. % \ToDo{Abhängigkeiten zwischen Satzspiegel und Seitenstilen beseitigen}[v2.07] % \ToDo{DIV=calc vordefinieren?}[v2.07] +% \ToDo{% +% Unterstützung von PDF-Boxen für die Druckausgabe +%^^A\url{https://groups.google.com/forum/#!topic/de.comp.text.tex/1gouJ0Zov6o} +%^^A\url{http://tex.stackexchange.com/questions/248902/} +%^^A\url{https://wiki.scribus.net/canvas/PDF_Boxes_:_mediabox,_cropbox,_bleedbox,_trimbox,_artbox} +%^^A\url{http://www.prepressure.com/pdf/basics/page-boxes} +% }[v2.07] % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % -% \subsection{Definition der konstanten Größen und Maße} -% -% Die Vorlagen sollen neben den vom \CD vorgegebenen Seitenrändern weitere -% Layouts ermöglichen und u.\,a. auch die Nutzung des Paketes \pkg{typearea} -% erlauben. Damit ein einheitliches Verfahren zur Wahl bzw. Umschaltung des -% Satzspiegels genutzt werden kann, wird das Paket \pkg{geometry} genutzt. -% Dabei werden entweder die gewünschten Maße der Seitenränder direkt gewählt -% oder aber die mit \pkg{typearea} berechneten Maße an \pkg{geometry} -% durchgereicht. -% % \iffalse %<*class&body> % \fi % +% \subsection{Kompatibilität der Satzspiegeleinstellungen mit weiteren Paketen} +% \subsubsection{Unterstützung von Schnittmarken mit dem Paket \pkg{crop}} +% +% Insbesondere für das Erstelen von Postern sollen häufig Schnittmarken auf dem +% ausgegebenen Papierbogen erscheinen. Dies lässt sich entweder mit den Mitteln +% des Paketes \pkg{geometry} oder aber durch das Paket \pkg{crop} realisieren. +% Für letzteres ist dafür ein kleiner Patch notwendig. +% +% \begin{macro}{\if@tud@x@crop@center} +% \changes{v2.05}{2016/04/03}{neu}^^A +% \begin{macro}{\CROP@center} +% \changes{v2.05}{2016/04/03}{neu}^^A +% Das Paket \pkg{crop} bietet die Option, den Satzspiegel auf dem Papierbogen +% zu zentrieren. Diese Einstellung geht beim Laden eines neuen Satzspiegels mit +% \cs{loadgeometry} verloren. Hiermit wird das Problem behoben. +% \begin{macrocode} +\newif\if@tud@x@crop@center +\AfterPackage{crop}{% + \CheckCommand*\CROP@center{% + \voffset\stockheight + \advance\voffset-\paperheight + \voffset.5\voffset + \hoffset\stockwidth + \advance\hoffset-\paperwidth + \hoffset.5\hoffset + }% + \pretocmd{\CROP@center}{% + \@tud@x@crop@centertrue% + }{}{\tud@patch@wrn{CROP@center}} +} +% \end{macrocode} +% \end{macro}^^A \CROP@center +% \end{macro}^^A \if@tud@x@crop@center +% +% \subsubsection{Unterstützung der Klasse \cls{standalone}} +% +% \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}-Klasse}^^A +% +% Mit der Klasse~\cls{standalone} können insbesondere Grafiken als separate +% (PDF-)Dateien erzeugt und später im Dokument eingebunden werden. Diese Klasse +% ändert allerhand an den Einstellungen der Seitenränder. Damit sich diese bei +% der Verwendung mit den \TUDScript-Klassen nicht in die Quere kommen, müssen +% für einige Einstellungen unterdrückt werden. +% +% \begin{macro}{\if@tud@x@standalone@crop} +% \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 +% die Klasse geladen und die Option aktiv ist. Das zweite Argument wird +% ausgeführt, wenn entweder die Option \opt{crop} deaktiviert ist oder die +% Klasse \cls{standalone} gar nicht geladen wurde. +% \begin{macrocode} +\newif\if@tud@x@standalone@crop +\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} +% \end{macrocode} +% \end{macro}^^A \if@tud@x@standalone@crop +% +% \subsection{Definition der Größen und Maße in abhängig vom Papierformat} +% +% Die \TUDScript-Klassen sollen neben den vom \CD vorgegebenen Seitenrändern +% weitere Satzspiegel ermöglichen und u.\,a. auch die Nutzung des Paketes +% \pkg{typearea} erlauben. Damit ein einheitliches Verfahren zur Wahl bzw. +% Umschaltung des Satzspiegels genutzt werden kann, wird momentan das Paket +% \pkg{geometry} genutzt. Dabei werden entweder die gewünschten Maße der +% Seitenränder direkt gewählt oder aber die mit \pkg{typearea} berechneten Maße +% an \pkg{geometry} durchgereicht. +% % \begin{length}{\tud@len@widemargin} % \begin{length}{\tud@len@slimmargin} % \begin{length}{\tud@len@both} @@ -138,11 +210,11 @@ % \begin{length}{\tud@len@logox} % \begin{length}{\tud@len@logoy} % \begin{length}{\tud@len@logowidth} -% 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. +% Außerdem müssen Abmessungen und Position des TUD-Logos definiert werden, +% genauer 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@len@logox \newlength\tud@len@logoy @@ -156,11 +228,11 @@ % \begin{length}{\tud@len@heavyline} % \begin{length}{\tud@len@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@len@thinline}, koloriert \cs{tud@len@heavyline}}% -% Da im Dokument beide Varianten vorkommen können, wird die Breite -% \cs{tud@len@line} durch den Seitenstil situativ entweder auf den Wert von -% \cs{tud@len@thinline} oder aber \cs{tud@len@heavyline} gesetzt. +% als im Layout mit farbigem Hintergrund.\footnote{monochrom +% \cs{tud@len@thinline}, koloriert \cs{tud@len@heavyline}} Da im Dokument beide +% Varianten vorkommen können, wird die Breite \cs{tud@len@line} durch den +% Seitenstil situativ entweder auf den Wert von \cs{tud@len@thinline} oder aber +% \cs{tud@len@heavyline} gesetzt. % \begin{macrocode} \newlength\tud@len@line \newlength\tud@len@heavyline @@ -446,77 +518,12 @@ % \end{macro}^^A \if@tud@cdgeometry@adjust % \end{macro}^^A \tud@cdgeometry@set % -% \subsection{Unterstützung von Schnittmarken mit \pkg{geometry} und \pkg{crop}} -% -% \changes{v2.05}{2016/04/03}{Unterstützung von Schnittmarken mit -% \pkg{geometry} und \pkg{crop}}^^A -% -% Insbesondere für das Erstelen von Postern sollen häufig Schnittmarken auf dem -% ausgegebenen Papierbogen erscheinen. Dies kann mit den Paketen \pkg{geometry} -% und \pkg{crop} realisiert werden. -% \ToDo{% -% Unterstützung von PDF-Boxen für die Druckausgabe -%^^A\url{https://groups.google.com/forum/#!topic/de.comp.text.tex/1gouJ0Zov6o} -%^^A\url{http://tex.stackexchange.com/questions/248902/} -%^^A\url{https://wiki.scribus.net/canvas/PDF_Boxes_:_mediabox,_cropbox,_bleedbox,_trimbox,_artbox} -%^^A\url{http://www.prepressure.com/pdf/basics/page-boxes} -% }[v2.07] -% -% \begin{macro}{\if@tud@x@crop@center} -% \changes{v2.05}{2016/04/03}{neu}^^A -% \begin{macro}{\CROP@center} -% \changes{v2.05}{2016/04/03}{neu}^^A -% Das Paket \pkg{crop} bietet die Option, den Satzspiegel auf dem Papierbogen -% zu zentrieren. Diese Einstellung geht beim Laden eines neuen Satzspiegels mit -% \cs{loadgeometry} verloren. Dieser Patch wird definiert, um dieses Problem zu -% beheben. -% \begin{macrocode} -\newif\if@tud@x@crop@center -\AfterPackage{crop}{% - \CheckCommand*\CROP@center{% - \voffset\stockheight - \advance\voffset-\paperheight - \voffset.5\voffset - \hoffset\stockwidth - \advance\hoffset-\paperwidth - \hoffset.5\hoffset - }% - \pretocmd{\CROP@center}{% - \@tud@x@crop@centertrue% - }{}{\tud@patch@wrn{CROP@center}} -} -% \end{macrocode} -% \end{macro}^^A \CROP@center -% \end{macro}^^A \if@tud@x@crop@center -% -% \subsection{Unterstützung der \cls{standalone}-Klasse} -% -% \changes{v2.02}{2014/07/25}{Unterstützung der \cls{standalone}-Klasse}^^A -% -% Mit der Klasse~\cls{standalone} können insbesondere Grafiken als separate -% (PDF-)Dateien erzeugt und später im Dokument eingebunden werden. Diese Klasse -% ändert allerhand an den Einstellungen der Seitenränder. Damit sich diese bei -% der Verwendung mit den \TUDScript-Klassen nicht in die Quere kommen, müssen -% für einige Einstellungen unterdrückt werden. -% -% \begin{macro}{\if@tud@x@standalone@crop} -% \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 -% die Klasse geladen und die Option aktiv ist. Das zweite Argument wird -% ausgeführt, wenn entweder die Option \opt{crop} deaktiviert ist oder die -% Klasse \cls{standalone} gar nicht geladen wurde. -% \begin{macrocode} -\newif\if@tud@x@standalone@crop -\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} -% \end{macrocode} -% \end{macro}^^A \if@tud@x@standalone@crop -% % \iffalse %</class&body> %<*class&option> % \fi % +% \subsection{Optionen für den Satzspiegel} % \begin{option}{cdgeometry} % \changes{v2.05}{2016/03/06}{\val{custom} neu}^^A % \begin{macro}{\tud@cdgeometry@num} @@ -582,8 +589,8 @@ \cs@set@lock{tud@cdgeometry@num}{1}% \fi% \@tempswafalse% - \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi% - \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi% + \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi% + \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi% \if@tempswa% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% \fi% @@ -692,6 +699,7 @@ %<*class&body> % \fi % +% \subsection{Realisierung der Satzspiegeleinstellungen} % Das Paket \pkg{geometry} erlaubt eine genaue Vorgabe des Satzspiegels und % der Seitenränder, wie es vom \CD der \TnUD verlangt wird. % \ToDo{Satzspiegel ohne \pkg{geometry}; besser über \cs{storeareas}}[v2.07]% @@ -863,8 +871,8 @@ % Mit dem Befehl \cs{tud@setgeometry} wird abhängig davon, ob dieser in der % Präambel oder im Dokument von \cs{tud@cdgeometry@@process} verwendet wird, % entweder \cs{geometry} oder \cs{newgeometry} aufgerufen. Mit dem Schalter -% \cs{if@tud@x@geometry@enabled} wird im Fall, dass ein benutzerdefinierter -% Satzspiegel aktiviert wurde, das rekursive Aufrufen von \cs{geometry} bzw. +% \cs{if@tud@x@geometry@enabled} wird im Fall, dass ein der Satzspiegel durch +% den Anwender eingestellt wurde, das rekursive Aufrufen von \cs{geometry} bzw. % \cs{newgeometry} und einer daraus resultierenden Endlosschleife unterbunden. % \begin{macrocode} \newif\if@tud@x@geometry@enabled% @@ -985,9 +993,10 @@ % \KOMAScript{} abbilden zu können und insbesondere Schnittmarken für alle % Seitenstile bereitzustellen. % % \ToDo{% -% Leider ist daraus ein ziemlich unübersichtliches Konstrukt geworden, -% weshalb das Ganze in einer folgenden Version mit \KOMAScript-Mitteln neu -% implementiert werden soll. +% Leider ist aus der dem Versuch, eine halbwegs einheitliche Schnittstelle +% zwischen den Paketen \pkg{typearea} und \pkg{geometry} zu schaffen, ein +% ziemlich unübersichtliches Konstrukt geworden, weshalb das Ganze in einer +% folgenden Version mit \KOMAScript-Mitteln neu implementiert werden soll. % }[v2.07] % \begin{macrocode} \TUD@parameter@family{geometry}{% @@ -1774,8 +1783,8 @@ % \begin{macro}{\tud@currentgeometry} % \changes{v2.02}{2014/06/23}{neu}^^A % Mit \cs{tud@BeforeSelectAnyPageStyle} wird beim Umschalten des Seitenstils -% gegebenenfalls der Satzspiegel geändert. Es wird der aktivierte Satzspiegel -% in dem Makro \cs{tud@currentgeometry} gesichert, um darauf zu einem späteren +% ggf. der Satzspiegel geändert. Es 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 @@ -1931,19 +1940,6 @@ \AtEndPreamble{% \if@tud@x@standalone@crop% \pagestyle{empty}% - \hoffset=-72.27pt% - \voffset=-72.27pt% - \topmargin=0pt% - \headheight=0pt% - \headsep=0pt% - \marginparsep=0pt% - \marginparwidth=0pt% - \footskip=0pt% - \marginparpush=0pt% - \oddsidemargin=0pt% - \evensidemargin=0pt% - \topskip=0pt% - \textheight=\maxdimen% \let\tud@AfterChangingArea\relax% \let\tud@cdgeometry@process\relax% \else% diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx index 471ae3b0491..d7b3f77c463 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx @@ -1,32 +1,32 @@ -% \CheckSum{774} +% \CheckSum{749} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-base.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-base.dtx}[% - 2016/09/22 v2.05d TUD-Script\space% + 2017/01/26 v2.05g TUD-Script\space% %</driver> %<package&base>\ProvidesPackage{tudscrbase}[% %<*driver|package&base> @@ -68,13 +68,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-base.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -84,35 +90,34 @@ % % \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A % -% \section{Grundlegende Befehle und Pakete} +% \section{Das Paket \pkg{tudscrbase} -- Basisdefinitionen für \TUDScript} +% +% Für die Erstellung der \TUDScript-Klassen werden die dafür benötigten Pakete +% eingebunden und Steuerungsbefehle definiert. Die Klassen sowie einige Pakete +% benötigen das Paket und laden dieses auch. % -% Für die Erstellung der Wrapper-Klassen werden die dafür benötigten Pakete -% eingebunden und Steuerungsbefehle definiert. % \ToDo{% -% Schnittstelle ähnlich zu \cs{KOMA@kav@\dots}? Falls ja, dann Löschen von -% Elemente aus \pkg{etoolbox}-Listen ermöglichen \cs{list(cs)(g/e/x)}rem% +% Schnittstelle äquivalent zu \cs{KOMA@kav@\dots}? Falls ja, dann Löschen +% von Elementen aus \pkg{etoolbox}-Listen mit \cs{list(cs)(g/e/x)}rem oder +% ähnlich ermöglichen% % }[v2.07] -% \ToDo{alle benötigten Pakete zur Not mit UnwindqPackage abfangen}[v2.06] +% \ToDo{alle benötigten Pakete zur Not mit Unwind@Package abfangen}[v2.06] % -% \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % -% \iffalse -%<*load> -% \fi +% \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % -% \subsection{Laden des Paketes} -% Die Klassen sowie einige Pakete benötigen das Paket und laden dieses auch. % \begin{macrocode} +%<*load> \RequirePackage{tudscrbase}[\TUD@Version] +%</load> % \end{macrocode} % +% \subsection{Notwendige Pakete für \TUDScript} +% % \iffalse -%</load> -%<*package> +%<*package|class&doc> % \fi % -% \subsection{Das Paket \pkg{tudscrbase}} -% % Das Paket \pkg{scrbase} wird zur Optionsdefinition benötigt, \pkg{scrlfile} % für verschiedene Hooks vor sowie nach Klassen und Paketen. % \ToDo{Patches für \pkg{scrbase} raus}[v3.21] @@ -153,26 +158,77 @@ }% } %</base> -%<fontsfix>\RequirePackage{scrlfile}[2013/12/19] +% \end{macrocode} +% Das Paket \pkg{fix-tudscrfonts} muss bereits vor der Dokumentklasse geladen +% werden und führt anschließend spezifische Anpassungen an diese aus. Dafür +% ist das Paket \pkg{scrlfile} notwendig. +% \begin{macrocode} +%<fontsfix|doc>\RequirePackage{scrlfile}[2013/12/19] % \end{macrocode} % Das Paket \pkg{etoolbox} wird für die Manipulation bereits definierter % Makros sowie zur erweiterten Auswertung boolescher Ausdrücke benötigt. % \begin{macrocode} -%<base|fontsfix>\RequirePackage{etoolbox}[2011/01/03] +%<base|fontsfix|doc>\RequirePackage{etoolbox}[2011/01/03] % \end{macrocode} -% -% \iffalse -%</package> -%<*package&base> -% \fi -% % Das Paket \pkg{kvsetkeys} erweitert \pkg{keyval} um die Möglichkeit, das % Verhalten bei der Angabe eines nicht definierten Schlüssels festzulegen. % \begin{macrocode} +%<*base> \RequirePackage{etexcmds}[2011/02/16] \RequirePackage{kvsetkeys}[2012/04/25] +%</base> +% \end{macrocode} +% +% \iffalse +%</package|class&doc> +%<*package&base|class&doc> +% \fi +% +% \subsection{Grundlegende Befehle für \TUDScript} +% \subsubsection{Temporäre Makros zur internen Verwendung durch \TUDScript} +% +% Hier werden Makros definiert, die allein für die interne temporäre Nutzung +% gedacht sind. +% \begin{macro}{\tud@reserved} +% \changes{v2.05}{2015/10/27}{neu}^^A +% Ein Makro zur temporären Verwendung. +% \begin{macrocode} +\newcommand*\tud@reserved{} +% \end{macrocode} +% \end{macro}^^A \tud@reserved +% \begin{macro}{\tud@toks@} +% \changes{v2.05}{2015/11/01}{neu}^^A +% \begin{macro}{\eaddto@hook} +% \changes{v2.05}{2015/11/01}{neu}^^A +% Es wird ein token-Regsiter reserviert, welches im weiteren Verlauf an allen +% möglichen Punkten verwendet wird. Mit \cs{eaddto@hook} wird~-- in Ergänzung +% zu \cs{addto@hook}~-- ein Makro zum Anfügen des expandierten Arguments an ein +% token-Register bereitgestellt. +% \begin{macrocode} +%<package&base>\newtoks\tud@toks@ +\newcommand*\eaddto@hook[2]{% + \expandafter\addto@hook\expandafter#1\expandafter{#2}% +} +% \end{macrocode} +% \end{macro}^^A \eaddto@hook +% \end{macro}^^A \tud@toks@ +% Die Befehle für die Klasse \cls{tudscrdoc} bereits definierten Befehle +% werden vor dem Laden von \pkg{tudscrbase} undefiniert gesetzt. +% \begin{macrocode} +%<*doc> +\BeforePackage{tudscrbase}{% + \undef\tud@reserved% + \undef\eaddto@hook% +} +%</doc> % \end{macrocode} % +% \iffalse +%</package&base|class&doc> +%<*package&base> +% \fi +% +% % \subsubsection{Robuster Test auf leeres Argument} % % \begin{macro}{\ifxblank} @@ -374,102 +430,45 @@ % \end{macrocode} % \end{macro}^^A \tud@lowerstring % -% \subsubsection{Makros zur internen Verwendung} +% \subsubsection{Erweiterung von \KOMAScript-Schriftelementen} % -% Hier werden Makros definiert, die allein für die interne temporäre Nutzung -% gedacht sind. -% \begin{macro}{\tud@reserved} -% \changes{v2.05}{2015/10/27}{neu}^^A -% Ein Makro zur temporären Verwendung. -% \begin{macrocode} -\newcommand*\tud@reserved{} -% \end{macrocode} -% \end{macro}^^A \tud@reserved -% \begin{macro}{\tud@toks@} -% \changes{v2.05}{2015/11/01}{neu}^^A -% \begin{macro}{\eaddto@hook} -% \changes{v2.05}{2015/11/01}{neu}^^A -% Es wird ein token-Regsiter reserviert, welches im weiteren Verlauf an allen -% möglichen Punkten verwendet wird. Mit \cs{eaddto@hook} wird~-- in Ergänzung -% zu \cs{addto@hook}~-- ein Makro zum Anfügen des expandierten Arguments an ein -% token-Register bereitgestellt. -% \begin{macrocode} -\newtoks\tud@toks@ -\newcommand*\eaddto@hook[2]{% - \expandafter\addto@hook\expandafter#1\expandafter{#2}% +% \begin{macro}{\tud@font@koma@set} +% \begin{macro}{\tud@font@koma@unset} +% \begin{macro}{\tud@font@koma@reset} +% \changes{v2.02}{2014/08/24}{neu}^^A +% Es wird die Möglichkeit geschaffen, bestimmten Schriftelementen weitere +% Eigenschaften mitzugeben. Damit dies optionsabhängig geschehen kann und +% \cs{addtokomafont} nur einmalig verwendete werden muss, wird im Zweifelsfall +% einem Schriftelement ein Hilfsmakro \cs{tud@font@koma@\meta{Element}} +% zugewiesen, welches intern angepasst werden kann. Mit \cs{tud@font@koma@set} +% werden dem angegebenen Element die gewünschten Schriftattribute zugeteilt. +% \begin{macrocode} +\newcommand*\tud@font@koma@set[2]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% + \csdef{tud@font@koma@#1}{#2\nobreak}% } % \end{macrocode} -% \end{macro}^^A \eaddto@hook -% \end{macro}^^A \tud@toks@ -% -% \subsubsection{Ersetzen von Inhalten} -% -% \begin{macro}{\tud@replace} -% \changes{v2.05}{2015/11/01}{neu}^^A -% Mit diesem Befehl kann in einem gegebenen Makro ein bestimmtes Zeichen durch -% ein anderes ersetzt werden. Dies wird verwendet, um für Indexbefehle oder -% Labels die möglicherweise enthaltenen \val{@}-Zeichen zu ersetzen. -% \begin{macrocode} -\newcommand*\tud@replace[3]{% - \begingroup% -% \end{macrocode} -% Zunächst wird \cs{@tempa} als ein durch \cs{@nil} abgegrenztes Makro mit -% zwei Argumenten definiert, wobei diese durch das im zweiten Argument gegebene -% \meta{Zeichen} voneinander abgegrenzt werden. Mit diese beiden Argumente wird -% das Makro \cs{@tempb} aufgerufen. +% Mit \cs{tud@font@koma@unset} kann das angegebene Element wieder zurückgesetzt +% werden. Dabei wird das hinzugefügte Makro auf \cs{relax} gesetzt. % \begin{macrocode} - \toks@{\def\@tempa##1}% - \eaddto@hook\toks@{\detokenize{#2}}% - \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}% -% \end{macrocode} -% Der Inhalt von \cs{toks@} ist -% \cs{def}\cs{@tempa\#1\meta{Zeichen}\#2}\cs{@nil\{\cs{@tempb\{\#1\}\{\#2\}}\}} -% und definiert \cs{@tempa}. -% \begin{macrocode} - \the\toks@% -% \end{macrocode} -% Nun wird \cs{@tempb} definiert. Dieses Makro fügt dem Zielmakro das erste -% Argumente gefolgt von \meta{Ersatzzeichen} hinzu. Mit dem zweiten Argument -% wird anschließend \cs{@tempa\#\#2}\cs{@nil} so lange rekursiv aufgerufen, bis -% es wirklich leer ist, wodurch das zweite Argument \meta{Zeichen} sukzessive -% durch das dritte Argument \meta{Ersatzzeichen} ersetzt wird. -% \begin{macrocode} - \def\@tempb##1##2{% - \IfArgIsEmpty{##2}{% - \appto#1{##1}% - \let\@tempc\relax% - }{% - \appto#1{##1#3}% - \def\@tempc{\@tempa##2\@nil}% - }% - \@tempc% - }% -% \end{macrocode} -% Nachdem die beiden notwendigen Makros definiert wurden, erfolgt jetzt die -% eigentliche Ersetzung. Dafür wird der Inhalt des Zielmakros als Argument für -% \cs{@tempa} verwendet. Diesem wird das zu ersetzende Zeichen gefolgt von -% \cs{@nil} hinzugefügt, um das Argument abschließend zu begrenzen. -% \begin{macrocode} - \toks@{\@tempa}% - \edef\@tempc{\expandafter\detokenize\expandafter{#1}}% - \eaddto@hook\toks@{\@tempc}% - \eaddto@hook\toks@{\detokenize{#2}\@nil}% +\newcommand*\tud@font@koma@unset[1]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% + \csdef{tud@font@koma@#1}{\relax}% +} % \end{macrocode} -% Der Inhalt von \cs{toks@} hat die Form \cs{@tempa\#1\meta{Zeichen}}\cs{@nil}, -% wobei der Inhalt von \meta{\#1} expandiert wird. +% Werden \KOMAScript-Schriftelemente auf ihre Ausgangsdefinition zurückgesetzt, +% so kann diesen mit \cs{tud@font@koma@reset} kann das passende Hilfsmakro +% abermals zugewiesen werden. % \begin{macrocode} - \def#1{}% - \the\toks@% - \edef\tud@reserved{% - \noexpand\endgroup% - \def\noexpand#1{#1}% - }% - \tud@reserved% +\newcommand*\tud@font@koma@reset[1]{% + \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}% } % \end{macrocode} -% \end{macro}^^A \tud@replace +% \end{macro}^^A \tud@font@koma@unset +% \end{macro}^^A \tud@font@koma@reset +% \end{macro}^^A \tud@font@koma@set % -% \subsubsection{Schlüssel und Parameter für \TUDScript} +% \subsubsection{Optionsdefinition für \TUDScript} % % In Anlehnung an \KOMAScript{} werden hier Befehle zur Definition und % Ausführung unterschiedlicher Klassenoptionen mithilfe der Funktionen aus @@ -720,16 +719,17 @@ % 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. 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 ursprüngliche Befehl kann -% als solcher mit \cs{tud@cmd@use}\marg{Befehlsname} weiterhin genutzt werden. -% Durch das Makro \cs{tud@cmd@update}\marg{Befehlsname} wird ein gesichter -% Befehl aktualisiert. +% Mit dem Aufruf \cs{tud@cmd@store}\marg{Befehlsname} wird der im Argument +% angegebene Befehl in einem neuem 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 +% ursprüngliche Befehl kann als solcher mit \cs{tud@cmd@use}\marg{Befehlsname} +% weiterhin genutzt werden. Ein zuvor bereits gesicherter Befehl kann mit dem +% Makro \cs{tud@cmd@update}\marg{Befehlsname} auf die momentane Definition +% aktualisiert werden. % \begin{macrocode} \newcommand*\tud@cmd@store[1]{% \tud@cmd@check{#1}% @@ -1098,6 +1098,11 @@ % \end{macrocode} % \end{macro}^^A \TUD@parameter@error % +% \iffalse +%</package&base> +%<*package&base|class&doc> +% \fi +% % \subsubsection{Ausführung von paketspezifischem Quellcode} % % Ab und an ist es notwendig, bestimmten Quelltext gezielt in Abhängigkeit vom @@ -1109,8 +1114,15 @@ % Argument wird das Paket angegeben, im zweiten der Quellcode. % \begin{macrocode} \newcommand*\TUD@UnwindPackage[2]{\AtEndPreamble{\@ifpackageloaded{#1}{}{#2}}} +%<doc>\BeforePackage{tudscrbase}{\undef\TUD@UnwindPackage} % \end{macrocode} % \end{macro}^^A \TUD@UnwindPackage +% +% \iffalse +%</package&base|class&doc> +%<*package&base> +% \fi +% % \begin{macro}{\TUD@AfterPackage@set} % \changes{v2.04}{2015/03/09}{neu}^^A % \begin{macro}{\TUD@AfterPackage@do} @@ -1147,6 +1159,8 @@ %</package&base> % \fi % +% \subsubsection{Bedingt verzögerte Ausführung von \KOMAScript-Optionen} +% % \begin{macro}{\TUD@KOMAoptions} % \changes{v2.05}{2015/07/17}{neu}^^A % Dieses Makro wird verwendet, um innerhalb der \TUDScript-Klassen zu @@ -1192,7 +1206,7 @@ %<*class&body> % \fi % -% \subsection{Externe Pakete} +% \section{Externe Pakete für die \TUDScript-Klassen} % % \changes{v2.01}{2014/04/24}{Versionsanforderungen bei benötigten Paketen}^^A % \changes{v2.02}{2014/07/08}{Warnung bei Verwendung von \pkg{graphics}}^^A @@ -1202,6 +1216,8 @@ % Pakete möglichst gering zu halten und nur die wirklich notwendigen zu % verwenden. % +% \subsection{Erweiterte Definition von Umgebungen mit dem Paket \pkg{environ}} +% % Die \env{abstract}-Umgebung wird im Vergleich zu den \KOMAScript-Klassen % stark erweitert. Für diese sowie für die Umgebungen \env{declarations} und % \env{tudpage} wird das Paket \pkg{environ} für die Umgebungsdefinition @@ -1209,37 +1225,11 @@ % \begin{macrocode} \RequirePackage{environ}[2013/04/01] % \end{macrocode} -% Es folgen die Pakete, welche bei Bedarf am Ende der Präambel geladen werden. -% \begin{macrocode} -\AtEndPreamble{% -% \end{macrocode} -% Mit \pkg{graphicx} werden die Logos der TU~Dresden sowie von Dresden Concept -% mit dem Befehl \cs{includegraphics} u.\,a. auf der Titelseite eingebunden. -% Sollte lediglich das \pkg{graphics}-Paket geladen worden sein, so wird der -% Nutzer mit einer Warnung informiert, dass das \pkg{graphicx}-Paket zusätzlich -% geladen wird. -% \begin{macrocode} - \@ifpackageloaded{graphicx}{}{% - \@ifpackageloaded{graphics}{% - \ClassWarningNoLine{\TUD@Class@Name}{% - Package `graphics' was superseded by `graphicx',\MessageBreak% - which now will be loaded automatically% - }% - }{}% - }% - \RequirePackage{graphicx}[1999/02/16]% -% \end{macrocode} -% Mit dem Paket \pkg{tudscrcolor} werden die Befehle für die Auswahl der Farben -% des \CDs definiert, welches wiederum \pkg{xcolor} lädt. -% \begin{macrocode} - \RequirePackage{tudscrcolor}[\TUD@Version]% -} -% \end{macrocode} -% -% \subsection{Parameter für mehrspaltige Texte} % -% Diese Befehle dienen dazu, bei Umgebungen oder Befehlen über einen Parameter -% das Paket \pkg{multicol} verwenden zu können. +% Innerhalb dieser Umgebungen soll es außerdem möglich sein, ein mehrspaltiges +% Layout~-- auch konträr zu den globalen Dokumenteinstellungen~-- zu verwenden. +% Mit diesen Befehlen lässt sich die Anzahl der Spalten über einen Parameter +% anpassen, falls das Paket \pkg{multicol} geladen wurde. % \begin{macro}{\tud@x@multicol@num} % \begin{macro}{\tud@x@multicol@check} % Im Makro \cs{tud@x@multicol@num} wird die Anzahl der gewünschten Spalten in @@ -1267,6 +1257,35 @@ % \end{macro}^^A \tud@x@multicol@check % \end{macro}^^A \tud@x@multicol@num % +% \subsection{Pakete für Grafiken und Farben} +% +% Es folgen die Pakete, welche bei Bedarf am Ende der Präambel geladen werden. +% \begin{macrocode} +\AtEndPreamble{% +% \end{macrocode} +% Mit \pkg{graphicx} werden die Logos der TU~Dresden sowie von Dresden Concept +% mit dem Befehl \cs{includegraphics} u.\,a. auf der Titelseite eingebunden. +% Sollte lediglich das \pkg{graphics}-Paket geladen worden sein, so wird der +% Nutzer mit einer Warnung informiert, dass zusätzlich das \pkg{graphicx}-Paket +% geladen wird. +% \begin{macrocode} + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\TUD@Class@Name}{% + Package `graphics' was superseded by `graphicx',\MessageBreak% + which now will be loaded automatically% + }% + }{}% + \RequirePackage{graphicx}[1999/02/16]% + }% +% \end{macrocode} +% Mit dem Paket \pkg{tudscrcolor} werden die Befehle für die Auswahl der Farben +% des \CDs definiert, welches wiederum \pkg{xcolor} lädt. +% \begin{macrocode} + \RequirePackage{tudscrcolor}[\TUD@Version]% +} +% \end{macrocode} +% % \iffalse %</class&body> % \fi @@ -1274,11 +1293,7 @@ % \Finale % \endinput -% -% -% \iffalse -%</package&base> -% \fi + % % \begin{macro}{\TUD@noworlater} % \changes{v2.05}{2015/07/03}{neu implementiert}^^A @@ -1332,7 +1347,3 @@ % \end{macro}^^A \TUD@noworlater@simple % \end{macro}^^A \TUD@noworlater % -% \iffalse -%<*package&base> -% \fi -%
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx index 7859b58592b..724f87d1eb2 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx @@ -1,32 +1,32 @@ % \CheckSum{216} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-color.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-color.dtx}[% - 2016/09/22 v2.05d TUD-Script\space% + 2017/01/03 v2.05g TUD-Script\space% %</driver> %<package>\ProvidesPackage{tudscrcolor}[% %<*driver|package> @@ -68,13 +68,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-color.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -82,13 +88,13 @@ % % \selectlanguage{ngerman} % -% \section{Die Farben des \CDs} +% \section{Das Paket \pkg{tudscrcolor} -- Die Farben des \CDs} % -% Das \CD der Technischen Universität Dresden legt nicht nur die zu nutzenden -% Schriften und das Layout sondern auch die zu verwendenden Farben fest. Diese -% werden nachfolgend für das CMYK"~ und RGB"~Farbmodel definiert. Sie können im -% Dokument mit sämtlichen Befehlen zur Farbauswahl wie \cs{color}\marg{Farbe} -% oder aber \cs{textcolor}\marg{Farbe} verwendet werden. +% Das \TUDCD legt nicht nur die zu nutzenden Schriften und das Layout sondern +% auch die zu verwendenden Farben fest. Diese werden nachfolgend für das CMYK"~ +% und RGB"~Farbmodel definiert. Sie können im Dokument mit sämtlichen Befehlen +% zur Farbauswahl wie \cs{color}\marg{Farbe} oder \cs{textcolor}\marg{Farbe} +% verwendet werden. % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % @@ -96,28 +102,26 @@ %<*package> % \fi % -% \subsection{Optionen und Befehle des Paketes \pkg{tudscrcolor}} +% \subsection{Optionen und Befehle} % +% \begin{option}{newcolors} +% \begin{option}{reduced} +% \begin{option}{oldcolors} +% \begin{option}{full} +% Das Paket kann entweder mit einfachen, für \TUDScript ausreichenden oder +% erweiterten Farbdefinitionen geladen werden. Letztere definieren zusätzliche +% Farbbezeichnungen für die Kompatibilität zu alten TUD-Klassen. % \begin{macrocode} \DeclareOption{newcolors}{\let\tud@setcolors@add\relax} \DeclareOption{reduced}{\let\tud@setcolors@add\relax} \DeclareOption{oldcolors}{\let\tud@setcolors@add\tud@setcolors@old} \DeclareOption{full}{\let\tud@setcolors@add\tud@setcolors@old} % \end{macrocode} -% \begin{macro}{\tud@color} -% \changes{v2.04}{2015/04/21}{neu}^^A -% Der Befehl wählt eine Farbe nur aus, wenn diese auch tatsächlich im zu -% übergebenden Makro definiert ist. -% \begin{macrocode} -\newcommand*\tud@color[1]{\ifdefvoid{#1}{}{\color{#1}}} -% \end{macrocode} -% \end{macro}^^A \tud@color -% -% \subsection{Farbdefinitionen für das Paket \pkg{tudscrcolor}} -% +% \end{option}^^A full +% \end{option}^^A oldcolors +% \end{option}^^A reduced +% \end{option}^^A newcolors % \begin{macro}{\setcdcolors} -% \begin{macro}{\tud@setcolors@do} -% \begin{macro}{\tud@setcolors@add} % Der Befehl \cs{setcdcolors} definiert die Farben des \CDs. Das Argument dient % zur Auswahl des gewünschten Farbmodels. Dies kann dazu genutzt werden, % innerhalb des Dokumentes die Definition der Farben für ein neues Farbmodell @@ -127,18 +131,38 @@ \selectcolormodel{#1}% \tud@setcolors@do% } -\newcommand*\tud@setcolors@add{} +% \end{macrocode} +% \end{macro}^^A \setcdcolors +% \begin{macro}{\tud@color} +% \changes{v2.04}{2015/04/21}{neu}^^A +% Der Befehl wählt eine in einem Makro gespeicherte Farbe nur aus, wenn dieses +% auch tatsächlich definiert ist. Dieser Befehl wird von den \TUDScript-Klassen +% für die Umsetzung des Layouts verwendet. +% \begin{macrocode} +\newcommand*\tud@color[1]{\ifdefvoid{#1}{}{\color{#1}}} +% \end{macrocode} +% \end{macro}^^A \tud@color +% +% \subsection{Farbdefinitionen} +% \subsubsection{Notwendige Farben für \TUDScript} +% +% \begin{macro}{\tud@setcolors@do} +% Die eigentliche Definitionen der Farben erfolgt erst durch die Ausführung des +% Befehls \cs{tud@setcolors@do}. Damit wird es möglich, auf die angegebenen +% Optionen in Form von \cs{tud@setcolors@add} oder den durch das Paket +% \pkg{xcolor} angegebenen Farbraum zu reagieren. +% \begin{macrocode} \newcommand*\tud@setcolors@do{% % \end{macrocode} -% \begin{color}{HKS41} +% \begin{TUDcolor}{HKS41} % Die primäre Hausfarbe (dunkles Blau) % \begin{macrocode} \definecolor{HKS41}{cmyk/RGB/rgb}{% 1.00,0.70,0.10,0.50/011,042,081/0.0431372549,0.16470588235,0.31764705882% }% % \end{macrocode} -% \end{color}^^A HKS41 -% \begin{color}{HKS92} +% \end{TUDcolor}^^A HKS41 +% \begin{TUDcolor}{HKS92} % Die sekundäre Hausfarbe (grau), allein und ausschließlich für die Verwendung % in der Geschäftsausstattung und nicht für Fließtext, Grafiken etc. % \begin{macrocode} @@ -146,19 +170,19 @@ 0.10,0.00,0.05,0.65/080,089,085/0.31372549019,0.34901960784,0.33333333333% }% % \end{macrocode} -% \end{color}^^A HKS92 -% \begin{color}{HKS44} +% \end{TUDcolor}^^A HKS92 +% \begin{TUDcolor}{HKS44} % Auszeichnungen 1. Kategorie (helles Blau) % \begin{macrocode} \definecolor{HKS44}{cmyk/RGB/rgb}{% 1.00,0.50,0.00,0.00/000,089,163/0,0.34901960784,0.63921568627% }% % \end{macrocode} -% \end{color}^^A HKS44 -% \begin{color}{HKS36} -% \begin{color}{HKS33} -% \begin{color}{HKS57} -% \begin{color}{HKS65} +% \end{TUDcolor}^^A HKS44 +% \begin{TUDcolor}{HKS36} +% \begin{TUDcolor}{HKS33} +% \begin{TUDcolor}{HKS57} +% \begin{TUDcolor}{HKS65} % Auszeichnungen 2. Kategorie (Indigo, Purpur, dunkles Grün, helles Grün) % \begin{macrocode} \definecolor{HKS36}{cmyk/RGB/rgb}{% @@ -174,27 +198,27 @@ 0.65,0.00,1.00,0.00/034,173,054/0.13333333333,0.67843137254,0.21176470588% }% % \end{macrocode} -% \end{color}^^A HKS65 -% \end{color}^^A HKS57 -% \end{color}^^A HKS33 -% \end{color}^^A HKS36 -% \begin{color}{HKS07} +% \end{TUDcolor}^^A HKS65 +% \end{TUDcolor}^^A HKS57 +% \end{TUDcolor}^^A HKS33 +% \end{TUDcolor}^^A HKS36 +% \begin{TUDcolor}{HKS07} % Ausnahmefarbe (Orange) % \begin{macrocode} \definecolor{HKS07}{cmyk/RGB/rgb}{% 0.00,0.60,1.00,0.00/232,123,020/0.90980392156,0.48235294117,0.07843137254% }% % \end{macrocode} -% \end{color}^^A HKS07 -% \begin{color}{cddarkblue} -% \begin{color}{cdgray} -% \begin{color}{cdgrey} -% \begin{color}{cdblue} -% \begin{color}{cdindigo} -% \begin{color}{cdpurple} -% \begin{color}{cddarkgreen} -% \begin{color}{cdgreen} -% \begin{color}{cdorange} +% \end{TUDcolor}^^A HKS07 +% \begin{TUDcolor}{cddarkblue} +% \begin{TUDcolor}{cdgray} +% \begin{TUDcolor}{cdgrey} +% \begin{TUDcolor}{cdblue} +% \begin{TUDcolor}{cdindigo} +% \begin{TUDcolor}{cdpurple} +% \begin{TUDcolor}{cddarkgreen} +% \begin{TUDcolor}{cdgreen} +% \begin{TUDcolor}{cdorange} % Die definierten Grundfarben werden zur einfacheren Verwendung im Dokument % noch einmal speziell benannt. % \begin{macrocode} @@ -208,15 +232,15 @@ \colorlet{cdgreen}{HKS65}% \colorlet{cdorange}{HKS07}% % \end{macrocode} -% \end{color}^^A cdorange -% \end{color}^^A cdgreen -% \end{color}^^A cddarkgreen -% \end{color}^^A cdpurple -% \end{color}^^A cdindigo -% \end{color}^^A cdblue -% \end{color}^^A cdgrey -% \end{color}^^A cdgray -% \end{color}^^A cddarkblue +% \end{TUDcolor}^^A cdorange +% \end{TUDcolor}^^A cdgreen +% \end{TUDcolor}^^A cddarkgreen +% \end{TUDcolor}^^A cdpurple +% \end{TUDcolor}^^A cdindigo +% \end{TUDcolor}^^A cdblue +% \end{TUDcolor}^^A cdgrey +% \end{TUDcolor}^^A cdgray +% \end{TUDcolor}^^A cddarkblue % Damit enden die notwendigen Farbdefinitionen für das \pkg{tudscrcolor}-Paket. % Abhängig von den gewählten Optionen werden mit \cs{tud@setcolors@add} ggf. % zusätzliche Farbnamen definiert. @@ -224,15 +248,18 @@ \tud@setcolors@add% } % \end{macrocode} -% \end{macro}^^A \tud@setcolors@add % \end{macro}^^A \tud@setcolors@do -% \end{macro}^^A \setcdcolors +% +% \subsubsection{Zusätzliche Farben für alte TUD-Klassen} +% +% \begin{macro}{\tud@setcolors@add} % \begin{macro}{\tud@setcolors@old} % Die erweiterten Farbbefehle werden durch \pkg{tudscrcolor} definiert, wenn % 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. +% an der \TnUD unterstützt. % \begin{macrocode} +\newcommand*\tud@setcolors@add{} \newcommand*\tud@setcolors@old{% \colorlet{HKS41K10}{HKS41!10}% \colorlet{HKS41K20}{HKS41!20}% @@ -397,6 +424,10 @@ } % \end{macrocode} % \end{macro}^^A \tud@setcolors@old +% \end{macro}^^A \tud@setcolors@add +% +% \subsection{Ausführung der Optionen} +% % 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 52c7f3df8e2..fe7003920d2 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx @@ -1,32 +1,32 @@ -% \CheckSum{1487} +% \CheckSum{1489} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-comp.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-comp.dtx}[% - 2016/10/12 v2.05f TUD-Script\space% + 2017/01/26 v2.05g TUD-Script\space% %</driver> %<package&identify&comp&base>\ProvidesPackage{tudscrcomp}[% %<package&identify&comp&book>\ProvidesPackage{tudscrcomp-book}[% @@ -72,13 +72,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-comp.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -86,22 +92,12 @@ % % \selectlanguage{ngerman} % -% \changes{v2.02}{2014/09/30}{\pkg{tudscrfonts}: Nutzung alter tud-Klassen +% \changes{v2.02}{2014/09/30}{\pkg{tudscrfonts}: Nutzung alter TUD-Klassen % mit neuen Schriftfamilien ermöglicht}^^A % \changes{v2.04}{2015/04/22}{\pkg{tudscrfonts}: Unterstützung veralteter % Posterklassen}^^A -% \changes{v2.05}{2015/12/08}{\pkg{fix-tudscrfonts}: Dieses Paket übernimmt die -% Bereitstellung der Schriften für veraltete Klassen}^^A -% -% \section{Kompatibilität zu früheren Versionen und Klassen} % -% Hiermit werden sowohl veraltete Befehle und Optionen aus früheren Versionen -% von \TUDScript als auch \enquote{veraltete} Klassen und Pakete, welche das -% \CD der \TnUD mehr oder weniger gut umsetzen, unterstützt. -% -% \StopEventually{\PrintIndex\PrintChanges\PrintToDos} -% -% \subsection{Kompatibilität zu früheren \TUDScript-Versionen} +% \section{Kompatibilität zu früheren \TUDScript-Versionen} % % Mit der Version v2.02 wurde eine Menge~-- teilweise sehr tiefgreifend~-- an % der Benutzerschnittstelle in \TUDScript geändert. Dabei wird versucht, die @@ -111,6 +107,8 @@ % betreffen sowohl die Klassen selber als auch die zusätzlich bereitgestellten % Pakete. % +% \StopEventually{\PrintIndex\PrintChanges\PrintToDos} +% % \iffalse %<*class|(package&fonts)> % \fi @@ -183,6 +181,256 @@ %<*option> % \fi % +% \begin{option}{tudscrver} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \begin{macro}{\tud@v@comp} +% \changes{v2.02}{2014/08/22}{neu}^^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{tud@v@comp} gespeichert. In den Makros \cs{tud@v@\meta{Version}} werden +% die zugehörigen Nummern gespeichert. +% \begin{macrocode} +\newcommand*\tud@v@comp{\tud@v@last} +\TUD@key{tudscrver}[last]{% + \tud@v@get\@tempa{#1}% + \ifcsundef{tud@v@\@tempa}{% +%<*class> + \ClassWarningNoLine{\TUD@Class@Name}% +%</class> +%<*package&fonts> + \PackageWarningNoLine{tudscrfonts}% +%</package&fonts> + {% + You have set option `tudscrver' to `\@tempa', but\MessageBreak% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% + }% + \def\tud@v@comp{0}% + }{% +%<*class> + \ClassInfoNoLine{\TUD@Class@Name}% +%</class> +%<*package&fonts> + \PackageInfoNoLine{tudscrfonts}% +%</package&fonts> + {% + Switching compatibility level to `\@tempa'% + }% + \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% + }% + \FamilyKeyStateProcessed% +} +% \end{macrocode} +% Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim +% Laden der Klasse bzw. des Paketes gesetzt werden, danach nicht mehr. +% \begin{macrocode} +%<*class> +\AtEndOfClass% +%</class> +%<*package> +\AtEndOfPackage% +%</package> +{% + \TUD@key{tudscrver}[]{% +%<*class> + \ClassError{\TUD@Class@Name}% +%</class> +%<*package&fonts> + \PackageError{tudscrfonts}% +%</package&fonts> + {Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% +%<*class> + class `\TUD@Class@Name' +%</class> +%<*package&fonts> + package `tudscrfonts' +%</package&fonts> + but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% +% \end{macrocode} +% Außerdem wird darauf geachtet, dass die mindestens benötigte Version von +% \KOMAScript{} installiert ist. (\cs{\TUD@Version@KOMA}: \TUD@Version@KOMA). +% Sollte dies nicht der Fall sein, wird ein Fehler erzeugt. +% \begin{macrocode} +%<*class> + \ifcsdef{scr@v@\TUD@Version@KOMA}{% + \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% + \ClassError{\TUD@Class@Name}{% + KOMA-Script compatibility level too low% + }{% + \TUD@Version\space must be used at least with\MessageBreak% + KOMA-Script compatibility option `version=3.12'.% + }% + \fi% + }{% + \ClassError{\TUD@Class@Name}{% + KOMA-Script v\TUD@Version@KOMA is required% + }{% + \TUD@Version\space must at least be used with\MessageBreak% + KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% + }% + }% +%</class> +} +% \end{macrocode} +% \end{macro}^^A \tud@v@comp +% \end{option}^^A tudscrver +% \ToDo{Für jede neue Version der entsprechende Befehl}[Release] +% \begin{macro}{\tud@v@first} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \begin{macro}{\tud@v@2.00} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \begin{macro}{\tud@v@2.01} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \begin{macro}{\tud@v@2.01a} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \begin{macro}{\tud@v@2.01b} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \begin{macro}{\tud@v@2.02} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \begin{macro}{\tud@v@2.03} +% \changes{v2.03}{2015/01/13}{neu}^^A +% \begin{macro}{\tud@v@2.03a} +% \changes{v2.03a}{2015/06/12}{neu}^^A +% \begin{macro}{\tud@v@2.04} +% \changes{v2.04}{2015/02/18}{neu}^^A +% \begin{macro}{\tud@v@2.04a} +% \changes{v2.04a}{2015/07/24}{neu}^^A +% \begin{macro}{\tud@v@2.04b} +% \changes{v2.04b}{2015/10/06}{neu}^^A +% \begin{macro}{\tud@v@2.04c} +% \changes{v2.04c}{2015/11/29}{neu}^^A +% \begin{macro}{\tud@v@2.04d} +% \changes{v2.04d}{2016/03/26}{neu}^^A +% \begin{macro}{\tud@v@2.04e} +% \changes{v2.04e}{2016/06/17}{neu}^^A +% \begin{macro}{\tud@v@2.05} +% \changes{v2.05}{2015/07/03}{neu}^^A +% \begin{macro}{\tud@v@2.05a} +% \changes{v2.05a}{2015/08/24}{neu}^^A +% \begin{macro}{\tud@v@2.05b} +% \changes{v2.05b}{2015/09/09}{neu}^^A +% \begin{macro}{\tud@v@2.05c} +% \changes{v2.05c}{2015/09/15}{neu}^^A +% \begin{macro}{\tud@v@2.05d} +% \changes{v2.05d}{2015/09/21}{neu}^^A +% \begin{macro}{\tud@v@2.05e} +% \changes{v2.05e}{2016/10/10}{neu}^^A +% \begin{macro}{\tud@v@2.05f} +% \changes{v2.05f}{2016/10/12}{neu}^^A +% \begin{macro}{\tud@v@2.05g} +% \changes{v2.05g}{2017/01/26}{neu}^^A +% \begin{macro}{\tud@v@last} +% \changes{v2.02}{2014/08/22}{neu}^^A +% \changes{v2.03}{2015/01/13}{angepasst}^^A +% \changes{v2.04}{2015/02/18}{angepasst}^^A +% \changes{v2.05}{2015/07/03}{angepasst}^^A +% Die numerischen Werte zu den einzelnen Versionen. +% \begin{macrocode} +\csdef{tud@v@first}{0} +\csdef{tud@v@2.00}{0} +\csdef{tud@v@2.01}{0} +\csdef{tud@v@2.01a}{0} +\csdef{tud@v@2.01b}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.03}{1} +\csdef{tud@v@2.03a}{1} +\csdef{tud@v@2.04}{2} +\csdef{tud@v@2.04a}{2} +\csdef{tud@v@2.04b}{2} +\csdef{tud@v@2.04c}{2} +\csdef{tud@v@2.04d}{2} +\csdef{tud@v@2.04e}{2} +\csdef{tud@v@2.05}{3} +\csdef{tud@v@2.05a}{3} +\csdef{tud@v@2.05b}{3} +\csdef{tud@v@2.05c}{3} +\csdef{tud@v@2.05d}{3} +\csdef{tud@v@2.05e}{3} +\csdef{tud@v@2.05f}{3} +\csdef{tud@v@2.05g}{3} +\csdef{tud@v@last}{3} +% \end{macrocode} +% \end{macro}^^A \tud@v@last +% \end{macro}^^A \tud@v@2.05g +% \end{macro}^^A \tud@v@2.05f +% \end{macro}^^A \tud@v@2.05e +% \end{macro}^^A \tud@v@2.05d +% \end{macro}^^A \tud@v@2.05c +% \end{macro}^^A \tud@v@2.05b +% \end{macro}^^A \tud@v@2.05a +% \end{macro}^^A \tud@v@2.05 +% \end{macro}^^A \tud@v@2.04e +% \end{macro}^^A \tud@v@2.04d +% \end{macro}^^A \tud@v@2.04c +% \end{macro}^^A \tud@v@2.04b +% \end{macro}^^A \tud@v@2.04a +% \end{macro}^^A \tud@v@2.04 +% \end{macro}^^A \tud@v@2.03a +% \end{macro}^^A \tud@v@2.03 +% \end{macro}^^A \tud@v@2.02 +% \end{macro}^^A \tud@v@2.01b +% \end{macro}^^A \tud@v@2.01a +% \end{macro}^^A \tud@v@2.01 +% \end{macro}^^A \tud@v@2.00 +% \end{macro}^^A \tud@v@first +% \begin{macro}{\tud@v@get} +% \changes{v2.05}{2016/05/31}{neu}^^A +% Mit \cs{tud@v@get} wird die angegebene Versionsnummer in eine Normalform +% gebracht und an das Makro im ersten Argument übergeben. Damit spielt es keine +% Rolle, ob die im zweiten Argument übergebene Versionsnummer mit oder ohne +% führendes \enquote{v} angegeben wird. +% \begin{macrocode} +\newcommand*\tud@v@get[2]{% + \begingroup% + \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempb v##1\@nil{\def\@tempc{##1}}% + \@tempa #2\@nil% + \edef\tud@reserved{% + \endgroup% + \etex@unexpanded{\def#1}{\@tempc}% + }% + \tud@reserved% +} +% \end{macrocode} +% \end{macro}^^A \tud@v@get +% \begin{macro}{\tud@if@v@lower} +% \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*\tud@if@v@lower[1]{% + \begingroup% + \tud@v@get\@tempa{#1}% + \ifcsdef{tud@v@\@tempa}{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% + }{% + \def\tud@reserved{% + \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! + Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% + There's no defined macro `\string\tud@v@\@tempa'% + }% + \endgroup\@firstoftwo% + }% + }% + \tud@reserved% +} +% \end{macrocode} +% \end{macro}^^A \tud@if@v@lower +% +% \subsection{Veraltete Optionen} +% % \begin{option}{fontspec} % \changes{v2.02}{2014/08/29}{neu}^^A % \changes{v2.05}{2015/07/06}{veraltet}^^A @@ -361,8 +609,8 @@ % % \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. +% Umbenennung der zu allgemein bezeichneten Option, um zukünftig potenziellen +% Konflikten mit \KOMAScript{} aus dem Weg zu gehen. % \begin{macrocode} \TUD@key{geometry}[true]{\TUD@key@deprecated{geometry=#1}{cdgeometry=#1}} % \end{macrocode} @@ -465,258 +713,13 @@ % % \iffalse %</class> -% \fi -% -% \begin{option}{tudscrver} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@comp} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@first} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@2.00} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@2.01} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@2.01a} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@2.01b} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@2.02} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@2.03} -% \changes{v2.03}{2015/01/13}{neu}^^A -% \begin{macro}{\tud@v@2.03a} -% \changes{v2.03a}{2015/06/12}{neu}^^A -% \begin{macro}{\tud@v@2.04} -% \changes{v2.04}{2015/02/18}{neu}^^A -% \begin{macro}{\tud@v@2.04a} -% \changes{v2.04a}{2015/07/24}{neu}^^A -% \begin{macro}{\tud@v@2.04b} -% \changes{v2.04b}{2015/10/06}{neu}^^A -% \begin{macro}{\tud@v@2.04c} -% \changes{v2.04c}{2015/11/29}{neu}^^A -% \begin{macro}{\tud@v@2.04d} -% \changes{v2.04d}{2016/03/26}{neu}^^A -% \begin{macro}{\tud@v@2.04e} -% \changes{v2.04e}{2016/06/17}{neu}^^A -% \begin{macro}{\tud@v@2.05} -% \changes{v2.05}{2015/07/03}{neu}^^A -% \begin{macro}{\tud@v@2.05a} -% \changes{v2.05a}{2015/08/24}{neu}^^A -% \begin{macro}{\tud@v@2.05b} -% \changes{v2.05b}{2015/09/09}{neu}^^A -% \begin{macro}{\tud@v@2.05c} -% \changes{v2.05c}{2015/09/15}{neu}^^A -% \begin{macro}{\tud@v@2.05d} -% \changes{v2.05d}{2015/09/21}{neu}^^A -% \begin{macro}{\tud@v@2.05e} -% \changes{v2.05d}{2015/10/10}{neu}^^A -% \begin{macro}{\tud@v@2.05f} -% \changes{v2.05d}{2015/10/12}{neu}^^A -% \begin{macro}{\tud@v@last} -% \changes{v2.02}{2014/08/22}{neu}^^A -% \changes{v2.03}{2015/01/13}{angepasst}^^A -% \changes{v2.04}{2015/02/18}{angepasst}^^A -% \changes{v2.05}{2015/07/03}{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{tud@v@comp} gespeichert. In den Makros \cs{tud@v@\meta{Version}} werden -% die zugehörigen Nummern gespeichert. -% \begin{macrocode} -\newcommand*\tud@v@comp{\tud@v@last} -\TUD@key{tudscrver}[last]{% - \tud@v@get\@tempa{#1}% - \ifcsundef{tud@v@\@tempa}{% -%<*class> - \ClassWarningNoLine{\TUD@Class@Name}% -%</class> -%<*package&fonts> - \PackageWarningNoLine{tudscrfonts}% -%</package&fonts> - {% - You have set option `tudscrver' to `\@tempa', but\MessageBreak% - this value is not supported. Because of this, the\MessageBreak% - value for `tudscrver' was set to `first'% - }% - \def\tud@v@comp{0}% - }{% -%<*class> - \ClassInfoNoLine{\TUD@Class@Name}% -%</class> -%<*package&fonts> - \PackageInfoNoLine{tudscrfonts}% -%</package&fonts> - {% - Switching compatibility level to `\@tempa'% - }% - \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% - }% - \FamilyKeyStateProcessed% -} -% \end{macrocode} -% Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim -% Laden der Klasse bzw. des Paketes gesetzt werden, danach nicht mehr. -% \begin{macrocode} -%<*class> -\AtEndOfClass% -%</class> -%<*package> -\AtEndOfPackage% -%</package> -{% - \TUD@key{tudscrver}[]{% -%<*class> - \ClassError{\TUD@Class@Name}% -%</class> -%<*package&fonts> - \PackageError{tudscrfonts}% -%</package&fonts> - {Option `tudscrver' too late}{% - Option `tudscrver' can only be set while loading the\MessageBreak% -%<*class> - class `\TUD@Class@Name' -%</class> -%<*package&fonts> - package `tudscrfonts' -%</package&fonts> - but you have tried to set it up later.% - }% - \FamilyKeyStateProcessed% - }% -% \end{macrocode} -% Außerdem wird darauf geachtet, dass die mindestens benötigte Version von -% \KOMAScript{} installiert ist. (\cs{\TUD@Version@KOMA}: \TUD@Version@KOMA). -% Sollte dies nicht der Fall sein, wird ein Fehler erzeugt. -% \begin{macrocode} -%<*class> - \ifcsdef{scr@v@\TUD@Version@KOMA}{% - \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% - \ClassError{\TUD@Class@Name}{% - KOMA-Script compatibility level too low% - }{% - \TUD@Version\space must be used at least with\MessageBreak% - KOMA-Script compatibility option `version=3.12'.% - }% - \fi% - }{% - \ClassError{\TUD@Class@Name}{% - KOMA-Script v\TUD@Version@KOMA is required% - }{% - \TUD@Version\space must at least be used with\MessageBreak% - KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% - }% - }% -%</class> -} -% \end{macrocode} -% Die numerischen Werte zu den einzelnen Versionen. -% \ToDo{Für jede neue Version der entsprechende Befehl}[Release] -% \begin{macrocode} -\csdef{tud@v@first}{0} -\csdef{tud@v@2.00}{0} -\csdef{tud@v@2.01}{0} -\csdef{tud@v@2.01a}{0} -\csdef{tud@v@2.01b}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.03}{1} -\csdef{tud@v@2.03a}{1} -\csdef{tud@v@2.04}{2} -\csdef{tud@v@2.04a}{2} -\csdef{tud@v@2.04b}{2} -\csdef{tud@v@2.04c}{2} -\csdef{tud@v@2.04d}{2} -\csdef{tud@v@2.04e}{2} -\csdef{tud@v@2.05}{3} -\csdef{tud@v@2.05a}{3} -\csdef{tud@v@2.05b}{3} -\csdef{tud@v@2.05c}{3} -\csdef{tud@v@2.05d}{3} -\csdef{tud@v@2.05e}{3} -\csdef{tud@v@2.05f}{3} -\csdef{tud@v@last}{3} -% \end{macrocode} -% \end{macro}^^A \tud@v@last -% \end{macro}^^A \tud@v@2.05f -% \end{macro}^^A \tud@v@2.05e -% \end{macro}^^A \tud@v@2.05d -% \end{macro}^^A \tud@v@2.05c -% \end{macro}^^A \tud@v@2.05b -% \end{macro}^^A \tud@v@2.05a -% \end{macro}^^A \tud@v@2.05 -% \end{macro}^^A \tud@v@2.04e -% \end{macro}^^A \tud@v@2.04d -% \end{macro}^^A \tud@v@2.04c -% \end{macro}^^A \tud@v@2.04b -% \end{macro}^^A \tud@v@2.04a -% \end{macro}^^A \tud@v@2.04 -% \end{macro}^^A \tud@v@2.03a -% \end{macro}^^A \tud@v@2.03 -% \end{macro}^^A \tud@v@2.02 -% \end{macro}^^A \tud@v@2.01b -% \end{macro}^^A \tud@v@2.01a -% \end{macro}^^A \tud@v@2.01 -% \end{macro}^^A \tud@v@2.00 -% \end{macro}^^A \tud@v@first -% \end{macro}^^A \tud@v@comp -% \end{option}^^A tudscrver -% \begin{macro}{\tud@v@get} -% \changes{v2.05}{2016/05/31}{neu}^^A -% Mit \cs{tud@v@get} wird die angegebene Versionsnummer in eine Normalform -% gebracht und an das Makro im ersten Argument übergeben. Damit spielt es keine -% Rolle, ob die im zweiten Argument übergebene Versionsnummer mit oder ohne -% führendes \enquote{v} angegeben wird. -% \begin{macrocode} -\newcommand*\tud@v@get[2]{% - \begingroup% - \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% - \def\@tempb v##1\@nil{\def\@tempc{##1}}% - \@tempa #2\@nil% - \edef\tud@reserved{% - \endgroup% - \etex@unexpanded{\def#1}{\@tempc}% - }% - \tud@reserved% -} -% \end{macrocode} -% \end{macro}^^A \tud@v@get -% \begin{macro}{\tud@if@v@lower} -% \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*\tud@if@v@lower[1]{% - \begingroup% - \tud@v@get\@tempa{#1}% - \ifcsdef{tud@v@\@tempa}{% - \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% - \def\tud@reserved{\endgroup\@firstoftwo}% - \else% - \def\tud@reserved{\endgroup\@secondoftwo}% - \fi% - }{% - \def\tud@reserved{% - \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! - Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% - There's no defined macro `\string\tud@v@\@tempa'% - }% - \endgroup\@firstoftwo% - }% - }% - \tud@reserved% -} -% \end{macrocode} -% \end{macro}^^A \tud@if@v@lower -% -% \iffalse %</option> %</class|(package&fonts)> %<*class&body> % \fi % +% \subsection{Veraltete Befehle und Längen} +% % \begin{length}{\footlogoheight} % \changes{v2.03}{2015/01/27}{neu}^^A % Um die Höhe von Logos im Fußbereich der \pgs{tudheadings}-Seitenstile @@ -873,7 +876,7 @@ %</body> % \fi % -% \subsection{Das Paket \pkg{tudscrcomp} -- Kompatibilität veralteter Klassen} +% \section{Das Paket \pkg{tudscrcomp} -- Kompatibilität veralteter Klassen} % % Neben den \TUDScript-Klassen gibt es zahlreiche andere \LaTeX-Umsetzungen des % \CDs der \TnUD. Um eine Migration von diesen \enquote{veralteten} Klassen @@ -888,7 +891,7 @@ %<*base> % \fi % -% \subsubsection{Erkennen der geladenen Klasse} +% \subsection{Erkennen der geladenen Klasse} % % Damit je nach geladener Klasse die passenden Kompatibilitätseinstellungen und % -befehle bereitgestellt werden können, wird auf die geladene Klasse geprüft. @@ -908,7 +911,7 @@ %<*body> % \fi % -% \subsubsection{Gemeinsame Optionen und Befehle für alle Klassen} +% \subsection{Gemeinsame Optionen und Befehle für alle Klassen} % % Zunächst werden alle Optionen und Befehle definiert, die unabhängig von der % geladenen Klasse generell bereitgestellt werden. @@ -946,7 +949,7 @@ %<*option> % \fi % -% \subsubsection{Kompatibilität zu \cls{tudbook}} +% \subsection{Kompatibilität zu \cls{tudbook}} % % Die folgenden Optionen und Befehle werden durch die Klasse \cls{tudbook} und % teilweise durch \TUDScript~v1.0 definiert. @@ -1164,7 +1167,7 @@ %<*option> % \fi % -% \subsubsection{Kompatibilität zu \cls{tudmathposter}} +% \subsection{Kompatibilität zu \cls{tudmathposter}} % % Die hier bereitgestellten Optionen und Befehle werden durch die Klasse % \cls{tudmathposter} bzw. \cls{tudposter} definiert. @@ -1294,8 +1297,12 @@ % \end{macro}^^A \zweitlogofile % \begin{macro}{\topsection} % \changes{v2.05}{2016/04/17}{neu}^^A +% \begin{counter}{topsection} +% \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\topsubsection} % \changes{v2.05}{2016/04/17}{neu}^^A +% \begin{counter}{topsubsection} +% \changes{v2.05}{2016/04/17}{neu}^^A % Die Klasse \cls{tudmathposter} definiert zusätzliche Gliederungsbefehle, % welche allerdings völlig willkürliche vertikale Abstände davor und danach % verwendet. Es besteht keinerlei Ambition, diese genau abzubilden. Falls hier @@ -1343,7 +1350,9 @@ beforeskip=\z@,% ]{topsubsection} % \end{macrocode} +% \end{counter}^^A topsubsection % \end{macro}^^A \topsubsection +% \end{counter}^^A topsection % \end{macro}^^A \topsection % \begin{macro}{\centersection} % \changes{v2.05}{2016/04/17}{neu}^^A @@ -1412,7 +1421,7 @@ % \begin{counter}{secnumdepth} % Standardmäßig wird die Nummerierung aller Gliederungsebenen deaktiviert. % \begin{macrocode} -\setcounter{secnumdepth}{-1} +\setcounter{secnumdepth}{\m@ne} % \end{macrocode} % \end{counter}^^A secnumdepth % \begin{macro}{\fusszeile} @@ -1501,13 +1510,14 @@ % \begin{macro}{\tud@footcontent@use} % \begin{macro}{\tud@comp@mathposterwidth} % \changes{v2.05}{2016/04/17}{neu}^^A -% Um die Option \opt{tudmathposterfoot} abzuarbeiten, muss die Anpassung des -% Makros \cs{tud@footcontent@use} für die Ausgabe des Fußbereichs erfolgen. +% Um die Option \opt{tudmathposterfoot} umzusetzen, muss für die Ausgabe des +% Fußbereichs eine Anpassung des Makros \cs{tud@footcontent@use} erfolgen. % Normalerweise wird der Fußbereich in zwei gleichbreite Spalten über die -% komplette Textbreite aufgeteilt. In \cls{tudmathposter} hingegen, werden -% beide Fußspalten nicht über den kompletten textberecih versteilt, sondern es -% verbleibt etwas ungenutzter Platz rechts davon, welcher für ein etwaiges Logo -% verwendet wird. Dieses Verhalten wird hier nachgebildet. +% komplette Textbreite aufgeteilt. Dahingegen werden durch die Klasse +% \cls{tudmathposter} beide Fußspalten nicht über den kompletten Textbereich +% verteilt, sondern es verbleibt etwas ungenutzter Platz rechts davon, welcher +% für ein etwaiges Logo verwendet wird. Dieses Verhalten kann über die Option +% \opt{tudmathposterfoot} aktiviert werden und wird hier nachgebildet. % \begin{macrocode} \newcommand*\tud@comp@mathposterwidth{4.2\tud@len@widemargin} \patchcmd{\tud@footcontent@use}{% @@ -1613,9 +1623,9 @@ % \begin{macro}{\schnittrand} % \changes{v2.05}{2016/04/17}{neu}^^A % Zu guter Letzt geht es an das Makro \cs{schnittrand}. Zur Intension dieses -% Befehls gab es unter \url{https://github.com/tud-cd/tud-cd/issues/6} bereits -% eine angeregte Diskussion. Deshalb wird das Makro als Wertzuweisung für die -% Option \opt{bleedmargin} genutzt. +% Befehls gab es auf \hrfn{https://github.com/tud-cd/tud-cd/issues/6}{GitHub} +% bereits eine angeregte Diskussion. Deshalb wird das Makro als Wertzuweisung +% für die Option \opt{bleedmargin} genutzt. % \ToDo{Für \cls{tudscrposter} übernehmen?}[v2.07] % \begin{macrocode} \ifundef{\schnittrand}{}{% @@ -1665,10 +1675,14 @@ %</package&comp> % \fi % -% \subsection{\pkg{fix-tudscrfonts} -- Schriften des \CDs für alte TUD-Klassen} +% \section{Das Paket \pkg{fix-tudscrfonts} -- Schriften für alte TUD-Klassen} % -% Das Paket \pkg{fix-tudscrfonts} bietet die \TUDScript-Schriftfamilien für die -% veralteten Klassen von Klaus Bergmann sowie die Posterklassen an. +% \changes{v2.05}{2015/12/08}{\pkg{fix-tudscrfonts}: Dieses Paket übernimmt die +% Bereitstellung der Schriften für veraltete Klassen}^^A +% +% Das Paket \pkg{fix-tudscrfonts} bietet die Schriftfamilien des \TUDCDs im +% \TUDScript-Stil für die \enquote{veralteten} Klassen von Klaus Bergmann sowie +% die Posterklassen an. % % \iffalse %<*package&fontsfix> @@ -1679,8 +1693,8 @@ % welches automatisch am Ende der Präambel geladen wird, falls dies zuvor durch % den Anwender geschieht. Für die Klassen von Klaus Bergmann, \TUDScript in der % Version~v1.0 sowie die alternativen Posterklassen bleiben die vertikalen -% Abstände schriftgrößenunabhängig. Außerdem wird für die fetten Schriften ein -% stärkerer Schriftschnitt genutzt. +% Abstände schriftgrößenunabhängig. Außerdem wird für die fette Schriftstärke +% ein stärkerer Schriftschnitt genutzt. % \begin{macrocode} \PassOptionsToPackage{relspacing=false,cdfont=ultrabold}{tudscrfonts} \DeclareOption*{\PassOptionsToPackage{\CurrentOption}{tudscrfonts}} @@ -1690,10 +1704,19 @@ \RequirePackage{tudscrfonts}[\TUD@Version]% } % \end{macrocode} +% +% \subsection{Verwendbarkeit und Ladezeitpunkt von \pkg{fix-tudscrfonts}} +% +% Da das Paket eine Vielzahl an Anpassungen der Schriftbefehle vornimmt sowie +% die Definition von \LaTeXe-Standardbefehlen bereits vor dem Laden der +% eigentlichen Dokumentklasse sichern muss, kann dieses Paket ausschließlich +% vor \cs{documentclass} mit \cs{RequirePackage} geladen werden. +% % \begin{macro}{\tud@fontsfix@maybe@err} % \changes{v2.05}{2016/01/02}{neu}^^A -% Je nachdem, ob das Paket zu spät oder mit einer falschen Klasse geladen -% wurde, wird eine Warnung ausgegeben. +% Dieser Befehl wird nach dem Laden einer unterstützten Klasse zu \cs{relax} +% gesetzt. Sollte das Paket jedoch erst nach einer Dokumentklasse geladen +% werden, so wird ein Fehler ausgegeben. % \begin{macrocode} \ifx\usepackage\RequirePackage \newcommand*\tud@fontsfix@maybe@err{% @@ -1702,6 +1725,10 @@ any document class with `\string\RequirePackage'% }% }% +% \end{macrocode} +% Wird das Paket mit einer nicht unterstützten Dokumentklasse verwendet, wird +% ebenfalls ein Fehler ausgegeben. +% \begin{macrocode} \else \newcommand*\tud@fontsfix@maybe@err{% \PackageError{fix-tudscrfonts}{Unsupported class found}{% @@ -1722,10 +1749,10 @@ %<*body> % \fi % -% \subsubsection{Patches für die unterstützten Klassen} +% \subsection{Patches für die unterstützten Klassen} % % Für alle unterstützten Klassen sind vor und nach dem Laden einige Anpassungen -% notwendig. +% an den bereitgestellten Schriftbefehlen notwendig. % % \begin{macro}{\tud@fontsfix@AdaptClass} % \changes{v2.05}{2016/01/02}{neu}^^A @@ -1733,20 +1760,21 @@ % \changes{v2.05}{2015/07/13}{neu}^^A % \begin{macro}{\dinfamily} % \changes{v2.05}{2015/07/13}{neu}^^A -% \begin{macro}{\univBoldHead} -% \begin{macro}{\univLightHead} -% \begin{macro}{\univBoldXV} -% \begin{macro}{\univLightObliqueXV} -% \begin{macro}{\univLightXV} -% \begin{macro}{\univBoldXI} -% \begin{macro}{\univLightObliqueXI} -% \begin{macro}{\univLightXI} -% \begin{macro}{\univBoldIX} -% \begin{macro}{\univLightObliqueIX} -% \begin{macro}{\univLightIX} -% \begin{macro}{\univBoldVII} -% \begin{macro}{\univLightObliqueVII} % \begin{macro}{\univLightVII} +% \begin{macro}{\univLightObliqueVII} +% \begin{macro}{\univBoldVII} +% \begin{macro}{\univLightIX} +% \begin{macro}{\univLightObliqueIX} +% \begin{macro}{\univBoldIX} +% \begin{macro}{\univLightXI} +% \begin{macro}{\univLightObliqueXI} +% \begin{macro}{\univBoldXI} +% \begin{macro}{\univLightXV} +% \begin{macro}{\univLightObliqueXV} +% \begin{macro}{\univBoldXV} +% \begin{macro}{\univLightHead} +% \begin{macro}{\univBoldHead} +% \begin{macro}{\tud@head@fntsz} % Mit diesen beiden Befehlen werden vor dem Laden der alten Klassen einige % Befehle gesichert und die benötigten Optionen gesetzt. Nach dem Laden der % jeweiligen Klasse werden die gesicherten Makrodefinitionen wiederhergestellt @@ -1779,9 +1807,6 @@ \PassOptionsToClass{serifmath}{#1}% }% \AfterClass{#1}{% -% \end{macrocode} -% -% \begin{macrocode} \RequirePackage{tudscrbase}[\TUD@Version]% \tud@cmd@restore{DeclareFixedFont}% \tud@cmd@restore{rmdefault}% @@ -1915,20 +1940,21 @@ }% } % \end{macrocode} -% \end{macro}^^A \univLightVII -% \end{macro}^^A \univLightObliqueVII -% \end{macro}^^A \univBoldVII -% \end{macro}^^A \univLightIX -% \end{macro}^^A \univLightObliqueIX -% \end{macro}^^A \univBoldIX -% \end{macro}^^A \univLightXI -% \end{macro}^^A \univLightObliqueXI -% \end{macro}^^A \univBoldXI -% \end{macro}^^A \univLightXV -% \end{macro}^^A \univLightObliqueXV -% \end{macro}^^A \univBoldXV -% \end{macro}^^A \univLightHead +% \end{macro}^^A \tud@head@fntsz % \end{macro}^^A \univBoldHead +% \end{macro}^^A \univLightHead +% \end{macro}^^A \univBoldXV +% \end{macro}^^A \univLightObliqueXV +% \end{macro}^^A \univLightXV +% \end{macro}^^A \univBoldXI +% \end{macro}^^A \univLightObliqueXI +% \end{macro}^^A \univLightXI +% \end{macro}^^A \univBoldIX +% \end{macro}^^A \univLightObliqueIX +% \end{macro}^^A \univLightIX +% \end{macro}^^A \univBoldVII +% \end{macro}^^A \univLightObliqueVII +% \end{macro}^^A \univLightVII % \end{macro}^^A \dinfamily % \end{macro}^^A \dinBold % \end{macro}^^A \tud@fontsfix@AdaptClass @@ -1947,9 +1973,9 @@ % Wird das Paket \pkg{fix-tudscrfonts} mit den alten TUD-Klassen \cls{tudbook}, % \cls{tudmathposter} etc. oder \TUDScript in der Version~v1.0 verwendet, % müssen einige Kompatibilitätseinstellungen vorgenmommen werden. Hierfür sind -% wenige Patches notwendig. +% wenige Patches notwendig. % -% \subsubsection{Spezielle Patches für die Klasse \cls{tudbook}} +% \subsection{Spezielle Patches für die Klasse \cls{tudbook}} % % Die notwendigen Anpassungen der Klasse \cls{tudbook} betreffen die % Schriftauswahl bei Überschriften. @@ -1997,7 +2023,7 @@ % \end{macro}^^A \@makeschapterhead % \end{macro}^^A \@makechapterhead % -% \subsubsection{Spezielle Patches für die Klasse \cls{tudmathposter}} +% \subsection{Spezielle Patches für die Klasse \cls{tudmathposter}} % % Auch für die Posterklasse \cls{tudmathposter} sowie das Paket \pkg{tudfonts} % sind kleine Anpassungen notwendig. @@ -2095,7 +2121,7 @@ % \end{macro}^^A \maketitle % \end{KOMAfont}^^A title % -% \subsubsection{Patches für die \TUDScript-Klassen~v1.0} +% \subsection{Patches für die \TUDScript-Klassen~v1.0} % % Für die Verwendung des Paketes \pkg{fix-tudscrfonts} mit \TUDScript in der % Version~v1.0 sind ebenfalls einige Anpassungen notwendig. Es muss Sorge dafür diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx index ef144bb8248..30e8645a68b 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx @@ -1,32 +1,32 @@ -% \CheckSum{1618} +% \CheckSum{2037} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-doc.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-doc.dtx}[% - 2016/09/22 v2.05d TUD-Script\space% + 2017/01/26 v2.05g TUD-Script\space% (source code documentation based on scrartcl/scrdoc)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} @@ -61,13 +61,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-doc.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -78,29 +84,23 @@ % \changes{v2.03}{2015/01/09}{\cls{tudscrdoc}: Indextyp Seitenstilebene}^^A % \changes{v2.05}{2016/04/21}{Verwendung von \app{texindy} möglich}^^A % -% \section{Quelltextdokumentation für das \TUDScript-Bundle} +% \section{Die Klasse \cls{tudscrdoc} -- Erweiterte Quelltextdokumentation} % % Mit dieser Klasse erfolgt die Quelltextdokumentation des \TUDScript-Bundles. +% Sie lädt standarmäßig die Klasse \cls{ltxdoc}, ersetzt allerdings im Stile +% von \cls{scrdoc} im Hintergrund \cls{article} durch \cls{scrartcl}. % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % % \iffalse -%<*class> +%<*class&option> % \fi % -% Sie lädt standarmäßig die Klasse \cls{ltxdoc}, ersetzt allerdings im Stile -% von \cls{scrdoc} im Hintergrund \cls{article} durch \cls{scrartcl}. Damit der -% zu \cls{scrartcl} gehörige Titel genutzt werden kann, wird dieser temporär -% gesichert. +% Damit der zu \cls{scrartcl} gehörige Titel genutzt werden kann, wird dieser +% temporär gesichert. % \begin{macrocode} -\RequirePackage{scrbase}[2013/12/19]% -\newcommand*\saved@maketitle{}% +\newcommand*\scr@maketitle{}% \PassOptionsToClass{toc=left}{scrartcl}% -\AfterClass{scrartcl}{\let\saved@maketitle\@maketitle}% -\AfterClass{ltxdoc}{% - \let\@maketitle\saved@maketitle% - \codeline@indexfalse% -}% -\AfterPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}% +\AfterClass{scrartcl}{\let\scr@maketitle\@maketitle}% % \end{macrocode} % Der folgende Quelltext ist 1:1 aus \cls{scrdoc} kopiert. % \begin{macrocode} @@ -132,13 +132,49 @@ } \LoadClassWithOptions{ltxdoc} \setcounter{IndexColumns}{2} +\setcounter{StandardModuleDepth}{2} +% \end{macrocode} +% +% \subsection{Klassenoptionen} +% +% \begin{option}{final} +% \begin{macro}{\tudfinalflag} +% Option bzw. Flag für das automatisierte Erzeugen der Quelltextdokumentation +% mit einem Skript ohne ToDo-Befehle. +% \begin{macrocode} +\DeclareOption{final}{\let\tudfinalflag\relax} +% \end{macrocode} +% \end{macro}^^A \tudfinalflag +% \end{option}^^A final +% \begin{option}{texindy} +% \changes{v2.05}{2016/04/21}{neu}^^A +% \begin{option}{xindy} +% \changes{v2.05}{2016/04/21}{neu}^^A +% \begin{option}{xdy} +% \changes{v2.05}{2016/04/21}{neu}^^A +% \begin{macro}{\tudxdyflag} +% \changes{v2.05}{2016/04/21}{neu}^^A +% Option(en) für das Erstellen der Indexdateien im Stil von \app{texindy}. +% \begin{macrocode} +\DeclareOption{texindy}{\let\tudxdyflag\relax} +\DeclareOption{xindy}{\let\tudxdyflag\relax} +\DeclareOption{xdy}{\let\tudxdyflag\relax} % \end{macrocode} -% Befehle, welche bei der Verwednung von \cs{EnableCrossrefs} dennoch nicht im +% \end{macro}^^A \tudxdyflag +% \end{option}^^A xdy +% \end{option}^^A xindy +% \end{option}^^A texindy +% Die beiden Optionen werden abgearbeitet +% \begin{macrocode} +\ProcessOptions\relax +% \end{macrocode} +% +% \subsection{Ignorierte Makros bei der Nutzung von zusätzlichen Indexeinträgen} +% +% Befehle, welche bei der Verwendung von \cs{EnableCrossrefs} dennoch nicht im % Index erscheinen sollen. % \begingroup% -% \makeatletter% -% \@bsphack\scan@allowedfalse\@esphack% -% \makeatother% +% \DisableCrossrefs% % \begin{macrocode} %^^A\DoNotIndex{\ ,\",\.,\@,\\,\{,\}} %^^A\DoNotIndex{\@abstrtfalse,\@abstrttrue,\@addtoreset} @@ -165,7 +201,7 @@ %^^A\DoNotIndex{\@tempswafalse,\@tempswatrue,\@tempswbfalse,\@tempswbtrue} %^^A\DoNotIndex{\@tocrmarg,\@topnewpage,\@topnum} %^^A\DoNotIndex{\@twocolumnfalse,\@twocolumntrue,\@twosidefalse,\@twosidetrue} -%^^A\DoNotIndex{\@whiledim,\@whilenum} +%^^A\DoNotIndex{\@undefined,\@whiledim,\@whilenum} %^^A\DoNotIndex{\addcontentsline,\addpenalty,\addtocontents} %^^A\DoNotIndex{\addtolength,\addvspace,\advance} %^^A\DoNotIndex{\begin,\begingroup,\bfseries,\box,\bullet} @@ -209,90 +245,32 @@ %^^A\DoNotIndex{\year} %^^A\DoNotIndex{\z@} % \end{macrocode} -% Damit sind alle Einträge, welche nicht im Index auftauchen sollen, definiert. % \endgroup% -% \begin{option}{final} -% \begin{macro}{\tudfinalflag} -% Option bzw. Flag für das automatisierte Erzeugen der Quelltextdokumentation -% mit einem Skript ohne ToDo-Befehle. -% \begin{macrocode} -\DeclareOption{final}{\let\tudfinalflag\relax} -% \end{macrocode} -% \end{macro}^^A \tudfinalflag -% \end{option}^^A final -% \begin{option}{texindy} -% \changes{v2.05}{2016/04/21}{neu}^^A -% \begin{option}{xindy} -% \changes{v2.05}{2016/04/21}{neu}^^A -% \begin{option}{xdy} -% \changes{v2.05}{2016/04/21}{neu}^^A -% \begin{macro}{\tudxdyflag} -% \changes{v2.05}{2016/04/21}{neu}^^A -% Option(en) für das Erstellen der Indexdateien im Stil von \app{texindy}. -% \begin{macrocode} -\DeclareOption{texindy}{\let\tudxdyflag\relax} -\DeclareOption{xindy}{\let\tudxdyflag\relax} -\DeclareOption{xdy}{\let\tudxdyflag\relax} -% \end{macrocode} -% \end{macro}^^A \tudxdyflag -% \end{option}^^A xdy -% \end{option}^^A xindy -% \end{option}^^A texindy -% Die beiden Optionen werden abgearbeitet -% \begin{macrocode} -\ProcessOptions\relax -% \end{macrocode} -% \begin{length}{\topmargin} -% \begin{length}{\headheight} -% \begin{length}{\headsep} -% \begin{length}{\footskip} -% \begin{length}{\marginparwidth} -% \begin{length}{\marginparsep} -% \begin{length}{\oddsidemargin} -% \begin{length}{\textheight} -% \begin{length}{\textwidth} -% Die Seitenränder werden so eingestellt, dass für die Darstellung des -% Quelltextes genau 80~Zeichen zur Verfügung stehen. -% \begin{macrocode} -\setlength\topmargin{-1in} -\setlength\headheight{0pt} -\setlength\headsep{30pt} -\setlength\footskip{1.5\headsep} -\setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax} -\setlength\marginparwidth{150pt} -\setlength\marginparsep{0pt} -\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax} -\setlength\textwidth{% - \dimexpr\paperwidth-1in-\oddsidemargin-.5\headsep\relax% -} -% \end{macrocode} -% \end{length}^^A \textwidth -% \end{length}^^A \textheight -% \end{length}^^A \oddsidemargin -% \end{length}^^A \marginparsep -% \end{length}^^A \marginparwidth -% \end{length}^^A \footskip -% \end{length}^^A \headsep -% \end{length}^^A \headheight -% \end{length}^^A \topmargin -% Mit dem Paket~\pkg{dox} können weitere Eintragstypen erstellt werden. Dieses -% lädt außerdem das Paket~\pkg{doc}, welches die Grundfunktionalitäten für die -% Erstellung von \file{dtx}-Dateien bereitstellt. In der momentanen Version -% unterstützt das Paket~\pkg{dox} die aktuellen Anpassungen an die Erstellung -% von Änderungsnotizen durch \pkg{doc} nicht, weshalb im Folgenden einige -% Patches notwendig sind. Hierfür wird das Paket \pkg{tudscrbase} geladen. +% +% \iffalse +%</class&option> +%<*class&body> +% \fi +% +% \subsection{Definition und Erscheinungsbild von Deklarationselementen} +% +% Mit dem Paket~\pkg{dox} können weitere Deklarationselemente erstellt werden. +% Dieses lädt außerdem das Paket~\pkg{doc}, welches die Grundfunktionalitäten +% für die Erstellung von \file{dtx}-Dateien bereitstellt. In der momentanen +% Version unterstützt das Paket~\pkg{dox} die aktuellen Anpassungen an die +% Erstellung von Änderungsnotizen durch \pkg{doc} nicht, weshalb im Folgenden +% einige Patches notwendig sind. % \begin{macrocode} -\RequirePackage{tudscrbase}[\TUD@Version] \RequirePackage{dox}[2010/12/16] \@ifpackagelater{dox}{2010/12/17}{% \ClassWarning{\TUD@Class@Name}{% Package `dox' was updated so some patches\MessageBreak% - are maybe outdated + are maybe outdated% }% }{}% % \end{macrocode} % \begin{macro}{\m@cro@} -% Nach dem Laden der Pakete werden die Definitionen einiger Makros überprüft. +% Nach dem Laden des Paketes werden die Definitionen einiger Makros überprüft. % \begin{macrocode} \CheckCommand\m@cro@[2]{% \endgroup \topsep\MacroTopsep \trivlist @@ -331,236 +309,155 @@ } % \end{macrocode} % \end{macro}^^A \m@cro@ -% \begin{macro}{\changes@} -% Bei der Erstellung der Änderungsliste fehlt bei Makros in der aktuellen -% Version von \pkg{doc} ein Leerzeichen. Das Problem ist bereits gemeldet. -% \begin{macrocode} -\CheckCommand*\changes@[3]{% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar - \ifx\saved@macroname\@empty - \space - \actualchar - \generalname - \else - \saved@indexname - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar - \fi - :\levelchar #3% - }% - }% - \@tempa\endgroup\@esphack% -} -% \end{macrocode} -% Bei der Erzeugung der Änderungseinträge wird zwischen der Verwendung von -% \app{makeindex} und \app{xindy} unterschieden. Für die Reihenfolge des -% Erscheinens der einzelnen Einträge wird das angegebene Datum zur Sortierung -% genutzt. -% \begin{macrocode} -\ifdefined\tudxdyflag% - \renewcommand*\changes@[3]{% -% \end{macrocode} -% Einträge sollen nur erzeugt werden, wenn diese vollständig sind. -% \begin{macrocode} - \@tempswatrue% - \ifblank{#1}{\@tempswafalse}{}% - \ifblank{#3}{\@tempswafalse}{}% - \if@tempswa% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar% - \ifx\saved@macroname\@empty% - \generalname% - \else% - \implementationname% - \fi% - \levelchar - \ifx\saved@macroname\@empty\else% - \saved@indexname - \ifx\saved@idxtype\@empty\else% - \space\saved@idxtype - \fi% - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar% - \ifx\saved@idxtype\@empty\else% - \space(\saved@idxtype)% - \fi% - :\levelchar - \fi - #2 #3% - \actualchar% - #3% (#2)% - }% - }% - \else% - \let\@tempa\relax% - \fi% - \@tempa\endgroup\@esphack% - }% -\else% - \renewcommand*\changes@[3]{% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar - \ifx\saved@macroname\@empty - \quotechar! - \actualchar - \generalname - \else - \saved@indexname - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar - \fi - :\levelchar #3% - }% - }% - \@tempa\endgroup\@esphack% - }% -\fi% -% \end{macrocode} -% \end{macro}^^A \changes@ -% \begin{macro}{\@wrglossary} -% \begin{macro}{\filesep} -% Für die Ausgabe der Änderungsliste soll nicht einfach nur die Seitenzahl -% sondern tatsächlich die Codezeile ausgegeben werden. +% +% \subsubsection{Erweiterte Einträge für Index und Änderungsliste} +% +% \begin{macro}{\doxitem} +% Mit dem Befehl \cs{doxitem} werden beliebige Deklarationselemente erstellt. +% das Makro wird für das Hinzufügen des Eintragstyps für Index, Änderungsliste +% und Randnotiz angepasst. % \begin{macrocode} -\CheckCommand*\@wrglossary[1]{% - \protected@write\@glossaryfile{}% - {\string\glossaryentry{#1}{\thepage}}% - \endgroup - \@esphack% +\CheckCommand\doxitem[4][]{% + \@nameuse{dox@macrolike\dox@macrolikedefault}% + \def\dox@idxtype{#3}% + \setkeys{dox}{#1} + \@ifundefined{Print#2Name}{% + \ifdox@macrolike + \expandafter\def\csname Print#2Name\endcsname##1{% + \strut\MacroFont\string ##1\ } + \else + \expandafter\def\csname Print#2Name\endcsname##1{% + \strut\MacroFont ##1\ } + \fi}{} + \ifdox@macrolike + \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}% + \else + \def\@doxexpr{\@doxcreatespecialmainindex{#2}}% + \fi + \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% + \@ifundefined{PrintDescribe#2}{% + \ifdox@macrolike + \expandafter\def\csname PrintDescribe#2\endcsname##1{% + \strut\MacroFont\string ##1\ } + \else + \expandafter\def\csname PrintDescribe#2\endcsname##1{% + \strut\MacroFont ##1\ } + \fi}{} + \ifdox@macrolike + \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}% + \else + \def\@doxexpr{\@doxcreatespecialindex{#2}}% + \fi + \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% + \@doxcreatedescribe{#2} + \@doxcreateenv{#2}{#3}% } % \end{macrocode} -% Da \cs{filesep} leer ist, falls nicht \cs{DocInclude} verwendet wird, lassen -% sich im Index Seitenzahlen und Codezeilen nicht sofort unterscheiden, weshalb -% das Makro hier standardmäßig mit \val{?-} als Präfix für letztere definiert -% wird. +% Das Makro wird dahingehend angepasst, dass alle für die Ausgabe erzeugten +% Befehle der Form \cs{Print\meta{Typ}Name} und \cs{PrintDescribe\meta{Typ}} +% um den Eintragstyp ergänzt werden, erstellt durch \cs{doxcreateprintname} +% bzw. \cs{doxcreatemacrolikeprintname}. Zusätzlich werden für die Klasse +% \cls{tudscrdoc} neue Befehle in der Form \cs{Set\meta{Typ}IndexName} mit +% \cs{doxcreateindexname} bzw. \cs{doxcreatemacrolikeindexname} erstellt. Mit +% diesen wird beim Aufruf einer Deklarationsumgebung der aktuelle Name und +% Eintragstyp des jeweiligen Deklarationselementes gesichert, um diese +% Informationen in der Änderungsliste nutzen zu können. % \begin{macrocode} -\def\filesep{?-} -\def\@wrglossary#1{% -% \end{macrocode} -% Der erste Zweig ist aktiv, wenn der Index mit Seitenzahlen erzeugt wird. -% Werden Codezeilen als Basis verwendet, entsprechend der zweite. -% \begin{macrocode} - \ifx\special@index\index% - \@tempswafalse% +\renewcommand*\doxitem[4][]{% + \@nameuse{dox@macrolike\dox@macrolikedefault}% + \def\dox@idxtype{#3}% + \setkeys{dox}{#1}% + \ifdox@macrolike% + \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}% \else% - \@tempswatrue% + \def\@doxexpr{\@doxcreatespecialmainindex{#2}}% \fi% -% \end{macrocode} -% Für einen allgemeinen Eintrag soll definitiv die Seitenzahl verwendet werden. -% \begin{macrocode} - \ifx\saved@macroname\@empty% - \@tempswafalse% + \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% + \ifdox@macrolike% + \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}% + \else% + \def\@doxexpr{\@doxcreatespecialindex{#2}}% \fi% - \if@tempswa% - \global\advance\c@CodelineNo\@ne - \protected@write\@glossaryfile{}{% - \string\glossaryentry{#1}{\filesep\number\c@CodelineNo}% - } - \global\advance\c@CodelineNo\m@ne + \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% + \ifdox@macrolike% + \def\@doxexpr{\@doxcreatemacrolikeprintname{#2}}% \else% - \protected@write\@glossaryfile{}{\string\glossaryentry{#1}{\thepage}} + \def\@doxexpr{\@doxcreateprintname{#2}}% \fi% - \endgroup - \@esphack% + \expandafter\@doxexpr\expandafter{\dox@idxtype}% + \ifdox@macrolike% + \def\@doxexpr{\@doxcreatemacrolikeindexname{#2}}% + \else% + \def\@doxexpr{\@doxcreateindexname{#2}}% + \fi% + \expandafter\@doxexpr\expandafter{\dox@idxtype}% + \@doxcreatedescribe{#2}% + \@doxcreateenv{#2}{#3}% } % \end{macrocode} -% \end{macro}^^A \filesep -% \end{macro}^^A \@wrglossary -% \begin{macro}{\generalname} -% \begin{macro}{\implementationname} -% Die Bezeichnungen für den allgemeinen und den Implementierungsteil. -% \ToDo{\cs{filesep} fehlt in der allgemeinen Liste}[v2.06] -% \begin{macrocode} -\renewcommand*\generalname{Allgemein} -\newcommand*\implementationname{Implementierung} -% \end{macrocode} -% \end{macro}^^A \implementationname -% \end{macro}^^A \generalname -% \begin{macro}{\hypersourcedef} -% \changes{v2.05}{2016/04/26}{neu}^^A -% \begin{macro}{\hypersource@def} -% \changes{v2.05}{2016/04/26}{neu}^^A -% \begin{macro}{\hypersourceref} -% \changes{v2.05}{2016/04/26}{neu}^^A -% \begin{macro}{\hypersource@ref} -% \changes{v2.05}{2016/04/26}{neu}^^A -% Diese Makros werden verwendet, um im Index respektive in der Änderungsliste -% mithilfe von \pkg{hyperref} Hyperlinks auf die entsprechenden Codezeilen im -% Dokument zu setzen. +% \end{macro}^^A \doxitem +% \begin{macro}{\index@type} +% \changes{v2.05g}{2016/11/10}{neu}^^A +% Dieses Makro dient zur Formatierung des Typen der Deklarationselemente in +% Index und Änderungsliste. % \begin{macrocode} -\newcommand*\hypersourcedef[1]{} -\newcommand*\hypersource@def{} -\newcommand*\hypersourceref[1]{#1} -\newcommand*\hypersource@ref[2][]{} -\PassOptionsToPackage{hyperindex=false}{hyperref} -\AfterPackage{hyperref}{% +\newrobustcmd*\index@type[1]{% + \begingroup% + \normalfont\scriptsize\space(#1)% + \endgroup% +} % \end{macrocode} -% Mit \cs{hypersourcedef} wird ein Textanker gesetzt, falls dieser noch nicht -% definiert wurde, was durch \cs{hypersource@def} abgesichert wird. Als -% Argument wird hierfür die aktuelle Codezeile verwendet. +% \end{macro}^^A \index@type +% \begin{macro}{\@doxcreatespecialmainmacrolikeindex} +% \begin{macro}{\@doxcreatespecialmainindex} +% \begin{macro}{\@doxcreatespecialmacrolikeindex} +% \begin{macro}{\@doxcreatespecialindex} +% Für den Index muss bei diesen Makros eine Anpassung erfolgen, damit die +% Sortierung auch bei der Verwendung von \app{texindy} richtig erfolgt und +% keine Einträge, welche es trotz gleicher Bezeichnung für unterschiedliche +% Deklarationselemente (beispielsweise Umgebung \env{abstract} und Option +% \opt{abstract}) gibt, unterschlagen werden. Außerdem wird hier die Definition +% der Quelltextanker eingehangen und die Elterneinträge für Parameteränderungen +% zurückgesetzt. % \begin{macrocode} - \renewcommand*\hypersourcedef[1]{% - \ifstr{#1}{\hypersource@def}{}{% - \Hy@raisedlink{\hyperdef{}{source:#1}{}}% - \xdef\hypersource@def{#1}% - }% +\CheckCommand*\@doxcreatespecialmainmacrolikeindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil + \@bsphack% + \special@index{\@gtempa\actualchar + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \space(#2)\encapchar main}% + \special@index{#3:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \encapchar main}% + \@esphack% }% +} % \end{macrocode} -% Mit \cs{hypersource@ref} wird auf den Textanker verlinkt. Dies kann entweder -% direkt mit \cs{hypersourceref} erfolgen oder indirekt über das Attribut -% \val{main}, welches bei der Definitionen von Befehlen etc. im Index genutzt -% wird. Hierfür wird das Makro \cs{main} umdefiniert. -% \begin{macrocode} - \renewcommand*\hypersourceref[1]{\hypersource@ref{#1}}% - \renewcommand*\main[1]{\hypersource@ref[\underline]{#1}}% -% \end{macrocode} -% Die Referenz im Argument kann entweder in der Form \val{<Letter>-<Codezeile>} -% oder direkt als Seitenzahl oder angegeben werden. Deshalb wird dafür gesorgt, -% dass das angegebene Argument dementsprechend ausgewertet wird. +% Um den Typ der Deklarationselemente in den Index einzutragen, wird der Typ +% geschützt expandiert, um beispielsweise Umlaute problemlos nutzen zu können. % \begin{macrocode} - \renewcommand*\hypersource@ref[2][\@firstofone]{% - \begingroup% - \def\@tempa##1-##2\relax{% - \IfArgIsEmpty{##2}{% - \hyperlink{page.\@tempc}{#1{\@tempc}}% - }{% - \hyperref{}{}{source:\@tempc}{#1{\@tempc}}% - }% - }% - \def\@tempb##1{% - \def\@tempc{##1}% - \expandafter\@tempa##1-\relax% - }% - \forcsvlist\@tempb{#2}% - \endgroup% +\renewcommand*\@doxcreatespecialmainmacrolikeindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \special@index{% + \@gtempa\space\expandonce\tud@reserved\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \index@type{\expandonce\tud@reserved}\encapchar main% + }% + \protected@edef\tud@reserved{#3}% + \special@index{% + \expandonce\tud@reserved:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \encapchar main% + }% + \@esphack% + \let\parameter@parent@changes\relax% + \hypersourcedef{\filesep\number\c@CodelineNo}% }% } -% \end{macrocode} -% \end{macro}^^A \hypersource@ref -% \end{macro}^^A \hypersourceref -% \end{macro}^^A \hypersource@def -% \end{macro}^^A \hypersourcedef -% \begin{macro}{\@doxcreatespecialmainindex} -% \begin{macro}{\@doxcreatespecialmainmacrolikeindex} -% \begin{macro}{\@doxcreatespecialindex} -% \begin{macro}{\@doxcreatespecialindex} -% Für den Index muss bei diesen Makros eine kleine Anpassung erfolgen, damit -% die Sortierung auch bei der Verwendung von \app{texindy} richtig erfolgt und -% keine Einträge, welche es trotz gleicher Bezeichnung für unterschiedliche -% Eintragstypen (bspw. Umgebung \env{abstract} und Option \opt{abstract}) gibt, -% unterschlagen werden. Außerdem wird hier die Definition der Quelltextanker -% eingehangen. -% \begin{macrocode} \CheckCommand*\@doxcreatespecialmainindex[3]{% \expandafter\def\csname SpecialMain#1Index\endcsname##1{% \@bsphack% @@ -571,31 +468,57 @@ \@esphack% }% } -\patchcmd{\@doxcreatespecialmainindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmainindex}} -\patchcmd{\@doxcreatespecialmainindex}{\@esphack}{% - \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}% -}{}{\tud@patch@wrn{@doxcreatespecialmainindex}} -\CheckCommand*\@doxcreatespecialmainmacrolikeindex[3]{% +\renewcommand*\@doxcreatespecialmainindex[3]{% \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \special@index{% + ##1\space\expandonce\tud@reserved\actualchar% + {\string\ttfamily\space##1}\index@type{\expandonce\tud@reserved}% + \encapchar main% + }% + \protected@edef\tud@reserved{#3}% + \special@index{% + \expandonce\tud@reserved:\levelchar##1\actualchar% + {\string\ttfamily\space##1}\encapchar main% + }% + \@esphack% + \let\parameter@parent@changes\relax% + \hypersourcedef{\filesep\number\c@CodelineNo}% + }% +} +\CheckCommand*\@doxcreatespecialmacrolikeindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% \@SpecialIndexHelper@##1\@nil \@bsphack% - \special@index{\@gtempa\actualchar + \index{\@gtempa\actualchar \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \space(#2)\encapchar main}% - \special@index{#3:\levelchar\@gtempa\actualchar% + \space(#2)\encapchar usage}% + \index{#3:\levelchar\@gtempa\actualchar \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \encapchar main}% + \encapchar usage}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialmacrolikeindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \index{% + \@gtempa\space\expandonce\tud@reserved\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \index@type{\expandonce\tud@reserved}\encapchar usage% + }% + \protected@edef\tud@reserved{#3}% + \index{% + \expandonce\tud@reserved:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \encapchar usage% + }% \@esphack% }% } -\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}} -\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\@esphack}{% - \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}% -}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}} \CheckCommand*\@doxcreatespecialindex[3]{% \expandafter\def\csname Special#1Index\endcsname##1{% \@bsphack% @@ -605,147 +528,92 @@ \@esphack% }% } -\patchcmd{\@doxcreatespecialindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialindex}} -\CheckCommand*\@doxcreatespecialmacrolikeindex[3]{% +\renewcommand*\@doxcreatespecialindex[3]{% \expandafter\def\csname Special#1Index\endcsname##1{% - \@SpecialIndexHelper@##1\@nil \@bsphack% - \index{\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \space(#2)\encapchar usage}% - \index{#3:\levelchar\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \encapchar usage}% + \protected@edef\tud@reserved{#2}% + \index{% + ##1\space\expandonce\tud@reserved\actualchar% + {\protect\ttfamily##1}\index@type{\expandonce\tud@reserved}% + \encapchar usage% + }% + \protected@edef\tud@reserved{#3}% + \index{% + \expandonce\tud@reserved:\levelchar##1\actualchar% + {\protect\ttfamily##1}\encapchar usage% + }% \@esphack% }% } -\patchcmd{\@doxcreatespecialmacrolikeindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmacrolikeindex}} % \end{macrocode} % \end{macro}^^A \@doxcreatespecialindex -% \end{macro}^^A \@doxcreatespecialindex -% \end{macro}^^A \@doxcreatespecialmainmacrolikeindex +% \end{macro}^^A \@doxcreatespecialmacrolikeindex % \end{macro}^^A \@doxcreatespecialmainindex -% \begin{macro}{\doxitem} -% \begin{macro}{\@doxcreateenv} +% \end{macro}^^A \@doxcreatespecialmainmacrolikeindex +% \begin{macro}{\@doxcreatemacrolikeprintname} +% \begin{macro}{\@doxcreateprintname} % \begin{macro}{\@doxcreatemacrolikeindexname} % \begin{macro}{\@doxcreateindexname} -% \begin{macro}{\saved@idxtype} -% \begin{macro}{\@@doxenv} -% Jetzt die Anpassungen der Änderungsliste für das Paket \pkg{dox}. +% \begin{macro}{\saved@indextype} +% Hiermit werden die Makros zur Ausgabe als Randnotiz definiert. Mit diesen +% wird dem eigentlichen Eintrag der Eintragstyp angehängt. Zu beachten ist, das +% entgegen der ursprünglichen Definition \cs{strut} erst zum Schluss ausgeführt +% wird. Somit lassen sich potenzielle Probleme mit dem Paket \pkg{microtype} +% vermeiden. % \begin{macrocode} -\CheckCommand\doxitem[4][]{% - \@nameuse{dox@macrolike\dox@macrolikedefault}% - \def\dox@idxtype{#3}% - \setkeys{dox}{#1} - \@ifundefined{Print#2Name}{% - \ifdox@macrolike - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike - \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}% - \else - \def\@doxexpr{\@doxcreatespecialmainindex{#2}}% - \fi - \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@ifundefined{PrintDescribe#2}{% - \ifdox@macrolike - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike - \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}% - \else - \def\@doxexpr{\@doxcreatespecialindex{#2}}% - \fi - \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@doxcreatedescribe{#2} - \@doxcreateenv{#2}{#3}% -} -% \end{macrocode} -% Da das direkte Patchen von \cs{doxitem} mit den Mitteln von \pkg{etoolbox} -% aufgrund des optionalen Argumentes nicht möglich ist, wird der notwendige -% Patch einfach zu Beginn von \cs{@doxcreateenv} eingehängt. -% \begin{macrocode} -\CheckCommand\doxitem[4][]{% - \@nameuse{dox@macrolike\dox@macrolikedefault}% - \def\dox@idxtype{#3}% - \setkeys{dox}{#1} - \@ifundefined{Print#2Name}{% - \ifdox@macrolike - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike - \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}% - \else - \def\@doxexpr{\@doxcreatespecialmainindex{#2}}% - \fi - \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@ifundefined{PrintDescribe#2}{% - \ifdox@macrolike - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike - \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}% - \else - \def\@doxexpr{\@doxcreatespecialindex{#2}}% - \fi - \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@doxcreatedescribe{#2} - \@doxcreateenv{#2}{#3}% +\def\@doxcreatemacrolikeprintname#1#2{% + \@ifundefined{Print#1Name}{% + \expandafter\def\csname Print#1Name\endcsname##1{% + \MacroFont\string##1\index@type{#2}\strut\ % + }% + }{}% + \@ifundefined{PrintDescribe#1}{% + \expandafter\def\csname PrintDescribe#1\endcsname##1{% + \MacroFont\string##1\index@type{#2}\strut\ % + }% + }{}% } -\CheckCommand*\@doxcreateenv[2]{% - \expandafter\def\csname #2\endcsname{% - \@ifnextchar[%] - {\@doxenv{#1}}{\@doxenv{#1}[]}} - \expandafter\let\csname end#2\endcsname\endtrivlist% +\def\@doxcreateprintname#1#2{% + \@ifundefined{Print#1Name}{% + \expandafter\def\csname Print#1Name\endcsname##1{% + \MacroFont##1\index@type{#2}\strut\ % + }% + }{}% + \@ifundefined{PrintDescribe#1}{% + \expandafter\def\csname PrintDescribe#1\endcsname##1{% + \MacroFont##1\index@type{#2}\strut\ % + }% + }{}% } -\pretocmd{\@doxcreateenv}{% - \ifdox@macrolike% - \def\@doxexpr{\@doxcreatemacrolikeindexname{#1}}% - \else% - \def\@doxexpr{\@doxcreateindexname{#1}}% - \fi% - \expandafter\@doxexpr\expandafter{\dox@idxtype}% -}{}{\tud@patch@wrn{@doxcreateenv}} % \end{macrocode} -% Nun noch die beiden Befehle, welche durch den Patch ausgeführt werden. +% Ziel ist es, in den +% Makros \cs{saved@indexname} und \cs{saved@indextype} den Namen und den Typ +% des aktuellen Deklarationselementes zu speichern. % \begin{macrocode} -\newcommand*\saved@idxtype{} +\newcommand*\saved@indextype{} \def\@doxcreatemacrolikeindexname#1#2{% \expandafter\def\csname Set#1IndexName\endcsname##1{% \edef\saved@indexname{\expandafter\@gobble##1}% - \edef\saved@idxtype{#2}% + \protected@edef\saved@indextype{#2}% }% } \def\@doxcreateindexname#1#2{% \expandafter\def\csname Set#1IndexName\endcsname##1{% \let\saved@indexname##1% - \edef\saved@idxtype{#2}% + \protected@edef\saved@indextype{#2}% }% } % \end{macrocode} -% In \cs{@@doxenv} sollen die bei der Verwendung von \cs{doxitem} respektive -% \cs{@doxcreateenv} definierten Makros \cs{Set\dots{}IndexName} ausgeführt -% werden. Zuerst das Prüfen des Befehls\dots +% \end{macro}^^A \saved@indextype +% \end{macro}^^A \@doxcreateindexname +% \end{macro}^^A \@doxcreatemacrolikeindexname +% \end{macro}^^A \@doxcreateprintname +% \end{macro}^^A \@doxcreatemacrolikeprintname +% \begin{macro}{\@@doxenv} +% Es folgen kleine Anpassungen für die Änderungsliste. Beim Aufruf von +% \cs{@@doxenv} sollen die bei der Verwendung von \cs{doxitem} definierten +% Makros \cs{Set\meta{Typ}IndexName} ausgeführt werden. Zuerst das Prüfen des +% Befehls\dots % \begin{macrocode} \CheckCommand\@@doxenv[2]{% \endgroup% @@ -786,52 +654,440 @@ }{}{\tud@patch@wrn{@@doxenv}} % \end{macrocode} % \end{macro}^^A \@@doxenv -% \end{macro}^^A \saved@idxtype -% \end{macro}^^A \@doxcreateindexname -% \end{macro}^^A \@doxcreatemacrolikeindexname -% \end{macro}^^A \@doxcreateenv -% \end{macro}^^A \doxitem % \begin{macro}{\SetMacroIndexName} -% \begin{macro}{\SetEnvIndexName} % \begin{macro}{\SpecialMainMacroIndex} -% Da für Makros und Umgebungen die notwendigen Makros nicht über \cs{doxitem} -% kreiert werden können, erfolgt dies hier direkt. +% Da für Makros die notwendigen Befehle nicht über \cs{doxitem} kreiert werden, +% erfolgt dies hier direkt. % \begin{macrocode} -\def\SetMacroIndexName#1{% - \edef\saved@indexname{\expandafter\@gobble#1} - \let\saved@idxtype\@empty% -} -\def\SetEnvIndexName#1{% - \let\saved@indexname#1% - \edef\saved@idxtype{environment}% +\newcommand*\SetMacroIndexName[1]{% + \edef\saved@indexname{\expandafter\@gobble#1}% + \let\saved@indextype\@empty% } \CheckCommand*\SpecialMainMacroIndex[1]{% \SpecialMainIndex{#1}\nobreak% \DoNotIndex{#1}% } \apptocmd{\SpecialMainMacroIndex}{% + \let\parameter@parent@changes\relax% \hypersourcedef{\filesep\number\c@CodelineNo}% }{}{\tud@patch@wrn{SpecialMainMacroIndex}} % \end{macrocode} % \end{macro}^^A \SpecialMainMacroIndex -% \end{macro}^^A \SetEnvIndexName % \end{macro}^^A \SetMacroIndexName +% +% \subsubsection{Erstellen aller Deklarationselemente} +% % Nachdem nun die Anpassungen für die Änderungsliste erfolgt sind, können nun -% die für die Dokumentatiton notwendigen Umgebungen erstellt werden. -% \ToDo{Parameter besser im Index darstellen}[v2.06] +% die für die Dokumentatiton notwendigen Umgebungen mit \cs{docitem} erstellt +% werden. Dabei kommen die Lokalisierungsvariablen \cs{tud@\dots{}@name} zum +% Tragen. +% \begin{macrocode} +\renewcommand*\tud@reserved[3][]{% + \doxitem[#1,idxtype=\csname tud@#3@name\endcsname]{#2}{#3}{% + \csname tud@#3s@name\endcsname% + }% +} +\undef\PrintEnvName +\undef\PrintDescribeEnv +\tud@reserved{Env}{environment} +\tud@reserved{Option}{option} +\tud@reserved{PageStyle}{pagestyle} +\tud@reserved{Layer}{layer} +\tud@reserved[macrolike]{Length}{length} +\tud@reserved{Counter}{counter} +\tud@reserved{Color}{TUDcolor} +\tud@reserved[macrolike]{Locale}{locale} +\tud@reserved[macrolike]{Field}{field} +\tud@reserved{Font}{KOMAfont} +\tud@reserved{Parameter}{parameter} +% \end{macrocode} +% +% \subsubsection{Besonderheiten des Deklarationselementes \emph{Parameter}} +% +% \begin{macro}{\parameter@parent@changes} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\parameter@parent@indexname} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\parameter@parent@indexformat} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% Um für Parameter sowohl im Index als auch in der Änderungsliste eine weitere +% Ebene zu definieren, werden diese Befehle eigens definiert. +% \begin{macrocode} +\newcommand*\parameter@parent@changes{} +\let\parameter@parent@changes\relax +\newcommand*\parameter@parent@indexname{} +\let\parameter@parent@indexname\relax +\newcommand*\parameter@parent@indexformat{} +\let\parameter@parent@indexformat\relax +% \end{macrocode} +% \end{macro}^^A \parameter@parent@indexformat +% \end{macro}^^A \parameter@parent@indexname +% \end{macro}^^A \parameter@parent@changes +% \begin{macro}{\SetMacroIndexName} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\SetEnvIndexName} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% Bei der Ausführung einer dieser beiden Befehle bei der Definition von einem +% Makro oder einer Umgebung werden diese für evtl. nachfolgende Parameter als +% Elterneinträge definiert. Hierfür werden für sowohl den Index als auch die +% Änderungsliste der +% Eintrag für die Sortierung in \cs{parameter@parent@indexname} und für die +% Formatierung in \cs{parameter@parent@indexformat} gespeichert. +% \begin{macrocode} +\apptocmd\SetMacroIndexName{% + \edef\parameter@parent@indexname{\expandafter\@gobble#1}% + \edef\parameter@parent@indexformat{% + \string\verb\quotechar*\verbatimchar#1\verbatimchar% + }% +}{}{\tud@patch@wrn{SetMacroIndexName}} +\apptocmd\SetEnvIndexName{% + \protected@edef\parameter@parent@indexname{#1\space\saved@indextype}% + \protected@edef\parameter@parent@indexformat{% + \string\verb\quotechar*\verbatimchar#1\verbatimchar% + \index@type{\saved@indextype}% + }% +}{}{\tud@patch@wrn{SetEnvIndexName}} +% \end{macrocode} +% \end{macro}^^A \SetEnvIndexName +% \end{macro}^^A \SetMacroIndexName +% \begin{macro}{\SpecialMainParameterIndex} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% Hier wird nun die Gestalt der Einträge für Parameter festgelegt. % \begin{macrocode} -\doxitem[idxtype=Umgebung]{Env}{environment}{Umgebungen} -\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} -\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen} -\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder} -\doxitem[idxtype=Schriftelement]{Font}{KOMAfont}{Schriftelemente} +\renewcommand*\SpecialMainParameterIndex[1]{% + \ifx\parameter@parent@indexname\relax% + \ClassError{\TUD@Class@Name}{No previous macro or environment}{% + Since parameters can only be used for macros or\MessageBreak% + environments, you have to use `parameter' within\MessageBreak% + `macro' or `environment'.% + }% + \fi% + \protected@edef\parameter@parent@changes{% + \parameter@parent@indexname\actualchar% + \parameter@parent@indexformat:\levelchar% + }% + \@bsphack% + \special@index{% + \parameter@parent@indexname\actualchar% + \parameter@parent@indexformat\levelchar% + #1\space\tud@parameter@name\actualchar% + {\string\ttfamily\space#1}\index@type{\tud@parameter@name}% + \encapchar main% + }% + \special@index{% + \tud@parameters@name:\levelchar% + #1\space\parameter@parent@indexname% + \actualchar{\string\ttfamily\space#1}% + \noexpand\,--\noexpand\,\parameter@parent@indexformat% + \encapchar main% + }% + \@esphack% + \hypersourcedef{\filesep\number\c@CodelineNo}% +} % \end{macrocode} +% \end{macro}^^A \SpecialMainParameterIndex +% +% \subsubsection{Erzeugen von Änderungseinträgen} +% +% \begin{macro}{\changes@} +% Bei der Erstellung der Änderungsliste fehlt bei Makros in der aktuellen +% Version von \pkg{doc} ein Leerzeichen. Das Problem ist bereits gemeldet. +% \begin{macrocode} +\CheckCommand*\changes@[3]{% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar + \ifx\saved@macroname\@empty + \space + \actualchar + \generalname + \else + \saved@indexname + \actualchar + \string\verb\quotechar*% + \verbatimchar\saved@macroname + \verbatimchar + \fi + :\levelchar #3% + }% + }% + \@tempa\endgroup\@esphack% +} +% \end{macrocode} +% Bei der Erzeugung der Änderungseinträge wird zwischen der Verwendung von +% \app{makeindex} und \app{texindy} unterschieden. Für die Reihenfolge des +% Erscheinens der einzelnen Einträge wird das angegebene Datum zur Sortierung +% genutzt. +% \begin{macrocode} +\ifdefined\tudxdyflag% + \renewcommand*\changes@[3]{% +% \end{macrocode} +% Einträge sollen nur erzeugt werden, wenn diese vollständig sind. +% \begin{macrocode} + \@tempswatrue% + \ifblank{#1}{\@tempswafalse}{}% + \ifblank{#3}{\@tempswafalse}{}% + \if@tempswa% +% \end{macrocode} +% Es wird dabei unterschieden, ob der Änderungseintrag einem Parameter gilt. +% Ist dies nicht der Fall, so wird der Eintrag mehr oder weniger standardmäßig +% erzeugt. +% \begin{macrocode} + \ifx\parameter@parent@changes\relax% + \protected@edef\@tempb{% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + \string\verb\quotechar*% + \verbatimchar\saved@macroname% + \verbatimchar% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + :\levelchar% + }% +% \end{macrocode} +% Andernfalls wird eine zusätzliche Ebene vor dem eigentlichen Eintrag des +% Parameters erzeugt und der zuvor in \cs{parameter@parent@changes} gesicherte +% Elterneintrag~-- Befehl oder Umgebung~-- dafür eingefügt. +% \begin{macrocode} + \else% + \protected@edef\@tempb{% + \parameter@parent@changes% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% +% \end{macrocode} +% Der so erzeugte Änderungseintrag soll durch \app{texindy} bei der Erzeugung +% der Änderungsliste noch speziell sortiert werden. Daher wird nicht \cs{verb} +% sondern lediglich \cs{ttfamily} verwendet. +% \begin{macrocode} + {\noexpand\ttfamily\saved@macroname}% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + :\levelchar% + }% + \fi% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar% + \ifx\saved@macroname\@empty% + \tud@general@name% + \else% + \tud@implementation@name% + \fi% + \levelchar% + \ifx\saved@macroname\@empty\else% + \@tempb% + \fi% + #2 #3% + \actualchar% + #3% (#2)% + }% + }% + \else% + \let\@tempa\relax% + \fi% + \@tempa\endgroup\@esphack% + }% +\else% +% \end{macrocode} +% Für \app{makeindex} wird der Befehl insebsondere für das Listen der Parameter +% angepasst. +% \begin{macrocode} + \renewcommand*\changes@[3]{% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar% + \ifx\saved@macroname\@empty% + \quotechar!% + \actualchar% + \tud@general@name% + :\levelchar% + \else% + \ifx\parameter@parent@changes\relax\else% + \parameter@parent@changes zzz\space% + \fi% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + \string\verb\quotechar*% + \verbatimchar\saved@macroname% + \verbatimchar% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + \ifx\parameter@parent@changes\relax% + :\levelchar% + \else% + :\space% + \fi% + \fi% + #3% + }% + }% + \@tempa\endgroup\@esphack% + }% +\fi% +% \end{macrocode} +% \end{macro}^^A \changes@ +% \begin{macro}{\@wrglossary} +% Für die Ausgabe der Änderungsliste soll nicht einfach nur die Seitenzahl +% sondern zumindest für die Implementierungen die Codezeile ausgegeben werden. +% \begin{macrocode} +\CheckCommand*\@wrglossary[1]{% + \protected@write\@glossaryfile{}% + {\string\glossaryentry{#1}{\thepage}}% + \endgroup + \@esphack% +} +% \end{macrocode} +% Allgemeine Einträge werden mit Seitenzahlenerzeugt. Für Einträge bzgl. einer +% Implementierungen werden Codezeilen als Basis verwendet, falls aktiv. +% \begin{macrocode} +\def\@wrglossary#1{% + \ifx\saved@macroname\@empty% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|usage}{\thepage}% + }% + \else% + \ifcodeline@index% + \global\advance\c@CodelineNo\@ne% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|main}{\filesep\number\c@CodelineNo}% + }% + \global\advance\c@CodelineNo\m@ne% + \else% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|main}{\thepage}% + }% + \fi% + \fi% + \endgroup% + \@esphack% +} +% \end{macrocode} +% \end{macro}^^A \@wrglossary +% +% \subsubsection{Erscheinung von Einträgen in der Änderungsliste} +% +% \begin{macro}{\tud@lst@def} +% \changes{v2.05}{2016/04/25}{neu}^^A +% \begin{macro}{\tud@lst@values} +% \changes{v2.05}{2016/04/25}{neu}^^A +% \begin{macro}{\if@tud@lst@multi} +% \changes{v2.05}{2016/04/25}{neu}^^A +% \begin{macro}{\tud@lst@init} +% \changes{v2.05}{2016/04/25}{neu}^^A +% \begin{macro}{\tud@lst@add} +% \changes{v2.05}{2016/04/25}{neu}^^A +% \begin{macro}{\tud@lst@process} +% \changes{v2.05}{2016/04/25}{neu}^^A +% \begin{macro}{\tud@lst@@values} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\if@tud@lst@@multi} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\tud@lst@@init} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\tud@lst@@add} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\tud@lst@@process} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\tud@lst@subsub} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\tud@lst@subsubsub} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\subsubsubitem} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{macro}{\efil} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% Falls für die Sortierung der Änderungsliste in \cls{tudscrdoc} \app{texindy} +% zum Einsatz kommt, wird bei der Beschreibung von Einträgen oder Parametern +% nur dann eine Unterebene verwendet, wenn zu einem Eintrag mehrere Angaben +% existieren. Sollte nur eine Anmerkung vorhanden sein, wird diese direkt in +% der dazugehörigen Ebene nach dem Eintrag selbst ausgegeben. +% \begin{macrocode} +\newcommand*\tud@lst@subsub{} +\newcommand*\tud@lst@subsubsub{} +\newcommand*\subsubsubitem{\@idxitem\hspace*{35\p@}} +\newcommand*\efil{\hfil\nopagebreak}% +\newcommand*\tud@lst@def{% + \newcommand*\tud@lst@values{}% + \newif\if@tud@lst@multi% + \newcommand*\tud@lst@init{% + \let\tud@lst@values\relax% + \let\tud@lst@subsub\relax% + \@tud@lst@multifalse% + }% + \newcommand*\tud@lst@add[1]{% + \ifx\tud@lst@values\relax\else% + \@tud@lst@multitrue% + \def\tud@lst@subsub{\subsubitem}% + \fi% + \listadd\tud@lst@values{\tud@lst@subsub ##1}% + }% + \newcommand*\tud@lst@process{% + \if@tud@lst@multi% + \preto\tud@lst@values{\efill}% + \fi% + \forlistloop{}{\tud@lst@values}% + \tud@lst@init% + }% + \newcommand*\tud@lst@@values{}% + \newif\if@tud@lst@@multi% + \newcommand*\tud@lst@@init{% + \let\tud@lst@@values\relax% + \def\tud@lst@subsub{\subsubitem}% + \def\tud@lst@subsubsub{\space}% + \@tud@lst@@multifalse% + }% + \newcommand*\tud@lst@@add[1]{% + \@tud@lst@multitrue% + \ifx\tud@lst@@values\relax\else% + \@tud@lst@@multitrue% + \def\tud@lst@subsubsub{\subsubsubitem}% + \fi% + \listadd\tud@lst@@values{##1}% + }% + \newcommand*\tud@lst@@process{% + \if@tud@lst@@multi% + \appto\tud@lst@values{\efill}% + \fi% + \edef\tud@reserved####1{% + \noexpand\listadd\noexpand\tud@lst@values{% + \expandonce\tud@lst@subsubsub####1% + }% + }% + \forlistloop{\tud@reserved}{\tud@lst@@values}% + \tud@lst@@init% + }% +} +% \end{macrocode} +% \end{macro}^^A \efil +% \end{macro}^^A \subsubsubitem +% \end{macro}^^A \tud@lst@subsubsub +% \end{macro}^^A \tud@lst@subsub +% \end{macro}^^A \tud@lst@@process +% \end{macro}^^A \tud@lst@@add +% \end{macro}^^A \tud@lst@@init +% \end{macro}^^A \if@tud@lst@@multi +% \end{macro}^^A \tud@lst@@values +% \end{macro}^^A \tud@lst@process +% \end{macro}^^A \tud@lst@add +% \end{macro}^^A \tud@lst@init +% \end{macro}^^A \if@tud@lst@multi +% \end{macro}^^A \tud@lst@values +% \end{macro}^^A \tud@lst@def +% +% \subsubsection{Erzeugen von Index und Änderungsliste} +% % \begin{macro}{\tud@write@replace} % \changes{v2.05}{2016/04/21}{neu}^^A % \begin{macro}{\tud@read@replace} @@ -858,56 +1114,57 @@ % Hilfsdateien für Index und Änderungsliste für \app{texindy} angepasst. Dabei % werden diese automatisch erzeugt, falls dies möglich ist. % \begin{macrocode} - \def\actualchar{<&1&>} - \def\quotechar{<&2&>} - \def\levelchar{<&3&>} + \def\actualchar{<|1|>} + \def\quotechar{<|2|>} + \def\levelchar{<|3|>} \begingroup - \endlinechar=-1\relax% + \endlinechar=\m@ne\relax% \def\tud@reserved#1#2{% - \immediate\openin\tud@read@replace=\jobname.#1\relax% - \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax% - \@tempswafalse% - \loop\unless\ifeof\tud@read@replace% - \readline\tud@read@replace to\tud@line@replace% - \tud@replace\tud@line@replace{"}{""}% - \tud@replace\tud@line@replace{!}{"!}% - \tud@replace\tud@line@replace{:}{":}% - \tud@replace\tud@line@replace{@}{"@}% - \tud@replace\tud@line@replace{\"@}{"\@backslashchar"@}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\actualchar}{@}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\quotechar}{"}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\levelchar}{!}% - \tud@replace\tud@line@replace{" @}{}% - \ifeof\tud@read@replace\else% - \immediate\write\tud@write@replace{% - \unexpanded\expandafter{\tud@line@replace}% - }% - \@tempswatrue% - \fi% - \repeat% - \immediate\closein\tud@read@replace% - \immediate\closeout\tud@write@replace% - \ifnum\pdfshellescape=\@ne\relax% - \if@tempswa% - \immediate\write18{% - texindy\space% - -o \jobname.#2\space% - -M \@currname-#2.xdy\space% - -L german-din\space% - -t \jobname-#2.xlg\space% - \jobname-xdy.#1 - }% + \IfFileExists{\jobname.#1}{% + \immediate\openin\tud@read@replace=\jobname.#1\relax% + \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax% + \@tempswafalse% + \loop\unless\ifeof\tud@read@replace% + \readline\tud@read@replace to\tud@line@replace% + \tud@replace\tud@line@replace{"}{""}% + \tud@replace\tud@line@replace{!}{"!}% + \tud@replace\tud@line@replace{:}{":}% + \tud@replace\tud@line@replace{@}{"@}% + \tud@replace\tud@line@replace{\"@}{"\@backslashchar"@}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\actualchar}{@}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\quotechar}{"}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\levelchar}{!}% + \tud@replace\tud@line@replace{" @}{}% + \ifeof\tud@read@replace\else% + \immediate\write\tud@write@replace{% + \unexpanded\expandafter{\tud@line@replace}% + }% + \@tempswatrue% + \fi% + \repeat% + \immediate\closein\tud@read@replace% + \immediate\closeout\tud@write@replace% + \ifnum\pdf@shellescape=\@ne\relax% + \if@tempswa% + \immediate\write18{% + texindy\space% + -o \jobname.#2\space% + -M \@currname-#2.xdy\space% + -t \jobname-#2.xlg\space% + \jobname-xdy.#1% + }% % \end{macrocode} % Falls nichts geschrieben wurde, wird eine leere Ausgabedatei erzeugt. % \begin{macrocode} - \else% - \immediate\openout\tud@write@replace=\jobname.#2\relax% - \immediate\closeout\tud@write@replace% + \else% + \immediate\openout\tud@write@replace=\jobname.#2\relax% + \immediate\closeout\tud@write@replace% + \fi% \fi% - \fi% + }{}% }% \tud@reserved{idx}{ind}% \tud@reserved{glo}{gls}% @@ -917,36 +1174,37 @@ % \app{makeindex} automatisch erzeugt. % \begin{macrocode} \else - \ifnum\pdfshellescape=\@ne\relax% - \immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}% - \immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx}% + \ifnum\pdf@shellescape=\@ne\relax% + \immediate\write18{% + makeindex -s gglo.ist -t \jobname.glg -o \jobname.gls \jobname.glo% + }% + \immediate\write18{% + makeindex -s gind.ist -t \jobname.ilg -o \jobname.ind \jobname.idx% + }% \fi% \fi % \end{macrocode} -% Jetzt werden noch die Einleitungen für Index und Änderungsliste angepasst. -% \begin{macrocode} -\IndexPrologue{% - \addsec{Index}% - Unterstrichene Zahlen, die gegebenenfalls mit einem Hyperlink versehen sind, - verweisen auf die \ifcodeline@index Codezeile der \fi Definition, alle - weiteren sind \ifcodeline@index Zeilennummern\else Seitenzahlen\fi, wo der - jeweilige Eintrag verwendet wird. -} -\GlossaryPrologue{\addsec{\"Anderungsliste}} -% \end{macrocode} % \end{macro}^^A \levelchar % \end{macro}^^A \quotechar % \end{macro}^^A \actualchar % \end{macro}^^A \tud@line@replace % \end{macro}^^A \tud@read@replace % \end{macro}^^A \tud@write@replace +% Jetzt werden noch die Einleitungen für Index und Änderungsliste angepasst. +% \begin{macrocode} +\IndexPrologue{\addsec{\indexname}\tud@index@text} +\GlossaryPrologue{\addsec{\tud@changes@name}} +% \end{macrocode} +% +% \subsection{ToDo-Liste} +% % \begin{macro}{\PrintToDos} % \changes{v2.05}{2016/05/19}{neu}^^A % Für ToDo-Notizen wird am Ende eine Liste aller offenen Punkte ausgegeben. % \begin{macrocode} \DeclareNewTOC[% type=todo,% - listname={Liste der noch zu erledigenden Punkte},% + listname={\tud@todo@name},% name=ToDo,% tocentryindent=\z@,% owner=\@currname,% @@ -997,35 +1255,165 @@ \ifdefined\tudfinalflag\else% \begingroup% \csuse{phantomsection}% - \def\tud@reserved{\ifxblank{#2}{ToDo: ??}{ToDo: #2}}% + \IfArgIsEmpty{#2}{% + \def\tud@reserved{??}% + }{% + \def\tud@reserved{#2}% + }% \endgraf% \hfuzz0.8pt% - \leavevmode\marginpar{\raggedleft\fbox{\tud@reserved\strut}}% + \leavevmode\marginpar{\raggedleft\fbox{ToDo:\space\tud@reserved\strut}}% \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}% \endgraf% - \global\advance\c@CodelineNo\@ne - \addxcontentsline{tdo}{todo}{#2:~#1~(\filesep\number\c@CodelineNo)}% - \global\advance\c@CodelineNo\m@ne +% \end{macrocode} +% Werden mit \cs{DocInclude} mehrere Dateien in das Dokument eingefügt, so +% erhält die ToDo-Notiz einen entsprechenden Hinweis. +% \begin{macrocode} + \let\@tempa\@empty% + \ifdefined\currentfile% + \def\@tempa{\,--\,\texttt{\currentfile}}% + \fi% + \addxcontentsline{tdo}{todo}{\tud@reserved\@tempa:\space#1}% \endgroup% \fi% } % \end{macrocode} % \end{macro}^^A \@ToDo % \end{macro}^^A \ToDo -% Zum Schluss erfolgen einige Anpassungen mit \cs{AtBeginDocument}, um abhängig -% vom Ladezustand einiger Pakete reagieren zu können. +% +% \subsection{Satzspiegel} +% +% Um den zur Verfügung stehenden Platz möglichst effektiv zu nutzen, soll der +% Satzspiegel dahingehend aufgeteilt werden, dass für die Darstellung jeder +% Quelltextzeile genau 80~Zeichen zur Verfügung stehen. Dies ist allerdings +% abhängig von der geladenen Typewriter-Schrift. Deshalb wird die Berechnung +% des Satzspiegels erst zum Ende der Präambel ausgeführt, um auf etwaige Pakete +% zur Schriftauswahl reagieren zu können. +% +% \begin{macro}{\calculatearea} +% \changes{v2.05g}{2016/11/10}{neu}^^A +% \begin{length}{\topmargin} +% \begin{length}{\headheight} +% \begin{length}{\headsep} +% \begin{length}{\footskip} +% \begin{length}{\textheight} +% \begin{length}{\textwidth} +% \begin{length}{\columnsep} +% \begin{length}{\marginparsep} +% \begin{length}{\marginparwidth} +% \begin{length}{\oddsidemargin} +% Hiermit wird die Berechnung des Satzspiegels ausgeführt. % \begin{macrocode} -\AtBeginDocument{% +\newcommand*\calculatearea{% + \setlength\topmargin{-1in}% + \setlength\headheight{0pt}% + \setlength\headsep{3em}% + \setlength\footskip{1.5\headsep}% + \setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}% + \settowidth\MacroIndent{\rmfamily\scriptsize 0000\ }% + \begingroup% + \MacroFont\selectfont% + \settowidth\@tempdima{\space}% + \setlength\@tempdima{80\@tempdima}% +%^^A \addtolength\@tempdima{\dimexpr\MacroIndent+.1\p@\relax}% + \addtolength\@tempdima{\MacroIndent}% + \edef\@tempa{% + \endgroup% + \noexpand\setlength\noexpand\textwidth{\the\@tempdima}% + }% + \@tempa% + \setlength\columnsep{1em}% + \setlength\marginparsep{1em}% + \setlength\marginparwidth{% + \dimexpr\paperwidth-\textwidth-2\marginparsep\relax% + }% + \setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}% +} +\AtEndPreamble{\calculatearea} % \end{macrocode} -% \begin{macro}{\newrobustcmd} -% Sollte \pkg{etoolbox} nicht geladen sein, wird der Befehl \cs{newrobustcmd} -% definiert, welcher anschließend für die Markup-Befehle genutzt wird. +% \end{length}^^A \oddsidemargin +% \end{length}^^A \marginparwidth +% \end{length}^^A \marginparsep +% \end{length}^^A \columnsep +% \end{length}^^A \textwidth +% \end{length}^^A \textheight +% \end{length}^^A \footskip +% \end{length}^^A \headsep +% \end{length}^^A \headheight +% \end{length}^^A \topmargin +% \end{macro}^^A \calculatearea +% \begin{macro}{\saved@calculatearea} +% \changes{v2.05g}{2016/11/10}{neu}^^A +% \begin{macro}{\tud@font@set} +% \begin{macro}{\@pnumwidth} +% \begin{macro}{\@tocrmarg} +% \begin{macro}{\MacroFont} +% \begin{macro}{\AltMacroFont} +% Etwas komplizierter wird es, wenn das paket \pkg{tudscrfonts} geladen wird. +% Die darin ausgewählten Typewriter-Schriften sind zur Quelltextdokumentation +% zu schlank. Deshalb wird das Paket \pkg{mweights} genutzt, um die Stärke +% etwas zu erhöhen. Damit dies mit dem Paket \pkg{doc} funktioniert, muss der +% Befehl \cs{MacroFont} leicht angepasst werden. +% +% Da das Paket \pkg{tudscrfonts} das Festlegen der Schriften selbst auf das +% Ende der Präambel verzögert, muss sichergestellt werden, dass die Berechnung +% des Satzspiegels erst nach der Schriftauswahl erfolgt. Deshalb wird der +% Inhalt von \cs{calculatearea} in \cs{saved@calculatearea} gescihert und +% anschließend unschädlich gemacht. Danach wird die Satzspiegelberechnung an +% das Makro \cs{tud@font@set} angehangen. % \begin{macrocode} - \@ifpackageloaded{etoolbox}{}{% - \providecommand*\newrobustcmd{\DeclareRobustCommand}% +\AfterPackage{tudscrfonts}{% + \RequirePackage{mweights}[2013/07/21]% + \CheckCommand*\MacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mddefault% + \fontshape\updefault% + \small% + }% + \renewcommand*\MacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mdseries@tt% + \fontshape\updefault% + \small% + }% + \CheckCommand*\AltMacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mddefault% + \fontshape\sldefault% + \small% + }% + \renewcommand*\AltMacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mdseries@tt% + \fontshape\sldefault% + \small% + }% + \newcommand*\saved@calculatearea{}% + \let\saved@calculatearea\calculatearea% + \let\calculatearea\relax% + \appto\tud@font@set{% + \ifcase\tud@cdfont@num\relax\else% true/heavy + \def\mdseries@tt{m}% + \renewcommand*\@pnumwidth{1.7em}% + \renewcommand*\@tocrmarg{2.7em}% + \fi% + \saved@calculatearea% }% +} % \end{macrocode} -% \end{macro}^^A \newrobustcmd +% \end{macro}^^A \AltMacroFont +% \end{macro}^^A \MacroFont +% \end{macro}^^A \@tocrmarg +% \end{macro}^^A \@pnumwidth +% \end{macro}^^A \tud@font@set +% \end{macro}^^A \saved@calculatearea +% +% \subsection{Zusätzliche Markup-Befehle} +% % \begin{macro}{\app} % \begin{macro}{\cls} % \begin{macro}{\pkg} @@ -1033,19 +1421,36 @@ % \begin{macro}{\val} % \begin{macro}{\pgs} % \begin{macro}{\env} +% \begin{macro}{\prm} +% \changes{v2.05g}{2016/11/02}{neu}^^A % \begin{macro}{\file} % Zusätzliche Auszeichnungsbefehle. % \begin{macrocode} - \newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}} - \newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}} - \newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}} - \newrobustcmd*\opt[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\val[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\env[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\file[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}} +\newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}} +\newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}} +\newrobustcmd*\opt[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\val[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\env[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\prm[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\file[1]{\mbox{\texttt{#1}}} +\AfterPackage{hyperref}{% + \pdfstringdefDisableCommands{% + \let\app\@firstofone% + \let\cls\@firstofone% + \let\pkg\@firstofone% + \let\opt\@firstofone% + \let\val\@firstofone% + \let\pgs\@firstofone% + \let\env\@firstofone% + \let\prm\@firstofone% + \let\file\@firstofone% + }% +} % \end{macrocode} % \end{macro}^^A \file +% \end{macro}^^A \prm % \end{macro}^^A \env % \end{macro}^^A \pgs % \end{macro}^^A \val @@ -1053,37 +1458,24 @@ % \end{macro}^^A \pkg % \end{macro}^^A \cls % \end{macro}^^A \app -% \begin{macro}{\hypersetup} -% \begin{macro}{\phantomsection} -% \begin{macro}{\texorpdfstring} -% Etwas Kleinkram für \pkg{hyperref}\dots +% +% \subsection{Rückfalloptionen bei fehlenden Paketen} +% +% Zum Schluss erfolgen einige Anpassungen mit \cs{AtEndPreamble}, um abhängig +% vom Ladezustand einiger Pakete reagieren zu können. % \begin{macrocode} - \@ifpackageloaded{hyperref}{% - \pdfstringdefDisableCommands{% - \def\TUDScript{TUD-Script}% - \let\cls\@firstofone% - \let\pkg\@firstofone% - }% - }{% - \RequirePackage{url}[2013/09/16]% - \providecommand*\hypersetup[1]{}% - \providecommand*\phantomsection{}% - \providecommand*\texorpdfstring[2]{#1}% - }% +\AtEndPreamble{% % \end{macrocode} -% \end{macro}^^A \texorpdfstring -% \end{macro}^^A \phantomsection -% \end{macro}^^A \hypersetup % \begin{macro}{\selectlanguage} % \begin{macro}{\glqq} % \begin{macro}{\grqq} -% \dots sowie \pkg{babel}\dots +% Etwas kleinkram für \pkg{babel}\dots % \begin{macrocode} \@ifpackageloaded{babel}{}{% \ClassWarning{\TUD@Class@Name}{Package `babel' not loaded}% - \let\selectlanguage\@gobble% - \let\glqq\relax% - \let\grqq\relax% + \providecommand*\selectlanguage[1]{}% + \providecommand*\glqq{\relax}% + \providecommand*\grqq{\relax}% }% % \end{macrocode} % \end{macro}^^A \grqq @@ -1094,28 +1486,15 @@ % \begin{macrocode} \@ifpackageloaded{csquotes}{}{% \ClassWarning{\TUD@Class@Name}{Package `csquotes' not loaded}% - \providecommand\enquote[1]{\glqq#1\grqq{}}% + \providecommand\enquote[1]{\emph{#1}}% }% % \end{macrocode} % \end{macro}^^A \enquote -% Sollte das Paket \pkg{tudscrfonts} geladen worden sein, so wird die Stärke -% der Schriften für die Quelltextausgabe etwas erhöht, um die Lesbarkeit zu -% verbessern. +% Sollte das Paket \pkg{tudscrfonts} nicht geladen worden sein, so wird das +% Paket \pkg{lmodern} geladen und die fehlenden Befehle zur Schriftauswahl +% rudimentär definiert. % \begin{macrocode} - \@ifpackageloaded{tudscrfonts}{% - \RequirePackage{mweights}[2013/07/21]% - \ifnum\tud@cdfont@num>\z@\relax% true/heavy - \def\mddefault{m}% - \def\mdseries@tt{m}% - \renewcommand*\@pnumwidth{1.7em}% - \renewcommand*\@tocrmarg{2.7em}% - \fi% - \setlength\columnsep{10pt}% -% \end{macrocode} -% Andernfalls wird das Paket \pkg{lmodern} geladen und die fehlenden Befehle -% zur Schriftauswahl rudimentär definiert. -% \begin{macrocode} - }{% + \@ifpackageloaded{tudscrfonts}{}{% \RequirePackage{lmodern}[2009/10/30]% \providecommand*\ifdin[2]{#2}% \providecommand*\textuln[1]{\textsf{#1}}% @@ -1128,21 +1507,11 @@ \providecommand*\textuxs[1]{\textubs{#1}}% \providecommand*\textdbn[1]{\textubn{#1}}% }% -% \end{macrocode} -% Und ganz zum Schluss noch die Titelei. -% \begin{macrocode} - \title{% - \file{\filename}\thanks{% - Dies ist Version \fileversion\nobreakspace{}von Datei \file{\filename}.% - }% - }% - \author{Falk Hanisch\thanks{\tudscrmail}}% - \date{\filedate}% } % \end{macrocode} % % \iffalse -%</class> +%</class&body> % \fi % % \Finale diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx index eba90064361..6668b41fd4a 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx @@ -1,32 +1,32 @@ -% \CheckSum{840} +% \CheckSum{842} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-fields.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-fields.dtx}[% - 2016/10/10 v2.05e TUD-Script (input fields)% + 2017/01/26 v2.05g TUD-Script (input fields)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-fields.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -76,13 +82,13 @@ % % \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A % -% \section{Eingabefelder für den Nutzer} +% \section{Anwenderbefehle für Eingabefelder} % -% Die Vorlagen für das \CD der Technischen Universität Dresden definieren -% mehrere Felder, welche durch den Nutzer gesetzt und auf Titelseite bzw. mit -% \pkg{tudscrsupervisor} auch teilweise für die Aufgabenstellung verwendet -% werden. Ein Großteil der definierten Felder wird unter anderem für den Satz -% der Titelseite benötigt. +% Das \TUDScript-Bundle für das \TUDCD definieren mehrere Felder, welche durch +% den Anwender festgelegt werden können und dadurch auf der Titelseite bzw. auf +% der Aufgabenstellung~-- falls das Paket \pkg{tudscrsupervisor} zum Einsatz +% kommt~-- ausgegeben werden. Ein Großteil der definierten Felder wird unter +% anderem für den Satz der Titelseite benötigt. % % Das Setzen einer speziellen Titelseite mit \LaTeX{} ist eines der häufigsten % anliegen. Dafür ist von Markus Kohm\footnote{Autor von \KOMAScript} das @@ -95,7 +101,7 @@ %<*class&!manual> % \fi % -% \subsection{Textfelder} +% \subsection{Textfelder für die \TUDScript-Klassen} % % Von den Klassen benötigte Formularfelder werden definiert. Für das Setzen von % Feldern werden mit dem Makro \cs{trim@spaces} aus dem Paket \pkg{trimspaces} @@ -265,28 +271,36 @@ \def\newline{\space\ignorespaces}% \def\\{\space\ignorespaces}% % \end{macrocode} -% Die Makros aus \cs{tud@split@author@list} werden zu \cs{relax} gesetzt, um +% Die Makros aus \cs{tud@split@author@list} werden zu \cs{@tempc} gesetzt, um % diese nach der Expansion weiter zu behandeln. % \begin{macrocode} - \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}% + \let\@tempc\relax% + \def\@tempa##1{\csedef{##1}####1{\@tempc}}% \let\@tempb\tud@split@author@list% \ifx\and\relax\else% \robustify\and% \fi% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% - \protected@edef\@@author{#1}% % \end{macrocode} % Da die Befehle für Zusatzinformationen unter Umständen ungewollte Leerzeichen % im Feld \cs{@@author} hinterlassen, werden diese entfernt. % \begin{macrocode} - \tud@replace\@@author{ \relax }{}% - \tud@replace\@@author{\relax }{}% - \tud@replace\@@author{ \relax}{}% - \tud@replace\@@author{\relax}{}% - \tud@replace\@@author{ \and }{\and}% - \tud@replace\@@author{ \and}{\and}% - \tud@replace\@@author{\and }{\and}% - \protected@xdef\@@author{\trim@spaces{\@@author}}% + \def\@tempa##1##2{% + \def\@tempb####1##2####2\@nil{% + \IfArgIsEmpty{####2}{% + \def##1{####1}% + }{% + \@tempb####1####2\@nil% + }% + }% + \expandafter\@tempb##1##2\@nil% + }% + \protected@edef\@@author{#1}% + \@tempa{\@@author}{ \@tempc }% + \@tempa{\@@author}{\@tempc }% + \@tempa{\@@author}{ \@tempc}% + \@tempa{\@@author}{\@tempc}% + \xdef\@@author{\expandonce\@@author}% \endgroup% } \newcommand*\@authormore{} @@ -343,17 +357,18 @@ % Art bzw. Typ der Abschlussarbeit kann \cs{thesis}\marg{Abschlussarbeit} % angegeben werden und wird im Makro \cs{@thesis} gespeichert. Alternativ % dazu kann auch der Befehl \cs{subject} verwendet werden. Mit dem Befehl -% \cs{tud@thesis@do} wird in den Feldern \@thesis respektive \@subject nach -% bestimmten Schlagwörtern für Abschlussarbeiten o.\,ä. gesucht. Wird eines -% dieser Wörter gefunden, wird der entsprechende reguläre Ausdruck für dieses +% \cs{tud@thesis@do} wird in den Feldern \cs{@thesis} respektive \cs{@subject} +% nach bestimmten Schlagwörtern für Abschlussarbeiten o.\,ä. gesucht. Wird +% eines dieser Wörter gefunden, wird der entsprechende Bezeichner für dieses % Feld gesetzt. Zusätzlich wird durch \cs{tud@thesis@@do} dafür gesorgt, dass % gegebenenfalls der Inhalt von \cs{@subject} in \cs{@thesis} verschoben und -% die entsprechende Option \opt{subjectthesis} gesetzt wird. In \cs{@@thesis} +% entsprechend die Option \opt{subjectthesis} gesetzt wird. In \cs{@@thesis} % wird die angegebene Abschlussarbeit ohne etwaige Fußnoten gespeichert. % \begin{macrocode} \newcommand*\@thesis{} \newcommand*\@@thesis{} \newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}} +\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\tud@thanks{} \newcommand*\tud@thesis@do[2]{% \begingroup% @@ -407,7 +422,6 @@ \fi% \protected@xdef\@@thesis{\trim@spaces{#2}}% } -\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} % \end{macrocode} % \end{macro}^^A \tud@thanks % \end{macro}^^A \tud@thesis@@do @@ -642,14 +656,14 @@ %</poster> % \fi % -% \subsection{Datumsfelder} +% \subsection{Datumsfelder für die \TUDScript-Klassen} % % \begin{macro}{\printdate} % Im Folgenden werden mehrere Datumsfelder definiert. Damit diese optional % durch das \pkg{isodate}-Paket formatiert werden können, wird der zu % diesem Paket gehörende Befehl \cs{printdate} in die Definition der -% eigentlichen Datumsfelder integriert. Sollte das \pkg{isodate}-Paket nicht -% geladen werden, so muss dieser Befehl trotzdem definiert sein. +% eigentlichen Datumsfelder integriert. Sollte das Paket nicht geladen werden, +% so muss dieser Befehl trotzdem definiert sein. % \ToDo{Unterstützung für \pkg{datetime2}}[v2.06] % \begin{macrocode} \TUD@UnwindPackage{isodate}{\providecommand*\printdate[1]{#1}} @@ -700,9 +714,27 @@ % \end{macrocode} % \end{macro}^^A \tud@date@check % \begin{macro}{\date} -% \begin{field}{\@date} +% \begin{parameter}{before} +% \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{parameter}{after} +% \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{parameter}{prefix} +% \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{parameter}{suffix} +% \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{parameter}{pre} +% \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{parameter}{app} +% \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{parameter}{place} +% \changes{v2.05}{2016/05/27}{neu}^^A % \begin{macro}{\tud@date@set} % \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{field}{\@date} +% \begin{field}{\tud@date@pre} +% \changes{v2.05}{2016/05/27}{neu}^^A +% \begin{field}{\tud@date@app} +% \changes{v2.05}{2016/05/27}{neu}^^A % Das Abgabedatum der Arbeit für den Titel, wird im originalen Makro \cs{@date} % gespeichert. Zusätzlich kann über die Parameter im optionalen Argument eine % Ergänzung davorgesetzt angehängt werden~-- beispielsweise als Erklärung für @@ -722,29 +754,6 @@ \tud@x@isodate@printdate{\@date}{#2}% \global\let\tud@date@check\relax% } -% \end{macrocode} -% \end{macro}^^A \tud@date@set -% \end{field}^^A \@date -% \end{macro}^^A \date -% \begin{field}{\tud@date@pre} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{field}{\tud@date@app} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{parameter}{before} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{parameter}{after} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{parameter}{prefix} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{parameter}{suffix} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{parameter}{pre} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{parameter}{app} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{parameter}{place} -% \changes{v2.05}{2016/05/27}{neu}^^A -% \begin{macrocode} \newcommand*\tud@date@pre{} \newcommand*\tud@date@app{} \TUD@parameter@family{date}{% @@ -758,6 +767,10 @@ \TUD@parameter@handler@value{after}% } % \end{macrocode} +% \end{field}^^A \tud@date@app +% \end{field}^^A \tud@date@pre +% \end{field}^^A \@date +% \end{macro}^^A \tud@date@set % \end{parameter}^^A place % \end{parameter}^^A app % \end{parameter}^^A pre @@ -765,8 +778,7 @@ % \end{parameter}^^A prefix % \end{parameter}^^A after % \end{parameter}^^A before -% \end{field}^^A \tud@date@app -% \end{field}^^A \tud@date@pre +% \end{macro}^^A \date % \begin{macro}{\tud@date@print} % \changes{v2.05}{2016/05/27}{neu}^^A % Mit diesem Makro erfolgt die eigentliche Ausgabe des Datums und ggf. der @@ -819,15 +831,18 @@ %<*package&supervisor|class&manual> % \fi % -% \subsection{Felder für \pkg{tudscrsupervisor} und \cls{tudscrposter}} +% \subsection{% +% Felder für die Klasse \cls{tudscrposter}% +% und das Paket \pkg{tudscrsupervisor}% +% } % -% Die beiden genanntent Pakete stellen einige weitere Felder bereit bzw. -% erweitern deren Funktionalitäten. +% Die Klasse \cls{tudscrposter} und das Paket \pkg{tudscrsupervisor} stellen +% einige weitere Felder bereit bzw. erweitern deren Funktionalitäten. % % \begin{macro}{\chairman} % \begin{field}{\@chairman} -% Angabe des Prüfungsausschussvorsitzenden für die Aufgabenstellung, wird im -% Makro \cs{@chairman} gespeichert. +% Die Angabe des Prüfungsausschussvorsitzenden für die Aufgabenstellung, wird +% im Makro \cs{@chairman} gespeichert. % \begin{macrocode} \newcommand*\@chairman{} \newcommand*\chairman[1]{\gdef\@chairman{#1}} @@ -957,7 +972,7 @@ %<*class> % \fi % -% \subsection{Prozessieren von Feldern} +% \subsection{Verarbeitung bestimmter Feldinhalte für die Ausgabe} % % Einige Felder sind darauf ausgelegt, dass deren kommagetrennte Inhalte % einzeln abgearbeitet und ausgewertet werden können. Die folgenden Makros @@ -1039,8 +1054,8 @@ % \begin{macro}{\tud@multiple@fields@restore} % \changes{v2.04}{2015/05/12}{neu}^^A % Mit \cs{tud@multiple@fields@store} und \cs{tud@multiple@fields@restore} -% werden zwei Hilfsmakros definiert, um einzelne Feldinhalte lokal ändern und -% nach der Verarbeitung auf den ursprünglichen Wert zurücksetzen zu können. +% werden Hilfsmakros definiert, um einzelne Feldinhalte lokal ändern und nach +% der Verarbeitung auf den ursprünglichen Wert zurücksetzen zu können. % % Nach der Sicherung der globalen Feldinhalte wird der übergebene Teilinhalt % des zweiten Argumentes mit \cs{sbox}\cs{z@}\marg{\#2} in eine Box expandiert. @@ -1126,7 +1141,7 @@ % \changes{v2.05}{2015/07/06}{neu}^^A % \begin{macro}{\tud@split@contactperson@list} % \changes{v2.05}{2015/07/06}{neu}^^A -% Die Befehle \cs{tud@split@author@do} und \cs{tud@split@contactperson@do} +% Die beiden Makros \cs{tud@split@author@do} und \cs{tud@split@contactperson@do} % werden zunächst jeweils als Dummy initialisiert und an den entsprechenden % Stellen umdefiniert. Dies betrifft den Titel, die Aufgabenstellung und den % Aushang in den Umgebungen \env{task} und \env{notice} sowie den Seitenfuß bei diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx index 7412909d8ba..99d063d6dfb 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx @@ -1,32 +1,32 @@ -% \CheckSum{1291} +% \CheckSum{1294} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,14 +49,15 @@ % \iffalse %%% From File: tudscr-fonts.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-fonts.dtx}[% - 2016/10/12 v2.05f TUD-Script\space% + 2017/01/03 v2.05g TUD-Script\space% %</driver> %<package&identify>\ProvidesPackage{tudscrfonts}[% %<*driver|package&identify> %!TUD@Version -%<package> package (corporate design fonts)% +%<package> package + (corporate design fonts)% ] %</driver|package&identify> %<*driver> @@ -67,13 +68,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-fonts.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -90,14 +97,14 @@ % \changes{v2.04c}{2015/11/29}{Bugfix für \pkg{fontspec} bei fehlenden % Schriften}^^A % -% \section{Schriften des \CDs} +% \section{Die Hausschriften der \TnUD} % -% Für das \CD der Technischen Universität Dresden werden die Schriften \Univers -% und \DIN benötigt. Zur fehlerfreien Verwendung dieser Klassen sollten diese -% bitte installiert werden. Hier werden die \LaTeX-Befehle zur Verwendung der -% Schriften im Dokument definiert. Sollen nur kurze Passagen in einer anderen -% Schrift als der restliche Text gesetzt werden, so sollten anstatt der -% einfachen Schalter wie beispielsweise \cs{univ\dots} besser die Befehle +% Für das \TUDCD werden die Schriften \Univers und \DIN benötigt. Zur +% fehlerfreien Verwendung dieser Klassen sollten diese bitte installiert +% werden. Hier werden die \LaTeX-Befehle zur Verwendung der Schriften im +% Dokument definiert. Sollen nur kurze Passagen in einer anderen Schrift als +% der restliche Text gesetzt werden, so sollten anstatt der einfachen Schalter +% wie beispielsweise \cs{univ\dots} besser die Befehle % \cs{text\dots}\marg{Auszeichnungstext} verwendet werden. % % Die Schriften des \CDs können nicht nur mit den \TUDScript-Klassen sondern @@ -113,8 +120,13 @@ %<*class&option> % \fi % -% \subsection{Verwendbarkeit und Nutzung des Paketes \pkg{tudscrfonts}} +% \subsection{% +% Verwendung durch die \TUDScript-Klassen und das Paket \pkg{tudscrfonts}% +% } % +% Die Schriften des \TUDCDs werden standardmäßig durch die \TUDScript-Klassen +% verwendet. Für Dokumentklassen, welche nicht zum \TUDScript-Bundle gehören, +% können diese über das Paket \pkg{tudscrfonts} geladen werden. % \begin{macrocode} \PreventPackageFromLoading[% \ClassWarning{\TUD@Class@Name}{% @@ -164,7 +176,7 @@ %<*option> % \fi % -% \subsection{Schriftauswahl im \TUDScript-Bundle} +% \subsection{Auswahl des Fontformates} % % Das \TUDScript-Bundle unterstützt sowohl die Schriftauswahl im klassischen % New Font Selection Scheme (NFSS) als auch das Einbinden der Schriften im @@ -194,6 +206,11 @@ %<*body> % \fi % +% \subsection{Prüfen der Schriftverfügbarkeit} +% +% Nachfolgend werden Makros definiert, mit denen geprüft werden kann, ob die +% notwendigen Schriften im passenden Fontformat auch installiert sind. +% % \begin{macro}{\tud@univers} % \begin{macro}{\if@tud@univers} % \begin{macro}{\if@tud@universmath} @@ -354,11 +371,87 @@ % \end{macro}^^A \tud@x@fontspec@noerror % \end{macro}^^A \tud@font@check % +% \subsection{Kompatibilität der Schriften mit verschiedenen Pakete} +% \subsubsection{Ausrichtung von Überschriften und das Paket \pkg{ragged2e}} +% +% \begin{macro}{\tud@raggedright} +% \begin{macro}{\tud@RaggedRight} +% Die Überschriften in \DIN sollen laut \CD linksbündig und nie mit aktiver +% Silbentrennung gesetzt werden. Normalerweise ist das dies beim linksbündigen +% Satz bei \LaTeX{} der Fall. Allerdings ist es mit dem Paket \pkg{ragged2e} +% möglich, das Verhalten für den Flattersatz zu ändern und die Silbentrennung +% zu aktivieren. Mit der Option \opt{newcommands} werden dabei die originalen +% Befehle überschrieben, vorher jedoch in \cs{LaTeX\dots} gesichert. Diese +% Makros dienen dazu, die Überschriften in jedem Fall~-- auch bei der Verwendung +% von \pkg{ragged2e} mit der Option \opt{newcommands}~-- ohne Trennungen zu +% setzen. +% \begin{macrocode} +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% + \renewcommand*\tud@RaggedRight{\RaggedRight}% +} +% \end{macrocode} +% \end{macro}^^A \tud@RaggedRight +% \end{macro}^^A \tud@raggedright +% +% \subsubsection{Anpassungen für das Paket \pkg{siunitx}} +% +% \begin{macro}{\lseries} +% Das Paket \pkg{siunitx} nutzt den Befehl \cs{lseries} für den Fall, dass für +% den Fließtext eine Schrift die Serie \val{l} verwendet. Dem wird hier +% Rechnung getragen. +% \begin{macrocode} +\AfterPackage*{siunitx}{% + \providecommand*\lseries{\fontseries{l}\selectfont}% +} +% \end{macrocode} +% \end{macro}^^A \lseries +% +% \subsubsection{Anpassungen für die Klasse \cls{beamer}} +% +% Die \cls{beamer}-Klasse lädt standardmäßig serifenlose Mathematikschriften. +% Dies soll verhindert werden, damit die Auswahl über die Option \opt{cdmath} +% erfolgen kann. +% \begin{macrocode} +%<*package> +\AfterClass*{beamer}{\usefonttheme[onlymath]{serif}} +%</package> +% \end{macrocode} +% +% \subsubsection{Mathematikschriften in Verbindung mit dem Paket \pkg{bm}} +% +% \begin{macro}{\if@tud@x@bm@requested} +% Das Paket \pkg{bm} stellt den Befehl \cs{bm} für fette und kursive Symbole im +% Mathematiksatz bereit. Damit dies funktioniert, muss das Laden des Paketes +% auf das Ende der Präambel verzögert werden, um zuvor alle Einstellungen für +% die mathematischen Symbole vornehmen zu können. +% \begin{macrocode} +\newif\if@tud@x@bm@requested +%<*package> +\@ifpackageloaded{bm}{% + \PackageWarning{tudscrfonts}{% + Package `bm' must be loaded after `tudscrfonts'.\MessageBreak% + Otherwise the functionality can not be guaranteed% + }% +}{% +%</package> +\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} +%<*package> +} +%</package> +% \end{macrocode} +% \end{macro}^^A \if@tud@x@bm@requested +% % \iffalse %</body> %<*option> % \fi % +% \subsection{Schriftauswahl und -optionen} % \subsubsection{Schriften für den Fließtext} % % Hier werden die Optionen und Befehle zur Schriftauswahl definiert. @@ -445,7 +538,8 @@ \renewcommand*\tud@cdfont@num{2}% \TUD@SpecialOptionAtDocument{tud@font@set}% % \end{macrocode} -% Die Definition des fetten Schriftschnittes. +% Für die Definition der fetten Schriftstärke kommt je nach Einstellung ein +% anderer Schriftschnitt zum Einsatz. % \begin{macrocode} \or% normalbold \@tud@cdfont@ultraboldfalse% @@ -542,9 +636,10 @@ % \begin{option}{fontsize} % \changes{v2.04}{2015/04/24}{Option aus \KOMAScript{} erweitert}^^A % Die Option \opt{relspacing} setzt einige Abstände und Längen in Abhängigkeit -% der aktuellen Grundschriftgröße, wenn sie aktiviert wurde. Die Schriftgröße -% kann mit der \KOMAScript-Option \opt{fontsize} eingestellt werden. Durch das -% Makro \cs{tud@font@skip@set} wird die Definiton der Längen vorgenommen. +% der aktuellen Grundschriftgröße, wenn sie aktiviert wurde. Die verwendete +% Grundschriftgröße kann mit der \KOMAScript-Option \opt{fontsize} eingestellt +% werden. Die Definiton der Längen wird durch das Makro \cs{tud@font@skip@set} +% vorgenommen. % \begin{macrocode} \newif\if@tud@relspacing \TUD@key{relspacing}[true]{% @@ -951,9 +1046,7 @@ \newrobustcmd*\univxs{\tud@font@fallback{Univers Black Oblique}{bf}{sl}}% \fi% % \end{macrocode} -% Nach der Univers-Schriftfamilie wird für DIN~Bold äquivalent verfahren. Da -% dieser Schriftschnitt zwingend für die Überschriften benötigt wird, sollte -% dieser zumindest auch auf deren Stil schalten. +% Nach der \Univers-Schriftfamilie wird für \DIN äquivalent verfahren. % \begin{macrocode} \if@tud@dinbold% \if@tud@x@fontspec@enabled% @@ -977,6 +1070,11 @@ \appto\tud@dinbn{\mathversion{dinbold}}% \fi% \newrobustcmd*\dinbn{\tud@dinbn}% +% \end{macrocode} +% Da der Schalter \cs{dinbn} innerhalb der Überschriften verwendet wird, sollte +% dieser zumindest auch auf den Überschriftenstil schalten, falls \DIN elbst +% nicht installiert ist. +% \begin{macrocode} \else% \newrobustcmd*\tud@dinbn{\sectfont}% \newrobustcmd*\dinbn{\tud@font@wrn{DIN Bold}\tud@dinbn}% @@ -1154,7 +1252,7 @@ %<*option> % \fi % -% \subsection{Schriften für den Mathematiksatz} +% \subsubsection{Schriften für den Mathematiksatz} % % Da die Schriften des \CDs keinen Mathematiksatz beeinhalten, musste~-- % insbesondere für griechische Symbole~-- eine passende Alternative gefunden @@ -1685,8 +1783,8 @@ % \begin{macrocode} \AtEndPreamble{% % \end{macrocode} -% Falls \pkg{mweights} geladen wurde, werden im Bedarfsfall die vom Paket -% erwarteten Makros für die Schriftschnitte der einzelnen Schriftfamilien +% Falls das Paket \pkg{mweights} geladen wurde, werden im Bedarfsfall die vom +% Paket erwarteten Makros für die Schriftstärken der einzelnen Schriftfamilien % definiert. Beim Aufruf von \cs{tud@font@set} werden diese anschließend % gesichert. % \begin{macrocode} @@ -1719,7 +1817,7 @@ % sobald mindestens eine der notwendigen OpenType-Schriften fehlt. % \begin{macrocode} \tud@font@init% -% \end{macrocode} +% \end{macrocode} % Die Einstellungen für den Mathematiksatz erfolgen erst zu Dokumentbeginn, um % insbesondere auf Einstellungen von \pkg{fontspec} reagieren zu können. Da es % so gut wie keine freien OpenType"=Schriften für den mathmatischen Formelsatz @@ -1736,44 +1834,7 @@ } % \end{macrocode} % -% \subsection{Anpassungen für das Paket \pkg{bm}} -% -% \begin{macro}{\if@tud@x@bm@requested} -% Das Paket \pkg{bm} stellt den Befehl \cs{bm} für fette und kursive Symbole im -% Mathematiksatz bereit. Damit dies funktioniert, muss das Laden des Paketes -% auf das Ende der Präambel verzögert werden, um zuvor alle Einstellungen für -% die mathematischen Symbole vornehmen zu können. -% \begin{macrocode} -\newif\if@tud@x@bm@requested -\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} -% \end{macrocode} -% \end{macro}^^A \if@tud@x@bm@requested -% -% \subsection{Anpassungen für die Klasse \cls{beamer}} -% -% Die \cls{beamer}-Klasse lädt standardmäßig serifenlose Mathematikschriften. -% Dies soll verhindert werden, damit die Auswahl über die Option \opt{cdmath} -% erfolgen kann. -% \begin{macrocode} -%<*package> -\AfterClass*{beamer}{\usefonttheme[onlymath]{serif}} -%</package> -% \end{macrocode} -% -% \subsection{Anpassungen für das Paket \pkg{siunitx}} -% -% \begin{macro}{\lseries} -% Das Paket \pkg{siunitx} nutzt den Befehl \cs{lseries} für den Fall, dass für -% den Fließtext eine Schrift die Serie \val{l} verwendet. Dem wird hier -% Rechnung getragen. -% \begin{macrocode} -\AfterPackage*{siunitx}{% - \providecommand*\lseries{\fontseries{l}\selectfont}% -} -% \end{macrocode} -% \end{macro}^^A \lseries -% -% \subsection{Schrifteinstellungen für Überschriften} +% \subsubsection{Schrifteinstellungen für Überschriften} % % \begin{macro}{\ifdin} % \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A @@ -1806,35 +1867,6 @@ } % \end{macrocode} % \end{macro}^^A \tud@sec@fontface -% -% \subsection{Ausrichtung von Überschriften und das Paket \pkg{ragged2e}} -% -% \begin{macro}{\tud@raggedright} -% \begin{macro}{\tud@RaggedRight} -% Die Überschriften in \DIN sollen laut \CD linksbündig und nie mit aktiver -% Silbentrennung gesetzt werden. Normalerweise ist das dies beim linksbündigen -% Satz bei \LaTeX{} der Fall. Allerdings ist es mit dem Paket \pkg{ragged2e} -% möglich, das Verhalten für den Flattersatz zu ändern und die Silbentrennung -% zu aktivieren. Mit der Option \opt{newcommands} werden dabei die originalen -% Befehle überschrieben, vorher jedoch in \cs{LaTeX\dots} gesichert. Dieses -% Makro dient dazu, die Überschriften in jedem Fall~-- auch bei der Verwendung -% von \pkg{ragged2e} mit der Option \opt{newcommands}~-- ohne Trennungen zu -% setzen. -% \begin{macrocode} -\newcommand*\tud@raggedright{\raggedright} -\newcommand*\tud@RaggedRight{\raggedright} -\AfterPackage*{ragged2e}{% - \ifdef{\LaTeXraggedright}{% - \renewcommand*\tud@raggedright{\LaTeXraggedright}% - }{}% - \renewcommand*\tud@RaggedRight{\RaggedRight}% -} -% \end{macrocode} -% \end{macro}^^A \tud@RaggedRight -% \end{macro}^^A \tud@raggedright -% -% \subsection{Bedingte Majuskeln für Überschriften} -% % Für Überschriften in Majuskeln\footnote{Großbuchstaben} wird der Befehl % \cs{MakeTextUppercase}, was den internen \LaTeX-Befehl \cs{MakeUppercase} % verbessert, aus dem Paket \pkg{textcase} genutzt. diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx index e877cf27cd5..8bbeea844c5 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx @@ -1,32 +1,32 @@ % \CheckSum{809} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-frontmatter.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-frontmatter.dtx}[% - 2016/09/22 v2.05d TUD-Script (frontmatter)% + 2017/01/03 v2.05g TUD-Script (frontmatter)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-frontmatter.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -241,13 +247,11 @@ % \changes{v2.04}{2015/03/20}{Reimplementierung}^^A % \changes{v2.05}{2015/07/14}{Bugfix bei vertikaler Zentrierung}^^A % Mit diesen Makros werden bei der Ausgabe der einzelnen Erklärungen alle -% relevanten Optionen% -% \footnote{% -% \opt{titlepage}, \opt{twocolumn}, \opt{abstract/declaration=multiple}, -% \opt{abstract/declaration=fill}% -% } ausgewertet und die notwendigen vertikalen Abstände diesen entsprechend -% gesetzt. Dabei wird durch jede Zusammenfassung bzw. Erklärung \cs{tud@fm@set} -% über \cs{tud@fm@body@start} verwendet. Der Inhalt der beiden Umgebungen +% relevanten Optionen\footnote{\opt{titlepage}, \opt{twocolumn}, +% \opt{abstract/declaration=multiple}, \opt{abstract/declaration=fill}} +% ausgewertet und die notwendigen vertikalen Abstände entsprechend gesetzt. +% Dabei wird durch jede Zusammenfassung bzw. Erklärung \cs{tud@fm@set} über +% \cs{tud@fm@body@start} verwendet. Der Inhalt der beiden Umgebungen % \env{abstract} und \env{descriptions} wird mit \cs{tud@fm@check} ausgegeben. % \begin{macrocode} \newcommand\tud@fm@set[1]{} @@ -401,11 +405,12 @@ % die ggf. aktive Option \opt{abstract/declaration=toc} funktionieren kann, % wird für die Level, in denen keine Standardüberschrift verwendet wird, mit % dem Befehl \cs{phantomsection} aus dem Paket \pkg{hyperref}~-- wenn es -% tatsächlich geladen wurde~-- ein Anker für einen Hyperlink erzeugt. Ist -% \cs{tud@\meta{Typ}@toc@num} ungerade, so entspricht der erzeugte Eintrag ins -% Inhaltsverzeichnis für \cls{tudscrartcl} normalerweise dem eines Abschnitts, -% der für \cls{tudscrbook} und \cls{tudscrreprt} dem eines Kapitels.% -% \footnote{sonst sieht das Inhaltsverzeichnis recht bescheiden aus} +% tatsächlich geladen wurde~-- ein Anker für einen Hyperlink erzeugt. +% +% Ist \cs{tud@\meta{Typ}@toc@num} ungerade, so entspricht die Ebene des +% erzeugten Eintrags ins Inhaltsverzeichnis für \cls{tudscrartcl} normalerweise +% dem eines Abschnitts, der für \cls{tudscrbook} und \cls{tudscrreprt} dem eines +% Kapitels.\footnote{sonst sieht das Inhaltsverzeichnis recht bescheiden aus} % Mit der Eintellung \val{tocleveldown} kann der Eintrag um eine Ebene % reduziert werden. % \begin{macrocode} @@ -570,7 +575,7 @@ % \subsection{Erweiterung der Umgebung für eine Zusammenfassung} % % Die \env{abstract}-Umgebung wird um mehrere Optionen erweitert. So kann -% in den neuen \cls{tudscr}-Klassen die Sprache der Zusammenfassung leicht +% in den neuen \TUDScript-Klassen die Sprache der Zusammenfassung leicht % eingestellt und auch zwei Zusammenfassungen auf eine Seite gesetzt werden. % \begin{macro}{\tud@abstract@level@num} % \begin{macro}{\tud@abstract@toc@num} @@ -597,7 +602,7 @@ % \item[3] Ein gesammelter Eintrag auf der obersten Gliederungsebene % \item[4] Ein gesammelter Eintrag auf der zweithöchsten Gliederungsebene % \end{description} -% Die oberste Gliederungsebene ist \cs{chapter} für \cls{tudscrbook} und +% Dabei ist die oberste Gliederungsebene \cs{chapter} für \cls{tudscrbook} und % \cls{tudscrreprt} sowie \cs{section} für \cls{tudscrartcl}. % \begin{macrocode} %<*report|article|poster> @@ -762,6 +767,14 @@ % \begin{environment}{abstract} % \changes{v2.03}{2015/01/09}{Bugfix für Seitenstilauswahl}^^A % \changes{v2.04}{2015/03/20}{Reimplementierung}^^A +% \begin{parameter}{language} +% \begin{parameter}{columns} +% \begin{parameter}{pagestyle} +% \changes{v2.02}{2014/07/19}{neu}^^A +% \begin{parameter}{markboth} +% \changes{v2.02}{2014/11/05}{neu}^^A +% \begin{parameter}{abstract} +% \begin{parameter}{option} % \begin{macro}{\nextabstract} % \changes{v2.02}{2014/11/05}{neu}^^A % Die \env{abstract}-Umgebung wird komplett überarbeitet. Um alle gewünschten @@ -851,14 +864,6 @@ %</book|report|article> ] % \end{macrocode} -% \begin{parameter}{language} -% \begin{parameter}{columns} -% \begin{parameter}{pagestyle} -% \changes{v2.02}{2014/07/19}{neu}^^A -% \begin{parameter}{markboth} -% \changes{v2.02}{2014/11/05}{neu}^^A -% \begin{parameter}{abstract} -% \begin{parameter}{option} % Als Schlüssel für die \env{abstract}-Umgebung können Sprache, Anzahl der % Spalten oder auch die zur Umgebung gehörigen Klassenoptionen angegeben werden. % \begin{macrocode} @@ -895,12 +900,6 @@ \TUD@parameter@handler@default{}% } % \end{macrocode} -% \end{parameter}^^A option -% \end{parameter}^^A abstract -% \end{parameter}^^A markboth -% \end{parameter}^^A pagestyle -% \end{parameter}^^A columns -% \end{parameter}^^A language % Der Befehl \cs{nextabstract} lässt sich nur in der Umgebung \env{abstract} % verwenden. % \begin{macrocode} @@ -912,6 +911,12 @@ } % \end{macrocode} % \end{macro}^^A \nextabstract +% \end{parameter}^^A option +% \end{parameter}^^A abstract +% \end{parameter}^^A markboth +% \end{parameter}^^A pagestyle +% \end{parameter}^^A columns +% \end{parameter}^^A language % \end{environment}^^A abstract % % \iffalse @@ -920,9 +925,9 @@ %<*class&option> % \fi % -% \subsection{Befehle für Selbstständigkeitserklärung und Sperrvermerk} +% \subsection{Selbstständigkeitserklärung und Sperrvermerk} % -% Die Befehle für Selbstständigkeitserklärung und Sperrvermerk werden +% Die Befehle für die Selbstständigkeitserklärung und den Sperrvermerk werden % äquivalent zur \env{abstract}-Umgebung mit den gleichen Optionen % ausgestattet. % \begin{macro}{\tud@declaration@level@num} @@ -1035,6 +1040,19 @@ % \changes{v2.03}{2015/01/09}{Bugfix für Seitenstilauswahl}^^A % \changes{v2.03}{2015/01/30}{Bugfix für Spaltenanzahl}^^A % \changes{v2.04}{2015/03/20}{Reimplementierung}^^A +% \begin{parameter}{language} +% \begin{parameter}{columns} +% \changes{v2.02}{2014/07/19}{neu}^^A +% \begin{parameter}{pagestyle} +% \changes{v2.02}{2014/07/19}{neu}^^A +% \begin{parameter}{markboth} +% \changes{v2.02}{2014/11/05}{neu}^^A +% \begin{parameter}{company} +% \begin{parameter}{supporter} +% \begin{parameter}{place} +% \begin{parameter}{closing} +% \begin{parameter}{declaration} +% \begin{parameter}{option} % \begin{macro}{\if@tud@declarations} % Die \env{declarations}-Umgebung wird ähnlich zur \env{abstract}-Umgebung % definiert. Prinzipiell funktioniert diese genauso, inklusive der Parameter. @@ -1095,21 +1113,6 @@ \fi% ] % \end{macrocode} -% \end{macro}^^A \if@tud@declarations -% \end{environment}^^A declarations -% \begin{parameter}{language} -% \begin{parameter}{columns} -% \changes{v2.02}{2014/07/19}{neu}^^A -% \begin{parameter}{pagestyle} -% \changes{v2.02}{2014/07/19}{neu}^^A -% \begin{parameter}{markboth} -% \changes{v2.02}{2014/11/05}{neu}^^A -% \begin{parameter}{supporter} -% \begin{parameter}{place} -% \begin{parameter}{closing} -% \begin{parameter}{company} -% \begin{parameter}{declaration} -% \begin{parameter}{option} % Dies sind die möglichen Schlüssel für die Befehle \cs{declaration}, % \cs{confirmation} und \cs{blocking}. Die Schlüssel \opt{declaration} bzw. % \opt{option} dienen zum Setzen der Werte, welche auch als Klassenoptionen @@ -1141,16 +1144,18 @@ \TUD@parameter@handler@default{}% } % \end{macrocode} +% \end{macro}^^A \if@tud@declarations % \end{parameter}^^A option % \end{parameter}^^A declaration -% \end{parameter}^^A company % \end{parameter}^^A closing % \end{parameter}^^A place % \end{parameter}^^A supporter +% \end{parameter}^^A company % \end{parameter}^^A markboth % \end{parameter}^^A pagestyle % \end{parameter}^^A columns % \end{parameter}^^A language +% \end{environment}^^A declarations % \begin{macro}{\tud@fm@supporter} % \changes{v2.05}{2015/10/27}{neu}^^A % Dies ist ein Hilfsmakro, um die Sternversionen der beiden Befehle diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx index 2b4a793db64..98378b6ed38 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx @@ -1,32 +1,32 @@ -% \CheckSum{1488} +% \CheckSum{1469} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-layout.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-layout.dtx}[% - 2016/09/22 v2.05d TUD-Script (layout)% + 2017/01/03 v2.05g TUD-Script (layout)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-layout.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -79,6 +85,11 @@ % % \section{Das Layout des \CDs} % +% Unter Layout wird die Wahl von Schriftart und "~größe, die Positionierung +% verschiedener Textelemente sowie die farbliche Gestaltung verstanden. Für das +% \CD gibt es dabei drei wesentliche Ausprägungen, die für die verschiedenen +% Elemente auch unabhängig gewählt werden können. +% % Für das \CD werden sowohl Teile- als auch die Kapitelseiten neu gestaltet. % Es werden eine monochrome Version, eine Version mit leichtem Farbeinsatz und % eine durchweg farbige Version bereitgestellt. Außerdem wird hier das Aussehen @@ -90,7 +101,7 @@ %<*class&option> % \fi % -% \subsection{Optionen} +% \subsection{Gestalt von Umschlagseite, Titel, Teile und Kapitel} % % 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 @@ -601,10 +612,11 @@ % \begin{option}{clearcolour} % \begin{macro}{\if@tud@clearcolor} % Bei starkem Farbeinsatz im Stil des \CDs auf Titel- Teil- oder Kapitelseiten -% (\opt{cd\dots=color}) wird die entsprechende Rückseite in der gleichen -% Farbe wie die dazugehörige Vorderseite gestaltet. Für Teile- bzw. -% Kapitelseiten muss die entsprechende Option aktiviert sein.% -% \footnote{\opt{cleardoublespecialpage}} +% (\opt{cd\dots=color}) wird die entsprechende Rückseite in der gleichen Farbe +% wie die dazugehörige Vorderseite gestaltet. Für Teile- bzw. Kapitelseiten +% muss dafür die entsprechende Option\footnote{\opt{cleardoublespecialpage}} +% aktiviert sein. +% % \begin{macrocode} \newif\if@tud@clearcolor \TUD@ifkey{clearcolor}{@tud@clearcolor} @@ -620,41 +632,68 @@ %</book|report> % \fi % -% \begin{macro}{\tud@font@koma@set} -% \begin{macro}{\tud@font@koma@reset} -% \changes{v2.02}{2014/08/24}{neu}^^A -% \begin{macro}{\tud@font@koma@unset} -% Es wird die Möglichkeit geschaffen, bestimmten Schriftelementen weitere -% Eigenschaften mitzugeben. Damit dies optionsabhängig geschehen kann und -% \cs{addtokomafont} nur einmalig verwendete werden muss, wird im Zweifelsfall -% einem Schriftelement ein Hilfsmakro \cs{tud@font@koma@\meta{Element}} -% zugewiesen, welches intern angepasst werden kann. Mit \cs{tud@font@koma@set} -% werden dem angegebenen Element die gewünschten Schriftattribute zugeteilt. -% \begin{macrocode} -\newcommand*\tud@font@koma@set[2]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{#2\nobreak}% -} +% \begin{macro}{\tud@pagecolor} +% Der Befehl \cs{tud@pagecolor} dient für die Hauptklassen als Hilfsmakro, um +% je nach gewählter Ausprägung des Layouts die farblichen Seitenhintergründe zu +% aktivieren. Für die Klasse \cls{tudscrposter} wird der Befehl zusätzlich für +% das benutzerdefinierte Festlegen einer standardmäßigen Hintergrundfarbe mit +% der Option \opt{backgroundcolor} genutzt. +% \begin{macrocode} +\newcommand*\tud@pagecolor{}% +% \end{macrocode} +% \end{macro}^^A \tud@pagecolor +% \begin{option}{backgroundcolor} +% \changes{v2.05}{2016/04/15}{neu}^^A +% Mit dieser Option kann die standardmäßige Hintergrundfarbe für Poster gesetzt +% werden. +% \begin{macrocode} +%<*poster> +\TUD@key{backgroundcolor}[true]{% + \TUD@set@numkey{backgroundcolor}{@tempa}{% + \TUD@numkey@bool,% + {nocolor}{0},{nocolour}{0},{none}{0},% + {color}{1},{colour}{1},{cdcolor}{1},{cdcolour}{1}% + }{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifcase\@tempa\relax% false + \renewcommand*\tud@pagecolor{}% + \else% true + \renewcommand*\tud@pagecolor{HKS41}% + \fi% + \else% + \renewcommand*\tud@pagecolor{#1}% + \FamilyKeyStateProcessed% + \fi% % \end{macrocode} -% Mit \cs{tud@font@koma@unset} kann das angegebene Element wieder zurückgesetzt -% werden. Dabei wird das hinzugefügte Makro auf \cs{relax} gesetzt. +% Wird die Option innerhalb des Dokumentes verwendet, wird mit einer Box erst +% die gewählte Farbe verifiziert und anschließend auf die am Dokumentbeginn +% definierte Textfarbe umgestellt. % \begin{macrocode} -\newcommand*\tud@font@koma@unset[1]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{\relax}% + \if@atdocument% + \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}% + \normalcolor% + \fi% } % \end{macrocode} -% Durch die Option \opt{headings} werden die Schriftelemente zurückgesetzt. -% Mit dem hier definierten Befehl \cs{tud@font@koma@reset} kann diesen das -% Hilfsmakro abermals zugewiesen werden. +% Für das Aktivieren der Farbe \val{HKS41} wird \cs{normalcolor} erweitert, um +% hier in jedem Fall als Schriftfarbe \emph{weiß} zu verwenden. % \begin{macrocode} -\newcommand*\tud@font@koma@reset[1]{% - \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}% +\AfterPackage{xcolor}{% + \CheckCommand*\normalcolor{\let\current@color\default@color\set@color}% + \apptocmd{\normalcolor}{% + \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{}% + }{}{\tud@patch@wrn{normalcolor}}% + \AtBeginDocument{% + \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}% + \normalcolor% + }% } +%</poster> % \end{macrocode} -% \end{macro}^^A \tud@font@koma@unset -% \end{macro}^^A \tud@font@koma@reset -% \end{macro}^^A \tud@font@koma@set +% \end{option}^^A backgroundcolor +% +% \subsection{Schrifteinstellung und Positionierung der Überschriften} +% % \begin{option}{headings} % Die \KOMAScript-Option \opt{headings} setzt für alle Überschriften die % Formatierung zurück. Um die Einstellungen für das \CD aktiv zu halten, werden @@ -686,13 +725,6 @@ %<*class&body> % \fi % -% \subsection{Umsetzung des Layouts} -% -% Unter Layout wird die Wahl von Schriftart und "~größe, die Positionierung -% 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@x@scr@headings@set} % \changes{v2.05}{2015/11/24}{neu}^^A % \begin{macro}{\tud@x@scr@headings@current} @@ -701,14 +733,14 @@ % \changes{v2.05}{2015/11/24}{neu}^^A % \begin{macro}{\tud@thesis@fontsize} % \changes{v2.05}{2015/11/24}{neu}^^A -% Als erstes werden die zuvor erwähnten Optionen verarbeitet, welche Einfluss -% auf die Formatierung respektive die Schriftgröße der Überschriften haben. -% Wird mit der Option \opt{headings} eine andere Überschriftengröße gewählt, -% werden mit \cs{tud@x@scr@headings@set} die passenden Schriftgrößen sowohl für -% die Überschriften (\cs{tud@sec@fontsize}) als auch die Titelseite -% (\cs{tud@thesis@fontsize}) gesetzt. In \cs{tud@x@scr@headings@current} -% wird die über \opt{headings=\dots} gewählte Schriftgröße der Überschriften -% gesichert. +% Als erstes werden die Optionen verarbeitet, welche einen Einfluss auf die +% Formatierung respektive die Schriftgröße der Überschriften haben. Wird über +% die Option \opt{headings} eine andere Überschriftengröße gewählt, werden mit +% dem Makro \cs{tud@x@scr@headings@set} die passenden Schriftgrößen sowohl für +% die Überschriften (\cs{tud@sec@fontsize}) als auch die Titelseite +% (\cs{tud@thesis@fontsize}) gesetzt. Dafür werden die mit der Option +% \opt{headings=\dots} gewählte Schriftgröße der Überschriften im Hilfsmakro +% \cs{tud@x@scr@headings@current} gesichert. % \begin{macrocode} \newcommand*\tud@x@scr@headings@current{} \newcommand*\tud@sec@fontsize{} @@ -779,65 +811,6 @@ %<*class&option> % \fi % -% \begin{macro}{\tud@pagecolor} -% Der Befehl \cs{tud@pagecolor} dient für die Hauptklassen als Hilfsmakro, um -% je nach gewählter Ausprägung des Layouts die farblichen Seitenhintergründe zu -% aktivieren. Für die Klasse \cls{tudscrposter} wird der Befehl zusätzlich für -% das benutzerdefinierte Festlegen einer standardmäßigen Hintergrundfarbe mit -% der Option \opt{backgroundcolor} genutzt. -% \begin{macrocode} -\newcommand*\tud@pagecolor{}% -% \end{macrocode} -% \end{macro}^^A \tud@pagecolor -% \begin{option}{backgroundcolor} -% \changes{v2.05}{2016/04/15}{neu}^^A -% Mit dieser Option kann die standardmäßige Hintergrundfarbe für Poster gesetzt -% werden. -% \begin{macrocode} -%<*poster> -\TUD@key{backgroundcolor}[true]{% - \TUD@set@numkey{backgroundcolor}{@tempa}{% - \TUD@numkey@bool,% - {nocolor}{0},{nocolour}{0},{none}{0},% - {color}{1},{colour}{1},{cdcolor}{1},{cdcolour}{1}% - }{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase\@tempa\relax% false - \renewcommand*\tud@pagecolor{}% - \else% true - \renewcommand*\tud@pagecolor{HKS41}% - \fi% - \else% - \renewcommand*\tud@pagecolor{#1}% - \FamilyKeyStateProcessed% - \fi% -% \end{macrocode} -% Wird die Option innerhalb des Dokumentes verwendet, wird mit einer Box erst -% die gewählte Farbe verifiziert und anschließend auf die am Dokumentbeginn -% definierte Textfarbe umgestellt. -% \begin{macrocode} - \if@atdocument% - \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}% - \normalcolor% - \fi% -} -% \end{macrocode} -% Für das Aktivieren der Farbe \val{HKS41} wird \cs{normalcolor} erweitert, um -% hier in jedem Fall als Schriftfarbe \emph{weiß} zu verwenden. -% \begin{macrocode} -\AfterPackage{xcolor}{% - \CheckCommand*\normalcolor{\let\current@color\default@color\set@color}% - \apptocmd{\normalcolor}{% - \ifstr{\tud@pagecolor}{HKS41}{\color{white}}{}% - }{}{\tud@patch@wrn{normalcolor}}% - \AtBeginDocument{% - \ifdefvoid{\tud@pagecolor}{}{\sbox\z@{\color{\tud@pagecolor}}}% - \normalcolor% - }% -} -%</poster> -% \end{macrocode} -% \end{option}^^A backgroundcolor % \begin{option}{pageheadingsvskip} % \changes{v2.05}{2016/06/20}{neu}^^A % \begin{macro}{\tud@dim@pageheadingsvskip} @@ -876,6 +849,26 @@ %<*class&body> % \fi % +% \begin{macro}{\tud@headmidvskip@normal} +% \changes{v2.03}{2015/01/21}{neu}^^A +% \begin{macro}{\tud@headmidvskip@reverse} +% \changes{v2.03}{2015/01/21}{neu}^^A +% Mit \cs{tud@headmidvskip@normal} wird der Abstand zwischen der Nummerierung +% eines Titels und der eigentlichen Bezeichnung gesetzt. Gleiches gilt für +% eine separate Kapitelnummernzeile (\opt{chapterprefix}) und dem eigentlichen +% Kapiteltitel. Vorher kann ggf. mit dem Makro \cs{tud@headmidvskip@reverse} um +% den eingefügten Abstand nach oben verschoben werden. +% \begin{macrocode} +%<*book|report> +\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}} +\newcommand*\tud@headmidvskip@reverse{% + \setbox\z@\vbox{\tud@headmidvskip@normal}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}% +} +%</book|report> +% \end{macrocode} +% \end{macro}^^A \tud@headmidvskip@reverse +% \end{macro}^^A \tud@headmidvskip@normal % \begin{macro}{\tud@title@fontcolor} % \begin{macro}{\tud@part@fontcolor} % \begin{macro}{\tud@chapter@fontcolor} @@ -915,26 +908,9 @@ %</book|report> % \end{macrocode} % \end{KOMAfont}^^A parttitle -% \begin{macro}{\tud@headmidvskip@normal} -% \changes{v2.03}{2015/01/21}{neu}^^A -% \begin{macro}{\tud@headmidvskip@reverse} -% \changes{v2.03}{2015/01/21}{neu}^^A -% Mit \cs{tud@headmidvskip@normal} wird der Abstand zwischen der Nummerierung -% eines Titels und der eigentlichen Bezeichnung gesetzt. Gleiches gilt für -% eine separate Kapitelnummernzeile (\opt{chapterprefix}) und dem eigentlichen -% Kapiteltitel. Mit dem makro \cs{tud@headmidvskip@reverse} kann ggf. vorher um -% den eingefügten Abstand nach oben verschoben werden. -% \begin{macrocode} -%<*book|report> -\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}} -\newcommand*\tud@headmidvskip@reverse{% - \setbox\z@\vbox{\tud@headmidvskip@normal}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}% -} -%</book|report> -% \end{macrocode} -% \end{macro}^^A \tud@headmidvskip@reverse -% \end{macro}^^A \tud@headmidvskip@normal +% +% \subsection{Umsetzung des Layouts} +% % \begin{macro}{\tud@layout@process} % \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A % \changes{v2.05}{2016/04/04}{Schrift für \val{subtitle} abhängig von @@ -1380,10 +1356,99 @@ % \end{macrocode} % \end{macro}^^A \tud@partheadendvskip % +% \subsubsection{Präambeln für Teile und Kapitel} +% +% \begin{macro}{\tud@partpreamble} +% Um die \KOMAScript-Befehle für die Teilepräambel auch für das farbige Layout +% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln wird +% die Überschrift einer Zusammenfassung ausschließlich zentriert und relativ +% klein gesetzt. Außerdem wird für eine mögliche Zusammenfassung die +% \opt{titlepage}-Option deaktiviert. Aufgerufen wird der Befehl durch die +% gepatchte Version von \cs{set@@@@preamble}. +% \begin{macrocode} +\newcommand*\tud@partpreamble{% + \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap + \renewcommand*\tud@abstract@level@num{1}% + \fi% + \KOMAoptions{titlepage=false}% + \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% + \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}% + \tud@color{\tud@part@fontcolor}% +% \end{macrocode} +% Hiermit wird der unterschiedliche Abstand bei Teil- und Kapitelpräambeln +% ausgeglichen. +% \begin{macrocode} + \vskip\dimexpr\topskip+.9\baselineskip\relax% + \@afterindentfalse\@afterheading% +} +% \end{macrocode} +% \end{macro}^^A \tud@partpreamble +% \begin{macro}{\tud@chapterpreamble} +% Um die \KOMAScript-Befehle für die Kapitelpräambel auch für das farbige Layout +% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln der +% Kapitel gilt das gleiche wie für die der Teileseiten. Auch hier erfolgt die +% Ausführung des Befehls durch die gepatchte Version von \cs{set@@@@preamble}. +% \begin{macrocode} +\newcommand*\tud@chapterpreamble{% + \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap + \renewcommand*\tud@abstract@level@num{1}% + \fi% + \KOMAoptions{titlepage=false}% +% \end{macrocode} +% Die Farb- und Schrifteinstellungen sind nur für reine Kapitelseiten notwendig. +% \begin{macrocode} + \if@tud@chapterpage% + \ifcase\tud@cdfont@num\relax\or% true + \TUDoptions{cdfont=true}% + \or% heavy + \TUDoptions{cdfont=heavy}% + \fi% + \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% + \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}% + \tud@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 wird das Makro für die Layouteinstellungen für +% Teile (\cs{tud@partpreamble}) respektive Kapitel (\cs{tud@chapterpreamble}) +% aufgerufen. Für die Verwendung der \env{abstract}-Umgebung in den Präambeln +% wird außerdem der Befehl \cs{phantomsection} auf \cs{relax} gesetzt, um mit +% \cs{autoref} automatisch generierte Querverweise aus dem Paket \pkg{hyperref} +% nicht zu verändern. Alternativ zu \cs{let}\cs{@parboxrestore}\cs{relax} +% müsste innerhalb des Argumentes von \cs{parbox} die \KOMAScript-Option +% \opt{parbox} neu gesetzt werden. +% \begin{macrocode} +\CheckCommand\set@@@@preamble[6]{% + \expandafter\gdef\csname #1@preamble\endcsname{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% + }% +} +\patchcmd{\set@@@@preamble}{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% +}{% + \def\@tempa####1@####2{% + \@nameuse{tud@####1preamble}% + \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% + }% + \hbox to\hsize{% + \let\phantomsection\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +% \end{macrocode} +% \end{macro}^^A \set@@@@preamble +% % \iffalse %</book|report> % \fi % +% \subsubsection{Layoutumsetzung speziell für Teile} +% % \begin{macro}{\tud@@startpart} % \changes{v2.04}{2015/06/15}{\KOMAScript~v3.18}^^A % \changes{v2.04e}{2016/06/17}{\KOMAScript~v3.21}^^A @@ -1410,15 +1475,17 @@ \let\tud@@startpart\scr@@startpart% \ifcsdef{scr@v@3.21}{\@tempswatrue}{\@tempswafalse}% \if@tempswa% - \patchcmd{\tud@@startpart}% - {\usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}}% - {\usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}}% - {}{\tud@patch@wrn{scr@@startpart}}% + \patchcmd{\tud@@startpart}{% + \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}% + }{% + \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}% + }{}{\tud@patch@wrn{scr@@startpart}}% \else% - \patchcmd{\tud@@startpart}% - {\usekomafont{#1prefix}{\@nameuse{#1format}}}% - {\usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}}% - {}{\tud@patch@wrn{scr@@startpart}}% + \patchcmd{\tud@@startpart}{% + \usekomafont{#1prefix}{\@nameuse{#1format}}% + }{% + \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}% + }{}{\tud@patch@wrn{scr@@startpart}}% \fi% %</article|poster> % \end{macrocode} @@ -1440,7 +1507,9 @@ }{}% }{% \ifnumbered{#1}{% - \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}% + \usekomafont{#1prefix}{% + \nobreak\tud@makeuppercase{\@nameuse{#1format}}% + }% \if@tud@parttitle% \enskip% \else% @@ -1559,31 +1628,8 @@ %<*book|report> % \fi % -% \begin{macro}{\tud@partpreamble} -% Um die \KOMAScript-Befehle für die Teilepräambel auch für das farbige Layout -% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln wird -% die Überschrift einer Zusammenfassung ausschließlich zentriert und relativ -% klein gesetzt. Außerdem wird für eine mögliche Zusammenfassung die -% \opt{titlepage}-Option deaktiviert. Aufgerufen wird der Befehl durch die -% gepatchte Version von \cs{set@@@@preamble}. -% \begin{macrocode} -\newcommand*\tud@partpreamble{% - \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap - \renewcommand*\tud@abstract@level@num{1}% - \fi% - \KOMAoptions{titlepage=false}% - \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% - \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}% - \tud@color{\tud@part@fontcolor}% -% \end{macrocode} -% Hiermit wird der unterschiedliche Abstand bei Teil- und Kapitelpräambeln -% ausgeglichen. -% \begin{macrocode} - \vskip\dimexpr\topskip+.9\baselineskip\relax% - \@afterindentfalse\@afterheading% -} -% \end{macrocode} -% \end{macro}^^A \tud@partpreamble +% \subsubsection{Layoutumsetzung speziell für Kapitel} +% % \begin{macro}{\tud@chapterheadstartvskip} % \changes{v2.02}{2014/06/23}{neu}^^A % \cs{chapterheadstartvskip} wird für die Position der Kapitelüberschriften im @@ -1661,65 +1707,6 @@ % \end{macro}^^A \@@makechapterhead % \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 -% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln der -% Kapitel gilt das gleiche wie für die der Teileseiten. Auch hier erfolgt die -% Ausführung des Befehls durch die gepatchte Version von \cs{set@@@@preamble}. -% \begin{macrocode} -\newcommand*\tud@chapterpreamble{% - \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap - \renewcommand*\tud@abstract@level@num{1}% - \fi% - \KOMAoptions{titlepage=false}% -% \end{macrocode} -% Die Farb- und Schrifteinstellungen sind nur für reine Kapitelseiten notwendig. -% \begin{macrocode} - \if@tud@chapterpage% - \ifcase\tud@cdfont@num\relax\or% true - \TUDoptions{cdfont=true}% - \or% heavy - \TUDoptions{cdfont=heavy}% - \fi% - \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% - \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}% - \tud@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 wird das Makro für die Layouteinstellungen für -% Teile (\cs{tud@partpreamble}) respektive Kapitel (\cs{tud@chapterpreamble}) -% aufgerufen. Für die Verwendung der \env{abstract}-Umgebung in den Präambeln -% wird außerdem der Befehl \cs{phantomsection} auf \cs{relax} gesetzt, um mit -% \cs{autoref} automatisch generierte Querverweise aus dem Paket \pkg{hyperref} -% nicht zu verändern. Alternativ zu \cs{let}\cs{@parboxrestore}\cs{relax} -% müsste innerhalb des Argumentes von \cs{parbox} die \KOMAScript-Option -% \opt{parbox} neu gesetzt werden. -% \begin{macrocode} -\CheckCommand\set@@@@preamble[6]{% - \expandafter\gdef\csname #1@preamble\endcsname{% - \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% - }% -} -\patchcmd{\set@@@@preamble}{% - \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% -}{% - \def\@tempa####1@####2{% - \@nameuse{tud@####1preamble}% - \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% - }% - \hbox to\hsize{% - \let\phantomsection\relax% - #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% - }% -}{}{\tud@patch@wrn{set@@@@preamble}} -% \end{macrocode} -% \end{macro}^^A \set@@@@preamble % \begin{macro}{\tud@chapter@pre} % \begin{macro}{\tud@chapter@app} % \begin{macro}{\tud@head@bar@store} @@ -1747,7 +1734,7 @@ \fi% } % \end{macrocode} -% Unabhängig von der Verwendung einer Kapitelseite, wird die Einstellung der +% Unabhängig von der Nutzung einer Kapitelseite, wird die Einstellung der % Option \opt{cdchapter} für die Gestalt des TUD-Kopfes beachtet, falls dieser % zum Einsatz kommt. % \begin{macrocode} @@ -1796,10 +1783,10 @@ \if@restonecol\twocolumn\fi% % \end{macrocode} % Sollten keine reinen Kapitelseiten verwendet werden, wird die Einstellung für -% die Gestalt des Kopfes im restlichen Dokument (\cs{tud@head@bar@num}) im -% Makro \cs{tud@head@bar@store} gesichert und \cs{tud@head@bar@restore} -% definiert, welches beim Ausführen der Ebene \pgs{tudheadings.last} den -% gesicherten Wert für die darauffolgenden Seite wiederherstellt. +% die Gestalt des Seitenkopfes im restlichen Dokument (\cs{tud@head@bar@num}) +% in \cs{tud@head@bar@store} gesichert und \cs{tud@head@bar@restore} definiert, +% womit der gesicherte Wert beim Ausführen der Ebene \pgs{tudheadings.last} +% für die darauffolgenden Seite wiederhergestellt wird. % \begin{macrocode} \else% \edef\tud@head@bar@store{\tud@head@bar@num}% @@ -1822,8 +1809,8 @@ \cs@set@lock{tud@head@bar@num}{3}% \fi% % \end{macrocode} -% Im Kompatibilitätsmodus muss gegebenenfalls zusätzlich genügend Freiraum für -% das \DDC-Logo gelassen werden. +% Im Kompatibilitätsmodus muss genügend zusätzlicher Freiraum für ein ggf. +% auszugebendes \DDC-Logo gelassen werden. % \begin{macrocode} \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\chapterpagestyle]}{}% \fi% @@ -1860,6 +1847,8 @@ %</book|report> % \fi % +% \subsubsection{Erzwungene Majuskeln für Überschriften} +% % \begin{macro}{\tud@part} % \begin{macro}{\tud@spart} % \begin{macro}{\tud@addpart} @@ -1893,7 +1882,9 @@ % Alle für \TUDScript angepassten Gliederungsbefehle von \cs{part} bis % \cs{subsubsection} werden seit Version~v2.02 ausnahmslos mit \cs{SecDef} % erzeugt. -% \ToDo{Implementierung gut suchbarer Makronamen (\cs{tud@sec@chapter})}[v2.06] +% \ToDo{% +% Besser suchbare Makronamen (z.B. \cs{tud@sec@chapter}) implementieren% +% }[v2.06] % \ToDo{Reimplementierung mit \cs{DeclareSectionCommand}}[v2.06] % \ToDo{\cs{ifcsdef\{scr@v@3.18\}} raus, \KOMAScript~v3.22 obligatorisch}[v2.06] % \ToDo{Alle Elemente für vertikalen Freiraum vor Änderungen schützen}[v2.06] diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx index f0d2698bf7b..6fcd0766add 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx @@ -1,32 +1,32 @@ -% \CheckSum{589} +% \CheckSum{767} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-locale.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-locale.dtx}[% - 2016/09/22 v2.05d TUD-Script (localization)% + 2017/01/03 v2.05g TUD-Script (localization)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-locale.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -77,11 +83,13 @@ % \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A % \changes{v2.05}{2015/07/06}{Bezeichner für Poster}^^A % -% \section{Lokalisierung} +% \section{Lokalisierung mithilfe sprachabhängiger Bezeichner} % -% Die TUD-Vorlagen sind für die deutsche und englische Sprache lokalisiert. Das -% bedeutet, dass abhängig von der gewählten Sprache die entsprechenden -% Bezeichner gesetzt werden. +% Das \TUDScript-Bundle ist für die deutsche und englische Sprache lokalisiert. +% Dies bedeutet, dass abhängig von der gewählten Sprache die entsprechenden +% Bezeichner gesetzt werden. Hierfür werden die Möglichkeiten von \KOMAScript{} +% in Form des Befehls \cs{providecaptionname} genutzt. +% % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % @@ -117,6 +125,7 @@ % \end{macrocode} % % \iffalse +%<*!doc> %<*book|report|article> % \fi % @@ -264,6 +273,7 @@ % \end{locale}^^A \coursename % % \iffalse +%</!doc> %</class&!manual> %<*class&poster|package&supervisor|class&manual> % \fi @@ -340,15 +350,133 @@ % % \iffalse %</package&supervisor|class&manual> +%<*class&doc> +% \fi +% +% \begin{locale}{\tud@general@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@implementation@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@changes@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@todo@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@environment@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@environments@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@option@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@options@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@pagestyle@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@pagestyles@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@layer@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@layers@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@length@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@lengths@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@counter@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@counters@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@TUDcolor@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@TUDcolors@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@locale@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@locales@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@field@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@fields@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@KOMAfont@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@KOMAfonts@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@parameter@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@parameters@name} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% \begin{locale}{\tud@index@text} +% \changes{v2.05g}{2016/11/02}{neu}^^A +% Die für \pkg{tudscrsupervisor} definierten Bezeichner werden durch +% \cs{tud@locale@define} mit einer Fehlermeldung initialisiert. +% \begin{macrocode} +\tud@locale@define{\tud@general@name} +\tud@locale@define{\tud@implementation@name} +\tud@locale@define{\tud@changes@name} +\tud@locale@define{\tud@todo@name} +\tud@locale@define{\tud@environment@name} +\tud@locale@define{\tud@environments@name} +\tud@locale@define{\tud@option@name} +\tud@locale@define{\tud@options@name} +\tud@locale@define{\tud@pagestyle@name} +\tud@locale@define{\tud@pagestyles@name} +\tud@locale@define{\tud@layer@name} +\tud@locale@define{\tud@layers@name} +\tud@locale@define{\tud@length@name} +\tud@locale@define{\tud@lengths@name} +\tud@locale@define{\tud@counter@name} +\tud@locale@define{\tud@counters@name} +\tud@locale@define{\tud@TUDcolor@name} +\tud@locale@define{\tud@TUDcolors@name} +\tud@locale@define{\tud@locale@name} +\tud@locale@define{\tud@locales@name} +\tud@locale@define{\tud@field@name} +\tud@locale@define{\tud@fields@name} +\tud@locale@define{\tud@KOMAfont@name} +\tud@locale@define{\tud@KOMAfonts@name} +\tud@locale@define{\tud@parameter@name} +\tud@locale@define{\tud@parameters@name} +\tud@locale@define{\tud@index@text} +% \end{macrocode} +% \end{locale}^^A \tud@index@text +% \end{locale}^^A \tud@parameters@name +% \end{locale}^^A \tud@parameter@name +% \end{locale}^^A \tud@KOMAfonts@name +% \end{locale}^^A \tud@KOMAfont@name +% \end{locale}^^A \tud@fields@name +% \end{locale}^^A \tud@field@name +% \end{locale}^^A \tud@locales@name +% \end{locale}^^A \tud@locale@name +% \end{locale}^^A \tud@TUDcolors@name +% \end{locale}^^A \tud@TUDcolor@name +% \end{locale}^^A \tud@counters@name +% \end{locale}^^A \tud@counter@name +% \end{locale}^^A \tud@lengths@name +% \end{locale}^^A \tud@length@name +% \end{locale}^^A \tud@layers@name +% \end{locale}^^A \tud@layer@name +% \end{locale}^^A \tud@pagestyles@name +% \end{locale}^^A \tud@pagestyle@name +% \end{locale}^^A \tud@options@name +% \end{locale}^^A \tud@option@name +% \end{locale}^^A \tud@environments@name +% \end{locale}^^A \tud@environment@name +% \end{locale}^^A \tud@todo@name +% \end{locale}^^A \tud@changes@name +% \end{locale}^^A \tud@implementation@name +% \end{locale}^^A \tud@general@name +% +% \iffalse +%</class&doc> % \fi % % \end{macro}^^A \tud@locale@define % % \iffalse -%<*class&!manual> +%<*class&!(manual|doc)> % \fi % -% \subsubsection{Hilfsmakros für selektive Bezeichner} +% \subsection{Hilfsmakros für selektive Bezeichner} % % Einige Bezeichner verhalten sich je nach der Angabe für einzelne Felder % selektiv, die zur Auswahl notwendigen Makros werden hier definiert. @@ -376,7 +504,12 @@ % \end{macrocode} % \end{macro}^^A \tud@ifin@and % -% \subsubsection{Deutschsprachige Bezeichner} +% \iffalse +%</class&!(manual|doc)> +%<*class&!manual> +% \fi +% +% \subsection{Deutschsprachige Bezeichner} % \begin{macro}{\tud@locale@german} % \changes{v2.02}{2014/07/07}{als Aliasbefehl für \cs{providecaptionname} mit % dem Argument \marg{deutsche Sprachliste}}^^A @@ -393,6 +526,10 @@ % \end{macrocode} % \end{macro}^^A \tud@locale@german % +% \iffalse +%<*!doc> +% \fi +% % Hier erfolgt die eigentliche Definition der sprachabhängigen Bezeichner für % die deutsche Sprache und ihre Dialekte. % \begin{macrocode} @@ -516,6 +653,7 @@ % \end{macrocode} % % \iffalse +%</!doc> %</class&!manual> %<*class&poster|package&supervisor|class&manual> % \fi @@ -555,10 +693,52 @@ % % \iffalse %</package&supervisor|class&manual> +%<*class&doc> +% \fi +% +% Dies sind die Bezeichner für die Quelltextdokumentation. +% \begin{macrocode} +\tud@locale@german{\tud@general@name}{Allgemein}% +\tud@locale@german{\tud@implementation@name}{Implementierung}% +\tud@locale@german{\tud@changes@name}{\"Anderungsliste} +\tud@locale@german{\tud@todo@name}{Liste der noch zu erledigenden Punkte} +\tud@locale@german{\tud@environment@name}{Umg.} +\tud@locale@german{\tud@environments@name}{Umgebungen} +\tud@locale@german{\tud@option@name}{Opt.} +\tud@locale@german{\tud@options@name}{Optionen} +\tud@locale@german{\tud@pagestyle@name}{Seitenstil} +\tud@locale@german{\tud@pagestyles@name}{Seitenstile} +\tud@locale@german{\tud@layer@name}{Layer} +\tud@locale@german{\tud@layers@name}{Layer (Seitenstilebenen)} +\tud@locale@german{\tud@length@name}{L\"ange} +\tud@locale@german{\tud@lengths@name}{L\"angen} +\tud@locale@german{\tud@counter@name}{Z\"ahler} +\tud@locale@german{\tud@counters@name}{Z\"ahler} +\tud@locale@german{\tud@TUDcolor@name}{Farbe} +\tud@locale@german{\tud@TUDcolors@name}{Farben} +\tud@locale@german{\tud@locale@name}{Lok.} +\tud@locale@german{\tud@locales@name}{Lokalisierungsvariablen} +\tud@locale@german{\tud@field@name}{Feld} +\tud@locale@german{\tud@fields@name}{Eingabefelder} +\tud@locale@german{\tud@KOMAfont@name}{Schriftel.} +\tud@locale@german{\tud@KOMAfonts@name}{Schriftelemente} +\tud@locale@german{\tud@parameter@name}{Param.} +\tud@locale@german{\tud@parameters@name}{Parameter} +\tud@locale@german{\tud@index@text}{% + Kursive Zahlen entsprechen der Seite, auf welcher der korrespondierende + Eintrag beschrieben wird. Unterstrichene Zahlen verweisen auf die + \ifcodeline@index Codezeile der \fi Definition. Alle weiteren Eintr\"age sind + \ifcodeline@index Zeilennummern\else Seitenzahlen\fi, wo der jeweilige + Eintrag verwendet wird. +} +% \end{macrocode} +% +% \iffalse +%</class&doc> %<*class&!manual> % \fi % -% \subsubsection{Englischsprachige Bezeichner} +% \subsection{Englischsprachige Bezeichner} % % \begin{macro}{\tud@locale@english} % \changes{v2.02}{2014/07/07}{Pseudonym für \cs{providecaptionname} mit @@ -575,6 +755,11 @@ } % \end{macrocode} % \end{macro}^^A \tud@locale@english +% +% \iffalse +%<*!doc> +% \fi +% % Hier erfolgt die eigentliche Definition der sprachabhängigen Bezeichner für % die deutsche Sprache und ihre Dialekte. % \begin{macrocode} @@ -688,6 +873,7 @@ % \end{macrocode} % % \iffalse +%</!doc> %</class&!manual> %<*class&poster|package&supervisor|class&manual> % \fi @@ -727,10 +913,53 @@ % % \iffalse %</package&supervisor|class&manual> -%<*class&!manual> +%<*class&doc> +% \fi +% +% Dies sind die Bezeichner für die Quelltextdokumentation. +% \begin{macrocode} +\tud@locale@english{\tud@general@name}{General}% +\tud@locale@english{\tud@implementation@name}{Implementation}% +\tud@locale@english{\tud@changes@name}{Change History} +\tud@locale@english{\tud@todo@name}{List of ToDos} +\tud@locale@english{\tud@environment@name}{env.} +\tud@locale@english{\tud@environments@name}{environments} +\tud@locale@english{\tud@option@name}{opt.} +\tud@locale@english{\tud@options@name}{options} +\tud@locale@english{\tud@pagestyle@name}{pagestyle} +\tud@locale@english{\tud@pagestyles@name}{pagestyles} +\tud@locale@english{\tud@layer@name}{layer} +\tud@locale@english{\tud@layers@name}{layers (pagestyle)} +\tud@locale@english{\tud@length@name}{length} +\tud@locale@english{\tud@lengths@name}{lengths} +\tud@locale@english{\tud@counter@name}{counter} +\tud@locale@english{\tud@counters@name}{counters} +\tud@locale@english{\tud@TUDcolor@name}{color} +\tud@locale@english{\tud@TUDcolors@name}{colors} +\tud@locale@english{\tud@locale@name}{locale} +\tud@locale@english{\tud@locales@name}{locales} +\tud@locale@english{\tud@field@name}{field} +\tud@locale@english{\tud@fields@name}{input fields} +\tud@locale@english{\tud@KOMAfont@name}{font} +\tud@locale@english{\tud@KOMAfonts@name}{font elements} +\tud@locale@english{\tud@parameter@name}{param.} +\tud@locale@english{\tud@parameters@name}{parameters} +\tud@locale@english{\tud@index@text}{% + Numbers written in italic refer to the page where the corresponding entry is + described. Numbers underlined refer to the + \ifcodeline@index code line of the \fi definition. All additional entries + refer to the \ifcodeline@index code lines \else pages \fi where the entry is + used. +} +% \end{macrocode} +% +% \iffalse +%</class&doc> +%<*class&!(manual|doc)> % \fi % -% \subsection{Unterstützung des Paketes \pkg{listings}} +% \subsection{Kompatibilität der Bezeichner mit verschiedenen Pakete} +% \subsubsection{Unterstützung des Paketes \pkg{listings}} % % Die Bezeichner des Paketes werden auf die bereits definierten gesetzt. % \begin{macrocode} @@ -740,7 +969,7 @@ } % \end{macrocode} % -% \subsection{Unterstützung des Paketes \pkg{mathswap}} +% \subsubsection{Unterstützung des Paketes \pkg{mathswap}} % % Wird das Paket \pkg{mathswap} verwendet, werden die Ersetzungen für Punkt und % Komma im Mathematikmodus sprachspezifisch angepasst. @@ -754,7 +983,7 @@ % \end{macrocode} % % \iffalse -%</class&!manual> +%</class&!(manual|doc)> % \fi % % \Finale diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx index 4eafd4935de..9d522aef726 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx @@ -1,32 +1,32 @@ -% \CheckSum{4153} +% \CheckSum{4273} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,14 +49,15 @@ % \iffalse %%% From File: tudscr-manual.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-manual.dtx}[% - 2016/10/12 v2.05f TUD-Script\space% + 2017/01/26 v2.05g TUD-Script\space% %</driver> %<package&identify>\ProvidesPackage{tudscrtutorial}[% %<*driver|package&identify> %!TUD@Version -%<package> package (internal tutorials)% +%<package> package + (internal tutorials)% ] %</driver|package&identify> %<*driver> @@ -67,13 +68,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-manual.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -86,20 +93,22 @@ % \changes{v2.02}{2014/11/18}{\pkg{tudscrtutorial}: Index für Tutorials}^^A % \changes{v2.05}{2015/08/04}{Geteilte Deklarationen für Klasse und Paket}^^A % -% \section{Klasse und Paket für Handbuch und Leitfäden zu \TUDScript} +% \section{Handbuch und Leitfäden zu \TUDScript} % -% Es werden die Klasse \cls{tudscrmanual} für das \TUDScript-Handuch sowie das -% Paket \pkg{tudscrtutorial} für das Setzen von einigen Anwenderleitfäden bzw. +% Es werden die Klasse \cls{tudscrmanual} für das Handuch sowie das Paket +% \pkg{tudscrtutorial} für das Setzen von einigen Anwenderleitfäden bzw. % Tutorials erzeugt. Da es zwischen der Klasse und dem Paket es eine große -% Menge an Überschneidungen gibt, basieren diese auf der gleichen Quelldatei. +% Menge an Überschneidungen gibt, basieren diese auf der gleichen Quelldatei. +% Einiges davon wird auch für die Quelltextdokumentationsklasse \cls{tudscrdoc} +% verwendet. % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % % \iffalse -%<*body|doc> +%<*body|class&doc> % \fi % -% \subsection{Notwendige Pakete und Befehle für Klasse und Paket} +% \subsection{Notwendige Pakete und Befehle} % % Basis für die Handbuchklasse \cls{tudscrmanual} ist die \cls{tudscrreprt}. % Zusätzlich wird das Paket \pkg{tudscrtutorial} erstellt, um an das Handbuch @@ -145,6 +154,7 @@ % Um bei einer signifikanten Änderung des Paketes passend reagieren zu können, % wird auf das aktuelle Paketdatum geprüft und für neue Versionen eine Warnung % erzeugt. +% \ToDo{Kann raus, sobald \pkg{geometry} nicht mehr notwendig}[v2.07] % \begin{macrocode} %<*!doc> \@ifpackagelater{geometry}{2010/09/13}{% @@ -180,27 +190,19 @@ } % \end{macrocode} % \end{macro}^^A \tud@english +% Sollte \app{lualatex} als Dokumentprozessor eingesetzt werden, sind die +% \app{pdflatex}-Primitiven \cs{pdf(@)strcmp} und \cs{pdf(@)shellescape} +% dennoch notwendig, wofür das Paket \pkg{pdftexcmds} geladen wird. +% \begin{macrocode} +\RequirePackage{pdftexcmds}[2016/05/21] +% \end{macrocode} % % \iffalse -%</body|doc> +%</body|class&doc> %<*!doc> %<*body> % \fi % -% \begin{macro}{\pdfstrcmp} -% \begin{macro}{\pdfshellescape} -% Sollte \app{lualatex} eingesetzt werden, sind diese \app{pdflatex}-Primitiven -% dennoch notwendig, wofür \pkg{pdftexcmds} geladen wird. -% \begin{macrocode} -\RequirePackage{ifluatex}[2016/05/16] -\ifluatex - \RequirePackage{pdftexcmds}[2016/05/21] - \let\pdfstrcmp\pdf@strcmp - \let\pdfshellescape\pdf@shellescape -\fi -% \end{macrocode} -% \end{macro}^^A \pdfshellescape -% \end{macro}^^A \pdfstrcmp % \begin{macro}{\tud@list@sort} % \changes{v2.02}{2014/07/25}{neu}^^A % \begin{macro}{\tud@list@@sort} @@ -210,9 +212,9 @@ % \begin{macro}{\if@tud@list@sorted} % \changes{v2.02}{2014/07/25}{neu}^^A % Der Befehl \cs{tud@list@sort} erwartet eine \pkg{etoolbox}-Liste und sortiert -% diese mit \cs{sort@list} in alphabetischer Reihenfolge in eine kommagetrennte -% Auflistung. Diese wird anschließend wieder in eine \pkg{etoolbox}-Liste -% umgewandelt. +% diese mit dem Makro \cs{sort@list} in alphabetischer Reihenfolge in eine +% kommagetrennte Auflistung. Diese wird anschließend wieder in eine +% \pkg{etoolbox}-Liste umgewandelt. % \begin{macrocode} \newcommand*\tud@templist{} \let\tud@templist\relax @@ -267,7 +269,7 @@ % eine Sonderbehandlung erfolgen. Anschließend wird \cs{@tud@list@sortedtrue} % gesetzt. % \begin{macrocode} - \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<\z@\relax% + \expandafter\ifnum\pdf@strcmp{#1}{\@tempa}<\z@\relax% \ifx\@tempb\@empty% \expandafter\edef\expandafter\@tempb\expandafter{% #1,\@tempa% @@ -315,7 +317,7 @@ %<*package> % \fi % -% \subsubsection{Zusätzliche Pakete für das Paket \pkg{tudscrtutorial}} +% \subsection{Zusätzliche Pakete für das Paket \pkg{tudscrtutorial}} % % Mit dem Paket \pkg{scrwfile} lassen sich Probleme mit zu wenig verfügbaren % Streams für das Schreiben externer Datein beheben. Hintergrund ist die @@ -340,10 +342,91 @@ % % \iffalse %</package> +%</body> +%<*option> +% \fi +% +% \subsection{% +% Optionen für die Ausgabe von \cls{tudscrmanual} und \pkg{tudscrtutorial}% +% } +% +% \begin{option}{final} +% \begin{option}{print} +% \begin{macro}{\tudfinalflag} +% \begin{macro}{\tudprintflag} +% Diese beiden Optionen dienen zur finalen und/oder der unbunten Ausgabe. +% \begin{macrocode} +\TUD@key{final}[true]{% + \TUD@set@ifkey{final}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \let\tudfinalflag\relax% + \fi% + \fi% +} +\TUD@key{print}[true]{% + \TUD@set@ifkey{print}{@tempswa}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tempswa% + \let\tudprintflag\relax% + \fi% + \fi% +} +% \end{macrocode} +% Wurde eine oder beide der Optionen \opt{final} oder \opt{print} gesetzt bzw. +% vor einem externen \app{pdflatex}-Aufruf die Flags \cs{tudfinalflag} und/oder +% \cs{tudprintflag} definiert, werden die entsprechenden Einstellungen zur +% finalen Ausgabe und/oder unbunten Druck vorgenommen und anschließend die +% entsprechenden Optionen unschädlich gemacht. +% \begin{macrocode} +\AtEndPreamble{% + \ifdef{\tudfinalflag}{% + \TUDoptions{ToDo=false}% + \TUD@key{ToDo}{}% + }{}% + \ifdef{\tudprintflag}{% + \ifnum\tud@cd@num>\z@\relax% + \TUDoptions{cd=true}% + \fi% + \TUD@key{cd}{}% + \ifundef{\hypersetup}{}{\hypersetup{hidelinks}}% + }{}% +} +% \end{macrocode} +% \end{macro}^^A \tudprintflag +% \end{macro}^^A \tudfinalflag +% \end{option}^^A print +% \end{option}^^A final +% +% \iffalse +%<*class> +% \fi +% +% \subsection{Standardoptionen der Klasse \cls{tudscrmanual}} +% +% Es werden einige Optionen für das Handbuch standardmäßig aktiviert. Dazu +% werden diese an die entsprechende Elternklasse übergeben. +% \begin{macrocode} +\PassOptionsToClass{% + cdfoot=true,% + chapterpage=true,% + chapterprefix=true,% + headings=optiontoheadandtoc,% + captions=tableheading,% + numbers=noenddot,% + cd=color,% +}{\TUD@Class@Parent} +\PassOptionsToPackage{automark}{scrlayer-scrpage} +% \end{macrocode} +% +% \iffalse +%</class> +%</option> +%<*body> %<*class> % \fi % -% \subsubsection{Debug-Traces für die Klasse \cls{tudscrmanual}} +% \subsection{Debug-Traces für die Klasse \cls{tudscrmanual}} % % Ab und an ist es beim Erstellen des Handbuchs recht sinnvoll, verschiedene % Dinge direkt im Logfile zu überprüfen. Hierfür werden folgend einige Befehle @@ -477,9 +560,12 @@ % % \iffalse %</class> +%</body> +%</!doc> +%<*body|class&doc> % \fi % -% \subsubsection{Anpassungen für das Paket \pkg{hyperref} und Querverweise} +% \subsection{Anpassungen für das Paket \pkg{hyperref} und Querverweise} % % Das Paket \pkg{hyperref} wird für alle möglichen Links und Querverweise % geladen, \pkg{bookmark} verbesssert das Erstellen der Outline-Einträge. @@ -493,18 +579,18 @@ % \begin{macrocode} \AfterPackage*{hyperref}{% % \end{macrocode} +% Zuerst die Einstellungen für \cls{tudscrmanual} und \pkg{tudscrtutorial}. +% +% \iffalse +%<*!doc> +% \fi +% % Die Bezeichner für die Abschnittsebenen werden umbenannt. % \begin{macrocode} \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}% \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}% \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}% % \end{macrocode} -% \begin{macro}{\Email} -% Hiermit wird ein Hyperlink für eine E"~Mail-Adresse erzeugt. -% \begin{macrocode} - \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}% -% \end{macrocode} -% \end{macro}^^A \Email % \begin{macro}{\tudhyperdef} % \changes{v2.02}{2014/10/27}{neu}^^A % \begin{macro}{\tudhyperref} @@ -551,9 +637,9 @@ % \begin{macro}{\auto@refname} % \begin{macro}{\auto@@refname} % Der Befehl \cs{autorefname} dient dazu, den Verweistyp beziehungsweise den -% Bezeichner des aktuellen oder optional zu einem speziellen Label ohne die -% dazugehörige Nummerierung zu erhalten. Auf der Seite LaTeX Stack Exchange% -% \footnote{\url{http://tex.stackexchange.com/q/33776/}} wurde das Prinzip +% Bezeichner des aktuellen~-- oder optional eines speziellen~-- Labels ohne die +% dazugehörige Nummerierung zu erhalten. Das zugrunde liegende Funktionsprinzip +% wurde bei \hrfn{http://tex.stackexchange.com/q/33776/}{LaTeX Stack Exchange} % vorgestellt und hier übernommen. % \begin{macrocode} \newcommand*\autorefname[1][current]{% @@ -578,7 +664,73 @@ % \end{macro}^^A \auto@@refname % \end{macro}^^A \auto@refname % \end{macro}^^A \autorefname -% Damit sind die Ausführungen für das Paket \pkg{hyperref} beendet. +% Nun die Einstellungen für \cls{tudscrdoc}. +% +% \iffalse +%</!doc> +%<*doc> +% \fi +% +% \begin{macro}{\hypersourcedef} +% \changes{v2.05}{2016/04/26}{neu}^^A +% \begin{macro}{\hypersource@def} +% \changes{v2.05}{2016/04/26}{neu}^^A +% \begin{macro}{\hypersource@ref@codeline} +% \changes{v2.05}{2016/04/26}{neu}^^A +% \begin{macro}{\hypersource@ref@page} +% \changes{v2.05}{2016/04/26}{neu}^^A +% Diese Makros werden verwendet, um im Index respektive in der Änderungsliste +% mithilfe von \pkg{hyperref} Hyperlinks auf Codezeilen respektive Seiten im +% Dokument zu setzen. +% +% Mit \cs{hypersourcedef} wird ein Textanker gesetzt, falls dieser noch nicht +% definiert wurde, was durch \cs{hypersource@def} abgesichert wird. Als +% Argument wird hierfür die aktuelle Codezeile verwendet. +% \begin{macrocode} + \newcommand*\hypersource@def{} + \newcommand*\hypersourcedef[1]{% + \ifstr{#1}{\hypersource@def}{}{% + \Hy@raisedlink{\hyperdef{}{source:#1}{}}% + \xdef\hypersource@def{#1}% + }% + }% +% \end{macrocode} +% Mit \cs{hypersource@ref@\dots} wird auf Anker im Dokument verlinkt. Dies +% erfolgt indirekt über die Attribute \val{main} bzw. \val{usage}, welche bei +% der Definitionen von Befehlen etc. im Index genutzt werden. Hierfür werden +% die dazugehörigen Makros umdefiniert. +% \begin{macrocode} + \newcommand*\hypersource@ref@codeline[2][\@firstofone]{% + \begingroup% + \def\@tempa##1{\hyperref{}{}{source:##1}{#1{##1}}}% + \forcsvlist\@tempa{#2}% + \endgroup% + }% + \newcommand*\hypersource@ref@page[2][\@firstofone]{% + \begingroup% + \def\@tempa##1{\hyperlink{page.##1}{#1{##1}}}% + \forcsvlist\@tempa{#2}% + \endgroup% + }% + \renewcommand*\main[1]{% + \ifcodeline@index% + \hypersource@ref@codeline[\underline]{#1}% + \else% + \hypersource@ref@page[\underline]{#1}% + \fi% + }% + \renewcommand*\usage[1]{\hypersource@ref@page[\textit]{#1}}% +% \end{macrocode} +% \end{macro}^^A \hypersource@ref@page +% \end{macro}^^A \hypersource@ref@codeline +% \end{macro}^^A \hypersource@def +% \end{macro}^^A \hypersourcedef +% +% \iffalse +%</doc> +% \fi +% +% Das war's. Damit sind die Ausführungen für das Paket \pkg{hyperref} beendet. % \begin{macrocode} } % \end{macrocode} @@ -589,17 +741,8 @@ % \end{macrocode} % Zunächst die direkt innerhalb der Dokumentation verwendeten Befehle nebst % dazugehöriger Warnung. -% \begin{macro}{\hypersetup} -% \begin{macro}{\hyperdef} -% \begin{macro}{\hyperref} -% \begin{macro}{\tud@hyperref@a} -% \begin{macro}{\tud@hyperref@b} -% \begin{macro}{\href} -% \begin{macro}{\hyperpage} -% \begin{macro}{\autoref} -% \begin{macro}{\texorpdfstring} -% \begin{macro}{\phantomsection} % \begin{macrocode} +%<*!doc> %<*class> \ClassWarningNoLine{tudscrmanual}% %</class> @@ -611,8 +754,47 @@ Nevertheless, essential commands are rudimentarily\MessageBreak% defined. At least the package `url' is loaded.% }% - \RequirePackage{url}[2013/09/16]% +%</!doc> +% \end{macrocode} +% \begin{macro}{\hypersetup} +% \begin{macro}{\href} +% \begin{macro}{\phantomsection} +% \begin{macro}{\texorpdfstring} +% \begin{macro}{\nolinkurl} +% Einige vom Paket \pkg{hyperref} definierten Befehle werden vorgehalten. +% \begin{macrocode} \providecommand*\hypersetup[1]{}% + \providecommand*\href[3][]{#3}% + \providecommand*\phantomsection{}% + \providecommand*\texorpdfstring[2]{#1}% + \RequirePackage{url}[2013/09/16]% + \providecommand*\nolinkurl[1]{\url{#1}}% +% \end{macrocode} +% \end{macro}^^A \nolinkurl +% \end{macro}^^A \texorpdfstring +% \end{macro}^^A \phantomsection +% \end{macro}^^A \href +% \end{macro}^^A \hypersetup +% +% \iffalse +%<*!doc> +% \fi +% +% \begin{macro}{\hyperpage} +% \begin{macro}{\autoref} +% Der Befehl \cs{autoref} wird auch in der Sternversion genutzt. +% \begin{macrocode} + \providecommand*\hyperpage[1]{#1}% + \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% +% \end{macrocode} +% \end{macro}^^A \autoref +% \end{macro}^^A \hyperpage +% \begin{macro}{\hyperdef} +% \begin{macro}{\hyperref} +% \begin{macro}{\tud@hyperref@a} +% \begin{macro}{\tud@hyperref@b} +% Mit \cs{hyperdef} wird ein ein Label direkt vor dem Text eingefügt. +% \begin{macrocode} \providecommand*\hyperdef[3]{\label{#1.#2}#3}% % \end{macrocode} % Der Befehl \cs{hyperref} existiert in zwei Varianten. Entweder mit einem @@ -623,28 +805,11 @@ } \newcommand*\tud@hyperref@a[2][]{#2} \newcommand*\tud@hyperref@b[4]{#4} - \providecommand*\href[3][]{#3}% - \providecommand*\hyperpage[1]{#1}% -% \end{macrocode} -% Der Befehl \cs{autoref} wird auch in der Sternversion genutzt. -% \begin{macrocode} - \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% -% \end{macrocode} -% Auch \cs{texorpdfstring} und \cs{phantomsection} werden vorgehalten. -% \begin{macrocode} - \providecommand*\phantomsection{}% - \providecommand*\texorpdfstring[2]{#1}% % \end{macrocode} -% \end{macro}^^A \phantomsection -% \end{macro}^^A \texorpdfstring -% \end{macro}^^A \autoref -% \end{macro}^^A \hyperpage -% \end{macro}^^A \href % \end{macro}^^A \tud@hyperref@b % \end{macro}^^A \tud@hyperref@a % \end{macro}^^A \hyperref % \end{macro}^^A \hyperdef -% \end{macro}^^A \hypersetup % \begin{macro}{\partautorefname} % \begin{macro}{\chapterautorefname} % \begin{macro}{\sectionautorefname} @@ -668,45 +833,63 @@ % \end{macro}^^A \sectionautorefname % \end{macro}^^A \chapterautorefname % \end{macro}^^A \partautorefname -% Anschließend folgen die für Klasse und Paket eigens definierten Befehle. +% Anschließend folgen die für Anwenderdokumentation eigens definierten Befehle. % \begin{macrocode} - \providecommand*\Email[1]{\mbox{#1}}% %<*class> \ProvideDocumentCommand\tudhyperdef{sm}{\label{#2}}% %</class> \providecommand*\tudhyperref[2]{#2}% \providecommand*\autorefname[1][]{??\xspace}% -} +% +% \iffalse +%</!doc> +%<*doc> +% \fi +% % \end{macrocode} -% \begin{macro}{\fullref} -% Verbesserte Referenzierungen auf Seiten. +% Und hier der Teil für die Quelltextdokumentation. % \begin{macrocode} -\RequirePackage{varioref}[2011/10/02] -\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} + \providecommand*\hypersourcedef[1]{} + \providecommand*\hypersource@def{} + \providecommand*\hypersource@ref@codeline[2][]{} + \providecommand*\hypersource@ref@page[2][]{} +% +% \iffalse +%</doc> +% \fi +% +% \begin{macrocode} +} % \end{macrocode} -% \end{macro}^^A \fullref % \begin{macro}{\hrfn} % \changes{v2.02}{2014/08/16}{neu}^^A % \changes{v2.04}{2015/02/18}{Schriftgröße mit \cs{scalebox}}^^A % Mit diesem Makro können Hyperlinks im Fließtext erzeugt werden, welche % zusätzlich noch die dazugeörige URL als Fußnote anzeigen. % \begin{macrocode} +%<doc>\TUD@UnwindPackage{trimspaces}{\providecommand*\trim@spaces[1]{#1}} \newcommand*\hrfn[2]{% \href{#1}{\trim@spaces{#2}}% \footnote{% - \scalebox{0.95}{% + \begingroup% % \end{macrocode} -% Die Box wird verwendet, um zu lange URLs ausreichend zu verkleinern. Außerdem -% werden Unterstriche entschärft, die im Zweifel zu Fehlern führen können. +% Die Gruppe wird verwendet, um Unterstriche zu entschärfen, die im Zweifel zu +% Fehlern führen können. % \begin{macrocode} \def\_{_}% \edef\@tempa{#1}% \strut\expandafter\url\expandafter{\@tempa}% - }% + \endgroup% }% } % \end{macrocode} % \end{macro}^^A \hrfn +% \begin{macro}{\mailto} +% Ein Makro zur Angabe einer verlinkten E"~Mail-Adresse. +% \begin{macrocode} +\newrobustcmd*\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}}% +% \end{macrocode} +% \end{macro}^^A \mailto % Wenn \pkg{hyperref} geladen wird, erzeugt das Paket \pkg{babel} innerhalb von % \cs{pdfstringdef} ziemlich viele und absolut unnötige Infos in der Form % \texttt{Package babel Info: Redefining ngerman shorthand}. Dieser Patch dient @@ -718,6 +901,19 @@ }{}{\tud@patch@wrn{pdfstringdef}}% } % \end{macrocode} +% +% \iffalse +%</body|class&doc> +%<*body> +% \fi +% +% \begin{macro}{\fullref} +% Verbesserte Referenzierungen auf Seiten. +% \begin{macrocode} +\RequirePackage{varioref}[2011/10/02] +\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} +% \end{macrocode} +% \end{macro}^^A \fullref % Das Paket \pkg{microtype} wird für den optischen Randausgleich verwendet. Es % sollte erst nach \pkg{hyperref} geladen werden. % \begin{macrocode} @@ -731,92 +927,17 @@ % % \iffalse %</body> -%<*option> -% \fi -% -% \subsection{Optionen für das Ausgabeformat} -% -% \begin{option}{final} -% \begin{option}{print} -% \begin{macro}{\tudfinalflag} -% \begin{macro}{\tudprintflag} -% Diese beiden Optionen dienen zur finalen und/oder der unbunten Ausgabe. -% \begin{macrocode} -\TUD@key{final}[true]{% - \TUD@set@ifkey{final}{@tempswa}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tempswa% - \let\tudfinalflag\relax% - \fi% - \fi% -} -\TUD@key{print}[true]{% - \TUD@set@ifkey{print}{@tempswa}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tempswa% - \let\tudprintflag\relax% - \fi% - \fi% -} -% \end{macrocode} -% Wurde eine oder beide der Optionen \opt{final} oder \opt{print} gesetzt bzw. -% vor einem externen \app{pdflatex}-Aufruf die Flags \cs{tudfinalflag} und/oder -% \cs{tudprintflag} definiert, werden die entsprechenden Einstellungen zur -% finalen Ausgabe und/oder unbunten Druck vorgenommen und anschließend die -% entsprechenden Optionen unschädlich gemacht. -% \begin{macrocode} -\AtEndPreamble{% - \ifdef{\tudfinalflag}{% - \TUDoptions{ToDo=false}% - \TUD@key{ToDo}{}% - }{}% - \ifdef{\tudprintflag}{% - \ifnum\tud@cd@num>\z@\relax% - \TUDoptions{cd=true}% - \fi% - \TUD@key{cd}{}% - \ifundef{\hypersetup}{}{\hypersetup{hidelinks}}% - }{}% -} -% \end{macrocode} -% \end{macro}^^A \tudprintflag -% \end{macro}^^A \tudfinalflag -% \end{option}^^A print -% \end{option}^^A final -% -% \iffalse -%<*class> -% \fi -% -% \subsection{Standardoptionen der Anwenderdokumentation} -% -% Es werden einige Optionen für das Handbuch standardmäßig aktiviert. Dazu -% werden diese an die entsprechende Elternklasse übergeben. -% \begin{macrocode} -\PassOptionsToClass{% - cdfoot=true,% - chapterpage=true,% - chapterprefix=true,% - headings=optiontoheadandtoc,% - captions=tableheading,% - numbers=noenddot,% - cd=color,% -}{\TUD@Class@Parent} -\PassOptionsToPackage{automark}{scrlayer-scrpage} -% \end{macrocode} -% -% \iffalse -%</class> -%</option> +%<*!doc> %<*body> %<*class> % \fi % -% \subsection{Deklarationen für die Klasse} +% \subsection{Deklarationsumgebungen für die Klasse \cls{tudscrmanual}} % -% Die Umgebungen \env{Declaration} und \env{Declaration*} werden beide für die -% Auszeichnung von Optionen, Umgebungen und Befehlen verwendet, die \TUDScript -% dem Anwender zur Verfügung stellt. +% Die Umgebungen beiden \env{Declaration} und \env{Declaration*} sowie +% \env{Obsolete} und \env{Bundle} werden für die Beschreibung von Optionen, +% Umgebungen, Befehlen etc. verwendet, welche von \TUDScript dem Anwender zur +% Verfügung gestellt werden. % % \begin{macro}{\if@tud@declare} % \begin{macro}{\if@openindex} @@ -1042,7 +1163,7 @@ % Die Sternversion der Umgebung \env{Declaration*} ist für die vereinfachte % Deklaration von Klassen, Paketen etc. gedacht, bei denen keine Ausgabe % sondern lediglich Hyperlink, Indexeintrag und Änderungsnotiz erzeugt werden -% sollen. Hierbei werden die Befehle \cs{tud@declare@special@start} sowie +% sollen. Hierbei werden die beiden Befehle \cs{tud@declare@special@start} und % \cs{tud@declare@special@end} genutzt, wobei der Anker des erzeugten Labels % nicht erhöht sondern auf der aktuellen Grundlinie erzeugt wird. % \begin{macrocode} @@ -1055,15 +1176,16 @@ % \end{environment}^^A Declaration* % \begin{environment}{Bundle*} % \changes{v2.05}{2015/11/01}{neu}^^A -% Die Umgebung \env{Bundle*} wird verwendet, wenn ein zusätzliche Paket oder -% eine weitere Klasse in Ergänzung zu den Hauptklassen dokumentiert wird. Dabei -% wird die Umgebung \env{Bundle} geöffnet, nachdem das obligatorischen Argument -% mit dem Befehl \cs{tud@declare@special@start} deklariert wird. Dabei sollte -% die Umgebung \env{Bundle*} direkt nach einer Gliederungsüberschrift genutzt -% werden, in welcher das zu deklarierende Element (Klasse, Paket etc.) genannt -% wird, da der Anker des erzeugten Labels weiter nach oben auf die Höhe der -% Überschirft verschoben wird. Zum Abschluss der Deklaration wird nach dem -% Schließen der Umgebung \env{Bundle} \cs{tud@declare@special@end} genutzt. +% Die Umgebung \env{Bundle*} wird verwendet, wenn ein zusätzliches Paket oder +% eine weitere Klasse in Ergänzung zu den Hauptklassen dokumentiert wird. +% Hierfür wird die Umgebung \env{Bundle} erst geöffnet, nachdem mit dem Makro +% \cs{tud@declare@special@start} das obligatorische Argument~-- sprich die +% Klasse oder das Paket~-- deklariert wird. Die Umgebung \env{Bundle*} sollte +% dabei direkt nach einer Gliederungsüberschrift genutzt werden, in welcher das +% zu deklarierende Element (Klasse, Paket etc.) genannt wird, da der Anker des +% erzeugten Labels weiter nach oben auf die Höhe der Überschirft verschoben +% wird. Zum Abschluss der Deklaration wird \cs{tud@declare@special@end} nach +% dem Schließen der Umgebung \env{Bundle} genutzt. % \begin{macrocode} \NewDocumentEnvironment{Bundle*}{om}{% \tud@declare@special@start[#1]{#2}{3}% @@ -1231,8 +1353,8 @@ % \end{macro}^^A \printobsoletelist % \begin{macro}{\printchangedatlist} % \changes{v2.05}{2015/11/01}{neu}^^A -% Damit werden Änderungsnotizen der Umgebungen \env{Declaration*} sowie -% \env{Bundle} und \env{Bundle*} ausgegeben. +% Damit werden Änderungsnotizen der Umgebungen \env{Declaration*}, \env{Bundle} +% und \env{Bundle*} ausgegeben. % \begin{macrocode} \NewDocumentCommand\printchangedatlist{sO{\z@}}{% \print@changedatlist{#1}{#2}% @@ -1271,10 +1393,10 @@ % \end{macro}^^A \suffix % \begin{macro}{\NewExpandableDocumentCommand} % \changes{v2.02}{2014/11/04}{neu}^^A -% Für Labels, Index- und Änderungs sowie PDF-Outline-Einträge etc. müssen ganz -% bestimmte Markup-Befehle durch eine expandierbare Version ersetzt werden. Der -% Befehl \cs{NewExpandableDocumentCommand} wird definiert, um dies möglichst -% einfach zu gestalten. +% Für Labels, Index- und Änderungs- sowie PDF-Outline-Einträge etc. müssen ganz +% bestimmte Markup-Befehle durch eine expandierbare Version ersetzt werden. Um +% dies möglichst einfach zu gestalten, wird \cs{NewExpandableDocumentCommand} +% definiert. % \begin{macrocode} \newcommand*\NewExpandableDocumentCommand[3]{% \NewDocumentCommand#1{#2}{#3}% @@ -1816,10 +1938,11 @@ \NewDocumentCommand\tud@attr@get{smm}{% \begingroup% % \end{macrocode} -% Das temporäre Makro \cs{@tempa} definiert zunächst alle Markup-Befehle lokal -% neu und expandiert beim Aufruf für jeden dieser Markup-Befehle~-- abhängig -% vom Aufruf von \cs{tud@attr@get} mit oder ohne Stern~-- entweder zum Markup -% passenden Index oder das entsprechende Labelpräfix in \cs{@tempb}. +% Das temporäre Makro \cs{@tempa} definiert zunächst alle Markup-Befehle in +% einer Gruppe neu und expandiert beim Aufruf jedes dieser lokal umdefinierten +% Markup-Befehle~-- abhängig vom Aufruf von \cs{tud@attr@get} mit oder ohne +% Stern~-- entweder zum Markup-Befehl passenden Index oder zum entsprechenden +% Labelpräfix in \cs{@tempb}. % \begin{macrocode} \def\@tempa##1##2##3{% \def##1####1{% @@ -2018,7 +2141,6 @@ \let\POParameter\@firstofone% \let\textOR\relax% \let\hologoRobust\@firstofone% - \def\TUDScript{TUD-Script}% \def\_{-}% \protected\def~{~}% }% @@ -2788,7 +2910,7 @@ } % \end{macrocode} % Das durch die \TUDScript-Hauptklassen in Ergänzung zum Paket \pkg{textcase} -% erstellte Makro \cs{tud@x@textcase@uclcnotmath} erlaubt die Definition von +% erstellte Makro \cs{tud@x@textcase@uclcnotmath} ermöglicht die Definition von % Makros, welche von \cs{MakeTextUppercase} nicht beachtet werden sollen. % Das besagte Makro kommt in Überschriften bei den \TUDScript-Klassen zum % Einsatz, wenn diese in \DIN gesetzt werden. Das hat zu Folge, dass die @@ -2859,11 +2981,7 @@ % \subsection{Index} % % Hier erscheint alles, was für Erstellen und Ausgabe der einzelnen Indexe -% notwendig ist. -% -% \subsubsection{Indexerstellung} -% -% Für die Erstellung aller Indexe wird das Paket \pkg{imakeidx} zusammen mit +% notwendig ist. Hierfür wird das Paket \pkg{imakeidx} in Verbindung mit % \app{texindy} verwendet. Diese können sowohl mit dem Paket als auch mit der % Klasse erzeugt werden. % \ToDo{Patcherei für imakeidx raus, sobald dies geht}[v2.06] @@ -2952,60 +3070,6 @@ \fi% % \end{macrocode} % \end{environment}^^A theindex -% \begin{macro}{\cleversee} -% \changes{v2.05}{2015/11/02}{neu}^^A -% \begin{macro}{\cleverseealso} -% \changes{v2.05}{2015/11/02}{neu}^^A -% \begin{macro}{\tud@cleversee} -% \changes{v2.05}{2015/11/02}{neu}^^A -% Diese Befehle dienen zum smarten Setzen von Hinweisen im Index. Existiert -% lediglich dieser Hinweis im Index, wird dieser mit dem Präfix \cs{seename} -% ausgegeben. Sind jedoch für einen Indexeintrag auch Seitenzahlen vorhanden, -% so werden diese zuerst ausgegeben, danach folgt der Querverweis mit dem -% Präfix \cs{seealsoname}. Der Befehl \cs{cleverseealso} verwendet letzteren -% Präfix in jedem Fall. -% \begin{macrocode} -\newrobustcmd*\cleversee{\tud@cleversee{\seename}} -\newrobustcmd*\cleverseealso{% - \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}% - \tud@cleversee{\alsoname}% -} -% \end{macrocode} -% Diese Makro übernimmt die eigentliche Arbeit. Es ist darauf angewiesen, dass -% die angegebene Seitenzahlen eines Indexeintrages erst \emph{nach} den -% Hinweisen ausgegeben und mit \cs{relax} abgeschlossen werden. Dies wird mit -% der später definierten Stildatei für \app{texindy} sichergestellt. So wird es -% möglich, dass das Makro \cs{tud@cleversee} auf alles ihm bis \cs{relax} -% nachfolgende parsen kann und abhängig davon die Ausgabe gestaltet. -% \begin{macrocode} -\newcommand*\tud@cleversee{} -\def\tud@cleversee#1#2#3\relax{% - \IfArgIsEmpty{#3}{% - \emph{#1}\space#2% - }{% - #3, \emph{\alsoname}\space#2% - }% -} -% \end{macrocode} -% \end{macro}^^A \tud@cleversee -% \end{macro}^^A \cleverseealso -% \end{macro}^^A \cleversee -% \begin{macro}{\seeref} -% \changes{v2.05}{2015/11/02}{neu}^^A -% \begin{macro}{\seeidx} -% Der Befehl \cs{seeref} kann anstelle von \cs{see} bzw. in der Sternversion -% statt \cs{alsosee} genutzt werden. Das Makro \cs{seeidx} verweist auf die -% Seite eines Indexes. -% \begin{macrocode} -%<*class> -\NewDocumentCommand\seeref{sm}{% - \emph{\IfBooleanTF{#1}{\alsoname}{\seename}}\space#2% -} -\newcommand*\seeidx[2]{\pageref{idx:#1}} -%</class> -% \end{macrocode} -% \end{macro}^^A \seeidx -% \end{macro}^^A \seeref % \begin{macro}{\makexdyindex} % \changes{v2.05}{2015/11/01}{neu}^^A % Um die einzelnen Indexe erstellen zu können, wird das Makro \cs{makexdyindex} @@ -3066,7 +3130,7 @@ % er bei der Ausgabe von Verzeichnissen auf \val{true} gesetzt, um das Setzen % von Indexeinträgen durch Markup-Befehle in den Verzeichnissen selbst zu % unterbinden. Weiterhin verhindert der aktivierte Schalter bei der Ausführung -% von \cs{Process@Markup} das erstellen von erweiterten Querverweisen sowie das +% von \cs{Process@Markup} das Erstellen von erweiterten Querverweisen sowie das % Setzen von CTAN-Links bei Paketen (\cs{Package}), was weder in Verzeichnissen % noch im Index erwünscht ist, weshalb vom Makro \cs{@printindex} ebenfalls % \cs{@tud@indextrue} gesetzt wird. @@ -3075,6 +3139,9 @@ \addtoeachtocfile{\protect\@tud@indextrue} % \end{macrocode} % \end{macro}^^A \if@tud@index +% +% \subsubsection{Formatierung von Indexeinträgen} +% % \begin{macro}{\tud@idx@get} % \changes{v2.05}{2015/11/05}{neu}^^A % \begin{macro}{\tud@idx@key} @@ -3094,9 +3161,9 @@ % Markup-Befehlen erstellt und in der \app{texindy}-Stildatei wird für alle % Auszeichnungsbefehle die passende \val{merge-rule} erstellt, um die korrekte % Sortierung zu gewährleisten. Tatsächlich war in einer früheren Version genau -% das der Ansatz. Allerdings werden die manuell erstellten RegExp-Regeln leider -% durch \app{texindy} zu spät genutzt, weshalb der Ansatz verworfen wurde. -% (\url{http://sourceforge.net/p/xindy/bugs/22/}). +% das der Ansatz. Allerdings werden die manuell erstellten RegExp-Regeln durch +% \hrfn{http://sourceforge.net/p/xindy/bugs/22/}{\app{texindy} nicht korrekt} +% genutzt werden, weshalb der Ansatz verworfen wurde. % % Damit das Sortieren verlässlich funktioniert, werden die Einträge für den % Index deshalb in der gewohnten Syntax von \app{makeindex} in der Form @@ -3163,9 +3230,9 @@ % des Markups deaktiviert und das erste Argument von \cs{Key} ausgeführt. Dies % führt über \cs{Process@Index} zum rekursiven Aufruf von \cs{tud@idx@get}. Als % Ergebnis sind im zweiten und dritten Argument~-- sprich in \cs{tud@idx@key} -% und \cs{tud@idx@fmt}~-- sowohl \meta{Schlüsselwort} als auch \meta{Markup} -% für den Elterneintrag enthalten. Diese werden in das vierte Argument -% (\cs{idxentry}) gespeichert. +% und \cs{tud@idx@fmt}~-- \meta{Markup} und \meta{Schlüsselwort} für den +% Elterneintrag enthalten. Diese werden in das vierte Argument (\cs{idxentry}) +% gespeichert. % \begin{macrocode} \ifin@% \Markup@Suppress% @@ -3363,6 +3430,63 @@ % \end{macro}^^A \tud@idx@fmt % \end{macro}^^A \tud@idx@key % \end{macro}^^A \tud@idx@get +% \begin{macro}{\cleversee} +% \changes{v2.05}{2015/11/02}{neu}^^A +% \begin{macro}{\cleverseealso} +% \changes{v2.05}{2015/11/02}{neu}^^A +% \begin{macro}{\tud@cleversee} +% \changes{v2.05}{2015/11/02}{neu}^^A +% Diese Befehle dienen zum smarten Setzen von Hinweisen im Index. Existiert +% lediglich dieser Hinweis im Index, wird dieser mit dem Präfix \cs{seename} +% ausgegeben. Sind jedoch für einen Indexeintrag auch Seitenzahlen vorhanden, +% so werden diese zuerst ausgegeben, danach folgt der Querverweis mit dem +% Präfix \cs{seealsoname}. Der Befehl \cs{cleverseealso} verwendet letzteren +% Präfix in jedem Fall. +% \begin{macrocode} +\newrobustcmd*\cleversee{\tud@cleversee{\seename}} +\newrobustcmd*\cleverseealso{% + \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}% + \tud@cleversee{\alsoname}% +} +% \end{macrocode} +% Diese Makro übernimmt die eigentliche Arbeit. Es ist darauf angewiesen, dass +% die angegebene Seitenzahlen eines Indexeintrages erst \emph{nach} den +% Hinweisen ausgegeben und mit \cs{relax} abgeschlossen werden. Dies wird mit +% der später definierten Stildatei für \app{texindy} sichergestellt. So wird es +% möglich, dass das Makro \cs{tud@cleversee} auf alles ihm bis \cs{relax} +% nachfolgende parsen kann und abhängig davon die Ausgabe gestaltet. +% \begin{macrocode} +\newcommand*\tud@cleversee{} +\def\tud@cleversee#1#2#3\relax{% + \IfArgIsEmpty{#3}{% + \emph{#1}\space#2% + }{% + #3, \emph{\alsoname}\space#2% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@cleversee +% \end{macro}^^A \cleverseealso +% \end{macro}^^A \cleversee +% \begin{macro}{\seeref} +% \changes{v2.05}{2015/11/02}{neu}^^A +% \begin{macro}{\seeidx} +% Der Befehl \cs{seeref} kann anstelle von \cs{see} bzw. in der Sternversion +% statt \cs{alsosee} genutzt werden. Das Makro \cs{seeidx} verweist auf die +% Seite eines Indexes. +% \begin{macrocode} +%<*class> +\NewDocumentCommand\seeref{sm}{% + \emph{\IfBooleanTF{#1}{\alsoname}{\seename}}\space#2% +} +\newcommand*\seeidx[2]{\pageref{idx:#1}} +%</class> +% \end{macrocode} +% \end{macro}^^A \seeidx +% \end{macro}^^A \seeref +% +% \subsubsection{Erstellen von Indexeinträgen} +% % \begin{macro}{\Process@Index} % \changes{v2.05}{2015/11/15}{neu}^^A % \begin{macro}{\Process@@Index} @@ -3712,13 +3836,11 @@ % solchen Liste definiert. Die Änderungsliste ist der Klasse \cls{tudscrmanual} % vorbehalten. % -% Änderungsnotizen lassen sich auf zwei unterschieldichen Wegen generieren. -% Entweder über die Nutzung des Befehls \cs{ChangedAt} oder über das optionale -% Argument der Deklarationsumgebungen. Dabei sind diese in beiden Fällen in -% der Form Versionsnummer gefolgt von der eigentlichen Notiz anzugeben, wobei -% diese zwingend durch einen Doppelpunkt voneinander zu trennen sind. Die Form -% der Verwendung lautet: \meta{Versionsnummer}\val{:}\meta{Änderungsnotiz}. Die -% alleinige Angabe der Versionsnummer ohne Änderungsnotiz ist ebenso möglich. +% Änderungsnotizen lassen sich auf zwei unterschiedlichen Wegen generieren. +% Entweder über die Nutzung von \cs{ChangedAt} oder über das optionale Argument +% einer der Deklarationsumgebungen. Diese sind in der Form +% \meta{Versionsnummer}\val{:}\meta{Änderungsnotiz} anzugeben. Die alleinige +% Angabe der Versionsnummer ohne Änderungsnotiz ist ebenso möglich. % % Wird die Änderungsnotiz für ein bestimmtes Element wie eine Option oder ein % Befehl erstellt, wie es bei den Deklarationsumgebungen implizit oder bei der @@ -3733,18 +3855,18 @@ % \changes{v2.02}{2014/07/25}{erweitert}^^A % \changes{v2.02}{2014/10/08}{Sternversion ergänzt}^^A % Der Schalter \cs{if@tud@changedat} wird im weiteren Verlauf dazu verwendet, -% das Standard-Verhalten der einzelnen Markup-Befehle kurzeitig zu ändern und +% das Standardverhalten der einzelnen Markup-Befehle kurzeitig zu ändern und % anstelle der Makros \cs{Process@Markup} und \cs{Process@Index} den Befehl % \cs{Process@ChangedAt} auszuführen, mit welchem die Formatierung der Einträge % der Änderungsliste erfolgt. % \begin{macrocode} \newif\if@tud@changedat % \end{macrocode} -% Die Formatierung der Änderungseinträge erfolgt dabei wie auch für den Index -% mit \cs{tud@idx@get}, wobei die Sternversion dabei für die Identifikation als -% Änderungseintrag fungiert. Aufgerufen wird \cs{Process@ChangedAt} während der -% Erstellung der Änderungseinträge mit \cs{Changed@At@CreateEntry}. Der Aufruf -% des Makros erfolgt dabei in der gewohnten Form mit einem obligatorischen +% Die Formatierung der Änderungseinträge erfolgt~-- wie auch für den Index~-- +% mit dem Makro \cs{tud@idx@get}, wobei die Sternversion für die Identifikation +% als Änderungseintrag fungiert. Aufgerufen wird \cs{Process@ChangedAt} während +% der Erstellung der Änderungseinträge mit \cs{Changed@At@CreateEntry}. Der +% Aufruf des Makros erfolgt dabei in gewohnter Form mit einem obligatorischen % gefolgt von drei optionalen Argumenten: % \newline\begingroup\scriptsize % \cs{Process@ChangedAt}\val{\ignorespaces% @@ -3922,9 +4044,9 @@ % für den Implementierungsteil, welcher in \cs{tud@changedat@list} in der Form % \newline\begingroup\scriptsize % \meta{Versionsnummer}\val{!Implementierung!}\meta{Markup-Befehl}\ignorespaces -% \val{!}\meta{Untereintrag}\val{!}\meta{Änderungsnotiz} gespeichert wird, -% \endgroup -% wobei der Untereintrag auch leer bleiben kann. +% \val{!}\meta{Untereintrag}\val{!}\meta{Änderungsnotiz} +% \endgroup\newline +% gespeichert wird, wobei der Untereintrag auch leer bleiben kann. % \begin{macrocode} \IfValueTF{#1}{% \toks@{#3!Implementierung }% @@ -3950,7 +4072,7 @@ % Handelt es sich um einen allgemeinen Änderungseintrag, wird dieser in der Form % \newline\begingroup\scriptsize % \meta{Versionsnummer}\val{!Allgemein!}\meta{Änderungsnotiz}% -% \endgroup +% \endgroup\newline % in der Liste \cs{tud@changedat@list} gespeichert. Für den allgemeinen Teil % wird mit der Angabe eines \TUDScript-Bundle-Elements etwas anders verfahren. % Wurde dieses~-- wenn auch nur indirekt über eine der beiden Spezialumgebungen @@ -3987,7 +4109,7 @@ % \end{macro}^^A \Changed@At@@CreateList % \end{macro}^^A \Changed@At@CreateList % -% \subsubsection{Ezeugen der Änderungseinträge} +% \subsubsection{Erzeugen der Änderungseinträge} % % Mit diesen Makros erfolgt das eigentliche Eintragen der Änderungseinträge aus % der Liste \cs{listqChangedAt} in den entsprechenden Index \val{changelog}. @@ -4213,7 +4335,7 @@ % \end{macrocode} % \end{macro}^^A \print@changedatlist % -% \subsection{Erläuterungen und weiterführende Ergänzungen im Handbuch} +% \subsection{Erweiterte Listen für Erläuterungen im Handbuch} % % Es folgen einige Umgebungen, mit welchen bestimmte Aspekte oder Pakete im % Handbuch erläutert werden. @@ -4225,15 +4347,15 @@ \RequirePackage{enumitem}[2011/09/28] \setlist{noitemsep} % \end{macrocode} +% \begin{macro}{\stditem} +% \begin{macro}{\tud@before@item} % Mit den Möglichkeiten des Paketes \pkg{enumitem} werden folgend Listen für % das Aufführen von möglichen Werten einer Option sowie der Beschreibung von -% nützlichen Paketen erstellt. Für beide Lsiten soll dabei die originale +% nützlichen Paketen erstellt. Für beide Listen soll dabei die originale % Definition von \cs{item} in \cs{stditem} gesichert und anschließend angepasst % werden. Die Sicherung und Redefinition von \cs{item} erfolgt dabei über das % Makro \cs{tud@before@item} über einen bereitgestellten \emph{hook} zu Beginn % der jeweiligen Liste. -% \begin{macro}{\stditem} -% \begin{macro}{\tud@before@item} % \begin{macrocode} \newcommand*\stditem{} \newcommand*\tud@before@item[1]{% @@ -4250,6 +4372,9 @@ % \end{macrocode} % \end{macro}^^A \tud@before@item % \end{macro}^^A \stditem +% +% \subsubsection{Listen für gültige Werte von Optionen} +% % \begin{environment}{values} % \begin{environment}{@values} % \begin{macro}{\tud@values} @@ -4399,6 +4524,9 @@ % \end{macro}^^A \itemfalse % \end{macro}^^A \itemtrue % \end{macro}^^A \tud@item@bool +% +% \subsubsection{Listen für die Beschreibung von Paketen} +% % \begin{environment}{packages} % \begin{macro}{\tud@item@packages} % \changes{v2.02}{2014/10/09}{optionales Argument für CTAN-Link}^^A @@ -4454,6 +4582,10 @@ % \end{macrocode} % \end{macro}^^A \tud@item@packages % \end{environment}^^A packages +% +% \subsection{Erläuterungen und weiterführende Ergänzungen im Handbuch} +% \subsubsection{Tabelle mit automatisch berechneter Mehrspaltenzellenbreite} +% % \begin{environment}{tabularm} % \begin{macro}{\tabularm@allcolumnpar} % \begin{macro}{\tabularm@box} @@ -4492,6 +4624,9 @@ % \end{macro}^^A \tabularm@num % \end{macro}^^A \tabularm@allcolumnpar % \end{environment}^^A tabularm +% +% \subsubsection{Tabelle für mehrsprachigen Bezeichner} +% % Mit Hilfe von \pkg{tabularx} können Tabellen bestimmter Breite und % automatisch berechneten Spaltenbreiten gesetzt werden. % \begin{macrocode} @@ -4540,6 +4675,9 @@ % \end{macro}^^A \Term@@Table % \end{macro}^^A \Term@Table % \end{macro}^^A \TermTable +% +% \subsubsection{Umgebung für die Angabe eines Beispiels} +% % \begin{environment}{Example} % \begin{environment}{Example*} % Diese Umgebung wird für die exemplarische Erläuterung von bestimmten Aspekten @@ -4704,7 +4842,7 @@ \hyperref{tutorials/#1.pdf}{#1}{tutorials:#1}{\File*{#1.pdf}#2}% } \NewDocumentCommand\Tutorial{smd||}{% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% % \end{macrocode} % Um mit den verschachtelten Aufrufen von \app{pdflatex} umgehen zu können, % wird das ganze Prozedere in ein Skript ausgelagert. Somit können die Aufrufe @@ -4778,7 +4916,7 @@ % Die Beispiele werden nur erneut kompiliert, wenn sich diese geändert haben % oder noch gar kein entsprechendes PDF"~Dokument existiert. % \begin{macrocode} - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{% \immediate\write18{% pdflatex -output-directory examples examples/#1.tex^^J% @@ -4788,8 +4926,8 @@ \fi% % \end{macrocode} % Ist die gesuchte Datei vorhanden, wird diese auch eingebunden. Andernfalls -% wird eine Warnung mit dem Hinweis auf die notwendige Verwednung von -% \val{pdflatex} mit der Option \opt{--shell-escape} erzeugt. +% wird eine Warnung mit dem Hinweis auf die notwendige Verwendung von +% \app{pdflatex} mit der Option \opt{--shell-escape} erzeugt. % \begin{macrocode} \IfFileExists{examples/#1.pdf}{% \includepdf[% @@ -4829,7 +4967,7 @@ \edef\tud@tut@temp{\@currname-temp} \newcommand*\tud@tut@readtostream[2]{% \begingroup% - \endlinechar=-1\relax% + \endlinechar=\m@ne\relax% \openin\tud@read=#1% % \end{macrocode} % Der Schalter \cs{if@tempswa} wird verwendet, um unnötige Leerzeilen in der @@ -4865,12 +5003,13 @@ } % \end{macrocode} % Der innerhalb der Umgebungen \env{Preamble} und \env{Trunk}~-- sowie deren -% Derivaten~-- angegeben Inhalt wird beim Beenden dieser in die Hilfsdatei -% \cs{tud@tut@temp.tex} zwischengespeichert. Mit dem Befehl \cs{tud@tut@append} -% wird der Inhalt dieser Datei ausgelesen und den zusätzlichen Hilfsdateien -% \cs{tud@tut@temp-preamble.tex} beziehungsweise \cs{tud@tut@temp-trunk.tex} -% angehangen und damit gesichert, um Quelltextauszüge aus dem Tutorial für die -% Präambel sowie den Dokumentteil trennen beziehungsweise sortieren zu können. +% Derivaten~-- angegebene Inhalt wird beim Schließen dieser Umgebungen in die +% Hilfsdatei \cs{tud@tut@temp.tex} zwischengespeichert. Mit dem Befehl +% \cs{tud@tut@append} wird der Inhalt dieser Datei ausgelesen und den +% zusätzlichen Hilfsdateien \cs{tud@tut@temp-preamble.tex} beziehungsweise +% \cs{tud@tut@temp-trunk.tex} angehangen und damit gesichert, um die jeweiligen +% Quelltextauszüge aus dem Tutorial für die Präambel sowie den Dokumentteil +% trennen beziehungsweise sortieren zu können. % \begin{macrocode} \newcommand*\tud@tut@append[1]{% \ifstr{#1}{preamble}{% @@ -4892,21 +5031,28 @@ % \begin{macro}{\FinishTutorial} % \changes{v2.02}{2014/08/21}{neu}^^A % Mit \cs{StartTutorial} wird ein Hyperlink für den Querverweis aus dem -% Handbuch definiert. Außerdem wird gleich der Titel und ein einleitender Satz -% gesetzt. +% Handbuch definiert. Außerdem wird gleich der Titel und~-- falls im optionalen +% Argument angegeben~-- eine Zusammenfassung gesetzt. Die Sternversion gibt +% nach der optionalen Beschreibung einen einleitenden Satz zur Dokumnentklasse +% und sinnvollen Paketen an. Diese sollten direkt nach \cs{StartTutorial} in +% der \env{Preamble}-Umgebung angegeben werden. % \begin{macrocode} \TUDoptions{headingsvskip=-10ex} -\newcommand\StartTutorial[1][% - Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse - als auch die f\"ur jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach - sinnvollen Pakete geladen.% -]{% - \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}% - \faculty{}% - \maketitle\noindent#1% +\newcommand\StartTutorial[1][]{% \immediate\openout\tud@write@a=\tud@tut@temp-preamble.tex\relax% \immediate\openout\tud@write@b=\tud@tut@temp-trunk.tex\relax% - \immediate\write\tud@write@b{^^J\string\begin{document}^^J} + \immediate\write\tud@write@b{^^J\string\begin{document}^^J}% + \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}% + \faculty{}% + \maketitle% + \ifblank{#1}{}{% + \noindent% + \begin{abstract}% + \noindent#1% + \end{abstract}% + \medskip% + }% + \noindent\ignorespaces% } % \end{macrocode} % Der Befehl \cs{FinishTutorial} schleißt den noch offenen Ausgabestream und @@ -4941,7 +5087,7 @@ % Falls es möglich ist, werden nach dem Durchlauf alle nicht mehr benötigten % Hilfsdateien gelöscht. % \begin{macrocode} - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \ifwindows% \def\@tempa{del}% \else% @@ -4965,7 +5111,11 @@ % \begin{macrocode} \newcommand\Code@Preamble{} \let\Code@Preamble\relax -\newcommand\CodePreamble[1]{\long\gdef\Code@Preamble{#1}} +\newcommand\CodePreamble[1]{% + \long\gdef\Code@Preamble{% + \hskip.5\leftmargin\textit{Die resultierende Ausgabe:}\space#1% + }% +} \newcommand*\Code@Hook{} \let\Code@Hook\relax \newcommand*\CodeHook[1]{\gdef\Code@Hook{#1}} @@ -4992,7 +5142,7 @@ % \changes{v2.02}{2014/08/19}{neu}^^A % \begin{macro}{\tud@tut@post} % \changes{v2.02}{2014/08/19}{neu}^^A -% Dies sind die Hilfsmakros, welche zu Beginn und Ende der Quelltextumgebungen +% Dies sind Hilfsmakros, welche zu Beginn und Ende der Quelltextumgebungen % \env{Preamble}, \env{Trunk} und \env{Hint} für das Sichern der Inhalte in % eine Hilfsdatei verantwortlich sind, wofür die \env{filecontents}-Umgebung % genutzt wird. @@ -5008,25 +5158,25 @@ % \end{macrocode} % \end{macro}^^A \tud@tut@post % \end{macro}^^A \tud@tut@pre -% Die nachfolgenden Umgebungen nutzen die beiden Hilfsmakros \cs{tud@tut@pre} -% und \cs{tud@tut@post}, welche den gegebenen Inhalt in die temporäre Datei -% \file{\string\tud@tut@temp.tex} schreiben. Mit \cs{tud@tut@append} werden -% zusätzlich~-- abhängig vom gegebenen Argument~-- die im Dokument gesetzten -% Quelltextauszüge der Datei \file{\string\tud@tut@temp-preamble.tex} oder -% \file{\string\tud@tut@temp-trunk.tex} hinzugefügt. Damit werden die -% gewünschten Inhalte für ein Copy"~\&"~Paste"~Beispiel gesammelt und mit -% \cs{FinishTutorial} ausgegeben. +% Die nachfolgenden Umgebungen verwenden die beiden, gerade zuvor eingeführten +% Hilfsmakros \cs{tud@tut@pre} und \cs{tud@tut@post}, welche den gegebenen +% Inhalt in die temporäre Datei \file{\string\tud@tut@temp.tex} schreiben. Die +% im Dokument in den Umgebungen gesetzten Quelltextauszüge werden mit dem Makro +% \cs{tud@tut@append}~-- abhängig vom gegebenen Argument~-- zusätzlich für ein +% Copy"~\&"~Paste"~Beispiel in \file{\string\tud@tut@temp-preamble.tex} oder +% \file{\string\tud@tut@temp-trunk.tex} gepsiechert. Die damit gesammelten +% Inhalte werden am Ende mit \cs{FinishTutorial} ausgegeben. % \begin{environment}{Preamble} % \changes{v2.02}{2014/11/02}{neu}^^A % \begin{environment}{Preamble*} % \changes{v2.02}{2014/11/03}{neu}^^A % \begin{environment}{Preamble+} % \changes{v2.02}{2014/11/03}{neu}^^A -% Die Umgebung \env{Preamble} dient für die Ausgabe von Quelltexten, welche in -% einem \LaTeXe-Dokument in der Präambel verwendet werden müssen oder sollten. -% Die in ihr gesetzten Inhalte werden für das Copy"~\&"~Paste-Beispiel vor den -% Inhalten aus der Umgebung \env{Trunk} ausgegeben. Die Sternversion führt -% den Inhalt zusätzlich im Dokument aus. Die Pluszechen"=Version fügt dem +% Die Umgebung \env{Preamble} dient für die Ausgabe von Quelltextauszügenen, +% welche in einem \LaTeXe-Dokument in der Präambel verwendet werden müssen oder +% sollten. Die in ihr gesetzten Inhalte werden für das Copy"~\&"~Paste-Beispiel +% vor den Inhalten aus der Umgebung \env{Trunk} ausgegeben. Die Sternversion +% führt den Inhalt zusätzlich im Dokument aus. Die Pluszechen"=Version fügt dem % Ausgabestream ihren Inhalt hinzu, ohne das dieser ausgegeben oder ausgeführt % wird. % \begin{macrocode} @@ -5134,7 +5284,7 @@ % \changes{v2.02}{2014/10/13}{neu}^^A % \begin{environment}{Hint?} % \changes{v2.02}{2014/12/09}{neu}^^A -% \begin{environment}{Hint{!}} +% \begin{environment}{Hint!} % \changes{v2.02}{2014/11/13}{neu}^^A % Um Quelltextausschnitte zur weiterführenden Information anzugeben, wird die % Umgebung \env{Hint} definiert. Der Inhalt wird ausgegben und~-- falls die @@ -5264,9 +5414,9 @@ % \end{macro}^^A \InputCode % \begin{macro}{\tud@tut@pdf} % \changes{v2.02}{2014/10/22}{neu}^^A -% Die Umgebungen \env{Trunk!} und \env{hint!} verwenden nach der Ausgabe des +% Die Umgebungen \env{Trunk!} und \env{Hint!} verwenden nach der Ausgabe des % Quelltextes diesen abermals, um daraus eine PDF-Datei zu erzeugen. Dafür wird -% mithilfe einer \env{filecontents}-Umgebung eine temporäre \LaTeX-Datei +% eine temporäre \LaTeX-Datei mithilfe einer \env{filecontents}-Umgebung % erzeugt. Diese bindet die mit \env{Trunk!} erzeugte Datei ein und wird % anschließend via \cs{write18} kompiliert. Dabei sollte man sich nicht von der % doppelten Verwendung von \cs{jobname} verwirren lassen. Der Dateiname der @@ -5308,7 +5458,7 @@ % der erzeugten Datei angepasst werden kann. % \begin{macrocode} \newcommand*\tud@tut@pdf{% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{\jobname-standalone-\StandaloneFile.pdf}{\jobname.tex}{}{% \begingroup% \let\printdate\@firstofone% @@ -5391,7 +5541,7 @@ % \begin{macrocode} %<*package> \AfterPackage*{pstricks}{% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{\jobname-pics.pdf}{\jobname.tex}{% \PassOptionsToPackage{off}{auto-pst-pdf}% }{}% @@ -5403,7 +5553,7 @@ % Nach dem Paket \pkg{auto-pst-pdf} seine Arbeit verrichtet hat, werden alle % etwaigen temporär erzeugten Dateien radikal gelöscht. % \begin{macrocode} - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \edef\@tempa{\app@exe{\app@rm "*\app@suffix*"}}% \@tempa% \fi% @@ -5654,12 +5804,30 @@ % \end{macro}^^A \tud@todo@type@color % \end{macro}^^A \ToDo % -% \section{Verschiedenes für die Dokumentationsklassen und -pakete} +% \iffalse +%</body> +%</!doc> +% \fi +% +% \subsection{Verschiedenes für die Dokumentationsklassen und -pakete} % % Sowohl für die Klasse \cls{tudscrmanual} als auch \cls{tudscrdoc} werden ein -% paar Befehle zur komfortablen verwendung im Fließtext definiert. Außerdem +% paar Befehle zur komfortablen Verwendung im Fließtext definiert. Außerdem % erfolgen mittels einiger Pakete verschiedene Formateinstellungen. % +% \subsubsection{Ergänzend geladene Pakete} +% +% Sprachabhängiges Setzen von Anführungszeichen. Das Laden des Paketes darf +% erst nach \pkg{inputenc} erfolgen. +% \begin{macrocode} +%<body|class&doc>\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +%<body>\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +% \end{macrocode} +% +% \iffalse +%<*body> +% \fi +% % Für den Fließtext werden Pfeile u.\,ä. durch \pkg{textcomp} bereitgestellt. % \begin{macrocode} \RequirePackage{textcomp}[2005/09/27] @@ -5669,12 +5837,6 @@ \RequirePackage{setspace}[2011/12/19] \setstretch{1.1} % \end{macrocode} -% Sprachabhängiges Setzen von Anführungszeichen. Das Laden des Paketes darf -% erst nach \pkg{inputenc} erfolgen. -% \begin{macrocode} -\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} -\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]} -% \end{macrocode} % Verbesserte Zitate. % \begin{macrocode} \PassOptionsToPackage{vskip=\smallskipamount}{quoting} @@ -5743,10 +5905,84 @@ % \iffalse %</class> %</body> -%</!doc> +%<*body|class&doc> +% \fi +% +% \subsubsection{Gezieltes Ersetzen von Inhalten in Strings} +% +% \begin{macro}{\tud@replace} +% \changes{v2.05}{2015/11/01}{neu}^^A +% Mit diesem Befehl kann in einem gegebenen Makro ein bestimmtes Zeichen durch +% ein anderes ersetzt werden. Dies wird verwendet, um für Indexbefehle oder +% Labels die möglicherweise enthaltenen \val{@}-Zeichen zu ersetzen. +% \begin{macrocode} +\newcommand*\tud@replace[3]{% + \begingroup% +% \end{macrocode} +% Zunächst wird \cs{@tempa} als ein durch \cs{@nil} abgegrenztes Makro mit +% zwei Argumenten definiert, wobei diese durch das im zweiten Argument gegebene +% \meta{Zeichen} voneinander abgegrenzt werden. Mit diese beiden Argumente wird +% das Makro \cs{@tempb} aufgerufen. +% \begin{macrocode} + \toks@{\def\@tempa##1}% + \eaddto@hook\toks@{\detokenize{#2}}% + \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}% +% \end{macrocode} +% Der Inhalt von \cs{toks@} ist +% \cs{def}\cs{@tempa\#1\meta{Zeichen}\#2}\cs{@nil\{\cs{@tempb\{\#1\}\{\#2\}}\}} +% und definiert \cs{@tempa}. +% \begin{macrocode} + \the\toks@% +% \end{macrocode} +% Nun wird \cs{@tempb} definiert. Dieses Makro fügt dem Zielmakro das erste +% Argumente gefolgt von \meta{Ersatzzeichen} hinzu. Mit dem zweiten Argument +% wird anschließend \cs{@tempa\#\#2}\cs{@nil} so lange rekursiv aufgerufen, bis +% es wirklich leer ist, wodurch das zweite Argument \meta{Zeichen} sukzessive +% durch das dritte Argument \meta{Ersatzzeichen} ersetzt wird. +% \begin{macrocode} + \def\@tempb##1##2{% + \IfArgIsEmpty{##2}{% + \appto#1{##1}% + \let\@tempc\relax% + }{% + \appto#1{##1#3}% + \def\@tempc{\@tempa##2\@nil}% + }% + \@tempc% + }% +% \end{macrocode} +% Nachdem die beiden notwendigen Makros definiert wurden, erfolgt jetzt die +% eigentliche Ersetzung. Dafür wird der Inhalt des Zielmakros als Argument für +% \cs{@tempa} verwendet. Diesem wird das zu ersetzende Zeichen gefolgt von +% \cs{@nil} hinzugefügt, um das Argument abschließend zu begrenzen. +% \begin{macrocode} + \toks@{\@tempa}% + \edef\@tempc{\expandafter\detokenize\expandafter{#1}}% + \eaddto@hook\toks@{\@tempc}% + \eaddto@hook\toks@{\detokenize{#2}\@nil}% +% \end{macrocode} +% Der Inhalt von \cs{toks@} hat die Form \cs{@tempa\#1\meta{Zeichen}}\cs{@nil}, +% wobei der Inhalt von \meta{\#1} expandiert wird. +% \begin{macrocode} + \def#1{}% + \the\toks@% + \edef\tud@reserved{% + \noexpand\endgroup% + \def\noexpand#1{#1}% + }% + \tud@reserved% +} +% \end{macrocode} +% \end{macro}^^A \tud@replace +% +% \iffalse +%</body|class&doc> %<*body> % \fi % +% +% \subsubsection{Zusätzliche Markup-Befehle} +% % \begin{macro}{\Attention} % \changes{v2.02}{2014/08/16}{neu}^^A % \begin{macro}{\Forum} @@ -5754,6 +5990,8 @@ % \changes{v2.05}{2015/11/22}{neu}^^A % \begin{macro}{\GitHubRepo} % \changes{v2.02}{2014/08/16}{neu}^^A +% \begin{macro}{\Download} +% \changes{v2.05g}{2016/11/08}{neu}^^A % \begin{macro}{\notudscrartcl} % \begin{macro}{\scrguide} % \changes{v2.02}{2014/09/04}{neu}^^A @@ -5789,6 +6027,9 @@ \addto@hook\toks@{{\tud@english{GitHub-Repository~\Distribution*{tudscr}}}}% \the\toks@\xspace% } +\newcommand*\Download[1]{% + https://github.com/tud-cd/tudscr/releases/download/#1% +} \newcommand*\notudscrartcl{% F\"ur die Klassen \Class{tudscrartcl} sowie \Class{tudscrposter} ist diese Option nicht verf\"ugbar.% @@ -5805,6 +6046,7 @@ % \end{macrocode} % \end{macro}^^A \scrguide % \end{macro}^^A \notudscrartcl +% \end{macro}^^A \Download % \end{macro}^^A \GitHubRepo % \end{macro}^^A \CTAN % \end{macro}^^A \Forum @@ -5812,7 +6054,7 @@ % % \iffalse %</body> -%<*body|doc> +%<*body|class&doc> % \fi % % \begin{macro}{\CD} @@ -5834,14 +6076,19 @@ \newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} \newcommand*\TUDCD{\CD der \TnUD} \newcommand*\TUDCDs{\CDs der \TnUD} -%<doc>\AtBeginDocument{% \newrobustcmd*\DDC{% \mbox{% D\kern.05em R\kern.05em E\kern.05em S\kern.05em % D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept% }\xspace% } -%<doc>} +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\DDC{DRESDEN-concept}% + \def\TUDScript{TUD-Script}% + \def\KOMAScript{KOMA-Script}% + }% +} % \end{macrocode} % \end{macro}^^A \DDC % \end{macro}^^A \TUDCDs @@ -5861,7 +6108,7 @@ % \end{macro}^^A \Univers % % \iffalse -%</body|doc> +%</body|class&doc> %<*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 1b6069452d6..a9629ba292e 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx @@ -1,32 +1,32 @@ % \CheckSum{149} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-mathswap.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-mathswap.dtx}[% - 2016/09/22 v2.05d TUD-Script\space% + 2017/01/03 v2.05g TUD-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{mathswap}[% @@ -69,13 +69,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-mathswap.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -86,7 +92,7 @@ % \changes{v2.02}{2014/08/18}{\pkg{mathswap}: Schalter zum Aktivieren und % Deaktivieren der Funktionalität}^^A % -% \section{Aktive Trennzeichen im mathematischen Satz} +% \section{Das Paket \pkg{mathswap} -- Aktive Trennzeichen im Mathematikmodus} % % Die Verwendung von Dezimal- und Tausendertrennzeichen im mathematischen Satz % sind regional sehr unterschiedlich. In den meisten englischsprachigen Ländern @@ -102,25 +108,29 @@ % Komma einem Dezimaltrennzeichen entspricht ($t=1,\!2$) oder aber einem % normalen Komma im Mathematiksatz ($z=f(x,y)$), wo ein gewisser Abstand nach % dem Komma durchaus gewünscht ist. Das Paket \pkg{ziffer} liefert dafür die -% gewünschte Funktionalität,% -% \footnote{kein Leerraum nach Komma, wenn direkt danach eine Ziffer folgt} -% ist allerdings etwas unflexibel, was den Umgang mit den Trennzeichen -% anbelangt. Als Alternative zu diesem Paket kann außerdem \pkg{ionumbers} -% verwendet werden. +% gewünschte Funktionalität,\footnote{kein Leerraum nach Komma, wenn direkt +% danach eine Ziffer folgt} ist allerdings etwas unflexibel, was den Umgang mit +% den Trennzeichen anbelangt. Als Alternative zu diesem Paket kann außerdem +% \pkg{ionumbers} verwendet werden. % % Das Paket \pkg{mathswap} sorgt dafür, dass Trennzeichen direkt vor einer % Ziffer erkannt und nach bestimmten Vorgaben ersetzt werden. Sollte sich % jedoch zwischen Trennzeichen und Ziffer Leerraum befinden, wird dieser als % solcher auch gesetzt. % +% \ToDo{Vergleich mit \pkg{ionumbers}, ist \pkg{mathswap} notwendig?}[v2.06] +% \ToDo{Als eingenständiges Paket herauslösen}[v2.06] +% \ToDo{Allgem. Bezeichnungen englisches/deutsches Format?}[v2.06] +% \ToDo{Sprachabhängige Einstellungen in Paket und aus Klassen raus}[v2.06] +% \ToDo{Makro(s)/Key-Value zum Festlegen von Eingabe- und Ausgabeformat}[v2.06] +% \ToDo{Inhalte von \file{mathswap.tex} hier rein}[v2.06] +% % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % % \iffalse %<*package> % \fi % -% \subsection{Das Paket \pkg{mathswap}} -% % \begin{macro}{\commaswap} % \begin{macro}{\dotswap} % \begin{macro}{\@commaswap} diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx index ff79c236bcd..c77d9a66532 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx @@ -1,32 +1,32 @@ -% \CheckSum{907} +% \CheckSum{413} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-misc.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-misc.dtx}[% - 2016/09/22 v2.05d TUD-Script (miscellaneous)% + 2017/01/03 v2.05g TUD-Script (miscellaneous)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-misc.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -76,7 +82,6 @@ % % \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A % \changes{v2.02}{2014/07/08}{\cs{FamilyKeyState} wird von Optionen genutzt}^^A -% \changes{v2.05}{2015/07/06}{Bugfix für \pkg{multicol}}^^A % % \section{Verschiedenes für das \TUDScript-Bundle} % @@ -84,10 +89,6 @@ % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % -% \iffalse -%<*!xindy> -% \fi -% % \subsection{Sukkzessives Abarbeiten von Layoutoptionen im Dokument} % % Werden mit \cs{TUDoptions} nach \cs{begin\{document\}} mehrere Layoutoptionen @@ -100,6 +101,7 @@ % Befehl \cs{tud@atdocument@process}, welcher für die Abarbeitung der einzelnen % Makros in der richtigen Reihenfolge verantwortlich ist, lediglich einmal über % \cs{AtEndOfFamilyOptions} ausgeführt wird. +% \ToDo{Evtl. in \file{tudscr-layout.dtx} verschieben?}[v2.06] % \ToDo{% % Problem bei \cs{TUDoptions} mit \cs{AtEndOfFamilyOptions} beheben % }[v2.06] @@ -229,6 +231,7 @@ % % Die nachfolgend definierten Optionen und Befehle orientieren sich dabei stark % an internen \KOMAScript-Makros. +% \ToDo{Evtl. in \file{tudscr-area.dtx} verschieben?}[v2.06] % \ToDo{% % Wie mit \opt{layout} von \pkg{geometry} umgehen? Wann Papierformat prüfen? % Vielleicht mit \cs{KOMAoptionOf\{paper\}} prüfen? Oder ganz raus? @@ -384,9 +387,9 @@ % % \begin{macro}{\tudbookmark} % \begin{macro}{\tud@x@hyperref@realfootnotes} -% Die Befehle zum Eintragen der Sprungmarken. Im Dokument kann auch der Befehl -% \cs{tudbookmark} vom Anwender genutzt werden, um manuell weitere Lesezeichen -% zu erzeugen. +% Die Befehle zum Eintragen der Sprungmarken. Im Dokument kann \cs{tudbookmark} +% auch vom Anwender genutzt werden, um weitere Lesezeichen abhängig von der +% Option \opt{tudbookmarks} manuell zu erzeugen. % % Für die Titelseite werden~-- wie auch durch das Paket \pkg{hyperref}~-- die % Fußnoten mit dem Befehl \cs{tud@x@hyperref@realfootnotes} auf den originalen @@ -504,7 +507,7 @@ % \end{macro}^^A \listoffigures % \end{macro}^^A \tableofcontents % -% \subsection{Bugfixing für das Paket \pkg{tocloft}} +% \subsection{Warnung bei der Nutzung des Paketes \pkg{tocloft}} % % Das Paket \pkg{tocloft} verursacht allerlei Probleme. Wird es geladen, so % erscheint eine entsprechende Warnung. @@ -657,549 +660,6 @@ % % \iffalse %</execute> -%</!xindy> -%<*xindy> -% \fi -% -% \subsection{Stildateien für \texorpdfstring{\app{texindy}}{texindy}} -% -% Für die Dokumentationsklassen und -pakete wird zur Sortierung \app{texindy} -% verwendet. Da das Programm die die Dateien nicht in einem \val{TEXPATH} nach -% den Stildateien sucht, werden diese zur Laufzeit im Arbeitsverzeichnis -% erstellt. Nachfolgend wird die zu erstellenden \app{texindy}-Stildatei kurz -% beschrieben. -% \begin{macro}{\@hashchar} -% \changes{v2.05}{2016/04/25}{neu}^^A -% Das Hash-Zeichen. -% \begin{macrocode} -%<*doc> -\catcode`\#=12 -\newcommand*\@hashchar{#} -\catcode`\#=6 -%</doc> -% \end{macrocode} -% \begin{macro}{\tud@lst@def} -% \changes{v2.05}{2016/04/25}{neu}^^A -% \begin{macro}{\tud@lst@values} -% \changes{v2.05}{2016/04/25}{neu}^^A -% \begin{macro}{\if@tud@lst@multi} -% \changes{v2.05}{2016/04/25}{neu}^^A -% \begin{macro}{\tud@lst@init} -% \changes{v2.05}{2016/04/25}{neu}^^A -% \begin{macro}{\tud@lst@add} -% \changes{v2.05}{2016/04/25}{neu}^^A -% \begin{macro}{\tud@lst@process} -% \changes{v2.05}{2016/04/25}{neu}^^A -% Für die Änderungsliste in \cls{tudscrdoc} wird bei der Beschreibung von -% Einträgen nur dann eine dritte Ebene verwendet, wenn es einem Eintrag mehrere -% Angaben existieren. Sollte nur eine Anmerkung vorhanden sein, wird diese -% direkt in der zweiten Ebene nach dem Eintrag selbst ausgegeben. -% \begin{macrocode} -%<*doc> -\newcommand*\tud@lst@def{% - \newcommand*\tud@lst@values{}% - \newif\if@tud@lst@multi% - \newcommand*\tud@lst@init{% - \let\tud@lst@values\relax% - \@tud@lst@multifalse% - }% - \newcommand*\tud@lst@add[1]{% - \ifx\tud@lst@values\relax\else% - \@tud@lst@multitrue% - \fi% - \listadd\tud@lst@values{##1}% - }% - \newcommand*\tud@lst@process{% - \def\tud@reserved{}% - \if@tud@lst@multi% - \def\tud@reserved{\subsubitem}% - \efill% - \fi% - \forlistloop\tud@reserved{\tud@lst@values}% - }% -} -%</doc> -% \end{macrocode} -% \end{macro}^^A \tud@lst@process -% \end{macro}^^A \tud@lst@add -% \end{macro}^^A \tud@lst@init -% \end{macro}^^A \if@tud@lst@multi -% \end{macro}^^A \tud@lst@values -% \end{macro}^^A \tud@lst@def -% \end{macro}^^A \@hashchar -% \begin{macro}{\tud@xdy@create} -% \changes{v2.05}{2016/04/24}{neu}^^A -% \begin{macro}{\tud@write@xdy} -% \changes{v2.05}{2016/04/24}{neu}^^A -% \begin{macro}{\if@tud@xdy@glo} -% \changes{v2.05}{2016/04/25}{neu}^^A -% Dies sind die Hilfsmakros für die Erzeugung der notwendigen Dateien. -% \begin{macrocode} -\begingroup -%<doc>\ifdef{\tudxdyflag}{% -\newcommand*\tud@write@xdy{} -\newwrite\tud@write@xdy -\newif\if@tud@xdy@glo -\newcommand*\tud@xdy@create[2][theindex]{% - \IfFileExists{\@currname-#2.xdy}{}{% - \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}% - \openout\tud@write@xdy=\@currname-#2.xdy\relax% -% \end{macrocode} -% Als erstes wird Standard-\LaTeX-Modul geladen. -% \begin{macrocode} - \write\tud@write@xdy{(require "texindy.xdy")}% -% \end{macrocode} -% -% \subsubsection{Defintion der verwendeten Umgebung} -% -% Für die Klasse \cls{tudscrdoc} sind zwei sehr ähnliche Stildateien notwendig. -% Die beiden unterschieden sich lediglich in der verwendeten Umgebung. -% \begingroup% -% \makeatletter% -% \@bsphack\scan@allowedfalse\@esphack% -% \makeatother% -% \begin{macrocode} -%<*doc> - \write\tud@write@xdy{% - (markup-index^^J% - \space\space:open^^J% - "\string\begin{#1}^^J% - \space\space% - \string\providecommand*\string\lettergroupDefault[1]{\@percentchar^^J% - \@spaces\string\par% - \string\centerline{\string\textbf{\string\textsf{Symbole}}}% - \string\par\@percentchar^^J% - \@spaces\string\nopagebreak\@percentchar^^J% - \space\space}\@percentchar^^J% - \space\space% - \string\providecommand*\string\lettergroup[1]{\@percentchar^^J% - \@spaces\string\par% - \string\centerline{\string\textbf{\string\textsf{\@hashchar1}}}% - \string\par\@percentchar^^J% - \@spaces\string\nopagebreak\@percentchar^^J% - \space\space}\@percentchar^^J% - \space\space\string\makeatletter\@percentchar^^J% - \space\space\string\scan@allowedfalse\@percentchar% - }% -% \end{macrocode} -% Für die Änderungsliste erfolgt die GRuppierung anhand der Versionsnummer. Da -% diese auf der ersten Ebene angegeben ist (\cs{item}) muss das Ganze mit einem -% terminierten Befehl erfolgen. Hierfür wird \cs{@lettergroup} definiert. -% Außerdem werden mit \cs{tud@lst@def} die benötigten Befehle zur selektiven -% Anzeige der Änderungseinträge definiert. -% \begin{macrocode} - \if@tud@xdy@glo% - \write\tud@write@xdy{% - \space\space\string\newcommand*\string\@lettergroup{}\@percentchar^^J% - \space\space% - \string\def\string\@lettergroup\@hashchar1\string\relax% - {\string\lettergroup{\@hashchar1}}\@percentchar^^J% - \space\space\string\tud@lst@def\@percentchar% - }% - \fi% -% \end{macrocode} -% Der Abschluss der Umgebungsdefinition. -% \begin{macrocode} - \write\tud@write@xdy{% - "^^J% - \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J% - \space\space:hierdepth 3^^J% - )% - }% -%</doc> -% \end{macrocode} -% -% \subsubsection{Defintion und Markup der Seitenzahlen} -% -% Leider lässt sich für Seitenzahlbereiche via \val{:attr} (noch) kein Markup -% 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} -%^^A \write\tud@write@xdy{(require "ff-ranges.xdy")}% -% \end{macrocode} -% Seitenbereiche werden sofort zusammengefasst, wobei als Trennzeichen ein -% Halbgeviertstrich verwendet wird. Für \cls{tudscrdoc} werden die Seitenzahlen -% beim Einbinden der einzelnen \file{dtx}-Dateien mit einem alphanumerischen -% Präfix versehen, wofür eine eigene \val{location-class} erstellt wird. -% \begin{macrocode} - \write\tud@write@xdy{% - (define-location-class^^J% - \space\space"arabic-page-numbers" ("arabic-numbers")% - \space:min-range-length 1^^J% - )^^J% -%<*doc> - (define-alphabet "AlphaExtended"^^J% - \space(^^J% - \space\space"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"^^J% - \space\space"N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"^^J% - \space\space"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"^^J% - \space\space"n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"^^J% - \space\space"?"^^J% - \space)^^J% - )^^J% - (define-location-class^^J% - \space\space"part" ("AlphaExtended" :sep "-" "arabic-numbers")% - \space:min-range-length 1^^J% - )^^J% -%</doc> - (markup-range :sep "--")% - }% -% \end{macrocode} -% -% \subsubsection{Markup des Füllbereichs zwischen Eintrag und Seitenzahlen} -% -% Punkte zwischen Eintrag und Seitenzahl. Das schließende \cs{relax} wird für -% die smarte Definition des Befehls \cs{cleversee} benötigt, welcher nach den -% beiden obligatorischen Argument die nachfolgenden Seitenzahlen sucht und -% dabei durch \cs{relax} begrenzt wird. Für die Klasse \cls{tudscrdoc} wird in -% der Änderungsliste der Hyperlink für die Seitenzahl respektive die Codezeile -% direkt erzeugt. -% \begin{macrocode} -%<*doc> - \if@tud@xdy@glo% - \write\tud@write@xdy{% - (markup-locclass-list% - \space:open "\string\pfill\string\hypersourceref{" :close "}\string\relax"% - )% - }% - \else% -%</doc> - \write\tud@write@xdy{% - (markup-locclass-list% -%<!doc> \space:open "\string\,\string\dotfill\string\,"% -%<doc> \space:open "\string\pfill\space"% - \space:close "\string\relax"% - )% - }% -%<doc> \fi% -% \end{macrocode} -% -% \subsubsection{Ignorieren von bestimmten Anteilen bei der Sortierung} -% -% Alle Argumente in eckigen Klammern werden ignoriert. Dies wird bei einigen -% Indexbefehlen genutzt, um die nicht beachteten RegExp-Regeln auszugleichen, -% siehe den nächsten Absatz. In der Klasse \cls{tudscrdoc} werden außerdem ein -% oder mehrere vorangestellte \val{@}-Zeichen ignoriert. -% \begin{macrocode} - \write\tud@write@xdy{% - (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% -%<*doc> - ^^J% - (merge-rule% - \space"\string^(@+)([\string^@~n]*)"% - \space"\string\2\string~e\string\1"% - \space:eregexp :again% - )^^J% - (merge-rule% - \space"(.*)(@@@@)([\string^@~n]*)"% - \space"\string\1@@@\string\3\string~e"% - \space:again :eregexp% - )^^J% - (merge-rule% - \space"(.*)(@@@)([\string^@~n]*)"% - \space"\string\1@@\string\3\string~e"% - \space:again :eregexp% - )^^J% - (merge-rule% - \space"(.*)(@@)([\string^@~n]*)"% - \space"\string\1@\string\3\string~e"% - \space:eregexp :again% - )^^J% - (merge-rule% - \space"(.*?)(@)([\string^@~n]*)"% - \space"\string\1\string~b\string\3"% - \space:eregexp :again% - ) -%</doc> - }% -% \end{macrocode} -% Innerhalb ausgewählter Auszeichnungs- und Textbefehle sollten die Befehle -% selbst, nicht jedoch die Argumente verworfen werden. Leider werden die -% manuell erstellten RegExp-Regeln durch \app{texindy} zu spät genutzt -% (\url{http://sourceforge.net/p/xindy/bugs/22/}). -% \begin{macrocode} -%<*!doc> -%^^A \write\tud@write@xdy{% -%^^A (merge-rule "\\hologo\{(.*)\}" "/1" :eregexp)^^J% -%^^A (merge-rule "\\texttt\{(.*)\}" "/1" :eregexp)^^J% -%^^A (merge-rule "\\textsbn\{(.*)\}" "/1" :eregexp)^^J% -%^^A (merge-rule "\\textsbs\{(.*)\}" "/1" :eregexp)^^J% -%^^A }% -%</!doc> -% \end{macrocode} -% -% \subsubsection{Markup der einzelnen Einträge} -% -% Für die Änderungsliste werden Untereinträge bis zur fünften Ebene unterstützt. -% \begin{macrocode} -%<*!doc&class> - \write\tud@write@xdy{% - (markup-indexentry :open "~n \string\subsubsubitem " :depth 3)% - }% -%</!doc&class> -% \end{macrocode} -% Für die Änderungsliste erfolgt die Gruppierung anhand der Versionsnummer. Das -% bedeutet, das das Markup für die eigentliche \val{letter-group} unterdrückt -% und die erste Ebene dafür verwendet wird. -% \begin{macrocode} -%<*doc> - \if@tud@xdy@glo% - \write\tud@write@xdy{% - (markup-letter-group% - \space:open-head "\string~n\space\space\string\@gobble{"% - \space:close-head "}"% - )^^J% -% \end{macrocode} -% Leider gibt es für die Eintragsebenen keine Schlüssel \val{open-head} und -% \val{close-head}, weshalb für die Änderungsliste etwas getrickst werden muss. -% Zwischen Einträgen der ersten Ebene soll äquivalent zu \val{letter-group} -% etwas Abstand eingefügt werden. -% \begin{macrocode} - (markup-indexentry-list% - \space:sep "\string~n\string~n\space\space\string\indexspace\string~n"% - \space:depth 0% - )^^J% -% \end{macrocode} -% Da jeder Eintrag in der Änderungsliste aus mindestens drei Ebenen besteht, -% wird vor der ersten Ebene der Beginn des Markupbefehls gesetzt\dots -% \begin{macrocode} - (markup-indexentry\@spaces\space\space% - :open "\string~n\space\space\string\@lettergroup\space"\space:depth 0% - )^^J% -% \end{macrocode} -% \dots und vor Beginn der zweiten Ebene mit \cs{relax} terminiert. -% \begin{macrocode} - (markup-indexentry-list :open "\string\relax" :depth 1)^^J% -% \end{macrocode} -% Anschließend werden die zweite sowie die dritte Ebene mit \cs{item} und -% \cs{subitem} ausgezeichnet. -% \begin{macrocode} - (markup-indexentry\@spaces\space\space% - :open "\string~n\space\space\string\item\space" :depth 1% - )^^J% - (markup-indexentry-list :open "\string\efill" :depth 2)^^J% - (markup-indexentry\@spaces\space\space% - :open "\string~n\@spaces\string\subitem\space" :depth 2% - )^^J% -% \end{macrocode} -% Im Implemetierungsteil soll eine einzelne Änderungsnotiz für einen Eintrag -% direkt danach ausgegeben werden. Exisitieren für diesen jedoch mehrere -% Anmerkungen, so sollen diese in der nächsten Ebene ausgegeben werden. Da die -% Anzahl aller Anmerkungen zu einem einzelnen Eintrag zu Beginn noch unbekannt -% ist, werden alle dazugehörigen Änderungsnotizen zunächst mit \cs{tud@lst@add} -% in der~-- zuvor mit dem Makro \cs{tud@lst@init} initialisierten~-- Liste -% \cs{tud@lst@values} gesammelt und diese am Ende des jeweiligen Eintrags durch -% \cs{tud@lst@process} ausgewertet. -% \begin{macrocode} - (markup-indexentry-list^^J% - \space\space:open \space"\string\tud@lst@init"^^J% - \space\space:close "\string~n \@spaces\space\string\tud@lst@process"^^J% - \space\space:depth 3^^J% - )^^J% - (markup-indexentry^^J% - \space\space:open \space"\string~n\@spaces\space\string\tud@lst@add{"^^J% - \space\space:close "}"^^J% - \space\space:depth 3^^J% - )% - }% -% \end{macrocode} -% Für den Index aller Eintragstypen ist nur auf zu leere \cs{hbox} zu achten. -% \begin{macrocode} - \else% - \write\tud@write@xdy{% - (markup-indexentry-list :open "\string\efill" :depth 1)% - }% - \fi% -%</doc> -% \end{macrocode} -% -% \subsubsection{Attribute für Einträge} -% -% 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. -% -% \iffalse -%<*!doc> -% \fi -% -% \begin{macrocode} - \write\tud@write@xdy{% - (define-attributes (("declare" "!" "important" "?" "default")))^^J% -% \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} -%^^A (markup-attribute-group-list :sep ", ")^^J% -%^^A (define-attributes (("declare" "!") ("important" "?")("default")))^^J% -% \end{macrocode} -% Einträge, die als wichtig oder als Deklaration festgelegt wurden, könnten -% auch für normale Indexeinträge zur Bereichsbildung verwendet werden. -% Allerdings führt dies auch zur Erzeugung redundanter Einträge, falls es sich -% bei den Sondereinträgen bereits um einen Seitenbereich handelt. -% \begin{macrocode} -%^^A (merge-to "declare" "default")^^J% -%^^A (merge-to "!" "default")^^J% -%^^A (merge-to "important" "default")^^J% -%^^A (merge-to "?" "default")^^J% -% \end{macrocode} -% Hier erfolgt die Definition der Auszeichnugen der Attribute. Deklarationen -% werden fett gedruckt, wichtige Einträge erscheinen kursiv. Außerdem wird ein -% entsprechnder Link auf die Seite eingefügt. -% \begin{macrocode} - (markup-locref% - \space:attr "declare"\space\space% - \space:open "\string\textbf{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "!"\@spaces\@spaces% - \space:open "\string\textbf{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "important"% - \space:open "\string\textsl{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "?"\@spaces\@spaces% - \space:open "\string\textsl{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "default"\space\space% - \space:open "\string\hyperpage{"\@spaces\@spaces% - \space:close "}"% - )% - }% -% \end{macrocode} -% -% \iffalse -%</!doc> -%<*doc> -% \fi -% -% Für \cls{tudscrdoc} erfolgen die Auszeichnungen für den Index im Stile von -% \pkg{doc} mit den Attribute \emph{main} und \emph{usage}. -% \begin{macrocode} - \if@tud@xdy@glo\else% - \write\tud@write@xdy{% - (define-attributes (("main" "usage" "default")))^^J% - (markup-locref :attr "main"% - \space\space:open "\string\main{"\space\space:close "}"% - )^^J% - (markup-locref :attr "usage"% - \space:open "\string\usage{"\space:close "}"% - )% - }% - \fi% -% \end{macrocode} -% -% \iffalse -%</doc> -%<*!doc> -% \fi -% -% \subsubsection{Querverweise im Index} -% -% Mit \val{see}\marg{Eintrag} erzeugte Querverweise im Index prüfen, ob -% außerdem noch Seitenzahlangaben existent sind. -% \begin{macrocode} - \write\tud@write@xdy{% - (markup-crossref-list :class "see"^^J% - \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% - )^^J% - (markup-crossref-list :class "seealso"^^J% - \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J% - )% - }% -% \end{macrocode} -% -% \iffalse -%<*class> -% \fi -% -% Um Querverweise ohne Prüfung des Zieleintrags erzeugen zu können, wird der -% Typ \val{seeunverified} definiert. -% \begin{macrocode} - \write\tud@write@xdy{% - (define-crossref-class "seeunverified" :unverified)^^J% - (markup-crossref-list :class "seeunverified"^^J% - \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% - )% - }% -% \end{macrocode} -% Dieser Querverweistyp wird speziell im allgemeinen Index verwendet, um auf -% einen Spezialindex zu verweisen. Dabei dient \val{:unverified} zum -% Unterdrücken von Warnungen durch \app{texindy} aufgrund eines fehlenden -% Ziels für den Querverweis. -% \begin{macrocode} - \write\tud@write@xdy{% - (define-crossref-class "seeidx" :unverified)^^J% - (markup-crossref-list :class "seeidx"^^J% - \space\space:open "\string\seeidx{"\@spaces\@spaces:sep "; "% - \space:close "}{}"^^J% - )% - }% -% \end{macrocode} -% Damit die Makros \cs{cleversee} und \cs{cleverseealso} sowie \cs{seeidx} auf -% nachfolgende Seitenzahlen suchen können, müssen diese vor selbigen im Index -% aufgerufen werden. -% \begin{macrocode} - \write\tud@write@xdy{% - (define-location-class-order^^J% - \space\space(^^J% - \@spaces"see" "seealso" "seeidx" "seeunverified"^^J% - \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J% - \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J% - \space\space)^^J% - )% - }% -% \end{macrocode} -% -% \iffalse -%</class> -% \fi -% -% Werden mit \val{see}\marg{Eintrag!Untereintrag} gezielte Querverweise auf -% Untereinträge im Index erstellt, so werden diese nicht standardmäßig mit -% einem Komma sondern mit \enquote{\,\textbar\,} getrennt. -% \begin{macrocode} - \write\tud@write@xdy{% - (markup-crossref-layer-list :class "see"% - \@spaces\space:sep "\string\,\string\textbar\string\,"% - )^^J% - (markup-crossref-layer-list :class "seealso"% - \space:sep "\string\,\string\textbar\string\,"% - )% - }% -% \end{macrocode} -% -% \iffalse -%</!doc> -% \fi -% -% Damit ist die \app{texindy}-Stildatei fertig und kann mit \cs{tud@xdy@create} -% erstellt werden. -% \endgroup -% \begin{macrocode} - \closeout\tud@write@xdy% - }% -} -\tud@xdy@create{ind} -%<doc>\tud@xdy@create[theglossary]{gls} -%<doc>}{} -\endgroup -% \end{macrocode} -% \end{macro}^^A \if@tud@xdy@glo -% \end{macro}^^A \tud@write@xdy -% \end{macro}^^A \tud@xdy@create -% -% \iffalse -%</xindy> % \fi % % \Finale diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx index 1d4f9579707..db8d869bb77 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx @@ -1,32 +1,32 @@ % \CheckSum{2114} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-pagestyle.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-pagestyle.dtx}[% - 2016/09/22 v2.05d TUD-Script (pagestyle)% + 2017/01/03 v2.05g TUD-Script (pagestyle)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-pagestyle.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -81,8 +87,8 @@ % \section{Der Seitenstil des \CDs} % % Es wird der Seitenstil des \CD der \TnUD mit Logo und dem charakteristischen -% Querbalken im Kopfbereich mithilfe des Paketes \pkg{scrlayer-scrpage} -% definiert. +% Querbalken im Kopfbereich definiert. Hierfür kommt das \KOMAScript-Paket +% \pkg{scrlayer-scrpage} zum Einsatz. % \ToDo{Abhängigkeiten zwischen Satzspiegel und Seitenstilen beseitigen}[v2.07] % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} @@ -91,9 +97,9 @@ %<*class&body> % \fi % -% \subsection{Definition des Seitenstils mittels \pkg{scrlayer-scrpage}} +% \subsection{Definition des Seitenstils mit dem Paket \pkg{scrlayer-scrpage}} % -% Ein zentraler Bestandteil der Vorlagen ist der Seitenkopf des \CDs. Dieser +% Ein zentraler Bestandteil von \TUDScript ist der Seitenkopf des \CDs. Dieser % wird ab der Version~v2.02 mit Hilfe des Paketes \pkg{scrlayer-scrpage} % erzeugt. Dafür werden einzelnene Seitenstile erstellt, welche zum einen von % verschiedenen Befehlen wie beispielsweise von\cs{maketitle} oder \cs{part} @@ -569,38 +575,121 @@ % \end{pagestyle}^^A empty.tudheadings % \end{pagestyle}^^A plain.tudheadings % \end{pagestyle}^^A tudheadings +% Damit ist die Deklaration der Seitenstile mit \pkg{scrlayer-scrpage} beendet. % \begin{macrocode} } +% \end{macrocode} +% +% \subsubsection{Erweitertung der Seitenstilauswahl} +% +% Da sich die zuvor definierten Seitenstile von den Standardseitenstilen stark +% unterscheiden und auch einen separaten Satzspiegel benötigen, sind einige +% Makros zur Kontrollstrukturierung notwendig. +% +% \begin{macro}{\tud@if@tudheadings} +% \changes{v2.02}{2014/06/23}{neu}^^A +% \begin{macro}{\tud@ps@list} +% \changes{v2.02}{2014/06/23}{neu}^^A +% Mit dem Befehl \cs{tud@if@tudheadings} kann geprüft werden, 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. In die Liste \cs{tud@ps@list} werden die drei zuvor +% definierten Seitenstile eingetragen. +% \begin{macrocode} +\newcommand*\tud@ps@list{} \listadd\tud@ps@list{tudheadings} \listadd\tud@ps@list{plain.tudheadings} \listadd\tud@ps@list{empty.tudheadings} +\newcommand*\tud@if@tudheadings[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% +} % \end{macrocode} -% Mit der Nutzung von \pkg{scrlayer-scrpage} ist die parallele Verwendung des -% Paketes \pkg{fancyhdr} nicht möglich. +% \end{macro}^^A \tud@ps@list +% \end{macro}^^A \tud@if@tudheadings +% \begin{macro}{\thispagestyle} +% \changes{v2.03}{2015/01/20}{Auswahl eines Aliasseitenstils unterdrückt}^^A +% Wird der Befehl \cs{thispagestyle} verwendet, muss dafür Sorge getragen +% werden, dass kein Alias-Seitenstil expandiert wird. % \begin{macrocode} -\PreventPackageFromLoading[% - \ClassWarning{\TUD@Class@Name}{% - The package `fancyhdr' must not be used with a\MessageBreak% - TUD-Script class. You should make use of the\MessageBreak% - capabilities of package `scrlayer-scrpage' instead% - }% -]{fancyhdr} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}}% +}{}{\tud@patch@wrn{thispagestyle}} +% \end{macrocode} +% \end{macro}^^A \thispagestyle +% \begin{macro}{\pagestyle} +% \changes{v2.04}{2015/06/18}{Aktivierung der Seitenstile \pgs{tudheadings} vor +% \pkg{scrlayer-scrpage} möglich}^^A +% \begin{macro}{\tud@pagestyle} +% \changes{v2.04}{2015/06/18}{neu} +% Für den Fall, dass das Paket \pkg{scrlayer-scrpage} nicht geladen wird und +% dennoch das Makro \cs{currentpagestyle} wie erwartet definiert ist, wird der +% originale Befehl etwas angepasst. +% \begin{macrocode} +\newcommand*\tud@pagestyle{} +\let\tud@pagestyle\pagestyle +\pretocmd{\tud@pagestyle}{% + \tud@BeforeSelectAnyPageStyle{#1}% + \edef\currentpagestyle{#1}% +}{}{\tud@patch@wrn{pagestyle}} +% \end{macrocode} +% Damit die neuen Seitenstile auch vor dem Laden von \pkg{scrlayer-scrpage} +% bereits durch den Anwender ausgewählt werden können, wird \cs{pagestyle} +% temporär zurechtgebogen. Die Definition des Makros wird gesichert und direkt +% vor dem Laden des Paketes wiederhergestellt. Damit werden die Seitenstile +% erst aktiviert, nachdem diese auch tatsächlich erstellt wurden. +% \begin{macrocode} +\tud@cmd@store{pagestyle} +\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} +\BeforePackage{scrlayer-scrpage}{% + \tud@cmd@restore{pagestyle}% + \undef\tud@pagestyle% +} % \end{macrocode} +% \end{macro}^^A \tud@pagestyle +% \end{macro}^^A \pagestyle +% \begin{macro}{\ps@tudheadings} +% \begin{macro}{\ps@plain.tudheadings} +% \begin{macro}{\ps@empty.tudheadings} +% \begin{macro}{\currentpagestyle} +% \begin{macro}{\BeforeSelectAnyPageStyle} +% \begin{macro}{\GetRealPageStyle} +% Um die rudimentäre Verwendung der Klassen auch zu ermöglichen, wenn das Laden +% des Paketes \pkg{scrlayer-scrpage} verhindert wurde, werden für diesen Fall +% einige notwendige Makros definiert. +% \begin{macrocode} +\TUD@UnwindPackage{scrlayer-scrpage}{% + \ifcsundef{if@chapter}{% + \newif\if@chapter% + \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% + }{}% + \cslet{ps@tudheadings}{\ps@headings}% + \cslet{ps@plain.tudheadings}{\ps@plain}% + \cslet{ps@empty.tudheadings}{\ps@empty}% + \providecommand*\currentpagestyle{plain}% + \providecommand*\BeforeSelectAnyPageStyle[1]{}% + \providecommand*\GetRealPageStyle[1]{#1}% +% \end{macrocode} +% Außerdem wird die angepasste Definition von \cs{pagestyle} verwendet. +% \begin{macrocode} + \let\pagestyle\tud@pagestyle% + \undef\tud@pagestyle% +% \end{macrocode} +% Das Erstellen des Satzsiegels erfolgt normalerweise nach dem Paket. +% \begin{macrocode} + \tud@cdgeometry@init% +} +% \end{macrocode} +% \end{macro}^^A \GetRealPageStyle +% \end{macro}^^A \BeforeSelectAnyPageStyle +% \end{macro}^^A \currentpagestyle +% \end{macro}^^A \ps@empty.tudheadings +% \end{macro}^^A \ps@plain.tudheadings +% \end{macro}^^A \ps@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 -% \changes{v2.04}{2015/04/21}{Kopf- und Fußeinstellungen abhängig von der Farbe -% des Seitenhintergrunds}^^A -% \begin{macro}{\tud@head@logocolor} -% \begin{macro}{\tud@head@fontcolor} -% \changes{v2.04}{2015/05/18}{neu}^^A -% \begin{macro}{\tud@foot@logocolor} -% \changes{v2.03}{2015/02/15}{neu}^^A -% \begin{macro}{\tud@foot@fontcolor} -% \changes{v2.04}{2015/04/21}{neu}^^A -% Diese Befehle werden bei der Initialiserung der Seitenstile beziehungsweise -% zu Beginn der Ebenenausgabe aufgerufen. +% Der Befehl wird bei der Initialisierung der Seitenstile aufgerufen. % \begin{macrocode} \newcommand*\tud@ps@onselect{% % \end{macrocode} @@ -618,12 +707,30 @@ \def\sls@currentplain{plain.tudheadings}% } % \end{macrocode} +% \end{macro}^^A \tud@ps@onselect +% +% \subsubsection{Gestaltungsvarianten für Kopf- und Fußzeile} +% +% \begin{macro}{\tud@ps@onbackground} +% \changes{v2.03}{2015/02/14}{neu}^^A +% \changes{v2.04}{2015/04/21}{Kopf- und Fußeinstellungen abhängig von der Farbe +% des Seitenhintergrunds}^^A +% \begin{macro}{\tud@head@logocolor} +% \begin{macro}{\tud@head@fontcolor} +% \changes{v2.04}{2015/05/18}{neu}^^A +% \begin{macro}{\tud@foot@logocolor} +% \changes{v2.03}{2015/02/15}{neu}^^A +% \begin{macro}{\tud@foot@fontcolor} +% \changes{v2.04}{2015/04/21}{neu}^^A % 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} kann -% gleichermaßen die Farbe eines etwaigen \DDC-Logo festgelegt werden, in -% \cs{tud@foot@fontcolor} wird ggf. die Schriftfarbe für den Fuß gespeichert. +% die Farbe eines etwaigen \DDC-Logo gleichermaßen festgelegt werden, in +% \cs{tud@foot@fontcolor} wird ggf. die Schriftfarbe für den Fuß gespeichert. +% Um die Optionen innerhalb des Dokumentes ändern zu können, werden die +% Anpassungen bei jeder Ausgabe eines Seitenstiles mit \cs{tud@ps@onbackground} +% ausgeführt. % \begin{macrocode} \newcommand*\tud@head@logocolor{black} \newcommand*\tud@head@fontcolor{} @@ -728,86 +835,9 @@ % \end{macro}^^A \tud@head@fontcolor % \end{macro}^^A \tud@head@logocolor % \end{macro}^^A \tud@ps@onbackground -% \end{macro}^^A \tud@ps@onselect -% \begin{macro}{\pagestyle} -% \changes{v2.04}{2015/06/18}{Aktivierung der Seitenstile \pgs{tudheadings} vor -% \pkg{scrlayer-scrpage} möglich}^^A -% \begin{macro}{\tud@pagestyle} -% \changes{v2.04}{2015/06/18}{neu} -% Für den Fall, dass das Paket \pkg{scrlayer-scrpage} nicht geladen wird und -% dennoch das Makro \cs{currentpagestyle} wie erwartet definiert ist, wird der -% originale Befehl etwas angepasst. -% \begin{macrocode} -\newcommand*\tud@pagestyle{} -\let\tud@pagestyle\pagestyle -\pretocmd{\tud@pagestyle}{% - \tud@BeforeSelectAnyPageStyle{#1}% - \edef\currentpagestyle{#1}% -}{}{\tud@patch@wrn{pagestyle}} -% \end{macrocode} -% Damit die neuen Seitenstile auch vor dem Laden von \pkg{scrlayer-scrpage} -% bereits durch den Anwender ausgewählt werden können, wird \cs{pagestyle} -% temporär zurechtgebogen. Die Definition des Makros wird gesichert und direkt -% vor dem Laden des Paketes wiederhergestellt. Damit werden die Seitenstile -% erst aktiviert, nachdem diese auch tatsächlich erstellt wurden. -% \begin{macrocode} -\tud@cmd@store{pagestyle} -\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} -\BeforePackage{scrlayer-scrpage}{% - \tud@cmd@restore{pagestyle}% - \undef\tud@pagestyle% -} -% \end{macrocode} -% \end{macro}^^A \tud@pagestyle -% \end{macro}^^A \pagestyle -% \begin{macro}{\ps@tudheadings} -% \begin{macro}{\ps@plain.tudheadings} -% \begin{macro}{\ps@empty.tudheadings} -% \begin{macro}{\currentpagestyle} -% \begin{macro}{\BeforeSelectAnyPageStyle} -% \begin{macro}{\GetRealPageStyle} -% Um die rudimentäre Verwendung der Klassen auch zu ermöglichen, wenn das Paket -% \pkg{scrlayer-scrpage} nicht geladen wurde, werden für diesen Fall einige -% notwendige Makros definiert. -% \begin{macrocode} -\TUD@UnwindPackage{scrlayer-scrpage}{% - \ifcsundef{if@chapter}{% - \newif\if@chapter% - \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% - }{}% - \cslet{ps@tudheadings}{\ps@headings}% - \cslet{ps@plain.tudheadings}{\ps@plain}% - \cslet{ps@empty.tudheadings}{\ps@empty}% - \providecommand*\currentpagestyle{plain}% - \providecommand*\BeforeSelectAnyPageStyle[1]{}% - \providecommand*\GetRealPageStyle[1]{#1}% -% \end{macrocode} -% Außerdem wird die angepasste Definition von \cs{pagestyle} verwendet. -% \begin{macrocode} - \let\pagestyle\tud@pagestyle% - \undef\tud@pagestyle% -% \end{macrocode} -% Das erstellen des Satzsiegels erfolgt normalerweise nach dem Paket. -% \begin{macrocode} - \tud@cdgeometry@init% -} -% \end{macrocode} -% \end{macro}^^A \GetRealPageStyle -% \end{macro}^^A \BeforeSelectAnyPageStyle -% \end{macro}^^A \currentpagestyle -% \end{macro}^^A \ps@empty.tudheadings -% \end{macro}^^A \ps@plain.tudheadings -% \end{macro}^^A \ps@tudheadings -% \begin{macro}{\thispagestyle} -% \changes{v2.03}{2015/01/20}{Auswahl eines Aliasseitenstils unterdrückt}^^A -% Wird der Befehl \cs{thispagestyle} verwendet, muss dafür Sorge getragen -% werden, dass kein Alias-Seitenstil expandiert wird. -% \begin{macrocode} -\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% - \xdef\@specialstyle{\GetRealPageStyle{#1}}% -}{}{\tud@patch@wrn{thispagestyle}} -% \end{macrocode} -% \end{macro}^^A \thispagestyle +% +% \subsubsection{Gestaltung des Querbalkens in der Kopfzeile} +% % \begin{macro}{\tud@head@font@set} % \changes{v2.02}{2014/07/08}{Unterstützung für \opt{cdhead} hinzugefügt}^^A % \changes{v2.03}{2015/01/30}{Bugfix für die Änderung von \cs{spaceskip} durch @@ -909,7 +939,7 @@ % \changes{v2.04}{2015/04/08}{Verwendung von \cs{protected@edef}}^^A % \changes{v2.05}{2015/11/26}{Redesign}^^A % Dieser Befehl dient zum Füllen einer Liste für die spätere Ausgabe der -% Kopfzeilenfelder. Es werden sequentiellalle potentiellen Felder hinzugefügt. +% Kopfzeilenfelder. Es werden sequentiellalle potenziellen Felder hinzugefügt. % Sollte das hinzuzufügende Feld dazu führen, dass der Text der Kopfzeile über % den Seitenrand hinausragen würde, so wird eine weitere Zeile begonnen. Das % Trennzeichen zwischen einzelnen Feldern muss gepuffert werden, da dieses nur @@ -1090,6 +1120,9 @@ } % \end{macrocode} % \end{macro}^^A \tud@head@rule +% +% \subsubsection{Boxen für Layerinhalte} +% % \begin{macro}{\tud@newlayerbox} % \changes{v2.04}{2015/05/31}{neu}^^A % \begin{macro}{\tud@savelayerbox} @@ -1146,287 +1179,107 @@ %<*class&option> % \fi % -% \subsection{Befehle, Optionen und Umsetzung der Seitenstilvarianten} -% -% \begin{macro}{\tud@if@tudheadings} -% \changes{v2.02}{2014/06/23}{neu}^^A -% \begin{macro}{\tud@ps@list} -% \changes{v2.02}{2014/06/23}{neu}^^A -% Mit dem Befehl \cs{tud@if@tudheadings} kann geprüft werden, 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. Die Liste \cs{tud@ps@list} wird bei der Definition der -% Seitenstile selbst gesetzt. -% \begin{macrocode} -\newcommand*\tud@ps@list{} -\newcommand*\tud@if@tudheadings[3]{% - \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% -} -% \end{macrocode} -% \end{macro}^^A \tud@ps@list -% \end{macro}^^A \tud@if@tudheadings -% \begin{macro}{\if@tud@ddc@internal} -% \changes{v2.02}{2014/07/08}{neu}^^A -% Dieser Schalter wird intern von den Optionen \opt{ddc}, \opt{ddchead} und -% \opt{ddcfoot} verwendet, um rekursive Aufrufe der Optionen zu verhindern. -% \begin{macrocode} -\newif\if@tud@ddc@internal -% \end{macrocode} -% \end{macro}^^A \if@tud@ddc@internal -% -% \iffalse -%</class&option> -%<*class> -% \fi -% -% \begin{macro}{\tud@comp@clearpage} -% \changes{v2.04}{2015/05/31}{neu}^^A -% \begin{macro}{\tud@comp@resetpagestyle} -% \changes{v2.04}{2015/05/31}{neu}^^A -% Bis zur Version~v2.02 wurden unterschiedliche Satzsiegel für den Seitenfuß -% mit und ohne \DDC-Logo verwendet. Damit dieser im Zweifelsfall umgestellt -% werden kann, wurde vor dem Ausführen der entsprechenden Optionen ein -% Seitenumbruch erzwungen und nach dem Verarbeiten der Optionen der aktuelle -% Seitenstil erneut aufgerufen. Die beiden folgenden Makros werden für dieses -% Unterfangen definiert, jedoch bei der Abarbeitung der Optionen nur noch im -% Kompatibilitätmodus ausgeführt. -% \begin{macrocode} -%<*option> -\newcommand*\tud@comp@clearpage{}% -\newcommand*\tud@comp@resetpagestyle{}% -%</option> -%<*body> -\AtBeginDocument{% - \tud@if@v@lower{2.04}{% - \renewcommand*\tud@comp@clearpage{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% - \fi% - }% - \renewcommand*\tud@comp@resetpagestyle{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{% - \expandafter\pagestyle\expandafter{\currentpagestyle}% - }{}% - \fi% - }% - }{}% -} -%</body> -% \end{macrocode} -% \end{macro}^^A \tud@comp@clearpage -% \end{macro}^^A \tud@comp@resetpagestyle +% \subsection{Der Kopfbereich der Seitenstile} % -% \iffalse -%</class> -%<*class&option> -% \fi +% Es folgen Option und Befehle zur Gestaltung des Kopfbereichs mit Hauptlogo, +% Querbalken und ggf. Zweitlogo. % -% \begin{option}{ddc} -% \changes{v2.02}{2014/06/23}{automatische Logowahl}^^A -% \begin{option}{ddchead} -% \changes{v2.02}{2014/06/23}{Logo von \DDC entweder in Kopf oder Fuß}^^A -% \begin{option}{ddcfoot} -% \changes{v2.02}{2014/06/23}{Logo von \DDC entweder in Kopf oder Fuß}^^A -% Diese Optionen dienen zur Auswahl des \DDC-Logos auf Seiten mit dem Stil -% \pgs{tudheadings}. Die Option \opt{ddchead} setzt das Logo dabei immer in den -% Kopf, wobei ein mit \cs{headlogo} definiertes Zweitlogo gegebenenfalls -% überschrieben wird. Die Option \opt{ddcfoot} setzt das Logo immer in den Fuß. -% Mit der Option \opt{ddc} wird das Logo nur in den Kopf gesetzt, wenn kein -% Zweitlogo angegeben ist. Ist dies jedoch der Fall, wird das Logo stattdessen -% im Fuß ausgegeben. -% \begin{macro}{\tud@ddc@switch} -% \changes{v2.02}{2014/06/23}{neu}^^A -% Dieses Makro definiert die gültigen Werte für die \DDC-Optionen \opt{ddc}, -% \opt{ddchead} sowie \opt{ddcfoot}. -% \begin{macrocode} -\newcommand*\tud@ddc@switch{} -\edef\tud@ddc@switch{% - \TUD@numkey@bool,% - {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 -% \begin{macro}{\tud@ddc@auto@num} -% \changes{v2.02}{2014/06/23}{neu}^^A -% \begin{macro}{\if@tud@ddc@auto} -% \changes{v2.02}{2014/06/23}{neu}^^A -% \begin{macro}{\if@tud@headlogo@option@set} -% \changes{v2.04}{2015/05/31}{neu}^^A -% \begin{macro}{\if@tud@footlogo@option@set} -% \changes{v2.04}{2015/06/01}{neu}^^A -% Die Option \opt{ddc}. -% \begin{macrocode} -\newif\if@tud@headlogo@option@set -\newif\if@tud@footlogo@option@set -\newif\if@tud@ddc@auto -\newcommand*\tud@ddc@auto@num{0} -\TUD@key{ddc}[true]{% -% \end{macrocode} -% Im Kompatibiltätsmodus wird ein Seitenumbruch erzwungen. Anschließend wird -% die Option abgearbeitet. -% \begin{macrocode} - \tud@comp@clearpage% - \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% -% \end{macrocode} -% Wurde die Option \opt{ddc} intern durch \opt{ddchead} oder \opt{ddcfoot} -% aufgerufen, wird die automatische Auswahl des \DDC-Logos deaktiviert. -% \begin{macrocode} - \if@tud@ddc@internal% - \@tud@ddc@autofalse% - \else% -% \end{macrocode} -% Andernfalls wird die automatische Auswahl aktiviert und die beiden Optionen -% \opt{ddchead} sowie \opt{ddcfoot} intern zurückgesetzt. -% \begin{macrocode} - \@tud@ddc@autotrue% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddcfoot=false}% - \@tud@ddc@internalfalse% - \fi% -% \end{macrocode} -% Sowohl die \DDC-Logos als auch ein mögliches Zweilogo (\cs{headlogo}) werden -% in den entsprechenden Layern durch Boxen ausgegeben. Die beiden Schalter -% führen zum Erneuern der dazugehörigen Logoboxen. Siehe die Beschreibung der -% Makros \cs{tud@headlogo@option@set} sowie \cs{tud@footlogo@option@set}. -% \begin{macrocode} - \global\@tud@headlogo@option@settrue% - \global\@tud@footlogo@option@settrue% - \fi% -% \end{macrocode} -% Abschließend wird im Kompatibilitätsmodus der aktuelle Seitenstil aufgerufen, -% um bei einem geänderten Fuß den notwendigen Satzspiegel zu laden. -% \begin{macrocode} - \tud@comp@resetpagestyle% -} -% \end{macrocode} -% \end{macro}^^A \if@tud@footlogo@option@set -% \end{macro}^^A \if@tud@headlogo@option@set -% \end{macro}^^A \if@tud@ddc@auto -% \end{macro}^^A \tud@ddc@auto@num -% \begin{macro}{\tud@ddc@head@num} -% \changes{v2.03}{2015/01/22}{Seitenstilauswahl bei Deaktivierung verbessert}^^A -% Die Option \opt{ddchead} dient zum zwingenden Setzen des \DDC-Logos im Kopf -% der Seiten im Stil von \pgs{tudheadings}. -% \begin{macrocode} -\newcommand*\tud@ddc@head@num{0} -\TUD@key{ddchead}[true]{% -% \end{macrocode} -% Der Seitenumbruch im Kompatibilitätsmodus. -% \begin{macrocode} - \tud@comp@clearpage% - \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% -% \end{macrocode} -% Beim internen Aufruf soll lediglich der Wert des Schlüssels geändert werden. -% Wurde die Option durch den Anwender genutzt, werden die korrespondierenden -% Optionen zurückgesetzt. Der Aufruf der Option \opt{ddc} führt zum erneuten -% setzen der Logoboxen. +% \begin{option}{cdhead} +% \changes{v2.03}{2015/01/29}{neu}^^A +% \changes{v2.04}{2015/05/18}{Wert \val{barcolor} neu}^^A +% \begin{macro}{\tud@head@font@num} +% \changes{v2.03}{2015/02/04}{neu}^^A +% \begin{macro}{\if@tud@head@font@num@locked} +% \changes{v2.03}{2015/02/04}{neu}^^A +% \begin{macro}{\tud@head@bar@num} +% \changes{v2.03}{2015/02/04}{neu}^^A +% \begin{macro}{\tud@head@bar@num@lock} +% \changes{v2.04}{2015/04/01}{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 +% \begin{macro}{\if@tud@head@font@set} +% \begin{macro}{\if@tud@head@date} +% \changes{v2.05}{2016/05/27}{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@num}{0} +\cs@lock{tud@head@bar@num}{0} +\bool@lock{@tud@head@widebar} +\newif\if@tud@head@font@set +\newif\if@tud@head@date +\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},{bold}{2},{boldfont}{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},% + {colorbar}{5},{barcolor}{5},{colourbar}{5},{barcolour}{5},% + {bicolor}{6},{bicolour}{6},{twocolor}{6},{twocolour}{6},% + {bichrome}{6},{bichromatic}{6},{dichrome}{6},{dichromatic}{6},% + {color}{6},{colour}{6},% + {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},% + {textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},% + {narrow}{7},{narrowhead}{7},{small}{7},{smallhead}{7},% + {paperwidth}{8},{wide}{8},{widehead}{8},% + {date}{9},{showdate}{9},{dateon}{9},{datetrue}{9},{dateyes}{9},% + {nodate}{10},{hidedate}{10},{dateoff}{10},{datefalse}{10},{dateno}{10}% + }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddcfoot=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% + \ifcase\@tempa\relax% false + \cs@set@lock{tud@head@font@num}{0}% + \or% true + \cs@set@lock{tud@head@font@num}{1}% + \or% heavy + \cs@set@lock{tud@head@font@num}{2}% + \or% nocolor + \cs@set@lock{tud@head@bar@num}{0}% + \or% litecolor + \cs@set@lock{tud@head@bar@num}{1}% + \or% barcolor + \cs@set@lock{tud@head@bar@num}{2}% + \or% color + \cs@set@lock{tud@head@bar@num}{3}% + \or% textwidth + \bool@set@lock{@tud@head@widebar}{false}% + \or% paperwidth + \bool@set@lock{@tud@head@widebar}{true}% + \or% date + \@tud@head@datetrue% + \or% nodate + \@tud@head@datefalse% \fi% - \fi% -% \end{macrocode} -% Das Setzen des Seitenstils im Kompatibilitätsmodus. -% \begin{macrocode} - \tud@comp@resetpagestyle% -} -% \end{macrocode} -% \end{macro}^^A \tud@ddc@head@num -% \begin{macro}{\tud@ddc@foot@num} -% \changes{v2.03}{2015/01/22}{Seitenstilauswahl bei Deaktivierung verbessert}^^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} -% \begin{macrocode} -\newcommand*\tud@ddc@foot@num{0} -\TUD@key{ddcfoot}[true]{% -% \end{macrocode} -% Der Seitenumbruch im Kompatibilitätsmodus. -% \begin{macrocode} - \tud@comp@clearpage% - \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% -% \end{macrocode} -% Beim internen Aufruf soll lediglich der Wert des Schlüssels geändert werden. -% Wurde die Option durch den Anwender genutzt, werden die korrespondierenden -% Optionen zurückgesetzt. Der Aufruf der Option \opt{ddc} führt zum erneuten -% setzen der Logoboxen. -% \begin{macrocode} - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% + \ifnum\@tempa<\thr@@\relax% + \global\@tud@head@font@settrue% \fi% \fi% -% \end{macrocode} -% Das Setzen des Seitenstils im Kompatibilitätsmodus. -% \begin{macrocode} - \tud@comp@resetpagestyle% } % \end{macrocode} -% \end{macro}^^A \tud@ddc@foot@num -% \end{option}^^A ddcfoot -% \end{option}^^A ddchead -% \end{option}^^A ddc +% \end{macro}^^A \if@tud@head@date +% \end{macro}^^A \if@tud@head@font@set +% \end{macro}^^A \if@tud@head@widebar@locked +% \end{macro}^^A \if@tud@head@widebar +% \end{macro}^^A \tud@head@bar@num@lock +% \end{macro}^^A \tud@head@bar@num +% \end{macro}^^A \if@tud@head@font@num@locked +% \end{macro}^^A \tud@head@font@num +% \end{option}^^A cdhead % % \iffalse %</class&option> %<*class&body> % \fi % -% \begin{macro}{\tud@ddc@check} -% \changes{v2.02}{2014/06/23}{neu}^^A -% Dieses Hilfsmakro wird aufgerufen, wenn geprüft wird, welche Einstellungen -% für Kopf und Fuß des Seitenstiles \pgs{tudheadings} zum Tragen kommen sollen. -% Dabei wird über den Schalter \cs{if@tud@ddc@auto}festgelegt, ob die Auswahl -% des \DDC-Logos automatisch erfolgen soll~-- Option \opt{ddc} wurde verwendet. -% Ist dies der Fall, wird das Logo standardmäßig im Kopf gesetzt. Ist jedoch -% durch den Befehl \cs{headlogo} ein Zweitlogo angegeben worde, wird dieses in -% der Fußzeile ausgegeben. Die Verwendung einer der Optionen \opt{ddchead} bzw. -% \opt{ddcfoot} forciert die Ausgabe des \DDC-Logos an der gewünschten Stelle. -% Die jeweils gültige Auswahl für Kopf bzw. Fuß wird in den Makros \cs{@tempa} -% bzw. \cs{@tempb} geschrieben und kann anschließend ausgewertet werden. -% \begin{macrocode} -\newcommand*\tud@ddc@check{% - \let\@tempa\tud@ddc@head@num% - \let\@tempb\tud@ddc@foot@num% - \if@tud@ddc@auto% - \ifdefvoid{\tud@headlogo@filename}{% - \let\@tempa\tud@ddc@auto@num% - \let\@tempb\z@% - }{% - \let\@tempa\z@% - \let\@tempb\tud@ddc@auto@num% - }% - \fi% -% \end{macrocode} -% Für die Satzspiegelvergrößerung wird beim Vorhandensein eines oder mehrerer -% Logos im Fuß die Variable \cs{@tempb} auf einen negativen Wert gesetzt, um -% auch ohne die Ausgabe eines \DDC-Logos den Fußbereich zu vergrößern. -% \begin{macrocode} - \tud@if@v@lower{2.03}{% - \ifnum\@tempb=\z@\relax% - \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% - \fi% - }{}% -} -% \end{macrocode} -% \end{macro}^^A \tud@ddc@check % \begin{macro}{\tud@layer@main@black} % \changes{v2.04}{2015/05/31}{neu}^^A % \begin{macro}{\tud@layer@main@HKS41} @@ -1444,6 +1297,9 @@ % \end{macro}^^A \tud@layer@main@white % \end{macro}^^A \tud@layer@main@HKS41 % \end{macro}^^A \tud@layer@main@black +% +% \subsubsection{Das Hauptlogo der \TnUD} +% % \begin{macro}{\tud@mainlogo@set} % \changes{v2.04}{2015/05/31}{neu}^^A % \begin{macro}{\if@tud@mainlogo@wrn} @@ -1452,16 +1308,14 @@ % \changes{v2.04}{2015/05/31}{neu}^^A % \begin{macro}{\tud@mainlogo@wrn} % \changes{v2.02}{2014/06/23}{Umbenennen von \cs{tud@head@logo@wrn}}^^A +% Das Makro \cs{tud@mainlogo@set} setzt sowohl das Logo der \TnUD als auch~-- +% durch den Aufruf der entsprechenden Befehle zum Schluss~-- alle weiteren +% Logos und Inhalte im Kopf und Fuß. Dies geschieht nach jeder Änderung des +% Satzspiegels beim Ausführen der einzelnen Seitenstil-Layer. Dafür wird der +% Schalter \cs{if@tud@mainlogo@set} im Hook \cs{tud@AfterChangingArea} gesetzt. % \begin{macrocode} \newlength\tud@len@mainlogoheight \newcommand*\tud@mainlogo@wrn[1]{} -% \end{macrocode} -% Dieses Makro setzt zu einen das Logo der \TnUD als auch~-- durch den Aufruf -% der entsprechenden Befehle zum Schluss~-- alle weiteren Logos und Inhalte im -% Kopf und Fuß. Dies geschieht nach jeder Satzspiegeländerung beim Ausführen -% der einzelnen Seitenstil-Layer. Dafür wird \cs{if@tud@mainlogo@set} im Hook -% \cs{tud@AfterChangingArea} gesetzt. -% \begin{macrocode} \newif\if@tud@mainlogo@set \newcommand*\tud@mainlogo@set{% \if@tud@mainlogo@set% @@ -1520,6 +1374,9 @@ } % \end{macrocode} % \end{macro}^^A \tud@mainlogo@use +% +% \subsubsection{Optionales Zweit- oder \DDC-Logo} +% % \begin{macro}{\tud@layer@head@black} % \changes{v2.04}{2015/05/31}{neu}^^A % \begin{macro}{\tud@layer@head@HKS41} @@ -1678,34 +1535,163 @@ } % \end{macrocode} % \end{macro}^^A \tud@headlogo@use -% \begin{macro}{\tud@layer@foot@black} -% \changes{v2.04}{2015/06/01}{neu}^^A -% \begin{macro}{\tud@layer@foot@HKS41} -% \changes{v2.04}{2015/06/01}{neu}^^A -% \begin{macro}{\tud@layer@foot@white} -% \changes{v2.04}{2015/06/01}{neu}^^A -% \begin{macro}{\tud@layer@foot@option} -% \changes{v2.04}{2015/06/01}{neu}^^A -% Im Fußbereich kann das \DDC-Logo rechtsbündig ausgegeben. Hierfür werden die -% entsprechenden Boxen für alle Farbvarianten definiert. Diese werden genutzt, -% wenn entweder die Option \opt{ddcfoot} oder aber \opt{ddc} in Verbindung mit -% einem Zweitlogo (\cs{headlogo}) genutzt wird. +% +% \iffalse +%</class&body> +%<*class&option> +% \fi +% +% \subsection{Der Fußbereich der Seitenstile} +% +% Es folgen Option und Befehle zur Gestaltung des Fußbereichs mit optionalem +% Inhalt im Fuß, Drittlogos und \DDC-Logo. +% +% \begin{option}{cdfoot} +% \changes{v2.03}{2015/02/02}{Bei Längenangabe wird \opt{extrabottommargin} +% indirekt genutzt}^^A +% \changes{v2.04}{2015/06/18}{bedingtes Setzen der Option \opt{automark}}^^A +% \begin{macro}{\if@tud@foot@colored} +% \changes{v2.03}{2015/02/15}{neu}^^A +% \begin{macro}{\if@tud@foot@colored@locked} +% \changes{v2.05}{2015/07/14}{neu}^^A +% \begin{macro}{\tud@ps@store} +% \changes{v2.02}{2014/06/23}{neu}^^A +% \begin{macro}{\tud@ps@@store} +% \changes{v2.02}{2014/06/23}{neu}^^A +% \begin{macro}{\tud@ps@restore} +% \changes{v2.02}{2014/06/23}{neu}^^A +% \begin{macro}{\tud@ps@@restore} +% \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. Zusätzlich kann mit dieser Option ggf. ein farbiger Hintergrund in +% der Fußzeile aktiviert werden. +% +% Einige Einstellungen sind abhängig vom Paket \pkg{scrlayer-scrpage}, welches +% unter Umständen nicht geladen wird. Mit dem Befehl \cs{TUD@AfterPackage@do} +% kann Quelltext nur dann ausgeführt werden, wenn ein Paket auch tatsächlich +% geladen wurde. Hierfür ist die Initialisierung mit \cs{TUD@AfterPackage@set} +% nötig. % \begin{macrocode} -\tud@newlayerbox{foot@black} -\tud@newlayerbox{foot@HKS41} -\tud@newlayerbox{foot@white} -\tud@newlayerbox{foot@option} +\TUD@AfterPackage@set{scrlayer-scrpage} +\bool@lock{@tud@foot@colored} +\TUD@key{cdfoot}[true]{% + \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% false % \end{macrocode} -% \end{macro}^^A \tud@layer@foot@option -% \end{macro}^^A \tud@layer@foot@white -% \end{macro}^^A \tud@layer@foot@HKS41 -% \end{macro}^^A \tud@layer@foot@black +% 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@do{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 dem Makro \cs{tud@ps@store} +% gesichert, um gegebenenfalls zurückschalten zu können. Anschließend werden +% diese mit dem neuen Stil überschrieben. Dies wird allerdings frühestens nach +% dem Laden von \pkg{scrlayer-scrpage} durchgeführt. +% \begin{macrocode} + \or% true + \TUD@AfterPackage@do{scrlayer-scrpage}{% + \tud@ps@store{scrheadings}% + \tud@ps@store{plain.scrheadings}% + \tud@font@koma@set{pageheadfoot}{\upshape}% + \clearpairofpagestyles% + \ofoot[\pagemark]{% + \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi% + {\footnotesize\headmark}% + \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% + }% + \ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi% + }% +% \end{macrocode} +% Hier kann die Hintergrundfarbe des Fußes aktiviert bzw. deaktiviert werden. +% \begin{macrocode} + \or% nocolor + \bool@set@lock{@tud@foot@colored}{false}% + \or% color + \bool@set@lock{@tud@foot@colored}{true}% + \fi% +% \end{macrocode} +% Außerdem kann mit der Option \opt{extrabottommargin} gesetzt werden. +% \begin{macrocode} + \else% + \ifdimen{#1}{\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}% +} +% \end{macrocode} +% \dots, wobei hierfür auf die internen Befehle von \pkg{scrlayer-scrpage} +% zurückgegriffen werden muss. +% \begin{macrocode} +\newcommand*\tud@ps@@store[4]{% + \ifcsdef{@@tud@ps@#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}% +} +\newcommand*\tud@ps@@restore[4]{% + \ifcsdef{@@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} +% \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@foot@colored@locked +% \end{macro}^^A \if@tud@foot@colored +% \end{option}^^A cdfoot % % \iffalse -%</class&body> +%</class&option> %<*class> % \fi % +% \subsubsection{Optionales \DDC-Logo oder Drittlogos} +% % \begin{option}{footlogoheight} % \changes{v2.05}{2016/06/16}{neu}^^A % \begin{macro}{\tud@dim@footlogoheight} @@ -1755,6 +1741,28 @@ %<*class&body> % \fi % +% \begin{macro}{\tud@layer@foot@black} +% \changes{v2.04}{2015/06/01}{neu}^^A +% \begin{macro}{\tud@layer@foot@HKS41} +% \changes{v2.04}{2015/06/01}{neu}^^A +% \begin{macro}{\tud@layer@foot@white} +% \changes{v2.04}{2015/06/01}{neu}^^A +% \begin{macro}{\tud@layer@foot@option} +% \changes{v2.04}{2015/06/01}{neu}^^A +% Im Fußbereich kann das \DDC-Logo rechtsbündig ausgegeben. Hierfür werden die +% entsprechenden Boxen für alle Farbvarianten definiert. Diese werden genutzt, +% wenn entweder die Option \opt{ddcfoot} oder aber \opt{ddc} in Verbindung mit +% einem Zweitlogo (\cs{headlogo}) genutzt wird. +% \begin{macrocode} +\tud@newlayerbox{foot@black} +\tud@newlayerbox{foot@HKS41} +\tud@newlayerbox{foot@white} +\tud@newlayerbox{foot@option} +% \end{macrocode} +% \end{macro}^^A \tud@layer@foot@option +% \end{macro}^^A \tud@layer@foot@white +% \end{macro}^^A \tud@layer@foot@HKS41 +% \end{macro}^^A \tud@layer@foot@black % \begin{macro}{\tud@footlogo@ddc@set} % \changes{v2.04}{2015/06/01}{neu}^^A % \begin{macro}{\tud@footlogo@option@set} @@ -1980,10 +1988,13 @@ } % \end{macrocode} % \end{macro}^^A \tud@footlogo@cmd@use -% \begin{KOMAfont}{tudheadings} -% \changes{v2.04}{2015/04/21}{neu}^^A +% +% \subsubsection{Optionaler Inhalt im Fußbereich} +% % \begin{macro}{\footcontent} % \changes{v2.04}{2015/04/21}{neu}^^A +% \begin{KOMAfont}{tudheadings} +% \changes{v2.04}{2015/04/21}{neu}^^A % \begin{macro}{\tud@footcontent@do} % \changes{v2.04}{2015/04/21}{neu}^^A % \begin{macro}{\tud@footcontent@@do} @@ -2060,8 +2071,8 @@ % \end{macro}^^A \tud@footcontent@fontface % \end{macro}^^A \tud@footcontent@@do % \end{macro}^^A \tud@footcontent@do -% \end{macro}^^A \footcontent % \end{KOMAfont}^^A tudheadings +% \end{macro}^^A \footcontent % % \iffalse %<*class&poster> @@ -2282,240 +2293,271 @@ %<*class&option> % \fi % -% \begin{option}{cdhead} -% \changes{v2.03}{2015/01/29}{neu}^^A -% \changes{v2.04}{2015/05/18}{Wert \val{barcolor} neu}^^A -% \begin{macro}{\tud@head@font@num} -% \changes{v2.03}{2015/02/04}{neu}^^A -% \begin{macro}{\if@tud@head@font@num@locked} -% \changes{v2.03}{2015/02/04}{neu}^^A -% \begin{macro}{\tud@head@bar@num} -% \changes{v2.03}{2015/02/04}{neu}^^A -% \begin{macro}{\tud@head@bar@num@lock} -% \changes{v2.04}{2015/04/01}{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 -% \begin{macro}{\if@tud@head@font@set} -% \begin{macro}{\if@tud@head@date} -% \changes{v2.05}{2016/05/27}{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. +% \subsection{Optionen für das \DDC-Logo} +% +% \begin{macro}{\if@tud@ddc@internal} +% \changes{v2.02}{2014/07/08}{neu}^^A +% Dieser Schalter wird intern von den Optionen \opt{ddc}, \opt{ddchead} und +% \opt{ddcfoot} verwendet, um rekursive Aufrufe der Optionen zu verhindern. % \begin{macrocode} -\cs@lock{tud@head@font@num}{0} -\cs@lock{tud@head@bar@num}{0} -\bool@lock{@tud@head@widebar} -\newif\if@tud@head@font@set -\newif\if@tud@head@date -\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},{bold}{2},{boldfont}{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},% - {colorbar}{5},{barcolor}{5},{colourbar}{5},{barcolour}{5},% - {bicolor}{6},{bicolour}{6},{twocolor}{6},{twocolour}{6},% - {bichrome}{6},{bichromatic}{6},{dichrome}{6},{dichromatic}{6},% - {color}{6},{colour}{6},% - {full}{6},{colorfull}{6},{fullcolor}{6},{colourfull}{6},{fullcolour}{6},% - {textwidth}{7},{slim}{7},{slimhead}{7},{nowide}{7},{nowidehead}{7},% - {narrow}{7},{narrowhead}{7},{small}{7},{smallhead}{7},% - {paperwidth}{8},{wide}{8},{widehead}{8},% - {date}{9},{showdate}{9},{dateon}{9},{datetrue}{9},{dateyes}{9},% - {nodate}{10},{hidedate}{10},{dateoff}{10},{datefalse}{10},{dateno}{10}% - }{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifcase\@tempa\relax% false - \cs@set@lock{tud@head@font@num}{0}% - \or% true - \cs@set@lock{tud@head@font@num}{1}% - \or% heavy - \cs@set@lock{tud@head@font@num}{2}% - \or% nocolor - \cs@set@lock{tud@head@bar@num}{0}% - \or% litecolor - \cs@set@lock{tud@head@bar@num}{1}% - \or% barcolor - \cs@set@lock{tud@head@bar@num}{2}% - \or% color - \cs@set@lock{tud@head@bar@num}{3}% - \or% textwidth - \bool@set@lock{@tud@head@widebar}{false}% - \or% paperwidth - \bool@set@lock{@tud@head@widebar}{true}% - \or% date - \@tud@head@datetrue% - \or% nodate - \@tud@head@datefalse% - \fi% - \ifnum\@tempa<\thr@@\relax% - \global\@tud@head@font@settrue% - \fi% - \fi% +\newif\if@tud@ddc@internal +% \end{macrocode} +% \end{macro}^^A \if@tud@ddc@internal +% +% \iffalse +%</class&option> +%<*class> +% \fi +% +% \begin{macro}{\tud@comp@clearpage} +% \changes{v2.04}{2015/05/31}{neu}^^A +% \begin{macro}{\tud@comp@resetpagestyle} +% \changes{v2.04}{2015/05/31}{neu}^^A +% Bis zur Version~v2.02 wurden unterschiedliche Satzsiegel für den Seitenfuß +% mit und ohne \DDC-Logo verwendet. Damit dieser im Zweifelsfall umgestellt +% werden kann, wurde vor dem Ausführen der entsprechenden Optionen ein +% Seitenumbruch erzwungen und nach dem Verarbeiten der Optionen der aktuelle +% Seitenstil erneut aufgerufen. Die beiden folgenden Makros werden für dieses +% Unterfangen definiert, jedoch bei der Abarbeitung der Optionen nur noch im +% Kompatibilitätmodus ausgeführt. +% \begin{macrocode} +%<*option> +\newcommand*\tud@comp@clearpage{}% +\newcommand*\tud@comp@resetpagestyle{}% +%</option> +%<*body> +\AtBeginDocument{% + \tud@if@v@lower{2.04}{% + \renewcommand*\tud@comp@clearpage{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% + \fi% + }% + \renewcommand*\tud@comp@resetpagestyle{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }{}% + \fi% + }% + }{}% } +%</body> % \end{macrocode} -% \end{macro}^^A \if@tud@head@date -% \end{macro}^^A \if@tud@head@font@set -% \end{macro}^^A \if@tud@head@widebar@locked -% \end{macro}^^A \if@tud@head@widebar -% \end{macro}^^A \tud@head@bar@num@lock -% \end{macro}^^A \tud@head@bar@num -% \end{macro}^^A \if@tud@head@font@num@locked -% \end{macro}^^A \tud@head@font@num -% \end{option}^^A cdhead -% \begin{option}{cdfoot} -% \changes{v2.03}{2015/02/02}{Bei Längenangabe wird \opt{extrabottommargin} -% indirekt genutzt}^^A -% \changes{v2.04}{2015/06/18}{bedingtes Setzen der Option \opt{automark}}^^A -% \begin{macro}{\if@tud@foot@colored} -% \changes{v2.03}{2015/02/15}{neu}^^A -% \begin{macro}{\if@tud@foot@colored@locked} -% \changes{v2.05}{2015/07/14}{neu}^^A -% \begin{macro}{\tud@ps@store} -% \changes{v2.02}{2014/06/23}{neu}^^A -% \begin{macro}{\tud@ps@@store} +% \end{macro}^^A \tud@comp@clearpage +% \end{macro}^^A \tud@comp@resetpagestyle +% +% \iffalse +%</class> +%<*class&option> +% \fi +% +% \begin{option}{ddc} +% \changes{v2.02}{2014/06/23}{automatische Logowahl}^^A +% \begin{option}{ddchead} +% \changes{v2.02}{2014/06/23}{Logo von \DDC entweder in Kopf oder Fuß}^^A +% \begin{option}{ddcfoot} +% \changes{v2.02}{2014/06/23}{Logo von \DDC entweder in Kopf oder Fuß}^^A +% Diese Optionen dienen zur Auswahl des \DDC-Logos auf Seiten mit dem Stil +% \pgs{tudheadings}. Die Option \opt{ddchead} setzt das Logo dabei immer in den +% Kopf, wobei ein mit \cs{headlogo} definiertes Zweitlogo gegebenenfalls +% überschrieben wird. Die Option \opt{ddcfoot} setzt das Logo immer in den Fuß. +% Mit der Option \opt{ddc} wird das Logo nur in den Kopf gesetzt, wenn kein +% Zweitlogo angegeben ist. Ist dies jedoch der Fall, wird das Logo stattdessen +% im Fuß ausgegeben. +% \begin{macro}{\tud@ddc@switch} % \changes{v2.02}{2014/06/23}{neu}^^A -% \begin{macro}{\tud@ps@restore} +% Das Makro definiert die gültigen Werte für die \DDC-Optionen \opt{ddc}, +% \opt{ddchead} sowie \opt{ddcfoot}. +% \begin{macrocode} +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {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 +% \begin{macro}{\tud@ddc@auto@num} % \changes{v2.02}{2014/06/23}{neu}^^A -% \begin{macro}{\tud@ps@@restore} +% \begin{macro}{\if@tud@ddc@auto} % \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. Zusätzlich kann mit dieser Option ggf. ein farbiger Hintergrund in -% der Fußzeile aktiviert werden. -% -% Einige Einstellungen sind abhängig vom Paket \pkg{scrlayer-scrpage}, welches -% unter Umständen nicht geladen wird. Mit dem Befehl \cs{TUD@AfterPackage@do} -% kann Quelltext nur dann ausgeführt werden, wenn ein Paket auch tatsächlich -% geladen wurde. Hierfür ist die Initialisierung mit \cs{TUD@AfterPackage@set} -% nötig. +% \begin{macro}{\if@tud@headlogo@option@set} +% \changes{v2.04}{2015/05/31}{neu}^^A +% \begin{macro}{\if@tud@footlogo@option@set} +% \changes{v2.04}{2015/06/01}{neu}^^A +% Die Option \opt{ddc}. % \begin{macrocode} -\TUD@AfterPackage@set{scrlayer-scrpage} -\bool@lock{@tud@foot@colored} -\TUD@key{cdfoot}[true]{% - \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% false +\newif\if@tud@headlogo@option@set +\newif\if@tud@footlogo@option@set +\newif\if@tud@ddc@auto +\newcommand*\tud@ddc@auto@num{0} +\TUD@key{ddc}[true]{% % \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. +% Im Kompatibiltätsmodus wird ein Seitenumbruch erzwungen. Anschließend wird +% die Option abgearbeitet. % \begin{macrocode} - \TUD@AfterPackage@do{scrlayer-scrpage}{% - \tud@ps@restore{scrheadings}% - \tud@ps@restore{plain.scrheadings}% - \tud@font@koma@unset{pageheadfoot}% - }% + \tud@comp@clearpage% + \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% % \end{macrocode} -% Die ursprünglichen Kopf- und Fußzeilen werden mit dem Makro \cs{tud@ps@store} -% gesichert, um gegebenenfalls zurückschalten zu können. Anschließend werden -% diese mit dem neuen Stil überschrieben. Dies wird allerdings frühestens nach -% dem Laden von \pkg{scrlayer-scrpage} durchgeführt. +% Wurde die Option \opt{ddc} intern durch \opt{ddchead} oder \opt{ddcfoot} +% aufgerufen, wird die automatische Auswahl des \DDC-Logos deaktiviert. % \begin{macrocode} - \or% true - \TUD@AfterPackage@do{scrlayer-scrpage}{% - \tud@ps@store{scrheadings}% - \tud@ps@store{plain.scrheadings}% - \tud@font@koma@set{pageheadfoot}{\upshape}% - \clearpairofpagestyles% - \ofoot[\pagemark]{% - \if@twoside\ifodd\value{page}\else\pagemark\quad\fi\fi% - {\footnotesize\headmark}% - \if@twoside\ifodd\value{page}\quad\pagemark\fi\else\quad\pagemark\fi% - }% - \ifx\@mkdouble\@gobble\else\KOMAoptions{automark}\fi% - }% + \if@tud@ddc@internal% + \@tud@ddc@autofalse% + \else% % \end{macrocode} -% Hier kann die Hintergrundfarbe des Fußes aktiviert bzw. deaktiviert werden. +% Andernfalls wird die automatische Auswahl aktiviert und die beiden Optionen +% \opt{ddchead} sowie \opt{ddcfoot} intern zurückgesetzt. % \begin{macrocode} - \or% nocolor - \bool@set@lock{@tud@foot@colored}{false}% - \or% color - \bool@set@lock{@tud@foot@colored}{true}% + \@tud@ddc@autotrue% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@internalfalse% \fi% % \end{macrocode} -% Außerdem kann mit der Option \opt{extrabottommargin} gesetzt werden. +% Sowohl die \DDC-Logos als auch ein mögliches Zweilogo (\cs{headlogo}) werden +% in den entsprechenden Layern durch Boxen ausgegeben. Die beiden Schalter +% führen zum Erneuern der dazugehörigen Logoboxen. Siehe die Beschreibung der +% Makros \cs{tud@headlogo@option@set} sowie \cs{tud@footlogo@option@set}. % \begin{macrocode} - \else% - \ifdimen{#1}{\TUDoptions{extrabottommargin=#1}}{}% + \global\@tud@headlogo@option@settrue% + \global\@tud@footlogo@option@settrue% \fi% -} % \end{macrocode} -% Die nächsten beiden Befehle dienen zum Sichern der Kopf- und Fußzeilen\dots +% Abschließend wird im Kompatibilitätsmodus der aktuelle Seitenstil aufgerufen, +% um bei einem geänderten Fuß den notwendigen Satzspiegel zu laden. % \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@comp@resetpagestyle% } % \end{macrocode} -% \dots, wobei hierfür auf die internen Befehle von \pkg{scrlayer-scrpage} -% zurückgegriffen werden muss. +% \end{macro}^^A \if@tud@footlogo@option@set +% \end{macro}^^A \if@tud@headlogo@option@set +% \end{macro}^^A \if@tud@ddc@auto +% \end{macro}^^A \tud@ddc@auto@num +% \begin{macro}{\tud@ddc@head@num} +% \changes{v2.03}{2015/01/22}{Seitenstilauswahl bei Deaktivierung verbessert}^^A +% Die Option \opt{ddchead} dient zum zwingenden Setzen des \DDC-Logos im Kopf +% der Seiten im Stil von \pgs{tudheadings}. % \begin{macrocode} -\newcommand*\tud@ps@@store[4]{% - \ifcsdef{@@tud@ps@#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}% +\newcommand*\tud@ddc@head@num{0} +\TUD@key{ddchead}[true]{% +% \end{macrocode} +% Der Seitenumbruch im Kompatibilitätsmodus. +% \begin{macrocode} + \tud@comp@clearpage% + \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% +% \end{macrocode} +% Beim internen Aufruf soll lediglich der Wert des Schlüssels geändert werden. +% Wurde die Option durch den Anwender genutzt, werden die korrespondierenden +% Optionen zurückgesetzt. Der Aufruf der Option \opt{ddc} führt zum erneuten +% setzen der Logoboxen. +% \begin{macrocode} + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddcfoot=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% +% \end{macrocode} +% Das Setzen des Seitenstils im Kompatibilitätsmodus. +% \begin{macrocode} + \tud@comp@resetpagestyle% } -\newcommand*\tud@ps@@restore[4]{% - \ifcsdef{@@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} +% \end{macro}^^A \tud@ddc@head@num +% \begin{macro}{\tud@ddc@foot@num} +% \changes{v2.03}{2015/01/22}{Seitenstilauswahl bei Deaktivierung verbessert}^^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} +% \begin{macrocode} +\newcommand*\tud@ddc@foot@num{0} +\TUD@key{ddcfoot}[true]{% +% \end{macrocode} +% Der Seitenumbruch im Kompatibilitätsmodus. +% \begin{macrocode} + \tud@comp@clearpage% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% +% \end{macrocode} +% Beim internen Aufruf soll lediglich der Wert des Schlüssels geändert werden. +% Wurde die Option durch den Anwender genutzt, werden die korrespondierenden +% Optionen zurückgesetzt. Der Aufruf der Option \opt{ddc} führt zum erneuten +% setzen der Logoboxen. +% \begin{macrocode} + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% +% \end{macrocode} +% Das Setzen des Seitenstils im Kompatibilitätsmodus. +% \begin{macrocode} + \tud@comp@resetpagestyle% } % \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@foot@colored@locked -% \end{macro}^^A \if@tud@foot@colored -% \end{option}^^A cdfoot +% \end{macro}^^A \tud@ddc@foot@num +% \end{option}^^A ddcfoot +% \end{option}^^A ddchead +% \end{option}^^A ddc % % \iffalse %</class&option> %<*class&body> % \fi % +% \begin{macro}{\tud@ddc@check} +% \changes{v2.02}{2014/06/23}{neu}^^A +% Dieses Hilfsmakro wird aufgerufen, wenn geprüft wird, welche Einstellungen +% für Kopf und Fuß des Seitenstiles \pgs{tudheadings} zum Tragen kommen sollen. +% Dabei wird über den Schalter \cs{if@tud@ddc@auto}festgelegt, ob die Auswahl +% des \DDC-Logos automatisch erfolgen soll~-- Option \opt{ddc} wurde verwendet. +% Ist dies der Fall, wird das Logo standardmäßig im Kopf gesetzt. Ist jedoch +% durch den Befehl \cs{headlogo} ein Zweitlogo angegeben worde, wird dieses in +% der Fußzeile ausgegeben. Die Verwendung einer der Optionen \opt{ddchead} bzw. +% \opt{ddcfoot} forciert die Ausgabe des \DDC-Logos an der gewünschten Stelle. +% Die jeweils gültige Auswahl für Kopf bzw. Fuß wird in den Makros \cs{@tempa} +% bzw. \cs{@tempb} geschrieben und kann anschließend ausgewertet werden. +% \begin{macrocode} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head@num% + \let\@tempb\tud@ddc@foot@num% + \if@tud@ddc@auto% + \ifdefvoid{\tud@headlogo@filename}{% + \let\@tempa\tud@ddc@auto@num% + \let\@tempb\z@% + }{% + \let\@tempa\z@% + \let\@tempb\tud@ddc@auto@num% + }% + \fi% +% \end{macrocode} +% Für die Satzspiegelvergrößerung wird beim Vorhandensein eines oder mehrerer +% Logos im Fuß die Variable \cs{@tempb} auf einen negativen Wert gesetzt, um +% auch ohne die Ausgabe eines \DDC-Logos den Fußbereich zu vergrößern. +% \begin{macrocode} + \tud@if@v@lower{2.03}{% + \ifnum\@tempb=\z@\relax% + \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% + \fi% + }{}% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@check +% +% \subsection{Umgebungsparameter für die neuen Seitenstile} +% % \begin{macro}{\tud@ps@parameters} % Im Folgenden werden die einzelnen Parameter für die \env{tudpage}-Umgebung % definiert. Die Parameter für Kopf- und Fußzeile werden nicht nur für die @@ -2608,6 +2650,11 @@ % % \begin{environment}{tudpage} % \changes{v2.02}{2014/06/23}{an Paket \pkg{scrlayer-scrpage} angepasst}^^A +% \begin{parameter}{language} +% \begin{parameter}{columns} +% \begin{parameter}{pagestyle} +% \changes{v2.02}{2014/06/23}{neu}^^A +% \changes{v2.03}{2015/01/28}{\cs{tud@if@tudheadings} verwendet}^^A % \begin{macro}{\tud@envir@ps} % \begin{macro}{\tud@envir@selectps} % \changes{v2.02}{2014/07/19}{neu}^^A @@ -2699,39 +2746,26 @@ \clearpage% ] % \end{macrocode} -% \end{macro}^^A \tud@currentpagestyle@value -% \end{macro}^^A \tud@currentpagestyle@reset -% \end{macro}^^A \tud@currentpagestyle@set -% \end{macro}^^A \tud@envir@selectps -% \end{macro}^^A \tud@envir@ps -% \end{environment}^^A tudpage % Mit \cs{TUD@parameter@family}\marg{Family}\marg{\dots} wird die Familie der % Parameter festgelegt und anschließend die Definitionen getätigt. % \begin{macrocode} \TUD@parameter@family{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. +% Mit dem Parameter \prm{language} kann die in der Umgebung verwendete Sprache +% umgeschaltet werden. Die Sprache kann auch ohne den entsprechenden Schlüssel +% direkt als Parameter angegeben werden. % \begin{macrocode} \TUD@parameter@def{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{multicol} geladen werden. Die -% Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter -% angegeben werden. +% Mit \prm{parameter} kann die Anzahl der Spalten für die Umgebung angegeben +% werden. Für mehr als zwei Spalten muss das Paket \pkg{multicol} geladen +% werden. Die Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt +% Parameter angegeben werden. % \begin{macrocode} \TUD@parameter@def{columns}{\cs@std@lock{tud@x@multicol@num}{#1}}% % \end{macrocode} -% \end{parameter} ^^A columns -% \begin{parameter}{pagestyle} -% \changes{v2.02}{2014/06/23}{neu}^^A -% \changes{v2.03}{2015/01/28}{\cs{tud@if@tudheadings} verwendet}^^A -% Mit diesem Parameter kann der verwendete Seitenstil eingestellt werden, wobei -% einer der \pgs{tudheadings}-Seitenstile verwendet wird. +% Mit dem Parameter \prm{pagestyle} kann der verwendete Seitenstil eingestellt +% werden, wobei einer der \pgs{tudheadings}-Seitenstile verwendet wird. % \begin{macrocode} \TUD@parameter@def{pagestyle}{% \tud@if@tudheadings{#1}{\renewcommand*\tud@envir@ps{#1}}{% @@ -2745,8 +2779,7 @@ }% }% % \end{macrocode} -% \end{parameter}^^A pagestyle -% Hier werden die Parameter für Kopf- und Fußzeile tatsächlich defniert. +% Hier werden die Parameter für Kopf- und Fußzeile tatsächlich definiert. % \begin{macrocode} \tud@ps@parameters{#1}% % \end{macrocode} @@ -2760,9 +2793,33 @@ \TUD@parameter@handler@default{}% } % \end{macrocode} +% \end{macro}^^A \tud@currentpagestyle@value +% \end{macro}^^A \tud@currentpagestyle@reset +% \end{macro}^^A \tud@currentpagestyle@set +% \end{macro}^^A \tud@envir@selectps +% \end{macro}^^A \tud@envir@ps +% \end{parameter}^^A pagestyle +% \end{parameter} ^^A columns +% \end{parameter} ^^A language +% \end{environment}^^A tudpage % % \iffalse %</book|report|article> +% \fi +% +% Mit der Nutzung von \pkg{scrlayer-scrpage} ist die parallele Verwendung des +% Paketes \pkg{fancyhdr} nicht möglich. +% \begin{macrocode} +\PreventPackageFromLoading[% + \ClassWarning{\TUD@Class@Name}{% + The package `fancyhdr' must not be used with a\MessageBreak% + TUD-Script class. You should make use of the\MessageBreak% + capabilities of package `scrlayer-scrpage' instead% + }% +]{fancyhdr} +% \end{macrocode} +% +% \iffalse %</class&body> % \fi % diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx index 79747c2317b..36367e247a3 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx @@ -1,32 +1,32 @@ % \CheckSum{594} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-supervisor.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-supervisor.dtx}[% - 2016/09/22 v2.05d TUD-Script\space% + 2017/01/03 v2.05g TUD-Script\space% %</driver> %<package>\ProvidesPackage{tudscrsupervisor}[% %<*driver|package> @@ -68,13 +68,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-supervisor.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -82,11 +88,13 @@ % % \selectlanguage{ngerman} % -% \section{Aufgabenstellung} +% \section{% +% Das Paket \pkg{tudscrsupervisor} -- Betreuung wissenschaftlicher Arbeiten% +% } % -% Diese Paket stellt für die \cls{tudscr}-Klassen mehrere Umgebungen und -% Befehle zur Erstellung der Aufgabenstellung einer Abschlussarbeit sowie -% eines Gutachtens und eines Aushangs bereit. +% Diese Paket stellt für die \TUDScript-Klassen mehrere Umgebungen und Befehle +% zur Erstellung der Aufgabenstellung einer Abschlussarbeit sowie eines +% Gutachtens und eines Aushangs bereit. % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % @@ -94,7 +102,168 @@ %<*package> % \fi % -% \subsection{Das Paket \pkg{tudscrsupervisor}} +% \begin{macro}{\tud@multiple@fields@output} +% \changes{v2.05}{2016/03/09}{neu}^^A +% \begin{macro}{\tud@multiple@fields@style} +% \changes{v2.05}{2016/05/26}{neu}^^A +% Diesen beiden Makros dienen dazu, unterschiedliche Varianten für die Ausgabe +% innerhalb der nachfolgenden Umgebungen generieren zu können. Momentan werden +% diese nur innerhalb der \env{task}-Umgebung verwendet. +% \begin{macrocode} +\newcommand*\tud@multiple@fields@output{} +\newcommand*\tud@multiple@fields@style{table} +% \end{macrocode} +% \end{macro}^^A \tud@multiple@fields@style +% \end{macro}^^A \tud@multiple@fields@output +% \begin{macro}{\student} +% Der Befehl \cs{student} kann als Alias für \cs{author} genutzt werden. +% \begin{macrocode} +\newcommand*\student{\author} +% \end{macrocode} +% \end{macro}^^A \student +% \begin{macro}{\tud@authortable@set} +% \changes{v2.01b}{2014/06/04}{Probleme mit Paket \pkg{calc} behoben}^^A +% \begin{length}{\tud@len@authortable} +% Der Befehl \cs{tud@authortable@set} dient bei Aufgabenstellung und Gutachten +% zur Ausgabe einer Tabelle mit Informationen zum Autor beziehungsweise zu den +% Autoren.\footnote{Matrikelnummer, Jahrgang, Studiengang etc.} +% \begin{macrocode} +\newlength\tud@len@authortable +\newcommand*\tud@authortable@set{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% +% \end{macrocode} +% Zu Beginn wird eine Tabelle mit den Bezeichnern aller genutzten Feldern +% ausgegeben. Danach folgen alle Autoren. Damit ein einheitliches Layout +% entsteht und auch die Tabellen am Ende der Umgebung in der ersten Spalte die +% gleiche Breite haben wie im oberen Teil, ist die Bestimmung einer festen +% Spaltenbreite notwendig, die so breit wie der längste Bezeichner ist. +% Dafür muss festgestellt werden, welche optionalen Felder denn nun überhaupt +% genutzt werden. Dafür wird \cs{tud@multiple@fields@preset} mit \cs{null} als +% Argument aufgerufen, um alle potenziellen Felder erkennen zu können. +% \begin{macrocode} + \tud@multiple@split{@author}% + \tud@multiple@fields@preset{@author}{\null}{}% + \setlength\tud@len@authortable{2em}% +% \end{macrocode} +% Anschließend werden die Bezeichner sowohl der obligatorischen als auch der +% genutzten, optionalen Felder in \cs{@tempa} gespeichert. Mit der Liste wird +% der längste Bezeichner bestimmt und dessen Länge in \cs{tud@len@authortable} +% gespeichert. +% \begin{macrocode} + \def\@tempb##1{% + \expandafter\ifx\csname @##1\endcsname\@empty\else% + \expandafter\appto\expandafter\@tempa\expandafter{% + \expandafter,\csname ##1name\endcsname% + }% + \fi% + }% + \def\@tempa{% + \namesname,\titlename,\issuedatetext,\duedatetext,\supervisorname% + }% + \tud@ifin@and{\@supervisor}{\appto\@tempa{,\supervisorothername}}{}% + \@tempb{referee}% + \tud@ifin@and{\@referee}{\appto\@tempa{,\refereeothername}}{}% + \@tempb{matriculationnumber}% + \@tempb{matriculationyear}% + \@tempb{course}% + \@tempb{discipline}% + \@for\@tempb:=\@tempa\do{% + \settowidth\@tempdima{\@tempb\tud@title@delimiter}% + \ifdim\@tempdima>\tud@len@authortable\relax% + \setlength\tud@len@authortable{\@tempdima}% + \fi% + }% + \global\tud@len@authortable=\tud@len@authortable% +% \end{macrocode} +% Die Tabelle mit den benötigten Bezeichnern. Damit diese bis an den Seiterand +% ohne Warnungen gesetzt werden können, wird die Auszeichnung von Absatzenden +% aufgehoben. +% \begin{macrocode} + \begingroup% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \begin{tabular}{@{}p{\tud@len@authortable}}% + \ifx\@course\@empty\else% + \coursename\tud@title@delimiter\tabularnewline% + \fi% + \ifx\@discipline\@empty\else% + \disciplinename\tud@title@delimiter\tabularnewline% + \fi% + \namesname\tud@title@delimiter\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \matriculationnumbername\tud@title@delimiter\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \matriculationyearname\tud@title@delimiter\tabularnewline% + \fi% + \end{tabular}% +% \end{macrocode} +% Der Befehl \cs{tud@split@author@do} wird innerhalb der \TUDScript-Klassen zur +% formatierten Ausgabe mehrerer Autoren auf der Titelseite verwendet, welche +% durch\cs{author}\marg{Autor(en)} angegeben und mit \cs{and} getrennt wurden. +% Er wird hier auf die Ausgabe der Autoren mit den jeweils zusätzlich gegebenen +% Informationen in einer Tabelle angepasst. +% \begin{macrocode} + \renewcommand*\tud@split@author@do[2]{% +% \end{macrocode} +% Weil alle Autoren in einer Tabelle gesetzt werden wird geprüft, welche Felder +% individuell via \cs{author} angegeben wurden. Damit die Tabellen die gleiche +% Höhe haben, auch wenn für einen Autor ein Feld ausgelassen wurde, werden alle +% insgesamt angegebenen Felder mit via \cs{tud@multiple@fields@preset} mit +% \cs{null} initialisiert. Anschließend werden die für den aktuellen Autor +% angegebenen Felder gesetzt. +% \begin{macrocode} + \tud@multiple@fields@store{@author}{##1}% + \tud@multiple@fields@preset{@author}{\null}{##1}% +% \end{macrocode} +% Nach viel Geplänkel kommt nun die eigentliche Tabelle mit ggf. zusätzlichen +% Informationen zum Autor. +% \begin{macrocode} + \begin{tabular}{l@{}}% + \ifx\@course\@empty\else\@course\tabularnewline\fi% + \ifx\@discipline\@empty\else\@discipline\tabularnewline\fi% + \textsf{\textbf{\ignorespaces##1}}\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \@matriculationnumber\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \@matriculationyear\tabularnewline% + \fi% + \end{tabular}% +% \end{macrocode} +% Sollte ein weiterer Autor folgen, wird \cs{tabcolsep} zusätzlich eingefügt, +% um den Standardabstand bei Tabellen zu sichern, da die Tabelle vorher ohne +% rechten \enquote{Rand} gesetzt wurde, um die letzte Tabelle ggf. genau bis +% zum rechten Rand setzen zu können. +% \begin{macrocode} + \tud@multiple@fields@restore{@author}% + \tud@multiple@@@split{##2}{\enskip\hspace{\tabcolsep}}% + }% +% \end{macrocode} +% Hier erfolgt die eigentliche Ausgabe. +% \begin{macrocode} + \tud@multiple@split{@author}% +% \end{macrocode} +% Nach den Autoren wird der Titel über die komplette Textbreite ausgegeben. +% Danach wird der Inhalt der Aufgabenstellung gesetzt. +% \begin{macrocode} + \vskip\smallskipamount% + \begin{tabular}{@{}p{\tud@len@authortable}% + p{\dimexpr\textwidth-\tud@len@authortable-2\tabcolsep\relax}@{}}% + \titlename\tud@title@delimiter & \tud@RaggedRight\textsf{\textbf{\@@title}}% + \end{tabular}% + \par% + \endgroup% + \ifdim\parskip>\z@\else\vskip\topsep\fi% + \endgroup% + \noindent\ignorespaces% +} +% \end{macrocode} +% \end{length}^^A \tud@len@authortable +% \end{macro}^^A \tud@authortable@set +% +% \subsection{Aufgabenstellung} % % \begin{environment}{task} % \changes{v2.03}{2015/01/05}{Bugfix für initialen Seitenstil}^^A @@ -103,17 +272,11 @@ % \begin{parameter}{heading} % \begin{parameter}{line} % \begin{parameter}{style} -% \begin{macro}{\tud@multiple@fields@output} -% \changes{v2.05}{2016/03/09}{neu}^^A -% \begin{macro}{\tud@multiple@fields@style} -% \changes{v2.05}{2016/05/26}{neu}^^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, % Hochschullehrer und ggf. Vorsitzender des Prüfungsausschusses ausgegeben. % \begin{macrocode} -\newcommand*\tud@multiple@fields@output{} -\newcommand*\tud@multiple@fields@style{table} \newenvironment{task}[1][]{% % \end{macrocode} % Die \env{tudpage}-Umgebung wird geöffnet. Mit dem Parameter \opt{headline} @@ -204,8 +367,6 @@ \aftergroup\cleardoublepage% } % \end{macrocode} -% \end{macro}^^A \tud@multiple@fields@style -% \end{macro}^^A \tud@multiple@fields@output % \end{parameter}^^A style % \end{parameter}^^A line % \end{parameter}^^A heading @@ -230,11 +391,15 @@ } % \end{macrocode} % \end{macro}^^A \taskform +% +% \subsection{Gutachten} +% % \begin{environment}{evaluation} % \changes{v2.03}{2015/01/05}{Bugfix für Seitenstil im zweiseitigen Satz}^^A % \begin{parameter}{headline} % \begin{parameter}{heading} % \begin{parameter}{line} +% \begin{parameter}{grade} % 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 @@ -310,6 +475,7 @@ \aftergroup\cleardoublepage% } % \end{macrocode} +% \end{parameter}^^A grade % \end{parameter}^^A line % \end{parameter}^^A heading % \end{parameter}^^A headline @@ -331,153 +497,9 @@ } % \end{macrocode} % \end{macro}^^A \evaluationform -% \begin{macro}{\student} -% Der Befehl \cs{student} kann als Alias für \cs{author} genutzt werden. -% \begin{macrocode} -\newcommand*\student{\author} -% \end{macrocode} -% \end{macro}^^A \student -% \begin{macro}{\tud@authortable@set} -% \changes{v2.01b}{2014/06/04}{Probleme mit Paket \pkg{calc} behoben}^^A -% \begin{length}{\tud@len@authortable} -% Der Befehl \cs{tud@authortable@set} dient zur Ausgabe einer Tabelle mit -% Informationen zum Autor/zu den Autoren\footnote{Matrikelnummer, Jahrgang, -% Studiengang etc.} für Aufgabenstellung und Gutachten. -% \begin{macrocode} -\newlength\tud@len@authortable -\newcommand*\tud@authortable@set{% - \begingroup% - \let\thanks\@gobble% - \let\footnote\@gobble% -% \end{macrocode} -% Zu Beginn wird eine Tabelle mit den Bezeichnern aller genutzten Feldern -% ausgegeben. Danach folgen alle Autoren. Damit ein einheitliches Layout -% entsteht und auch die Tabellen am Ende der Umgebung in der ersten Spalte die -% gleiche Breite haben wie im oberen Teil, ist die Bestimmung einer festen -% Spaltenbreite notwendig, die so breit wie der längste Bezeichner ist. -% Dafür muss festgestellt werden, welche optionalen Felder denn nun überhaupt -% genutzt werden. Dafür wird \cs{tud@multiple@fields@preset} mit \cs{null} als -% Argument aufgerufen, um alle potentiellen Felder erkennen zu können. -% \begin{macrocode} - \tud@multiple@split{@author}% - \tud@multiple@fields@preset{@author}{\null}{}% - \setlength\tud@len@authortable{2em}% -% \end{macrocode} -% Anschließend werden die Bezeichner sowohl der obligatorischen als auch der -% genutzten, optionalen Felder in \cs{@tempa} gespeichert. Mit der Liste wird -% der längste Bezeichner bestimmt und dessen Länge in \cs{tud@len@authortable} -% gespeichert. -% \begin{macrocode} - \def\@tempb##1{% - \expandafter\ifx\csname @##1\endcsname\@empty\else% - \expandafter\appto\expandafter\@tempa\expandafter{% - \expandafter,\csname ##1name\endcsname% - }% - \fi% - }% - \def\@tempa{% - \namesname,\titlename,\issuedatetext,\duedatetext,\supervisorname% - }% - \tud@ifin@and{\@supervisor}{\appto\@tempa{,\supervisorothername}}{}% - \@tempb{referee}% - \tud@ifin@and{\@referee}{\appto\@tempa{,\refereeothername}}{}% - \@tempb{matriculationnumber}% - \@tempb{matriculationyear}% - \@tempb{course}% - \@tempb{discipline}% - \@for\@tempb:=\@tempa\do{% - \settowidth\@tempdima{\@tempb\tud@title@delimiter}% - \ifdim\@tempdima>\tud@len@authortable\relax% - \setlength\tud@len@authortable{\@tempdima}% - \fi% - }% - \global\tud@len@authortable=\tud@len@authortable% -% \end{macrocode} -% Die Tabelle mit den benötigten Bezeichnern. Damit diese bis an den Seiterand -% ohne Warnungen gesetzt werden können, wird die Auszeichnung von Absatzenden -% aufgehoben. -% \begin{macrocode} - \begingroup% - \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% - \begin{tabular}{@{}p{\tud@len@authortable}}% - \ifx\@course\@empty\else% - \coursename\tud@title@delimiter\tabularnewline% - \fi% - \ifx\@discipline\@empty\else% - \disciplinename\tud@title@delimiter\tabularnewline% - \fi% - \namesname\tud@title@delimiter\tabularnewline% - \ifx\@matriculationnumber\@empty\else% - \matriculationnumbername\tud@title@delimiter\tabularnewline% - \fi% - \ifx\@matriculationyear\@empty\else% - \matriculationyearname\tud@title@delimiter\tabularnewline% - \fi% - \end{tabular}% -% \end{macrocode} -% Der Befehl \cs{tud@split@author@do} wird innerhalb der \cls{tudscr}-Klassen -% zur formatierten Ausgabe mehrerer Autoren auf der Titelseite verwendet, -% welche durch\cs{author}\marg{Autor(en)} angegeben und mit \cs{and} getrennt -% wurden. Er wird hier auf die Ausgabe der Autoren mit den jeweils zusätzlich -% gegebenen Informationen in einer Tabelle angepasst. -% \begin{macrocode} - \renewcommand*\tud@split@author@do[2]{% -% \end{macrocode} -% Weil alle Autoren in einer Tabelle gesetzt werden wird geprüft, welche Felder -% individuell via \cs{author} angegeben wurden. Damit die Tabellen die gleiche -% Höhe haben, auch wenn für einen Autor ein Feld ausgelassen wurde, werden alle -% insgesamt angegebenen Felder mit via \cs{tud@multiple@fields@preset} mit -% \cs{null} initialisiert. Anschließend werden die für den aktuellen Autor -% angegebenen Felder gesetzt. -% \begin{macrocode} - \tud@multiple@fields@store{@author}{##1}% - \tud@multiple@fields@preset{@author}{\null}{##1}% -% \end{macrocode} -% Nach viel Geplänkel kommt nun die eigentliche Tabelle mit ggf. zusätzlichen -% Informationen zum Autor. -% \begin{macrocode} - \begin{tabular}{l@{}}% - \ifx\@course\@empty\else\@course\tabularnewline\fi% - \ifx\@discipline\@empty\else\@discipline\tabularnewline\fi% - \textsf{\textbf{\ignorespaces##1}}\tabularnewline% - \ifx\@matriculationnumber\@empty\else% - \@matriculationnumber\tabularnewline% - \fi% - \ifx\@matriculationyear\@empty\else% - \@matriculationyear\tabularnewline% - \fi% - \end{tabular}% -% \end{macrocode} -% Sollte ein weiterer Autor folgen, wird \cs{tabcolsep} zusätzlich eingefügt, -% um den Standardabstand bei Tabellen zu sichern, da die Tabelle vorher ohne -% rechten \enquote{Rand} gesetzt wurde, um die letzte Tabelle ggf. genau bis -% zum rechten Rand setzen zu können. -% \begin{macrocode} - \tud@multiple@fields@restore{@author}% - \tud@multiple@@@split{##2}{\enskip\hspace{\tabcolsep}}% - }% -% \end{macrocode} -% Hier erfolgt die eigentliche Ausgabe. -% \begin{macrocode} - \tud@multiple@split{@author}% -% \end{macrocode} -% Nach den Autoren wird der Titel über die komplette Textbreite ausgegeben. -% Danach wird der Inhalt der Aufgabenstellung gesetzt. -% \begin{macrocode} - \vskip\smallskipamount% - \begin{tabular}{@{}p{\tud@len@authortable}% - p{\dimexpr\textwidth-\tud@len@authortable-2\tabcolsep\relax}@{}}% - \titlename\tud@title@delimiter & \tud@RaggedRight\textsf{\textbf{\@@title}}% - \end{tabular}% - \par% - \endgroup% - \ifdim\parskip>\z@\else\vskip\topsep\fi% - \endgroup% - \noindent\ignorespaces% -} -% \end{macrocode} -% \end{length}^^A \tud@len@authortable -% \end{macro}^^A \tud@authortable@set +% +% \subsection{Aushang} +% % \begin{environment}{notice} % \begin{parameter}{headline} % \begin{parameter}{heading} diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx new file mode 100644 index 00000000000..07ce4c3ea58 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-texindy.dtx @@ -0,0 +1,599 @@ +% \CheckSum{491} +% \iffalse meta-comment +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% +% This work may be distributed and/or modified under the conditions of the +% LaTeX Project Public License, version 1.3c of the license. The latest +% version of this license is in http://www.latex-project.org/lppl.txt and +% version 1.3c or later is part of all distributions of LaTeX 2005/12/01 +% or later and of this work. This work has the LPPL maintenance status +% "author-maintained". The current maintainer and author of this work +% is Falk Hanisch. +% +% ============================================================================ +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der +% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +% +% ---------------------------------------------------------------------------- +% +% \fi +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \iffalse +%%% From File: tudscr-texindy.dtx +%<*driver> +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi +\ProvidesFile{tudscr-texindy.dtx}[% + 2017/01/03 v2.05g TUD-Script (texindy style files)% +] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[english,ngerman,xindy]{tudscrdoc} +\usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{tudscrfonts} % only load this package, if the fonts are installed +\KOMAoptions{parskip=half-} +\usepackage{bookmark} +\usepackage[babel]{microtype} + +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-texindy.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + +\begin{document} + \maketitle + \tableofcontents + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Stildateien für \texorpdfstring{\app{texindy}}{texindy}} +% +% Für die Dokumentationsklassen und -pakete wird zur Sortierung \app{texindy} +% verwendet. Da das Programm die die Dateien nicht in einem \val{TEXPATH} nach +% den Stildateien sucht, werden diese zur Laufzeit im Arbeitsverzeichnis +% erstellt. Nachfolgend werden die zu erstellenden \app{texindy}-Stildateien +% kurz beschrieben. +% +% \StopEventually{\PrintIndex\PrintChanges\PrintToDos} +% +% \begin{macro}{\@hashchar} +% \changes{v2.05}{2016/04/25}{neu}^^A +% Das Hash-Zeichen wird bei \cls{tudscrdoc} für die Befehlsdeklarationen in der +% Stildatei benötigt. Damit dieses beim Erzeugen der Datei nicht als solches +% interpretiert wird, ist dafür ein separates Makro notwendig. +% \begin{macrocode} +%<*doc> +\catcode`\#=12 +\newcommand*\@hashchar{#} +\catcode`\#=6 +%</doc> +% \end{macrocode} +% \end{macro}^^A \@hashchar +% +% \subsection{Defintion der verwendeten Umgebung} +% +% \begin{macro}{\tud@xdy@create} +% \changes{v2.05}{2016/04/24}{neu}^^A +% \begin{macro}{\tud@write@xdy} +% \changes{v2.05}{2016/04/24}{neu}^^A +% \begin{macro}{\if@tud@xdy@glo} +% \changes{v2.05}{2016/04/25}{neu}^^A +% Dies sind die Hilfsmakros für die Erzeugung der notwendigen Dateien. Mit +% \cs{tud@xdy@create} wird angegeben, ob die Stildatei für einen Index oder ein +% Glossar erzeugt wird, was prinzipiell nur für die Klasse \cls{tudscrdoc} +% notwendig ist. +% \begin{macrocode} +\begingroup +%<doc>\ifdef{\tudxdyflag}{% +\newcommand*\tud@write@xdy{} +\newwrite\tud@write@xdy +\newif\if@tud@xdy@glo +\newcommand*\tud@xdy@create[2][theindex]{% + \IfFileExists{\@currname-#2.xdy}{}{% + \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}% + \openout\tud@write@xdy=\@currname-#2.xdy\relax% +% \end{macrocode} +% Als erstes wird Standard-\LaTeXe-Modul geladen. +% \begin{macrocode} + \write\tud@write@xdy{(require "texindy.xdy")}% +% \end{macrocode} +% +% \subsection{Befehle zur Gruppierung der Indexeinträge} +% +% \begin{macrocode} +%<*doc> + \write\tud@write@xdy{% + (markup-index^^J% + \space\space:open^^J% + "\string\begin{#1}^^J% + \space\space% + \string\providecommand*\string\lettergroupDefault[1]{\@percentchar^^J% + \@spaces\string\par% + \string\centerline{\string\textbf{\string\textsf{Symbole}}}% + \string\par\@percentchar^^J% + \@spaces\string\nopagebreak\@percentchar^^J% + \space\space}\@percentchar^^J% + \space\space% + \string\providecommand*\string\lettergroup[1]{\@percentchar^^J% + \@spaces\string\par% + \string\centerline{\string\textbf{\string\textsf{\@hashchar1}}}% + \string\par\@percentchar^^J% + \@spaces\string\nopagebreak\@percentchar^^J% + \space\space}\@percentchar^^J% + \space\space\string\makeatletter\@percentchar^^J% + \space\space\string\scan@allowedfalse\@percentchar% + }% +% \end{macrocode} +% Für die Änderungsliste erfolgt die Gruppierung anhand der Versionsnummer. Da +% diese auf der ersten Ebene angegeben ist (\cs{item}) muss das Ganze mit einem +% terminierten Befehl erfolgen. Hierfür wird \cs{@lettergroup} definiert. +% Außerdem werden mit \cs{tud@lst@def} die benötigten Befehle zur selektiven +% Anzeige der Änderungseinträge erstellt. +% \begin{macrocode} + \if@tud@xdy@glo% + \write\tud@write@xdy{% + \space\space\string\newcommand*\string\@lettergroup{}\@percentchar^^J% + \space\space% + \string\def\string\@lettergroup\@hashchar1\string\relax% + {\string\lettergroup{\@hashchar1}}\@percentchar^^J% + \space\space\string\tud@lst@def\@percentchar% + }% + \fi% +% \end{macrocode} +% Der Abschluss der Umgebungsdefinition. +% \begin{macrocode} + \if@tud@xdy@glo% + \write\tud@write@xdy{% + "^^J% + \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J% + \space\space:hierdepth 4^^J% + )% + }% + \else% + \write\tud@write@xdy{% + "^^J% + \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J% + \space\space:hierdepth 3^^J% + )% + }% + \fi% +%</doc> +% \end{macrocode} +% +% \subsection{Defintion und Markup der Seitenzahlen} +% +% Leider lässt sich für Seitenzahlbereiche via \val{:attr} (noch) kein Markup +% 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} +%^^A \write\tud@write@xdy{(require "ff-ranges.xdy")}% +% \end{macrocode} +% Bereiche mit mehr als zwei Seitenzahlen werden zusammengefasst, wobei als +% Trennzeichen ein Halbgeviertstrich verwendet wird. Für \cls{tudscrdoc} werden +% die Seitenzahlen beim Einbinden der einzelnen \file{dtx}-Dateien mit einem +% alphanumerischen Präfix versehen, wofür eine eigene \val{location-class} +% erstellt wird. +% \begin{macrocode} + \write\tud@write@xdy{% + (define-location-class^^J% + \space\space"arabic-page-numbers" ("arabic-numbers")% + \space:min-range-length 2^^J% + )^^J% +%<*doc> + (define-alphabet "AlphaExtended"^^J% + \space(^^J% + \space\space"A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M"^^J% + \space\space"N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"^^J% + \space\space"a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m"^^J% + \space\space"n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"^^J% + \space\space"?"^^J% + \space)^^J% + )^^J% + (define-location-class^^J% + \space\space"codeline" ("AlphaExtended" :sep "-" "arabic-numbers")% + \space:min-range-length 2^^J% + )^^J% + (define-location-class-order ("arabic-page-numbers" "codeline"))^^J% +%</doc> + (markup-range :sep "--")% + }% +% \end{macrocode} +% +% \subsection{Ignorieren von bestimmten Anteilen bei der Sortierung} +% +% Alle Argumente in eckigen Klammern werden ignoriert. Dies wird bei einigen +% Indexbefehlen genutzt, um die nicht beachteten RegExp-Regeln auszugleichen, +% siehe den nächsten Absatz. In der Klasse \cls{tudscrdoc} werden außerdem ein +% oder mehrere vorangestellte \val{@}-Zeichen ignoriert. +% \begin{macrocode} + \write\tud@write@xdy{% + (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% +%<*doc> + ^^J% + (merge-rule% + \space"\string^(@+)([\string^@~n]*)"% + \space"\string\2\string~e\string\1"% + \space:eregexp :again% + )^^J% + (merge-rule% + \space"(.*)(@@@@)([\string^@~n]*)"% + \space"\string\1@@@\string\3\string~e"% + \space:again :eregexp% + )^^J% + (merge-rule% + \space"(.*)(@@@)([\string^@~n]*)"% + \space"\string\1@@\string\3\string~e"% + \space:again :eregexp% + )^^J% + (merge-rule% + \space"(.*)(@@)([\string^@~n]*)"% + \space"\string\1@\string\3\string~e"% + \space:eregexp :again% + )^^J% + (merge-rule% + \space"(.*?)(@)([\string^@~n]*)"% + \space"\string\1\string~b\string\3"% + \space:eregexp :again% + )% +%</doc> + }% +% \end{macrocode} +% Innerhalb ausgewählter Auszeichnungs- und Textbefehle sollten die Befehle +% selbst, nicht jedoch die Argumente verworfen werden. Leider lässt sich dies +% momentan nicht umsetzen, da die manuell erstellten RegExp-Regeln durch +% \hrfn{http://sourceforge.net/p/xindy/bugs/22/}{\app{texindy} nicht korrekt} +% genutzt werden. +% \begin{macrocode} +%<*!doc> +%^^A \write\tud@write@xdy{% +%^^A (merge-rule "\\hologo\{(.*)\}" "/1" :eregexp)^^J% +%^^A (merge-rule "\\texttt\{(.*)\}" "/1" :eregexp)^^J% +%^^A (merge-rule "\\textsbn\{(.*)\}" "/1" :eregexp)^^J% +%^^A (merge-rule "\\textsbs\{(.*)\}" "/1" :eregexp)^^J% +%^^A }% +%</!doc> +% \end{macrocode} +% +% \subsection{Markup der einzelnen Einträge} +% +% Für die Änderungsliste im Handbuch werden Untereinträge bis zur vierten Ebene +% unterstützt. +% \begin{macrocode} +%<*!doc&class> + \write\tud@write@xdy{% + (markup-indexentry :open "~n \string\subsubsubitem " :depth 3)% + }% +%</!doc&class> +% \end{macrocode} +% Für die Änderungsliste von \cls{tudscrdoc} erfolgt die Gruppierung anhand der +% angegebenen Versionsnummer. Das bedeutet, das das Markup für die eigentliche +% \val{letter-group} unterdrückt und die erste Ebene dafür verwendet wird. +% \begin{macrocode} +%<*doc> + \if@tud@xdy@glo% + \write\tud@write@xdy{% + (markup-letter-group% + \space:open-head "\string~n\space\space\string\@gobble{"% + \space:close-head "}"% + )^^J% +% \end{macrocode} +% Leider gibt es für die Eintragsebenen keine Schlüssel \val{open-head} und +% \val{close-head}, weshalb für die Änderungsliste etwas getrickst werden muss. +% Zwischen Einträgen der ersten Ebene soll äquivalent zu \val{letter-group} +% etwas Abstand eingefügt werden. +% \begin{macrocode} + (markup-indexentry-list% + \space:sep "\string~n\string~n\space\space\string\indexspace\string~n"% + \space:depth 0% + )^^J% +% \end{macrocode} +% Da jeder Eintrag in der Änderungsliste aus mindestens drei Ebenen besteht, +% wird vor der ersten Ebene der Beginn des Markupbefehls gesetzt\dots +% \begin{macrocode} + (markup-indexentry\@spaces\space\space% + :open "\string~n\space\space\string\@lettergroup\space"\space:depth 0% + )^^J% +% \end{macrocode} +% \dots und vor Beginn der zweiten Ebene mit \cs{relax} terminiert. +% \begin{macrocode} + (markup-indexentry-list :open "\string\relax" :depth 1)^^J% +% \end{macrocode} +% Anschließend werden die zweite sowie die dritte Ebene mit \cs{item} und +% \cs{subitem} ausgezeichnet. +% \begin{macrocode} + (markup-indexentry\@spaces\space\space% + :open "\string~n\space\space\string\item\space" :depth 1% + )^^J% + (markup-indexentry-list :open "\string\efill" :depth 2)^^J% + (markup-indexentry\@spaces\space\space% + :open "\string~n\@spaces\string\subitem\space" :depth 2% + )^^J% +% \end{macrocode} +% Im Implemetierungsteil soll eine einzelne Änderungsnotiz für einen Eintrag +% direkt danach ausgegeben werden. Exisitieren für diesen jedoch mehrere +% Anmerkungen, so sollen diese in der nächsten Ebene ausgegeben werden. Da die +% Anzahl aller Anmerkungen zu einem einzelnen Eintrag zu Beginn noch unbekannt +% ist, werden alle dazugehörigen Änderungsnotizen zunächst mit \cs{tud@lst@add} +% in der~-- zuvor mit dem Makro \cs{tud@lst@init} initialisierten~-- Liste +% \cs{tud@lst@values} gesammelt und diese am Ende des jeweiligen Eintrags durch +% \cs{tud@lst@process} ausgewertet. Sollte eine weitere Unterebene exisitieren, +% werden entsprechend die Makros \cs{tud@lst@@init}, \cs{tud@lst@@values} und +% \cs{tud@lst@@add} sowie \cs{tud@lst@@process} verwendet. +% \begin{macrocode} + (markup-indexentry-list^^J% + \space\space:open\space\space"\string\tud@lst@init"^^J% + \space\space:close "\string~n \@spaces\space\string\tud@lst@process"^^J% + \space\space:depth 3^^J% + )^^J% + (markup-indexentry^^J% + \space\space:open% + \space\space"\string~n\@spaces\space\space\string\tud@lst@add{"^^J% + \space\space:close "}"^^J% + \space\space:depth 3^^J% + )^^J% + (markup-indexentry-list^^J% + \space\space:close "\string~n\@spaces\@spaces\string\tud@lst@@process{"^^J% + \space\space:open\space\space"}\string\tud@lst@@init"^^J% + \space\space:depth 4^^J% + )^^J% + (markup-indexentry^^J% + \space\space:open% + \space\space"\string~n\@spaces\@spaces\string\tud@lst@@add{"^^J% + \space\space:close "}"^^J% + \space\space:depth 4^^J% + )% + }% +% \end{macrocode} +% Für den Index aller Eintragstypen ist nur auf zu leere \cs{hbox} zu achten. +% \begin{macrocode} + \else% + \write\tud@write@xdy{% + (markup-indexentry-list :open "\string\efil" :depth 1)% + }% + \fi% +%</doc> +% \end{macrocode} +% +% \subsection{Markup des Füllbereichs zwischen Eintrag und Seitenzahlen} +% +% Punkte zwischen Eintrag und Seitenzahl. Das schließende \cs{relax} wird für +% die smarte Definition des Befehls \cs{cleversee} benötigt, welcher nach den +% beiden obligatorischen Argument die nachfolgenden Seitenzahlen sucht und +% dabei durch \cs{relax} begrenzt wird. Für die Klasse \cls{tudscrdoc} wird in +% der Änderungsliste der Hyperlink für die Seitenzahl respektive die Codezeile +% direkt erzeugt. +% \begin{macrocode} + \write\tud@write@xdy{% + (markup-locclass-list% +%<!doc> \space:open "\string\,\string\dotfill\string\,"% +%<doc> \space:open "\string\pfill\space"% + \space:close "\string\relax"% + \space:sep ",\space"% + )% + }% +% \end{macrocode} +% +% \subsection{Attribute für Einträge} +% +% Es werden für Handbuch und Tutorials 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. +% +% \iffalse +%<*!doc> +% \fi +% +% \begin{macrocode} + \write\tud@write@xdy{% + (define-attributes (("declare" "!" "important" "?" "default")))^^J% +% \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} +%^^A (markup-attribute-group-list :sep ", ")^^J% +%^^A (define-attributes (("declare" "!") ("important" "?")("default")))^^J% +% \end{macrocode} +% Einträge, die als wichtig oder als Deklaration festgelegt wurden, könnten +% auch für normale Indexeinträge zur Bereichsbildung verwendet werden. +% Allerdings führt dies auch zur Erzeugung redundanter Einträge, falls es sich +% bei den Sondereinträgen bereits um einen Seitenbereich handelt. +% \begin{macrocode} +%^^A (merge-to "declare" "default")^^J% +%^^A (merge-to "!" "default")^^J% +%^^A (merge-to "important" "default")^^J% +%^^A (merge-to "?" "default")^^J% +% \end{macrocode} +% Hier erfolgt die Definition der Auszeichnugen der Attribute. Deklarationen +% werden fett gedruckt, wichtige Einträge erscheinen kursiv. Außerdem wird ein +% entsprechnder Link auf die Seite eingefügt. +% \begin{macrocode} + (markup-locref% + \space:attr "declare"\space\space% + \space:open "\string\textbf{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "!"\@spaces\@spaces% + \space:open "\string\textbf{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "important"% + \space:open "\string\textsl{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "?"\@spaces\@spaces% + \space:open "\string\textsl{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "default"\space\space% + \space:open "\string\hyperpage{"\@spaces\@spaces% + \space:close "}"% + )% + }% +% \end{macrocode} +% +% \iffalse +%</!doc> +%<*doc> +% \fi +% +% Für \cls{tudscrdoc} erfolgen die Auszeichnungen für den Index im Stile von +% \pkg{doc} mit den Attribute \emph{main} und \emph{usage}, wobei hier eine +% Hierarchie verwendet wird. Es werden Einträge mit dem Attribut \emph{usage} +% vor \emph{main} und \emph{default} aufgeführt. +% \begin{macrocode} + \write\tud@write@xdy{% + (markup-attribute-group-list :sep ", ")^^J% + (define-attributes (("usage") ("main") ("default")))^^J% + (markup-locref :attr "usage"% + \space:open "\string\usage{"\space:close "}"% + )^^J% + (markup-locref :attr "main"% + \space\space:open "\string\main{"\space\space:close "}"% + )% + }% +% \end{macrocode} +% +% \iffalse +%</doc> +%<*!doc> +% \fi +% +% \subsection{Querverweise im Index} +% +% Im Handbuch prüfen mit \val{see}\marg{Eintrag} erzeugte Querverweise im +% Index, ob außerdem noch Seitenzahlangaben existent sind. +% \begin{macrocode} + \write\tud@write@xdy{% + (markup-crossref-list :class "see"^^J% + \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% + )^^J% + (markup-crossref-list :class "seealso"^^J% + \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J% + )% + }% +% \end{macrocode} +% +% \iffalse +%<*class> +% \fi +% +% Um Querverweise ohne Prüfung des Zieleintrags erzeugen zu können, wird der +% passende Typ \val{seeunverified} definiert. +% \begin{macrocode} + \write\tud@write@xdy{% + (define-crossref-class "seeunverified" :unverified)^^J% + (markup-crossref-list :class "seeunverified"^^J% + \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% + )% + }% +% \end{macrocode} +% Dieser Querverweistyp wird speziell im allgemeinen Index verwendet, um auf +% einen Spezialindex zu verweisen. Dabei dient \val{:unverified} zum +% Unterdrücken von Warnungen durch \app{texindy} aufgrund eines fehlenden +% Ziels für den Querverweis. +% \begin{macrocode} + \write\tud@write@xdy{% + (define-crossref-class "seeidx" :unverified)^^J% + (markup-crossref-list :class "seeidx"^^J% + \space\space:open "\string\seeidx{"\@spaces\@spaces:sep "; "% + \space:close "}{}"^^J% + )% + }% +% \end{macrocode} +% Damit die Makros \cs{cleversee} und \cs{cleverseealso} sowie \cs{seeidx} auf +% nachfolgende Seitenzahlen suchen können, müssen diese vor selbigen im Index +% aufgerufen werden. +% \begin{macrocode} + \write\tud@write@xdy{% + (define-location-class-order^^J% + \space\space(^^J% + \@spaces"see" "seealso" "seeidx" "seeunverified"^^J% + \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J% + \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J% + \space\space)^^J% + )% + }% +% \end{macrocode} +% +% \iffalse +%</class> +% \fi +% +% Werden mit \val{see}\marg{Eintrag!Untereintrag} gezielte Querverweise auf +% Untereinträge im Index erstellt, so werden diese nicht standardmäßig mit +% einem Komma sondern mit \enquote{\,\textbar\,} getrennt. +% \begin{macrocode} + \write\tud@write@xdy{% + (markup-crossref-layer-list :class "see"% + \@spaces\space:sep "\string\,\string\textbar\string\,"% + )^^J% + (markup-crossref-layer-list :class "seealso"% + \space:sep "\string\,\string\textbar\string\,"% + )% + }% +% \end{macrocode} +% +% \iffalse +%</!doc> +% \fi +% +% \subsection{Erzeugen der Stildateien} +% +% Damit ist die \app{texindy}-Stildatei fertig und kann mit \cs{tud@xdy@create} +% erstellt werden. +% \begin{macrocode} + \closeout\tud@write@xdy% + }% +} +\tud@xdy@create{ind} +%<doc>\tud@xdy@create[theglossary]{gls} +%<doc>}{} +\endgroup +% \end{macrocode} +% \end{macro}^^A \if@tud@xdy@glo +% \end{macro}^^A \tud@write@xdy +% \end{macro}^^A \tud@xdy@create +% +% \Finale +% +\endinput diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx index e5310f8d47d..00a62515f3c 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx @@ -1,32 +1,32 @@ -% \CheckSum{1381} +% \CheckSum{1383} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-title.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-title.dtx}[% - 2016/09/22 v2.05d TUD-Script (title)% + 2017/01/26 v2.05g TUD-Script (title)% ] \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman,xindy]{tudscrdoc} @@ -60,13 +60,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-title.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -77,9 +83,17 @@ % \changes{v2.02}{2014/06/23}{Paket \pkg{titlepage} nicht weiter unterstützt}^^A % \changes{v2.05}{2015/07/13}{Titel für Poster}^^A % -% \section{Titelei} +% \section{Titelei für die \TUDScript-Klassen} +% +% Zusätzlich zu den \KOMAScript-Varianten werde für die \TUDScript-Klassen +% spezielle, im \TUDCD gehaltene Ausführungen von Titelseite und Titelkopf +% bereitgestellt. Zusätzlich gibt es auch eine Umschlagsseite (Cover), welche +% in beiden Gestaltungsvarianten genutzt werden kann. % -% Titelseite und Titelkopf werden für die \TUDScript-Klassen bereitgestellt. +% Für Titelseite und Titelkopf werden durch \TUDScript eine monochrome Version, +% eine Version mit leichtem Farbeinsatz und eine durchweg farbige Version im +% \TUDCD bereitgestellt. Dabei wird auch das Aussehen und die Position des +% Titels analog zu den Überschriften auf Teile- und Kapitelseiten festgelegt. % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % @@ -87,13 +101,7 @@ %<*class&body> % \fi % -% \subsection{Titelseite und Titelkopf} -% -% Für alle Klassen im \CD der Technischen Universität Dresden wird eine neue -% Titelseite und ein neuer Titelkopf bereitgestellt. Es werden eine monochrome -% Version, eine Version mit leichtem Farbeinsatz und eine durchweg farbige -% Version bereitgestellt Außerdem wird hier das Aussehen und die Position des -% Titels analog zu den Überschriften auf Teile- und Kapitelseiten festgelegt. +% \subsection{Optionen und Schriftelemente für die Titelei} % % \iffalse %</class&body> @@ -165,7 +173,7 @@ % \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A % Diese Font-Elemente werden auf der Titelseite verwendet. \opt{thesis}, um den % Typ der Arbeit und ggf. den zu erlangenden akademischen Grad zu setzen. -% Allerdings kommt Letzteres nur zum Tragen, wenn die Option \opt{subthesis} +% Allerdings kommt Letzteres nur zum Tragen, wenn die Option \opt{subjectthesis} % deaktiviert ist. Es wird die gleiche Schrift wie für den Titel verwendet, % allerdings etwas kleiner. \opt{titlepage} für alle Zusatzinformationen wie % Autor, Datum etc. @@ -180,10 +188,17 @@ \usekomafont{subject}% \mdseries% \large% + \tud@raggedright% } % \end{macrocode} % \end{KOMAfont}^^A titlepage % \end{KOMAfont}^^A thesis +% +% \subsection{Titelseite und Titelkopf} +% \subsubsection{Parameter für Titelseite und Titelkopf} +% +% \begin{macro}{\thanks} +% \begin{macro}{\footnotemark} % 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. @@ -191,167 +206,22 @@ \robustify{\thanks} \robustify{\footnotemark} % \end{macrocode} -% \begin{macro}{\tud@title@uppercase} -% Für das Setzen einzelner Felder in Majuskeln werden diese beiden Befehle -% definiert. Bei der Verwendung des Befehls \cs{thanks} auf der Titelseite soll -% sichergestellt werden, dass der Inhalt selbst nicht in Majuskeln gesetzt wird. -% \begin{macrocode} -\newcommand*\tud@title@uppercase[1]{% - \let\@tempa\relax% - \begingroup% - \let\\\newline% -% \end{macrocode} -% Der Befehl \cs{thanks} wird so umdefiniert, dass der Inhalt in ein temporäres -% Makro gespeichert wird. Danach wird durch das Setzen einer temporären Box der -% Befehl \cs{thanks} ausgeführt und der Inhalt gesichert. Für die Ausführung von -% \cs{tud@makeuppercase} wird das Argument von \cs{thanks} ignoriert. Nachdem -% das gewünschte Feld in Majuskeln gesetzt wurde, wird die gespeicherte Fußnote -% ausgegeben. -% \begin{macrocode} - \def\thanks##1{\gdef\@tempa{##1}}% - \let\footnote\thanks% - \sbox\z@{#1}% - \let\thanks\@gobble% - \let\footnote\@gobble% - \tud@makeuppercase{#1}% - \endgroup% - \ifx\@tempa\relax\else\thanks\@tempa\fi% -} -% \end{macrocode} -% \end{macro}^^A \tud@title@uppercase -% -% \iffalse -%<*book|report|article> -% \fi -% -% \begin{macro}{\titledelimiter} -% \begin{macro}{\tud@title@delimiter} -% Dieses Makro wird für das Trennzeichen auf der Titelseite genutzt. -% \begin{macrocode} -\newcommand*\tud@title@delimiter{:\nobreakspace} -\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} -% \end{macrocode} -% \end{macro}^^A \tud@title@delimiter -% \end{macro}^^A \titledelimiter -% \begin{macro}{\tud@split@author@title} -% \changes{v2.04}{2015/05/12}{neu}^^A -% \begin{macro}{\tud@newline@title} -% Das Makro \cs{tud@split@author@title} dient der formatierten Ausgabe aller -% Informationen für mehrere Autoren auf der Titelseite. -% \begin{macrocode} -\newcommand*\tud@newline@title{} -\newcommand*\tud@split@author@title[2]{% -% \end{macrocode} -% Zu Beginn werden alle Felder, welche innerhalb von \cs{@author} angegeben -% sind, gesichert. -% \begin{macrocode} - \tud@multiple@fields@store{@author}{#1}% -% \end{macrocode} -% Um die Abstände definiert zu setzen, wird \cs{tud@newline@title} verwendet. -% Sobald auch nur eine zusätzliche Information ausgegeben werden soll, wird ein -% etwas kleiner Abstand eingefügt. Anschließend wird jede Information einfach -% in einer neuen Zeile ausgegeben. -% \begin{macrocode} - \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% -% \end{macrocode} -% Die Felder \cs{@author} und ggf. \cs{@authormore} werden sowohl auf der -% Titelseite als auch im Titelkopf jedoch nicht auf der Umschlagseite -% ausgegeben. -% \begin{macrocode} - {\usekomafont{author}{\ignorespaces#1}}% - \if@tud@cover\else% - \ifx\@authormore\@empty\else% - \tud@newline@title% - \@authormore% - \fi% -% \end{macrocode} -% Nur auf der Titelseite erfolgt die Ausgabe von Geburtsdatum, Geburtsort, -% Matrikelnummer und Immatrikulationsjahr. Sollte ein Titelkopf verwendet -% werden, so wird für jedes gesetzte Feld eine Warnung ausgegeben. -% \begin{macrocode} - \ifx\@dateofbirth\@empty\else% - \if@titlepage% - \tud@newline@title% - \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% - \@dateofbirth% - \ifx\@placeofbirth\@empty\else% - \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% - \fi% - \else% - \tud@title@wrn{dateofbirth}% - \fi% - \fi% - \def\@tempc##1{% - \ifstr{\csuse{@##1}}{}{}{% - \if@titlepage% - \tud@newline@title% - \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% - \csuse{@##1}% - \else% - \tud@title@wrn{##1}% - \fi% - }% - }% - \@tempc{course}% - \@tempc{discipline}% - \@tempc{matriculationnumber}% - \@tempc{matriculationyear}% - \fi% -% \end{macrocode} -% Zunächst werden die zuvor bestehenden Feldinhalte wiederhergestellt. Danach -% wird durch den Aufruf von \cs{tud@multiple@@@split} wird das übergebene -% \meta{Feld} sukzessive abgearbeitet. -% \begin{macrocode} - \tud@multiple@fields@restore{@author}% - \tud@multiple@@@split{#2}{\vskip 2ex}% -} -% \end{macrocode} -% \end{macro}^^A \tud@newline@title -% \end{macro}^^A \tud@split@author@title -% \begin{macro}{\tud@title@wrn} -% Bei der Nutzung eines Titelkopfes wird bloß eine reduzierte Menge an -% Informationen ausgegeben. Darauf wird der Anwender ggf. hingewiesen. -% \begin{macrocode} -\newcommand*\tud@title@wrn[1]{% - \ClassWarning{\TUD@Class@Name}{% - `\@backslashchar#1' has to be used with\MessageBreak% - activated titlepage option% - }% -} -% \end{macrocode} -% \end{macro}^^A \tud@title@wrn -% \begin{macro}{\tud@thesis@tosubject} -% Bei der Verwendung der Option \opt{subjectthesis} wird zum einen geprüft, ob -% das Feld \cs{@thesis} gesetzt ist und zum anderen, ob das Feld \cs{@subject} -% auch leer ist. -% \begin{macrocode} -\newcommand*\tud@thesis@tosubject{% - \if@tud@subjectthesis\ifx\@thesis\@empty\else% - \ifx\@subject\@empty\else% - \ClassWarning{\TUD@Class@Name}{% - The option `subjectthesis' was activated, so\MessageBreak% - the field `subject' will be overwritten with the\MessageBreak% - given thesis% - }% - \fi% - \let\@subject\@thesis% - \fi\fi% -} -% \end{macrocode} -% \end{macro}^^A \tud@thesis@tosubject -% -% \iffalse -%</book|report|article> -% \fi -% -% \begin{macro}{\tud@maketitle} +% \end{macro}^^A \footnotemark +% \end{macro}^^A \thanks +% \begin{macro}{\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 % \opt{titlepage} unterstützt}^^A % \changes{v2.02}{2014/07/19}{Im zweispaltigen Satz wird für den Titelkopf % \cs{tud@title@twocolumn} verwendet}^^A -% \changes{v2.02}{2014/09/05}{Neue Parameter}^^A % \changes{v2.02}{2014/09/05}{Titelseite mit \cs{tud@make@titlepage}}^^A +% \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{macro}{\tud@maketitle} % \begin{macro}{\tud@title@pagenumber} % \changes{v2.02}{2014/06/23}{neu}^^A % Bei der entsprechend gewählten Layoutoption, wird eine neue Titelseite im \CD @@ -415,23 +285,6 @@ \tud@cmd@store{maketitle} \let\maketitle\tud@maketitle % \end{macrocode} -% \end{macro}^^A \tud@title@pagenumber -% \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} @@ -451,22 +304,19 @@ \TUD@parameter@handler@value{pagenumber}% } % \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{macro}^^A \tud@title@pagenumber +% \end{macro}^^A \tud@maketitle % \end{parameter}^^A pagenumber % \end{parameter}^^A cd % \end{parameter}^^A cdtitle +% \end{macro}^^A \maketitle % % \iffalse %<*book|report|article> % \fi % +% \subsubsection{Die Definition der Titelseite} +% % \begin{macro}{\tud@make@titlepage} % \changes{v2.02}{2014/09/05}{neu}^^A % \begin{macro}{\tud@titleback} @@ -536,10 +386,11 @@ % \begin{macrocode} \tud@x@hyperref@realfootnotes% % \end{macrocode} -% Im Gegensatz zu den \KOMAScript-Klassen wird für eine Umschlagseite die -% Option \opt{titlepage=firstiscover} nur für den Schmutztitel \cs{extratitle} -% und nicht für die eigentliche Titelseite unterstützt. Für ein Cover im \CD -% ist der Befehl \cs{makecover} mit den dazugehörigen Parametern zu nutzen. +% Die Option für eine Umschlagseite \opt{titlepage=firstiscover} wird im +% Gegensatz zu den \KOMAScript-Klassen nur für einen optionalen Schmutztitel +% \cs{extratitle} und nicht für die eigentliche Titelseite unterstützt. Für +% dieses Unterfangen ist bei \TUDScript der Befehl \cs{makecover} mit den +% dazugehörigen Parametern zu nutzen. % \begin{macrocode} \ifx\@extratitle\@empty% \if@titlepageiscoverpage% @@ -612,6 +463,10 @@ % eigentlichen Titel für \cs{@titlehead} \textbf{und} \cs{@subject} abgezogen % werden. Anschließend werden die beiden Boxen ausgegeben und der Aufbau der % Titelseite kann beginnen. +% \ToDo{% +% Der Kram mit Absatz und neuer Zeile ist nicht ganz stimmig, die Länge zum +% Verschieben wird nicht suaber berechnet. Alles in eine Box der Höhe 0? +% }[v2.06] % \begin{macrocode} \setlength\@tempdima{\z@}% \ifx\@titlehead\@empty\else% @@ -706,9 +561,10 @@ \vskip 2ex\@plus.5fill% \fi% % \end{macrocode} +% \ToDo{Befehl zum Angeben optionaler Inhalte, bspw. ein Bild}[v2.06] % Wenn Betreuer angegeben wurden, dann werden diese auf dem Titel ausgeben. Um -% die Vorlage auch für Dissertationen verwenden zu können, ist ein Feld für -% Gutachter vorgesehen. Außerdem wird für Promotionsschriften ein Feld für +% diese Titelseite auch für Dissertationen verwenden zu können, ist ein Feld +% für Gutachter vorgesehen. Außerdem wird für Promotionsschriften ein Feld für % Fachreferenten bereitgehalten. Das Format der Ausgabe ist dabei identisch. % Darauf folgend wird der betreuende Hochschullehrer ausgegeben. % \begin{macrocode} @@ -744,8 +600,10 @@ \fi% % \end{macrocode} % Zu guter Letzt kann das Standard-Verlagsfeld befüllt werden. -% \ToDo{Unterschriftenfeld, siehe\\ -% \url{http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?p=1523\#p1523} +% \ToDo{Unterschriftenfeld auf Titelseite, siehe entsprechenden +% \href{% +% http://latex.wcms-file3.tu-dresden.de/phpBB3/viewtopic.php?p=1523\#p1523% +% }{Forumsbeitrag}% % }[v2.06] % \begin{macrocode} \ifx\@publishers\@empty\else% @@ -863,39 +721,19 @@ % \end{macrocode} % \end{macro}^^A \tud@titleback % \end{macro}^^A \tud@make@titlepage -% \begin{macro}{\tud@title@names} -% Dieser Befehl dient zur getrennten Ausgabe von mehreren, mit dem Makro -% \cs{and} separierten Einträgen in den Feldern \cs{@supervisor}, \cs{@referee} -% und \cs{@advisor}. -% \begin{macrocode} -\newcommand*\tud@title@names[1]{% - \letcs\@tempa{@#1}% - \ifx\@tempa\@empty\else% - \def\and{% - \ifcsvoid{#1othername}{\par}{% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1othername}\par}}% - }% - \let\and\par% - }% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1name}\par}}% - {\usekomafont{author}{\csuse{@#1}\par}}% - \fi% -} -% \end{macrocode} -% \end{macro}^^A \tud@title@names % % \iffalse %</book|report|article> % \fi % +% \subsubsection{Die Definition des Titelkopfes} +% % \begin{macro}{\tud@make@titlehead} % \changes{v2.05}{2015/07/13}{neu}^^A % \begin{macro}{\tud@make@@titlehead} % \changes{v2.05}{2015/07/13}{neu}^^A -% Die Befehle für einen Titelkopf (\opt{titlepage=no}). Diese sind stark an den -% orginalen \KOMAScript-Befehle orientiert. +% Dies sind die internen Makros für einen Titelkopf (\opt{titlepage=no}), +% welche sich stark an den orginalen \KOMAScript-Befehlen orientieren. % \begin{macrocode} \newcommand*\tud@make@titlehead{% \renewcommand*\tud@title@fontcolor{}% @@ -1057,14 +895,194 @@ % \end{macrocode} % \end{macro}^^A \tud@make@@titlehead % \end{macro}^^A \tud@make@titlehead +% +% \subsubsection{Hilfsmakros für die Ausgabe} +% +% \begin{macro}{\tud@title@uppercase} +% Für das Setzen einzelner Felder in Majuskeln werden diese beiden Befehle +% definiert. Bei der Verwendung des Befehls \cs{thanks} auf der Titelseite soll +% sichergestellt werden, dass der Inhalt selbst nicht in Majuskeln gesetzt wird. +% \begin{macrocode} +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \let\\\newline% +% \end{macrocode} +% Der Befehl \cs{thanks} wird so umdefiniert, dass der Inhalt in ein temporäres +% Makro gespeichert wird. Danach wird durch das Setzen einer temporären Box der +% Befehl \cs{thanks} ausgeführt und der Inhalt gesichert. Für die Ausführung von +% \cs{tud@makeuppercase} wird das Argument von \cs{thanks} ignoriert. Nachdem +% das gewünschte Feld in Majuskeln gesetzt wurde, wird die gespeicherte Fußnote +% ausgegeben. +% \begin{macrocode} + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \sbox\z@{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@uppercase +% +% \iffalse +%<*book|report|article> +% \fi +% +% \begin{macro}{\tud@thesis@tosubject} +% Bei der Verwendung der Option \opt{subjectthesis} wird zum einen geprüft, ob +% das Feld \cs{@thesis} gesetzt ist und zum anderen, ob das Feld \cs{@subject} +% auch leer ist. +% \begin{macrocode} +\newcommand*\tud@thesis@tosubject{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% + \ClassWarning{\TUD@Class@Name}{% + The option `subjectthesis' was activated, so\MessageBreak% + the field `subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@thesis@tosubject +% \begin{macro}{\tud@title@names} +% Dieser Befehl dient zur getrennten Ausgabe von mehreren, mit dem Makro +% \cs{and} separierten Einträgen in den Feldern \cs{@supervisor}, \cs{@referee} +% und \cs{@advisor}. +% \begin{macrocode} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1}% + \ifx\@tempa\@empty\else% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1name}\par}}% + {\usekomafont{author}{\csuse{@#1}\par}}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@names +% \begin{macro}{\titledelimiter} +% \begin{macro}{\tud@title@delimiter} +% Dieses Makro wird für das Trennzeichen auf der Titelseite genutzt. +% \begin{macrocode} +\newcommand*\tud@title@delimiter{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} +% \end{macrocode} +% \end{macro}^^A \tud@title@delimiter +% \end{macro}^^A \titledelimiter +% \begin{macro}{\tud@split@author@title} +% \changes{v2.04}{2015/05/12}{neu}^^A +% \begin{macro}{\tud@newline@title} +% Das Makro \cs{tud@split@author@title} dient der formatierten Ausgabe aller +% Informationen für mehrere Autoren auf der Titelseite. +% \begin{macrocode} +\newcommand*\tud@newline@title{} +\newcommand*\tud@split@author@title[2]{% +% \end{macrocode} +% Zu Beginn werden alle Felder, welche innerhalb von \cs{@author} angegeben +% sind, gesichert. +% \begin{macrocode} + \tud@multiple@fields@store{@author}{#1}% +% \end{macrocode} +% Um die Abstände definiert zu setzen, wird \cs{tud@newline@title} verwendet. +% Sobald auch nur eine zusätzliche Information ausgegeben werden soll, wird ein +% etwas kleiner Abstand eingefügt. Anschließend wird jede Information einfach +% in einer neuen Zeile ausgegeben. +% \begin{macrocode} + \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% +% \end{macrocode} +% Die Felder \cs{@author} und ggf. \cs{@authormore} werden sowohl auf der +% Titelseite als auch im Titelkopf jedoch nicht auf der Umschlagseite +% ausgegeben. +% \begin{macrocode} + {\usekomafont{author}{\ignorespaces#1\unskip}}% + \if@tud@cover\else% + \ifx\@authormore\@empty\else% + \tud@newline@title% + \@authormore% + \fi% +% \end{macrocode} +% Nur auf der Titelseite erfolgt die Ausgabe von Geburtsdatum, Geburtsort, +% Matrikelnummer und Immatrikulationsjahr. Sollte ein Titelkopf verwendet +% werden, so wird für jedes gesetzte Feld eine Warnung ausgegeben. +% \begin{macrocode} + \ifx\@dateofbirth\@empty\else% + \if@titlepage% + \tud@newline@title% + \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% + \@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% + \fi% + \else% + \tud@title@wrn{dateofbirth}% + \fi% + \fi% + \def\@tempc##1{% + \ifstr{\csuse{@##1}}{}{}{% + \if@titlepage% + \tud@newline@title% + \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% + \csuse{@##1}% + \else% + \tud@title@wrn{##1}% + \fi% + }% + }% + \@tempc{course}% + \@tempc{discipline}% + \@tempc{matriculationnumber}% + \@tempc{matriculationyear}% + \fi% +% \end{macrocode} +% Zunächst werden die zuvor bestehenden Feldinhalte wiederhergestellt. Danach +% wird durch den Aufruf von \cs{tud@multiple@@@split} wird das übergebene +% \meta{Feld} sukzessive abgearbeitet. +% \begin{macrocode} + \tud@multiple@fields@restore{@author}% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +% \end{macrocode} +% \end{macro}^^A \tud@newline@title +% \end{macro}^^A \tud@split@author@title +% \begin{macro}{\tud@title@wrn} +% Bei der Nutzung eines Titelkopfes wird bloß eine reduzierte Menge an +% Informationen ausgegeben. Darauf wird der Anwender ggf. hingewiesen. +% \begin{macrocode} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\TUD@Class@Name}{% + `\@backslashchar#1' has to be used with\MessageBreak% + activated titlepage option% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@wrn +% +% \iffalse +%</book|report|article> +% \fi +% +% \subsection{Einspaltige Titelei in zweispaltigen Dokumenten} +% % \begin{macro}{\maketitleonecolumn} % \changes{v2.02}{2014/08/16}{einspaltiger Text obligatorisch}^^A % \begin{macro}{\tud@title@twocolumn} % \changes{v2.03}{2015/01/13}{Bugfix für falsche Position des Titels}^^A % \begin{macro}{\tud@title@box} % Zum Setzen eines einspaltigen Titels mit einspaltiger Zusammenfassung bei -% einem Titelkopf~-- dank der Hilfe von Markus Kohm.% -% \footnote{\url{http://www.komascript.de/node/1699}} +% einem Titelkopf~-- \hrfn{http://www.komascript.de/node/1699}{Dank der Hilfe} +% von Markus Kohm. % % Der Befehl \cs{maketitleonecolumn}\oarg{Parameter}\oarg{Inhalt} kann bei % zweispaltigem Satz dazu genutzt werden, einen einspaltigen Titel zu bekommen. @@ -1186,7 +1204,7 @@ %<*book|report|article> % \fi % -% \subsection{Cover} +% \subsection{Umschlagseite (Cover)} % % Zusätzlich zur eigentlichen Titelseite kann für Druckerzeugnisse eine % separate Umschlagseite erzeugt werden. Um die Gestaltung dieser anzupassen, @@ -1200,6 +1218,15 @@ % \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{parameter}{cdcover} +% \changes{v2.03}{2015/01/12}{neu}^^A +% \begin{parameter}{cd} +% \changes{v2.03}{2015/01/12}{neu}^^A +% \begin{parameter}{pagenumber} +% \begin{parameter}{cdgeometry} +% \changes{v2.02}{2014/06/23}{neu}^^A +% \begin{macro}{\if@tud@cdgeometry@cover} +% \begin{macro}{\if@tud@cdgeometry@cover@locked} % \begin{macro}{\if@tud@cover} % Der Befehl \cs{makecover} ist für eine Umschlagseite bei einem gebundenen % Werk zu verwenden. @@ -1366,28 +1393,12 @@ \endgroup% } % \end{macrocode} -% \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@cdgeometry@cover} -% \begin{macro}{\if@tud@cdgeometry@cover@locked} -% \begin{parameter}{pagenumber} -% \begin{parameter}{cdfont} -% \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{cdgeometry} ausgenommen. +% entsprechen~-- \prm{cdgeometry} ausgenommen~-- in ihrem Verhalten den +% gleichnamigen Klassenoptionen. Der genannte Parameter kann eigentlich nur mit +% booleschen Werten verwenet werden. Für einen benutzerdefinierten Satzspiegel +% der Umschlagseite müssen die \KOMAScript-Makros \cs{coverpage\dots{}margin} +% angepasst werden. % \begin{macrocode} \bool@lock{@tud@cdgeometry@cover} \TUD@parameter@family{cover}{% @@ -1420,20 +1431,14 @@ \TUD@parameter@handler@value{pagenumber}% } % \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{macro}^^A \if@tud@cover % \end{macro}^^A \if@tud@cdgeometry@cover@locked % \end{macro}^^A \if@tud@cdgeometry@cover % \end{parameter}^^A cdgeometry +% \end{parameter}^^A pagenumber % \end{parameter}^^A cd % \end{parameter}^^A cdcover +% \end{macro}^^A \makecover % % \iffalse %</book|report|article> diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx index c595e1a05fe..6217f781d24 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx @@ -1,32 +1,32 @@ -% \CheckSum{210} +% \CheckSum{214} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -49,9 +49,9 @@ % \iffalse %%% From File: tudscr-twocolfix.dtx %<*driver> -\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi +\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-twocolfix.dtx}[% - 2016/09/22 v2.05d TUD-Script\space% + 2017/01/03 v2.05g TUD-Script\space% %</driver> %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{twocolfix}[% @@ -69,13 +69,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-twocolfix.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -86,17 +92,18 @@ % \changes{v2.05}{2016/04/25}{Überprüfen der Definition von \cs{@topnewpage} % des \LaTeXe-Kernels}^^A % -% \section{Bugfix für den zweispaltigen Satz} +% \section{Das Paket \pkg{twocolfix} -- Bugfix für den zweispaltigen Satz} % % Der \LaTeXe-Kernel enthält einen Fehler, der Kapitelüberschriften im -% zweispaltigen Layout höher setzt, als im einspaltigen. Der Fehler ist zwar -% schon länger bekannt, -% \footnote{\url{http://latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}} -% allerdings noch nicht in den \LaTeXe-Kernel übernommen worden. Das Paket -% \pkg{twocolfix} soll das Problem beheben. Eine Integration dieses Bugfixes in -% \KOMAScript{} wurde bereits bei Markus Kohm angefragt,% -% \footnote{\url{http://www.komascript.de/node/1681}} jedoch von ihm bis jetzt -% nicht weiter verfolgt. +% zweispaltigen Layout höher setzt, als im einspaltigen. Zwar ist der +% \hrfn{http://latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}{Fehler} +% schon länger bekannt, allerdings noch nicht in den \LaTeXe-Kernel übernommen +% worden. Das Paket \pkg{twocolfix} soll das Problem beheben. Eine Integration +% des Bugfixes in \KOMAScript{} wurde bereits bei Markus Kohm angefragt, jedoch +% \hrfn{http://www.komascript.de/node/1681}{von ihm nicht weiter verfolgt}. +% +% \ToDo{Als eingenständiges Paket herauslösen}[v2.06] +% \ToDo{CheckCommand verwenden}[v2.06] % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % @@ -104,10 +111,8 @@ %<*package> % \fi % -% \subsection{Das Paket \pkg{twocolfix}} -% % Es wird der fehlerhafte Befehl aus dem \LaTeXe-Kernel neu definiert. -% Allerdingds definieren die \KOMAScript-Klassen das Makro \cs{@topnewpage} +% Allerdings definieren die \KOMAScript-Klassen das Makro \cs{@topnewpage} % um und sichern vorher das Original in \cs{scr@topnewpage}. Daher wird der % neue Befehl erst temporär definiert. % \begin{macrocode} @@ -223,13 +228,13 @@ % temporär definiert wurden, wird nun abhängig von der aktiven Klasse der % notwendige Befehl mit der neuen Definition überschrieben. % \begin{macrocode} -\@ifundefined{scr@topnewpage}{% +\ifx\scr@topnewpage\@undefined \@check@eq\@topnewpage\@tempb% \let\@topnewpage\@tempa% -}{% +\else \@check@eq\scr@topnewpage\@tempb% \let\scr@topnewpage\@tempa% -} +\fi % \end{macrocode} % \end{macro}^^A \scr@topnewpage % \end{macro}^^A \@topnewpage diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx index 896cc0d2d0f..f7dc803f80c 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx @@ -1,32 +1,32 @@ -% \CheckSum{127} +% \CheckSum{133} % \iffalse meta-comment -% -% ============================================================================ -% -% TUD-Script -% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 -% -% ============================================================================ -% +% +% TUD-Script -- Corporate Design of Technische Universität Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% % 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 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 +% 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 +% in der Version 1.3c, verteilt und/oder verändert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder später ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder später und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. -% -% ============================================================================ +% +% ---------------------------------------------------------------------------- % % \fi % @@ -68,7 +68,7 @@ % \changes{v2.02}{2014/05/16}{Umbennenung mehrerer Befehle zur Kompatibilität % mit anderen Paketen}^^A % -% \section{Version des \texorpdfstring{\TUDScript}{TUD-Script}-Bundles} +% \section{Die Version des \texorpdfstring{\TUDScript}{TUD-Script}-Bundles} % % Für alle Klassen und Paketen, die zum \TUDScript-Bundle auf \KOMAScript-Basis % gehören wird als erstes die aktuelle Version festgelgt. @@ -95,7 +95,7 @@ \begingroup \catcode`\@11\relax %<*!(package|class)> - \ifx\newcommand\undefined + \ifx\newcommand\@undefined \gdef\TUD@Version@Check#1{% \gdef\TUD@Version{\space\space#1}% \gdef\TUDScriptVersion{\space\space#1}% @@ -103,7 +103,7 @@ } \else %</!(package|class)> - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -131,7 +131,7 @@ % \end{macrocode} % \ToDo{Version eintragen}[Release] % \begin{macrocode} - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup % \end{macrocode} % \end{macro}^^A \TUDScriptVersionNumber @@ -152,13 +152,19 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + \CodelineIndex \RecordChanges \GetFileInfo{tudscr-version.dtx} +\title{\file{\filename}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} + \begin{document} \maketitle + \tableofcontents \DocInput{\filename} \end{document} %</driver> @@ -204,10 +210,10 @@ ^^J#3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% - \@ifundefined{TUD@Class@Parent}{% + \ifx\TUD@Class@Parent\@undefined% \newcommand*\TUD@Class@Name{#1}% \TUD@Class@Info% - }{}% + \fi% } %</!inherit> %<*inherit> @@ -234,7 +240,7 @@ % \begin{macrocode} \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -267,12 +273,12 @@ %<*package&(supervisor|comp|tutorial)> % \fi % -% \subsection{Verwendbarkeit von \TUDScript-Paketen} +% \section{Verwendbarkeit von \TUDScript-Paketen} % % Einige Pakete sind nur mit den \TUDScript-Klassen verwendbar. Diese erzeugen % einen Fehler, wenn sie nicht mit diesen verwendet werden. % \begin{macrocode} -\@ifundefined{TUD@Class@Name}{% +\ifx\TUD@Class@Name\@undefined \PackageError{% %<supervisor> tudscrsupervisor% %<comp&base> tudscrcomp% @@ -284,14 +290,14 @@ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% }% \endinput -}{} +\fi % \end{macrocode} % % \iffalse %</package&(supervisor|comp|tutorial)> % \fi % -% \subsection{Das \TUDScript-Logo} +% \section{Das \TUDScript-Logo} % \begin{macro}{\TUDScript} % Der Schriftzug von \TUDScript. % \begin{macrocode} diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr.ins b/Master/texmf-dist/source/latex/tudscr/tudscr.ins index d50f02f6f23..69765aa9a1a 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr.ins +++ b/Master/texmf-dist/source/latex/tudscr/tudscr.ins @@ -1,3 +1,30 @@ +% +% TUD-Script -- Corporate Design of Technische Universitaet Dresden +% ---------------------------------------------------------------------------- +% +% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +% +% ---------------------------------------------------------------------------- +% +% 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. +% +% ---------------------------------------------------------------------------- \input docstrip.tex \begingroup \catcode`\%=12 \catcode`\*=14 @@ -19,42 +46,31 @@ \activefiles } \@@input tudscr-version.dtx - \keepsilent - \preamble -============================================================================ - - TUD-Script - Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +TUD-Script -- Corporate Design of Technische Universitaet Dresden -============================================================================ +\TUD@Version - 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. +Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 +This file was generated from file(s) of the TUD-Script bundle. ---------------------------------------------------------------------------- - 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 2005/12/01 or later and of this work. -============================================================================ +This work has the LPPL maintenance status "author-maintained". -\endpreamble +The current maintainer and author of this work is Falk Hanisch. +\endpreamble \askforoverwritefalse - \usedir{tex/latex/tudscr} \generate{% \usepreamble\defaultpreamble% @@ -212,6 +228,9 @@ \from{tudscr-misc.dtx}{package,comp,poster,execute}% \from{tudscr-comp.dtx}{package,comp,poster,body}% } +} +\generate{% + \usepreamble\defaultpreamble% \file{tudscrcolor.sty}{% \from{tudscr-version.dtx}{package,color}% \from{tudscr-color.dtx}{package,color}% @@ -232,9 +251,9 @@ \from{tudscr-manual.dtx}{class,manual,option}% \from{tudscr-misc.dtx}{class,manual,inherit,execute}% \from{tudscr-manual.dtx}{class,manual,body}% - \from{tudscr-misc.dtx}{class,manual,xindy}% \from{tudscr-fields.dtx}{class,manual,body}% \from{tudscr-locale.dtx}{class,manual,body}% + \from{tudscr-texindy.dtx}{class,manual}% } \file{tudscrtutorial.sty}{% \from{tudscr-version.dtx}{package,tutorial}% @@ -243,16 +262,19 @@ \from{tudscr-manual.dtx}{package,tutorial,option}% \from{tudscr-misc.dtx}{package,tutorial,execute}% \from{tudscr-manual.dtx}{package,tutorial,body}% - \from{tudscr-misc.dtx}{package,tutorial,xindy}% + \from{tudscr-texindy.dtx}{package,tutorial}% } } \generate{% \usepreamble\defaultpreamble% \file{tudscrdoc.cls}{% \from{tudscr-version.dtx}{class,doc}% - \from{tudscr-doc.dtx}{class,doc}% + \from{tudscr-base.dtx}{class,doc}% + \from{tudscr-doc.dtx}{class,doc,option}% + \from{tudscr-locale.dtx}{class,doc}% \from{tudscr-manual.dtx}{class,doc}% - \from{tudscr-misc.dtx}{class,doc,xindy}% + \from{tudscr-doc.dtx}{class,doc,body}% + \from{tudscr-texindy.dtx}{class,doc}% } } \endbatchfile diff --git a/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex b/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex index 4da0c6756a7..7c51250b1cf 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex +++ b/Master/texmf-dist/source/latex/tudscr/tudscrsource.tex @@ -11,25 +11,29 @@ \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} -\usepackage{microtype} \usepackage{bookmark} +\usepackage[babel]{microtype} + %\EnableCrossrefs \CodelineIndex \RecordChanges \GetFileInfo{tudscrsource.tex} + \begin{document} \addtokomafont{subject}{\sffamily} \subject{\TUDScript \vTUDScript{} basierend auf \KOMAScript} \title{Ein \LaTeXe-Bundle für Dokumente \mbox{im neuen \CD der} \mbox{\TnUD}} \subtitle{Dokumentierter Quelltext} -\date{\filedate\\[1ex] Version \fileversion} -\author{Falk Hanisch\thanks{\tudscrmail}} +\author{Falk Hanisch\qquad\expandafter\mailto\expandafter{\tudscrmail}} +\date{\fileversion\nobreakspace(\filedate)} \makeatletter \begingroup% \def\and{, }% \let\thanks\@gobble% \let\footnote\@gobble% + \let\mailto\@gobble% + \let\qquad\relax% \hypersetup{% pdfauthor = {\@author},% pdftitle = {\@title},% @@ -39,17 +43,18 @@ \endgroup% \renewcommand*\@pnumwidth{1.9em} \renewcommand*\@tocrmarg{2.9em} +\let\@maketitle\scr@maketitle% \makeatother \maketitle -Das \TUDScript-Bundle setzt das \CD der \TnUD für \LaTeXe{} um. Die darin -enthaltenen Klassen und Paketen basieren auf dem \KOMAScript-Bundle und sind -sehr eng mit diesen verwoben. Momentan ergänzen sie die alten, auf den -Standard-\LaTeX-Klassen basierenden Vorlagen von Klaus Bergmann, sollen diese -jedoch mittel- bis langfristig ersetzen.% +Das \TUDScript-Bundle setzt das \CD der \TnUD für \LaTeXe{} um. Die enthaltenen +Klassen und Pakete basieren auf dem \KOMAScript-Bundle und sind sehr eng mit +diesen verwoben. Momentan ergänzen sie das Vorlagenpaket von Klaus Bergmann, +das auf den Standard-\LaTeX-Klassen basiert und als veraltet betrachtet werden +kann. Die dazugehörigen Klassen sollen mittel- bis langfristig ersetzt werden.% \footnote{% aktuell ist dies \cls{tudbook}, geplant \cls{tudfax}, \cls{tudletter}, \cls{tudform}, \cls{tudhaus} und evtl. auch \cls{tudbeamer}% @@ -59,7 +64,10 @@ sondern um den dokumentierten Quelltext der Implementierung von \TUDScript. Das Anwenderhandbuch kann über die Kommandozeile respektive das Terminal mit dem Aufruf \texttt{texdoc tudscr} geöffnet werden. -\ToDo{Sämtliche \cs{@temp\dots}-Makros auf \cs{tud@reserved\dots} ändern}[v2.06] +\ToDo{Markup aller \cs{val} mit \cs{typeout} prüfen und ggf. ändern}[v2.06] +\ToDo{\file{manifest.txt} erstellen?!}[v2.06] +\ToDo{Sämtliche \cs{@temp\dots}-Makros auf \cs{tud@temp\dots} ändern}[v2.06] +\ToDo{\cs{tud@reserved} in \cs{tud@temp\dots} ändern}[v2.06] \tableofcontents \clearpage @@ -83,8 +91,9 @@ dem Aufruf \texttt{texdoc tudscr} geöffnet werden. \DocInclude{tudscr-mathswap} \ifdefined\tudfinalflag\else -\DocInclude{tudscr-doc} \DocInclude{tudscr-manual} +\DocInclude{tudscr-doc} +\DocInclude{tudscr-texindy} \DocInclude{install/tudscr-metrics} \DocInclude{install/tudscr-scripts} diff --git a/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty index 796761d1788..b4cd3a6bb01 100644 --- a/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty +++ b/Master/texmf-dist/tex/latex/tudscr/fix-tudscrfonts.sty @@ -10,37 +10,30 @@ %% tudscr-comp.dtx (with options: `package,fontsfix,option') %% tudscr-comp.dtx (with options: `package,fontsfix,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -62,7 +55,7 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} @@ -75,7 +68,7 @@ }{} %%% From File: tudscr-comp.dtx \ProvidesPackage{fix-tudscrfonts}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package for font fixes (compatibility for old tud(scr) classes)% ] diff --git a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty index be4fca64f63..9dee2001aef 100644 --- a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty +++ b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty @@ -6,37 +6,30 @@ %% %% tudscr-mathswap.dtx (with options: `package') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-mathswap.dtx \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{mathswap}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-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 16a89f7e51d..3e6f2143a55 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls @@ -27,37 +27,30 @@ %% tudscr-comp.dtx (with options: `class,article,body') %% tudscr-misc.dtx (with options: `class,article,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -79,24 +72,24 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\TUD@ProvidesClass[3]{% \ProvidesClass{#1}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script ^^J#3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% - \@ifundefined{TUD@Class@Parent}{% + \ifx\TUD@Class@Parent\@undefined% \newcommand*\TUD@Class@Name{#1}% \TUD@Class@Info% - }{}% + \fi% } \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -335,8 +328,8 @@ \cs@set@lock{tud@cdgeometry@num}{1}% \fi% \@tempswafalse% - \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi% - \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi% + \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi% + \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi% \if@tempswa% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% \fi% @@ -382,85 +375,6 @@ \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]} }{} %%% From File: tudscr-pagestyle.dtx -\newcommand*\tud@ps@list{} -\newcommand*\tud@if@tudheadings[3]{% - \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% -} -\newif\if@tud@ddc@internal -\newcommand*\tud@comp@clearpage{}% -\newcommand*\tud@comp@resetpagestyle{}% -\newcommand*\tud@ddc@switch{} -\edef\tud@ddc@switch{% - \TUD@numkey@bool,% - {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}% -} -\newif\if@tud@headlogo@option@set -\newif\if@tud@footlogo@option@set -\newif\if@tud@ddc@auto -\newcommand*\tud@ddc@auto@num{0} -\TUD@key{ddc}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal% - \@tud@ddc@autofalse% - \else% - \@tud@ddc@autotrue% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddcfoot=false}% - \@tud@ddc@internalfalse% - \fi% - \global\@tud@headlogo@option@settrue% - \global\@tud@footlogo@option@settrue% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@head@num{0} -\TUD@key{ddchead}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddcfoot=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@foot@num{0} -\TUD@key{ddcfoot}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@dim@footlogoheight{} -\let\tud@dim@footlogoheight\relax -\TUD@key{footlogoheight}{% - \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% - \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% - \@tempa#1\@nil% - \fi% - \global\@tud@footlogo@option@settrue% - \fi% -} \cs@lock{tud@head@font@num}{0} \cs@lock{tud@head@bar@num}{0} \bool@lock{@tud@head@widebar} @@ -596,6 +510,81 @@ \csundef{@@tud@ps@#1@#2@#3@#4}% }{}% } +\newcommand*\tud@dim@footlogoheight{} +\let\tud@dim@footlogoheight\relax +\TUD@key{footlogoheight}{% + \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% + \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% + \@tempa#1\@nil% + \fi% + \global\@tud@footlogo@option@settrue% + \fi% +} +\newif\if@tud@ddc@internal +\newcommand*\tud@comp@clearpage{}% +\newcommand*\tud@comp@resetpagestyle{}% +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {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}% +} +\newif\if@tud@headlogo@option@set +\newif\if@tud@footlogo@option@set +\newif\if@tud@ddc@auto +\newcommand*\tud@ddc@auto@num{0} +\TUD@key{ddc}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal% + \@tud@ddc@autofalse% + \else% + \@tud@ddc@autotrue% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@internalfalse% + \fi% + \global\@tud@headlogo@option@settrue% + \global\@tud@footlogo@option@settrue% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@head@num{0} +\TUD@key{ddchead}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddcfoot=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@foot@num{0} +\TUD@key{ddcfoot}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} %%% From File: tudscr-layout.dtx \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% @@ -740,17 +729,7 @@ \TUD@SpecialOptionAtDocument{tud@layout@process}% \fi% } -\newcommand*\tud@font@koma@set[2]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{#2\nobreak}% -} -\newcommand*\tud@font@koma@unset[1]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{\relax}% -} -\newcommand*\tud@font@koma@reset[1]{% - \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}% -} +\newcommand*\tud@pagecolor{}% \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% @@ -764,7 +743,6 @@ \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% \FamilyKeyStateProcessed% } -\newcommand*\tud@pagecolor{}% \newcommand*\tud@dim@pageheadingsvskip{0pt} \TUD@key{pageheadingsvskip}{% \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}% @@ -931,6 +909,110 @@ }% \TUDoptions{#2}% } +\newcommand*\tud@v@comp{\tud@v@last} +\TUD@key{tudscrver}[last]{% + \tud@v@get\@tempa{#1}% + \ifcsundef{tud@v@\@tempa}{% + \ClassWarningNoLine{\TUD@Class@Name}% + {% + You have set option `tudscrver' to `\@tempa', but\MessageBreak% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% + }% + \def\tud@v@comp{0}% + }{% + \ClassInfoNoLine{\TUD@Class@Name}% + {% + Switching compatibility level to `\@tempa'% + }% + \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% + }% + \FamilyKeyStateProcessed% +} +\AtEndOfClass% +{% + \TUD@key{tudscrver}[]{% + \ClassError{\TUD@Class@Name}% + {Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\TUD@Class@Name' + but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \ifcsdef{scr@v@\TUD@Version@KOMA}{% + \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% + \ClassError{\TUD@Class@Name}{% + KOMA-Script compatibility level too low% + }{% + \TUD@Version\space must be used at least with\MessageBreak% + KOMA-Script compatibility option `version=3.12'.% + }% + \fi% + }{% + \ClassError{\TUD@Class@Name}{% + KOMA-Script v\TUD@Version@KOMA is required% + }{% + \TUD@Version\space must at least be used with\MessageBreak% + KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% + }% + }% +} +\csdef{tud@v@first}{0} +\csdef{tud@v@2.00}{0} +\csdef{tud@v@2.01}{0} +\csdef{tud@v@2.01a}{0} +\csdef{tud@v@2.01b}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.03}{1} +\csdef{tud@v@2.03a}{1} +\csdef{tud@v@2.04}{2} +\csdef{tud@v@2.04a}{2} +\csdef{tud@v@2.04b}{2} +\csdef{tud@v@2.04c}{2} +\csdef{tud@v@2.04d}{2} +\csdef{tud@v@2.04e}{2} +\csdef{tud@v@2.05}{3} +\csdef{tud@v@2.05a}{3} +\csdef{tud@v@2.05b}{3} +\csdef{tud@v@2.05c}{3} +\csdef{tud@v@2.05d}{3} +\csdef{tud@v@2.05e}{3} +\csdef{tud@v@2.05f}{3} +\csdef{tud@v@2.05g}{3} +\csdef{tud@v@last}{3} +\newcommand*\tud@v@get[2]{% + \begingroup% + \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempb v##1\@nil{\def\@tempc{##1}}% + \@tempa #2\@nil% + \edef\tud@reserved{% + \endgroup% + \etex@unexpanded{\def#1}{\@tempc}% + }% + \tud@reserved% +} +\newcommand*\tud@if@v@lower[1]{% + \begingroup% + \tud@v@get\@tempa{#1}% + \ifcsdef{tud@v@\@tempa}{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% + }{% + \def\tud@reserved{% + \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! + Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% + There's no defined macro `\string\tud@v@\@tempa'% + }% + \endgroup\@firstoftwo% + }% + }% + \tud@reserved% +} \TUD@key{fontspec}[true]{% \ClassWarning{\TUD@Class@Name}% {% @@ -1102,109 +1184,6 @@ \fi% } \TUD@key{colour}[true]{\TUDoptions{color=#1}} -\newcommand*\tud@v@comp{\tud@v@last} -\TUD@key{tudscrver}[last]{% - \tud@v@get\@tempa{#1}% - \ifcsundef{tud@v@\@tempa}{% - \ClassWarningNoLine{\TUD@Class@Name}% - {% - You have set option `tudscrver' to `\@tempa', but\MessageBreak% - this value is not supported. Because of this, the\MessageBreak% - value for `tudscrver' was set to `first'% - }% - \def\tud@v@comp{0}% - }{% - \ClassInfoNoLine{\TUD@Class@Name}% - {% - Switching compatibility level to `\@tempa'% - }% - \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% - }% - \FamilyKeyStateProcessed% -} -\AtEndOfClass% -{% - \TUD@key{tudscrver}[]{% - \ClassError{\TUD@Class@Name}% - {Option `tudscrver' too late}{% - Option `tudscrver' can only be set while loading the\MessageBreak% - class `\TUD@Class@Name' - but you have tried to set it up later.% - }% - \FamilyKeyStateProcessed% - }% - \ifcsdef{scr@v@\TUD@Version@KOMA}{% - \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% - \ClassError{\TUD@Class@Name}{% - KOMA-Script compatibility level too low% - }{% - \TUD@Version\space must be used at least with\MessageBreak% - KOMA-Script compatibility option `version=3.12'.% - }% - \fi% - }{% - \ClassError{\TUD@Class@Name}{% - KOMA-Script v\TUD@Version@KOMA is required% - }{% - \TUD@Version\space must at least be used with\MessageBreak% - KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% - }% - }% -} -\csdef{tud@v@first}{0} -\csdef{tud@v@2.00}{0} -\csdef{tud@v@2.01}{0} -\csdef{tud@v@2.01a}{0} -\csdef{tud@v@2.01b}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.03}{1} -\csdef{tud@v@2.03a}{1} -\csdef{tud@v@2.04}{2} -\csdef{tud@v@2.04a}{2} -\csdef{tud@v@2.04b}{2} -\csdef{tud@v@2.04c}{2} -\csdef{tud@v@2.04d}{2} -\csdef{tud@v@2.04e}{2} -\csdef{tud@v@2.05}{3} -\csdef{tud@v@2.05a}{3} -\csdef{tud@v@2.05b}{3} -\csdef{tud@v@2.05c}{3} -\csdef{tud@v@2.05d}{3} -\csdef{tud@v@2.05e}{3} -\csdef{tud@v@2.05f}{3} -\csdef{tud@v@last}{3} -\newcommand*\tud@v@get[2]{% - \begingroup% - \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% - \def\@tempb v##1\@nil{\def\@tempc{##1}}% - \@tempa #2\@nil% - \edef\tud@reserved{% - \endgroup% - \etex@unexpanded{\def#1}{\@tempc}% - }% - \tud@reserved% -} -\newcommand*\tud@if@v@lower[1]{% - \begingroup% - \tud@v@get\@tempa{#1}% - \ifcsdef{tud@v@\@tempa}{% - \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% - \def\tud@reserved{\endgroup\@firstoftwo}% - \else% - \def\tud@reserved{\endgroup\@secondoftwo}% - \fi% - }{% - \def\tud@reserved{% - \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! - Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% - There's no defined macro `\string\tud@v@\@tempa'% - }% - \endgroup\@firstoftwo% - }% - }% - \tud@reserved% -} %%% From File: tudscr-misc.dtx \newif\if@tud@x@scr@paper@set \TUD@key{paper}{% @@ -1304,18 +1283,6 @@ \LoadClass{\TUD@Class@KOMA}[2015/04/23] %%% From File: tudscr-base.dtx \RequirePackage{environ}[2013/04/01] -\AtEndPreamble{% - \@ifpackageloaded{graphicx}{}{% - \@ifpackageloaded{graphics}{% - \ClassWarningNoLine{\TUD@Class@Name}{% - Package `graphics' was superseded by `graphicx',\MessageBreak% - which now will be loaded automatically% - }% - }{}% - }% - \RequirePackage{graphicx}[1999/02/16]% - \RequirePackage{tudscrcolor}[\TUD@Version]% -} \cs@lock{tud@x@multicol@num}{1} \newcommand*\tud@x@multicol@check{% \ifnum\tud@x@multicol@num>\@ne\relax% @@ -1327,6 +1294,18 @@ \fi% } \AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}} +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\TUD@Class@Name}{% + Package `graphics' was superseded by `graphicx',\MessageBreak% + which now will be loaded automatically% + }% + }{}% + \RequirePackage{graphicx}[1999/02/16]% + }% + \RequirePackage{tudscrcolor}[\TUD@Version]% +} %%% From File: tudscr-fonts.dtx \newcommand*\tud@univers{lun} \newif\if@tud@univers @@ -1416,6 +1395,19 @@ \fi% \undef\tud@font@check% } +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% + \renewcommand*\tud@RaggedRight{\RaggedRight}% +} +\AfterPackage*{siunitx}{% + \providecommand*\lseries{\fontseries{l}\selectfont}% +} +\newif\if@tud@x@bm@requested +\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} \RequirePackage{trimspaces}[2009/09/17] \newif\if@tud@x@mweights@enabled \AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue} @@ -1927,11 +1919,6 @@ \fi% \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}% } -\newif\if@tud@x@bm@requested -\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} -\AfterPackage*{siunitx}{% - \providecommand*\lseries{\fontseries{l}\selectfont}% -} \newrobustcmd*\ifdin{% \ifx\f@family\tud@dinbold% \expandafter\@firstoftwo% @@ -1946,14 +1933,6 @@ \sectfont#1% \fi% } -\newcommand*\tud@raggedright{\raggedright} -\newcommand*\tud@RaggedRight{\raggedright} -\AfterPackage*{ragged2e}{% - \ifdef{\LaTeXraggedright}{% - \renewcommand*\tud@raggedright{\LaTeXraggedright}% - }{}% - \renewcommand*\tud@RaggedRight{\RaggedRight}% -} \RequirePackage{textcase}[2004/10/07] \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% @@ -1994,21 +1973,29 @@ \let\footnote\@gobble% \def\newline{\space\ignorespaces}% \def\\{\space\ignorespaces}% - \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}% + \let\@tempc\relax% + \def\@tempa##1{\csedef{##1}####1{\@tempc}}% \let\@tempb\tud@split@author@list% \ifx\and\relax\else% \robustify\and% \fi% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% + \def\@tempa##1##2{% + \def\@tempb####1##2####2\@nil{% + \IfArgIsEmpty{####2}{% + \def##1{####1}% + }{% + \@tempb####1####2\@nil% + }% + }% + \expandafter\@tempb##1##2\@nil% + }% \protected@edef\@@author{#1}% - \tud@replace\@@author{ \relax }{}% - \tud@replace\@@author{\relax }{}% - \tud@replace\@@author{ \relax}{}% - \tud@replace\@@author{\relax}{}% - \tud@replace\@@author{ \and }{\and}% - \tud@replace\@@author{ \and}{\and}% - \tud@replace\@@author{\and }{\and}% - \protected@xdef\@@author{\trim@spaces{\@@author}}% + \@tempa{\@@author}{ \@tempc }% + \@tempa{\@@author}{\@tempc }% + \@tempa{\@@author}{ \@tempc}% + \@tempa{\@@author}{\@tempc}% + \xdef\@@author{\expandonce\@@author}% \endgroup% } \newcommand*\@authormore{} @@ -2021,6 +2008,7 @@ \newcommand*\@thesis{} \newcommand*\@@thesis{} \newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}} +\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\tud@thanks{} \newcommand*\tud@thesis@do[2]{% \begingroup% @@ -2070,7 +2058,6 @@ \fi% \protected@xdef\@@thesis{\trim@spaces{#2}}% } -\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\@graduation{} \newcommand*\@@graduation{} \newcommand*\graduation[2][]{% @@ -2552,6 +2539,22 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-area.dtx +\newif\if@tud@x@crop@center +\AfterPackage{crop}{% + \CheckCommand*\CROP@center{% + \voffset\stockheight + \advance\voffset-\paperheight + \voffset.5\voffset + \hoffset\stockwidth + \advance\hoffset-\paperwidth + \hoffset.5\hoffset + }% + \pretocmd{\CROP@center}{% + \@tud@x@crop@centertrue% + }{}{\tud@patch@wrn{CROP@center}} +} +\newif\if@tud@x@standalone@crop +\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newlength\tud@len@widemargin \newlength\tud@len@slimmargin \newlength\tud@len@both @@ -2741,22 +2744,6 @@ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}% \fi% } -\newif\if@tud@x@crop@center -\AfterPackage{crop}{% - \CheckCommand*\CROP@center{% - \voffset\stockheight - \advance\voffset-\paperheight - \voffset.5\voffset - \hoffset\stockwidth - \advance\hoffset-\paperwidth - \hoffset.5\hoffset - }% - \pretocmd{\CROP@center}{% - \@tud@x@crop@centertrue% - }{}{\tud@patch@wrn{CROP@center}} -} -\newif\if@tud@x@standalone@crop -\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newcommand*\tud@cdgeometry@process{} \newcommand*\tud@cdgeometry@@process{} \if@tud@x@standalone@crop @@ -3551,19 +3538,6 @@ \AtEndPreamble{% \if@tud@x@standalone@crop% \pagestyle{empty}% - \hoffset=-72.27pt% - \voffset=-72.27pt% - \topmargin=0pt% - \headheight=0pt% - \headsep=0pt% - \marginparsep=0pt% - \marginparwidth=0pt% - \footskip=0pt% - \marginparpush=0pt% - \oddsidemargin=0pt% - \evensidemargin=0pt% - \topskip=0pt% - \textheight=\maxdimen% \let\tud@AfterChangingArea\relax% \let\tud@cdgeometry@process\relax% \else% @@ -3971,16 +3945,43 @@ ]{tudheadings.pagecolor}% \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% } +\newcommand*\tud@ps@list{} \listadd\tud@ps@list{tudheadings} \listadd\tud@ps@list{plain.tudheadings} \listadd\tud@ps@list{empty.tudheadings} -\PreventPackageFromLoading[% - \ClassWarning{\TUD@Class@Name}{% - The package `fancyhdr' must not be used with a\MessageBreak% - TUD-Script class. You should make use of the\MessageBreak% - capabilities of package `scrlayer-scrpage' instead% - }% -]{fancyhdr} +\newcommand*\tud@if@tudheadings[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}}% +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@pagestyle{} +\let\tud@pagestyle\pagestyle +\pretocmd{\tud@pagestyle}{% + \tud@BeforeSelectAnyPageStyle{#1}% + \edef\currentpagestyle{#1}% +}{}{\tud@patch@wrn{pagestyle}} +\tud@cmd@store{pagestyle} +\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} +\BeforePackage{scrlayer-scrpage}{% + \tud@cmd@restore{pagestyle}% + \undef\tud@pagestyle% +} +\TUD@UnwindPackage{scrlayer-scrpage}{% + \ifcsundef{if@chapter}{% + \newif\if@chapter% + \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% + }{}% + \cslet{ps@tudheadings}{\ps@headings}% + \cslet{ps@plain.tudheadings}{\ps@plain}% + \cslet{ps@empty.tudheadings}{\ps@empty}% + \providecommand*\currentpagestyle{plain}% + \providecommand*\BeforeSelectAnyPageStyle[1]{}% + \providecommand*\GetRealPageStyle[1]{#1}% + \let\pagestyle\tud@pagestyle% + \undef\tud@pagestyle% + \tud@cdgeometry@init% +} \newcommand*\tud@ps@onselect{% \DeclarePageStyleAlias{plain}{plain.tudheadings}% \DeclarePageStyleAlias{headings}{tudheadings}% @@ -4056,36 +4057,6 @@ \ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}% \global\let\tud@foot@fontcolor\tud@foot@fontcolor% } -\newcommand*\tud@pagestyle{} -\let\tud@pagestyle\pagestyle -\pretocmd{\tud@pagestyle}{% - \tud@BeforeSelectAnyPageStyle{#1}% - \edef\currentpagestyle{#1}% -}{}{\tud@patch@wrn{pagestyle}} -\tud@cmd@store{pagestyle} -\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} -\BeforePackage{scrlayer-scrpage}{% - \tud@cmd@restore{pagestyle}% - \undef\tud@pagestyle% -} -\TUD@UnwindPackage{scrlayer-scrpage}{% - \ifcsundef{if@chapter}{% - \newif\if@chapter% - \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% - }{}% - \cslet{ps@tudheadings}{\ps@headings}% - \cslet{ps@plain.tudheadings}{\ps@plain}% - \cslet{ps@empty.tudheadings}{\ps@empty}% - \providecommand*\currentpagestyle{plain}% - \providecommand*\BeforeSelectAnyPageStyle[1]{}% - \providecommand*\GetRealPageStyle[1]{#1}% - \let\pagestyle\tud@pagestyle% - \undef\tud@pagestyle% - \tud@cdgeometry@init% -} -\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% - \xdef\@specialstyle{\GetRealPageStyle{#1}}% -}{}{\tud@patch@wrn{thispagestyle}} \newcommand*\tud@head@fontsize{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@bold{} @@ -4241,40 +4212,6 @@ \endgroup% \vbox to #1{#2}% } -\AtBeginDocument{% - \tud@if@v@lower{2.04}{% - \renewcommand*\tud@comp@clearpage{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% - \fi% - }% - \renewcommand*\tud@comp@resetpagestyle{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{% - \expandafter\pagestyle\expandafter{\currentpagestyle}% - }{}% - \fi% - }% - }{}% -} -\newcommand*\tud@ddc@check{% - \let\@tempa\tud@ddc@head@num% - \let\@tempb\tud@ddc@foot@num% - \if@tud@ddc@auto% - \ifdefvoid{\tud@headlogo@filename}{% - \let\@tempa\tud@ddc@auto@num% - \let\@tempb\z@% - }{% - \let\@tempa\z@% - \let\@tempb\tud@ddc@auto@num% - }% - \fi% - \tud@if@v@lower{2.03}{% - \ifnum\@tempb=\z@\relax% - \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% - \fi% - }{}% -} \tud@newlayerbox{main@black} \tud@newlayerbox{main@HKS41} \tud@newlayerbox{main@white} @@ -4403,10 +4340,6 @@ \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% }% } -\tud@newlayerbox{foot@black} -\tud@newlayerbox{foot@HKS41} -\tud@newlayerbox{foot@white} -\tud@newlayerbox{foot@option} \AtEndOfClass{% \ifdefvoid{\tud@dim@footlogoheight}{% \tud@if@v@lower{2.03}{% @@ -4416,6 +4349,10 @@ }% }{}% } +\tud@newlayerbox{foot@black} +\tud@newlayerbox{foot@HKS41} +\tud@newlayerbox{foot@white} +\tud@newlayerbox{foot@option} \newcommand*\tud@footlogo@ddc@set[2]{% \tud@savelayerbox{foot@#1}{% \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}% @@ -4629,6 +4566,40 @@ \hbox to #2{}% \fi% } +\AtBeginDocument{% + \tud@if@v@lower{2.04}{% + \renewcommand*\tud@comp@clearpage{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% + \fi% + }% + \renewcommand*\tud@comp@resetpagestyle{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }{}% + \fi% + }% + }{}% +} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head@num% + \let\@tempb\tud@ddc@foot@num% + \if@tud@ddc@auto% + \ifdefvoid{\tud@headlogo@filename}{% + \let\@tempa\tud@ddc@auto@num% + \let\@tempb\z@% + }{% + \let\@tempa\z@% + \let\@tempb\tud@ddc@auto@num% + }% + \fi% + \tud@if@v@lower{2.03}{% + \ifnum\@tempb=\z@\relax% + \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% + \fi% + }{}% +} \newcommand*\tud@ps@parameters[1]{% \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}% \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}% @@ -4704,6 +4675,13 @@ \tud@ps@parameters{#1}% \TUD@parameter@handler@default{}% } +\PreventPackageFromLoading[% + \ClassWarning{\TUD@Class@Name}{% + The package `fancyhdr' must not be used with a\MessageBreak% + TUD-Script class. You should make use of the\MessageBreak% + capabilities of package `scrlayer-scrpage' instead% + }% +]{fancyhdr} %%% From File: tudscr-layout.dtx \newcommand*\tud@x@scr@headings@current{} \newcommand*\tud@sec@fontsize{} @@ -4884,15 +4862,17 @@ \let\tud@@startpart\scr@@startpart% \ifcsdef{scr@v@3.21}{\@tempswatrue}{\@tempswafalse}% \if@tempswa% - \patchcmd{\tud@@startpart}% - {\usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}}% - {\usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}}% - {}{\tud@patch@wrn{scr@@startpart}}% + \patchcmd{\tud@@startpart}{% + \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}% + }{% + \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}% + }{}{\tud@patch@wrn{scr@@startpart}}% \else% - \patchcmd{\tud@@startpart}% - {\usekomafont{#1prefix}{\@nameuse{#1format}}}% - {\usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}}% - {}{\tud@patch@wrn{scr@@startpart}}% + \patchcmd{\tud@@startpart}{% + \usekomafont{#1prefix}{\@nameuse{#1format}}% + }{% + \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}% + }{}{\tud@patch@wrn{scr@@startpart}}% \fi% \else \newcommand*\tud@@part{}% @@ -4977,83 +4957,10 @@ \usekomafont{subject}% \mdseries% \large% + \tud@raggedright% } \robustify{\thanks} \robustify{\footnotemark} -\newcommand*\tud@title@uppercase[1]{% - \let\@tempa\relax% - \begingroup% - \let\\\newline% - \def\thanks##1{\gdef\@tempa{##1}}% - \let\footnote\thanks% - \sbox\z@{#1}% - \let\thanks\@gobble% - \let\footnote\@gobble% - \tud@makeuppercase{#1}% - \endgroup% - \ifx\@tempa\relax\else\thanks\@tempa\fi% -} -\newcommand*\tud@title@delimiter{:\nobreakspace} -\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} -\newcommand*\tud@newline@title{} -\newcommand*\tud@split@author@title[2]{% - \tud@multiple@fields@store{@author}{#1}% - \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% - {\usekomafont{author}{\ignorespaces#1}}% - \if@tud@cover\else% - \ifx\@authormore\@empty\else% - \tud@newline@title% - \@authormore% - \fi% - \ifx\@dateofbirth\@empty\else% - \if@titlepage% - \tud@newline@title% - \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% - \@dateofbirth% - \ifx\@placeofbirth\@empty\else% - \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% - \fi% - \else% - \tud@title@wrn{dateofbirth}% - \fi% - \fi% - \def\@tempc##1{% - \ifstr{\csuse{@##1}}{}{}{% - \if@titlepage% - \tud@newline@title% - \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% - \csuse{@##1}% - \else% - \tud@title@wrn{##1}% - \fi% - }% - }% - \@tempc{course}% - \@tempc{discipline}% - \@tempc{matriculationnumber}% - \@tempc{matriculationyear}% - \fi% - \tud@multiple@fields@restore{@author}% - \tud@multiple@@@split{#2}{\vskip 2ex}% -} -\newcommand*\tud@title@wrn[1]{% - \ClassWarning{\TUD@Class@Name}{% - `\@backslashchar#1' has to be used with\MessageBreak% - activated titlepage option% - }% -} -\newcommand*\tud@thesis@tosubject{% - \if@tud@subjectthesis\ifx\@thesis\@empty\else% - \ifx\@subject\@empty\else% - \ClassWarning{\TUD@Class@Name}{% - The option `subjectthesis' was activated, so\MessageBreak% - the field `subject' will be overwritten with the\MessageBreak% - given thesis% - }% - \fi% - \let\@subject\@thesis% - \fi\fi% -} \newcommand*\tud@title@pagenumber{} \let\tud@title@pagenumber\relax \newcommand*\tud@maketitle[1][]{% @@ -5320,21 +5227,6 @@ \fi% \end{titlepage}% } -\newcommand*\tud@title@names[1]{% - \letcs\@tempa{@#1}% - \ifx\@tempa\@empty\else% - \def\and{% - \ifcsvoid{#1othername}{\par}{% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1othername}\par}}% - }% - \let\and\par% - }% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1name}\par}}% - {\usekomafont{author}{\csuse{@#1}\par}}% - \fi% -} \newcommand*\tud@make@titlehead{% \renewcommand*\tud@title@fontcolor{}% \ifcase\tud@layout@title@num\relax\or\else% *color @@ -5438,6 +5330,95 @@ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \let\\\newline% + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \sbox\z@{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +\newcommand*\tud@thesis@tosubject{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% + \ClassWarning{\TUD@Class@Name}{% + The option `subjectthesis' was activated, so\MessageBreak% + the field `subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1}% + \ifx\@tempa\@empty\else% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1name}\par}}% + {\usekomafont{author}{\csuse{@#1}\par}}% + \fi% +} +\newcommand*\tud@title@delimiter{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} +\newcommand*\tud@newline@title{} +\newcommand*\tud@split@author@title[2]{% + \tud@multiple@fields@store{@author}{#1}% + \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% + {\usekomafont{author}{\ignorespaces#1\unskip}}% + \if@tud@cover\else% + \ifx\@authormore\@empty\else% + \tud@newline@title% + \@authormore% + \fi% + \ifx\@dateofbirth\@empty\else% + \if@titlepage% + \tud@newline@title% + \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% + \@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% + \fi% + \else% + \tud@title@wrn{dateofbirth}% + \fi% + \fi% + \def\@tempc##1{% + \ifstr{\csuse{@##1}}{}{}{% + \if@titlepage% + \tud@newline@title% + \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% + \csuse{@##1}% + \else% + \tud@title@wrn{##1}% + \fi% + }% + }% + \@tempc{course}% + \@tempc{discipline}% + \@tempc{matriculationnumber}% + \@tempc{matriculationyear}% + \fi% + \tud@multiple@fields@restore{@author}% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\TUD@Class@Name}{% + `\@backslashchar#1' has to be used with\MessageBreak% + activated titlepage option% + }% +} \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty index 81dcfd6e07b..77a32426c06 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty @@ -7,37 +7,30 @@ %% tudscr-version.dtx (with options: `package,base') %% tudscr-base.dtx (with options: `package,base') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -59,7 +52,7 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} @@ -72,7 +65,7 @@ }{} %%% From File: tudscr-base.dtx \ProvidesPackage{tudscrbase}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package (basics for the bundle)% ] @@ -113,6 +106,11 @@ \RequirePackage{etoolbox}[2011/01/03] \RequirePackage{etexcmds}[2011/02/16] \RequirePackage{kvsetkeys}[2012/04/25] +\newcommand*\tud@reserved{} +\newtoks\tud@toks@ +\newcommand*\eaddto@hook[2]{% + \expandafter\addto@hook\expandafter#1\expandafter{#2}% +} \newcommand*\ifxblank{\ifstr{}} \newcommand*\ifxnumber[1]{% \if\relax\detokenize\expandafter{\romannumeral-0#1}\relax% @@ -207,38 +205,16 @@ \expandafter\def\expandafter #1\expandafter{#1}% }% } -\newcommand*\tud@reserved{} -\newtoks\tud@toks@ -\newcommand*\eaddto@hook[2]{% - \expandafter\addto@hook\expandafter#1\expandafter{#2}% +\newcommand*\tud@font@koma@set[2]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% + \csdef{tud@font@koma@#1}{#2\nobreak}% } -\newcommand*\tud@replace[3]{% - \begingroup% - \toks@{\def\@tempa##1}% - \eaddto@hook\toks@{\detokenize{#2}}% - \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}% - \the\toks@% - \def\@tempb##1##2{% - \IfArgIsEmpty{##2}{% - \appto#1{##1}% - \let\@tempc\relax% - }{% - \appto#1{##1#3}% - \def\@tempc{\@tempa##2\@nil}% - }% - \@tempc% - }% - \toks@{\@tempa}% - \edef\@tempc{\expandafter\detokenize\expandafter{#1}}% - \eaddto@hook\toks@{\@tempc}% - \eaddto@hook\toks@{\detokenize{#2}\@nil}% - \def#1{}% - \the\toks@% - \edef\tud@reserved{% - \noexpand\endgroup% - \def\noexpand#1{#1}% - }% - \tud@reserved% +\newcommand*\tud@font@koma@unset[1]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% + \csdef{tud@font@koma@#1}{\relax}% +} +\newcommand*\tud@font@koma@reset[1]{% + \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}% } \DefineFamily{TUD} \newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}} diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls index 977fa1c56ec..94b9c022e91 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls @@ -27,37 +27,30 @@ %% tudscr-comp.dtx (with options: `class,book,body') %% tudscr-misc.dtx (with options: `class,book,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -79,24 +72,24 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\TUD@ProvidesClass[3]{% \ProvidesClass{#1}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script ^^J#3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% - \@ifundefined{TUD@Class@Parent}{% + \ifx\TUD@Class@Parent\@undefined% \newcommand*\TUD@Class@Name{#1}% \TUD@Class@Info% - }{}% + \fi% } \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -335,8 +328,8 @@ \cs@set@lock{tud@cdgeometry@num}{1}% \fi% \@tempswafalse% - \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi% - \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi% + \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi% + \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi% \if@tempswa% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% \fi% @@ -382,85 +375,6 @@ \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]} }{} %%% From File: tudscr-pagestyle.dtx -\newcommand*\tud@ps@list{} -\newcommand*\tud@if@tudheadings[3]{% - \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% -} -\newif\if@tud@ddc@internal -\newcommand*\tud@comp@clearpage{}% -\newcommand*\tud@comp@resetpagestyle{}% -\newcommand*\tud@ddc@switch{} -\edef\tud@ddc@switch{% - \TUD@numkey@bool,% - {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}% -} -\newif\if@tud@headlogo@option@set -\newif\if@tud@footlogo@option@set -\newif\if@tud@ddc@auto -\newcommand*\tud@ddc@auto@num{0} -\TUD@key{ddc}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal% - \@tud@ddc@autofalse% - \else% - \@tud@ddc@autotrue% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddcfoot=false}% - \@tud@ddc@internalfalse% - \fi% - \global\@tud@headlogo@option@settrue% - \global\@tud@footlogo@option@settrue% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@head@num{0} -\TUD@key{ddchead}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddcfoot=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@foot@num{0} -\TUD@key{ddcfoot}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@dim@footlogoheight{} -\let\tud@dim@footlogoheight\relax -\TUD@key{footlogoheight}{% - \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% - \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% - \@tempa#1\@nil% - \fi% - \global\@tud@footlogo@option@settrue% - \fi% -} \cs@lock{tud@head@font@num}{0} \cs@lock{tud@head@bar@num}{0} \bool@lock{@tud@head@widebar} @@ -596,6 +510,81 @@ \csundef{@@tud@ps@#1@#2@#3@#4}% }{}% } +\newcommand*\tud@dim@footlogoheight{} +\let\tud@dim@footlogoheight\relax +\TUD@key{footlogoheight}{% + \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% + \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% + \@tempa#1\@nil% + \fi% + \global\@tud@footlogo@option@settrue% + \fi% +} +\newif\if@tud@ddc@internal +\newcommand*\tud@comp@clearpage{}% +\newcommand*\tud@comp@resetpagestyle{}% +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {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}% +} +\newif\if@tud@headlogo@option@set +\newif\if@tud@footlogo@option@set +\newif\if@tud@ddc@auto +\newcommand*\tud@ddc@auto@num{0} +\TUD@key{ddc}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal% + \@tud@ddc@autofalse% + \else% + \@tud@ddc@autotrue% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@internalfalse% + \fi% + \global\@tud@headlogo@option@settrue% + \global\@tud@footlogo@option@settrue% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@head@num{0} +\TUD@key{ddchead}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddcfoot=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@foot@num{0} +\TUD@key{ddcfoot}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} %%% From File: tudscr-layout.dtx \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% @@ -854,17 +843,7 @@ \newif\if@tud@clearcolor \TUD@ifkey{clearcolor}{@tud@clearcolor} \TUD@ifkey{clearcolour}{@tud@clearcolor} -\newcommand*\tud@font@koma@set[2]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{#2\nobreak}% -} -\newcommand*\tud@font@koma@unset[1]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{\relax}% -} -\newcommand*\tud@font@koma@reset[1]{% - \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}% -} +\newcommand*\tud@pagecolor{}% \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% @@ -878,7 +857,6 @@ \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% \FamilyKeyStateProcessed% } -\newcommand*\tud@pagecolor{}% \newcommand*\tud@dim@pageheadingsvskip{0pt} \TUD@key{pageheadingsvskip}{% \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}% @@ -1046,6 +1024,110 @@ }% \TUDoptions{#2}% } +\newcommand*\tud@v@comp{\tud@v@last} +\TUD@key{tudscrver}[last]{% + \tud@v@get\@tempa{#1}% + \ifcsundef{tud@v@\@tempa}{% + \ClassWarningNoLine{\TUD@Class@Name}% + {% + You have set option `tudscrver' to `\@tempa', but\MessageBreak% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% + }% + \def\tud@v@comp{0}% + }{% + \ClassInfoNoLine{\TUD@Class@Name}% + {% + Switching compatibility level to `\@tempa'% + }% + \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% + }% + \FamilyKeyStateProcessed% +} +\AtEndOfClass% +{% + \TUD@key{tudscrver}[]{% + \ClassError{\TUD@Class@Name}% + {Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\TUD@Class@Name' + but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \ifcsdef{scr@v@\TUD@Version@KOMA}{% + \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% + \ClassError{\TUD@Class@Name}{% + KOMA-Script compatibility level too low% + }{% + \TUD@Version\space must be used at least with\MessageBreak% + KOMA-Script compatibility option `version=3.12'.% + }% + \fi% + }{% + \ClassError{\TUD@Class@Name}{% + KOMA-Script v\TUD@Version@KOMA is required% + }{% + \TUD@Version\space must at least be used with\MessageBreak% + KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% + }% + }% +} +\csdef{tud@v@first}{0} +\csdef{tud@v@2.00}{0} +\csdef{tud@v@2.01}{0} +\csdef{tud@v@2.01a}{0} +\csdef{tud@v@2.01b}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.03}{1} +\csdef{tud@v@2.03a}{1} +\csdef{tud@v@2.04}{2} +\csdef{tud@v@2.04a}{2} +\csdef{tud@v@2.04b}{2} +\csdef{tud@v@2.04c}{2} +\csdef{tud@v@2.04d}{2} +\csdef{tud@v@2.04e}{2} +\csdef{tud@v@2.05}{3} +\csdef{tud@v@2.05a}{3} +\csdef{tud@v@2.05b}{3} +\csdef{tud@v@2.05c}{3} +\csdef{tud@v@2.05d}{3} +\csdef{tud@v@2.05e}{3} +\csdef{tud@v@2.05f}{3} +\csdef{tud@v@2.05g}{3} +\csdef{tud@v@last}{3} +\newcommand*\tud@v@get[2]{% + \begingroup% + \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempb v##1\@nil{\def\@tempc{##1}}% + \@tempa #2\@nil% + \edef\tud@reserved{% + \endgroup% + \etex@unexpanded{\def#1}{\@tempc}% + }% + \tud@reserved% +} +\newcommand*\tud@if@v@lower[1]{% + \begingroup% + \tud@v@get\@tempa{#1}% + \ifcsdef{tud@v@\@tempa}{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% + }{% + \def\tud@reserved{% + \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! + Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% + There's no defined macro `\string\tud@v@\@tempa'% + }% + \endgroup\@firstoftwo% + }% + }% + \tud@reserved% +} \TUD@key{fontspec}[true]{% \ClassWarning{\TUD@Class@Name}% {% @@ -1217,109 +1299,6 @@ \fi% } \TUD@key{colour}[true]{\TUDoptions{color=#1}} -\newcommand*\tud@v@comp{\tud@v@last} -\TUD@key{tudscrver}[last]{% - \tud@v@get\@tempa{#1}% - \ifcsundef{tud@v@\@tempa}{% - \ClassWarningNoLine{\TUD@Class@Name}% - {% - You have set option `tudscrver' to `\@tempa', but\MessageBreak% - this value is not supported. Because of this, the\MessageBreak% - value for `tudscrver' was set to `first'% - }% - \def\tud@v@comp{0}% - }{% - \ClassInfoNoLine{\TUD@Class@Name}% - {% - Switching compatibility level to `\@tempa'% - }% - \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% - }% - \FamilyKeyStateProcessed% -} -\AtEndOfClass% -{% - \TUD@key{tudscrver}[]{% - \ClassError{\TUD@Class@Name}% - {Option `tudscrver' too late}{% - Option `tudscrver' can only be set while loading the\MessageBreak% - class `\TUD@Class@Name' - but you have tried to set it up later.% - }% - \FamilyKeyStateProcessed% - }% - \ifcsdef{scr@v@\TUD@Version@KOMA}{% - \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% - \ClassError{\TUD@Class@Name}{% - KOMA-Script compatibility level too low% - }{% - \TUD@Version\space must be used at least with\MessageBreak% - KOMA-Script compatibility option `version=3.12'.% - }% - \fi% - }{% - \ClassError{\TUD@Class@Name}{% - KOMA-Script v\TUD@Version@KOMA is required% - }{% - \TUD@Version\space must at least be used with\MessageBreak% - KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% - }% - }% -} -\csdef{tud@v@first}{0} -\csdef{tud@v@2.00}{0} -\csdef{tud@v@2.01}{0} -\csdef{tud@v@2.01a}{0} -\csdef{tud@v@2.01b}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.03}{1} -\csdef{tud@v@2.03a}{1} -\csdef{tud@v@2.04}{2} -\csdef{tud@v@2.04a}{2} -\csdef{tud@v@2.04b}{2} -\csdef{tud@v@2.04c}{2} -\csdef{tud@v@2.04d}{2} -\csdef{tud@v@2.04e}{2} -\csdef{tud@v@2.05}{3} -\csdef{tud@v@2.05a}{3} -\csdef{tud@v@2.05b}{3} -\csdef{tud@v@2.05c}{3} -\csdef{tud@v@2.05d}{3} -\csdef{tud@v@2.05e}{3} -\csdef{tud@v@2.05f}{3} -\csdef{tud@v@last}{3} -\newcommand*\tud@v@get[2]{% - \begingroup% - \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% - \def\@tempb v##1\@nil{\def\@tempc{##1}}% - \@tempa #2\@nil% - \edef\tud@reserved{% - \endgroup% - \etex@unexpanded{\def#1}{\@tempc}% - }% - \tud@reserved% -} -\newcommand*\tud@if@v@lower[1]{% - \begingroup% - \tud@v@get\@tempa{#1}% - \ifcsdef{tud@v@\@tempa}{% - \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% - \def\tud@reserved{\endgroup\@firstoftwo}% - \else% - \def\tud@reserved{\endgroup\@secondoftwo}% - \fi% - }{% - \def\tud@reserved{% - \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! - Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% - There's no defined macro `\string\tud@v@\@tempa'% - }% - \endgroup\@firstoftwo% - }% - }% - \tud@reserved% -} %%% From File: tudscr-misc.dtx \newif\if@tud@x@scr@paper@set \TUD@key{paper}{% @@ -1419,18 +1398,6 @@ \LoadClass{\TUD@Class@KOMA}[2015/04/23] %%% From File: tudscr-base.dtx \RequirePackage{environ}[2013/04/01] -\AtEndPreamble{% - \@ifpackageloaded{graphicx}{}{% - \@ifpackageloaded{graphics}{% - \ClassWarningNoLine{\TUD@Class@Name}{% - Package `graphics' was superseded by `graphicx',\MessageBreak% - which now will be loaded automatically% - }% - }{}% - }% - \RequirePackage{graphicx}[1999/02/16]% - \RequirePackage{tudscrcolor}[\TUD@Version]% -} \cs@lock{tud@x@multicol@num}{1} \newcommand*\tud@x@multicol@check{% \ifnum\tud@x@multicol@num>\@ne\relax% @@ -1442,6 +1409,18 @@ \fi% } \AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}} +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\TUD@Class@Name}{% + Package `graphics' was superseded by `graphicx',\MessageBreak% + which now will be loaded automatically% + }% + }{}% + \RequirePackage{graphicx}[1999/02/16]% + }% + \RequirePackage{tudscrcolor}[\TUD@Version]% +} %%% From File: tudscr-fonts.dtx \newcommand*\tud@univers{lun} \newif\if@tud@univers @@ -1531,6 +1510,19 @@ \fi% \undef\tud@font@check% } +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% + \renewcommand*\tud@RaggedRight{\RaggedRight}% +} +\AfterPackage*{siunitx}{% + \providecommand*\lseries{\fontseries{l}\selectfont}% +} +\newif\if@tud@x@bm@requested +\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} \RequirePackage{trimspaces}[2009/09/17] \newif\if@tud@x@mweights@enabled \AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue} @@ -2042,11 +2034,6 @@ \fi% \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}% } -\newif\if@tud@x@bm@requested -\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} -\AfterPackage*{siunitx}{% - \providecommand*\lseries{\fontseries{l}\selectfont}% -} \newrobustcmd*\ifdin{% \ifx\f@family\tud@dinbold% \expandafter\@firstoftwo% @@ -2061,14 +2048,6 @@ \sectfont#1% \fi% } -\newcommand*\tud@raggedright{\raggedright} -\newcommand*\tud@RaggedRight{\raggedright} -\AfterPackage*{ragged2e}{% - \ifdef{\LaTeXraggedright}{% - \renewcommand*\tud@raggedright{\LaTeXraggedright}% - }{}% - \renewcommand*\tud@RaggedRight{\RaggedRight}% -} \RequirePackage{textcase}[2004/10/07] \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% @@ -2109,21 +2088,29 @@ \let\footnote\@gobble% \def\newline{\space\ignorespaces}% \def\\{\space\ignorespaces}% - \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}% + \let\@tempc\relax% + \def\@tempa##1{\csedef{##1}####1{\@tempc}}% \let\@tempb\tud@split@author@list% \ifx\and\relax\else% \robustify\and% \fi% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% + \def\@tempa##1##2{% + \def\@tempb####1##2####2\@nil{% + \IfArgIsEmpty{####2}{% + \def##1{####1}% + }{% + \@tempb####1####2\@nil% + }% + }% + \expandafter\@tempb##1##2\@nil% + }% \protected@edef\@@author{#1}% - \tud@replace\@@author{ \relax }{}% - \tud@replace\@@author{\relax }{}% - \tud@replace\@@author{ \relax}{}% - \tud@replace\@@author{\relax}{}% - \tud@replace\@@author{ \and }{\and}% - \tud@replace\@@author{ \and}{\and}% - \tud@replace\@@author{\and }{\and}% - \protected@xdef\@@author{\trim@spaces{\@@author}}% + \@tempa{\@@author}{ \@tempc }% + \@tempa{\@@author}{\@tempc }% + \@tempa{\@@author}{ \@tempc}% + \@tempa{\@@author}{\@tempc}% + \xdef\@@author{\expandonce\@@author}% \endgroup% } \newcommand*\@authormore{} @@ -2136,6 +2123,7 @@ \newcommand*\@thesis{} \newcommand*\@@thesis{} \newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}} +\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\tud@thanks{} \newcommand*\tud@thesis@do[2]{% \begingroup% @@ -2185,7 +2173,6 @@ \fi% \protected@xdef\@@thesis{\trim@spaces{#2}}% } -\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\@graduation{} \newcommand*\@@graduation{} \newcommand*\graduation[2][]{% @@ -2670,6 +2657,22 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-area.dtx +\newif\if@tud@x@crop@center +\AfterPackage{crop}{% + \CheckCommand*\CROP@center{% + \voffset\stockheight + \advance\voffset-\paperheight + \voffset.5\voffset + \hoffset\stockwidth + \advance\hoffset-\paperwidth + \hoffset.5\hoffset + }% + \pretocmd{\CROP@center}{% + \@tud@x@crop@centertrue% + }{}{\tud@patch@wrn{CROP@center}} +} +\newif\if@tud@x@standalone@crop +\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newlength\tud@len@widemargin \newlength\tud@len@slimmargin \newlength\tud@len@both @@ -2859,22 +2862,6 @@ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}% \fi% } -\newif\if@tud@x@crop@center -\AfterPackage{crop}{% - \CheckCommand*\CROP@center{% - \voffset\stockheight - \advance\voffset-\paperheight - \voffset.5\voffset - \hoffset\stockwidth - \advance\hoffset-\paperwidth - \hoffset.5\hoffset - }% - \pretocmd{\CROP@center}{% - \@tud@x@crop@centertrue% - }{}{\tud@patch@wrn{CROP@center}} -} -\newif\if@tud@x@standalone@crop -\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newcommand*\tud@cdgeometry@process{} \newcommand*\tud@cdgeometry@@process{} \if@tud@x@standalone@crop @@ -3669,19 +3656,6 @@ \AtEndPreamble{% \if@tud@x@standalone@crop% \pagestyle{empty}% - \hoffset=-72.27pt% - \voffset=-72.27pt% - \topmargin=0pt% - \headheight=0pt% - \headsep=0pt% - \marginparsep=0pt% - \marginparwidth=0pt% - \footskip=0pt% - \marginparpush=0pt% - \oddsidemargin=0pt% - \evensidemargin=0pt% - \topskip=0pt% - \textheight=\maxdimen% \let\tud@AfterChangingArea\relax% \let\tud@cdgeometry@process\relax% \else% @@ -4090,16 +4064,43 @@ ]{tudheadings.pagecolor}% \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% } +\newcommand*\tud@ps@list{} \listadd\tud@ps@list{tudheadings} \listadd\tud@ps@list{plain.tudheadings} \listadd\tud@ps@list{empty.tudheadings} -\PreventPackageFromLoading[% - \ClassWarning{\TUD@Class@Name}{% - The package `fancyhdr' must not be used with a\MessageBreak% - TUD-Script class. You should make use of the\MessageBreak% - capabilities of package `scrlayer-scrpage' instead% - }% -]{fancyhdr} +\newcommand*\tud@if@tudheadings[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}}% +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@pagestyle{} +\let\tud@pagestyle\pagestyle +\pretocmd{\tud@pagestyle}{% + \tud@BeforeSelectAnyPageStyle{#1}% + \edef\currentpagestyle{#1}% +}{}{\tud@patch@wrn{pagestyle}} +\tud@cmd@store{pagestyle} +\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} +\BeforePackage{scrlayer-scrpage}{% + \tud@cmd@restore{pagestyle}% + \undef\tud@pagestyle% +} +\TUD@UnwindPackage{scrlayer-scrpage}{% + \ifcsundef{if@chapter}{% + \newif\if@chapter% + \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% + }{}% + \cslet{ps@tudheadings}{\ps@headings}% + \cslet{ps@plain.tudheadings}{\ps@plain}% + \cslet{ps@empty.tudheadings}{\ps@empty}% + \providecommand*\currentpagestyle{plain}% + \providecommand*\BeforeSelectAnyPageStyle[1]{}% + \providecommand*\GetRealPageStyle[1]{#1}% + \let\pagestyle\tud@pagestyle% + \undef\tud@pagestyle% + \tud@cdgeometry@init% +} \newcommand*\tud@ps@onselect{% \DeclarePageStyleAlias{plain}{plain.tudheadings}% \DeclarePageStyleAlias{headings}{tudheadings}% @@ -4175,36 +4176,6 @@ \ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}% \global\let\tud@foot@fontcolor\tud@foot@fontcolor% } -\newcommand*\tud@pagestyle{} -\let\tud@pagestyle\pagestyle -\pretocmd{\tud@pagestyle}{% - \tud@BeforeSelectAnyPageStyle{#1}% - \edef\currentpagestyle{#1}% -}{}{\tud@patch@wrn{pagestyle}} -\tud@cmd@store{pagestyle} -\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} -\BeforePackage{scrlayer-scrpage}{% - \tud@cmd@restore{pagestyle}% - \undef\tud@pagestyle% -} -\TUD@UnwindPackage{scrlayer-scrpage}{% - \ifcsundef{if@chapter}{% - \newif\if@chapter% - \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% - }{}% - \cslet{ps@tudheadings}{\ps@headings}% - \cslet{ps@plain.tudheadings}{\ps@plain}% - \cslet{ps@empty.tudheadings}{\ps@empty}% - \providecommand*\currentpagestyle{plain}% - \providecommand*\BeforeSelectAnyPageStyle[1]{}% - \providecommand*\GetRealPageStyle[1]{#1}% - \let\pagestyle\tud@pagestyle% - \undef\tud@pagestyle% - \tud@cdgeometry@init% -} -\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% - \xdef\@specialstyle{\GetRealPageStyle{#1}}% -}{}{\tud@patch@wrn{thispagestyle}} \newcommand*\tud@head@fontsize{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@bold{} @@ -4360,40 +4331,6 @@ \endgroup% \vbox to #1{#2}% } -\AtBeginDocument{% - \tud@if@v@lower{2.04}{% - \renewcommand*\tud@comp@clearpage{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% - \fi% - }% - \renewcommand*\tud@comp@resetpagestyle{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{% - \expandafter\pagestyle\expandafter{\currentpagestyle}% - }{}% - \fi% - }% - }{}% -} -\newcommand*\tud@ddc@check{% - \let\@tempa\tud@ddc@head@num% - \let\@tempb\tud@ddc@foot@num% - \if@tud@ddc@auto% - \ifdefvoid{\tud@headlogo@filename}{% - \let\@tempa\tud@ddc@auto@num% - \let\@tempb\z@% - }{% - \let\@tempa\z@% - \let\@tempb\tud@ddc@auto@num% - }% - \fi% - \tud@if@v@lower{2.03}{% - \ifnum\@tempb=\z@\relax% - \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% - \fi% - }{}% -} \tud@newlayerbox{main@black} \tud@newlayerbox{main@HKS41} \tud@newlayerbox{main@white} @@ -4522,10 +4459,6 @@ \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% }% } -\tud@newlayerbox{foot@black} -\tud@newlayerbox{foot@HKS41} -\tud@newlayerbox{foot@white} -\tud@newlayerbox{foot@option} \AtEndOfClass{% \ifdefvoid{\tud@dim@footlogoheight}{% \tud@if@v@lower{2.03}{% @@ -4535,6 +4468,10 @@ }% }{}% } +\tud@newlayerbox{foot@black} +\tud@newlayerbox{foot@HKS41} +\tud@newlayerbox{foot@white} +\tud@newlayerbox{foot@option} \newcommand*\tud@footlogo@ddc@set[2]{% \tud@savelayerbox{foot@#1}{% \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}% @@ -4748,6 +4685,40 @@ \hbox to #2{}% \fi% } +\AtBeginDocument{% + \tud@if@v@lower{2.04}{% + \renewcommand*\tud@comp@clearpage{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% + \fi% + }% + \renewcommand*\tud@comp@resetpagestyle{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }{}% + \fi% + }% + }{}% +} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head@num% + \let\@tempb\tud@ddc@foot@num% + \if@tud@ddc@auto% + \ifdefvoid{\tud@headlogo@filename}{% + \let\@tempa\tud@ddc@auto@num% + \let\@tempb\z@% + }{% + \let\@tempa\z@% + \let\@tempb\tud@ddc@auto@num% + }% + \fi% + \tud@if@v@lower{2.03}{% + \ifnum\@tempb=\z@\relax% + \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% + \fi% + }{}% +} \newcommand*\tud@ps@parameters[1]{% \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}% \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}% @@ -4827,6 +4798,13 @@ \tud@ps@parameters{#1}% \TUD@parameter@handler@default{}% } +\PreventPackageFromLoading[% + \ClassWarning{\TUD@Class@Name}{% + The package `fancyhdr' must not be used with a\MessageBreak% + TUD-Script class. You should make use of the\MessageBreak% + capabilities of package `scrlayer-scrpage' instead% + }% +]{fancyhdr} %%% From File: tudscr-layout.dtx \newcommand*\tud@x@scr@headings@current{} \newcommand*\tud@sec@fontsize{} @@ -4867,6 +4845,11 @@ \fi% ]% } +\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}} +\newcommand*\tud@headmidvskip@reverse{% + \setbox\z@\vbox{\tud@headmidvskip@normal}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}% +} \newcommand*\tud@title@fontcolor{} \newcommand*\tud@part@fontcolor{} \newcommand*\tud@chapter@fontcolor{} @@ -4877,11 +4860,6 @@ \tud@color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } -\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}} -\newcommand*\tud@headmidvskip@reverse{% - \setbox\z@\vbox{\tud@headmidvskip@normal}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}% -} \newcommand*\tud@layout@process{% \ifcase\tud@layout@cover@num\relax% false \bool@std@lock{@tud@cdgeometry@cover}{false}% @@ -5134,6 +5112,51 @@ }% \tud@layout@specialpage@unset% } +\newcommand*\tud@partpreamble{% + \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap + \renewcommand*\tud@abstract@level@num{1}% + \fi% + \KOMAoptions{titlepage=false}% + \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% + \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}% + \tud@color{\tud@part@fontcolor}% + \vskip\dimexpr\topskip+.9\baselineskip\relax% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@chapterpreamble{% + \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap + \renewcommand*\tud@abstract@level@num{1}% + \fi% + \KOMAoptions{titlepage=false}% + \if@tud@chapterpage% + \ifcase\tud@cdfont@num\relax\or% true + \TUDoptions{cdfont=true}% + \or% heavy + \TUDoptions{cdfont=heavy}% + \fi% + \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% + \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}% + \tud@color{\tud@chapter@fontcolor}% + \fi% + \@afterindentfalse\@afterheading% +} +\CheckCommand\set@@@@preamble[6]{% + \expandafter\gdef\csname #1@preamble\endcsname{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% + }% +} +\patchcmd{\set@@@@preamble}{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% +}{% + \def\@tempa####1@####2{% + \@nameuse{tud@####1preamble}% + \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% + }% + \hbox to\hsize{% + \let\phantomsection\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} \ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse} \if@tempswa \newcommand*\tud@@startpart{}% @@ -5148,7 +5171,9 @@ }{}% }{% \ifnumbered{#1}{% - \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}% + \usekomafont{#1prefix}{% + \nobreak\tud@makeuppercase{\@nameuse{#1format}}% + }% \if@tud@parttitle% \enskip% \else% @@ -5234,17 +5259,6 @@ \size@part% }{}{\tud@patch@wrn{@spart}}% \fi -\newcommand*\tud@partpreamble{% - \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap - \renewcommand*\tud@abstract@level@num{1}% - \fi% - \KOMAoptions{titlepage=false}% - \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% - \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}% - \tud@color{\tud@part@fontcolor}% - \vskip\dimexpr\topskip+.9\baselineskip\relax% - \@afterindentfalse\@afterheading% -} \newcommand*\tud@chapterheadstartvskip{% \renewcommand*\tud@chapter@fontcolor{}% \ifcase\tud@layout@chapter@num\relax\or\else% *color @@ -5288,40 +5302,6 @@ \tud@headmidvskip@normal% }{}{\tud@patch@wrn{@@makechapterhead}}% \fi -\newcommand*\tud@chapterpreamble{% - \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap - \renewcommand*\tud@abstract@level@num{1}% - \fi% - \KOMAoptions{titlepage=false}% - \if@tud@chapterpage% - \ifcase\tud@cdfont@num\relax\or% true - \TUDoptions{cdfont=true}% - \or% heavy - \TUDoptions{cdfont=heavy}% - \fi% - \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% - \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}% - \tud@color{\tud@chapter@fontcolor}% - \fi% - \@afterindentfalse\@afterheading% -} -\CheckCommand\set@@@@preamble[6]{% - \expandafter\gdef\csname #1@preamble\endcsname{% - \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% - }% -} -\patchcmd{\set@@@@preamble}{% - \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% -}{% - \def\@tempa####1@####2{% - \@nameuse{tud@####1preamble}% - \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% - }% - \hbox to\hsize{% - \let\phantomsection\relax% - #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% - }% -}{}{\tud@patch@wrn{set@@@@preamble}} \newcommand*\tud@chapter@pre{% \if@tud@chapterpage% \@restonecolfalse% @@ -5486,83 +5466,10 @@ \usekomafont{subject}% \mdseries% \large% + \tud@raggedright% } \robustify{\thanks} \robustify{\footnotemark} -\newcommand*\tud@title@uppercase[1]{% - \let\@tempa\relax% - \begingroup% - \let\\\newline% - \def\thanks##1{\gdef\@tempa{##1}}% - \let\footnote\thanks% - \sbox\z@{#1}% - \let\thanks\@gobble% - \let\footnote\@gobble% - \tud@makeuppercase{#1}% - \endgroup% - \ifx\@tempa\relax\else\thanks\@tempa\fi% -} -\newcommand*\tud@title@delimiter{:\nobreakspace} -\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} -\newcommand*\tud@newline@title{} -\newcommand*\tud@split@author@title[2]{% - \tud@multiple@fields@store{@author}{#1}% - \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% - {\usekomafont{author}{\ignorespaces#1}}% - \if@tud@cover\else% - \ifx\@authormore\@empty\else% - \tud@newline@title% - \@authormore% - \fi% - \ifx\@dateofbirth\@empty\else% - \if@titlepage% - \tud@newline@title% - \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% - \@dateofbirth% - \ifx\@placeofbirth\@empty\else% - \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% - \fi% - \else% - \tud@title@wrn{dateofbirth}% - \fi% - \fi% - \def\@tempc##1{% - \ifstr{\csuse{@##1}}{}{}{% - \if@titlepage% - \tud@newline@title% - \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% - \csuse{@##1}% - \else% - \tud@title@wrn{##1}% - \fi% - }% - }% - \@tempc{course}% - \@tempc{discipline}% - \@tempc{matriculationnumber}% - \@tempc{matriculationyear}% - \fi% - \tud@multiple@fields@restore{@author}% - \tud@multiple@@@split{#2}{\vskip 2ex}% -} -\newcommand*\tud@title@wrn[1]{% - \ClassWarning{\TUD@Class@Name}{% - `\@backslashchar#1' has to be used with\MessageBreak% - activated titlepage option% - }% -} -\newcommand*\tud@thesis@tosubject{% - \if@tud@subjectthesis\ifx\@thesis\@empty\else% - \ifx\@subject\@empty\else% - \ClassWarning{\TUD@Class@Name}{% - The option `subjectthesis' was activated, so\MessageBreak% - the field `subject' will be overwritten with the\MessageBreak% - given thesis% - }% - \fi% - \let\@subject\@thesis% - \fi\fi% -} \newcommand*\tud@title@pagenumber{} \let\tud@title@pagenumber\relax \newcommand*\tud@maketitle[1][]{% @@ -5828,21 +5735,6 @@ \fi% \end{titlepage}% } -\newcommand*\tud@title@names[1]{% - \letcs\@tempa{@#1}% - \ifx\@tempa\@empty\else% - \def\and{% - \ifcsvoid{#1othername}{\par}{% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1othername}\par}}% - }% - \let\and\par% - }% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1name}\par}}% - {\usekomafont{author}{\csuse{@#1}\par}}% - \fi% -} \newcommand*\tud@make@titlehead{% \renewcommand*\tud@title@fontcolor{}% \ifcase\tud@layout@title@num\relax\or\else% *color @@ -5946,6 +5838,95 @@ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \let\\\newline% + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \sbox\z@{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +\newcommand*\tud@thesis@tosubject{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% + \ClassWarning{\TUD@Class@Name}{% + The option `subjectthesis' was activated, so\MessageBreak% + the field `subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1}% + \ifx\@tempa\@empty\else% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1name}\par}}% + {\usekomafont{author}{\csuse{@#1}\par}}% + \fi% +} +\newcommand*\tud@title@delimiter{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} +\newcommand*\tud@newline@title{} +\newcommand*\tud@split@author@title[2]{% + \tud@multiple@fields@store{@author}{#1}% + \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% + {\usekomafont{author}{\ignorespaces#1\unskip}}% + \if@tud@cover\else% + \ifx\@authormore\@empty\else% + \tud@newline@title% + \@authormore% + \fi% + \ifx\@dateofbirth\@empty\else% + \if@titlepage% + \tud@newline@title% + \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% + \@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% + \fi% + \else% + \tud@title@wrn{dateofbirth}% + \fi% + \fi% + \def\@tempc##1{% + \ifstr{\csuse{@##1}}{}{}{% + \if@titlepage% + \tud@newline@title% + \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% + \csuse{@##1}% + \else% + \tud@title@wrn{##1}% + \fi% + }% + }% + \@tempc{course}% + \@tempc{discipline}% + \@tempc{matriculationnumber}% + \@tempc{matriculationyear}% + \fi% + \tud@multiple@fields@restore{@author}% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\TUD@Class@Name}{% + `\@backslashchar#1' has to be used with\MessageBreak% + activated titlepage option% + }% +} \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty index 9a2d8a16489..d6a5f2fbe99 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty @@ -7,37 +7,30 @@ %% tudscr-version.dtx (with options: `package,color') %% tudscr-color.dtx (with options: `package,color') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -59,7 +52,7 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} @@ -72,7 +65,7 @@ }{} %%% From File: tudscr-color.dtx \ProvidesPackage{tudscrcolor}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package (corporate design colors)% ] @@ -80,12 +73,11 @@ \DeclareOption{reduced}{\let\tud@setcolors@add\relax} \DeclareOption{oldcolors}{\let\tud@setcolors@add\tud@setcolors@old} \DeclareOption{full}{\let\tud@setcolors@add\tud@setcolors@old} -\newcommand*\tud@color[1]{\ifdefvoid{#1}{}{\color{#1}}} \newcommand*\setcdcolors[1]{% \selectcolormodel{#1}% \tud@setcolors@do% } -\newcommand*\tud@setcolors@add{} +\newcommand*\tud@color[1]{\ifdefvoid{#1}{}{\color{#1}}} \newcommand*\tud@setcolors@do{% \definecolor{HKS41}{cmyk/RGB/rgb}{% 1.00,0.70,0.10,0.50/011,042,081/0.0431372549,0.16470588235,0.31764705882% @@ -122,6 +114,7 @@ \colorlet{cdorange}{HKS07}% \tud@setcolors@add% } +\newcommand*\tud@setcolors@add{} \newcommand*\tud@setcolors@old{% \colorlet{HKS41K10}{HKS41!10}% \colorlet{HKS41K20}{HKS41!20}% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty index 191633c4251..c69357e0b45 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-book.sty @@ -10,37 +10,30 @@ %% tudscr-misc.dtx (with options: `package,comp,book,execute') %% tudscr-comp.dtx (with options: `package,comp,book,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -62,11 +55,11 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} -\@ifundefined{TUD@Class@Name}{% +\ifx\TUD@Class@Name\@undefined \PackageError{% tudscrcomp-book% }{Unsupported class found}{% @@ -74,7 +67,7 @@ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% }% \endinput -}{} +\fi \@ifundefined{TUDScript}{% \DeclareRobustCommand\TUDScript{% \ifdin{TUD-SCRIPT}{% @@ -84,7 +77,7 @@ }{} %%% From File: tudscr-comp.dtx \ProvidesPackage{tudscrcomp-book}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package (compatibility for old tud(scr) classes)% ] diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty index 8138c76f88c..b82d6036db5 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp-poster.sty @@ -10,37 +10,30 @@ %% tudscr-misc.dtx (with options: `package,comp,poster,execute') %% tudscr-comp.dtx (with options: `package,comp,poster,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -62,11 +55,11 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} -\@ifundefined{TUD@Class@Name}{% +\ifx\TUD@Class@Name\@undefined \PackageError{% tudscrcomp-poster% }{Unsupported class found}{% @@ -74,7 +67,7 @@ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% }% \endinput -}{} +\fi \@ifundefined{TUDScript}{% \DeclareRobustCommand\TUDScript{% \ifdin{TUD-SCRIPT}{% @@ -84,7 +77,7 @@ }{} %%% From File: tudscr-comp.dtx \ProvidesPackage{tudscrcomp-poster}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package (compatibility for old tud(scr) classes)% ] @@ -244,7 +237,7 @@ } \newcommand\sectiontopskip{\scr@section@beforeskip} \newcommand\subsectiontopskip{\scr@subsection@beforeskip} -\setcounter{secnumdepth}{-1} +\setcounter{secnumdepth}{\m@ne} \newcommand*\fusszeile[2][]{\footcontent[#1]{#2}} \newcommand*\footcolumn[2]{% \ifxnumber{#1}{% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty index 0bcc52e725e..8eb0609d017 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty @@ -7,37 +7,30 @@ %% tudscr-version.dtx (with options: `package,comp,base') %% tudscr-comp.dtx (with options: `package,comp,base,identify') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -59,11 +52,11 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} -\@ifundefined{TUD@Class@Name}{% +\ifx\TUD@Class@Name\@undefined \PackageError{% tudscrcomp% }{Unsupported class found}{% @@ -71,7 +64,7 @@ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% }% \endinput -}{} +\fi \@ifundefined{TUDScript}{% \DeclareRobustCommand\TUDScript{% \ifdin{TUD-SCRIPT}{% @@ -81,7 +74,7 @@ }{} %%% From File: tudscr-comp.dtx \ProvidesPackage{tudscrcomp}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package (compatibility for old tud(scr) classes)% ] diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls index 6e69c932af9..e69668a06f4 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls @@ -5,41 +5,37 @@ %% The original source files were: %% %% tudscr-version.dtx (with options: `class,doc') -%% tudscr-doc.dtx (with options: `class,doc') +%% tudscr-base.dtx (with options: `class,doc') +%% tudscr-doc.dtx (with options: `class,doc,option') +%% tudscr-locale.dtx (with options: `class,doc') %% tudscr-manual.dtx (with options: `class,doc') -%% tudscr-misc.dtx (with options: `class,doc,xindy') +%% tudscr-doc.dtx (with options: `class,doc,body') +%% tudscr-texindy.dtx (with options: `class,doc') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -61,24 +57,24 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\TUD@ProvidesClass[3]{% \ProvidesClass{#1}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script ^^J#3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% - \@ifundefined{TUD@Class@Parent}{% + \ifx\TUD@Class@Parent\@undefined% \newcommand*\TUD@Class@Name{#1}% \TUD@Class@Info% - }{}% + \fi% } \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -95,16 +91,23 @@ }\csname xspace\endcsname% }% }{} +%%% From File: tudscr-base.dtx +\RequirePackage{scrlfile}[2013/12/19] +\RequirePackage{etoolbox}[2011/01/03] +\newcommand*\tud@reserved{} +\newcommand*\eaddto@hook[2]{% + \expandafter\addto@hook\expandafter#1\expandafter{#2}% +} +\BeforePackage{tudscrbase}{% + \undef\tud@reserved% + \undef\eaddto@hook% +} +\newcommand*\TUD@UnwindPackage[2]{\AtEndPreamble{\@ifpackageloaded{#1}{}{#2}}} +\BeforePackage{tudscrbase}{\undef\TUD@UnwindPackage} %%% From File: tudscr-doc.dtx -\RequirePackage{scrbase}[2013/12/19]% -\newcommand*\saved@maketitle{}% +\newcommand*\scr@maketitle{}% \PassOptionsToClass{toc=left}{scrartcl}% -\AfterClass{scrartcl}{\let\saved@maketitle\@maketitle}% -\AfterClass{ltxdoc}{% - \let\@maketitle\saved@maketitle% - \codeline@indexfalse% -}% -\AfterPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]}% +\AfterClass{scrartcl}{\let\scr@maketitle\@maketitle}% \newcommand*\sd@saved@LoadClass{} \let\sd@saved@LoadClass=\LoadClass \renewcommand*\LoadClass[2][]{% @@ -133,28 +136,260 @@ } \LoadClassWithOptions{ltxdoc} \setcounter{IndexColumns}{2} +\setcounter{StandardModuleDepth}{2} \DeclareOption{final}{\let\tudfinalflag\relax} \DeclareOption{texindy}{\let\tudxdyflag\relax} \DeclareOption{xindy}{\let\tudxdyflag\relax} \DeclareOption{xdy}{\let\tudxdyflag\relax} \ProcessOptions\relax -\setlength\topmargin{-1in} -\setlength\headheight{0pt} -\setlength\headsep{30pt} -\setlength\footskip{1.5\headsep} -\setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax} -\setlength\marginparwidth{150pt} -\setlength\marginparsep{0pt} -\setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax} -\setlength\textwidth{% - \dimexpr\paperwidth-1in-\oddsidemargin-.5\headsep\relax% -} -\RequirePackage{tudscrbase}[\TUD@Version] +%%% From File: tudscr-locale.dtx +\newcommand*\tud@locale@define[1]{% + \providecommand*#1{% + \ClassError{\TUD@Class@Name}{% + `\string#1' not defined for language `\languagename'% + }{% + Currently the class `\TUD@Class@Name' only supports the\MessageBreak% + languages german and english an its dialects. You must\MessageBreak% + define single patterns by yourself, e.g.:\MessageBreak% + `\string\providecaptionname{\languagename}\string#1{<text>}'\MessageBreak% + You can send your definitions to \tudscrmail\space in\MessageBreak% + order to implement support for additional languages.% + }% + }% +} +\tud@locale@define{\tud@general@name} +\tud@locale@define{\tud@implementation@name} +\tud@locale@define{\tud@changes@name} +\tud@locale@define{\tud@todo@name} +\tud@locale@define{\tud@environment@name} +\tud@locale@define{\tud@environments@name} +\tud@locale@define{\tud@option@name} +\tud@locale@define{\tud@options@name} +\tud@locale@define{\tud@pagestyle@name} +\tud@locale@define{\tud@pagestyles@name} +\tud@locale@define{\tud@layer@name} +\tud@locale@define{\tud@layers@name} +\tud@locale@define{\tud@length@name} +\tud@locale@define{\tud@lengths@name} +\tud@locale@define{\tud@counter@name} +\tud@locale@define{\tud@counters@name} +\tud@locale@define{\tud@TUDcolor@name} +\tud@locale@define{\tud@TUDcolors@name} +\tud@locale@define{\tud@locale@name} +\tud@locale@define{\tud@locales@name} +\tud@locale@define{\tud@field@name} +\tud@locale@define{\tud@fields@name} +\tud@locale@define{\tud@KOMAfont@name} +\tud@locale@define{\tud@KOMAfonts@name} +\tud@locale@define{\tud@parameter@name} +\tud@locale@define{\tud@parameters@name} +\tud@locale@define{\tud@index@text} +\newcommand*\tud@locale@german{% + \providecaptionname{% + german,ngerman,austrian,naustrian,swissgerman,nswissgerman% + }% +} +\tud@locale@german{\tud@general@name}{Allgemein}% +\tud@locale@german{\tud@implementation@name}{Implementierung}% +\tud@locale@german{\tud@changes@name}{\"Anderungsliste} +\tud@locale@german{\tud@todo@name}{Liste der noch zu erledigenden Punkte} +\tud@locale@german{\tud@environment@name}{Umg.} +\tud@locale@german{\tud@environments@name}{Umgebungen} +\tud@locale@german{\tud@option@name}{Opt.} +\tud@locale@german{\tud@options@name}{Optionen} +\tud@locale@german{\tud@pagestyle@name}{Seitenstil} +\tud@locale@german{\tud@pagestyles@name}{Seitenstile} +\tud@locale@german{\tud@layer@name}{Layer} +\tud@locale@german{\tud@layers@name}{Layer (Seitenstilebenen)} +\tud@locale@german{\tud@length@name}{L\"ange} +\tud@locale@german{\tud@lengths@name}{L\"angen} +\tud@locale@german{\tud@counter@name}{Z\"ahler} +\tud@locale@german{\tud@counters@name}{Z\"ahler} +\tud@locale@german{\tud@TUDcolor@name}{Farbe} +\tud@locale@german{\tud@TUDcolors@name}{Farben} +\tud@locale@german{\tud@locale@name}{Lok.} +\tud@locale@german{\tud@locales@name}{Lokalisierungsvariablen} +\tud@locale@german{\tud@field@name}{Feld} +\tud@locale@german{\tud@fields@name}{Eingabefelder} +\tud@locale@german{\tud@KOMAfont@name}{Schriftel.} +\tud@locale@german{\tud@KOMAfonts@name}{Schriftelemente} +\tud@locale@german{\tud@parameter@name}{Param.} +\tud@locale@german{\tud@parameters@name}{Parameter} +\tud@locale@german{\tud@index@text}{% + Kursive Zahlen entsprechen der Seite, auf welcher der korrespondierende + Eintrag beschrieben wird. Unterstrichene Zahlen verweisen auf die + \ifcodeline@index Codezeile der \fi Definition. Alle weiteren Eintr\"age sind + \ifcodeline@index Zeilennummern\else Seitenzahlen\fi, wo der jeweilige + Eintrag verwendet wird. +} +\newcommand*\tud@locale@english{% + \providecaptionname{% + american,australian,british,canadian,english,newzealand,UKenglish,USenglish% + }% +} +\tud@locale@english{\tud@general@name}{General}% +\tud@locale@english{\tud@implementation@name}{Implementation}% +\tud@locale@english{\tud@changes@name}{Change History} +\tud@locale@english{\tud@todo@name}{List of ToDos} +\tud@locale@english{\tud@environment@name}{env.} +\tud@locale@english{\tud@environments@name}{environments} +\tud@locale@english{\tud@option@name}{opt.} +\tud@locale@english{\tud@options@name}{options} +\tud@locale@english{\tud@pagestyle@name}{pagestyle} +\tud@locale@english{\tud@pagestyles@name}{pagestyles} +\tud@locale@english{\tud@layer@name}{layer} +\tud@locale@english{\tud@layers@name}{layers (pagestyle)} +\tud@locale@english{\tud@length@name}{length} +\tud@locale@english{\tud@lengths@name}{lengths} +\tud@locale@english{\tud@counter@name}{counter} +\tud@locale@english{\tud@counters@name}{counters} +\tud@locale@english{\tud@TUDcolor@name}{color} +\tud@locale@english{\tud@TUDcolors@name}{colors} +\tud@locale@english{\tud@locale@name}{locale} +\tud@locale@english{\tud@locales@name}{locales} +\tud@locale@english{\tud@field@name}{field} +\tud@locale@english{\tud@fields@name}{input fields} +\tud@locale@english{\tud@KOMAfont@name}{font} +\tud@locale@english{\tud@KOMAfonts@name}{font elements} +\tud@locale@english{\tud@parameter@name}{param.} +\tud@locale@english{\tud@parameters@name}{parameters} +\tud@locale@english{\tud@index@text}{% + Numbers written in italic refer to the page where the corresponding entry is + described. Numbers underlined refer to the + \ifcodeline@index code line of the \fi definition. All additional entries + refer to the \ifcodeline@index code lines \else pages \fi where the entry is + used. +} +%%% From File: tudscr-manual.dtx +\RequirePackage{scrhack}[2014/02/27] +\RequirePackage{xspace}[2009/10/20] +\xspaceaddexceptions{"=} +\newcommand*\vTUDScript{v\TUDScriptVersionNumber} +\newcommand*\vKOMAScript{v\TUD@Version@KOMA} +\newcommand*\tud@english[1]{#1} +\AtBeginDocument{% + \providecommand*\iflanguageloaded[3]{#3}% + \iflanguageloaded{english}{% + \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}% + }{}% +} +\RequirePackage{pdftexcmds}[2016/05/21] +\PassOptionsToPackage{hyperindex=false,colorlinks,linkcolor=blue}{hyperref} +\PassOptionsToPackage{open,openlevel=0}{bookmark} +\AfterPackage*{hyperref}{% + \newcommand*\hypersource@def{} + \newcommand*\hypersourcedef[1]{% + \ifstr{#1}{\hypersource@def}{}{% + \Hy@raisedlink{\hyperdef{}{source:#1}{}}% + \xdef\hypersource@def{#1}% + }% + }% + \newcommand*\hypersource@ref@codeline[2][\@firstofone]{% + \begingroup% + \def\@tempa##1{\hyperref{}{}{source:##1}{#1{##1}}}% + \forcsvlist\@tempa{#2}% + \endgroup% + }% + \newcommand*\hypersource@ref@page[2][\@firstofone]{% + \begingroup% + \def\@tempa##1{\hyperlink{page.##1}{#1{##1}}}% + \forcsvlist\@tempa{#2}% + \endgroup% + }% + \renewcommand*\main[1]{% + \ifcodeline@index% + \hypersource@ref@codeline[\underline]{#1}% + \else% + \hypersource@ref@page[\underline]{#1}% + \fi% + }% + \renewcommand*\usage[1]{\hypersource@ref@page[\textit]{#1}}% +} +\TUD@UnwindPackage{hyperref}{% + \providecommand*\hypersetup[1]{}% + \providecommand*\href[3][]{#3}% + \providecommand*\phantomsection{}% + \providecommand*\texorpdfstring[2]{#1}% + \RequirePackage{url}[2013/09/16]% + \providecommand*\nolinkurl[1]{\url{#1}}% + \providecommand*\hypersourcedef[1]{} + \providecommand*\hypersource@def{} + \providecommand*\hypersource@ref@codeline[2][]{} + \providecommand*\hypersource@ref@page[2][]{} +} +\TUD@UnwindPackage{trimspaces}{\providecommand*\trim@spaces[1]{#1}} +\newcommand*\hrfn[2]{% + \href{#1}{\trim@spaces{#2}}% + \footnote{% + \begingroup% + \def\_{_}% + \edef\@tempa{#1}% + \strut\expandafter\url\expandafter{\@tempa}% + \endgroup% + }% +} +\newrobustcmd*\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}}% +\AfterPackage*{hyperref}{% + \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{% + \let\bbl@info\@gobble\csname HyPsd@babel@% + }{}{\tud@patch@wrn{pdfstringdef}}% +} +\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +\newcommand*\tud@replace[3]{% + \begingroup% + \toks@{\def\@tempa##1}% + \eaddto@hook\toks@{\detokenize{#2}}% + \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}% + \the\toks@% + \def\@tempb##1##2{% + \IfArgIsEmpty{##2}{% + \appto#1{##1}% + \let\@tempc\relax% + }{% + \appto#1{##1#3}% + \def\@tempc{\@tempa##2\@nil}% + }% + \@tempc% + }% + \toks@{\@tempa}% + \edef\@tempc{\expandafter\detokenize\expandafter{#1}}% + \eaddto@hook\toks@{\@tempc}% + \eaddto@hook\toks@{\detokenize{#2}\@nil}% + \def#1{}% + \the\toks@% + \edef\tud@reserved{% + \noexpand\endgroup% + \def\noexpand#1{#1}% + }% + \tud@reserved% +} +\newcommand*\CD{\tud@english{Corporate Design}\xspace} +\newcommand*\CDs{\tud@english{Corporate Designs}\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\TUDCD{\CD der \TnUD} +\newcommand*\TUDCDs{\CDs der \TnUD} +\newrobustcmd*\DDC{% + \mbox{% + D\kern.05em R\kern.05em E\kern.05em S\kern.05em % + D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept% + }\xspace% +} +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\DDC{DRESDEN-concept}% + \def\TUDScript{TUD-Script}% + \def\KOMAScript{KOMA-Script}% + }% +} +\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace} +\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace} +%%% From File: tudscr-doc.dtx \RequirePackage{dox}[2010/12/16] \@ifpackagelater{dox}{2010/12/17}{% \ClassWarning{\TUD@Class@Name}{% Package `dox' was updated so some patches\MessageBreak% - are maybe outdated + are maybe outdated% }% }{}% \CheckCommand\m@cro@[2]{% @@ -192,211 +427,6 @@ \global\advance\c@CodelineNo\m@ne \ignorespaces } -\CheckCommand*\changes@[3]{% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar - \ifx\saved@macroname\@empty - \space - \actualchar - \generalname - \else - \saved@indexname - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar - \fi - :\levelchar #3% - }% - }% - \@tempa\endgroup\@esphack% -} -\ifdefined\tudxdyflag% - \renewcommand*\changes@[3]{% - \@tempswatrue% - \ifblank{#1}{\@tempswafalse}{}% - \ifblank{#3}{\@tempswafalse}{}% - \if@tempswa% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar% - \ifx\saved@macroname\@empty% - \generalname% - \else% - \implementationname% - \fi% - \levelchar - \ifx\saved@macroname\@empty\else% - \saved@indexname - \ifx\saved@idxtype\@empty\else% - \space\saved@idxtype - \fi% - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar% - \ifx\saved@idxtype\@empty\else% - \space(\saved@idxtype)% - \fi% - :\levelchar - \fi - #2 #3% - \actualchar% - #3% (#2)% - }% - }% - \else% - \let\@tempa\relax% - \fi% - \@tempa\endgroup\@esphack% - }% -\else% - \renewcommand*\changes@[3]{% - \protected@edef\@tempa{% - \noexpand\glossary{% - #1\levelchar - \ifx\saved@macroname\@empty - \quotechar! - \actualchar - \generalname - \else - \saved@indexname - \actualchar - \string\verb\quotechar*% - \verbatimchar\saved@macroname - \verbatimchar - \fi - :\levelchar #3% - }% - }% - \@tempa\endgroup\@esphack% - }% -\fi% -\CheckCommand*\@wrglossary[1]{% - \protected@write\@glossaryfile{}% - {\string\glossaryentry{#1}{\thepage}}% - \endgroup - \@esphack% -} -\def\filesep{?-} -\def\@wrglossary#1{% - \ifx\special@index\index% - \@tempswafalse% - \else% - \@tempswatrue% - \fi% - \ifx\saved@macroname\@empty% - \@tempswafalse% - \fi% - \if@tempswa% - \global\advance\c@CodelineNo\@ne - \protected@write\@glossaryfile{}{% - \string\glossaryentry{#1}{\filesep\number\c@CodelineNo}% - } - \global\advance\c@CodelineNo\m@ne - \else% - \protected@write\@glossaryfile{}{\string\glossaryentry{#1}{\thepage}} - \fi% - \endgroup - \@esphack% -} -\renewcommand*\generalname{Allgemein} -\newcommand*\implementationname{Implementierung} -\newcommand*\hypersourcedef[1]{} -\newcommand*\hypersource@def{} -\newcommand*\hypersourceref[1]{#1} -\newcommand*\hypersource@ref[2][]{} -\PassOptionsToPackage{hyperindex=false}{hyperref} -\AfterPackage{hyperref}{% - \renewcommand*\hypersourcedef[1]{% - \ifstr{#1}{\hypersource@def}{}{% - \Hy@raisedlink{\hyperdef{}{source:#1}{}}% - \xdef\hypersource@def{#1}% - }% - }% - \renewcommand*\hypersourceref[1]{\hypersource@ref{#1}}% - \renewcommand*\main[1]{\hypersource@ref[\underline]{#1}}% - \renewcommand*\hypersource@ref[2][\@firstofone]{% - \begingroup% - \def\@tempa##1-##2\relax{% - \IfArgIsEmpty{##2}{% - \hyperlink{page.\@tempc}{#1{\@tempc}}% - }{% - \hyperref{}{}{source:\@tempc}{#1{\@tempc}}% - }% - }% - \def\@tempb##1{% - \def\@tempc{##1}% - \expandafter\@tempa##1-\relax% - }% - \forcsvlist\@tempb{#2}% - \endgroup% - }% -} -\CheckCommand*\@doxcreatespecialmainindex[3]{% - \expandafter\def\csname SpecialMain#1Index\endcsname##1{% - \@bsphack% - \special@index{##1\actualchar{\string\ttfamily\space##1} (#2) - \encapchar main}% - \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1} - \encapchar main}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialmainindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmainindex}} -\patchcmd{\@doxcreatespecialmainindex}{\@esphack}{% - \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}% -}{}{\tud@patch@wrn{@doxcreatespecialmainindex}} -\CheckCommand*\@doxcreatespecialmainmacrolikeindex[3]{% - \expandafter\def\csname SpecialMain#1Index\endcsname##1{% - \@SpecialIndexHelper@##1\@nil - \@bsphack% - \special@index{\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \space(#2)\encapchar main}% - \special@index{#3:\levelchar\@gtempa\actualchar% - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \encapchar main}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}} -\patchcmd{\@doxcreatespecialmainmacrolikeindex}{\@esphack}{% - \@esphack\hypersourcedef{\filesep\number\c@CodelineNo}% -}{}{\tud@patch@wrn{@doxcreatespecialmainmacrolikeindex}} -\CheckCommand*\@doxcreatespecialindex[3]{% - \expandafter\def\csname Special#1Index\endcsname##1{% - \@bsphack% - \index{##1\actualchar{\protect\ttfamily##1} (#2)\encapchar usage}% - \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1} - \encapchar usage}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialindex}} -\CheckCommand*\@doxcreatespecialmacrolikeindex[3]{% - \expandafter\def\csname Special#1Index\endcsname##1{% - \@SpecialIndexHelper@##1\@nil - \@bsphack% - \index{\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \space(#2)\encapchar usage}% - \index{#3:\levelchar\@gtempa\actualchar - \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar - \encapchar usage}% - \@esphack% - }% -} -\patchcmd{\@doxcreatespecialmacrolikeindex}{\actualchar}{% - \space(#2)\actualchar% -}{}{\tud@patch@wrn{@doxcreatespecialmacrolikeindex}} \CheckCommand\doxitem[4][]{% \@nameuse{dox@macrolike\dox@macrolikedefault}% \def\dox@idxtype{#3}% @@ -432,66 +462,198 @@ \@doxcreatedescribe{#2} \@doxcreateenv{#2}{#3}% } -\CheckCommand\doxitem[4][]{% +\renewcommand*\doxitem[4][]{% \@nameuse{dox@macrolike\dox@macrolikedefault}% \def\dox@idxtype{#3}% - \setkeys{dox}{#1} - \@ifundefined{Print#2Name}{% - \ifdox@macrolike - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname Print#2Name\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike + \setkeys{dox}{#1}% + \ifdox@macrolike% \def\@doxexpr{\@doxcreatespecialmainmacrolikeindex{#2}}% - \else + \else% \def\@doxexpr{\@doxcreatespecialmainindex{#2}}% - \fi + \fi% \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@ifundefined{PrintDescribe#2}{% - \ifdox@macrolike - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont\string ##1\ } - \else - \expandafter\def\csname PrintDescribe#2\endcsname##1{% - \strut\MacroFont ##1\ } - \fi}{} - \ifdox@macrolike + \ifdox@macrolike% \def\@doxexpr{\@doxcreatespecialmacrolikeindex{#2}}% - \else + \else% \def\@doxexpr{\@doxcreatespecialindex{#2}}% - \fi + \fi% \expandafter\@doxexpr\expandafter{\dox@idxtype}{#4}% - \@doxcreatedescribe{#2} - \@doxcreateenv{#2}{#3}% -} -\CheckCommand*\@doxcreateenv[2]{% - \expandafter\def\csname #2\endcsname{% - \@ifnextchar[%] - {\@doxenv{#1}}{\@doxenv{#1}[]}} - \expandafter\let\csname end#2\endcsname\endtrivlist% -} -\pretocmd{\@doxcreateenv}{% \ifdox@macrolike% - \def\@doxexpr{\@doxcreatemacrolikeindexname{#1}}% + \def\@doxexpr{\@doxcreatemacrolikeprintname{#2}}% + \else% + \def\@doxexpr{\@doxcreateprintname{#2}}% + \fi% + \expandafter\@doxexpr\expandafter{\dox@idxtype}% + \ifdox@macrolike% + \def\@doxexpr{\@doxcreatemacrolikeindexname{#2}}% \else% - \def\@doxexpr{\@doxcreateindexname{#1}}% + \def\@doxexpr{\@doxcreateindexname{#2}}% \fi% \expandafter\@doxexpr\expandafter{\dox@idxtype}% -}{}{\tud@patch@wrn{@doxcreateenv}} -\newcommand*\saved@idxtype{} + \@doxcreatedescribe{#2}% + \@doxcreateenv{#2}{#3}% +} +\newrobustcmd*\index@type[1]{% + \begingroup% + \normalfont\scriptsize\space(#1)% + \endgroup% +} +\CheckCommand*\@doxcreatespecialmainmacrolikeindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil + \@bsphack% + \special@index{\@gtempa\actualchar + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \space(#2)\encapchar main}% + \special@index{#3:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \encapchar main}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialmainmacrolikeindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \special@index{% + \@gtempa\space\expandonce\tud@reserved\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \index@type{\expandonce\tud@reserved}\encapchar main% + }% + \protected@edef\tud@reserved{#3}% + \special@index{% + \expandonce\tud@reserved:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \encapchar main% + }% + \@esphack% + \let\parameter@parent@changes\relax% + \hypersourcedef{\filesep\number\c@CodelineNo}% + }% +} +\CheckCommand*\@doxcreatespecialmainindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@bsphack% + \special@index{##1\actualchar{\string\ttfamily\space##1} (#2) + \encapchar main}% + \special@index{#3:\levelchar##1\actualchar{\string\ttfamily\space##1} + \encapchar main}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialmainindex[3]{% + \expandafter\def\csname SpecialMain#1Index\endcsname##1{% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \special@index{% + ##1\space\expandonce\tud@reserved\actualchar% + {\string\ttfamily\space##1}\index@type{\expandonce\tud@reserved}% + \encapchar main% + }% + \protected@edef\tud@reserved{#3}% + \special@index{% + \expandonce\tud@reserved:\levelchar##1\actualchar% + {\string\ttfamily\space##1}\encapchar main% + }% + \@esphack% + \let\parameter@parent@changes\relax% + \hypersourcedef{\filesep\number\c@CodelineNo}% + }% +} +\CheckCommand*\@doxcreatespecialmacrolikeindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil + \@bsphack% + \index{\@gtempa\actualchar + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \space(#2)\encapchar usage}% + \index{#3:\levelchar\@gtempa\actualchar + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar + \encapchar usage}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialmacrolikeindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@SpecialIndexHelper@##1\@nil% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \index{% + \@gtempa\space\expandonce\tud@reserved\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \index@type{\expandonce\tud@reserved}\encapchar usage% + }% + \protected@edef\tud@reserved{#3}% + \index{% + \expandonce\tud@reserved:\levelchar\@gtempa\actualchar% + \string\verb\quotechar*\verbatimchar\bslash\@gtempa\verbatimchar% + \encapchar usage% + }% + \@esphack% + }% +} +\CheckCommand*\@doxcreatespecialindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@bsphack% + \index{##1\actualchar{\protect\ttfamily##1} (#2)\encapchar usage}% + \index{#3:\levelchar##1\actualchar{\protect\ttfamily##1} + \encapchar usage}% + \@esphack% + }% +} +\renewcommand*\@doxcreatespecialindex[3]{% + \expandafter\def\csname Special#1Index\endcsname##1{% + \@bsphack% + \protected@edef\tud@reserved{#2}% + \index{% + ##1\space\expandonce\tud@reserved\actualchar% + {\protect\ttfamily##1}\index@type{\expandonce\tud@reserved}% + \encapchar usage% + }% + \protected@edef\tud@reserved{#3}% + \index{% + \expandonce\tud@reserved:\levelchar##1\actualchar% + {\protect\ttfamily##1}\encapchar usage% + }% + \@esphack% + }% +} +\def\@doxcreatemacrolikeprintname#1#2{% + \@ifundefined{Print#1Name}{% + \expandafter\def\csname Print#1Name\endcsname##1{% + \MacroFont\string##1\index@type{#2}\strut\ % + }% + }{}% + \@ifundefined{PrintDescribe#1}{% + \expandafter\def\csname PrintDescribe#1\endcsname##1{% + \MacroFont\string##1\index@type{#2}\strut\ % + }% + }{}% +} +\def\@doxcreateprintname#1#2{% + \@ifundefined{Print#1Name}{% + \expandafter\def\csname Print#1Name\endcsname##1{% + \MacroFont##1\index@type{#2}\strut\ % + }% + }{}% + \@ifundefined{PrintDescribe#1}{% + \expandafter\def\csname PrintDescribe#1\endcsname##1{% + \MacroFont##1\index@type{#2}\strut\ % + }% + }{}% +} +\newcommand*\saved@indextype{} \def\@doxcreatemacrolikeindexname#1#2{% \expandafter\def\csname Set#1IndexName\endcsname##1{% \edef\saved@indexname{\expandafter\@gobble##1}% - \edef\saved@idxtype{#2}% + \protected@edef\saved@indextype{#2}% }% } \def\@doxcreateindexname#1#2{% \expandafter\def\csname Set#1IndexName\endcsname##1{% \let\saved@indexname##1% - \edef\saved@idxtype{#2}% + \protected@edef\saved@indextype{#2}% }% } \CheckCommand\@@doxenv[2]{% @@ -528,105 +690,354 @@ \patchcmd{\@@doxenv}{\ignorespaces}{% \csname Set#1IndexName\endcsname{\saved@macroname}\ignorespaces% }{}{\tud@patch@wrn{@@doxenv}} -\def\SetMacroIndexName#1{% - \edef\saved@indexname{\expandafter\@gobble#1} - \let\saved@idxtype\@empty% -} -\def\SetEnvIndexName#1{% - \let\saved@indexname#1% - \edef\saved@idxtype{environment}% +\newcommand*\SetMacroIndexName[1]{% + \edef\saved@indexname{\expandafter\@gobble#1}% + \let\saved@indextype\@empty% } \CheckCommand*\SpecialMainMacroIndex[1]{% \SpecialMainIndex{#1}\nobreak% \DoNotIndex{#1}% } \apptocmd{\SpecialMainMacroIndex}{% + \let\parameter@parent@changes\relax% \hypersourcedef{\filesep\number\c@CodelineNo}% }{}{\tud@patch@wrn{SpecialMainMacroIndex}} -\doxitem[idxtype=Umgebung]{Env}{environment}{Umgebungen} -\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} -\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen} -\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder} -\doxitem[idxtype=Schriftelement]{Font}{KOMAfont}{Schriftelemente} +\renewcommand*\tud@reserved[3][]{% + \doxitem[#1,idxtype=\csname tud@#3@name\endcsname]{#2}{#3}{% + \csname tud@#3s@name\endcsname% + }% +} +\undef\PrintEnvName +\undef\PrintDescribeEnv +\tud@reserved{Env}{environment} +\tud@reserved{Option}{option} +\tud@reserved{PageStyle}{pagestyle} +\tud@reserved{Layer}{layer} +\tud@reserved[macrolike]{Length}{length} +\tud@reserved{Counter}{counter} +\tud@reserved{Color}{TUDcolor} +\tud@reserved[macrolike]{Locale}{locale} +\tud@reserved[macrolike]{Field}{field} +\tud@reserved{Font}{KOMAfont} +\tud@reserved{Parameter}{parameter} +\newcommand*\parameter@parent@changes{} +\let\parameter@parent@changes\relax +\newcommand*\parameter@parent@indexname{} +\let\parameter@parent@indexname\relax +\newcommand*\parameter@parent@indexformat{} +\let\parameter@parent@indexformat\relax +\apptocmd\SetMacroIndexName{% + \edef\parameter@parent@indexname{\expandafter\@gobble#1}% + \edef\parameter@parent@indexformat{% + \string\verb\quotechar*\verbatimchar#1\verbatimchar% + }% +}{}{\tud@patch@wrn{SetMacroIndexName}} +\apptocmd\SetEnvIndexName{% + \protected@edef\parameter@parent@indexname{#1\space\saved@indextype}% + \protected@edef\parameter@parent@indexformat{% + \string\verb\quotechar*\verbatimchar#1\verbatimchar% + \index@type{\saved@indextype}% + }% +}{}{\tud@patch@wrn{SetEnvIndexName}} +\renewcommand*\SpecialMainParameterIndex[1]{% + \ifx\parameter@parent@indexname\relax% + \ClassError{\TUD@Class@Name}{No previous macro or environment}{% + Since parameters can only be used for macros or\MessageBreak% + environments, you have to use `parameter' within\MessageBreak% + `macro' or `environment'.% + }% + \fi% + \protected@edef\parameter@parent@changes{% + \parameter@parent@indexname\actualchar% + \parameter@parent@indexformat:\levelchar% + }% + \@bsphack% + \special@index{% + \parameter@parent@indexname\actualchar% + \parameter@parent@indexformat\levelchar% + #1\space\tud@parameter@name\actualchar% + {\string\ttfamily\space#1}\index@type{\tud@parameter@name}% + \encapchar main% + }% + \special@index{% + \tud@parameters@name:\levelchar% + #1\space\parameter@parent@indexname% + \actualchar{\string\ttfamily\space#1}% + \noexpand\,--\noexpand\,\parameter@parent@indexformat% + \encapchar main% + }% + \@esphack% + \hypersourcedef{\filesep\number\c@CodelineNo}% +} +\CheckCommand*\changes@[3]{% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar + \ifx\saved@macroname\@empty + \space + \actualchar + \generalname + \else + \saved@indexname + \actualchar + \string\verb\quotechar*% + \verbatimchar\saved@macroname + \verbatimchar + \fi + :\levelchar #3% + }% + }% + \@tempa\endgroup\@esphack% +} +\ifdefined\tudxdyflag% + \renewcommand*\changes@[3]{% + \@tempswatrue% + \ifblank{#1}{\@tempswafalse}{}% + \ifblank{#3}{\@tempswafalse}{}% + \if@tempswa% + \ifx\parameter@parent@changes\relax% + \protected@edef\@tempb{% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + \string\verb\quotechar*% + \verbatimchar\saved@macroname% + \verbatimchar% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + :\levelchar% + }% + \else% + \protected@edef\@tempb{% + \parameter@parent@changes% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + {\noexpand\ttfamily\saved@macroname}% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + :\levelchar% + }% + \fi% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar% + \ifx\saved@macroname\@empty% + \tud@general@name% + \else% + \tud@implementation@name% + \fi% + \levelchar% + \ifx\saved@macroname\@empty\else% + \@tempb% + \fi% + #2 #3% + \actualchar% + #3% (#2)% + }% + }% + \else% + \let\@tempa\relax% + \fi% + \@tempa\endgroup\@esphack% + }% +\else% + \renewcommand*\changes@[3]{% + \protected@edef\@tempa{% + \noexpand\glossary{% + #1\levelchar% + \ifx\saved@macroname\@empty% + \quotechar!% + \actualchar% + \tud@general@name% + :\levelchar% + \else% + \ifx\parameter@parent@changes\relax\else% + \parameter@parent@changes zzz\space% + \fi% + \saved@indexname% + \ifx\saved@indextype\@empty\else% + \space\saved@indextype% + \fi% + \actualchar% + \string\verb\quotechar*% + \verbatimchar\saved@macroname% + \verbatimchar% + \ifx\saved@indextype\@empty\else% + \index@type{\saved@indextype}% + \fi% + \ifx\parameter@parent@changes\relax% + :\levelchar% + \else% + :\space% + \fi% + \fi% + #3% + }% + }% + \@tempa\endgroup\@esphack% + }% +\fi% +\CheckCommand*\@wrglossary[1]{% + \protected@write\@glossaryfile{}% + {\string\glossaryentry{#1}{\thepage}}% + \endgroup + \@esphack% +} +\def\@wrglossary#1{% + \ifx\saved@macroname\@empty% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|usage}{\thepage}% + }% + \else% + \ifcodeline@index% + \global\advance\c@CodelineNo\@ne% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|main}{\filesep\number\c@CodelineNo}% + }% + \global\advance\c@CodelineNo\m@ne% + \else% + \protected@write\@glossaryfile{}{% + \string\glossaryentry{#1|main}{\thepage}% + }% + \fi% + \fi% + \endgroup% + \@esphack% +} +\newcommand*\tud@lst@subsub{} +\newcommand*\tud@lst@subsubsub{} +\newcommand*\subsubsubitem{\@idxitem\hspace*{35\p@}} +\newcommand*\efil{\hfil\nopagebreak}% +\newcommand*\tud@lst@def{% + \newcommand*\tud@lst@values{}% + \newif\if@tud@lst@multi% + \newcommand*\tud@lst@init{% + \let\tud@lst@values\relax% + \let\tud@lst@subsub\relax% + \@tud@lst@multifalse% + }% + \newcommand*\tud@lst@add[1]{% + \ifx\tud@lst@values\relax\else% + \@tud@lst@multitrue% + \def\tud@lst@subsub{\subsubitem}% + \fi% + \listadd\tud@lst@values{\tud@lst@subsub ##1}% + }% + \newcommand*\tud@lst@process{% + \if@tud@lst@multi% + \preto\tud@lst@values{\efill}% + \fi% + \forlistloop{}{\tud@lst@values}% + \tud@lst@init% + }% + \newcommand*\tud@lst@@values{}% + \newif\if@tud@lst@@multi% + \newcommand*\tud@lst@@init{% + \let\tud@lst@@values\relax% + \def\tud@lst@subsub{\subsubitem}% + \def\tud@lst@subsubsub{\space}% + \@tud@lst@@multifalse% + }% + \newcommand*\tud@lst@@add[1]{% + \@tud@lst@multitrue% + \ifx\tud@lst@@values\relax\else% + \@tud@lst@@multitrue% + \def\tud@lst@subsubsub{\subsubsubitem}% + \fi% + \listadd\tud@lst@@values{##1}% + }% + \newcommand*\tud@lst@@process{% + \if@tud@lst@@multi% + \appto\tud@lst@values{\efill}% + \fi% + \edef\tud@reserved####1{% + \noexpand\listadd\noexpand\tud@lst@values{% + \expandonce\tud@lst@subsubsub####1% + }% + }% + \forlistloop{\tud@reserved}{\tud@lst@@values}% + \tud@lst@@init% + }% +} \ifdefined\tudxdyflag \newcommand*\tud@write@replace{} \newwrite\tud@write@replace \newcommand*\tud@read@replace{} \newread\tud@read@replace - \def\actualchar{<&1&>} - \def\quotechar{<&2&>} - \def\levelchar{<&3&>} + \def\actualchar{<|1|>} + \def\quotechar{<|2|>} + \def\levelchar{<|3|>} \begingroup - \endlinechar=-1\relax% + \endlinechar=\m@ne\relax% \def\tud@reserved#1#2{% - \immediate\openin\tud@read@replace=\jobname.#1\relax% - \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax% - \@tempswafalse% - \loop\unless\ifeof\tud@read@replace% - \readline\tud@read@replace to\tud@line@replace% - \tud@replace\tud@line@replace{"}{""}% - \tud@replace\tud@line@replace{!}{"!}% - \tud@replace\tud@line@replace{:}{":}% - \tud@replace\tud@line@replace{@}{"@}% - \tud@replace\tud@line@replace{\"@}{"\@backslashchar"@}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\actualchar}{@}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\quotechar}{"}% - \expandafter\tud@replace\expandafter\tud@line@replace% - \expandafter{\levelchar}{!}% - \tud@replace\tud@line@replace{" @}{}% - \ifeof\tud@read@replace\else% - \immediate\write\tud@write@replace{% - \unexpanded\expandafter{\tud@line@replace}% - }% - \@tempswatrue% - \fi% - \repeat% - \immediate\closein\tud@read@replace% - \immediate\closeout\tud@write@replace% - \ifnum\pdfshellescape=\@ne\relax% - \if@tempswa% - \immediate\write18{% - texindy\space% - -o \jobname.#2\space% - -M \@currname-#2.xdy\space% - -L german-din\space% - -t \jobname-#2.xlg\space% - \jobname-xdy.#1 - }% - \else% - \immediate\openout\tud@write@replace=\jobname.#2\relax% - \immediate\closeout\tud@write@replace% + \IfFileExists{\jobname.#1}{% + \immediate\openin\tud@read@replace=\jobname.#1\relax% + \immediate\openout\tud@write@replace=\jobname-xdy.#1\relax% + \@tempswafalse% + \loop\unless\ifeof\tud@read@replace% + \readline\tud@read@replace to\tud@line@replace% + \tud@replace\tud@line@replace{"}{""}% + \tud@replace\tud@line@replace{!}{"!}% + \tud@replace\tud@line@replace{:}{":}% + \tud@replace\tud@line@replace{@}{"@}% + \tud@replace\tud@line@replace{\"@}{"\@backslashchar"@}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\actualchar}{@}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\quotechar}{"}% + \expandafter\tud@replace\expandafter\tud@line@replace% + \expandafter{\levelchar}{!}% + \tud@replace\tud@line@replace{" @}{}% + \ifeof\tud@read@replace\else% + \immediate\write\tud@write@replace{% + \unexpanded\expandafter{\tud@line@replace}% + }% + \@tempswatrue% + \fi% + \repeat% + \immediate\closein\tud@read@replace% + \immediate\closeout\tud@write@replace% + \ifnum\pdf@shellescape=\@ne\relax% + \if@tempswa% + \immediate\write18{% + texindy\space% + -o \jobname.#2\space% + -M \@currname-#2.xdy\space% + -t \jobname-#2.xlg\space% + \jobname-xdy.#1% + }% + \else% + \immediate\openout\tud@write@replace=\jobname.#2\relax% + \immediate\closeout\tud@write@replace% + \fi% \fi% - \fi% + }{}% }% \tud@reserved{idx}{ind}% \tud@reserved{glo}{gls}% \endgroup \else - \ifnum\pdfshellescape=\@ne\relax% - \immediate\write18{makeindex -s gglo.ist -o \jobname.gls \jobname.glo}% - \immediate\write18{makeindex -s gind.ist -o \jobname.ind \jobname.idx}% + \ifnum\pdf@shellescape=\@ne\relax% + \immediate\write18{% + makeindex -s gglo.ist -t \jobname.glg -o \jobname.gls \jobname.glo% + }% + \immediate\write18{% + makeindex -s gind.ist -t \jobname.ilg -o \jobname.ind \jobname.idx% + }% \fi% \fi -\IndexPrologue{% - \addsec{Index}% - Unterstrichene Zahlen, die gegebenenfalls mit einem Hyperlink versehen sind, - verweisen auf die \ifcodeline@index Codezeile der \fi Definition, alle - weiteren sind \ifcodeline@index Zeilennummern\else Seitenzahlen\fi, wo der - jeweilige Eintrag verwendet wird. -} -\GlossaryPrologue{\addsec{\"Anderungsliste}} +\IndexPrologue{\addsec{\indexname}\tud@index@text} +\GlossaryPrologue{\addsec{\tud@changes@name}} \DeclareNewTOC[% type=todo,% - listname={Liste der noch zu erledigenden Punkte},% + listname={\tud@todo@name},% name=ToDo,% tocentryindent=\z@,% owner=\@currname,% @@ -662,62 +1073,125 @@ \ifdefined\tudfinalflag\else% \begingroup% \csuse{phantomsection}% - \def\tud@reserved{\ifxblank{#2}{ToDo: ??}{ToDo: #2}}% + \IfArgIsEmpty{#2}{% + \def\tud@reserved{??}% + }{% + \def\tud@reserved{#2}% + }% \endgraf% \hfuzz0.8pt% - \leavevmode\marginpar{\raggedleft\fbox{\tud@reserved\strut}}% + \leavevmode\marginpar{\raggedleft\fbox{ToDo:\space\tud@reserved\strut}}% \fbox{\parbox{\dimexpr\textwidth-2\fboxsep\relax}{#1\strut}}% \endgraf% - \global\advance\c@CodelineNo\@ne - \addxcontentsline{tdo}{todo}{#2:~#1~(\filesep\number\c@CodelineNo)}% - \global\advance\c@CodelineNo\m@ne + \let\@tempa\@empty% + \ifdefined\currentfile% + \def\@tempa{\,--\,\texttt{\currentfile}}% + \fi% + \addxcontentsline{tdo}{todo}{\tud@reserved\@tempa:\space#1}% \endgroup% \fi% } -\AtBeginDocument{% - \@ifpackageloaded{etoolbox}{}{% - \providecommand*\newrobustcmd{\DeclareRobustCommand}% - }% - \newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}} - \newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}} - \newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}} - \newrobustcmd*\opt[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\val[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\env[1]{\mbox{\texttt{#1}}} - \newrobustcmd*\file[1]{\mbox{\texttt{#1}}} - \@ifpackageloaded{hyperref}{% - \pdfstringdefDisableCommands{% - \def\TUDScript{TUD-Script}% - \let\cls\@firstofone% - \let\pkg\@firstofone% +\newcommand*\calculatearea{% + \setlength\topmargin{-1in}% + \setlength\headheight{0pt}% + \setlength\headsep{3em}% + \setlength\footskip{1.5\headsep}% + \setlength\textheight{\dimexpr\paperheight-2.5\headsep-\footskip\relax}% + \settowidth\MacroIndent{\rmfamily\scriptsize 0000\ }% + \begingroup% + \MacroFont\selectfont% + \settowidth\@tempdima{\space}% + \setlength\@tempdima{80\@tempdima}% + \addtolength\@tempdima{\MacroIndent}% + \edef\@tempa{% + \endgroup% + \noexpand\setlength\noexpand\textwidth{\the\@tempdima}% }% - }{% - \RequirePackage{url}[2013/09/16]% - \providecommand*\hypersetup[1]{}% - \providecommand*\phantomsection{}% - \providecommand*\texorpdfstring[2]{#1}% + \@tempa% + \setlength\columnsep{1em}% + \setlength\marginparsep{1em}% + \setlength\marginparwidth{% + \dimexpr\paperwidth-\textwidth-2\marginparsep\relax% }% - \@ifpackageloaded{babel}{}{% - \ClassWarning{\TUD@Class@Name}{Package `babel' not loaded}% - \let\selectlanguage\@gobble% - \let\glqq\relax% - \let\grqq\relax% + \setlength\oddsidemargin{\dimexpr\marginparwidth+\marginparsep-1in\relax}% +} +\AtEndPreamble{\calculatearea} +\AfterPackage{tudscrfonts}{% + \RequirePackage{mweights}[2013/07/21]% + \CheckCommand*\MacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mddefault% + \fontshape\updefault% + \small% }% - \@ifpackageloaded{csquotes}{}{% - \ClassWarning{\TUD@Class@Name}{Package `csquotes' not loaded}% - \providecommand\enquote[1]{\glqq#1\grqq{}}% + \renewcommand*\MacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mdseries@tt% + \fontshape\updefault% + \small% + }% + \CheckCommand*\AltMacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mddefault% + \fontshape\sldefault% + \small% }% - \@ifpackageloaded{tudscrfonts}{% - \RequirePackage{mweights}[2013/07/21]% - \ifnum\tud@cdfont@num>\z@\relax% true/heavy - \def\mddefault{m}% + \renewcommand*\AltMacroFont{% + \fontencoding\encodingdefault% + \fontfamily\ttdefault% + \fontseries\mdseries@tt% + \fontshape\sldefault% + \small% + }% + \newcommand*\saved@calculatearea{}% + \let\saved@calculatearea\calculatearea% + \let\calculatearea\relax% + \appto\tud@font@set{% + \ifcase\tud@cdfont@num\relax\else% true/heavy \def\mdseries@tt{m}% \renewcommand*\@pnumwidth{1.7em}% \renewcommand*\@tocrmarg{2.7em}% \fi% - \setlength\columnsep{10pt}% - }{% + \saved@calculatearea% + }% +} +\newrobustcmd*\app[1]{\mbox{\textsl{\textbf{#1}}}} +\newrobustcmd*\cls[1]{\mbox{\textsf{\textbf{#1}}}} +\newrobustcmd*\pkg[1]{\mbox{\textsf{\textbf{#1}}}} +\newrobustcmd*\opt[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\val[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\pgs[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\env[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\prm[1]{\mbox{\texttt{#1}}} +\newrobustcmd*\file[1]{\mbox{\texttt{#1}}} +\AfterPackage{hyperref}{% + \pdfstringdefDisableCommands{% + \let\app\@firstofone% + \let\cls\@firstofone% + \let\pkg\@firstofone% + \let\opt\@firstofone% + \let\val\@firstofone% + \let\pgs\@firstofone% + \let\env\@firstofone% + \let\prm\@firstofone% + \let\file\@firstofone% + }% +} +\AtEndPreamble{% + \@ifpackageloaded{babel}{}{% + \ClassWarning{\TUD@Class@Name}{Package `babel' not loaded}% + \providecommand*\selectlanguage[1]{}% + \providecommand*\glqq{\relax}% + \providecommand*\grqq{\relax}% + }% + \@ifpackageloaded{csquotes}{}{% + \ClassWarning{\TUD@Class@Name}{Package `csquotes' not loaded}% + \providecommand\enquote[1]{\emph{#1}}% + }% + \@ifpackageloaded{tudscrfonts}{}{% \RequirePackage{lmodern}[2009/10/30]% \providecommand*\ifdin[2]{#2}% \providecommand*\textuln[1]{\textsf{#1}}% @@ -730,69 +1204,11 @@ \providecommand*\textuxs[1]{\textubs{#1}}% \providecommand*\textdbn[1]{\textubn{#1}}% }% - \title{% - \file{\filename}\thanks{% - Dies ist Version \fileversion\nobreakspace{}von Datei \file{\filename}.% - }% - }% - \author{Falk Hanisch\thanks{\tudscrmail}}% - \date{\filedate}% -} -%%% From File: tudscr-manual.dtx -\RequirePackage{scrhack}[2014/02/27] -\RequirePackage{xspace}[2009/10/20] -\xspaceaddexceptions{"=} -\newcommand*\vTUDScript{v\TUDScriptVersionNumber} -\newcommand*\vKOMAScript{v\TUD@Version@KOMA} -\newcommand*\tud@english[1]{#1} -\AtBeginDocument{% - \providecommand*\iflanguageloaded[3]{#3}% - \iflanguageloaded{english}{% - \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}% - }{}% } -\newcommand*\CD{\tud@english{Corporate Design}\xspace} -\newcommand*\CDs{\tud@english{Corporate Designs}\xspace} -\newcommand*\TUD{Technische Universit\"at Dresden\xspace} -\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} -\newcommand*\TUDCD{\CD der \TnUD} -\newcommand*\TUDCDs{\CDs der \TnUD} -\AtBeginDocument{% -\newrobustcmd*\DDC{% - \mbox{% - D\kern.05em R\kern.05em E\kern.05em S\kern.05em % - D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept% - }\xspace% -} -} -\newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace} -\newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace} -%%% From File: tudscr-misc.dtx +%%% From File: tudscr-texindy.dtx \catcode`\#=12 \newcommand*\@hashchar{#} \catcode`\#=6 -\newcommand*\tud@lst@def{% - \newcommand*\tud@lst@values{}% - \newif\if@tud@lst@multi% - \newcommand*\tud@lst@init{% - \let\tud@lst@values\relax% - \@tud@lst@multifalse% - }% - \newcommand*\tud@lst@add[1]{% - \ifx\tud@lst@values\relax\else% - \@tud@lst@multitrue% - \fi% - \listadd\tud@lst@values{##1}% - }% - \newcommand*\tud@lst@process{% - \def\tud@reserved{}% - \if@tud@lst@multi% - \def\tud@reserved{\subsubitem}% - \efill% - \fi% - \forlistloop\tud@reserved{\tud@lst@values}% - }% -} \begingroup \ifdef{\tudxdyflag}{% \newcommand*\tud@write@xdy{} @@ -833,16 +1249,25 @@ \space\space\string\tud@lst@def\@percentchar% }% \fi% + \if@tud@xdy@glo% + \write\tud@write@xdy{% + "^^J% + \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J% + \space\space:hierdepth 4^^J% + )% + }% + \else% \write\tud@write@xdy{% "^^J% \space\space:close "\string~n\string~n\string\end{#1}\string~n"^^J% \space\space:hierdepth 3^^J% )% }% + \fi% \write\tud@write@xdy{% (define-location-class^^J% \space\space"arabic-page-numbers" ("arabic-numbers")% - \space:min-range-length 1^^J% + \space:min-range-length 2^^J% )^^J% (define-alphabet "AlphaExtended"^^J% \space(^^J% @@ -854,25 +1279,12 @@ \space)^^J% )^^J% (define-location-class^^J% - \space\space"part" ("AlphaExtended" :sep "-" "arabic-numbers")% - \space:min-range-length 1^^J% + \space\space"codeline" ("AlphaExtended" :sep "-" "arabic-numbers")% + \space:min-range-length 2^^J% )^^J% + (define-location-class-order ("arabic-page-numbers" "codeline"))^^J% (markup-range :sep "--")% }% - \if@tud@xdy@glo% - \write\tud@write@xdy{% - (markup-locclass-list% - \space:open "\string\pfill\string\hypersourceref{" :close "}\string\relax"% - )% - }% - \else% - \write\tud@write@xdy{% - (markup-locclass-list% - \space:open "\string\pfill\space"% - \space:close "\string\relax"% - )% - }% - \fi% \write\tud@write@xdy{% (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% ^^J% @@ -900,7 +1312,7 @@ \space"(.*?)(@)([\string^@~n]*)"% \space"\string\1\string~b\string\3"% \space:eregexp :again% - ) + )% }% \if@tud@xdy@glo% \write\tud@write@xdy{% @@ -924,32 +1336,50 @@ :open "\string~n\@spaces\string\subitem\space" :depth 2% )^^J% (markup-indexentry-list^^J% - \space\space:open \space"\string\tud@lst@init"^^J% + \space\space:open\space\space"\string\tud@lst@init"^^J% \space\space:close "\string~n \@spaces\space\string\tud@lst@process"^^J% \space\space:depth 3^^J% )^^J% (markup-indexentry^^J% - \space\space:open \space"\string~n\@spaces\space\string\tud@lst@add{"^^J% + \space\space:open% + \space\space"\string~n\@spaces\space\space\string\tud@lst@add{"^^J% \space\space:close "}"^^J% \space\space:depth 3^^J% + )^^J% + (markup-indexentry-list^^J% + \space\space:close "\string~n\@spaces\@spaces\string\tud@lst@@process{"^^J% + \space\space:open\space\space"}\string\tud@lst@@init"^^J% + \space\space:depth 4^^J% + )^^J% + (markup-indexentry^^J% + \space\space:open% + \space\space"\string~n\@spaces\@spaces\string\tud@lst@@add{"^^J% + \space\space:close "}"^^J% + \space\space:depth 4^^J% )% }% \else% \write\tud@write@xdy{% - (markup-indexentry-list :open "\string\efill" :depth 1)% + (markup-indexentry-list :open "\string\efil" :depth 1)% }% \fi% - \if@tud@xdy@glo\else% \write\tud@write@xdy{% - (define-attributes (("main" "usage" "default")))^^J% - (markup-locref :attr "main"% - \space\space:open "\string\main{"\space\space:close "}"% - )^^J% + (markup-locclass-list% + \space:open "\string\pfill\space"% + \space:close "\string\relax"% + \space:sep ",\space"% + )% + }% + \write\tud@write@xdy{% + (markup-attribute-group-list :sep ", ")^^J% + (define-attributes (("usage") ("main") ("default")))^^J% (markup-locref :attr "usage"% \space:open "\string\usage{"\space:close "}"% + )^^J% + (markup-locref :attr "main"% + \space\space:open "\string\main{"\space\space:close "}"% )% }% - \fi% \closeout\tud@write@xdy% }% } diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty index 8a944aa4f62..617ca2a6e8b 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrfonts.sty @@ -14,37 +14,30 @@ %% tudscr-comp.dtx (with options: `package,fonts,body') %% tudscr-misc.dtx (with options: `package,fonts,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -66,7 +59,7 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} @@ -79,8 +72,9 @@ }{} %%% From File: tudscr-fonts.dtx \ProvidesPackage{tudscrfonts}[% - 2016/10/12 v2.05f TUD-Script - package (corporate design fonts)% + 2017/01/26 v2.05g TUD-Script + package + (corporate design fonts)% ] \ifcsname KOMAClassName\endcsname\else \RequirePackage{scrextend}[2013/12/19] @@ -251,6 +245,93 @@ }% \TUDoptions{#2}% } +\newcommand*\tud@v@comp{\tud@v@last} +\TUD@key{tudscrver}[last]{% + \tud@v@get\@tempa{#1}% + \ifcsundef{tud@v@\@tempa}{% + \PackageWarningNoLine{tudscrfonts}% + {% + You have set option `tudscrver' to `\@tempa', but\MessageBreak% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% + }% + \def\tud@v@comp{0}% + }{% + \PackageInfoNoLine{tudscrfonts}% + {% + Switching compatibility level to `\@tempa'% + }% + \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% + }% + \FamilyKeyStateProcessed% +} +\AtEndOfPackage% +{% + \TUD@key{tudscrver}[]{% + \PackageError{tudscrfonts}% + {Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + package `tudscrfonts' + but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% +} +\csdef{tud@v@first}{0} +\csdef{tud@v@2.00}{0} +\csdef{tud@v@2.01}{0} +\csdef{tud@v@2.01a}{0} +\csdef{tud@v@2.01b}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.03}{1} +\csdef{tud@v@2.03a}{1} +\csdef{tud@v@2.04}{2} +\csdef{tud@v@2.04a}{2} +\csdef{tud@v@2.04b}{2} +\csdef{tud@v@2.04c}{2} +\csdef{tud@v@2.04d}{2} +\csdef{tud@v@2.04e}{2} +\csdef{tud@v@2.05}{3} +\csdef{tud@v@2.05a}{3} +\csdef{tud@v@2.05b}{3} +\csdef{tud@v@2.05c}{3} +\csdef{tud@v@2.05d}{3} +\csdef{tud@v@2.05e}{3} +\csdef{tud@v@2.05f}{3} +\csdef{tud@v@2.05g}{3} +\csdef{tud@v@last}{3} +\newcommand*\tud@v@get[2]{% + \begingroup% + \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempb v##1\@nil{\def\@tempc{##1}}% + \@tempa #2\@nil% + \edef\tud@reserved{% + \endgroup% + \etex@unexpanded{\def#1}{\@tempc}% + }% + \tud@reserved% +} +\newcommand*\tud@if@v@lower[1]{% + \begingroup% + \tud@v@get\@tempa{#1}% + \ifcsdef{tud@v@\@tempa}{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% + }{% + \def\tud@reserved{% + \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! + Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% + There's no defined macro `\string\tud@v@\@tempa'% + }% + \endgroup\@firstoftwo% + }% + }% + \tud@reserved% +} \TUD@key{fontspec}[true]{% \PackageWarning{tudscrfonts}% {% @@ -355,92 +436,6 @@ \fi% \fi% } -\newcommand*\tud@v@comp{\tud@v@last} -\TUD@key{tudscrver}[last]{% - \tud@v@get\@tempa{#1}% - \ifcsundef{tud@v@\@tempa}{% - \PackageWarningNoLine{tudscrfonts}% - {% - You have set option `tudscrver' to `\@tempa', but\MessageBreak% - this value is not supported. Because of this, the\MessageBreak% - value for `tudscrver' was set to `first'% - }% - \def\tud@v@comp{0}% - }{% - \PackageInfoNoLine{tudscrfonts}% - {% - Switching compatibility level to `\@tempa'% - }% - \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% - }% - \FamilyKeyStateProcessed% -} -\AtEndOfPackage% -{% - \TUD@key{tudscrver}[]{% - \PackageError{tudscrfonts}% - {Option `tudscrver' too late}{% - Option `tudscrver' can only be set while loading the\MessageBreak% - package `tudscrfonts' - but you have tried to set it up later.% - }% - \FamilyKeyStateProcessed% - }% -} -\csdef{tud@v@first}{0} -\csdef{tud@v@2.00}{0} -\csdef{tud@v@2.01}{0} -\csdef{tud@v@2.01a}{0} -\csdef{tud@v@2.01b}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.03}{1} -\csdef{tud@v@2.03a}{1} -\csdef{tud@v@2.04}{2} -\csdef{tud@v@2.04a}{2} -\csdef{tud@v@2.04b}{2} -\csdef{tud@v@2.04c}{2} -\csdef{tud@v@2.04d}{2} -\csdef{tud@v@2.04e}{2} -\csdef{tud@v@2.05}{3} -\csdef{tud@v@2.05a}{3} -\csdef{tud@v@2.05b}{3} -\csdef{tud@v@2.05c}{3} -\csdef{tud@v@2.05d}{3} -\csdef{tud@v@2.05e}{3} -\csdef{tud@v@2.05f}{3} -\csdef{tud@v@last}{3} -\newcommand*\tud@v@get[2]{% - \begingroup% - \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% - \def\@tempb v##1\@nil{\def\@tempc{##1}}% - \@tempa #2\@nil% - \edef\tud@reserved{% - \endgroup% - \etex@unexpanded{\def#1}{\@tempc}% - }% - \tud@reserved% -} -\newcommand*\tud@if@v@lower[1]{% - \begingroup% - \tud@v@get\@tempa{#1}% - \ifcsdef{tud@v@\@tempa}{% - \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% - \def\tud@reserved{\endgroup\@firstoftwo}% - \else% - \def\tud@reserved{\endgroup\@secondoftwo}% - \fi% - }{% - \def\tud@reserved{% - \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! - Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% - There's no defined macro `\string\tud@v@\@tempa'% - }% - \endgroup\@firstoftwo% - }% - }% - \tud@reserved% -} %%% From File: tudscr-misc.dtx \newcommand*\TUD@SpecialOptionAtDocument[1]{} \DeclareOption*{\KOMAoptions{\CurrentOption}} @@ -534,6 +529,27 @@ \fi% \undef\tud@font@check% } +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% + \renewcommand*\tud@RaggedRight{\RaggedRight}% +} +\AfterPackage*{siunitx}{% + \providecommand*\lseries{\fontseries{l}\selectfont}% +} +\AfterClass*{beamer}{\usefonttheme[onlymath]{serif}} +\newif\if@tud@x@bm@requested +\@ifpackageloaded{bm}{% + \PackageWarning{tudscrfonts}{% + Package `bm' must be loaded after `tudscrfonts'.\MessageBreak% + Otherwise the functionality can not be guaranteed% + }% +}{% +\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} +} \RequirePackage{trimspaces}[2009/09/17] \newif\if@tud@x@mweights@enabled \AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue} @@ -1038,12 +1054,6 @@ \fi% \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}% } -\newif\if@tud@x@bm@requested -\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} -\AfterClass*{beamer}{\usefonttheme[onlymath]{serif}} -\AfterPackage*{siunitx}{% - \providecommand*\lseries{\fontseries{l}\selectfont}% -} \newrobustcmd*\ifdin{% \ifx\f@family\tud@dinbold% \expandafter\@firstoftwo% @@ -1058,14 +1068,6 @@ \sectfont#1% \fi% } -\newcommand*\tud@raggedright{\raggedright} -\newcommand*\tud@RaggedRight{\raggedright} -\AfterPackage*{ragged2e}{% - \ifdef{\LaTeXraggedright}{% - \renewcommand*\tud@raggedright{\LaTeXraggedright}% - }{}% - \renewcommand*\tud@RaggedRight{\RaggedRight}% -} \RequirePackage{textcase}[2004/10/07] \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls index 1130a2cc953..2462b9e4b73 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrmanual.cls @@ -10,41 +10,34 @@ %% tudscr-manual.dtx (with options: `class,manual,option') %% tudscr-misc.dtx (with options: `class,manual,inherit,execute') %% tudscr-manual.dtx (with options: `class,manual,body') -%% tudscr-misc.dtx (with options: `class,manual,xindy') %% tudscr-fields.dtx (with options: `class,manual,body') %% tudscr-locale.dtx (with options: `class,manual,body') +%% tudscr-texindy.dtx (with options: `class,manual') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -66,13 +59,13 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\TUD@ProvidesWrapperClass[3]{% \ProvidesClass{#1}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script ^^J#3 (#2)% ]% \newcommand*\TUD@Class@Parent{#2}% @@ -81,7 +74,7 @@ } \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -201,12 +194,7 @@ \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}% }{}% } -\RequirePackage{ifluatex}[2016/05/16] -\ifluatex - \RequirePackage{pdftexcmds}[2016/05/21] - \let\pdfstrcmp\pdf@strcmp - \let\pdfshellescape\pdf@shellescape -\fi +\RequirePackage{pdftexcmds}[2016/05/21] \newcommand*\tud@templist{} \let\tud@templist\relax \newcommand*\tud@list@sort[1]{% @@ -235,7 +223,7 @@ \if@tud@list@sorted% \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% \else% - \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<\z@\relax% + \expandafter\ifnum\pdf@strcmp{#1}{\@tempa}<\z@\relax% \ifx\@tempb\@empty% \expandafter\edef\expandafter\@tempb\expandafter{% #1,\@tempa% @@ -339,7 +327,6 @@ \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}% \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}% \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}% - \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}% \newcommand*\tud@manualname{tudscr}% \NewDocumentCommand\tudhyperdef{sm}{% \IfBooleanTF{#1}{% @@ -379,19 +366,20 @@ Nevertheless, essential commands are rudimentarily\MessageBreak% defined. At least the package `url' is loaded.% }% - \RequirePackage{url}[2013/09/16]% \providecommand*\hypersetup[1]{}% + \providecommand*\href[3][]{#3}% + \providecommand*\phantomsection{}% + \providecommand*\texorpdfstring[2]{#1}% + \RequirePackage{url}[2013/09/16]% + \providecommand*\nolinkurl[1]{\url{#1}}% + \providecommand*\hyperpage[1]{#1}% + \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% \providecommand*\hyperdef[3]{\label{#1.#2}#3}% \providerobustcmd*\hyperref{% \kernel@ifnextchar[{\tud@hyperref@a}{\tud@hyperref@b}% } \newcommand*\tud@hyperref@a[2][]{#2} \newcommand*\tud@hyperref@b[4]{#4} - \providecommand*\href[3][]{#3}% - \providecommand*\hyperpage[1]{#1}% - \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% - \providecommand*\phantomsection{}% - \providecommand*\texorpdfstring[2]{#1}% \tud@locale@german{\partautorefname}{Teil}% \tud@locale@german{\chapterautorefname}{Kapitel}% \tud@locale@german{\sectionautorefname}{Unterkapitel}% @@ -402,28 +390,28 @@ \tud@locale@english{\sectionautorefname}{section}% \tud@locale@english{\subsectionautorefname}{subsection}% \tud@locale@english{\subsubsectionautorefname}{subsubsection}% - \providecommand*\Email[1]{\mbox{#1}}% \ProvideDocumentCommand\tudhyperdef{sm}{\label{#2}}% \providecommand*\tudhyperref[2]{#2}% \providecommand*\autorefname[1][]{??\xspace}% } -\RequirePackage{varioref}[2011/10/02] -\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} \newcommand*\hrfn[2]{% \href{#1}{\trim@spaces{#2}}% \footnote{% - \scalebox{0.95}{% + \begingroup% \def\_{_}% \edef\@tempa{#1}% \strut\expandafter\url\expandafter{\@tempa}% - }% + \endgroup% }% } +\newrobustcmd*\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}}% \AfterPackage*{hyperref}{% \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{% \let\bbl@info\@gobble\csname HyPsd@babel@% }{}{\tud@patch@wrn{pdfstringdef}}% } +\RequirePackage{varioref}[2011/10/02] +\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} \AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} \TUD@UnwindPackage{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} \newif\if@tud@declare @@ -937,7 +925,6 @@ \let\POParameter\@firstofone% \let\textOR\relax% \let\hologoRobust\@firstofone% - \def\TUDScript{TUD-Script}% \def\_{-}% \protected\def~{~}% }% @@ -1287,23 +1274,6 @@ \fi% }{}{\tud@patch@wrn{theindex}}% \fi% -\newrobustcmd*\cleversee{\tud@cleversee{\seename}} -\newrobustcmd*\cleverseealso{% - \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}% - \tud@cleversee{\alsoname}% -} -\newcommand*\tud@cleversee{} -\def\tud@cleversee#1#2#3\relax{% - \IfArgIsEmpty{#3}{% - \emph{#1}\space#2% - }{% - #3, \emph{\alsoname}\space#2% - }% -} -\NewDocumentCommand\seeref{sm}{% - \emph{\IfBooleanTF{#1}{\alsoname}{\seename}}\space#2% -} -\newcommand*\seeidx[2]{\pageref{idx:#1}} \NewDocumentCommand\makexdyindex{somo}{% \let\@tempb\@empty% \IfBooleanT{#1}{% @@ -1442,6 +1412,23 @@ }% \tud@reserved% } +\newrobustcmd*\cleversee{\tud@cleversee{\seename}} +\newrobustcmd*\cleverseealso{% + \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}% + \tud@cleversee{\alsoname}% +} +\newcommand*\tud@cleversee{} +\def\tud@cleversee#1#2#3\relax{% + \IfArgIsEmpty{#3}{% + \emph{#1}\space#2% + }{% + #3, \emph{\alsoname}\space#2% + }% +} +\NewDocumentCommand\seeref{sm}{% + \emph{\IfBooleanTF{#1}{\alsoname}{\seename}}\space#2% +} +\newcommand*\seeidx[2]{\pageref{idx:#1}} \NewDocumentCommand\Process@Index{mmd==od()d||}{% \ifboolexpr{% bool {@tud@index} or bool {@tud@obsolete}% @@ -1945,7 +1932,7 @@ \hyperref{tutorials/#1.pdf}{#1}{tutorials:#1}{\File*{#1.pdf}#2}% } \NewDocumentCommand\Tutorial{smd||}{% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{tutorials/#2.pdf}{tutorials/#2.tex}{}{% \let\@tempa\@empty% \ifdef{\tudfinalflag}{\appto\@tempa{\def\noexpand\tudfinalflag{}}}{}% @@ -1985,7 +1972,7 @@ } \newcommand*\IncludeExample[1]{% \lstinputlisting[style=tudscr]{examples/#1}% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{examples/#1.pdf}{examples/#1.tex}{}{% \immediate\write18{% pdflatex -output-directory examples examples/#1.tex^^J% @@ -2087,11 +2074,11 @@ \NewDocumentCommand\ToDo{somo}{}% \newcommand*\ListOfToDo{}% } +\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]} \RequirePackage{textcomp}[2005/09/27] \RequirePackage{setspace}[2011/12/19] \setstretch{1.1} -\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} -\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]} \PassOptionsToPackage{vskip=\smallskipamount}{quoting} \RequirePackage{quoting}[2014/01/28] \RequirePackage{isodate}[2010/01/03] @@ -2117,6 +2104,34 @@ \RequirePackage{ellipsis}[2004/9/28]% \let\ellipsispunctuation\relax% } +\newcommand*\tud@replace[3]{% + \begingroup% + \toks@{\def\@tempa##1}% + \eaddto@hook\toks@{\detokenize{#2}}% + \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}% + \the\toks@% + \def\@tempb##1##2{% + \IfArgIsEmpty{##2}{% + \appto#1{##1}% + \let\@tempc\relax% + }{% + \appto#1{##1#3}% + \def\@tempc{\@tempa##2\@nil}% + }% + \@tempc% + }% + \toks@{\@tempa}% + \edef\@tempc{\expandafter\detokenize\expandafter{#1}}% + \eaddto@hook\toks@{\@tempc}% + \eaddto@hook\toks@{\detokenize{#2}\@nil}% + \def#1{}% + \the\toks@% + \edef\tud@reserved{% + \noexpand\endgroup% + \def\noexpand#1{#1}% + }% + \tud@reserved% +} \newcommand*\Attention[2][\z@]{% \marginnote{% \setlength\fboxsep{0.25em} @@ -2145,6 +2160,9 @@ \addto@hook\toks@{{\tud@english{GitHub-Repository~\Distribution*{tudscr}}}}% \the\toks@\xspace% } +\newcommand*\Download[1]{% + https://github.com/tud-cd/tudscr/releases/download/#1% +} \newcommand*\notudscrartcl{% F\"ur die Klassen \Class{tudscrartcl} sowie \Class{tudscrposter} ist diese Option nicht verf\"ugbar.% @@ -2169,6 +2187,13 @@ D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept% }\xspace% } +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\DDC{DRESDEN-concept}% + \def\TUDScript{TUD-Script}% + \def\KOMAScript{KOMA-Script}% + }% +} \newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace} \newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace} \newcommand*\textsbn{} @@ -2177,106 +2202,6 @@ \newcommand*\textsbs{} \newrobustcmd*\sbsfont{\sffamily\bfseries\slshape} \DeclareTextFontCommand\textsbs{\sbsfont} -%%% From File: tudscr-misc.dtx -\begingroup -\newcommand*\tud@write@xdy{} -\newwrite\tud@write@xdy -\newif\if@tud@xdy@glo -\newcommand*\tud@xdy@create[2][theindex]{% - \IfFileExists{\@currname-#2.xdy}{}{% - \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}% - \openout\tud@write@xdy=\@currname-#2.xdy\relax% - \write\tud@write@xdy{(require "texindy.xdy")}% - \write\tud@write@xdy{% - (define-location-class^^J% - \space\space"arabic-page-numbers" ("arabic-numbers")% - \space:min-range-length 1^^J% - )^^J% - (markup-range :sep "--")% - }% - \write\tud@write@xdy{% - (markup-locclass-list% - \space:open "\string\,\string\dotfill\string\,"% - \space:close "\string\relax"% - )% - }% - \write\tud@write@xdy{% - (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% - }% - \write\tud@write@xdy{% - (markup-indexentry :open "~n \string\subsubsubitem " :depth 3)% - }% - \write\tud@write@xdy{% - (define-attributes (("declare" "!" "important" "?" "default")))^^J% - (markup-locref% - \space:attr "declare"\space\space% - \space:open "\string\textbf{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "!"\@spaces\@spaces% - \space:open "\string\textbf{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "important"% - \space:open "\string\textsl{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "?"\@spaces\@spaces% - \space:open "\string\textsl{\string\hyperpage{"% - \space:close "}}"% - )^^J% - (markup-locref% - \space:attr "default"\space\space% - \space:open "\string\hyperpage{"\@spaces\@spaces% - \space:close "}"% - )% - }% - \write\tud@write@xdy{% - (markup-crossref-list :class "see"^^J% - \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% - )^^J% - (markup-crossref-list :class "seealso"^^J% - \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J% - )% - }% - \write\tud@write@xdy{% - (define-crossref-class "seeunverified" :unverified)^^J% - (markup-crossref-list :class "seeunverified"^^J% - \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% - )% - }% - \write\tud@write@xdy{% - (define-crossref-class "seeidx" :unverified)^^J% - (markup-crossref-list :class "seeidx"^^J% - \space\space:open "\string\seeidx{"\@spaces\@spaces:sep "; "% - \space:close "}{}"^^J% - )% - }% - \write\tud@write@xdy{% - (define-location-class-order^^J% - \space\space(^^J% - \@spaces"see" "seealso" "seeidx" "seeunverified"^^J% - \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J% - \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J% - \space\space)^^J% - )% - }% - \write\tud@write@xdy{% - (markup-crossref-layer-list :class "see"% - \@spaces\space:sep "\string\,\string\textbar\string\,"% - )^^J% - (markup-crossref-layer-list :class "seealso"% - \space:sep "\string\,\string\textbar\string\,"% - )% - }% - \closeout\tud@write@xdy% - }% -} -\tud@xdy@create{ind} -\endgroup %%% From File: tudscr-fields.dtx \newcommand*\@chairman{} \newcommand*\chairman[1]{\gdef\@chairman{#1}} @@ -2370,6 +2295,107 @@ The thesis is evaluated with a grade of \textbf{\@grade}.% }% \tud@locale@english{\noticename}{Notice}% +%%% From File: tudscr-texindy.dtx +\begingroup +\newcommand*\tud@write@xdy{} +\newwrite\tud@write@xdy +\newif\if@tud@xdy@glo +\newcommand*\tud@xdy@create[2][theindex]{% + \IfFileExists{\@currname-#2.xdy}{}{% + \ifstr{#1}{theglossary}{\@tud@xdy@glotrue}{\@tud@xdy@glofalse}% + \openout\tud@write@xdy=\@currname-#2.xdy\relax% + \write\tud@write@xdy{(require "texindy.xdy")}% + \write\tud@write@xdy{% + (define-location-class^^J% + \space\space"arabic-page-numbers" ("arabic-numbers")% + \space:min-range-length 2^^J% + )^^J% + (markup-range :sep "--")% + }% + \write\tud@write@xdy{% + (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% + }% + \write\tud@write@xdy{% + (markup-indexentry :open "~n \string\subsubsubitem " :depth 3)% + }% + \write\tud@write@xdy{% + (markup-locclass-list% + \space:open "\string\,\string\dotfill\string\,"% + \space:close "\string\relax"% + \space:sep ",\space"% + )% + }% + \write\tud@write@xdy{% + (define-attributes (("declare" "!" "important" "?" "default")))^^J% + (markup-locref% + \space:attr "declare"\space\space% + \space:open "\string\textbf{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "!"\@spaces\@spaces% + \space:open "\string\textbf{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "important"% + \space:open "\string\textsl{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "?"\@spaces\@spaces% + \space:open "\string\textsl{\string\hyperpage{"% + \space:close "}}"% + )^^J% + (markup-locref% + \space:attr "default"\space\space% + \space:open "\string\hyperpage{"\@spaces\@spaces% + \space:close "}"% + )% + }% + \write\tud@write@xdy{% + (markup-crossref-list :class "see"^^J% + \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% + )^^J% + (markup-crossref-list :class "seealso"^^J% + \space\space:open "\string\cleverseealso{" :sep "; " :close "}"^^J% + )% + }% + \write\tud@write@xdy{% + (define-crossref-class "seeunverified" :unverified)^^J% + (markup-crossref-list :class "seeunverified"^^J% + \space\space:open "\string\cleversee{" \@spaces:sep "; " :close "}"^^J% + )% + }% + \write\tud@write@xdy{% + (define-crossref-class "seeidx" :unverified)^^J% + (markup-crossref-list :class "seeidx"^^J% + \space\space:open "\string\seeidx{"\@spaces\@spaces:sep "; "% + \space:close "}{}"^^J% + )% + }% + \write\tud@write@xdy{% + (define-location-class-order^^J% + \space\space(^^J% + \@spaces"see" "seealso" "seeidx" "seeunverified"^^J% + \@spaces"roman-page-numbers" "arabic-page-numbers" "alpha-page-numbers"^^J% + \@spaces"Roman-page-numbers" "Alpha-page-numbers"^^J% + \space\space)^^J% + )% + }% + \write\tud@write@xdy{% + (markup-crossref-layer-list :class "see"% + \@spaces\space:sep "\string\,\string\textbar\string\,"% + )^^J% + (markup-crossref-layer-list :class "seealso"% + \space:sep "\string\,\string\textbar\string\,"% + )% + }% + \closeout\tud@write@xdy% + }% +} +\tud@xdy@create{ind} +\endgroup \endinput %% %% End of file `tudscrmanual.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls index 164d0abc848..b9ca7d00c53 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrposter.cls @@ -27,37 +27,30 @@ %% tudscr-comp.dtx (with options: `class,poster,body') %% tudscr-misc.dtx (with options: `class,poster,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -79,24 +72,24 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\TUD@ProvidesClass[3]{% \ProvidesClass{#1}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script ^^J#3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% - \@ifundefined{TUD@Class@Parent}{% + \ifx\TUD@Class@Parent\@undefined% \newcommand*\TUD@Class@Name{#1}% \TUD@Class@Info% - }{}% + \fi% } \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -335,8 +328,8 @@ \cs@set@lock{tud@cdgeometry@num}{1}% \fi% \@tempswafalse% - \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi% - \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi% + \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi% + \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi% \if@tempswa% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% \fi% @@ -382,85 +375,6 @@ \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]} }{} %%% From File: tudscr-pagestyle.dtx -\newcommand*\tud@ps@list{} -\newcommand*\tud@if@tudheadings[3]{% - \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% -} -\newif\if@tud@ddc@internal -\newcommand*\tud@comp@clearpage{}% -\newcommand*\tud@comp@resetpagestyle{}% -\newcommand*\tud@ddc@switch{} -\edef\tud@ddc@switch{% - \TUD@numkey@bool,% - {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}% -} -\newif\if@tud@headlogo@option@set -\newif\if@tud@footlogo@option@set -\newif\if@tud@ddc@auto -\newcommand*\tud@ddc@auto@num{0} -\TUD@key{ddc}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal% - \@tud@ddc@autofalse% - \else% - \@tud@ddc@autotrue% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddcfoot=false}% - \@tud@ddc@internalfalse% - \fi% - \global\@tud@headlogo@option@settrue% - \global\@tud@footlogo@option@settrue% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@head@num{0} -\TUD@key{ddchead}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddcfoot=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@foot@num{0} -\TUD@key{ddcfoot}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@dim@footlogoheight{} -\let\tud@dim@footlogoheight\relax -\TUD@key{footlogoheight}{% - \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% - \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% - \@tempa#1\@nil% - \fi% - \global\@tud@footlogo@option@settrue% - \fi% -} \cs@lock{tud@head@font@num}{0} \cs@lock{tud@head@bar@num}{0} \bool@lock{@tud@head@widebar} @@ -596,6 +510,81 @@ \csundef{@@tud@ps@#1@#2@#3@#4}% }{}% } +\newcommand*\tud@dim@footlogoheight{} +\let\tud@dim@footlogoheight\relax +\TUD@key{footlogoheight}{% + \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% + \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% + \@tempa#1\@nil% + \fi% + \global\@tud@footlogo@option@settrue% + \fi% +} +\newif\if@tud@ddc@internal +\newcommand*\tud@comp@clearpage{}% +\newcommand*\tud@comp@resetpagestyle{}% +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {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}% +} +\newif\if@tud@headlogo@option@set +\newif\if@tud@footlogo@option@set +\newif\if@tud@ddc@auto +\newcommand*\tud@ddc@auto@num{0} +\TUD@key{ddc}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal% + \@tud@ddc@autofalse% + \else% + \@tud@ddc@autotrue% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@internalfalse% + \fi% + \global\@tud@headlogo@option@settrue% + \global\@tud@footlogo@option@settrue% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@head@num{0} +\TUD@key{ddchead}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddcfoot=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@foot@num{0} +\TUD@key{ddcfoot}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} %%% From File: tudscr-layout.dtx \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% @@ -711,30 +700,6 @@ \TUD@SpecialOptionAtDocument{tud@layout@process}% \fi% } -\newcommand*\tud@font@koma@set[2]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{#2\nobreak}% -} -\newcommand*\tud@font@koma@unset[1]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{\relax}% -} -\newcommand*\tud@font@koma@reset[1]{% - \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}% -} -\DefineFamilyMember{KOMA} -\DefineFamilyKey{KOMA}{headings}{% - \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% - \FamilyKeyStateProcessed% -} -\DefineFamilyKey{KOMA}{open}{% - \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% - \FamilyKeyStateProcessed% -} -\DefineFamilyKey{KOMA}{chapterprefix}{% - \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% - \FamilyKeyStateProcessed% -} \newcommand*\tud@pagecolor{}% \TUD@key{backgroundcolor}[true]{% \TUD@set@numkey{backgroundcolor}{@tempa}{% @@ -767,6 +732,19 @@ \normalcolor% }% } +\DefineFamilyMember{KOMA} +\DefineFamilyKey{KOMA}{headings}{% + \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% + \FamilyKeyStateProcessed% +} +\DefineFamilyKey{KOMA}{open}{% + \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% + \FamilyKeyStateProcessed% +} +\DefineFamilyKey{KOMA}{chapterprefix}{% + \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% + \FamilyKeyStateProcessed% +} %%% From File: tudscr-title.dtx \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{titlepage}[true]{% @@ -822,6 +800,110 @@ }% \TUDoptions{#2}% } +\newcommand*\tud@v@comp{\tud@v@last} +\TUD@key{tudscrver}[last]{% + \tud@v@get\@tempa{#1}% + \ifcsundef{tud@v@\@tempa}{% + \ClassWarningNoLine{\TUD@Class@Name}% + {% + You have set option `tudscrver' to `\@tempa', but\MessageBreak% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% + }% + \def\tud@v@comp{0}% + }{% + \ClassInfoNoLine{\TUD@Class@Name}% + {% + Switching compatibility level to `\@tempa'% + }% + \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% + }% + \FamilyKeyStateProcessed% +} +\AtEndOfClass% +{% + \TUD@key{tudscrver}[]{% + \ClassError{\TUD@Class@Name}% + {Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\TUD@Class@Name' + but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \ifcsdef{scr@v@\TUD@Version@KOMA}{% + \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% + \ClassError{\TUD@Class@Name}{% + KOMA-Script compatibility level too low% + }{% + \TUD@Version\space must be used at least with\MessageBreak% + KOMA-Script compatibility option `version=3.12'.% + }% + \fi% + }{% + \ClassError{\TUD@Class@Name}{% + KOMA-Script v\TUD@Version@KOMA is required% + }{% + \TUD@Version\space must at least be used with\MessageBreak% + KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% + }% + }% +} +\csdef{tud@v@first}{0} +\csdef{tud@v@2.00}{0} +\csdef{tud@v@2.01}{0} +\csdef{tud@v@2.01a}{0} +\csdef{tud@v@2.01b}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.03}{1} +\csdef{tud@v@2.03a}{1} +\csdef{tud@v@2.04}{2} +\csdef{tud@v@2.04a}{2} +\csdef{tud@v@2.04b}{2} +\csdef{tud@v@2.04c}{2} +\csdef{tud@v@2.04d}{2} +\csdef{tud@v@2.04e}{2} +\csdef{tud@v@2.05}{3} +\csdef{tud@v@2.05a}{3} +\csdef{tud@v@2.05b}{3} +\csdef{tud@v@2.05c}{3} +\csdef{tud@v@2.05d}{3} +\csdef{tud@v@2.05e}{3} +\csdef{tud@v@2.05f}{3} +\csdef{tud@v@2.05g}{3} +\csdef{tud@v@last}{3} +\newcommand*\tud@v@get[2]{% + \begingroup% + \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempb v##1\@nil{\def\@tempc{##1}}% + \@tempa #2\@nil% + \edef\tud@reserved{% + \endgroup% + \etex@unexpanded{\def#1}{\@tempc}% + }% + \tud@reserved% +} +\newcommand*\tud@if@v@lower[1]{% + \begingroup% + \tud@v@get\@tempa{#1}% + \ifcsdef{tud@v@\@tempa}{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% + }{% + \def\tud@reserved{% + \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! + Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% + There's no defined macro `\string\tud@v@\@tempa'% + }% + \endgroup\@firstoftwo% + }% + }% + \tud@reserved% +} \TUD@key{fontspec}[true]{% \ClassWarning{\TUD@Class@Name}% {% @@ -993,109 +1075,6 @@ \fi% } \TUD@key{colour}[true]{\TUDoptions{color=#1}} -\newcommand*\tud@v@comp{\tud@v@last} -\TUD@key{tudscrver}[last]{% - \tud@v@get\@tempa{#1}% - \ifcsundef{tud@v@\@tempa}{% - \ClassWarningNoLine{\TUD@Class@Name}% - {% - You have set option `tudscrver' to `\@tempa', but\MessageBreak% - this value is not supported. Because of this, the\MessageBreak% - value for `tudscrver' was set to `first'% - }% - \def\tud@v@comp{0}% - }{% - \ClassInfoNoLine{\TUD@Class@Name}% - {% - Switching compatibility level to `\@tempa'% - }% - \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% - }% - \FamilyKeyStateProcessed% -} -\AtEndOfClass% -{% - \TUD@key{tudscrver}[]{% - \ClassError{\TUD@Class@Name}% - {Option `tudscrver' too late}{% - Option `tudscrver' can only be set while loading the\MessageBreak% - class `\TUD@Class@Name' - but you have tried to set it up later.% - }% - \FamilyKeyStateProcessed% - }% - \ifcsdef{scr@v@\TUD@Version@KOMA}{% - \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% - \ClassError{\TUD@Class@Name}{% - KOMA-Script compatibility level too low% - }{% - \TUD@Version\space must be used at least with\MessageBreak% - KOMA-Script compatibility option `version=3.12'.% - }% - \fi% - }{% - \ClassError{\TUD@Class@Name}{% - KOMA-Script v\TUD@Version@KOMA is required% - }{% - \TUD@Version\space must at least be used with\MessageBreak% - KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% - }% - }% -} -\csdef{tud@v@first}{0} -\csdef{tud@v@2.00}{0} -\csdef{tud@v@2.01}{0} -\csdef{tud@v@2.01a}{0} -\csdef{tud@v@2.01b}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.03}{1} -\csdef{tud@v@2.03a}{1} -\csdef{tud@v@2.04}{2} -\csdef{tud@v@2.04a}{2} -\csdef{tud@v@2.04b}{2} -\csdef{tud@v@2.04c}{2} -\csdef{tud@v@2.04d}{2} -\csdef{tud@v@2.04e}{2} -\csdef{tud@v@2.05}{3} -\csdef{tud@v@2.05a}{3} -\csdef{tud@v@2.05b}{3} -\csdef{tud@v@2.05c}{3} -\csdef{tud@v@2.05d}{3} -\csdef{tud@v@2.05e}{3} -\csdef{tud@v@2.05f}{3} -\csdef{tud@v@last}{3} -\newcommand*\tud@v@get[2]{% - \begingroup% - \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% - \def\@tempb v##1\@nil{\def\@tempc{##1}}% - \@tempa #2\@nil% - \edef\tud@reserved{% - \endgroup% - \etex@unexpanded{\def#1}{\@tempc}% - }% - \tud@reserved% -} -\newcommand*\tud@if@v@lower[1]{% - \begingroup% - \tud@v@get\@tempa{#1}% - \ifcsdef{tud@v@\@tempa}{% - \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% - \def\tud@reserved{\endgroup\@firstoftwo}% - \else% - \def\tud@reserved{\endgroup\@secondoftwo}% - \fi% - }{% - \def\tud@reserved{% - \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! - Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% - There's no defined macro `\string\tud@v@\@tempa'% - }% - \endgroup\@firstoftwo% - }% - }% - \tud@reserved% -} %%% From File: tudscr-misc.dtx \newif\if@tud@x@scr@paper@set \TUD@key{paper}{% @@ -1195,18 +1174,6 @@ \LoadClass{\TUD@Class@KOMA}[2015/04/23] %%% From File: tudscr-base.dtx \RequirePackage{environ}[2013/04/01] -\AtEndPreamble{% - \@ifpackageloaded{graphicx}{}{% - \@ifpackageloaded{graphics}{% - \ClassWarningNoLine{\TUD@Class@Name}{% - Package `graphics' was superseded by `graphicx',\MessageBreak% - which now will be loaded automatically% - }% - }{}% - }% - \RequirePackage{graphicx}[1999/02/16]% - \RequirePackage{tudscrcolor}[\TUD@Version]% -} \cs@lock{tud@x@multicol@num}{1} \newcommand*\tud@x@multicol@check{% \ifnum\tud@x@multicol@num>\@ne\relax% @@ -1218,6 +1185,18 @@ \fi% } \AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}} +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\TUD@Class@Name}{% + Package `graphics' was superseded by `graphicx',\MessageBreak% + which now will be loaded automatically% + }% + }{}% + \RequirePackage{graphicx}[1999/02/16]% + }% + \RequirePackage{tudscrcolor}[\TUD@Version]% +} %%% From File: tudscr-fonts.dtx \newcommand*\tud@univers{lun} \newif\if@tud@univers @@ -1307,6 +1286,19 @@ \fi% \undef\tud@font@check% } +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% + \renewcommand*\tud@RaggedRight{\RaggedRight}% +} +\AfterPackage*{siunitx}{% + \providecommand*\lseries{\fontseries{l}\selectfont}% +} +\newif\if@tud@x@bm@requested +\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} \RequirePackage{trimspaces}[2009/09/17] \newif\if@tud@x@mweights@enabled \AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue} @@ -1818,11 +1810,6 @@ \fi% \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}% } -\newif\if@tud@x@bm@requested -\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} -\AfterPackage*{siunitx}{% - \providecommand*\lseries{\fontseries{l}\selectfont}% -} \newrobustcmd*\ifdin{% \ifx\f@family\tud@dinbold% \expandafter\@firstoftwo% @@ -1837,14 +1824,6 @@ \sectfont#1% \fi% } -\newcommand*\tud@raggedright{\raggedright} -\newcommand*\tud@RaggedRight{\raggedright} -\AfterPackage*{ragged2e}{% - \ifdef{\LaTeXraggedright}{% - \renewcommand*\tud@raggedright{\LaTeXraggedright}% - }{}% - \renewcommand*\tud@RaggedRight{\RaggedRight}% -} \RequirePackage{textcase}[2004/10/07] \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% @@ -1901,21 +1880,29 @@ \let\footnote\@gobble% \def\newline{\space\ignorespaces}% \def\\{\space\ignorespaces}% - \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}% + \let\@tempc\relax% + \def\@tempa##1{\csedef{##1}####1{\@tempc}}% \let\@tempb\tud@split@author@list% \ifx\and\relax\else% \robustify\and% \fi% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% + \def\@tempa##1##2{% + \def\@tempb####1##2####2\@nil{% + \IfArgIsEmpty{####2}{% + \def##1{####1}% + }{% + \@tempb####1####2\@nil% + }% + }% + \expandafter\@tempb##1##2\@nil% + }% \protected@edef\@@author{#1}% - \tud@replace\@@author{ \relax }{}% - \tud@replace\@@author{\relax }{}% - \tud@replace\@@author{ \relax}{}% - \tud@replace\@@author{\relax}{}% - \tud@replace\@@author{ \and }{\and}% - \tud@replace\@@author{ \and}{\and}% - \tud@replace\@@author{\and }{\and}% - \protected@xdef\@@author{\trim@spaces{\@@author}}% + \@tempa{\@@author}{ \@tempc }% + \@tempa{\@@author}{\@tempc }% + \@tempa{\@@author}{ \@tempc}% + \@tempa{\@@author}{\@tempc}% + \xdef\@@author{\expandonce\@@author}% \endgroup% } \newcommand*\@authormore{} @@ -2219,6 +2206,22 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-area.dtx +\newif\if@tud@x@crop@center +\AfterPackage{crop}{% + \CheckCommand*\CROP@center{% + \voffset\stockheight + \advance\voffset-\paperheight + \voffset.5\voffset + \hoffset\stockwidth + \advance\hoffset-\paperwidth + \hoffset.5\hoffset + }% + \pretocmd{\CROP@center}{% + \@tud@x@crop@centertrue% + }{}{\tud@patch@wrn{CROP@center}} +} +\newif\if@tud@x@standalone@crop +\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newlength\tud@len@widemargin \newlength\tud@len@slimmargin \newlength\tud@len@both @@ -2408,22 +2411,6 @@ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}% \fi% } -\newif\if@tud@x@crop@center -\AfterPackage{crop}{% - \CheckCommand*\CROP@center{% - \voffset\stockheight - \advance\voffset-\paperheight - \voffset.5\voffset - \hoffset\stockwidth - \advance\hoffset-\paperwidth - \hoffset.5\hoffset - }% - \pretocmd{\CROP@center}{% - \@tud@x@crop@centertrue% - }{}{\tud@patch@wrn{CROP@center}} -} -\newif\if@tud@x@standalone@crop -\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newcommand*\tud@cdgeometry@process{} \newcommand*\tud@cdgeometry@@process{} \if@tud@x@standalone@crop @@ -3218,19 +3205,6 @@ \AtEndPreamble{% \if@tud@x@standalone@crop% \pagestyle{empty}% - \hoffset=-72.27pt% - \voffset=-72.27pt% - \topmargin=0pt% - \headheight=0pt% - \headsep=0pt% - \marginparsep=0pt% - \marginparwidth=0pt% - \footskip=0pt% - \marginparpush=0pt% - \oddsidemargin=0pt% - \evensidemargin=0pt% - \topskip=0pt% - \textheight=\maxdimen% \let\tud@AfterChangingArea\relax% \let\tud@cdgeometry@process\relax% \else% @@ -3638,16 +3612,43 @@ ]{tudheadings.pagecolor}% \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% } +\newcommand*\tud@ps@list{} \listadd\tud@ps@list{tudheadings} \listadd\tud@ps@list{plain.tudheadings} \listadd\tud@ps@list{empty.tudheadings} -\PreventPackageFromLoading[% - \ClassWarning{\TUD@Class@Name}{% - The package `fancyhdr' must not be used with a\MessageBreak% - TUD-Script class. You should make use of the\MessageBreak% - capabilities of package `scrlayer-scrpage' instead% - }% -]{fancyhdr} +\newcommand*\tud@if@tudheadings[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}}% +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@pagestyle{} +\let\tud@pagestyle\pagestyle +\pretocmd{\tud@pagestyle}{% + \tud@BeforeSelectAnyPageStyle{#1}% + \edef\currentpagestyle{#1}% +}{}{\tud@patch@wrn{pagestyle}} +\tud@cmd@store{pagestyle} +\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} +\BeforePackage{scrlayer-scrpage}{% + \tud@cmd@restore{pagestyle}% + \undef\tud@pagestyle% +} +\TUD@UnwindPackage{scrlayer-scrpage}{% + \ifcsundef{if@chapter}{% + \newif\if@chapter% + \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% + }{}% + \cslet{ps@tudheadings}{\ps@headings}% + \cslet{ps@plain.tudheadings}{\ps@plain}% + \cslet{ps@empty.tudheadings}{\ps@empty}% + \providecommand*\currentpagestyle{plain}% + \providecommand*\BeforeSelectAnyPageStyle[1]{}% + \providecommand*\GetRealPageStyle[1]{#1}% + \let\pagestyle\tud@pagestyle% + \undef\tud@pagestyle% + \tud@cdgeometry@init% +} \newcommand*\tud@ps@onselect{% \DeclarePageStyleAlias{plain}{plain.tudheadings}% \DeclarePageStyleAlias{headings}{tudheadings}% @@ -3719,36 +3720,6 @@ \ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}% \global\let\tud@foot@fontcolor\tud@foot@fontcolor% } -\newcommand*\tud@pagestyle{} -\let\tud@pagestyle\pagestyle -\pretocmd{\tud@pagestyle}{% - \tud@BeforeSelectAnyPageStyle{#1}% - \edef\currentpagestyle{#1}% -}{}{\tud@patch@wrn{pagestyle}} -\tud@cmd@store{pagestyle} -\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} -\BeforePackage{scrlayer-scrpage}{% - \tud@cmd@restore{pagestyle}% - \undef\tud@pagestyle% -} -\TUD@UnwindPackage{scrlayer-scrpage}{% - \ifcsundef{if@chapter}{% - \newif\if@chapter% - \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% - }{}% - \cslet{ps@tudheadings}{\ps@headings}% - \cslet{ps@plain.tudheadings}{\ps@plain}% - \cslet{ps@empty.tudheadings}{\ps@empty}% - \providecommand*\currentpagestyle{plain}% - \providecommand*\BeforeSelectAnyPageStyle[1]{}% - \providecommand*\GetRealPageStyle[1]{#1}% - \let\pagestyle\tud@pagestyle% - \undef\tud@pagestyle% - \tud@cdgeometry@init% -} -\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% - \xdef\@specialstyle{\GetRealPageStyle{#1}}% -}{}{\tud@patch@wrn{thispagestyle}} \newcommand*\tud@head@fontsize{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@bold{} @@ -3904,40 +3875,6 @@ \endgroup% \vbox to #1{#2}% } -\AtBeginDocument{% - \tud@if@v@lower{2.04}{% - \renewcommand*\tud@comp@clearpage{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% - \fi% - }% - \renewcommand*\tud@comp@resetpagestyle{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{% - \expandafter\pagestyle\expandafter{\currentpagestyle}% - }{}% - \fi% - }% - }{}% -} -\newcommand*\tud@ddc@check{% - \let\@tempa\tud@ddc@head@num% - \let\@tempb\tud@ddc@foot@num% - \if@tud@ddc@auto% - \ifdefvoid{\tud@headlogo@filename}{% - \let\@tempa\tud@ddc@auto@num% - \let\@tempb\z@% - }{% - \let\@tempa\z@% - \let\@tempb\tud@ddc@auto@num% - }% - \fi% - \tud@if@v@lower{2.03}{% - \ifnum\@tempb=\z@\relax% - \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% - \fi% - }{}% -} \tud@newlayerbox{main@black} \tud@newlayerbox{main@HKS41} \tud@newlayerbox{main@white} @@ -4066,10 +4003,6 @@ \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% }% } -\tud@newlayerbox{foot@black} -\tud@newlayerbox{foot@HKS41} -\tud@newlayerbox{foot@white} -\tud@newlayerbox{foot@option} \AtEndOfClass{% \ifdefvoid{\tud@dim@footlogoheight}{% \tud@if@v@lower{2.03}{% @@ -4079,6 +4012,10 @@ }% }{}% } +\tud@newlayerbox{foot@black} +\tud@newlayerbox{foot@HKS41} +\tud@newlayerbox{foot@white} +\tud@newlayerbox{foot@option} \newcommand*\tud@footlogo@ddc@set[2]{% \tud@savelayerbox{foot@#1}{% \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}% @@ -4363,6 +4300,40 @@ \hbox to #2{}% \fi% } +\AtBeginDocument{% + \tud@if@v@lower{2.04}{% + \renewcommand*\tud@comp@clearpage{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% + \fi% + }% + \renewcommand*\tud@comp@resetpagestyle{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }{}% + \fi% + }% + }{}% +} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head@num% + \let\@tempb\tud@ddc@foot@num% + \if@tud@ddc@auto% + \ifdefvoid{\tud@headlogo@filename}{% + \let\@tempa\tud@ddc@auto@num% + \let\@tempb\z@% + }{% + \let\@tempa\z@% + \let\@tempb\tud@ddc@auto@num% + }% + \fi% + \tud@if@v@lower{2.03}{% + \ifnum\@tempb=\z@\relax% + \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% + \fi% + }{}% +} \newcommand*\tud@ps@parameters[1]{% \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}% \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}% @@ -4379,6 +4350,13 @@ \TUD@parameter@def{tudfoot}[true]{\TUDoption{tudfoot}{#1}}% \TUD@parameter@let{logo}{headlogo}% } +\PreventPackageFromLoading[% + \ClassWarning{\TUD@Class@Name}{% + The package `fancyhdr' must not be used with a\MessageBreak% + TUD-Script class. You should make use of the\MessageBreak% + capabilities of package `scrlayer-scrpage' instead% + }% +]{fancyhdr} %%% From File: tudscr-layout.dtx \newcommand*\tud@x@scr@headings@current{} \newcommand*\tud@sec@fontsize{} @@ -4568,15 +4546,17 @@ \let\tud@@startpart\scr@@startpart% \ifcsdef{scr@v@3.21}{\@tempswatrue}{\@tempswafalse}% \if@tempswa% - \patchcmd{\tud@@startpart}% - {\usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}}% - {\usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}}% - {}{\tud@patch@wrn{scr@@startpart}}% + \patchcmd{\tud@@startpart}{% + \usekomafont{#1prefix}{\nobreak\@nameuse{#1format}}% + }{% + \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}% + }{}{\tud@patch@wrn{scr@@startpart}}% \else% - \patchcmd{\tud@@startpart}% - {\usekomafont{#1prefix}{\@nameuse{#1format}}}% - {\usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}}% - {}{\tud@patch@wrn{scr@@startpart}}% + \patchcmd{\tud@@startpart}{% + \usekomafont{#1prefix}{\@nameuse{#1format}}% + }{% + \usekomafont{#1prefix}{\tud@makeuppercase{\@nameuse{#1format}}}% + }{}{\tud@patch@wrn{scr@@startpart}}% \fi% \else \newcommand*\tud@@part{}% @@ -4657,22 +4637,10 @@ \usekomafont{subject}% \mdseries% \large% + \tud@raggedright% } \robustify{\thanks} \robustify{\footnotemark} -\newcommand*\tud@title@uppercase[1]{% - \let\@tempa\relax% - \begingroup% - \let\\\newline% - \def\thanks##1{\gdef\@tempa{##1}}% - \let\footnote\thanks% - \sbox\z@{#1}% - \let\thanks\@gobble% - \let\footnote\@gobble% - \tud@makeuppercase{#1}% - \endgroup% - \ifx\@tempa\relax\else\thanks\@tempa\fi% -} \newcommand*\tud@title@pagenumber{} \let\tud@title@pagenumber\relax \newcommand*\tud@maketitle[1][]{% @@ -4782,6 +4750,19 @@ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \let\\\newline% + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \sbox\z@{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \tud@title@twocolumn{\tud@maketitle[#1]{#2}}% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls index 788f5217b37..fe66916bc66 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls @@ -27,37 +27,30 @@ %% tudscr-comp.dtx (with options: `class,report,body') %% tudscr-misc.dtx (with options: `class,report,body') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -79,24 +72,24 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} \newcommand*\TUD@ProvidesClass[3]{% \ProvidesClass{#1}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script ^^J#3 (#2)% ]% \newcommand*\TUD@Class@KOMA{#2}% - \@ifundefined{TUD@Class@Parent}{% + \ifx\TUD@Class@Parent\@undefined% \newcommand*\TUD@Class@Name{#1}% \TUD@Class@Info% - }{}% + \fi% } \providecommand*\TUD@Class@Info{% \typeout{+---------------------------------------------------------------}% - \typeout{| The Corporate Design of Technische Universitaet Dresden}% + \typeout{| Corporate Design of Technische Universitaet Dresden}% \typeout{| Class: \TUD@Class@Name}% \typeout{| Version: \TUD@Version}% \typeout{| Author: Falk Hanisch (\tudscrmail)}% @@ -335,8 +328,8 @@ \cs@set@lock{tud@cdgeometry@num}{1}% \fi% \@tempswafalse% - \ifx\@tempb\tud@cdgeometry@num\relax\@tempswatrue\fi% - \ifx\@tempc\tud@cdgeometry@calc@num\relax\@tempswatrue\fi% + \ifx\@tempb\tud@cdgeometry@num\relax\else\@tempswatrue\fi% + \ifx\@tempc\tud@cdgeometry@calc@num\relax\else\@tempswatrue\fi% \if@tempswa% \TUD@SpecialOptionAtDocument{tud@cdgeometry@process}% \fi% @@ -382,85 +375,6 @@ \renewcommand*\tud@x@ta@warnings@on{\DeactivateWarningFilters[typearea]} }{} %%% From File: tudscr-pagestyle.dtx -\newcommand*\tud@ps@list{} -\newcommand*\tud@if@tudheadings[3]{% - \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% -} -\newif\if@tud@ddc@internal -\newcommand*\tud@comp@clearpage{}% -\newcommand*\tud@comp@resetpagestyle{}% -\newcommand*\tud@ddc@switch{} -\edef\tud@ddc@switch{% - \TUD@numkey@bool,% - {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}% -} -\newif\if@tud@headlogo@option@set -\newif\if@tud@footlogo@option@set -\newif\if@tud@ddc@auto -\newcommand*\tud@ddc@auto@num{0} -\TUD@key{ddc}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal% - \@tud@ddc@autofalse% - \else% - \@tud@ddc@autotrue% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddcfoot=false}% - \@tud@ddc@internalfalse% - \fi% - \global\@tud@headlogo@option@settrue% - \global\@tud@footlogo@option@settrue% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@head@num{0} -\TUD@key{ddchead}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddcfoot=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@ddc@foot@num{0} -\TUD@key{ddcfoot}[true]{% - \tud@comp@clearpage% - \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \if@tud@ddc@internal\else% - \@tud@ddc@internaltrue% - \TUDoptions{ddchead=false}% - \TUDoptions{ddc=false}% - \@tud@ddc@internalfalse% - \fi% - \fi% - \tud@comp@resetpagestyle% -} -\newcommand*\tud@dim@footlogoheight{} -\let\tud@dim@footlogoheight\relax -\TUD@key{footlogoheight}{% - \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% - \ifx\FamilyKeyState\FamilyKeyStateProcessed% - \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% - \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% - \@tempa#1\@nil% - \fi% - \global\@tud@footlogo@option@settrue% - \fi% -} \cs@lock{tud@head@font@num}{0} \cs@lock{tud@head@bar@num}{0} \bool@lock{@tud@head@widebar} @@ -596,6 +510,81 @@ \csundef{@@tud@ps@#1@#2@#3@#4}% }{}% } +\newcommand*\tud@dim@footlogoheight{} +\let\tud@dim@footlogoheight\relax +\TUD@key{footlogoheight}{% + \TUD@set@dimenkey{footlogoheight}{\tud@dim@footlogoheight}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \ifdim\dimexpr\tud@dim@footlogoheight\relax<\z@\relax% + \def\@tempa-##1\@nil{\def\tud@dim@footlogoheight{##1}}% + \@tempa#1\@nil% + \fi% + \global\@tud@footlogo@option@settrue% + \fi% +} +\newif\if@tud@ddc@internal +\newcommand*\tud@comp@clearpage{}% +\newcommand*\tud@comp@resetpagestyle{}% +\newcommand*\tud@ddc@switch{} +\edef\tud@ddc@switch{% + \TUD@numkey@bool,% + {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}% +} +\newif\if@tud@headlogo@option@set +\newif\if@tud@footlogo@option@set +\newif\if@tud@ddc@auto +\newcommand*\tud@ddc@auto@num{0} +\TUD@key{ddc}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddc}{tud@ddc@auto@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal% + \@tud@ddc@autofalse% + \else% + \@tud@ddc@autotrue% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddcfoot=false}% + \@tud@ddc@internalfalse% + \fi% + \global\@tud@headlogo@option@settrue% + \global\@tud@footlogo@option@settrue% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@head@num{0} +\TUD@key{ddchead}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddchead}{tud@ddc@head@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddcfoot=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} +\newcommand*\tud@ddc@foot@num{0} +\TUD@key{ddcfoot}[true]{% + \tud@comp@clearpage% + \TUD@set@numkey{ddcfoot}{tud@ddc@foot@num}{\tud@ddc@switch}{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed% + \if@tud@ddc@internal\else% + \@tud@ddc@internaltrue% + \TUDoptions{ddchead=false}% + \TUDoptions{ddc=false}% + \@tud@ddc@internalfalse% + \fi% + \fi% + \tud@comp@resetpagestyle% +} %%% From File: tudscr-layout.dtx \newcommand*\tud@layout@switch{} \edef\tud@layout@switch{% @@ -854,17 +843,7 @@ \newif\if@tud@clearcolor \TUD@ifkey{clearcolor}{@tud@clearcolor} \TUD@ifkey{clearcolour}{@tud@clearcolor} -\newcommand*\tud@font@koma@set[2]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{#2\nobreak}% -} -\newcommand*\tud@font@koma@unset[1]{% - \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}% - \csdef{tud@font@koma@#1}{\relax}% -} -\newcommand*\tud@font@koma@reset[1]{% - \ifcsdef{tud@font@koma@#1}{\addtokomafont{#1}{\csuse{tud@font@koma@#1}}}{}% -} +\newcommand*\tud@pagecolor{}% \DefineFamilyMember{KOMA} \DefineFamilyKey{KOMA}{headings}{% \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% @@ -878,7 +857,6 @@ \TUD@SpecialOptionAtDocument{tud@x@scr@headings@reset}% \FamilyKeyStateProcessed% } -\newcommand*\tud@pagecolor{}% \newcommand*\tud@dim@pageheadingsvskip{0pt} \TUD@key{pageheadingsvskip}{% \TUD@set@dimenkey{pageheadingsvskip}{\tud@dim@pageheadingsvskip}{#1}% @@ -1050,6 +1028,110 @@ }% \TUDoptions{#2}% } +\newcommand*\tud@v@comp{\tud@v@last} +\TUD@key{tudscrver}[last]{% + \tud@v@get\@tempa{#1}% + \ifcsundef{tud@v@\@tempa}{% + \ClassWarningNoLine{\TUD@Class@Name}% + {% + You have set option `tudscrver' to `\@tempa', but\MessageBreak% + this value is not supported. Because of this, the\MessageBreak% + value for `tudscrver' was set to `first'% + }% + \def\tud@v@comp{0}% + }{% + \ClassInfoNoLine{\TUD@Class@Name}% + {% + Switching compatibility level to `\@tempa'% + }% + \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% + }% + \FamilyKeyStateProcessed% +} +\AtEndOfClass% +{% + \TUD@key{tudscrver}[]{% + \ClassError{\TUD@Class@Name}% + {Option `tudscrver' too late}{% + Option `tudscrver' can only be set while loading the\MessageBreak% + class `\TUD@Class@Name' + but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \ifcsdef{scr@v@\TUD@Version@KOMA}{% + \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% + \ClassError{\TUD@Class@Name}{% + KOMA-Script compatibility level too low% + }{% + \TUD@Version\space must be used at least with\MessageBreak% + KOMA-Script compatibility option `version=3.12'.% + }% + \fi% + }{% + \ClassError{\TUD@Class@Name}{% + KOMA-Script v\TUD@Version@KOMA is required% + }{% + \TUD@Version\space must at least be used with\MessageBreak% + KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% + }% + }% +} +\csdef{tud@v@first}{0} +\csdef{tud@v@2.00}{0} +\csdef{tud@v@2.01}{0} +\csdef{tud@v@2.01a}{0} +\csdef{tud@v@2.01b}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.03}{1} +\csdef{tud@v@2.03a}{1} +\csdef{tud@v@2.04}{2} +\csdef{tud@v@2.04a}{2} +\csdef{tud@v@2.04b}{2} +\csdef{tud@v@2.04c}{2} +\csdef{tud@v@2.04d}{2} +\csdef{tud@v@2.04e}{2} +\csdef{tud@v@2.05}{3} +\csdef{tud@v@2.05a}{3} +\csdef{tud@v@2.05b}{3} +\csdef{tud@v@2.05c}{3} +\csdef{tud@v@2.05d}{3} +\csdef{tud@v@2.05e}{3} +\csdef{tud@v@2.05f}{3} +\csdef{tud@v@2.05g}{3} +\csdef{tud@v@last}{3} +\newcommand*\tud@v@get[2]{% + \begingroup% + \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempb v##1\@nil{\def\@tempc{##1}}% + \@tempa #2\@nil% + \edef\tud@reserved{% + \endgroup% + \etex@unexpanded{\def#1}{\@tempc}% + }% + \tud@reserved% +} +\newcommand*\tud@if@v@lower[1]{% + \begingroup% + \tud@v@get\@tempa{#1}% + \ifcsdef{tud@v@\@tempa}{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% + }{% + \def\tud@reserved{% + \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! + Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% + There's no defined macro `\string\tud@v@\@tempa'% + }% + \endgroup\@firstoftwo% + }% + }% + \tud@reserved% +} \TUD@key{fontspec}[true]{% \ClassWarning{\TUD@Class@Name}% {% @@ -1221,109 +1303,6 @@ \fi% } \TUD@key{colour}[true]{\TUDoptions{color=#1}} -\newcommand*\tud@v@comp{\tud@v@last} -\TUD@key{tudscrver}[last]{% - \tud@v@get\@tempa{#1}% - \ifcsundef{tud@v@\@tempa}{% - \ClassWarningNoLine{\TUD@Class@Name}% - {% - You have set option `tudscrver' to `\@tempa', but\MessageBreak% - this value is not supported. Because of this, the\MessageBreak% - value for `tudscrver' was set to `first'% - }% - \def\tud@v@comp{0}% - }{% - \ClassInfoNoLine{\TUD@Class@Name}% - {% - Switching compatibility level to `\@tempa'% - }% - \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% - }% - \FamilyKeyStateProcessed% -} -\AtEndOfClass% -{% - \TUD@key{tudscrver}[]{% - \ClassError{\TUD@Class@Name}% - {Option `tudscrver' too late}{% - Option `tudscrver' can only be set while loading the\MessageBreak% - class `\TUD@Class@Name' - but you have tried to set it up later.% - }% - \FamilyKeyStateProcessed% - }% - \ifcsdef{scr@v@\TUD@Version@KOMA}{% - \ifnum\scr@compatibility<\csuse{scr@v@3.12}\relax% - \ClassError{\TUD@Class@Name}{% - KOMA-Script compatibility level too low% - }{% - \TUD@Version\space must be used at least with\MessageBreak% - KOMA-Script compatibility option `version=3.12'.% - }% - \fi% - }{% - \ClassError{\TUD@Class@Name}{% - KOMA-Script v\TUD@Version@KOMA is required% - }{% - \TUD@Version\space must at least be used with\MessageBreak% - KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% - }% - }% -} -\csdef{tud@v@first}{0} -\csdef{tud@v@2.00}{0} -\csdef{tud@v@2.01}{0} -\csdef{tud@v@2.01a}{0} -\csdef{tud@v@2.01b}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.02}{0} -\csdef{tud@v@2.03}{1} -\csdef{tud@v@2.03a}{1} -\csdef{tud@v@2.04}{2} -\csdef{tud@v@2.04a}{2} -\csdef{tud@v@2.04b}{2} -\csdef{tud@v@2.04c}{2} -\csdef{tud@v@2.04d}{2} -\csdef{tud@v@2.04e}{2} -\csdef{tud@v@2.05}{3} -\csdef{tud@v@2.05a}{3} -\csdef{tud@v@2.05b}{3} -\csdef{tud@v@2.05c}{3} -\csdef{tud@v@2.05d}{3} -\csdef{tud@v@2.05e}{3} -\csdef{tud@v@2.05f}{3} -\csdef{tud@v@last}{3} -\newcommand*\tud@v@get[2]{% - \begingroup% - \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% - \def\@tempb v##1\@nil{\def\@tempc{##1}}% - \@tempa #2\@nil% - \edef\tud@reserved{% - \endgroup% - \etex@unexpanded{\def#1}{\@tempc}% - }% - \tud@reserved% -} -\newcommand*\tud@if@v@lower[1]{% - \begingroup% - \tud@v@get\@tempa{#1}% - \ifcsdef{tud@v@\@tempa}{% - \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% - \def\tud@reserved{\endgroup\@firstoftwo}% - \else% - \def\tud@reserved{\endgroup\@secondoftwo}% - \fi% - }{% - \def\tud@reserved{% - \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! - Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% - There's no defined macro `\string\tud@v@\@tempa'% - }% - \endgroup\@firstoftwo% - }% - }% - \tud@reserved% -} %%% From File: tudscr-misc.dtx \newif\if@tud@x@scr@paper@set \TUD@key{paper}{% @@ -1423,18 +1402,6 @@ \LoadClass{\TUD@Class@KOMA}[2015/04/23] %%% From File: tudscr-base.dtx \RequirePackage{environ}[2013/04/01] -\AtEndPreamble{% - \@ifpackageloaded{graphicx}{}{% - \@ifpackageloaded{graphics}{% - \ClassWarningNoLine{\TUD@Class@Name}{% - Package `graphics' was superseded by `graphicx',\MessageBreak% - which now will be loaded automatically% - }% - }{}% - }% - \RequirePackage{graphicx}[1999/02/16]% - \RequirePackage{tudscrcolor}[\TUD@Version]% -} \cs@lock{tud@x@multicol@num}{1} \newcommand*\tud@x@multicol@check{% \ifnum\tud@x@multicol@num>\@ne\relax% @@ -1446,6 +1413,18 @@ \fi% } \AfterPackage{multicol}{\renewcommand*\tud@x@multicol@check{\relax}} +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{% + \@ifpackageloaded{graphics}{% + \ClassWarningNoLine{\TUD@Class@Name}{% + Package `graphics' was superseded by `graphicx',\MessageBreak% + which now will be loaded automatically% + }% + }{}% + \RequirePackage{graphicx}[1999/02/16]% + }% + \RequirePackage{tudscrcolor}[\TUD@Version]% +} %%% From File: tudscr-fonts.dtx \newcommand*\tud@univers{lun} \newif\if@tud@univers @@ -1535,6 +1514,19 @@ \fi% \undef\tud@font@check% } +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage*{ragged2e}{% + \ifdef{\LaTeXraggedright}{% + \renewcommand*\tud@raggedright{\LaTeXraggedright}% + }{}% + \renewcommand*\tud@RaggedRight{\RaggedRight}% +} +\AfterPackage*{siunitx}{% + \providecommand*\lseries{\fontseries{l}\selectfont}% +} +\newif\if@tud@x@bm@requested +\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} \RequirePackage{trimspaces}[2009/09/17] \newif\if@tud@x@mweights@enabled \AfterPackage*{mweights}{\@tud@x@mweights@enabledtrue} @@ -2046,11 +2038,6 @@ \fi% \AtBeginDocument{\tud@font@math@init\let\tud@font@math@init\relax}% } -\newif\if@tud@x@bm@requested -\PreventPackageFromLoading[\@tud@x@bm@requestedtrue]{bm} -\AfterPackage*{siunitx}{% - \providecommand*\lseries{\fontseries{l}\selectfont}% -} \newrobustcmd*\ifdin{% \ifx\f@family\tud@dinbold% \expandafter\@firstoftwo% @@ -2065,14 +2052,6 @@ \sectfont#1% \fi% } -\newcommand*\tud@raggedright{\raggedright} -\newcommand*\tud@RaggedRight{\raggedright} -\AfterPackage*{ragged2e}{% - \ifdef{\LaTeXraggedright}{% - \renewcommand*\tud@raggedright{\LaTeXraggedright}% - }{}% - \renewcommand*\tud@RaggedRight{\RaggedRight}% -} \RequirePackage{textcase}[2004/10/07] \newcommand*\tud@makeuppercase[1]{% \ifdin{\begingroup\MakeTextUppercase{#1}\endgroup}{#1}% @@ -2113,21 +2092,29 @@ \let\footnote\@gobble% \def\newline{\space\ignorespaces}% \def\\{\space\ignorespaces}% - \def\@tempa##1{\csdef{##1}####1{\noexpand\relax}}% + \let\@tempc\relax% + \def\@tempa##1{\csedef{##1}####1{\@tempc}}% \let\@tempb\tud@split@author@list% \ifx\and\relax\else% \robustify\and% \fi% \expandafter\forcsvlist\expandafter\@tempa\expandafter{\@tempb}% + \def\@tempa##1##2{% + \def\@tempb####1##2####2\@nil{% + \IfArgIsEmpty{####2}{% + \def##1{####1}% + }{% + \@tempb####1####2\@nil% + }% + }% + \expandafter\@tempb##1##2\@nil% + }% \protected@edef\@@author{#1}% - \tud@replace\@@author{ \relax }{}% - \tud@replace\@@author{\relax }{}% - \tud@replace\@@author{ \relax}{}% - \tud@replace\@@author{\relax}{}% - \tud@replace\@@author{ \and }{\and}% - \tud@replace\@@author{ \and}{\and}% - \tud@replace\@@author{\and }{\and}% - \protected@xdef\@@author{\trim@spaces{\@@author}}% + \@tempa{\@@author}{ \@tempc }% + \@tempa{\@@author}{\@tempc }% + \@tempa{\@@author}{ \@tempc}% + \@tempa{\@@author}{\@tempc}% + \xdef\@@author{\expandonce\@@author}% \endgroup% } \newcommand*\@authormore{} @@ -2140,6 +2127,7 @@ \newcommand*\@thesis{} \newcommand*\@@thesis{} \newcommand*\thesis[1]{\tud@thesis@do{thesis}{#1}} +\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\tud@thanks{} \newcommand*\tud@thesis@do[2]{% \begingroup% @@ -2189,7 +2177,6 @@ \fi% \protected@xdef\@@thesis{\trim@spaces{#2}}% } -\renewcommand*\subject[1]{\tud@thesis@do{subject}{#1}} \newcommand*\@graduation{} \newcommand*\@@graduation{} \newcommand*\graduation[2][]{% @@ -2671,6 +2658,22 @@ \tud@locale@english{\@dotswap}{.}% } %%% From File: tudscr-area.dtx +\newif\if@tud@x@crop@center +\AfterPackage{crop}{% + \CheckCommand*\CROP@center{% + \voffset\stockheight + \advance\voffset-\paperheight + \voffset.5\voffset + \hoffset\stockwidth + \advance\hoffset-\paperwidth + \hoffset.5\hoffset + }% + \pretocmd{\CROP@center}{% + \@tud@x@crop@centertrue% + }{}{\tud@patch@wrn{CROP@center}} +} +\newif\if@tud@x@standalone@crop +\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newlength\tud@len@widemargin \newlength\tud@len@slimmargin \newlength\tud@len@both @@ -2860,22 +2863,6 @@ \setlength\tud@len@footsep{\dimexpr.707107\tud@len@footsep\relax}% \fi% } -\newif\if@tud@x@crop@center -\AfterPackage{crop}{% - \CheckCommand*\CROP@center{% - \voffset\stockheight - \advance\voffset-\paperheight - \voffset.5\voffset - \hoffset\stockwidth - \advance\hoffset-\paperwidth - \hoffset.5\hoffset - }% - \pretocmd{\CROP@center}{% - \@tud@x@crop@centertrue% - }{}{\tud@patch@wrn{CROP@center}} -} -\newif\if@tud@x@standalone@crop -\AfterClass*{standalone}{\let\if@tud@x@standalone@crop\ifsa@crop} \newcommand*\tud@cdgeometry@process{} \newcommand*\tud@cdgeometry@@process{} \if@tud@x@standalone@crop @@ -3670,19 +3657,6 @@ \AtEndPreamble{% \if@tud@x@standalone@crop% \pagestyle{empty}% - \hoffset=-72.27pt% - \voffset=-72.27pt% - \topmargin=0pt% - \headheight=0pt% - \headsep=0pt% - \marginparsep=0pt% - \marginparwidth=0pt% - \footskip=0pt% - \marginparpush=0pt% - \oddsidemargin=0pt% - \evensidemargin=0pt% - \topskip=0pt% - \textheight=\maxdimen% \let\tud@AfterChangingArea\relax% \let\tud@cdgeometry@process\relax% \else% @@ -4091,16 +4065,43 @@ ]{tudheadings.pagecolor}% \AddLayersToPageStyle{@everystyle@}{tudheadings.pagecolor}% } +\newcommand*\tud@ps@list{} \listadd\tud@ps@list{tudheadings} \listadd\tud@ps@list{plain.tudheadings} \listadd\tud@ps@list{empty.tudheadings} -\PreventPackageFromLoading[% - \ClassWarning{\TUD@Class@Name}{% - The package `fancyhdr' must not be used with a\MessageBreak% - TUD-Script class. You should make use of the\MessageBreak% - capabilities of package `scrlayer-scrpage' instead% - }% -]{fancyhdr} +\newcommand*\tud@if@tudheadings[3]{% + \xifinlist{\GetRealPageStyle{#1}}{\tud@ps@list}{#2}{#3}% +} +\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% + \xdef\@specialstyle{\GetRealPageStyle{#1}}% +}{}{\tud@patch@wrn{thispagestyle}} +\newcommand*\tud@pagestyle{} +\let\tud@pagestyle\pagestyle +\pretocmd{\tud@pagestyle}{% + \tud@BeforeSelectAnyPageStyle{#1}% + \edef\currentpagestyle{#1}% +}{}{\tud@patch@wrn{pagestyle}} +\tud@cmd@store{pagestyle} +\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} +\BeforePackage{scrlayer-scrpage}{% + \tud@cmd@restore{pagestyle}% + \undef\tud@pagestyle% +} +\TUD@UnwindPackage{scrlayer-scrpage}{% + \ifcsundef{if@chapter}{% + \newif\if@chapter% + \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% + }{}% + \cslet{ps@tudheadings}{\ps@headings}% + \cslet{ps@plain.tudheadings}{\ps@plain}% + \cslet{ps@empty.tudheadings}{\ps@empty}% + \providecommand*\currentpagestyle{plain}% + \providecommand*\BeforeSelectAnyPageStyle[1]{}% + \providecommand*\GetRealPageStyle[1]{#1}% + \let\pagestyle\tud@pagestyle% + \undef\tud@pagestyle% + \tud@cdgeometry@init% +} \newcommand*\tud@ps@onselect{% \DeclarePageStyleAlias{plain}{plain.tudheadings}% \DeclarePageStyleAlias{headings}{tudheadings}% @@ -4176,36 +4177,6 @@ \ifstr{\tud@head@fontcolor}{white}{\let\tud@len@line\tud@len@heavyline}{}% \global\let\tud@foot@fontcolor\tud@foot@fontcolor% } -\newcommand*\tud@pagestyle{} -\let\tud@pagestyle\pagestyle -\pretocmd{\tud@pagestyle}{% - \tud@BeforeSelectAnyPageStyle{#1}% - \edef\currentpagestyle{#1}% -}{}{\tud@patch@wrn{pagestyle}} -\tud@cmd@store{pagestyle} -\renewcommand*\pagestyle[1]{\AfterPackage!{scrlayer-scrpage}{\pagestyle{#1}}} -\BeforePackage{scrlayer-scrpage}{% - \tud@cmd@restore{pagestyle}% - \undef\tud@pagestyle% -} -\TUD@UnwindPackage{scrlayer-scrpage}{% - \ifcsundef{if@chapter}{% - \newif\if@chapter% - \ifcsundef{chapter}{\@chapterfalse}{\@chaptertrue}% - }{}% - \cslet{ps@tudheadings}{\ps@headings}% - \cslet{ps@plain.tudheadings}{\ps@plain}% - \cslet{ps@empty.tudheadings}{\ps@empty}% - \providecommand*\currentpagestyle{plain}% - \providecommand*\BeforeSelectAnyPageStyle[1]{}% - \providecommand*\GetRealPageStyle[1]{#1}% - \let\pagestyle\tud@pagestyle% - \undef\tud@pagestyle% - \tud@cdgeometry@init% -} -\patchcmd{\thispagestyle}{\gdef\@specialstyle{#1}}{% - \xdef\@specialstyle{\GetRealPageStyle{#1}}% -}{}{\tud@patch@wrn{thispagestyle}} \newcommand*\tud@head@fontsize{} \newcommand*\tud@head@font@light{} \newcommand*\tud@head@font@bold{} @@ -4361,40 +4332,6 @@ \endgroup% \vbox to #1{#2}% } -\AtBeginDocument{% - \tud@if@v@lower{2.04}{% - \renewcommand*\tud@comp@clearpage{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% - \fi% - }% - \renewcommand*\tud@comp@resetpagestyle{% - \if@tud@ddc@internal\else% - \tud@if@tudheadings{\currentpagestyle}{% - \expandafter\pagestyle\expandafter{\currentpagestyle}% - }{}% - \fi% - }% - }{}% -} -\newcommand*\tud@ddc@check{% - \let\@tempa\tud@ddc@head@num% - \let\@tempb\tud@ddc@foot@num% - \if@tud@ddc@auto% - \ifdefvoid{\tud@headlogo@filename}{% - \let\@tempa\tud@ddc@auto@num% - \let\@tempb\z@% - }{% - \let\@tempa\z@% - \let\@tempb\tud@ddc@auto@num% - }% - \fi% - \tud@if@v@lower{2.03}{% - \ifnum\@tempb=\z@\relax% - \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% - \fi% - }{}% -} \tud@newlayerbox{main@black} \tud@newlayerbox{main@HKS41} \tud@newlayerbox{main@white} @@ -4523,10 +4460,6 @@ \ifnum\@tempa>\z@\relax\tud@headlogo@wrn\fi% }% } -\tud@newlayerbox{foot@black} -\tud@newlayerbox{foot@HKS41} -\tud@newlayerbox{foot@white} -\tud@newlayerbox{foot@option} \AtEndOfClass{% \ifdefvoid{\tud@dim@footlogoheight}{% \tud@if@v@lower{2.03}{% @@ -4536,6 +4469,10 @@ }% }{}% } +\tud@newlayerbox{foot@black} +\tud@newlayerbox{foot@HKS41} +\tud@newlayerbox{foot@white} +\tud@newlayerbox{foot@option} \newcommand*\tud@footlogo@ddc@set[2]{% \tud@savelayerbox{foot@#1}{% \includegraphics[keepaspectratio,totalheight=\tud@dim@footlogoheight]{#2}% @@ -4749,6 +4686,40 @@ \hbox to #2{}% \fi% } +\AtBeginDocument{% + \tud@if@v@lower{2.04}{% + \renewcommand*\tud@comp@clearpage{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{\clearpage}{}% + \fi% + }% + \renewcommand*\tud@comp@resetpagestyle{% + \if@tud@ddc@internal\else% + \tud@if@tudheadings{\currentpagestyle}{% + \expandafter\pagestyle\expandafter{\currentpagestyle}% + }{}% + \fi% + }% + }{}% +} +\newcommand*\tud@ddc@check{% + \let\@tempa\tud@ddc@head@num% + \let\@tempb\tud@ddc@foot@num% + \if@tud@ddc@auto% + \ifdefvoid{\tud@headlogo@filename}{% + \let\@tempa\tud@ddc@auto@num% + \let\@tempb\z@% + }{% + \let\@tempa\z@% + \let\@tempb\tud@ddc@auto@num% + }% + \fi% + \tud@if@v@lower{2.03}{% + \ifnum\@tempb=\z@\relax% + \ifdefvoid{\tud@footlogo@filenames}{}{\let\@tempb\m@ne}% + \fi% + }{}% +} \newcommand*\tud@ps@parameters[1]{% \TUD@parameter@def{cdfont}[true]{\TUDoption{cdfont}{#1}}% \TUD@parameter@def{cdhead}[true]{\TUDoption{cdhead}{#1}}% @@ -4828,6 +4799,13 @@ \tud@ps@parameters{#1}% \TUD@parameter@handler@default{}% } +\PreventPackageFromLoading[% + \ClassWarning{\TUD@Class@Name}{% + The package `fancyhdr' must not be used with a\MessageBreak% + TUD-Script class. You should make use of the\MessageBreak% + capabilities of package `scrlayer-scrpage' instead% + }% +]{fancyhdr} %%% From File: tudscr-layout.dtx \newcommand*\tud@x@scr@headings@current{} \newcommand*\tud@sec@fontsize{} @@ -4868,6 +4846,11 @@ \fi% ]% } +\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}} +\newcommand*\tud@headmidvskip@reverse{% + \setbox\z@\vbox{\tud@headmidvskip@normal}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}% +} \newcommand*\tud@title@fontcolor{} \newcommand*\tud@part@fontcolor{} \newcommand*\tud@chapter@fontcolor{} @@ -4878,11 +4861,6 @@ \tud@color{\tud@part@fontcolor}% \usesizeofkomafont{section}% } -\newcommand*\tud@headmidvskip@normal{\par\nobreak\vspace{.5\baselineskip}} -\newcommand*\tud@headmidvskip@reverse{% - \setbox\z@\vbox{\tud@headmidvskip@normal}% - \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-\ht\z@\relax}% -} \newcommand*\tud@layout@process{% \ifcase\tud@layout@cover@num\relax% false \bool@std@lock{@tud@cdgeometry@cover}{false}% @@ -5135,6 +5113,51 @@ }% \tud@layout@specialpage@unset% } +\newcommand*\tud@partpreamble{% + \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap + \renewcommand*\tud@abstract@level@num{1}% + \fi% + \KOMAoptions{titlepage=false}% + \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% + \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}% + \tud@color{\tud@part@fontcolor}% + \vskip\dimexpr\topskip+.9\baselineskip\relax% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@chapterpreamble{% + \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap + \renewcommand*\tud@abstract@level@num{1}% + \fi% + \KOMAoptions{titlepage=false}% + \if@tud@chapterpage% + \ifcase\tud@cdfont@num\relax\or% true + \TUDoptions{cdfont=true}% + \or% heavy + \TUDoptions{cdfont=heavy}% + \fi% + \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% + \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}% + \tud@color{\tud@chapter@fontcolor}% + \fi% + \@afterindentfalse\@afterheading% +} +\CheckCommand\set@@@@preamble[6]{% + \expandafter\gdef\csname #1@preamble\endcsname{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% + }% +} +\patchcmd{\set@@@@preamble}{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% +}{% + \def\@tempa####1@####2{% + \@nameuse{tud@####1preamble}% + \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% + }% + \hbox to\hsize{% + \let\phantomsection\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} \ifcsdef{scr@v@3.18}{\@tempswatrue}{\@tempswafalse} \if@tempswa \newcommand*\tud@@startpart{}% @@ -5149,7 +5172,9 @@ }{}% }{% \ifnumbered{#1}{% - \usekomafont{#1prefix}{\nobreak\tud@makeuppercase{\@nameuse{#1format}}}% + \usekomafont{#1prefix}{% + \nobreak\tud@makeuppercase{\@nameuse{#1format}}% + }% \if@tud@parttitle% \enskip% \else% @@ -5235,17 +5260,6 @@ \size@part% }{}{\tud@patch@wrn{@spart}}% \fi -\newcommand*\tud@partpreamble{% - \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap - \renewcommand*\tud@abstract@level@num{1}% - \fi% - \KOMAoptions{titlepage=false}% - \addtokomafont{disposition}{\tud@color{\tud@part@fontcolor}}% - \addtokomafont{dictum}{\tud@color{\tud@part@fontcolor}}% - \tud@color{\tud@part@fontcolor}% - \vskip\dimexpr\topskip+.9\baselineskip\relax% - \@afterindentfalse\@afterheading% -} \newcommand*\tud@chapterheadstartvskip{% \renewcommand*\tud@chapter@fontcolor{}% \ifcase\tud@layout@chapter@num\relax\or\else% *color @@ -5289,40 +5303,6 @@ \tud@headmidvskip@normal% }{}{\tud@patch@wrn{@@makechapterhead}}% \fi -\newcommand*\tud@chapterpreamble{% - \ifnum\tud@abstract@level@num>\@ne\relax% sec/chap - \renewcommand*\tud@abstract@level@num{1}% - \fi% - \KOMAoptions{titlepage=false}% - \if@tud@chapterpage% - \ifcase\tud@cdfont@num\relax\or% true - \TUDoptions{cdfont=true}% - \or% heavy - \TUDoptions{cdfont=heavy}% - \fi% - \addtokomafont{disposition}{\tud@color{\tud@chapter@fontcolor}}% - \addtokomafont{dictum}{\tud@color{\tud@chapter@fontcolor}}% - \tud@color{\tud@chapter@fontcolor}% - \fi% - \@afterindentfalse\@afterheading% -} -\CheckCommand\set@@@@preamble[6]{% - \expandafter\gdef\csname #1@preamble\endcsname{% - \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% - }% -} -\patchcmd{\set@@@@preamble}{% - \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% -}{% - \def\@tempa####1@####2{% - \@nameuse{tud@####1preamble}% - \KOMAoptionOf[\KOMAoption{parskip}]{\KOMAClassFileName}{parskip}% - }% - \hbox to\hsize{% - \let\phantomsection\relax% - #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% - }% -}{}{\tud@patch@wrn{set@@@@preamble}} \newcommand*\tud@chapter@pre{% \if@tud@chapterpage% \@restonecolfalse% @@ -5487,83 +5467,10 @@ \usekomafont{subject}% \mdseries% \large% + \tud@raggedright% } \robustify{\thanks} \robustify{\footnotemark} -\newcommand*\tud@title@uppercase[1]{% - \let\@tempa\relax% - \begingroup% - \let\\\newline% - \def\thanks##1{\gdef\@tempa{##1}}% - \let\footnote\thanks% - \sbox\z@{#1}% - \let\thanks\@gobble% - \let\footnote\@gobble% - \tud@makeuppercase{#1}% - \endgroup% - \ifx\@tempa\relax\else\thanks\@tempa\fi% -} -\newcommand*\tud@title@delimiter{:\nobreakspace} -\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} -\newcommand*\tud@newline@title{} -\newcommand*\tud@split@author@title[2]{% - \tud@multiple@fields@store{@author}{#1}% - \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% - {\usekomafont{author}{\ignorespaces#1}}% - \if@tud@cover\else% - \ifx\@authormore\@empty\else% - \tud@newline@title% - \@authormore% - \fi% - \ifx\@dateofbirth\@empty\else% - \if@titlepage% - \tud@newline@title% - \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% - \@dateofbirth% - \ifx\@placeofbirth\@empty\else% - \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% - \fi% - \else% - \tud@title@wrn{dateofbirth}% - \fi% - \fi% - \def\@tempc##1{% - \ifstr{\csuse{@##1}}{}{}{% - \if@titlepage% - \tud@newline@title% - \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% - \csuse{@##1}% - \else% - \tud@title@wrn{##1}% - \fi% - }% - }% - \@tempc{course}% - \@tempc{discipline}% - \@tempc{matriculationnumber}% - \@tempc{matriculationyear}% - \fi% - \tud@multiple@fields@restore{@author}% - \tud@multiple@@@split{#2}{\vskip 2ex}% -} -\newcommand*\tud@title@wrn[1]{% - \ClassWarning{\TUD@Class@Name}{% - `\@backslashchar#1' has to be used with\MessageBreak% - activated titlepage option% - }% -} -\newcommand*\tud@thesis@tosubject{% - \if@tud@subjectthesis\ifx\@thesis\@empty\else% - \ifx\@subject\@empty\else% - \ClassWarning{\TUD@Class@Name}{% - The option `subjectthesis' was activated, so\MessageBreak% - the field `subject' will be overwritten with the\MessageBreak% - given thesis% - }% - \fi% - \let\@subject\@thesis% - \fi\fi% -} \newcommand*\tud@title@pagenumber{} \let\tud@title@pagenumber\relax \newcommand*\tud@maketitle[1][]{% @@ -5829,21 +5736,6 @@ \fi% \end{titlepage}% } -\newcommand*\tud@title@names[1]{% - \letcs\@tempa{@#1}% - \ifx\@tempa\@empty\else% - \def\and{% - \ifcsvoid{#1othername}{\par}{% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1othername}\par}}% - }% - \let\and\par% - }% - \vskip 1ex\@plus.5ex\@minus.5ex% - {\usekomafont{titlepage}{\csuse{#1name}\par}}% - {\usekomafont{author}{\csuse{@#1}\par}}% - \fi% -} \newcommand*\tud@make@titlehead{% \renewcommand*\tud@title@fontcolor{}% \ifcase\tud@layout@title@num\relax\or\else% *color @@ -5947,6 +5839,95 @@ \tud@if@v@lower{2.03}{\tud@ddc@enlargepage[\titlepagestyle]}{}% \endgroup% } +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \let\\\newline% + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \sbox\z@{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +\newcommand*\tud@thesis@tosubject{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% + \ClassWarning{\TUD@Class@Name}{% + The option `subjectthesis' was activated, so\MessageBreak% + the field `subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1}% + \ifx\@tempa\@empty\else% + \def\and{% + \ifcsvoid{#1othername}{\par}{% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1othername}\par}}% + }% + \let\and\par% + }% + \vskip 1ex\@plus.5ex\@minus.5ex% + {\usekomafont{titlepage}{\csuse{#1name}\par}}% + {\usekomafont{author}{\csuse{@#1}\par}}% + \fi% +} +\newcommand*\tud@title@delimiter{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\tud@title@delimiter{#1}} +\newcommand*\tud@newline@title{} +\newcommand*\tud@split@author@title[2]{% + \tud@multiple@fields@store{@author}{#1}% + \renewcommand*\tud@newline@title{\vskip .5ex\let\tud@newline@title\newline}% + {\usekomafont{author}{\ignorespaces#1\unskip}}% + \if@tud@cover\else% + \ifx\@authormore\@empty\else% + \tud@newline@title% + \@authormore% + \fi% + \ifx\@dateofbirth\@empty\else% + \if@titlepage% + \tud@newline@title% + \ifxblank{\dateofbirthtext}{}{\dateofbirthtext\tud@title@delimiter}% + \@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \nobreakspace\placeofbirthtext\nobreakspace\@placeofbirth% + \fi% + \else% + \tud@title@wrn{dateofbirth}% + \fi% + \fi% + \def\@tempc##1{% + \ifstr{\csuse{@##1}}{}{}{% + \if@titlepage% + \tud@newline@title% + \ifstr{\csuse{##1name}}{}{}{\csuse{##1name}\tud@title@delimiter}% + \csuse{@##1}% + \else% + \tud@title@wrn{##1}% + \fi% + }% + }% + \@tempc{course}% + \@tempc{discipline}% + \@tempc{matriculationnumber}% + \@tempc{matriculationyear}% + \fi% + \tud@multiple@fields@restore{@author}% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\TUD@Class@Name}{% + `\@backslashchar#1' has to be used with\MessageBreak% + activated titlepage option% + }% +} \newcommand\maketitleonecolumn[2][]{% \if@twocolumn% \if@titlepage% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty index 3513e931fdd..7964a6eab79 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty @@ -9,37 +9,30 @@ %% tudscr-fields.dtx (with options: `package,supervisor') %% tudscr-locale.dtx (with options: `package,supervisor') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -61,11 +54,11 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} -\@ifundefined{TUD@Class@Name}{% +\ifx\TUD@Class@Name\@undefined \PackageError{% tudscrsupervisor% }{Unsupported class found}{% @@ -73,7 +66,7 @@ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% }% \endinput -}{} +\fi \@ifundefined{TUDScript}{% \DeclareRobustCommand\TUDScript{% \ifdin{TUD-SCRIPT}{% @@ -83,12 +76,91 @@ }{} %%% From File: tudscr-supervisor.dtx \ProvidesPackage{tudscrsupervisor}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package (commands for supervisors)% ] \newcommand*\tud@multiple@fields@output{} \newcommand*\tud@multiple@fields@style{table} +\newcommand*\student{\author} +\newlength\tud@len@authortable +\newcommand*\tud@authortable@set{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@multiple@split{@author}% + \tud@multiple@fields@preset{@author}{\null}{}% + \setlength\tud@len@authortable{2em}% + \def\@tempb##1{% + \expandafter\ifx\csname @##1\endcsname\@empty\else% + \expandafter\appto\expandafter\@tempa\expandafter{% + \expandafter,\csname ##1name\endcsname% + }% + \fi% + }% + \def\@tempa{% + \namesname,\titlename,\issuedatetext,\duedatetext,\supervisorname% + }% + \tud@ifin@and{\@supervisor}{\appto\@tempa{,\supervisorothername}}{}% + \@tempb{referee}% + \tud@ifin@and{\@referee}{\appto\@tempa{,\refereeothername}}{}% + \@tempb{matriculationnumber}% + \@tempb{matriculationyear}% + \@tempb{course}% + \@tempb{discipline}% + \@for\@tempb:=\@tempa\do{% + \settowidth\@tempdima{\@tempb\tud@title@delimiter}% + \ifdim\@tempdima>\tud@len@authortable\relax% + \setlength\tud@len@authortable{\@tempdima}% + \fi% + }% + \global\tud@len@authortable=\tud@len@authortable% + \begingroup% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \begin{tabular}{@{}p{\tud@len@authortable}}% + \ifx\@course\@empty\else% + \coursename\tud@title@delimiter\tabularnewline% + \fi% + \ifx\@discipline\@empty\else% + \disciplinename\tud@title@delimiter\tabularnewline% + \fi% + \namesname\tud@title@delimiter\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \matriculationnumbername\tud@title@delimiter\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \matriculationyearname\tud@title@delimiter\tabularnewline% + \fi% + \end{tabular}% + \renewcommand*\tud@split@author@do[2]{% + \tud@multiple@fields@store{@author}{##1}% + \tud@multiple@fields@preset{@author}{\null}{##1}% + \begin{tabular}{l@{}}% + \ifx\@course\@empty\else\@course\tabularnewline\fi% + \ifx\@discipline\@empty\else\@discipline\tabularnewline\fi% + \textsf{\textbf{\ignorespaces##1}}\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \@matriculationnumber\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \@matriculationyear\tabularnewline% + \fi% + \end{tabular}% + \tud@multiple@fields@restore{@author}% + \tud@multiple@@@split{##2}{\enskip\hspace{\tabcolsep}}% + }% + \tud@multiple@split{@author}% + \vskip\smallskipamount% + \begin{tabular}{@{}p{\tud@len@authortable}% + p{\dimexpr\textwidth-\tud@len@authortable-2\tabcolsep\relax}@{}}% + \titlename\tud@title@delimiter & \tud@RaggedRight\textsf{\textbf{\@@title}}% + \end{tabular}% + \par% + \endgroup% + \ifdim\parskip>\z@\else\vskip\topsep\fi% + \endgroup% + \noindent\ignorespaces% +} \newenvironment{task}[1][]{% \cleardoubleoddpage% \def\@headline{}% @@ -233,85 +305,6 @@ \ifblank{#5}{}{\def\@grade{#5}}% \end{evaluation}% } -\newcommand*\student{\author} -\newlength\tud@len@authortable -\newcommand*\tud@authortable@set{% - \begingroup% - \let\thanks\@gobble% - \let\footnote\@gobble% - \tud@multiple@split{@author}% - \tud@multiple@fields@preset{@author}{\null}{}% - \setlength\tud@len@authortable{2em}% - \def\@tempb##1{% - \expandafter\ifx\csname @##1\endcsname\@empty\else% - \expandafter\appto\expandafter\@tempa\expandafter{% - \expandafter,\csname ##1name\endcsname% - }% - \fi% - }% - \def\@tempa{% - \namesname,\titlename,\issuedatetext,\duedatetext,\supervisorname% - }% - \tud@ifin@and{\@supervisor}{\appto\@tempa{,\supervisorothername}}{}% - \@tempb{referee}% - \tud@ifin@and{\@referee}{\appto\@tempa{,\refereeothername}}{}% - \@tempb{matriculationnumber}% - \@tempb{matriculationyear}% - \@tempb{course}% - \@tempb{discipline}% - \@for\@tempb:=\@tempa\do{% - \settowidth\@tempdima{\@tempb\tud@title@delimiter}% - \ifdim\@tempdima>\tud@len@authortable\relax% - \setlength\tud@len@authortable{\@tempdima}% - \fi% - }% - \global\tud@len@authortable=\tud@len@authortable% - \begingroup% - \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% - \begin{tabular}{@{}p{\tud@len@authortable}}% - \ifx\@course\@empty\else% - \coursename\tud@title@delimiter\tabularnewline% - \fi% - \ifx\@discipline\@empty\else% - \disciplinename\tud@title@delimiter\tabularnewline% - \fi% - \namesname\tud@title@delimiter\tabularnewline% - \ifx\@matriculationnumber\@empty\else% - \matriculationnumbername\tud@title@delimiter\tabularnewline% - \fi% - \ifx\@matriculationyear\@empty\else% - \matriculationyearname\tud@title@delimiter\tabularnewline% - \fi% - \end{tabular}% - \renewcommand*\tud@split@author@do[2]{% - \tud@multiple@fields@store{@author}{##1}% - \tud@multiple@fields@preset{@author}{\null}{##1}% - \begin{tabular}{l@{}}% - \ifx\@course\@empty\else\@course\tabularnewline\fi% - \ifx\@discipline\@empty\else\@discipline\tabularnewline\fi% - \textsf{\textbf{\ignorespaces##1}}\tabularnewline% - \ifx\@matriculationnumber\@empty\else% - \@matriculationnumber\tabularnewline% - \fi% - \ifx\@matriculationyear\@empty\else% - \@matriculationyear\tabularnewline% - \fi% - \end{tabular}% - \tud@multiple@fields@restore{@author}% - \tud@multiple@@@split{##2}{\enskip\hspace{\tabcolsep}}% - }% - \tud@multiple@split{@author}% - \vskip\smallskipamount% - \begin{tabular}{@{}p{\tud@len@authortable}% - p{\dimexpr\textwidth-\tud@len@authortable-2\tabcolsep\relax}@{}}% - \titlename\tud@title@delimiter & \tud@RaggedRight\textsf{\textbf{\@@title}}% - \end{tabular}% - \par% - \endgroup% - \ifdim\parskip>\z@\else\vskip\topsep\fi% - \endgroup% - \noindent\ignorespaces% -} \newenvironment{notice}[1][]{% \cleardoubleoddpage% \def\@headline{\noticename}% diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty index 6ef4e522a3a..406ddd406a8 100644 --- a/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrtutorial.sty @@ -10,39 +10,32 @@ %% tudscr-manual.dtx (with options: `package,tutorial,option') %% tudscr-misc.dtx (with options: `package,tutorial,execute') %% tudscr-manual.dtx (with options: `package,tutorial,body') -%% tudscr-misc.dtx (with options: `package,tutorial,xindy') +%% tudscr-texindy.dtx (with options: `package,tutorial') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-version.dtx \begingroup \catcode`\@11\relax - \ifx\TUD@Version\undefined + \ifx\TUD@Version\@undefined \newcommand*\TUD@Version@Check[1]{% \gdef\TUD@Version{#1}% \gdef\TUDScriptVersion{#1}% @@ -64,11 +57,11 @@ \fi% } \fi - \TUD@Version@Check{2016/10/12 v2.05f TUD-Script} + \TUD@Version@Check{2017/01/26 v2.05g TUD-Script} \endgroup \NeedsTeXFormat{LaTeX2e} \providecommand*\tudscrmail{tudscr@gmail.com} -\@ifundefined{TUD@Class@Name}{% +\ifx\TUD@Class@Name\@undefined \PackageError{% tudscrtutorial% }{Unsupported class found}{% @@ -76,7 +69,7 @@ tudscr bundle (tudscrbook, tudscrreprt, tudscrartcl, tudscrposter).% }% \endinput -}{} +\fi \@ifundefined{TUDScript}{% \DeclareRobustCommand\TUDScript{% \ifdin{TUD-SCRIPT}{% @@ -86,8 +79,9 @@ }{} %%% From File: tudscr-manual.dtx \ProvidesPackage{tudscrtutorial}[% - 2016/10/12 v2.05f TUD-Script - package (internal tutorials)% + 2017/01/26 v2.05g TUD-Script + package + (internal tutorials)% ] %%% From File: tudscr-base.dtx \RequirePackage{tudscrbase}[\TUD@Version] @@ -180,12 +174,7 @@ \renewcommand*\tud@english[1]{\foreignlanguage{english}{#1}}% }{}% } -\RequirePackage{ifluatex}[2016/05/16] -\ifluatex - \RequirePackage{pdftexcmds}[2016/05/21] - \let\pdfstrcmp\pdf@strcmp - \let\pdfshellescape\pdf@shellescape -\fi +\RequirePackage{pdftexcmds}[2016/05/21] \newcommand*\tud@templist{} \let\tud@templist\relax \newcommand*\tud@list@sort[1]{% @@ -214,7 +203,7 @@ \if@tud@list@sorted% \expandafter\edef\expandafter\@tempb\expandafter{\@tempb,\@tempa}% \else% - \expandafter\ifnum\pdfstrcmp{#1}{\@tempa}<\z@\relax% + \expandafter\ifnum\pdf@strcmp{#1}{\@tempa}<\z@\relax% \ifx\@tempb\@empty% \expandafter\edef\expandafter\@tempb\expandafter{% #1,\@tempa% @@ -251,7 +240,6 @@ \renewcaptionname{ngerman}{\sectionautorefname}{Unterkapitel}% \renewcaptionname{ngerman}{\subsectionautorefname}{Abschnitt}% \renewcaptionname{ngerman}{\subsubsectionautorefname}{Unterabschnitt}% - \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}}% \newcommand*\tud@manualname{tudscr}% \newcommand*\tudhyperref[2]{% \hyperref{../\tud@manualname.pdf}{\tud@manualname}{#1}{#2}% @@ -282,19 +270,20 @@ Nevertheless, essential commands are rudimentarily\MessageBreak% defined. At least the package `url' is loaded.% }% - \RequirePackage{url}[2013/09/16]% \providecommand*\hypersetup[1]{}% + \providecommand*\href[3][]{#3}% + \providecommand*\phantomsection{}% + \providecommand*\texorpdfstring[2]{#1}% + \RequirePackage{url}[2013/09/16]% + \providecommand*\nolinkurl[1]{\url{#1}}% + \providecommand*\hyperpage[1]{#1}% + \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% \providecommand*\hyperdef[3]{\label{#1.#2}#3}% \providerobustcmd*\hyperref{% \kernel@ifnextchar[{\tud@hyperref@a}{\tud@hyperref@b}% } \newcommand*\tud@hyperref@a[2][]{#2} \newcommand*\tud@hyperref@b[4]{#4} - \providecommand*\href[3][]{#3}% - \providecommand*\hyperpage[1]{#1}% - \providecommand*\autoref{??\xspace\kernel@ifstar{\ref}{\ref}}% - \providecommand*\phantomsection{}% - \providecommand*\texorpdfstring[2]{#1}% \tud@locale@german{\partautorefname}{Teil}% \tud@locale@german{\chapterautorefname}{Kapitel}% \tud@locale@german{\sectionautorefname}{Unterkapitel}% @@ -305,27 +294,27 @@ \tud@locale@english{\sectionautorefname}{section}% \tud@locale@english{\subsectionautorefname}{subsection}% \tud@locale@english{\subsubsectionautorefname}{subsubsection}% - \providecommand*\Email[1]{\mbox{#1}}% \providecommand*\tudhyperref[2]{#2}% \providecommand*\autorefname[1][]{??\xspace}% } -\RequirePackage{varioref}[2011/10/02] -\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} \newcommand*\hrfn[2]{% \href{#1}{\trim@spaces{#2}}% \footnote{% - \scalebox{0.95}{% + \begingroup% \def\_{_}% \edef\@tempa{#1}% \strut\expandafter\url\expandafter{\@tempa}% - }% + \endgroup% }% } +\newrobustcmd*\mailto[1]{\href{mailto:#1}{\nolinkurl{#1}}}% \AfterPackage*{hyperref}{% \patchcmd{\pdfstringdef}{\csname HyPsd@babel@}{% \let\bbl@info\@gobble\csname HyPsd@babel@% }{}{\tud@patch@wrn{pdfstringdef}}% } +\RequirePackage{varioref}[2011/10/02] +\renewcommand*\fullref[1]{\hyperref[#1]{\autoref*{#1} \vpageref{#1}}} \AfterPackage*{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} \TUD@UnwindPackage{hyperref}{\RequirePackage[babel]{microtype}[2013/05/23]} \newrobustcmd*\bsc{\@backslashchar} @@ -555,7 +544,6 @@ \let\POParameter\@firstofone% \let\textOR\relax% \let\hologoRobust\@firstofone% - \def\TUDScript{TUD-Script}% \def\_{-}% \protected\def~{~}% }% @@ -787,19 +775,6 @@ \fi% }{}{\tud@patch@wrn{theindex}}% \fi% -\newrobustcmd*\cleversee{\tud@cleversee{\seename}} -\newrobustcmd*\cleverseealso{% - \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}% - \tud@cleversee{\alsoname}% -} -\newcommand*\tud@cleversee{} -\def\tud@cleversee#1#2#3\relax{% - \IfArgIsEmpty{#3}{% - \emph{#1}\space#2% - }{% - #3, \emph{\alsoname}\space#2% - }% -} \NewDocumentCommand\makexdyindex{somo}{% \let\@tempb\@empty% \protected@edef\@tempa{% @@ -901,6 +876,19 @@ }% \tud@reserved% } +\newrobustcmd*\cleversee{\tud@cleversee{\seename}} +\newrobustcmd*\cleverseealso{% + \ClassWarning{tudscrmanual}{You should use `|see' instead of `|seealso'}% + \tud@cleversee{\alsoname}% +} +\newcommand*\tud@cleversee{} +\def\tud@cleversee#1#2#3\relax{% + \IfArgIsEmpty{#3}{% + \emph{#1}\space#2% + }{% + #3, \emph{\alsoname}\space#2% + }% +} \NewDocumentCommand\Process@Index{mmd==od()d||}{% \ifboolexpr{% bool {@tud@index}% @@ -988,7 +976,7 @@ \edef\tud@tut@temp{\@currname-temp} \newcommand*\tud@tut@readtostream[2]{% \begingroup% - \endlinechar=-1\relax% + \endlinechar=\m@ne\relax% \openin\tud@read=#1% \@tempswafalse% \loop\unless\ifeof\tud@read% @@ -1018,17 +1006,21 @@ }% } \TUDoptions{headingsvskip=-10ex} -\newcommand\StartTutorial[1][% - Bevor das eigentliche Tutorial beginnt, werden sowohl eine Dokumentklasse - als auch die f\"ur jedes \hologo{pdfLaTeX}-Dokument meiner Meinung nach - sinnvollen Pakete geladen.% -]{% - \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}% - \faculty{}% - \maketitle\noindent#1% +\newcommand\StartTutorial[1][]{% \immediate\openout\tud@write@a=\tud@tut@temp-preamble.tex\relax% \immediate\openout\tud@write@b=\tud@tut@temp-trunk.tex\relax% - \immediate\write\tud@write@b{^^J\string\begin{document}^^J} + \immediate\write\tud@write@b{^^J\string\begin{document}^^J}% + \Hy@raisedlink{\hyperdef{\jobname}{tutorials:\jobname}{}}% + \faculty{}% + \maketitle% + \ifblank{#1}{}{% + \noindent% + \begin{abstract}% + \noindent#1% + \end{abstract}% + \medskip% + }% + \noindent\ignorespaces% } \newcommand\FinishTutorial[1][]{% \immediate\write\tud@write@b{^^J\string\end{document}^^J} @@ -1055,7 +1047,7 @@ \lstinputlisting[style=tudscr]{\jobname-example.tex}% \end{quoting}% % - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \ifwindows% \def\@tempa{del}% \else% @@ -1066,7 +1058,11 @@ } \newcommand\Code@Preamble{} \let\Code@Preamble\relax -\newcommand\CodePreamble[1]{\long\gdef\Code@Preamble{#1}} +\newcommand\CodePreamble[1]{% + \long\gdef\Code@Preamble{% + \hskip.5\leftmargin\textit{Die resultierende Ausgabe:}\space#1% + }% +} \newcommand*\Code@Hook{} \let\Code@Hook\relax \newcommand*\CodeHook[1]{\gdef\Code@Hook{#1}} @@ -1238,7 +1234,7 @@ \DeactivateWarningFilters[Tutorial]% \fi \newcommand*\tud@tut@pdf{% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{\jobname-standalone-\StandaloneFile.pdf}{\jobname.tex}{}{% \begingroup% \let\printdate\@firstofone% @@ -1298,7 +1294,7 @@ }% } \AfterPackage*{pstricks}{% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \filemodCmp{\jobname-pics.pdf}{\jobname.tex}{% \PassOptionsToPackage{off}{auto-pst-pdf}% }{}% @@ -1306,7 +1302,7 @@ \PassOptionsToPackage{off}{auto-pst-pdf}% \fi% \RequirePackage{auto-pst-pdf}[2009/04/26]% - \ifnum\pdfshellescape=\@ne\relax% + \ifnum\pdf@shellescape=\@ne\relax% \edef\@tempa{\app@exe{\app@rm "*\app@suffix*"}}% \@tempa% \fi% @@ -1396,15 +1392,43 @@ \NewDocumentCommand\ToDo{somo}{}% \newcommand*\ListOfToDo{}% } +\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} +\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]} \RequirePackage{textcomp}[2005/09/27] \RequirePackage{setspace}[2011/12/19] \setstretch{1.1} -\AfterPackage*{inputenc}{\RequirePackage{csquotes}[2011/10/22]} -\TUD@UnwindPackage{inputenc}{\RequirePackage{csquotes}[2011/10/22]} \PassOptionsToPackage{vskip=\smallskipamount}{quoting} \RequirePackage{quoting}[2014/01/28] \RequirePackage{isodate}[2010/01/03] \RequirePackage{hologo}[2012/04/26] +\newcommand*\tud@replace[3]{% + \begingroup% + \toks@{\def\@tempa##1}% + \eaddto@hook\toks@{\detokenize{#2}}% + \addto@hook\toks@{##2\@nil{\@tempb{##1}{##2}}}% + \the\toks@% + \def\@tempb##1##2{% + \IfArgIsEmpty{##2}{% + \appto#1{##1}% + \let\@tempc\relax% + }{% + \appto#1{##1#3}% + \def\@tempc{\@tempa##2\@nil}% + }% + \@tempc% + }% + \toks@{\@tempa}% + \edef\@tempc{\expandafter\detokenize\expandafter{#1}}% + \eaddto@hook\toks@{\@tempc}% + \eaddto@hook\toks@{\detokenize{#2}\@nil}% + \def#1{}% + \the\toks@% + \edef\tud@reserved{% + \noexpand\endgroup% + \def\noexpand#1{#1}% + }% + \tud@reserved% +} \newcommand*\Attention[2][\z@]{% \marginnote{% \setlength\fboxsep{0.25em} @@ -1447,6 +1471,13 @@ D\kern.05em E\kern.05em N\kern.1em-\kern.1em concept% }\xspace% } +\AfterPackage*{hyperref}{% + \pdfstringdefDisableCommands{% + \def\DDC{DRESDEN-concept}% + \def\TUDScript{TUD-Script}% + \def\KOMAScript{KOMA-Script}% + }% +} \newcommand*\Univers{\texorpdfstring{\textubn{Univers}}{Univers}\xspace} \newcommand*\DIN{\texorpdfstring{\textdbn{DIN~BOLD}}{DIN BOLD}\xspace} \newcommand*\textsbn{} @@ -1455,7 +1486,7 @@ \newcommand*\textsbs{} \newrobustcmd*\sbsfont{\sffamily\bfseries\slshape} \DeclareTextFontCommand\textsbs{\sbsfont} -%%% From File: tudscr-misc.dtx +%%% From File: tudscr-texindy.dtx \begingroup \newcommand*\tud@write@xdy{} \newwrite\tud@write@xdy @@ -1468,20 +1499,21 @@ \write\tud@write@xdy{% (define-location-class^^J% \space\space"arabic-page-numbers" ("arabic-numbers")% - \space:min-range-length 1^^J% + \space:min-range-length 2^^J% )^^J% (markup-range :sep "--")% }% \write\tud@write@xdy{% + (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% + }% + \write\tud@write@xdy{% (markup-locclass-list% \space:open "\string\,\string\dotfill\string\,"% \space:close "\string\relax"% + \space:sep ",\space"% )% }% \write\tud@write@xdy{% - (merge-rule "\@backslashchar[(.*)\@backslashchar]" "" :eregexp)% - }% - \write\tud@write@xdy{% (define-attributes (("declare" "!" "important" "?" "default")))^^J% (markup-locref% \space:attr "declare"\space\space% diff --git a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty index b7ba818f9c9..98224f3e4cd 100644 --- a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty +++ b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty @@ -6,37 +6,30 @@ %% %% tudscr-twocolfix.dtx (with options: `package') %% -%% ============================================================================ +%% TUD-Script -- Corporate Design of Technische Universitaet Dresden %% -%% TUD-Script -%% Copyright (c) Falk Hanisch <tudscr@gmail.com>, 2012-2016 +%% 2017/01/26 v2.05g TUD-Script %% -%% ============================================================================ -%% -%% 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. +%% Copyright (C) Falk Hanisch <tudscr@gmail.com>, 2012-2017 %% +%% This file was generated from file(s) of the TUD-Script bundle. %% ---------------------------------------------------------------------------- %% -%% 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 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. %% %%% From File: tudscr-twocolfix.dtx \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{twocolfix}[% - 2016/10/12 v2.05f TUD-Script + 2017/01/26 v2.05g TUD-Script package (twocolumn layout bugfix)% ] @@ -136,13 +129,13 @@ \@floatplacement \fi } -\@ifundefined{scr@topnewpage}{% +\ifx\scr@topnewpage\@undefined \@check@eq\@topnewpage\@tempb% \let\@topnewpage\@tempa% -}{% +\else \@check@eq\scr@topnewpage\@tempb% \let\scr@topnewpage\@tempa% -} +\fi \endinput %% %% End of file `twocolfix.sty'. |