% \CheckSum{702} % \iffalse meta-comment % % ============================================================================ % % TUD-KOMA-Script % Copyright (c) Falk Hanisch , 2012-2016 % % ============================================================================ % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License, version 1.3c of the license. The latest % version of this license is in http://www.latex-project.org/lppl.txt and % version 1.3c or later is part of all distributions of LaTeX 2005/12/01 % or later and of this work. This work has the LPPL maintenance status % "author-maintained". The current maintainer and author of this work % is Falk Hanisch. % % ---------------------------------------------------------------------------- % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz % in der Version 1.3c, verteilt und/oder veraendert werden. Die aktuelle % Version dieser Lizenz ist http://www.latex-project.org/lppl.txt und % Version 1.3c oder spaeter ist Teil aller Verteilungen von LaTeX 2005/12/01 % oder spaeter und dieses Werks. Dieses Werk hat den LPPL-Verwaltungs-Status % "author-maintained", wird somit allein durch den Autor verwaltet. Der % aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. % % ============================================================================ % % \fi % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \iffalse %%% From File: tudscr-comp.dtx %<*driver> \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \ProvidesFile{tudscr-comp.dtx}[% 2015/06/15 v2.04 TUD-KOMA-Script\space% % %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{tudscrcomp}[% %<*driver|package&identify> %!TUDVersion % package (compatibility for old tud(scr) classes)% ] % %<*driver> \RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} \documentclass[english,ngerman]{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-} \CodelineIndex \RecordChanges \GetFileInfo{tudscr-comp.dtx} \begin{document} \maketitle \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 Versionen und Klassen} % % Hiermit werden sowohl veraltete Befehle und Optionen aus früheren Versionen % von \TUDScript als auch \enquote{veraltete} Klassen und Pakete, welche das % \CD der \TnUD mehr oder weniger gut umsetzen, unterstützt. % % \StopEventually{\PrintIndex\PrintChanges} % % \subsection{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. % % \iffalse %<*class|(package&fonts)> % \fi % % \begin{macro}{\TUD@deprecated@key} % \changes{v2.03}{2015/02/05}{neu}^^A % \begin{macro}{\tud@deprecated@cmd} % \changes{v2.03}{2015/02/05}{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> \PackageWarning{tudscrfonts}% % {% The option key `#1' is deprecated.\MessageBreak% It's 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} %<*class&body> \newcommand*\tud@deprecated@cmd[2]{% \AtBeginDocument{% \ifcsdef{#1}{}{% \expandafter\newrobustcmd\csname #1\endcsname{% \ClassWarning{\TUDClassName}{% The command `\@backslashchar#1' is deprecated.\MessageBreak% It's recommended to use `\@backslashchar#2' instead% }% \csletcs{#1}{#2}% \@nameuse{#2}% }% }% }% } % % \end{macrocode} % \end{macro}^^A \tud@deprecated@cmd % \end{macro}^^A \TUD@deprecated@key % % \iffalse %<*option> % \fi % % \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% \if@tempswa% \TUD@deprecated@key{cdfonts=#1}{cdfont=true}% \else% \TUD@deprecated@key{cdfonts=#1}{cdfont=false}% \fi% \fi% } \TUD@key{tudfonts}[true]{% \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{tudfonts=#1}{cdfont=true}% \else% \TUD@deprecated@key{tudfonts=#1}{cdfont=false}% \fi% \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}{din} % \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. % \begin{macrocode} \TUD@key{din}[true]{% \TUD@set@ifkey{din}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{din}{cdfont=din}% \else% \TUD@deprecated@key{din=#1}{cdfont=nodin}% \fi% \fi% } \TUD@key{nodin}[true]{% \TUD@set@ifkey{nodin}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{nodin}{cdfont=nodin}% \else% \TUD@deprecated@key{nodin=#1}{cdfont=din}% \fi% \fi% } \TUD@key{noDIN}[true]{% \TUD@set@ifkey{noDIN}{@tempswa}{#1}% \ifx\FamilyKeyState\FamilyKeyStateProcessed% \if@tempswa% \TUD@deprecated@key{noDIN}{cdfont=nodin}% \else% \TUD@deprecated@key{noDIN=#1}{cdfont=din}% \fi% \fi% } % \end{macrocode} % \end{option}^^A noDIN % \end{option}^^A nodin % \end{option}^^A din % \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 % % \iffalse %<*class> % \fi % % \begin{option}{geometry} % \changes{v2.02}{2014/07/08}{neu}^^A % Umbennennung der zu allgemein benannten Option, um zukünftigen Konflikten mit % \KOMAScript{} aus dem Weg zu gehen. % \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@numkey@bool,% {nocd}{0},{nocdfont}{0},{nocdfonts}{0},{notudfonts}{0},% {cd}{1},{cdfont}{1},{cdfonts}{1},{tudfonts}{1},% {light}{1},{lightfont}{1},{lite}{1},{litefont}{1},{noheavyfont}{1},% {heavy}{2},{heavyfont}{2}% }{#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@numkey@bool,% {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 % % \iffalse % % \fi % % \begin{option}{tudscrver} % \changes{v2.02}{2014/08/22}{neu}^^A % \begin{macro}{\tud@v@comp} % \changes{v2.02}{2014/08/22}{neu}^^A % \begin{macro}{\tud@v@first} % \changes{v2.02}{2014/08/22}{neu}^^A % \begin{macro}{\tud@v@2.02} % \changes{v2.02}{2014/08/22}{neu}^^A % \begin{macro}{\tud@v@v2.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.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@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 % In einigen Fällen sind Änderungen mit früheren Versionen nicht kompatibel % oder unerwünscht, weil diese beispielsweise das Ausgabeergebnis verändern. % Standardmäßig werden die Klassen in der aktuellen Version geladen. Mit % \opt{tudscrver=\meta{Version}} kann auf das Verhalten einer früheren % Version geschaltet werden. Die eingestellte Kompatibilität wird als Zahl in % \cs{tud@v@comp} gespeichert. In den Makros \cs{tud@v@\meta{Version}} werden % die zugehörigen Nummern gespeichert. % \begin{macrocode} \newcommand*\tud@v@comp{\tud@v@last} \TUD@key{tudscrver}[last]{% \ifcsvoid{tud@v@#1}{% \def\tud@v@comp{0}% %<*class> \ClassWarningNoLine{\TUDClassName}% % %<*package&fonts> \PackageWarningNoLine{tudscrfonts}% % {% You have set option `tudscrver' to `#1', but\MessageBreak% this value is not supported. Because of this, the\MessageBreak% value for `tudscrver' was set to `first'% }% \FamilyKeyStateProcessed% }{% %<*class> \ClassInfoNoLine{\TUDClassName}% % %<*package&fonts> \PackageInfoNoLine{tudscrfonts}% % {% Switching compatibility level to `#1'% }% \edef\tud@v@comp{\@nameuse{tud@v@#1}}% \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% % {% \TUD@key{tudscrver}[]{% %<*class> \ClassError{\TUDClassName}% % %<*package&fonts> \PackageError{tudscrfonts}% % {Option `tudscrver' too late}{% Option `tudscrver' can only be set while loading the\MessageBreak% %<*class> class `\TUDClassName' % %<*package&fonts> package `tudscrfonts' % but you have tried to set it up later.% }% \FamilyKeyStateProcessed% }% % \end{macrocode} % Außerdem wird darauf geachtet, dass mindestens \KOMAScript-Version~v3.17 % vorhanden ist, andernfalls wird ein Fehler erzeugt. % \begin{macrocode} %<*class> \ifcsdef{scr@v@3.17}{% \ifnum\scr@compatibility<\@nameuse{scr@v@3.12}\relax% \ClassError{\TUDClassName}{% KOMA-Script compatibility level too low% }{% \TUDVersion\space has to be used at least with\MessageBreak% KOMA-Script compatibility option `version=v3.12'.% }% \fi% }{% \ClassError{\TUDClassName}{% KOMA-Script v3.17 is required% }{% \TUDVersion\space has to be used with KOMA-Script v3.17\MessageBreak% at least. You're using \KOMAScriptVersion% }% }% % } % \end{macrocode} % 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} % \end{macrocode} % \end{macro}^^A \tud@v@last % \end{macro}^^A \tud@v@v2.04 % \end{macro}^^A \tud@v@2.04 % \end{macro}^^A \tud@v@v2.03 % \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@first % \end{macro}^^A \tud@v@comp % \end{option}^^A tudscrver % \begin{macro}{\tud@ifverlower} % \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% } % \end{macrocode} % \end{macro}^^A \tud@ifverlower % % \iffalse % % %<*class&body> % \fi % % \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 \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@cmd{professorship}{chair} % \end{macrocode} % \end{macro}^^A \professorship % \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} % \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}% % \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} % \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} % \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}% % \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} % \end{macrocode} % \end{macro}^^A \birthday % \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} % \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@cmd{startdate}{issuedate}% \tud@deprecated@cmd{finaldate}{duedate}% \tud@deprecated@cmd{maturitydate}{duedate}% } % \end{macrocode} % \end{macro}^^A \maturitydate % \end{macro}^^A \finaldate % \end{macro}^^A \startdate % % % \iffalse % %<*package&preset> % \fi % % \subsection{Das Paket \pkg{tudscrcomp} -- Kompatibilität veralteter Klassen} % % Neben den \TUDScript-Klassen gibt es zahlreiche andere \LaTeX-Umsetzungen des % \CDs der \TnUD. Um eine Migration von diesen \enquote{veralteten} Klassen % zu erleichtern, wird das Paket \pkg{tudscrcomp} bereitgestellt. Mit diesem % können bei der Verwendung von \TUDScript die meisten Optionen und Befehle % genutzt werden, welche durch die Klasse \cls{tudbook} und teilweise vormals % durch die Klassen die \TUDScript-Klassen in der Version~v1.0 sowie die % Posterklassen \cls{tudmathposter} bzw. \cls{tudposter} bereitgestellt wurden. % % \ToDo{% % Optionen für \cls{tudbook} und \cls{tudmathposter}\val{=Mathematik(A0)}% % }[v2.05] % % Zunächst sollten vor der Definition der Kompatibilitätseinstellungen passende % Makros zur Fallunterscheidung definiert werden. % % \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. % \begin{macrocode} \newif\if@tud@oldscrclass \@ifclassloaded{tudscrbookold}{\@tud@oldscrclasstrue}{}% \@ifclassloaded{tudscrreprtold}{\@tud@oldscrclasstrue}{}% \@ifclassloaded{tudscrartclold}{\@tud@oldscrclasstrue}{}% % \end{macrocode} % \end{macro}^^A if@tud@oldclass % % % Jetzt folgen noch einige veraltete Befehle für die \TUDScript-Klassen. % % \iffalse % %<*package&option&!fonts> % \fi % % % \subsubsection{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 % %<*package&body&!fonts> % \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. % \begin{macrocode} \newcommand*\einrichtung{\faculty} \newcommand*\fachrichtung{\department} \newcommand*\institut{\institute} \newcommand*\professur{\chair} \newcommand*\moreauthor{\authormore} \newcommand*\submitdate{\date} \newcommand*\supervisorII[1]{% \expandafter\gdef\expandafter\@supervisor\expandafter{\@supervisor\and #1}% } \newcommand*\supervisedby[1]{\gdef\supervisorname{#1}} \newcommand*\supervisedIIby[1]{\gdef\supervisorothername{#1}} \newcommand*\submittedon[1]{\gdef\datetext{#1}} % \end{macrocode} % \end{macro}^^A \submittedon % \end{macro}^^A \supervisedIIby % \end{macro}^^A \supervisedby % \end{macro}^^A \supervisorII % \end{macro}^^A \submitdate % \end{macro}^^A \moreauthor % \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 % angepasst. % \begin{macrocode} \newcommand*\dissertation{% \thesis{\dissertationname}% \let\supervisorname\refereename% \let\supervisorothername\refereeothername% } % \end{macrocode} % \end{macro}^^A \dissertation % \begin{environment}{theglossary} % \begin{macro}{\glossaryname} % \begin{macro}{\glossitem} % Eine rudimentäre Umgebung für ein Glossar. % \begin{macrocode} \AtBeginDocument{% \ifdef{\theglossary}{}{% \providecommand*{\glossaryname}{Glossar} \newenvironment{theglossary}[1][]{% \PackageWarning{tudscrcomp}{% Using the environment `theglossary' is not\MessageBreak% recommended. You should rather use an appropriate\MessageBreak% package such as glossaries% }% \let\bibname\glossaryname% \bib@heading% #1% \list{}{% \setlength\labelsep{\z@}% \setlength\labelwidth{\z@}% \setlength\itemindent{-\leftmargin}% }% }{\endlist} \newcommand\glossitem[1]{\item[] #1\par}% }% } % \end{macrocode} % \end{macro}^^A \glossitem % \end{macro}^^A \glossaryname % \end{environment}^^A theglossary % \begin{macro}{\chapterpage} % \begin{macro}{\if@tud@chapterpage@temp} % \begin{macro}{\tud@chapterpage@set} % \begin{macro}{\tud@chapterpage@unset} % \begin{macro}{\tud@chapterpage@wrn} % Die alte \cls{tudbook}-Klasse stellt den Befehl \cs{chapterpage} bereit. % Mit diesem ist es möglich, das Verhalten der Kapitelseiten~-- welches durch % die Option \opt{chapterpage} gesteuert wird~-- temporär umzuschalten, also % statt Kapitelseiten lediglich Überschriften zu setzen und umgekehrt. Dies ist % typographisch durchaus zu hinterfragen, allerdings sollen die neuen Klassen % möglichst kompatibel zu der alten sein, weshalb diese Funktionalität trotzdem % implementiert wird. Der Befehl \cs{chapterpage} setzt den globalen Schalter % \cs{if@tud@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 % ursprünglichen Zustand geschaltet und der globale Schalter % \cs{if@tud@chapterpage@temp} zurückgesetzt. % \begin{macrocode} \newif\if@tud@chapterpage@temp \newcommand*\chapterpage{% \global\@tud@chapterpage@temptrue% \tud@chapterpage@wrn% } \newcommand*\tud@chapterpage@set[1][]{% \if@tud@chapterpage@temp% \if@tud@chapterpage% \TUDoptions{chapterpage=false}% \else% \TUDoptions{chapterpage=true}% \fi% \fi% } \newcommand*\tud@chapterpage@unset[1][]{% \tud@chapterpage@set% \global\@tud@chapterpage@tempfalse% } % \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{% \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@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 \chapterpage % \begin{macro}{\tud@chapter} % \begin{macro}{\tud@schapter} % \begin{macro}{\tud@addchap} % \begin{macro}{\tud@saddchap} % 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}}% } % \end{macrocode} % \end{macro}^^A \tud@saddchap % \end{macro}^^A \tud@addchap % \end{macro}^^A \tud@schapter % \end{macro}^^A \tud@chapter % % \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] % % \iffalse % %<*package&body&fonts> % \fi % % \subsection{Neue Schriftfamilien für alte TUD-Klassen} % % 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. % \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}% \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% \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% \let\dinBold\dinbn% \let\dinfamily\dinbn% }% }{} % \end{macrocode} % % \subsubsection{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~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}}% }{} % \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}} % % Auch für die beiden Posterklassen \cls{tudmathposter} und \cls{tudposter} % 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}{\subtitlefont} % \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} % \changes{v2.04}{2015/04/24}{\cls{tudmathposter} wird unterstützt}^^A % \begin{macro}{\tudfont} % \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}% \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% \fi% }{% \newif\if@tudfonts@nodin% \@ifundefined{if@sansmath}{\newif\if@sansmath}{}% } % \end{macrocode} % \end{macro}^^A \tudfont % \end{macro}^^A \if@sansmath % \end{macro}^^A \subsectionfont % \end{macro}^^A \sectionfont % \end{macro}^^A \subtitlefont % \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. % \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% }% }{} % \end{macrocode} % % \iffalse % % \fi % % \Finale % \endinput