% \iffalse meta-comment %/GitFileInfo=tudscr-comp.dtx % % TUD-Script -- Corporate Design of Technische Universität Dresden % ---------------------------------------------------------------------------- % % Copyright (C) Falk Hanisch , 2012-2022 % % ---------------------------------------------------------------------------- % % 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 % % \iffalse ins:batch + dtx:driver %<*ins> \ifx\documentclass\undefined \input docstrip.tex \ifToplevel{\batchinput{tudscr.ins}} \else \let\endbatchfile\relax \fi \endbatchfile % %<*dtx> \ProvidesFile{tudscr-comp.dtx}[2022/08/09] \RequirePackage{tudscr-gitinfo} \documentclass[english,ngerman,xindy]{tudscrdoc} \iftutex \usepackage{fontspec} \else \usepackage[T1]{fontenc} \usepackage[ngerman=ngerman-x-latest]{hyphsubst} \fi \usepackage{babel} \usepackage{tudscrfonts} \usepackage[babel]{microtype} \GitHubBase{\TUDScriptRepository} \begin{document} \author{Falk Hanisch\TUDScriptContactTitle} \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. % % \begin{macrocode} %<*package&identify> %\ProvidesPackage{tudscrcomp}% %\ProvidesPackage{fix-tudscrfonts}% [% %!TUD@Version % package % package for font fixes (compatibility for old tud(scr) classes)% ] %\TUD@Class@Check{tudscrcomp} % % \end{macrocode} % % \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@length} % \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@length[1]{% \ifdim#1<\maxdimen\relax% \begingroup% \tud@strlength\tud@res@a{#1}% \edef\tud@res@b{\expandafter\@gobble\string#1}% \ClassWarning{\TUD@Class@Name}{% Setting length `\string#1' is deprecated. \MessageBreak% The option `\tud@res@b=\tud@res@a'\MessageBreak% is used instead% }% \edef\tud@res@a{% \endgroup% \noexpand\TUDoption{\tud@res@b}{\tud@res@a}% \global\noexpand\csletcs{tud@\tud@res@b @dim}{tud@\tud@res@b @dim}% }% \tud@res@a% \global\setlength#1{\maxdimen}% \fi% } % % \end{macrocode} % \end{macro}^^A \TUD@deprecated@length % \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 |\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} % \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.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.04} % \changes{v2.04}{2015/02/18}{neu}^^A % \begin{macro}{\tud@v@2.05} % \changes{v2.05}{2015/07/03}{neu}^^A % \begin{macro}{\tud@v@2.06} % \changes{v2.06}{2018/06/26}{neu}^^A % \begin{macro}{\tud@v@last} % \changes{v2.02}{2014/08/22}{neu}^^A % \changes{v2.03}{2015/01/13}{angepasst}^^A % \changes{v2.04}{2015/02/18}{angepasst}^^A % \changes{v2.05}{2015/07/03}{angepasst}^^A % \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.02}{0} \csdef{tud@v@2.03}{1} \csdef{tud@v@2.04}{2} \csdef{tud@v@2.05}{3} \csdef{tud@v@2.06}{4} \csdef{tud@v@last}{4} % \end{macrocode} % \end{macro}^^A \tud@v@last % \end{macro}^^A \tud@v@2.06 % \end{macro}^^A \tud@v@2.05 % \end{macro}^^A \tud@v@2.04 % \end{macro}^^A \tud@v@2.03 % \end{macro}^^A \tud@v@2.02 % \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% \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}% \ifcsundef{tud@v@\@tempa}{% \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% }% }{% \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% \def\tud@reserved{\endgroup\@firstoftwo}% \else% \def\tud@reserved{\endgroup\@secondoftwo}% \fi% }% \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} \tud@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 bzw. des Paketes zugelassen. % \begin{macrocode} %<*class> \AtEndOfClass% % %<*package&fonts> \AtEndOfPackage% % {% \TUD@key@toolate{fontspec}% \if@tud@x@fontspec@requested% \RequirePackage{fontspec} \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 die Länge anpassen, wird dies mit \cs{TUD@deprecated@length} an % der entsprechenden Stelle geprüft und die korrespondierende Option auf % diesen Wert gesetzt, wobei eine Warnung erzeugt wird. % \begin{macrocode} \tud@newglue\footlogoheight \tud@setdim\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. Auch hier wird eine Warnung erzeugt, falls der Anwender diesen % Wert ändern sollte. % \begin{macrocode} %<*book|report|article> \tud@newglue\pageheadingsvskip \tud@setdim\pageheadingsvskip{\maxdimen} \tud@newglue\headingsvskip \tud@setdim\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. % \ToDo{ifdin nicht mehr definieren, Alternativ (IfDIN[active][TF])?}[v2.07] % \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 \TUDCDs. 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> %<*identify> % \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. % \begin{macro}{\tud@comp@on@main@class} % \begin{macro}{\tud@comp@on@poster@class} % \begin{macrocode} \@tud@res@swafalse% \newcommand*\tud@comp@on@main@class{\@gobble} \@tfor\tud@res@a:={tudscrbook}{tudscrreprt}{tudscrartcl}\do{% \@ifclassloaded{\tud@res@a}{\@tud@res@swatrue}{}% \if@tud@res@swa% \renewcommand*\tud@comp@on@main@class{\@firstofone}% \@break@tfor% \fi% }% \newcommand*\tud@comp@on@poster@class{\@gobble} \@ifclassloaded{tudscrposter}{% \renewcommand*\tud@comp@on@poster@class{\@firstofone}% }{}% % \end{macrocode} % \end{macro}^^A \tud@comp@on@poster@class % \end{macro}^^A \tud@comp@on@main@class % % \iffalse % %<*option> % \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{macrocode} \PassOptionsToPackage{extended}{tudscrcolor} % \end{macrocode} % % \iffalse % %<*body> % \fi % % \begin{macro}{\einrichtung} % \begin{macro}{\fachrichtung} % \begin{macro}{\institut} % \begin{macro}{\professur} % \begin{macro}{\moreauthor} % Es werden Aliasbefehle für die Eingabefelder definiert. % \begin{macrocode} \newcommand*\einrichtung{\faculty} \newcommand*\fachrichtung{\department} \newcommand*\institut{\institute} \newcommand*\professur{\chair} \newcommand*\moreauthor{\authormore} % \end{macrocode} % \end{macro}^^A \moreauthor % \end{macro}^^A \professur % \end{macro}^^A \institut % \end{macro}^^A \fachrichtung % \end{macro}^^A \einrichtung % \begin{macro}{\tudfont} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \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*\tudfont{\cdfont} \newcommand*\dinBold{\dinbn} \newcommand*\dinfamily{\dinbn} % \end{macrocode} % \end{macro}^^A \dinfamily % \end{macro}^^A \dinBold % \end{macro}^^A \tudfont % % \iffalse % %<*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 % % Die folgenden Makros werden für die Hauptklassen definiert. % \begin{macrocode} \tud@comp@on@main@class{% % \end{macrocode} % % \begin{macro}{\submitdate} % \begin{macro}{\submittedon} % \begin{macro}{\supervisorII} % \begin{macro}{\supervisedby} % \begin{macro}{\supervisedIIby} % Es werden weitere Aliasbefehle für die Eingabefelder der \cls{tudbook}-Klasse % definiert. % \begin{macrocode} \newcommand*\submitdate{\date} \newcommand*\submittedon[1]{\gdef\datetext{#1}} \newcommand*\supervisorII[1]{\g@addto@macro\@supervisor{\and\space#1}} \newcommand*\supervisedby[1]{\gdef\supervisorname{#1}} \newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}} % \end{macrocode} % \end{macro}^^A \supervisedIIby % \end{macro}^^A \supervisedby % \end{macro}^^A \supervisorII % \end{macro}^^A \submittedon % \end{macro}^^A \submitdate % \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{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} % \begin{macro}{\tud@chapter@pre} % \begin{macro}{\tud@chapter@app} % 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} \tud@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} % Hier erfolgt die notwendige Anpassungen der internen Gliederungsbefehle. % \begin{macrocode} \AtEndPreamble{% \ifundef{\if@chapter}{% \newif\if@chapter% \ifundef{\chapter}{\@chapterfalse}{\@chaptertrue}% }{}% \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}}% \else% \renewcommand*\tud@comp@chapterpage@wrn{% \PackageWarning{tudscrcomp}{% The command `\string\chapterpage'\space is not\MessageBreak% active as the used document class does not provide\MessageBreak% any chapters via `\string\chapter'% }% \global\let\tud@comp@chapterpage@wrn\relax% }% \fi% } % \end{macrocode} % \end{macro}^^A \tud@chapter@app % \end{macro}^^A \tud@chapter@pre % \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{environment}{theglossary} % \begin{macro}{\glossaryname} % \begin{macro}{\glossitem} % Eine rudimentäre Umgebung für ein Glossar. % \begin{macrocode} \AfterEndPreamble{% \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 % % Das waren die Makros für die Hauptklassen. % \begin{macrocode} } % \end{macrocode} % % % \iffalse % %<*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}{loadpackages} % \changes{v2.06o}{2022/08/02}{neu}^^A % 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 wird aus % Kompatibilitätsgründen diese Option bereitgestellt, um die Pakete ggf. Ende % der Präambel zu laden. % \begin{macrocode} \tud@comp@on@poster@class{% \tud@newif\if@tud@comp@loadpackages \TUD@key{loadpackages}[true]{% \TUD@set@ifkey{loadpackages}{@tud@comp@loadpackages}{#1}% } \AtEndPreamble{\TUD@key@toolate{loadpackages}} } % \end{macrocode} % \end{option}^^A loadpackages % % \iffalse % %<*body> % \fi % % \begin{macrocode} \tud@comp@on@poster@class{% \AtEndPreamble{% \if@tud@comp@loadpackages% \RequirePackage{calc} \RequirePackage{textcomp} \RequirePackage{tabularx} \fi% } } % \end{macrocode} % % \iffalse % %<*option> % \fi % % \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@comp@on@poster@class{% \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 % % Die folgenden Makros werden für die Posterklasse definiert. % \begin{macrocode} \tud@comp@on@poster@class{% % \end{macrocode} % % \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 (|\...logofile|) werden auf die % passenden \TUDScript-Befehle gelegt. Die Änderung der Makros, welche für die % Einbindung der Logos verantwortlich sind (|\...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.08] % \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} \NewDocumentCommand\centersection{o m}{% \tud@comp@centersection{section}{#1}{#2}% } \NewDocumentCommand\centersubsection{o m}{% \tud@comp@centersection{subsection}{#1}{#2}% } \NewDocumentCommand\topcentersection{o m}{% \tud@comp@centersection{topsection}{#1}{#2}% } \NewDocumentCommand\topcentersubsection{o m}{% \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% \IfValueTF{#2}{% \csuse{#1}[{#2}]{#3}% }{% \csuse{#1}{#3}% } \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{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} \tud@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 % % Das waren die Makros für die Posterklassen. % \begin{macrocode} } % \end{macrocode} % % \iffalse % %<*option> % \fi % % Zuletzt wir die Option für das Laden von \pkg{colortbl} durchgereicht. % \begin{macrocode} \tud@comp@on@poster@class{% \PassOptionsToPackage{table}{xcolor} } % \end{macrocode} % % \begin{option}{cropmargin} % \changes{v2.06o}{2022/08/03}{neu}^^A % \begin{macro}{\tud@cropmargin@set} % \changes{v2.06o}{2022/08/03}{neu}^^A % \begin{macro}{\schnittrand} % \changes{v2.05}{2016/04/17}{neu}^^A % Nun geht es an das Makro \cs{schnittrand}. Zur Intension dieses Befehls gab % es im \GitHubRepo(tud-cd/tud-cd)<6> bereits eine angeregte Diskussion. % \ToDo{Für \cls{tudscrposter} bzw alle Klassen übernehmen?}[v2.07] % \begin{macrocode} \tud@comp@on@poster@class{% \newcommand*\tud@cropmargin@set{}% \preto\tud@cdgeometry@@init{\tud@cropmargin@set}% \TUD@key{cropmargin}[5mm]{% \TUD@set@dimkey[mm]{cropmargin}{\@tempa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \edef\tud@cropmargin@set{% \noexpand\geometry{% papersize={% \the\dimexpr(\@tempa)*2+\paperwidth\relax,% \the\dimexpr(\@tempa)*2+\paperheight\relax% },% layoutsize={\the\paperwidth,\the\paperheight},% layoutoffset=\the\dimexpr\@tempa\relax,% showcrop% }% }% \fi% } % \end{macrocode} % Da die Option direkt auf das Seitenlayout zugreift und mehrmalige Aufrufe % sich beeinflussen würden, werden diese zum Ende der Präambel unterbunden. % \begin{macrocode} \AtEndPreamble{\TUD@key@toolate{cropmargin}}% % \end{macrocode} % Nachdem die passende Option definiert wurde, wird noch \cs{schnittrand} % ausgewertet und verarbeitet. Dies geschieht zum spätestmöglichen Zeitpunkt, % damit dieser Befehl irgendwo innerhalb der Präambel definiert werden kann. % \begin{macrocode} \preto\tud@cdgeometry@init{% \ifundef{\schnittrand}{}{% \TUDoptions{cropmargin=\schnittrand}% \ifx\FamilyKeyState\FamilyKeyStateProcessed\else% \PackageErrorNoLine{tudscrcomp}{% Wrong definition for `\string\schnittrand'% }{% The definition of `\string\schnittrand' does not expand\MessageBreak% to a valid dimension expression.% }% \fi% }% } } % \end{macrocode} % \end{macro}^^A \schnittrand % \end{macro}^^A \tud@cropmargin@set % \end{option}^^A cropmargin % % \begin{option}{tudmathfoot} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{option}{tudmathposterfoot} % \begin{option}{cdfoot} % \begin{macro}{\if@tud@mathfoot} % \changes{v2.05}{2016/04/17}{neu}^^A % Mit der Option \opt{tudmathfoot} 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} \tud@comp@on@poster@class{% \tud@newif\if@tud@mathfoot \TUD@key{tudmathfoot}[true]{% \TUD@set@ifkey{tudmathfoot}{@tud@mathfoot}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tud@mathfoot% \footcontent[\small]{% \tud@footcontent@@left{}% }[% \tud@footcontent@@right{}{}% ]% \else% \footcontent{% \tud@footcontent@@left{\contactname}% }[% \tud@footcontent@@right{\authorname}{\contactpersonname}% ]% \fi% \fi% } \TUD@key{tudmathposterfoot}[true]{\TUDoptions{tudmathfoot=#1}}% % \end{macrocode} % Die Option \opt{cdfoot} wird um Werte für die Einstellung des Posterfußes % erweitert. % \begin{macrocode} \TUD@key{cdfoot}{% \TUD@set@numkey{cdfoot}{@tempa}{% {tudscrposter}{0},{tudscrposterfoot}{0},{cdposter}{0},{tudscr}{0},% {tudmathposter}{1},{tudmathfoot}{1},{tudmathposterfoot}{1},{tudmath}{1}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% tudscrposter \TUDoptions{tudmathfoot=false}% \else% tudmathposter \TUDoptions{tudmathfoot=true}% \fi% \fi% } } % \end{macrocode} % \end{macro}^^A \if@tud@mathfoot % \end{option}^^A cdfoot % \end{option}^^A tudmathposterfoot % \end{option}^^A tudmathfoot % % \iffalse % %<*body> % \fi % % \begin{macro}{\fusszeile} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\footcolumn} % \changes{v2.05}{2016/04/17}{neu}^^A % \begin{macro}{\tud@footcontent@use} % 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} \tud@comp@on@poster@class{% \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} % Um die Option \opt{tudmathfoot} 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{tudmathfoot} aktiviert werden und wird hier nachgebildet. % \begin{macrocode} \patchcmd\tud@footcontent@use{% \tud@footcontent@@use{\tud@res@glue}% }{% \if@tud@mathfoot% \tud@footcontent@@use{\glueexpr\tud@dim@widemargin*21/5\relax}% \else% \tud@footcontent@@use{\@tud@res@glue}% \fi% }{}{\tud@patch@wrn{tud@footcontent@use}} } % \end{macrocode} % \end{macro}^^A \tud@footcontent@use % \end{macro}^^A \footcolumn % \end{macro}^^A \fusszeile % % \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 \LaTeX-Standardbefehlen bereits vor dem Laden der % eigentlichen Klasse 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 Klasse 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 Klasse 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% \let\abovecaptionskip\relax% \let\belowcaptionskip\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}% \newlength\abovecaptionskip% \newlength\belowcaptionskip% \setlength\abovecaptionskip{10\p@}% \setlength\belowcaptionskip{0\p@}% #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}{% \ifunivers\PassOptionsToPackage{cdoldfont}{tudscrfonts}\fi% \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}}% \def\sectionfont{\tud@sec@fontface\LARGE}% \def\subsectionfont{\tud@sec@fontface\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}% }{% {\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}^^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. % \ToDo{opensans nur durch Dokumentklasse nicht laden}[v2.07] % \begin{macrocode} \newcommand*\tud@x@tudfonts@prevent{% \newif\if@tudfonts@nodin% \let\DeclareTudMathSizes\@gobblefour% \let\tud@x@tudfonts@prevent\relax% } \PreventPackageFromLoading[\tud@x@tudfonts@prevent]{tudfonts} \PreventPackageFromLoading{opensans} % \end{macrocode} % \end{macro}^^A \if@tudfonts@nodin % \end{macro}^^A \tud@x@tudfonts@prevent % % \iffalse % % % \fi % % \PrintBackMatter % \endinput