% \CheckSum{334} % \iffalse meta-comment % % TUD-Script -- Corporate Design of Technische Universität Dresden % ---------------------------------------------------------------------------- % % Copyright (C) Falk Hanisch , 2012-2021 % % ---------------------------------------------------------------------------- % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, either version 1.3c of this license or % any later version. The latest version of this license is in % http://www.latex-project.org/lppl.txt % and version 1.3c or later is part of all distributions of % LaTeX version 2008-05-04 or later. % % This work has the LPPL maintenance status "maintained". % % The current maintainer and author of this work is 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-misc.dtx %<*dtx> % \fi % \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-misc.dtx}[2021/07/06 v2.06m TUD-Script\space% (miscellaneous)% ] % % \iffalse \documentclass[english,ngerman,xindy]{tudscrdoc} \iftutex \usepackage{fontspec} \else \usepackage[T1]{fontenc} \usepackage[ngerman=ngerman-x-latest]{hyphsubst} \fi \usepackage{babel} \usepackage{tudscrfonts} \KOMAoptions{parskip=half-} \usepackage{bookmark} \usepackage[babel]{microtype} \CodelineIndex \RecordChanges \GetFileInfo{tudscr-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} % % \fi % % \selectlanguage{ngerman} % % \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 % % \section{Verschiedenes für das \TUDScript-Bundle} % % Alles, wofür sich eine separate Datei nicht lohnt, landet hier. % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % % \iffalse %<*class&option> % \fi % % \subsection{Sprungmarken} % % \begin{option}{tudbookmarks} % \begin{macro}{\if@tud@bookmarks} % Wird das Paket \pkg{hyperref} geladen, so kann die Option \opt{tudbookmarks} % genutzt werden, um zu steuern, ob für Titel und Inhaltsverzeichnis % automatisch ein Eintrag für die Sprungmarken erzeugt werden soll. % \begin{macrocode} \newif\if@tud@bookmarks \TUD@key{tudbookmarks}[true]{% \TUD@set@ifkey{tudbookmarks}{@tud@bookmarks}{#1}% } % \end{macrocode} % \end{macro}^^A \if@tud@bookmarks % \end{option}^^A tudbookmarks % % \iffalse % %<*class&body> % \fi % % \begin{macro}{\tudbookmark} % \begin{macro}{\tud@x@hyperref@realfootnotes} % 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 % Zustand zurückgesetzt. % \begin{macrocode} \newcommand*\tudbookmark[1][]{\@gobbletwo} \newcommand*\tud@x@hyperref@realfootnotes{} \AfterPackage{hyperref}{% \renewcommand*\tudbookmark[3][]{% \relax% \if@tud@bookmarks% \phantomsection% \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}% \fi% }% \renewcommand*\tud@x@hyperref@realfootnotes{% \let\Hy@saved@footnotemark\@footnotemark% \let\Hy@saved@footnotetext\@footnotetext% \let\@footnotemark\H@@footnotemark% \let\@footnotetext\H@@footnotetext% }% \pdfstringdefDisableCommands{\let\NoCaseChange\@firstofone}% } % \end{macrocode} % \end{macro}^^A \tud@x@hyperref@realfootnotes % \end{macro}^^A \tudbookmark % \begin{macro}{\tud@x@bookmark@startatroot} % \changes{v2.05}{2015/08/05}{neu}^^A % Wird das Paket \pkg{bookmark} geladen, können die erzeugten Outlines gezielt % auf der obersten Ebene erzeugt werden. % \begin{macrocode} \newcommand*\tud@x@bookmark@startatroot{\relax} \AfterPackage{bookmark}{% \renewcommand*\tud@x@bookmark@startatroot{% \if@tud@bookmarks\bookmarksetup{startatroot}\fi% }% } % \end{macrocode} % \end{macro}^^A \tud@x@bookmark@startatroot % \begin{environment}{titlepage} % \changes{v2.05}{2015/08/05}{neu}^^A % \begin{macro}{\@maketitle} % \changes{v2.05}{2015/08/05}{neu}^^A % \begin{macro}{\tud@maketitle@inpage} % \changes{v2.05}{2015/08/05}{neu}^^A % Ist die Option \opt{tudbookmarks} aktiviert, werden für Umschlag- und % Titelseite PDF"=Lesezeichen bzw. Outline-Einträge erzeugt. % \begin{macrocode} %<*book|report|article> \apptocmd{\titlepage}{% \tud@x@bookmark@startatroot% \@tud@res@swafalse% \if@tud@coverpage\@tud@res@swatrue\fi% \if@titlepageiscoverpage\@tud@res@swatrue\fi% \if@tud@res@swa% \tudbookmark[% % 0% %
1% ]{\coverpagename}{cover}% \else% \tudbookmark[% % 0% %
1% ]{\titlepagename}{title}% \fi% }{}{\tud@patch@wrn{titlepage}} % % \end{macrocode} % Dies geschieht außerdem auch für die Titelköpfe. % \begin{macrocode} \pretocmd{\tud@maketitle@inpage}{% \tud@x@bookmark@startatroot% \tudbookmark[% % 0% % 1% ]{\titlename}{title}% }{}{\tud@patch@wrn{tud@maketitle@inpage}} \pretocmd{\@maketitle}{% \tud@x@bookmark@startatroot% \tudbookmark[% % 0% % 1% ]{\titlename}{title}% }{}{\tud@patch@wrn{@maketitle}} % \end{macrocode} % \end{macro}^^A \tud@maketitle@inpage % \end{macro}^^A \@maketitle % \end{environment}^^A titlepage % \begin{macro}{\tableofcontents} % \begin{macro}{\listoffigures} % \begin{macro}{\listoftables} % Für die Verzeichnisse geschieht dies auch. Für das Inhaltsverzeichnis ist % hierfür etwas mehr Aufwand notwendig. Für dieses wird im Normalfall keine % PDF-Outline erzeugt. Deshalb ist hier ein wenig Trickserei notwendig, um zwar % einen Outline-Eintrag für das Inhaltsverzeichnis zu erzeugen, dieses dabei % aber nicht in sich selbst einzutragen. % \begin{macrocode} \BeforeTOCHead[toc]{% \tud@x@bookmark@startatroot% \let\@tempc\relax% \Iftocfeature{toc}{totoc}{}{% \if@tud@bookmarks% \setuptoc{toc}{totoc}% \tud@cs@store{addtocontents}% \def\@tempc{% \unsettoc{toc}{totoc}% \tud@cs@restore{addtocontents}% }% \let\addtocontents\@gobbletwo% \fi% }% } \AfterTOCHead[toc]{\@tempc} \BeforeTOCHead[lof]{\tud@x@bookmark@startatroot} \BeforeTOCHead[lot]{\tud@x@bookmark@startatroot} % \end{macrocode} % \end{macro}^^A \listoftables % \end{macro}^^A \listoffigures % \end{macro}^^A \tableofcontents % % \iffalse % %<*class&option> % \fi % % \subsection{Fußnoten in Überschriften} % % Eigentlich sollte die Option \opt{footnotes}|=|\val{symbolheadings} es % ermöglichen, Fußnoten mit Symbolen in Überschriften zu verwenden. Umgesetzt % werden sollte dies mit dem Paket \pkg{footmisc}. Da dieses aber mit % Inkompatibilitäten zu \pkg{hyperref} und \KOMAScript{} aufwartet, wird darauf % leider verzichtet. %^^A% \begin{option}{footnotes} %^^A% \changes{v2.02}{2014/06/27}{neu}^^A %^^A% \begin{macro}{\if@tud@symbolheadings} %^^A% \changes{v2.02}{2014/06/27}{neu}^^A %^^A% \begin{macro}{\tud@sec@note} %^^A% \changes{v2.02}{2014/06/27}{neu}^^A %^^A% \begin{counter}{symbolheadings} %^^A% \changes{v2.02}{2014/06/27}{neu}^^A %^^A% Die \KOMAScript-Option \opt{footnotes} wird um den Schlüssel %^^A% \val{symbolheadings} erweitert, mit welchem eingestellt werden kann, ob %^^A% in den Überschriften Symbole für die Fußnoten anstelle von Zahlen %^^A% verwendet werden sollen. %^^A% \begin{macrocode} %^^A\newif\if@tud@symbolheadings %^^A\TUD@key{footnotes}{% %^^A \TUD@set@numkey{footnotes}{@tempa}{% %^^A {nosymbolheadings}{0},{numberheadings}{0},% %^^A {symbolheadings}{1}% %^^A }{#1}% %^^A \ifx\FamilyKeyState\FamilyKeyStateProcessed% %^^A \ifcase\@tempa\relax% nosymbolheadings %^^A \@tud@symbolheadingsfalse% %^^A \or% symbolheadings %^^A \@tud@symbolheadingstrue% %^^A \fi% %^^A \fi% %^^A} %^^A% \end{macrocode} %^^A% Mit \cs{tud@sec@note} wird die Option \opt{footnotes=symbolheadings} %^^A% umgesetzt. Hierfür wird das Paket \pkg{footmisc} benötigt. %^^A% \begin{macrocode} %^^A\newcommand*\tud@sec@note[1]{% %^^A \ClassWarning{\TUD@Class@Name}{% %^^A You have to load package `footmisc' with\MessageBreak% %^^A option `stable' in order to use\MessageBreak% %^^A footnotes with symbols in headings% %^^A }% %^^A} %^^A\AfterPackage{footmisc}{% %^^A \@ifpackagewith{footmisc}{stable}{% %^^A \renewcommand*\tud@sec@note[1]{% %^^A \begingroup% %^^A \if@tud@symbolheadings% %^^A \let\c@footnote\c@symbolheadings% %^^A \def\thefootnote{\fnsymbol{symbolheadings}}% %^^A \fi% %^^A \footnote{#1}% %^^A \endgroup% %^^A }% %^^A }{}% %^^A} %^^A% \end{macrocode} %^^A% Bei aktivierter Option \opt{footnotes}|=|\val{symbolheadings} wird %^^A% dieser Zähler für die Symboleauswahl von Fußnoten in Überschirften %^^A% inkrementiert. %^^A% \begin{macrocode} %^^A\AtEndOfClass{% %^^A% \newcounter{symbolheadings}[chapter] %^^A% \newcounter{symbolheadings} %^^A} %^^A% \end{macrocode} %^^A% \end{counter}^^A symbolheadings %^^A% \end{macro}^^A \tud@sec@note %^^A% \end{macro}^^A \if@tud@symbolheadings %^^A% \end{option}^^A footnotes % % \subsection{Papierformat und Schriftgröße} % % Insbesondere für Poster aber auch für alle anderen \TUDScript-Klassen wird % überprüft, ob nach einer Änderung des Standardpapierformates auch die % Schriftgröße durch den Anwender angepasst wurde. Diese wird jedoch nicht auf % Plausibilität geprüft, da der Aufwand hierfür relativ hoch wäre. Vielmehr % wird davon ausgegangen, dass die explizite Angabe der Schriftgröße bewusst % und dem Papierformat sowie den verwendeten Textspalten entsprechend erfolgt. % % \begin{macro}{\tud@x@scr@checkoptions} % \changes{v2.06}{2018/07/31}{neu}^^A % \begin{macro}{\tud@x@scr@pt} % \changes{v2.06}{2018/07/31}{neu}^^A % Das Makro \cs{tud@x@scr@checkoptions} wird mit \cs{DeclareOption*} für alle % Optionen aufgerufen, welche kein Mitglied der Familie~\val{TUD} sind. Damit % kann auf nicht definierte Schlüssel reagiert werden. Anschließend werden diese % an die zugrundeliegende \KOMAScript-Klasse weitergereicht. % \begin{macrocode} \newcommand*\tud@x@scr@checkoptions{% \expandafter\tud@x@scr@pt\CurrentOption pt\@nil% \expandafter\PassOptionsToClass\expandafter{\CurrentOption}{\TUD@Class@KOMA}% } % \end{macrocode} % Wird die Schriftgröße im veralteten Format \val{\dots pt} übergeben, so wird % der Schalter \cs{if@tud@x@scr@fontsize@set} auf \val{true} gesetzt. % \begin{macrocode} \newcommand*\tud@x@scr@pt{} \def\tud@x@scr@pt #1pt#2\@nil{% \ifstr{#2}{pt}{\ifnumber{#1}{\@tud@x@scr@fontsize@settrue}{}}{}% } % \end{macrocode} % \end{macro}^^A \tud@x@scr@pt % \end{macro}^^A \tud@x@scr@checkoptions % % \iffalse % %<*class&body> % \fi % % Wurde das Papierformat jedoch nicht die Schriftgröße geändert, wird eine % Warnung erzeugt. % \begin{macrocode} \AtBeginDocument{% \if@tud@x@scr@fontsize@set\else% \@tud@res@swafalse% \ifdim\tud@len@layoutwidth<208mm\relax\@tud@res@swatrue\fi% \ifdim\tud@len@layoutwidth>212mm\relax\@tud@res@swatrue\fi% \ifdim\tud@len@layoutheight<295mm\relax\@tud@res@swatrue\fi% \ifdim\tud@len@layoutheight>299mm\relax\@tud@res@swatrue\fi% \if@tud@res@swa% \ClassWarningNoLine{\TUD@Class@Name}{% You've set a layout size, which is different from\MessageBreak% default (paper=a4, paper=portrait). Therefore you\MessageBreak% should explicitly specify an font size. See the\MessageBreak% manual for further information% }% \fi% \fi% } % \end{macrocode} % % \iffalse % %<*class&!inherit|package&fonts> %<*option> % \fi % % \subsection{Sukkzessives Abarbeiten von Optionen im Dokument} % % Werden mit \cs{TUDoptions} nach \cs{begin\{document\}} mehrere Layoutoptionen % gleichzeitig angegeben, muss dafür Sorge getragen werden, dass diese in der % korrekten Reihenfolge abgearbeitet werden. % % Das Makro \cs{TUD@SpecialOptionAtDocument} kann innerhalb von \cs{TUD@key} % verwendet werden, um einen im obligatorischen Argument angegebenen Schalter % zu aktivieren. Dabei wird über \cs{tud@atdocument@hook} garantiert, dass der % 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. % % \begin{macro}{\TUD@SpecialOptionAtDocument} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macro}{\tud@atdocument@hook} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macrocode} \newcommand*\tud@atdocument@hook{} \let\tud@atdocument@hook\relax \newcommand*\TUD@SpecialOptionAtDocument[1]{} \AfterEndPreamble{% \renewcommand*\TUD@SpecialOptionAtDocument[1]{% \ifx\tud@atdocument@hook\relax% \gdef\tud@atdocument@hook{\global\let\tud@atdocument@hook\relax}% \AtEndOfFamilyOptions*{% \tud@atdocument@hook% \tud@atdocument@process% }% \fi% \gappto\tud@atdocument@hook{\global\booltrue{@#1}}% }% } % \end{macrocode} % \end{macro}^^A \tud@atdocument@hook % \end{macro}^^A \TUD@SpecialOptionAtDocument % % \iffalse % %<*body> % \fi % % \begin{macro}{\tud@atdocument@process} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macro}{\if@tud@font@set} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macro}{\if@tud@math@set} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macro}{\if@tud@font@skip@set} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macro}{\if@tud@x@scr@headings@reset} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macro}{\if@tud@cd@process} % \changes{v2.05}{2016/06/14}{neu}^^A % \begin{macro}{\if@tud@cdgeometry@process} % \changes{v2.05}{2016/06/14}{neu}^^A % Das Makro \cs{tud@atdocument@process} wird im Dokument ausgeführt, wenn % mindestens eine Option gesetzt wurde, welche \cs{TUD@SpecialOptionAtDocument} % verwendet. Je nachdem, welche Schalter insgesamt aktiviert wurden, werden die % dazugehörigen Befehle für die Einstellungen von Schriften, Layout und/oder % Satzspiegel in der richtigen Reihenfolge ausgeführt. % \begin{macrocode} \newif\if@tud@font@set \newif\if@tud@math@set \newif\if@tud@font@skip@set %<*class> \newif\if@tud@x@scr@headings@reset \newif\if@tud@cd@process \newif\if@tud@cdgeometry@process % \newcommand*\tud@atdocument@process{% \if@tud@font@set% \tud@font@set% \global\@tud@font@setfalse% \global\@tud@font@skip@setfalse% % \global\@tud@cd@processfalse% \fi% \if@tud@font@skip@set% \tud@font@skip@set% \global\@tud@font@skip@setfalse% \fi% \if@tud@math@set% \tud@math@set% \global\@tud@math@setfalse% \fi% %<*class> \if@tud@x@scr@headings@reset% \tud@x@scr@headings@reset% \global\@tud@x@scr@headings@resetfalse% \global\@tud@cd@processfalse% \fi% \if@tud@cd@process% \tud@cd@process% \global\@tud@cd@processfalse% \fi% \if@tud@cdgeometry@process% \tud@cdgeometry@process% \global\@tud@cdgeometry@processfalse% \fi% % } % \end{macrocode} % \end{macro}^^A \if@tud@cdgeometry@process % \end{macro}^^A \if@tud@cd@process % \end{macro}^^A \if@tud@x@scr@headings@reset % \end{macro}^^A \if@tud@font@skip@set % \end{macro}^^A \if@tud@math@set % \end{macro}^^A \if@tud@font@set % \end{macro}^^A \tud@atdocument@process % % \iffalse % % %<*execute> %<*class&!inherit|package&fonts> % \fi % % \subsection{Versionsabhängige Voreinstellungen} % % Voreinstellungen von neu eingeführten Optionen, welche die resultierende % Ausgabe entscheidend verändern könnten, werden hier versionsabhängig gesetzt. % Hierfür wird der Schlüssel \opt{tudscrver} des Mitglieds \val{.comp} vor % allen anderen Schlüsseln ausgewertet. Danach kann mit \cs{tud@if@v@lower} auf % die gewählte Kompatibilitäsversion getestet werden. % \begin{macrocode} \DeclareOption*{} \FamilyProcessOptions[.comp]{TUD}\relax % \end{macrocode} % Ab der \TUDScript-Version~v2.05 werden einige vertikale Abstände abhängig von % der Schriftgröße definiert. Sollte eine frühere Kompatibilitätseinstellung % angegeben worden sein, wird dieses verhalten deaktiviert. % \begin{macrocode} \tud@if@v@lower{2.05}{% \TUD@key@preset{relspacing}{false}% }{% \TUD@key@preset{relspacing}{true}% } % \end{macrocode} % Ab \TUDScript-Version~v2.06 werden die verwendeten Schriften auf \OpenSans % gesetzt, für die Komptibilität zu vorherigen Versionen auf \Univers und \DIN. % \begin{macrocode} \tud@if@v@lower{2.06}{% % \TUD@key@preset{cdoldfont}{true}% % \TUD@key@preset{cdoldfont}{ultrabold}% \TUD@key@preset{ttfont}{lmodern}% % \TUD@key@preset{headings}{light}% }{% % \TUD@key@preset{cdfont}{true}% % \TUD@key@preset{cdfont}{ultrabold}% \TUD@key@preset{ttfont}{roboto}% % \TUD@key@preset{headings}{heavy}% } % \end{macrocode} % % \iffalse % % \fi % % \subsection{Durchreichen von Optionen und Standardoptionen} % % Durchreichen aller Klassenoptionen an die \KOMAScript-Klasse bzw. an die % genutzte \TUDScript-Elternklasse. Für Klassen wird vor dem Durchreichen noch % geprüft, ob ein spezielles Papierformat angegeben wurde. % \begin{macrocode} %<*package> %<*fonts> \DeclareOption*{\expandafter\KOMAoptions\expandafter{\CurrentOption}} % %<*fixfonts> \DeclareOption*{% \expandafter\PassOptionsToPackage\expandafter{\CurrentOption}% {tudscrfonts}% } % %<*comp> \DeclareOption*{\expandafter\TUDoptions\expandafter{\CurrentOption}} % % %<*class> %<*!inherit> \DeclareOption*{\tud@x@scr@checkoptions} % %<*inherit> \DeclareOption*{% \expandafter\PassOptionsToClass\expandafter{\CurrentOption}% {\TUD@Class@Parent}% } % % % \end{macrocode} % Es werden die Standardoptionen ausgeführt. Für die Klasse \cls{tudscrposter} % werden die Farben aktiviert. % \begin{macrocode} %<*package&tutorial> \KOMAoptions{headings=small} \TUDoptions{cdfoot=true} % \TUDExecuteOptions{% %<*package> %<*fixfonts> headings=heavy% % %<*tutorial> ToDo=true% % % %<*class&!inherit> %<*book|report|article> cd=true,tudbookmarks=true% % %<*poster> cd=bicolor,tudbookmarks=false% % % } \TUDProcessOptions\relax % \end{macrocode} % Die korrespindierende \KOMAScript-Klasse bzw. \TUDScript-Elternklasse wird % geladen. % \begin{macrocode} %<*class&!inherit> \LoadClass{\TUD@Class@KOMA}[2020/09/21] % %<*class&inherit> %\PassOptionsToClass{ttfont=roboto}{\TUD@Class@Parent} \LoadClass{\TUD@Class@Parent} % % \end{macrocode} % % \iffalse %<*class&!inherit|package&fonts> % \fi % % \subsection{Optionen ohne späte Wahlmöglichkeit} % % Einige Optionen können nur zum Zeitpunkt des Ladens einer Klasse oder eines % Paketes respektive in der Präambel gesetzt werden. Diese müssen \emph{nach} % \cs{TUDProcessOptions} mit \cs{TUD@key@toolate} redefiniert werden. % % \begin{macro}{\TUD@key@toolate} % \changes{v2.06c}{2019/08/20}{neu}^^A % Dieser Befehl definiert eine Fehlermeldung für Schlüssel respektive Optionen, % die zu spät verwendet wurden, wobei er innerhalb der Makros \cs{AtEndOfClass}, % \cs{AtEndOfClass}, \cs{AtEndPreamble} etc. genutzt werden sollte. Wird dieser % noch im Kontext von Klasse oder Paket (\verb=\@currname.\@currext-h@@k=) % verwendet, wird gemeldet, dass der Schlüssel allein beim Laden der Klasse % respektive des Paketes genutzt werden darf. Andernfalls wird die zwingende % Verwendung in der Präambel angemerkt. % \begin{macrocode} \newcommand*\TUD@key@toolate[1]{% \csedef{tud@key@#1@error}{% %<*class> \noexpand\ClassError{\noexpand\TUD@Class@Name}% % %<*package&fonts> \noexpand\PackageError{tudscrfonts}% % {Option `#1' too late}{% Option `#1' can only be set\space% \ifcsname \@currname.\@currext-h@@k\endcsname% as optional \MessageBreak argument while loading\space% %<*class> class `\noexpand\TUD@Class@Name'% % %<*package&fonts> package `tudscrfonts'% % \else% in the preamble \fi% \MessageBreak but you have tried to set it up later.% }% }% \TUD@key{#1}[]% {% \csuse{tud@key@#1@error} \FamilyKeyStateProcessed% }% } % \end{macrocode} % \end{macro}^^A \TUD@key@toolate % % % \iffalse % % %<*body> % \fi % % \subsection{Anpassungen für das Paket \pkg{textcase}} % % \begin{macro}{\@uclcnotmath} % \begin{macro}{\tud@x@textcase@uclcnotmath} % \changes{v2.02}{2014/06/27}{\pkg{textcase}: Ignorieren von Fußnoten im % Argument des Befehls \cs{MakeTextUppercase}}^^A % \changes{v2.03}{2015/01/21}{\pkg{textcase}: Ignorieren des Befehls % \cs{@mkboth} im Argument des Befehls \cs{MakeTextUppercase}}^^A % Damit Fußnoten innerhalb von \cs{MakeTextUppercase} nicht in Majuskeln % gesetzt werden, wird der interne Befehl \cs{@uclcnotmath} aus dem Paket % \pkg{textcase} angepasst. % \begin{macrocode} \if@tud@cdoldfont@active \RequirePackage{textcase}[2004/10/07] \AfterPackage*{textcase}{% \robustify\NoCaseChange% \newcommand*\tud@x@textcase@uclcnotmath{% \@nonchangecase\hologo% \def\footnote##1##{\toks@{\noexpand\footnote##1}\@footnote}% \def\@footnote##1{\NoCaseChange{\the\toks@{##1}}}% \def\@mkboth##1##2{\NoCaseChange{\@mkboth{##1}{##2}}}% }% \patchcmd{\@uclcnotmath}{\@nonchangecase\ensuremath}{% \@nonchangecase\ensuremath\tud@x@textcase@uclcnotmath% }{}{\tud@patch@wrn{@uclcnotmath}}% }% \fi \TUD@deprecated@cs{NoCaseChange}{@firstofone} % \end{macrocode} % \end{macro}^^A \tud@x@textcase@uclcnotmath % \end{macro}^^A \@uclcnotmath % % \iffalse % % \fi % % \Finale % \endinput