% \CheckSum{1456} % \iffalse meta-comment % % TUD-Script -- Corporate Design of Technische Universität Dresden % ---------------------------------------------------------------------------- % % Copyright (C) Falk Hanisch , 2012-2020 % % ---------------------------------------------------------------------------- % % 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-comp.dtx %<*dtx> % \fi % \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-comp.dtx}[2020/07/27 v2.06i TUD-Script\space% % % \iffalse % %<*package&identify> %\ProvidesPackage{tudscrcomp}[% %\ProvidesPackage{tudscrcomp-book}[% %\ProvidesPackage{tudscrcomp-poster}[% %\ProvidesPackage{fix-tudscrfonts}[% %!TUD@Version % package % package for font fixes % %<*dtx|package&identify> % \fi (compatibility for old tud(scr) classes)% ] % \iffalse % %<*dtx> \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-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} % % \fi % % \selectlanguage{ngerman} % % \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 % % \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 % Kompatibilität zu früheren Versionen so weit es geht aufrecht zu erhalten und % veraltete Optionen und Befehle zumindest weiter bereitzustellen, wobei bei % der Verwendung dieser der Anwender darüber informiert wird. Die Vorkehrungen % betreffen sowohl die Klassen selber als auch die zusätzlich bereitgestellten % Pakete. % % \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % % \iffalse %<*class|package&fonts> %<*option> % \fi % % \begin{macro}{\TUD@deprecated@key} % \changes{v2.03}{2015/02/05}{neu}^^A % \begin{macro}{\TUD@deprecated@cs} % \changes{v2.03}{2015/02/05}{neu}^^A % \begin{macro}{\TUD@deprecated@@cs} % \changes{v2.06}{2018/08/07}{neu}^^A % \begin{macro}{\TUD@deprecated@lengthcs} % \changes{v2.05}{2016/06/20}{neu}^^A % Um alte Optionen und Befehle dem Anwender bei der Verwendung kenntlich zu % machen, werden entsprechende Warnungen definiert. Für Optionen wird dabei % lediglich die empfohlene Option ausgegeben. Das Ausführen dieser wird später % definiert. % \begin{macrocode} \newcommand*\TUD@deprecated@key[2]{% %<*class> \ClassWarning{\TUD@Class@Name}% % %<*package&fonts> \PackageWarning{tudscrfonts}% % {% The key `#1' is deprecated. It's\MessageBreak% recommended to use `#2'\MessageBreak% instead% }% \TUDoptions{#2}% } % \end{macrocode} % Bei alten Befehlen wird nach der Warnung die Definition des neuen Befehls auf % den alten überschrieben. % \begin{macrocode} \newcommand*\TUD@deprecated@cs[2]{% \begingroup% \edef\tud@res@a{% \endgroup% \noexpand\AfterEndPreamble{% \noexpand\TUD@deprecated@@cs{#1}{#2}% }% }% \tud@res@a% } \newcommand*\TUD@deprecated@@cs[2]{% \ifcsundef{#1}{% \begingroup% \def\tud@res@a{% The command `\@backslashchar#1' is deprecated. \MessageBreak% }% \def\tud@res@b##1@##2\@nil{% \IfArgIsEmpty{##2}{% \appto\tud@res@a{% You should use `\@backslashchar#2' instead% }% }{% \appto\tud@res@a{% You should not use this command. It is substituted\MessageBreak% with `\@backslashchar#2' internally% }% }% }% \tud@res@b#2@\@nil% \edef\tud@res@c{% \endgroup% \noexpand\newrobustcmd\csname #1\endcsname{% %<*class> \noexpand\ClassWarning{\noexpand\TUD@Class@Name}% % %<*package&fonts> \noexpand\PackageWarning{tudscrfonts}% % {\tud@res@a}% \noexpand\csletcs{#1}{#2}% \noexpand\csuse{#2}% }% }% \tud@res@c% }{}% } %<*class> \newcommand*\TUD@deprecated@lengthcs[2][]{% \ifdim\csuse{#2}<\maxdimen\relax% \ClassWarning{\TUD@Class@Name}{% Using the length `\@backslashchar#2' is deprecated. \MessageBreak% You should use option `#2' instead% }% \csxdef{tud@dim@#2}{\the\csuse{#2}}% \expandafter\setlength\csname #2\endcsname{\maxdimen}% \global\csuse{#2}=\csuse{#2}% #1% \fi% } % % \end{macrocode} % \end{macro}^^A \TUD@deprecated@lengthcs % \end{macro}^^A \TUD@deprecated@@cs % \end{macro}^^A \TUD@deprecated@cs % \end{macro}^^A \TUD@deprecated@key % % \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}|=|\val{\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} % \end{macrocode} % Damit dieser Schlüssel gezielt als erstes bei der Abarbeitung der Optionen % aufgerufen werden kann, wird diesem ein spezielles Mitglied zugeteilt. % \begin{macrocode} \TUD@key[.comp]{tudscrver}[last]{% \tud@v@get\@tempa{#1}% \ifcsundef{tud@v@\@tempa}{% %<*class> \ClassWarningNoLine{\TUD@Class@Name}% % %<*package&fonts> \PackageWarningNoLine{tudscrfonts}% % {% You have set option `tudscrver' to `\@tempa', but\MessageBreak% this value is not supported. Because of this,\MessageBreak% `tudscrver=first' was set% }% \renewcommand*\tud@v@comp{0}% }{% %<*class> \ClassInfoNoLine{\TUD@Class@Name}% % %<*package&fonts> \PackageInfoNoLine{tudscrfonts}% % {% Switching compatibility level to `v\@tempa'% }% \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% }% \FamilyKeyStateProcessed% } % \end{macrocode} % Da die Schlüssel global für \emph{jedes} Mitglied ausgewertet werden, muss % auch ein Schlüssel für das Standardmitglied definiert werden, der einfach % nichts macht. % \begin{macrocode} \TUD@key{tudscrver}{\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% % %<*package> \AtEndOfPackage% % {% \RelaxFamilyKey[.comp]{TUD}{tudscrver}% \TUD@key@toolate{tudscrver}% % \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% `version=3.12' KOMA-Script compatibility option.% }% \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, but \KOMAScriptVersion was found.% }% }% % } % \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@2.05h} % \changes{v2.05h}{2017/02/04}{neu}^^A % \begin{macro}{\tud@v@2.05i} % \changes{v2.05i}{2017/02/17}{neu}^^A % \begin{macro}{\tud@v@2.05k} % \changes{v2.05k}{2017/03/27}{neu}^^A % \begin{macro}{\tud@v@2.05l} % \changes{v2.05l}{2017/03/29}{neu}^^A % \begin{macro}{\tud@v@2.05m} % \changes{v2.05m}{2017/05/30}{neu}^^A % \begin{macro}{\tud@v@2.06} % \changes{v2.06}{2018/06/26}{neu}^^A % \begin{macro}{\tud@v@2.06a} % \changes{v2.06a}{2019/07/09}{neu}^^A % \begin{macro}{\tud@v@2.06b} % \changes{v2.06b}{2019/07/17}{neu}^^A % \begin{macro}{\tud@v@2.06c} % \changes{v2.06c}{2019/08/20}{neu}^^A % \begin{macro}{\tud@v@2.06d} % \changes{v2.06d}{2019/08/27}{neu}^^A % \begin{macro}{\tud@v@2.06e} % \changes{v2.06e}{2019/10/23}{neu}^^A % \begin{macro}{\tud@v@2.06f} % \changes{v2.06f}{2020/01/14}{neu}^^A % \begin{macro}{\tud@v@2.06g} % \changes{v2.06g}{2020/06/18}{neu}^^A % \begin{macro}{\tud@v@2.06h} % \changes{v2.06h}{2020/06/25}{neu}^^A % \begin{macro}{\tud@v@2.06h} % \changes{v2.06i}{2020/07/27}{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 % \changes{v2.06}{2018/06/26}{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.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@2.05h}{3} \csdef{tud@v@2.05i}{3} \csdef{tud@v@2.05k}{3} \csdef{tud@v@2.05l}{3} \csdef{tud@v@2.05m}{3} \csdef{tud@v@2.06}{4} \csdef{tud@v@2.06a}{4} \csdef{tud@v@2.06b}{4} \csdef{tud@v@2.06c}{4} \csdef{tud@v@2.06d}{4} \csdef{tud@v@2.06e}{4} \csdef{tud@v@2.06f}{4} \csdef{tud@v@2.06g}{4} \csdef{tud@v@2.06h}{4} \csdef{tud@v@2.06i}{4} \csdef{tud@v@last}{4} % \end{macrocode} % \end{macro}^^A \tud@v@last % \end{macro}^^A \tud@v@2.06i % \end{macro}^^A \tud@v@2.06h % \end{macro}^^A \tud@v@2.06g % \end{macro}^^A \tud@v@2.06f % \end{macro}^^A \tud@v@2.06e % \end{macro}^^A \tud@v@2.06d % \end{macro}^^A \tud@v@2.06c % \end{macro}^^A \tud@v@2.06b % \end{macro}^^A \tud@v@2.06a % \end{macro}^^A \tud@v@2.06 % \end{macro}^^A \tud@v@2.05m % \end{macro}^^A \tud@v@2.05l % \end{macro}^^A \tud@v@2.05k % \end{macro}^^A \tud@v@2.05i % \end{macro}^^A \tud@v@2.05h % \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*{\texttt{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{% %<*class> \ClassWarningNoLine{\TUD@Class@Name}% % %<*package&fonts> \PackageWarningNoLine{tudscrfonts}% % {% 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}{cdfonts} % \begin{option}{tudfonts} % Diese Optionen werden nur aus Gründen der Kompatibilität zu v1.0 definiert. % \begin{macrocode} \TUD@key{cdfonts}[true]{% \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \TUD@deprecated@key{cdfonts=#1}{cdfont=#1}% \fi% } \TUD@key{tudfonts}[true]{% \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \TUD@deprecated@key{tudfonts=#1}{cdfont=#1}% \fi% } % \end{macrocode} % \end{option}^^A tudfonts % \end{option}^^A cdfonts % \begin{option}{heavyfont} % Hiermit lässt sich die Schriftstärke im Dokument beeinflussen. % \begin{macrocode} \TUD@key{heavyfont}[true]{% \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{heavyfont}{cdfont=heavy}% \else% \TUD@deprecated@key{heavyfont=#1}{cdfont=true}% \fi% \fi% } % \end{macrocode} % \end{option}^^A heavyfont % \begin{option}{sansmath} % \begin{option}{serifmath} % Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz % für das gesamte Dokument umgestellt werden. Die \cls{tudbook}-Klasse hat % neben der Option \opt{sansmath} außerdem den zusätzlichen Schlüssel % \opt{serifmath} definiert, welcher aus Gründen der Kompatibilität hier % ebenfalls vorgehalten wird. % \begin{macrocode} \TUD@key{sansmath}[true]{% \TUD@set@ifkey{sansmath}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{sansmath}{cdmath=true}% \else% \TUD@deprecated@key{sansmath=#1}{cdmath=false}% \fi% \fi% } \TUD@key{serifmath}[true]{% \TUD@set@ifkey{serifmath}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{serifmath}{cdmath=false}% \else% \TUD@deprecated@key{serifmath=#1}{cdmath=true}% \fi% \fi% } % \end{macrocode} % \end{option}^^A serifmath % \end{option}^^A sansmath % \begin{option}{din} % \begin{option}{nodin} % \begin{option}{noDIN} % \changes{v2.04}{2015/04/22}{neu}^^A % Diese Optionen dienten zur Auswahl, ob die Schrift \DIN für die Überschriften % verwendet werden soll. % \begin{macrocode} \TUD@key{din}[true]{% \TUD@set@ifkey{din}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{din}{cdoldfont=din}% \else% \TUD@deprecated@key{din=#1}{cdoldfont=nodin}% \fi% \fi% } \TUD@key{nodin}[true]{% \TUD@set@ifkey{nodin}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{nodin}{cdoldfont=nodin}% \else% \TUD@deprecated@key{nodin=#1}{cdoldfont=din}% \fi% \fi% } \TUD@key{noDIN}[true]{% \TUD@set@ifkey{noDIN}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{noDIN}{cdoldfont=nodin}% \else% \TUD@deprecated@key{noDIN=#1}{cdoldfont=din}% \fi% \fi% } % \end{macrocode} % \end{option}^^A noDIN % \end{option}^^A nodin % \end{option}^^A din % % \iffalse %<*class> % \fi % % \begin{option}{geometry} % \changes{v2.02}{2014/07/08}{neu}^^A % 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@deprecated@key{geometry=#1}{cdgeometry=#1}} % \end{macrocode} % \end{option}^^A geometry % \begin{option}{barfont} % \changes{v2.02}{2014/07/08}{neu}^^A % Mit dieser Option kann die Schrift des \CDs und deren Schriftstärke in der % TUD-Kopfzeile unabhängig von der gewählten Schriftart für den Fließtext % aktiviert werden. % \begin{macrocode} \TUD@key{barfont}[true]{% \TUD@set@numkey{barfont}{@tempa}{% \TUD@bool@numkey,% {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}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false \TUD@deprecated@key{barfont=#1}{cdhead=false}% \or% true \TUD@deprecated@key{barfont=#1}{cdhead=true}% \or% heavy \TUD@deprecated@key{barfont=#1}{cdhead=heavy}% \fi% \fi% } % \end{macrocode} % \end{option}^^A barfont % \begin{option}{widehead} % Der Schalter dient zur Steuerung der Breite des Querbalkens im Kopf der % \env{tudpage}-Seite. Entweder der Querbalken liegt im Satzspiegel oder % aber über die komplette Papierbreite. % \begin{macrocode} \TUD@key{widehead}[true]{% \TUD@set@ifkey{widehead}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{widehead}{cdhead=paperwidth}% \else% \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}% \fi% \fi% } % \end{macrocode} % \end{option}^^A widehead % \begin{option}{tudfoot} % Diese Option wird nur aus Gründen der Kompatibilität zu v1.0 definiert. % \begin{macrocode} \TUD@key{tudfoot}[true]{% \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{tudfoot}{cdfoot=true}% \else% \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}% \fi% \fi% } % \end{macrocode} % \end{option}^^A tudfoot % \begin{option}{color} % \begin{option}{colour} % Die alte \cls{tudbook}-Klasse hat die Option \opt{color} definiert, mit % welcher ein Umschalten auf farbige Titel- und Kapitelseiten möglich ist. Aus % Kompatibilitätsgründen wird diese hier ebenfalls vorgehalten. % \begin{macrocode} \TUD@key{color}[true]{% \TUD@set@numkey{color}{@tempa}{% \TUD@bool@numkey,% {nocolor}{0},{nocolour}{0},{monochrome}{0},{monochromatic}{0},% {color}{1},{colour}{1},% {lite}{2},{light}{2},{pale}{2},% {colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% {colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% {colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% {bicolor}{3},{bicolour}{3},{twocolor}{3},{twocolour}{3},% {bichrome}{3},{bichromatic}{3},{dichrome}{3},{dichromatic}{3},% {full}{4},{colorfull}{4},{fullcolor}{4},{colourfull}{4},{fullcolour}{4}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false \TUD@deprecated@key{color=#1}{cd=true}% \or% true \TUD@deprecated@key{color=#1}{cd=color}% \or% litecolor \TUD@deprecated@key{color=#1}{cd=pale}% \or% bicolor \TUD@deprecated@key{color=#1}{cd=bicolor}% \or% full \TUD@deprecated@key{color=#1}{cd=fullcolor}% \fi% \fi% } \TUD@key{colour}[true]{\TUDoptions{color=#1}} % \end{macrocode} % \end{option}^^A colour % \end{option}^^A color % \begin{option}{clearcolor} % \changes{v2.06}{2018/08/21}{in \opt{cleardoublespecialpage} integriert}^^A % \begin{option}{clearcolour} % Die Option wurde in Option \opt{cleardoublespecialpage} integriert. % \begin{macrocode} %<*book|report> \TUD@key{clearcolor}[true]{% \TUD@set@ifkey{clearcolor}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{clearcolor}{cleardoublespecialpage=color}% \else% \TUD@deprecated@key{clearcolor=#1}{cleardoublespecialpage=nocolor}% \fi% \fi% } \TUD@key{clearcolour}[true]{\TUDoptions{clearcolor=#1}} % % \end{macrocode} % \end{option}^^A clearcolour % \end{option}^^A clearcolor % % \iffalse % % \fi % % \begin{option}{fontspec} % \changes{v2.02}{2014/08/29}{neu}^^A % \changes{v2.05}{2015/07/06}{veraltet}^^A % \begin{macro}{\if@tud@x@fontspec@requested} % Früher musste die Unterstützung für die Schriftauswahl via \pkg{fontspec} % manuell über die folgende Option aktiviert werden. % \begin{macrocode} \newif\if@tud@x@fontspec@requested \TUD@key{fontspec}[true]{% \TUD@set@ifkey{fontspec}{@tud@x@fontspec@requested}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% %<*class> \ClassWarningNoLine{\TUD@Class@Name}% % %<*package&fonts> \PackageWarningNoLine{tudscrfonts}% % {% The key `fontspec' is deprecated. \MessageBreak% You should load the package `fontspec' manually% }% \fi% } % \end{macrocode} % Da dieser Prozess sehr tief in die Schriftauswahl eingreift und das Laden des % Paketes die Schriftauswahl für das ganze Dokument verändert, wird diese % Option nur beim Laden der Klasse dzw. des Paketes zugelassen. % \begin{macrocode} %<*class> \AtEndOfClass% % %<*package&fonts> \AtEndOfPackage% % {% \TUD@key@toolate{fontspec}% \if@tud@x@fontspec@requested% \RequirePackage{fontspec}[2017/01/24]% \fi% } % \end{macrocode} % \end{macro}^^A \if@tud@x@fontspec@requested % \end{option}^^A fontspec % % \iffalse % % %<*body> %<*class> % \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 % einheitlich festzulegen, gab es bis einschließlich der Version~v2.04 die % Länge \cs{footlogoheight} anstelle der Option \opt{footlogoheight}. Sollte % der Anwender diese anpassen, wird \cs{tud@dim@footlogoheight} auf diesen Wert % gesetzt und eine Warnung erzeugt. % \begin{macrocode} \newlength\footlogoheight \setlength\footlogoheight{\maxdimen} % \end{macrocode} % \end{length}^^A \footlogoheight % \begin{length}{\pageheadingsvskip} % \changes{v2.02}{2014/06/23}{neu}^^A % \begin{length}{\headingsvskip} % \changes{v2.02}{2014/06/23}{neu}^^A % Mit diesen Längen konnte der Anwender vor der Version~v2.05 die Überschriften % von Titel, Teilen und Kapiteln vertikal verschieben. Diese Funktionalität % wird seitdem mit den Optionen \opt{headingsvskip} und \opt{pageheadingsvskip} % abgedeckt. % \begin{macrocode} %<*book|report|article> \newlength\pageheadingsvskip \setlength\pageheadingsvskip{\maxdimen} \newlength\headingsvskip \setlength\headingsvskip{\maxdimen} % % \end{macrocode} % \end{length}^^A \headingsvskip % \end{length}^^A \pageheadingsvskip % \begin{length}{\chapterheadingvskip} % Die Länge \cs{chapterheadingvskip} wird aus Gründen der Kompatibilität zu % älteren Versionen definiert. % \begin{macrocode} %<*book|report> \newcommand*\chapterheadingvskip{} \let\chapterheadingvskip\headingsvskip % % \end{macrocode} % \end{length}^^A \chapterheadingvskip % \begin{macro}{\professorship} % Für die Angabe des Lehrstuhls bzw. der Professur mit kann anstelle von % \cs{chair} als Aliasbefehl auch \cs{professorship} genutzt werden. % \begin{macrocode} \TUD@deprecated@cs{professorship}{chair} % \end{macrocode} % \end{macro}^^A \professorship % % \iffalse %<*book|report|article> % \fi % % \begin{macro}{\studentid} % \begin{macro}{\matriculationid} % Zur Angabe von Matrikelnummer kann auch \cs{studentid} oder % \cs{matriculationnumber} genutzt werden. % \begin{macrocode} \TUD@deprecated@cs{studentid}{matriculationnumber} \TUD@deprecated@cs{matriculationid}{matriculationnumber} % \end{macrocode} % \end{macro}^^A \matriculationid % \end{macro}^^A \studentid % \begin{macro}{\enrolmentyear} % Das Immatrikulationsjahr kann auch mit \cs{enrolmentyear} angegeben werden. % \begin{macrocode} \TUD@deprecated@cs{enrolmentyear}{matriculationyear} % \end{macrocode} % \end{macro}^^A \enrolmentyear % \begin{macro}{\birthplace} % Zur Angabe des Geburtsortes kann auch \cs{birthplace} verwendet werden. % \begin{macrocode} \TUD@deprecated@cs{birthplace}{placeofbirth} % \end{macrocode} % \end{macro}^^A \birthplace % \begin{macro}{\submissiondate} % Der Befehl \cs{submissiondate} kann als Aliasbefehl für den Standardbefehl % \cs{date} zur Datumsangabe genutzt werden. % \begin{macrocode} \TUD@deprecated@cs{submissiondate}{date} % \end{macrocode} % \end{macro}^^A \submissiondate % \begin{macro}{\oralexaminationdate} % Für \cs{defensedate} kann als Aliasbefehl auch \cs{oralexaminationdate} % verwendet werden. % \begin{macrocode} \TUD@deprecated@cs{oralexaminationdate}{defensedate} % \end{macrocode} % \end{macro}^^A \oralexaminationdate % \begin{macro}{\birthday} % Der Geburtstag kann auch mit \cs{birthday} angegeben werden. % \begin{macrocode} \TUD@deprecated@cs{birthday}{dateofbirth} % \end{macrocode} % \end{macro}^^A \birthday % % \iffalse % % \fi % % \begin{macro}{\location} % Für die Angabe des Ortes kann auch \cs{location} genutzt werden. % \begin{macrocode} \TUD@deprecated@cs{location}{place} % \end{macrocode} % \end{macro}^^A \location % \begin{macro}{\logofile} % \begin{macro}{\logofilename} % Diese beiden Befehle können anstelle von \cs{headlogo} eingesetzt werden. % \begin{macrocode} \TUD@deprecated@cs{logofile}{headlogo} \TUD@deprecated@cs{logofilename}{headlogo} % \end{macrocode} % \end{macro}^^A \logofilename % \end{macro}^^A \logofile % \begin{macro}{\startdate} % \begin{macro}{\finaldate} % \begin{macro}{\maturitydate} % Für das Paket \pkg{tudscrsupervisor} sind auch einige Befehle als veraltet % anzusehen. % \begin{macrocode} \AfterPackage{tudscrsupervisor}{% \TUD@deprecated@cs{startdate}{issuedate}% \TUD@deprecated@cs{finaldate}{duedate}% \TUD@deprecated@cs{maturitydate}{duedate}% } % \end{macrocode} % \end{macro}^^A \maturitydate % \end{macro}^^A \finaldate % \end{macro}^^A \startdate % % \iffalse % %<*class|package&fonts> % \fi % % \begin{macro}{\textcdfont} % \begin{macro}{\tudfont} % \begin{macro}{\univln} % \begin{macro}{\univrn} % \begin{macro}{\univbn} % \begin{macro}{\univxn} % \begin{macro}{\univls} % \begin{macro}{\univrs} % \begin{macro}{\univbs} % \begin{macro}{\univxs} % \begin{macro}{\textuln} % \begin{macro}{\texturn} % \begin{macro}{\textubn} % \begin{macro}{\textuxn} % \begin{macro}{\textuls} % \begin{macro}{\texturs} % \begin{macro}{\textubs} % \begin{macro}{\textuxs} % \begin{macro}{\dinbn} % \begin{macro}{\textdbn} % Für die Klassen und das Paket \pkg{tudscrfonts} werden die expliziten Befehle % zur Schriftauswahl zumindest vorgehalten und auf die neuen Schriften gelegt. % \begin{macrocode} \TUD@deprecated@cs{textcdfont}{textcd}% \TUD@deprecated@cs{tudfont}{cdfont}% \TUD@deprecated@cs{univln}{cdfontln}% \TUD@deprecated@cs{univrn}{cdfontrn}% \TUD@deprecated@cs{univbn}{cdfontsn}% \TUD@deprecated@cs{univxn}{cdfontbn}% \TUD@deprecated@cs{univls}{cdfontli}% \TUD@deprecated@cs{univrs}{cdfontri}% \TUD@deprecated@cs{univbs}{cdfontsi}% \TUD@deprecated@cs{univxs}{cdfontbi}% \TUD@deprecated@cs{textuln}{textcdln}% \TUD@deprecated@cs{texturn}{textcdrn}% \TUD@deprecated@cs{textubn}{textcdsn}% \TUD@deprecated@cs{textuxn}{textcdbn}% \TUD@deprecated@cs{textuls}{textcdli}% \TUD@deprecated@cs{texturs}{textcdri}% \TUD@deprecated@cs{textubs}{textcdsi}% \TUD@deprecated@cs{textuxs}{textcdbi}% \TUD@deprecated@cs{dinbn}{cdfontxn}% \TUD@deprecated@cs{textdbn}{textcdxn}% % \end{macrocode} % \end{macro}^^A \textdbn % \end{macro}^^A \dinbn % \end{macro}^^A \textuxs % \end{macro}^^A \textubs % \end{macro}^^A \texturs % \end{macro}^^A \textuls % \end{macro}^^A \textuxn % \end{macro}^^A \textubn % \end{macro}^^A \texturn % \end{macro}^^A \textuln % \end{macro}^^A \univxs % \end{macro}^^A \univbs % \end{macro}^^A \univrs % \end{macro}^^A \univls % \end{macro}^^A \univxn % \end{macro}^^A \univbn % \end{macro}^^A \univrn % \end{macro}^^A \univln % \end{macro}^^A \tudfont % \end{macro}^^A \textcdfont % \begin{macro}{\ifdin} % \changes{v2.02}{2014/08/29}{Anpassungen für \pkg{fontspec}}^^A % \changes{v2.06}{2018/07/10}{für \OpenSans hinfällig}^^A % \begin{macro}{\tud@ifdin} % \changes{v2.06}{2018/08/02}{neu}^^A % Der Befehl \cs{ifdin} ist für \OpenSans hinfällig. % \begin{macrocode} \TUD@deprecated@cs{ifdin}{@secondoftwo} % \end{macrocode} % Für die alten Schriften prüft er auf die Verwendung von \DIN. Davon abhängig % wird entweder das erste oder das zweite Argument ausgeführt. Dies kann für die % Befehle aller Gliederungsebenen genutzt werden, um zwischen der Ausgabe im % Dokument sowie Inhaltsverzeichnis und/oder Kolumnentitel zu unterscheiden. % Um nicht alle Klassen und Pakete anpassen zu müssen, wird \cs{tud@ifdin} zur % internen Nutzung in jedem Fall definiert, um die Kompatibilität gewährleisten % zu können. % \begin{macrocode} \newrobustcmd*\tud@ifdin{% \ifx\f@family\tud@cdfont@db% \expandafter\@firstoftwo% \else% \expandafter\@secondoftwo% \fi% } \if@tud@cdoldfont@active \newcommand*\ifdin{}% \let\ifdin\tud@ifdin% \fi % \end{macrocode} % \end{macro}^^A \tud@ifdin % \end{macro}^^A \ifdin % \begin{macro}{\varGamma} % \begin{macro}{\varDelta} % \begin{macro}{\varTheta} % \begin{macro}{\varLambda} % \begin{macro}{\varXi} % \begin{macro}{\varPi} % \begin{macro}{\varSigma} % \begin{macro}{\varUpsilon} % \begin{macro}{\varPhi} % \begin{macro}{\varPsi} % \begin{macro}{\varOmega} % Die veralteten Befehle für kursive griechische Majuskeln. % \begin{macrocode} \def\tud@res@a#1{% \TUD@deprecated@cs{var#1}{it#1}% } \tud@math@loop@greeks@uc\tud@res@a% % \end{macrocode} % \end{macro}^^A \varOmega % \end{macro}^^A \varPsi % \end{macro}^^A \varPhi % \end{macro}^^A \varUpsilon % \end{macro}^^A \varSigma % \end{macro}^^A \varPi % \end{macro}^^A \varXi % \end{macro}^^A \varLambda % \end{macro}^^A \varTheta % \end{macro}^^A \varDelta % \end{macro}^^A \varGamma % % \iffalse % % % \fi % % \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 % zu erleichtern, wird das Paket \pkg{tudscrcomp} bereitgestellt. Mit diesem % können bei der Verwendung von \TUDScript die meisten Optionen und Befehle % genutzt werden, welche durch die Klasse \cls{tudbook} und teilweise vormals % durch die Klassen die \TUDScript-Klassen in der Version~v1.0 sowie die % Posterklassen \cls{tudmathposter} bzw. \cls{tudposter} bereitgestellt wurden. % % \iffalse %<*package&comp> %<*base> % \fi % % \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. % Danach wird das dazu passende Paket geladen. % \begin{macrocode} \PassOptionsToPackage{oldcolors}{tudscrcolor} \@ifclassloaded{tudscrposter}{% \RequirePackageWithOptions{tudscrcomp-poster}[\TUD@Version]% }{% \RequirePackageWithOptions{tudscrcomp-book}[\TUD@Version]% } % \end{macrocode} % % \iffalse % %<*!base> %<*body> % \fi % % \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. % % \begin{macro}{\einrichtung} % \begin{macro}{\fachrichtung} % \begin{macro}{\institut} % \begin{macro}{\professur} % Es werden Aliasbefehle für die Eingabefelder definiert. % \begin{macrocode} \newcommand*\einrichtung{\faculty} \newcommand*\fachrichtung{\department} \newcommand*\institut{\institute} \newcommand*\professur{\chair} % \end{macrocode} % \end{macro}^^A \professur % \end{macro}^^A \institut % \end{macro}^^A \fachrichtung % \end{macro}^^A \einrichtung % \begin{macro}{\dinBold} % \changes{v2.05}{2015/07/13}{neu}^^A % \begin{macro}{\dinfamily} % \changes{v2.05}{2015/07/13}{neu}^^A % Für die explizite Schriftauswahl gibt es ebenfalls zwei ältere Befehle. % \begin{macrocode} \newcommand*\dinBold{\dinbn} \newcommand*\dinfamily{\dinbn} % \end{macrocode} % \end{macro}^^A \dinfamily % \end{macro}^^A \dinBold % % \iffalse % %<*book> %<*option> % \fi % % \subsection{Kompatibilität zu \cls{tudbook}} % % Die folgenden Optionen und Befehle werden durch die Klasse \cls{tudbook} und % teilweise durch \TUDScript~v1.0 definiert. % % \begin{option}{colortitle} % \begin{option}{nocolortitle} % Für farbige Einstellungen wird von \cls{tudbook} die Option \opt{color} % definiert. Soll die Titelseite konträr dazu gesetzt werden, muss sich mit den % Schlüsseln \opt{colortitle} und \opt{nocolortitle} beholfen werden. % \begin{macrocode} \TUD@key{colortitle}[true]{% \TUD@set@ifkey{colortitle}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUDoptions{cdtitle=color}% \else% \TUDoptions{cdtitle=true}% \fi% \fi% } \TUD@key{nocolortitle}[true]{% \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUDoptions{cdtitle=true}% \else% \TUDoptions{cdtitle=color}% \fi% \fi% } % \end{macrocode} % \end{option}^^A nocolortitle % \end{option}^^A colortitle % \begin{option}{ddcfooter} % Außer der Option \opt{ddc} gibt es bei der alten \cls{tudbook}-Klasse noch % den Schlüssel \opt{ddcfooter}. Dieser wird auf die Option \opt{ddcfoot} % gelegt. % \begin{macrocode} \TUD@key{ddcfooter}[true]{% \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUDoptions{ddcfoot=true}% \else% \TUDoptions{ddcfoot=false}% \fi% \fi% } % \end{macrocode} % \end{option}^^A ddcfooter % % \iffalse % %<*body> % \fi % % \begin{macro}{\moreauthor} % \begin{macro}{\submitdate} % \begin{macro}{\supervisorII} % \begin{macro}{\supervisedby} % \begin{macro}{\supervisedIIby} % \begin{macro}{\submittedon} % Es werden weitere Aliasbefehle für die Eingabefelder der \cls{tudbook}-Klasse % definiert. % \begin{macrocode} \newcommand*\moreauthor{\authormore} \newcommand*\submitdate{\date} \newcommand*\supervisorII[1]{\g@addto@macro\@supervisor{\and #1}} \newcommand*\supervisedby[1]{\gdef\supervisorname{#1}} \newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}} \newcommand*\submittedon[1]{\gdef\datetext{#1}} % \end{macrocode} % \end{macro}^^A \submittedon % \end{macro}^^A \supervisedIIby % \end{macro}^^A \supervisedby % \end{macro}^^A \supervisorII % \end{macro}^^A \submitdate % \end{macro}^^A \moreauthor % \begin{macro}{\dissertation} % Bei der Definition des Typs der Abschlussarbeit mit \cs{dissertation} wird % die Lokalisierungsvariable \cs{dissertationname} verwendet und die Feldnamen % angepasst. % \begin{macrocode} \newcommand*\dissertation{% \thesis{\dissertationname}% \let\supervisorname\refereename% \let\supervisorothername\refereeothername% } % \end{macrocode} % \end{macro}^^A \dissertation % \begin{environment}{theglossary} % \begin{macro}{\glossaryname} % \begin{macro}{\glossitem} % Eine rudimentäre Umgebung für ein Glossar. % \begin{macrocode} \AtBeginDocument{% \ifundef{\theglossary}{% \providecommand*\glossaryname{Glossar}% \newenvironment{theglossary}[1][]{% \PackageWarning{tudscrcomp}{% Using the environment `theglossary' is not\MessageBreak% recommended. You should rather use an appropriate\MessageBreak% package such as glossaries% }% \let\bibname\glossaryname% \bib@heading% #1% \list{}{% \setlength\labelsep{\z@}% \setlength\labelwidth{\z@}% \setlength\itemindent{-\leftmargin}% }% }{\endlist}% \newcommand\glossitem[1]{\item[] #1\par}% }{}% } % \end{macrocode} % \end{macro}^^A \glossitem % \end{macro}^^A \glossaryname % \end{environment}^^A theglossary % \begin{macro}{\chapterpage} % \begin{macro}{\if@tud@comp@chapterpage} % \begin{macro}{\tud@comp@chapterpage@set} % \begin{macro}{\tud@comp@chapterpage@unset} % \begin{macro}{\tud@comp@chapterpage@wrn} % Die alte \cls{tudbook}-Klasse stellt den Befehl \cs{chapterpage} bereit. % Mit diesem ist es möglich, das Verhalten der Kapitelseiten~-- welches durch % die Option \opt{chapterpage} gesteuert wird~-- temporär umzuschalten, also % statt Kapitelseiten lediglich Überschriften zu setzen und umgekehrt. Dies ist % typographisch durchaus zu hinterfragen, allerdings sollen die neuen Klassen % möglichst kompatibel zu der alten sein, weshalb diese Funktionalität trotzdem % implementiert wird. Der Befehl \cs{chapterpage} setzt den globalen Schalter % \cs{if@tud@comp@chapterpage}. Der Befehl \cs{tud@comp@chapterpage@set} setzt % für Kapitel das komplementäre Verhalten zur eigentlich gewählten % \opt{chapterpage}-Option. Nach dem Setzen der entsprechenden Überschrift % wird \cs{tud@comp@chapterpage@set} nochmals aufgerufen, das Verhalten auf den % ursprünglichen Zustand geschaltet und der globale Schalter % \cs{if@tud@comp@chapterpage} zurückgesetzt. % \begin{macrocode} \newif\if@tud@comp@chapterpage \newcommand*\chapterpage{% \global\@tud@comp@chapterpagetrue% \tud@comp@chapterpage@wrn% } \newcommand*\tud@comp@chapterpage@set{% \if@tud@comp@chapterpage% \if@tud@chapterpage% \TUDoptions{chapterpage=false}% \else% \TUDoptions{chapterpage=true}% \fi% \fi% } \newcommand*\tud@comp@chapterpage@unset{% \tud@comp@chapterpage@set% \global\@tud@comp@chapterpagefalse% } % \end{macrocode} % Da wie bereits beschrieben das Vorgehen äußerst fragwürdig ist, wird bei der % Verwendung von \cs{chapterpage} zumindest einmalig eine Warnung ausgegeben. % \begin{macrocode} \newcommand*\tud@comp@chapterpage@wrn{% \PackageWarning{tudscrcomp}{% The command \string\chapterpage\space is not\MessageBreak% recommended. You should use the same style for\MessageBreak% chapters throughout the document% }% \global\let\tud@comp@chapterpage@wrn\relax% } % \end{macrocode} % \end{macro}^^A \tud@comp@chapterpage@wrn % \end{macro}^^A \tud@comp@chapterpage@unset % \end{macro}^^A \tud@comp@chapterpage@set % \end{macro}^^A \if@tud@comp@chapterpage % \end{macro}^^A \chapterpage % \begin{macro}{\tud@chapter@pre} % \begin{macro}{\tud@chapter@app} % Hier erfolgt die notwendige Anpassungen der internen Gliederungsbefehle. % \begin{macrocode} \AtEndPreamble{% \if@chapter% \pretocmd{\tud@chapter@pre}{\tud@comp@chapterpage@set}% {}{\tud@patch@wrn{tud@chapter@pre}}% \apptocmd{\tud@chapter@app}{\tud@comp@chapterpage@unset}% {}{\tud@patch@wrn{tud@chapter@app}}% \fi% } % \end{macrocode} % \end{macro}^^A \tud@chapter@app % \end{macro}^^A \tud@chapter@pre % % % \iffalse % % %<*poster> %<*option> % \fi % % \subsection{Kompatibilität zu \cls{tudmathposter}} % % Die hier bereitgestellten Optionen und Befehle werden durch die Klasse % \cls{tudmathposter} bzw. \cls{tudposter} definiert. % % \begin{option}{bluebg} % \changes{v2.05}{2016/04/17}{neu}^^A % Mit der Option \opt{bluebg} kann der Hintergrund des Posters in \val{HKS41} % gesetzt werden. % \begin{macrocode} \TUD@key{bluebg}[true]{% \TUD@set@ifkey{bluebg}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUDoptions{backcolor=true}% \else% \TUDoptions{backcolor=false}% \fi% \fi% } % \end{macrocode} % \end{option}^^A bluebg % % \iffalse % %<*body> % \fi % % \begin{layerpagestyle}{tudposter} % \changes{v2.05}{2016/07/26}{neu}^^A % Der Seitenstil \pgs{tudposter} wird als Alias für \pgs{empty.tudheadings} % definiert. % \begin{macrocode} \newcommand*\ps@tudposter{} \let\ps@tudposter\ps@empty \AfterPackage*{scrlayer-scrpage}{% \DeclarePageStyleAlias{tudposter}{empty.tudheadings}% } % \end{macrocode} % \end{layerpagestyle}^^A tudposter % \begin{macro}{\telefon} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\fax} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\email} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\tud@split@author@list} % Hier werden alle alten Feldbefehle auf die Pendants von \TUDScript gelegt und % das Makro \cs{tud@split@author@list} um diese Befehle erweitert. % \begin{macrocode} \newrobustcmd*\telefon{\telephone} \patchcmd{\tud@split@author@list}{telephone}{% telephone,telefon% }{}{\tud@patch@wrn{tud@split@author@list}} \newrobustcmd*\fax{\telefax} \patchcmd{\tud@split@author@list}{telefax}{% telefax,fax% }{}{\tud@patch@wrn{tud@split@author@list}} \newrobustcmd*\email[1]{\emailaddress*{#1}} \patchcmd{\tud@split@author@list}{emailaddress}{% emailaddress,email% }{}{\tud@patch@wrn{tud@split@author@list}} % \end{macrocode} % \end{macro}^^A \tud@split@author@list % \end{macro}^^A \email % \end{macro}^^A \fax % \end{macro}^^A \telefon % \begin{macro}{\homepage} % \changes{v2.05}{2016/04/17}{neu}^^A % Für die Angabe einer Website wird \cs{webpage*} verwendet, um etwaige Makros % zur Formatierung nicht beachten zu müssen. % \begin{macrocode} \newcommand*\homepage[1]{\webpage*{#1}} % \end{macrocode} % \end{macro}^^A \homepage % \begin{macro}{\zweitlogofile} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\zweitlogo} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\institutslogofile} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\institutslogo} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\drittlogofile} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\drittlogo} % \changes{v2.05}{2016/04/17}{neu}^^A % Die Makros zur Angabe von Logo-Dateien (\cs{\dots{}logofile}) werden auf die % passenden \TUDScript-Befehle gelegt. Die Änderung der Makros, welche für die % Einbindung der Logos verantwortlich sind (\cs{\dots{}logo}), wird allerdings % nicht unterstützt. % \begin{macrocode} \newcommand*\zweitlogofile[2][]{\headlogo[#1]{#2}} \newcommand*\zweitlogo[1]{% \PackageWarning{tudscrcomp}{% It isn't possible to redefine the definition for\MessageBreak% including a logo in the header. Please see the\MessageBreak% documentation of \string\headlogo% }% } \newcommand*\institutslogofile[2][]{\footlogo[#1]{,,,,,,,#2,}} \newcommand*\institutslogo[1]{% \PackageWarning{tudscrcomp}{% It isn't possible to redefine the definition for\MessageBreak% including a logo in the footer. Please see the\MessageBreak% documentation of \string\footlogo% }% } \newcommand*\drittlogofile[1]{% \PackageWarning{tudscrcomp}{% Nothing happened, you should use \string\footlogo\MessageBreak% instead. Please see the documentation of \string\footlogo\MessageBreak% and option `ddc' or `ddcfoot'% }% } \newcommand*\drittlogo[1]{% \PackageWarning{tudscrcomp}{% It isn't possible to redefine the definition for\MessageBreak% including a logo in the footer. Please see the\MessageBreak% documentation of \string\footlogo\space and option\MessageBreak% `ddc' or `ddcfoot'% }% } % \end{macrocode} % \end{macro}^^A \drittlogo % \end{macro}^^A \drittlogofile % \end{macro}^^A \institutslogo % \end{macro}^^A \institutslogofile % \end{macro}^^A \zweitlogo % \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 % tatsächlich ein Anpassungsbedarf besteht, kann dies mit den entsprechenden % Mitteln von \KOMAScript{} (\cs{RedeclareSectionCommand}) nach dem Laden von % \pkg{tudscrcomp} erfolgen. % % Die neuen Gliederungsbefehle erschließen sich mir ohnehin nicht, wirken eher % so, als ob diese entstanden sind, weil auf Anwendungsebene etwas nicht so % funktioniert hat, wie gewollt und statt einer vernünftigen Ursachenforschung % einfach ein eigenes Konstrukt erschaffen wurde, um unzulängliche Fähigkeiten % zu umgehen. Sei's drum. Für die Umsetzung werden die Basisgliederungsbefehle % geklont und anschließend der gewünschte vertikale Abstand vor der Überschrift % entfernt. % \ToDo{Klonen Gliederungsebenen über Makro (Markus fragen?!)}[v2.??] % \begin{macrocode} \newcommand*\topsectionnumdepth{\sectionnumdepth} \newcommand*\scr@topsection@sectionindent{\scr@section@sectionindent} \newcommand*\scr@topsection@beforeskip{\scr@section@beforeskip} \newcommand*\scr@topsection@afterskip{\scr@section@afterskip} \newcommand*\topsectiontocdepth{\sectiontocdepth} \newcommand*\scr@topsection@tocindent{\scr@section@tocindent} \newcommand*\scr@topsection@tocnumwidth{\scr@section@tocnumwidth} \newcommand*\l@topsection{\l@section} \DeclareNewSectionCommand[% style=section,% font={\usekomafont{section}},% beforeskip=\z@,% ]{topsection} \let\c@topsection\c@section \newcommand*\topsubsectionnumdepth{\subsectionnumdepth} \newcommand*\scr@topsubsection@sectionindent{\scr@subsection@sectionindent} \newcommand*\scr@topsubsection@beforeskip{\scr@subsection@beforeskip} \newcommand*\scr@topsubsection@afterskip{\scr@subsection@afterskip} \newcommand*\topsubsectiontocdepth{\subsectiontocdepth} \newcommand*\scr@topsubsection@tocindent{\scr@subsection@tocindent} \newcommand*\scr@topsubsection@tocnumwidth{\scr@subsection@tocnumwidth} \newcommand*\l@topsubsection{\l@subsection} \DeclareNewSectionCommand[% style=section,% font={\usekomafont{subsection}},% beforeskip=\z@,% ]{topsubsection} \let\c@topsubsection\c@subsection % \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 % \begin{macro}{\centersubsection} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\topcentersection} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\topcentersubsection} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\tud@comp@centersection} % \changes{v2.05}{2016/04/17}{neu}^^A % Weiterhin werden Gliederungsebenen definiert, die unabhängig vom restlichen % Layout zentriert gesetzt werden. Eine Mischung von unterschiedlichen Stilen % gleichartiger Ebenen ist aus sicht von Typographie und Layout eher fraglich. % \begin{macrocode} \newcommand*\centersection[2][\@nil]{% \tud@comp@centersection{section}{#1}{#2}% } \newcommand*\centersubsection[2][\@nil]{% \tud@comp@centersection{subsection}{#1}{#2}% } \newcommand*\topcentersection[2][\@nil]{% \tud@comp@centersection{topsection}{#1}{#2}% } \newcommand*\topcentersubsection[2][\@nil]{% \tud@comp@centersection{topsubsection}{#1}{#2}% } % \end{macrocode} % Alle Gliederungsbefehle nutzen die passenden Ebenen mit der standardmaßig % Ausrichtung und passen kurzfristig \cs{raggedsection} an. Dabei auch darauf % geachtet, ob das optionale Argument durch den Anwender verwendet wird. % \begin{macrocode} \newcommand*\tud@comp@centersection[3]{% \tud@cs@store{raggedsection}% \let\raggedsection\centering% \ifx#2\@nil\relax% \csuse{#1}{#3}% \else% \csuse{#1}[#2]{#3}% \fi% \tud@cs@restore{raggedsection}% } % \end{macrocode} % \end{macro}^^A \tud@comp@centersection % \end{macro}^^A \topcentersubsection % \end{macro}^^A \topcentersection % \end{macro}^^A \centersubsection % \end{macro}^^A \centersection % \begin{macro}{\sectiontopskip} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\subsectiontopskip} % \changes{v2.05}{2016/04/17}{neu}^^A % Die Klasse \cls{tudmathposter} stellt zu den neuen Gliederungsbefehlen noch % zusätzlich die beiden Makros \cs{sectiontopskip} und \cs{subsectiontopskip} % bereit. Diese werden in darin bei der Definition dieser Gliederungsebenen % verwendet. Da die \TUDScript-Klassen den Ansatz verfolgen, dem Benutzer % weitestgehende Freiheiten bei der Gestaltung des Layouts einzuräumen, werden % diese an die Einstellungen der zentralen \KOMAScript"=Benutzerschnittstelle % gekoppelt. % \begin{macrocode} \newcommand\sectiontopskip{\scr@section@beforeskip} \newcommand\subsectiontopskip{\scr@subsection@beforeskip} % \end{macrocode} % \end{macro}^^A \subsectiontopskip % \end{macro}^^A \sectiontopskip % \begin{counter}{secnumdepth} % Standardmäßig wird die Nummerierung aller Gliederungsebenen deaktiviert. % \begin{macrocode} \setcounter{secnumdepth}{\m@ne} % \end{macrocode} % \end{counter}^^A secnumdepth % \begin{macro}{\fusszeile} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\footcolumn} % \changes{v2.05}{2016/04/17}{neu}^^A % Mit diesen Befehlen lässt sich der Inhalt des Fußbereiches angepassen. Wird % in einem und/oder beiden Argumente von \cs{footcontent} ein Stern \val{*} % verwendet, so bleibt der bisherige Inhalt erhalten. % \begin{macrocode} \newcommand*\fusszeile[2][]{\footcontent[#1]{#2}} \newcommand*\footcolumn[2]{% \ifnumber{#1}{% \ifcase#1\relax% \footcontent{#2}% \or% \footcontent{#2}[*]% \or% \footcontent{*}[#2]% \fi% }{}% } % \end{macrocode} % \end{macro}^^A \footcolumn % \end{macro}^^A \fusszeile % % \iffalse % %<*option> % \fi % % \begin{option}{tudmathposterfoot} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\if@tud@mathposterfoot} % \changes{v2.05}{2016/04/17}{neu}^^A % Mit der Option \opt{tudmathposterfoot} kann die Darstellung des Fußes im % Poster angepasst werden. Die Klasse \cls{tudmathposter} setzt den Fußbereich % in zwei asymmetrischen Spalten, wohingegen die \TUDScript-Klassen diesen % zentriert und symmetrisch zum Satzspiegel platzieren. % \begin{macrocode} \newif\if@tud@mathposterfoot \TUD@key{tudmathposterfoot}[true]{% \TUD@set@ifkey{tudmathposterfoot}{@tud@mathposterfoot}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tud@mathposterfoot% \footcontent[\small]{% \tud@footcontent@@left{}% }[% \tud@footcontent@@right{}{}% ]% \else% \footcontent{% \tud@footcontent@@left{\contactname}% }[% \tud@footcontent@@right{\authorname}{\contactpersonname}% ]% \fi% \fi% } % \end{macrocode} % Die Option \opt{cdfoot} wird um Werte für die Einstellung des Posterfußes % erweitert. % \begin{macrocode} \TUD@key{cdfoot}[true]{% \TUD@set@numkey{cdfoot}{@tempa}{% {tudscrposter}{0},{tudscrposterfoot}{0},{cdposter}{0},{poster}{0},% {tudmathposter}{1},{tudmathposterfoot}{1},{mathposter}{1},{tudposter}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% tudscrposter \TUDoptions{tudmathposterfoot=false}% \else% tudmathposter \TUDoptions{tudmathposterfoot=true}% \fi% \fi% } % \end{macrocode} % \end{macro}^^A \if@tud@mathposterfoot % \end{option}^^A tudmathposterfoot % % \iffalse % %<*body> % \fi % % \begin{macro}{\tud@footcontent@use} % \begin{macro}{\tud@comp@mathposterwidth} % \changes{v2.05}{2016/04/17}{neu}^^A % 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. 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}{% \hsize=\dimexpr#2-\@tempdimc\relax% }{% \if@tud@mathposterfoot% \hsize=\dimexpr\tud@comp@mathposterwidth\relax% \else% \hsize=\dimexpr#2-\@tempdimc\relax% \fi% }{}{\tud@patch@wrn{tud@footcontent@use}} \patchcmd{\tud@footcontent@use}{% \hsize=\dimexpr(#2-\columnsep)/2\relax% }{% \if@tud@mathposterfoot% \hsize=\dimexpr(\tud@comp@mathposterwidth-\columnsep)/2\relax% \else% \hsize=\dimexpr(#2-\columnsep)/2\relax% \fi% }{}{\tud@patch@wrn{tud@footcontent@use}} \patchcmd{\tud@footcontent@use}{% \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax% }{% \if@tud@mathposterfoot% \hsize=\dimexpr(\tud@comp@mathposterwidth-\columnsep)/2\relax% \else% \hsize=\dimexpr(#2-\columnsep)/2-\@tempdimc\relax% \fi% }{}{\tud@patch@wrn{tud@footcontent@use}} % \end{macrocode} % \end{macro}^^A \tud@comp@mathposterwidth % \end{macro}^^A \tud@footcontent@use % \begin{environment}{figurehere} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{environment}{tablehere} % \changes{v2.05}{2016/04/17}{neu}^^A % Weiterhin stellt die Klasse \cls{tudmathposter} zwei Umgebungen bereit, mit % denen sich Tabellen und Bilder an einer bestimmten Stelle exakt platzieren % lassen. Prinzipiell könnte hierfür auch das Paket \pkg{float} zum Einsatz % kommen. % \ToDo{Für \cls{tudscrposter} übernehmen?}[v2.07] % \begin{macrocode} \newenvironment{figurehere}{% \def\@captype{figure}% \renewcommand*\caption{\captionof{figure}}% \renewcommand*\captionabove{\captionaboveof{figure}}% \renewcommand*\captionbelow{\captionbelowof{figure}}% \vskip\intextsep% \vbox \bgroup% \hsize=\columnwidth% \@parboxrestore% \ignorespaces% }{% \egroup% \vskip\intextsep% \ignorespaces% } \newenvironment{tablehere}{% \def\@captype{table}% \renewcommand*\caption{\captionof{table}}% \renewcommand*\captionabove{\captionaboveof{table}}% \renewcommand*\captionbelow{\captionbelowof{table}}% \vskip\intextsep% \vbox \bgroup% \hsize=\columnwidth% \@parboxrestore% \ignorespaces% }{% \egroup% \vskip\intextsep% \ignorespaces% } % \end{macrocode} % \end{environment}^^A tablehere % \end{environment}^^A figurehere % \begin{environment}{farbtabellen} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\if@tud@comp@graytable} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\blautabelle} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\grautabelle} % \changes{v2.05}{2016/04/17}{neu}^^A % Außerdem wird eine Umgebung für farbige Tabellen sowie zwei Umschaltbefehle % für die farbliche Ausprägung der Tabellenzeilen definiert. % \begin{macrocode} \PassOptionsToPackage{table}{xcolor} \newif\if@tud@comp@graytable \newcommand*\blautabelle{\@tud@comp@graytablefalse} \newcommand*\grautabelle{\@tud@comp@graytabletrue} \newenvironment{farbtabellen}{% \if@tud@comp@graytable% \rowcolors{1}{HKS92!20}{HKS92!10}% \else% \rowcolors{1}{HKS41!20}{HKS41!10}% \fi% }{} % \end{macrocode} % \end{macro}^^A \grautabelle % \end{macro}^^A \blautabelle % \end{macro}^^A \if@tud@comp@graytable % \end{environment}^^A farbtabellen % \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 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}{}{% \ifisdimension{\schnittrand}{% \edef\@tempa{% paperwidth=\the\dimexpr\paperwidth+\schnittrand*2\relax,% paperheight=\the\dimexpr\paperheight+\schnittrand*2\relax,% layout=\the\paperwidth:\the\paperheight,% layoutoffset=\the\dimexpr\schnittrand\relax,% showcrop% }% \expandafter\geometry\expandafter{\@tempa}% }{% \PackageErrorNoLine{tudscrcomp}{% Wrong definition for `\string\schnittrand'% }{% The definition of `\string\schnittrand' does not expand to\MessageBreak% a valid dimension expression.% }% }% }% % \end{macrocode} % \end{macro}^^A \schnittrand % % Die Klasse \cls{tudmathposter} lädt allerhand Pakete. Dies ist jedoch für den % Anwender alles andere als vorteilhaft, da dadurch unter Umständen Konflikte % mit anderen Paketen entstehen oder der Nutzer im Zweifelsfall gar nicht weiß, % dass verwendete Befehle aus bestimmten Paketen entspringen. Dennoch werden % aus Kompatibilitätsgründen einige Pakete geladen, um bestehende Dokumente % trotz alledem nach der Portierung kompiliert werden können. Um den Nutzer die % Möglichkeit zu geben, die Pakete selber ggf. mit Optionen zu laden, erfolgt % die Anforderung der Pakete erst am ende der Präambel. % \begin{macrocode} \AtEndPreamble{% \RequirePackage{amsmath}[2016/06/28]% \RequirePackage{amsfonts}[2013/01/14]% \RequirePackage{calc}[2014/10/28]% \RequirePackage{textcomp}[2016/06/19]% \RequirePackage{tabularx}[2016/02/03]% } % \end{macrocode} % % \iffalse % % % % % \fi % % \section{Das Paket \pkg{fix-tudscrfonts} -- Schriften für alte TUD-Klassen} % % \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&fixfonts> %<*body> % \fi % % Das Paket \pkg{tudscrfonts} wird am Ende der Präambel geladen, falls dies % zuvor nicht durch den Anwender geschieht. % \begin{macrocode} \AtEndPreamble{% \tud@fixfonts@class@check% \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@fixfonts@class@check} % \changes{v2.05}{2016/01/02}{neu}^^A % 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@fixfonts@class@check{% \PackageError{fix-tudscrfonts}{Package too late}{% You must load `fix-tudscrfonts' with\MessageBreak% `\string\RequirePackage' before any document class.% }% }% % \end{macrocode} % Wird das Paket mit einer nicht unterstützten Dokumentklasse verwendet, wird % ebenfalls ein Fehler ausgegeben. % \begin{macrocode} \else \newcommand*\tud@fixfonts@class@check{% \PackageError{fix-tudscrfonts}{Unsupported class found}{% You have to use `fix-tudscrfonts' only\MessageBreak% with supported classes. These are: `tudbook',\MessageBreak% `tudbeamer', `tudfax', `tudform', `tudhaus',\MessageBreak% and `tudletter' as well as `tudposter'\MessageBreak% and `tudmathposter'. Otherwise it's adequate\MessageBreak% to use package `tudscrfonts' as usual.% }% }% \fi % \end{macrocode} % \end{macro}^^A \tud@fixfonts@class@check % % \subsection{Patches für die unterstützten Klassen} % % Für alle unterstützten Klassen sind vor und nach dem Laden einige Anpassungen % an den bereitgestellten Schriftbefehlen notwendig. % % \begin{macro}{\tud@fixfonts@class@adapt} % \changes{v2.05}{2016/01/02}{neu}^^A % \begin{macro}{\dinBold} % \changes{v2.05}{2015/07/13}{neu}^^A % \begin{macro}{\dinfamily} % \changes{v2.05}{2015/07/13}{neu}^^A % \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@fontsize} % 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 % und einige Schriftdefinitionen angepasst. Bei den alten TUD-Klassen betrifft % dies in erster Linie die Mathematikschriften sowie die in den Klassen % definierten, fixen Schriften. % \begin{macrocode} \newcommand*\tud@fixfonts@class@adapt[2]{% \BeforeClass{#1}{% \let\tud@fixfonts@class@check\relax% \tud@cs@store{DeclareFixedFont}% \renewcommand*\DeclareFixedFont[6]{}% \tud@cs@store{rmdefault}% \tud@cs@store{sfdefault}% \tud@cs@store{ttdefault}% \tud@cs@store{bfdefault}% \tud@cs@store{mddefault}% \tud@cs@store{itdefault}% \tud@cs@store{sldefault}% \tud@cs@store{scdefault}% \tud@cs@store{updefault}% \tud@cs@store{rmfamily}% \tud@cs@store{sffamily}% \tud@cs@store{ttfamily}% \tud@cs@store{familydefault}% \tud@cs@store{seriesdefault}% \tud@cs@store{shapedefault}% \tud@cs@store{normalfont}% \let\normalfont\relax% \PassOptionsToClass{serifmath}{#1}% }% \AfterClass{#1}{% \tud@cs@restore{DeclareFixedFont}% \tud@cs@restore{rmdefault}% \tud@cs@restore{sfdefault}% \tud@cs@restore{ttdefault}% \tud@cs@restore{bfdefault}% \tud@cs@restore{mddefault}% \tud@cs@restore{itdefault}% \tud@cs@restore{sldefault}% \tud@cs@restore{scdefault}% \tud@cs@restore{updefault}% \tud@cs@restore{rmfamily}% \tud@cs@restore{sffamily}% \tud@cs@restore{ttfamily}% \tud@cs@restore{familydefault}% \tud@cs@restore{seriesdefault}% \tud@cs@restore{shapedefault}% \tud@cs@restore{normalfont}% #2% \AfterPackage{tudscrfonts}{% \def\dinBold{\dinbn}% \def\dinfamily{\dinbn}% \AtBeginDocument{% \newcommand*\univLightVII{}% \newcommand*\univLightObliqueVII{}% \newcommand*\univBoldVII{}% \newcommand*\univLightIX{}% \newcommand*\univLightObliqueIX{}% \newcommand*\univBoldIX{}% \newcommand*\univLightXI{}% \newcommand*\univLightObliqueXI{}% \newcommand*\univBoldXI{}% \newcommand*\univLightXV{}% \newcommand*\univLightObliqueXV{}% \newcommand*\univBoldXV{}% \newcommand*\univLightHead{}% \newcommand*\univBoldHead{}% \providecommand*\tud@head@fontsize{9}% \if@tud@cdfont@fam@exist% \DeclareFixedFont{\univLightVII}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{n}{7}% \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{sl}{7}% \DeclareFixedFont{\univBoldVII}{\encodingdefault}% {\tud@cdfont@fam@lf}{b}{n}{7}% \DeclareFixedFont{\univLightIX}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{n}{9}% \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{sl}{9}% \DeclareFixedFont{\univBoldIX}{\encodingdefault}% {\tud@cdfont@fam@lf}{b}{n}{9}% \DeclareFixedFont{\univLightXI}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{n}{11}% \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{sl}{11}% \DeclareFixedFont{\univBoldXI}{\encodingdefault}% {\tud@cdfont@fam@lf}{b}{n}{11}% \DeclareFixedFont{\univLightXV}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{n}{15}% \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{sl}{15}% \DeclareFixedFont{\univBoldXV}{\encodingdefault}% {\tud@cdfont@fam@lf}{b}{n}{15}% \DeclareFixedFont{\univLightHead}{\encodingdefault}% {\tud@cdfont@fam@lf}{l}{n}{\tud@head@fontsize}% \DeclareFixedFont{\univBoldHead}{\encodingdefault}% {\tud@cdfont@fam@lf}{b}{n}{\tud@head@fontsize}% \else% \DeclareFixedFont{\univLightVII}{\encodingdefault}% {\sfdefault}{\mddefault}{\updefault}{7}% \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% {\sfdefault}{\mddefault}{\sldefault}{7}% \DeclareFixedFont{\univBoldVII}{\encodingdefault}% {\sfdefault}{\bfdefault}{\updefault}{7}% \DeclareFixedFont{\univLightIX}{\encodingdefault}% {\sfdefault}{\mddefault}{\updefault}{9}% \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% {\sfdefault}{\mddefault}{\sldefault}{9}% \DeclareFixedFont{\univBoldIX}{\encodingdefault}% {\sfdefault}{\bfdefault}{\updefault}{9}% \DeclareFixedFont{\univLightXI}{\encodingdefault}% {\sfdefault}{\mddefault}{\updefault}{11}% \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% {\sfdefault}{\mddefault}{\sldefault}{11}% \DeclareFixedFont{\univBoldXI}{\encodingdefault}% {\sfdefault}{\bfdefault}{\updefault}{11}% \DeclareFixedFont{\univLightXV}{\encodingdefault}% {\sfdefault}{\mddefault}{\updefault}{15}% \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% {\sfdefault}{\mddefault}{\sldefault}{15}% \DeclareFixedFont{\univBoldXV}{\encodingdefault}% {\sfdefault}{\bfdefault}{\updefault}{15}% \DeclareFixedFont{\univLightHead}{\encodingdefault}% {\sfdefault}{\mddefault}{\updefault}{\tud@head@fontsize}% \DeclareFixedFont{\univBoldHead}{\encodingdefault}% {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fontsize}% \fi% }% }% }% } % \end{macrocode} % \end{macro}^^A \tud@head@fontsize % \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@fixfonts@class@adapt % % Nach der Definition der notwendigen Befehle erfolgt nun die Umsetzung für % alle unterstützten Klassen. % \begin{macrocode} \tud@fixfonts@class@adapt{tudletter}{} \tud@fixfonts@class@adapt{tudfax}{} \tud@fixfonts@class@adapt{tudform}{} \tud@fixfonts@class@adapt{tudhaus}{} \tud@fixfonts@class@adapt{tudposter}{} \tud@fixfonts@class@adapt{tudbeamer}{} % \end{macrocode} % % 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. % % \subsection{Spezielle Patches für die Klasse \cls{tudbook}} % % Die notwendigen Anpassungen der Klasse \cls{tudbook} betreffen die % Schriftauswahl bei Überschriften. % % \begin{macro}{\@makechapterhead} % \begin{macro}{\@makeschapterhead} % \begin{macro}{\section} % \begin{macro}{\showtitle} % Die Überschriften sollen abhängig von der Option \opt{cdfont} und nicht immer % zwingend in \DIN gesetzt werden. % \begin{macrocode} \tud@fixfonts@class@adapt{tudbook}{% \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}{% \tud@sec@fontface% \if@color\color{HKS41-100}\fi% \Huge% }{}{\tud@patch@wrn{@makechapterhead}}% \patchcmd{\@makechapterhead}{\MakeUppercase}{% \tud@sec@format% }{}{\tud@patch@wrn{@makechapterhead}}% \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}{% \tud@sec@fontface% \if@color\color{HKS41-100}\fi% \Huge% }{}{\tud@patch@wrn{@makeschapterhead}}% \patchcmd{\@makeschapterhead}{\MakeUppercase}{% \tud@sec@format% }{}{\tud@patch@wrn{@makeschapterhead}}% \patchcmd{\section}{\dinBold\Large\bfseries\MakeUppercase}{% \tud@sec@fontface% \if@color\color{HKS41-100}\fi% \Large% \tud@sec@format% }{}{\tud@patch@wrn{section}}% \patchcmd{\showtitle}{\dinBold\Huge\bfseries\MakeUppercase}{% \tud@sec@fontface% \if@colortitle\color{HKS41-30}\fi% \Huge% \tud@sec@format% }{}{\tud@patch@wrn{showtitle}}% } % \end{macrocode} % \end{macro}^^A \showtitle % \end{macro}^^A \section % \end{macro}^^A \@makeschapterhead % \end{macro}^^A \@makechapterhead % % \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. % % \begin{KOMAfont}{title} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \begin{macro}{\maketitle} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \begin{macro}{\subtitlefont} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \begin{macro}{\preprocesstitle} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \begin{macro}{\sectionfont} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \begin{macro}{\subsectionfont} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \begin{macro}{\ps@tudposter} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % Es werden einige Einstellungen für die Überschriften angepasst. % \begin{macrocode} \tud@fixfonts@class@adapt{tudmathposter}{% \def\raggedtitle{\tud@raggedright}% \renewcommand*\raggedpart{\tud@raggedright}% \renewcommand*\raggedsection{\tud@raggedright}% \setkomafont{title}{\tud@sec@fontface\Huge}% \CheckCommand\maketitle{% \if@matheanull \setlength\@tempskipa{31.194586mm-\topsep}% \else \setlength\@tempskipa{33.02mm-\topskip}% \fi \vskip\@tempskipa {% \ifx\@title\@empty\else \usekomafont{title}\preprocesstitle{\@title}% \ifx\@subtitle\@empty\else\\\fi \fi }{ \ifx\@subtitle\@empty\else \subtitlefont\preprocesstitle{\@subtitle}% \fi \if@matheanull \vskip 2.9948cm\relax \else \vskip 3.17cm\relax \fi }% }% \apptocmd{\maketitle}{\vspace{-6ex}}{}{\tud@patch@wrn{maketitle}}% \renewcommand*\subtitlefont{% \unskip% \tud@sec@fontface% \huge% }% \renewcommand*\preprocesstitle[1]{\raggedtitle\tud@sec@format{#1}}% \if@mathevorgabe% \undef\sectionfont% \undef\subsectionfont% \fi% \newcommand*\sectionfont{\bfseries\LARGE}% \newcommand*\subsectionfont{\sectionfont\large}% % \end{macrocode} % Für die Schriftstärke in der Kopfzeile muss der Seitenstil angepasst und % anschließend nochmals akiviert werden. % \begin{macrocode} \patchcmd{\ps@tudposter}{\textbf{\@einrichtung}}{% \textbf{\fontseries{b}\selectfont\@einrichtung}% }{}{\tud@patch@wrn{ps@tudposter}}% \pagestyle{tudposter}% } % \end{macrocode} % \end{macro}^^A \ps@tudposter % \end{macro}^^A \subsectionfont % \end{macro}^^A \sectionfont % \end{macro}^^A \preprocesstitle % \end{macro}^^A \subtitlefont % \end{macro}^^A \maketitle % \end{KOMAfont}^^A title % % \begin{macro}{\tud@x@tudfonts@prevent} % \changes{v2.06}{2018/02/14}{% % neu, nur einmaliges Ausführen des Fixes für \pkg{tudfonts}% % }^^A % \begin{macro}{\if@tudfonts@nodin} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % Die Klasse \cls{tudmathposter} lädt für die Einstellungen der Schriften das % Paket \pkg{tudfonts}. Wenn \pkg{tudscrfonts} zum Einsatz kommen soll, ist das % unerwünscht, weshalb das Laden hiermit unterbunden wird. % \begin{macrocode} \newcommand*\tud@x@tudfonts@prevent{% \RequirePackage{amsmath}% \RequirePackage{amsfonts}% \newif\if@tudfonts@nodin% \let\DeclareTudMathSizes\@gobblefour% \let\tud@x@tudfonts@prevent\relax% } \PreventPackageFromLoading[\tud@x@tudfonts@prevent]{tudfonts} % \end{macrocode} % \end{macro}^^A \if@tudfonts@nodin % \end{macro}^^A \tud@x@tudfonts@prevent % % \iffalse % % % \fi % % \Finale % \endinput