diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx | 1764 |
1 files changed, 1359 insertions, 405 deletions
diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx index 1943c78f3c7..33fef7ee206 100644 --- a/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx @@ -1,4 +1,4 @@ -% \CheckSum{702} +% \CheckSum{1488} % \iffalse meta-comment % % ============================================================================ @@ -18,13 +18,13 @@ % % ---------------------------------------------------------------------------- % -% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz -% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle -% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und -% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 -% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status -% "author-maintained", wird somit allein durch den Autor verwaltet. Der -% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz +% in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle +% Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und +% Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 +% oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status +% "author-maintained", wird somit allein durch den Autor verwaltet. Der +% aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. % % ============================================================================ % @@ -51,24 +51,29 @@ %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-comp.dtx}[% - 2015/06/15 v2.04 TUD-KOMA-Script\space% + 2016/07/26 v2.05 TUD-KOMA-Script\space% %</driver> -%<package&identify>\NeedsTeXFormat{LaTeX2e} -%<package&identify>\ProvidesPackage{tudscrcomp}[% +%<package&identify&comp&base>\ProvidesPackage{tudscrcomp}[% +%<package&identify&comp&book>\ProvidesPackage{tudscrcomp-book}[% +%<package&identify&comp&poster>\ProvidesPackage{tudscrcomp-poster}[% +%<package&identify&fontsfix>\ProvidesPackage{fix-tudscrfonts}[% %<*driver|package&identify> -%!TUDVersion -%<package> package +%!TUD@Version +%<package&comp> package +%<package&fontsfix> package for font fixes (compatibility for old tud(scr) classes)% ] %</driver|package&identify> %<*driver> \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} -\documentclass[english,ngerman]{tudscrdoc} +\documentclass[english,ngerman,xindy]{tudscrdoc} \usepackage{selinput}\SelectInputMappings{adieresis={ä},germandbls={ß}} \usepackage[T1]{fontenc} \usepackage{babel} \usepackage{tudscrfonts} % only load this package, if the fonts are installed \KOMAoptions{parskip=half-} +\usepackage{microtype} +\usepackage{bookmark} \CodelineIndex \RecordChanges \GetFileInfo{tudscr-comp.dtx} @@ -85,6 +90,8 @@ % mit neuen Schriftfamilien ermöglicht}^^A % \changes{v2.04}{2015/04/22}{\pkg{tudscrfonts}: Unterstützung veralteter % Posterklassen}^^A +% \changes{v2.05}{2015/12/08}{\pkg{fix-tudscrfonts}: Dieses Paket übernimmt die +% Bereitstellung der Schriften für veraltete Klassen}^^A % % \section{Kompatibilität zu früheren Versionen und Klassen} % @@ -92,7 +99,7 @@ % von \TUDScript als auch \enquote{veraltete} Klassen und Pakete, welche das % \CD der \TnUD mehr oder weniger gut umsetzen, unterstützt. % -% \StopEventually{\PrintIndex\PrintChanges} +% \StopEventually{\PrintIndex\PrintChanges\PrintToDos} % % \subsection{Kompatibilität zu früheren \TUDScript-Versionen} % @@ -108,25 +115,27 @@ %<*class|(package&fonts)> % \fi % -% \begin{macro}{\TUD@deprecated@key} +% \begin{macro}{\TUD@key@deprecated} % \changes{v2.03}{2015/02/05}{neu}^^A -% \begin{macro}{\tud@deprecated@cmd} +% \begin{macro}{\TUD@cmd@deprecated} % \changes{v2.03}{2015/02/05}{neu}^^A +% \begin{macro}{\TUD@len@deprecated} +% \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 % definert. % \begin{macrocode} %<*option> -\newcommand*\TUD@deprecated@key[2]{% -%<*!fonts> - \ClassWarning{\TUDClassName}% -%</!fonts> -%<*fonts> +\newcommand*\TUD@key@deprecated[2]{% +%<*class> + \ClassWarning{\TUD@Class@Name}% +%</class> +%<*package&fonts> \PackageWarning{tudscrfonts}% -%</fonts> +%</package&fonts> {% - The option key `#1' is deprecated.\MessageBreak% + The option key `#1' is deprecated\MessageBreak% It's recommended to use `#2'\MessageBreak% instead% }% @@ -138,29 +147,99 @@ % den alten überschrieben. % \begin{macrocode} %<*class&body> -\newcommand*\tud@deprecated@cmd[2]{% +\newcommand*\TUD@cmd@deprecated[2]{% \AtBeginDocument{% - \ifcsdef{#1}{}{% + \ifcsundef{#1}{% \expandafter\newrobustcmd\csname #1\endcsname{% - \ClassWarning{\TUDClassName}{% - The command `\@backslashchar#1' is deprecated.\MessageBreak% + \ClassWarning{\TUD@Class@Name}{% + The command `\@backslashchar#1' is deprecated\MessageBreak% It's recommended to use `\@backslashchar#2' instead% }% \csletcs{#1}{#2}% - \@nameuse{#2}% + \csuse{#2}% }% - }% + }{}% }% } +\newcommand*\TUD@len@deprecated[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% +} %</class&body> % \end{macrocode} -% \end{macro}^^A \tud@deprecated@cmd -% \end{macro}^^A \TUD@deprecated@key +% \end{macro}^^A \TUD@len@deprecated +% \end{macro}^^A \TUD@cmd@deprecated +% \end{macro}^^A \TUD@key@deprecated % % \iffalse %<*option> % \fi % +% \begin{option}{fontspec} +% \changes{v2.02}{2014/08/29}{neu}^^A +% \changes{v2.05}{2015/07/06}{veraltet}^^A +% Früher musste die Unterstützung für die Schriftauswahl via \pkg{fontspec} +% manuell über die folgende Option aktiviert werden. +% \begin{macrocode} +\TUD@key{fontspec}[true]{% +%<*class> + \ClassWarning{\TUD@Class@Name}% +%</class> +%<*package&fonts> + \PackageWarning{tudscrfonts}% +%</package&fonts> + {% + The option key `fontspec' is deprecated\MessageBreak% + You should load the package `fontspec' manually% + }% + \TUD@set@ifkey{fontspec}{@tud@x@fontspec@enabled}{#1}% +} +% \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% +%</class> +%<*package&fonts> +\AtEndOfPackage% +%</package&fonts> +{% + \TUD@key{fontspec}[]% + {% +%<*class> + \ClassError{\TUD@Class@Name}% +%</class> +%<*package&fonts> + \PackageError{tudscrfonts}% +%</package&fonts> + {Option `fontspec' too late}{% + Option `fontspec' can only be set while loading the\MessageBreak% +%<*class> + class `\TUD@Class@Name' +%</class> +%<*package&fonts> + package `tudscrfonts' +%</package&fonts> + but you have tried to set it up later.% + }% + \FamilyKeyStateProcessed% + }% + \if@tud@x@fontspec@enabled% + \RequirePackage{fontspec}[2014/06/21]% + \fi% +} +% \end{macrocode} +% \end{option}^^A fontspec % \begin{option}{cdfonts} % \begin{option}{tudfonts} % Diese Optionen werden nur aus Gründen der Kompatibilität zu v1.0 definiert. @@ -169,9 +248,9 @@ \TUD@set@ifkey{cdfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{cdfonts=#1}{cdfont=true}% + \TUD@key@deprecated{cdfonts=#1}{cdfont=true}% \else% - \TUD@deprecated@key{cdfonts=#1}{cdfont=false}% + \TUD@key@deprecated{cdfonts=#1}{cdfont=false}% \fi% \fi% } @@ -179,9 +258,9 @@ \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{tudfonts=#1}{cdfont=true}% + \TUD@key@deprecated{tudfonts=#1}{cdfont=true}% \else% - \TUD@deprecated@key{tudfonts=#1}{cdfont=false}% + \TUD@key@deprecated{tudfonts=#1}{cdfont=false}% \fi% \fi% } @@ -195,9 +274,9 @@ \TUD@set@ifkey{heavyfont}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{heavyfont}{cdfont=heavy}% + \TUD@key@deprecated{heavyfont}{cdfont=heavy}% \else% - \TUD@deprecated@key{heavyfont=#1}{cdfont=true}% + \TUD@key@deprecated{heavyfont=#1}{cdfont=true}% \fi% \fi% } @@ -207,16 +286,16 @@ % \begin{option}{nodin} % \begin{option}{noDIN} % \changes{v2.04}{2015/04/22}{neu}^^A -% Diese Optionen dienten zur Auswahl, ob die Schrift DIN~Bold für die -% Überschriften verwendet werden soll. +% 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}{cdfont=din}% + \TUD@key@deprecated{din}{cdfont=din}% \else% - \TUD@deprecated@key{din=#1}{cdfont=nodin}% + \TUD@key@deprecated{din=#1}{cdfont=nodin}% \fi% \fi% } @@ -224,9 +303,9 @@ \TUD@set@ifkey{nodin}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{nodin}{cdfont=nodin}% + \TUD@key@deprecated{nodin}{cdfont=nodin}% \else% - \TUD@deprecated@key{nodin=#1}{cdfont=din}% + \TUD@key@deprecated{nodin=#1}{cdfont=din}% \fi% \fi% } @@ -234,9 +313,9 @@ \TUD@set@ifkey{noDIN}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{noDIN}{cdfont=nodin}% + \TUD@key@deprecated{noDIN}{cdfont=nodin}% \else% - \TUD@deprecated@key{noDIN=#1}{cdfont=din}% + \TUD@key@deprecated{noDIN=#1}{cdfont=din}% \fi% \fi% } @@ -256,9 +335,9 @@ \TUD@set@ifkey{sansmath}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{sansmath}{cdmath=true}% + \TUD@key@deprecated{sansmath}{cdmath=true}% \else% - \TUD@deprecated@key{sansmath=#1}{cdmath=false}% + \TUD@key@deprecated{sansmath=#1}{cdmath=false}% \fi% \fi% } @@ -266,9 +345,9 @@ \TUD@set@ifkey{serifmath}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{serifmath}{cdmath=false}% + \TUD@key@deprecated{serifmath}{cdmath=false}% \else% - \TUD@deprecated@key{serifmath=#1}{cdmath=true}% + \TUD@key@deprecated{serifmath=#1}{cdmath=true}% \fi% \fi% } @@ -285,7 +364,7 @@ % Umbennennung der zu allgemein benannten Option, um zukünftigen Konflikten mit % \KOMAScript{} aus dem Weg zu gehen. % \begin{macrocode} -\TUD@key{geometry}[true]{\TUD@deprecated@key{geometry=#1}{cdgeometry=#1}} +\TUD@key{geometry}[true]{\TUD@key@deprecated{geometry=#1}{cdgeometry=#1}} % \end{macrocode} % \end{option}^^A geometry % \begin{option}{barfont} @@ -300,15 +379,15 @@ {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}% + {heavy}{2},{heavyfont}{2},{bold}{2},{boldfont}{2}% }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false - \TUD@deprecated@key{barfont=#1}{cdhead=false}% + \TUD@key@deprecated{barfont=#1}{cdhead=false}% \or% true - \TUD@deprecated@key{barfont=#1}{cdhead=true}% + \TUD@key@deprecated{barfont=#1}{cdhead=true}% \or% heavy - \TUD@deprecated@key{barfont=#1}{cdhead=heavy}% + \TUD@key@deprecated{barfont=#1}{cdhead=heavy}% \fi% \fi% } @@ -323,9 +402,9 @@ \TUD@set@ifkey{widehead}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{widehead}{cdhead=paperwidth}% + \TUD@key@deprecated{widehead}{cdhead=paperwidth}% \else% - \TUD@deprecated@key{widehead=#1}{cdhead=textwidth}% + \TUD@key@deprecated{widehead=#1}{cdhead=textwidth}% \fi% \fi% } @@ -338,9 +417,9 @@ \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% - \TUD@deprecated@key{tudfoot}{cdfoot=true}% + \TUD@key@deprecated{tudfoot}{cdfoot=true}% \else% - \TUD@deprecated@key{tudfoot=#1}{cdfoot=false}% + \TUD@key@deprecated{tudfoot=#1}{cdfoot=false}% \fi% \fi% } @@ -367,15 +446,15 @@ }{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \ifcase\@tempa\relax% false - \TUD@deprecated@key{color=#1}{cd=true}% + \TUD@key@deprecated{color=#1}{cd=true}% \or% true - \TUD@deprecated@key{color=#1}{cd=color}% + \TUD@key@deprecated{color=#1}{cd=color}% \or% litecolor - \TUD@deprecated@key{color=#1}{cd=pale}% + \TUD@key@deprecated{color=#1}{cd=pale}% \or% bicolor - \TUD@deprecated@key{color=#1}{cd=bicolor}% + \TUD@key@deprecated{color=#1}{cd=bicolor}% \or% full - \TUD@deprecated@key{color=#1}{cd=fullcolor}% + \TUD@key@deprecated{color=#1}{cd=fullcolor}% \fi% \fi% } @@ -394,22 +473,39 @@ % \changes{v2.02}{2014/08/22}{neu}^^A % \begin{macro}{\tud@v@first} % \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@2.02} +% \begin{macro}{\tud@v@2.00} % \changes{v2.02}{2014/08/22}{neu}^^A -% \begin{macro}{\tud@v@v2.02} +% \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@v2.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@v2.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@last} % \changes{v2.02}{2014/08/22}{neu}^^A % \changes{v2.03}{2015/01/13}{angepasst}^^A % \changes{v2.04}{2015/02/18}{angepasst}^^A +% \changes{v2.05}{2015/07/03}{angepasst}^^A % In einigen Fällen sind Änderungen mit früheren Versionen nicht kompatibel % oder unerwünscht, weil diese beispielsweise das Ausgabeergebnis verändern. % Standardmäßig werden die Klassen in der aktuellen Version geladen. Mit @@ -420,33 +516,33 @@ % \begin{macrocode} \newcommand*\tud@v@comp{\tud@v@last} \TUD@key{tudscrver}[last]{% - \ifcsvoid{tud@v@#1}{% - \def\tud@v@comp{0}% + \tud@v@get\@tempa{#1}% + \ifcsundef{tud@v@\@tempa}{% %<*class> - \ClassWarningNoLine{\TUDClassName}% + \ClassWarningNoLine{\TUD@Class@Name}% %</class> %<*package&fonts> \PackageWarningNoLine{tudscrfonts}% %</package&fonts> {% - You have set option `tudscrver' to `#1', but\MessageBreak% + You have set option `tudscrver' to `\@tempa', but\MessageBreak% this value is not supported. Because of this, the\MessageBreak% value for `tudscrver' was set to `first'% }% - \FamilyKeyStateProcessed% + \def\tud@v@comp{0}% }{% %<*class> - \ClassInfoNoLine{\TUDClassName}% + \ClassInfoNoLine{\TUD@Class@Name}% %</class> %<*package&fonts> \PackageInfoNoLine{tudscrfonts}% %</package&fonts> {% - Switching compatibility level to `#1'% + Switching compatibility level to `\@tempa'% }% - \edef\tud@v@comp{\@nameuse{tud@v@#1}}% - \FamilyKeyStateProcessed% + \edef\tud@v@comp{\csuse{tud@v@\@tempa}}% }% + \FamilyKeyStateProcessed% } % \end{macrocode} % Eine zusätzliche Bedingung gibt es noch: Die Kompatibilität kann nur beim @@ -461,7 +557,7 @@ {% \TUD@key{tudscrver}[]{% %<*class> - \ClassError{\TUDClassName}% + \ClassError{\TUD@Class@Name}% %</class> %<*package&fonts> \PackageError{tudscrfonts}% @@ -469,7 +565,7 @@ {Option `tudscrver' too late}{% Option `tudscrver' can only be set while loading the\MessageBreak% %<*class> - class `\TUDClassName' + class `\TUD@Class@Name' %</class> %<*package&fonts> package `tudscrfonts' @@ -479,25 +575,26 @@ \FamilyKeyStateProcessed% }% % \end{macrocode} -% Außerdem wird darauf geachtet, dass mindestens \KOMAScript-Version~v3.17 -% vorhanden ist, andernfalls wird ein Fehler erzeugt. +% 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@3.17}{% - \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax% - \ClassError{\TUDClassName}{% + \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% }{% - \TUDVersion\space has to be used at least with\MessageBreak% - KOMA-Script compatibility option `version=v3.12'.% + \TUD@Version\space must be used at least with\MessageBreak% + KOMA-Script compatibility option `version=3.12'.% }% \fi% }{% - \ClassError{\TUDClassName}{% - KOMA-Script v3.17 is required% + \ClassError{\TUD@Class@Name}{% + KOMA-Script v\TUD@Version@KOMA is required% }{% - \TUDVersion\space has to be used with KOMA-Script v3.17\MessageBreak% - at least. You're using \KOMAScriptVersion% + \TUD@Version\space must at least be used with\MessageBreak% + KOMA-Script v\TUD@Version@KOMA. You're using \KOMAScriptVersion% }% }% %</class> @@ -506,39 +603,89 @@ % Die numerischen Werte zu den einzelnen Versionen. % \ToDo{Für jede neue Version der entsprechende Befehl}[Release] % \begin{macrocode} -\@namedef{tud@v@first}{0} -\@namedef{tud@v@2.02}{0} -\@namedef{tud@v@v2.02}{0} -\@namedef{tud@v@2.03}{1} -\@namedef{tud@v@v2.03}{1} -\@namedef{tud@v@2.04}{2} -\@namedef{tud@v@v2.04}{2} -\@namedef{tud@v@last}{2} +\csdef{tud@v@first}{0} +\csdef{tud@v@2.00}{0} +\csdef{tud@v@2.01}{0} +\csdef{tud@v@2.01a}{0} +\csdef{tud@v@2.01b}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.02}{0} +\csdef{tud@v@2.03}{1} +\csdef{tud@v@2.03a}{1} +\csdef{tud@v@2.04}{2} +\csdef{tud@v@2.04a}{2} +\csdef{tud@v@2.04b}{2} +\csdef{tud@v@2.04c}{2} +\csdef{tud@v@2.04d}{2} +\csdef{tud@v@2.04e}{2} +\csdef{tud@v@2.05}{3} +\csdef{tud@v@last}{3} % \end{macrocode} % \end{macro}^^A \tud@v@last -% \end{macro}^^A \tud@v@v2.04 +% \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@v2.03 +% \end{macro}^^A \tud@v@2.03a % \end{macro}^^A \tud@v@2.03 -% \end{macro}^^A \tud@v@v2.02 % \end{macro}^^A \tud@v@2.02 +% \end{macro}^^A \tud@v@2.01b +% \end{macro}^^A \tud@v@2.01a +% \end{macro}^^A \tud@v@2.01 +% \end{macro}^^A \tud@v@2.00 % \end{macro}^^A \tud@v@first % \end{macro}^^A \tud@v@comp % \end{option}^^A tudscrver -% \begin{macro}{\tud@ifverlower} +% \begin{macro}{\tud@v@get} +% \changes{v2.05}{2016/05/31}{neu}^^A +% Mit \cs{tud@v@get} wird die angegebene Versionsnummer in eine Normalform +% gebracht und an das Makro im ersten Argument übergeben. Damit spielt es keine +% Rolle, ob die im zweiten Argument übergebene Versionsnummer mit oder ohne +% führendes \enquote{v} angegeben wird. +% \begin{macrocode} +\newcommand*\tud@v@get[2]{% + \begingroup% + \def\@tempa{\kernel@ifnextchar v{\@tempb}{\@tempb v}}% + \def\@tempb v##1\@nil{\def\@tempc{##1}}% + \@tempa #2\@nil% + \edef\tud@reserved{% + \endgroup% + \etex@unexpanded{\def#1}{\@tempc}% + }% + \tud@reserved% +} +% \end{macrocode} +% \end{macro}^^A \tud@v@get +% \begin{macro}{\tud@if@v@lower} % \changes{v2.03}{2015/01/13}{neu}^^A % Mit diesem Befehl können abhängig von der gegebenen Kompatibilitätsversion in % den Klassen unterschiedliche Einstellungen vorgenommen werden. % \begin{macrocode} -\newcommand*\tud@ifverlower[1]{% - \ifnum\tud@v@comp<\@nameuse{tud@v@#1}\relax% - \expandafter\@firstoftwo% - \else% - \expandafter\@secondoftwo% - \fi% +\newcommand*\tud@if@v@lower[1]{% + \begingroup% + \tud@v@get\@tempa{#1}% + \ifcsdef{tud@v@\@tempa}{% + \ifnum\tud@v@comp<\csuse{tud@v@\@tempa}\relax% + \def\tud@reserved{\endgroup\@firstoftwo}% + \else% + \def\tud@reserved{\endgroup\@secondoftwo}% + \fi% + }{% + \def\tud@reserved{% + \ClassWarningNoLine{\TUD@Class@Name}{%PackageWarning! + Erroneous usage of `\string\tud@if@v@lower'.\MessageBreak% + There's no defined macro `\string\tud@v@\@tempa'% + }% + \endgroup\@firstoftwo% + }% + }% + \tud@reserved% } % \end{macrocode} -% \end{macro}^^A \tud@ifverlower +% \end{macro}^^A \tud@if@v@lower % % \iffalse %</option> @@ -546,12 +693,42 @@ %<*class&body> % \fi % +% \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} +%</book|report|article> +% \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> -\newlength\chapterheadingvskip +\newcommand*\chapterheadingvskip{} \let\chapterheadingvskip\headingsvskip %</book|report> % \end{macrocode} @@ -560,63 +737,73 @@ % 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@cmd{professorship}{chair} +\TUD@cmd@deprecated{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@cmd{studentid}{matriculationnumber} -\tud@deprecated@cmd{matriculationid}{matriculationnumber} +\TUD@cmd@deprecated{studentid}{matriculationnumber} +\TUD@cmd@deprecated{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@cmd{enrolmentyear}{matriculationyear}% +\TUD@cmd@deprecated{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@cmd{birthplace}{placeofbirth} +\TUD@cmd@deprecated{birthplace}{placeofbirth} % \end{macrocode} % \end{macro}^^A \birthplace -% \begin{macro}{\location} -% Für die Angabe des Ortes kann auch \cs{location} genutzt werden. -% \begin{macrocode} -\tud@deprecated@cmd{location}{place} -% \end{macrocode} -% \end{macro}^^A \location % \begin{macro}{\submissiondate} % Der Befehl \cs{submissiondate} kann als Aliasbefehl für den Standardbefehl % \cs{date} zur Datumsangabe genutzt werden. % \begin{macrocode} -\tud@deprecated@cmd{submissiondate}{date} +\TUD@cmd@deprecated{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@cmd{oralexaminationdate}{defensedate}% +\TUD@cmd@deprecated{oralexaminationdate}{defensedate} % \end{macrocode} % \end{macro}^^A \oralexaminationdate % \begin{macro}{\birthday} % Der Geburtstag kann auch mit \cs{birthday} angegeben werden. % \begin{macrocode} -\tud@deprecated@cmd{birthday}{dateofbirth} +\TUD@cmd@deprecated{birthday}{dateofbirth} % \end{macrocode} % \end{macro}^^A \birthday +% +% \iffalse +%</book|report|article> +% \fi +% +% \begin{macro}{\location} +% Für die Angabe des Ortes kann auch \cs{location} genutzt werden. +% \begin{macrocode} +\TUD@cmd@deprecated{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@cmd{logofile}{headlogo} -\tud@deprecated@cmd{logofilename}{headlogo} +\TUD@cmd@deprecated{logofile}{headlogo} +\TUD@cmd@deprecated{logofilename}{headlogo} % \end{macrocode} % \end{macro}^^A \logofilename % \end{macro}^^A \logofile @@ -627,19 +814,56 @@ % anzusehen. % \begin{macrocode} \AfterPackage{tudscrsupervisor}{% - \tud@deprecated@cmd{startdate}{issuedate}% - \tud@deprecated@cmd{finaldate}{duedate}% - \tud@deprecated@cmd{maturitydate}{duedate}% + \TUD@cmd@deprecated{startdate}{issuedate}% + \TUD@cmd@deprecated{finaldate}{duedate}% + \TUD@cmd@deprecated{maturitydate}{duedate}% } % \end{macrocode} % \end{macro}^^A \maturitydate % \end{macro}^^A \finaldate % \end{macro}^^A \startdate % -% % \iffalse %</class&body> -%<*package&preset> +%<*body> +%<*class|(package&fonts)> +% \fi +% +% Ab der \TUDScript-Version~v2.04 werden einige vertikale Abstände abhängig von +% der Schriftgröße definiert. Sollte eine frühere Kompatibilitätseinstellung +% angegeben worden sein, wird dieses verhalten deaktiviert. +% \begin{macrocode} +%<*class> +\AtEndOfClass% +%</class> +%<*package> +\AtEndOfPackage% +%</package> +{% + \tud@if@v@lower{2.04}{\TUDoptions{relspacing=false}}{}% +} +% \end{macrocode} +% +% \iffalse +%</class|(package&fonts)> +%<*package> +% \fi +% +% \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} +\def\dinBold{\dinbn} +\def\dinfamily{\dinbn} +% \end{macrocode} +% \end{macro}^^A \dinfamily +% \end{macro}^^A \dinBold +% +% \iffalse +%</package> +%</body> % \fi % % \subsection{Das Paket \pkg{tudscrcomp} -- Kompatibilität veralteter Klassen} @@ -652,52 +876,58 @@ % durch die Klassen die \TUDScript-Klassen in der Version~v1.0 sowie die % Posterklassen \cls{tudmathposter} bzw. \cls{tudposter} bereitgestellt wurden. % -% \ToDo{% -% Optionen für \cls{tudbook} und \cls{tudmathposter}\val{=Mathematik(A0)}% -% }[v2.05] +% \iffalse +%<*package&comp> +%<*base> +% \fi % -% Zunächst sollten vor der Definition der Kompatibilitätseinstellungen passende -% Makros zur Fallunterscheidung definiert werden. +% \subsubsection{Erkennen der geladenen Klasse} % -% \begin{macro}{\if@tud@oldclass} -% \changes{v2.02}{2014/08/29}{neu}^^A -% Wenn eine der alten Klassen aus den Vorlagen von Klaus Bergmann geladen -% wurde, wird dies für spätere Anpassungen registriert. Die alten Posterklassen -% werden ebenfalls unterstützt. -% \ToDo{Klasse tudbeamer und beamer-Stil tud einpflegen}[v2.xx] -% \begin{macrocode} -\newif\if@tud@oldclass -\@ifclassloaded{tudbook}{\@tud@oldclasstrue}{}% -\@ifclassloaded{tudbeamer}{\@tud@oldclasstrue}{}% -\@ifclassloaded{tudfax}{\@tud@oldclasstrue}{}% -\@ifclassloaded{tudform}{\@tud@oldclasstrue}{}% -\@ifclassloaded{tudhaus}{\@tud@oldclasstrue}{}% -\@ifclassloaded{tudletter}{\@tud@oldclasstrue}{}% -\@ifclassloaded{tudposter}{\@tud@oldclasstrue}{}% -\@ifclassloaded{tudmathposter}{\@tud@oldclasstrue}{}% -% \end{macrocode} -% \end{macro}^^A if@tud@oldclass -% \begin{macro}{\if@tud@oldscrclass} -% \changes{v2.02}{2014/08/29}{neu}^^A -% Soll das Paket \pkg{tudscrfonts} mit den \TUDScript-Klassen der Version~v1.0 -% genutzt werden, sind ebenfalls einige Anpassungen notwendig. +% 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} -\newif\if@tud@oldscrclass -\@ifclassloaded{tudscrbookold}{\@tud@oldscrclasstrue}{}% -\@ifclassloaded{tudscrreprtold}{\@tud@oldscrclasstrue}{}% -\@ifclassloaded{tudscrartclold}{\@tud@oldscrclasstrue}{}% +\PassOptionsToPackage{oldcolors}{tudscrcolor} +\@ifclassloaded{tudscrposter}{% + \RequirePackageWithOptions{tudscrcomp-poster}[\TUD@Version]% +}{% + \RequirePackageWithOptions{tudscrcomp-book}[\TUD@Version]% +} % \end{macrocode} -% \end{macro}^^A if@tud@oldclass % +% \iffalse +%</base> +%<*!base> +%<*body> +% \fi +% +% \subsubsection{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. % -% Jetzt folgen noch einige veraltete Befehle für die \TUDScript-Klassen. +% \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 % % \iffalse -%</package&preset> -%<*package&option&!fonts> +%</body> +%<*book> +%<*option> % \fi % -% % \subsubsection{Kompatibilität zu \cls{tudbook}} % % Die folgenden Optionen und Befehle werden durch die Klasse \cls{tudbook} und @@ -751,26 +981,19 @@ % \end{option}^^A ddcfooter % % \iffalse -%</package&option&!fonts> -%<*package&body&!fonts> +%</option> +%<*body> % \fi % -% \begin{macro}{\einrichtung} -% \begin{macro}{\fachrichtung} -% \begin{macro}{\institut} -% \begin{macro}{\professur} % \begin{macro}{\moreauthor} % \begin{macro}{\submitdate} % \begin{macro}{\supervisorII} % \begin{macro}{\supervisedby} % \begin{macro}{\supervisedIIby} % \begin{macro}{\submittedon} -% Es werden Aliasbefehle für die Eingabefelder definiert. +% Es werden weitere Aliasbefehle für die Eingabefelder der \cls{tudbook}-Klasse +% definiert. % \begin{macrocode} -\newcommand*\einrichtung{\faculty} -\newcommand*\fachrichtung{\department} -\newcommand*\institut{\institute} -\newcommand*\professur{\chair} \newcommand*\moreauthor{\authormore} \newcommand*\submitdate{\date} \newcommand*\supervisorII[1]{% @@ -786,10 +1009,6 @@ % \end{macro}^^A \supervisorII % \end{macro}^^A \submitdate % \end{macro}^^A \moreauthor -% \end{macro}^^A \professur -% \end{macro}^^A \institut -% \end{macro}^^A \fachrichtung -% \end{macro}^^A \einrichtung} % \begin{macro}{\dissertation} % Bei der Definition des Typs der Abschlussarbeit mit \cs{dissertation} wird % die Lokalisierungsvariable \cs{dissertationname} verwendet und die Feldnamen @@ -808,8 +1027,8 @@ % Eine rudimentäre Umgebung für ein Glossar. % \begin{macrocode} \AtBeginDocument{% - \ifdef{\theglossary}{}{% - \providecommand*{\glossaryname}{Glossar} + \ifundef{\theglossary}{% + \providecommand*\glossaryname{Glossar}% \newenvironment{theglossary}[1][]{% \PackageWarning{tudscrcomp}{% Using the environment `theglossary' is not\MessageBreak% @@ -824,19 +1043,19 @@ \setlength\labelwidth{\z@}% \setlength\itemindent{-\leftmargin}% }% - }{\endlist} + }{\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@chapterpage@temp} -% \begin{macro}{\tud@chapterpage@set} -% \begin{macro}{\tud@chapterpage@unset} -% \begin{macro}{\tud@chapterpage@wrn} +% \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 @@ -844,20 +1063,20 @@ % 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@chapterpage@temp}. Der Befehl \cs{tud@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@chapterpage@set} nochmals aufgerufen, das Verhalten auf den +% \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@chapterpage@temp} zurückgesetzt. +% \cs{if@tud@comp@chapterpage} zurückgesetzt. % \begin{macrocode} -\newif\if@tud@chapterpage@temp +\newif\if@tud@comp@chapterpage \newcommand*\chapterpage{% - \global\@tud@chapterpage@temptrue% - \tud@chapterpage@wrn% + \global\@tud@comp@chapterpagetrue% + \tud@comp@chapterpage@wrn% } -\newcommand*\tud@chapterpage@set[1][]{% - \if@tud@chapterpage@temp% +\newcommand*\tud@comp@chapterpage@set[1][]{% + \if@tud@comp@chapterpage% \if@tud@chapterpage% \TUDoptions{chapterpage=false}% \else% @@ -865,27 +1084,27 @@ \fi% \fi% } -\newcommand*\tud@chapterpage@unset[1][]{% - \tud@chapterpage@set% - \global\@tud@chapterpage@tempfalse% +\newcommand*\tud@comp@chapterpage@unset[1][]{% + \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@chapterpage@wrn{% +\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 + chapters throughout the document% }% - \global\let\tud@chapterpage@wrn\relax% + \global\let\tud@comp@chapterpage@wrn\relax% } % \end{macrocode} -% \end{macro}^^A \tud@chapterpage@wrn -% \end{macro}^^A \tud@chapterpage@unset -% \end{macro}^^A \tud@chapterpage@set -% \end{macro}^^A \if@tud@chapterpage@temp +% \end{macro}^^A \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} % \begin{macro}{\tud@schapter} @@ -894,22 +1113,24 @@ % Hier erfolgt die notwendige Anpassungen der internen Gliederungsbefehle. % \begin{macrocode} \AtEndPreamble{% - \pretocmd{\tud@chapter}{\tud@chapterpage@set}% - {}{\tud@patch@wrn{tud@nchapter}}% - \apptocmd{\tud@chapter}{\tud@chapterpage@unset}% - {}{\tud@patch@wrn{tud@nchapter}}% - \pretocmd{\tud@schapter}{\tud@chapterpage@set}% - {}{\tud@patch@wrn{tud@schapter}}% - \apptocmd{\tud@schapter}{\tud@chapterpage@unset}% - {}{\tud@patch@wrn{tud@schapter}}% - \pretocmd{\tud@addchap}{\tud@chapterpage@set}% - {}{\tud@patch@wrn{tud@naddchap}}% - \apptocmd{\tud@addchap}{\tud@chapterpage@unset}% - {}{\tud@patch@wrn{tud@naddchap}}% - \pretocmd{\tud@saddchap}{\tud@chapterpage@set}% - {}{\tud@patch@wrn{tud@saddchap}}% - \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}% - {}{\tud@patch@wrn{tud@saddchap}}% + \if@chapter% + \pretocmd{\tud@chapter}{\tud@comp@chapterpage@set}% + {}{\tud@patch@wrn{tud@chapter}}% + \apptocmd{\tud@chapter}{\tud@comp@chapterpage@unset}% + {}{\tud@patch@wrn{tud@chapter}}% + \pretocmd{\tud@schapter}{\tud@comp@chapterpage@set}% + {}{\tud@patch@wrn{tud@schapter}}% + \apptocmd{\tud@schapter}{\tud@comp@chapterpage@unset}% + {}{\tud@patch@wrn{tud@schapter}}% + \pretocmd{\tud@addchap}{\tud@comp@chapterpage@set}% + {}{\tud@patch@wrn{tud@addchap}}% + \apptocmd{\tud@addchap}{\tud@comp@chapterpage@unset}% + {}{\tud@patch@wrn{tud@addchap}}% + \pretocmd{\tud@saddchap}{\tud@comp@chapterpage@set}% + {}{\tud@patch@wrn{tud@saddchap}}% + \apptocmd{\tud@saddchap}{\tud@comp@chapterpage@unset}% + {}{\tud@patch@wrn{tud@saddchap}}% + \fi% } % \end{macrocode} % \end{macro}^^A \tud@saddchap @@ -917,124 +1138,793 @@ % \end{macro}^^A \tud@schapter % \end{macro}^^A \tud@chapter % +% +% \iffalse +%</body> +%</book> +%<*poster> +%<*option> +% \fi +% % \subsubsection{Kompatibilität zu \cls{tudmathposter}} % -% \ToDo{% -% Folgende Befehle sollten für maximale Kompatibilität unterstützt werden: -% \begin{itemize} -% \item Umgebung \env{farbtabellen} mit \cs{grautabelle} und \cs{blautabelle} -% \item \cs{telefon}, \cs{fax}, \cs{homepage}, \cs{email} -% \item \cs{fusszeile} \cs{footcolumn} Die linke Spalte enthält Hochschule, -% Einrichtung, Fachrichtung, Institut und Professur. Die rechte Spalte ist -% frei wählbar, und kann mit den Variablen \cs{author}, \cs{telefon}, -% \cs{email} und \cs{homepage} oder mit einem frei gewählten Absatz -% (\cs{footcolumn2}) gefüllt werden. -% \item \cs{zweitlogo}, \cs{drittlogo}, \cs{institutslogo} -% \item \cs{maketitle} -% \item \cs{schnittrand} mit \pkg{crop}? -% \item Abstände der Gliederungsebenen? -% \item Umgebungen \env{tablehere} und \env{figurehere} -% \item \cs{multicolsep} -% \item Optionen \opt{Mathematik} und \opt{MathematikA0} -% \end{itemize}% -% Testen mit \texttt{beispiel-utf8-serifmath.tex} -% }[v2.05] +% 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{backgroundcolor=true}% + \else% + \TUDoptions{backgroundcolor=false}% + \fi% + \fi% +} +% \end{macrocode} +% \end{option}^^A bluebg % % \iffalse -%</package&body&!fonts> -%<*package&body&fonts> +%</option> +%<*body> % \fi % -% \subsection{Neue Schriftfamilien für alte TUD-Klassen} +% \begin{pagestyle}{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{pagestyle}^^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 +% Hier werden Feldbefehle auf die \TUDScript-Pendants gelegt und der Befehl +% \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 \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{macro}{\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. % -% Wird das Paket \pkg{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 -% einige Patches notwendig. Bei den alten TUD-Klassen, müssen in erster Linie -% einige Kompatibilitätseinstellungen vorgenmommen werden. Dies betrifft -% insbesondere die Mathematikschriften sowie allerhand darin definierter, fixer -% Schriften. +% 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 der Gliederungsebene in Absprache mit Markus über Makro}[v2.06] % \begin{macrocode} -\ifbool{@tud@oldclass}{% - \AtBeginDocument{% - \if@tud@fontspec% - \DeclareFixedFont{\univLightVII}{\encodingdefault}% - {UniversLight}{m}{n}{7}% - \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% - {UniversLightOblique}{m}{n}{7}% - \DeclareFixedFont{\univBoldVII}{\encodingdefault}% - {UniversBold}{m}{n}{7}% - \DeclareFixedFont{\univLightIX}{\encodingdefault}% - {UniversLight}{m}{n}{9}% - \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% - {UniversLightOblique}{m}{n}{9}% - \DeclareFixedFont{\univBoldIX}{\encodingdefault}% - {UniversBold}{m}{n}{9}% - \DeclareFixedFont{\univLightXI}{\encodingdefault}% - {UniversLight}{m}{n}{11}% - \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% - {UniversLightOblique}{m}{n}{11}% - \DeclareFixedFont{\univBoldXI}{\encodingdefault}% - {UniversBold}{m}{n}{11}% - \DeclareFixedFont{\univLightXV}{\encodingdefault}% - {UniversLight}{m}{n}{15}% - \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% - {UniversLightOblique}{m}{n}{15}% - \DeclareFixedFont{\univBoldXV}{\encodingdefault}% - {UniversBold}{m}{n}{15}% +\newcounter{topsection} +\let\c@topsection\c@section +\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} +\newcounter{topsubsection} +\let\c@topsubsection\c@subsection +\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} +% \end{macrocode} +% \end{macro}^^A \topsubsection +% \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@cmd@store{raggedsection}% + \let\raggedsection\centering% + \ifx#2\@nil\relax% + \csuse{#1}{#3}% + \else% + \csuse{#1}[#2]{#3}% + \fi% + \tud@cmd@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}{-1} +% \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 beiden Befehlen lässt sich der Inhalt des Fußbereiches angepassen. +% Wird in einem und/oder beiden Argumente von \cs{footcolumn} ein Stern \val{*} +% verwendet, so bleibt der bisherige Inhalt erhalten. +% \begin{macrocode} +\newcommand*\fusszeile[2][]{\footcontent[#1]{#2}} +\newcommand*\footcolumn[2]{% + \ifxnumber{#1}{% + \ifcase#1\relax% + \footcontent{#2}% + \or% + \footcontent{#2}[*]% + \or% + \footcontent{*}[#2]% + \fi% + }{}% +} +% \end{macrocode} +% \end{macro}^^A \footcolumn +% \end{macro}^^A \fusszeile +% +% \iffalse +%</body> +%<*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% - \if@tud@univers% - \DeclareFixedFont{\univLightVII}{\encodingdefault}% - {\tud@univers}{l}{n}{7}% - \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% - {\tud@univers}{l}{sl}{7}% - \DeclareFixedFont{\univBoldVII}{\encodingdefault}% - {\tud@univers}{b}{n}{7}% - \DeclareFixedFont{\univLightIX}{\encodingdefault}% - {\tud@univers}{l}{n}{9}% - \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% - {\tud@univers}{l}{sl}{9}% - \DeclareFixedFont{\univBoldIX}{\encodingdefault}% - {\tud@univers}{b}{n}{9}% - \DeclareFixedFont{\univLightXI}{\encodingdefault}% - {\tud@univers}{l}{n}{11}% - \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% - {\tud@univers}{l}{sl}{11}% - \DeclareFixedFont{\univBoldXI}{\encodingdefault}% - {\tud@univers}{b}{n}{11}% - \DeclareFixedFont{\univLightXV}{\encodingdefault}% - {\tud@univers}{l}{n}{15}% - \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% - {\tud@univers}{l}{sl}{15}% - \DeclareFixedFont{\univBoldXV}{\encodingdefault}% - {\tud@univers}{b}{n}{15}% - \fi% + \footcontent{% + \tud@footcontent@@left{\contactname}% + }[% + \tud@footcontent@@right{\authorname}{\contactpersonname}% + ]% \fi% - \if@sansmath% - \DeclareSymbolFont{aunLetters}{OT1}{\tud@univers}{l}{sl}% - \SetSymbolFont{aunLetters}{bold}{OT1}{\tud@univers}{b}{sl}% - \DeclareSymbolFont{aunOperators}{OT1}{\tud@univers}{l}{n}% - \SetSymbolFont{aunOperators}{bold}{OT1}{\tud@univers}{b}{n}% - \DeclareSymbolFont{aunUpright}{OT1}{\tud@univers}{l}{n}% - \SetSymbolFont{aunUpright}{bold}{OT1}{\tud@univers}{b}{n}% - \DeclareSymbolFontAlphabet{\mathsf}{aunOperators}% - \DeclareSymbolFontAlphabet{\mathnormal}{aunLetters}% - \DeclareMathAlphabet\mathbf{OT1}{\tud@univers}{b}{n}% - \SetMathAlphabet\mathbf{bold}{OT1}{\tud@univers}{b}{n}% - \DeclareMathAlphabet\mathit{OT1}{\tud@univers}{l}{sl}% - \SetMathAlphabet\mathit{bold}{OT1}{\tud@univers}{l}{sl}% - \@ifpackageloaded{tudfonts}{% - \let\mv@normal\mv@univers% - \let\mv@bold\mv@universbold% - }{}% + \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% - \let\dinBold\dinbn% - \let\dinfamily\dinbn% - }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@mathposterfoot +% \end{option}^^A tudmathposterfoot +% +% \iffalse +%</option> +%<*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} abzuarbeiten, muss die Anpassung des +% Makros \cs{tud@footcontent@use} für die Ausgabe des Fußbereichs erfolgen. +% Normalerweise wird der Fußbereich in zwei gleichbreite Spalten über die +% komplette Textbreite aufgeteilt. In \cls{tudmathposter} hingegen, werden +% beide Fußspalten nicht über den kompletten textberecih versteilt, sondern es +% verbleibt etwas ungenutzter Platz rechts davon, welcher für ein etwaiges Logo +% verwendet wird. Dieses Verhalten wird hier nachgebildet. +% \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 unter \url{https://github.com/tud-cd/tud-cd/issues/6} bereits +% eine angeregte Diskussion. Deshalb wird das Makro als Wertzuweisung für die +% Option \opt{bleedmargin} genutzt. +% \ToDo{Für \cls{tudscrposter} übernehmen?}[v2.07] +% \begin{macrocode} +\ifundef{\schnittrand}{}{% + \ifxlen{\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 +%</body> +%</poster> +%</!base> +%</package&comp> +% \fi % -% \subsubsection{Patches für die Klasse \cls{tudbook}} +% \subsection{\pkg{fix-tudscrfonts} -- Schriften des \CDs für alte TUD-Klassen} +% +% Das Paket \pkg{fix-tudscrfonts} bietet die \TUDScript-Schriftfamilien für die +% veralteten Klassen von Klaus Bergmann sowie die Posterklassen an. +% +% \iffalse +%<*package&fontsfix> +%<*option> +% \fi +% +% Sämtliche Optionen werden an das Paket \pkg{tudscrfonts} durchgereicht, +% welches automatisch am Ende der Präambel geladen wird, falls dies zuvor durch +% den Anwender geschieht. Für die Klassen von Klaus Bergmann, \TUDScript in der +% Version~v1.0 sowie die alternativen Posterklassen bleiben die vertikalen +% Abstände schriftgrößenunabhängig. Außerdem wird für die fetten Schriften ein +% stärkerer Schriftschnitt genutzt. +% \begin{macrocode} +\PassOptionsToPackage{relspacing=false,cdfont=ultrabold}{tudscrfonts} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{tudscrfonts}} +\ProcessOptions\relax +\AtEndPreamble{% + \tud@fontsfix@maybe@err% + \RequirePackage{tudscrfonts}[\TUD@Version]% +} +% \end{macrocode} +% \begin{macro}{\tud@fontsfix@maybe@err} +% \changes{v2.05}{2016/01/02}{neu}^^A +% Je nachdem, ob das Paket zu spät oder mit einer falschen Klasse geladen +% wurde, wird eine Warnung ausgegeben. +% \begin{macrocode} +\ifx\usepackage\RequirePackage + \newcommand*\tud@fontsfix@maybe@err{% + \PackageError{fix-tudscrfonts}{Package too late}{% + You must load `fix-tudscrfonts' before\MessageBreak% + any document class with `\string\RequirePackage'% + }% + }% +\else + \newcommand*\tud@fontsfix@maybe@err{% + \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% + `tudletter', `tudposter' and `tudmathposter',\MessageBreak% + as well as `tudscrbookold', `tudscrreprtold'\MessageBreak% + and `tudscrartclold'. Otherwise it's adequate\MessageBreak% + to use package `tudscrfonts' as usual% + }% + }% +\fi +% \end{macrocode} +% \end{macro}^^A \tud@fontsfix@maybe@err +% +% \iffalse +%</option> +%<*body> +% \fi +% +% \subsubsection{Patches für die unterstützten Klassen} +% +% Für alle unterstützten Klassen sind vor und nach dem Laden einige Anpassungen +% notwendig. +% +% \begin{macro}{\tud@fontsfix@AdaptClass} +% \changes{v2.05}{2016/01/02}{neu}^^A +% \begin{macro}{\univBoldHead} +% \begin{macro}{\univLightHead} +% \begin{macro}{\univBoldXV} +% \begin{macro}{\univLightObliqueXV} +% \begin{macro}{\univLightXV} +% \begin{macro}{\univBoldXI} +% \begin{macro}{\univLightObliqueXI} +% \begin{macro}{\univLightXI} +% \begin{macro}{\univBoldIX} +% \begin{macro}{\univLightObliqueIX} +% \begin{macro}{\univLightIX} +% \begin{macro}{\univBoldVII} +% \begin{macro}{\univLightObliqueVII} +% \begin{macro}{\univLightVII} +% 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@fontsfix@AdaptClass[2]{% + \BeforeClass{#1}{% + \let\tud@fontsfix@maybe@err\relax% + \tud@cmd@store{DeclareFixedFont}% + \renewcommand*\DeclareFixedFont[6]{}% + \tud@cmd@store{rmdefault}% + \tud@cmd@store{sfdefault}% + \tud@cmd@store{ttdefault}% + \tud@cmd@store{bfdefault}% + \tud@cmd@store{mddefault}% + \tud@cmd@store{itdefault}% + \tud@cmd@store{sldefault}% + \tud@cmd@store{scdefault}% + \tud@cmd@store{updefault}% + \tud@cmd@store{rmfamily}% + \tud@cmd@store{sffamily}% + \tud@cmd@store{ttfamily}% + \tud@cmd@store{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \tud@cmd@store{normalfont}% + \let\normalfont\relax% + \PassOptionsToClass{serifmath}{#1}% + }% + \AfterClass{#1}{% +% \end{macrocode} +% +% \begin{macrocode} + \RequirePackage{tudscrbase}[\TUD@Version]% + \tud@cmd@restore{DeclareFixedFont}% + \tud@cmd@restore{rmdefault}% + \tud@cmd@restore{sfdefault}% + \tud@cmd@restore{ttdefault}% + \tud@cmd@restore{bfdefault}% + \tud@cmd@restore{mddefault}% + \tud@cmd@restore{itdefault}% + \tud@cmd@restore{sldefault}% + \tud@cmd@restore{scdefault}% + \tud@cmd@restore{updefault}% + \tud@cmd@restore{rmfamily}% + \tud@cmd@restore{sffamily}% + \tud@cmd@restore{ttfamily}% + \tud@cmd@restore{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \tud@cmd@restore{normalfont}% + #2% + \AfterPackage*{tudscrfonts}{% + \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@fntsz{9}% + \if@tud@univers% + \if@tud@x@fontspec@enabled% + \DeclareFixedFont{\univLightVII}{\encodingdefault}% + {UniversLight}{m}{n}{7}% + \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% + {UniversLightOblique}{m}{n}{7}% + \DeclareFixedFont{\univBoldVII}{\encodingdefault}% + {UniversBold}{m}{n}{7}% + \DeclareFixedFont{\univLightIX}{\encodingdefault}% + {UniversLight}{m}{n}{9}% + \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% + {UniversLightOblique}{m}{n}{9}% + \DeclareFixedFont{\univBoldIX}{\encodingdefault}% + {UniversBold}{m}{n}{9}% + \DeclareFixedFont{\univLightXI}{\encodingdefault}% + {UniversLight}{m}{n}{11}% + \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% + {UniversLightOblique}{m}{n}{11}% + \DeclareFixedFont{\univBoldXI}{\encodingdefault}% + {UniversBold}{m}{n}{11}% + \DeclareFixedFont{\univLightXV}{\encodingdefault}% + {UniversLight}{m}{n}{15}% + \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% + {UniversLightOblique}{m}{n}{15}% + \DeclareFixedFont{\univBoldXV}{\encodingdefault}% + {UniversBold}{m}{n}{15}% + \DeclareFixedFont{\univLightHead}{\encodingdefault}% + {UniversLight}{m}{n}{\tud@head@fntsz}% + \DeclareFixedFont{\univBoldHead}{\encodingdefault}% + {UniversBold}{m}{n}{\tud@head@fntsz}% + \else% + \DeclareFixedFont{\univLightVII}{\encodingdefault}% + {\tud@univers}{l}{n}{7}% + \DeclareFixedFont{\univLightObliqueVII}{\encodingdefault}% + {\tud@univers}{l}{sl}{7}% + \DeclareFixedFont{\univBoldVII}{\encodingdefault}% + {\tud@univers}{b}{n}{7}% + \DeclareFixedFont{\univLightIX}{\encodingdefault}% + {\tud@univers}{l}{n}{9}% + \DeclareFixedFont{\univLightObliqueIX}{\encodingdefault}% + {\tud@univers}{l}{sl}{9}% + \DeclareFixedFont{\univBoldIX}{\encodingdefault}% + {\tud@univers}{b}{n}{9}% + \DeclareFixedFont{\univLightXI}{\encodingdefault}% + {\tud@univers}{l}{n}{11}% + \DeclareFixedFont{\univLightObliqueXI}{\encodingdefault}% + {\tud@univers}{l}{sl}{11}% + \DeclareFixedFont{\univBoldXI}{\encodingdefault}% + {\tud@univers}{b}{n}{11}% + \DeclareFixedFont{\univLightXV}{\encodingdefault}% + {\tud@univers}{l}{n}{15}% + \DeclareFixedFont{\univLightObliqueXV}{\encodingdefault}% + {\tud@univers}{l}{sl}{15}% + \DeclareFixedFont{\univBoldXV}{\encodingdefault}% + {\tud@univers}{b}{n}{15}% + \DeclareFixedFont{\univLightHead}{\encodingdefault}% + {\tud@univers}{l}{n}{\tud@head@fntsz}% + \DeclareFixedFont{\univBoldHead}{\encodingdefault}% + {\tud@univers}{b}{n}{\tud@head@fntsz}% + \fi% + \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@fntsz}% + \DeclareFixedFont{\univBoldHead}{\encodingdefault}% + {\sfdefault}{\bfdefault}{\updefault}{\tud@head@fntsz}% + \fi% + }% + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \univLightVII +% \end{macro}^^A \univLightObliqueVII +% \end{macro}^^A \univBoldVII +% \end{macro}^^A \univLightIX +% \end{macro}^^A \univLightObliqueIX +% \end{macro}^^A \univBoldIX +% \end{macro}^^A \univLightXI +% \end{macro}^^A \univLightObliqueXI +% \end{macro}^^A \univBoldXI +% \end{macro}^^A \univLightXV +% \end{macro}^^A \univLightObliqueXV +% \end{macro}^^A \univBoldXV +% \end{macro}^^A \univLightHead +% \end{macro}^^A \univBoldHead +% \end{macro}^^A \tud@fontsfix@AdaptClass +% +% Nach der Definition der notwendigen Befehle erfolgt nun die Umsetzung für +% alle unterstützten Klassen. +% \begin{macrocode} +\tud@fontsfix@AdaptClass{tudletter}{} +\tud@fontsfix@AdaptClass{tudfax}{} +\tud@fontsfix@AdaptClass{tudform}{} +\tud@fontsfix@AdaptClass{tudhaus}{} +\tud@fontsfix@AdaptClass{tudposter}{} +\tud@fontsfix@AdaptClass{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. +% +% \subsubsection{Spezielle Patches für die Klasse \cls{tudbook}} % % Die notwendigen Anpassungen der Klasse \cls{tudbook} betreffen die % Schriftauswahl bei Überschriften. @@ -1044,114 +1934,178 @@ % \begin{macro}{\section} % \begin{macro}{\showtitle} % Die Überschriften sollen abhängig von der Option \opt{cdfont} und nicht immer -% zwingend in DIN~Bold gesetzt werden. -% \begin{macrocode} -\@ifclassloaded{tudbook}{% - \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}% - {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makechapterhead}}% - \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}% - {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{@makeschapterhead}}% - \patchcmd{\section}{\dinBold\Large\bfseries}% - {\bfseries\tud@font@heading\Large}{}{\tud@patch@wrn{section}}% - \patchcmd{\showtitle}{\dinBold\Huge\bfseries}% - {\bfseries\tud@font@heading\Huge}{}{\tud@patch@wrn{showtitle}}% -}{} +% zwingend in \DIN gesetzt werden. +% \begin{macrocode} +\tud@fontsfix@AdaptClass{tudbook}{% + \patchcmd{\@makechapterhead}{\dinBold\Huge\bfseries}{% + \tud@sec@fontface[\bfseries]% + \if@color\color{HKS41-100}\fi% + \Huge% + }{}{\tud@patch@wrn{@makechapterhead}}% + \patchcmd{\@makechapterhead}{\MakeUppercase}{% + \tud@makeuppercase% + }{}{\tud@patch@wrn{@makechapterhead}}% + \patchcmd{\@makeschapterhead}{\dinBold\Huge\bfseries}{% + \tud@sec@fontface[\bfseries]% + \if@color\color{HKS41-100}\fi% + \Huge% + }{}{\tud@patch@wrn{@makeschapterhead}}% + \patchcmd{\@makeschapterhead}{\MakeUppercase}{% + \tud@makeuppercase% + }{}{\tud@patch@wrn{@makeschapterhead}}% + \patchcmd{\section}{\dinBold\Large\bfseries\MakeUppercase}{% + \tud@sec@fontface[\bfseries]% + \if@color\color{HKS41-100}\fi% + \Large% + \tud@makeuppercase% + }{}{\tud@patch@wrn{section}}% + \patchcmd{\showtitle}{\dinBold\Huge\bfseries\MakeUppercase}{% + \tud@sec@fontface[\bfseries]% + \if@colortitle\color{HKS41-30}\fi% + \Huge% + \tud@makeuppercase% + }{}{\tud@patch@wrn{showtitle}}% +} % \end{macrocode} % \end{macro}^^A \showtitle % \end{macro}^^A \section % \end{macro}^^A \@makeschapterhead % \end{macro}^^A \@makechapterhead % -% \subsubsection{Patches für \cls{tudposter} und \cls{tudmathposter}} +% \subsubsection{Spezielle Patches für die Klasse \cls{tudmathposter}} % -% Auch für die beiden Posterklassen \cls{tudmathposter} und \cls{tudposter} -% sowie das Paket \pkg{tudfonts} sind kleine Anpassungen notwendig. +% 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}{\if@sansmath} +% \begin{macro}{\ps@tudposter} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A -% \begin{macro}{\tudfont} +% \begin{macro}{\if@tudfonts@nodin} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % Es werden einige Einstellungen für die Überschriften angepasst. % \begin{macrocode} -\@ifclassloaded{tudmathposter}{% - \setkomafont{title}{\bfseries\tud@font@heading\Huge}% - \renewcommand*\subtitlefont{\fontseries{m}\tud@font@heading\huge}% +\tud@fontsfix@AdaptClass{tudmathposter}{% + \def\raggedtitle{\tud@raggedright}% + \renewcommand*\raggedpart{\tud@raggedright}% + \renewcommand*\raggedsection{\tud@raggedright}% + \setkomafont{title}{\tud@sec@fontface[\bfseries]\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% + \ifstr{\mddefault}{l}{% + \tud@sec@fontface[\fontseries{m}]% + }{% + \tud@sec@fontface[\fontseries{bx}]% + }% + \huge% + }% + \renewcommand*\preprocesstitle[1]{\raggedtitle\tud@makeuppercase{#1}}% \if@mathevorgabe% - \renewcommand*\sectionfont{\univbn\LARGE}% - \renewcommand*\subsectionfont{\univbn\large}% - \fi% -}{} -\@ifpackageloaded{tudfonts}{% - \let\if@sansmath\if@tudfonts@sansmath% - \renewcommand*\tudfont[1]{\cdfont{#1}}% - \if@sansmath% - \if@tudfonts@eulermath% - \PackageWarningNoLine{tudscrfonts}{% - You're using non-serif fonts in math mode. It's\MessageBreak% - recommended to pass the option `noeulermath' to\MessageBreak% - package `tudfonts'% - }% - \fi% + \undef\sectionfont% + \undef\subsectionfont% \fi% -}{% - \newif\if@tudfonts@nodin% - \@ifundefined{if@sansmath}{\newif\if@sansmath}{}% + \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 \tudfont -% \end{macro}^^A \if@sansmath +% 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} +\PreventPackageFromLoading[% + \RequirePackage{amsmath}% + \RequirePackage{amsfonts}% + \let\DeclareTudMathSizes\@gobblefour% + \newif\if@tudfonts@nodin% +]{tudfonts} +% \end{macrocode} +% \end{macro}^^A \if@tudfonts@nodin +% \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 % -% Für die Klasse \cls{tudposter} muss lediglich ein Schalter übernommen werden. -% -% \begin{macrocode} -\@ifclassloaded{tudposter}{% - \let\if@sansmath\if@tudposter@sansmath% -}{} -% \end{macrocode} -% % \subsubsection{Patches für die \TUDScript-Klassen~v1.0} % -% Für die Verwendung des Paketes \pkg{tudscrfonts} mit den \TUDScript-Klassen -% in der Version~v1.0 sind ebenfalls einige Anpassungen notwendig. -% -% Es muss Sorge dafür getragen werden, dass einige veraltete Befehle -% aktualisiert werden. Hierfür müssen diese \enquote{unschädlich} gemacht -% werden, noch bevor das Paket selbst in Erscheinung tritt. +% Für die Verwendung des Paketes \pkg{fix-tudscrfonts} mit \TUDScript in der +% Version~v1.0 sind ebenfalls einige Anpassungen notwendig. Es muss Sorge dafür +% getragen werden, dass einige veraltete Befehle aktualisiert werden. Hierfür +% müssen diese \enquote{unschädlich} gemacht werden, noch bevor das Paket +% selbst in Erscheinung tritt. % \begin{macrocode} -\ifbool{@tud@oldscrclass}{% - \AtBeginDocument{% - \DeclareSymbolFontAlphabet{\mathrm}{operators} - \if@tud@fontspec% - \DeclareFixedFont{\univLightHead}{\encodingdefault}% - {UniversLight}{m}{n}{\tud@head@fntsz}% - \DeclareFixedFont{\univBoldHead}{\encodingdefault}% - {UniversBold}{m}{n}{\tud@head@fntsz}% - \else% - \if@tud@univers% - \DeclareFixedFont{\univLightHead}{\encodingdefault}% - {\tud@univers}{l}{n}{\tud@head@fntsz}% - \DeclareFixedFont{\univBoldHead}{\encodingdefault}% - {\tud@univers}{b}{n}{\tud@head@fntsz}% - \fi% - \fi% - }% -}{} +\tud@fontsfix@AdaptClass{tudscrbookold}{\let\@setfonts\relax} +\tud@fontsfix@AdaptClass{tudscrreprtold}{\let\@setfonts\relax} +\tud@fontsfix@AdaptClass{tudscrartclold}{\let\@setfonts\relax} +\BeforePackage{tudscrfonts}{% + \undef\univln% + \undef\univrn% + \undef\univbn% + \undef\univxn% + \undef\univls% + \undef\univrs% + \undef\univbs% + \undef\univxs% + \undef\dinbn% + \undef\textuln% + \undef\texturn% + \undef\textubn% + \undef\textuxn% + \undef\textuls% + \undef\texturs% + \undef\textubs% + \undef\textuxs% + \undef\textdbn% +} % \end{macrocode} % % \iffalse -%</package&body&fonts> +%</body> +%</package&fontsfix> % \fi % % \Finale |