diff options
83 files changed, 28661 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/tudscr/README b/Master/texmf-dist/doc/latex/tudscr/README new file mode 100644 index 00000000000..4d3230e7b68 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/README @@ -0,0 +1,36 @@ + +TUD-KOMA-Script 2014/04/24 v2.01 +Copyright (c) Falk Hanisch <tudscr[at]gmail.com>, 2012-2014 + +This material is subject to the LaTeX Project Public License. See +lppl.txt (english) or lppl-de.txt (german) for the details of that +license. + +------------------------------------------------------------------ + +The TUD-KOMA-Script-bundle provides classes and packages, whose +aimis to typeset LaTeX documents in the Corporate Design of the +Technische Universität Dresden. It bases on the KOMA-Script +document classes. The fonts Univers and DIN-Bold are necessary. +They are available on request for staff and students of the +Technische Universität Dresden. +(https://tu-dresden.de/service/publizieren/cd/4_latex) + +------------------------------------------------------------------ + +To install the fonts, please refer to the forum: +http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php + +------------------------------------------------------------------ + +Classes and Packages: + +The bundle offers: +– the three document classes tudscrartcl, tudscrreprt, tudscrbook + as a drop-in replacement of scrartcl, scrreprt and scrbook +– the package 'tudscrsupervisor' providing environments and macros + to create tasks, evaluations and notices for scientific theses +- the package 'mathswap' for swapping math delimiters within + numbers (like ionumbers) +– the package 'twocolfix' for fixing the position of headings in + twocolumn layout
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/dissertation.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/dissertation.tex new file mode 100644 index 00000000000..edae16766ed --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/dissertation.tex @@ -0,0 +1,25 @@ +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{isodate} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{diss} +\degree[Dr.-Ing.]{Doktor-Ingenieur} +\author{Mickey Mouse} +\dateofbirth{2.1.1990} +\placeofbirth{Dresden} +\date{20.04.2014} +\defensedate{20.10.2014} +\referee{Dagobert Duck \and Mac Moneysac} +\maketitle +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/document.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/document.tex new file mode 100644 index 00000000000..9d304473ea7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/document.tex @@ -0,0 +1,18 @@ +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{blindtext} +\begin{document} +\pagestyle{empty} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\title{Der Geldspeicher in Entenhausen} +\author{Mickey Mouse} +\date{20.\,04.~2014} +\maketitle +\blinddocument +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/evaluation.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/evaluation.tex new file mode 100644 index 00000000000..f398cb33521 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/evaluation.tex @@ -0,0 +1,46 @@ +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{isodate} +\usepackage{tudscrsupervisor} +\usepackage{enumitem}\setlist{noitemsep} +\begin{document} +\faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{diploma} +\degree[Dipl.-Ing.]{Diplomingenieur} +\author{Mickey Mouse} +\matriculationnumber{12345678} +\matriculationyear{2010} +\dateofbirth{2.1.1990} +\placeofbirth{Dresden} +\date{20.04.2014} +\referee{Dagobert Duck} +\evaluationform{% + Als Ziel dieser Arbeit sollte identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie man diesen Effekt abschwächen + könnte. Zusätzlich sollten Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. +}{% + Die Arbeitet gliedert sich in mehrere Kapitel auf unzähligen Seiten. Im den + ersten beiden Kapiteln wird dies und das besprochen. Im darauffolgenden auch + noch jenes. Im vorletzten Kapitel wird alles betrachtet und im letzten + erfolgt die Zusammenfassung und der Ausblick. +}{% + Die dargestellten Ergebnisse der vorliegenden Arbeit genügen den in der + Aufgabenstellung formulierten Arbeitsschwerpunkten. Sowohl Form, Ausdruck und + Terminologie als auch Struktur befriedigen die Anforderungen an eine + wissenschaftliche Arbeit. Die einzelnen Kapitel können hinsichtlich ihrer + inhaltlichen Tiefe in Relation zu dem dazu benötigten Umfang als ausgewogen + betrachtet werden. Die verwendeten Grafiken und Tabellen sind gut aufbereitet + und tragen insgesamt zum besseren Verständnis bei. Fachliche + Begrifflichkeiten werden sehr sauber verwendet, orthografische Mängel sind + keine zu finden. +}{1,0 (sehr gut)} +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathswap.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathswap.tex new file mode 100644 index 00000000000..0c4e68a9cd7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/mathswap.tex @@ -0,0 +1,23 @@ +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{mathswap} +\begin{document} +\pagestyle{empty}\noindent +Es ist eine Zahl im deutschen Layout gegeben (4.523,58). Die Ausgabe im +Mathematikmodus: +\[4.523,58\] +Sollte die gleiche Zahl in englischer Formatierung gegeben sein (4,523.58), +funktioniert das nicht mehr so gut: +\[4,523.58\] +Mit der Verwendung von \verb|\commaswap{\,}| und \verb|\dotswap{,}| können die +Substitutionen für Komma und Punkt im Mathematikmodus geändert und damit die +Ausgabe korrigiert werden: +\begingroup +\commaswap{\,} +\dotswap{,} +\[4,523.58\] +\endgroup +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/notice.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/notice.tex new file mode 100644 index 00000000000..2e695a6d531 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/notice.tex @@ -0,0 +1,49 @@ +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{isodate} +\usepackage{tudscrsupervisor} +\usepackage{enumitem}\setlist{noitemsep} +\begin{document} +\faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen\thanks{text} +} +\date{20.04.2014}\issuedate{1.2.2012}\duedate{1.8.2012} +\matriculationyear{2010} +\contact{% + Dagobert Duck\office{Dingens-Bau, Zimmer~08} + \email{dagobert.duck@tu-dresden.de}\phone{+49 351 463-12345} +\and% + Mac Moneysac\office{Dingens-Bau, Zimmer~15} + \email{mac.moneysac@tu-dresden.de}\phone{+49 351 463-54321} +} +\noticeform[Angebot für eine Studien-/Diplomarbeit]{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es + gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. + Es ist momentan noch nicht abzusehen, ob und wann sich diese Situation + ändert. Eine kurzfristige Verlagerung aus dem Fokus der Öffentlichkeit + wird nicht erwartet. + + Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie man diesen Effekt abschwächen + könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. + \vskip\topsep + \begin{center} + \includegraphics[width=.7\linewidth]{TU_Logo_HKS41} + \renewcommand*{\figureformat}{\figurename} + \captionof{figure}{Thematisch passendes Bild} + \end{center} +}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/task.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/task.tex new file mode 100644 index 00000000000..5c616829e8c --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/task.tex @@ -0,0 +1,49 @@ +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{isodate} +\usepackage{tudscrsupervisor} +\usepackage{enumitem}\setlist{noitemsep} +\begin{document} +\faculty{Juristische Fakultät}\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie}\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\thesis{master}\degree[M.Sc.]{Master of Science} +\author{% + Mickey Mouse\matriculationnumber{12345678} + \dateofbirth{2.1.1990}\placeofbirth{Dresden} + \course{Klinische Prognostik}\branch{Individualprognose} +\and% + Donald Duck\matriculationnumber{87654321} + \dateofbirth{1.2.1990}\placeofbirth{Berlin} + \course{Statistische Prognostik}\branch{Makrosoziologische Prognosen} +} +\date{20.04.2014}\issuedate{1.2.2012}\duedate{1.8.2012} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\chairman{Prof. Dr. Primus von Quack} +\taskform{% + Momentan ist das besagte Thema in aller Munde. Insbesondere wird es + gerade in vielen~-- wenn nicht sogar in allen~-- Medien diskutiert. + Es ist momentan noch nicht abzusehen, ob und wann sich diese Situation + ändert. Eine kurzfristige Verlagerung aus dem Fokus der Öffentlichkeit + wird nicht erwartet. + + Als Ziel dieser Arbeit soll identifiziert werden, warum das Thema + gerade so omnipräsent ist und wie man diesen Effekt abschwächen + könnte. Zusätzlich sollen Methoden entwickelt werden, wie sich ein + ähnlicher Vorgang zukünftig vermeiden ließe. +}{% + \item Recherche + \item Analyse + \item Entwicklung eines Konzeptes + \item Anwendung der entwickelten Methodik + \item Dokumentation und grafische Aufbereitung der Ergebnisse +} +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/examples/thesis.tex b/Master/texmf-dist/doc/latex/tudscr/doc/examples/thesis.tex new file mode 100644 index 00000000000..9997ed2b203 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/examples/thesis.tex @@ -0,0 +1,34 @@ +\documentclass[ngerman]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{babel} +\usepackage{isodate} +\begin{document} +\faculty{Juristische Fakultät} +\department{Fachrichtung Strafrecht} +\institute{Institut für Kriminologie} +\chair{Lehrstuhl für Kriminalprognose} +\title{% + Entwicklung eines optimalen Verfahrens zur Eroberung des + Geldspeichers in Entenhausen +} +\subject{master} +\degree[M.Sc.]{Master of Science} +\author{% + Mickey Mouse + \matriculationnumber{12345678} + \dateofbirth{2.1.1990} + \placeofbirth{Dresden} +\and% + Donald Duck + \matriculationnumber{87654321} + \dateofbirth{1.2.1990} + \placeofbirth{Berlin} +} +\date{20.04.2014} +\matriculationyear{2010} +\supervisor{Dagobert Duck \and Mac Moneysac} +\professor{Prof. Dr. Kater Karlo} +\maketitle +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscr.tex b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr.tex new file mode 100644 index 00000000000..55a5c27bc39 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscr.tex @@ -0,0 +1,4678 @@ +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[% + english,ngerman,% + headings=optiontoheadandtoc,captions=tableheading,numbers=noenddot,% + chapterpage,cdfoot,% +]{tudscrman} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage{fixltx2e} +\usepackage{setspace} +\setstretch{1.1}\recalctypearea +\usepackage{babel} +\usepackage{csquotes} +\usepackage{quoting} +\usepackage{booktabs} +\usepackage{isodate} +\usepackage{metalogo} +\usepackage{hologo} +\usepackage{tikz} +\usepackage{amsmath} +\usepackage{scrhack} + +\usepackage{tudscrsupervisor} + +%\TUDoptions{ToDo=on} +\newlength{\tempdim} +\newcommand*\vKOMA{v3.11b} +\lstset{% + inputencoding=utf8, + extendedchars=true, + literate=% + {ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 + {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 + {~}{{\textasciitilde}}1 {ß}{{\ss}}1 +} +% übler Hack +\makeatletter +\newcommand*\umlautshack{\vphantom{\"A\"O\"U}\ignorespaces} +\apptocmd{\tud@makeuppercase}{\umlautshack}{}{} +\makeatother +\begin{document} +\pagestyle{headings} +\subject{\TUDScript{} \vTUDScript} +\title{% + Ein \NoCaseChange{\hologo{LaTeX}}"=Bundle für Dokumente\newline + im neuen \CD der \TnUD% +} +\addtokomafont{subtitle}{\univbn} +\subtitle{Basierend auf \KOMAScript{} \vKOMA} +\author{Falk Hanisch\thanks{\noexpand\href{mailto:\filemail}{\filemail}}} +\faculty{http://tu-dresden.de/cd} +\maketitle + +\ToDo[v2.1]{% + Schriftelemente aus \KOMAScript{}~v3.12 auf Titel dokumentieren und ergänzen, + Indizes erzeugen (titlepage, thesis \& neue) +% \begin{Declaration}{\Font{thesis}} +% \begin{Declaration}{\Font{titlepage}} +% \printdeclarationlist% +% \end{Declaration} +% \end{Declaration} +} + + +\addchap{\prefacename} +Das im Folgenden beschriebenen Klassen und Pakete wurden für das Erstellen von +\hologo{LaTeX}"=Dokumenten im \CD der \TnUD entwickelt.% +\footnote{% + \url{http://tu-dresden.de/cd}\quad + \url{http://tu-dresden.de/service/publizieren/cd/6_handbuch/index.html}% +} +Sie basieren auf den gerade im deutschsprachigen Raum häufig verwendeten +\KOMAScript"=Klassen, welche eine Vielzahl von Einstellmöglichkeiten bieten, die +weit über die Möglichkeiten der \hologo{LaTeX}"=Standardklassen hinausgehen. +Zusätzlich bietet das hier dokumentierten \TUDScript-Bundle weitere, +insbesondere das Layout des Dokumentes betreffende Auswahlmöglichkeiten. + +Es sei angemerkt, dass die hier beschriebenen Klassen~-- im Gegensatz zur +\Class{tudbook}"=Klasse von Klaus Bergmann~-- eine Abweichung vom \CD der \TnUD +zulassen, da dieses gerade unter typographischen Gesichtspunkten durchaus als +diskussionswürdig zu erachten ist. Mit den entsprechenden Einstellungen kann +bis auf das Standardlayout der \KOMAScript"=Klassen zurückgestellt werden. +Inwieweit der Nutzer der \TUDScript"=Klassen von diesen Möglichkeiten Gebrauch +macht, bleibt ihm selbst überlassen. Ohne die gezielte Verwendung der +entsprechenden Optionen werden standardmäßig alle Vorgaben des \CDs umgesetzt. + +Diese Anleitung soll dazu dienen, eine schnelle Einführung in die neuen Klassen +und Pakete zu ermöglichen. Sie soll Hinweise für eine einfache Installation und +einen Überblick über die zusätzlich zu den \KOMAScript"=Klassen nutzbaren +Optionen sowie die neu eingeführten Befehle geben. Dies bedeutet, dass +Grundkenntnisse in der Verwendung von \hologo{LaTeX} vorausgesetzt werden. +Sollten +diese nicht vorhanden sein, wird dem Nutzer zumindest das Lesen der +Kurzbeschreibung von \hologo{LaTeX} (\File{l2kurz.pdf}) dringend empfohlen. Des +Weiteren sollte sowohl der Einsteiger als auch der erfahrene Nutzer mindestens +einmal das \hologo{LaTeX}"=Sündenregister (\File{l2tabu.pdf}) überblickt haben, +um sehr typische Fehler beim Umgang mit \hologo{LaTeX} zu vermeiden. Ein +umfangreiches Einführungsskript ist unter \url{http://www.mieser.name/~sbecker/} +abrufbar, eine ganze Vortragsreihe ist mit dem Link +\url{http://www.fadi-semmo.de/latex/workshop/} zu finden. Antworten auf häufig +gestellte Fragen werden bei DANTE% +\footnote{\url{http://projekte.dante.de/DanteFAQ/WebHome}} gegeben. + +Sollte der Nutzer unsicher oder unerfahren bei der Verwendung der +\KOMAScript"=Klassen sein, so ist ein Blick in das dazugehörige Anwenderhandbuch +(\File{scrguide.pdf}) sehr zu empfehlen, wenn nicht sogar unumgänglich. Die +Dokumentation eines speziellen \hologo{LaTeX}"=Paketes lässt übrigens sich sehr +leicht +auf der Kommandozeile mit dem Befehl \Path{texdoc\,\emph{<Paketname>}} aufrufen. + +Der aktuelle Stand der Klassen und Pakete aus dem \TUDScript-Bundle wurde nach +bestem Wissen und Gewissen auf Herz und Nieren getestet. Dennoch kann nicht für +das Ausbleiben von Fehlern garantiert werden. Beim Auftreten eines Problems +sollte dieses bitte genauso wie Inkompatibilitäten mit anderen Paketen im Forum +unter +\begin{quote} +\forum% +\end{quote} +gemeldet beziehungsweise geäußert werden. Grundlage für eine schnelle und +erfolgreiche Fehlersuche ist ein \textbf{lauffähiges Minimalbeispiel}.% +\footnote{\label{fn:mwe}\url{http://www.komascript.de/minimalbeispiel}} +Auf Anfragen ohne dieses werde ich gegebenenfalls verspätet oder gar nicht +reagieren. Ebenso sind dort auch \emph{Fragen}, \emph{Kritik} und +\emph{Verbesserungsvorschläge}~-- sowohl das Bundle selbst als auch die +Dokumentation betreffend~-- gerne gesehen. Da dieses Bundle in meiner Freizeit +entstanden ist und auch gepflegt wird, bitte ich um Nachsicht, falls ich nicht +sofort antworte und/oder eine Fehlerkorrektur vornehmen kann. + +\bigskip +\noindent Falk Hanisch\newline +Dresden, den \today + +\tableofcontents + + + +\chapter{Einleitung} +Für die Verwendung der \TUDScript-Klassen in der Version~\vTUDScript{} werden +zwingend die \KOMAScript"=Klassen der Version~\vKOMA{} sowie die Schriften des +\CDs \Univers und \DIN benötigt. Außerdem müssen durch die verwendete +\hologo{LaTeX}"=Distribution weitere Pakete bereitgestellt werden, welche genau +ist in \autoref{sec:packages:needed} aufgeführt. + +Das alte Vorlagenpaket von Klaus Bergmann sind für die Verwendung nicht +notwendig. Allerdings beinhaltet dieses weitere Klassen zum Erstellen von Folien +und Briefen.% +\footnote{% + \Class{tudbook}, \Class{tudbeamer}, \Class{tudfax}, \Class{tudhaus}, + \Class{tudform}, \Class{tudletter} +} +Die hier vorgestellten Klassen und Pakete sind hauptsächlich für die +Erstellung wissenschaftlicher Texte und Arbeiten gedacht und sollen die +bekannten Vorlagen \emph{momentan} nicht ersetzen sondern vielmehr ergänzen. + +Eine Umsetzung des \CDs für die \Class{beamer}"=Klasse sowie für Briefe und +Geschäftsschreiben auf Basis der \KOMAScript"=Brief"=Klasse \Class{scrlttr2} +ist bis jetzt leider noch nicht entstanden, soll jedoch langfristig +bereitgestellt werden. Allerdings existieren bereits im Bundle +\Class{tudmathposter} für die \Class{beamer}"=Klasse mehrere Stile. Dieses +Bundle ist sowohl auf \mbox{GitHub} unter \url{https://github.com/tud-cd/} als +auch auf der \hologo{LaTeX}"=Seite der \TnUD unter +\url{http://tu-dresden.de/service/publizieren/cd/4_latex} zu finden. + + +\section{Zur Verwendung dieses Handbuchs} +Sämtliche neu definierten Optionen, Umgebungen und Befehle der +\TUDScript-Klassen und \TUDScript-Pakete werden im Handbuch aufgeführt und +beschrieben. Am Ende des Dokumentes befinden sich mehrere Indizes, die das +Nachschlagen oder Auffinden von bisher unbekannten Befehlen oder Optionen +erleichtern sollen. + +Die folgend beschriebenen Optionen können~-- wie ein Großteil der Einstellungen +der \KOMAScript"=Klassen~-- in der Syntax des \Package{keyval}"=Paketes als +Schlüssel"=Wert"=Paare bei der Wahl der Dokumentklasse angegeben werden: +\Macro*{documentclass}\POParameter{\PName{Schlüssel}\PValue{=}\PName{Wert}}% +\Parameter{Klasse}. + +Des Weiteren eröffnen die \KOMAScript"=Klassen die Möglichkeit der späten +Optionenwahl. Dadurch können Optionen nicht nur direkt beim Laden als sogenannte +Klassenoptionen angegeben werden, sondern lassen sich auch noch innerhalb des +Dokumentes nach dem Laden der Klasse ändern. Die \KOMAScript"=Klassen sehen +hierfür zwei Befehle vor. Mit \Macro{KOMAoptions}\Parameter{Optionenliste} +kann man beliebig vielen Schlüsseln jeweils genau einen Wert zuweisen, +\Macro{KOMAoption}\Parameter{Option}\Parameter{Werteliste} erlaubt das +gleichzeitige Setzen mehrere Werte für genau einen Schlüssel. Äquivalent +dazu werden für die \emph{zusätzlichen} Optionen der \TUDScript-Klassen mit +die Befehle \Macro{TUDoptions}\Parameter{Optionenliste} und +\Macro{TUDoption}\Parameter{Option}\Parameter{Werteliste} definiert. + +Die Voreinstellung einer jeden Option ist durch \PValue{preset:\,}\PName{Wert} +bei deren Beschreibung angegeben. Einige dieser Standardwerte sind nicht +immer gleich sondern werden zusätzlich in Abhängigkeit der genutzten Optionen und +Benutzereinstellungen gesetzt. Diese bedingten Voreinstellungen werden durch +\PValue{preset:\,}\PName{Wert}\PValue{\,|\,}\PName{Bedingung}\PValue{:\,}% +\PName{bedingter~Wert} angegeben. + +Jedem Schlüssel wird normalerweise durch den Benutzer ein gewünschter, gültiger +Wert zugewiesen. Wird ein Schlüssel jedoch ohne Wertzuweisung genutzt, so +wird~-- falls vorhanden~-- ein vordefinierter Säumniswert gesetzt, welcher in +der Beschreibung der einzelnen Optionen durch die \PValue{\emph{kursive}} +Schreibweise gekennzeichnet ist. In den allermeisten Fällen ist der Säumniswert +eines Schlüssels \PValue{true}, er entspricht also normalerweise der Angabe +\PName{Schlüssel}\PValue{=true}. Mit der expliziten Wertzuweisung +eines Schlüssels durch den Benutzer werden immer sowohl normale als auch +bedingte Voreinstellungen überschrieben. Die neben den Optionen neu +eingeführten Befehle und Umgebungen der Klassen werden im gleichen Stil +erläutert. + +Für den schnellen Einstieg sind in \autoref{sec:mwe} mehrere Minimalbeispiele zu +finden, in welchen beispielhaft einige Optionen, Befehle und Umgebungen in ihrer +Anwendung erläutert sind. + + +\section{Installation des \TUDScript-Bundles} +\label{sec:installation} +Die Installation der \TUDScript-Klassen erfolgt mit einem Skript für das +jeweilige Betriebssystem. Die Klassen und Pakete sowie deren Dokumentation sind +zusammen mit den Logos der \TnUD im Archiv \File{tudscr\_\vTUDScript.zip} zu +finden. Für die Installation der Schriften werden neben den Archiven +\File{Univers\_PS.zip} und \File{DIN\_Bd\_PS.zip} mit den +Schriftdateien~-- welche auf Anfrage über das \CD% +\footnote{\url{http://tu-dresden.de/service/publizieren/cd/4_latex}} bestellt +werden können~-- außerdem die Pakete \Package{fontinst}, \Package{cmbright}, +\Package{iwona} sowie \Package{eulervm} zwingend benötigt und müssen durch die +verwendete \hologo{LaTeX}"=Distribution bereitgestellt werden.% +\footnote{% + Die Möglichkeit, Open Type Schriften aus dem System sehr einfach mit dem Paket + \Package{fontspec} für \hologo{LuaLaTeX} beziehungsweise \hologo{XeLaTeX} + einzubinden, wird momentan genutzt. Eine Schriftinstallation via Skript wäre + damit obsolet. Allerdings sind die PostScript"=Schriften für die Kompilierung + via \Path{latex \textrightarrow{} dvips \textrightarrow{} ps2pdf}~-- wie es + beispielsweise für die Erstellung von Grafiken mit \Package{pstricks} + notwendig ist~-- auch weiterhin nötig. +} + +Für die Verwendung des \TUDScript-Bundles werden neben den \KOMAScript"=Klassen +in der Version \vKOMA weitere Pakete zwingend benötigt, welche unter +\autoref{sec:packages:needed} aufgeführt sind und durch die verwendete +\hologo{LaTeX}"=Distribution bereitgestellt werden müssen. + +\subsection{Installation unter Windows} +%\index{Distribution|!}% +%\index{Distribution!\hologo{TeX}~Live}% +%\index{Distribution!\hologo{MiKTeX}}% +Sollte noch keine \hologo{LaTeX}"=Distribution auf ihrem System installiert +sein, so rate ich persönlich zur Verwendung von \Distribution{\hologo{TeX}~Live} +anstelle von \Distribution{\hologo{MiKTeX}}.% +\footnote{% + Der Vorteil ist, dass diese Distribution von mehreren Autoren gewartet wird, + Updates von Paketen und Klassen auf CTAN meist schneller verfügbar sind und + zusätzlich ein \textsc{Perl}"=Interpreter sowie \textsc{Ghostscript} + mitgeliefert werden, welche die Ad"=hoc"=Verwendung einiger + \hologo{LaTeX}"=Pakete vereinfacht beziehungsweise verbessert. +} +Für eine Installation sowohl der \TUDScript-Klassen als auch der dazugehörigen +Schriften für die Distributionen \Distribution{\hologo{TeX}~Live} oder +\Distribution{\hologo{MiKTeX}} sollte das mitgelieferte Batch"~Skript +\File{tudscr\_\vTUDScript\_install.bat} in Verbindung mit der Standalone-Version +von 7"~zip~(\File{7za.exe}) verwendet werden. Es werden alle notwendigen Dateien +in das lokale Nutzerverzeichnis der jeweiligen Distribution installiert, falls +kein anderes Verzeichnis explizit angegeben wird. Vor der Verwendung des +Skriptes sollte sichergestellt werden, dass sich für eine vollständige +Installation unter Windows \emph{alle} der folgenden Dateien im selben +Verzeichnis befinden: +% +\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_install.bat}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscr\_\vTUDScript.zip}]Archiv mit allen Klassen- und Paketdateien + \item[\File{tudscr\_\vTUDScript\_install.bat}]Installationsskript + \item[\File{Univers\_PS.zip}]Archiv mit Schriftdateien für \Univers + \item[\File{DIN\_Bd\_PS.zip}]Archiv mit Schriftdateien für \DIN + \item[\File{tudscrfont.zip}]Archiv mit Metriken für die Schriftinstallation + via \Package{fontinst} + \item[\File{7za.exe}]Standalone-Version von 7-zip zum Entpacken der Archive +\end{description} +% +Durch die Verwendung der 7"~zip"=Standalone"=Version kann es möglicherweise zu +einer Warnung durch die Firewall kommen. Für den Fall, dass Sie +\Distribution{\hologo{MiKTeX}} verwenden ist es eventuell ratsam, die +\TUDScript-Klassen nicht in das Standardnutzerverzeichnis sondern in ein +separates, neu angelegtes zu installieren.% +\footnote{% + Öffnen Sie die Anwendung \Distribution*{\hologo{MiKTeX}~Options} + (Start \textrightarrow{} Programme \textrightarrow{} MiKTeX~2.x + \textrightarrow{} Maintenance \textrightarrow{} Settings) + und klicken Sie auf den Kartenreiter \emph{Roots}. +} +Sonst muss bei einem Versionsupdate von \Distribution{MiKTeX} das +\TUDScript-Bundle möglicherweise neu installiert werden, was allerdings kein +großes Problem darstellen sollte. + + +Treten bei der Installation wider Erwarten Probleme auf, so sollte das Skript +von der Kommandozeile aus mit +\Path{tudscr\_\vTUDScript\_install.bat > tudscr\_\vTUDScript\_install.log} +aufgerufen werden. Die erstellte Logdatei kann anschließend entweder direkt an +\Email{\filemail} gesendet oder im Forum unter \forum gepostet werden. + +\subsubsection*{Anmerkung zu \ifdin{MiKTeX}{\hologo{MiKTeX}}} +Sollte als Distribution \Distribution{\hologo{MiKTeX}} verwendet werden, kann es +bei der Installation der Schriften zu Problemen kommen. Das Installationsskript +scheitert~-- aufgrund eingeschränkter Zugriffsrechten~-- bei einigen Anwendern +bei der Eintragung des Map-Files der Schriften. Dies muss gegebenenfalls durch +den Anwender mit dem Konsolenaufruf \Path{initexmf --edit-config-file updmap} +erfolgen. Danach öffnet sich der Editor. In der Datei sollte sich der Eintrag +\Path{Map tudscr.map} befinden. Ist dies nicht der Fall, muss dies händisch +eingetragen und danach noch \Path{initexmf --mkmaps} in der Konsole ausgeführt +werden. + +\subsection{Installation unter Linux und OS~X} +Für die Erstellung des Installationsskriptes für Linux und OS~X geht mein Dank +an Jons-Tobias Wamhoff (\Email{jons@inf.tu-dresden.de}), welcher sich um die +Portierung des Skriptes von Windows freiwillig zur Verfügung stellte. Für eine +Installation sowohl der \TUDScript-Klassen als auch der dazugehörigen Schriften +sollte das mitgelieferte Skript \File{tudscr\_\vTUDScript\_install.sh} verwendet +werden. Es werden alle notwendigen Dateien in das lokale Nutzerverzeichnis der +jeweiligen Distribution installiert. Vor der Verwendung des Skriptes sollte +sichergestellt werden, dass sich für eine vollständige Installation \emph{alle} +der folgenden Dateien im selben Verzeichnis befinden: +% +\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_install.sh}}% +\begin{description}[labelwidth=\tempdim,labelsep=1em] + \item[\File{tudscr\_\vTUDScript.zip}]Archiv mit allen Klassen- und Paketdateien + \item[\File{tudscr\_\vTUDScript\_install.sh}]Installationsskript + \item[\File{Univers\_PS.zip}]Archiv mit Schriftdateien für \Univers + \item[\File{DIN\_Bd\_PS.zip}]Archiv mit Schriftdateien für \DIN + \item[\File{tudscrfont.zip}]Archiv mit Metriken für die Schriftinstallation + via \Package{fontinst} +\end{description} + + +\section{Update des \TUDScript-Bundles von \vTUD} +\DeclareClass{tudscrbookold}\DeclareClass{tudscrreprtold}% +\DeclareClass{tudscrartclold}% +\index{Update|!}% +\index{Hauptklassen} +\index{Version v1.0}% +Ist bereits die \TUDScript-\vTUD installiert, so wird dringend zu einer +Deinstallation dieser geraten. Geschieht dies nicht, könnte es zu Problemen +kommen. Sollen die obsoleten \TUDScript-Klassen in der \vTUD nach einer +Aktualisierung weiterhin genutzt werden, so müssen diese erst de"~~und +anschließend neu installiert werden. + +Über den Link \url{http://wwwpub.zih.tu-dresden.de/~fahan/tudscr/} können sowohl +das Skript zur Deinstallation \File{tudscr\_v1.0\_uninstall.bat} als auch das +neue Archiv mit den obsoleten Klassen \File{TUD-KOMA-Script\_v1.0\_old.zip} +heruntergeladen werden. Nach der Installation aus diesem sind die alten Klassen +der \vTUD mit \Class*{tudscrbookold}, \Class*{tudscrreprtold} und +\Class*{tudscrartclold} weiterhin und parallel zur Version~\vTUDScript{} +verwendbar. Die aktuelle Version~\vTUDScript{} kann nach der Deinstallation der +\vTUD wie unter \autoref{sec:installation} beschrieben installiert werden. + +Im Vergleich zur \vTUD hat sich für den Benutzer nicht sehr viel verändert. +Sollten nach dem Umstieg von der \vTUD auf die Version~\vTUDScript{} dennoch +Probleme auftreten, sollte der Anwender als erstes in \autoref{sec:comp} sehen. +Hier werden die gemachten Änderungen erläutert und im alten Dokument notwendige +Anpassungen beschrieben. Sollten dennoch Fehler oder Probleme beim Umstieg auf +die neue \TUDScript-Version auftreten, ist eine Meldung im Forum unter \forum +die beste Möglichkeit, um Hilfe zu erhalten. + +\ToDo[v2.1]{Beschreibung der Installation des Updates aktivieren} +%\section{Update des \TUDScript-Bundles von Version~\NoCaseChange{v}2.x} +%\index{Update} +%\index{Version!v2.0} +%Sollte bereits mindestens die \TUDScript-Version~v2.0 inklusive der Schriften +%und der benötigten Logos der \TnUD installiert sein, kann sehr einfach auf +%eine neuere Version gewechselt werden. +% +%\subsection{Update unter Windows} +%Für eine Aktualisierung der Version unter Windows auf \vTUDScript{} sollten +%sich folgende Dateien im selben Verzeichnis befinden: +%% +%\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_update.bat}}% +%\begin{description}[labelwidth=\tempdim,labelsep=1em] +% \item[\File{tudscr\_\vTUDScript\_update.zip}]Archiv mit allen Klassen- und +% Paketdateien +% \item[\File{tudscr\_\vTUDScript\_update.bat}]Installationsskript +% \item[\File{7za.exe}]Standalone-Version von 7-zip zum Entpacken der Archive +%\end{description} +%% +%Ist dies der Fall, muss lediglich \File{tudscr\_\vTUDScript\_update.bat} +% ausgeführt werden. +% +%\subsection{Update unter Linux und OS~X} +%Für eine Aktualisierung der Version unter Linux oder OS~X auf \vTUDScript{} +% sollten sich folgende Dateien im selben Verzeichnis befinden: +%% +%\settowidth{\tempdim}{\File{tudscr\_\vTUDScript\_update.zip}}% +%\begin{description}[labelwidth=\tempdim,labelsep=1em] +% \item[\File{tudscr\_\vTUDScript\_update.zip}]Archiv mit allen Klassen- und +% Paketdateien +% \item[\File{tudscr\_\vTUDScript\_update.sh}]Installationsskript +%\end{description} +%% +%Ist dies der Fall, muss lediglich \File{tudscr\_\vTUDScript\_update.sh} +%ausgeführt werden. + + + +\chapter[Die Hauptklassen tudscrbook, tudscrreprt, tudscrartcl]{Die Hauptklassen} +\DeclareClass{tudscrbook}\DeclareClass{tudscrreprt}\DeclareClass{tudscrartcl} +\index{Hauptklassen|!} +Es werden die drei neuen Hauptklassen +% +\begin{description} +\item \Class*{tudscrbook} +\item \Class*{tudscrreprt} +\item \Class*{tudscrartcl} +\end{description} +% +eingeführt, welche auf den \KOMAScript"=Klassen basieren und grundsätzlich alle +deren bekannten Optionen, Umgebungen und Befehle~-- beispielsweise +\Option{BCOR} zur Festlegung der Bindekorrektur oder aber \Option{parskip} +zur Festlegung der Absatzeinstellungen~-- unterstützen. Zusätzlich zu den +\KOMAScript"=Klassen werden weitere Pakete zwingend benötigt, welche unter +\autoref{sec:packages:needed} aufgeführt sind und durch den Anwender nicht noch +zusätzlich geladen werden müssen. + +Es sei hier abermals auf die Anwenderdokumentation (\File{scrguide.pdf}) von +\KOMAScript{} hingewiesen, viele der folgend beschriebenen Befehle und Optionen +beziehen sich auf die darin vorgestellten Einstellungsmöglichkeiten. Die +Anpassungen und Erweiterungen der \KOMAScript"=Klassen an das \CD und die neu +definierten beziehungsweise geänderten Befehle und Optionen werden im Folgenden +erläutert. + +\begin{Declaration}{\Macro{TUDoptions}\Parameter{Optionenliste}} +\begin{Declaration}{\Macro{TUDoption}\Parameter{Option}\Parameter{Werteliste}} +\printdeclarationlist% +\index{Optionenwahl|!}% +% +Mit diesen Befehlen hat man bei den meisten der neuen Klassenoptionen die +Möglichkeit, den Wert der Optionen noch nach dem Laden der Klasse zu ändern. +Man kann wahlweise mit der Anweisung \Macro*{TUDoptions} die Werte einer Reihe +von Optionen ändern. Jede Option der Optionenliste hat dabei die Form +\PName{Option}\PValue{=}\PName{Wert}. Die meisten Optionen besitzen auch einen +Säumniswert\footnote{engl.: default value}. Versäumt man die Angabe eines +Wertes~-- verwendet also einfach die Form \PName{Option}~-- so wird automatisch +dieser Säumniswert angenommen. + +Manche Optionen können gleichzeitig mehrere Werte besitzen. Für diese besteht +die Möglichkeit, mit \Macro*{TUDoption} der einen Option nacheinander eine +Reihe von Werten zuzuweisen. Die einzelnen Werte sind dabei in der Werteliste +durch Komma voneinander getrennt. +\end{Declaration} +\end{Declaration} + + +\section{Die Schriften des \CDs} +\index{Schrift|?} +Das \CD der \TnUD gibt die Verwendung der Schriften \Univers für den Fließtext +sowie \DIN für das Setzen von Überschriften vor. Im Standardfall wird dies so +unterstützt. Da jedoch in längeren Texten die Verwendung von Serifenschriften zu +empfehlen ist, gibt es die Möglichkeit, die eigentlich vorgesehenen Schriften +nicht zu laden und die Standardschriften beziehungsweise ein anderes +Schriftpaket zu verwenden. Die Einstellungen und Befehle für den Fließtext sind +in \autoref{sec:text} zu finden. + +Durch das \CD werden keine Schriften für den Mathematiksatz bereitgestellt. Dies +ist insbesondere für sowohl mathematische als auch natur"~ und +ingenieurwissenschaftliche Dokumente nicht tragbar. Dieser Mangel wird behoben, +indem im Mathematikmodus die lateinischen Buchstaben der Hausschriften mit +griechischen Lettern und mathematischen Symbolen aus anderen Paketen ergänzt +werden.% +\footnote{% + \Package{cmbright} sowie \Package{eulervm} für die Schriftfamilie \Univers und + \Package{iwona} für die Schrift \DIN% +} +Diese Einstellungen kann natürlich ebenfalls mit der entsprechenden Option +deaktiviert werden. Dann werden die Standardschriften oder gegebenenfalls die +eines zusätzlichen Paketes für den mathematischen Satz genutzt. Alle Befehle und +Optionen für den Mathematiksatz sind in \autoref{sec:math} erläutert. Weitere +Hinweise zum typographisch guten Mathematiksatz sind außerdem in +\autoref{sec:mwe:swap} sowie \autoref{sec:mathtype} zu finden. + + +\subsection{Schriften für den Textsatz}\label{sec:text} +\index{Schrift}\index{Schrift!Fließtext}% +\begin{Declaration}{\Option{cdfont}[\PSet]}[true]% +\printdeclarationlist% +\index{Schrift!Corporate Design}\index{Schrift!Stärke}% +% +Mit dieser Option können durch den Benutzer alle zentralen Schrifteinstellungen +für die \TUDScript-Klassen vorgenommen werden. Dies betrifft sowohl die +Schriften für den Fließtext, als auch die Mathematikschriften. +% +\begin{values} +\itemfalse + Es werden keine Hausschriften sondern die \hologo{LaTeX}"=Standardschriften + verwendet und der Benutzer kann beliebige Schriftpakete nutzen.% + \footnote{% + Für die Verwendung der klassischen \hologo{LaTeX}"=Schriften, ist das Paket + \Package{lmodern} sehr empfehlenswert.% + } + Sollte das Layout des \CDs aktiviert sein (siehe \Option{cd}), werden die + Überschriften in serifenlosen Majuskeln\footnote{Großbuchstaben} gesetzt. +\itemtrue*[light/lightfont/noheavyfont] + Es werden die Hausschriften im Stil des \CDs der \TnUD genutzt. + Überschriften der obersten Gliederungsebenen bis einschließlich + \Macro*{subsubsection} verwenden \DIN, darunter liegende% + \footnote{\Macro*{paragraph} und \Macro*{subparagraph}} + \textubn{Univers~65~Bold}. Für den Fließtext im Dokument kommt + \textuln{Univers~45~Light} zum Einsatz. Aus \Package{cmbright} wird die + \texttt{Schreibmaschinenschrift} verwendet. +\item[heavy/heavyfont] + Die Schriftstärke der Hausschriften wird erhöht. Die beiden untersten + Gliederungsebenen werden in \textuxn{Univers~75~Black} gesetzt, der Fließtext + in \texturn{Univers~55~Regular}. Ansonsten entspricht alles der Option + \Option*{cdfont}[true]. Die Mathematikschriften werden durch diese Einstellung + nicht beeinflusst. Gegebenenfalls sollte mit \Macro{boldmath} auf den fetten + Schnitt umgeschaltet werden. +\item[din] + Mit dieser Einstellung wird die Schrift \DIN in den Überschriften verwendet. + Sie ist standardmäßig aktiviert. +\item[nodin] + Für die Überschriften wird nicht \DIN verwendet. Ist \Option*{cdfont}[true] + gewählt, wird \Univers genutzt. Die Schriftstärke ist dabei abhängig von der + Einstellung \Option*{cdfont}[light/heavy]. Ist die Verwendung der Schriften + des \CDs deaktiviert (\Option*{cdfont}[false]), kommt die fette Schriftstärke + der eigenstellten serifenlosen Schriftfamilie zum Einsatz. +\item[serifmath/serif/nosansmath/nosans] + Diese Einstellung deaktiviert die Verwendung von serifenlosen Schriften für + den mathematischen Satz. Es werden die \hologo{LaTeX}"=Standardschriften + verwendet und der Benutzer kann beliebige Schriftpakete für den + Mathematikmodus nutzen, siehe \Option{sansmath}[false]. +\item[sansmath/sans] + Es werden serifenlose Mathematikschriften für lateinische und griechische + Lettern genutzt, siehe \Option{sansmath}[true]. +\item[upgreek/uprightgreek/uprightGreek] + Die großen griechischen Buchstaben werden im Mathematikmodus aufrecht gesetzt, + siehe \Option{slantedgreek}[false]. +\item[slgreek/slantedgreek/slantedGreek] + In mathematischen Umgebungen erfolgt die Ausgabe der griechischen Majuskeln + kursiv, siehe \Option{slantedgreek}[true]. +\end{values} +\end{Declaration} + +\subsubsection{Auszeichnungen in Überschriften} +\index{Schrift!Überschriften}% +\index{Überschriften}\index{Schriftauszeichnung}% +\begin{Declaration}{\Macro{MakeTextUppercase}\Parameter{Text}}% +\begin{Declaration}{\Macro{NoCaseChange}\Parameter{Text}}% +\printdeclarationlist% +% +Diese beiden Befehle stammen aus dem Paket \Package{textcase}. Der Befehl +\Macro*{MakeTextUppercase} setzt den Text seines Argumentes in Majuskeln. Die +Überschriften der Gliederungsebenen bis einschließlich \Macro*{subsubsection} +werden mit diesem Befehl in Großbuchstaben der Schrift \DIN gesetzt. Es kann +jedoch unter Umständen sein, dass ein oder mehrere Kleinbuchstaben erhalten +bleiben sollen. Für diesen Fall ist der Befehl \Macro{NoCaseChange} zu nutzen. +% +\begin{Example} +In einer Kapitelüberschrift wird ein einzelnes Wort in Kleinbuchstaben +geschrieben: +\begin{code}[escapechar=§] +\chapter{§Ü§berschrift mit \NoCaseChange{kleinem} Wort} +\end{code} +\end{Example} +% +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{ifdin}\Parameter{Dann-Teil}\Parameter{Sonst-Teil}}% +\printdeclarationlist% +Des Weiteren wird der Befehl \Macro*{ifdin} definiert. Dieser prüft, ob die +Schriftfamilie \DIN aktiv ist und führt in diesem Fall \Parameter{Dann-Teil} +aus, andernfalls \Parameter{Sonst-Teil}. Dies ist beispielsweise bei +Überschriften sinnvoll, wenn zwischen der eigentlichen Ausgabe im Fließtext und +dem Eintrag für Inhaltsverzeichnis und/oder Kolumnentitel unterschieden werden +soll. +\end{Declaration} + +\subsubsection{Auszeichnungen im Text} +\begin{Declaration}{\Macro{univln}} +\begin{Declaration}{\Macro{textuln}\Parameter{Text}} +\begin{Declaration}{\Macro{univrn}} +\begin{Declaration}{\Macro{texturn}\Parameter{Text}} +\begin{Declaration}{\Macro{univbn}} +\begin{Declaration}{\Macro{textubn}\Parameter{Text}} +\begin{Declaration}{\Macro{univxn}} +\begin{Declaration}{\Macro{textuxn}\Parameter{Text}} +\begin{Declaration}{\Macro{univls}} +\begin{Declaration}{\Macro{textuls}\Parameter{Text}} +\begin{Declaration}{\Macro{univrs}} +\begin{Declaration}{\Macro{texturs}\Parameter{Text}} +\begin{Declaration}{\Macro{univbs}} +\begin{Declaration}{\Macro{textubs}\Parameter{Text}} +\begin{Declaration}{\Macro{univxs}} +\begin{Declaration}{\Macro{textuxs}\Parameter{Text}} +\begin{Declaration}{\Macro{dinbn}} +\begin{Declaration}{\Macro{textdbn}\Parameter{Text}} +\settowidth{\tempdim}{\Macro{textuln}\Parameter{Text}}% +\addtolength{\tempdim}{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth}% +\printdeclarationlist(% + \begin{minipage}{-\tempdim}% + \centering% + \begin{tabularm}{3}% + \toprule% + \textbf{Schriftart} & \textbf{Schalter} + & \textbf{Textkommando}\tabularnewline + \midrule + \textuln{Univers 45 Light} & \Macro*{univln}{} + & \Macro*{textuln}\Parameter{Text}\tabularnewline + \texturn{Univers 55 Regular} & \Macro*{univrn}{} + & \Macro*{texturn}\Parameter{Text}\tabularnewline + \textubn{Univers 65 Bold} & \Macro*{univbn}{} + & \Macro*{textubn}\Parameter{Text}\tabularnewline + \textuxn{Univers 75 Black} & \Macro*{univxn}{} + & \Macro*{textuxn}\Parameter{Text}\tabularnewline + \textuls{Univers 45 Light Oblique} & \Macro*{univls}{} + & \Macro*{textuls}\Parameter{Text}\tabularnewline + \texturs{Univers 55 Regular Oblique} & \Macro*{univrs}{} + & \Macro*{texturs}\Parameter{Text}\tabularnewline + \textubs{Univers 65 Bold Oblique} & \Macro*{univbs}{} + & \Macro*{textubs}\Parameter{Text}\tabularnewline + \textuxs{Univers 75 Black Oblique} & \Macro*{univxs}{} + & \Macro*{textuxs}\Parameter{Text}\tabularnewline + \DIN & \Macro*{dinbn}{} + & \Macro*{textdbn}\Parameter{Text}\tabularnewline + \bottomrule% + \allcolumnpar{\footnotesize\vskip0pt% + Die Schrift \DIN darf laut \CD nur mit Majuskeln (Großbuchstaben) + verwendet werden. Wird diese Schrift manuell verwendet, sollte dies mit + \Macro{MakeTextUppercase}\PParameter{\Macro{textdbn}\Parameter{Text}} + geschehen. Sollen dabei im Argument einzelne Teile zwingend klein + geschrieben werden, wird der Befehl \Macro{NoCaseChange} benötigt. + } + \end{tabularm}% + \end{minipage}% +)% +\index{Schrift!Befehle}\index{Schrift!Schalter}% +% +Unabhängig davon, welche Schriftfamilie verwendet wird, können die Schriften +des \CDs jederzeit entweder mit einem Textschalter oder mit einem Textkommando +innerhalb des Dokumentes genutzt werden. + +Ein Textschalter wirkt sich ohne Maßnahmen global auf das Dokument aus. Wird er +jedoch innerhalb einer Gruppe verwendet, so werden die Auswirkungen durch diese +lokal begrenzt.\footnote{\Macro*{begingroup} und \Macro*{endgroup}} Bei einem +Textkommando hingegen erfolgt die Änderung der Schriftart nur für das angegebene +Argument. Deshalb ist die Verwendung der letzteren Variante vorzuziehen. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\subsection{Schriften für den Mathematiksatz}\label{sec:math} +\index{Schrift!Mathematiksatz}\index{Mathematiksatz|!}% +\index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben}% +%Im Vergleich zur \vTUD wurden die Schriften für den Mathematiksatz stark +%erweitert. Um die Schriftfamilie \Univers zu ergänzen, werden unter anderem die +%griechischen Buchstaben und einige Symbole aus dem Paket \Package{cmbright} +%verwendet. Weitere Symbole werden entweder generisch erzeugt oder aus dem Paket +%\Package{eulervm} entnommen. Die Schrift \DIN wird um Symbole aus dem Paket +%\Package{iwona} ergänzt. Damit ist es nun erstmals möglich, die Schriften des +%\CDs vernünftig für den mathematischen Satz zu nutzen. +% +%Weitere Hinweise zum typographisch guten Mathematiksatz sind außerdem in +%\autoref{sec:mwe:swap} sowie \autoref{sec:mathtype} zu finden. +\begin{Declaration}{\Option{sansmath}[\PBoolean]}% + [true][\Option{cdfont}[false]:false] +\printdeclarationlist% +% +Diese Option dient zur Verwendung serifenloser Mathematikschriften. Dafür werden +zum einen die griechischen Buchstaben aus \Package{cmbright} und zum anderen die +Symbole aus dem \Package{eulervm} verwendet. Für die lateinischen Buchstaben +wird \Univers genutzt. Ein Umschalten auf Serifenlose und zurück innerhalb des +Dokumentes ist~-- beispielsweise in einer Abbildung oder in einer Tabelle~-- +durch \Macro{TUDoptions}\PParameter{\Option*{sansmath}[true]} und +\Macro{TUDoptions}\PParameter{\Option*{sansmath}[false]} möglich. Mit +\Macro{boldmath} kann auf fette Mathematikschriften umgeschaltet werden. + +Mit der Einstellung \Option*{sansmath}[false] wird auf die Standardschriften +für den Mathematikmodus zurückgeschaltet. Sollen stattdessen andere serifenlose +Mathematikschriften genutzt werden, so sei auf \Package{sansmath}, +\Package{sansmathfonts}, \Package{mathastext}, \Package{sfmath} sowie +\Package{sansmathaccent} verwiesen. +% +\begin{values} +\itemfalse + Es werden die normalen \hologo{LaTeX}"=Serifenschriften beziehungsweise die + Schriften beliebig nutzbarer Pakete für den Mathematiksatz verwendet. +\itemtrue* + Die serifenlose Mathematikschriften werden aktiviert. +\end{values} +\end{Declaration} + +\subsubsection{Griechischen Buchstaben}\label{sec:greek} +\index{Griechische Buchstaben}%\index{Griechische Buchstaben!Neigung}% +\begin{Declaration}{\Macro{varDelta}} +\begin{Declaration}{\Macro{varTheta}} +\begin{Declaration}{\Macro{varLambda}} +\begin{Declaration}{\Macro{varXi}} +\begin{Declaration}{\Macro{varPi}} +\begin{Declaration}{\Macro{varSigma}} +\begin{Declaration}{\Macro{varUpsilon}} +\begin{Declaration}{\Macro{varPhi}} +\begin{Declaration}{\Macro{varPsi}} +\begin{Declaration}{\Macro{varOmega}} +\begin{Declaration}{\Macro{upDelta}} +\begin{Declaration}{\Macro{upTheta}} +\begin{Declaration}{\Macro{upLambda}} +\begin{Declaration}{\Macro{upXi}} +\begin{Declaration}{\Macro{upPi}} +\begin{Declaration}{\Macro{upSigma}} +\begin{Declaration}{\Macro{upUpsilon}} +\begin{Declaration}{\Macro{upPhi}} +\begin{Declaration}{\Macro{upPsi}} +\begin{Declaration}{\Macro{upOmega}} +\index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben}% +\settowidth{\tempdim}{\Macro{varUpsilon}}% +\addtolength{\tempdim}{\dimexpr 2\tabcolsep+2\arrayrulewidth-\textwidth}% +\printdeclarationlist(% + \begin{minipage}{-\tempdim}% + \newcommand\tablecontent{} + \newcommand*\greekLetters{% + Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% + }% + \def\do#1{\appto\tablecontent{% + \Macro*{var#1} & $\csuse{var#1}$ & & + \Macro*{up#1} & $\csuse{up#1}$\tabularnewline + }}% + \expandafter\docsvlist\expandafter{\greekLetters}% + \centering% + \vspace{\intextsep}\noindent + \begin{tabularm}{5} + \toprule% + \textbf{Befehl (kursiv)} & \textbf{Symbol} & & + \textbf{Befehl (aufrecht)} & \textbf{Symbol} + \tabularnewline\midrule\tablecontent\bottomrule% + \allcolumnpar{\footnotesize\vskip0pt% + Die Befehle \Macro*{up}\PName{Name} und \Macro*{var}\PName{Name} + werden normalerweise durch einige Pakete, unter anderem auch von + \Package{cmbright} oder \Package{amsmath}, bereitgestellt. + } + \end{tabularm} + \end{minipage}% +)% +Für die \TUDScript-Klassen werden griechische Majuskeln sowohl in aufrechter als +auch in geneigter Form bereitgestellt. Unabhängig von den Einstellungen für die +Optionen \Option*{sansmath} und \Option*{slantedgreek} können sowohl kursive als +auch aufrechte griechischen Großbuchstaben im Mathematikmodus direkt verwendet +werden. Dies ist nützlich, um zwischen kursiven Variablen und aufrechten +Konstanten zu unterscheiden. Die griechischen Minuskeln sind leider nur in der +kursiven Variante verfügbar. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{slantedgreek}[\PBoolean]}% + [true][\Option{cdfont}[false]:false] +\printdeclarationlist% +\index{Schrift!Griechische Buchstaben}\index{Griechische Buchstaben}% +\index{Griechische Buchstaben!Neigung}% +% +Die Option ändert die standardmäßige Neigung der griechischen Großbuchstaben im +Mathematikmodus bei der Verwendung der Befehle \Macro*{Delta}, \Macro*{Theta}, +\Macro*{Lambda}, \Macro*{Xi}, \Macro*{Pi}, \Macro*{Sigma}, \Macro*{Upsilon}, +\Macro*{Phi}, \Macro*{Psi} und \Macro*{Omega}. Wie unabhängig von der Option +\Option*{slantedgreek} gezielt kursive und aufrechte Buchstaben gesetzt werden +können, ist \vpageref{sec:greek} beschrieben. +% +\begin{values} +\itemfalse + Die griechischen Majuskeln werden wie bei den Standardklassen aufrecht gesetzt. +\itemtrue* + Die Ausgabe der griechischen Großbuchstaben erfolgt kursiv. +\end{values} +\end{Declaration} + +\section{Das Layout des \CDs} +Das Hauptaugenmerk der neuen Klassen liegt auf der Umsetzung des \CDs der +\TnUD für \hologo{LaTeX}. Ein großer Teil der definierten Optionen und Befehle +dient genau dazu und wird folgend beschrieben. + +Einige spezielle Seiten werden im prägnanten Stil mit dem Logo der \TnUD und der +dazugehörigen Kopfzeile mit Querbalken gesetzt. Dies betrifft insbesondere die +\hyperref[sec:title]{Titelseite} und die \hyperref[sec:chapter]{Kapitelseiten}. +Außerdem können mit der \Environment{tudpage}-Umgebung weitere Seiten im +gleichen Stil erzeugt werden. Sollte das Paket \Package{tudscrsupervisor} +verwendet werden und mit den entsprechenden Befehlen oder Umgebungen eine +Aufgabenstellung, ein Gutachten oder ein Aushang erstellt werden, so erscheinen +auch diese in besagtem Seitenstil. + + +\subsection{Das Erscheinungsbild von Titel, Teilen und Kapiteln} +\begin{Declaration}{\Option{cd}[\PSet]}[true] +\printdeclarationlist% +\index{Layout}% +% +Diese Option bestimmt, ob und wie das \CD der \TnUD verwendet wird. Sie hat +Einfluss auf die Ausprägung für Titel"~, Teil"~, und Kapitelseiten. +% +\begin{values} +\itemfalse + Diese Einstellung erzeugt das Standard"=Verhalten der \KOMAScript"=Klassen, + es wird kein \CD genutzt. +\itemtrue*[standard/simple/monochrom] + Das Layout für Titel"~, Teil"~ und Kapitelseiten ist im \CD, es wird + schwarze Schrift für Titel, Teil"~ und Kapitelüberschriften sowie im + Seitenkopf verwendet. +\item[lite/light/pale] + Die Einstellung entspricht weitestgehend der Option \Option*{cd}[true], + allerdings wird die primäre Hausfarbe \Color{HKS41} anstelle schwarzer + Schrift genutzt. +\item[color/colour/full] + Der Titel sowie Teil"~ und Kapitelseiten werden allesamt farbig und im \CD + gestaltet, der Seitenkopf wird in der primären Hausfarbe \Color{HKS41} gesetzt. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Length{chapterheadingvskip}} +\printdeclarationlist% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}% +\index{Überschriften!Position}% +Mit dieser Länge kann die vertikale Position der Kapitelüberschriften bei +deaktivierter Kapitelseite (\Option{chapterpage}[false]) angepasst werden. +Normalerweise werden diese im Layout relativ tief im Textbereich gesetzt. Mit +negativen Werten wird die Kapitelüberschrift nach oben verschoben, positive +Werte setzen diese dementsprechend tiefer. Beim Verschieben nach oben, sollte +darauf geachtet werden, dass diese sich danach noch innerhalb des Satzspiegels +befinden. +\end{Declaration} + +\subsubsection{Vakatseiten/Leerseiten} +\index{Leerseiten}% +Automatisch erzeugte Vakatseiten~-- auch absichtliche Leerseiten genannt~-- +findet man in Dokumenten mit den aktivierten Optionen \Option{twoside} und +\Option{open}[right]\footnote{Standard bei \Class{tudscrbook}} beziehungsweise +\Option{open}[left] beim Beginn von Teilen und Kapiteln. Für diese kann der +Seitenstil mit der \KOMAScript"=Option \Option{cleardoublepage} eingestellt +werden. + +\begin{Declaration}{\Option{cleardoublespecialpage}[\PSet]}[true]% +\printdeclarationlist% +\index{Teileseiten}\index{Layout!Teileseiten}% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}% +\index{Satzspiegel!doppelseitig}\index{Layout!Rückseiten}% + Diese Option hat lediglich Auswirkungen bei aktiviertem doppelseitigem Satz + und ausschließlich rechts eröffnenden Seiten für Teile beziehungsweise + Kapitel.\footnote{\Option{twoside} und \Option{open}[right]} + Dann kann das Aussehen der darauffolgenden, linken Seite~-- sprich der + Rückseite~-- beeinflusst werden. Das Normalverhalten der \KOMAScript"=Klassen + sieht vor, dass nach einem Teil die Rückseite unabhängig von der Einstellung + für \Option{cleardoublepage} immer als vollständig leere Seite ohne Kopf~ oder + Fußzeilen gesetzt wird. + + Diese Einstellung erlaubt es, dieses Normalverhalten zu deaktivieren und für + die Seite nach der Teileseite~-- und abhängig von \Option{chapterpage} + auch nach einem Kapitelanfang auf einer separaten Seite~-- den Seitenstil der + Option \Option{cleardoublepage} zu übernehmen. Des Weiteren kann auch ein + anderer, beliebiger, bereits definierter Seitenstil gewählt werden. Außerdem + kann im farbigen Layout die Rückseite in der gleichen Farbe wie die + Vorderseite von Teil oder Kapitel gesetzt werden. \notudscrartcl + % + \begin{values} + \itemfalse + Die Rückseiten sind vollständig leere Seiten, unabhängig von Option + \Option{cleardoublepage}. + \itemtrue* + Der Seitenstil der Rückseite von Teilen und gegebenenfalls Kapiteln + entspricht der Einstellung von \Option{cleardoublepage} für Vakatseiten. + \item[current] + Es wird der aktuell definierte Seitenstil (\Macro{pagestyle}) für die + erzeugte Rückseite verwendet. + \item[color/colour] + Im farbigen Layout ist auch die Rückseite von Teilen und Kapiteln farbig, + siehe \Option{clearcolor}. + \makeatletter\item@values[\PName{Seitenstil}\textit{:}]\makeatother + Mit der Angabe von \Option*{cleardoublespecialpage}[\PName{Seitenstil}] kann + ein beliebiger, bereits definierter Seitenstil für die Rückseite nach + Teilen und Kapiteln verwendet werden. + \end{values} +\end{Declaration} + +\begin{Declaration}{\Option{clearcolor}[\PBoolean]}[false]% +\printdeclarationlist% +\index{Titel}\index{Layout!Titel}% +\index{Teileseiten}\index{Layout!Teileseiten}% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}% +\index{Satzspiegel!doppelseitig}\index{Leerseiten}% + Sollte beim farbigen Layout die Optionen \Option{twoside} und + \Option{open}[right] gesetzt sein,\footnote{Standard bei \Class{tudscrbook}} + so werden beim Aktivieren dieser Option die Rückseiten von Teilen~-- und je + nach Einstellung von \Option{chapterpage} gegebenenfalls auch von Kapiteln~-- + farbig gesetzt.% + \footnote{% + Dies führt beim kolorierten Druck zu farbigen Blättern (Vorder"~ und + Rückseite) der entsprechenden Layoutelemente. + } + Die Option wirkt sich ebenfalls auf die Rückseite des Titels aus.% + \footnote{% + siehe \Macro{uppertitleback} und \Macro{lowertitleback} der + \KOMAScript"=Dokumentation (\File{scrguide.pdf}) + } + Der Stil dieser zusätzlich eingefügten Rückseiten ist abhängig von + \Option{cleardoublespecialpage}. + \begin{values} + \itemfalse + Es werden weiße Rückseiten bei Titel, Teilen und gegebenenfalls Kapiteln + erzeugt. + \itemtrue* + Die rückwärtigen Seiten der genannten Layoutelemente sind farbig. + \end{values} +\end{Declaration} + +\subsubsection{Unterschiedliche Einstellungen Titel, Teile und Kapitel} +Das Verhalten aller Elemente% +\footnote{% + Titelseite (\Macro{maketitle}), Teileseite (\Macro{part}, \Macro{addpart}), + Kapitelseite (\Macro{chapter}, \Macro{addchap})% +} +wird normalerweise von der Option \Option*{cd}[\PSet] bestimmt. Bedarfsweise +können einzelne Elemente aber auch individuell mit abweichenden Wertzuweisungen +angepasst werden. Soll ein bestimmtes Layoutelement anders erscheinen als der +Rest des Dokumentes, so kann der entsprechende Wert mit Hilfe der folgenden +drei Optionen überschrieben werden. + +\begin{Declaration}{\Option{cdtitle}[\PSet]} +\printdeclarationlist% +\index{Titel}\index{Layout!Titel}% +% +Der Wert des Schlüssels \Option*{cd} kann für die Titelseite separat +überschrieben werden. Damit kann zwischen dem Standardtitel~-- welcher durch +\KOMAScript{} bereitgestellt wird~-- und dem Titel im \CD umgeschaltet +werden. Die neue Titelseite unterstützt alle Befehle für den Titel, welche durch +\KOMAScript{} definiert werden.% +\footnote{\raggedright% + \Macro{extratitle}\Parameter{Schmutztitel},\Macro{titlehead}\Parameter{Kopf}, + \Macro{subject}\Parameter{Typisierung},\Macro{title}\Parameter{Titel}, + \Macro{subtitle}\Parameter{Untertitel},\Macro{author}\Parameter{Autor}, + \Macro{date}\Parameter{Datum},\Macro{publishers}\Parameter{Verlag}, + \Macro{and} und \Macro{thanks}\Parameter{Fußnote} sowie + \Macro{uppertitleback}\Parameter{Titelrückseitenkopf}, + \Macro{lowertitleback}\Parameter{Titelrückseitenfuß} + und \Macro{dedication}\Parameter{Widmung} +} +Sie wird ebenfalls mit \Macro{maketitle} erzeugt. Hierzu sei ergänzend auf +\autoref{sec:title} verwiesen. +\end{Declaration} + +\begin{Declaration}{\Option{cdpart}[\PSet]} +\printdeclarationlist% +\index{Teileseiten}\index{Layout!Teileseiten}% +% +Für die Teileseiten kann der Wert des Schlüssels \Option*{cd} separat +überschrieben und somit deren Layout% +\footnote{\label{fn:layout}% + \KOMAScript"=Layout beziehungsweise monochromes oder farbiges Erscheinungsbild + im \CD% +} +beeinflusst werden, welches bei der Benutzung der Befehle \Macro{part} +beziehungsweise \Macro{addpart} und deren Sternversionen genutzt wird. +\end{Declaration} + +\begin{Declaration}{\Option{cdchapter}[\PSet]} +\printdeclarationlist% +\index{Kapitelseiten}\index{Layout!Kapitelseiten}% +% +Für Kapitelseiten kann der Schlüsselwert \Option*{cd} ebenfalls angepasst und +damit das Erscheinungsbild\footref{fn:layout} geändert werden, das bei der +Verwendung von \Macro{chapter} beziehungsweise \Macro{addchap} und den +dazugehörigen Sternversionen genutzt wird. +\end{Declaration} + +\begin{Example} +Soll die Titelseite in Farbe, der Rest des Dokumentes allerdings in schwarzer +Schrift gesetzt werden, so kann dies folgendermaßen erreicht werden: +\begin{code}[escapechar=§] +\documentclass[cd=true,cdtitle=color]{§\PName{Dokumentklasse}§} +\end{code} +\end{Example} + +\subsection{Die Kopfzeile} +\index{Kopfzeile}\index{Layout!Kopfzeile}% +\begin{Declaration}{\Macro{faculty}\Parameter{Fakultät}} +\begin{Declaration}{\Macro{department}\Parameter{Einrichtung}} +\begin{Declaration}{\Macro{institute}\Parameter{Institut}} +\begin{Declaration}{\Macro{chair}\Parameter{Lehrstuhl}} +\begin{Declaration}{\Macro{extraheadline}\Parameter{Textzeile}} +\printdeclarationlist% +\index{Kopfzeile!Felder}% +\index{Querbalken}\index{Layout!Querbalken} +% +Für den Seitenstil des \CDs der \TnUD typisch ist die Kopfzeile mit dem +charakteristischen Querbalken. In dieser wird~-- falls angegeben~-- in fetter +Schrift die Fakultät ausgegeben, danach folgen durch Kommas getrennt die +Einrichtung, das Institut und der Lehrstuhl beziehungsweise die Professur. +Sollte der Platz in der ersten Zeile nicht ausreichen, erfolgt ein automatischer +Zeilenumbruch. + +In besonderen Ausnahmefällen erlaubt das \CD die Angabe einer zusätzlichen +zweiten beziehungsweise dritten Zeile, welche weitere, frei wählbare Angaben +enthält. Diese kann mit dem Befehl \Macro*{extraheadline}\Parameter{Textzeile} +definiert werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{% + \Macro{headlogo}\LParameter\Parameter{Dateiname}% +} +\printdeclarationlist% +\index{Zweitlogo|?}\index{Layout!Zweitlogo}% +% +Neben dem Logo der \TnUD darf zusätzlich ein Zweitlogo im Kopf verwendet +werden. Dieses lässt sich mit diesem Befehl einbinden. Normalerweise wird es +ohne weitere Angaben auf die Höhe der Erstlogos skaliert. Über das optionale +Argument können weitere Formatierungsbefehle an den verwendeten Befehl +\Macro{includegraphics} aus dem \Package{graphicx}-Paket durchgereicht werden. +Sollte über \Option{ddc} das Logo von \DDC eingebunden worden sein, so wird dies +mit diesem Befehl überschrieben. +\end{Declaration} + +\begin{Declaration}{\Option{widehead}[\PBoolean]}% + [false][\Option{cd}[color]:true]% +\printdeclarationlist% +\index{Querbalken}\index{Layout!Querbalken}% +% +Für die \TUDScript-Klassen ist ein Seitenlayout entstanden, welche den Kopf des +\CDs umsetzt. Dieser besteht aus dem Logo der \TnUD sowie einem darunter +befindlichen Querbalken, in welchem Fakultät, Einrichtung, Institut und +Lehrstuhl% +\footnote{% + \Macro{faculty}, \Macro{department}, \Macro{institute} sowie \Macro{chair}% +} +aufgeführt werden können. Bei der Ausprägung dieses Balkens gibt es zwei +Varianten. Die Außenlinien laufen entweder bis zum Text"~ oder bis zum +Blattrand. Die letztere Variante kann für den Fall, dass ein randloser Ausdruck +technisch nicht möglich ist, Probleme bereiten. Deshalb kann mit der Option +\Option*{widehead} die Breite des Querbalkens angepasst werden. Normalerweise +ist der Balken auf die Textbreite begrenzt, lediglich im farbigen Layout wird +dieser standardmäßig bis zum Blattrand verlängert. +% +\begin{values} +\itemfalse + Der Querbalken im Kopf erstreckt sich nur über den Textbereich. +\itemtrue* + Die horizontale Ausdehnung des Querbalkens erstreckt sich bis an den + Blattrand.\footnote{Voreinstellung bei \Option{cd}[color]} +\end{values} +\end{Declaration} + +\subsection{Der Titel}\label{sec:title} +\index{Titel|!(} +\begin{Declaration}{\Macro{makecover}\OLParameter{cdlayout}} +\begin{Declaration}{\Key{\Macro{makecover}}{cdlayout}[\PBoolean]} +\begin{Declaration}{\Key{\Macro{makecover}}{cd}[\PSet]} +\begin{Declaration}{\Key{\Macro{makecover}}{cdfont}[\PSet]} +\begin{Declaration}{\Key{\Macro{makecover}}{widehead}[\PBoolean]} +\printdeclarationlist% +\index{Umschlagseite|!}% +\index{Titel!Umschlagseite}\index{Layout!Umschlagseite}% +Zusätzlich zum Titel selbst~-- bestehend aus möglichem Schmutztitel, der +eigentlichen Titelseite und der nachgelagerten Elementen, welche alle mit dem +Befehl \Macro{maketitle} ausgegeben werden~-- kann eine Umschlagseite erzeugt +werden. Der Titel selbst gehört immer zum Buchblock und wird daher im gleichen +Satzspiegel gesetzt. Dem entgegen steht das Cover, welches zumeist in einem +separaten Layout erscheint. Auf diesem werden lediglich der Titel des +Dokumentes, die Typisierung durch \Macro{thesis} und/oder \Macro{subject} sowie +der Autor oder respektive die Autoren ausgegeben. + +Der Satzspiegel der Umschlagseite kann mit dem Parameter +\Key*{\Macro{makecover}}{cdlayout}[\PBoolean] im optionalen Argument geändert +werden. Standardmäßig ist \Key*{\Macro{makecover}}{cdlayout}[true] +gesetzt, was dazu führt, dass das Cover~-- unabhängig von der Option +\Option{geometry}~-- im asymmetrischen Satzspiegel des \CDs gesetzt wird. Ist +\Key*{\Macro{makecover}}{cdlayout}[false] gewählt, so wird die Umschlagseite im +gleichen Satzspiegel gesetzt, wie das restliche Dokument. Der gewünschte Wert +des Parameters kann auch direkt als optionales Argument ohne den dazugehörigen +Schlüssel angegeben werden. Die anderen Parameter entsprechen in ihrem Verhalten +prinzipiell den gleichnamigen Klassenoptionen.% +\footnote{% + Dies betrifft \Option'{cd}, \Option'{cdfont} und \Option'{widehead}. + Das Verhalten sowie die jeweils gültigen Wertzuweisungen können bei den + Beschreibungen der jeweiligen Option in den entsprechenden Abschnitten des + Handbuchs nachgelesen werden. +} +Die Einstellungen dieser Parameter wirken sich jedoch nur lokal und einzig auf +die Umschlagseite aus. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{maketitle}\OParameter{Seitenzahl}} +\begin{Declaration}{% + \Macro{maketitleonecolumn}\OParameter{Seitenzahl}\OParameter{Einspaltentext}% +} +\printdeclarationlist% +\index{Layout!Titel}% +\index{Satzspiegel!doppelseitig}% +\index{Zweispaltensatz}% +% +Der Befehl \Macro*{maketitle} setzt für \Option{cdtitle}[false] den normalen +\KOMAScript"=Titel{}, ansonsten wird die Titelseite im \CD der \TnUD +erzeugt. Diese ist im Vergleich zum Standardtitel um eine Vielzahl von +Feldern erweitert und erlaubt insbesondere die Angabe von Daten für das +Deckblatt einer akademischen Abschlussarbeit. Die einzelnen Felder werden +nachfolgend erläutert. Das optionale Argument erlaubt, wie bei den +\KOMAScript"=Klassen, die Änderung der Seitenzahl der Titelseite. Wird das +Dokument doppelseitig und mit rechts öffnenden Kapiteln gesetzt,% +\footnote{% + \Option{twoside} und \Option{open}[right], Standard für \Class{tudscrbook} +} +so wird zusätzlich die Option \Option{clearcolor} beachtet. + +Für die \TUDScript-Klassen gibt es mit \Macro*{maketitleonecolumn} einen Befehl, +welcher es ermöglicht, im zweispaltigen Satz (\Option{twocolumn}) die +Titelseite selbst einspaltig zu setzen. Auch hier kann die Seitenzahl optional +geändert werden. Soll nach dem Titel zusätzlich auch noch eine weitere +Textpassage~-- beispielsweise eine Kurzfassung~-- einspaltig gesetzt werden, +so kann man dafür ebenfalls das optionale Argument nutzen. Für die +gleichzeitige Verwendung beider Möglichkeiten muss erst die gewünschte +Seitenzahl und danach der Text jeweils in eckigen Klammern angegeben werden. +\ToDo[v2.1]{Fehler mit \Package*{scrlayer} beheben und Warnung entfernen} +\Attention In der Version~\vTUDScript{} ist die Verwendung eines Titelkopfes im +\CD mit der typischen Kopfzeile noch nicht möglich. Dieses Problem wird in der +nächsten Version behoben. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{title}\Parameter{Titel}} +\begin{Declaration}{\Macro{subtitle}\Parameter{Untertitel}} +\printdeclarationlist% +\index{Titel!Felder}% +% +Sowohl Titel als auch Untertitel werden normalerweise in Majuskeln und +\DIN gesetzt. Während sowohl Größe als auch Schriftart des Titels durch das \CD +vorgegeben sind und denen von Teile"~ und Kapitelüberschriften entsprechen, +können diese beim Untertitel angepasst werden. +% +\begin{Example} +In diesem Dokument wurde der Untertitel derart geändert, dass dieser nicht +standardmäßig in \DIN sondern in \textubn{Univers~65~Bold} ausgegeben wird. +\begin{code}[escapechar=§] +\addtokomafont{subtitle}{\univbn} +\subtitle{§\PName{Untertitel}§} +\end{code} +\end{Example} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{author}\Parameter{Autor(en)}} +\begin{Declaration}{\Macro{authormore}\Parameter{Autorenzusatz}} +\begin{Declaration}{\Macro{dateofbirth}\Parameter{Geburtsdatum}} +\begin{Declaration}{\Macro{placeofbirth}\Parameter{Geburtsort}} +\begin{Declaration}{\Macro{matriculationnumber}\Parameter{Matrikelnummer}} +\begin{Declaration}{\Macro{matriculationyear}\Parameter{Immatrikulationsjahr}} +\printdeclarationlist% +\index{Titel!Felder}\index{Autorenangaben|?}% +\index{Datum!Geburtsdatum|?}% +% +Mit dem Befehl \Macro*{author} wird der Autor angegeben. Innerhalb des +Argumentes können auch mehrere Autoren aufgeführt werden, wobei diese dann +jeweils mit \Macro{and} zu trennen sind. Zu erwähnen ist, dass alle weiteren +hier vorgestellten Befehle selbst im Argument von \Macro*{author} stehen +können. Damit wird es möglich, jedem Autor unterschiedliche Angaben mitzugeben. + +Mit \Macro*{authormore} wird unter dem Autor eine Zeile ausgegeben, welche +durch den Anwender frei belegt werden kann. Sollte das Paket \Package{isodate} +geladen sein, so wird die damit eingestellte Formatierung des Datums durch +\Macro*{dateofbirth}~-- wie übrigens bei jedem anderem Datumsfeld der +\TUDScript-Klassen auch~-- verwendet. Dafür der Befehl \Macro{printdate} aus +diesem Paket verwendet. Die weiteren Befehle als zusätzliche Angabe erklären +sich von selbst. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{and}} +\printdeclarationlist% +\index{Kollaboratives Schreiben|?}\index{Titel!Kollaboratives Schreiben}% +% +Dieser Befehl wird sowohl bei den \hologo{LaTeX}"=Standardklassen als auch bei +den \KOMAScript"=Klassen lediglich auf der Titelseite dazu verwendet, mehrere +Autoren im Argument von \Macro{author} voneinander zu trennen. + +Bei den \TUDScript-Klassen hingegen ist dieser Befehl derart in seiner Funktion +erweitert worden, dass damit die Angabe einer kollaborativen Autorenschaft für +Abschlussarbeiten innerhalb des Befehls \Macro{author} möglich ist. Außerdem +kann er noch im Argument von \Macro{supervisor}, \Macro{referee} sowie +\Macro{advisor} verwendet werden, um mehrere Betreuer beziehungsweise Gutachter +und Fachreferenten anzugeben. Er ist dabei nicht auf die Verwendung für den +Titel allein beschränkt. Auch bei den Umgebungen \Environment{task}, +\Environment{evaluation} und \Environment{notice} kann er eingesetzt werden. +% +\begin{Example} +Angenommen, es soll eine Abschussarbeit von zwei unterschiedlichen Autoren in +kollaborativer Gemeinschaft erstellt werden, so könnte man die Autorenangaben +folgendermaßen gestalten: +\begin{code} +\author{% + Mickey Mouse + \matriculationnumber{12345678} + \dateofbirth{2.1.1990} + \placeofbirth{Dresden} +\and% + Donald Duck + \matriculationnumber{87654321} + \dateofbirth{1.2.1990} + \placeofbirth{Berlin} +} +\matriculationyear{2010} +\end{code} +Alle zusätzlichen Angaben außerhalb des Argumentes von \Macro{author} werden +für beide Autoren gleichermaßen übernommen. Die Angaben innerhalb des Argumentes +von \Macro{author} werden den jeweiligen, mit \Macro{and} getrennten Autoren +zugeordnet. Siehe dazu auch das Minimalbeispiel in \autoref{sec:mwe:thesis}. +\end{Example} +\end{Declaration} + +\begin{Declaration}{\Macro{thesis}\Parameter{Typisierung}} +\begin{Declaration}{\Macro{subject}\Parameter{Typisierung}} +\printdeclarationlist% +\index{Titel!Felder}% +\index{Abschlussarbeit|!}\index{Typisierung}% +% +Mit diesen beiden Befehlen kann der Typ der Dokumentes beziehungsweise der +Abschlussarbeit angegeben werden. Während der Befehl \Macro*{thesis} den Inhalt +des Feldes unter dem Titel vertikal zentriert und in \DIN auf der Titelseite +ausgibt, erscheint der Inhalt des Befehls \Macro*{subject} in \Univers oberhalb +des Titels. Es können auch beide Befehle parallel mit unterschiedlichen +Inhalten verwendet werden. Der Befehl \Macro*{thesis} dient den +\TUDScript"=Dokumentklassen außerdem zur Erkennung von Abschlussarbeiten +gedacht, da für diese spezielle Felder bereitgehalten werden und auch die +Titelseite leicht geändert gesetzt wird. + +Des Weiteren ist es bei beiden Befehlen möglich, spezielle Werte als Argument +zur Typisierung des Dokumentes zu verwenden. Diese werden entsprechend der +gewählten Dokumentensprache~-- entweder Deutsch oder Englisch~-- entschlüsselt +und gesetzt. Die möglichen Werte sind \autoref{tab:thesis} zu entnehmen. Dabei +ist zu beachten, dass das Setzen eines speziellen Wertes für \emph{entweder} +\Macro*{thesis} \emph{oder} \Macro*{subject} möglich ist. Die Verwendung eines +der genannten Werte führt immer dazu, dass das Dokument als Abschlussarbeiten +erkannt und die erweiterte Titelseite aktiviert wird. Gleichzeitig wird damit +die Option \Option{subjectthesis} beeinflusst. Sollte vom Anwender kein +explizites Verhalten für \Option{subjectthesis} definiert sein, so führt die +Verwendung von \Macro*{thesis}\Parameter{Wert} zu \Option{subjectthesis}[false] +und \Macro*{subject}\Parameter{Wert} zu \Option{subjectthesis}[true]. +% +\begin{table} +\index{Bezeichner}\index{Bezeichner!Typisierung}% +\caption{% + Spezielle Werte zur Typisierung des Dokumentes für + \Macro*{thesis} und \Macro*{subject}% +} +\label{tab:thesis}% +\centering% +\makeatletter% +\def\@tempa#1{% + \Term{#1} & \@nameuse{#1} & \selectlanguage{english}\@nameuse{#1}% + \tabularnewline% +}% +\begin{tabular}{llll} + \toprule + \textbf{Wert} & \textbf{Bezeichner} + & \textbf{Deutsch} & \textbf{Englisch} \tabularnewline + \midrule + diss & \@tempa{dissertationname} + doctoral & \@tempa{dissertationname} + phd & \@tempa{dissertationname} + diploma & \@tempa{diplomathesisname} + master & \@tempa{masterthesisname} + bachelor & \@tempa{bachelorthesisname} + student & \@tempa{studentresearchname} + project & \@tempa{projectpapername} + seminar & \@tempa{seminarpapername} + research & \@tempa{researchname} + log & \@tempa{logname} + report & \@tempa{reportname} + internship & \@tempa{internshipname} + \bottomrule +\end{tabular} +\makeatother% +\end{table} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{subjectthesis}[\PBoolean]}% + [false][\Macro{subject}\Parameter{\autoref{tab:thesis}}:true] +\printdeclarationlist% +% +Der Befehl \Macro{thesis} dient den \TUDScript"=Hauptklassen zur Unterscheidung +zweier unterschiedlichen Ausprägungen der Titelseite und ist im speziellen für +Abschlussarbeiten gedacht. Außerdem kann bei der Verwendung spezieller Werte +aus \autoref{tab:thesis} innerhalb des Argumentes von \Macro{subject} ebenfalls +das Verhalten für Abschlussarbeiten aktiviert werden, wobei hierdurch die +Einstellung \Option*{subjectthesis}[true] automatisch vorgenommen wird. + +Für den Standardfall~-- also \Option*{subjectthesis}[false]~-- wird der durch +\Macro{thesis} gegebene Typ der Abschlussarbeit sowie der gegebenenfalls durch +\Macro{degree} gesetzte angestrebte Abschluss in großen Lettern und sehr +zentral auf der Titelseite gesetzt. Die Verwendung von \Macro{subject} ist +hierbei weiterhin möglich. +% +Wird die Option mit \Option*{subjectthesis}[true] aktiviert, so wird die mit +\Macro{thesis} gesetzte Bezeichnung nicht unterhalb sondern oberhalb des Titels +an der Stelle von \Macro{subject} ausgegeben. Der mit \Macro{degree} angegebene +Abschluss wird weiterhin unter dem Titel, allerdings in schlankerer Schrift +gesetzt. Eine etwaige Verwendung des Befehls \Macro{subject} wird in diesem Fall +ignoriert. +% +\begin{values} +\itemfalse + Die Ausgabe von Abschlussarbeitstyp (\Macro{thesis}) und angestrebtem + Abschluss (\Macro{degree}) erfolgt in großen Lettern in \DIN zentral auf der + Titelseite. +\itemtrue* + Der Typ der Abschlussarbeit (\Macro{thesis}) wird oberhalb des Titels in der + Betreffzeile gesetzt. Der angestrebte Abschluss (\Macro{degree}) wird zentral + in der schlankeren \Univers ausgegeben. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Macro{degree}\OParameter{Kurzform}\Parameter{Grad}} +\printdeclarationlist% +\index{Titel!Felder}% +% +Mit diesem Befehl wird der angestrebte akademische Grad auf der Titelseite +ausgegeben. Da dies nur mit einer Abschlussarbeit erreicht werden kann erfolgt +die Ausgabe nur, wenn entweder \Macro{thesis} oder \Macro{subject} verwendet +wurde, wobei bei letzterem Befehl im Argument zwingend ein Wert aus +\autoref{tab:thesis} verwendet werden muss. + +Die Option \Option{subjectthesis} hat Einfluss auf die Ausgabe auf der +Titelseite. Für die Einstellung \Option{subjectthesis}[false] wird der +Abschuss~-- ähnlich wie +der Typ der Abschlussarbeit~-- zentral und in realtiv großen Lettern gesetzt. +Für \Option{subjectthesis}[true] erfolgt die Ausgabe kleiner und in weniger +starken Buchstaben. +\end{Declaration} + +\begin{Declaration}{\Macro{supervisor}\Parameter{Name(n)}} +\begin{Declaration}{\Macro{referee}\Parameter{Name(n)}} +\begin{Declaration}{\Macro{advisor}\Parameter{Name(n)}} +\begin{Declaration}{\Macro{professor}\Parameter{Name}} +\printdeclarationlist% +\index{Titel!Felder}% +\index{Betreuer|?}\index{Gutachter|?}\index{Referent|?}% +% +Mit \Macro*{supervisor}, \Macro*{referee} und \Macro*{advisor} werden die +Betreuer einer Abschlussarbeit beziehungsweise die Gutachter und Fachreferenten +einer Dissertation angegeben. Die Angabe mehrerer Person erfolgt wie beim Befehl +\Macro{author} durch die Trennung mittels \Macro{and}. + +Neben der Angabe eines oder mehrerer Betreuer kann mit \Macro*{professor} +der betreuende Hochschullehrer für studentische Arbeiten angegeben werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{date}\OParameter{Ergänzung}\Parameter{Datum}} +\begin{Declaration}{\Macro{defensedate}\Parameter{Verteidigungsdatum}} +\printdeclarationlist% +\index{Titel!Felder} +\index{Datum|?}\index{Datum!Verteidigungsdatum|?}% +% +Mit \Macro*{date} kann das Datum angegeben werden. Das optionale Argument +erlaubt eine zusätzliche Anmerkung, welche nach dem Datum ausgegeben wird. Das +Datum wird bei normalen Dokumenten direkt nach dem Autor beziehungsweise den +Autoren ausgegeben. Bei Abschlussarbeiten~-- aktiviert durch die Verwendung von +\Macro{thesis}~-- erscheint es am Ende der Titelseite als Abgabedatum. Außerdem +kann für in diesem Fall mit \Macro*{defensedate} das Datum der Verteidigung +angegeben werden, wie es beispielsweise bei dem Druck von Dissertationen üblich +ist. + +Sollte das Paket \Package{isodate} geladen sein, so wird die damit eingestellte +Formatierung des Datums durch den Befehl \Macro{printdate} aus diesem Paket für +\Macro*{date} und \Macro*{defensedate} verwendet. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{ddc}[\PSet]}[false] +\begin{Declaration}{\Option{ddcfoot}[\PSet]}[false] +\printdeclarationlist% +\index{Zweitlogo}\index{Layout!Zweitlogo}% +% +Diese Optionen fügen das Logo von \DDC entweder im Kopf oder im Fuß der +Titelseite ein. Dies geschieht passend zur gewählten farblichen Ausprägung, +welche über die Option \Option{cdtitle} gewählt wird. +% +\begin{values} +\itemfalse + Es erscheint kein Logo von \DDC auf der Titelseite. +\itemtrue* + Das Logo von \DDC wird auf dem Titel im Kopf (\Option*{ddc}[true]) + beziehungsweise im Fuß (\Option*{ddcfoot}[true]) verwendet. +\item[color/colour] + Im Kopf (\Option*{ddc}[color]) respektive im Fuß (\Option*{ddcfoot}[color]) + auf der Titelseite wird, unabhängig von den gewählten Farbeinstellung, das + farbige Logo von \DDC genutzt. +\end{values} +% +Der Befehl \Macro{headlogo}\Parameter{Dateiname} überschreibt die Einstellungen +für \Option*{ddc}. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{titledelimiter}\Parameter{Trennzeichen}} +\printdeclarationlist% +\index{Titel!Felder}\index{Titel!Trennzeichen}%% +% +Mit diesem Befehl lässt sich das Trennzeichen, welches auf der Titelseite +jeweils zwischen der Beschreibung eines Feldes und dem Feld selber steht, +beliebig anpassen. Voreingestellt ist ein Doppelpunkt gefolgt von einem +Leerzeichen (:\Macro*{nobreakspace}). +\end{Declaration} + +\begin{Declaration}{\Macro{extratitle}\Parameter{Schmutztitel}} +\begin{Declaration}{\Macro{titlehead}\Parameter{Kopf}} +\begin{Declaration}{\Macro{publishers}\Parameter{Verlag}} +\begin{Declaration}{\Macro{thanks}\Parameter{Fußnote}} +\begin{Declaration}{\Macro{uppertitleback}\Parameter{Titelrückseitenkopf}} +\begin{Declaration}{\Macro{lowertitleback}\Parameter{Titelrückseitenfuß}} +\begin{Declaration}{\Macro{dedication}\Parameter{Widmung}} +\printdeclarationlist% +% +Diese Befehle entsprechen den in ihrem Verhalten den originalen Pendants der +\KOMAScript"=Klassen{} und sollen hier der Vollständigkeit halber erwähnt +werden. + +Die Ausgabe des mit \Macro*{extratitle} definierten Schmutztitels~-- welcher +beliebig gestaltet und formatiert werden kann~-- erfolgt als Bestandteil der +Titelei mit \Macro{maketitle} vor der eigentlichen Titelseite. + +Mit dem Befehl \Macro*{titlehead} kann ein zusätzlicher, beliebig +formatierbarer Text oberhalb der Typisierung und des Titels ausgegeben werden. +Da die Position des Dokumententitels allerdings durch das \CD fest +vorgegeben ist, kann es~-- im Gegensatz zu den \KOMAScript"=Klassen~-- +passieren, dass der Kopf des Haupttitels selbst in die Kopfzeile ragt. Dies wird +durch die \TUDScript-Klassen nicht geprüft und muss gegebenenfalls vom Anwender +kontrolliert werden. + +Der mit dem Befehl \Macro*{publishers} definierte Inhalt muss nicht zwingende +einen Verlag bezeichnen sondern kann auch andere Informationen beinhalten, +welche am Ende der Titelseite ausgegeben werden sollen. + +Fußnoten werden auf dem Titel nicht mit \Macro*{footnote}, sondern mit der +Anweisung \Macro*{thanks} erzeugt. Sie dienen in der Regel für Anmerkungen bei +Titel oder den Autoren. Als Fußnotenzeichen werden dabei Symbole statt Zahlen +verwendet. Es ist zu beachten, dass \Macro*{thanks} innerhalb des Arguments +einer der Anweisungen für die Titelseite wie beispielsweise \Macro{author} oder +\Macro{title} zu verwenden qist. + +\index{Satzspiegel!doppelseitig}% +Im doppelseitigen Druck lässt sich die Rückseite der Haupttitelseite für +weitere Angaben nutzen. Sowohl den Titelrückseitenkopf als auch den +Titelrückseitenfuß kann der Anwender mit \Macro*{uppertitleback} und +\Macro*{lowertitleback} frei gestalten. + +Mit \Macro*{dedication} kann eine eigene Widmungsseite zentriert und in etwas +größerer Schrift gesetzt werden. Die Rückseite ist wie die des Schmutztitels +grundsätzlich leer. Die Widmungsseite wird zusammen mit der restlichen Titelei +durch \Macro{maketitle} ausgegeben und muss daher vor dieser Anweisung +definiert sein. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\index{Titel|!)} + +\clearpage +\subsection{Die Teileseite}\label{sec:part} +\begin{Declaration}{\Option{parttitle}[\PBoolean]}[false]% +\printdeclarationlist% +\index{Teileseiten|?}\index{Layout!Teileseiten}% +% +Diese Option ermöglicht es, den mit \Macro{title} gegebenen Titel des +Dokumentes selbst in großer Schrift auf einer Teileseite auszugeben, die +Bezeichnung des mit \Macro{part}\Parameter{Bezeichnung} erzeugten Teils wird +in diesem Fall in kleiner Schrift direkt darunter gesetzt. Diese +Layout"=Variante findet sich im Handbuch für das \CD der \TnUD. \notudscrartcl +\begin{values} +\itemfalse + Die Bezeichnung des Teils erscheint in großer Schrift auf der Seite, der + Titel des Dokumentes gar nicht. +\itemtrue* + Der Titel wird in großer Auszeichnung auf der Teileseite gesetzt, die + Bezeichnung des Teils selber in kleinerer. +\end{values} +\end{Declaration} + +\subsection{Die Kapitelseite}\label{sec:chapter} +\begin{Declaration}{\Option{chapterpage}[\PBoolean]}% + [false][\Option{cd}[color]:true]% +\printdeclarationlist% +\index{Kapitelseiten|?}\index{Layout!Kapitelseiten|?}% +\index{Satzspiegel!doppelseitig}\index{Leerseiten}% +% +Mit dieser Einstellung kann die Überschrift eines Kapitels separat auf einer +Seite ausgegeben werden. Wird diese Option aktiviert, so werden Kapitelseiten +genauso wie Teileseiten behandelt. Der Seitenstil beider wird gleichgesetzt.% +\footnote{% + \Macro*{renewcommand*}\PParameter{\Macro{chapterpagestyle}}% + \PParameter{\Macro{partpagestyle}} +} +Der nachfolgende Text wird auf der nächsten beziehungsweise bei doppelseitigem +Satz und rechts öffnenden Kapiteln% +\footnote{% + \Option{twoside} und \Option{open}[right], Standard für \Class{tudscrbook} +} +auf der übernächsten Seite ausgegeben. Die in diesem Fall erzeugte Rückseite +wird in ihrer Ausprägung~-- wie auch Teileseiten~-- durch die Einstellung von +\Option{cleardoublespecialpage} bestimmt. Beim farbigen Layout ist diese Option +standardmäßig aktiviert. \notudscrartcl +% +\begin{values} +\itemfalse + Es gibt keine Sonderstellung von Kapiteln, der nachfolgende Text wird direkt + unter der Überschrift auf der gleichen Seite ausgegeben. +\itemtrue* + Die Kapitelüberschrift wird auf einer separaten Seite gesetzt, der folgende + Text wird erst auf der nächsten beziehungsweise übernächsten Seite ausgegeben. + Siehe dazu auch die Option \Option{cleardoublespecialpage}. +\end{values} +\end{Declaration} + +\subsection{Satzspiegel und Kolumnentitel} +\index{Seitenstil}\index{Layout!Seitenstil}% +\begin{Declaration}{\Option{geometry}[\PSet]}[true]% +\printdeclarationlist% +\index{Satzspiegel}\index{Satzspiegel!doppelseitig}\index{Layout!Satzspiegel}% +\index{Layout!Seitenränder}% +% +Diese Option ist für die Aufteilung beziehungsweise die Berechnung des +Satzspiegels verantwortlich. Das Maß der Seitenränder ist im \CD fest vorgegeben +und wird standardmäßig von den \TUDScript-Klassen eingehalten. Allerdings lassen +sich die Seitenränder anpassen, um beispielsweise einen vernünftigen +doppelseitigen Satz zu ermöglichen.% +\footnote{Hierbei sollte der innere Rand schmaler als der äußere sein} +Des Weiteren besteht die Möglichkeit, auf das Standardverhalten von +\KOMAScript{} zurückzufallen und die Satzspiegelberechnung durch das Paket +\Package{typearea} vornehmen zu lassen. Hier hat insbesondere die Klassenoption +\Option{DIV}[\PSet] maßgeblichen Einfluss auf den Satzspiegel. Siehe dazu die +Dokumentation von \KOMAScript{}. +% +\begin{values} +\itemfalse + Die Satzspiegelberechnung erfolgt via \Package{typearea}, die Vorgaben des + \CDs bezüglich der Seitenränder werden ignoriert. +\itemtrue*[tud/cd/asymmetric] + Die Seitenränder werden im asymmetrischen Stil des \CDs fest definiert und + auch für den doppelseitigen Satz (\Option{twoside}[true]) genutzt.% + \footnote{links: 30\,mm, rechts: 20\,mm, oben: 25\,mm, unten: 30\,mm} +\item[symmetric/normal/standard/std] + Der Satzspiegel wird im einseitigen sowie doppelseitigen Satz auf der Seite + zentriert.% + \footnote{links: 25\,mm, rechts: 25\,mm, oben: 25\,mm, unten: 30\,mm} +\item[balanced/twoside] + Im einseitigen Layout entspricht das Verhalten der Einstellung + \Option*{geometry}[symmetric]. Beim doppelseitigen Satz wird der Satzspiegel + derart verändert, dass die Ränder der inneren Seiten schmaler sind als die der + äußeren.% + \footnote{innen: 20\,mm, außen: 30\,mm, oben: 25\,mm, unten: 30\,mm} +\end{values} +% +Für die Festlegung der Seitenränder selbst wird das Paket \Package{geometry} +verwendet. Für den Fall, dass die Option \Option*{geometry}[false] gewählt ist, +erfolgt die Berechnung des Satzspiegels durch \Package{typearea}. Die damit +berechneten Werte werden anschließend an \Package{geometry} weitergereicht und +durch dieses umgesetzt. +\end{Declaration} + +\subsubsection{Binderandkorrektur} +\index{Binderandkorrektur|!}\index{Layout!Binderandkorrektur}% +Zu erwähnen im Zusammenhang mit Seitenrändern und Satzspiegel ist die durch +\Package{typearea} angebotene Option \Option{BCOR}[\PName{Länge}], durch +die bei der Satzspiegelberechnung ein Heftrand beziehungsweise eine +Binderandkorrektur berücksichtigt wird. Die \TUDScript-Klassen reichen diesen +Wert auch an \Package{geometry} weiter, so dass der Benutzer unabhängig von der +Auswahl zur Satzspiegelgestaltung diese Option nutzen kann. So kann +beispielsweise eine Binderandkorrektur von 5\,mm mit der Klassenoption +\Option{BCOR}[5mm] gesetzt werden. + +\subsubsection{Kopf"~ und Fußzeile im Zusammenspiel mit dem Satzspiegel} +\index{Kopfzeile|!}\index{Layout!Kopfzeile}% +\index{Fußzeile|!}\index{Layout!Fußzeile}% +Da im \CD nicht festgelegt ist, wie die Gestaltung der Kopf"~ und Fußzeilen in +einer wissenschaftlichen Arbeit auszuführen ist, bleibt dem Nutzer dafür eine +gewisse Freiheit. Dafür können beispielsweise die Pakete \Package{scrpage2} oder +ab der \KOMAScript"=Version~v3.12 besser noch \Package{scrlayer-scrpage} genutzt +werden. + +In der Dokumentation zu \Package{typearea} wird auch darauf eingegangen, wann +Kopf"~ und Fußzeile bei der Satzspiegelkonstruktion dem Rand oder aber dem +Textkörper zugeschlagen werden sollten. Dies sollte bei der Erstellung eigener +Kopf"~ und Fußzeilen beachtet werden. Die Einstellung dafür erfolgt mit den +beiden \KOMAScript"=Optionen \Option{headinclude}[\PBoolean] sowie +\Option{footinclude}[\PBoolean]. Diese können~-- unabhängig von der gewählten +Einstellung zur Satzspiegelgestaltung über \Option{geometry}~-- verwendet werden. + +\begin{Declaration}{\Option{cdfoot}[\PBoolean]}[false]% +\printdeclarationlist% +\index{Kolumnentitel}\index{Layout!Kolumnentitel} +\index{Satzspiegel!doppelseitig}% + +Eine Möglichkeit zur Gestaltung der Kolumnentitel zeigt das Handbuch für das \CD +der \TnUD. Dieses wird ohne Kopf"~ und mit einer einfachen Fußzeile gesetzt. +Diese enthält dabei den aktuellen Kolumnentitel sowie die Paginierung. Eine +derartige Ausprägung ist nicht explizit durch das \CD vorgegeben, wurde jedoch +innerhalb der alten \Class{tudbook}"=Klasse exakt so umgesetzt. + +Die neuen \TUDScript-Klassen sind~-- insbesondere aufgrund der Möglichkeit zur +Verwendung der Pakete \Package{scrlayer-scrpage} oder \Package{scrpage2}, wobei +das letztere seit der \KOMAScript"=Version~v3.12 veraltet ist~-- bei den +Gestaltungsmöglichkeiten der Kopf"~ und Fußzeilen flexibler. Dennoch kann mit +dieser Option das beschriebene Verhalten aktiviert werden. Hierbei wird beim +doppelseitigen Satz (\Option{twoside}[true]) die Seitenzahl außen gesetzt. +% +\begin{values} +\itemfalse + Die Kopf"~ und Fußzeilen zeigen Standardverhalten, zur Änderung sollte das + \KOMAScript"=Paket \Package{scrlayer-scrpage} beziehungsweise das ab + \KOMAScript"=Version~v3.12 veraltete \Package{scrpage2} verwendet werden. +\itemtrue* + Die Kopf"~ und Fußzeilen des Dokumentes werden wie im Handbuch des \CDs der + \TnUD beziehungsweise der \Class{tudbook}"=Klasse gesetzt. +\end{values} +\end{Declaration} + +\subsection{Seiten im Stil des \CDs} +\begin{Declaration}{\Environment{tudpage}[\OLParameter{Sprache}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{language}[\PName{Sprache}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{cdfont}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{color}[\PName{Farbe}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{columns}[\PName{Anzahl}]} +\begin{Declaration}{\Key{\Environment{tudpage}}{widehead}[\PBoolean]} +\begin{Declaration}{\Key{\Environment{tudpage}}{head}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{foot}[\PSet]} +\begin{Declaration}{\Key{\Environment{tudpage}}{logo}[\PName{Dateiname}]} +\printdeclarationlist% +\index{Layout}\index{Layout!Seitenstil}% +\index{Kopfzeile}\index{Layout!Kopfzeile}% +\index{Fußzeile}\index{Layout!Fußzeile}% +\index{Schrift}\index{Kopfzeile!Schrift} +% +Ein zentrales Element des \CDs der \TnUD ist der eingeführte prägnante +Seitenkopf mit der Angabe von Fakultät (\Macro{faculty}), Einrichtung +(\Macro{department}), Institut (\Macro{institute}) und Lehrstuhl +(\Macro{chair}). Die beschriebene Umgebung erlaubt es, diesen Kopf für eine oder +mehrere beliebige Seiten innerhalb des Dokumentes zu verwenden. Beispielsweise +könnte eine Kurzfassung einer Abschlussarbeit oder eines Papers nicht in der +\Environment{abstract}"=Umgebung sondern mit dem Kopf des \CDs gesetzt werden. + +Zusätzlich können weitere Parameter als optionales Argument angegeben werden. +Wird das Paket \Package{babel} verwendet, kann mit dem Parameter +\Key*{\Environment{tudpage}}{language}[\PName{Sprache}] die Sprache innerhalb +der \Environment*{tudpage}"=Umgebung geändert werden. Dafür muss die gewünschte +Sprache bereits mit dem Laden von \Package{babel} entweder als Paketoption oder +besser noch als Klassenoption angegeben worden sein. Dadurch werden lokal +innerhalb der Umgebung alle Bezeichner und die Trennungsmuster sprachspezifisch +angepasst. Die gewünschte Sprache kann auch direkt und ohne den Schlüssel +\Key*{\Environment{tudpage}}{language} als optionales Argument übergeben werden. + +Mit dem Parameter \Key*{\Environment{tudpage}}{color} kann die Farbe des Kopfes +auf jede beliebige, bereits definierte geändert werden. Diese ist für den Fall +eines farbigen Layouts (\Option{cd}[pale|color]) auf die primäre Hausfarbe +\Color{HKS41} gesetzt, sonst ist der Kopf schwarz. Des Weiteren wird das Paket +\Package{multicol} unterstützt. Wird dieses geladen, kann mit dem Paramet +\Key*{\Environment{tudpage}}{columns}[\PName{Anzahl}] der Inhalt der Umgebung +mehrspaltig gesetzt werden. Soll für die \Environment*{tudpage}"=Umgebung lokal +ein anderes Zweitlogo als das mit \Macro{headlogo} gegebene erscheinen, so +kann man \Key*{\Environment{tudpage}}{logo}[\PName{Dateiname}] verwenden. + +Der Parameter \Key*{\Environment{tudpage}}{head} dient zur Steuerung des +Erscheinungsbildes des Kopfes. In erster Linie kann man damit einstellen, ob und +welches Sekundärlogo für den Kopf verwendet werden soll. Normalerweise wird dies +ausgegeben, wenn mit \Macro{headlogo} eines angegeben wurde. Folgende +Einstellungen für den Parameter \Key*{\Environment{tudpage}}{head} sind möglich: +% +\begin{values} +\itemfalse Es wird lediglich das typische Logo der \TnUD im Kopf auf der linken + Seite verwendet. Ein mit \Macro{headlogo} gegebenes Sekundärlogo wird + unterdrückt. +\item[\noexpand\emph{logo}]Das durch \Macro{headlogo} gegebene Logo + erscheint rechts im Kopf. Dies entspricht der Voreinstellung. Diese kann lokal + mit dem Parameter \Key*{\Environment{tudpage}}{logo}[\PName{Dateiname}] + überschrieben werden. +\item[ddc] Es wird das einfarbige Logo von \DDC ausgegeben. Im farbigen Layout + (\Option{cd}[pale|color]) erscheint dies in der primären Hausfarbe + \Color{HKS41}, ansonsten in schwarz. +\item[ddcolor] Auf der rechten Kopfseite erscheint das mehrfarbige Logo von \DDC. +\item[cdfont] Wird der Fließtext innerhalb der \Environment*{tudpage}"=Umgebung + nicht in der Schrift des \CDs gesetzt (Klassenoption \Option{cdfont}[false] + bzw. Parameter \Key*{\Environment{tudpage}}{cdfont}[false]), so werden auch + die Felder im Querbalken des Kopfes normalerweise in Serifenlosen der + verwendeten Schriftfamilie ausgegeben. Mit der Wahl des Parameters + \Key*{\Environment{tudpage}}{head}[cdfont] wird hierfür dennoch die Schrift + \Univers verwendet. +\end{values} +% +Mit dem Parameter \Key*{\Environment{tudpage}}{foot} lässt sich die Fußzeile +innerhalb der \Environment*{tudpage}"=Umgebung anpassen, folgende Einstellungen +sind für diesen möglich: +% +\begin{values} +\item[empty] Die Fußzeile bleibt komplett leer, auch die Seitenzahl entfällt. +\item[plain] Es wird lediglich die Seitenzahl in der Fußzeile ausgegeben. +\item[ddc] Es wird das einfarbige kleine Logo von \DDC im Fuß gesetzt. Im + kolorierten Layout (\Option{cd}[pale|color]) in der primären Hausfarbe + \Color{HKS41}, ansonsten in schwarz. +\item[ddcolor] Auf der rechten Fußseite erscheint das mehrfarbige Logo von \DDC. +\end{values} +% +Die anderen Parameter entsprechen in ihrem Verhalten prinzipiell den +gleichnamigen Klassenoptionen, wirken sich jedoch nur lokal innerhalb der +\Environment*{tudpage}"=Umgebung aus. Namentlich sind dies die Optionen +\Option'{cdfont} und \Option'{widehead}. Das Verhalten sowie die jeweils +gültigen Wertzuweisungen können in den entsprechenden Abschnitten der +Dokumentation nachgelesen werden. +\ToDo[v2.1]{Fehler mit \Package*{scrlayer} beheben und Warnung entfernen}% +\Attention Innerhalb der \Environment{tudpage}"=Umgebung können in der +aktuellen Version~\vTUDScript{} die Befehle \Macro{part} und \Macro{chapter} +nicht fehlerfrei verwendet werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\section{Die Farben des \CDs} +Zur Verwendung der Farben des \CDs wird das Paket \Package{tudscrcolor} +genutzt. Falls dieses nicht in der Präambel geladen wird~-- um beispielsweise +zusätzliche Optionen aufzurufen~-- binden die \TUDScript"=Klassen dieses +automatisch ein. Weitere Informationen zur Verwendung sind in der Dokumentation +des Paketes \Package*'{tudscrcolor} zu finden. + + +\section{Zusätzliche Optionen und Erweiterungen} +Neben den Befehlen für die Anpassung des Layouts an das \CD der \TnUD stellen +die \TUDScript-Klassen weitere Befehle und Umgebungen zur Verfügung, um die +Anwendung insbesondere für wissenschaftliche Arbeiten zu erleichtern. + +\subsection{Zusammenfassung beziehungsweise Kurzfassung} +\begin{Declaration}{\Option{abstract}[\PSet]}% +\printdeclarationlist% +\index{Zusammenfassung|!(}% +\index{Zweispaltensatz}% + +Diese Einstellungsmöglichkeit wird bereits durch \KOMAScript{} für die Klassen +\Class{scrartcl} und \Class{scrreprt} standardmäßig bereitgestellt. Für die +Klasse \Class{scrbook} geschieht dies nicht. Dazu heißt es in der Anleitung zu +\KOMAScript{}: +% +\begin{quoting} +Bei Büchern wird in der Regel eine andere Art der Zusammenfassung verwendet. Dort +setzt man ein entsprechendes Kapitel an den Anfang oder Ende des Werks. Oft wird +diese Zusammenfassung entweder mit der Einleitung oder einem weiteren Ausblick +verknüpft. Daher gibt es bei \Class{scrbook} überhaupt keine +\Environment{abstract}"=Umgebung. Bei Berichten im weiteren Sinne, etwa einer +Studien- oder Diplomarbeit, ist ebenfalls eine Zusammenfassung in dieser Form zu +empfehlen. +\end{quoting} +% +Durch die \TUDScript-Klassen wird diese Option erweitert. Neben der +standardmäßigen Wahl innerhalb der Klassen \Class{tudscrartcl} und +\Class{tudscrreprt}, ob keine oder eine kleine und zentrierte Überschrift +innerhalb der \Environment{abstract}"=Umgebung gesetzt werden soll, kann die +Überschrift für die Zusammenfassung außerdem in Gestalt eines Abschnitts +oder für die Klassen \Class{tudscrreprt} und \Class{tudscrbook} in der Form +eines Kapitels ausgegeben werden. + +Abhängig von der gewählten Gliederungsebene der Überschrift erfolgt ein +Voreinstellung für das Setzen eines Eintrages ins Inhaltsverzeichnis. Dies kann +allerdings jederzeit mit der Option \Option*{abstract}[toc/notoc] durch den +Anwender explizit eingestellt werden. +% +\begin{values} +\itemfalse[][nur für \Class*{tudscrartcl} und \Class*{tudscrreprt} verfügbar] + Es wird keine Überschrift für die \Environment{abstract}"=Umgebung ausgegeben. + Für gewöhnlich erfolgt kein Eintrag ins Inhaltsverzeichnis. +\itemtrue*[][nur für \Class*{tudscrartcl} und \Class*{tudscrreprt} verfügbar] + Wie bei den \KOMAScript"=Klassen wird eine zentrierte Überschrift mit dem + Bezeichner \Term{abstractname} vor der eigentlichen Zusammenfassung gesetzt. + Normalerweise wird für das Inhaltsverzeichnis kein Eintrag erzeugt. +\item[section] Die Überschrift verwendet den Befehl \Macro{addsec}. Im + Standardfall wird die Zusammenfassung im Inhaltsverzeichnis eingetragen. +\item[chapter][(Säumniswert für \Class*{tudscrbook}) + nur für \Class*{tudscrreprt} und \Class*{tudscrbook} verfügbar] + Es wird der Befehl \Macro{addchap} für das Setzen der Überschrift genutzt. + Falls nicht anderweitig angegeben, wird die Zusammenfassung im + Inhaltsverzeichnis aufgeführt. +\item[heading] Es wird die jeweils höchstmögliche Gliederungsebene verwendet. + Für \Class{tudscrartcl} entspricht dies der Einstellung + \Option*{abstract}[section], bei \Class{tudscrreprt} und \Class{tudscrbook} + der Wahl \Option*{abstract}[chapter]. +\item[toc/totoc] + Unabhängig von der Wahl der Überschrift erhält die Zusammenfassung einen nicht + nummerierten Eintrag im Inhaltsverzeichnis auf der obersten Gliederungsebene. +\item[notoc/nottotoc] + Die Zusammenfassung wird nicht ins Inhaltsverzeichnis eingetragen. +\end{values} +% +Die folgenden Einstellungen haben lediglich Auswirkungen, wenn die Überschrift +der Zusammenfassung \emph{nicht} mit \Option*{abstract}[chapter] auf das Format +eines Kapitels gesetzt wurde und die \Option{titlepage}"=Option aktiviert ist. + +Häufig wird für Abschlussarbeiten verlangt, neben der deutschsprachigen +Kurzfassung auch noch einen englischen Abstract zu verfassen. Es kann +eingestellt werden, beide zusammen auf einer Seite auszugeben~-- sofern genügend +Platz vorhanden ist. + +Außerdem kann die standardmäßige vertikale Zentrierung der +\Environment{abstract}"=Umgebung auf einer Seite unterdrückt werden. Damit kann +der Anwender gegebenenfalls die Positionierung selbstständig vornehmen. +% +\begin{values} +\item[one/simple/single]Jede Zusammenfassung wird auf einer eigenen Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[two/both/double] + Sollte ausreichend Platz auf einer Seite vorhanden sein, werden zwei direkt + aufeinanderfolgende Zusammenfassungen auf dieser ausgegeben. Ist die Option + \Option{twocolumn} aktiviert, erfolgt die Ausgabe der zweiten Zusammenfassung + nach der ersten in der gleichen Spalte. +\item[nofil/nofill/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Textsatz auch. +\item[fil/fill/vfil/vfill] + Die Zusammenfassung(en) werden auf der Ausgabeseite vertikal zentriert. Für + den zweispaltigen Satz steht diese Option nicht zur Verfügung. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Environment{abstract}[\OLParameter{Sprache}]} +\begin{Declaration}{\Key{\Environment{abstract}}{language}[\PName{Sprache}]} +\begin{Declaration}{\Key{\Environment{abstract}}{columns}[\PName{Anzahl}]} +\begin{Declaration}{\Key{\Environment{abstract}}{option}[\PSet]} +\printdeclarationlist% +\index{Zweispaltensatz}% + +Diese Umgebung dient speziell für die Ausgabe einer Zusammenfassung. Mit der +Option \Option{abstract} kann eingestellt werden, in welcher Gestalt diese +ausgegeben werden soll. Wird keine Titelseite sondern ein Titelkopf verwendet +(\Option{titlepage}[false]), so wird für den Fall, dass die Zusammenfassung +\emph{nicht} mit einer Überschrift einer Gliederungsebene gesetzt wird, diese +wie bei den \KOMAScript"=Klassen in einer \Environment{quotation}"=Umgebung +gesetzt, um die Zusammenfassung abzuheben. Diese hat jedoch den Nachteil, dass +in dieser die Option \Option{parskip} nicht beachtet wird. Um dieses Problem zu +beheben, kann das Paket \Package{quoting} geladen werden. Dann wird +stattdessen +die \Environment{quoting}"=Umgebung verwendet und kann gegebenenfalls angepasst +werden. + +Zusätzlich können weitere Parameter als optionales Argument angegeben werden. +Wird das Paket \Package{babel} verwendet, kann mit dem Parameter +\Key*{\Environment{abstract}}{language}[\PName{Sprache}] die Sprache innerhalb +der \Environment{abstract}"=Umgebung geändert werden. Dafür muss die gewünschte +Sprache bereits mit dem Laden von \Package{babel} entweder als Paketoption oder +besser noch als Klassenoption angegeben worden sein. Dadurch werden lokal +innerhalb der Umgebung die Bezeichnung \Term{abstractname} und die +Trennungsmuster sprachspezifisch angepasst. Die gewünschte Sprache kann auch +direkt und ohne den Schlüssel \Key*{\Environment{abstract}}{language} als +optionales Argument übergeben werden. + +Des Weiteren wird das Paket \Package{multicol} unterstützt. Wird dieses geladen, +kann mit dem Paramet \Key*{\Environment{abstract}}{columns}[\PName{Anzahl}] die +Zusammenfassung mehrspaltig gesetzt werden. + +Dem Parameter \Key*{\Environment{abstract}}{option} können alle gültigen, +bereits erläuterten Werte der Option \Option{abstract} übergeben werden. +Die damit gemachten Einstellungen wirken sich~-- im Gegensatz zur Angabe als +Klassenoption oder über die Variante der späten Optionenwahl% +\footnote{% + \Macro{TUDoption}\PParameter{abstract}\Parameter{Einstellung} oder + \Macro{TUDoptions}\PParameter{abstract=\PName{Einstellung}} +}~-- lediglich lokal +auf die gerade verwendete \Environment{abstract}"=Umgebung aus. + +Sollte die \Environment{abstract}"=Umgebung innerhalb des Argumentes der Befehle +\Macro{partpreamble} beziehungsweise \Macro{chapterpreamble} verwendet werden, +wird die Überschrift~-- für den Fall, dass nicht \Option{abstract}[false] +gewählt ist~-- \emph{immer} in Textgröße und zentriert gesetzt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\index{Zusammenfassung|!)}% + +\subsection{Selbstständigkeitserklärung und Sperrvermerk} +\begin{Declaration}{\Option{declaration}[\PSet]}[true]% +\printdeclarationlist% +\index{Selbstständigkeitserklärung|!}\index{Sperrvermerk|!}% +% +Mit dieser Einstellung kann äquivalent zur Option \Option{abstract} die +Gestaltung von Selbstständigkeitserklärung und Sperrvermerk angepasst werden. +Zur Ausgabe der Erklärungen werden die Befehle \Macro{confirmation} und +\Macro{restriction} beziehungsweise \Macro{declaration} bereitgestellt. Ob ein +Eintrag ins Inhaltsverzeichnis erfoglt, wird abhängig von der gewählten +Überschrift gegebenenfalls voreingestellt, kann jedoch jederzeit mit der Option +\Option*{declaration}[toc/notoc] fest vorgegeben werden. +% +\begin{values} +\itemfalse + Es wird keine Überschrift über den Erklärungen selbst ausgegeben. Für + gewöhnlich erfolgt auch kein Eintrag ins Inhaltsverzeichnis. +\itemtrue* + Es wird eine zentrierte Überschrift mit dem Bezeichner \Term{confirmationname} + vor dem Text der Selbstständigkeitserklärung beziehungsweise + \Term{restrictionname} vor der Sperrvermerk gesetzt. Normalerweise + wird im Inhaltsverzeichnis kein Eintrag erzeugt. +\item[section] Die Überschrift verwendet den Befehl \Macro{addsec}. Im + Standardfall wird die Erklärung im Inhaltsverzeichnis eingetragen. +\item[chapter] + Es wird der Befehl \Macro{addchap} für das Setzen der Überschrift genutzt. + Falls nicht anderweitig angegeben, wird die ausgegebene Erklärung im + Inhaltsverzeichnis aufgeführt. +\item[heading] Es wird die jeweils höchstmögliche Gliederungsebene verwendet. + Für \Class{tudscrartcl} entspricht dies der Einstellung + \Option*{declaration}[section], bei \Class{tudscrreprt} und \Class{tudscrbook} + der Wahl \Option*{declaration}[chapter]. +\item[toc/totoc] + Unabhängig von der Wahl der Überschrift erhält die Erklärung einen nicht + nummerierten Eintrag im Inhaltsverzeichnis auf der obersten Gliederungsebene. +\item[notoc/nottotoc] + Die Erklärung wird nicht ins Inhaltsverzeichnis eingetragen. +\end{values} +% +Die folgenden Einstellungen haben lediglich Auswirkungen, wenn die Überschrift +der Zusammenfassung \emph{nicht} mit \Option*{declaration}[chapter] auf das +Format eines Kapitels gesetzt wurde und die \Option{titlepage}"=Option aktiviert +ist. +% +\begin{values} +\item[one/simple/single]Jede Erklärung wird auf einer separaten Seite + beziehungsweise im zweispaltigen Satz in einer neuen Spalte ausgegeben. +\item[two/both/double] + Ist ausreichend Platz auf einer Seite vorhanden, werden durch den Befehl + \Macro{declaration} Selbstständigkeitserklärung und Sperrvermerk auf + dieser ausgegeben. Mit \Macro{confirmation} und \Macro{restriction} können + beispielsweise auch Selbstständigkeitserklärung beziehungsweise Sperrvermerk + in verschiedenen Sprachen auf einer Seite gesetzt werden. Ist die Option + \Option{twocolumn} aktiviert, erfolgt die Ausgabe aller Erklärungen ohne den + Beginn einer neuen Spalte. +\item[nofil/nofill/novfil/novfill] + Die Ausgabe erfolgt wie im normalen Textsatz auch. +\item[fil/fill/vfil/vfill] + Die Erklärung(en) werden auf der Ausgabeseite vertikal zentriert. Im + zweispaltigen Satz steht diese Option nicht zur Verfügung. +\end{values} +\end{Declaration} + +\begin{Declaration}{\Macro{confirmation}\OLParameter{supporter}} +\begin{Declaration}{\Key{\Macro{confirmation}}{supporter}[\PName{Unterstützer}]} +\begin{Declaration}{\Key{\Macro{confirmation}}{place}[\PName{Ort}]} +\begin{Declaration}{\Key{\Macro{confirmation}}{closing}[\PName{Abschluss}]} +\begin{Declaration}{\Key{\Macro{confirmation}}{language}[\PName{Sprache}]} +\begin{Declaration}{\Key{\Macro{confirmation}}{option}[\PSet]} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Datum}% + +Mit diesem Befehl wird ein sprachspezifischer Standardtext für eine +Selbstständigkeitserklärung ausgegeben, welcher in \Term{confirmationtext} +gespeichert ist. Innerhalb der Erklärung werden alle Personen aufgeführt, welche +entweder durch den Schlüssel \Key*{\Macro{confirmation}}{supporter} angegeben +wurden. Auch hier können mehrere Personen durch \Macro{and} getrennt werden. Für +den Fall, dass mit \Macro{supervisor} ein oder mehrere Betreuer angegeben +wurden, werden diese standardmäßig auch als Unterstützer genannt. Diese Angabe +kann jederzeit mit \Key*{\Macro{confirmation}}{supporter}[\PParameter{}] durch +den Anwender gelöscht werden. Soll kein weiterer der möglichen Parameter +geändert werden, kann das Feld der Unterstützer auch mit dem bloßen optionalen +Argument ohne die Angabe eines Schlüssels angepasst werden. Wie der Standardtext +geändert werden kann, ist unter \autoref{sec:localization} zu finden. + +Nach dem eigentlichen Text der Selbstständigkeitserklärung wird der mit +\Key*{\Macro{confirmation}}{place} angegebene Ort sowie das mit \Macro{date} +eingestellte Datum ausgegeben. Als Voreinstellung ist für den Ort +\enquote{Dresden} gewählt. Danach folgen~-- mit etwas vertikalem Freiraum für +die notwendige Unterschrift~-- der Autor oder die Autoren, angegeben durch den +Befehl \Macro{author}. Soll anstelle dessen etwas anderes nach der eigentlichen +Selbstständigkeitserklärung gesetzt werden, kann die Ausgabe mit +\Key*{\Macro{confirmation}}{closing}[\PName{Abschluss}] angepasst werden. + +Mit dem Parameter \Key*{\Macro{confirmation}}{language} kann die Sprache für den +ausgegebenen Text der Selbstständigkeitserklärung lokal geändert werden. Für den +Schlüssel \Key*{\Macro{confirmation}}{option} können alle gültigen Werte der +Option \Option{declaration} angebeben werden. Diese wirken sich ebenfalls nur +lokal aus. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{restriction}\OLParameter{company}} +\begin{Declaration}{\Key{\Macro{restriction}}{company}[\PName{Firma}]} +\begin{Declaration}{\Key{\Macro{restriction}}{language}[\PName{Sprache}]} +\begin{Declaration}{\Key{\Macro{restriction}}{option}[\PSet]} +\printdeclarationlist% +\index{Sperrvermerk}% + +Beim Sperrvermerk verhält es sich äquivalent zur Selbstständigkeitserklärung +(\Macro{confirmation}). Als optionales Argument kann hier der Name der Firma +angegeben werden. Der Standardtext lässt sich über \Term{restrictiontext} +ändern, nachzulesen unter \autoref{sec:localization}. Auch hier kann über den +Parameter \Key*{\Macro{restriction}}{language} die Sprache für den ausgegebenen +Text sowie mit dem Parameter \Key*{\Macro{restriction}}{option} die Werte der +Option \Option{declaration} lokal geändert werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{declaration}\LParameter} +\begin{Declaration}{\Key{\Macro{declaration}}{supporter}[\PName{Unterstützer}]} +\begin{Declaration}{\Key{\Macro{declaration}}{place}[\PName{Ort}]} +\begin{Declaration}{\Key{\Macro{declaration}}{closing}[\PName{Abschluss}]} +\begin{Declaration}{\Key{\Macro{declaration}}{company}[\PName{Firma}]} +\begin{Declaration}{\Key{\Macro{declaration}}{language}[\PName{Sprache}]} +\begin{Declaration}{\Key{\Macro{declaration}}{option}[\PSet]} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% + +Dieser Befehl gibt Selbstständigkeitserklärung und Sperrvermerk direkt +nacheinander aus. Quasi, als ob im Dokument die Befehle \Macro{confirmation} und +\Macro{restriction} direkt nacheinander gesetzt wurden. Dementsprechend +akzeptiert dieser auch alle dafür beschriebenen Parameter. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{supporter}\Parameter{Unterstützer}} +\begin{Declaration}{\Macro{place}\Parameter{Ort}} +\begin{Declaration}{\Macro{confirmationclosing}\Parameter{Abschluss}} +\begin{Declaration}{\Macro{company}\Parameter{Firma}} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% + +Diese Makros ändern~-- im Gegensatz zu den Parametern der bereits vorgestellten +Befehle \Macro{confirmation} und \Macro{restriction}~-- die entsprechenden +Feldwerte global für das gesamte Dokument. Genutzt werden kann dies +beispielsweise wenn ein Erklärungstyp in unterschiedlichen Sprachen ausgegeben +wird. Dann kann man sich mit diesen Makros die mehrfache Angabe eines Parameters +sparen. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\subsection{Lesezeichen} +\begin{Declaration}{\Option{tudbookmarks}[\PBoolean]}[true]% +\begin{Declaration}{% + \Macro{tudbookmark}\OParameter{Ebene}\Parameter{Text}\Parameter{Ankername}% +}% +\printdeclarationlist% +\index{Lesezeichen}% +\index{Umschlagseite}\index{Titel}\index{Inhaltsverzeichnis}% +\index{Aufgabenstellung}\index{Gutachten}\index{Aushang}% +% +Diese Option wird wirksam, wenn \Package{hyperref} geladen wurde. Es werden für +die Umschlag- und Titelseite, das Inhaltsverzeichnis sowie~-- bei der Verwendung +des Paketes \Package{tudscrsupervisor}~-- die Aufgabenstellung jeweils +Lesezeichen oder auch Outline"=Einträge im PDF-Dokument erzeugt. +% +\begin{values} +\itemfalse + Es erfolgt kein Eintrag von ergänzenden Lesezeichen. +\itemtrue* + Es werden automatisch zusätzliche Lesezeichen eingetragen. +\end{values} +% +Der Befehl \Macro*{tudbookmark} arbeitet wie \Macro{pdfbookmark} aus +\Package{hyperref} mit dem Unterschied, dass die Lesezeichen nur generiert +werden, wenn die Option \Option*{tudbookmarks} aktiviert ist. +\end{Declaration} +\end{Declaration} + + +\section{Sprachabhängige Bezeichner} +\label{sec:localization} +\index{Bezeichner|!(}% +% +Durch \KOMAScript{} werden Befehle, mit denen sprachabhängige Bezeichner erzeugt +oder geändert werden können, zur Verfügung gestellt. Diese werden durch das +\TUDScript-Bundle genutzt, um lokalisierte Begriffe für die Sprachen Englisch +und Deutsch bereitzustellen. Ein Großteil davon betrifft Bezeichnungen für +Felder auf der Titelseite (\autoref{sec:title}). Hierfür wird +\Macro{providecaptionname}\Parameter{Sprache}\Parameter{Makro}\Parameter{Inhalt} +verwendet, wobei \PName{Sprache} dem geladenen Sprachpaket~-- normalerweise das +Paket \Package{babel}~-- bekannt sein muss. + +Sollte der Anwender die im Folgenden erläuterten oder auch andere Bezeichner, +welche von einem beliebigen (Sprach"~)Paket bereitgestellt werden, ändern +wollen, ist hierfür der Befehl +\Macro{renewcaptionname}\Parameter{Sprache}\Parameter{Makro}\Parameter{Inhalt} +zu verwenden. Dabei sollte darauf geachtet werden, dass dies entweder +\textbf{nach} \Macro*{begin}\PParameter{document} geschieht oder aber in der +Dokumentpräambel mit \Macro*{AtBeginDocument}\PParameter{\dots} verzögert wird.% +\footnote{% + Ab der \KOMAScript"=Version~v3.12 passiert dies automatisch, der Anwender muss + darauf nicht mehr achten.% +} +Dies stellt sicher, dass die Bezeichner nicht durch ein später geladenes Paket +abermals geändert werden können. Es sollte natürlich dabei eine \PName{Sprache} +angegeben werden, welche im Dokument durch \Package{babel} oder ein anderes +Sprachpaket verwendet wird, beispielsweise \PValue{ngerman} oder +\PValue{english}. + +Die Makros der Bezeichner und deren Verwendung werden folgend kurz beschrieben +und tabellarisch aufgeführt. Dabei wurde versucht, alle Bezeichnerbefehle für +bestimmte Begriffe auf \PValue{\dots{}name} und beschreibende Texte auf +\PValue{\dots{}text} enden zu lassen. +% +\begin{Declaration}{\Term{dateofbirthtext}} +\begin{Declaration}{\Term{placeofbirthtext}} +\begin{Declaration}{\Term{matriculationnumbername}} +\begin{Declaration}{\Term{matriculationyearname}} +\printdeclarationlist% +\index{Titel}\index{Autorenangaben}\index{Datum!Geburtsdatum}% +% +Werden für den Autor oder die Autoren das Geburtsdatum (\Macro{dateofbirth}), +der Geburtsort (\Macro{placeofbirth}), die Matrikelnummer +(\Macro{matriculationnumber}) und/oder das Immatrikulationsjahr +(\Macro{matriculationyear}) für die Titelseite angegeben, werden bei der Ausgabe +die dazugehörigen Bezeichner vorangestellt und durch \Macro{titledelimiter} vom +eigentlichen Feld getrennt. +\TermTable{% + dateofbirthtext,placeofbirthtext,matriculationnumbername,matriculationyearname% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{degreetext}} +\printdeclarationlist% +\index{Titel}\index{Abschlussarbeit}\index{Typisierung}% +% +Wurde erkannt, dass das Dokument eine Abschlussarbeit ist,% +\footnote{% + Entweder wurde der Befehl \Macro{thesis} oder \Macro{subject} mit einem + speziellen Wert aus \autoref{tab:thesis} beziehungsweise mit der Option + \Option{subjectthesis} verwendet. +} +dann kann dr zu erlangende akademische Grad mit dem Befehl \Macro{degree} +angegeben werden. Bei dessen Ausgabe auf dem Titel wird dabei der entsprechende +Text dazu angegeben. +\TermTable{degreetext} +\end{Declaration} + +\begin{Declaration}{\Term{dissertationname}} +\begin{Declaration}{\Term{diplomathesisname}} +\begin{Declaration}{\Term{masterthesisname}} +\begin{Declaration}{\Term{bachelorthesisname}} +\begin{Declaration}{\Term{studentresearchname}} +\begin{Declaration}{\Term{projectpapername}} +\begin{Declaration}{\Term{seminarpapername}} +\begin{Declaration}{\Term{researchname}} +\begin{Declaration}{\Term{logname}} +\begin{Declaration}{\Term{internshipname}} +\begin{Declaration}{\Term{reportname}} +\printdeclarationlist% +\index{Titel}\index{Abschlussarbeit}\index{Typisierung}% +% +Diese Bezeichner dienen zur Typisierung speziell für eine Abschlussarbeit. Wie +diese genutzt werden können, ist bei der Erläuterung von \Macro{thesis} und +\Macro'{subject} beziehungsweise in \autoref{tab:thesis} zu finden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{supervisorname}} +\begin{Declaration}{\Term{supervisorothername}} +\begin{Declaration}{\Term{refereename}} +\begin{Declaration}{\Term{refereeothername}} +\begin{Declaration}{\Term{advisorname}} +\begin{Declaration}{\Term{advisorothername}} +\begin{Declaration}{\Term{professorname}} +\printdeclarationlist% +\index{Titel}% +\index{Betreuer}\index{Gutachter}\index{Hochschullehrer}% +\index{Referent}% +% +Diese sprachabhängigen Begriffe sind die Bezeichner für die Titelseitenfelder +von Betreuer (\Macro{supervisor}), Gutachter (\Macro{referee}), Fachreferent +(\Macro{advisor}) und den betreuenden Hochschullehrer (\Macro{professor}). Wird +für eines der ersten drei Felder mehr als eine Person angegeben, so werden +diese~-- wenn die Einzelpersonen jeweils mit \Macro{and} voneinander getrennt +wurden~-- durch den Bezeichner \PValue{\bsc\dots{}othername} ergänzt. +\TermTable{% + supervisorname,supervisorothername,refereename,refereeothername,% + advisorname,advisorothername,professorname% +} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{datetext}} +\begin{Declaration}{\Term{defensedatetext}} +\printdeclarationlist% +\index{Titel}\index{Abschlussarbeit}% +\index{Datum}\index{Datum!Verteidigungsdatum}% +% +Wird mit \Macro{date} das Datum und mit \Macro{defensedate} ein Datum der +Verteidigung für eine Abschlussarbeit angegeben, so werden auch diese Felder +durch einen einleitenden Text beschrieben. +\TermTable{datetext,defensedatetext} +\end{Declaration} +\end{Declaration} + + +\begin{Declaration}{\Term{coverpagename}} +\begin{Declaration}{\Term{titlepagename}} +\printdeclarationlist% +\index{Lesezeichen}\index{Umschlagseite}\index{Titel!Umschlagseite}\index{Titel}% +% +Diese beiden Bezeichner werden bei aktivierter \Option{tudbookmarks} für das +Eintragen von Lesezeichen in ein PDF"=Dokument genutzt. +\TermTable{coverpagename,titlepagename} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{abstractname}} +\printdeclarationlist% +% +Dieser Bezeichner wird lediglich für \Class{tudscrbook} definiert, da dieser von +\KOMAScript{} für die Buchklasse nicht vorgesehen wird. +\TermTable{abstractname} +\end{Declaration} + +\begin{Declaration}{\Term{listingname}} +\begin{Declaration}{\Term{listlistingname}} +\printdeclarationlist% +% +Sollte ein Paket zur Einbindung von externem Quelltext~-- beispielsweise +\Package{listings}~-- verwendet werden, so werden diese Bezeichnungen für +Quelltextausschnitte und das Quelltextverzeichnis verwendet. +\TermTable{listingname,listlistingname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{confirmationname}} +\begin{Declaration}{\Term{restrictionname}} +\printdeclarationlist% +\index{Selbstständigkeitserklärung}\index{Sperrvermerk}% +% +Es werden die Bezeichnungen für Selbstständigkeitserklärung und Sperrvermerk für +die dazugehörigen Überschriften definiert. +\TermTable{confirmationname,restrictionname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{confirmationtext}} +\begin{Declaration}{\Term{restrictiontext}} +\printdeclarationlist% +Die Texte der Erklärungen selbst sind derart aufgebaut, dass sie in Abhängigkeit +von den angegebenen Informationen unterschiedlich ausgeführt werden. Innerhalb +der Selbstständigkeitserklärung (\Macro{confirmation}) werden gegebenenfalls die +Felder für den Titel (\Macro{title}) und die Typisierung der Abschlussarbeit% +\footnote{% + entweder \Macro{thesis} oder \Macro{subject}\Parameter{\autoref{tab:thesis}} + beziehungsweise Option \Option{subjectthesis}[true] +} +sowie die angegebenen Unterstützer% +\footnote{% + \Macro{confirmation}\POParameter{\Key{\Macro{confirmation}}{supporter}=\dots} + oder \Macro{supporter}\PParameter{\dots}% +} +beachtet. Für den Sperrvermerk (\Macro{restriction}) wird neben dem Titel +(\Macro{title}) optional außerdem noch das Feld der externen Firma% +\footnote{% + \Macro{restriction}\POParameter{\Key{\Macro{restriction}}{company}=\dots} + oder \Macro{company}\PParameter{\dots}% +} +verwendet. Der Vollständigkeit halber werden im Folgenden noch die Texte für die +Selbstständigkeitserklärung und den Sperrvermerk aufgeführt~-- alerdings +lediglich die deutschsprachige Version. Dabei werden alle möglichen Felder +angezeigt. + +\begingroup + \makeatletter + \def\@@title{\PName{Titel}} + \def\@@thesis{\PName{Abschlussarbeit}} + \def\@supporter{\PName{Vorname Nachname} \and \PName{Vorname Nachname}} + \def\@company{\PName{Firma}} + \makeatother + + \bigskip\noindent + \textbf{Bezeichner}\quad\Term*{confirmationtext}\par + \begin{center}\begin{minipage}{.8\textwidth} + \confirmationtext + \end{minipage}\end{center} + + \bigskip\noindent + \textbf{Bezeichner}\quad\Term*{restrictiontext}\par + \begin{center}\begin{minipage}{.8\textwidth} + \restrictiontext + \end{minipage}\end{center} +\endgroup +\end{Declaration} +\end{Declaration} +\index{Bezeichner|!)} + + +\section{Kompatibilität zur \vTUD}\label{sec:comp} +\index{Version v1.0}\index{Kompatibilität!Version v1.0}% + +Bei der kompletten Neuimplementierung der \TUDScript-Klassen wurde sehr viel +verändert und verbessert. Teilweise wurden einige Befehle und Optionen aus +Konsistenzgründen lediglich umbenannt, andere wurden vollständig entfernt oder +über neue Befehle und Optionen in ihrer Funktionalität ersetzt und erweitert. +Falls es möglich war, wurden alte Einstellungsmöglichkeiten und Kommandos als +Alias für die neueren bereitgestellt. + +Einige dieser waren jedoch bereits in der \vTUD Relikte, um die Kompatibilität +zur \Class{tudbook}-Klasse zu gewährleisten. Diese sind mittlerweile komplett +entfernt worden, ihre Funktionalität wird allerdings weiterhin teilweise +bereitgestellt. Sollten diese dennoch benötigt werden, kann das Paket +\Package{tudscrcomp} genutzt werden. + +\begin{Declaration}{\Option{cd}[alternative]}{entfällt} +\begin{Declaration}{\Option{cdtitle}[alternative]}{entfällt} +\begin{Declaration}{\Length{titlecolwidth}}{entfällt} +\begin{Declaration}{\Term{authortext}}{entfällt} +\printdeclarationlist*% +\index{Titel!alternativer}% +% +Die alternative Titelseite ist komplett aus dem \TUDScript-Bundle entfernt +worden. Dementsprechend entfallen auch die dazugehörigen Optionen sowie Länge +und Bezeichner. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Length{headingsvskip}}{% + Alias für \Length*{chapterheadingvskip}% +} +\begin{Declaration}{\Length{signatureheight}}{entfällt} +\printdeclarationlist*% +% +Die Länge \Length*{headingsvskip} wurde zum besseren Verständnis in +\Length*{chapterheadingvskip} umbenannt. Sie hat jetzt~-- im Gegensatz zur +\vTUD~-- nur noch Einfluss auf die vertikale Position der Kapitelüberschriften, +wenn keine separaten Kapitelseiten verwendet werden. Die Platzierung des Titels +auf der Titelseite sowie der Überschriften von Teilen~-- und Kapiteln bei +aktivierter \Option*{chapterpage}"=Option~-- ist fixiert und nicht veränderbar. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{tudfonts}[\PBoolean]}{% + Alias für \Option*{cdfont}[\PSet]% +} +\printdeclarationlist*% +% +Die Option zur Schrifteinstellung ist wesentlich erweitert worden. Aus Gründen +der Konsistenz wurde diese umbenannt. +\end{Declaration} + +\begin{Declaration}{\Option{tudfoot}[\PBoolean]}{% + Alias für \Option*{cdfoot}[\PBoolean]% +} +\printdeclarationlist*% +% +Ebenso wurde diese Option umbenannt, um dem Namensschema der restlichen Optionen +zu entsprechen. +\end{Declaration} + +\begin{Declaration}{\Option{headfoot}[\PSet]}{entfällt} +\printdeclarationlist*% +% +Diese Option war in der \vTUD notwendig, um die parallele Verwendung von +\Package*{typearea} und \Package*{geometry} zu ermöglichen. Dies wurde komplett +überarbeitet, an das Paket \Package*{geometry} werden die Einstellungen für die +\KOMAScript"=Optionen \Option*{headinclude} und \Option*{footinclude} jetzt +direkt weitergereicht. Damit wird die Option \Option*{headfoot} obsolet. +\end{Declaration} + +\begin{Declaration}{\Option{partclear}[\PBoolean]}{% + entfällt, siehe \Option*{cleardoublespecialpage}% +} +\begin{Declaration}{\Option{chapterclear}[\PBoolean]}{% + entfällt, siehe \Option*{cleardoublespecialpage}% +} +\printdeclarationlist*% +% +Beide Optionen sind in der neuen Option \Option*{cleardoublespecialpage} +aufgegangen, womit ein konsistentes Layout erreicht wird. Die ursprünglichen +Optionen entfallen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Option{abstracttotoc}[\PBoolean]}{% + entfällt, siehe \Option*{abstract}% +} +\begin{Declaration}{\Option{abstractdouble}[\PBoolean]}{% + entfällt, siehe \Option*{abstract}% +} +\printdeclarationlist*% +% +Beide Optionen wurden in die Option \Option*{abstract} integriert und sind +deshalb überflüssig. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{logofile}\Parameter{Dateiname}}% + {Alias für \Macro*{headlogo}% +} +\printdeclarationlist*% +% +Der Befehl \Macro*{logofile} wurde in \Macro*{headlogo} umbenannt. +\end{Declaration} + +\begin{Declaration}{\Macro{confirmationandrestriction}}{% + entfällt, siehe \Macro*{declaration}% +} +\begin{Declaration}{\Macro{restrictionandconfirmation}}{% + entfällt, siehe \Macro*{declaration}% +} +\begin{Declaration}{\Macro{location}\Parameter{Ort}}{% + Alias für \Macro*{place}, siehe auch Parameter \hyperref[idx:keys]{place}% +} +\printdeclarationlist*% +% +Die ersten beiden Befehle entfallen, \Macro*{declaration} kann alternativ dazu +verwendet werden. In Anlehnung an andere \hologo{LaTeX}-Pakete und "~Klassen +wurde \Macro*{location} in \Macro*{place} umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{titlecoldelim}}{% + entfällt, siehe \Macro*{titledelimiter}% +} +\printdeclarationlist*% +% +Das Trennzeichen für Bezeichnungen beziehungsweise beschreibende Texte und dem +eigentlichen Feld auf der Titelseite ist nicht mehr sprachabhängig und wurde +umbenannt. +\end{Declaration} + +\begin{Declaration}{\Macro{submissiondate}\Parameter{Datum}}{% + Alias für \Macro*{date}% +} +\begin{Declaration}{\Macro{birthday}\Parameter{Geburtsdatum}}{% + Alias für \Macro*{dateofbirth}% +} +\begin{Declaration}{\Macro{birthplace}\Parameter{Geburtsort}}{% + Alias für \Macro*{placeofbirth} +} +\begin{Declaration}{\Macro{studentid}\Parameter{Matrikelnummer}}{% + Alias für \Macro*{matriculationnumber} +} +\begin{Declaration}{\Macro{enrolmentyear}\Parameter{Immatrikulationsjahr}}{% + Alias für \Macro*{matriculationyear}% +} +\printdeclarationlist*% +% +Alle Befehle wurden umbenannt und sind jetzt für die Titelseite im \CD nutzbar. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{moreauthor}\Parameter{Autorenzusatz}}{% + umbenannt, siehe \Macro*{authormore}% +} +\begin{Declaration}{\Macro{dissertation}}{% + entfällt, siehe \Macro*{thesis} und \Macro*{subject}% +} +\begin{Declaration}{\Macro{supervisorII}\Parameter{Name}}{% + entfällt, siehe \Macro*{supervisor} und \Macro*{and}% +} +\printdeclarationlist*% +% +Die Funktionalität aller Befehle wird durch andere ersetzt. Sollten diese +dennoch benötigt werden, kann das Paket \Package*{tudscrcomp} geladen werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{submissiontext}}{umbenannt, siehe \Term*{datetext}} +\begin{Declaration}{\Term{birthdaytext}}{% + umbenannt, siehe \Term*{dateofbirthtext}% +} +\begin{Declaration}{\Term{birthplacetext}}{% + umbenannt, siehe \Term*{placeofbirthtext}% +} +\begin{Declaration}{\Term{studentidname}}{% + umbenannt, siehe \Term*{matriculationnumbername}% +} +\begin{Declaration}{\Term{enrolmentname}}{% + umbenannt, siehe \Term*{matriculationyearname}% +} +\begin{Declaration}{\Term{supervisorIIname}}{% + umbenannt, siehe \Term*{supervisorothername}% +} +\begin{Declaration}{\Term{defensetext}}{umbenannt, siehe \Term*{defensedatetext}} +\printdeclarationlist*% +% +Die Bezeichner wurden in Anlehnung an die dazugehörigen Befehlsnamen umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\subsubsection{Aufgabenstellung} +Die Umgebung für die Erstellung einer Aufgabenstellung für eine +wissenschaftliche Arbeit wurde in das Paket \Package*{tudscrsupervisor} +ausgelagert. Dieses muss für die Verwendung der Umgebung \Environment*{task} und +der daraus abgeleiteten standardisierten Form zwingend geladen werden. + +\begin{Declaration}{\Option{cdtask}[\PSet]}{entfällt, siehe \Environment*{task}} +\begin{Declaration}{\Option{taskcompact}[\PBoolean]}{entfällt} +\begin{Declaration}{\Macro{tasks}\Parameter{Ziele}\Parameter{Schwerpunkte}}{% + umbenannt, siehe \Macro*{taskform}% +} +\begin{Declaration}{\Length{taskcolwidth}}{entfällt} +\printdeclarationlist*% +% +Die Klassenoption \Option*{cdtask} ist komplett entfernt worden, alle +Einstellungen, welche \Environment*{task} betreffen erfolgen direkt über das +optionale Argument der Umgebung. Die Variante eines kompakten Kopfes mit der +Option \Option*{taskcompact} wird nicht mehr bereitgestellt. Der Befehl +\Macro*{tasks} wurde in \Macro*{taskform} umbenannt und in der Funktionalität +erweitert. Die manuelle Einstellung der Spaltenbreite für den Kopf der +Aufgabenstellung mit \Length*{taskcolwidth} wurde aufgrund der verbesserten +automatischen Berechnung entfernt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{startdate}\Parameter{Ausgabedatum}}{% + Alias für \Macro*{issuedate}% +} +\begin{Declaration}{\Macro{enddate}\Parameter{Abgabetermin}}{% + Alias für \Macro*{duedate}% +} +\printdeclarationlist*% +% +Die Befehle wurden lediglich umbenannt. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{starttext}}{umbenannt, siehe \Term*{issuedatetext}} +\begin{Declaration}{\Term{duetext}}{umbenannt, siehe \Term*{duedatetext}} +\begin{Declaration}{\Term{focustext}}{umbenannt, siehe \Term*{focusname}} +\begin{Declaration}{\Term{objectivestext}}{% + umbenannt, siehe \Term*{objectivesname}% +} +\printdeclarationlist*% +% +Alle genannten Bezeichner wurden umbenannt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + + + +\newcommand*\cdcolorcalc{} +\newcommand*\cdcolorname{} +\newcommand*\cdcolorvalue{} +\newcommand*\cdcolortext{} +\newcommand*\cdcolor[2][0]{% + \noindent% + \begin{tikzpicture}[every node/.style={% + rectangle,minimum height=.1\linewidth,minimum width=25mm% + }]% + \def\cdcolorcalc##1##2{% + \pgfmathparse{100-##1*10}% + \xdef\cdcolorname{HKS##2!\pgfmathresult}% + \xdef\cdcolorvalue{\pgfmathresult}% + \pgfmathparse{10+##1*10}% + }% + \foreach \x in {0,1,...,9}{% + \cdcolorcalc{\x}{#2}% + \ifnum\x<#1% + \def\cdcolortext{white}% + \else% + \def\cdcolortext{black}% + \fi% + \node [fill=\cdcolorname,rotate=90] at (.\x\linewidth,0)% + {\textcolor{\cdcolortext}{HKS#2!\pgfmathprintnumber\cdcolorvalue}};% + };% + \end{tikzpicture}%\endgraf\noindent% +} +\chapter{Zusätzliche Pakete im \TUDScript-Bundle} +\section{Farben im \CD mit \Package*{tudscrcolor}} +\DeclarePackage{tudscrcolor} +\index{Farben|!} +% +Für das \CD sind mehrere Farben vorgesehen. Die prägnanteste aller Farben ist +die Hausfarbe \Color*{HKS41}, danach folgen die Auszeichnungsfarben der ersten +(\Color*{HKS44}) und der zweiten Kategorie (\Color*{HKS36}, \Color*{HKS33}, +\Color*{HKS57}, \Color*{HKS65}) sowie eine Ausnahmefarbe (\Color*{HKS07}). Diese +Farben dürfen sowohl in ihrer Grundform als auch in jeweils helleren Tönen +verwendet werden, wobei eine Abstufung in 10\,\%"~Schritten erfolgen soll. Dafür +wird das Paket \Package{xcolor} bereits durch die \TUDScript-Klassen geladen, +mit welchem genau diese Funktion umgesetzt werden kann. Soll beispielsweise die +Farbe \Color*{HKS44} heller genutzt und ein gewisser Weißanteil beigemischt +werden, kann dies beispielsweise so wie diese Box +\colorbox{HKS44!20}{\Macro*{colorbox}\PParameter{HKS44!20}} aussehen. + +Für die farbige Gestaltung im \CD (\Option{cd}[color]) ist der Hintergrund der +Titelseite \Color*{HKS41}, die Schrift auf selbiger in \Color*{HKS41!30} und +der Kapitelseitenhintergrund in \Color*{HKS41!10} gehalten. Jede der Farben aus +dem \CD kann sowohl über ihren HKS"=Namen als auch über ein Pseudonym +angesprochen werden. Diese werden folgend genannt und dargestellt. + +Sollen bestimmte Optionen an das Paket \Package{xcolor} weitergereicht werden, +gibt es dafür zwei Möglichkeiten. Diese kann entweder vor dem Laden der Klasse +direkt an \Package{xcolor} übergeben werden% +\footnote{% + \Macro*{PassOptionsToPackage}\Parameter{Option}\PParameter{xcolor} gefolgt von + \Macro*{documentclass}\OParameter{Klassenoptionen}\PParameter{tudscr\dots} +} oder es wird \Package*{tudscrcolor} mit der entsprechenden Option geladen.% +\footnote{ + \Macro*{usepackage}\OParameter{Option}\PParameter{\Package*{tudscrcolor}}; + \Package*{tudscrcolor} reicht \PName{Option} an \Package{xcolor} weiter +} + +\subsection{Primäre Hausfarbe} +\begin{Declaration}{\Color{HKS41}[cddarkblue]} +\printdeclarationlist% +\cdcolor[6]{41} +\end{Declaration} + +\subsection{Sekundäre Hausfarbe (Geschäftsausstattung)} +\begin{Declaration}{\Color{HKS92}[cdgray]} +\printdeclarationlist% +\cdcolor[4]{92} +\end{Declaration} + +\subsection{Auszeichnungsfarbe 1.Kategorie} +\begin{Declaration}{\Color{HKS44}[cdblue]} +\printdeclarationlist% +\cdcolor[4]{44} +\end{Declaration} + +\subsection{Auszeichnungsfarbe 2.Kategorie} +\begin{Declaration}{\Color{HKS36}[cdindigo]} +\begin{Declaration}{\Color{HKS33}[cdpurple]} +\begin{Declaration}{\Color{HKS57}[cddarkgreen]} +\begin{Declaration}{\Color{HKS65}[cdgreen]} +\printdeclarationlist% +\cdcolor[4]{36}\vskip\baselineskipglue +\cdcolor[4]{33}\vskip\baselineskipglue +\cdcolor[2]{57}\vskip\baselineskipglue +\cdcolor{65} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\subsection{Ausnahmefarbe} +\begin{Declaration}{\Color{HKS07}[cdorange]} +\printdeclarationlist% +\cdcolor{07} +\end{Declaration} + +\subsection{Zusätzliche Farbdefinitionen} +Das Paket \Package*{tudscrcolor} definiert im Normalfall lediglich die zuvor +beschriebenen Grundfarben \Color*{HKS41}, \Color*{HKS92}, \Color*{HKS44}, +\Color*{HKS36}, \Color*{HKS33}, \Color*{HKS57}, \Color*{HKS65} sowie +\Color*{HKS07}. Alle anderen farblichen Abstufungen können mit den beschrieben +Möglichkeiten des Paketes \Package{xcolor} generiert werden. + +\begin{Declaration}{\Option{full}} +\printdeclarationlist% +In den letzten Jahren sind viele verschiedene Klassen und Pakete für das \CD der +\TnUD entstanden. Innerhalb dieser existieren abweichende Farbdefinitionen. Um +eine Migration von anderen Klassen und Paketen auf das \TUDScript-Bundle zu +ermöglichen, existiert die Paketoption \Option*{full}. Wird diese aktiviert, so +werden zusätzlich weitere Farben nach dem Schema \Color*{HKS41K}\PName{Zahl} und +\Color*{HKS41-}\PName{Zahl} bereitgestellt, wobei der hinten angestellte +Zahlenwert aus der 10er-Reihe kommen muss. +\end{Declaration} + + +\subsection{Umstellung des Farbmodells} +\index{Farben!Farbmodell}% +Normalerweise verwendet \Package*{tudscrcolor} das CMYK"=Farbmodell. Außerdem +wird weiterhin noch der RGB"=Farbraum unterstützt. Eine Umschaltung des +Farbmodells ist beispielsweise für gewisse Funktionen des Paketes \Package{tikz} +notwendig. + +\begin{Declaration}{\Option{RGB}} +\printdeclarationlist% +Mit dieser Option wird bereits beim Laden des Paketes \Package*{tudscrcolor} die +Farben nicht nach dem CMYK"=Farbmodell sondern im RGB"=Farbraum global definiert. +\end{Declaration} + + +\begin{Declaration}{\Macro{setcdcolors}\Parameter{Farbmodell}} +\printdeclarationlist% +% +Mit diesem Befehl kann innerhalb des Dokumentes das verwendete Farbmodell +angepasst werden. Damit ist es möglich, lokal innerhalb einer Umgebung den +Farbraum zu ändern und so nur in bestimmten Situationen beispielsweise aus dem +CMYK"=Farbmodell in den RGB"=Farbraum zu wechseln. Unterstützte Werte für +\PName{Farbmodell} sind \PValue{CMYK} und \PValue{RGB} beziehungsweise +\PValue{rgb}. +\end{Declaration} + + +\section{Das Paket \Package*{tudscrsupervisor}} +\DeclarePackage{tudscrsupervisor} +Dieses Paket richtet sich an Betreuer wissenschaftlicher Arbeiten an der \TnUD. +Es stellt Umgebungen und Befehle für das Erstellen von Aufgabenstellungen, +Gutachten und Aushängen bereit. + +\subsection{Aufgabenstellung für eine wissenschaftliche Arbeit} +\begin{Declaration}{\Environment{task}[\OLParameter{Überschrift}]}{% + \Environment{tudpage} in \autoref{macros:tudpage} +} +\begin{Declaration}{\Key{\Environment{task}}{headline}[\PName{Überschrift}]} +\printdeclarationlist% +\index{Aufgabenstellung|!(}% +Diese Umgebung basiert auf der \Environment{tudpage}"=Umgebung und es werden +alle optionalen Parameter dieser unterstützt, welche bei der Beschreibung von +\Environment'{tudpage} erläutert wurden. Für die Aufgabenstellung wird +normalerweise eine Überschrift gesetzt, welche sich aus \Term{taskname} und +gegebenenfalls noch aus \Term{tasktext} und \Macro{thesis} zusammensetzt. Mit +dem Parameter \Key*{\Environment{task}}{headline} kann diese automatisch +generierte Überschrift überschrieben werden. + +Zu Beginn der Aufgabenstellung erscheint eine Tabelle mit den angegebenen +Informationen zum Autor bzw. zu den Autoren der Abschlussarbeit. Zwingend +anzugeben sind dafür lediglich der Name des oder der Verfasser (\Macro{author}) +sowie der Titel der Arbeit (\Macro{title}), welcher am Ende der Tabelle in +fetter Schrift aufgeführt wird. Optional werden noch die Felder für den +Studiengang (\Macro{course}), die Fachrichtung (\Macro{branch}) sowie die +Matrikelnummer (\Macro{matriculationnumber}) und das Immatrikulationsjahr +(\Macro{matriculationyear}) ausgegeben, wobei nicht angegebene Felder beim Satz +ignoriert werden. Der eigentliche Inhalt der Umgebung~-- die Aufgabenstellung +selbst~-- wird nach dem generierten Kopf ausgegeben + +Nach der Ausgabe des Inhaltes der Aufgabenstellung werden der oder die mit +\Macro{supervisor} definierten Betreuer aufgelistet. Dabei wird unter dem +jeweiligen Namen selbst der sprachabhängige Bezeichner (\Term{supervisorname}, +\Term{supervisorothername}) gesetzt. Darauf folgend erscheint das Ausgabedatum +(\Macro{issuedate}) und der verpflichtende Abgabetermin (\Macro{duedate}). Zum +Schluss wird die Unterschriftzeile für den Prüfungsausschussvorsitzenden +(\Macro{chairman}) und den betreuenden Hochschullehrer (\Macro{professor}) +gesetzt. Für genannte Personen werden unter dem Namen selbst die Bezeichner +ausgegeben (\Term{chairmanname} und \Term{professorname}). +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{taskform}\LParameter% + \Parameter{Ziele}\Parameter{Schwerpunkte}% +} +\printdeclarationlist% +Zusätzlich zur der frei gestaltbaren Umgebung \Environment*{task} zur Erstellung +einer Aufgabenstellung wird ein separater Befehl für eine standardisierte +Ausgabe zur Verfügung gestellt. Dieser strukturiert die Aufgabenstellung in die +zwei Bereiche \emph{Ziele} und \emph{Schwerpunkte} der Arbeit mit dazugehörigen +Überschriften (\Term{objectivesname}, \Term{focusname}). + +Im optionalen Argument können alle Parameter der Umgebung \Environment*{task} +verwendet werden. Im ersten obligatorischen Argument sollte ein Text mit einer +kurzen thematischen Einordnung und dem eigentlichen Ziel der Arbeit erscheinen. +im zweiten Argument sollen die thematischen Schwerpunkte in Stichpunkten benannt +werden. Der Inhalt des zweiten notwendigen Argumentes wird in einer +\Environment{itemize}"=Umgebung gesetzt. Deshalb \emph{muss} jedem Stichpunkt +\Macro*{item} vorangestellt werden. +\index{Aufgabenstellung|!)}% +\end{Declaration} +% +\begin{Example} +Die empfohlene Verwendung des Befehls \Macro*{taskform} ist wie folgt: +\begin{code}[escapechar=§] +\taskform{% + Motivation der Arbeit im ersten Absatz§\dots§ + + Ziele der Arbeit im zweiten Absatz§\dots§ +}{% + \item Schwerpunkt 1 + \item Schwerpunkt 2 +} +\end{code} +Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:mwe:task} verwiesen. +\end{Example} + +\begin{Declaration}{\Macro{course}\Parameter{Studiengang}} +\begin{Declaration}{\Macro{branch}\Parameter{Studienrichtung}} +\printdeclarationlist% +\index{Kollaboratives Schreiben}% +Mit diesen beiden Befehlen kann der Studiengang sowie die Studienrichtung für +den Autor oder die Autoren angegeben werden. Diese Informationen werden zu +Beginn der \Environment{task}"=Umgebung gesetzten Tabelle ausgegeben. Werden +diese Befehle innerhalb des Makros \Macro{author} verwendet, können auch +unterschiedliche Angaben für mehrere Autoren gemacht werden. Dabei sind die +Autoren mit \Macro{and} voneinander zu trennen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{chairman}\Parameter{Prüfungsausschussvorsitzender}} +\printdeclarationlist% +Wird dieses Feld genutzt, wird neben dem betreuenden Hochschullehrer +(\Macro{professor}) auch der Vorsitzende des Prüfungsausschusses am Ende der +Aufgabenstellung aufgeführt +\end{Declaration} + +\begin{Declaration}{\Macro{issuedate}\Parameter{Ausgabedatum}} +\begin{Declaration}{\Macro{duedate}\Parameter{Abgabetermin}} +\printdeclarationlist% +Mit diesen beiden Befehlen sollte das Datum der Ausgabe der Aufgabenstellung +sowie der spätest mögliche Abgabetermin angegeben werden. Ist das Paket +\Package{isodate} geladen, wird die damit eingestellte Formatierung des Datums +durch den Befehl \Macro{printdate} aus diesem Paket für \Macro*{issuedate} und +\Macro*{duedate} verwendet. +\end{Declaration} +\end{Declaration} + +\subsection{Gutachten für wissenschaftliche Arbeiten} +\begin{Declaration}{\Environment{evaluation}[\OLParameter{Überschrift}]}{% + \Environment{tudpage} in \autoref{macros:tudpage} +} +\begin{Declaration}{\Key{\Environment{evaluation}}{headline}[\PName{Überschrift}]} +\begin{Declaration}{\Key{\Environment{evaluation}}{grade}[\PName{Note}]} +\printdeclarationlist% +\index{Gutachten|!(}% +Diese Umgebung wird für die Erstellung eines Gutachtens bereitgestellt. Auch +diese unterstützt alle Parameter, welche der Umgebung \Environment'{tudpage} +beschrieben wurden. Für ein Gutachten wird gewöhnlich eine Überschrift aus +\Term{evaluationname} und~-- falls der Typ der Abschlussarbeit angegeben +wurde~-- \Term{evaluationtext} sowie \Macro{thesis} generiert. Diese kann mit +dem Parameter \Key*{\Environment{evaluation}}{headline} ersetzt werden. Außerdem +wird am Ende des Gutachtens die mit \Key*{\Environment{evaluation}}{grade} +gegebene Note in fetter Schrift ausgezeichnet. + +Am Anfang der \Environment*{evaluation}"=Umgebung wird die gleiche Tabelle mit +Autorenangaben ausgegeben, wie dies bei der \Environment{task}"=Umgebung der +Fall ist. Nach dem Tabellenkopf folgt auch hier der eigentliche Inhalt, sprich +das Gutachten der Abschlussarbeit. Abgeschlossen wird die Umgebung mit der +gegebenen Note~-- welche innerhalb von \Term{gradetext} ausgegeben wird~-- sowie +der Orts- und Datumsangabe (\Macro{place}, \Macro{date}) und der darauffolgenden +Unterschriftzeile für den oder die Gutachter (\Macro{referee}), welche wiederum +mit den entsprechenden sprachabhängigen Bezeichner (\Term{refereename}, +\Term{refereeothername}) ergänzt werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{evaluationform}\LParameter% + \Parameter{Aufgabe}\Parameter{Inhalt}\Parameter{Bewertung}\Parameter{Note}% +} +\printdeclarationlist% +Neben der individuell nutzbaren Umgebung \Environment*{evaluation} wird ein +separater Befehl zur Erstellung eines standardisierten Gutachtens +bereitgestellt. Dieser strukturiert die Ausgabe in die vier Bereiche +\emph{Aufgabe}, \emph{Inhalt}, \emph{Bewertung} und \emph{Note} und versieht +die jeweiligen Bereiche mit der dazugehörigen Überschrift beziehungsweise +Textausgabe (\Term{taskname}, \Term{contentname}, \Term{assessmentname} und +\Term{gradetext}). Das optionale Argument unterstützt alle Parameter der +\Environment{evaluation}"=Umgebung. +\index{Gutachten|!)}% +\end{Declaration} +% +\begin{Example} +Die empfohlene Verwendung des Befehls \Macro*{evaluationform} ist wie folgt: +\begin{code}[escapechar=§] +\evaluationform{% + Kurzbeschreibung der Aufgabenstellung§\dots§ +}{% + Zusammenfassung von Inhalt und Struktur§\dots§ +}{% + Bewertung der schriftlichen Abschlussarbeit§\dots§ +}{% + Zahl (Note) +} +\end{code} +Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:mwe:eval} verwiesen. +\end{Example} + +\begin{Declaration}{\Macro{grade}\Parameter{Note}} +\printdeclarationlist% +Neben der Angabe der Note für ein Gutachten über den Parameter +\Key*{\Environment{evaluation}}{grade} kann dafür auch dieser global wirkende +Befehl verwendet werden. +\end{Declaration} + +\subsection{Aushang} +\begin{Declaration}{\Environment{notice}[\OLParameter{Überschrift}]}{% + \Environment{tudpage} in \autoref{macros:tudpage} +} +\begin{Declaration}{\Key{\Environment{notice}}{headline}[\PName{Überschrift}]} +\printdeclarationlist% +\index{Aushang|!(}% +Für das Anfertigen eines Aushangs kann diese Umgebung verwendet werden. Sie +basiert abermals auf der Umgebung \Environment'{tudpage} und unterstützt alle +deren Parameter. + +Wurde ein Datum angegeben, wird dieses in der oberen rechten Ecke gesetzt. +Anschließend wird die Überschrift gesetzt, welche für gewöhnlich dem Inhalt von +\Term{noticename} entspricht und mit dem optionalen Parameter +\Key*{\Environment{notice}}{headline} geändert werden kann. Nach der Überschrift +wird bereits der Inhalt der Umgebung ausgegeben. Wurde mit \Macro{contact} ein +oder mehrere Ansprechpartner angegeben, werden diese Informationen am Ende der +Umgebung ausgegeben. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{noticeform}\LParameter% + \Parameter{Inhalt}\Parameter{Schwerpunkte}% +} +\printdeclarationlist% +Auch für diese Umgebung gibt es einen Befehl für eine normierte Form. Diese soll +vor allem Verwendung für den Aushang studentischer Arbeitsthemen finden. Für das +optionale Argument werden alle Parameter der \Environment*{notice}"=Umgebung +unterstützt. + +Das erste obligatorische Argument sollte für eine kurze Inhaltsbeschreibung +verwendet werden. Neben dem textuellen Teil sollte hier wenn möglich eine +thematisch passende Abbildung eingebunden werden (\Macro{includegraphics}). Das +zweite Argument wird~--wie schon bei \Macro{taskform}~-- dazu verwendet, einige +Schwerpunkte aufzuzählen. Auch hier kommt nach der gliedernden Überschrift +(\Term{focusname}) eine \Environment{itemize}"=Umgebung zum Einsatz, allen +Schwerpunkten muss ein \Macro*{item} vorangestellt werden. +\index{Aushang|!)}% +\end{Declaration} +% +\begin{Example} +Die empfohlene Verwendung des Befehls \Macro*{noticeform} ist wie folgt: +\begin{code}[escapechar=§] +\noticeform{% + Kurzbeschreibung des Inhaltes der studentischen Arbeit§\dots§ + + Bild (optional), einzubinden mit: + \includegraphics[§\PName{Optionen}§]{§\PName{Datei}§} +}{% + \item Schwerpunkt 1 + \item Schwerpunkt 2 +} +\end{code} +Hierzu sei auch auf das Minimalbeispiel in \autoref{sec:mwe:note} verwiesen. +\end{Example} + +\begin{Declaration}{\Macro{contact}\Parameter{Kontaktperson(en)}} +\begin{Declaration}{\Macro{office}\Parameter{Dienstsitz}} +\begin{Declaration}{\Macro{phone}\Parameter{Telefonnummer}} +\begin{Declaration}{\Macro{email}\Parameter{E-Mail-Adresse}} +\printdeclarationlist% +Am Ende eines Aushangs können mit \Macro*{contact} Kontaktinformationen für eine +oder mehrere Personen angegeben werden. Soll mehr als eine Kontaktperson genannt +werden, so müssen diese innerhalb von \Macro*{contact} mit dem Befehl +\Macro{and} getrennt werden. Für jede Person kann innerhalb von \Macro*{contact} +der Dienstsitz (\Macro*{office}), die dienstliche Telefonnummer (\Macro*{phone}) +sowie die geschäftliche E-Mail"=Adresse (\Macro*{email}) angegeben werden. +Sollte das Paket \Package*{hyperref} geladen werden, wird die gegebene +E-Mail"=Adresse direkt in einen entsprechenden Link gewandelt. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\subsection{Zusätzliche sprachabhängige Bezeichner} +\index{Bezeichner|!(} +Für das Paket \Package*{tudscrsupervisor} werden für die zusätzlichen Umgebungen +weiter Bezeichner definiert. Für eine etwaige Anpassung dieser sei auf +\autoref{sec:localization} verwiesen. +\begin{Declaration}{\Term{taskname}} +\begin{Declaration}{\Term{tasktext}} +\printdeclarationlist% +Die Bezeichnung der Aufgabenstellung selbst ist in \Term*{taskname} enthalten. +Für die Generierung einer Überschrift wird dieser verwendet. Wurde außerdem mit +\Macro{thesis} oder \Macro{subject} der Typ der Abschlussarbeit% +\footnote{% + \Option{subjectthesis} oder spezieller Wert aus \autoref{tab:thesis} +} +angegeben, wird die Überschrift zusammen mit dem Bezeichner \Term*{tasktext} +um die Typisierung erweitert. Falls gewünscht, kann die generierte Überschrift +mit dem Parameter \Key{\Environment{task}}{headline} der Umgebung +\Environment{task} überschrieben werden. +\TermTable{taskname,tasktext} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{authorname}} +\begin{Declaration}{\Term{titlename}} +\begin{Declaration}{\Term{coursename}} +\begin{Declaration}{\Term{branchname}} +\printdeclarationlist% +Diese Bezeichner werden in der Tabelle mit den Autoreninformationen zu Beginn +der Aufgabenstellung verwendet. Dabei werden \Term*{coursename} und +\Term*{branchname} nur genutzt, wenn für mindestens einen Autor die Befehle +\Macro{course} und/oder \Macro{branch} verwendet wurden. +\TermTable{authorname,titlename,coursename,branchname} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{issuedatetext}} +\begin{Declaration}{\Term{duedatetext}} +\printdeclarationlist% +Am Ende der Aufgabenstellung wird nach dem oder der Betreuer das Ausgabe- und +Abgabedatum (\Macro{issuedate}, \Macro{duedate}) der Abschlussarbeit mit +folgenden Bezeichner erläutert. +\TermTable{issuedatetext,duedatetext} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{chairmanname}} +\printdeclarationlist% +Wurde der Prüfungsausschussvorsitzende (\Macro{chairman}) angegeben, erfolgt +unter dem Namen selbst die Ausgabe des Bezeichners. +\TermTable{chairmanname} +\end{Declaration} + +\begin{Declaration}{\Term{focusname}} +\begin{Declaration}{\Term{objectivesname}} +\printdeclarationlist% +Wird die standardisierte Form der Aufgabenstellung genutzt (\Macro{taskform}), +so werden die zwei Überschriften mit diesen Bezeichnern gesetzt. +\TermTable{focusname,objectivesname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{evaluationname}} +\begin{Declaration}{\Term{evaluationtext}} +\printdeclarationlist% +Die Bezeichnung des Gutachten selbst ist in \Term*{evaluationname} enthalten. +Für die Generierung einer Überschrift wird der Bezeichner \Term*{evaluationtext} +sowie der mit \Macro{thesis} oder gegebenenfalls mit \Macro{subject} gegebenen +Typ der Abschlussarbeit verwendet. Falls gewünscht, kann diese generierte +Überschrift mit dem Parameter \Key{\Environment{evaluation}}{headline} der +Umgebung \Environment{evaluation} überschrieben werden. +\TermTable{evaluationname,evaluationtext} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{contentname}} +\begin{Declaration}{\Term{assessmentname}} +\printdeclarationlist% +Bei der standardisierten Form des Gutachten (\Macro{evaluationform}) werden die +gliedernden Überschriften mit den Bezeichnern \Term*{taskname}, +\Term*{contentname} und \Term*{assessmentname} gesetzt. +\TermTable{contentname,assessmentname} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Term{gradetext}} +\printdeclarationlist% +Wird für ein Gutachten mit dem Befehl \Macro{grade}\Parameter{Note} oder mit dem +Parameter \Key{\Environment{evaluation}}{grade}[\PName{Note}] die Note +angegeben, so wird diese innerhalb von \Term*{gradetext} verwendet. +\grade{\PName{Note}} +\TermTable*{gradetext}{.7\textwidth} +\end{Declaration} + +\begin{Declaration}{\Term{noticename}} +\begin{Declaration}{\Term{contactname}} +\printdeclarationlist% +Die Bezeichnung des Aushangs selbst ist in \Term*{noticename} enthalten. Für die +Generierung einer Überschrift wird dieser verwendet. Falls gewünscht, kann die +generierte Überschrift mit dem Parameter \Key{\Environment{notice}}{headline} +der Umgebung \Environment{notice} überschrieben werden. Der Bezeichner +\Term*{contactname} wird für die Überschrift der Kontaktdaten verwendet, falls +\Macro{contact} zum Einsatz kam. +\TermTable{noticename,contactname} +\end{Declaration} +\end{Declaration} +\index{Bezeichner|!)} + + +\section{Das Paket \Package*{mathswap}} +\DeclarePackage{mathswap} +\index{Trennzeichen}\index{Mathematiksatz} +\index{Trennzeichen!Dezimaltrennzeichen} +\index{Trennzeichen!Tausendertrennzeichen} +Die Verwendung von Dezimal- und Tausendertrennzeichen im mathematischen Satz +sind regional sehr unterschiedlich. In den meisten englischsprachigen Ländern +wird der Punkt als Dezimaltrennzeichen und das Komma zur Zifferngruppierung +verwendet, im restlichen Europa wird dies genau entgegengesetzt praktiziert. +Dieses Paket soll dazu dienen, beliebige formatierte Zahlen in ihrer Ausgabe +anzupassen. Dafür werden die Zeichen Punkt (\ .\ ) und Komma (\ ,\ ) als +aktive Zeichen im Mathematikmodus definiert. + +Ähnliche Funktionalitäten werden bereits durch die Pakete \Package{icomma} und +\Package{ziffer} bereitgestellt. Bei \Package{icomma} muss jedoch beim +Verfassen des Dokumentes durch den Autor beachtet werden, ob das verwendete +Komma einem Dezimaltrennzeichen entspricht ($t=1,\!2$) oder aber einem +normalen Komma im Mathematiksatz ($z=f(x,y)$), wo ein gewisser Abstand nach +dem Komma durchaus gewünscht ist. Das Paket \Package{ziffer} liefert dafür die +gewünschte Funktionalität,% +\footnote{kein Leerraum nach Komma, wenn direkt danach eine Ziffer folgt} +ist allerdings etwas unflexibel, was den Umgang mit den Trennzeichen anbelangt. +Als Alternative zu diesem Paket kann außerdem \Package{ionumbers} verwendet +werden. + +Das Paket \Package*{mathswap} sorgt dafür, dass Trennzeichen direkt vor einer +Ziffer erkannt und nach bestimmten Vorgaben ersetzt werden. Sollte sich jedoch +zwischen Trennzeichen und Ziffer Leerraum befinden, wird dieser als solcher +auch gesetzt. Zur Verwendung des Paketes sei auf das Minimalbeispiel in +\autoref{sec:mwe:swap} verwiesen. Außerdem wird in \autoref{sec:mathtype} kurz +auf einen typographisch sauberen Mathematiksatz eingegangen. + +\begin{Declaration}{\Macro{commaswap}\Parameter{Trennzeichen}} +\begin{Declaration}{\Macro{dotswap}\Parameter{Trennzeichen}} +\printdeclarationlist% +Die beiden Befehle \Macro*{commaswap} und \Macro*{dotswap} sind die zentrale +Benutzerschnittstelle des Paketes. Das Makro \Macro*{commaswap} definiert das +Trennzeichen oder den Inhalt, wodurch ein Komma ersetzt werden soll, auf +welches direkt danach eine Ziffer folgt. Normalerweise setzt \hologo{LaTeX} +nach einem Komma im mathematischen Satz zusätzlich einen horizontalen Abstand. +Bei der Ersetzung durch \Macro*{commaswap} entfällt dieser. Die Voreinstellung +für \Macro*{commaswap} ist deshalb auf ein Komma (,) gesetzt. + +Mit dem Makro \Macro*{dotswap} kann definiert werden, wodurch der Punkt im +mathematischen Satz ersetzt werden soll, wenn auf diesen direkt anschließend +eine Ziffer folgt. Da der Punkt im deutschsprachigem Raum zur Gruppierung von +Ziffern genutzt wird, ist hierfür standardmäßig ein halbes geschütztes +Leerzeichen definiert (\Macro*{,}). +\end{Declaration} +\end{Declaration} + + +\section{Das Paket \Package*{tudscrcomp}} +\DeclarePackage{tudscrcomp} +\index{Kompatibilität!\Class*{tudbook}|(} +Dieses Paket dient zum Umstieg von der alten Klasse \Class{tudbook} auf die +neuen Klassen aus dem \TUDScript-Bundle. Nach dem Laden dieses Paketes stehen +Befehle bereit, welche für \Class{tudbook} definiert wurden und das +entsprechende Verhalten nachahmen. Die Intention ist, alte Dokumente möglichst +schnell auf die neuen Klassen portieren zu können. Für den Satz neuer Dokumente +wird jedoch empfohlen, auf den Einsatz dieses Paketes zu verzichten und +stattdessen die neuen Befehle zu nutzen. + +\begin{Declaration}{\Option{serifmath}}{% + identisch zu \Option{sansmath}[false]% +} +\printdeclarationlist% +Die Funktionalität wird durch die Option \Option{sansmath} bereitgestellt. +\end{Declaration} + +\begin{Declaration}{\Option{colortitle}}{% + identisch zu \Option{cdtitle}[color]% +} +\begin{Declaration}{\Option{nocolortitle}}{% + identisch zu \Option{cdtitle}[true]% +} +\printdeclarationlist% +Die Funktionalität wird durch die Option \Option{cdtitle} bereitgestellt. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{einrichtung}\Parameter{Fakultät}}{% + identisch zu \Macro{faculty} +} +\begin{Declaration}{\Macro{fachrichtung}\Parameter{Einrichtung}}{% + identisch zu \Macro{department} +} +\begin{Declaration}{\Macro{institut}\Parameter{Institut}}{% + identisch zu \Macro{institute} +} +\begin{Declaration}{\Macro{professur}\Parameter{Lehrstuhl}}{% + identisch zu \Macro{chair} +} +\printdeclarationlist% +Dies sind die deutschsprachigen Befehle für den Kopf im \CD. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{moreauthor}\Parameter{Autorenzusatz}}{% + identisch zu \Macro{authormore}% +} +\printdeclarationlist% +Ursprünglich war diese Befehl für das Unterbringen aller möglichen, zusätzlichen +Autoreninformationen gedacht. Auch der Befehl \Macro{authormore} ist ein +Rudiment davon. Empfohlen wird die Verwendung der Befehle \Macro{dateofbirth}, +\Macro{placeofbirth}, \Macro{matriculationnumber} und \Macro{matriculationyear} +sowie für die Aufgabenstellung einer wissenschaftlichen Arbeit \Macro{course} +und \Macro{branch} aus dem Paket \Package{tudscrsupervisor}. +\end{Declaration} + +\begin{Declaration}{\Macro{submitdate}\Parameter{Datum}}{% + identisch zu \Macro{date}% +} +\printdeclarationlist% +Die Funktionalität wird durch den erweiterten Standardbefehl \Macro{date} +abgedeckt. +\end{Declaration} + +\begin{Declaration}{\Macro{supervisorII}\Parameter{Name}}{% + identisch zur Verwendung von \Macro{and} innerhalb von \Macro{supervisor}% +} +\printdeclarationlist% +Es sollte \Macro{supervisor}\PParameter{\PName{Name} \Macro{and} \PName{Name}} +anstelle des Befehls \Macro*{supervisorII}\Parameter{Name} verwendet werden. +\end{Declaration} + +\begin{Declaration}{\Macro{supervisedby}\Parameter{Bezeichnung}}{% + siehe \Term{supervisorname}% +} +\begin{Declaration}{\Macro{supervisedIIby}\Parameter{Bezeichnung}}{% + siehe \Term{supervisorothername}% +} +\begin{Declaration}{\Macro{submittedon}\Parameter{Bezeichnung}}{% + siehe \Term{datetext}% +} +\printdeclarationlist% +Zur Änderung der Bezeichnung der Betreuer sollten die sprachabhängigen +Bezeichner wie in \autoref{sec:localization} beschrieben angepasst werden. Eine +Verwendung der alten Befehle entfernt die Abhängigkeit der Bezeichner von der +verwendeten Sprache. +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{dissertation}}{% + identisch zu \Option{ddcfoot}[true]% +} +\printdeclarationlist% +Die Funktionalität kann durch die Befehle \Macro{thesis}\PParameter{diss} und +\Macro{referee} sowie die Bezeichner \Term{refereename} und +\Term{refereeothername} dargestellt werden. +\end{Declaration} + +\begin{Declaration}{\Option{ddcfooter}}{% + identisch zu \Option{ddcfoot}[true]% +} +\printdeclarationlist% +Die Funktionalität wird durch die Option \Option{ddcfoot} bereitgestellt. +\end{Declaration} + +\begin{Declaration}{\Macro{chapterpage}} +\printdeclarationlist% +Durch diesen Befehl können Kapitelseiten konträr zur eigentlichen Einstellung +aktiviert oder deaktiviert werden. Prinzipiell ist dies auch durch Änderung der +Option \Option{chapterpage} möglich. Allerdings wird davon abgeraten, da dies zu +einem inkonsistenten Layout innerhalb des Dokumentes führt. +\end{Declaration} + +\begin{Declaration}{\Environment{theglossary}[\OParameter{Präambel}]} +\begin{Declaration}{\Macro{glossitem}\Parameter{Begriff}} +\printdeclarationlist% +Die \Class{tudbook}-Klasse stellt eine rudimentäre Umgebung für ein Glossar +bereit. Allerdings gibt es dafür bereits zahlreiche und besser implementierte +Pakete. Daher wird für diese Umgebung keine Portierung vorgenommen, sondern +lediglich die ursprüngliche Definition übernommen. Allerdings sein an dieser +Stelle auf wesentlich bessere Lösungen wie beispielsweise das Paket +\Package{glossaries} oder~-- mit Abstrichen~-- das nicht ganz so umfangreiche +Paket \Package{nomencl} verwiesen. +\end{Declaration} +\end{Declaration} +\index{Kompatibilität!\Class*{tudbook}|)} + + +\section{Das Paket \Package*{twocolfix}} +\DeclarePackage{twocolfix} +\index{Zweispaltensatz|?}% +Der \hologo{LaTeXe}-Kernel enthält einen Fehler, der Kapitelüberschriften im +zweispaltigen Layout höher setzt, als im einspaltigen. Der Fehler% +\footnote{\url{http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}} +ist zwar schon länger bekannt, allerdings noch nicht in \Package{ltxfix2e} +übernommen worden. Das Paket \Package{twocolfix} behebt das Problem. Eine +Integration dieses Bugfixes in \KOMAScript{} wurde bereits bei Markus Kohm +angefragt, jedoch von ihm bis jetzt nicht weiter verfolgt.% +\footnote{\url{http://www.komascript.de/node/1681}} + + +\section{Zukünftige Arbeiten} +\subsection*{Das Paket \Package*{tudscrposter}} +\DeclarePackage{tudscrposter} +\ToDo[v2.x]{Paket \Package*{tudscrposter} als Ersatz für \Class{tudmathposter}} +Die Funktionalität der Klasse \Class{tudmathposter} soll in ein eigenständiges +Paket mit dem Namen \Package*{tudscrposter} o.\,ä. überführt werden. + +\subsection*{\Class*{tudscrlttr} auf Basis von \Class*{scrlttr2}} +\DeclareClass{tudscrlttr} +\ToDo[v2.x]{Klasse \Class*{tudscrlttr}} +Es soll die Klasse +\begin{description} + \item \Class*{tudscrlttr} +\end{description} +für Briefe im \CD der \TnUD entstehen. Auch Vorlagen für Fax und +Hausmitteilungen sollen dabei abfallen. + + + +%\chapter[Die Briefklasse \Class*{tudscrlttr}]{Die Briefklasse} + + + +\setchapterpreamble{% + \begin{abstract} + \noindent Für die Verwendung des \TUDScript-Bundles ist es nicht notwendig, + dieses Kapitel zu lesen. Allerdings soll hier insbesondere dem Einsteiger~-- + und auch dem bereits versierten \hologo{LaTeX}-Nutzer~-- der eine oder andere + Tipp gegeben und meiner Meinung nach empfehlenswerte Pakete kurz vorgestellt + werden. Über Anregungen, Hinweise, Ratschläge oder Empfehlungen für weitere + Pakete würde ich mich freuen. + \end{abstract} +} +\chapter{Ergänzungen und Hinweise} +\index{Kompatibilität!Pakete} +\section{Durch die neuen Hauptklassen genutzte Pakete} +\label{sec:packages:needed} +In diesem Abschnitt werden alle Pakete genannt, die von den neuen Klassen +zwingend benötigt und geladen werden, um den Anwender das mehrmalige Laden +dieser Pakete oder mögliche Konflikte mit anderen Paketen zu ersparen. +% +\begin{packages} +\item[scrbase] + Dieses Paket gehört zum \KOMAScript-Bundle und erlaubt das Definieren von + Klassenoptionen im Stil von \KOMAScript, welche auch noch nach dem Laden der + Klasse mit den Befehlen \Macro*{TUDoption} und \Macro*{TUDoptions} geändert + werden können. +\item[keyval] + Es wird von \KOMAScript{} selbst benötigt und geladen und erlaubt das + Definieren von Klassen"~ und Paketoptionen sowie Parametern nach dem + Schlüssel"=Wert"=Prinzip. +\item[kvsetkeys] + Hiermit wird das Paket \Package*{keyval} verbessert. Unter anderem kann das + Verhalten für den Fall, dass ein unbekannter Schlüssel übergeben wird, + festgelegt werden. +\item[etoolbox] + Es werden viele Funktionen zum Testen und zur Ablaufkontrolle bereitgestellt + und das einfache Manipulieren vorhandener Makros ermöglicht. +\item[graphicx]\index{Grafiken} + Dies ist das De-facto-Standard-Paket zum Einbinden von Grafiken. Es wird für + die Einbindung des Logos der \TnUD im Kopf benötigt. Dafür wird der Befehl + \Macro{includegraphics}\OParameter{Parameter}\Parameter{Dateiname} genutzt. +\item[xcolor]\index{Farben} + Damit werden die Farben des \CDs zur Verwendung im Dokument definiert. + Genaueres ist bei der Beschreibung von \Package{tudscrcolor} in + \autoref{files:tudscrcolor} zu finden. +\item[geometry]\index{Satzspiegel} + Das Paket ist essentiell für die \TUDScript-Klassen. Es wird zum Festlegen + der Seitenränder respektive des Satzspiegels verwendet. Genaueres ist der + Beschreibung der Option \Option{geometry} zu entnehmen. +\item[environ]\index{Befehle!Deklaration} + Es wird eine verbesserte Deklaration von Umgebungen ermöglicht, bei der auch + beim Abschluss der Umgebung auf die übergebenen Parameter zugegriffen werden + kann. Dies wird die Neugestaltung der \Environment{abstract}"=Umgebung + benötigt. +\item[textcase]\index{Schriftauszeichnung} + Es werden die Befehle \Macro{MakeTextUppercase} für die erzwungene + Großschreibung der Überschriften in \DIN genutzt. Um dies im Ausnahmefall + zu unterbinden, kann der Befehl \Macro{NoCaseChange} genutzt werden. +\item[mweights]\index{Schrift!Stärke} + Es kann die Schriftstärke jeder einzelnen Schriftfamilie individuell + festgelegt werden. +\item[trimspaces] + Entfernt überflüssigen Leerraum zu Beginn und am Ende eines Strings. +\end{packages} +% +Soll eines der hier aufgezählten Pakete mit bestimmten Optionen geladen werden, +so müssen diese bereits \emph{vor} der Definition der Dokumentklasse an das +entsprechende Paket werden. +\begin{Example} +Das Weiterreichen von Optionen an Pakete muss folgendermaßen erfolgen: +\begin{code}[escapechar=§] +\PassOptionsToPackage§\Parameter{Optionenliste}\Parameter{Paket}§ +\documentclass§\OParameter{Klassenoptionen}\PParameter{tudscr\dots}§ +\end{code} +\end{Example} + + +\section{Durch \TUDScript direkt unterstütze Pakete} +\begin{packages} +\item[hyperref]\index{Lesezeichen} + Mit diesem Paket können in einem PDF-Dokument Lesezeichen, Querverweise und + Hyperlinks erstellt werden. Wird \Package*{hyperref} geladen, können die + Option \Option{tudbookmarks} sowie der Befehl \Macro{tudbookmark} genutzt + werden. Das Paket sollte als letztes im Vorspann eingebunden werden.% + \footnote{% + \Package{glossaries} ist eine von wenigen Ausnahmen und muss \textbf{nach} + \Package*{hyperref} geladen werden. + } + Das Paket \Package{bookmark} erweitert die Unterstützung nochmals. +\item[isodate]\index{Datum|?} + Dieses Paket formatiert mit \Macro{printdate}\Parameter{Datum} die Ausgabe + eines Datums automatisch in ein spezifiziertes Format. Wird es geladen, werden + alle Datumsfelder, welche durch die \TUDScript-Klassen definiert wurden,% + \footnote{% + \Macro{date}, \Macro{dateofbirth}, \Macro{defensedate}, \Macro{duedate}, + \Macro{issuedate} + } + in diesem Format ausgegeben. +\item[multicol]\index{Zweispaltensatz|?} + Hiermit kann jeglicher beliebiger Inhalt in zwei oder mehr Spalten ausgegeben + werden, wobei~-- im Gegensatz zur \hologo{LaTeX}-Option \Option{twocolumn}~-- + für einen Spaltenausgleich gesorgt wird. Unterstützt wird das Paket innerhalb + der Umgebungen \Environment{abstract} und \Environment{tudpage}. +\item[ragged2e]\index{Worttrennung} + Das Paket verbessert den Flattersatz, indem für diesen die Worttrennung + aktiviert wird. +\item[quoting]\index{Zitate} + \hologo{LaTeX} bietet von Haus aus \emph{zwei} verschiedene Umgebungen für + Zitate und ähnliches. Beide sind in ihrer Ausprägung starr und ignorieren + beispielsweise die Einstellungen von \Option{parskip}. Dies wird durch die + Umgebung \Environment{quoting} verbessert. Wird das Paket geladen, kommt diese + gegebenenfalls innerhalb der \Environment{abstract}="Umgebung zum Einsatz. +\item[pagecolor]\index{Farben} + Mit dem Paket kann die Hintergrundfarbe der Seiten im Dokument geändert + werden. Nach der Ausgabe einer farbigen Titel"~, Teile"~, oder Kapitelseite + wird auf diese zurückgeschaltet. +\end{packages} + + +\section{Empfehlenswerte Pakete} +\label{sec:packages:recommended} +In diesem Abschnitt wird eine Vielzahl an Paketen genannt und~-- zumeist kurz~-- +charakterisiert, welche sich bei meiner Arbeit mit \hologo{LaTeX} bewährt haben. +Für detaillierte Informationen sowie bei Fragen zu den einzelnen Paketen sollte +die jeweilige Dokumentation zu Rate gezogen werden,% +\footnote{Konsolenaufruf: \Path{texdoc\,\emph{<Paketname>}}} +das Lesen der hier gegebenen Kurzbeschreibung ersetzt dies in keinem Fall. +\subsection{Pakete zur Verwendung in jedem Dokument} +Die hier vorgestellten Pakete gehören meiner Meinung nach in die Präambel eines +jeden Dokumentes. Egal, in welcher Sprache das Dokument verfasst wird, sollte +diese mit dem Paket \Package*{babel} definiert werden~-- auch wenn dies Englisch +ist. Für deutschsprachige Dokumente ist für eine annehmbare Worttrennung das +Paket \Package*{hyphsubst} unbedingt zu verwenden. +\begin{packages} +\item[fontenc]\index{Zeichensatzkodierung} + Das Paket erlaubt Festlegung der Zeichensatzkodierung des Ausgabefonts. Als + Voreinstellung ist die Ausgabe als 7"~bit kodierte Schrift gewählt, was unter + anderem dazu führt, dass keine echten Umlaute im erzeugten PDF-Dokument + verwendet werden. Um auf 8"~bit"~Schriften zu schalten, sollte man + \Macro*{usepackage}\POParameter{T1}\PParameter{fontenc} nutzen. +\item[selinput]\index{Eingabekodierung} + Hiermit erfolgt die (automatische) Festlegung der Eingabekodierung. Diese ist + von der gewählten Einstellung des \hyperref[sec:tat:editor]{Editors} abhängig. + Zu verwenden ist es wie folgt: + \begin{code} + \usepackage{selinput} + \SelectInputMappings{adieresis={ä},germandbls={ß}} + \end{code}\vskip-\baselineskip% + Dies macht den Quelltext portabel. Außerdem kann so beispielsweise ganz + einfach via Copy~\&~Paste ein \hyperref[fn:mwe]{Minimalbeispiel} bei + Problemstellungen in einem Forum gepostet werden. Alternativ dazu kann mit dem + Paket \Package{inputenc} die Eingabekodierung manuell eingestellt werden + (\Macro*{usepackage}\OParameter{Eingabekodierung})\PParameter{inputenc}). +\item[microtype]\index{Typographie} + Dieser Paket kümmert sich um den optischen Randausgleich% + \footnote{englisch: protrusion, margin kerning} + und das Nivellieren der Wortzwischenräume% + \footnote{englisch: font expansion} + im Dokument. Es funktioniert nicht mit der klassischen \hologo{TeX}-Engine, + wohl aber mit \hologo{pdfTeX} als auch \hologo{LuaTeX} sowie \hologo{XeTeX}. +\item[babel]\index{Sprachunterstützung}\index{Bezeichner} + Mit diesem Paket erfolgt die Einstellung der im Dokument verwendeten + Sprache(n). Bei mehreren angegebenen Sprachen ist die zuletzt geladene die + Hauptsprache des Dokumentes. Die gewünschten Sprachen sollten als nicht als + Paketoption sondern als Klassenoption und gesetzt werden, damit auch andere + Pakete auf die Spracheinstellungen zugreifen können. Für deutschsprachige + Dokumente ist die Option \Option*{ngerman} für die neue oder \Option*{german} + für die alte deutsche Rechtschreibung zu verwenden. + + Mit dem Laden von \Package*{babel} und der dazugehörigen Sprachen werden + sowohl die Trennmuster als auch die sprachabhängigen Bezeichner angepasst. + Von einer Verwendung der obsoleten Pakete \Package*{german} beziehungsweise + \Package*{ngerman} anstelle von \Package*{babel} wird abgeraten. Für + \hologo{LuaLaTeX} und \hologo{XeLaTeX} kann das Paket \Package{polyglossia} + genutzt werden. +\item[hyphsubst]\index{Worttrennung|!} + Die möglichen Trennstellen von Wörtern wird von \hologo{LaTeX} mit Hilfe eines + Algorithmus berechnet. Dieser ist jedoch in seiner ursprünglichen Form für die + englische Sprache konzipiert worden. Für deutschsprachige Texte wird die + Worttrennung~-- insbesondere für zusammengeschriebenen Wörtern~-- mit dem + Paket \Package*{hyphsubst} entscheidend verbessert. Dafür wird ein um + Trennstellen ergänztes Wörterbuch aus dem Paket \Package{dehyph-exptl} + genutzt. \Package*{hyphsubst} muss bereits \emph{vor} den Dokumentklassen + selbst wie folgt geladen werden: + \begin{code}[escapechar=§] + \RequirePackage§\POParameter{ngerman=ngerman-x-latest}\PParameter{hyphsubst}§ + \documentclass§\OParameter{Klassenoptionen}\PParameter{tudscr\dots}§ + \end{code}\vskip-\baselineskip% + Sollte trotzdem einmal ein bestimmtes Wort falsch getrennt werden, so kann die + Worttrennung dieses Wortes manuell und global geändert werden. Dies wird mit + dem Befehl \Macro{hyphenation}\PParameter{Sil-ben-tren-nung} gemacht. Es + ist zu beachten, dass dies für alle Flexionsformen des Wortes erfolgen sollte. + Für eine lokale/temporäre Worttrennung kann mit Befehlen aus dem Paket + \Package{babel} gearbeitet werden. Diese sind: + % + \vskip\topsep\noindent + \begin{tabular}{@{}ll} + \textbf{Beschreibung} & \textbf{Befehl}\tabularnewline + ausschließliche Trennstellen & \textbackslash-\tabularnewline + zusätzliche Trennstellen & "'-\tabularnewline + Umbruch ohne Trennstrich & "'"'\tabularnewline + Bindestrich, welcher weitere Trennstellen erlaubt & "'=\tabularnewline + geschützter Bindestrich ohne Umbruch & "'\textasciitilde\tabularnewline + \end{tabular} + \vskip\topsep +\end{packages} + +\subsection{Pakete zur situativen Verwendung} +\subsubsection{Verzeichnisse aller Art} +\index{Verzeichnisse|?} +Neben dem Erstellen des eigentlichen Dokumentes sind für eine wissenschaftliche +Arbeit meist auch allerhand Verzeichnisse gefordert. Fester Bestandteil ist +dabei das Literaturverzeichnis, aber auch ein Abkürzungs- und Formelzeichen- +beziehungsweise Symbolverzeichnis werden häufig gefordert. Gegebenenfalls wird +auch noch ein Glossar benötigt. Hier werden die passenden Pakete vorgestellt. +Für das Erstellen eines Quelltextverzeichnisses sei auf \Package'{listings} +verwiesen. +\begin{packages} +\item[biblatex] + Das Paket gibt es seit geraumer Zeit und es kann als legitimer Nachfolger zu + \Package*{bibtex} gesehen werden. Ähnlich zu diesem bietet \Package*{biblatex} + die Möglichkeit, Literaturdatenbanken einzubinden und verschiedene Stile der + Referenzierung und Darstellung des Literaturverzeichnisses auszuwählen. + Allerdings ist mit \Package*{biblatex} die Anpassung eines bestimmten Stiles + wesentlich besser umsetzbar als mit \Package*{bibtex}. Wird zum Sortieren des + Verzeichnisses außerdem \Application{biber} genutzt, ist die Verwendung + einer Unicode kodierte Literaturdatenbank problemlos möglich. In Verbindung + mit \Package*{biblatex} sei die Verwendung von \Package*{csquotes} empfohlen. +\item[acro] + Soll lediglich ein Abkürzungsverzeichnis erstellt werden, ist dieses Paket die + erste Wahl. Es stellt Befehle zur Definition von Abkürzungen sowie zu deren + Verwendung im Text und zur sortierten Ausgabe eines Verzeichnisses bereit. + Alternativ dazu kann das Paket \Package{acronym} verwendet werden, wo die + Sortierung allerdings manuell durch den Anwender erfolgen muss. +\item[glossaries] + Dies ist ein sehr mächtiges Paket zum Erstellen eines Glossars sowie + Abkürzungs- und Symbolverzeichnisses. Die mannigfaltige Anzahl an Optionen ist + für den Einstieg eventuell etwas abschreckend. Insbesondere wenn jedoch + Verzeichnisse für Abkürzungen \emph{und} Formelzeichen beziehungsweise Symbole + benötigt werden, sollte dieses Paket in Erwägung gezogen werden. Alternativ + kann für ein Symbolverzeichnis auch lediglich eine händisch gesetzte Tabelle + genutzt werden. Das häufig empfohlene Paket \Package{nomencl} bietet meiner + Meinung nach demgegenüber keinerlei Vorteile. +\end{packages} + +\subsubsection{Grafiken und Abbildungen} +\index{Grafiken|?} +Grafiken für wissenschaftliche Arbeiten sollten als Vektorgrafiken erstellt +werden, um Skalierbarkeit und hohe Druckqualität zu gewährleisten. Bestenfalls +folgen diese auch dem Stil der dazugehörigen Arbeit.% +\footnote{% + Aus anderen Arbeiten übernommene Grafiken sollten meiner Meinung nach für + qualitativ hochwertige Dokumente nicht direkt kopiert sondern nach der Vorlage + im entsprechenden Format neu erstellt und mit der Referenz auf die Quelle ins + Dokument eingebunden werden. +} +Für das Erstellen eigener Vektorgrafiken in \hologo{LaTeX}, die unter anderem +die \hologo{LaTeX}"=Schriften und das Layout des Hauptdokumentes nutzen, gibt +es zwei mögliche Wege. Entweder, man \enquote{programmiert} die Grafiken, +ähnlich wie auch das Dokument selber oder man nutzt Zeichenprogramme, die +wiederum die Ausgabe oder das Weiterreichen von Text an \hologo{LaTeX} +unterstützen. Für das Programmieren von Grafiken sollen hier die wichtigsten +Pakete vorgestellt werden. Wie diese zu verwenden sind, ist den dazugehörigen +Paketdokumentationen zu entnehmen. +\begin{packages} +\item[tikz] + Dies ist ein sehr mächtiges Paket für das Programmieren von Vektorgrafiken und + höchstwahrscheinlich die erste Wahl bei der Verwendung von \hologo{pdfLaTeX}. +\item[pstricks] + Das Paket \Package*{pstricks} stellt die zweite Variante zum Programmieren von + Grafiken dar. Mit diesem Paket hat man \emph{noch} mehr Möglichkeiten bei der + Erstellung eigener Grafiken, da man mit \Package*{pstricks} auf PostScript + zugreifen kann und einige der bereitgestellten Befehle davon rege Gebrauch + machen. Der daraus resultierende Nachteil ist, dass mit \Package*{pstricks} + die direkte Verwendung von \hologo{pdfLaTeX} nicht möglich ist. + + Die Grafiken aus den \Environment{pspicture}"=Umgebungen müssen deshalb erst + über den Pfad \Path{latex \textrightarrow{} dvips \textrightarrow{} ps2pdf} + in PDF"~Dateien gewandelt werden. Diese lassen sich von \hologo{pdfLaTeX} + anschließend als Abbildungen einbinden. Um dieses Vorgehen zu ermöglichen, + können folgende Pakete genutzt werden: + \begin{packages} + \item[pst-pdf] + Dieses Paket stellt die prinzipiellen Methoden für den Export bereit. Die + einzelnen Kompilierungsschritte müssen manuell durchgeführt werden. + \item[auto-pst-pdf] + Das Paket automatisiert die Erzeugung der \Package*{pstricks}"=Grafiken. + Dafür muss \hologo{pdfLaTeX} mit der Option \Path{-\/-shell-escape} + aufgerufen werden. + \item[pdftricks2] + Ein weiteres Paket mit der gleichen Intention wie \Package*{auto-pst-pdf}, + allerdings anders implementiert. Auch hier ist für \hologo{pdfLaTeX} die + Option \Path{-\/-shell-escape} notwendig. + \end{packages} +\item[standalone] + Sollte \Package*{tikz} und/oder \Package*{pstricks} eingesetzt werden, kann + das Paket \Package*{standalone} genutzt werden, um die Grafiken einerseits als + eigenständiges Dokument übersetzen zu können und andererseits diese Grafiken + mit dem Hauptdokument zu kompilieren. Damit muss beim Erstellen oder Ändern + einer Grafik nicht immer das vollständige Hauptdokument mit kompiliert werden. +\end{packages} +% +Für die Varianten des Zeichnens einer Grafik mit einem Bildbearbeitungsprogramm, +welches die Weiterverarbeitung durch \hologo{LaTeX} erlaubt, möchte ich auf die +freien Programme \Application{LaTeXDraw} und \Application{Inkscape} verweisen. +Insbesondere das zuletzt genannte Programm ist sehr empfehlenswert. Für die +erstellten Grafiken kann man den Export für die Einbindung in \hologo{LaTeX} +manuell durchführen. In \Package{svg-inkscape}% +\footnote{\url{http://www.ctan.org/pkg/svg-inkscape}} +ist beschrieben, wie sich dies automatisieren lässt. In \autoref{sec:tat:svg} +wird eine daraus abgeleitete und verbesserte Variante vorgestellt. + +\subsubsection{Gleitobjekte} +\index{Gleitobjekte|?} +\index{Tabellen}\index{Grafiken} +Es werden Pakete zur Beeinflussung von Aussehen, Beschriftung und Positionierung +von Gleitobjekten vorgestellt. Unter \autoref{sec:tat:floats} sind außerdem +Hinweise zur manuellen Manipulation der Gleitobjektplatzierung zu finden. +\begin{packages} +\item[caption]\index{Gleitobjekte!Beschriftung} + Die \KOMAScript-Klassen bietet bereits einige Möglichkeiten zum Setzen der + Beschriftungen für Gleitobjekte. Dieses Paket ist daher meist nur in gewissen + Ausnahmefällen für spezielle Anweisungen notwendig, allerdings auch bei der + Verwendung unbedenklich. +\item[subcaption]\index{Gleitobjekte!Beschriftung} + Diese Paket kann zum einfachen Setzen von Unterabbildungen oder -tabellen mit + den entsprechenden Beschriftungen genutzt werden. Das dazu alternative Paket + \Package{subfig} sollte vermieden werden, da es nicht mehr gepflegt wird und + es mit diesem im Zusammenspiel mit anderen Paketen des Öfteren zu Problemen + kommt. Sollte der Funktionsumfang von \Package*{subcaption} nicht ausreichen, + kann anstelle dessen das Paket \Package*{floatrow} verwendet werden, welches + ähnliche Funktionalitäten wie \Package{subfig} bereitstellt. +\item[floatrow]\index{Gleitobjekte!Beschriftung} + Mit diesem Paket können global wirksame Einstellungen und Formatierungen für + \emph{alle} Gleitobjekte eines Dokumentes vorgenommen werden. So kann unter + anderem die verwendete Schrift (\Macro*{floatsetup}\PParameter{font=\dots}) + innerhalb der Umgebungen \Environment*{float} und \Environment*{table} + eingestellt werden. Das typographisch richtige Setzen der Beschriftungen von + Abbildungen als Unterschriften + (\Macro*{floatsetup}\POParameter{figore}\PParameter{capposition=bottom}) + sowie Tabellen als Überschriften + (\Macro*{floatsetup}\POParameter{table}\PParameter{capposition=top}) + kann automatisch erzwungen werden~-- unabhängig von der Position des + Beschriftungsbefehls \Macro{caption} innerhalb der Gleitobjektumgebung. + + Wird das Verhalten so wie empfohlen mit dem \Package*{floatrow}-Paket + eingestellt, sollte außerdem die \KOMAScript-Option + \Option{captions}[tableheading] genutzt werden. +\item[placeins]\index{Gleitobjekte!Platzierung} + Mit diesem Paket kann die Ausgabe von Gleitobjekten vor Kapiteln und wahlweise + Unterkapiteln erzwungen werden. +\item[flafter]\index{Gleitobjekte!Platzierung} + Dieses Paket erlaubt die frühestmögliche Platzierung von Gleitobjekten im + ausgegeben Dokument erst an der Stelle ihres Auftretens im Quelltext. Sie + werden dementsprechend nie vor ihrer Definition am Anfang der Seite erscheinen. +\end{packages} + +\subsubsection{Listen und Tabellen} +\index{Listen|?}\index{Tabellen|?} +Für den Tabellensatz in \hologo{LaTeX} werden von Haus aus die Umgebungen +\Environment*{tabbing} und \Environment*{tabular} beziehungsweise +\Environment*{tabular*} bereitgestellt, welche in ihrer Funktionalität meist für +einen qualitativ hochwertigen Tabellensatz nicht ausreichen. Es werden deshalb +Pakete vorgestellt, die zusätzlich verwendet werden können. Ebenfalls können die +Umgebungen für Auflistungen in \hologo{LaTeX} verbessert werden. +\begin{packages} +\item[enumitem] + Das Paket \Package*{enumitem} erweitert die rudimentären Funktionalitäten der + \hologo{LaTeX}"=Standardlisten \Environment{itemize}, \Environment{enumerate} + sowie \Environment{description} und ermöglicht die individuelle Anpassung + dieser durch die Bereitstellung vieler optionale Parameter nach dem + Schlüssel"=Wert"=Prinzip. + + Eine von mir sehr häufig genutzte Funktion ist beispielsweise die Entfernung + des zusätzlichen Abstand zwischen den einzelnen Einträgen einer Liste mit + \Macro*{setlist}\PParameter{noitemsep}. +\item[array] + Dieses Paket ermöglicht die erweiterte Definition von Tabellenspalten sowie + das Erstellen neuer Spaltentypen mit \Macro*{newcolumntype}. Außerdem kann mit + \Macro*{extrarowheight} die Höhe der Zeilen einer Tabelle angepasst werden. +\item[multirow] + Es wird der Befehl \Macro*{multirow} definiert, der~-- ähnlich zum Makro + \Macro*{multicolumn}~-- das Zusammenfassen von mehreren Zeilen in einer Spalte + ermöglicht. +\item[booktabs] + Für einen guten Tabellensatz mit \hologo{LaTeX} gibt es bereits zahlreiche + Empfehlungen im Internet zu finden.% + \footnote{\url{http://userpage.fu-berlin.de/latex/Materialien/tabsatz.pdf}} + Zwei Regeln sollten dabei definitiv beachtet werden: + % + \begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.] + \makeatletter + \item@packages keine vertikalen Linien + \item@packages keine doppelten Linien + \makeatother + \end{enumerate} + % + Das Paket \Package*{booktabs} ist für den Satz von hochwertigen Tabellen~-- + zusammen mit der deutschsprachigen Dokumentation \Package*{booktabs-de}~-- + eine große Hilfe und stellt neue Befehle für horizontale Linien bereit. +\item[widetable] + Mit der Standard"=\hologo{LaTeX}"=Umgebung \Environment*{tabular*} kann eine + Tabelle mit einer definierten Breite gesetzt werden. Dieses Paket stellt die + Umgebung \Environment*{widetable} zur Verfügung, die als Alternative genutzt + werden kann und eine symmetrische Tabelle erzeugt. +\item[tabularx] + Auch mit diesem Paket kann die Breite eine Tabelle spezifiziert werden. Dafür + wird der neue Spaltentyp \PValue{X} definiert, welcher als Argument der + \Environment*{tabularx}"=Umgebung beliebig häufig angegeben werden kann + (\Macro*{begin}\PParameter{tabularx}\Parameter{Breite}\Parameter{Spalten}). + \PValue{X}"~Spalten entsprechen denen vom Typ~\PValue{p}\OParameter{Breite} + (äquivalent zu \Macro*{parbox}\Parameter{Breite}), die Breite wird allerdings + aus der gegebenen Tabellenbreite und dem benötigten Platz der Standardspalten + automatisch berechnet. +\item[longtable] + Sollen mehrseitige Tabellen mit Seitenumbruch erstellt werden, ist dieses + Paket das Mittel der ersten Wahl. Für die Kombination mehrseitiger Tabellen mit + einer \Environment*{tabularx}"=Umgebung können die Pakete \Package{ltablex} + oder besser noch \Package*{ltxtable} verwendet werden. +\item[ltxtable] + Wie bereits erwähnt sollte dieses Paket für mehrseitige Tabellen, die mit der + Umgebung \Environment*{tabularx} erstellt wurden, verwendet werden. Alternativ + dazu kann auch \Package*{tabu} verwendet werden. +\item[tabu] + Dies ist ein relativ neues Paket, welches versucht, viele der zuvor genannten + Funktionalitäten zu implementieren und weitere bereitzustellen. Dafür werden + die Umgebungen \Environment*{tabu} und \Environment*{longtabu} definiert. Es + kann als Alternative für \Package*{tabularx} verwendet werden und insbesondere + als Ersatz für das Paket \Package*{ltxtable} empfehlenswert. +\item[tabularborder] + \hologo{LaTeX} setzt bei Tabellen zwischen Spalten automatisch einen kleinen + horizontalen Abstand (\Length{tabcolsep}), besser gesagt jeweils vor und nach + einer Spalte. Dies geschieht auch \emph{vor} der ersten und \emph{nach} der + letzten Spalte. Dieser zusätzliche Platz an den äußeren Rändern kann störend + wirken, insbesondere wenn die Tabelle über die komplette Textbreite gesetzt + wird. Mit dem Paket \Package*{tabularborder} kann dieser Platz automatisch + entfernt werden. + + Dies funktioniert allerdings nur mit der \Environment*{tabular}"=Umgebung. Die + Tabellen-Umgebungen aus \Package*{tabu} und \Package*{tabularx} werden nicht + unterstützt. Bei diesen muss der Abstand vor der ersten und nach der letzten + Spalte weiterhin manuell mit \PValue{@}\PParameter{} entfernt werden. Ein + kurzes Beispiel dazu ist in \autoref{sec:tat:table} zu finden. +\end{packages} + + +\subsubsection{Mathematiksatz} +\index{Mathematiksatz} +Dies sind Pakete, die Umgebungen und Befehle für den Mathematiksatz sowie das +Setzen von Einheiten und Zahlen im Allgemeinen anbieten. Außerdem sei auf +\autoref{sec:mathtype} verwiesen. +\begin{packages} + \item[mathtools] + Dieses Paket stellt für das De-facto-Standard-Paket \Package{amsmath} für + Mathematikumgebungen Bugfixes zur Verfügung und erweitert dieses. + \item[sansmath] + Sollten die normalen \hologo{LaTeX}-Schriften Computer~Modern verwendet + werden, kann man dieses Paket zum serifenlosen Setzen mathematischer + Ausdrücke nutzen. Für die \TUDScript-Hauptklassen sei hierzu auf die Option + \Option{sansmath} verwiesen. + \item[sfmath] + Diese Paket verfolgt ein ähnliches Ziel, kann jedoch im Gegensatz zu + \Package*{sansmath} nicht nur für Computer~Modern sondern mit der + entsprechenden Option auch für Latin~Modern, Helvetica und + Computer~Modern~Bright verwendet werden. + \item[mathastext] + Mit dem Paket wird das Ziel verfolgt, aus der genutzten Schrift für den + Fließtext alle notwendigen Zeichen für den Mathematiksatz zu extrahieren. + \item[bm] + Das Paket bietet mit \Macro*{bm} eine Alternative zu \Macro*{boldsymbol} im + Mathematiksatz.\footnote{\url{http://tex.stackexchange.com/questions/3238}} +\end{packages} +Die korrekte Formatierung von Zahlen ist immer wieder ein Problem bei der +Verwendung von \hologo{LaTeX}. Insbesondere, wenn in einem deutschsprachigen +Dokument Daten im typischen englischsprachigen Format verwendet werden, kommt es +zu Problem. Dafür wird im \KOMAScript{}-Bundle das Paket \Package{mathswap} +bereitgestellt. Dennoch gibt es zu diesem auch Alternativen. +\begin{packages}\index{Trennzeichen} + \item[icomma] + Wird im Mathematikmodus nach dem Komma ein Leerzeichen gesetzt, wird dies + bei der Ausgabe beachtet. Der Verfasser muss sich demzufolge jederzeit + selbst um die typographisch korrekte Ausgabe kümmern. + \item[ziffer] + Für deutschsprachige Dokumente wird das Komma als Dezimaltrennzeichen + zwischen zwei Ziffern definiert. Folgt dem Komma keine Ziffer, wird + jederzeit der obligatorische Freiraum gesetzt, was meiner Meinung nach + besser als das Verhalten von \Package*{icomma} ist. + \item[ionumbers] + Dieses Paket ist mir tatsächlich erst bei der Arbeit an \Package*{mathswap} + bekannt geworden. Es bietet mehr Funktionalitäten und kann als Alternative + dazu betrachtet werden. +\end{packages} +Für das typographisch korrekte Setzen von Einheiten~-- ein halbes Leerzeichen +zwischen Zahl und \emph{aufrecht} gesetzter Einheit~-- gibt es zwei gut nutzbare +Pakete. +\begin{packages}\index{Einheiten} +\item[units] + Dies ist ein einfaches und sehr zweckdienliches Paket zum Setzen von Einheiten + und für die meisten Anforderungen völlig ausreichend. +\item[siunitx] + Dieses Paket ist in seinem Umfang im Vergleich deutlich erweitert. Mir hat + sich persönlich noch nicht erschlossen, was genau die daraus resultierenden + Vorteile sind. Damit das Paket in deutschsprachigen Dokumenten alle Ziffern + richtig setzt, muss zumindest die Lokalisierung angegeben werden. Mehr dazu in + \autoref{sec:tat:siunitx}. +\end{packages} + + +\subsubsection{Typographie und Layout} +\index{Typographie} +\begin{packages} +\item[setspace]\index{Zeilenabstand} + Die Vergrößerung des Zeilenabstandes wird: + \begin{enumerate}[itemindent=0pt,labelwidth=*,labelsep=1em,label=\Roman*.] + \makeatletter + \item@packages viel zu häufig und völlig unnötig gefordert sowie + \item@packages dann auch noch zu groß gewählt. + \makeatother + \end{enumerate} + Die Forderung nach Erhöhung des Zeilenabstandes~-- in der Typographie als + Durchschuss bezeichnet~-- kommt noch aus den Zeiten der Textverarbeitung mit + der Schreibmaschine. Ein einzeiliger Zeilenabstand bedeutete hier, dass die + Unterlängen der oberen Zeile genau auf der Höhe der Oberlängen der folgenden + Zeile lagen. Ein anderthalbzeiliger Zeilenabstand erzielte hier also einen + akzeptablen Durchschuss. Eine Erhöhung des Durchschusses bei der Verwendung + von \hologo{LaTeX} ist eigentlich nicht notwendig. Sinnvoll ist dies nur, wenn + im Fließtext serifenlose Schriften zum Einsatz kommen, um die damit verbundene + schlechte Lesbarkeit etwas zu verbessern. + + Ist die Erhöhung des Durchschusses wirklich notwendig, sollte das Paket + \Package*{setspace} verwendet werden. Dieses stellt den Befehl + \Macro*{setstretch}\Parameter{Faktor} zur Verfügung, mit dem der Durchschuss + beziehungsweise Zeilenabstand angepasst werden kann. Der Wert des Faktors + ist standardmäßig auf~1 gestellt und sollte maximal bis~1.25 vergrößert + werden. Der Befehl \Macro*{onehalfspacing} aus diesem Paket setzt diesen Wert + auf eben genau~1.25. Allerdings ist hier anzumerken, dass die Vergrößerung des + Zeilenabstandes~-- so wie ich es mir angelesen habe~-- aus der Sicht eines + Typographen keine Spielerei ist sondern vielmehr allein der Lesbarkeit des + Textes dient und möglichst gering ausfallen sollte. + + Ziel ist es, beim Lesen nach dem Beenden der aktuellen Zeile das Auffinden der + neuen Zeile zu vereinfachen. Bei Serifen ist dies durch die Betonung der + Grundlinie sehr gut möglich. Bei serifenlosen Schriften~-- wie der hier + verwendeten \Univers~-- ist dies schwieriger und ein erweiterter Abstand der + Zeilen kann dabei durchaus hilfreich sein, jedoch sollte nicht nach dem Motto + \enquote{viel hilft viel} verfahren werden. Bei diesem Dokument wurde als + Faktor für den Zeilenabstand \Macro*{setstretch}\PParameter{1.1} gewählt. Nach + einer Einstellung des Zeilenabstandes sollte der Satzspiegel unbedingt mit + \Macro{recalctypearea} neu berechnet werden. Siehe dazu auch + \autoref{sec:tat:problemA} und \ref{sec:tat:problemB}. +\item[csquotes]\index{Zitate} + Das Paket stellt unter anderem den Befehl \Macro{enquote}\Parameter{Zitat} + zur Verfügung, welcher Anführungszeichen in Abhängigkeit der gewählten + Sprache setzt. Außerdem werden weitere Kommandos und Optionen für die + spezifischen Anforderungen des Zitierens bei wissenschaftlichen Arbeiten + angeboten. Außerdem wird es durch \Package{biblatex} unterstützt und sollte + zumindest bei dessen Verwendung geladen werden. +\item[xspace]\index{Befehle!Deklaration} + Mit \Package*{xspace} kann bei der Definition eigener Makros der Befehl + \Macro*{xspace} genutzt werden. Dieser setzt ein gegebenenfalls notwendiges + Leerzeichen automatisch. In \autoref{sec:tat:xspace} ist die Definition eines + solchen Befehls exemplarisch ausgeführt. +\item[xpunctuate]\index{Befehle!Deklaration} + Diese Paket erweitert die Funktionalität von \Package*{xspace} nochmals. +\item[ellipsis]\index{Befehle!Deklaration} + In \hologo{LaTeX} folgten den Befehlen für Auslassungspunkte (\Macro*{dots} + und \Macro*{textellipsis}) \emph{immer} ein Leerzeichen. Dies kann unter + Umständen unerwünscht sein. Mit dem Paket \Package*{ellipsis} wird das + folgende Leerzeichen~-- im Gegensatz zum Standardverhalten~-- nur gesetzt, + wenn ein Satzzeichen und kein Buchstabe folgt. +\makeatletter\item@packages[\Application{DeLig}]\makeatother + \index{Typographie}\index{Ligaturen} + Hierbei handelt es sich um ein Java-Script, welches anhand eines Wörterbuches + versucht, falsche Ligaturen innerhalb eines Dokumentes automatisiert zu + entfernen. Wird \Univers verwendet ist dies jedoch nicht notwendig. Diese + liefert keinerlei Ligaturen, die insbesondere in deutschen Texten für einen + guten Satz manuell aufgelöst werden müssten.% + \footnote{% + Das sind ff, fi, fl, ffi, und ffl bei den \hologo{LaTeX}"=Standardschriften. + } +\item[selnolig]\index{Typographie}\index{Ligaturen} + Kommt \hologo{LuaLaTeX} zum Einsatz kann alternativ zu \Application*{DeLig} + auch \Package*{selnolig} verwendet werden, um falsche Ligaturen zu vermeiden. +\item[balance]\index{Zweispaltensatz} + Dieses Paket stellt eine Methode zur Verfügung, um im Zweispaltensatz auf der + letzten Seite eines Dokumentes die Höhe der Spalten auszugleichen. Alternativ + dazu kann auch \Package{multicol} verwendet werden. +\end{packages} + +\subsubsection{Schriften, Sonderzeichen und Rechtschreibung} +\begin{packages} +\item[lmodern]\index{Schriftart} + Soll mit den klassischen \hologo{LaTeX}"=Standardschriften anstelle der + Schriften des \CDs gearbeitet werden, empfiehlt sich die Verwendung des + Paketes \Package*{lmodern}. Dieses verbessert unter anderem die Darstellung + der Computer~Modern am Bildschirm. Hierfür muss die Verwendung der \Univers + mit der Option \Option{cdfont}[false] deaktiviert werden. +\item[cfr-lm]\index{Schriftart} + Dieses experimentelle Paket liefert weitere Schriftschnitte für das Paket + \Package{lmodern}. +\item[libertine]\index{Schriftart} + Das Paket stellt die Schriften Linux~Libertine und Linux~Biolinum für die + Verwendung mit \hologo{LaTeX} zur Verfügung. + \begin{packages} + \item[libgreek] + Es werden griechische Buchstaben für Linux~Libertine bereitgestellt. + \item[newtxmath] + Das Paket aus dem \Package*{newtx}-Bundle erlaubt die Verwendung der + Linux~Libertine im Mathematikmodus. Dafüru muss es mit + \Macro*{usepackage}\POParameter{libertine}\PParameter{newtxmath} geladen + werden. + \end{packages} +\item[relsize]\index{Schrift!Größe} + Mit diesem Paket wird es möglich, die Größe eines Textes relativ zur aktuell + gewählten Schriftgröße zu setzen. +\item[textcomp]\index{Sonderzeichen} + Es werden verschiedene zusätzliche Symbole wie beispielsweise das Promille- + oder Eurozeichen sowie Pfeile im Text zur Verfügung gestellt. +\item[spelling] + Wird \hologo{LuaLaTeX} als Prozessor verwendet, können mit diesem Paket + mögliche Rechtschreibfehler im ausgegebenen PDF"~Dokument hervorgehoben werden. +\item[lua-check-hyphen] + Mit diesem Paket lassen sich bei der Verwendung \hologo{LuaLaTeX} Trennstellen + am Zeilenende zur Prüfung markieren. +\end{packages} + +\subsubsection{Die kleinen und großen Helferlein\dots} +Hier taucht alles auf, was sich nicht eignete, in die vorherigen Kategorien +eingeordnet zu werden. +\begin{packages} +\item[calc]\index{Berechnungen} + Normalerweise können Berechnungen nur mit Low-Level-\hologo{TeX}-Primitiven im + Dokument durchgeführt werden. Diese Paket stellt für Rechenoperationen eine + einfachere Syntax bereit. Des Weiteren werden Befehle zur Berechnung der Höhe + und Breite bestimmter Textauszüge definiert. +\item[bookmark] + Dieses Paket verbessert und erweitert die von \Package{hyperref} angebotenen + Möglichkeiten zur Erstellung von Lesezeichen~-- auch Outline"=Einträge~-- im + PDF-Dokument. +\item[varioref] + Mit diesem Paket lassen sich sehr gute Verweise auf Seiten erzeugen. + Insbesondere, wenn der Verweis auf die aktuelle, die vorhergehende oder + nachfolgende sowie im zweiseitigen Satz auf die gegenüberliegende Seite + erfolgt, werden passende Textbausteine für diesen verwendet. +\item[listings]\index{Quelltexte einbinden} + Dieses Paket eignet sich hervorragend zur Quelltextdokumentation in + \hologo{LaTeX}. Es bietet die Möglichkeit, externe Quelldateien einzulesen und + darzustellen. Auch eine Syntaxhervorhebung in Abhängigkeit der verwendeten + Programmiersprache ist für den Quelltext darstellbar. Zusätzlich lässt sich + ein Verzeichnis mit allen eingebundenen und im Dokument direkt angegebenen + Quelltextauszügen kann erstellt werden. +\item[chngcntr]\index{Zählermanipulation} + Das Paket erlaubt die Manipulation aller möglichen, bereits definierten + \hologo{LaTeX}-Zähler. Es können Zähler so umdefiniert werden, dass sie bei + der Änderung eines anderen Zählers automatisch zurückgesetzt werden oder eben + nicht. Ein kleines Beispiel dazu ist in \autoref{sec:tat:counter} zu finden. +\item[coseoul] + Mit diesem Paket kann man die Struktur der Gliederung relativ angeben. Es wird + keine absolute Gliederungsebene (\Macro*{chapter}, \Macro*{section}) angegeben + sondern die Relation zwischen vorheriger und aktueller Ebene + (\Macro*{levelup}, \Macro*{levelstay}, \Macro*{leveldown}). +\item[dprogress]\index{Debugging} + Das Paket schreibt die Gliederung des Dokumentes in die Logdatei. Dies kann + im Fehlerfall beim Auffinden des Problems im Dokument helfen. Allerdings + werden dafür die Gliederungsebenen so umdefiniert, dass diese keine optionalen + Argumente mehr unterstützen,was jedoch für die \TUDScript-Klassen von + essentieller Bedeutung ist. Zu Debugging-Zwecken kann es aber trotzdem + sporadisch eingesetzt werden. +\item[xparse]\index{Befehle!Deklaration} + Diese Paket bietet für die Deklaration eigener Befehlen und Umgebungen einen + alternativen Ansatz zu \Macro*{newcommand} und \Macro*{newenvironment} sowie + deren Derivaten. Mit \Package*{xparse} wird es möglich, (fast) beliebig viele + optionale Argumente an willkürlichen Stellen innerhalb des Befehlskonstruktes + zu definieren. Auch die Verwendung anderer Zeichen als eckige Klammern für die + Spezifizierung eines optionalen Argumentes ist möglich. +\item[filemod] + Wird entweder \hologo{pdfLaTeX} oder \hologo{LuaLaTeX} als Prozessor + eingesetzt, können mit diesem Paket das Änderungsdatum zweier Dateien + miteinander verglichen und in Abhängigkeit davon definierbare Aktionen + ausgeführt werden. +\item[marginnote] + Randnotizen, welche mit \Macro*{marginpar} erzeugt werden, sind spezielle + Gleitobjekte in \hologo{LaTeX}. Dies kann dazu führen, dass eine Notiz am + Blattrand nicht direkt da gesetzt wird, wo diese intendiert war. Dieses Paket + stellt den Befehl \Macro*{marginnote} für nicht"~gleitende Randnotizen zur + Verfügung. Alternativ dazu kann man auch \Package*{mparhack} verwenden. +\item[todonotes] + Mit \Package*{todonotes} können noch offene Aufgaben in unterschiedlicher + Formatierung am Blattrand ausgegeben werden. Es lässt sich daraus auch eine + Liste aller offenen Punkte erzeugen. +\item[etex] + Das Paket kann genutzt werden, falls die standardmäßig maximale Anzahl der + \hologo{LaTeX}-Register für Längen, Zähler etc. überschritten wurde. +\end{packages} + +\subsubsection{Bugfixes} +\begin{packages} +\item[scrhack] + Das Paket behebt Kompatibilitätsprobleme der \KOMAScript-Klassen mit den + Paketen \Package{hyperref}, \Package{float}, \Package{floatrow} und + \Package{listings}. Es ist durchaus empfehlenswert, jedoch sollte man + unbedingt die Dokumentation beachten. +\item[fixltx2e] + Dieses Paket enthält kleinere Bugfixes für \hologo{LaTeXe}. Da diese + Änderungen zu Inkompatibilitäten mit früheren Versionen führen würde, wurden + diese nicht direkt in den \hologo{LaTeXe}-Kernel eingepflegt. +\item[mparhack] + Zur Behebung falsch gesetzter Randnotizen wird ein Bugfix für + \Macro*{marginpar} bereitgestellt. Alternativ dazu kann man auch + \Package*{marginnote} verwenden. +\end{packages} + + +\section{Praktische Tipps \& Tricks}\label{sec:tat} +\subsection{Leer- und Satzzeichen am Ende benutzerdefinierter Befehle}% +\label{sec:tat:xspace} +\index{Typographie} +Normalerweise \enquote{schluckt} \hologo{LaTeX} die Leerzeichen nach einem Makro +ohne Argumente. Dies ist jedoch nicht immer~-- eigentlich in den seltensten +Fällen~-- erwünscht. Für dieses Handbuch ist beispielsweise der Befehl +\Macro*{TUD} definiert worden, um \enquote{\TUD{}} nicht ständig ausschreiben zu +müssen. Um sich bei der Verwendung des Befehl innerhalb eines Satzes sich für +den Erhalt eines folgenden Leerzeichens das Setzen der geschweiften Klammer nach +dem Befehl zu sparen (\Macro*{TUD}\PParameter{}), kann \Macro*{xspace} aus dem +Paket \Package{xspace} genutzt werden. Damit wird ein folgendes Leerzeichen +erhalten. Der Befehl \Macro*{TUD} ist wie folgt definiert: +\begin{code} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\end{code} +Das Paket \Package{xpunctuate} erweitert die Funktionalität nochmals. Damit +können auch Abkürzungen so definiert werden, dass ein versehentlicher Punkt +ignoriert wird: +\begin{code} +\newcommand*\zB{z.\,B\xperiod} +\end{code} + +\subsection{Platzierung von Gleitobjekten}\label{sec:tat:floats} +\index{Gleitobjekte|?} +Die standardmäßige Platzierung von Gleitobjekten wird durch die im Folgenden +aufgezählten Befehle beeinflusst. Diese können mit +\Macro*{renewcommand*}\Parameter{Befehl}\Parameter{Wert} geändert werden. +% +\begin{Declaration}{\Macro{floatpagefraction}}[0\floatpagefraction] +\begin{Declaration}{\Macro{dblfloatpagefraction}}[0\dblfloatpagefraction] +\printdeclarationlist* +% +Der Wert gibt die relative Größe eines Gleitobjektes bezogen auf die Texthöhe +(\Macro*{textheight}) an, die mindestens erreicht sein muss, damit für dieses +gegebenenfalls vor dem Beginn eines neuen Kapitels eine separate Seite erzeugt +wird. Dabei wird einspaltiges (\Macro*{floatpagefraction}) und zweispaltiges +(\Macro*{dblfloatpagefraction}) Layout unterschieden. Der Wert für beide Befehle +sollte im Bereich von \PValue{0.5\dots 0.8} liegen. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{topfraction}}[0\topfraction] +\begin{Declaration}{\Macro{dbltopfraction}}[0\dbltopfraction] +\printdeclarationlist* +% +Diese Werte geben den maximalen Seitenanteil für Gleitobjekte, die am oberen +Seitenrand platziert werden, für einspaltiges und zweispaltiges Layout an. Er +sollte im Bereich von \PValue{0.5\dots 0.8} liegen und größer als +\Macro*{floatpagefraction} beziehungsweise \Macro*{dblfloatpagefraction} sein. +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Macro{bottomfraction}}[0\bottomfraction] +\printdeclarationlist* +% +Dies ist der maximale Seitenanteil für Gleitobjekte, die am unteren Seitenrand +platziert werden. Er sollte zwischen \PValue{0.2} und \PValue{0.5} betragen. +\end{Declaration} + +\begin{Declaration}{\Macro{textfraction}}[0\textfraction] +\printdeclarationlist* +% +Dies ist der Mindestanteil an Text, der auf einer Seite mit Gleitobjekten +vorhanden sein muss, wenn diese nicht auf einer eigenen Seite ausgegeben werden. +Er sollte im Bereich von \PValue{0.1\dots 0.3} liegen. +\end{Declaration} + +\begin{Declaration}{\Counter{totalnumber}}[\arabic{totalnumber}] +\begin{Declaration}{\Counter{topnumber}}[\arabic{topnumber}] +\begin{Declaration}{\Counter{dbltopnumber}}[\arabic{dbltopnumber}] +\begin{Declaration}{\Counter{bottomnumber}}[\arabic{bottomnumber}] +\printdeclarationlist* +% +Außerdem gibt es noch Zähler, welche die maximale Anzahl an Gleitobjekten pro +Seite insgesamt (\Counter*{totalnumber}), am oberen (\Counter*{topnumber}) und +am unteren Rand der Seite (\Counter*{bottomnumber}) sowie im Zweispaltensatz +beide Spalten überspannend (\Counter*{dbltopnumber}) festlegen. Die Werte können +mit \Macro*{setcounter}\Parameter{Zähler}\Parameter{Wert} geändert werden. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Declaration}{\Length{@fptop}} +\begin{Declaration}{\Length{@fpsep}} +\begin{Declaration}{\Length{@fpbot}} +\begin{Declaration}{\Length{@dblfptop}} +\begin{Declaration}{\Length{@dblfpsep}} +\begin{Declaration}{\Length{@dblfpbot}} +\printdeclarationlist* +% +Sind vor Beginn eines Kapitels noch Gleitobjekte verblieben, so werden diese +durch \hologo{LaTeX} normalerweise auf einer separaten vertikal zentriert Seite +ausgegeben. Dabei bestimmen diese Längen jeweils den Abstand vor dem ersten +Gleitobjekt zum oberen Seitenrand (\Length*{@fptop}, \Length*{@dblfptop}), +zwischen den einzelnen Objekten (\Length*{@fpsep}, \Length*{@dblfpsep}) sowie +zum unteren Seitenrand (\Length*{@fpbot}, \Length*{@dblfpbot}). Soll dies nicht +geschehen, können Sie die Längen ändern. +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} +\end{Declaration} + +\begin{Example} +Alle Gleitobjekte auf einer dafür speziell gesetzten Seite sollen direkt zu +Beginn dieser ausgegeben werden. In der Dokumentpräambel kann man dafür +schreiben: +\begin{code} +\makeatletter +\setlength{\@fptop}{0pt} +\setlength{\@dblfptop}{0pt} % twocolumn +\makeatother +\end{code} +\end{Example} + + +\subsection{Automatisiertes Einbinden von \Application{Inkscape}-Grafiken } +\label{sec:tat:svg} +\index{Grafiken} +In \Package{svg-inkscape}\footnote{\url{http://www.ctan.org/pkg/svg-inkscape}} +wir das automatisierte Einbinden von \Application{Inkscape}-Grafiken in ein +\hologo{LaTeX}"=Dokument erläutert. Hier wird ein darauf aufbauender Ansatz +vorgestellt. Die mit \Application{Inkscape} erstellte Grafik soll automatisch +kompiliert und eingebunden werden. Dies soll nicht bei jeder Kompilierung des +Hauptdokumentes erfolgen, sondern lediglich, wenn die originale Bilddatei +aktualisiert wurde. Diese Funktionalität stellt das Paket \Package{filemod} +bereit. Die automatisierte Übersetzung einer Grafik im SVG"~Format in eine +PDF"~Datei und die anschließende Einbindung dieser in das Dokument ist mit der +Definition des Befehls \Macro{includesvg}\OParameter{Breite}\Parameter{Datei} +in der Präambel des Dokumentes wie folgt möglich: +\begin{code}[escapechar=§] +\usepackage{filemod} +\newcommand*{\includesvg}[2][\textwidth]{% + \def\svgwidth{#1} + \filemodCmp{#2.pdf}{#2.svg}{}{% + \immediate\write18{% + inkscape -z -D --file=#2.svg --export-pdf=#2.pdf --export-latex + }% + }% + \input{#2.pdf_tex}% +} +\end{code} +% +Dabei wird mit \Macro*{immediate}\Macro*{write18}\Parameter{externer Aufruf} +das zwischenzeitliche Ausführen eines externen Programms beim Durchlauf von +\hologo{pdfLaTeX}~-- in diesem Fall von \File{inkscape.exe}~-- möglich. Damit +der externe Aufruf auch tatsächlich durchgeführt wird, muss \hologo{pdfLaTeX} +mit der Option \Path{-\/-shell-escape} ausgeführt werden. Außerdem muss der Pfad +zur Datei \File{inkscape.exe} dem System bekannt sein.% +\footnote{% + Genauer gesagt, muss der Pfad zu \File{inkscape.exe} in der + \texttt{PATH}-Variable von Windows enthalten sein. +} +Bei der Verwendung des Befehls \Macro{includesvg} \emph{muss} der Dateiname +ohne Endung angegeben werden. Die einzubindende SVG"~Datei sollte sich hierbei +im gleichen Pfad wie das Hauptdokument befinden. Ist die SVG"~Datei in einem +Unterordner relativ zum Pfad des Hauptdokumentes, kann dieser einfach mit +\Macro{includesvg}\PParameter{\PName{Ordner}/\PName{Datei}} im Argument +angegeben werden. + +\subsection{Setzen von Einheiten mit \Package{siunitx}}\label{sec:tat:siunitx} +\index{Einheiten} +Wenn \Package*{siunitx} in einem deutschsprachigen Dokument genutzt soll +werden, muss zumindest mit \Macro*{sisetup}\PParameter{locale = DE} die richtige +Lokalisierung angegeben werden. Sollen auch die Zahlen richtig formatiert sein, +müssen weitere Einstellungen vorgenommen werden. Die meiner Meinung nach besten +sind die folgenden. +\begin{code} +\sisetup{% + locale = DE,% + input-decimal-markers={,},% + input-ignore={.},% + group-separator={\,},% + group-minimum-digits=3% +} +\end{code} +Das Komma kommt als Dezimaltrennzeichen zum Einsatz. Des Weiteren werden Punkte +innerhalb der Zahlen ignoriert und eine Gruppierung von jeweils drei Ziffern +vorgenommen. Alternativ zu diesem Paket kann übrigens auch \Package{units} +verwendet werden. + + +\subsection{Einrückung der ersten und letzten Tabellenspalte verhindern}% +\label{sec:tat:table} +\index{Tabellen} +Bei Tabellen wird vor und nach Spalte durch \hologo{LaTeX} ein horizontaler +Abstand von \Length{tabcolsep} gesetzt. Dies geschieht auch \emph{vor} der +ersten und \emph{nach} der letzten Spalte. Diese Einrückung an den äußeren +Rändern kann insbesondere bei Tabellen, welche die komplette Seitenbreite +überspannen, stören. + +Bei der Deklaration einer Tabelle kann mit \PValue{@}\PParameter{\dots} vor und +nach dem Spaltentyp angegeben werden, was anstelle von \Length{tabcolsep} vor +beziehungsweise nach der eigentlichen Spalte eingeführt werden soll. Dies kann +man sich wür das Entfernen der Einrückungen zu Nutze machen. + +\begin{Example} +Eine Tabelle mit zwei Spalten, wobei bei einer die Breite automatisch berechnet +wird, soll über die komplette Textbreite gesetzt werden. Dabei soll der Rand vor +der ersten und nach der letzten entfernt werden. +\begin{code}[escapechar=§] +\begin{tabularx}{\textwidth}{@{}lX@{}} +§\dots§ & §\dots§ \tabularnewline +§\dots§ +\end{tabularx} +\end{code} +\end{Example} + +\subsection{Unterbinden des Zurücksetzens von Fußnoten nach Kapiteln}% +\label{sec:tat:counter} +\index{Fußnoten} +Oft taucht die Frage auf, wie man auch über Kapitel fortlaufende Fußnoten +erhalten kann. Dies ist sehr einfach mit dem Paket \Package{chngcntr} möglich. +Nach dem Laden des Paketes, kann das Rücksetzen des Zählers nach einem Kapitel +mit \Macro*{counterwithout*}\PParameter{footnote}\PParameter{chapter} +deaktiviert werden. + +\subsection{Unterdrückung des Einzuges eines Absatzes} +\index{Absatzauszeichnung} +Verwendet man~-- wie es aus typographischer Sicht zumeist sinnvoll ist~-- +Einzüge und keine vertikalen Abstände zur Auszeichnung von Absätzen im Dokument +(\Option{parskip}[false]), kann es vorkommen, dass ein bestimmter Absatz~-- +beispielsweise der nach einer gewissen Umgebung folgende~-- ungewollt eingerückt +ist. Dies kann sehr einfach behoben werden, indem direkt zu Beginn des Absatzes +das Makro \Macro{noindent} verwendet wird. + +\subsection{Warnung über eine zu geringe Höhe der Kopfzeile} +\label{sec:tat:problemA} +Sollten Sie das Paket \Package{scrpage2} zusammen mit \Package{setspace} +verwenden, kann es passieren, dass Sie die folgende Warnung erhalten: +\begin{quote} +\begin{verbatim} +scrpage2 Warning: seems you are using a very small headheight. +\end{verbatim} +\end{quote} +Dies liegt an dem durch den vergrößerten Zeilenabstand erhöhten Bedarf für die +Kopfzeile. In diesem Fall muss die Höhe der Kopfzeile angepasst werden um die +Warnung zu beseitigen. Dafür können Sie \Option{headlines}[\Parameter{Faktor}] +beziehungsweise \Option{headheight}[\Parameter{Länge}] als Klassenoption +angeben~-- wobei standardmäßig \Option{headlines}[1.25] gesetzt ist~-- oder Sie +rufen nach der Änderung des Zeilenabstandes einfach \Macro{recalctypearea} auf. +Ab der \KOMAScript{}-Verion~v3.12 wäre es noch besser, auf \Package{scrpage2} +komplett zu verzichten und stattdessen \Package{scrlayer-scrpage} zu verwenden. + +\subsection{Zeilenabstände in Überschriften} +\label{sec:tat:problemB} +Mit dem Paket \Package{setspace} kann der Zeilenabstand beziehungsweise der +Durchschuss innerhalb des Dokumentes geändert werden. Sollte dieser erhöht +worden sein, können die Abstände bei mehrzeiligen Überschriften als zu groß +erscheinen. Um dies zu korrigieren kann mit dem Befehl \Macro*{addtokomafont}% +\PParameter{disposition}\PParameter{\Macro*{setstretch}\PParameter{1}} der +Zeilenabstand aller Überschriften auf einzeilig zurückgeschaltet werden. Soll +dies nur für eine bestimmte Gliederungsebene erfolgen, so ist +\PParameter{disposition} durch das entsprechende Schriftelement zu ersetzen. + +\subsection{Änderung des Papierformates} +\index{Papierformat} +Es kann vorkommen, dass man innerhalb eines Dokumentes kurzzeitig das +Papierformat ändern möchte, um beispielsweise eine Konstruktionsskizze in der +digitalen PDF"~Datei einzubinden. Dabei ist es sowohl möglich, lediglich die +Ausrichtung mit \Option*{paper}[landscape] in ein Querformat zu ändern, als auch +die Größe des Papierformates selber. +\begin{Example} +Ein Dokument im A4"~Format soll kurzzeitig auf ein A3"=Querformat geändert +werden. Das folgende Minimalbeispiel zeigt, wie das Papierformat mit den Mitteln +von \KOMAScript{} geändert werden kann. +\begin{code} +\documentclass[paper=a4,pagesize]{tudscrreprt} +\usepackage{selinput} +\SelectInputMappings{adieresis={ä},germandbls={ß}} +\usepackage[T1]{fontenc} +\usepackage[ngerman]{babel} +\usepackage{blindtext} + +\begin{document} +\chapter{Überschrift Eins} +\Blindtext + +\cleardoublepage +\storeareas\PotraitArea% speichert den aktuellen Satzspiegel +\KOMAoptions{paper=A3,paper=landscape,DIV=current} +\chapter{Überschrift Zwei} +\Blindtext + +\cleardoublepage +\PotraitArea% lädt den gespeicherten Satzspiegel +\chapter{Überschrift Drei} +\Blindtext +\end{document} +\end{code} +\end{Example} + +\subsection{Finden von unbekannten Symbolen} +\index{Symbole} +Für \hologo{LaTeX} stehen jede Menge Symbole zur Verfügung, die allerdings nicht +immer einfach zu finden sind. Mit der Datei \File{symbols-a4.pdf} werden viele +Symbole aus mehreren Paketen aufgeführt. Allerdings ist das Auffinden eines +speziellen Symbols nicht sehr komfortabel. Alternativ dazu kann der Link +\url{http://detexify.kirelabs.org/classify.html} verwendet werden. Auf dieser +Seite wird das gesuchte Symbol einfach gezeichnet, die dazu ähnlichsten werden +zurückgegeben. + + +\section{Editoren} +\label{sec:tat:editor} +Hier werden die gängigsten Editoren zum Erzeugen von \hologo{LaTeX}"=Dateien +genannt. Ich persönlich bin mittlerweile sehr überzeugter Nutzer von +\Application{\hologo{TeX}studio}, da dieser viele Unterstützungs- und +Assistenzfunktionen bietet. Neben diesen gibt es noch weitere, gut nutzbare +\hologo{LaTeX}-Editoren. Egal, für welchen Editor man sich letztendlich +entscheidet, sollte dieser auf jeden Fall eine Unicode"=Unterstützung enthalten: +% +\begin{itemize} +\item \Application{\hologo{TeX}maker} +\item \Application{Kile} +\item \Application{\hologo{TeX}works} +\item \Application{\hologo{TeX}lipse} -- Plug-in für \Application{Eclipse} +\item \Application{\hologo{TeX}nicCenter} +\item \Application{WinEdt} +\item \Application{LEd} -- früher \hologo{LaTeX}~Editor +\item \Application{\hologo{LyX}} -- grafisches Front"~End für \hologo{LaTeX} +\end{itemize} +% +Unter \url{http://wwwpub.zih.tu-dresden.de/~fahan/tudscr/} werden für den Editor +\Application{\hologo{TeX}studio} zwei CWL"~Dateien zur Erweiterung +der automatischen Befehlsvervollständigung für das \TUDScript-Bundle +bereitgestellt. Außerdem findet man dort die notwendigen Layout-Dateien und ein +Minimalbeispiel für die Verwendung des \TUDScript-Bundles zusammen mit +\hologo{LyX}. Der Inhalt des Archives \File{tudscr4lyx.zip} muss zur Verwendung +dafür in den \hologo{LyX}"=Installationspfad unter +\Path{\dots\textbackslash LyX~2.0\textbackslash Resources\textbackslash layouts} +kopiert werden. + + +\appendix +\chapter{Minimalbeispiele}\label{sec:mwe} +\index{Minimalbeispiel} + +\section{Dokument}%\label{sec:mwe:doc} +\index{Minimalbeispiel!Dokument} +\includeexample{document} + +\section{Dissertation}%\label{sec:mwe:thesis} +\index{Minimalbeispiel!Dissertation} +\includeexample{dissertation} + +\section{Abschlussarbeit (kollaborativ)}\label{sec:mwe:thesis} +\index{Minimalbeispiel!Abschlussarbeit} +\index{Minimalbeispiel!Kollaboratives Schreiben} +Alle zusätzlichen Angaben außerhalb des Argumentes von \Macro{author} werden +für beide Autoren gleichermaßen übernommen.% +\footnote{In diesem Beispiel \Macro{matriculationyear}.} +Die Angaben innerhalb des Argumentes von \Macro{author} werden den jeweiligen, +mit \Macro{and} getrennten Autoren zugeordnet.% +\footnote{% + In diesem Beispiel \Macro{matriculationnumber}, \Macro{dateofbirth} und + \Macro{placeofbirth}. +} +Ohne die Verwendung von \Macro{and} kann natürlich auch nur ein Autor aufgeführt +werden. Außerdem sei auf die Verwendung von \Macro{subject} anstelle von +\Macro{thesis} mit einem speziellen Wert aus \autoref{tab:thesis} hingewiesen. +\includeexample{thesis} + +\section{Aufgabenstellung (kollaborativ)}\label{sec:mwe:task} +\index{Minimalbeispiel!Aufgabenstellung} +\index{Minimalbeispiel!Kollaboratives Schreiben} +\includeexample{task} + +\section{Gutachten}\label{sec:mwe:eval} +\index{Minimalbeispiel!Gutachten} +\includeexample{evaluation} + +\section{Aushang}\label{sec:mwe:note} +\index{Minimalbeispiel!Aushang} +\includeexample{notice} + +\section{Änderung der Trennzeichen im Mathematikmodus}\label{sec:mwe:swap} +\index{Minimalbeispiel!Trennzeichen Mathematikmodus} +Hierfür wird das Paket \Package{mathswap} genutzt. Eine Alternative dazu wäre +das Paket \Package{ionumbers}. +\includeexample{mathswap} + + + +\chapter{Ein Beitrag zum Mathematiksatz in \NoCaseChange{\hologo{LaTeX}}} +\label{sec:mathtype}\index{Mathematiksatz} +Ein guter Mathematiksatz ist in \hologo{LaTeX} durchaus Sisyphusarbeit. Wenn man +microtypografisch alles richtig machen möchte, muss man ziemlich auf der Hut +sein. Generell gilt, dass Variablen kursiv, Bezeichnungen und Konstanten +aufrecht gesetzt werden. Um beschreibende Indizes von Formelzeichen richtig zu +setzen, ist die Nutzung der Befehle \Macro*{mathrm}\PParameter{\dots} und +\Macro*{mathit}\PParameter{\dots} sehr zu empfehlen. Dadurch wird aus: +% +\begin{code} +\begin{equation*} +\begin{gathered} +M_{EM} = \frac{M_{Rad}}{i_g \cdot i_A} - M_{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_{VM}\leq M_{VMmax} \\ +M_{EMmin}\leq M_{EM}\leq M_{EMmax} +\end{aligned} +\end{gathered} +\end{equation*} +\end{code} +\begin{equation*} +\begin{gathered} +M_{EM} = \frac{M_{Rad}}{i_g \cdot i_A} - M_{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_{VM}\leq M_{VMmax} \\ +M_{EMmin}\leq M_{EM}\leq M_{EMmax} +\end{aligned} +\end{gathered} +\end{equation*} +% +mit ziemlich viel Anpassungsarbeit: +% +\begin{code} +\begin{equation*} +\begin{gathered} +M_\mathrm{EM} = \frac{M_\mathrm{Rad}}{i_g \cdot i_A} - M_\mathrm{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_\mathrm{VM}\leq M_\mathrm{VM_{max}} \\ +M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} +\end{code} +\begin{equation*} +\begin{gathered} +M_\mathrm{EM} = \frac{M_\mathrm{Rad}}{i_g \cdot i_A} - M_\mathrm{VM} \\ +\textrm{für } +\begin{aligned} +0\leq M_\mathrm{VM}\leq M_\mathrm{VM_{max}} \\ +M_\mathrm{EM_{min}}\leq M_\mathrm{EM}\leq M_\mathrm{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} +% +Ziemlich viel Arbeit, das sollte sich auf alle Fälle vereinfachen lassen. Zu +diesem Zwecke wird mit \Macro*{ind}\PParameter{\dots} ein Befehl für den +Formelzeichenindex selber definiert. Und danach kann man sich noch beliebige +Befehle für häufig verwendete Ausdrücke schnitzen. Als Beispiel für ein +Drehmoment könnte man folgendes definieren: +% +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} +\begin{code} +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\ensuremath{M\ind{#1}}} +\end{code} +% +und damit diese Ausgabe erzeugen: +% +\begin{code} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM_{max}} \\ +\M{EM_{min}}\leq \M{EM}\leq \M{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} +\end{code} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i_g \cdot i_A} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM_{max}} \\ +\M{EM_{min}}\leq \M{EM}\leq \M{EM_{max}} +\end{aligned} +\end{gathered} +\end{equation*} +% +Netter Nebeneffekt ist, dass man aufgrund der Verwendung von +\Macro*{ensuremath}\PParameter{\dots} nun diesen Befehl auch im Fließtext +verwenden kann, beispielsweise wie hier \M{VM_{ind}} +(\Macro*{M}\PParameter{VM\_{ind}}) für das induzierte Moment einer +Verbrennungskraftmaschine. + +Möchte man es sich noch bequemer machen, strikt man sich noch eine Lösung, in +der man -- im Gegensatz zum \hologo{LaTeX}"=Standardfall -- \textbf{nach} dem +obligatorischen Argument noch ein optionales für einen weiteren Index angeben +kann, um damit der üblichen Schreibweise zu entsprechen. Das ist aber ehrlich +gesagt nur noch ein wenig Spielerei und soll zeigen, wie so etwas prinzipiell +funktioniert. Es wird der Befehl \Macro*{M} so definiert, das dieser entweder in +der Form \Macro*{M}\Parameter{Index} oder aber in der Variante +\Macro*{M}\Parameter{Index}\OParameter{Indexindex} genutzt werden kann. +\makeatletter +\let\ind\undefined % Ausgangszustand herstellen, nicht übernehmen +\let\M\undefinied % Ausgangszustand herstellen, nicht übernehmen +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\@ifnextchar[%] + {\o@M{#1}}{\n@M{#1}}% +} +\newcommand*{\n@M}{} +\newcommand*{\o@M}{} +\def\n@M#1{\ensuremath{M\ind{#1}}} +\def\o@M#1[#2]{\ensuremath{M\ind{#1_{#2}}}} +\makeatother +\begin{code} +\makeatletter +\newcommand*{\ind}[1]{\ensuremath{_\mathrm{#1}}} +\newcommand*{\M}[1]{\@ifnextchar[%] + {\o@M{#1}}{\n@M{#1}}% +} +\newcommand*{\n@M}{} +\newcommand*{\o@M}{} +\def\n@M#1{\ensuremath{M\ind{#1}}} +\def\o@M#1[#2]{\ensuremath{M\ind{#1_{#2}}}} +\makeatother +\end{code} +% +Zum Schluss noch einmal die entwickelte Variante in Quelltext und Ausgabe: +% +\noindent +\begin{code} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i\ind{G} \cdot i\ind{A}} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM}[max] \\ +\M{EM}[min]\leq \M{EM}\leq \M{EM}[max] +\end{aligned} +\end{gathered} +\end{equation*} +\end{code} +\begin{equation*} +\begin{gathered} +\M{EM} = \frac{\M{Rad}}{i\ind{G} \cdot i\ind{A}} - \M{VM} \\ +\textrm{für } +\begin{aligned} +0\leq \M{VM}\leq \M{VM}[max] \\ +\M{EM}[min]\leq \M{EM}\leq \M{EM}[max] +\end{aligned} +\end{gathered} +\end{equation*} + + +\Index{Optionen}{options}% +\Index{Befehle}{macros}% +\Index{Umgebungen}{macros}% +\Index{Parameter}{keys}% +\Index[Bezeichner!Übersicht]{Bezeichner}{terms}% +%\Index{Schriftelemente}{fonts}% +\Index[Farben!Übersicht]{Farben}{colors}% +\Index[Dateien]{Dateien etc.}{files}% +\Index[Pakete]{Dateien etc.}{files}% +\Index[Klassen]{Dateien etc.}{files}% +\index{Abbildungen|see{Grafiken}}% +\index{Abkürzungsverzeichnis|see{Verzeichnisse}}% +\index{Aktualisierung|see{Update}}% +\index{Aufzählungen|see{Listen}}% +\index{Befehle!Befehlsparameter|see{Parameter}}% +\index{Cover|see{Umschlagseite}}% +\index{Dezimaltrennzeichen|see{Trennzeichen}}% +\index{Distribution!\hologo{TeX}~Live|see{\hologo{TeX}~Live~{\protect\idxfont(Distribution)}}} +\index{Distribution!\hologo{MiKTeX}|see{\hologo{MiKTeX}~{\protect\idxfont(Distribution)}}} +\index{Fachreferent|see{Referent}}% +\index{Farbraum|see{Farben!Farbmodell}}% +\index{Formelzeichenverz.|see{Verzeichnisse}}% +\index{Glossar|see{Verzeichnisse}}% +\index{Grafiken!Beschriftung|see{Gleitobjekte}} +\index{Großbuchstaben|see{Schriftauszeichnung}}% +\index{Klassenoptionen|see{Optionen}}% +\index{Kleinbuchstaben|see{Schriftauszeichnung}}% +\index{Kurzfassung|see{Zusammenfassung}}% +\index{Literaturverzeichnis|see{Verzeichnisse}}% +\index{Lokalisierung|see{Bezeichner}}% +\index{Majuskeln|see{Schriftauszeichnung}}% +\index{Mathematiksatz!Einheiten|see{Einheiten}} +\index{Mathematiksatz!Trennzeichen|see{Trennzeichen}} +\index{Minuskeln|see{Schriftauszeichnung}}% +\index{Outline-Eintrag|see{Lesezeichen}}% +\index{Professor|see{Hochschullehrer}}% +\index{Quelltextverzeichnis|see{Verzeichnisse}}% +\index{Seitenränder|see{Satzspiegel}} +\index{Silbentrennung|see{Worttrennung}}% +\index{Sprachunterstützung!Lokalisierung|see{Bezeichner}}% +\index{Sprachunterstützung!Worttrennung|see{Worttrennung}}% +\index{Sprungmarken|see{Lesezeichen}} +\index{Symbolverzeichnis|see{Verzeichnisse}}% +\index{Tabellen!Beschriftung|see{Gleitobjekte}} +\index{Tausendertrennzeichen|see{Trennzeichen}}% +\index{Trennmuster|see{Worttrennung}}% +\index{Umgebungen!Umgebungsparameter|see{Parameter}}% +\index{Vakatseiten|see{Leerseiten}}% +\index{Vektorgrafiken|see{Grafiken}}% + +\setchapterpreamble{% + \begin{abstract} + \noindent Die Formatierung der Einträge in allen aufgeführten Indizes ist + folgendermaßen aufzufassen: \textbf{Zahlen in fetter Schrift} verweisen auf + die \textbf{Erklärung} zu einem Stichwort, wobei in der digitalen Fassung + dieses Handbuchs dieser Eintrag selbst ein Hyperlink zu seiner Erläuterung + ist. Seitenzahlen in normaler Schriftstärke hingegen deuten auf zusätzliche + Informationen, wobei diese für \textit{kursiv hervorgehobene Zahlen} als + besonders \textit{wichtig} erachtet werden. + + Bei Einträgen für \hyperref[idx:options]{Klassen- und Paketoptionen} + beziehungsweise für \hyperref[idx:macros]{Umgebungen und Befehle}, zu denen + keine direkte \textbf{Erklärung} gegeben ist sondern lediglich zusätzliche + Hinweise vorhanden sind, handelt es sich um \KOMAScript"=Optionen. Diese sind + gegebenenfalls im dazugehörigen Handbuch nachzulesen (\File{scrguide.pdf}). + \end{abstract} +} +\addchap{\indexname} +\let\umlautshack\relax +\pagestyle{myheadings} +\markboth{\indexname}{\indexname} +\PrintIndex +%\PrintChangelog +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/doc/tudscrman.xdy b/Master/texmf-dist/doc/latex/tudscr/doc/tudscrman.xdy new file mode 100644 index 00000000000..87f3692d4e0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/doc/tudscrman.xdy @@ -0,0 +1,20 @@ +(require "texindy.xdy") +;;; (require "ff-ranges.xdy") +;;; kein Markup der "f" über :attr möglich +(define-location-class "arabic-page-numbers" + ("arabic-numbers") :min-range-length 1) +(markup-range :sep "--") +(merge-rule "\[(.*)\]" "" :eregexp) +(merge-rule "\\hologo\{(.*)\}" "/1" :eregexp) +(markup-attribute-group-list :sep ", ") +;;; (define-attributes (("declare" "!") ("important" "?") ("default"))) +(define-attributes (("declare" "!" "important" "?" "default"))) +(merge-to "important" "default") +(merge-to "?" "default") +(markup-locref :open "\textbf{\hyperpage{" :close "}}" :attr "declare") +(markup-locref :open "\textbf{\hyperpage{" :close "}}" :attr "!") +(markup-locref :open "\textit{\hyperpage{" :close "}}" :attr "important") +(markup-locref :open "\textit{\hyperpage{" :close "}}" :attr "?") +(markup-locref :open "\hyperpage{" :close "}" :attr "default") +(markup-locclass-list :open "\,\dotfill\,") +;;; (markup-crossref-list :class "see" :open "\hypersee{" :sep "; " :close "}")
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/tudscr/examples/dissertation.pdf b/Master/texmf-dist/doc/latex/tudscr/examples/dissertation.pdf Binary files differnew file mode 100644 index 00000000000..86e42da4836 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/examples/dissertation.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/examples/document.pdf b/Master/texmf-dist/doc/latex/tudscr/examples/document.pdf Binary files differnew file mode 100644 index 00000000000..724d592ebb0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/examples/document.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/examples/evaluation.pdf b/Master/texmf-dist/doc/latex/tudscr/examples/evaluation.pdf Binary files differnew file mode 100644 index 00000000000..3f5671395d0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/examples/evaluation.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/examples/mathswap.pdf b/Master/texmf-dist/doc/latex/tudscr/examples/mathswap.pdf Binary files differnew file mode 100644 index 00000000000..23351d8d472 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/examples/mathswap.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/examples/notice.pdf b/Master/texmf-dist/doc/latex/tudscr/examples/notice.pdf Binary files differnew file mode 100644 index 00000000000..272889c0f6b --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/examples/notice.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/examples/task.pdf b/Master/texmf-dist/doc/latex/tudscr/examples/task.pdf Binary files differnew file mode 100644 index 00000000000..e02caa41f2c --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/examples/task.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/examples/thesis.pdf b/Master/texmf-dist/doc/latex/tudscr/examples/thesis.pdf Binary files differnew file mode 100644 index 00000000000..a240663b6dd --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/examples/thesis.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf b/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf Binary files differnew file mode 100644 index 00000000000..d36b7031aa1 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tudscr.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscr_print.pdf b/Master/texmf-dist/doc/latex/tudscr/tudscr_print.pdf Binary files differnew file mode 100644 index 00000000000..5144ff3e98a --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tudscr_print.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscrsource.pdf b/Master/texmf-dist/doc/latex/tudscr/tudscrsource.pdf Binary files differnew file mode 100644 index 00000000000..fc76465d528 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tudscrsource.pdf diff --git a/Master/texmf-dist/doc/latex/tudscr/tudscrsource.tex b/Master/texmf-dist/doc/latex/tudscr/tudscrsource.tex new file mode 100644 index 00000000000..80fd7cf6707 --- /dev/null +++ b/Master/texmf-dist/doc/latex/tudscr/tudscrsource.tex @@ -0,0 +1,56 @@ +\begingroup + \def\ProvidesFile#1[#2]{\csname endinput\endcsname}% + \input tudscr-version.dtx + \gdef\filename{\jobname} +\endgroup +\ProvidesFile{tudscrsource.tex}[\TUDVersion (sourcedoc)] +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\documentclass[final]{tudscrdoc} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscrsource.tex} +\usepackage{bookmark} +\KOMAoptions{parskip=half-} +\begin{document} +\title{\LaTeX{}-Vorlagen im Corporate Design der Technischen Universität Dresden + \\basierend auf \KOMAScript{} v3.11b} +\subtitle{Dokumentierter Quelltext} +\date{\filedate\\[1ex] Version \fileversion} +\author{Falk Hanisch\footnote{\filemail}} +\maketitle +\begin{abstract} +\KOMAoptions{parskip=half-} +\noindent Dies ist die Dokumentation der \LaTeX{}"=Implementierung des +Corporate Designs der Technischen Universität Dresden in unterschiedliche +Formatvorlagen. Die Vorlagen basieren auf den modernen \KOMAScript{}-Klassen +und sind sehr eng mit diesen verwoben. Sie sollen die alten, auf den +Standard-\LaTeX{}-Klassen basierenden Vorlagen\footnote{aktuell ist dies +\cls{tudbook}, geplant \cls{tudfax}, \cls{tudletter}, \cls{tudform}, +\cls{tudhaus} und evtl. auch \cls{tudbeamer}} von Klaus Bergmann ersetzen. + +Es handelt sich bei diesem Dokument \emph{nicht} um das Anwenderhandbuch +\texttt{tudscr.pdf}. Dieses ist -- nach einer erfolgreichen Installation des +Bundles -- beispielsweise durch den Konsolenaufruf \texttt{texdoc tudscr} zu +finden. +\end{abstract} +\tableofcontents +\clearpage +\DocInclude{tudscr-version} +\DocInclude{tudscr-base} +\DocInclude{tudscr-fields} +\DocInclude{tudscr-locale} +\DocInclude{tudscr-fonts} +\DocInclude{tudscr-pagestyle} +\DocInclude{tudscr-layout} +\DocInclude{tudscr-title} +\DocInclude{tudscr-frontmatter} +\DocInclude{tudscr-misc} +\DocInclude{tudscr-color} +\DocInclude{tudscr-supervisor} +\DocInclude{tudscr-comp} +\DocInclude{tudscr-twocolfix} +\DocInclude{tudscr-mathswap} +\PrintIndex +\PrintChanges +\end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx new file mode 100644 index 00000000000..28e7a0aac66 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-base.dtx @@ -0,0 +1,532 @@ +% \CheckSum{265} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-base.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-base.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (basefile)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-base.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Grundlegende Befehle und Pakete} +% +% Für die Erstellung der Wrapper-Klassen werden die dafür benötigten Pakete +% eingebunden und Steuerungsbefehle definiert. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class> +% \fi +% +% \subsection{Laden des Pakets} +% Die Klassen benötigen das Paket und laden dieses auch. +% \begin{macrocode} +\RequirePackage{tudscrbase}[\TUDVersion] +% \end{macrocode} +% +% \iffalse +%</class> +%<*package&header> +% \fi +% +% \subsection{Identifizierung des Pakets \pkg{tudscrbase}} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrbase}[% + \TUDVersion\space package (TUD-KOMA-Script-dependent basics and keyval usage)% +] +% \end{macrocode} +% +% \iffalse +%</package&header> +%<*package&body> +% \fi +% +% \subsection{Das Paket \pkg{tudscrbase}} +% +% Das Paket \pkg{scrbase} wird zur Optionsdefinition benötigt. +% \begin{macrocode} +\RequirePackage{scrbase} +% \end{macrocode} +% Das Paket \pkg{kvsetkeys} erweitert \pkg{keyval} um die Möglichkeit, das +% Verhalten bei der Angabe eines nicht definierten Schlüssels festzulegen. +% \begin{macrocode} +\RequirePackage{kvsetkeys} +% \end{macrocode} +% Das Paket \pkg{etoolbox} wird für die Manipulation bereits definierter +% Makros sowie zur erweiterten Auswertung boolescher Ausdrücke benötigt. +% \begin{macrocode} +\RequirePackage{etoolbox} +% \end{macrocode} +% +% \subsubsection{Robuster Test auf leeres Argument} +% +% \begin{macro}{\ifxblank} +% Hiermit kann ein Argument geprüft werden, ob dieses blank ist (leer oder +% Leerzeichen). In seiner Syntax ist er identisch zu \cs{ifblank}, allerdings +% expandiert er im Gegensatz zu diesem das gegebene Argument. +% \begin{macrocode} +\newcommand*\ifxblank{\expandafter\ifblank\expandafter} +% \end{macrocode} +% \end{macro}^^A \ifxblank +% +% \subsubsection{Robuster Test auf numerischen Ausdruck} +% +% \begin{macro}{\ifxnumber} +% Dieser Befehl dient zum Testen, ob ein gegebenes Argument eine Zahl ist. +% Die Syntax lautet: \cs{ifxnumber}\marg{Argument}\marg{Wahr}\marg{Falsch} +% \begin{macrocode} +\newcommand*\ifxnumber[1]{% + \if\relax\detokenize\expandafter{\romannumeral-0#1}\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \ifxnumber +% +% \subsubsection{Schlüssel und Parameter für die Wrapper-Klassen} +% +% \todo[v3.12]{FamilyKeyState} +% \begin{macro}{\TUDProcessOptions} +% \begin{macro}{\TUDExecuteOptions} +% \begin{macro}{\TUDDefaultOptions} +% \begin{macro}{\TUDoptions} +% \begin{macro}{\TUDoption} +% \begin{macro}{\TUD@noworlater} +% \begin{macro}{\TUD@key} +% \begin{macro}{\TUD@@key} +% \begin{macro}{\TUD@@@key} +% \begin{macro}{\TUD@ifkey} +% \begin{macro}{\TUD@set@ifkey} +% \begin{macro}{\TUD@numkey} +% \begin{macro}{\TUD@set@numkey} +% \begin{macro}{\TUD@unknown@keyval} +% In Anlehnung an \KOMAScript{} werden hier Befehle zur Definition und +% Ausführung unterschiedlicher Klassenoptionen mithilfe der Funktionen aus +% dem \pkg{scrbase}-Paket erstellt. Klassenoptionen können entweder als +% Schalter (\cs{TUD@ifkey}) oder aber mit mehreren möglichen Werten +% (\cs{TUD@numkey}) definiert werden. Die Grundeinstellungen für alle +% \cls{tudscr}-Klassen werden in \cs{TUDDefaultOptions} hinterlegt. +% \begin{macrocode} +\DefineFamily{TUD} +\newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}} +\newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}} +\newcommand*\TUDDefaultOptions{cd,cdfont,tudbookmarks} +\newcommand*\TUDoptions{\FamilyOptions{TUD}} +\newcommand*\TUDoption{\FamilyOption{TUD}} +\newcommand*\TUD@noworlater{\AtEndOfClass} +\AtEndOfClass{\let\TUD@noworlater\@firstofone} +\newcommand*\TUD@key[2][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \@ifnextchar[%] + {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}% +} +\def\TUD@@key[#1]#2[#3]#4{% + \DefineFamilyKey[#1]{TUD}{#2}[{#3}]{\TUD@noworlater{#4}}% +} +\def\TUD@@@key[#1]#2#3{% + \DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}% +} +\newcommand*\TUD@ifkey[1][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \FamilyBoolKey[#1]{TUD}% +} +\newcommand*\TUD@set@ifkey{\FamilySetBool{TUD}} +\newcommand*\TUD@numkey[1][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \FamilyNumericalKey[#1]{TUD}% +} +\newcommand*\TUD@set@numkey{\FamilySetNumerical{TUD}} +\newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}} +% \end{macrocode} +% \end{macro}^^A \TUD@unknown@keyval +% \end{macro}^^A \TUD@set@numkey +% \end{macro}^^A \TUD@numkey +% \end{macro}^^A \TUD@set@ifkey +% \end{macro}^^A \TUD@ifkey +% \end{macro}^^A \TUD@@@key +% \end{macro}^^A \TUD@@key +% \end{macro}^^A \TUD@key +% \end{macro}^^A \TUD@noworlater +% \end{macro}^^A \TUDoption +% \end{macro}^^A \TUDoptions +% \end{macro}^^A \TUDDefaultOptions +% \end{macro}^^A \TUDExecuteOptions +% \end{macro}^^A \TUDProcessOptions +% \begin{macro}{\TUD@key@lock} +% \begin{macro}{\TUD@std@ifkey@lock} +% \begin{macro}{\TUD@std@numkey@lock} +% \begin{macro}{\TUD@set@ifkey@lock} +% \begin{macro}{\TUD@set@numkey@lock} +% Da sich die Klassenoptionen teilweise selbst gegenseitig beeinflussen oder +% aber in bestimmten Fällen eine Option in Abhängigkeit von einer anderen +% unterschiedliche Standardwerte annehmen soll, wird dafür eine Möglichkeit +% geschaffen. Dabei kann der Nutzer jederzeit einen von einer Option abhängigen +% Standardwert einer Klassenoption überschreiben. Die Klassenoptionen selber +% werden intern mit dem Befehl \cs{TUD@key@lock} definiert und die Standardwerte +% sowie deren Manipulation innerhalb der Optionen mit \cs{TUD@std@ifkey@lock} +% bzw. \cs{TUD@std@numkey@lock} gesetzt. Mit \cs{TUD@set@ifkey@lock} und +% \cs{TUD@set@numkey@lock} werden bei der expliziten Anwendung einer Option +% durch den Nutzer die entsprechenden Werte geändert und gegen ein internes +% Überschreiben gesperrt. +% \begin{macrocode} +\newcommand*\TUD@key@lock[2][.\@currname.\@currext]{% +% \end{macrocode} +% Basierend auf dem Namen des Schalters wird die notwendige, boolesche Variable +% erzeugt (\cs{if@tud@\meta{Schaltername}@lock}), welche im Falle des direkten +% Aufrufs des Schlüssels durch den Anwender, ein internes Überschreiben +% verhindert. +% \begin{macrocode} + \newbool{@tud@#2@locked}% + \TUD@key[{#1}]{#2}% +} +% \end{macrocode} +% Es kann intern über \cs{if\meta{Schaltername}@lock} geprüft werden, ob einem +% mit Schlüssel, der mit \cs{TUD@key@lock} definiert wurde, durch den Anwender +% ein explizites Verhalten zugewiesen wurde. Sollte dies nicht der Fall sein, +% kann dieser hiermit intern beliebig angepasst werden. Da es durch das Setzen +% der Option mit \cs{TUDoption} zu einer Sperrung kommt, muss diese folgend +% wieder rückgängig gemacht werden. +% \begin{macrocode} +\newcommand*\TUD@std@ifkey@lock[2]{% + \ifbool{@tud@#1@locked}{}{% + \TUDoption{#1}{#2}% + \boolfalse{@tud@#1@locked}% + }% +} +\let\TUD@std@numkey@lock\TUD@std@ifkey@lock +\newcommand*\TUD@set@ifkey@lock[1]{% + \booltrue{@tud@#1@locked}% + \TUD@set@ifkey{#1}% +} +\newcommand*\TUD@set@numkey@lock[1]{% + \booltrue{@tud@#1@locked}% + \TUD@set@numkey{#1}% +} +% \end{macrocode} +% \end{macro}^^A \TUD@set@numkey@lock +% \end{macro}^^A \TUD@set@ifkey@lock +% \end{macro}^^A \TUD@std@numkey@lock +% \end{macro}^^A \TUD@std@ifkey@lock +% \end{macro}^^A \TUD@key@lock +% \begin{macro}{\csdef@lock} +% \begin{macro}{\csstd@lock} +% \begin{macro}{\csset@lock} +% Mit \cs{csdef@lock}\marg{Name}\marg{Definition} kann ein Befehl definiert +% werden, welcher intern nur mit \cs{csstd@lock}\marg{Name}\marg{Definition} +% geschrieben wird, wenn nicht über eine entsprechende Option ein explizites +% Verhalten mit \cs{csset@lock}\marg{Name}\marg{Definition} zugewiesen wurde. +% Dies ist äquivalent zu \cs{TUD@std@ifkey@lock} und \cs{TUD@set@ifkey@lock} +% bzw. \cs{TUD@std@numkey@lock} und \cs{TUD@set@numkey@lock} +% \begin{macrocode} +\newcommand*\csdef@lock[2]{% + \csdef{#1}{#2}% + \newbool{#1@locked}% +} +\newcommand*\csstd@lock[2]{% + \ifbool{#1@locked}{}{% + \csdef{#1}{#2}% + \boolfalse{#1@locked}% + }% +} +\newcommand*\csset@lock[2]{% + \csdef{#1}{#2}% + \booltrue{#1@locked}% +} +% \end{macrocode} +% \end{macro}^^A \csset@lock +% \end{macro}^^A \csstd@lock +% \end{macro}^^A \csdef@lock +% \begin{macro}{\newbool@lock} +% \begin{macro}{\stdbool@lock} +% \begin{macro}{\setbool@lock} +% Diese Makros dienen in Anlehnung an die vorherigen zum Definieren und Setzen +% von sperrbaren booleschen Schaltern. +% \begin{macrocode} +\newcommand*\newbool@lock[2][false]{% + \newbool{#2}% + \newbool{#2@locked}% + \setbool{#2}{#1}% +} +\newcommand*\stdbool@lock[2]{% + \ifbool{#1@locked}{}{% + \setbool{#1}{#2}% + \boolfalse{#1@locked}% + }% +} +\newcommand*\setbool@lock[2]{% + \setbool{#1}{#2}% + \booltrue{#1@locked}% +} +% \end{macrocode} +% \end{macro}^^A \setbool@lock +% \end{macro}^^A \stdbool@lock +% \end{macro}^^A \newbool@lock +% \begin{macro}{\tud@cmd@store} +% \begin{macro}{\tud@cmd@reset} +% \begin{macro}{\tud@cmd@use} +% \begin{macro}{\tud@cmd@restore} +% Mit diesen beiden Befehlene wird es möglich, Originalbefehle sichern, nutzen +% und wiederherstellen zu können. Dies wird benötigt, um zwischen den einzelnen +% Layouts über Optionseinstellungen zu wechseln und dabei von einem definierten +% Anfangszustand auszugehen. Mit dem Aufruf \cs{tud@cmd@store}\marg{Befehlsname} +% wird der angegebene Befehl in einem neuen Makro \cs{@@tud@\meta{Befehlsname}} +% gespeichert. Der Originalbefehl kann als solcher weiterhin mit dem Befehl +% \cs{tud@cmd@use}\marg{Befehlsname} genutzt werden. Das Makro +% \cs{tud@cmd@reset}\marg{Befehlsname} setzt den Originalbefehl zurück. Durch +% \cs{tud@cmd@restore}\marg{Befehlsname} wird das mit \cs{tud@cmd@store} +% erstellte Hilfsmakro zusätzlich noch gelöscht. +% \begin{macrocode} +\newcommand*\tud@cmd@store[1]{% + \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}% +} +\newcommand*\tud@cmd@reset[1]{% + \ifcsdef{@@tud@#1}{% + \csletcs{#1}{@@tud@#1}% + }{}% +} +\newcommand*\tud@cmd@use[1]{% + \ifcsdef{@@tud@#1}{\@nameuse{@@tud@#1}}{\@nameuse{#1}}% +} +\newcommand*\tud@cmd@restore[1]{% + \ifcsdef{@@tud@#1}{% + \csletcs{#1}{@@tud@#1}% + \csundef{@@tud@#1}% + }{}% +} +% \end{macrocode} +% \end{macro}^^A \tud@cmd@restore +% \end{macro}^^A \tud@cmd@use +% \end{macro}^^A \tud@cmd@reset +% \end{macro}^^A \tud@cmd@store +% \begin{macro}{\tud@patch@wrn} +% Dieses Makro wird verwendet, wenn mit den Mitteln von \pkg{etoolbox} bereits +% vorhandene Befehle angepasst werden sollen (\cs{apptocmd}, \cs{pretocmd}, +% \cs{patchcmd}) und dies nicht gelingt. +% \begin{macrocode} +\newcommand*\tud@patch@wrn[1]{% + \ClassWarning{\tudcls@name}{% + It wasn't possible to patch '#1'.\MessageBreak% + Please contact the author via \filemail.\MessageBreak% + Without a bugfix an erroneous output\MessageBreak% + may occur. + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@patch@wrn +% \begin{macro}{\TUD@parameter} +% \begin{macro}{\TUD@parameter@family} +% \begin{macro}{\TUD@parameter@checkfamily} +% Mit \cs{TUD@parameter}\marg{Familienname}\marg{Definitionen} können +% Schlüssel"=Wert"=Parameter für die optionalen Argumente von Befehle definiert +% werden. Das erste Argument definiert den Familiennamen für den jeweiligen +% Befehl, welcher eindeutig gewählt werden sollte. Dieser wird im Hilfsmakro +% \cs{TUD@parameter@family} gesichert. Dies soll im Zusammenspiel mit dem +% Makro \cs{TUD@parameter@checkfamily} dafür sorgen, dass die im Folgenden +% bereitgestellten Befehle\footnote{\cs{TUD@parameter@define}, +% \cs{TUD@parameter@let}, \cs{TUD@parameter@sethandler}, +% \cs{TUD@parameter@set}}~-- welche die eigentliche Definition der Parameter +% für den Benutzer bewerkstelligen~-- nur innerhalb des zweiten Argumentes von +% \cs{TUD@parameter} verwendet werden können. +% \begin{macrocode} +\newcommand*\TUD@parameter@family{}% +\newcommand*\TUD@parameter[2]{% + \ifxblank{#1}{}{\xdef\TUD@parameter@family{#1}}% + #2% + \global\let\TUD@parameter@family\relax% +} +\let\TUD@parameter@family\relax% +% \end{macrocode} +% Dieser Befehl prüft, ob eine Familie für den Paramter definiert wurde. +% \begin{macrocode} +\newcommand*\TUD@parameter@checkfamily[1]{% + \ifx\TUD@parameter@family\relax% + \PackageError{tudscrbase}{% + No family for keys given. + }{% + You have to use \string#1\space within the\MessageBreak% + second argument of \string\TUD@parameter. The first \MessageBreak% + argument of \string\TUD@parameter\space has to be a unique family name. + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \TUD@parameter@checkfamily +% \end{macro}^^A \TUD@parameter@family +% \end{macro}^^A \TUD@parameter +% \begin{macro}{\TUD@parameter@define} +% \begin{macro}{\TUD@parameter@let} +% \begin{macro}{\TUD@parameter@sethandler} +% \cs{TUD@parameter@define}\marg{Name}\oarg{Säumniswert}\marg{Verarbeitung} +% nutzt \cs{define@key} aus dem \pkg{keyval}"=Paket, um einen Schlüssel und +% dessen Verarbeitung zu definieren, wobei auf den zugewiesenen Wert innerhalb +% des zweiten obligatorischen Argumentes mit \texttt{\#1} zugegriffen werden +% kann. +% \begin{macrocode} +\newcommand*\TUD@parameter@define[1][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@define}% + \expandafter\define@key\expandafter{\TUD@parameter@family}% + }{% + \expandafter\define@key\expandafter{#1}% + }% +} +% \end{macrocode} +% Mit \cs{TUD@parameter@let}\marg{Name}\marg{Name} kann äquivalent zur +% \mbox{\TeX-Primitive \cs{let}} die Definition der Verarbeitung eines +% Parameters auf einen weiteren übertragen werden. +% \begin{macrocode} +\newcommand*\TUD@parameter@let[3][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@let}% + \@expandtwoargs{\csletcs}% + {KV@\TUD@parameter@family @#2}{KV@\TUD@parameter@family @#3}% + }{% + \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}% + }% +} +% \end{macrocode} +% Außerdem kann durch \cs{TUD@parameter@sethandler}\marg{Verarbeitung} definiert +% werden, wie verfahren werden soll, wenn ein optionales Argument im klasischen +% \LaTeX-Stil und nicht in der Schlüssel"=Wert"=Syntax angegeben wird. Auf das +% optionale Argument wird ganz normal mit \texttt{\#1} zugegriffen. +% \begin{macrocode} +\newcommand*\TUD@parameter@sethandler[1][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@sethandler}% + \expandafter\kv@set@family@handler\expandafter{\TUD@parameter@family}% + }{% + \expandafter\kv@set@family@handler\expandafter{#1}% + }% +} +% \end{macrocode} +% \end{macro}^^A \TUD@parameter@sethandler +% \end{macro}^^A \TUD@parameter@let +% \end{macro}^^A \TUD@parameter@define +% \begin{macro}{\TUD@parameter@set} +% Mit \cs{TUD@parameter@set}\oarg{Familienname}\marg{Parameterliste} wird die +% Verarbeitung aller gegebenen Parameter veranlasst. Normalerweise wird dieser +% Befehl innerhalb des zweiten Argumentes von \cs{TUD@parameter} verwendet. +% Alternativ dazu kann die gewünschte Familie im optionalen Argument angegeben +% werden. +% \begin{macrocode} +\newcommand*\TUD@parameter@set[1][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@set}% + \expandafter\kvsetkeys\expandafter{\TUD@parameter@family}% + }{% + \expandafter\kvsetkeys\expandafter{#1}% + }% +} +% \end{macrocode} +% \end{macro}^^A \TUD@parameter@set +% \begin{macro}{\TUD@parameter@wrn} +% Das Makro \cs{TUD@parameter@wrn}\marg{Parameter}\marg{Werteliste} gibt für +% den Fall einer ungültigen Wertzuweisung an einen bestimmten \meta{Parameter} +% eine Warnung mit einem entsprechenden Hinweis auf gültige Werte innerhalb von +% \meta{Werteliste} aus. +% \begin{macrocode} +\newcommand*\TUD@parameter@wrn[2]{% + \ClassWarning{\tudcls@name}{% + Parameter '#1' can only be used with these values:\MessageBreak% + #2% + }% +} +% \end{macrocode} +% \end{macro}^^A \TUD@parameter@wrn +% +% \iffalse +%</package&body> +%<*titlepage> +% \fi +% +% \subsubsection{Schlüssel und Befehle für das \pkg{titlepage}-Paket} +% +% Als erstes wird die Familie für das \pkg{titlepage}"=Paket definiert. +% \begin{macrocode} +\DefineFamilyMember[TU-Dresden]{title} +% \end{macrocode} +% Für den Fall, dass das \pkg{titlepage}-Paket ohne \KOMAScript-Klassen genutzt +% wird, müssen die entsprechenden Befehle trotzdem funktionieren. +% \begin{macrocode} +\providecommand*\newkomafont[2]{% + \expandafter\newcommand\expandafter*\csname @#1font\endcsname{#2}% +} +\providecommand*\usekomafont[1]{% + \scr@ifundefinedorrelax{@#1font}{}{\csname @#1font\endcsname}% +} +\providecommand*\addtokomafont[2]{% + \scr@ifundefinedorrelax{@#1font}{% + \newkomafont{#1}{#2}% + }{% + \expandafter\l@addto@macro\csname @#1font\endcsname{#2}% + }% +} +% \end{macrocode} +% +% \iffalse +%</titlepage> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx new file mode 100644 index 00000000000..08f0f99b1bc --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-color.dtx @@ -0,0 +1,448 @@ +% \CheckSum{241} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-color.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-color.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (colors)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-color.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Die Farben des \CDs} +% +% Das \CD der Technischen Universität Dresden legt nicht nur die zu nutzenden +% Schriften und das Layout sondern auch die zu verwendenden Farben fest. Diese +% werden nachfolgend für das CMYK"~ und RGB"~Farbmodel definiert. Sie können im +% Dokument mit sämtlichen Befehlen zur Farbauswahl wie \cs{color}\marg{Farbe} +% oder aber \cs{textcolor}\marg{Farbe} verwendet werden. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*package&header> +% \fi +% +% \subsection{Identifizierung des Pakets \pkg{tudscrcolor}} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrcolor}[% + \TUDVersion\space package (corporate design colors)% +] +\DeclareOption{reduced}{\let\setcdcolors@add\relax} +\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@full} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}} +% \end{macrocode} +% +% \iffalse +%</package&header> +%<*class|package&body> +% \fi +% +% \subsection{Befehle für die \cls{tudscr}-Klassen} +% +% \iffalse +%<*class> +% \fi +% +% \todo[v3.12]{% +% Abfrage \cs{@ifpackageloaded} durch Verzögerung des Paketes +% \pkg{pagecolor} nicht notwendig.% +% } +% \begin{macro}{\nopagecolor} +% \begin{macro}{\tud@pagecolor} +% \begin{macro}{\tud@restorepagecolor} +% Diese Befehle dienen zum Umschalten der Farben für Titel- und Kapitelseiten. +% \begin{macrocode} +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \@ifpackageloaded{pagecolor}{}{% + \let\tud@pagecolor\pagecolor% + \let\tud@restorepagecolor\nopagecolor% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@restorepagecolor +% \end{macro}^^A \tud@pagecolor +% \end{macro}^^A \nopagecolor +% \todo[v3.12]{Verzögerung des Paketes \pkg{pagecolor} aktivieren.} +% \begin{macro}{\if@tud@pagecolor} +% Wenn die Farben für Titel- und Kapitelseiten umgeschaltet werden, geht die +% Information über die aktuelle Text- und Seitenfarbe verloren. Um dies zu +% verhindern, kann das Paket \pkg{pagecolor} geladen werden, welches mit den +% Befehlen \cs{newcolor} und \cs{restorecolor} ein Wiederherstellen ermöglicht. +% \begin{macrocode} +% \newif\if@tud@pagecolor +% \PreventPackageFromLoading[\@tud@pagecolortrue]{pagecolor} +\AfterPackage{pagecolor}{% + \let\tud@pagecolor\newpagecolor% + \let\tud@restorepagecolor\restorepagecolor% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@pagecolor +% Sollte das Paket \pkg{pdfpages} geladen werden, so ist eine Definition +% der Standardseitenfarbe zum Einbinden von PDF-Dokumenten notwendig. +% Andernfalls werden bei der Verwendung von \cs{includepdf} nur leere Seiten +% erzeugt. +% \begin{macrocode} +\AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} +% \end{macrocode} +% +% \iffalse +%</class> +%<*package&body> +% \fi +% +% \subsection{Farbdefinitionen für das Paket \pkg{tudscrcolor}} +% +% \begin{macro}{\setcdcolors} +% \begin{macro}{\setcdcolors@add} +% Der Befehl \cs{setcdcolors} definiert die Farben des \CDs. Das Argument dient +% zur Auswahl des gewünschten Farbmodels. Dies kann dazu genutzt werden, +% innerhalb des Dokumentes die Definition der Farben für ein neues Farbmodell zu +% ändern. +% \begin{macrocode} +\newcommand*\setcdcolors@add{} +\newcommand*\setcdcolors[1]{% + \def\@tempa{#1}\ifx\@tempa\@empty\else% + \selectcolormodel{\@tempa} + \fi% +% \end{macrocode} +% \begin{color}{HKS41} +% Die primäre Hausfarbe (dunkles Blau) +% \begin{macrocode} + \definecolor{HKS41}{cmyk/RGB/rgb}{% + 1.00,0.70,0.10,0.50/011,042,081/0.0431372549,0.16470588235,0.31764705882% + } +% \end{macrocode} +% \end{color}^^A HKS41 +% \begin{color}{HKS92} +% Die sekundäre Hausfarbe (grau), allein und ausschließlich für die Verwendung +% in der Geschäftsausstattung und nicht für Fließtext, Grafiken etc. +% \begin{macrocode} + \definecolor{HKS92}{cmyk/RGB/rgb}{% + 0.10,0.00,0.05,0.65/080,089,085/0.31372549019,0.34901960784,0.33333333333% + } +% \end{macrocode} +% \end{color}^^A HKS92 +% \begin{color}{HKS44} +% Auszeichnungen 1. Kategorie (helles Blau) +% \begin{macrocode} + \definecolor{HKS44}{cmyk/RGB/rgb}{% + 1.00,0.50,0.00,0.00/000,089,163/0,0.34901960784,0.63921568627% + } +% \end{macrocode} +% \end{color}^^A HKS44 +% \begin{color}{HKS36} +% \begin{color}{HKS33} +% \begin{color}{HKS57} +% \begin{color}{HKS65} +% Auszeichnungen 2. Kategorie (Indigo, Purpur, dunkles Grün, helles Grün) +% \begin{macrocode} + \definecolor{HKS36}{cmyk/RGB/rgb}{% + 0.80,0.90,0.00,0.00/081,041,127/0.31764705882,0.16078431372,0.49803921568% + } + \definecolor{HKS33}{cmyk/RGB/rgb}{% + 0.50,1.00,0.00,0.00/129,026,120/0.50588235294,0.10196078431,0.47058823529% + } + \definecolor{HKS57}{cmyk/RGB/rgb}{% + 1.00,0.00,0.90,0.20/000,122,071/0,0.47843137254,0.28235294117% + } + \definecolor{HKS65}{cmyk/RGB/rgb}{% + 0.65,0.00,1.00,0.00/034,173,054/0.13333333333,0.67843137254,0.21176470588% + } +% \end{macrocode} +% \end{color}^^A HKS65 +% \end{color}^^A HKS57 +% \end{color}^^A HKS33 +% \end{color}^^A HKS36 +% \begin{color}{HKS07} +% Ausnahmefarbe (Orange) +% \begin{macrocode} + \definecolor{HKS07}{cmyk/RGB/rgb}{% + 0.00,0.60,1.00,0.00/232,123,020/0.90980392156,0.48235294117,0.07843137254% + } +% \end{macrocode} +% \end{color}^^A HKS07 +% \begin{color}{cddarkblue} +% \begin{color}{cdgray} +% \begin{color}{cdblue} +% \begin{color}{cdindigo} +% \begin{color}{cdpurple} +% \begin{color}{cddarkgreen} +% \begin{color}{cdgreen} +% \begin{color}{cdorange} +% Die definierten Grundfarben werden zur einfacheren Verwendung im Dokument noch +% einmal speziell benannt. +% \begin{macrocode} + \colorlet{cddarkblue}{HKS41} + \colorlet{cdgray}{HKS92} + \colorlet{cdblue}{HKS44} + \colorlet{cdindigo}{HKS36} + \colorlet{cdpurple}{HKS33} + \colorlet{cddarkgreen}{HKS57} + \colorlet{cdgreen}{HKS65} + \colorlet{cdorange}{HKS07} +% \end{macrocode} +% \end{color}^^A cdorange +% \end{color}^^A cdgreen +% \end{color}^^A cddarkgreen +% \end{color}^^A cdpurple +% \end{color}^^A cdindigo +% \end{color}^^A cdblue +% \end{color}^^A cdgray +% \end{color}^^A cddarkblue +% Damit enden die notwendigen Farbdefinitionen für das \pkg{tudscrcolor}-Paket. +% Abhängig von den gewählten Optionen werden mit \cs{setcdcolors@add} ggf. +% zusätzliche Farbnamen definiert. +% \begin{macrocode} + \setcdcolors@add% +} +% \end{macrocode} +% \end{macro}^^A \setcdcolors@add +% \end{macro}^^A \setcdcolors +% \begin{macro}{\setcdcolors@full} +% Die erweiterten Farbbefehle werden durch \pkg{tudscrcolor} definiert, wenn +% das Paket explizit mit der Option \opt{full} geladen wird. Damit werden +% alle gängigen Farbdefinitionen der vielen Insellösungen des \LaTeX-Universums +% an der Technischen Universität Dresden unterstützt. +% \begin{macrocode} +\newcommand*\setcdcolors@full{% + \colorlet{HKS41K100}{HKS41!100} + \colorlet{HKS41K90}{HKS41!90} + \colorlet{HKS41K80}{HKS41!80} + \colorlet{HKS41K70}{HKS41!70} + \colorlet{HKS41K60}{HKS41!60} + \colorlet{HKS41K50}{HKS41!50} + \colorlet{HKS41K40}{HKS41!40} + \colorlet{HKS41K30}{HKS41!30} + \colorlet{HKS41K20}{HKS41!20} + \colorlet{HKS41K10}{HKS41!10} + \colorlet{HKS92K100}{HKS92!100} + \colorlet{HKS92K90}{HKS92!90} + \colorlet{HKS92K80}{HKS92!80} + \colorlet{HKS92K70}{HKS92!70} + \colorlet{HKS92K60}{HKS92!60} + \colorlet{HKS92K50}{HKS92!50} + \colorlet{HKS92K40}{HKS92!40} + \colorlet{HKS92K30}{HKS92!30} + \colorlet{HKS92K20}{HKS92!20} + \colorlet{HKS92K10}{HKS92!10} + \colorlet{HKS44K100}{HKS44!100} + \colorlet{HKS44K90}{HKS44!90} + \colorlet{HKS44K80}{HKS44!80} + \colorlet{HKS44K70}{HKS44!70} + \colorlet{HKS44K60}{HKS44!60} + \colorlet{HKS44K50}{HKS44!50} + \colorlet{HKS44K40}{HKS44!40} + \colorlet{HKS44K30}{HKS44!30} + \colorlet{HKS44K20}{HKS44!20} + \colorlet{HKS44K10}{HKS44!10} + \colorlet{HKS36K10}{HKS36!10} + \colorlet{HKS36K20}{HKS36!20} + \colorlet{HKS36K30}{HKS36!30} + \colorlet{HKS36K40}{HKS36!40} + \colorlet{HKS36K50}{HKS36!50} + \colorlet{HKS36K60}{HKS36!60} + \colorlet{HKS36K70}{HKS36!70} + \colorlet{HKS36K80}{HKS36!80} + \colorlet{HKS36K90}{HKS36!90} + \colorlet{HKS36K100}{HKS36!100} + \colorlet{HKS33K10}{HKS33!10} + \colorlet{HKS33K20}{HKS33!20} + \colorlet{HKS33K30}{HKS33!30} + \colorlet{HKS33K40}{HKS33!40} + \colorlet{HKS33K50}{HKS33!50} + \colorlet{HKS33K60}{HKS33!60} + \colorlet{HKS33K70}{HKS33!70} + \colorlet{HKS33K80}{HKS33!80} + \colorlet{HKS33K90}{HKS33!90} + \colorlet{HKS33K100}{HKS33!100} + \colorlet{HKS57K10}{HKS57!10} + \colorlet{HKS57K20}{HKS57!20} + \colorlet{HKS57K30}{HKS57!30} + \colorlet{HKS57K40}{HKS57!40} + \colorlet{HKS57K50}{HKS57!50} + \colorlet{HKS57K60}{HKS57!60} + \colorlet{HKS57K70}{HKS57!70} + \colorlet{HKS57K80}{HKS57!80} + \colorlet{HKS57K90}{HKS57!90} + \colorlet{HKS57K100}{HKS57!100} + \colorlet{HKS65K10}{HKS65!10} + \colorlet{HKS65K20}{HKS65!20} + \colorlet{HKS65K30}{HKS65!30} + \colorlet{HKS65K40}{HKS65!40} + \colorlet{HKS65K50}{HKS65!50} + \colorlet{HKS65K60}{HKS65!60} + \colorlet{HKS65K70}{HKS65!70} + \colorlet{HKS65K80}{HKS65!80} + \colorlet{HKS65K90}{HKS65!90} + \colorlet{HKS65K100}{HKS65!100} + \colorlet{HKS07K10}{HKS07!10} + \colorlet{HKS07K20}{HKS07!20} + \colorlet{HKS07K30}{HKS07!30} + \colorlet{HKS07K40}{HKS07!40} + \colorlet{HKS07K50}{HKS07!50} + \colorlet{HKS07K60}{HKS07!60} + \colorlet{HKS07K70}{HKS07!70} + \colorlet{HKS07K80}{HKS07!80} + \colorlet{HKS07K90}{HKS07!90} + \colorlet{HKS07K100}{HKS07!100} + \colorlet{HKS41-100}{HKS41!100} + \colorlet{HKS41-90}{HKS41!90} + \colorlet{HKS41-80}{HKS41!80} + \colorlet{HKS41-70}{HKS41!70} + \colorlet{HKS41-60}{HKS41!60} + \colorlet{HKS41-50}{HKS41!50} + \colorlet{HKS41-40}{HKS41!40} + \colorlet{HKS41-30}{HKS41!30} + \colorlet{HKS41-20}{HKS41!20} + \colorlet{HKS41-10}{HKS41!10} + \colorlet{HKS92-100}{HKS92!100} + \colorlet{HKS92-90}{HKS92!90} + \colorlet{HKS92-80}{HKS92!80} + \colorlet{HKS92-70}{HKS92!70} + \colorlet{HKS92-60}{HKS92!60} + \colorlet{HKS92-50}{HKS92!50} + \colorlet{HKS92-40}{HKS92!40} + \colorlet{HKS92-30}{HKS92!30} + \colorlet{HKS92-20}{HKS92!20} + \colorlet{HKS92-10}{HKS92!10} + \colorlet{HKS44-100}{HKS44!100} + \colorlet{HKS44-90}{HKS44!90} + \colorlet{HKS44-80}{HKS44!80} + \colorlet{HKS44-70}{HKS44!70} + \colorlet{HKS44-60}{HKS44!60} + \colorlet{HKS44-50}{HKS44!50} + \colorlet{HKS44-40}{HKS44!40} + \colorlet{HKS44-30}{HKS44!30} + \colorlet{HKS44-20}{HKS44!20} + \colorlet{HKS44-10}{HKS44!10} + \colorlet{HKS36-10}{HKS36!10} + \colorlet{HKS36-20}{HKS36!20} + \colorlet{HKS36-30}{HKS36!30} + \colorlet{HKS36-40}{HKS36!40} + \colorlet{HKS36-50}{HKS36!50} + \colorlet{HKS36-60}{HKS36!60} + \colorlet{HKS36-70}{HKS36!70} + \colorlet{HKS36-80}{HKS36!80} + \colorlet{HKS36-90}{HKS36!90} + \colorlet{HKS36-100}{HKS36!100} + \colorlet{HKS33-10}{HKS33!10} + \colorlet{HKS33-20}{HKS33!20} + \colorlet{HKS33-30}{HKS33!30} + \colorlet{HKS33-40}{HKS33!40} + \colorlet{HKS33-50}{HKS33!50} + \colorlet{HKS33-60}{HKS33!60} + \colorlet{HKS33-70}{HKS33!70} + \colorlet{HKS33-80}{HKS33!80} + \colorlet{HKS33-90}{HKS33!90} + \colorlet{HKS33-100}{HKS33!100} + \colorlet{HKS57-10}{HKS57!10} + \colorlet{HKS57-20}{HKS57!20} + \colorlet{HKS57-30}{HKS57!30} + \colorlet{HKS57-40}{HKS57!40} + \colorlet{HKS57-50}{HKS57!50} + \colorlet{HKS57-60}{HKS57!60} + \colorlet{HKS57-70}{HKS57!70} + \colorlet{HKS57-80}{HKS57!80} + \colorlet{HKS57-90}{HKS57!90} + \colorlet{HKS57-100}{HKS57!100} + \colorlet{HKS65-10}{HKS65!10} + \colorlet{HKS65-20}{HKS65!20} + \colorlet{HKS65-30}{HKS65!30} + \colorlet{HKS65-40}{HKS65!40} + \colorlet{HKS65-50}{HKS65!50} + \colorlet{HKS65-60}{HKS65!60} + \colorlet{HKS65-70}{HKS65!70} + \colorlet{HKS65-80}{HKS65!80} + \colorlet{HKS65-90}{HKS65!90} + \colorlet{HKS65-100}{HKS65!100} + \colorlet{HKS07-10}{HKS07!10} + \colorlet{HKS07-20}{HKS07!20} + \colorlet{HKS07-30}{HKS07!30} + \colorlet{HKS07-40}{HKS07!40} + \colorlet{HKS07-50}{HKS07!50} + \colorlet{HKS07-60}{HKS07!60} + \colorlet{HKS07-70}{HKS07!70} + \colorlet{HKS07-80}{HKS07!80} + \colorlet{HKS07-90}{HKS07!90} + \colorlet{HKS07-100}{HKS07!100} +} +% \end{macrocode} +% \end{macro}^^A \setcdcolors@full +% Zum Schluss werden die Optionen ausgeführt und ggf. an \pkg{xcolor} +% weitergereicht. Anschließend werden die Farben für das Dokument definiert. +% Ohne die Angabe eines optionalen Argumentes an das Paket \pkg{xcolor} erfolgt +% die Definition für den gewählten bzw. standardmäßig eingestellten Farbraum. +% \begin{macrocode} +\ExecuteOptions{reduced} +\ProcessOptions\relax +\RequirePackage{xcolor} +\setcdcolors{} +% \end{macrocode} +% +% \iffalse +%</package&body> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx new file mode 100644 index 00000000000..ef1f07f19df --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-comp.dtx @@ -0,0 +1,311 @@ +% \CheckSum{199} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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> +% \fi +\ProvidesFile{tudscr-comp.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (compatibility for tudbook)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-comp.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Kompatibilität für alte \cls{tudbook}-Dokumente} +% +% Diese Paket stellt für die \cls{tudscr}-Klassen eine Schnittstelle bereit, +% die es ermöglicht, die in der alten \cls{tudbook}-Klasse und dem dazugehörigen +% \pkg{tudthesis}-Paket definierten Befehle hier zu benutzen, um alte Dokumente +% mit den neuen Klassen zu setzen. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*package&header> +% \fi +% +% \subsection{Identifizierung des Pakets \pkg{tudscrcomp}} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrcomp}% + [\TUDVersion\space package (compatibility for tudbook)] +\ifx\tudcls@name\undefined + \PackageError{tudscrcomp}{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +\fi +% \end{macrocode} +% +% \iffalse +%</package&header> +%<*package&body> +% \fi +% +% \subsection{Das Paket \pkg{tudscrcomp}} +% +% \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{} +\let\einrichtung\faculty +\newcommand*\fachrichtung{} +\let\fachrichtung\department +\newcommand*\institut{} +\let\institut\institute +\newcommand*\professur{} +\let\professur\chair +\newcommand*\moreauthor{} +\let\moreauthor\authormore +\newcommand*\submitdate{} +\let\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{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}% + \if@tempswa% + \TUDoptions{cdtitle=color}% + \else% + \TUDoptions{cdtitle=true}% + \fi% +} +\TUD@key{nocolortitle}[true]{% + \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdtitle=true}% + \else% + \TUDoptions{cdtitle=color}% + \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}% + \if@tempswa% + \TUDoptions{ddcfoot}% + \else% + \TUDoptions{ddcfoot=false}% + \fi% +} +% \end{macrocode} +% \end{option}^^A ddcfooter +% \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][]{% + \ClassWarning{\tudcls@name}{% + 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{option}{serifmath} +% Die alte \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{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{sansmath=false}% + \else% + \TUDoptions{sansmath}% + \fi% +} +% \end{macrocode} +% \end{option}^^A serifmath +% \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{\@tud@chapterpage@temptrue\tud@chapterpage@wrn} +\newcommand*\tud@chapterpage@set[1][]{% + \if@tud@chapterpage@temp% + \if@tud@chapterpage% + \TUDoptions{chapterpage=false}% + \else% + \TUDoptions{chapterpage}% + \fi% + \fi% +} +\newcommand*\tud@chapterpage@unset[1][]{% + \tud@chapterpage@set% + \global\@tud@chapterpage@tempfalse% +} +\AtEndPreamble{% + \pretocmd{\tud@nchapter}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@nchapter}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@schapter}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@schapter}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@ochapter}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@ochapter}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@naddchap}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@naddchap}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@saddchap}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@oaddchap}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@oaddchap}{\tud@chapterpage@unset}{}{} +} +% \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{% + \ClassWarning{\tudcls@name}{% + 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 +% +% \iffalse +%</package&body> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx new file mode 100644 index 00000000000..7f498c96a61 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-doc.dtx @@ -0,0 +1,80 @@ +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +% ====================================================================== +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{tudscrdoc}% + [2014/04/24 v1.00 (documentation class for the tudscr-bundle based on scrdoc)] +\LoadClassWithOptions{scrdoc} +\setlength{\marginparwidth}{140pt} +\setlength{\marginparsep}{8pt} +\setlength{\oddsidemargin}{\dimexpr\marginparwidth+\marginparsep-1in} +\setlength{\textwidth}{\dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep} +\setlength{\topmargin}{-1in} +\setlength{\headheight}{0pt} +\setlength{\headsep}{30pt} +\setlength{\footskip}{\headsep} +\setlength{\textheight}{\dimexpr\paperheight-3\footskip} +\RequirePackage[latin1]{inputenc} +\RequirePackage{dox} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\RequirePackage[english,ngerman]{babel} +\RequirePackage{hologo} +\RequirePackage{xspace} +\def\filemail{tudscr@gmail.com} +\title{\texttt{\filename}% + \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} +\author{Falk Hanisch\footnote{\filemail}} +\date{\filedate} +\DoNotIndex{\",\if,\tudpage,\endtudpage,\tud@pagestyle} +\doxitem[idxtype=Option]{Option}{option}{Optionen} +\doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter} +\doxitem[macrolike,idxtype=L\"ange]{Length}{length}{L\"angen} +\doxitem[idxtype=Farbe]{Color}{color}{Farben} +\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen} +\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder} +\DeclareRobustCommand*{\cls}[1]{\mbox{\textsf{#1}}} +\DeclareRobustCommand*{\pkg}[1]{\mbox{\textsf{#1}}} +\DeclareRobustCommand*{\opt}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\env}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\cmd}[1]{\mbox{\cs{#1}}} +\DeclareRobustCommand\TUDScript{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% +} +\newif\if@tud@doc@final +\DeclareOption{final}{\@tud@doc@finaltrue} +\ProcessOptions\relax +\AtBeginDocument{ + \providecommand\todo[2][]{% + \if@tud@doc@final\else + \def\todo@mark{\ifstr{#1}{}{ToDo}{#1}}% + \endgraf% + \hfuzz0.8pt% + \leavevmode\marginpar{\raggedleft\fbox{\todo@mark\strut}}% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{#2\strut}}% + \fi% + } + \let\ToDo\todo + \providecommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} + \providecommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} + \providecommand*\KOMAScript{KOMA-Script\xspace} + \providecommand*\url[1]{\texttt{#1}} + \providecommand*\texorpdfstring[2]{#1} +} +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx new file mode 100644 index 00000000000..1eb2ae5a888 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fields.dtx @@ -0,0 +1,804 @@ +% \CheckSum{508} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-fields.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-fields.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (input fields)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-fields.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Eingabefelder für den Nutzer} +% +% Die Vorlagen für das \CD der Technischen Universität Dresden definieren +% mehrere Felder, welche durch den Nutzer gesetzt und auf Titelseite bzw. mit +% \pkg{tudscrsupervisor} auch teilweise für die Aufgabenstellung verwendet +% werden. Ein Großteil der definierten Felder wird unter anderem für den Satz +% der Titelseite benötigt. +% +% Das Setzen einer speziellen Titelseite mit \LaTeX{} ist eines der häufigsten +% anliegen. Dafür ist von Markus Kohm\footnote{Autor von \KOMAScript} das +% \pkg{titlepage}-Paket entworfen worden. Um gleichzeitig konsistent zu diesem +% Paket, werden für die entsprechenden Felder Alias-Befehle definiert. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class|titlepage> +% \fi +% +% \subsection{Textfelder} +% +% Einige der Felder werden sowohl für die Klassen aber auch für den separaten +% \pkg{titlepage}-Stil benötigt. +% \begin{macro}{\faculty} +% \begin{field}{\@faculty} +% Angabe der Fakultät für die TUD-Kopfzeile mit \cs{faculty}\marg{Fakultät}, +% wird im Makro \cs{@faculty} gespeichert. +% \begin{macrocode} +%<*class> +\newcommand*\@faculty{} +\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}} +%</class> +% \end{macrocode} +% \end{field}^^A \@faculty +% \end{macro}^^A \faculty +% \begin{macro}{\department} +% \begin{field}{\@department} +% Angabe der Einrichtung mit \cs{department}\marg{Fachrichtung} für die +% TUD-Kopfzeile, wird im Makro \cs{@department} gespeichert. +% \begin{macrocode} +%<*class> +\newcommand*\@department{} +\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}} +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{department} +%</titlepage> +% \end{macrocode} +% \end{field}^^A \@department +% \end{macro}^^A \department +% \begin{macro}{\institute} +% \begin{field}{\@institute} +% Angabe des Instituts für die TUD-Kopfzeile mit \cs{institute}\marg{Institut}, +% wird im Makro \cs{@institute} gespeichert. +% \begin{macrocode} +%<*class> +\newcommand*\@institute{} +\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}} +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{institute} +%</titlepage> +% \end{macrocode} +% \end{field}^^A \@institute +% \end{macro}^^A \institute +% \begin{macro}{\chair} +% \begin{field}{\@chair} +% \begin{macro}{\professorship} +% Angabe des Lehrstuhls bzw. der Professur mit \cs{chair}\marg{Lehrstuhl} für +% die TUD-Kopfzeile, wird im Makro \cs{@chair} gespeichert; für \cs{chair} kann +% als Aliasbefehl auch \cs{professorship} genutzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\@chair{} +\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}} +\newcommand*\professorship{} +\let\professorship\chair +%</class> +% \end{macrocode} +% \end{macro}^^A \professorship +% \end{field}^^A \@chair +% \end{macro}^^A \chair +% \begin{macro}{\extraheadline} +% \begin{field}{\@extraheadline} +% Für die Angabe einer freien zweiten bzw. dritten Textzeile im Kopf. Dies ist +% laut \CD nur in besonderen Ausnahmefällen gestattet. +% \begin{macrocode} +%<*class> +\newcommand*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{extraheadline} +%</titlepage> +% \end{macrocode} +% \end{field}^^A \@extraheadline +% \end{macro}^^A \extraheadline +% \begin{macro}{\title} +% \begin{field}{\@@title} +% \begin{macro}{\author} +% \begin{field}{\@@author} +% Für die spätere Verwendung im Dokument von Titel und Autor~-- bspw. für die +% Aufgabenstellung oder die Selbstständigkeitserklärung~-- werden die Felder +% \cs{@@title} sowie \cs{@@author} definiert, wodurch die mit \cs{title} bzw. +% \cs{author} gespeicherten Einträge auch nach dem Setzen des Titels noch +% verwendet werden können, da die Standardfelder \cs{@title} und \cs{@author} +% durch \cs{maketitle} gelöscht werden. Außerdem sollen in diesen Feldern keine +% Fußnoten enthalten sein. Dafür müssen \cs{title} bzw. \cs{author} angepasst +% werden. +% \begin{macrocode} +%<*class> +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \gdef\@@title{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + #1% + \endgroup% + }% +} +\newcommand*\@@author{} +\renewcommand*\author[1]{% + \gdef\@author{#1}% + \let\@@author\@author% +} +%</class> +% \end{macrocode} +% \end{field}^^A \@@author +% \end{macro}^^A \author +% \end{field}^^A \@@title +% \end{macro}^^A \title +% \begin{macro}{\student} +% Der Befehl \cs{student} kann als Alias für \cs{author} genutzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\student{} +\let\student\author +%</class> +% \end{macrocode} +% \end{macro}^^A \student +% \begin{macro}{\authormore} +% \begin{field}{\@authormore} +% Ausgabe einer zusätzlichen Zeile mit \cs{authormore}\marg{Textzeile} direkt +% unterhalb der Angabe des Autors auf der Titelseite, wird im Makro +% \cs{@authormore} gespeichert. +% \begin{macrocode} +%<*class> +\newcommand*\@authormore{} +\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}} +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{authormore} +%</titlepage> +% \end{macrocode} +% \end{field}^^A \@authormore +% \end{macro}^^A \authormore +% \begin{macro}{\thesis} +% \begin{field}{\@thesis} +% \begin{field}{\@@thesis} +% \begin{macro}{\subject} +% \begin{field}{\@subject} +% \begin{macro}{\tud@thesis} +% \begin{macro}{\tud@@thesis} +% \begin{macro}{\tud@thanks} +% Art bzw. Typ der Abschlussarbeit kann \cs{thesis}\marg{Abschlussarbeit} +% angegeben werden und wird im Makro \cs{@thesis} gespeichert. Alternativ +% dazu kann auch der Befehl \cs{subject} verwendet werden. Mit dem Befehl +% \cs{tud@thesis} wird in den Feldern \@thesis bzw. \@subject nach bestimmten +% Schlagwörtern für Abschlussarbeiten o.\,ä. gesucht. Wird eines dieser Wörter +% gefunden, wird der entsprechende reguläre Ausdruck für dieses Feld gesetzt. +% Zusätzlich wird durch \cs{tud@@thesis} dafür gesorgt, dass gegebenenfalls der +% Inhalt von \cs{@subject} in \cs{@thesis} verschoben und die entsprechende +% Option \opt{subjectthesis} gesetzt wird. In \cs{@@thesis} wird die angegebene +% Abschlussarbeit ohne etwaige Fußnoten gespeichert. +% \begin{macrocode} +%<*class> +\newcommand*\@thesis{} +\newcommand*\@@thesis{} +\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}} +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{thesis} +\renewcommand*\thesis[1]{\tud@thesis{thesis}{#1}} +%</titlepage> +\newcommand*\tud@thanks{} +\newcommand*\tud@thesis[2]{% + \AfterPreamble{% + \begingroup% +% \end{macrocode} +% Hier das gleiche wie an anderer Stelle auch schon. Der Inhalt einer eventuell +% vorhandenen Fußnote wird gesichert +% \begin{macrocode} + \global\let\tud@thanks\relax% + \def\thanks##1{\gdef\tud@thanks{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#2}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \ifstr{#1}{thesis}{\xdef\@@thesis{#2}}{}% + \endgroup% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{% + \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{% + \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{% + \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{% + \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{% + \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{% + \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{% + \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{% + \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{% + \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{% + \@namedef{@#1}{#2}% + }}}}}}}}}}}}}% + }% +} +\newcommand*\tud@@thesis[2]{% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% + \ifstr{#1}{subject}{% + \ifx\@thesis\empty\else% +%<*class> + \ClassWarning{\tudcls@name}{Field 'thesis' is overwritten by 'subject'}% +%</class> +%<*titlepage> + \PackageWarning{titlepage}{Field 'thesis' is overwritten by 'subject'}% +%</titlepage> + \fi% +%<*class> + \TUD@std@ifkey@lock{subjectthesis}{true}% +%</class> +%<*titlepage> + \FamilySetBool{title}{subjectthesis}{@tud@subjectthesis}{true}% +%</titlepage> + }{% +%<*class> + \TUD@std@ifkey@lock{subjectthesis}{false}% +%</class> +%<*titlepage> + \FamilySetBool{title}{subjectthesis}{@tud@subjectthesis}{false}% +%</titlepage> + }% +} +\renewcommand*\subject[1]{\tud@thesis{subject}{#1}} +% \end{macrocode} +% \end{macro}^^A \tud@thanks +% \end{macro}^^A \tud@@thesis +% \end{macro}^^A \tud@thesis +% \end{field}^^A \@subject +% \end{macro}^^A \subject +% \end{field}^^A \@@thesis +% \end{field}^^A \@thesis +% \end{macro}^^A \thesis +% \begin{macro}{\degree} +% \begin{field}{\@degree} +% \begin{field}{\@degreeabbr} +% Der angestrebte Abschluss bzw. der zu erwerbende akademische Grad, welcher +% auf der Titelseite ausgegeben werden soll, wird im Makro \cs{@degree} +% gespeichert. Zusätzlich kann als optionales Argument die Kurzform des +% akademischen Grades angegeben werden, wird in \cs{@degreeabbr} gespeichert. +% \begin{macrocode} +%<*class> +\newcommand*\@degree{} +%</class> +\newcommand*\@degreeabbr{} +%<*titlepage> +\let\degree\relax +%</titlepage> +\newcommand*\degree[2][]{% + \ifxblank{#1}{\gdef\@degreeabbr{}}{\gdef\@degreeabbr{(#1)}}% + \gdef\@degree{#2}% +} +% \end{macrocode} +% \end{field}^^A \@degreeabbr +% \end{field}^^A \@degree +% \end{macro}^^A \degree +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\professor} +% \begin{field}{\@professor} +% Angabe des verantwortlichen Hochschullehrers für Titel und Aufgabenstellung, +% wird im Makro \cs{@professor} gespeichert. +% \begin{macrocode} +\newcommand*\@professor{} +\newcommand*\professor[1]{\gdef\@professor{#1}} +% \end{macrocode} +% \end{field}^^A \@professor +% \end{macro}^^A \professor +% \begin{macro}{\supervisor} +% \begin{field}{\@supervisor} +% (Erst- und Zweit"~)Betreuer bei Abschlussarbeiten, wird in \cs{@supervisor} +% gespeichert. Mehrere Betreuer werden durch \cs{and} getrennt. Für die +% Selbstständigkeitserklärung werden standardmäßig die angegebenen Betreuer +% als Personen eingetragen, welche Unterstützung geleistet haben. +% \begin{macrocode} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{% + \gdef\@supervisor{#1}% + \ifx\@supporter\empty\gdef\@supporter{#1}\fi% +} +% \end{macrocode} +% \end{field}^^A \@supervisor +% \end{macro}^^A \supervisor +% \begin{macro}{\supporter} +% \begin{field}{\@supporter} +% Diese Feld ist für die Hilfesteller bei der Anfertigung der Abschlussarbeit, +% welche auf der Selbstständigkeitserklärung aufgeführt werden. Standardmäßig +% werden diese bei der Angabe der Betreuer gesetzt. Sollten die unterstützenden +% Personen separat angegeben werden, ist das Eintragen der Betreuer in das Feld +% \cs{@supporter} nicht mehr nötig. Mehrere Hilfesteller werden durch \cs{and} +% getrennt. +% \begin{macrocode} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{% + \gdef\@supporter{#1}% + \renewcommand*\supervisor[1]{\gdef\@supervisor{##1}}% +} +% \end{macrocode} +% \end{field}^^A \@supporter +% \end{macro}^^A \supporter +% \begin{macro}{\company} +% \begin{field}{\@company} +% Angabe einer externen Firma, wird im Makro \cs{@company} gespeichert. +% \begin{macrocode} +\newcommand*\@company{} +\newcommand*\company[1]{\gdef\@company{#1}} +% \end{macrocode} +% \end{field}^^A \@company +% \end{macro}^^A \company +% \begin{macro}{\referee} +% \begin{field}{\@referee} +% Gutachter bei einer Dissertation, werden im Makro \cs{@referee} gespeichert. +% Mehrere Gutachter werden durch \cs{and} getrennt. +% \begin{macrocode} +\newcommand*\@referee{} +\newcommand*\referee[1]{\gdef\@referee{#1}} +% \end{macrocode} +% \end{field}^^A \@referee +% \end{macro}^^A \referee +% \begin{macro}{\advisor} +% \begin{field}{\@advisor} +% Fachreferenten bei einer Dissertation, werden im Makro \cs{@advisor} +% gespeichert. Mehrere Fachreferenten werden durch \cs{and} getrennt. +% \begin{macrocode} +\newcommand*\@advisor{} +\newcommand*\advisor[1]{\gdef\@advisor{#1}} +% \end{macrocode} +% \end{field}^^A \@advisor +% \end{macro}^^A \advisor +% \begin{macro}{\matriculationnumber} +% \begin{field}{\@matriculationnumber} +% \begin{macro}{\studentid} +% \begin{macro}{\matriculationid} +% Angabe der Matrikelnummer für Titelseite und Aufgabenstellung, wird in dem +% Makro \cs{@matriculationid} gespeichert, für \cs{matriculationid} kann als +% Aliasbefehl \cs{studentid} sowie \cs{matriculationnumber} genutzt werden. +% \begin{macrocode} +\newcommand*\@matriculationnumber{} +\newrobustcmd*\matriculationnumber[1]{% + \gdef\@matriculationnumber{#1}% +} +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +% \end{macrocode} +% \end{macro}^^A \matriculationid +% \end{macro}^^A \studentid +% \end{field}^^A \@matriculationnumber +% \end{macro}^^A \matriculationnumber +% +% \iffalse +%</class> +% \fi +% +% \begin{macro}{\matriculationyear} +% \begin{field}{\@matriculationyear} +% \begin{macro}{\enrolmentyear} +% Angabe des Immatrikulationsjahr für den Titel, wird im Makro +% \cs{@matriculationyear} gespeichert, für \cs{matriculationyear} kann als +% Aliasbefehl auch \cs{enrolmentyear} genutzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{matriculationyear} +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \enrolmentyear +% \end{field}^^A \@matriculationyear +% \end{macro}^^A \matriculationyear +% \begin{macro}{\placeofbirth} +% \begin{field}{\@placeofbirth} +% \begin{macro}{\birthplace} +% Angabe des Geburtsortes für den Titel, wird im Makro \cs{@placeofbirth} +% gespeichert, für \cs{placeofbirth} kann als Aliasbefehl auch \cs{birthplace} +% genutzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{placeofbirth} +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \birthplace +% \end{field}^^A \@placeofbirth +% \end{macro}^^A \placeofbirth +% \begin{macro}{\publisher} +% \begin{field}{\@publisher} +% \begin{macro}{\publishers} +% Kleine Korrektur für \KOMAScript. Der Standardbefehl sollte im Singular +% stehen. +% \begin{macrocode} +%<*class> +\providecommand*\@publisher{} +\providecommand*\publisher[1]{\gdef\@publisher{#1}} +\let\publishers\publisher +%</class> +%<*titlepage> +\providecommand*\publishers{\publisher} +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \publishers +% \end{field}^^A \@publisher +% \end{macro}^^A \publisher +% \begin{macro}{\confirmationclosing} +% \begin{field}{\@confirmationclosing} +% Als Abschluss der Selbstständigkeitserklärung für Ort und Unterschrift. +% \begin{macrocode} +%<*class> +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@@date% + \\[15mm plus 10mm minus 10mm]% + \begingroup% + \let\and\hfil% + \let\thanks\@gobble% + \let\footnote\@gobble% + \@@author% + \hfil% + \endgroup% +} +\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}} +%</class> +% \end{macrocode} +% \end{field}^^A \@confirmationclosing +% \end{macro}^^A \confirmationclosing +% \begin{macro}{\place} +% \begin{field}{\@place} +% \begin{macro}{\location} +% Angabe des Ortes für die Unterschriftzeile der Selbstständigkeitserklärung, +% wird im Makro \cs{@place} gespeichert und standardmäßig mit +% \glqq{}Dresden\grqq{} gesetzt, für \cs{place} kann als Aliasbefehl auch +% \cs{location} genutzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\@place{Dresden} +\newcommand*\place[1]{\gdef\@place{#1}} +%</class> +\newcommand*\location{} +\let\location\place +% \end{macrocode} +% \end{macro}^^A \location +% \end{field}^^A \@place +% \end{macro}^^A \place +% +% \iffalse +%</class|titlepage> +%<*supervisor> +% \fi +% +% \begin{macro}{\course} +% \begin{field}{\@course} +% \begin{macro}{\discipline} +% Studiengang für den Kopf der Aufgabenstellung, wird im Makro \cs{@course} +% gespeichert, für \cs{course} kann als Aliasbefehl auch \cs{discipline} +% genutzt werden. +% \begin{macrocode} +\newcommand*\@course{} +\newrobustcmd*\course[1]{\gdef\@course{#1}} +\newrobustcmd*\discipline{} +\let\discipline\course +% \end{macrocode} +% \end{macro}^^A \discipline +% \end{field}^^A \@course +% \end{macro}^^A \course +% \begin{macro}{\branch} +% \begin{field}{\@branch} +% Studienrichtung bzw. Fachrichtung für den Kopf der Aufgabenstellung, wird +% im Makro \cs{@branch} gespeichert. +% \begin{macrocode} +\newcommand*\@branch{} +\newrobustcmd*\branch[1]{\gdef\@branch{#1}} +% \end{macrocode} +% \end{field}^^A \@branch +% \end{macro}^^A \branch +% \begin{macro}{\chairman} +% \begin{field}{\@chairman} +% Angabe des Prüfungsausschussvorsitzenden für die Aufgabenstellung, wird im +% Makro \cs{@chairman} gespeichert. +% \begin{macrocode} +\newcommand*\@chairman{} +\newcommand*\chairman[1]{\gdef\@chairman{#1}} +% \end{macrocode} +% \end{field}^^A \@chairman +% \end{macro}^^A \chairman +% \begin{macro}{\contact} +% \begin{field}{\@contact} +% \begin{macro}{\office} +% \begin{field}{\@office} +% \begin{macro}{\phone} +% \begin{field}{\@phone} +% \begin{macro}{\email} +% \begin{field}{\@email} +% Für einen Aushang kann eine oder mehrere Kontaktpersonen angegeben werden. +% Zusätzlich kann für jede einzelne Person ein Raum, eine Telefonnummer und die +% E-Mail"=Adresse hinzugefügt werden. +% \begin{macrocode} +\newcommand*\@contact{} +\newcommand*\contact[1]{\gdef\@contact{#1}} +\newcommand*\@office{} +\newrobustcmd*\office[1]{\gdef\@office{#1}} +\newcommand*\@phone{} +\newrobustcmd*\phone[1]{\gdef\@phone{#1}} +\newcommand*\@email{} +\newrobustcmd*\email[1]{\gdef\@email{#1}} +\AfterPackage{hyperref}{% + \renewrobustcmd*\email[1]{\gdef\@email{\href{mailto:#1}{\nolinkurl{#1}}}}% +} +% \end{macrocode} +% \end{field}^^A \@email +% \end{macro}^^A \email +% \end{field}^^A \@phone +% \end{macro}^^A \phone +% \end{field}^^A \@office +% \end{macro}^^A \office +% \end{field}^^A \@contact +% \end{macro}^^A \contact +% \begin{macro}{\grade} +% \begin{field}{\@grade} +% \begin{field}{\@headline} +% Die beiden Befehle dienen zum Abspeichern der entsprechenden Parameter +% innerhalb der neu definierten Umgebungen aus dem Paket \pkg{tudscrsupervisor}. +% \begin{macrocode} +\newcommand*\@grade{} +\newcommand*\grade[1]{\gdef\@grade{#1}} +\newcommand*\@headline{} +% \end{macrocode} +% \end{field}^^A \@headline +% \end{field}^^A \@grade +% \end{macro}^^A \grade +% +% \iffalse +%</supervisor> +%<*class|titlepage> +%<*class> +% \fi +% +% \subsection{Datumsfelder} +% +% \begin{macro}{\printdate} +% Im Folgenden werden mehrere Datumsfelder definiert. Damit diese optional +% durch das \pkg{isodate}-Paket formatiert werden können, wird der zu +% diesem Paket gehörende Befehl \cs{printdate} in die Definition der +% eigentlichen Datumsfelder integriert. Sollte das \pkg{isodate}-Paket nicht +% geladen werden, so muss dieser Befehl trotzdem definiert sein. +% \begin{macrocode} +\newcommand*\printdate[1]{#1} +\BeforePackage{isodate}{\let\printdate\undefined} +% \end{macrocode} +% \end{macro}^^A \printdate +% \begin{macro}{\tud@printdate} +% Damit die Datumsfelder definiert werden können und das \pkg{isodate}-Paket +% unterstützen, muss beim Festlegen der Datumsfelder einiges beachtet werden. +% So müssen beispielsweise leere Argumente und Sonderfälle separat betrachtet +% werden. Damit dies einheitlich für alle Felder geschehen kann, wird dieser +% Befehl genutzt. Dabei wird als erstes Argument der Befehlsname für das +% Datumsfeld übergeben, als zweites Argument der gewünschte Inhalt. +% \begin{macrocode} +\newcommand*\tud@printdate[2]{% + \ifx\today#2% + \gdef#1{#2}% + \else% + \ifxblank{#2}% + {\gdef#1{}}% + {\gdef#1{\printdate{#2}}}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@printdate +% +% \iffalse +%</class> +% \fi +% +% \begin{macro}{\date} +% \begin{field}{\@date} +% \begin{field}{\@@date} +% \begin{field}{\@datemore} +% \begin{macro}{\submissiondate} +% Das Abgabedatum der Arbeit für den Titel, wird im originalen Makro \cs{@date} +% gespeichert. Zusätzlich kann als optionales Argument eine Ergänzung angehängt +% werden~-- beispielsweise als Erklärung für eine verspätete Abgabe aufgrund +% einer offiziellen Verlängerung der Bearbeitungszeit~-- welche im Feld +% \cs{@datemore} gespeichert wird. Der originale Standardbefehl für das Datum +% \cs{date} wird aufgebohrt, \cs{submissiondate} kann auch als Aliasbefehl +% genutzt werden. Außerdem wird das Feld \cs{@@date} definiert, welches das +% Datum ebenfalls speichert, um es auch nach dem Setzen des Titels verwenden zu +% können. +% \begin{macrocode} +\newcommand*\@datemore{} +\newcommand*\@@date{} +\let\@@date\@date +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% +%<*titlepage> + \gdef\@date{#2}% +%</titlepage> +%<*class> + \tud@printdate{\@date}{#2}% + \tud@printdate{\@@date}{#2}% +%</class> +} +%<*class> +\newcommand*\submissiondate{} +\let\submissiondate\date +%</class> +% \end{macrocode} +% \end{macro}^^A \submissiondate +% \end{field}^^A \@datemore +% \end{field}^^A \@@date +% \end{field}^^A \@date +% \end{macro}^^A \date +% \begin{macro}{\defensedate} +% \begin{field}{\@defensedate} +% \begin{macro}{\oralexaminationdate} +% Das Verteidigungsdatum erscheint auf dem Titel und wird im Makro +% \cs{@defensedate} gespeichert, für \cs{defensedate} kann als Aliasbefehl auch +% \cs{oralexaminationdate} genutzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{defensedate}% instead oralexaminationdate +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \oralexaminationdate +% \end{field}^^A \@defensedate +% \end{macro}^^A \defensedate +% \begin{macro}{\dateofbirth} +% \begin{field}{\@dateofbirth} +% \begin{macro}{\birthday} +% Angabe des Geburtstages für die Titelseite, wird im Makro \cs{@dateofbirth} +% gespeichert, für \cs{dateofbirth} kann als Aliasbefehl auch \cs{birthday} +% genutzt werden. +% \begin{macrocode} +%<*class> +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{dateofbirth} +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \birthday +% \end{field}^^A \@dateofbirth +% \end{macro}^^A \dateofbirth +% +% \iffalse +%</class|titlepage> +%<*supervisor> +% \fi +% +% \begin{macro}{\issuedate} +% \begin{field}{\@issuedate} +% \begin{macro}{\startdate} +% Angabe des Anfangsdatums für die Aufgabenstellung, wird im Makro +% \cs{@issuedate} gespeichert, für \cs{issuedate} kann als Aliasbefehl auch +% \cs{startdate} genutzt werden. +% \begin{macrocode} +\newcommand*\@issuedate{} +\newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}} +\let\startdate\issuedate +% \end{macrocode} +% \end{macro}^^A \startdate +% \end{field}^^A \@issuedate +% \end{macro}^^A \issuedate +% \begin{macro}{\duedate} +% \begin{field}{\@duedate} +% \begin{macro}{\finaldate} +% \begin{macro}{\maturitydate} +% Angabe des geplanten Abgabedatums für die Aufgabenstellung, wird im Makro +% \cs{@duedate} gespeichert, für \cs{duedate} kann als Aliasbefehl auch +% \cs{finaldate} oder \cs{maturitydate} genutzt werden. +% \begin{macrocode} +\newcommand*\@duedate{} +\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}} +\newcommand*\finaldate{} +\newcommand*\maturitydate{} +\let\finaldate\duedate +\let\maturitydate\duedate +% \end{macrocode} +% \end{macro}^^A \maturitydate +% \end{macro}^^A \finaldate +% \end{field}^^A \@duedate +% \end{macro}^^A \duedate +% +% \iffalse +%</supervisor> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx new file mode 100644 index 00000000000..f4586a1d7b8 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-fonts.dtx @@ -0,0 +1,924 @@ +% \CheckSum{652} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-fonts.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-fonts.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (fonts)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-fonts.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Schriften des \CDs} +% +% Für das \CD der Technischen Universität Dresden werden die Schriften Univers +% und DIN"~Bold zwingend benötigt. Zur fehlerfreien Verwendung dieser Klassen +% sollten diese bitte installiert werden. Hier werden die \LaTeX-Befehle zur +% Verwendung der Schriften im Dokument definiert. Sollen nur kurze Passagen in +% einer anderen Schrift als der restliche Text gesetzt werden, so sollten +% anstatt der einfachen Schalter wie beispielsweise \cs{univ\dots} besser die +% Befehle \cs{text\dots}\marg{Auszeichnungstext} verwendet werden. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class&!option> +% \fi +% +% \subsection{Schriftauswahl im New Font Selection Scheme (NFSS)} +% +% \begin{macro}{\if@tud@univers} +% \begin{macro}{\tud@univers} +% \begin{macro}{\tud@dinbold} +% Die Schriftfamilie im \CD für den Fließtext und die Überschriften. +% \begin{macrocode} +\newif\if@tud@univers +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +% \end{macrocode} +% Es wird geprüft, ob die Schriftfamilie installiert ist. Sollte dies nicht der +% Fall sein, wird eine Warnung ausgegeben und ein Rückfallebene definiert. +% \begin{macrocode} +\def\@tempb#1{% + \ClassWarningNoLine{\tudcls@name}{% + #1 fonts not found. Please use on of the\MessageBreak% + installation scripts out of the tudscr-bundle,\MessageBreak% + which suits to your OS. A fallback layout is used% + }% +} +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% +} +\@tempa{\@tud@universtrue}{\@tempb{Univers}} +% \end{macrocode} +% \end{macro}^^A \tud@dinbold +% \end{macro}^^A \tud@univers +% \end{macro}^^A if@tud@univers +% \begin{macro}{\univln} +% \begin{macro}{\univrn} +% \begin{macro}{\univbn} +% \begin{macro}{\univxn} +% \begin{macro}{\univls} +% \begin{macro}{\univrs} +% \begin{macro}{\univbs} +% \begin{macro}{\univxs} +% Sollte die Univers installiert sein, werden mehrere Schalter zur expliziten +% Auswahl für die Schriftschnitte Univers~45~Light, Univers~55~Regular, +% Univers~65~Bold, Univers~75~Black, Univers~45~Light~Oblique, +% Univers~55~Regular~Oblique, Univers~65~Bold~Oblique sowie +% Univers~75~Black~Oblique definiert. +% \begin{macrocode} +\if@tud@univers% + \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% + \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}% + \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}% + \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}% + \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}% + \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}% + \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}% + \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}% +% \end{macrocode} +% Ansonsten werden die Schalter für die Rückfallebene so definert, dass diese +% einfach nichts machen. +% \begin{macrocode} +\else + \newcommand*\univln{}% + \newcommand*\univrn{}% + \newcommand*\univbn{}% + \newcommand*\univxn{}% + \newcommand*\univls{}% + \newcommand*\univrs{}% + \newcommand*\univbs{}% + \newcommand*\univxs{}% +\fi +% \end{macrocode} +% \end{macro}^^A \univxs +% \end{macro}^^A \univbs +% \end{macro}^^A \univrs +% \end{macro}^^A \univls +% \end{macro}^^A \univxn +% \end{macro}^^A \univbn +% \end{macro}^^A \univrn +% \end{macro}^^A \univln +% \begin{macro}{\textuln} +% \begin{macro}{\texturn} +% \begin{macro}{\textubn} +% \begin{macro}{\textuxn} +% \begin{macro}{\textuls} +% \begin{macro}{\texturs} +% \begin{macro}{\textubs} +% \begin{macro}{\textuxs} +% Außerdem werden für die Schriften noch die entsprechenden Textauswahlbefehle +% bereitgestellt. +% \begin{macrocode} +\DeclareTextFontCommand{\textuln}{\univln}% +\DeclareTextFontCommand{\texturn}{\univrn}% +\DeclareTextFontCommand{\textubn}{\univbn}% +\DeclareTextFontCommand{\textuxn}{\univxn}% +\DeclareTextFontCommand{\textuls}{\univls}% +\DeclareTextFontCommand{\texturs}{\univrs}% +\DeclareTextFontCommand{\textubs}{\univbs}% +\DeclareTextFontCommand{\textuxs}{\univxs}% +% \end{macrocode} +% \end{macro}^^A \textuxs +% \end{macro}^^A \textubs +% \end{macro}^^A \texturs +% \end{macro}^^A \textuls +% \end{macro}^^A \textuxn +% \end{macro}^^A \textubn +% \end{macro}^^A \texturn +% \end{macro}^^A \textuln +% \begin{macro}{\dinbn} +% \begin{macro}{\textdbn} +% Schalter bzw. Befehl für die Auszeichnung von Überschriften FF~DIN~Bold. Nur, +% falls die Schrift installiert ist, wird sie verwendet. Sonst wird eine Warnung +% erzeugt und es wird die Standardüberschrift verwendet. Bei der Auswahl der +% Schrift wird neben dieser noch die entsprechende Mathematikschrift aktiviert. +% \begin{macrocode} +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% +} +\@tempa{% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% +}{% + \@tempb{DIN-Bold}% + \let\dinbn\sectfont% +} +\DeclareTextFontCommand{\textdbn}{\dinbn} +% \end{macrocode} +% \end{macro}^^A \textdbn +% \end{macro}^^A \dinbn +% Die Kodierung der Mathematikschriften wird abhängig von der Eingabekodierung +% gewählt. +% \begin{macro}{\tud@mathenc} +% \begin{macrocode} +\edef\@tempa{\encodingdefault}\def\@tempb{T1} +\ifx\@tempa\@tempb + \def\tud@mathenc{T1} +\else + \def\tud@mathenc{OT1} +\fi +% \end{macrocode} +% \end{macro}^^A \tud@mathenc +% \begin{macro}{\mv@univers} +% \begin{macro}{\mv@universbold} +% Für die Mathematikschriften im FLießtext werden für die lateineischen Lettern +% die Univers"=Schriften des \CDs verwendet. Darin enthalten sind die auch die +% griechischen Buchstaben aus dem Paket \pkg{cmbright}. Zusätzlich werden aus +% dem \pkg{eulervm}"~Paket die mathematische Symbole verwendet. Es werden zwei +% Mathematikversion mit normalen sowie mit fetten Glyphen bereitgestellt. +% \begin{macrocode} +\DeclareMathVersion{univers} +\DeclareMathVersion{universbold} +\SetSymbolFont{operators}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} +\SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} +\SetSymbolFont{largesymbols}{univers}{U}{zeuex}{m}{n} +\SetSymbolFont{operators}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} +\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} +\SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{cmtl}{m}{n} +\SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} +\SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} +% \end{macrocode} +% \end{macro}^^A \mv@universbold +% \end{macro}^^A \mv@univers +% \begin{macro}{\mv@dinbold} +% Auch für die Schrift DIN~Bold werden mathematische Glyphen bereitgestellt. +% Diese wurden aus dem \pkg{iwona}"=Paket entnommen. Auch die verwendeten +% Symbole stammen aus diesem Paket. +% \begin{macrocode} +\DeclareMathVersion{dinbold} +\SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} +\SetSymbolFont{symbols}{dinbold}{OMS}{iwona}{ebc}{n} +\SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} +\SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} +% \end{macrocode} +% \end{macro}^^A \mv@dinbold +% \begin{macro}{\tud@greek@upGamma} +% \begin{macro}{\tud@greek@offset} +% Damit innerhalb des Dokumentes problemlos zwischen aufrechten und kursiven +% griechischen Buchstaben für den Mathematiksatz gewechselt werden kann, wurden +% die folgenden beiden Befehle definiert, welche vom Prinzip aus dem Paket +% \pkg{sansmath} abgekupfert sind. Es wird der Offset der Kodierung zwischen den +% kursiven und den aufrechten Glyphen in \cs{tud@greek@offset} gespeichert. +% \begin{macrocode} +\newcount\tud@greek@upGamma +\tud@greek@upGamma\Gamma +\newcount\tud@greek@offset +\let\@tempa\relax +\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} +\tud@greek@offset\@tempa +\advance\tud@greek@offset-\Gamma +% \end{macrocode} +% \end{macro}^^A \tud@greek@offset +% \end{macro}^^A \tud@greek@upGamma +% \begin{macro}{\tud@greek@def} +% \begin{macro}{\tud@greek@uc} +% \begin{macro}{\tud@greek@changeshape} +% Mit \cs{tud@greek@def} erfolgt die Umkodierung einer einzelnen griechischen +% Glyphe. Das Makro \cs{tud@greek@changeshape} arbeitet die Liste +% \cs{tud@greek@uc} ab. +% \begin{macrocode} +\newcommand*\tud@greek@def[2]{% + \expandafter\@tempcnta\csname #1\endcsname% + \advance\@tempcnta#2% + \expandafter\mathchardef\csname #1\endcsname\@tempcnta% +} +% \end{macrocode} +% Die Liste enthält die Namen der Befehle für große griechische Buchstaben. +% Diese wird von \cs{tud@greek@changeshape} genutzt wird. +% \begin{macrocode} +\newcommand*\tud@greek@uc{% + Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% +} +\newcommand*\tud@greek@changeshape{% + \@for\@tempa:=\tud@greek@uc\do{% + \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@greek@changeshape +% \end{macro}^^A \tud@greek@uc +% \end{macro}^^A \tud@greek@def +% \begin{macro}{\tud@greek@slanted} +% \begin{macro}{\tud@greek@upright} +% Mit \cs{tud@greek@slanted} wird die Kodierung der griechischen Majuskeln von +% \texttt{operator} auf \texttt{letter} geändert\dots +% \begin{macrocode} +\newcommand*\tud@greek@slanted{% + \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% +} +% \end{macrocode} +% \dots und \cs{tud@greek@upright} macht alles wieder rückgängig. Dabei wird bei +% beiden Befehlen vor der Ausführung geprüft, ob dies überhauot notwendig ist. +% \begin{macrocode} +\newcommand*\tud@greek@upright{% + \ifnum\Gamma>\tud@greek@upGamma% + \tud@greek@offset=-\tud@greek@offset% + \tud@greek@changeshape% + \tud@greek@offset=-\tud@greek@offset% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@greek@upright +% \end{macro}^^A \tud@greek@slanted +% \begin{macro}{\upGamma} +% \begin{macro}{\upDelta} +% \begin{macro}{\upTheta} +% \begin{macro}{\upLambda} +% \begin{macro}{\upXi} +% \begin{macro}{\upPi} +% \begin{macro}{\upSigma} +% \begin{macro}{\upUpsilon} +% \begin{macro}{\upPhi} +% \begin{macro}{\upPsi} +% \begin{macro}{\upOmega} +% \begin{macro}{\varGamma} +% \begin{macro}{\varDelta} +% \begin{macro}{\varTheta} +% \begin{macro}{\varLambda} +% \begin{macro}{\varXi} +% \begin{macro}{\varPi} +% \begin{macro}{\varSigma} +% \begin{macro}{\varUpsilon} +% \begin{macro}{\varPhi} +% \begin{macro}{\varPsi} +% \begin{macro}{\varOmega} +% In Anlehnung an verschiedene Pakete für Mathematikschriften werden die Symbole +% für aufrechte und kursive Majuskeln der griechischen Lettern separat definert. +% \begin{macrocode} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} +\DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} +\DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} +\DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} +\DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} +\DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} +\DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} +\DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} +\DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} +\DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} +\DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} +\DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} +\DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} +\DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} +\DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} +\DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} +\DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} +\DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} +% \end{macrocode} +% \end{macro}^^A \varOmega +% \end{macro}^^A \varPsi +% \end{macro}^^A \varPhi +% \end{macro}^^A \varUpsilon +% \end{macro}^^A \varSigma +% \end{macro}^^A \varPi +% \end{macro}^^A \varXi +% \end{macro}^^A \varLambda +% \end{macro}^^A \varTheta +% \end{macro}^^A \varDelta +% \end{macro}^^A \varGamma +% \end{macro}^^A \upOmega +% \end{macro}^^A \upPsi +% \end{macro}^^A \upPhi +% \end{macro}^^A \upUpsilon +% \end{macro}^^A \upSigma +% \end{macro}^^A \upPi +% \end{macro}^^A \upXi +% \end{macro}^^A \upLambda +% \end{macro}^^A \upTheta +% \end{macro}^^A \upDelta +% \end{macro}^^A \upGamma +% \begin{macro}{\tud@sansmath} +% \begin{macro}{\tud@serifmath} +% Die Befehle werden von der Option \opt{sansmath} verwendet, um zwischen dem +% Standard"~ und neuem Mathematiksatz hin"~ und herschalten zu können. Dabei +% wird zum einen das Mapping der griechischen Glyphen geändert, zum anderen +% werden die originalen Mathematikversionen überschrieben bzw. wiederhergestellt. +% \begin{macrocode} +\newcommand*\tud@sansmath{% + \if@tud@univers% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \mathversion{normal}% + \fi% +} +\newcommand*\tud@serifmath{% + \if@tud@univers% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \mathversion{normal}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@serifmath +% \end{macro}^^A \tud@sansmath +% +% \iffalse +%</class&!option> +%<*titlepage|class&option> +% \fi +% +% \begin{option}{cdfont} +% \begin{macro}{\tud@cdfont} +% Mit dieser Option wird die zentrale Benutzerschnittstelle für alle möglichen +% Schrifteinstellungen innerhalb Dokumentes geschaffen. Durch diese Option +% können sowohl die verwendete Schrift für den Fließtext, als auch die Stärke +% der Schrift geändert werden. Zusätzlich lässt sich die Verwendung von DIN~Bold +% für die Überschriften deaktivieren. Außerdem kann eingestellt werden, ob für +% den Mathematiksatz serifenlose Schriften zum Einsatz kommen sollen. +% \begin{macrocode} +%<*class> +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% +%</class> +%<*titlepage> +\newif\if@tud@cdfonts +\newcommand*\tud@cdfont{0} +\DefineFamilyMember[TU-Dresden]{title} +\DefineFamilyKey[TU-Dresden]{title}{cdfont}[true]{% + \FamilySetNumerical{title}{cdfont}{tud@cdfont}{% +%</titlepage> + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {light}{1},{lightfont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% +%<*class> + {nodin}{3},% + {din}{4},% + {serifmath}{5},{serif}{5},{nosansmath}{5},{nosans}{5},% + {sansmath}{6},{sans}{6},% + {upgreek}{7},{uprightgreek}{7},{uprightGreek}{7},% + {slgreek}{8},{slantedgreek}{8},{slantedGreek}{8},% +%</class> + }{#1}% + \ifcase \tud@cdfont\relax% +%<*class> + \TUDoptions{cdfonts=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont}% + \or + \TUDoptions{din=false}% + \or + \TUDoptions{din}% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek}% +%</class> +%<*titlepage> + \@tud@cdfontsfalse% + \else% + \@tud@cdfontstrue% +%</titlepage> + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@cdfont +% \end{option}^^A cdfont +% +% \iffalse +%</titlepage|class&option> +%<*class&option> +% \fi +% +% \begin{option}{cdfonts} +% \begin{option}{tudfonts} +% \begin{macro}{\if@tud@cdfonts} +% Diese Option dient zum Umschalten auf die Schriften des \CDs für den Fließtext. +% \begin{macrocode} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \if@atdocument% +% \end{macrocode} +% Wird die Option innerhalb nach der Präambel angewendet, erfolgt die Umsetzung +% sofort. Entweder es werden die Schriften des \CDs verwendet, welcher durch +% \cs{tud@font@cdfonts} aktiviert werden oder\dots +% \begin{macrocode} + \if@tud@cdfonts% + \tud@font@cdfonts% +% \end{macrocode} +% \dots es wird bei entsprechender Option auf die zu Dokumentbeginn gesicherten +% Schriften\footnote{mit und ohne Serifen} zurückgeschaltet. +% \begin{macrocode} + \else% + \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{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \tud@cmd@restore{mdseries@rm}% + \tud@cmd@restore{bfseries@rm}% + \tud@cmd@restore{mdseries@sf}% + \tud@cmd@restore{bfseries@sf}% + \tud@cmd@restore{mdseries@tt}% + \tud@cmd@restore{bfseries@tt}% + \edef\rmdef@ult{\rmdefault} + \edef\sfdef@ult{\sfdefault} + \edef\ttdef@ult{\ttdefault} + \edef\bfdef@ult{\bfdefault} + \edef\mddef@ult{\mddefault} + \normalfont\selectfont% + \fi% +% \end{macrocode} +% Da der Befehl \cs{tud@layout@process} auf jeden Fall mit \cs{AfterEndPreamble} +% verzögert ausgeführt wird, muss dies bei der Wahl der Option nur nach der +% Präambel, also im Dokument selbst neuerlich erfolgen. +% \begin{macrocode} + \tud@layout@process% +% \end{macrocode} +% Die Einstellungen der Mathematikschriften sind~-- momentan~-- nur innerhalb +% der Präambel verfügbar. Es kann eingestellt werden, ob Serifenlose aus der +% zu Dokumentbeginn verwendeten Schrift für den Mathematiksatz genutzt werden +% sollen. Das Standardverhalten ist anhängig davon, welche Schriften für den +% Fließtext Verwendung finden. +% \begin{macrocode} + \else% +% \end{macrocode} +% Die Mathematikschriften werden bei der Verwendung der Schriften des \CDs +% ~-- falls nicht anders durch den Anwender definiert~-- auf Serifenlose +% gesetzt. Außerdem wird das \pkg{cmbright}-Paket für den Satz der griechischen +% Buchstaben genutzt. +% \begin{macrocode} + \if@tud@cdfonts% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \fi% +} +% \end{macrocode} +% Diese Option wird nur aus Gründen der Kombatibilität zu v1.0 definiert. +% \begin{macrocode} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfonts=true}% + \else% + \TUDoptions{cdfonts=false}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@cdfonts +% \end{option}^^A tudfonts +% \end{option}^^A cdfonts +% +% \iffalse +%</class&option> +%<*class&!option> +% \fi +% +% \begin{macro}{\tud@font@cdfonts} +% Mit diesem Befehl werden die Schriften des \CDs aktiviert. +% \begin{macrocode} +\newcommand*\tud@font@cdfonts{% +% \end{macrocode} +% Dabei werden die Schnitte der Schriften +% \begin{macrocode} + \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{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \tud@cmd@store{mdseries@rm}% + \tud@cmd@store{bfseries@rm}% + \tud@cmd@store{mdseries@sf}% + \tud@cmd@store{bfseries@sf}% + \tud@cmd@store{mdseries@tt}% + \tud@cmd@store{bfseries@tt}% + \if@tud@univers% + \if@tud@heavyfont% + \def\bfseries@rm{b}% + \def\bfseries@sf{b}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \def\bfseries@rm{m}% + \def\bfseries@sf{m}% + \def\mdseries@rm{l}% + \def\mdseries@sf{l}% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \fi% + \renewcommand*\sfdefault{\tud@univers}% + \else% + \def\bfseries@rm{bx}% + \def\bfseries@sf{bx}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{bx}% + \renewcommand*\mddefault{m}% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% +% \end{macrocode} +% Als \texttt{typewriter}"=Schriften kommen selbige aus dem \pkg{cmbright}-Paket +% zum Einsatz. +% \begin{macrocode} + \renewcommand{\ttdefault}{cmtl}% +% \end{macrocode} +% Es folgen Einstellungen für das \pkg{mweights}-Paket. +% \begin{macrocode} + \def\bfseries@tt{m}% + \def\mdseries@tt{m}% + \edef\rmdef@ult{\rmdefault}% + \edef\sfdef@ult{\sfdefault}% + \edef\ttdef@ult{\ttdefault}% + \edef\bfdef@ult{\bfdefault}% + \edef\mddef@ult{\mddefault}% + \normalfont\selectfont% +} +% \end{macrocode} +% \end{macro}^^A \tud@font@cdfonts +% \begin{macro}{\tud@font@mathfonts} +% Mit diesem Befehl werden die Einstellungen für den Mathematiksatz übernommen. +% \begin{macrocode} +\newcommand*\tud@font@mathfonts{% + \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% + \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% + \mathversion{normal}% +} +% \end{macrocode} +% \end{macro}^^A \tud@font@mathfonts +% +% \iffalse +%</class&!option> +%<*class&option> +% \fi +% +% \begin{option}{heavyfont} +% \begin{macro}{\if@tud@heavyfont} +% Hiermit lässt sich die Schriftstärke im Dokument beeinflussen. +% \begin{macrocode} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \if@tud@cdfonts% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@heavyfont +% \end{option}^^A heavyfont +% \begin{option}{din} +% \begin{macro}{\if@tud@din} +% Diese Option dient zur Auswahl, ob die Schrift DIN~Bold für die Überschriften +% verwendet werden soll. +% \begin{macrocode} +\newif\if@tud@din\@tud@dintrue +\TUD@ifkey{din}{@tud@din} +% \end{macrocode} +% \end{macro}^^A \if@tud@din +% \end{option}^^A din +% +% \subsection{Schriften für den Mathematiksatz} +% +% Da die Schriften des \CDs keinen Mathematiksatz beeinhalten, musste~-- +% insbesondere für griechische Symbole~-- eine passende Alternative gefunden +% werden. Die Auswahl an Mathematikschriften für \LaTeX{} ist relativ gering. +% Dennoch schien das \pkg{cmbright}-Paket dafür geeignet, weshalb dieses direkt +% bei der Installation der Schriften eingebunden wurde. +% \begin{option}{sansmath} +% \begin{macro}{\if@tud@sansmath} +% \begin{macro}{\if@tud@sansmath@locked} +% Mit dieser Option kann die genutzte Standardschrift für den Mathematiksatz +% für das gesamte Dokument umgestellt werden. +% \begin{macrocode} +\newif\if@tud@sansmath +\TUD@key@lock{sansmath}[true]{% + \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@sansmath@locked +% \end{macro}^^A \if@tud@sansmath +% \end{option}^^A sansmath +% \begin{option}{slantedgreek} +% \begin{macro}{\if@tud@slantedgreek} +% \begin{macro}{\if@tud@slantedgreek@locked} +% Mit dieser Option kann die Neigung der griechischen Majuskeln geändert werden. +% \begin{macrocode} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@slantedgreek@locked +% \end{macro}^^A \if@tud@slantedgreek +% \end{option}^^A slantedgreek +% +% \iffalse +%</class&option> +%<*titlepage|class&!option> +% \fi +% +% \begin{macro}{\tud@head@font@set} +% \begin{macro}{\tud@head@font@bold} +% \begin{macro}{\tud@head@font@light} +% Die Schrift der Kopfzeile wird entweder in den Schriften des \CDs oder aber in +% den serifenlosen Standardschriften gesetzt, wobei für beide Varianten sowohl +% eine fettgedruckte als auch eine normale Version benötigt wird. Die Schrifthöhe +% ist durch das \CD unabhängig von der gewählten Schriftgröße im Dokument +% vorgegeben und wird in Abhängigkeit von der Papiergröße gewählt und in +% \cs{tud@head@font@size} gespeichert. +% \begin{macrocode} +\newcommand*\tud@head@font@set{% + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\sfdefault}{bx}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% +%<*class> + {\encodingdefault}{\sfdefault}{\mdseries@sf}{n}{\tud@head@font@size}% + \if@tud@cdfonts\if@tud@univers% +%</class> +%<*titlepage> + {\encodingdefault}{\sfdefault}{\mddefault}{n}{\tud@head@font@size}% + \if@tud@cdfonts% +%</titlepage> + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\tud@univers}{b}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% +%<*class> + {\encodingdefault}{\tud@univers}{\mdseries@sf}{n}{\tud@head@font@size}% + \fi\fi% +%</class> +%<*titlepage> + {\encodingdefault}{\tud@univers}{\mddefault}{n}{\tud@head@font@size}% + \fi% +%</titlepage> +} +% \end{macrocode} +% \end{macro}^^A \tud@head@font@light +% \end{macro}^^A \tud@head@font@bold +% \end{macro}^^A \tud@head@font@set +% +% \iffalse +%<*class> +% \fi +% +% Damit die Schrift im Dokument später noch umgestellt werden kann, werden +% sämtliche Einstellungen erst zu Beginn des Dokumentes gesichert. Deshalb wird +% der dafür verantwortliche Befehl \cs{tud@font@cdfonts} hier zum ersten Mal +% verwendet. Damit ist es möglich, die Schriften eventuell geladener Pakete wie +% \pkg{lmodern} oder \pkg{libertine} vorher zu sichern und später wieder zu +% aktivieren. Auch die Einstellungen für den Mathematiksatz werden erstmalig +% durch \cs{tud@font@mathfonts} gesetzt. +% \begin{macrocode} +\AtBeginDocument{\if@tud@cdfonts\tud@font@cdfonts\fi\tud@font@mathfonts} +% \end{macrocode} +% Das Paket \pkg{cmbright} bringt zusätzlich noch Schriftschnitte für die +% \pkg{ams}"=Pakete mit. Diese werden gegebenenfalls geladen. +% \begin{macrocode} +\AfterPackage{amsfonts}{% + \DeclareFontFamily{U}{msa}{}% + \DeclareFontShape{U}{msa}{m}{n}{% + <-9>cmbras8% + <9-10>cmbras9% + <10->cmbras10% + }{}% + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{% + <-9>cmbrbs8% + <9-10>cmbrbs9% + <10->cmbrbs10% + }{}% +} +% \end{macrocode} +% +% \subsection{fontspec} +% \todo{% +% Ist die Verwendung von \pkg{fontspec} für LuaTeX bzw. XeTeX sinnvoll und +% zügig umsetzbar? Wie geht man mit den Mathematikschriften um?% +% } +% +% Die Möglichkeit, Open Type Schriften aus dem System sehr einfach mit dem Paket +% \pkg{fontspec} für \hologo{LuaLaTeX} bzw. \hologo{XeLaTeX} einzubinden, wird +% momentan noch nicht genutzt. Eine Schriftinstallation via Skript wäre damit +% obsolet. Allerdings sind die PostScript"=Schriften für die Kompilierung via +% \texttt{latex $\rightarrow$ dvips $\rightarrow$ ps2pdf}~-- wie es z.\,B. für +% die Erstellung von Grafiken mit \pkg{pstricks} notwendig ist~-- auch weiterhin +% nötig. +% +% Ebenfalls ungeklärt ist momentan, wie mit den Mathematikschriften umgegangen +% werden müsste. Ebenfalls ist nicht sicher, wie die Problematik mit falschem +% Kerning der Schriften ideal gelöst werden könnte. Da mittlerweile auch die +% skriptbasierte Installation der PostScript"=Schriften gut funktioniert, ist +% eine Implementierung momentan nicht vorgesehen. +% ^^A% \if@tud@heavyfont% +% ^^A% \setmainfont[% +% ^^A% BoldFont = Univers Bold,% +% ^^A% ItalicFont = Univers Light Oblique,% +% ^^A% BoldItalicFont = Univers Bold Oblique,% +% ^^A% ]{Univers Light}% +% ^^A% \else% +% ^^A% \setmainfont[% +% ^^A% BoldFont = Univers Black,% +% ^^A% ItalicFont = Univers Oblique,% +% ^^A% BoldItalicFont = Univers Black Oblique,% +% ^^A% ]{Univers}% +% ^^A% \fi% +% ^^A% \iflua +% ^^A% \newfontface\univln{Univers Light} +% ^^A% \newfontface\univrn{Univers} +% ^^A% \newfontface\univbn{Univers Bold} +% ^^A% \newfontface\univxn{Univers Black} +% ^^A% \newfontface\univls{Univers Light Oblique} +% ^^A% \newfontface\univrs{Univers Oblique} +% ^^A% \newfontface\univbs{Univers Bold Oblique} +% ^^A% \newfontface\univxs{Univers Black Oblique} +% ^^A% \newfontface\@dinbn{DIN Bold} +% ^^A% \newcommand*\dinbn{\@dinbn\tud@raggedright} +% ^^A% \else +% ^^A% \newcommand*\univln{\usefont{\encodingdefault}{\tud@font}{l}{n}} +% ^^A% \newcommand*\univrn{\usefont{\encodingdefault}{\tud@font}{m}{n}} +% ^^A% \newcommand*\univbn{\usefont{\encodingdefault}{\tud@font}{b}{n}} +% ^^A% \newcommand*\univxn{\usefont{\encodingdefault}{\tud@font}{eb}{n}} +% ^^A% \newcommand*\univls{\usefont{\encodingdefault}{\tud@font}{l}{sl}} +% ^^A% \newcommand*\univrs{\usefont{\encodingdefault}{\tud@font}{m}{sl}} +% ^^A% \newcommand*\univbs{\usefont{\encodingdefault}{\tud@font}{b}{sl}} +% ^^A% \newcommand*\univxs{\usefont{\encodingdefault}{\tud@font}{eb}{sl}} +% ^^A% \fi +% ^^A% \DeclareTextFontCommand{\textuln}{\univln} +% ^^A% \DeclareTextFontCommand{\texturn}{\univrn} +% ^^A% \DeclareTextFontCommand{\textubn}{\univbn} +% ^^A% \DeclareTextFontCommand{\textuxn}{\univxn} +% ^^A% \DeclareTextFontCommand{\textuls}{\univls} +% ^^A% \DeclareTextFontCommand{\texturs}{\univrs} +% ^^A% \DeclareTextFontCommand{\textubs}{\univbs} +% ^^A% \DeclareTextFontCommand{\textuxs}{\univxs} +% ^^A% \DeclareTextFontCommand{\textdbn}{\dinbn} +% ^^A% \usepackage{unicode-math} +% ^^A% \setmathfont{Latin Modern Math} +% +% \iffalse +%</class> +% \fi +% +% \subsection{Kompatibilitätseinstellungen} +% +% \begin{macro}{\tud@raggedright} +% \begin{macro}{\tud@RaggedRight} +% Die Überschriften in DIN"~Bold sollen laut \CD linksbündig und nie mit +% Silbentrennung gesetzt werden. Normalerweise ist das dies beim linksbündigen +% Satz bei \LaTeX{} der Fall. Allerdings ist es mit dem Paket \pkg{ragged2e} +% möglich, das Verhalten für den Flattersatz zu ändern und die Silbentrennung +% zu aktivieren. Mit der Option \opt{newcommands} werden dabei die originalen +% Befehle überschrieben, vorher jedoch in \cs{LaTeX\dots} gesichert. Dieses +% Makro dient dazu, die Überschriften in jedem Fall~-- auch bei der Verwendung +% von \pkg{ragged2e} mit der Option \opt{newcommands}~-- ohne Trennungen zu +% setzen. +% \begin{macrocode} +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage{ragged2e}{% + \ifdef{\LaTeXraggedright}% + {\renewcommand*\tud@raggedright{\LaTeXraggedright}}{}% + \renewcommand*\tud@RaggedRight{\RaggedRight} +} +% \end{macrocode} +% \end{macro}^^A \tud@ragged2e +% \end{macro}^^A \tud@raggedright +% +% \iffalse +%</titlepage|class&!option> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx new file mode 100644 index 00000000000..123bc84176f --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-frontmatter.dtx @@ -0,0 +1,861 @@ +% \CheckSum{459} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-frontmatter.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-frontmatter.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (frontmatter)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-frontmatter.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Befehle und Umgebungen für den Vorspann} +% +% Im Vorspann des Dokumentes kann der Benutzer eine Zusammenfassung angegeben. +% Außerdem kann eine Selbstständigkeitserklärung sowie ein Sperrvermerk +% hinzugefügt werden. Damit für diese das Layout möglichst individuell gewählt +% werden kann, werden hier entsprechende Optionen und die dafür notwendige +% Ausgabe definiert. Im weiteren Verlauf der Dokumentation wird der Begriff +% \glqq Erklärung\grqq für die unterschiedlichen Elemente verwendet. Die +% verwendeten Schalter und Befehle zum Setzen der Optionen heißen entweder +% \cs{tud@abstract@\dots} oder aber \cs{tud@declaration@\dots} je nach Element. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class&!option> +% \fi +% +% \begin{macro}{\tud@fm@set} +% Dies ist das zentrale Makro zur Ausgabe der einzelnen Erklärungen, welches +% alle relevanten Optionen\footnote{\opt{titlepage}, \opt{twocolumn}, +% \opt{abstract/declaration=double}, \opt{abstract/declaration=fill} sowie die +% Gliederungsebene der Überschrift} unterscheidet und die Erklärungen diesen +% entsprechend setzt. Verwendet wird der Befehl wie folgt: +% \cs{tud@fm@set}\marg{Erklärungstyp}\marg{Überschrift}\marg{Inhalt} +% \begin{macrocode} +\newcommand*\tud@fm@set[3]{% +% \end{macrocode} +% Ist die Gliederungsebene der Erklärung kein Kapitel\dots +% \begin{macrocode} +%<*book|report> + \ifnumless{\@nameuse{tud@#1@level}}{3}{% +%</book|report> +% \end{macrocode} +% \dots und die Option \opt{titlepage} ist aktiviert\dots +% \begin{macrocode} + \if@titlepage% +% \end{macrocode} +% \dots dann wird im Zweispaltensatz der Schalter \cs{@tud@\meta{Typ}@double} +% ausgewertet und für den Fall von \opt{abstract/declaration=double} kein +% Spaltenumbruch erzeugt. Ansonsten werden nachfolgende Erklärungen in eine +% neue Spalte gesetzt. +% \begin{macrocode} + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@double}{}{\newpage}% +% \end{macrocode} +% Sollte im normalen Satz \opt{abstract/declaration=double} aktiviert sein, so +% wird versucht, nachfolgende Erklärung auf der gleichen Seite wie die erste +% unterzubringen. Dazu wird die zunächst benötigte Höhe für die Ausgabe des +% Inhaltes mithilfe einer Box berechnet und mit dem noch verfügbaren Platz auf +% der Seite~-- gespeichert in \cs{tud@dim@double}~-- verglichen. +% \begin{macrocode} + \else% + \ifbool{@tud@#1@double}{% + \par% + \ifdim\pagetotal=\z@\relax% + \booltrue{@tud@#1@first}% + \fi% + \ifbool{@tud@#1@first}{% + \global\setlength{\tud@dim@double}{\textheight}% + \clearpage% + }{}% + \setbox0\vtop{\strut\tud@fm@body{#1}{#2}{#3}}% + \global\setlength{\tud@dim@double}% + {\dimexpr\tud@dim@double-\ht0-\dp0}\relax% +% \end{macrocode} +% Ist genügend Platz vorhanden, erfolgt die Ausgabe auf der aktuellen Seite. +% \begin{macrocode} + \ifdim\tud@dim@double>\z@\relax% + \tud@fm@vcenter{#1}{#2}{#3}% + \global\boolfalse{@tud@#1@first}% +% \end{macrocode} +% Sollte nicht genügend Platz vorhanden sein, erfolgt eine Warnung und die +% Zusammenfassung wird auf einer neuen Seite ausgegeben. +% \begin{macrocode} + \else% + \tud@fm@double@wrn{#1}% + \clearpage% + \global\booltrue{@tud@#1@first}% + \tud@fm@vcenter{#1}{#2}{#3}% + \fi% +% \end{macrocode} +% Im normalen Satz wird bei deaktivierter \opt{\meta{Typ}=double}-Option der +% Inhalt der Erklärung zentriert mit +% \cs{tud@fm@vcenter}\marg{Erklärungstyp}\marg{Überschrift}\marg{Inhalt} +% auf der Seite ausgegeben. +% \begin{macrocode} + }{% + \clearpage% + \tud@fm@vcenter{#1}{#2}{#3}% + \clearpage% + }% + \fi% +% \end{macrocode} +% Bei deaktivierter \opt{titlepage}-Option werden die Inhalte jeder erzeugten +% Erklärung direkt nacheinander ausgegeben. Ein gezieltes Erstellen von genau +% zwei Erklärungen auf einer Seite ist nicht vorgesehen und erzeugt bei aktiver +% \opt{abstract/declaration=double}-Option eine Warnung. Beim Satz über zwei +% Spalten erfolgt die Ausgabe ohne sonderliche Auszeichnung. Im normalen Satz +% wird die Erklärung wie ein Zitat ausgegeben, sollte dessen Überschrift nicht +% in Form eines Abschnitts gesetzt werden.\footnote{es wird der Inhalt der +% Erklärung mittels \cs{tud@quoting} und \cs{tud@endquoting} entweder in der +% normalen \env{quotation}-Umgebung oder aber~-- wenn entsprechend das Paket +% \pkg{quoting} geladen wurde~-- in der \env{quoting}-Umgebung gesetzt} +% \begin{macrocode} + \else% + \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \else% + \ifnum\@nameuse{tud@#1@level}<2\tud@quoting\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\tud@endquoting\fi% + \fi% + \fi% +% \end{macrocode} +% Sollte die Gliederungsebene der Erklärung einem Kapitel entsprechen, wird +% hier jede Erklärung immer auf eine neue Seite gesetzt. Es wird sowohl bei +% deaktivierter \opt{titlepage}-Option\footnote{Warum sollte man einen +% Titelkopf nutzen, wenn die meist direkt nachfolgende Erklärung selbst als +% Kapitel auf eine neue Seite gesetzt wird?} als auch bei aktivierter +% \opt{abstract/declaration=double}-Option eine passende Warnung ausgegeben. +% \begin{macrocode} +%<*book|report> + }{% + \if@titlepage\else\tud@fm@level@wrn{#1}\fi% + \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}% + \clearpage% + \tud@fm@body{#1}{#2}{#3}% + \clearpage% + }% +%</book|report> +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@set +% \todo[v3.12]{% +% addchaptertocentry und addsectiontocentry durch addxcontentsline ersetzen +% } +% \begin{macro}{\tud@fm@head} +% Dieses Makro dient zur Festlegung der Gliederungsebene der Überschrift der +% Erklärung. Die gewählte Gliederungsebene ist in \cs{tud@\meta{Typ}@level} +% gespeichert. Verwendet wird das Makro folgendermaßen: +% \cs{tud@fm@set}\marg{Erklärungstyp}\marg{Überschrift}\marg{Inhalt}. +% Damit die ggf. aktive Option \opt{abstract/declaration=toc} funktionieren +% kann, wird für die Level, in denen keine Standardüberschrift verwendet wird, +% mit dem Befehl \cs{phantomsection} aus dem Paket \pkg{hyperref} ein Anker für +% einen möglichen Hyperlink erzeugt.\footnote{ist das Paket nicht geladen, ist +% \cs{phantomsection} als \cs{relax} definiert} Ist \cs{if@tud@\meta{Typ}@toc} +% wahr, so entspricht der erzeugte Eintrag ins Inhaltsverzeichnis für +% \cls{tudscrartcl} immer dem eines Abschnitts, der für \cls{tudscrbook} und +% \cls{tudscrreprt} immer dem eines Kapitels, unabhängig von der tatsächlich +% gewählten Gliederungsebene.\footnote{sonst sieht das Inhaltsverzeichnis recht +% bescheiden aus} +% \begin{macrocode} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \def\@tempa{\phantomsection}% + \or% + \def\@tempa{% + \phantomsection% + \@afterindentfalse% + \begin{center}% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \end{center}% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip% + \@afterheading% + }% + \or% + \def\@tempa{\addsec*{#2}}% +%<*book|report> + \or% + \def\@tempa{\addchap*{#2}}% +%</book|report> + \fi% + \ifbool{@tud@#1@toc}{% +%<*book|report> + \apptocmd{\@tempa}{\addchaptertocentry{}{#2}}{}{}% +%</book|report> +%<*article> + \apptocmd{\@tempa}{\addsectiontocentry{}{#2}}{}{}% +%</article> + }{}% + \@tempa% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@head +% \begin{macro}{\tud@fm@vcenter} +% Mit diesem Befehl wird die Erklärung vertikal zentriert auf einer Seite +% ausgegeben, wenn genügend Platz vorhanden ist. +% \begin{macrocode} +\newcommand*\tud@fm@vcenter[3]{% + \ifdim\@tempdima>\dimexpr\textheight\relax% + \tud@fm@body{#1}{#2}{#3}% +% \end{macrocode} +% Sollte als Überschrift die Gliederungsebene eines Abschnittes gewählt sein, +% so wird standardmäßig durch den \cs{section}-Befehl ein zusätzlicher Abstand +% eingefügt. Damit dieser beim vertikalen Zentrieren keinen Einfluss hat, wird +% dieser bei aktivem Schalter \cs{if@tud@\meta{Typ}@fil} entfernt. +% \begin{macrocode} + \else% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% +% \end{macrocode} +% Dabei wird zur optischen Zentrierung der Platz zum oberen Seitenrand etwas +% kleiner als der zum unteren gewählt. +% \begin{macrocode} + \ifbool{@tud@#1@first}{\vspace*{\z@ \@plus 2fil}}{}% + }{}% +% \end{macrocode} +% Die Ausgabe des formatierten Erklärung und der zweite Teil der optischen +% Zentrierung. +% \begin{macrocode} + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 3fil}}{}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@vcenter +% \begin{macro}{\tud@fm@body} +% Dieser Befehl formatiert den im dritten Argument gespeicherten Inhalt der +% Erklärung. Sollte das Paket \pkg{multicol} Verwendung finden, wird hier die +% entsprechende Umgebung gestartet. Für das Setzen der Überschrift wird +% \cs{tud@fm@head} verwendet, welches abhängig von den gewählten Optionen die +% Gliederungsebene der Überschrift setzt. +% \todo[v3.12]{% +% Seitenstile für tudpage, abstract und declaration als Option; dann ist auch +% auch die Verwendung von \cs{@mkboth} möglich +% } +% \begin{macrocode} +\newcommand*\tud@fm@body[3]{% +% ^^A \@mkboth{\MakeMarkcase{#2}}{\MakeMarkcase{#2}}% + \if@titlepage\@mkboth{}{}\fi% + \if@twocolumn% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \ifbool{@tud@#1@first}{% + \global\boolfalse{@tud@#1@first}% + \vspace{\dimexpr\bigskipamount-\parskip}% + }{}% + \fi% + \tud@fm@head{#1}{#2}% + #3\par% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip}% + \fi% + \else% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}\leavevmode% + \else% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \bigskip\vskip-\parskip\null% + \fi% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@body +% \begin{macro}{\tud@quoting} +% \begin{macro}{\tud@endquoting} +% Mit diesen Befehlen kann das empfehlenswerte Paket \pkg{quoting} unterstützt +% werden. Sollte dieses geladen werden, wird für das Setzen der Zusammenfassung +% bei einem Titelkopf die \env{quoting}-Umgebung genutzt. +% \begin{macrocode} +\let\tud@quoting\quotation +\let\tud@endquoting\endquotation +\AfterPackage{quoting}{% + \let\tud@quoting\quoting% + \let\tud@endquoting\endquoting% +} +% \end{macrocode} +% \end{macro}^^A \tud@endquoting +% \end{macro}^^A \tud@quoting +% +% \iffalse +%</class&!option> +%<*class&option> +% \fi +% +% \subsection{Erweiterung der Umgebung für eine Zusammenfassung} +% +% Die \env{abstract}-Umgebung wird um mehrere Optionen erweitert. So kann +% in den neuen \cls{tudscr}-Klassen die Sprache der Zusammenfassung leicht +% eingestellt und auch zwei Zusammenfassungen auf eine Seite gesetzt werden. +% \begin{macro}{\tud@abstract@level} +% \begin{macro}{\if@tud@abstract@toc} +% \begin{macro}{\if@tud@abstract@toc@locked} +% Der Befehl \cs{tud@abstract@level} beschreibt die Gliederungsebene der +% Überschrift der Zusammenfassung numerisch und wird über die Schlüssel der +% Option \opt{abstract} gesetzt. Über \opt{abstract=toc/notoc} wird festgelegt, +% ob die Zusammenfassung einen eigenen Eintrag ins Inhaltsverzeichnis bekommt. +% Da unterschiedliche Gliederungsebenen der Überschriften möglich sind, wird das +% Standardverhalten in Abhängigkeit dieser gewählt. Initial erscheint für +% \cls{tudscrreprt} und \cls{tudscrartcl}~-- wie in \KOMAScript{} auch~-- keine +% Überschrift und kein Eintrag im Inhaltsverzeichnis. In \cls{tudscrbook} wird +% standardmäßig eine Überschrift in Form eines Kapitels mit Eintrag ins +% Inhaltsverzeichnis gesetzt. +% \begin{macrocode} +%<*report|article> +\newcommand*\tud@abstract@level{0} +\newbool@lock{@tud@abstract@toc} +%</report|article> +%<*book> +\newcommand*\tud@abstract@level{3} +\newbool@lock[true]{@tud@abstract@toc} +%</book> +% \end{macrocode} +% \end{macro}^^A \if@tud@abstract@toc@locked +% \end{macro}^^A \if@tud@abstract@toc +% \end{macro}^^A \tud@abstract@level +% \begin{macro}{\if@tud@abstract@double} +% Mit diesem Schalter wird ggf. versucht, eine in einer anderen Sprache +% verfasste Zusammenfassung auf die gleiche Seite wie die erste zu setzen. +% Dazu muss die Option \opt{abstract=single/double} genutzt werden. +% \begin{macrocode} +\newif\if@tud@abstract@double +% \end{macrocode} +% \end{macro}^^A \if@tud@abstract@double +% \begin{macro}{\if@tud@abstract@fil} +% Mit diesem Schalter wird bestimmt, ob eine Zusammenfassung auf einer Seite +% vertikal zentriert wird. Er wird mit \opt{abstract=fill/nofill} gesetzt und +% ist normalerweise aktiviert. +% \begin{macrocode} +\newif\if@tud@abstract@fil +\@tud@abstract@filtrue +% \end{macrocode} +% \end{macro}^^A \if@tud@abstract@fil +% \begin{macro}{\if@tud@abstract@first} +% \begin{length}{\tud@dim@double} +% Um prüfen zu können, ob noch genügend Platz für eine weitere Zusammenfassung +% auf einer Seite vorhanden ist, wird die Länge \cs{tud@dim@double} benötigt. +% Außerdem wird der Schalter \cs{if@tud@abstract@first} definiert, mit welchem +% unterschieden werden kann, ob es sich um die erste von mehreren +% Zusammenfassungen auf einer Seite handelt. +% \begin{macrocode} +\newif\if@tud@abstract@first +\@tud@abstract@firsttrue +\newlength{\tud@dim@double} +% \end{macrocode} +% \end{length}^^A \tud@dim@double +% \end{macro}^^A \if@tud@abstract@first +% \todo[v3.12]{abstract im tudpagestyle als key (scrlayer)} +% \begin{option}{abstract} +% Das aus \KOMAScript{} bekannte Verhalten wird für die beiden Klassen +% \cls{tudscrartcl} und \cls{tudscrreprt} adaptiert. Außerdem werden +% zusätzliche Optionen für den Stil der Überschriften in Form von +% Gliederungsebenen wie Kapitel\footnote{bei \cls{tudscrbook} und +% \cls{tudscrreprt}} oder Unterkapitel bereitgestellt, welche~-- im Gegensatz +% zu \KOMAScript{}~-- auch für die Buchklasse \cls{tudscrbook} zur Verfügung +% stehen. +% \begin{macrocode} +%<*report|article> +\TUD@key{abstract}[true]{% +%</report|article> +%<*book> +\TUD@key{abstract}[chapter]{% +%</book> + \TUD@set@numkey{abstract}{@tempa}{% +%<*report|article> + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% +%</report|article> + {section}{2},{sect}{2},{sec}{2},% +%<*article> + {new}{2},{std}{2},{heading}{2},% +%</article> +%<*book|report> + {chapter}{3},{chap}{3},% + {new}{3},{std}{3},{heading}{3},% +%</book|report> +% \end{macrocode} +% Zusätzlich lassen sich die Werte \opt{abstract=double}, \opt{abstract=toc} +% sowie \opt{abstract=fill} setzen. +% \begin{macrocode} + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% +% \end{macrocode} +% Bei der Einstellungen der Überschriftgliederungsebene wird außerdem das +% Standardverhalten für einen Eintrag ins Inhaltsverzeichnis festgelegt, was +% allerdings vom Anwender jederzeit überschrieben werden kann. +% \begin{macrocode} + \ifcase \@tempa\relax% +%<*report|article> + \def\tud@abstract@level{0}% + \stdbool@lock{@tud@abstract@toc}{false}% +%</report|article> + \or% +%<*report|article> + \def\tud@abstract@level{1}% + \stdbool@lock{@tud@abstract@toc}{false}% +%</report|article> + \or% + \def\tud@abstract@level{2}% + \stdbool@lock{@tud@abstract@toc}{true}% + \or% +%<*book|report> + \def\tud@abstract@level{3}% + \stdbool@lock{@tud@abstract@toc}{true}% +%</book|report> +% \end{macrocode} +% Neben den Einstellungen für die Art der Gliederungsebene der Überschrift für +% die Zusammenfassung können außerdem noch die Optionen gesetzt werden, ob +% versucht werden soll, eine mögliche Zusammenfassung in einer anderen Sprache +% auf die gleiche Seite wie die erste zu setzen (\opt{abstract=double}) und ob +% die Zusammenfassung einen Eintrag ins Inhaltsverzeichnis bekommen soll. +% \begin{macrocode} + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@doublefalse% + \or% + \@tud@abstract@doubletrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% +} +% \end{macrocode} +% \end{option}^^A abstract +% +% \iffalse +%</class&option> +%<*class&!option> +% \fi +% +% \begin{environment}{abstract} +% Die \env{abstract}-Umgebung wird komplett überarbeitet. Um alle gewünschten +% Optionen\footnote{\opt{titlepage}, \opt{twocolumn}, \opt{abstract@double}, +% \opt{abstract@fil} sowie Gliederungsebene der Überschrift} beachten zu +% können, wird auf die Möglichkeiten der Definition mit \cs{NewEnviron} aus dem +% Paket \pkg{environ} zurückgegriffen. Damit ist es möglich, gezielt auf den +% Inhalt der Umgebung selbst mit dem Befehl \cs{BODY} zuzugreifen. Dieser +% Mechanismus wird innerhalb von \cs{tud@abstractbody} verwendet. +% \begin{macrocode} +%<*report|article> +\csundef{abstract} +\csundef{endabstract} +%</report|article> +\NewEnviron{abstract}[1][]{% +% \end{macrocode} +% Als erstes werden die Optionen verarbeitet. Sollte nach Abarbeitung der +% Optionen für \env{abstract} festgestellt werden, dass eine spezielle +% Spaltenanzahl gewünscht ist, so wird~-- für den Fall, dass das Paket +% \pkg{multicol} geladen ist~-- diese gesetzt. Sonst wird die angegbene Anzahl +% der Spalten ignoriert und eine Warnung ausgegeben. +% \begin{macrocode} + \TUD@parameter@set[abstract]{#1}% + \tud@multicols@check% + \tud@fm@set{abstract}{\abstractname}{\BODY}% +} +% \end{macrocode} +% \end{environment}^^A abstract +% \begin{parameter}{language} +% \begin{parameter}{columns} +% \begin{parameter}{abstract} +% \begin{parameter}{option} +% Als Schlüssel für die \env{abstract}-Umgebung können Sprache, Anzahl der +% Spalten oder auch die zur Umgebung gehörigen Klassenoptionen angegeben werden. +% \begin{macrocode} +\TUD@parameter{abstract}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% + \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% +% \end{macrocode} +% Für die Optionsangabe ohne Schlüssel und Wert kann eine Anzahl an Spalten +% oder eine alternative Sprache angegeben werden. Hierfür ist der Befehl +% \cs{tud@environmenthandler} definiert, welcher auch von \env{tudpage}-Umgebung +% verwendet wird +% \begin{macrocode} + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +% \end{macrocode} +% \end{parameter}^^A option +% \end{parameter}^^A abstract +% \end{parameter}^^A columns +% \end{parameter}^^A language +% \todo[v3.12]{% +% Einführen mit currentpagestyle sinnvoll; wie bei \texttt{abstract=chapter}? +% bestenfalls chapterpagestyle als weitere Option; wenn nicht gegeben, dann mit +% option pagestyle überschreiben bzw. erahnen\dots +% } +% \begin{macro}{\abstractpagestyle} +% Damit der Anwender relativ schnell beeinflussen kann, wie der Seitenstil +% für die Zusammenfassung sein soll, wird dieser Befehl eingeführt. Dabei wird +% im Standardfall für allerlei Unterscheidungen gesorgt. +% \begin{macrocode} +% ^^A\newcommand*\abstractpagestyle{% +% ^^A \if@titlepage% +% ^^A empty% +% ^^A \else% +% ^^A%<*book|report> +% ^^A \ifnum\tud@abstract@level>2% +% ^^A \chapterpagestyle% +% ^^A \else% +% ^^A plain% +% ^^A \fi% +% ^^A%</book|report> +% ^^A%<*article> +% ^^A plain% +% ^^A%</article> +% ^^A \fi% +% ^^A} +% \end{macrocode} +% \end{macro}^^A \abstractpagestyle +% +% \iffalse +%</class&!option> +%<*class&option> +% \fi +% +% \subsection{Befehle für Selbstständigkeitserklärung und Sperrvermerk} +% +% Die Befehle für Selbstständigkeitserklärung und Sperrvermerk werden +% äquivalent zur \env{abstract}-Umgebung mit den gleichen Optionen +% ausgestattet. +% \todo[v3.12]{declaration im tudpagestyle als key (scrlayer)} +% \begin{macro}{\tud@declaration@level} +% \begin{macro}{\if@tud@declaration@toc} +% \begin{macro}{\if@tud@declaration@toc@locked} +% \begin{macro}{\if@tud@declaration@double} +% \begin{macro}{\if@tud@declaration@fil} +% \begin{macro}{\if@tud@declaration@first} +% Siehe die Option \opt{abstract}. +% \begin{macrocode} +%<*report|article> +\newcommand*\tud@declaration@level{1} +\newbool@lock{@tud@declaration@toc} +%</report|article> +%<*book> +\newcommand*\tud@declaration@level{3} +\newbool@lock[true]{@tud@declaration@toc} +%</book> +\newif\if@tud@declaration@double +\@tud@declaration@doubletrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +\newif\if@tud@declaration@first +\@tud@declaration@firsttrue +% \end{macrocode} +% \end{macro}^^A \if@tud@declaration@first +% \end{macro}^^A \if@tud@declaration@fil +% \end{macro}^^A \if@tud@declaration@double +% \end{macro}^^A \if@tud@declaration@toc@locked +% \end{macro}^^A \if@tud@declaration@toc +% \end{macro}^^A \tud@declaration@level +% \begin{option}{declaration} +% Siehe die Option \opt{abstract}. +% \begin{macrocode} +%<*report|article> +\TUD@key{declaration}[true]{% +%</report|article> +%<*book> +\TUD@key{declaration}[chapter]{% +%</book> + \TUD@set@numkey{declaration}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {section}{2},{sect}{2},{sec}{2},% +%<*article> + {new}{2},{std}{2},{heading}{2},% +%</article> +%<*book|report> + {chapter}{3},{chap}{3},% + {new}{3},{std}{3},{heading}{3},% +%</book|report> + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% + \ifcase \@tempa\relax% + \def\tud@declaration@level{0}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{1}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{2}% + \stdbool@lock{@tud@declaration@toc}{true}% + \or% +%<*book|report> + \def\tud@declaration@level{3}% + \stdbool@lock{@tud@declaration@toc}{true}% +%</book|report> + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@doublefalse% + \or% + \@tud@declaration@doubletrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% +} +% \end{macrocode} +% \end{option}^^A declaration +% +% \iffalse +%</class&option> +%<*class&!option> +% \fi +% +% \begin{macro}{\confirmation} +% Mit diesem Befehl kann die Selbstständigkeitserklärung ausgegeben werden. Das +% optionale Argument bestimmt, wer als Unterstützer angegeben wird. Damit bei +% der Angabe eines leeren optionalen Argumentes dieses Feld geleert wird, muss +% mit \cs{@ifnextchar[} eine Fallunterscheidung gemacht werden, ob ein solches +% angegeben wurde. Außerdem sind Schlüssel-Wert-Paare als Option nutzbar. +% \begin{macrocode} +\newcommand*\confirmation{% +% \end{macrocode} +% Ist ein optionales Argument gegeben, wird ohne Schlüsselangabe dank dem Paket +% \pkg{kvsetkeys} mit dem Befehl \cs{TUD@parameter@sethandler} das Feld für die +% Unterstützer gesetzt bzw. bei leerem Argument geleert. Andernfalls werden +% durch \cs{TUD@parameter@set} die Schlüssel-Wert-Paare ausgewertet. +% \begin{macrocode} + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\supporter{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\supporter{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% +% \end{macrocode} +% Ohne optionales Argument erfolgt die Ausgabe ohne Optionsbehandlung direkt. +% \begin{macrocode} + \def\@tempb{% + \tud@fm@set{declaration}{\confirmationname}% + {\confirmationtext\endgraf\@confirmationclosing}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +% \end{macrocode} +% \end{macro}^^A \confirmation +% \begin{macro}{\restriction} +% Für den Sperrvermerk wird äquivalent zu \cs{confirmation} verfahren. Das +% optionale Argument ohne Schlüssel setzt hier die Firma für den Sperrvermerk. +% \begin{macrocode} +\newcommand*\restriction{% + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\company{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\company{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% + \def\@tempb{% + \tud@fm@set{declaration}{\restrictionname}{\restrictiontext}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +% \end{macrocode} +% \end{macro}^^A \restriction +% \begin{macro}{\declaration} +% Dieser Befehl dient zur Ausgabe von sowohl Selbstständigkeitserklärung als +% auch Sperrvermerk. Über das optionale Argument kann ohne Schlüssel die +% gewünschte Sprache eingestellt werden. Zusätzlich können Optionen als +% Schlüssel-Wert-Paare angegeben werden. +% \begin{macrocode} +\newcommand*\declaration[1][]{% + \clearpage% + \begingroup% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\selectlanguage{#1}} + \TUD@parameter@set{#1} + }% + \@tud@declaration@firsttrue% + \confirmation\restriction% + \endgroup% + \clearpage% +} +% \end{macrocode} +% \end{macro}^^A \declaration +% \begin{parameter}{language} +% \begin{parameter}{supporter} +% \begin{parameter}{place} +% \begin{parameter}{closing} +% \begin{parameter}{company} +% \begin{parameter}{declaration} +% \begin{parameter}{option} +% Dies sind die möglichen Schlüssel für die Befehle \cs{declaration}, +% \cs{confirmation} und \cs{restriction}. Die Schlüssel \opt{declaration} bzw. +% \opt{option} dienen zum Setzen der Werte, welche auch als Klassenoptionen +% gesetzt werden können. +% \begin{macrocode} +\TUD@parameter{declaration}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{company}{\company{#1}}% + \TUD@parameter@define{supporter}{\supporter{#1}}% + \TUD@parameter@define{place}{\place{#1}}% + \TUD@parameter@define{closing}{\confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% +} +% \end{macrocode} +% \end{parameter}^^A option +% \end{parameter}^^A declaration +% \end{parameter}^^A company +% \end{parameter}^^A closing +% \end{parameter}^^A place +% \end{parameter}^^A supporter +% \end{parameter}^^A language +% \todo[v3.12]{Einführen mit currentpagestyle sinnvoll; wie bei chapter?} +% \begin{macro}{\declarationpagestyle} +% Damit der Anwender relativ schnell beeinflussen kann, wie der Seitenstil +% für die Erklärungen sein soll, wird dieser Befehl eingeführt. Dabei wird +% im Standardfall für allerlei Unterscheidungen gesorgt. +% \begin{macrocode} +% ^^A\newcommand*\declarationpagestyle{% +% ^^A \if@titlepage% +% ^^A empty% +% ^^A \else% +% ^^A%<*book|report> +% ^^A \ifnum\tud@declaration@level>2% +% ^^A \chapterpagestyle% +% ^^A \else% +% ^^A plain% +% ^^A \fi% +% ^^A%</book|report> +% ^^A%<*article> +% ^^A plain% +% ^^A%</article> +% ^^A \fi% +% ^^A} +% \end{macrocode} +% \end{macro}^^A \declarationpagestyle +% \begin{macro}{\tud@fm@level@wrn} +% \begin{macro}{\tud@fm@option@wrn} +% \begin{macro}{\tud@fm@double@wrn} +% Die Befehle dienen zur Warnung für nicht sinnvoll gewählte oder aber sich +% gegenseitig ausschließende Optionen. +% \begin{macrocode} +\newcommand*\tud@fm@level@wrn[1]{% + \ClassWarning{\tudcls@name}{% + Headings in chapter style '#1=chapter'\MessageBreak% + are not recommended without the titlepage\MessageBreak% + option% + }% +} +\newcommand*\tud@fm@option@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The option '#1=double' is not supported\MessageBreak% + neither with chapter headings nor without an\MessageBreak% + activated titlepage% + }% +} +\newcommand*\tud@fm@double@wrn[1]{% + \ClassWarning{\tudcls@name}{% + It wasn't possible to use '#1=double'\MessageBreak% + because of too much content within #1% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@fm@double@wrn +% \end{macro}^^A \tud@fm@option@wrn +% \end{macro}^^A \tud@fm@level@wrn +% +% \iffalse +%</class&!option> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx new file mode 100644 index 00000000000..8a1ea390fac --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-layout.dtx @@ -0,0 +1,1345 @@ +% \CheckSum{901} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-layout.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-layout.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (layout)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-layout.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Das Layout des \CDs} +% +% Für das \CD werden sowohl Teile- als auch die Kapitelseiten neu gestaltet. +% Es werden eine monochrome Version, eine Version mit leichtem Farbeinsatz und +% eine durchweg farbige Version bereitgestellt. Außerdem wird hier das Aussehen +% und die Position der Überschriften festgelegt. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class&option> +% \fi +% +% \subsection{Optionen} +% +% \begin{macro}{\tud@head@color} +% Dieses Makro definiert die Farbe des Kopfes. Diese kann durch die +% entsprechende Option der \env{tudpage}"=Umgebung geändert werden. Außerdem +% gibt es für Titel, Teil und Kapitel speziell dazugehörige Farben, so dass +% das Aussehen des Kopfes ggf. angepasst wird. +% \begin{macrocode} +\newcommand*\tud@head@color{black} +% \end{macrocode} +% \end{macro}^^A \tud@head@color +% \begin{option}{cd} +% \begin{macro}{\tud@cd} +% \begin{macro}{\tud@layout@title} +% \begin{macro}{\tud@layout@part} +% \begin{macro}{\tud@layout@chapter} +% Ein zentraler Teil der Wrapper-Klassen ist die Auswahl der Darstellung des +% \CDs. Dabei kann gewählt werden, ob es einfarbig, mit leichtem oder aber mit +% starkem Farbeinsatz genutzt werden soll. Diese Option dient zur globalen +% Einstellung für Titel-, Teil- und Kapitelseiten. Mit dem Schalter werden die +% gleichen Einstellungen für alle drei Komponenten gesetzt. Die Standardfarbe +% des Kopfes der \env{tudpage}"=Seite ist schwarz und wird für die farbigen +% Layouts auf dunkelblau gesetzt. Abhängig von der gewählten Option, die über +% \cs{tud@layout@switch} festgelegt ist, werden die sogenannten Layoutschlüssel +% (\cs{tud@layout@\dots}) auf einen Wert gesetzt (0\dots 3), welcher im +% weiteren Verlauf ausgewertet werden kann. Der Schalter für Kapitel wird +% lediglich für \cls{tudscrbook}- und \cls{tudscrreprt} jedoch nicht für die +% \cls{tudscrartcl}-Klasse definiert und genutzt. Eigentlich werden alle +% Komponenten mit einer zentralen Option festgelegt, können aber auch +% durch den Nutzer explizit überschrieben werden. +% \begin{macrocode} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +%<*book|report> +\csdef@lock{tud@layout@chapter}{0} +%</book|report> +\TUD@key{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@title}{0}% + \csstd@lock{tud@layout@part}{0}% +%<*book|report> + \csstd@lock{tud@layout@chapter}{0}% +%</book|report> + \or% + \csstd@lock{tud@layout@title}{1}% + \csstd@lock{tud@layout@part}{1}% +%<*book|report> + \csstd@lock{tud@layout@chapter}{1}% +%</book|report> + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{2}% + \csstd@lock{tud@layout@part}{2}% +%<*book|report> + \csstd@lock{tud@layout@chapter}{2}% +%</book|report> + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{3}% +% \end{macrocode} +% Ein komplett farbiges Layout ist bloß für die Klassen mit Teil- und +% Kapitelseiten (\cls{tudscrbook} und \cls{tudscrreprt}) möglich. Ansonsten +% werden lediglich die Überschriften, jedoch nicht der Seitenhintergrund +% farbig gestaltet. +% \begin{macrocode} +%<*article> + \csstd@lock{tud@layout@part}{2}% +%</article> +%<*book|report> + \csstd@lock{tud@layout@part}{3}% + \csstd@lock{tud@layout@chapter}{3}% +%</book|report> +% \end{macrocode} +% Die Klassenoptionen \opt{chapterpage} und \opt{widehead} werden für den +% Fall der komplett farbigen Darstellung standardmäßig aktiviert +% können allerdings vom Anwender überschrieben werden. +% \begin{macrocode} +%<*book|report> + \TUD@std@ifkey@lock{chapterpage}{true}% + \TUD@std@ifkey@lock{widehead}{true}% +%</book|report> + \fi% +% \end{macrocode} +% Die Ausführung des Befehls \cs{tud@layout@process} sorgt dafür, dass alle +% Optionen auch verarbeitet und wirksam werden. Dieser wird standardmäßig nach +% der Abarbeitung aller Optionen innerhalb der Präambel einmalig ausgeführt. +% Deshalb wird er hier nur innerhalb des Dokumentes genutzt. Dies gilt auch für +% die folgenden Optionen. +% \begin{macrocode} + \if@atdocument% + \tud@layout@process% + \else% +% \end{macrocode} +% Innerhalb der Präambel wird der Satzspiegel abhängig vom gewünschten Layout +% festgelegt. Dies kann vom Benutzer mit dem Setzen der Option \opt{geometry} +% überschrieben werden. +% \begin{macrocode} + \ifcase \tud@cd\relax% + \TUD@std@numkey@lock{geometry}{false}% + \else% + \TUD@std@numkey@lock{geometry}{true}% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@layout@chapter +% \end{macro}^^A \tud@layout@part +% \end{macro}^^A \tud@layout@title +% \end{macro}^^A \if@tud@cd +% \end{option}^^A cd +% \begin{option}{cdtitle} +% Das durch die Option \opt{cd} insgesamt festgelegte Layout kann für die +% einzelnen Elemente Titel (\opt{cdtitle}),\dots +% \begin{macrocode} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@title}{0}% + \or% + \csset@lock{tud@layout@title}{1}% + \or% + \csset@lock{tud@layout@title}{2}% + \or% + \csset@lock{tud@layout@title}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +% \end{macrocode} +% \end{option}^^A cdtitle +% \begin{option}{cdpart} +% \dots Teile- (\opt{cdpart}) und\dots +% \begin{macrocode} +\TUD@key{cdpart}[true]{% + \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@part}{0}% + \or% + \csset@lock{tud@layout@part}{1}% + \or% + \csset@lock{tud@layout@part}{2}% + \or% +%<*article> + \csset@lock{tud@layout@part}{2}% +%</article> +%<*book|report> + \csset@lock{tud@layout@part}{3}% +%</book|report> + \fi% + \if@atdocument\tud@layout@process\fi% +} +% \end{macrocode} +% \end{option}^^A cdpart +% \begin{option}{cdchapter} +% \dots bei den entsprechenden Klassen (\cls{tudscrbook} und \cls{tudscrreprt}) +% auch für die Kapitelseiten (\opt{cdchapter}) separat für die einzelnen +% Elemente geändert bzw. überschrieben werden. +% \begin{macrocode} +%<*book|report> +\TUD@key{cdchapter}[true]{% + \TUD@std@ifkey@lock{chapterpage}{false}% + \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@chapter}{0}% + \or% + \csset@lock{tud@layout@chapter}{1}% + \or% + \csset@lock{tud@layout@chapter}{2}% + \or% + \csset@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +%</book|report> +% \end{macrocode} +% \end{option}^^A cdchapter +% \todo[v3.12]{% +% zusätzl. Schalter, um Layout für part und chapter einzustellen +% (tudpage=on/off) nach Umstellung auf (scrlayer) +% } +% \begin{macro}{\tud@layout@switch} +% Dies sind die Standardoptionen für alle einzelnen Einstellungen des Layouts. +% Es gibt die Varianten monochrom~(1), leichter~(2) und voller Farbeinsatz~(3) +% sowie die Möglichkeit, das \CD vollständig zu deaktivieren (0). +% \begin{macrocode} +\newcommand*\tud@layout@switch{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% + {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% + {color}{3},{colour}{3}% +} +% \end{macrocode} +% \end{macro}^^A \tud@layout@switch +% \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@ifkey{color}{@tempswa}{#1}% + \TUD@set@numkey{color}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {true}{1},{on}{1},{yes}{1},{color}{1},{colour}{1},% + {full}{1},{colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% + {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% + }{#1}% + \ifcase \@tempa\relax% + \TUDoptions{cd}% + \or% + \TUDoptions{cd=color}% + \else% + \TUDoptions{cd=lite}% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +% \end{macrocode} +% \end{option}^^A colour +% \end{option}^^A color +% +% \iffalse +%<*book|report> +% \fi +% +% Die nun folgenden Optionen und Befehle werden nur für die \cls{tudscrbook}- +% und \cls{tudscrreprt}-Klasse definiert. +% \begin{option}{parttitle} +% \begin{macro}{\if@tud@parttitle} +% \begin{macro}{\if@tud@parttitle@locked} +% Der Schalter dient zur Steuerung, ob der Titel des Dokumentes wie im Handbuch +% des \CDs auf den Teileseiten stehen soll. +% \begin{macrocode} +\newif\if@tud@parttitle +\TUD@key@lock{parttitle}[true]{% + \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% + \if@atdocument\tud@layout@process\fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@parttitle@locked +% \end{macro}^^A \if@tud@parttitle +% \end{option}^^A parttitle +% \begin{option}{chapterpage} +% \begin{macro}{\if@tud@chapterpage} +% \begin{macro}{\if@tud@chapterpage@locked} +% Mit dieser Option können Kapitelüberschriften alleine auf einer Seite stehen. +% Es werden separate Kapitelseiten erzeugt. +% \begin{macrocode} +\newif\if@tud@chapterpage +\TUD@key@lock{chapterpage}[true]{% + \TUD@set@ifkey@lock{chapterpage}{@tud@chapterpage}{#1}% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@chapterpage@locked +% \end{macro}^^A \if@tud@chapterpage +% \end{option}^^A chapterpage +% \todo[v3.12]{\cs{FamilyElseValue} funktioniert nicht} +% \begin{option}{cleardoublespecialpage} +% \begin{macro}{\tud@cleardoublepage} +% \begin{macro}{\tud@cleardoublespecialpage} +% Für Klassen mit separaten Teileseiten und Kapiteln wird eine zusätzliche +% Option definiert, welche nur bei zweiseitigem Satz (\opt{twoside}) und +% zusätzlich immer auf nur der rechten Seite öffnenden Teilen bzw. Kapiteln +% (\opt{open=right}) zum Tragen kommen. +% +% Diese Option steuert, ob die Rückseite von Titel, Teilen und ggf. auch bei +% separaten Kapitelseiten\footnote{bei aktivierter \opt{chapterpage}"=Option} +% entweder zwingend als leere Seite oder aber ~-- abhängig von der +% \KOMAScript-Option \opt{cleardoublepage}~-- als Vakatseite ausgegeben werden. +% Auch die Festlegung eines bestimmten Seitenstiles ist möglich. +% +% Der Befehl \cs{tud@cleardoublepage} enthält die Definition der zu erzeugenden +% Doppelseite. +% \begin{macrocode} +\newcommand*\tud@cleardoublepage{\cleardoubleoddpage} +% \end{macrocode} +% Mit der Option \opt{cleardoublespecialpage} kann dieser festgelegt werden. +% \begin{macrocode} +\TUD@key{cleardoublespecialpage}[true]{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{color}{\TUDoptions{clearcolor}}{% + \ifstr{\@tempa}{colour}{\TUDoptions{clearcolor}}{% + \ifstr{\@tempa}{current}{% + \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% + }{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + }{% + \def\FamilyElseValue{% + , 'color', 'current' or any defined pagestyle e.g. 'empty','plain'% + }% + \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}% + \if@tempswa% + \def\tud@cleardoublepage{\cleardoubleoddpage}% + \else% + \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}% + \fi% + }% + }}}% +} +% \end{macrocode} +% Der Befehl \cs{tud@cleardoublespecialpage} dient zur eigentlichen Umsetzung. +% Das obligatorische Argument enthält alles, was innerhalb der Gruppe an +% lokalen Einstellungen vorgenommen werden soll. Das optionale Argument wird ggf. +% genutzt, um einen Inhalt auf der Rückseite auszugeben. +% \begin{macrocode} +\newcommand*\tud@cleardoublespecialpage[2][]{% + \begingroup% + #2 + \ifboolexpr{bool {@twoside} and bool {@openright}}{% + \if@tud@clearcolor% + \def\@tempa{% + #1% + \tud@cleardoublepage% + \tud@restorepagecolor% + \endgroup% + }% + \else% + \def\@tempa{% + \endgroup% + \tud@restorepagecolor% + #1% + \tud@cleardoublepage% + }% + \fi% + }{% + \if@tud@clearcolor\tud@clearcolor@wrn\fi% + \def\@tempa{% + \tud@restorepagecolor% + \endgroup% + #1% + }% + }% + \@tempa% + \@afterindentfalse\@afterheading% +} +% \end{macrocode} +% \end{macro}^^A \tud@cleardoublespecialpage +% \end{macro}^^A \tud@cleardoublepage +% \end{option}^^A cleardoublespecialpage +% \begin{option}{clearcolor} +% \begin{option}{clearcolour} +% \begin{macro}{\if@tud@clearcolor} +% Bei starkem Farbeinsatz im Stil des \CDs auf Titel- Teil- oder Kapitelseiten +% (\opt{cd\dots=color}) wird die entsprechende Rückseite in der gleichen +% Farbe wie die dazugehörige Vorderseite gestaltet. Für Teile- bzw. +% Kapitelseiten muss die entsprechende Option aktiviert sein.% +% \footnote{\opt{cleardoublespecialpage}} +% \begin{macrocode} +\newif\if@tud@clearcolor +\TUD@ifkey{clearcolor}{@tud@clearcolor} +\TUD@ifkey{clearcolour}{@tud@clearcolor} +% \end{macrocode} +% \end{macro}^^A \if@tud@clearcolor +% \end{option}^^A clearcolour +% \end{option}^^A clearcolor +% Damit endet der exklusive Abschnitt für \cls{tudscrbook}- und +% \cls{tudscrreprt}-Klasse. +% +% \iffalse +%</book|report> +%</class&option> +%<*class&!option> +% \fi +% +% \subsection{Umsetzung des Layouts} +% +% Unter Layout wird die Wahl von Schriftart und "~größe, die Positionierung +% verschiedener Textelemente sowie die farbliche Gestaltung verstanden. Für das +% \CD gibt es dabei drei Ausprägungen, die für die verschiedenen Elemente +% auch unabhängig gewählt werden können. +% \begin{macro}{\tud@color@partfont} +% \begin{macro}{\tud@color@partpage} +% \begin{macro}{\tud@color@parthead} +% \begin{macro}{\tud@color@chapterfont} +% \begin{macro}{\tud@color@chapterpage} +% Die Makros werden für die Hintergrundfarbe der Seiten und die Farbe der +% Überschriften verwendet. +% \begin{macrocode} +\newcommand*\tud@color@partfont{black} +%<*book|report> +\newcommand*\tud@color@partpage{white} +\newcommand*\tud@color@parthead{black} +\newcommand*\tud@color@chapterfont{black} +\newcommand*\tud@color@chapterpage{white} +%</book|report> +% \end{macrocode} +% \end{macro}^^A \tud@color@chapterpage +% \end{macro}^^A \tud@color@chapterfont +% \end{macro}^^A \tud@color@parthead +% \end{macro}^^A \tud@color@partpage +% \end{macro}^^A \tud@color@partfont +% \todo[v3.12]{auf \cs{usesizeofkomafont} umstellen, allerdings schwierig wegen +% des Rumgemoschel mit Kapitelüberschriften (scrlayer)} +% \begin{macro}{\tud@font@heading} +% \begin{macro}{\tud@font@heading@size} +% \begin{macro}{\tud@font@heading@numsize} +% \begin{macro}{\tud@font@part} +% \begin{macro}{\tud@font@part@number} +% \begin{macro}{\tud@font@part@title} +% \begin{macro}{\tud@font@chapter} +% Es werden die zu Beginn der Klasse Größen der notwendigen Schriftelemente, +% welche anhand der gewählten Dokumentschriftgröße definiert wurden, für die +% weitere Verwendung gesichert. Außerdem wird in \cs{tud@font@heading} die +% Schriftart für die Überschriften definiert. Falls die Schriftarten des \CDs +% installiert wurden, wird DIN-Bold verwendet, sonst die Standardüberschriften. +% \begin{macrocode} +\newcommand*\tud@font@heading{\if@tud@din\dinbn\fi\tud@raggedright} +\newcommand*\tud@font@heading@size{} +\newcommand*\tud@font@heading@numsize{} +\let\tud@font@heading@size\size@part% +\let\tud@font@heading@numsize\size@partnumber% +% \end{macrocode} +% Anschließend werden später benötigte Schriftformatierungen erstellt. +% \begin{macrocode} +\newkomafont{tud@heading}{\tud@font@heading\tud@font@heading@size}% +\newcommand*\tud@font@part{\usekomafont{tud@heading}\color{\tud@color@partfont}} +\newcommand*\tud@font@part@number{\tud@font@part\tud@font@heading@numsize} +%<*book|report> +\newcommand*\tud@font@part@title{\tud@font@part\usesizeofkomafont{section}} +\newcommand*\tud@font@chapter{% + \usekomafont{tud@heading}% + \color{\tud@color@chapterfont}% +} +%</book|report> +% \end{macrocode} +% \end{macro}^^A \tud@font@chapter +% \end{macro}^^A \tud@font@part@title +% \end{macro}^^A \tud@font@part@number +% \end{macro}^^A \tud@font@part +% \end{macro}^^A \tud@font@heading@numsize +% \end{macro}^^A \tud@font@heading@size +% \end{macro}^^A \tud@font@heading +% \begin{length}{\chapterheadingvskip} +% \begin{length}{\headingsvskip} +% Mit dieser Länge kann der Anwender die Überschriften von Titel, Teilen und +% Kapiteln vertikal von ihrer Standardposition verschieben, welche vom \CD +% eigentlich vorgegeben ist. Um die zuvor genannten Überschriften überhaupt auf +% dieser Position zu setzen, ist die Länge \cs{tud@dim@headingsvskip} bereits +% auf 30\,mm gesetzt, mit \cs{chapterheadingvskip} kann dies korrigiert werden. +% Die Länge \cs{headingsvskip} existiert nur, um zur Version v1.0 kompatibel +% zu sein. +% \begin{macrocode} +\newlength{\chapterheadingvskip} +\newlength{\headingsvskip} +\let\headingsvskip\chapterheadingvskip +% \end{macrocode} +% \end{length}^^A \headingsvskip +% \end{length}^^A \chapterheadingvskip +% \todo[v3.12]{% +% Einbinden Schriften von titlehead, author, date, publishers und dedication +% } +% \begin{macro}{\tud@layout@process} +% Dieser Befehl kümmert sich darum, dass die gewählten Optionen für den +% Seitenstil auch umgesetzt werden. Dabei wird insbesondere darauf Wert gelegt, +% dass die Optionen auch zur Laufzeit geändert und wiederhergestellt werden +% können. +% \begin{macrocode} +\newcommand*\tud@layout@process{% +% \end{macrocode} +% Die Einstellungen für den Titel. Vor dessen Umstellung werden die relevanten +% Originalbefehle mit \cs{tud@cmd@store}\marg{Befehl} gesichert, damit diese +% später gegebenenfalls mit \cs{tud@cmd@restore}\marg{Befehl} wiederhergestellt +% werden können. +% \begin{macrocode} + \ifcase \tud@layout@title\relax% + \tud@cmd@restore{maketitle}% + \tud@cmd@restore{@maketitle}% + \tud@font@koma@reset{title}% + \tud@font@koma@reset{subtitle}% + \tud@font@koma@reset{subject}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@font@koma@set{title}{% + \usekomafont{tud@heading}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{\color{\tud@color@titlefont}\sffamily}% + \let\maketitle\tud@maketitle% + \fi% +% \end{macrocode} +% Das gleiche für die Teileseiten. +% \begin{macrocode} + \ifcase \tud@layout@part\relax% + \tud@cmd@restore{partheadstartvskip}% + \tud@cmd@restore{partheadmidvskip}% +%<*book|report> + \tud@cmd@restore{partheadendvskip}% + \tud@cmd@restore{partheademptypage}% + \tud@cmd@restore{partpagestyle}% +%</book|report> + \tud@cmd@restore{@part}% +%<*book|report> + \tud@cmd@restore{@spart}% +%</book|report> + \tud@sectioning@reset[addpart]{part}% + \tud@font@koma@reset{partnumber}% +% \end{macrocode} +% Es werden die Standardbefehle gesichert und für das \CD angepasst. +% \begin{macrocode} + \else% + \tud@cmd@store{partheadstartvskip}% + \tud@cmd@store{partheadmidvskip}% +%<*book|report> + \tud@cmd@store{partheadendvskip}% + \tud@cmd@store{partheademptypage}% + \tud@cmd@store{partpagestyle}% +%</book|report> + \tud@cmd@store{@part}% +%<*book|report> + \tud@cmd@store{@spart}% +%</book|report> +% \end{macrocode} +% Es wird die Schriftfarbe, "~größe und "~art angepasst, je nachdem ob der +% Titel des Dokumentes auf den Teileseiten auftauchen soll oder eben nicht. +% \begin{macrocode} +%<*book|report> + \if@tud@parttitle% + \tud@sectioning@set[addpart]{part}{\tud@font@part@title}% + \tud@font@koma@set{partnumber}{\tud@font@part@title}% + \renewcommand*\partheadmidvskip{\enskip}% + \else% + \tud@sectioning@set[addpart]{part}{\tud@font@part}% + \tud@font@koma@set{partnumber}{\tud@font@part@number}% + \renewcommand*\partheadmidvskip{% + \par\nobreak\vspace{.5\baselineskip}% + }% + \fi% +%</book|report> +% \end{macrocode} +% Für die Artikel-Klasse gibt es die \opt{parttitle}-Option nicht. +% \begin{macrocode} +%<*article> + \tud@sectioning@set[addpart]{part}{\tud@font@part}% + \tud@font@koma@set{partnumber}{\tud@font@part@number}% + \renewcommand*\partheadmidvskip{\vskip.3\baselineskip}% +%</article> +% \end{macrocode} +% Einigen Makros werden mittels \cs{let} Definitionen von anderen Makros +% zugewiesen, die sich wiederum am Original orientieren. Hintergrund ist, dass +% die originalen Befehle angepasst werden sollen. Damit dies nicht bei jeder +% Optionswahl sondern nur einmalig geschehen muss und um möglichst einfach auf +% die Originaldefinition zurückschalten zu können, wird so verfahren. Die +% angepassten Befehle selbst und die dazugehörige Beschreibung sind etwas +% weiter unten im Quelltext zu finden. +% \begin{macrocode} + \let\partheadstartvskip\tud@partheadstartvskip% + \let\@part\tud@@part% +%<*book|report> + \let\@spart\tud@@spart% +%</book|report> +% \end{macrocode} +% Nachdem die Schriften in Gestalt und Position angepasst wurden, wird jetzt +% das Layout für die Teileseiten festgelegt. Es wird der Satzspiegel und der +% Seitenstil angepasst, die Seitenfarbe gesetzt sowie die Schrift für Kopf und +% Seitenzahl verändert. Die Änderungen sollen dabei lokal bleiben, wofür das +% obligatorische Argument des Befehls \cs{tud@cleardoublespecialpage} verwendet +% wird. Damit wird abhängig von den Einstellungen für \opt{clearcolor} und +% \opt{cleardoublespecialpage} die Rückseite farbig und in einem bestimmten +% Seitenstil gesetzt. +% \todo[v3.12]{partpagestyle und scrlayer, siehe \cs{tud@layout@switch}} +% \begin{macrocode} +%<*book|report> + \renewcommand*\partheadendvskip{% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@partpage}% + \def\tud@head@color{\tud@color@parthead}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \begingroup% + \let\ps@empty\ps@tudpage@empty% + \let\ps@plain\ps@tudpage@plain% + \clearpage% + \endgroup% + } + \loadgeometry{tudarea}% + }% + \renewcommand*\partheademptypage{}% +%</book|report> + \fi% +% \end{macrocode} +% Die Einstellungen für die Kapitel bzw. die folgenden Gliederungsebenen. Auch +% hier werden alle relevanten Befehle gesichert, damit diese wiederhergestellt +% werden können. Verständlicherweise fällt für die \cls{tudscrartcl}-Klasse +% der Anteil für die Kapitel weg. Das Verhalten der nachgelagerten +% Gliederungsebenen orientiert für diese Klasse an den Einstellungen für die +% Teileseiten. +% \begin{macrocode} +%<*article> + \ifcase \tud@layout@part\relax% +%</article> +%<*book|report> + \ifcase \tud@layout@chapter\relax% + \tud@cmd@restore{chapterheadstartvskip}% + \tud@cmd@restore{chapterformat}% + \tud@cmd@restore{@chapter}% + \tud@cmd@restore{@schapter}% + \tud@cmd@restore{@@makechapterhead}% + \tud@cmd@restore{set@@@@preamble}% + \tud@sectioning@reset[addchap]{chapter}% + \tud@font@koma@reset{chapterprefix}% +%</book|report> + \tud@sectioning@reset[addsec]{section}% + \tud@sectioning@reset{subsection}% + \tud@sectioning@reset{subsubsection}% + \tud@sectioning@reset{minisec}% +% \end{macrocode} +% Auch hier werden die Standardbefehle für ein mögliches Deaktivieren der +% Optionen gesichert und anschließend geändert. +% \begin{macrocode} + \else% +%<*book|report> + \tud@cmd@store{chapterheadstartvskip}% + \tud@cmd@store{chapterformat}% + \tud@cmd@store{@chapter}% + \tud@cmd@store{@schapter}% + \tud@cmd@store{@@makechapterhead}% + \tud@cmd@store{set@@@@preamble}% + \tud@sectioning@set[addchap]{chapter}{\tud@font@chapter}% + \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% +%</book|report> + \tud@sectioning@set[addsec]{section}{\tud@font@heading}% + \tud@sectioning@set{subsection}{\tud@font@heading}% + \tud@sectioning@set{subsubsection}{\tud@font@heading}% + \tud@sectioning@set{minisec}{\tud@font@heading}% +% \end{macrocode} +% \cs{chapterheadstartvskip} wird für die Position der Kapitelüberschriften im +% \CD angepasst. Mit der Länge \cs{chapterheadingvskip} kann diese Position +% vertikal durch den Benutzer verschoben werden. Außerdem werden die benötigten +% Farben für die jeweilig gewählte Option ausgewählt. +% \begin{macrocode} +%<*book|report> + \renewcommand*\chapterheadstartvskip{% + \def\tud@color@chapterpage{white}% + \def\tud@color@chapterfont{black}% + \ifcase \tud@layout@chapter\relax\or\or% + \def\tud@color@chapterpage{white}% + \def\tud@color@chapterfont{HKS41}% + \or% + \def\tud@color@chapterpage{HKS41!10}% + \def\tud@color@chapterfont{HKS41}% + \fi% + \vspace*{\dimexpr\tud@ta@headdiff+\tud@dim@headingsvskip}% + \if@tud@chapterpage\else\vspace*{\chapterheadingvskip}\fi% + }% +% \end{macrocode} +% Und wieder erfolgt die Zuweisung der angepassten Befehle über \cs{let}. +% \begin{macrocode} + \let\@@makechapterhead\tud@@@makechapterhead% + \let\set@@@@preamble\tud@set@@@@preamble% +%</book|report> + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@layout@process +% \begin{macro}{\tud@partheadstartvskip} +% Dieses Makro ersetzt den Standardbefehl \cs{partheadstartvskip} für die +% CD-Teilseiten. Damit lassen sich insbesondere die Farbanpassungen für alle +% Klassen sowie die Option \opt{parttitle} für \cls{tudscrreprt}- und +% \cls{tudscrbook}-Klasse einfach realisieren und gleichzeitig das +% Zurückschalten auf das Standardverhalten gewährleisten. +% +% Für die \cls{tudscrartcl}-Klasse wird der vertikale Standardabstand +% beibehalten und lediglich die Farbanpassung hinzugefügt. +% \begin{macrocode} +%<*article> +\newcommand*\tud@partheadstartvskip{} +\let\tud@partheadstartvskip\partheadstartvskip% +\pretocmd{\tud@partheadstartvskip}{% + \def\tud@color@partfont{black}% + \ifcase \tud@layout@part\relax\or\or% + \def\tud@color@partfont{HKS41}% + \fi% +}{}{\tud@patch@wrn{tud@partheadstartvskip}} +%</article> +% \end{macrocode} +% Für \cls{tudscrreprt}- und \cls{tudscrbook}-Klasse werden die Farben gesetzt +% und die vertikalen Abstände neu definiert. +% \todo[v3.12]{% +% für part und chapter mehrere layer für ddc definieren, Satzspiegel abhängig +% von \cs{tud@ddc@foot} entweder tudpage oder tudddc +% } +% \begin{macrocode} +%<*book|report> +\newcommand*\tud@partheadstartvskip{% + \def\tud@color@partfont{black}% + \def\tud@color@partpage{white}% + \def\tud@color@parthead{black}% + \ifcase \tud@layout@part\relax\or\or% + \def\tud@color@partfont{HKS41}% + \def\tud@color@partpage{white}% + \def\tud@color@parthead{HKS41}% + \or% + \def\tud@color@partpage{HKS41}% + \def\tud@color@partfont{HKS41!30}% + \def\tud@color@parthead{white}% + \fi% + \loadgeometry{tudpage}% + \begingroup% + \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% +% \end{macrocode} +% Sollte die \opt{parttitle}-Option aktiviert sein, so wird der Titel des +% Dokumentes statt des Teiletitels mit \cs{tud@parttitle} auf die Seite +% gesetzt. +% \begin{macrocode} + \if@tud@parttitle% + \tud@parttitle% + \else% + \usesizeofkomafont{partnumber}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}% + \fi% + \endgroup% +} +%</book|report> +% \end{macrocode} +% \end{macro}^^A \tud@partheadstartvskip +% +% \iffalse +%<*book|report> +% \fi +% +% \begin{macro}{\tud@parttitle} +% Der Befehl \cs{tud@parttitle} wird für die Option \opt{parttitle} +% definiert. Dieser setzt den Titel in Majuskeln auf jeder Teilseite. +% \begin{macrocode} +\newcommand*\tud@parttitle{% + \begingroup% + \usekomafont{tud@heading}% + \color{\tud@color@partfont}% + \tud@makeuppercase{\expandonce{\@@title}}% + \par\nobreak\vskip .5\baselineskip% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \tud@parttitle +% +% \iffalse +%</book|report> +% \fi +% +% \begin{macro}{\tud@@part} +% Damit auch das Präfix der Teile in Majuskeln erscheint, wird dem Befehl +% \cs{partformat}, welcher das Präfix enthält, für die \cls{tudscrartcl}-Klasse +% der entsprechende Befehl vorangestellt. +% \begin{macrocode} +%<*article> +\let\tud@@part\@part +\patchcmd{\tud@@part}% + {\size@partnumber{\partformat}}% + {\size@partnumber{\tud@makeuppercase\partformat}}% + {}{\tud@patch@wrn{@part}}% +%</article> +% \end{macrocode} +% Für \cls{tudscrbook}- und \cls{tudscrreprt}-Klasse ist etwas mehr Arbeit +% nötig. Für separate Teileseiten muss dafür Sorge getragen werden, dass die +% Überschrift unabhängig von der Tiefe der Nummerierung immer an der gleichen +% Position steht. +% \begin{macrocode} +%<*book|report> +\let\tud@@part\@part +\ifnum\scr@compatibility>\@nameuse{scr@v@3.11b}\relax + \patchcmd{\tud@@part}{% + \ifnumbered{part}{% + \size@partnumber{\partformat}% + \partheadmidvskip + }{}% + }{% + \ifnumbered{part}{% + \size@partnumber{\tud@makeuppercase\partformat}% + }{% + \size@partnumber{\strut}% + }% + \unskip\partheadmidvskip% + }{}{\tud@patch@wrn{@part}}% +\else + \patchcmd{\tud@@part}{% + \ifnum \c@secnumdepth >-2\relax + \size@partnumber{\partformat}% + \partheadmidvskip + \fi + }{% + \ifnum \c@secnumdepth >-2\relax% + \size@partnumber{\tud@makeuppercase\partformat}% + \else% + \size@partnumber{\strut}% + \fi% + \unskip\partheadmidvskip% + }{}{\tud@patch@wrn{@part}}% +\fi +%</book|report> +% \end{macrocode} +% \end{macro}^^A \tud@@part +% +% \iffalse +%<*book|report> +% \fi +% +% \begin{macro}{\tud@@spart} +% Bei den Teile-Befehlen ohne Gliederungsnummerierung muss zusätzlich der +% Freiraum vorgehalten werden, damit alle Überschriften auf der gleichen +% vertikalen Position liegen. +% \begin{macrocode} +\let\tud@@spart\@spart +\patchcmd{\tud@@spart}{% + \normalfont + \sectfont\nobreak\size@part +}{% + \normalfont\sectfont\nobreak% + \size@partnumber{\strut}% + \partheadmidvskip\unskip% + \size@part% +}{}{\tud@patch@wrn{@spart}} +% \end{macrocode} +% \end{macro}^^A \tud@@spart +% \begin{macro}{\tud@partpreamble} +% Um die \KOMAScript-Befehle für die Teilepräambel auch für das farbige Layout +% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln wird +% die Überschrift einer Zusammenfassung ausschließlich zentriert und relativ +% klein gesetzt. Außerdem wird für eine mögliche Zusammenfassung die +% \opt{titlepage}-Option deaktiviert. Aufgerufen wird der Befehl durch die +% gepatchte Version von \cs{set@@@@preamble}. +% \begin{macrocode} +\newcommand*\tud@partpreamble{% + \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% + \KOMAoptions{titlepage=false}% + \addtokomafont{disposition}{\color{\tud@color@partfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@partfont}}% + \color{\tud@color@partfont}% +% \end{macrocode} +% Hiermit wird der unterschiedliche Abstand bei Teil- und Kapitelpräambeln +% ausgeglichen. +% \begin{macrocode} + \vskip\dimexpr\topskip+.9\baselineskip% + \@afterindentfalse\@afterheading% +} +% \end{macrocode} +% \end{macro}^^A \tud@partpreamble +% \begin{macro}{\tud@@@makechapterhead} +% Damit das Präfix des Kapitels bei der gegebenenfalls aktivierten Option +% \opt{chapterprefix} in Majuskeln erscheint, wird dem Befehl +% \cs{chapterformat}, welcher das Präfix enthält, der entsprechende Befehl +% vorangestellt. Außerdem muss die Überschrift bei aktivierter +% \opt{chapterprefix}-Option um die Höhe des Präfixes nach oben verschoben +% werden, damit die Überschrift selbst auf der richtigen Höhe liegt. +% \begin{macrocode} +\newcommand*\tud@@@makechapterhead{} +\let\tud@@@makechapterhead\@@makechapterhead +\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \if@chapterprefix% + \usesizeofkomafont{chapterprefix}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}% + \fi% + \tud@makeuppercase{\chapterformat}% +}{}{\tud@patch@wrn{@@makechapterhead}} +% \end{macrocode} +% Weiterhin müssen alle vertikalen Abstände gelöscht werden, damit die +% Überschriften für alle Einstellungen der \opt{parskip}-Option immer auf +% exakt der selben Höhe liegen und auch die Abstände zwischen den ggf. +% genutzten Präfixen identisch sind. +% \begin{macrocode} +\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{% + \setlength{\parskip}{\z@}% + \size@chapter{#1}% +}{}{\tud@patch@wrn{@@makechapterhead}} +% \end{macrocode} +% \end{macro}^^A \tud@@@makechapterhead +% \begin{macro}{\tud@chapterpreamble} +% Um die \KOMAScript-Befehle für die Kapitelpräambel auch für das farbige Layout +% nutzen zu können, müssen diese leicht angepasst werden. Für die Präambeln der +% Kapitel gilt das gleiche wie für die der Teileseiten. Auch hier erfolgt die +% Ausführung des Befehls durch die gepatchte Version von \cs{set@@@@preamble}. +% \begin{macrocode} +\newcommand*\tud@chapterpreamble{% + \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% + \KOMAoptions{titlepage=false}% +% \end{macrocode} +% Die Farb- und Schrifteinstellungen sind nur für reine Kapitelseiten notwendig. +% \begin{macrocode} + \if@tud@chapterpage% + \if@tud@cdfonts% + \if@tud@heavyfont% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont}% + \fi% + \fi% + \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% + \color{\tud@color@chapterfont}% + \fi% + \@afterindentfalse\@afterheading% +} +% \end{macrocode} +% \end{macro}^^A \tud@chapterpreamble +% \begin{macro}{\tud@chapter@pre} +% \begin{macro}{\tud@chapter@app} +% Diese beiden Makros dienen zur Behandlung der Besonderheiten von spearaten +% Kapitelseiten (Option~\opt{chapterpage}). +% \begin{macrocode} +\newcommand*\tud@chapter@pre{% + \if@tud@chapterpage% +% \end{macrocode} +% Der Seitenstil wird aus Gründen der Konsistenz auf den Stil von Teilseiten +% gesetzt. Vorher wird dieser gesichert. +% \begin{macrocode} + \tud@cmd@store{chapterpagestyle}% + \renewcommand*\chapterpagestyle{\partpagestyle}% +% \end{macrocode} +% Für den zweispaltigen Satz und aktivierter \opt{chapterpage}-Option muss +% für die Kapitelseiten temporär auf einseitigen Satz umgestellt werden, damit +% alle Befehle und Einstellungen beim Erzeugen des jeweiligen Kapitels zum +% Tragen kommen. Soll der Fehler behoben werden, dass bei Kapitelüberschriften +% im zweispaltigen Satz der Abstand zwischen Überschrift und Textkörper nicht +% stimmt, sei außerdem das Paket \pkg{twocolfix} empfohlen. +% \begin{macrocode} + \@restonecolfalse% + \if@twocolumn\@restonecoltrue\onecolumn\fi% + \fi% +} +\newcommand*\tud@chapter@app{% + \if@tud@chapterpage% +% \end{macrocode} +% Nach dem Setzen der Kapitelüberschrift selbst werden die Farbe für den +% Hintergrund, die Seitenzahl und den ggf. verwendeten TUD-Kopf angewendet. +% Danach wird die Seite beendet. Sollte zweiseitiger Satz, immer rechts öffnende +% Kapitel und die Option \opt{chapterpage} gewählt sein, so wird für ein +% konsistentes Layout für Überschriften auf Einzelseiten die Rückseite abhängig +% von der Option \opt{clearcolor} gegebenenfalls farbig gesetzt und die Option +% \opt{cleardoublespecialpage} bezüglich des Seitenstils der Rückseite beachtet. +% Umgesetzt wird das Ganze mit dem Befehl \cs{tud@cleardoublespecialpage}. +% \begin{macrocode} + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@chapterpage}% + \def\tud@head@color{\tud@color@chapterfont}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}% + \clearpage% + }% +% \end{macrocode} +% Außerdem wird der Seitenstil der Kapitel wiederhergestellt und für den +% Zweispaltensatz auf normales Verhalten zurückgestellt. +% \begin{macrocode} + \tud@cmd@restore{chapterpagestyle}% + \if@restonecol\twocolumn\fi% + \fi% +% \end{macrocode} +% Unabhängig von der Option \opt{chapterpage} wird deim zweispaltigen Layout der +% Einzug des ersten Absatzes verhindert. +% \begin{macrocode} + \if@twocolumn% + \@afterindentfalse\@afterheading% + \fi% +} +% \end{macrocode} +% Die Änderungen sollen bei der Erzeugung eines Kapitels greifen. Damit die +% originalen Befehle nicht beeinflusst werden, erfolgt die Manipulation der +% bereits adaptierten Befehle für Kapitel. +% \begin{macrocode} +\AtEndPreamble{% + \pretocmd{\tud@nchapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@nchapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@schapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@schapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@ochapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@ochapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@naddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@naddchap}{\tud@chapter@app}{}{} + \pretocmd{\tud@saddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@saddchap}{\tud@chapter@app}{}{} + \pretocmd{\tud@oaddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@oaddchap}{\tud@chapter@app}{}{} +} +% \end{macrocode} +% \end{macro}^^A \tud@chapter@pre +% \end{macro}^^A \tud@chapter@app +% \begin{macro}{\tud@clearcolor@wrn} +% Warnung für den Fall, dass die Option \opt{clearcolor} ohne \opt{open=right} +% und \opt{twoside} verwendet wird. +% \begin{macrocode} +\newcommand*\tud@clearcolor@wrn{% + \ClassWarning{\tudcls@name}{% + Option 'clearcolor' is only available together with\MessageBreak% + options 'twoside' and 'open=right'% + }% + \global\let\tud@clearcolor@wrn\relax% +} +% \end{macrocode} +% \end{macro}^^A \tud@clearcolor@wrn +% \begin{macro}{\tud@set@@@@preamble} +% Die beiden Befehle für Präambeln aus \KOMAScript{} ignorieren in ihrer +% ursprünglichen Form die Einstellungen für \opt{parskip}. Dies wird mit diesem +% Patch beseitigt. Außerdem werden das Makro für die Layouteinstellungen für +% Teile bzw. Kapitel (\cs{tud@\dots preamble}) aufgerufen. +% \begin{macrocode} +\newcommand*\tud@set@@@@preamble{} +\let\tud@set@@@@preamble\set@@@@preamble +\patchcmd{\tud@set@@@@preamble}{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% +}{% + \def\@tempa####1@####2{\@nameuse{tud@####1preamble}}% + \hbox to\hsize{% + \let\@parboxrestore\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +% \end{macrocode} +% \end{macro}^^A \tud@set@@@@preamble +% Damit ist das Intermezzo für die beiden Klassen \cls{tudscrbook} und +% \cls{tudscrreprt} beendet. +% +% \iffalse +%</book|report> +% \fi +% +% \begin{macro}{\tud@part} +% \begin{macro}{\tud@spart} +% \begin{macro}{\tud@addpart} +% \begin{macro}{\tud@saddpart} +% \begin{macro}{\tud@chapter} +% \begin{macro}{\tud@schapter} +% \begin{macro}{\tud@addchap} +% \begin{macro}{\tud@saddchap} +% \begin{macro}{\tud@section} +% \begin{macro}{\tud@ssection} +% \begin{macro}{\tud@subsection} +% \begin{macro}{\tud@ssubsection} +% \begin{macro}{\tud@subsubsection} +% \begin{macro}{\tud@ssubsubsection} +% Das \CD verlangt, dass sämtliche Auszeichnungen, die in DIN~Bold gesetzt +% werden, groß zu schreiben sind. Für die Klassen bedeutet dies, dass alle +% Überschriften automatisch in Majuskeln und in der gewünschten Schriftart +% erscheinen müssen. Dies erfordert eine Anpassung der Gliederungsbefehle, ohne +% deren normales Verhalten zu beeinflussen. +% +% Dazu werden die benötigten Hilfsmakros initialisiert. Die Gliederungsbefehle +% selbst werden innerhalb des Befehles \cs{tud@sectioning@set} durch +% \cs{tud@cmd@store} gesichert und anschließend mit \cs{tud@sectioning@case} +% neu definiert. Dabei wird in der ersten Stufe unterschieden, ob die +% Sternversion des Gliederungsbefehls durch den Anwender verwendet wird und +% ggf. das Hilfsmakro \cs{tud@s\meta{Gliederungsbefehl}} aufgerufen. +% Andernfalls wird \cs{tud@\meta{Gliederungsbefehl}} verwendet. +% \begin{macrocode} +\newcommand*\tud@part{} +\newcommand*\tud@spart{} +\newcommand*\tud@addpart{} +\newcommand*\tud@saddpart{} +%<*book|report> +\newcommand*\tud@chapter{} +\newcommand*\tud@schapter{} +\newcommand*\tud@addchap{} +\newcommand*\tud@saddchap{} +%</book|report> +\newcommand*\tud@section{} +\newcommand*\tud@ssection{} +\newcommand*\tud@subsection{} +\newcommand*\tud@ssubsection{} +\newcommand*\tud@subsubsection{} +\newcommand*\tud@ssubsubsection{} +% \end{macrocode} +% \end{macro}^^A \tud@ssubsubsection +% \end{macro}^^A \tud@subsubsection +% \end{macro}^^A \tud@ssubsection +% \end{macro}^^A \tud@subsection +% \end{macro}^^A \tud@ssection +% \end{macro}^^A \tud@section +% \end{macro}^^A \tud@saddchap +% \end{macro}^^A \tud@addchap +% \end{macro}^^A \tud@schapter +% \end{macro}^^A \tud@chapter +% \end{macro}^^A \tud@saddpart +% \end{macro}^^A \tud@addpart +% \end{macro}^^A \tud@spart +% \end{macro}^^A \tud@part +% \begin{macro}{\tud@npart} +% \begin{macro}{\tud@opart} +% \begin{macro}{\tud@naddpart} +% \begin{macro}{\tud@oaddpart} +% \begin{macro}{\tud@nchapter} +% \begin{macro}{\tud@ochapter} +% \begin{macro}{\tud@naddchap} +% \begin{macro}{\tud@oaddchap} +% \begin{macro}{\tud@nsection} +% \begin{macro}{\tud@osection} +% \begin{macro}{\tud@nsubsection} +% \begin{macro}{\tud@osubsection} +% \begin{macro}{\tud@nsubsubsection} +% \begin{macro}{\tud@osubsubsection} +% Wird keine Sternversion verwendet, sind zwei weitere Hilfsmakros nötig, um +% zwischen den Varianten mit und ohne optionales Argument zu entscheiden. +% \begin{macrocode} +\newcommand*\tud@npart{} +\newcommand*\tud@opart{} +\newcommand*\tud@naddpart{} +\newcommand*\tud@oaddpart{} +%<*book|report> +\newcommand*\tud@nchapter{} +\newcommand*\tud@ochapter{} +\newcommand*\tud@naddchap{} +\newcommand*\tud@oaddchap{} +%</book|report> +\newcommand*\tud@nsection{} +\newcommand*\tud@osection{} +\newcommand*\tud@nsubsection{} +\newcommand*\tud@osubsection{} +\newcommand*\tud@nsubsubsection{} +\newcommand*\tud@osubsubsection{} +% \end{macrocode} +% \end{macro}^^A \tud@osubsubsection +% \end{macro}^^A \tud@nsubsubsection +% \end{macro}^^A \tud@osubsection +% \end{macro}^^A \tud@nsubsection +% \end{macro}^^A \tud@osection +% \end{macro}^^A \tud@nsection +% \end{macro}^^A \tud@oaddchap +% \end{macro}^^A \tud@naddchap +% \end{macro}^^A \tud@ochapter +% \end{macro}^^A \tud@nchapter +% \end{macro}^^A \tud@oaddpart +% \end{macro}^^A \tud@naddpart +% \end{macro}^^A \tud@opart +% \end{macro}^^A \tud@npart +% \begin{macro}{\tud@sectioning@set} +% \begin{macro}{\tud@sectioning@case} +% \begin{macro}{\tud@sectioning@reset} +% \begin{macro}{\tud@font@koma@set} +% \begin{macro}{\tud@font@koma@reset} +% Der Befehl\cs{tud@sectioning@set} sichert und überschreibt die gegebenen +% Gliederungsbefehle und fügt diesen die zusätzlich angegebene Schriftdefinition +% mit dem Makro \cs{tud@font@koma@set} zu. Das optionale Argument ermöglicht die +% Anpassung des angegebenen Gliederungsbefehls ohne zusätzliche Definition der +% Schrift. Dies ist für die von \KOMAScript{} zusätzlich bereitgestellten +% Gliederungsbefehle (\cs{add\dots}) notwendig. +% \begin{macrocode} +\newcommand*\tud@sectioning@set[3][]{% + \tud@cmd@store{#2}% +% \end{macrocode} +% Für die Überschriften, welche mit \cs{minisec} gesetzt werden, genügt jedoch +% ein vereinfachtes Vorgehen. +% \begin{macrocode} + \ifstr{#2}{minisec}{% + \renewcommand\minisec[1]{% + \tud@cmd@use{minisec}{\tud@makeuppercase{##1}}% + }% +% \end{macrocode} +% Hier erfolgt die Anpassung und Formatierung aller anderen Gliederungsbefehle. +% \begin{macrocode} + }{% + \tud@sectioning@case{#2}% + \ifstrempty{#1}{}{% + \tud@cmd@store{#1}% + \tud@sectioning@case{#1}% + }% + }% + \tud@font@koma@set{#2}{#3}% +} +% \end{macrocode} +% Da die Großschreibung der Überschriften nur beim Setzen der Überschrift +% selbst, nicht aber beispielsweise im Inhaltsverzeichnis oder aber in der +% Kopfzeile unerwünscht erfolgen soll, werden die Gliederungsbefehle angepasst. +% Dabei müssen alle Varianten, also auch die mit Stern und optionalen Argument +% beachtet werden. +% \begin{macrocode} +\newcommand*\tud@sectioning@case[1]{% +% \end{macrocode} +% Als erstes wird unterschieden, ob die normale oder aber die nicht-nummerierte +% sprich die Sternversion gefordert ist. Für die Teileebene werden also +% beispielsweise \cs{tud@part} und \cs{tud@spart} aufgerufen. +% \begin{macrocode} + \@namedef{#1}{\@ifstar{\@nameuse{tud@s#1}}{\@nameuse{tud@#1}}}% +% \end{macrocode} +% Für die normale Version wird geprüft, ob ein optionales Argument angegeben +% wurde. Am Beispiel nachvollzogen bedeutet dies, dass bei einem gegebenen +% optionalen Argument der Befehl \cs{tud@opart} aufgerufen wird, sonst +% \cs{tud@npart}. +% \begin{macrocode} + \@namedef{tud@#1}{\@ifnextchar[%] + {\@nameuse{tud@o#1}}{\@nameuse{tud@n#1}}% + }% +% \end{macrocode} +% Für die normale Version wird der in \cs{@@tud@\meta{Gliederungsbefehl}} +% gesicherte Originalbefehl mit dem gewünschten Eintrag als optionales Argument +% aufgerufen und nur das obligatorische Argument mit \cs{tud@makeuppercase} +% behandelt. +% \begin{macrocode} + \@namedef{tud@n#1}##1{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##1}}}% +% \end{macrocode} +% Für die Version mit optionalen Argument wird dieses einfach an den originalen +% Befehl durchgereicht. Das obligatorische Argument wird wie immer mit +% \cs{tud@makeuppercase} behandelt. +% \begin{macrocode} + \@namedef{tud@o#1}[##1]##2{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##2}}}% +% \end{macrocode} +% Für die Version mit Stern gibt es kein optionales Argument. Dementsprechend +% wird hier lediglich das obligatorische Argument in Großbuchstaben gesetzt. +% \begin{macrocode} + \@namedef{tud@s#1}##1{\@nameuse{@@tud@#1}*{\tud@makeuppercase{##1}}}% +} +% \end{macrocode} +% Mit dem Makro \cs{tud@sectioning@reset} können die manipulierten +%Gliederungsbefehle +% wieder auf ihr ursprüngliches Verhalten zurückgesetzt werden. +% \begin{macrocode} +\newcommand*\tud@sectioning@reset[2][]{% + \tud@cmd@restore{#2}% + \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \tud@font@koma@reset{#2}% +} +% \end{macrocode} +% Es wird die Möglichkeit geschaffen, bestimmten Schriftelementen weitere +% Eigenschaften mitzugeben. Damit dies optionsabhängig geschehen kann und +% \cs{addtokomafont} nur einmalig verwendete werden muss, wird im Zweifelsfall +% einem Schriftelement ein Hilfsmakro zugewiesen, welches per Option angepasst +% werden kann. Mit \cs{tud@font@koma@set} werden dem angegebenen Element die +% gewünschten Schriftattribute zugeteilt. Dabei wird der entsprechenden Schrift +% ein Makro zugewiesen, welches beliebig angepasst werden kann. +% \begin{macrocode} +\newcommand*\tud@font@koma@set[2]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% + \@namedef{tud@font@koma@#1}{#2}% +} +% \end{macrocode} +% Mit \cs{tud@font@koma@reset} kann das angegebene Element wieder zurückgesetzt +% werden. Dabei wird das zuvor hinzugefügte Makro auf \cs{relax} gesetzt. +% \begin{macrocode} +\newcommand*\tud@font@koma@reset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +% \end{macrocode} +% \end{macro}^^A \tud@font@koma@reset +% \end{macro}^^A \tud@font@koma@set +% \end{macro}^^A \tud@sectioning@reset +% \end{macro}^^A \tud@sectioning@case +% \end{macro}^^A \tud@sectioning@set +% Dieser Befehl extrahiert aus einer verwendeten Schrift nur die dazugehörige +% Schriftgröße. +% \todo[v3.12]{\cs{usesizeofkomafont} raus} +% \begin{macrocode} +\providecommand*\usesizeofkomafont[1]{% + \begingroup% + \usekomafont{#1}% + \edef\reserved@a{\noexpand\endgroup% + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \reserved@a\selectfont% +} +% \end{macrocode} +% +% \iffalse +%</class&!option> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx new file mode 100644 index 00000000000..52fee3cd9b2 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-locale.dtx @@ -0,0 +1,687 @@ +% \CheckSum{498} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-locale.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-locale.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (localization)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-locale.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Lokalisierung} +% +% Die TUD-Vorlagen sind für die deutsche und englische Sprache lokalisiert. Das +% bedeutet, dass abhängig von der gewählten Sprache die entsprechenden +% Bezeichner gesetzt werden. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \subsection{Definition der sprachabhängigen Bezeichner} +% +% \begin{macro}{\tud@locale@define} +% +% \iffalse +%<*class|titlepage> +% \fi +% +% \begin{locale}{\degreetext} +% \begin{locale}{\supervisorname} +% \begin{locale}{\supervisorothername} +% \begin{locale}{\refereename} +% \begin{locale}{\refereeothername} +% \begin{locale}{\advisorname} +% \begin{locale}{\advisorothername} +% \begin{locale}{\professorname} +% \begin{locale}{\datetext} +% \begin{locale}{\dateofbirthtext} +% \begin{locale}{\placeofbirthtext} +% \begin{locale}{\defensedatetext} +% \begin{locale}{\matriculationnumbername} +% \begin{locale}{\matriculationyearname} +% \begin{locale}{\coverpagename} +% \begin{locale}{\titlepagename} +% \begin{locale}{\abstractname} +% \begin{locale}{\confirmationname} +% \begin{locale}{\confirmationtext} +% \begin{locale}{\restrictionname} +% \begin{locale}{\restrictiontext} +% \begin{locale}{\listingname} +% \begin{locale}{\listlistingname} +% \begin{locale}{\dissertationname} +% \begin{locale}{\diplomathesisname} +% \begin{locale}{\masterthesisname} +% \begin{locale}{\bachelorthesisname} +% \begin{locale}{\studentresearchname} +% \begin{locale}{\projectpapername} +% \begin{locale}{\seminarpapername} +% \begin{locale}{\researchname} +% \begin{locale}{\logname} +% \begin{locale}{\internshipname} +% \begin{locale}{\reportname} +% Die neu definierten Bezeichner werden mit einer Fehlermeldung initialisiert. +% Wird eine unterstützte Dokumentsprache --~momentan sind dies lediglich +% Deutsch und Englisch~-- in der Präambel des Dokumentes geladen, so werden die +% neu definierten Bezeichner sprachspezifisch überschrieben. Andernfalls +% bekommt der Anwender eine Fehlermeldung mit Hinweisen, wie er selbst die +% Bezeichner für die gewählte Sprache manuell definieren muss. +% \begin{macrocode} +\newcommand*\tud@locale@define[1]{% + \providecommand*#1{% +%<*class> + \ClassError{\tudcls@name}{% + \string#1 not defined for language \languagename% + }{% + Currently the class \tudcls@name\space only supports the\MessageBreak% +%</class> +%<*titlepage> + \PackageError{titlepage}{% + \string#1 not defined for language \languagename% + }{% + Currently this titlepage style only supports the\MessageBreak% +%</titlepage> + languages german and english. You must define single\MessageBreak% + patterns by yourself, e.g.:\MessageBreak% + \string\providecaptionname\languagename{\string#1}{<text>}\MessageBreak% + To implement new languages, it would be nice if you could\MessageBreak% + contact the author of this class and send your definitions\MessageBreak% + to \filemail% + }% + }% +} +\tud@locale@define{\degreetext} +\tud@locale@define{\supervisorname} +\tud@locale@define{\supervisorothername} +\tud@locale@define{\refereename} +\tud@locale@define{\refereeothername} +\tud@locale@define{\advisorname} +\tud@locale@define{\advisorothername} +\tud@locale@define{\professorname} +\tud@locale@define{\datetext} +\tud@locale@define{\dateofbirthtext} +\tud@locale@define{\placeofbirthtext} +\tud@locale@define{\defensedatetext} +\tud@locale@define{\matriculationyearname} +%<*class> +\tud@locale@define{\matriculationnumbername} +\tud@locale@define{\coverpagename} +\tud@locale@define{\titlepagename} +%<*book> +\tud@locale@define{\abstractname} +%</book> +\tud@locale@define{\confirmationname} +\tud@locale@define{\confirmationtext} +\tud@locale@define{\restrictionname} +\tud@locale@define{\restrictiontext} +\tud@locale@define{\listingname} +\tud@locale@define{\listlistingname} +%</class> +\tud@locale@define{\dissertationname} +%<*class> +\tud@locale@define{\diplomathesisname} +\tud@locale@define{\masterthesisname} +\tud@locale@define{\bachelorthesisname} +\tud@locale@define{\studentresearchname} +\tud@locale@define{\projectpapername} +\tud@locale@define{\seminarpapername} +%</class> +\tud@locale@define{\researchname} +\tud@locale@define{\logname} +\tud@locale@define{\internshipname} +\tud@locale@define{\reportname} +% \end{macrocode} +% \end{locale}^^A \reportname +% \end{locale}^^A \internshipname +% \end{locale}^^A \logname +% \end{locale}^^A \researchname +% \end{locale}^^A \seminarpapername +% \end{locale}^^A \projectpapername +% \end{locale}^^A \studentresearchname +% \end{locale}^^A \bachelorthesisname +% \end{locale}^^A \masterthesisname +% \end{locale}^^A \diplomathesisname +% \end{locale}^^A \dissertationname +% \end{locale}^^A \restrictiontext +% \end{locale}^^A \listlistingname +% \end{locale}^^A \listingname +% \end{locale}^^A \restrictionname +% \end{locale}^^A \confirmationtext +% \end{locale}^^A \confirmationname +% \end{locale}^^A \abstractname +% \end{locale}^^A \titlepagename +% \end{locale}^^A \coverpagename +% \end{locale}^^A \matriculationyearname +% \end{locale}^^A \matriculationnumbername +% \end{locale}^^A \defensedatetext +% \end{locale}^^A \placeofbirthtext +% \end{locale}^^A \dateofbirthtext +% \end{locale}^^A \datetext +% \end{locale}^^A \professorname +% \end{locale}^^A \advisorothername +% \end{locale}^^A \advisorname +% \end{locale}^^A \refereeothername +% \end{locale}^^A \refereename +% \end{locale}^^A \supervisorothername +% \end{locale}^^A \supervisorname +% \end{locale}^^A \degreetext +% +% \iffalse +%</class|titlepage> +%<*supervisor> +% \fi +% +% \begin{locale}{\taskname} +% \begin{locale}{\tasktext} +% \begin{locale}{\authorname} +% \begin{locale}{\titlename} +% \begin{locale}{\coursename} +% \begin{locale}{\branchname} +% \begin{locale}{\issuedatetext} +% \begin{locale}{\duedatetext} +% \begin{locale}{\chairmanname} +% \begin{locale}{\focusname} +% \begin{locale}{\objectivesname} +% \begin{locale}{\evaluationname} +% \begin{locale}{\evaluationtext} +% \begin{locale}{\contentname} +% \begin{locale}{\assessmentname} +% \begin{locale}{\gradetext} +% \begin{locale}{\noticename} +% \begin{locale}{\contactname} +% Die neu definierten Bezeichner werden durch \cs{tud@locale@define} mit einer +% Fehlermeldung initialisiert. +% \begin{macrocode} +\tud@locale@define{\taskname} +\tud@locale@define{\tasktext} +\tud@locale@define{\authorname} +\tud@locale@define{\titlename} +\tud@locale@define{\coursename} +\tud@locale@define{\branchname} +\tud@locale@define{\issuedatetext} +\tud@locale@define{\duedatetext} +\tud@locale@define{\chairmanname} +\tud@locale@define{\focusname} +\tud@locale@define{\objectivesname} +\tud@locale@define{\evaluationname} +\tud@locale@define{\evaluationtext} +\tud@locale@define{\contentname} +\tud@locale@define{\assessmentname} +\tud@locale@define{\gradetext} +\tud@locale@define{\noticename} +\tud@locale@define{\contactname} +% \end{macrocode} +% \end{locale}^^A \contactname +% \end{locale}^^A \noticename +% \end{locale}^^A \gradetext +% \end{locale}^^A \assessmentname +% \end{locale}^^A \contentname +% \end{locale}^^A \evaluationtext +% \end{locale}^^A \evaluationname +% \end{locale}^^A \objectivesname +% \end{locale}^^A \focusname +% \end{locale}^^A \chairmanname +% \end{locale}^^A \duedatetext +% \end{locale}^^A \issuedatetext +% \end{locale}^^A \branchname +% \end{locale}^^A \coursename +% \end{locale}^^A \titlename +% \end{locale}^^A \authorname +% \end{locale}^^A \tasktext +% \end{locale}^^A \taskname +% +% \iffalse +%</supervisor> +% \fi +% +% \end{macro}^^A \tud@locale@define +% +% \subsection{Deutschsprachige Bezeichner} +% +% \begin{macro}{\tud@locale@german} +% +% \iffalse +%<*class|titlepage> +% \fi +% +% Dieser Befehl dient zur Definition der deutschsprachigen Bezeichner. Dabei +% muss als Argument die \pkg{babel}-konformen Bezeichnung oder aber ein +% Alias für die deutsche Sprache angegeben werden. +% \begin{macrocode} +\newcommand*\tud@locale@german[1]{% + \providecaptionname{#1}{\degreetext}% + {zur Erlangung des akademischen Grades}% + \providecaptionname{#1}{\supervisorname}% + {Betreuer}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {Erstgutachter}% + \providecaptionname{#1}{\refereeothername}% + {Zweitgutachter}% + \providecaptionname{#1}{\advisorname}% + {Fachreferent}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Betreuender Hochschullehrer}% + \providecaptionname{#1}{\datetext}% + {Eingereicht am}% + \providecaptionname{#1}{\dateofbirthtext}% + {Geboren am}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Verteidigt am}% + \providecaptionname{#1}{\matriculationyearname}% + {Immatrikulationsjahr}% +%<*class> + \providecaptionname{#1}{\matriculationnumbername}% + {Matrikelnummer}% + \providecaptionname{#1}{\coverpagename}% + {Umschlagseite}% + \providecaptionname{#1}{\titlepagename}% + {Titelblatt}% +%<*book> + \providecaptionname{#1}{\abstractname}% + {Zusammenfassung}% +%</book> + \providecaptionname{#1}{\confirmationname}% + {Selbstst\"andigkeitserkl\"arung}% + \providecaptionname{#1}{\confirmationtext}{% + Hiermit versichere ich, dass ich die vorliegende + \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es + wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel + und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} + \"ubernommenen Zitate habe ich als solche kenntlich gemacht. + \ifx\@supporter\empty% + Es waren keine weiteren Personen an der geistigen Herstellung der + vorliegenden Arbeit beteiligt. + \else% + W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden + Personen unterst\"utzt:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Weitere Personen waren an der geistigen Herstellung der + vorliegenden Arbeit nicht beteiligt. + \fi% + Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum + nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.% + }% + \providecaptionname{#1}{\restrictionname}% + {Sperrvermerk}% + \providecaptionname{#1}{\restrictiontext}{% + Diese \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + enth\"alt vertrauliche Informationen\ifx\@company\empty\else + , offengelegt durch \@company{}\fi. Ver\"offentlichungen, + Vervielf\"altigungen und Einsichtnahme~-- auch nur auszugsweise~-- + sind ohne ausdr\"uckliche Genehmigung \ifx\@company\empty\else + durch \@company{} \fi nicht gestattet, ebenso wie + Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die + vorliegende Arbeit ist nur dem Betreuer an der Hochschule, + den Gutachtern sowie den Mitgliedern des Pr\"ufungsausschusses + zug\"anglich zu machen.% + }% + \providecaptionname{#1}{\listingname}% + {Quelltext}% + \providecaptionname{#1}{\listlistingname}% + {Quelltextverzeichnis}% +%</class> + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% +%<*class> + \providecaptionname{#1}{\diplomathesisname}% + {Diplomarbeit}% + \providecaptionname{#1}{\masterthesisname}% + {Master-Arbeit}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor-Arbeit}% + \providecaptionname{#1}{\studentresearchname}% + {Studienarbeit}% + \providecaptionname{#1}{\projectpapername}% + {Projektarbeit}% + \providecaptionname{#1}{\seminarpapername}% + {Seminararbeit}% +%</class> + \providecaptionname{#1}{\researchname}% + {Forschungsbericht}% + \providecaptionname{#1}{\logname}% + {Protokoll}% + \providecaptionname{#1}{\internshipname}% + {Praktikumsbericht}% + \providecaptionname{#1}{\reportname}% + {Bericht}% +} +% \end{macrocode} +% +% \iffalse +%</class|titlepage> +%<*supervisor> +% \fi +% +% An den Ursprungsbefehl werden weitere Definitionen angehängt. +% \begin{macrocode} +\apptocmd{\tud@locale@german}{% + \providecaptionname{#1}{\taskname}% + {Aufgabenstellung}% + \providecaptionname{#1}{\tasktext}% + {f\"ur die Anfertigung einer}% + \providecaptionname{#1}{\authorname}% + {Name}% + \providecaptionname{#1}{\titlename}% + {Titel}% + \providecaptionname{#1}{\coursename}% + {Studiengang}% + \providecaptionname{#1}{\branchname}% + {Studienrichtung}% + \providecaptionname{#1}{\issuedatetext}% + {Ausgeh\"andigt am}% + \providecaptionname{#1}{\duedatetext}% + {Einzureichen am}% + \providecaptionname{#1}{\chairmanname}% + {Pr\"ufungsausschussvorsitzender}% + \providecaptionname{#1}{\focusname}% + {Schwerpunkte der Arbeit}% + \providecaptionname{#1}{\objectivesname}% + {Ziele der Arbeit}% + \providecaptionname{#1}{\evaluationname}% + {Gutachten}% + \providecaptionname{#1}{\evaluationtext}% + {f\"ur die}% + \providecaptionname{#1}{\contentname}% + {Inhalt}% + \providecaptionname{#1}{\assessmentname}% + {Bewertung}% + \providecaptionname{#1}{\gradetext}% + {Die Arbeit wird mit der Note \textbf{\@grade} bewertet.}% + \providecaptionname{#1}{\noticename}% + {Aushang}% + \providecaptionname{#1}{\contactname}% + {Ansprechpartner}% +}{}{} +% \end{macrocode} +% +% \iffalse +%</supervisor> +% \fi +% +% \end{macro}^^A \tud@locale@german +% +% \subsection{Englischsprachige Bezeichner} +% +% \begin{macro}{\tud@locale@english} +% +% \iffalse +%<*class|titlepage> +% \fi +% +% Dieser Befehl dient zur Definition der englischen Bezeichner. Dabei muss als +% Argument die \pkg{babel}-konformen Bezeichnung oder aber ein +% Alias für die deutsche Sprache angegeben werden. Verbesserungsvorschläge für +% die Übersetzung können gerne an \filemail{} geschickt werden. +% \begin{macrocode} +\newcommand*\tud@locale@english[1]{% + \providecaptionname{#1}{\degreetext}% + {to achieve the academic degree}% + \providecaptionname{#1}{\supervisorname}% + {Supervisor}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {First referee}% + \providecaptionname{#1}{\refereeothername}% + {Second referee}% + \providecaptionname{#1}{\advisorname}% + {Advisor}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Supervising professor}% + \providecaptionname{#1}{\datetext}% + {Submitted on}% + \providecaptionname{#1}{\dateofbirthtext}% + {Born on}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Defended on}% + \providecaptionname{#1}{\matriculationyearname}% + {Matriculation year}% +%<*class> + \providecaptionname{#1}{\matriculationnumbername}% + {Matriculation number}% + \providecaptionname{#1}{\coverpagename}% + {Cover page}% + \providecaptionname{#1}{\titlepagename}% + {Title page}% +%<*book> + \providecaptionname{#1}{\abstractname}% + {Abstract}% +%</book> + \providecaptionname{#1}{\confirmationname}% + {Statement of authorship}% + \providecaptionname{#1}{\confirmationtext}{% + I hereby certify that I have authored this + \ifx\@@thesis\empty thesis\else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + independently and without undue assistance from third + parties. No other than the resources and references + indicated in this thesis have been used. I have marked + both literal and accordingly adopted quotations as such. + \ifx\@supporter\empty% + They were no additional persons involved in the spiritual + preparation of the present thesis. + \else% + During the preparation of this thesis I was only supported + by the following persons:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Additional persons were not involved in the spiritual + preparation of the present thesis. + \fi% + I am aware that violations of this declaration may lead to + subsequent withdrawal of the degree.% + }% + \providecaptionname{#1}{\restrictionname}% + {Restriction note}% + \providecaptionname{#1}{\restrictiontext}{% + This \ifx\@@thesis\empty thesis \else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + contains confidential data\ifx\@company\empty\else + , disclosed by \@company{}\fi. Publications, duplications and + inspections---even in part---are prohibited without explicit + permission\ifx\@company\empty\else\space by \@company{}\fi, + as well as publications about the content of this thesis. + This thesis may only be made accessible to the supervisor at + the university, the reviewers and also the members of the + examination board.% + }% + \providecaptionname{#1}{\listingname}% + {Listing}% + \providecaptionname{#1}{\listlistingname}% + {List of Listings}% +%</class> + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% +%<*class> + \providecaptionname{#1}{\diplomathesisname}% + {Diploma Thesis}% + \providecaptionname{#1}{\masterthesisname}% + {Master Thesis}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor Thesis}% + \providecaptionname{#1}{\studentresearchname}% + {Student Research Project}% + \providecaptionname{#1}{\projectpapername}% + {Project Paper}% + \providecaptionname{#1}{\seminarpapername}% + {Seminar Paper}% +%</class> + \providecaptionname{#1}{\researchname}% + {Research Report}% + \providecaptionname{#1}{\logname}% + {Log}% + \providecaptionname{#1}{\internshipname}% + {Internship Report}% + \providecaptionname{#1}{\reportname}% + {Report}% +} +% \end{macrocode} +% +% \iffalse +%</class|titlepage> +%<*supervisor> +% \fi +% +% An den Ursprungsbefehl werden weitere Definitionen angehängt. +% \begin{macrocode} +\apptocmd{\tud@locale@english}{% + \providecaptionname{#1}{\taskname}% + {Task}% + \providecaptionname{#1}{\tasktext}% + {for the preparation of a}% + \providecaptionname{#1}{\authorname}% + {Name}% + \providecaptionname{#1}{\titlename}% + {Title}% + \providecaptionname{#1}{\coursename}% + {Course}% + \providecaptionname{#1}{\branchname}% + {Branch}% + \providecaptionname{#1}{\issuedatetext}% + {Issued on}% + \providecaptionname{#1}{\duedatetext}% + {Due date for submission}% + \providecaptionname{#1}{\chairmanname}% + {Chairman of the Audit Committee}% + \providecaptionname{#1}{\focusname}% + {Focus of work}% + \providecaptionname{#1}{\objectivesname}% + {Objectives of work}% + \providecaptionname{#1}{\evaluationname}% + {Evaluation}% + \providecaptionname{#1}{\evaluationtext}% + {for the}% + \providecaptionname{#1}{\contentname}% + {Content}% + \providecaptionname{#1}{\assessmentname}% + {Assessment}% + \providecaptionname{#1}{\gradetext}% + {The thesis is evaluated with a grade of \textbf{\@grade}.}% + \providecaptionname{#1}{\noticename}% + {Notice}% + \providecaptionname{#1}{\contactname}% + {Contact}% +}{}{} +% \end{macrocode} +% +% \iffalse +%</supervisor> +% \fi +% +% \end{macro}^^A \tud@locale@english +% +% \iffalse +%<*class|titlepage> +% \fi +% +% \subsection{Unbekannte Bezeichner} +% +% Das eigentliche Festlegen der einzelnen Bezeichner erfolgt erst direkt zum +% Beginn des Dokumentes. Dies hat den Vorteil, dass spätestens zu diesem +% Zeitpunkt entweder \pkg{babel} oder aber ein anderes Paket, welches die +% Nutzung sprachabhängiger Bezeichner erlaubt, geladen sein muss. Sollte +% überhaupt keine Sprache angegeben worden sein, so wird standardmäßig die +% englische Sprache genutzt. +% \todo[v3.12]{\cs{AtBeginDocument} raus, macht \KOMAScript{} selber} +% \todo[v3.12]{% +% \cs{providecaptionname} verträgt nun Sprachen in einer Liste, +% \cs{tud@locale@german} und \cs{tud@locale@end} können raus\\ +% \cs{providecaptionname\{german,ngerman,austrian,naustrian\}\dots} +% \cs{defcaptionname\{english,american,british,canadian,USenglish,UKenglish\}} +% } +% \begin{macrocode} +\AtBeginDocument{% +%<*class> + \ifdef{\captionsenglish}{}{\let\captionsenglish\@empty}% +%</class> +%<*titlepage> + \@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}% +%</titlepage> + \tud@locale@german{ngerman}% + \tud@locale@german{german}% + \tud@locale@english{english}% + \tud@locale@english{USenglish}% + \tud@locale@english{american}% + \tud@locale@english{UKenglish}% + \tud@locale@english{british}% +} +%<*class> +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +%</class> +% \end{macrocode} +% +% \iffalse +%</class|titlepage> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx new file mode 100644 index 00000000000..95eb44e5a27 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-manual.dtx @@ -0,0 +1,1276 @@ +% \CheckSum{1206} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-manual.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-manual.dtx}% + [2014/04/24 v1.00 TUD-KOMA-Script (manual)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-manual.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Klasse für das \TUDScript-Handbuch} +% +% Diese Klasse wird für das Benutzerhanduch des \TUDScript-Bundles verwendet. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \subsection{Identifizierung der Klasse \cls{tudscrman}} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{tudscrman}[\TUDVersion\space{}internal manual class]% +% \end{macrocode} +% +% \subsection{Die Klasse \pkg{tudscrman}} +% +% Basis für das Handbuch ist die Klasse \cls{tudscrreprt}. An diese werden alle +% Klassenoptionen weitergereicht. +% +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{tudscrreprt}} +\ProcessOptions\relax +\LoadClass{tudscrreprt} +% \end{macrocode} +% \begin{length}{\baselineskipglue} +% Diese Länge wird in der Dokumentation für alle möglichen stauch- und dehnbaren +% Einfügen genutzt. +% \begin{macrocode} +\newlength\baselineskipglue +\setlength\baselineskipglue{% + .5\baselineskip plus .5\baselineskip minus .25\baselineskip% +} +% \end{macrocode} +% \end{length}^^A \baselineskipglue +% Des Weiteren werden einige Pakete geladen. Dabei wird \pkg{microtype} für den +% optischen Randausgleich verwendet, \pkg{textcomp} stellt Pfeile u.\,ä. im +% Fließtext zur Verfügung, mit \pkg{tabularx} können Tabellen bestimmter Breite +% und automatisch berechneten Spaltenbreiten gesetzt werden. Mit \pkg{ragged2e} +% wird~-- falls benötigt~-- im Flattersatz die Silbentrennung aktiviert. Das +% Paket \pkg{marginnote} wird für die Auszeichnung von Änderungen und +% ToDo-Notizen am Seitenrand verwendet. Außerdem wird das Paket \pkg{xparse} +% geladen. Dieses erlaubt eine sehr freie Deklaration von Makros mit (fast) +% beliebig arangierbaren optionalen Argumenten. +% \begin{macrocode} +\RequirePackage{microtype} +\RequirePackage{textcomp} +\RequirePackage{tabularx} +\RequirePackage{ragged2e} +\RequirePackage{marginnote} +\RequirePackage{xparse} +% \end{macrocode} +% Die Fußnoten werden nicht mit jedem Kapitel zurückgesetzt. +% \begin{macrocode} +\RequirePackage{chngcntr} +\counterwithout{footnote}{chapter} +% \end{macrocode} +% Das Paket erlaubt das Beeinflussen der Standardlisten und die Ableitung neuer +% Listen aus diesen. Hier werden die Zwischenräume innerhalb der Listen entfernt. +% \begin{macrocode} +\RequirePackage{enumitem} +\setlist{noitemsep} +% \end{macrocode} +% \begin{environment}{values} +% \begin{macro}{\before@values} +% \begin{macro}{\item@values} +% \begin{macro}{\itemtrue} +% \begin{macro}{\itemfalse} +% \begin{macro}{\tud@item@val} +% \begin{macro}{\tud@item@add} +% \begin{macro}{\tud@item@format} +% \begin{macro}{\tud@item} +% \begin{macro}{\tud@@item} +% \begin{macro}{\tud@@@item} +% Die Liste \env{values} dient zum Benennen der möglichen Werte für einen +% bestimmten Schlüssel. Im Handbuch kommt diese Liste vorallem bei Optionen aber +% auch bei bestimmten Befehls- und Optionsparametern zum Einsatz. +% \begin{macrocode} +\newlist{values}{description}{1} +\setlist[values]{% + topsep=.5\baselineskipglue,labelwidth=\columnwidth,labelsep=0pt, + font=\normalfont\ttfamily,before*=\before@values% +} +% \end{macrocode} +% Zu Beginn der Umgebung wird die Definition des \cs{item}-Befehls gesichert und +% anschließend geändert. +% \begin{macrocode} +\newcommand*\before@values{% + \let\item@values\item% + \let\item\tud@item% +%% \par\RaggedRight% +} +% \end{macrocode} +% Die folgenden beiden Befehle enthalten die Standardwerte für boolsche Schalter. +% \begin{macrocode} +\newcommand*\itemfalse{\def\tud@item@val{false/off/no}\item} +\newcommand*\itemtrue{\def\tud@item@val{true/on/yes}\item} +% \end{macrocode} +% Mit der neuen Definition kann der Säumniswert mit \cs{item*} explizit in der +% Liste hervorgehoben werden. +% \begin{macrocode} +\newcommand*\item@values{} +\newcommand*\tud@item@val{} +\newcommand*\tud@item@add{} +\newcommand*\tud@item@format{} +\newcommand*\tud@item{% + \@ifstar{% + \def\tud@item@add{(Säumniswert)}% + \let\tud@item@format\emph% + \tud@@item% + }{% + \let\tud@item@add\relax% + \let\tud@item@format\relax% + \tud@@item% + }% +} +% \end{macrocode} +% In der zweiten Instanz wird das optionale Argument von \cs{item} ausgewertet. +% Dabei wird das Hilfsmakro \cs{tud@item@val} beachtet, welches evtl. mit den +% Befehlen \cs{itemtrue} oder \cs{itemfalse} gesetzt wurde und vor dem +% optionalen Argument aufgeführt wird. +% \begin{macrocode} +\newcommand*\tud@@item[1][]{% + \ifstrempty{#1}% + {\edef\@tempa{\tud@item@val}}% + {\ifstr{\tud@item@val}{}% + {\edef\@tempa{#1}}% + {\edef\@tempa{\tud@item@val/#1}}% + }% + \def\tud@item@val{}% +% \end{macrocode} +% Wurde weder \cs{tud@item@val} gesetzt noch ein Wert im optionalen Argument von +% \cs{item} angegeben, so wird der gesicherte Befehl ausgeführt. Ansonsten folgt +% die dritte Instanz. +% \begin{macrocode} + \ifstr{\@tempa}{}{\item@values}{\tud@@@item}% +} +% \end{macrocode} +% Der gesicherte Befehl wird mit den aufbereiteten Formatierungen genutzt. +% \begin{macrocode} +\newcommand*\tud@@@item[1][]{% + \ifstrempty{#1}{}{% + \ifx\tud@item@add\relax% + \def\tud@item@add{#1}% + \else% + \apptocmd{\tud@item@add}{~#1}{}{} + \fi% + }% + \item@values[% + \tud@item@format{\@tempa:}% + \ifx\tud@item@add\relax\else\textuln{\space\footnotesize\tud@item@add}\fi% + ] +} +% \end{macrocode} +% \end{macro}^^A \tud@@@item +% \end{macro}^^A \tud@@item +% \end{macro}^^A \tud@item +% \end{macro}^^A \tud@item@format +% \end{macro}^^A \tud@item@add +% \end{macro}^^A \tud@item@val +% \end{macro}^^A \itemfalse +% \end{macro}^^A \itemtrue +% \end{macro}^^A \item@values +% \end{macro}^^A \before@values +% \end{environment}^^A values +% \begin{environment}{packages} +% \begin{macro}{\item@packages} +% \begin{macro}{\tud@item@pkg} +% \begin{macro}{\before@packages} +% Ähnlich wie für die Auflistung von Werten eines Schlüssels wird auch mit der +% Charakterisierung von Paketen verfahren. Diese werden in der Auflistung +% speziell gekennzeichnet und mit \cs{DeclarePackage} im Index eingetragen. +% \begin{macrocode} +\newlist{packages}{description}{2} +\setlist[packages]{% + topsep=\medskipamount,labelwidth=\linewidth,labelsep=0pt,font=\normalfont,% + parsep=\parskip,listparindent=\parindent,before=\before@packages% +} +\newcommand*\item@packages{} +\newcommand*\before@packages{% + \ifdefvoid{\item@packages}{% + \let\item@packages\item% + \let\item\tud@item@pkg% + }{}% +%% \par\RaggedRight% +} +\newcommand*\tud@item@pkg[1][]{% + \item@packages[{\DeclarePackage{#1}\texturn{#1}}]% +} +% \end{macrocode} +% \end{macro}^^A \before@packages +% \end{macro}^^A \tud@item@pkg +% \end{macro}^^A \item@packages +% \end{environment}^^A packages +% \begin{macro}{\includeexample} +% Mit diesem Befehl wird eine \hologo{TeX}-Datei ggf. übersetzt und anschließend +% als PDF"~Datei wieder eingebunden. +% \begin{macrocode} +\RequirePackage{filemod} +\RequirePackage{pdfpages} +\newcommand*{\includeexample}[1]{% + \lstinputlisting[style=tudscr]{examples/#1.tex} + \filemodCmp{./examples/#1.pdf}{./examples/#1.tex}{}{% + \immediate\write18{% + pdflatex -output-director examples examples/#1.tex + pdflatex -output-director examples examples/#1.tex + }% + }% + \IfFileExists{examples/#1.pdf}{\includepdf[pages=-]{examples/#1.pdf}}{}% +} +% \end{macrocode} +% \end{macro}^^A \includeexample +% \begin{macro}{\Email} +% \begin{macro}{\printflag} +% Für die Erstellung des Indexes wird das Paket \pkg{imakeidx} zusammen mit +% \textbf{xindy} verwendet. Zusätzlich werden \pkg{varioref} und \pkg{hyperref} +% geladen. Damit wird der Befehl \cs{Email} als Link definiert. Außerdem wird +% geprüft, ob durch einen externen \hologo{pdfLaTeX}-Aufruf das Flag +% \cs{printflag} definiert wurde. In diesem Fall werden Optionen für den +% unbunten Druck aktiviert. +% \begin{macrocode} +\AtEndPreamble{% + \RequirePackage[xindy,splitindex]{imakeidx}% + \indexsetup{% + level=\addsec,toclevel=section,noclearpage,% + firstpagestyle=myheadings,%headers={\indexname}{\indexname}% + }% + \newcommand*\xdyopt{-M tudscrman.xdy -L german-din}% + \RequirePackage{varioref}% + \RequirePackage[hyperindex=false,colorlinks,linkcolor=blue]{hyperref}% + \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}} + \pdfstringdefDisableCommands{% + \let\Application\@Application% + \let\Class\@Class% + \let\Package\@Package% + }% + \ifdef{\printflag}{\hypersetup{hidelinks}}{\TUDoptions{color}}% + \makeindex[title={Allgemeiner Index},options=\xdyopt]% + \makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]% + \makeindex[title={Umgebungen und Befehle},name=macros,options=\xdyopt]% + \makeindex[title={Umgebungs- und Befehlsparameter},name=keys,options=\xdyopt]% + \makeindex[title={Sprachabh\"angige Bezeichner},name=terms,options=\xdyopt]% +%% \makeindex[title={Schriftelemente},name=fonts,options=\xdyopt]% + \makeindex[title={Farben},name=colors,options=\xdyopt]% + \makeindex[title={Klassen, Pakete und Dateien},name=files,options=\xdyopt]% +%% \makeindex[title={\"Anderungsliste},name=changelog,options=\xdyopt]% +} +% \end{macrocode} +% \end{macro}^^A \printflag +% \end{macro}^^A \Email +% \begin{macro}{\PrintIndex} +% \begin{macro}{\Index} +% \begin{macro}{\@printindex} +% Der Befehl \cs{PrintIndex} ist die Zusammenfassung für die Ausgabe aller +% Indexe. Mit \cs{Index} werden im Allgemeinen Index Querverweise auf die +% Spezialindexe gesetzt. Der Befehl \cs{@printindex} setzt vor jedem Unterindex +% ein referenzierbares Label und gibt diesen danach aus. +% \begin{macrocode} +\newcommand*\PrintIndex{% + \@printindex% + \@printindex[options]% + \@printindex[macros]% + \@printindex[keys]% + \@printindex[terms]% +%% \@printindex[fonts]% + \begingroup% + \let\lettergroup\@gobble% + \@printindex[colors]% + \endgroup% + \@printindex[files]% +} +\newcommand*\Index[3][]{% + \ifcsdef{r@idx:#3}{% + \index{\ifblank{#1}{#2}{#1}|see{\hyperref[idx:#3]{Index der #2}}}% + }{% + \index{\ifblank{#1}{#2}{#1}|see{Index der #2}}% + }% +} +\newcommand*\@printindex[1][]{% + \pagebreak[3]% + \ifblank{#1}{% + \indexprologue[\vspace*{0pt}]{\label{idx:main}}% + \printindex% + }{% + \indexprologue[\vspace*{0pt}]{\label{idx:#1}} + \printindex[#1] + }% +} +% \end{macrocode} +% \end{macro}^^A \@printindex +% \end{macro}^^A \Index +% \end{macro}^^A \PrintIndex +% \begin{macro}{\PrintChangelog} +% \begin{macro}{\ChangedAt} +% \begin{macro}{\if@changelog} +% Ähnlich wie für den index wird auch für die Änderungsliste verfahren. +% \begin{macrocode} +\newif\if@changelog +\newcommand*\PrintChangelog{% + \begingroup% + \let\lettergroup\@gobble% + \@changelogtrue% + \@printindex[changelog]% + \endgroup% +} +% \end{macrocode} +% Hier wird zum ersten Mal von den Möglichkeiten des Paketes \pkg{xparse} +% Gebrauch gemacht. +% \begin{macrocode} +\NewDocumentCommand\ChangedAt{mo}{% + \begingroup% + \setlength{\fboxsep}{0pt}% + \marginnote{\footnotesize\fbox{\texturn{\ \strut#1\ }}}% + \IfValueTF{#2}{% + \let\PName\@gobble% + \let\PBoolean\relax% + \let\PSet\relax% + \let\PValue\@gobble% + \let\Parameter\@gobble% + \let\OParameter\@gobble% + \let\LParameter\relax% + \let\OLParameter\@gobble% + \let\PParameter\@gobble% + \let\POParameter\@gobble% + \index[changelog]{#1!#2}% + }{}% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \if@changelog +% \end{macro}^^A \ChangedAt +% \end{macro}^^A \PrintChangelog +% \begin{macro}{\if@declare} +% \begin{macro}{\if@openindex} +% \begin{macro}{\bsc} +% \begin{macro}{\idxfont} +% \begin{macro}{\if@noindex} +% Alle möglichen Befehle und Helferlein zum Steuern der Ausgabe. +% \begin{macrocode} +\newif\if@declare +\newif\if@openindex +\newcommand*\bsc{} +\DeclareRobustCommand*\bsc{\@backslashchar} +\newcommand*\idxfont{} +\let\idxfont\footnotesize +\newif\if@noindex +% \end{macrocode} +% \end{macro}^^A \if@noindex +% \end{macro}^^A \idxfont +% \end{macro}^^A \bsc +% \end{macro}^^A \if@openindex +% \end{macro}^^A \if@declare +% Im Folgenden werden allerhand Befehle mit Hilfe des Paketes \pkg{xparse} +% definiert, um bestimmte Begriffe, Klassen, Pakete, Optionen, Umgebungen, +% Befehle, Parameter, Bezeichner, Längen, Schriftelemente und Farben speziell +% auszuzeichnen und im Index einzutragen. Allen diesen Befehlen ist gemein, dass +% diese in der Sternversion nicht in den Index eingetragen werden. +% +% Für (fast) alle der folgenden Befehle gilt, dass die Verwendung in der Form +% \cs{\meta{Befehl}'} fügt eine zusätzliche Referenz auf den Abschnitt ihrer +% Deklaration ein. Das erste optionale Argument dient für eine spezielle +% Auszeichnung im Index. Die eigentliche Behandlung der Eingabe und die +% Eintragungen in den Index erfolgen dabei mit dem Befehl \cs{@ProcessOutput}. +% \begin{macro}{\Application} +% \begin{macro}{\@Application} +% Die Auszeichnung und der Indexeintrag einer Anwendungssoftware. +% \begin{macrocode} +\NewDocumentCommand\Application{som}{% + \ifdin{#3}{% + \mbox{\textubn{#3}} + \IfBooleanTF{#1}{}{% + \index{#3~{\protect\idxfont(Anwendungssoftware)}\IfValueTF{#2}{|#2}{}}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Application{som}{#3} +% \end{macrocode} +% \end{macro}^^A \@Application +% \end{macro}^^A \Application +% \begin{macro}{\Distribution} +% Die Auszeichnung und der Indexeintrag einer \hologo{LaTeX}-Distribution. +% \begin{macrocode} +\NewDocumentCommand\Distribution{som}{% + \mbox{\texturn{#3}} + \IfBooleanTF{#1}{}{% + \index{#3~{\protect\idxfont(Distribution)}\IfValueTF{#2}{|#2}{}}% + }% +} +% \end{macrocode} +% \end{macro}^^A \Distribution +% \begin{macro}{\Path} +% Die Auszeichnung eines Dateipfades. +% \begin{macrocode} +\newcommand*\Path{} +\DeclareRobustCommand*\Path[1]{\mbox{\texttt{#1}}} +% \end{macrocode} +% \end{macro}^^A \Path +% \begin{macro}{\File} +% Die Auszeichnung und der Indexeintrag einer Datei. +% \begin{macrocode} +\NewDocumentCommand\File{som}{% + \mbox{\texturn{#3}}% + \IfBooleanTF{#1}{}{% + \index[files]{#3~{\protect\idxfont(Datei)}\IfValueTF{#2}{|#2}{}}% + }% +} +% \end{macrocode} +% \end{macro}^^A \File +% \begin{macro}{\Class} +% \begin{macro}{\@Class} +% \begin{macro}{\DeclareClass} +% \begin{macro}{\@TempClass} +% Die Auszeichnung und der Indexeintrag einer Klasse. Sollte gerade DIN~Bold +% verwendet werden~-- der Befehl wird innerhalb einer Überschrift verwendet~-- +% wird lediglich das Hauptargument ausgegeben. Außerdem wird für Einträge mit +% dem \pkg{hyperref}-Paket mit \cs{@Class} eine expandierbare Version des +% Befehls definiert. Mit \cs{DeclareClass} wird eine Klasse deklariert. +% \begin{macrocode} +\newcommand*\@TempClass{} +\NewDocumentCommand\Class{st'om}{% + \ifdin{#4}{% + \gdef\@TempClass{~{\protect\idxfont(Klasse)}}% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempClass]{autoref}% + }{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempClass]{#3}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Class{st'om}{#4} +\newcommand*\DeclareClass[1]{% + \phantomsection\label{files:#1}% + \index[files]{\hyperref[files:#1]{#1~{\protect\idxfont(Klasse)}}|declare}% +} +% \end{macrocode} +% \end{macro}^^A \@TempClass +% \end{macro}^^A \DeclareClass +% \end{macro}^^A \@Class +% \end{macro}^^A \Class +% \begin{macro}{\Package} +% \begin{macro}{\@Package} +% \begin{macro}{\DeclarePackage} +% \begin{macro}{\@TempPackage} +% Für die Auszeichnungen von Paketen gelten vorhergehende Aussagen äquivalent. +% \begin{macrocode} +\newcommand*\@TempPackage{} +\NewDocumentCommand\Package{st'om}{% + \ifdin{#4}{% + \gdef\@TempPackage{~{\protect\idxfont(Paket)}}% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempPackage]{autoref}% + }{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempPackage]{#3}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Package{st'om}{#4} +\newcommand*\DeclarePackage[1]{% + \phantomsection\label{files:#1}% + \index[files]{\hyperref[files:#1]{#1~{\protect\idxfont(Paket)}}|declare}% +} +% \end{macrocode} +% \end{macro}^^A \@TempPackage +% \end{macro}^^A \DeclarePackage +% \end{macro}^^A \@Package +% \end{macro}^^A \Package +% \begin{macro}{\Option} +% \begin{macro}{\@TempOption} +% Für die Auszeichnung von Optionen wird zusätzlich unterschieden, ob der Befehl +% gerade innerhalb der Änderungsliste verwendet wird. Ist dies der Fall, wird +% der verarbeitende Befehl \cs{@ProcessChangedAt} aufgerufen. Mit dem optionalen +% Argument \emph{nach} dem Hauptargument kann der Option im Handbuch ein Wert +% zugewiesen werden. +% \begin{macrocode} +\newcommand*\@TempOption{} +\NewDocumentCommand\Option{st'omo}{% + \if@changelog% + \@ProcessChangedAt{options}{#4}% + \else% + \IfValueTF{#5}{\gdef\@TempOption{\texttt{=#5}}}{\gdef\@TempOption{}}% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texttt{#4}}[\@TempOption]{options}{#4}{pageref}% + }{% + \@ProcessOutput[#1]{\texttt{#4}}[\@TempOption]{options}{#4}{#3}% + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempOption +% \end{macro}^^A \Option +% \begin{macro}{\Environment} +% \begin{macro}{\@TempEnvironment} +% Auch hier wird für die Änderungsliste unterschieden. +% \begin{macrocode} +\newcommand*\@TempEnvironment{} +\NewDocumentCommand\Environment{st'omo}{% + \if@changelog% + \@ProcessChangedAt{macros}{#4}% + \else% +% \end{macrocode} +% Außerdem wird für den Fall, dass der \cs{Environment}-Befehl innerhalb der +% \env{Declaration}-Umgebung verwendet wird, eine spezielle Ausgabe erzeugt. Nur +% hier kommt das optionale Argument nach dem Hauptargument zum Tragen. Damit +% können etwaige obligatorische und optionale Argumente angegeben werden. +% \begin{macrocode} + \if@declare% + \gdef\@TempEnvironment{% + \texttt{\bsc{}begin\{#4\}\IfValueTF{#5}{#5}{}}\tabularnewline% + \texttt{\dots}\tabularnewline% + \texttt{\bsc{}end\{#4\}}% + }% + \else% + \gdef\@TempEnvironment{\texttt{#4}}% + \fi% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\@TempEnvironment}{macros}{#4}{pageref}% + }{% + \@ProcessOutput[#1]{\@TempEnvironment}{macros}{#4}{#3}% + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempEnvironment +% \end{macro}^^A \Environment +% \begin{macro}{\Macro} +% Die Auszeichnung und der Indexeintrag eines Befehls. +% \begin{macrocode} +\NewDocumentCommand\Macro{st'om}{% + \if@changelog% + \@ProcessChangedAt[\bsc]{macros}{#4}% + \else% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texttt{\bsc#4}}{macros}[\bsc]{#4}{pageref}% + }{% + \@ProcessOutput[#1]{\texttt{\bsc#4}}{macros}[\bsc]{#4}{#3}% + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \Macro +% \begin{macro}{\Key} +% \begin{macro}{\@TempKey} +% Die Auszeichnung und der Indexeintrag eines Parameters für Umgebungen und +% Befehle. Das erste Argument ist die Umgebung oder der Befehl, wofür der +% Parameter gültig ist. Das zweite Argument ist der Parameter selbst. Dafür +% werden die Befehle \cs{Environment} und \cs{Macro} lokale umdefiniert. +% \begin{macrocode} +\newcommand*\@TempKey{} +\NewDocumentCommand\Key{sommo}{% + \begingroup% + \let\Environment\@firstofone% + \let\Macro\@firstofone% + \if@changelog% + \@ProcessChangedAt{keys}{#4}% + \else% + \gdef\@TempKey{\if@declare~{\protect\idxfont(Parameter)}\fi}% + \IfValueTF{#5}{% + \@ProcessOutput[#1]{\texttt{#4}}[\texttt{=#5}\@TempKey]% + {macros}(#3){#4}{#2}% + }{% + \@ProcessOutput[#1]{\texttt{#4}}[\@TempKey]{macros}(#3){#4}{#2}% + }% + \fi% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \@TempKey +% \end{macro}^^A \Key +% \begin{macro}{\Length} +% \begin{macro}{\@TempLength} +% Die Auszeichnung und der Indexeintrag einer \hologo{LaTeX}-Länge. +% \begin{macrocode} +\newcommand*\@TempLength{} +\NewDocumentCommand\Length{som}{% + \if@changelog% + \@ProcessChangedAt[\bsc]{macros}{#3}% + \else% + \gdef\@TempLength{\if@declare~{\protect\idxfont(L\"ange)}\fi}% + \@ProcessOutput[#1]{\texttt{\bsc#3}}[\@TempLength]% + {macros}[\bsc]{#3}[~{\protect\idxfont(L\"ange)}]{#2}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempLength +% \end{macro}^^A \Length +% \begin{macro}{\Counter} +% \begin{macro}{\@TempCounter} +% Die Auszeichnung und der Indexeintrag einer \hologo{LaTeX}-Zählers. +% \begin{macrocode} +\newcommand*\@TempCounter{} +\NewDocumentCommand\Counter{som}{% + \if@changelog% + \@ProcessChangedAt{macros}{#3}% + \else% + \gdef\@TempCounter{\if@declare~{\protect\idxfont(Z\"ahler)}\fi}% + \@ProcessOutput[#1]{\texttt{#3}}[\@TempCounter]% + {macros}{#3}[~{\protect\idxfont(Z\"ahler)}]{#2}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempCounter +% \end{macro}^^A \Counter +% \begin{macro}{\Term} +% \begin{macro}{\@TempTerm} +% Die Auszeichnung und der Indexeintrag eines sprachabhängigen Bezeichners. +% \begin{macrocode} +\newcommand*\@TempTerm{} +\NewDocumentCommand\Term{som}{% + \if@changelog% + \@ProcessChangedAt[\bsc]{terms}{#3}% + \else% + \gdef\@TempTerm{\if@declare~{\protect\idxfont(Bezeichner)}\fi}% + \@ProcessOutput[#1]{\texttt{\bsc#3}}[\@TempTerm]{terms}[\bsc]{#3}{#2}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempTerm +% \end{macro}^^A \Term +% \begin{macro}{\TermTable} +% \begin{macro}{\@TermTable} +% \begin{macro}{\@@TermTable} +% \begin{macro}{\@termlist} +% Für sprachabhängige Bezeichner wird zusätzlich der Befehl \cs{TermTable} +% definiert, dem eine kommaseparierte Liste übergeben werden kann. Anhand dieser +% Liste werden die enthalten Begriffe für die Sprachen Deutsch und English in +% einer Tabelle ausgegeben. Die Sternversion dieses Befehls nutzt dafür die +%\env{tabularx}-Umgebung. Für diese kann ein zweites Argument angegeben werden, +% welches die gewünschte Breite der Tabelle angibt. +% \begin{macrocode} +\newcommand\@termlist{} +\let\@termlist\relax +\NewDocumentCommand\TermTable{smg}{% + \forcsvlist{\listadd\@termlist}{#2}% + \vskip\baselineskipglue\noindent% + \IfBooleanTF{#1}{% + \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}% + \setlength{\@tempdimb}{-.7\baselineskip}% + \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx} + }{% + \setlength{\@tempdimb}{\z@}% + \begin{tabular}{lll}\@TermTable\end{tabular} + }% + \let\@termlist\relax% + \par\noindent% +} +\newcommand*\@TermTable{% + \toprule + \textbf{Bezeichner} & \textbf{Deutsch} & \textbf{Englisch} \tabularnewline + \midrule + \forlistloop\@@TermTable{\@termlist} + \bottomrule +} +\newcommand*\@@TermTable[1]{% + \Term{#1} & + \ifstr{\@nameuse{#1}}{}{\PName{leer}}{\@nameuse{#1}} & + \selectlanguage{english}\vspace*{\@tempdimb}% + \ifstr{\@nameuse{#1}}{}{\PName{empty}}{\@nameuse{#1}}\tabularnewline +} +% \end{macrocode} +% \end{macro}^^A \@termlist +% \end{macro}^^A \@@TermTable +% \end{macro}^^A \@TermTable +% \end{macro}^^A \TermTable +% \begin{macro}{\Font} +% \begin{macro}{\@TempFont} +% Die Auszeichnung und der Indexeintrag eines Schriftelementes. +% \begin{macrocode} +\newcommand*\@TempFont{} +\NewDocumentCommand\Font{som}{% + \if@changelog% + \@ProcessChangedAt{fonts}{#3}% + \else% + \gdef\@TempFont{% + \texttt{#3}\if@declare~{\protect\idxfont(Schriftelement)}\fi% + }% + \@ProcessOutput[#1]{\@TempFont}{fonts}{#3}{#2}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempFont +% \end{macro}^^A \Font +% \begin{macro}{\Color} +% \begin{macro}{\@TempColor} +% Die Auszeichnung und der Indexeintrag einer Farbe des \CDs. +% \begin{macrocode} +\newcommand*\@TempColor{} +\NewDocumentCommand\Color{somo}{% + \if@changelog% + \@ProcessChangedAt{colors}{#3}% + \else% + \gdef\@TempColor{% + \IfValueTF{#4}{~\texttt{(#4)}}{}% + \if@declare~{\protect\idxfont(Farbe)}\fi% + }% + \@ProcessOutput[#1]{\texttt{#3}}[\@TempColor]{colors}{#3}{#2}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@TempColor +% \end{macro}^^A \Color +% \begin{macro}{\@ProcessOutput} +% Der Befehl \cs{@ProcessOutput} ist das Herzstück der Auszeichnungen aller +% Elemente. Das erste optionale Argument ist der eventuell übergebene Stern für +% die eines beliebigen Auszeichnungsbefehl. Darauf folgen die gewünschte +% \marg{Ausgabe} und ein möglicher \oarg{Anhang}. Danach wird der Zielindex +% \marg{Index} und~-- für Parameter~-- der \parg{Haupteintrag} übergeben. Es +% folgt der zu machende Indexeintrag selbst mit \oarg{Vorsatz}, \marg{Eintrag}, +% \oarg{Anhang} und zum Abschluss \marg{Formatierung}. Der vollständige +% Funktionsaufruf lautet: +% \newline\begingroup\tiny +% \cs{@ProcessOutput}* +% \marg{Ausgabe}\oarg{Anhang}\marg{Index}\parg{Haupteintrag}\ignorespaces% +% \oarg{Vorsatz}\marg{Eintrag}\oarg{Anhang}\marg{Formatierung} +% \endgroup +% \begin{macrocode} +\NewDocumentCommand\@ProcessOutput{omomd()omom}{% +% \end{macrocode} +% Dabei wird unterschieden, ob ein beliebiger Auszeichnungsbefehl innerhalb der +% \env{Declaration}-Umgebung verwendet wird (\cs{if@declare}). Ist dies der Fall +% wird ein Label und mit \cs{@HyperIndex} ein spezieller Indexeintrag für die +% Deklaration erstellt. Eine Ausgabe der Auszeichnung erfolgt in diesem Fall +% nicht, dafür zeichnet der Befehl \cs{printdeclarationlist} verantwortlich. +% Außerdem wird mit Hilfe der \env{Declaration}-Umgebung der Anfang und +% das Ende der Deklaration für den Indexeintrag mit \cs{@HyperIndex} exakt +% festgelegt. Der Schalter \cs{if@openindex} wird zu Beginn der Umgebung auf +% \cs{@openindextrue} gesetzt, am Ende der Umgebung auf \cs{@openindexfalse}. +% \begin{macrocode} + \if@declare% + \if@openindex% + \if@noindex\else% + \IfValueTF{#5}% + {\edef\@tempa{#4:#5:#7}}% + {\edef\@tempa{#4:#7}}% + \label{\@tempa}% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}[(declare]% + \fi% + #2\IfValueTF{#3}{#3}{}% + \else% + \if@noindex\else% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}[declare)]% + \fi% + \fi% + \else% +% \end{macrocode} +% Findet der Auszeichnungsbefehl außerhalb der \env{Declaration}-Umgebung +% Verwendung, wird für den Fall, dass keine Sternversion genutzt wurde, mit +% \cs{@HyperIndex} ein Eintrag im dazugehörigen Index erzeugt. +% \begin{macrocode} + \IfBooleanTF{#1}{}{% + \@tempswafalse% + \ifstr{#9}{autoref}{\@tempswatrue}{}% + \ifstr{#9}{pageref}{\@tempswatrue}{}% + \if@tempswa% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}% + \else% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}[#9]% + \fi% + }% +% \end{macrocode} +% Danach erfolgt die Ausgabe der Auszeichnung. Sollte für diesen ein Label +% durch eine Deklaration innerhalb der \env{Declaration}-Umgebung definiert +% worden sein, so wird auf dieses ein Hyperlink gesetzt. Ansonsten erfolgt die +% normale textuelle Ausgabe. Für Parameter muss der Hyperlink dabei aufgrund des +% definierten Haupteintrag etwas anders ausgeführt werden. +% \begin{macrocode} + \IfValueTF{#5}{\edef\@tempa{#4:#5:#7}}{\edef\@tempa{#4:#7}}% + \ifcsdef{r@\@tempa}{% + \let\@tempb\relax% + \ifstr{#9}{autoref}{\def\@tempb{~unter \autoref{\@tempa}}}{}% + \ifstr{#9}{pageref}{\def\@tempb{~\vpageref{\@tempa}}}{}% + \mbox{\hyperref[\@tempa]{#2}\IfValueTF{#3}{#3}{}}\@tempb% + }{\mbox{#2\IfValueTF{#3}{#3}{}}}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \@ProcessOutput +% \begin{macro}{\@HyperIndex} +% Dieser Befehl sorgt für die eigentlichen Indexeinträge. Dabei werden für +% Einträge, welche innerhalb der \env{Declaration}-Umgebung deklariert wurden, +% ein Hyperlink im Index erstellt. Das erste Argument \marg{Index} enthält den +% gewünschten Zielindex. Danach folgt~-- für Parameter~-- der Haupteintrag. Es +% folgt der zu machende Indexeintrag selbst mit \marg{Vorsatz}, \marg{Eintrag}, +% \marg{Anhang} und zum Abschluss \oarg{Formatierung}. Der vollständige +% Funktionsaufruf lautet: +% \newline\begingroup\tiny +% \cs{@HyperIndex}\marg{Index}\marg{Haupteintrag}\ignorespaces% +% \marg{Vorsatz}\marg{Eintrag}\marg{Anhang}\oarg{Formatierung} +% \endgroup +% \begin{macrocode} +\NewDocumentCommand\@HyperIndex{mmmmmo}{% + \IfValueTF{#3}{\def\@tempa{#3}}{\def\@tempa{}}% + \IfValueTF{#5}{\def\@tempb{#5}}{\def\@tempb{}}% + \IfValueTF{#6}{\def\@tempc{|#6}}{\def\@tempc{}}% +% \end{macrocode} +% Auch hier wird unterschieden, ob es sich um einen Parameter (keys) handelt. +% Wurde für einen Parameter eine Umgebung oder ein Befehl bereits definiert, +% werden zwei Indexeinträge generiert. Einer beim Befehl selber als Untereintrag +% für den jeweiligen Parameter und einer im Index für Parameter selbst mit der +% dazugehörigen Umgebung bzw. dem dazugehörigen Befehl. Beide erhalten einen +% entsprechenden Hyperlink zur Deklaration. +% \begin{macrocode} + \IfValueTF{#2}{% + \ifcsdef{r@#1:#2:#4}{% + \edef\@tempb{#1:#2:#4}% + \index[#1]{% + #2!\hyperref[\@tempb]{\expandonce\@tempa#4}% + ~{\protect\idxfont(Parameter)}% + \expandonce\@tempc% + }% + \begingroup% + \let\Environment\@firstofone% + \def\Macro##1{\bsc##1}% + \index[keys]{% + \hyperref[\@tempb]{\expandonce\@tempa#4~{\protect\idxfont(#2)}}% + \expandonce\@tempc% + }% + \endgroup% + }{% + \index[#1]{#2!\expandonce\@tempa#4\expandonce\@tempb}% + }% +% \end{macrocode} +% Falls es sich nicht um einen Parameter handelt, wird lediglich der Eintrag im +% speziellen Index vorgenommen und ggf. ein Hyperlink erzeugt. +% \begin{macrocode} + }{% + \ifcsdef{r@#1:#4}{% + \index[#1]{% + \hyperref[#1:#4]{\expandonce\@tempa#4\expandonce\@tempb}% + \expandonce\@tempc% + }% + }{% + \index[#1]{\expandonce\@tempa#4\expandonce\@tempb\expandonce\@tempc}% + }% + }% +} +% \end{macrocode} +% \end{macro}^^A \@HyperIndex +% \begin{macro}{\@ProcessChangedAt} +% Auch die Änderungsliste erhält einen Hyperlink zur Deklaration, falls eine +% existiert. +% \begin{macrocode} +\newcommand*\@ProcessChangedAt[3][]{% + \ifcsdef{r@#2:#3}{\hyperref[#2:#3]{\mbox{#1#3}}}{\mbox{#1#3}}% +} +% \end{macrocode} +% \end{macro}^^A \@ProcessChangedAt +% \begin{environment}{Declaration} +% \begin{macro}{\printdeclarationlist} +% \changes{v1.01}{2014/04/24}{% +% bessere Positionierung von \cs{phantomsection}% +% } +% \begin{macro}{\@declarationlist} +% \begin{macro}{\@presetlist} +% \begin{macro}{\if@presetlist} +% \begin{macro}{\@additionallist} +% \begin{macro}{\if@additionallist} +% Es werden die Hilfsmakros für die Ausgabe einer Deklaration initialisiert. +% \begin{macrocode} +\newcommand\@declarationlist{} +\newcommand\@presetlist{} +\newif\if@presetlist +\newcommand\@additionallist{} +\newif\if@additionallist +\let\@declarationlist\relax +\let\@presetlist\relax +\let\@additionallist\relax +% \end{macrocode} +% Die \env{Declaration}-Umgebung dient zur Deklaration von Optionen, Umgebungen, +% Befehlen, Parametern, Bezeichnern, Längen, Schriftelementen und Farben. Diese +% werden mit den entsprechenden Auszeichnungsbefehlen übergeben. Im zweiten +% Argument~-- das erste optionale~-- kann die Voreinstellung für eine Option +% oder dergleichen angegeben werden. Das nächste Argument erlaubt die Angabe +% einer bedingten Voreinstellung, also einer anderen Voreinstellung als der +% zuerst angegeben unter bestimmten Voraussetzungen. Diese muss in der Form +% \oarg{Bedingung:Voreinstellung} angegeben werden. Das letzte Argument ist +% ebenfalls optional, wird aber in der Form \marg{Zusatz} angegeben und enthält +% ggf. zusätzliche Informationen. +% +% Die Umgebung selbst gibt zu Beginn nichts weiter aus sondern sammelt lediglich +% alle übergebenen Argumente in jeweiligen Listen. Die eigentliche Ausgabe +% erfolgt mit dem Befehl \cs{printdeclarationlist}. +% \begin{macrocode} +\NewDocumentEnvironment{Declaration}{moog}{% + \listadd\@declarationlist{#1}% + \IfNoValueTF{#2}{% + \listadd\@presetlist{\relax}% + }{% + \@presetlisttrue% + \IfNoValueTF{#3}{% + \listadd\@presetlist{preset:\,#2}% + }{% + \def\@tempa[##1:##2]{##1:\,##2}% + \listeadd\@presetlist{preset:\,#2\,|\,\expandonce{\@tempa[#3]}}% + }% + }% + \IfNoValueTF{#4}{% + \listadd\@additionallist{\relax}% + }{% + \@additionallisttrue% + \listadd\@additionallist{\hspace*{\tabcolsep}\small(#4)}% + \in@{\Environment}{#1}% + \ifin@ \listadd\@additionallist{\tabularnewline}\fi% + }% +}{% +% \end{macrocode} +% Am Ende der Umgebung wird das übergebenen Hauptargument abermals ausgeführt, +% was zum Setzen des Indexeintragsendes für die jeweilige Deklaration führt +% (\cs{@openindexfalse}, siehe \cs{@ProcessOutput}). Dafür werden die Makros für +% die Angabe obligatorischer und optionaler Parameter lokal umdefiniert. +% \begin{macrocode} + \ifx\@declarationlist\relax\else% + \ClassError{\tudclsname}{\string\printdeclarationlist\space is missing}{% + \string\@declarationlist\space is not empty. Did you forget\MessageBreak% + to print this list with \string\printdeclarationlist?% + }% + \fi% + \let\PName\@gobble% + \let\PBoolean\relax% + \let\PSet\relax% + \let\PValue\@gobble% + \let\Parameter\@gobble% + \let\OParameter\@gobble% + \let\LParameter\relax% + \let\OLParameter\@gobble% + \let\PParameter\@gobble% + \let\POParameter\@gobble% + \vskip-\lastskip% + \@declaretrue\@openindexfalse#1\@declarefalse% + \pagebreak[0]% +} +% \end{macrocode} +% Mit dem Befehl \cs{printdeclarationlist} erfolgt die eingentliche Ausgabe +% aller Deklarationen. Zweck ist es, mehrere \env{Declaration}-Umgebungen +% ineinander verschachteln zu können und eine Ausgabe aller auf einmal zu +% erzeugen. Die durch die ggf. nacheinander folgenden Deklarationen wurden in +% entsprechenden Listen gesammelt und werden hier jetzt formatiert ausgegben. +% \begin{macrocode} +\NewDocumentCommand\printdeclarationlist{sod()}{% + \ifx\@declarationlist\relax\else% +% \end{macrocode} +% Die Sternversion des Befehls erzeugt die Ausgabe ohne Deklarationsindexbefehle. +% \begin{macrocode} + \IfBooleanTF{#1}{\global\@noindextrue}{\global\@noindexfalse} + \ifvmode\else\par\fi% + \allowbreak% + \addpenalty{\@beginparpenalty}% + \addvspace{\baselineskipglue}% + \@declaretrue\@openindextrue% + \phantomsection\noindent% +% \end{macrocode} +% Die deklarierten Optionen, Umgebungen, Befehle etc. werden in einer umrahmten +% Box ausgegeben. +% \begin{macrocode} + \def\@tempa##1{\ignorespaces##1\tabularnewline}% + \begin{tabular}{|l|}% + \hline% + \forlistloop\@tempa{\@declarationlist}% + \hline% + \end{tabular}% + \@declarefalse% +% \end{macrocode} +% Danach werden ggf. die Voreinstellungen und Zusatzinformationen gesetzt. +% \begin{macrocode} + \ifboolexpr{bool {@presetlist} or bool {@additionallist}}{% + \if@presetlist% + \qquad% + \texttt{% + \begin{tabular}{l}% + \forlistloop\@tempa{\@presetlist}% + \end{tabular}% + }% + \fi% + \if@additionallist% + \begin{tabular}{@{}l@{}}% + \forlistloop\@tempa{\@additionallist}% + \end{tabular}% + \fi% + }{}% +% \end{macrocode} +% Das optionale Argument kann für eine Versionsnummer für eine gemachte Änderung +% genutzt werden. +% \begin{macrocode} + \IfValueTF{#2}{% + \ChangedAt{#2}% + \begingroup% + \let\marginnote\@gobble% + \def\@tempa##1{\ChangedAt{#2}[##1]}% + \forlistloop\@tempa{\@declarationlist}% + \endgroup% + }{}% + \global\let\@declarationlist\relax% + \global\let\@presetlist\relax% + \global\@presetlistfalse% + \global\let\@additionallist\relax% + \global\@additionallistfalse% +% \end{macrocode} +% Zum Schluss wird das zweite optionale Argument (in runden Klammern) neben der +% Deklaratiionsbox ausgegeben. +% \begin{macrocode} + \IfValueTF{#3}{#3}{}% + \vskip\baselineskipglue\nobreak% + \@afterindentfalse\@afterheading% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \if@additionallist +% \end{macro}^^A \@additionallist +% \end{macro}^^A \if@presetlist +% \end{macro}^^A \@presetlist +% \end{macro}^^A \@declarationlist +% \end{macro}^^A \printdeclarationlist +% \end{environment}^^A Declaration +% \begin{environment}{tabularm} +% \begin{macro}{\allcolumnpar} +% \begin{macro}{\@allcolumnpar} +% \begin{macro}{\tabularm@box} +% \begin{macro}{\tabularm@num} +% \begin{length}{\tabularm@wd} +% Die Umgebung \env{tabularm} ist eine Erweiterung der \env{tabularm}-Umgebung. +% In dieser wird die Breite der zu setzenden Tabelle mit Hilfe der Box +% \cs{tabularm@box} in \cs{tabularm@wd} gespeichert. Anschließend kann mit dem +% Befehl \cs{allcolumnpar} eine Zeile über alle Spalten der Tabelle +% ausgegeben werden. Dabei ist das zu übergebende Argument die Anzahl der zu +% erzeugenden, linksbündigen Spalten. +% \begin{macrocode} +\newsavebox\tabularm@box +\newlength\tabularm@wd +\newcommand*\tabularm@num{1} +\NewEnviron{tabularm}[1]{% + \begin{lrbox}{\tabularm@box}% + \let\allcolumnpar\@gobble% + \begin{tabular}{*{#1}l}\BODY\end{tabular}% + \end{lrbox}% + \setlength{\tabularm@wd}{\wd\tabularm@box}% +%% \addtolength{\tabularm@wd}{-2\tabcolsep}% + \def\tabularm@num{#1}% + \let\allcolumnpar\@allcolumnpar% + \begin{tabular}{*{#1}l}\BODY\end{tabular}% +} +\newcommand*\@allcolumnpar[1]{% + \multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}% +} +% \end{macrocode} +% \end{length}^^A \tabularm@wd +% \end{macro}^^A \tabularm@box +% \end{macro}^^A \tabularm@num +% \end{macro}^^A \@allcolumnpar +% \end{macro}^^A \allcolumnpar +% \end{environment}^^A tabularm +% \begin{macro}{\PName} +% \begin{macro}{\PBoolean} +% \begin{macro}{\PSet} +% \begin{macro}{\Parameter} +% \begin{macro}{\OParameter} +% \begin{macro}{\LParameter} +% \begin{macro}{\OLParameter} +% \begin{macro}{\PValue} +% \begin{macro}{\PParameter} +% \begin{macro}{\POParameter} +% Diese Befehle dienen zum Auszeichnen von obligatorischen und optionalen +% Parametern und Befehlen oder bestimmten Wertzuweisungen. +% \begin{macrocode} +\DeclareRobustCommand*\PName[1]{\texttt{\textit{<#1>}}} +\DeclareRobustCommand*\PBoolean{\PName{Ein-Aus-Wert}}% +\DeclareRobustCommand*\PSet{\PName{Einstellung}}% +\DeclareRobustCommand*\Parameter[1]{\texttt{\{}\PName{#1}\texttt{\}}} +\DeclareRobustCommand*\OParameter[1]{\texttt{[}\PName{#1}\texttt{]}} +\DeclareRobustCommand*\LParameter{\texttt{[}\PName{Parameterliste}\texttt{]}} +\DeclareRobustCommand*\OLParameter[1]{% + \texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]} +} +\DeclareRobustCommand*\PValue[1]{\texttt{#1}} +\DeclareRobustCommand*\PParameter[1]{\texttt{\{#1\}}} +\DeclareRobustCommand*\POParameter[1]{\texttt{[#1]}} +% \end{macrocode} +% \end{macro}^^A \POParameter +% \end{macro}^^A \PParameter +% \end{macro}^^A \PValue +% \end{macro}^^A \OLParameter +% \end{macro}^^A \LParameter +% \end{macro}^^A \OParameter +% \end{macro}^^A \Parameter +% \end{macro}^^A \PSet +% \end{macro}^^A \PBoolean +% \end{macro}^^A \PName +% \begin{environment}{code} +% \begin{environment}{Example} +% Diese beiden Umgebungen werden für die Erläuterung von bestimmten Aspekten +% zusammen mit einem Quelltextbeispiel im Handbuch verwendet. Dabei enthält +% \env{Example} einen kurzen, erklärenden Text. In der \env{code}-Umgebung, +% welche innerhalb von \env{Example} verwendet wird, folgt der Quelltext. +% \begin{macrocode} +\RequirePackage{listings} +\lstnewenvironment{code}[1][]{\lstset{style=tudscr,#1}}{} +\lstdefinestyle{tudscr}{% + basicstyle=\let\bfseries@tt\mdseries@tt\ttfamily\setstretch{1},% + columns=fullflexible,keepspaces,% + aboveskip=.5\baselineskipglue,% + belowskip=.5\baselineskipglue,% + language=[LaTeX]TeX,% + texcl,% +} +\newenvironment{Example}{% + \labeling{{\usekomafont{disposition}Beispiel:\ }}% + \item[{\usekomafont{disposition}Beispiel:\ }]% +}{% + \endlabeling% +} +% \end{macrocode} +% \end{environment}^^A Example +% \end{environment}^^A code +% \begin{option}{ToDo} +% \begin{macro}{\ToDo} +% \begin{macro}{\todo@mark} +% Die Option kann aktiviert werden, um mit \cs{ToDo} definerte, offene Aufgaben +% als gerahmte Anmerkung im Text anzuzeigen. Das optionale Argument kann genutzt +% werden, um die Randnotiz~-- standardmäßig \glqq ToDo\grqq~-- zu ändern. +% \begin{macrocode} +\newcommand*\todo@mark{} +\newcommand\ToDo[2][]{} +\TUD@key{ToDo}[true]{% + \TUD@set@ifkey{ToDo}{@tempswa}{#1}% + \if@tempswa% + \renewcommand\ToDo[2][]{% + \def\todo@mark{\ifstr{##1}{}{ToDo}{##1}}% + \endgraf\vskip1ex% + \hfuzz0.8pt% + \noindent\leavevmode\marginnote{\fbox{\todo@mark\strut}}% + [\dimexpr-\fboxsep-\fboxrule]% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{##2\strut}}% + \vskip1ex% + \noindent$\!\!$% + }% + \else% + \renewcommand\ToDo[2][]{}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \todo@mark +% \end{macro}^^A \ToDo +% \end{option}^^A ToDo +% \begin{macro}{\vTUD} +% \begin{macro}{\vTUDScript} +% \begin{macro}{\TUDScript} +% \begin{macro}{\Attention} +% \begin{macro}{\forum} +% \begin{macro}{\notudscrartcl} +% \begin{macro}{\CD} +% \begin{macro}{\CDs} +% \begin{macro}{\TUD} +% \begin{macro}{\TnUD} +% \begin{macro}{\DDC} +% \begin{macro}{\Univers} +% \begin{macro}{\DIN} +% Diese Befehle stellen regelmäßig im Handbuch genutzte Textbausteine bereit. +% Dazu wird der Befehl \cs{xspace} aus dem \pkg{xspace}-Paket genutzt. +% \begin{macrocode} +\RequirePackage{xspace} +\newcommand*\vTUD{Version~\NoCaseChange{v}1.0\xspace} +% \end{macrocode} +% Der Befehl \cs{vTUDScript} enthält die aktuelle Versionsnummer des +% \TUDScript-Bundles. +% \begin{macrocode} +\newcommand*\vTUDScript{} +\AtBeginDocument{% + \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}% + \edef\@tempa{\TUDVersion}% + \expandafter\@tempb\@tempa\relax? ? \relax\relax% +} +\DeclareRobustCommand\TUDScript{% + \ifdin{TUD-KOMA-SCRIPT}{% + \texorpdfstring{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }{TUD-KOMA-Script}% + }% +} +% \end{macrocode} +% \dots und der Rest. +% \begin{macrocode} +\newcommand*\Attention{\marginnote{\tiny\fbox{Achtung!}}} +\newcommand*\forum{\url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}\xspace} +\newcommand*\notudscrartcl{% + Für die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verfügbar. +} +\newcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} +\newcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\DDC{\mbox{DRESDEN-concept}\xspace} +\newcommand*\Univers{\textubn{Univers}\xspace} +\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace} +% \end{macrocode} +% \end{macro}^^A \DIN +% \end{macro}^^A \Univers +% \end{macro}^^A \DDC +% \end{macro}^^A \TnUD +% \end{macro}^^A \TUD +% \end{macro}^^A \CDs +% \end{macro}^^A \CD +% \end{macro}^^A \notudscrartcl +% \end{macro}^^A \forum +% \end{macro}^^A \Attention +% \end{macro}^^A \TUDScript +% \end{macro}^^A \vTUDScript +% \end{macro}^^A \vTUD +% Ganz zum Schluss wird der Seitenstil für Teileseiten gesetzt. +% \begin{macrocode} +\renewcommand*\partpagestyle{empty} +% \end{macrocode} +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx new file mode 100644 index 00000000000..b2f2ccdef79 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-mathswap.dtx @@ -0,0 +1,241 @@ +% \CheckSum{130} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-mathswap.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-mathswap.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (mathswap)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-mathswap.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Aktive Trennzeichen im mathematischen Satz} +% +% Die Verwendung von Dezimal- und Tausendertrennzeichen im mathematischen Satz +% sind regional sehr unterschiedlich. In den meisten englischsprachigen Ländern +% wird der Punkt als Dezimaltrennzeichen und das Komma zur Zifferngruppierung +% verwendet, im restlichen Europa wird dies genau entgegengesetzt praktiziert. +% Dieses Paket soll dazu dienen, beliebige formatierte Zahlen in ihrer Ausgabe +% anzupassen. Dafür werden die Zeichen Punkt (\ .\ ) und Komma (\ ,\ ) als +% aktive Zeichen im Mathematikmodus definiert. +% +% Ähnliche Funktionalitäten werden bereits durch die Pakete \pkg{icomma} und +% \pkg{ziffer} bereitgestellt. Bei \pkg{icomma} muss jedoch beim +% Verfassen des Dokumentes durch den Autor beachtet werden, ob das verwendete +% Komma einem Dezimaltrennzeichen entspricht ($t=1,\!2$) oder aber einem +% normalen Komma im Mathematiksatz ($z=f(x,y)$), wo ein gewisser Abstand nach +% dem Komma durchaus gewünscht ist. Das Paket \pkg{ziffer} liefert dafür die +% gewünschte Funktionalität,% +% \footnote{kein Leerraum nach Komma, wenn direkt danach eine Ziffer folgt} +% ist allerdings etwas unflexibel, was den Umgang mit den Trennzeichen anbelangt. +% Als Alternative zu diesem Paket kann außerdem \pkg{ionumbers} verwendet werden. +% +% Das Paket \pkg{mathswap} sorgt dafür, dass Trennzeichen direkt vor einer +% Ziffer erkannt und nach bestimmten Vorgaben ersetzt werden. Sollte sich jedoch +% zwischen Trennzeichen und Ziffer Leerraum befinden, wird dieser als solcher +% auch gesetzt. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*package&header> +% \fi +% +% \subsection{Identifizierung des Pakets \pkg{mathswap}} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mathswap}[% + \TUDVersion\space package (swap mathematical separators)% +] +% \end{macrocode} +% +% \iffalse +%</package&header> +%<*package&body> +% \fi +% +% \subsection{Das Paket \pkg{mathswap}} +% +% \begin{macro}{\commaswap} +% \begin{macro}{\dotswap} +% \begin{macro}{\@commaswap} +% \begin{macro}{\@dotswap} +% Die beiden Befehle \cs{commaswap} und \cs{dotswap} sind die zentrale +% Benutzerschnittstelle des Paketes. Das Makro \cs{commaswap} definiert das +% Trennzeichen oder den Inhalt, wodurch ein Komma ersetzt werden soll, auf +% welches direkt danach eine Ziffer folgt. Normalerweise setzt \LaTeX +% nach einem Komma im mathematischen Satz zusätzlich einen horizontalen Abstand. +% Bei der Ersetzung durch \cs{commaswap} entfällt dieser. Die Voreinstellung +% für \cs{commaswap} ist deshalb auf ein Komma (,) gesetzt. +% +% Mit dem Makro \cs{dotswap} kann definiert werden, wodurch der Punkt im +% mathematischen Satz ersetzt werden soll, wenn auf diesen direkt anschließend +% eine Ziffer folgt. Da der Punkt im deutschsprachigem Raum zur Gruppierung von +% Ziffern genutzt wird, ist hierfür standardmäßig ein halbes geschütztes +% Leerzeichen definiert (\cs{,}). +% +% Die mit \cs{commaswap}\marg{Trennzeichen} und \cs{dotswap}\marg{Trennzeichen} +% definierten Trennzeichen werden in \cs{@commaswap} und \cs{@dotswap} gesichert. +% \begin{macrocode} +\newcommand*\@commaswap{,} +\newcommand*\commaswap[1]{\gdef\@commaswap{#1}} +\newcommand*\@dotswap{\,} +\newcommand*\dotswap[1]{\gdef\@dotswap{#1}} +% \end{macrocode} +% \end{macro}^^A \@dotswap +% \end{macro}^^A \@commaswap +% \end{macro}^^A \dotswap +% \end{macro}^^A \commaswap +% \begin{macro}{\ms@comma} +% \begin{macro}{\ms@commachar} +% \begin{macro}{\ms@dot} +% \begin{macro}{\ms@dotchar} +% In den Befehlen \cs{ms@commachar} und \cs{ms@dotchar} wird die originale +% Definition von Komma und Punkt im Mathematikmodus gesichert, welche weiterhin +% verwendet wird, falls nach diesen nicht direkt eine Ziffer folgt. Mit den +% Makros \cs{ms@comma} und \cs{ms@dot} werden die Definitionen von Komma und +% Punkt als normale Textzeichen für den mathematischen Satz bereitgehalten. +% Anschließend werden beide als aktive Zeichen für den Mathematikmodus gesetzt. +% \begin{macrocode} +\newcommand*\ms@commachar{} +\newcommand*\ms@dotchar{} +\AtBeginDocument{% + \DeclareMathSymbol{\ms@comma}{\mathord}{letters}{"3B}% + \mathchardef\ms@commachar\mathcode\expandafter`,% + \mathcode\expandafter`,="8000% + \DeclareMathSymbol{\ms@dot}{\mathord}{letters}{"3A}% + \mathchardef\ms@dotchar\mathcode\expandafter`.% + \mathcode\expandafter`.="8000% +} +% \end{macrocode} +% \end{macro}^^A \ms@dotchar +% \end{macro}^^A \ms@dot +% \end{macro}^^A \ms@commachar +% \end{macro}^^A \ms@comma +% \begin{macro}{\ms@token} +% \begin{macro}{.} +% \begin{macro}{,} +% \begin{macro}{\ms@smartcomma} +% \begin{macro}{\ms@smartdot} +% Mit \cs{futurelet} wird dem Makro \cs{ms@token} das nachfolgende Zeichen von +% Komma bzw. Punkt zugewiesen. Anschließend wird mittels \cs{ms@smartcomma} bzw. +% \cs{ms@smartdot} geprüft, ob es sich beim Inhalt von \cs{ms@token} um eine +% Ziffer handelt. Dazu wird der Befehl \cs{ms@ifnum} verwendet. Sollte dies der +% Fall sein, so wird ein Komma innerhalb einer Zahl durch \cs{@commaswap} und +% ein Punkt entsprechend mit \cs{@dotswap} ersetzt. Sollte direkt nach dem +% Trennzeichen keine Ziffer folgen, wird für Punkt und Komma die originale +% Definition aus \cs{ms@commachar} bzw. \cs{ms@dotchar} verwendet. +% \begin{macrocode} +\newcommand*\ms@token{} +\begingroup% + \catcode`,=\active% + \gdef,{\futurelet\ms@token\ms@smartcomma}% + \catcode`.=\active% + \gdef.{\futurelet\ms@token\ms@smartdot}% +\endgroup% +\def\ms@smartcomma{\ms@ifnum{\@commaswap}{\ms@commachar}} +\def\ms@smartdot{\ms@ifnum{\@dotswap}{\ms@dotchar}} +% \end{macrocode} +% \end{macro}^^A \ms@smartdot +% \end{macro}^^A \ms@smartcomma +% \end{macro}^^A . +% \end{macro}^^A , +% \end{macro}^^A \ms@token +% \begin{macro}{\ms@ifnum} +% \begin{macro}{\ms@@ifnum} +% Der Befehl \cs{ms@ifnum} reicht das erste Argument an \cs{ms@@ifnum} weiter, +% falls der Inhalt von \cs{ms@token} zu einer Ziffer expandiert. Andernfalls +% wird das zweite Argument ausgeführt. +% \begin{macrocode} +\def\ms@ifnum#1#2{% + \ifx\ms@token0\ms@@ifnum{#1}\else% + \ifx\ms@token1\ms@@ifnum{#1}\else% + \ifx\ms@token2\ms@@ifnum{#1}\else% + \ifx\ms@token3\ms@@ifnum{#1}\else% + \ifx\ms@token4\ms@@ifnum{#1}\else% + \ifx\ms@token5\ms@@ifnum{#1}\else% + \ifx\ms@token6\ms@@ifnum{#1}\else% + \ifx\ms@token7\ms@@ifnum{#1}\else% + \ifx\ms@token8\ms@@ifnum{#1}\else% + \ifx\ms@token9\ms@@ifnum{#1}\else% + #2% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% +} +% \end{macrocode} +% Wurde eine nachfolgende Ziffer erkannt, so wird die Definition von Punkt und +% Komma auf die eines normalen Textzeichens gesetzt und anschließend die mit +% \cs{commaswap} bzw. \cs{dotswap} angegebene Ersetzung ausgegeben. +% \begin{macrocode} +\def\ms@@ifnum#1{% + \begingroup% + \mathcode\expandafter`,=\the\ms@comma% + \mathcode\expandafter`.=\the\ms@dot% + #1% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \ms@@ifnum +% \end{macro}^^A \ms@ifnum +% +% \iffalse +%</package&body> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx new file mode 100644 index 00000000000..5577bdc3721 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-misc.dtx @@ -0,0 +1,385 @@ +% \CheckSum{195} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-misc.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-misc.dtx}% + [2014/04/24 v2.01 TUD-KOMA-Script (miscellaneous)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-misc.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Verschiedenes} +% +% Alles, wofür sich eine separate Datei nicht lohnt, landet hier. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class&option> +% \fi +% +% \subsection{Sprungmarken} +% +% \begin{option}{tudbookmarks} +% \begin{macro}{\if@tud@bookmarks} +% Wird das Paket \pkg{hyperref} geladen, so kann die Option \opt{tudbookmarks} +% genutzt werden, um zu steuern, ob für Titel und Inhaltsverzeichnis +% automatisch ein Eintrag für die Sprungmarken erzeugt werden soll. +% \begin{macrocode} +\newif\if@tud@bookmarks +\TUD@ifkey{tudbookmarks}{@tud@bookmarks} +% \end{macrocode} +% \end{macro}^^A \if@tud@bookmarks +% \end{option}^^A tudbookmarks +% +% \iffalse +%</class&option> +%<*class&!option> +% \fi +% +% \begin{macro}{\tudbookmark} +% \begin{macro}{\tud@footnote@unhyper} +% \begin{macro}{\tud@footnote@rehyper} +% Die Befehle zum Eintragen der Sprungmarken. Im Dokument kann auch der Befehl +% \cs{tudbookmark} vom Anwender genutzt werden, um manuell weitere Lesezeichen +% zu erzeugen. +% +% Außerdem müssen für die Titelseite die Fußnoten auf den Originalzustand +% zurückgesetzt werden. Dafür werden die Befehle \cs{tud@footnote@unhyper} und +% \cs{tud@footnote@rehyper} definert. +% \begin{macrocode} +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\phantomsection{} +\let\phantomsection\relax +\newcommand*\tud@footnote@unhyper{} +\newcommand*\tud@footnote@rehyper{} +\AfterPackage{hyperref}{% + \renewcommand*\tudbookmark[3][]{% + \relax% + \if@tud@bookmarks% + \phantomsection% + \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}% + \fi% + }% + \renewcommand*\tud@footnote@unhyper{% + \let\Hy@saved@footnotemark\@footnotemark% + \let\Hy@saved@footnotetext\@footnotetext% + \let\@footnotemark\H@@footnotemark% + \let\@footnotetext\H@@footnotetext% + }% + \renewcommand*\tud@footnote@rehyper{% + \ifx\@footnotemark\H@@footnotemark% + \let\@footnotemark\Hy@saved@footnotemark% + \fi% + \ifx\@footnotetext\H@@footnotetext% + \let\@footnotetext\Hy@saved@footnotetext% + \fi% + }% +} +\AtBeginDocument{% + \pretocmd{\makecover}{% +%<*book|report> + \tudbookmark[0]{\coverpagename}{cover} +%</book|report> +%<*article> + \tudbookmark[1]{\coverpagename}{cover} +%</article> + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{makecover}}% + \pretocmd{\maketitle}{% +%<*book|report> + \tudbookmark[0]{\titlepagename}{title} +%</book|report> +%<*article> + \tudbookmark[1]{\titlepagename}{title} +%</article> + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{maketitle}}% + \pretocmd{\tableofcontents}{% +%<*book|report> + \if@openright\cleardoublepage\else\clearpage\fi% + \tudbookmark[0]{\contentsname}{toc}% +%</book|report> +%<*article> + \tudbookmark[1]{\contentsname}{toc}% +%</article> + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{tableofcontents}}% +} +% \end{macrocode} +% \end{macro}^^A \tud@footnote@rehyper +% \end{macro}^^A \tud@footnote@unhyper +% \end{macro}^^A \tudbookmark +% +% \subsection{Parameter für Umgebungen und mehrspaltige Texte} +% +% Diese Befehle dienen dazu, bei Umgebungen die Sprache über einen Parameter +% anzugeben sowie das Paket \pkg{multicol} verwenden zu können. +% \begin{macro}{\tud@environmenthandler} +% Hiermit kann sowohl die zu verwendende Sprache als auch die Anzahl der +% gewünschten Spalten für bestimmte Umgebungen ohne die explizite Angabe eines +% Schlüssels festgelegt werden. Momentan betrifft das die beiden Umgebungen +% \env{abstract} und \env{tudpage}. +% \begin{macrocode} +\newcommand*\tud@environmenthandler[1]{% + \def\@tempa{#1}% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% + \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% + \expandafter\selectlanguage\expandafter{\@tempb}% + }}% + \fi% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@environmenthandler +% \begin{macro}{\tud@multicols} +% \begin{macro}{\tud@multicols@check} +% Im Makro \cs{tud@multicols} wird die Anzahl der gewünschten Spalten in einer +% Umgebung für die Verwendung des \pkg{multicol}"=Paketes gespeichert. +% \begin{macrocode} +\newcommand*\tud@multicols{1} +% \end{macrocode} +% Der Befehl \cs{tud@multicols@check} prüft, ob das Paket \pkg{multicol} geladen +% wurde. Falls dies nicht der Fall ist, wird eine Warnung ausgegeben. +% \begin{macrocode} +\newcommand*\tud@multicols@check{% + \ifdef{\multicols}{}{% + \ifnum\tud@multicols>1\relax% + \ClassWarning{\tudcls@name}{% + The option 'columns=\tud@multicols' is only supported,\MessageBreak% + when package 'multicol' is loaded% + }% + \def\tud@multicols{1}% + \fi% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@multicols@check +% \end{macro}^^A \tud@multicols +% +% \iffalse +%</class&!option> +%<*titlepage|class&!option> +% \fi +% +% \subsection{Bedingte Majuskeln für Überschriften} +% +% Überschriften sollen bloß in Großbuchstaben gesetzt werden, wenn auch +% tatsächlich die Schrift DIN~Bold verwendet wird. +% \begin{macro}{\tud@makeuppercase} +% \begin{macro}{\ifdin} +% Der Befehl führt \cs{MakeTextUppercase}\marg{Text} deshalb nur aus, wenn die +% richtige Schriftfamilie verwendet wird. +% \begin{macrocode} +\newcommand*\tud@makeuppercase[1]{% + \ifx\f@family\tud@dinbold% + \begingroup% + \MakeTextUppercase{#1}% + \endgroup% + \else% + #1% + \fi% +% \end{macrocode} +% Aufgrund eines Fehlers im \hologo{LaTeX}-Kernels liegt die Grundlinie für die +% Gliederungsebene \cs{scetion} zu hoch. Mit dem Einfügen des vertikalen +% Freiraums für die Umlaute würde diese automatisch nach unten verschoben. +% Allerdings ist das ein ziemlich übler Hack. +% \begin{macrocode} +%% \vphantom{\"A\"O\"U}% +} +% \end{macrocode} +% Der Befehl \cs{ifdin} prüft auf die Verwendung von DIN~Bold. Davon abhängig +% wird entweder das erste oder das zweite Argument ausgeführt. Dies kann für die +% die Befehle aller Gliederungsebenen genutzt werden, um zwischen der Ausgabe im +% Dokument sowie Inhaltserzeichnis und/oder Kolumnentitel zu unterscheiden. +% \begin{macrocode} +\newcommand*\ifdin{% + \ifx\f@family\tud@dinbold\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \ifdin +% \end{macro}^^A \tud@makeuppercase +% +% \iffalse +%</titlepage|class&!option> +%<*class&option> +% \fi +% +% \subsection{Erzwungene Minuskeln für Strings} +% +% Um angegebene Werte bei Schlüssel-Wert-Paaren oder Schlüsselwörter in +% bestimmten Feldern sicher erkennen zu können, werden diese zwingend in +% Kleinbuchstaben geschieben. +% \begin{macro}{\tud@lowerstring} +% Das Makro wird mit \cs{tud@lowerstring}\marg{Zielmakro}\marg{String} bennutzt. +% \begin{macrocode} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\gdef\expandafter #1\expandafter{#1}% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@lowerstring +% +% \subsection{Standardoptionen} +% +% Durchreichen aller Klassenoptionen an die \KOMAScript-Klasse. +% \begin{macrocode} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +% \end{macrocode} +% Es werden die Standardoptionen ausgeführt. Die Ausführung selbst wird durch +% den Befehl \cs{TUD@noworlater} innerhalb von \cs{TUD@key} auf das Ende der +% \KOMAScript-Klasse verzögert. +% \todo[v3.12]{Datum anpassen} +% \begin{macrocode} +\TUDExecuteOptions{\TUDDefaultOptions} +\TUDProcessOptions +\LoadClass{\scrcls@name}[2012/07/29] +% \end{macrocode} +% Nach der Abarbeitung aller Optionen innerhalb der Präambel müssen die +% folgenden Befehle einmalig ausgeführt werden. Damit dies sicher erst danach +% und am Ende der Präambel erfolgt, wird die Ausführung mit \cs{AtEndPreamble} +% verzögert. +% \begin{macrocode} +\AtEndPreamble{% + \tud@layout@process% + \recalctypearea% +} +% \end{macrocode} +% +% \subsection{Externe Pakete} +% +% \changes{v2.01}{2014/04/24}{% +% Versionsanforderungen bei benötigten Paketen ergänzt% +% } +% +% Für die Verwendung der hier erstellten \KOMAScript-Wrapper-Klassen werden +% einige wenige Pakete eingebunden. Dabei wurde versucht, die Anzahl der +% Pakete möglichst gering zu halten und nur die wirklich notwendigen zu +% verwenden. +% +% Für das Setzen der Überschriften in Majuskeln\footnote{Großbuchstaben} mit +% \cs{MakeTextUppercase}, was den internen \LaTeX-Befehl \cs{MakeUppercase} +% verbessert, wird das Paket \pkg{textcase} genutzt. +% \begin{macrocode} +\RequirePackage{textcase}[2004/10/07] +% \end{macrocode} +% Für das Setzen von Feldern werden bei einem übergebenen Argument führende und +% angehängte Leerzeichen entfernt. +% \begin{macrocode} +\RequirePackage{trimspaces}[2009/09/17] +% \end{macrocode} +% Das Paket \pkg{geometry} erlaubt eine genaue Vorgabe des Satzspiegels und +% der Seitenränder, wie es vom \CD der TU~Dresden verlangt wird. +% \begin{macrocode} +\RequirePackage{geometry}[2010/09/12] +% \end{macrocode} +% Das Paket \pkg{mweights} wird verwendet, um für die einzelnen Schriftfamilien +% unterschiedliche Sandardstärken zu nutzen. Insbesondere betrifft dies die +% \texttt{typewriter}"=Familie. +% \begin{macrocode} +\RequirePackage{mweights}[2013/07/21] +% \end{macrocode} +% Die \env{abstract}-Umgebung wird im Vergleich zu den \KOMAScript-Klassen +% stark erweitert. Dafür wird das Paket \pkg{environ} für eine erweiterte +% Umgebungsdefinition benötigt. +% \begin{macrocode} +\RequirePackage{environ}[2013/04/01] +% \end{macrocode} +% Es folgen die Pakete, welche bei Bedarf am Ende der Präambel geladen werden. +% \begin{macrocode} +\AtEndPreamble{% +% \end{macrocode} +% Mit \pkg{graphicx} werden die Logos der TU~Dresden sowie von Dresden Concept +% mit dem Befehl \cs{includegraphics} u.\,a. auf der Titelseite eingebunden. +% \todo[v3.12]{Laden von \pkg{graphics} mit Warnung verhindern.} +% \begin{macrocode} + \@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}[1999/02/16]}% +% \end{macrocode} +% Mit dem Paket \pkg{tudscrcolor} werden die Befehle für die Auswahl der Farben +% des \CDs definiert, welches wiederum \pkg{xcolor} lädt. +% \begin{macrocode} + \@ifpackageloaded{tudscrcolor}{}{\RequirePackage{tudscrcolor}[\TUDVersion]}% +% \end{macrocode} +% Wenn die Farben für Titel- und Kapitelseiten umgeschaltet werden, geht die +% Information über die aktuelle Text- und Seitenfarbe verloren. Um dies zu +% verhindern, kann das Paket \pkg{pagecolor} geladen werden. Das Laden sollte +% aber solange verzögert werden, bis das Paket \pkg{tudscrcolor} geladen ist. +% \todo[v3.12]{Verzögern des Ladens von \pkg{pagecolor} aktivieren.} +% \begin{macrocode} +% \if@tud@pagecolor% +% \UnPreventPackageFromLoading*{pagecolor}% +% \RequirePackage{pagecolor}[2012/02/23]% +% \fi% +} +% \end{macrocode} +% +% \iffalse +%</class&option> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx new file mode 100644 index 00000000000..9ed3b3e8af3 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-pagestyle.dtx @@ -0,0 +1,1528 @@ +% \CheckSum{1206} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-pagestyle.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-pagestyle.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (pagestyle)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-pagestyle.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Der Seitenstil des \CDs} +% +% Das \CD verlangt (eigentlich) einen fest vorgegebenen Satzspiegel. Für das +% Setzen längerer wissenschaftlicher Abhandlungen ist dieser jedoch alles +% andere als glücklich gewählt. Insbesondere für den doppelseitigen Satz ist +% das Standardlayout nicht gut nutzbar. Für die \TUDScript"=Klassen wird deshalb +% die Abweichung vom sonst fest vorgegebenen Satzspiegel ermöglicht. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \subsection{Definition der konstanten Größen und Maße} +% +% Die Vorlagen sollen neben den vom \CD vorgegebenen Seitenrändern weitere +% Layouts ermöglichen und u.\,a. auch die Nutzung des Paketes \pkg{typearea} +% erlauben. Damit ein einheitliches Verfahren zur Wahl bzw. Umschaltung des +% Satzspiegels genutzt werden kann, wird das Paket \pkg{geometry} genutzt. +% Dabei werden entweder die gewünschten Maße der Seitenränder direkt gewählt +% oder aber die mit \pkg{typearea} berechneten Maße an \pkg{geometry} +% durchgereicht. +% +% Als erstes werden die Standardmaße für die Seitenränder im \CD definiert, +% danach speziell für die \env{tudpage}"=Umgebung. +% +% \iffalse +%<*titlepage|class&!option> +% \fi +% +% \begin{length}{\tud@dim@left} +% \begin{length}{\tud@dim@right} +% \begin{length}{\tud@dim@both} +% Die Seitenränder für links und rechts sowie deren Summe, welche später für +% weitere Layouts dazu verwendet wird, diese anteilig zu verteilen. +% \begin{macrocode} +\newlength{\tud@dim@left} +%<*class> +\newlength{\tud@dim@right} +\newlength{\tud@dim@both} +%</class> +% \end{macrocode} +% \end{length}^^A \tud@dim@both +% \end{length}^^A \tud@dim@right +% \end{length}^^A \tud@dim@left +% \begin{length}{\tud@dim@top} +% \begin{length}{\tud@dim@bottom} +% \begin{length}{\tud@dim@footskip} +% Die Seitenränder für sowohl oben als auch unten sowie der Abstand zwischen +% Textkörper und Fußzeile. +% \begin{macrocode} +%<*class> +\newlength{\tud@dim@top} +\newlength{\tud@dim@bottom} +\newlength{\tud@dim@footskip} +%</class> +% \end{macrocode} +% \end{length}^^A \tud@dim@footskip +% \end{length}^^A \tud@dim@bottom +% \end{length}^^A \tud@dim@top +% \begin{length}{\tud@dim@headheight} +% \begin{length}{\tud@dim@barheight} +% \begin{length}{\tud@dim@headsep} +% Es folgen die speziellen Maße für die Seiten mit dem TUD-Kopf, also die Höhe +% oberhalb des Querbalkens, die Höhe des Querbalkens selbst sowie der vertikale +% (Mindest"~)Abstand zwischen Querbalken und Textkörper. +% \begin{macrocode} +\newlength{\tud@dim@headheight} +\newlength{\tud@dim@barheight} +\newlength{\tud@dim@headsep} +% \end{macrocode} +% \end{length}^^A \tud@dim@headsep +% \end{length}^^A \tud@dim@barheight +% \end{length}^^A \tud@dim@headheight +% \begin{length}{\tud@dim@logox} +% \begin{length}{\tud@dim@logoy} +% \begin{length}{\tud@dim@logowidth} +% \begin{length}{\tud@dim@logoheight} +% Außerdem müssen noch die Abmessungen und die Position des TUD-Logos definiert +% werden, nämlich der horizontale (Soll"~)Abstand zwischen linkem Seitenrand +% und Logo, der vertikale (Soll"~)Abstand zwischen oberem Seitenrand und Logo +% sowie die Breite und Höhe\footnote{Proportionen sind durch die Grafik +% vorgegeben} des Logos. +% \begin{macrocode} +\newlength{\tud@dim@logox} +\newlength{\tud@dim@logoy} +\newlength{\tud@dim@logowidth} +\newlength{\tud@dim@logoheight} +% \end{macrocode} +% \end{length}^^A \tud@dim@logoheight +% \end{length}^^A \tud@dim@logowidth +% \end{length}^^A \tud@dim@logoy +% \end{length}^^A \tud@dim@logox +% \begin{length}{\tud@dim@thinline} +% \begin{length}{\tud@dim@heavyline} +% Die Linienstärke der Outline im Kopf ist für ein monochromes Layout schmaler +% als im Layout mit farbigem Hintergrund.\footnote{% +% monochrom \cs{tud@dim@thinline}, koloriert \cs{tud@dim@heavyline}}% +% Da im Dokument beide Varianten vorkommen können, wird die Breite durch den +% Seitenstil situativ entweder auf den Wert von \cs{tud@dim@thinline} oder aber +% \cs{tud@dim@heavyline} gesetzt. +% \begin{macrocode} +\newlength{\tud@dim@thinline} +%<*class> +\newlength{\tud@dim@heavyline} +%</class> +% \end{macrocode} +% \end{length}^^A \tud@dim@heavyline +% \end{length}^^A \tud@dim@thinline +% \begin{length}{\tud@dim@headingsvskip} +% Die Länge für den vertikalen Standardversatz der Überschriften. +% \begin{macrocode} +\newlength{\tud@dim@headingsvskip} +% \end{macrocode} +% \end{length}^^A \tud@dim@headingsvskip +% \begin{length}{\tud@dim@ddcheight} +% Zu guter Letzt noch die Höhe des DDC-Logos in der Fußzeile. Die maximale Höhe +% der Fußzeile ist fest vorgegeben. +% \begin{macrocode} +%<*class> +\newlength{\tud@dim@ddcheight} +%</class> +% \end{macrocode} +% \end{length}^^A \tud@dim@ddcheight +% \begin{macro}{\tud@geometry@set} +% \begin{macro}{\tud@head@font@size} +% Hiermit werden in Abhängigkeit der gewählten Papiergröße die Maße für die +% Größe der Kopfzeile, die Position des Logos, die Seitenränder sowie die +% Schriftgröße in der Kopfzeile definiert. Aufgerufen wird der Befehl durch +% \cs{tud@geometry@process}. +% \begin{macrocode} +\newcommand*\tud@head@font@size{} +\newcommand*\tud@geometry@set{% + \ifdim\paperheight<148.1mm\relax% + \setlength{\tud@dim@headheight}{17.5mm}% + \setlength{\tud@dim@barheight}{2.5mm}% + \setlength{\tud@dim@headsep}{6mm}% + \setlength{\tud@dim@logox}{5.5mm}% + \setlength{\tud@dim@logoy}{6.5mm}% + \setlength{\tud@dim@logowidth}{28.5mm}% + \setlength{\tud@dim@left}{15mm}% +%<*class> + \setlength{\tud@dim@right}{10mm}% + \setlength{\tud@dim@top}{12.5mm}% + \setlength{\tud@dim@bottom}{12.5mm}% + \setlength{\tud@dim@footskip}{6mm}% + \setlength{\tud@dim@heavyline}{0.75pt}% +%</class> + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{4.5}% + \else\ifdim\paperheight<297.1mm\relax% + \setlength{\tud@dim@headheight}{35mm}% + \setlength{\tud@dim@barheight}{5mm}% + \setlength{\tud@dim@headsep}{12mm}% + \setlength{\tud@dim@logox}{11mm}% + \setlength{\tud@dim@logoy}{13.5mm}% + \setlength{\tud@dim@logowidth}{57mm}% + \setlength{\tud@dim@left}{30mm}% +%<*class> + \setlength{\tud@dim@right}{20mm}% + \setlength{\tud@dim@top}{25mm}% + \setlength{\tud@dim@bottom}{25mm}% + \setlength{\tud@dim@footskip}{12mm}% + \setlength{\tud@dim@heavyline}{1pt}% +%</class> + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{9}% + \else\ifdim\paperheight<420.1mm\relax% + \setlength{\tud@dim@headheight}{50mm}% + \setlength{\tud@dim@barheight}{7mm}% + \setlength{\tud@dim@headsep}{17mm}% + \setlength{\tud@dim@logox}{15.5mm}% + \setlength{\tud@dim@logoy}{19mm}% + \setlength{\tud@dim@logowidth}{80mm}% + \setlength{\tud@dim@left}{42mm}% +%<*class> + \setlength{\tud@dim@right}{28mm}% + \setlength{\tud@dim@top}{35mm}% + \setlength{\tud@dim@bottom}{35mm}% + \setlength{\tud@dim@footskip}{17mm}% + \setlength{\tud@dim@heavyline}{1.4pt}% +%</class> + \setlength{\tud@dim@thinline}{0.7pt}% + \def\tud@head@font@size{13}% + \else\ifdim\paperheight<594.1mm\relax% + \setlength{\tud@dim@headheight}{70mm}% + \setlength{\tud@dim@barheight}{10mm}% + \setlength{\tud@dim@headsep}{24mm}% + \setlength{\tud@dim@logox}{22mm}% + \setlength{\tud@dim@logoy}{27mm}% + \setlength{\tud@dim@logowidth}{114mm}% + \setlength{\tud@dim@left}{60mm}% +%<*class> + \setlength{\tud@dim@right}{40mm}% + \setlength{\tud@dim@top}{50mm}% + \setlength{\tud@dim@bottom}{50mm}% + \setlength{\tud@dim@footskip}{24mm}% + \setlength{\tud@dim@heavyline}{1.7pt}% +%</class> + \setlength{\tud@dim@thinline}{1pt}% + \def\tud@head@font@size{13.5}% + \else\ifdim\paperheight<841.1mm\relax% + \setlength{\tud@dim@headheight}{100mm}% + \setlength{\tud@dim@barheight}{14mm}% + \setlength{\tud@dim@headsep}{34mm}% + \setlength{\tud@dim@logox}{31mm}% + \setlength{\tud@dim@logoy}{38mm}% + \setlength{\tud@dim@logowidth}{161.5mm}% + \setlength{\tud@dim@left}{85mm}% +%<*class> + \setlength{\tud@dim@right}{56.5mm}% + \setlength{\tud@dim@top}{71mm}% + \setlength{\tud@dim@bottom}{71mm}% + \setlength{\tud@dim@footskip}{34mm}% + \setlength{\tud@dim@heavyline}{1.9pt}% +%</class> + \setlength{\tud@dim@thinline}{1.5pt}% + \def\tud@head@font@size{14}% + \else% + \setlength{\tud@dim@headheight}{140mm}% + \setlength{\tud@dim@barheight}{20mm}% + \setlength{\tud@dim@headsep}{48mm}% + \setlength{\tud@dim@logox}{44mm}% + \setlength{\tud@dim@logoy}{54mm}% + \setlength{\tud@dim@logowidth}{228mm}% + \setlength{\tud@dim@left}{120mm}% +%<*class> + \setlength{\tud@dim@right}{80mm}% + \setlength{\tud@dim@top}{100mm}% + \setlength{\tud@dim@bottom}{100mm}% + \setlength{\tud@dim@footskip}{48mm}% + \setlength{\tud@dim@heavyline}{2.1pt}% +%</class> + \setlength{\tud@dim@thinline}{2pt}% + \def\tud@head@font@size{20}% + \fi\fi\fi\fi\fi% +%<*class> + \setlength{\tud@dim@both}% + {\dimexpr\tud@dim@left+\tud@dim@right}% +%</class> +% \end{macrocode} +% Hiermit wird sichergestellt, dass bei der Verwendung des DDC-Logos im Fuß +% ausreichend Platz zur Verfügung steht. +% \begin{macrocode} +%<*class> + \setlength{\tud@dim@ddcheight}{.6\tud@dim@headheight}% + \setlength{\tud@ta@footdiff}% + {\dimexpr\tud@dim@ddcheight-\tud@ta@footskip+\baselineskip}% + \ifdim\tud@ta@footdiff<\z@\relax% + \setlength{\tud@ta@footdiff}{\z@}% + \fi% +%</class> +} +% \end{macrocode} +% \end{macro}^^A \tud@head@font@size +% \end{macro}^^A \tud@geometry@set +% +% \subsection{Definition des Seitenstils} +% +% Ein zentraler Bestandteil der Vorlagen ist der Seitenkopf des \CDs. +% Dieser wird zum einen von verschiedenen Befehlen\footnote{beispielsweise von +% \cs{maketitle} oder \cs{part} bzw. \cs{addpart}} benötigt, kann aber auch im +% Dokument durch den Anwender selbst mit der \env{tudpage}"=Umgebung genutzt +% werden. +% \todo[v3.12]{% +% Umstellung auf scrlayer; Seitenstil tudpage in scrlayer als separates Paket? +% } +% \begin{macro}{\ps@tudpage@plain} +% \begin{macro}{\ps@tudpage@empty} +% \begin{macro}{\tud@head@text} +% \begin{macro}{\tud@head@text@first} +% \begin{macro}{\tud@head@text@second} +% \begin{macro}{\tud@head@text@delimiter} +% \begin{macro}{\tud@head@text@buffer} +% \begin{macro}{\tud@head@font} +% \begin{macro}{\tud@head@rule} +% Es wird ein neuer Seitenstil kreiert, der das \CD der TU~Dresden mit der +% prägenden Kopfzeile umsetzt. Dabei soll dieser Kopf auch verwendbar sein, +% wenn nicht die vom \CD vorgeschriebenen Seitenränder sondern das Paket +% \pkg{typearea} genutzt wird. Dafür wird das Logo im Kopf so wie im \CD +% vorgesehen mit dem TU-Symbol in den Rand und dem Schriftzug bündig zum +% Textblock gesetzt. Für den Fall, dass das Dokument nicht ausschließlich mit +% dem TUD-Kopf auf jeder Seite gesetzt wird, muss der komplette vertikale +% Satzspiegel angepasst werden, sonst wäre der obere Rand optisch viel zu groß. +% +% Hierfür wird das Paket \pkg{geometry} genutzt. Es werden mehrere Layouts +% erstellt\footnote{normaler Satzspiegel, TUD-Kopf sowie TUD-Kopf und "~Fuß} +% und mit \cs{savegeometry}\marg{Stil} gesichert. Damit kann innerhalb des +% Dokumentes mit dem Befehl \cs{loadgeometry}\marg{Stil} oberer sowie ggf. +% untere Seitenrand geändert werden. Falls notwendig kann außerdem der Abstand +% zwischen Kopf und Text mit der Länge \cs{tud@ta@headdiff} dahingehend +% angepasst werden, dass der Textblock unter der TUD-Kopf auf der gleichen Höhe +% beginnt, wie beim normalen Satzspiegel im restlichen Dokument ohne die +% TUD-Kopfzeile.\footnote{normalerweise überflüssig, da TUD-Kopf recht groß; +% kommt nur vor, wenn \opt{DIV} klein} +% \begin{macrocode} +\newcommand*\tud@head@text{} +\newcommand*\tud@head@text@first{} +\newcommand*\tud@head@text@second{} +\newcommand*\tud@head@text@delimiter{} +\newcommand*\tud@head@text@buffer{} +\newcommand*\tud@head@font{} +\newcommand*\tud@head@rule{} +%<*class> +\newcommand*\ps@tudpage@plain{% +%</class> +%<*titlepage> +\newcommand*\tud@pagestyle{% +%</titlepage> +% \end{macrocode} +% Die Kopfzeile selbst wird durch der Redefinition von \cs{@oddhead} bzw. +% \cs{@evenhead} erstellt. Sollte keine Fakultät angegeben sein, wird eine +% Warnung ausgegeben. +% \begin{macrocode} +%<*class> + \renewcommand*\@oddhead{% +%</class> +% \end{macrocode} +% Es soll sichergestellt werden, dass das bei der Verwendung von \pkg{typearea} +% über den Satzspiegel in den Seitenrand hinausragende TUD-Logo nicht außerhalb +% des Druckrandes liegt. Dies kann beispielsweise bei zweiseitigem Satz +% und/oder einem zu großen \opt{DIV}-Wertes passieren. Es wird in diesem Fall +% eine Warnung ausgegeben, damit das Problem durch den Anwender behoben werden +% kann. +% \begin{macrocode} +%<*class> + \setlength{\@tempdima}% + {\dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left}% + \ifdim\@tempdima<\ta@bcor\relax% + \tud@head@logo@wrn{\the\@tempdima}% + \fi% +%</class> + \ifx\@faculty\@empty% +%<*class> + \ClassWarningNoLine{\tudcls@name}{No faculty given}% +%</class> +%<*titlepage> + \PackageWarningNoLine{titlepage}{No faculty given}% +%</titlepage> + \faculty{\null}% + \fi% +% \end{macrocode} +% Abhängig vom Parameter \opt{cdfont}\footnote{nicht zu verwechseln mit der +% Klassenoption \opt{cdfont}} werden entweder die Schriften des \CDs oder +% aber die serifenlose Standardschrift für die Kopfzeile verwendet. +% \begin{macrocode} + \tud@head@font@set% +% \end{macrocode} +% Der Inhalt der Kopfzeile wird durch die angegeben Fakultät etc. vorgegeben. +% Sollte der Platz in einer Zeile dafür nicht ausreichen, wird eine zweite +% Zeile begonnen. Ob diese benötigt wird, ist abhängig vom Inhalt und von der +% sich daraus ergebenden Breite der Textzeile. Das Erzeugen der ersten und +% gegebenenfalls der zweiten Textzeile im Kopf erfolgt durch das Makro +% \cs{tud@head@text@add}\oarg{Trennzeichen}\marg{Schrift}\marg{Feld}. Der dafür +% verwendete Schalter \cs{@tempswa} und die benötigten Hilfsmakros werden +% vor der Verwendung initialisiert. +% \begin{macrocode} + \@tempswafalse% + \def\tud@head@text@first{}% + \def\tud@head@text@second{}% + \def\tud@head@text@buffer{}% + \tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}% + \tud@head@text@add{\tud@head@font@light}{\@department}% + \tud@head@text@add{\tud@head@font@light}{\@institute}% + \tud@head@text@add{\tud@head@font@light}{\@chair}% +% \end{macrocode} +% Sollte die zweite Textzeile zu lang sein, was bei kleinen Papierformaten +% vorkommen kann, dann wird eine Warnung ausgegeben. +% \begin{macrocode} +%<*class> + \settowidth{\@tempdima}{\tud@head@text@second}% + \ifdim\@tempdima>\textwidth\relax% + \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth}% + \fi% +% \end{macrocode} +% Die Farbe des Kopfes wird für Titel und Teileseiten durch die gewählten +% Optionen\footnote{\opt{cdtitle}, \opt{cdpart}} bestimmt.\footnote{für +% die \env{tudpage}-Umgebung kann dieser angepasst werden} +% \begin{macrocode} + \color{\tud@head@color}% +%</class> +% \end{macrocode} +% Die eigentlichen Befehle zum Setzen des Kopfes. Ein potentielles Zweitlogo +% wird bündig zum rechten Seitenrand gesetzt. Es erfolgt die Ausgabe der +% Textzeile(n) mit Fakultät etc. über den Befehl \cs{tud@head@text@write}. +% \begin{macrocode} +%<*titlepage> + \vspace*{\dimexpr-\headheight-\topskip-1in}% +%</titlepage> + \vbox to \dimexpr\tud@dim@barheight+\tud@dim@headheight{% + \vfill\linespread{0}\selectfont% + \setlength{\@tempdima}{\tud@dim@logox}% + \addtolength{\@tempdima}{-\tud@dim@left}% + \hspace*{\@tempdima}% + \tud@mainlogo\hfill\tud@head@logo% + \setlength{\@tempdima}{\tud@dim@headheight}% + \addtolength{\@tempdima}{-\tud@dim@logoy}% + \addtolength{\@tempdima}{-\tud@dim@logoheight}% +% \end{macrocode} +% Sollte die Kopffarbe weiß sein~-- es ist also ein farbiger Hintergrund +% gewählt~-- dann wird die Outline des Balkens breiter gesetzt. Die Breite +% wird in \cs{@tempdimc} gespeichert. +% \begin{macrocode} +%<*class> + \ifstr{\tud@head@color}{white}% + {\setlength{\@tempdimc}{\tud@dim@heavyline}}% + {\setlength{\@tempdimc}{\tud@dim@thinline}}% +%</class> +%<*titlepage> + \setlength{\@tempdimc}{\tud@dim@thinline}% +%</titlepage> + \vspace*{\dimexpr\@tempdima-.5\@tempdimc}% +% \end{macrocode} +% Der Querbalken des Kopfes läuft je nach gewähltem Parameter \opt{widehead} +% entweder nur über den Textbereich oder aber über die gesamte Seitenbreite. +% Dafür muss dieser ggf. um den Betrag des linken Randes der Seite nach links +% verschoben werden und beginnt dann genau am Blattrand. Dieser Wert wird +% berechnet und temporär in \cs{@tempdima} gespeichert. Der Balken selbst wird +% mit dem zweimaligen Aufruf von \cs{tud@head@rule}~-- ein ggf. entsprechend um +% \cs{@tempdima} horizontal verschobener \cs{rule}-Befehl~-- gesetzt. +% \begin{macrocode} + \def\tud@head@rule{% + \if@tud@widehead% + \setlength{\@tempdima}{\oddsidemargin}% +%<*class> + \if@twoside\ifodd\c@page\else% + \setlength{\@tempdima}{\evensidemargin}% + \fi\fi% +%</class> + \addtolength{\@tempdima}{1in}% + \setlength{\@tempdimb}{\paperwidth}% + \else% + \setlength{\@tempdima}{\z@}% + \setlength{\@tempdimb}{\textwidth}% + \fi% + \hfuzz=2\@tempdima% + \hspace*{-\@tempdima}% + \rule[-.5\@tempdimc]{\@tempdimb}{\@tempdimc}% + \newline% + }% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@first}% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@second}% +% \end{macrocode} +% Eine Extrazeile kann mit dem Befehl \cs{extraheadline}\marg{Textzeile} +% eingefügt werden. +% \begin{macrocode} + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \vspace*{-\tud@dim@barheight}% + \fi% + \vspace*{\dimexpr\@tempdimc-\tud@dim@barheight}% + }% +%<*class> + }% + \let\@evenhead\@oddhead% +%</class> +} +% \end{macrocode} +% Dieser Seitenstil wird für Einzelseiten wie Teil- oder Kapitelseiten +% benötigt, da hier die lokale Einstellung einer leeren Fußzeile sonst nur +% umständlich zu realisieren wäre. +% \begin{macrocode} +%<*class> +\newcommand*\ps@tudpage@empty{% + \ps@tudpage@plain% + \let\@mkboth\@gobbletwo% + \let\@oddfoot\@empty% + \let\@evenfoot\@empty% +} +%</class> +% \end{macrocode} +% \end{macro}^^A \tud@head@rule +% \end{macro}^^A \tud@head@font +% \end{macro}^^A \tud@head@text@buffer +% \end{macro}^^A \tud@head@text@delimiter +% \end{macro}^^A \tud@head@text@second +% \end{macro}^^A \tud@head@text@first +% \end{macro}^^A \tud@head@text +% \end{macro}^^A \ps@tudpage@empty +% \end{macro}^^A \ps@tudpage@plain +% \begin{macro}{\tud@head@text@add} +% Dieser Befehl dient zum Füllen eines Puffer-Strings. Es werden sequentiell +% alle potentiellen Felder hinzugefügt. Sollte das zuletzt hinzugefügte Feld +% dazu führen, dass der Text der Kopfzeile über den Seitenrand hinausragt, so +% wird eine zweite Zeile begonnen. In diesem Fall wird der temporäre Schalter +% \cs{@tempswa} aktiviert. Auch das Trennzeichen zwischen einzelnen Feldern +% muss gepuffert werden, da dieses nur gesetzt wird, wenn ein weiteres Feld +% nachfolgt. +% \begin{macrocode} +\newcommand*\tud@head@text@add[3][, ]{% + \def\tud@head@font{#2}% + \edef\tud@head@text{#3}% + \ifx\tud@head@text\@empty% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@delimiter{\tud@head@text@buffer}% + \def\tud@head@text@buffer{#1}% + \fi% + \if@tempswa\else% + \def\@tempa{% + \tud@head@text@first% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \settowidth{\@tempdima}{\@tempa}% + \ifdim\@tempdima>\textwidth\relax% + \@tempswatrue% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@first{\@tempa}% + \fi% + \fi% + \if@tempswa% + \edef\tud@head@text@second{% + \tud@head@text@second% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@text@add +% \begin{macro}{\tud@head@text@write} +% Befehl zur Ausgabe der ersten und evtl. zweiten Textzeile im TUD-Kopf +% \begin{macrocode} +\newcommand*\tud@head@text@write[1]{% + \raisebox{\dimexpr(\tud@dim@barheight-\@tempdimc-\totalheight)/2}% + [\dimexpr\tud@dim@barheight-\@tempdimc-\depth\relax][\depth]{#1}% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@text@write +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\tud@head@text@wrn} +% Warnung für den Fall, dass die Kopfinformationen breiter werden, als die +% Textbreite, was bei besonders kleinen Papierformaten geschehen kann. +% \begin{macrocode} +\newcommand\tud@head@text@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The given entries for the headline\MessageBreak% + (faculty, institute etc.) are #1\MessageBreak% + too wide for the textwidth% + }% + \global\let\tud@head@text@wrn\@gobble% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@text@wrn +% \begin{macro}{\tud@head@logo@wrn} +% Warnung für den Fall, dass die Kopfinformationen breiter werden, als die +% Textbreite, was bei besonders kleinen Papierformaten geschehen kann. +% \begin{macrocode} +\newcommand\tud@head@logo@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The selected page layout means that the\MessageBreak% + logo of TUD extends beyond the printing area.\MessageBreak% + The inner margin is smaller than BCOR\MessageBreak% + (BCOR=\the\ta@bcor,\space inner margin=#1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (DIV=\the\ta@div)% + }% + \global\let\tud@head@logo@wrn\@gobble% +} +% \end{macrocode} +% \end{macro}^^A \tud@head@logo@wrn +% +% \iffalse +%</class> +%</titlepage|class&!option> +%<*class&option> +% \fi +% +% \subsection{Befehle, Optionen und Umsetzung der Seitenstilvarianten} +% +% \todo[v3.12]{% +% tud- und ddc-logo via scrlayer setzen, tudhead und cdfoot als Optionen mit +% den Werten all, part, chapter, text; Koppeln mit den Optionen für cdpart +% und cdchapter, heißt entsprechende Werte vorsehen; partpagestyle, +% chapterpagestyle und abstractpagestyle ggf. anpassen; chapterpage beachten! +% abstractpagestyle weg, direkt über die Option abstract setzen, entsprechend +% Werte für Kopf und Fuß vorsehen; Bezeichnung der tudpage-Optionen +% äquivalent zu Klassenoptionen, nur für Titelseite die Option ddctitle +% (koppeln an ddc): Soll heißen: ddctitle (ddc) für Titelseite, ddchead und +% ddcfoot für alle Seiten; außerdem cd(title,part,chapter) = ddchead, ddcfoot; +% nur Kopf oder Fuß! color-Option nur bei weißem Hintergrund; evtl auch Option +% ddc mit werten head und foot (ddc=head,ddc=foot), nur entweder kopf oder fuß +% zulassen +% } +% \begin{option}{ddc} +% \begin{option}{ddchead} +% \begin{macro}{\tud@ddc@head} +% Die Option \opt{ddchead} dient zum Einbinden des Dresden-Concept-Logos auf +% der Titelseite. Entweder einfarbig (schwarz, blau bzw. weiß) oder farbig. Der +% Wert des Makros \cs{tud@ddc@head} wird auch für Verarbeitung der Optionen der +% \env{tudpage}"=Umgebung verwendet. Nach der Verarbeitung der Option wird +% das entsprechende DDC-Logo als Zweitlogo genutzt. +% \begin{macrocode} +\newcommand*\tud@ddc@head{0} +\TUD@numkey{ddc}[true]{tud@ddc@head}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +\TUD@key{ddchead}[true]{\TUDoptions{ddc=#1}} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@head +% \end{option}^^A ddchead +% \end{option}^^A ddc +% \todo[v3.12]{für title, part, chapter und tudpage überarbeiten (scrlayer)} +% \begin{option}{ddcfoot} +% \begin{macro}{\tud@ddc@foot} +% Die Option \opt{ddcfoot} ist momentan bloß für die Verarbeitung der +% Optionen der \env{tudpage}"=Umgebung ausschlaggebend. Für eine spätere +% Version soll diese für Formularklassen o.\,ä. verwendet werden. +% \begin{macrocode} +\newcommand*\tud@ddc@foot{0} +\TUD@numkey{ddcfoot}[true]{tud@ddc@foot}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@foot +% \end{option}^^A ddcfoot +% +% \iffalse +%</class&option> +%<*titlepage|class&option> +% \fi +% +% \begin{option}{widehead} +% \begin{macro}{\if@tud@widehead} +% \begin{macro}{\if@tud@widehead@locked} +% 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} +%<*class> +\newif\if@tud@widehead +\TUD@key@lock{widehead}[true]{% + \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +} +%</class> +%<*titlepage> +\FamilyBoolKey[TU-Dresden]{title}{widehead}{@tud@widehead} +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \if@tud@widehead@locked +% \end{macro}^^A \if@tud@widehead +% \end{option}^^A widehead +% +% \iffalse +%</titlepage|class&option> +%<*titlepage|class&!option> +% \fi +% +% \begin{macro}{\tud@mainlogo} +% \begin{macro}{\tud@@mainlogo} +% Mit diesem Makro wird das Logo der TU~Dresden eingebunden. Bei der Verwendung +% von pdf\LaTeX{} kann wird Farbe des Logos an die Kopffarbe angepasst. Wird +% der klassische Weg über dvi gewählt, so muss abhängig von der gewählten +% Kopffarbe das entsprechend gefärbte Logo eingebunden werden. +% +% \begin{macrocode} +%<*class> +\newcommand*\tud@@mainlogo{} +%</class> +\newcommand*\tud@mainlogo{% +%<*class> + \def\tud@@mainlogo{TU_Logo_SW}% + \ifpdfoutput{}{% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@@mainlogo{TU_Logo_WS}}{}% + }% +%</class> + \def\@tempa{% + \includegraphics[width=\tud@dim@logowidth]{% +%<*class> + \tud@@mainlogo% +%</class> +%<*titlepage> + \@mainlogo% +%</titlepage> + }% + }% + \settoheight{\tud@dim@logoheight}{\@tempa}\@tempa% +} +% \end{macrocode} +% \end{macro}^^A \tud@@mainlogo +% \end{macro}^^A \tud@mainlogo +% \begin{macro}{\headlogo} +% \begin{macro}{\logofile} +% \begin{macro}{\logofilename} +% \begin{macro}{\tud@head@logo} +% \begin{macro}{\tud@head@@logo} +% \begin{macro}{\tud@head@@@logo} +% Diese Befehle dienen zum Einbinden eines Zweitlogos im Kopf bündig zum +% rechten Seitenrand. Dabei wird bei der Angabe des Logos mit +% \cs{headlogo}\oarg{Optionsliste}\marg{Dateiname} der Dateiname in +% \cs{tud@head@@logo} und das optionale Argument in \cs{tud@head@@@logo} +% gespeichert, damit diese später über \cs{tud@head@logo} an den Befehl +% \cs{includegraphics} weitergereicht werden können. Sollte die Angabe des +% Zweitlogos mit der Option für das DDC-Logo kollidieren, so wird eine Warnung +% ausgegeben. +% \begin{macrocode} +%<*class> +\newcommand*\headlogo[2][]{% + \ifnum\tud@ddc@head>0\relax% + \def\tud@ddc@head{0}% + \ClassWarning{\tudcls@name}% + {DDC logo is overwritten with \string#2}% + \fi% + \def\tud@head@@logo{#2}% + \def\tud@head@@@logo{#1}% +} +\newcommand*\logofile{} +\newcommand*\logofilename{} +\let\logofile\headlogo +\let\logofilename\headlogo +\newcommand*\tud@head@@logo{} +\newcommand*\tud@head@@@logo{} +\newcommand*\tud@head@logo{% + \ifx\tud@head@@logo\@empty\else% + \let\@tempa\tud@head@@@logo% + \pretocmd{\@tempa}{height=\tud@dim@logoheight,}{}{}% + \expandafter\includegraphics% + \expandafter[\@tempa]{\tud@head@@logo}% + \fi% +} +%</class> +%<*titlepage> +\DefineSimpleTitleKey[TU-Dresden]{headlogo} +\newcommand*\tud@head@logo{% + \ifx\@headlogo\@empty\else% + \includegraphics[height=\tud@dim@logoheight]{\@headlogo}% + \fi% +} +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \tud@head@@@logo +% \end{macro}^^A \tud@head@@logo +% \end{macro}^^A \tud@head@logo +% \end{macro}^^A \logofilename +% \end{macro}^^A \logofile +% \end{macro}^^A \headlogo +% +% \iffalse +%</titlepage|class&!option> +%<*class&option> +% \fi +% +% \begin{option}{cdfoot} +% \begin{option}{tudfoot} +% \begin{macro}{\if@tud@cdfoot} +% Dieser Seitenstil mit den Kolumnentitel im Fuß wurde bereits für die alte +% \cls{tudbook}-Klasse bereitgestellt und soll auch hier optional angeboten +% werden. Dafür werden die ursprünglichen Seitenstile gesichert, um eventuell +% zurückschalten zu können. Anschließend werden diese mit den neuen Stilen +% überschrieben. +% \begin{macrocode} +\newif\if@tud@cdfoot +\TUD@key{cdfoot}[true]{% + \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% +% \end{macrocode} +% Da die originalen Seitenstile durch \KOMAScript{} erst nach der Ausführung der +% Optionen erstellt werden und die hier genutzten Seitenstile auf den orginalen +% Definitionen aufbauen, erfolgt die Ausführung erst nach der Präambel. +% \begin{macrocode} + \if@atdocument% + \if@tud@cdfoot% + \tud@cmd@store{ps@headings}% + \tud@cmd@store{ps@myheadings}% + \tud@cmd@store{ps@plain}% + \let\ps@headings\tud@ps@headings% + \let\ps@myheadings\tud@ps@myheadings% + \let\ps@plain\tud@ps@plain% + \else% + \tud@cmd@restore{ps@headings}% + \tud@cmd@restore{ps@myheadings}% + \tud@cmd@restore{ps@plain}% + \fi% + \clearpage% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \fi% +} +% \end{macrocode} +% Diese Option wird nur aus Gründen der Kombatibilität zu v1.0 definiert. +% \begin{macrocode} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfoot}% + \else% + \TUDoptions{cdfoot=false}% + \fi% +} +% \end{macrocode} +% Damit die Einstellungen aus der Präambel übernommen werden, wird die Option +% ggf. zu Beginn mit \cs{AtBeginDocument} aufgerufen. +% \begin{macrocode} +\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot}\pagestyle{headings}\fi} +% \end{macrocode} +% \end{macro}^^A \if@tud@cdfoot +% \end{option}^^A tudfoot +% \end{option}^^A cdfoot +% \begin{macro}{\tud@currentpagestyle} +% Um beim Umschalten des Formats der Kopf- und Fußzeilen mit \opt{cdfoot} den +% aktuellen Seitenstil selbst\footnote{plain, empty, headings oder myheadings} +% zu behalten, wird dieser im Hilfsmakro \cs{tud@currentpagestyle} gespeichert. +% Dazu wird der Befehl \cs{pagestyle} entsprechend angepasst. +% \begin{macrocode} +\newcommand*\tud@currentpagestyle{plain} +\apptocmd{\pagestyle}{% + \def\tud@currentpagestyle{#1}}{}{\tud@patch@wrn{pagestyle}% +} +% \end{macrocode} +% \end{macro}^^A \tud@currentpagestyle +% +% \iffalse +%</class&option> +%<*class&!option> +% \fi +% +% \begin{macro}{\tud@ps@headings} +% \begin{macro}{\tud@ps@myheadings} +% \begin{macro}{\tud@ps} +% \begin{macro}{\tud@ps@plain} +% Die dazugehörigen neuen Seitenstile. +% \begin{macrocode} +\newcommand*\tud@ps@headings{\tud@cmd@use{ps@headings}\tud@ps} +\newcommand*\tud@ps@myheadings{\tud@cmd@use{ps@myheadings}\tud@ps} +\newcommand*\tud@ps{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\quad\footnotesize\leftmark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\footnotesize\rightmark\quad\normalsize\pagemark% + }}% + }}% + \hss% + }% +}% +\newcommand*\tud@ps@plain{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\normalsize\pagemark% + }}% + }}% + \hss% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@ps@plain +% \end{macro}^^A \tud@ps +% \end{macro}^^A \tud@ps@myheadings +% \end{macro}^^A \tud@ps@headings +% +% \iffalse +%</class&!option> +%<*class&option> +% \fi +% +% \todo[v3.12]{% +% bei scrlayer, die hooks für die Umstellung des Seitenstils nutzen um den +% richtigen Satzspiegel mit \cs{loadgeometry} zu wählen +% } +% \begin{option}{geometry} +% \begin{macro}{\tud@geometry} +% \begin{macro}{\if@tud@geometry@locked} +% Für das \CD sind standardmäßig feste Seitenränder vorgegeben. Diese sind +% jedoch leider nur aus gestalterischen Motiven und ohne die Beachtung +% typographischer Belange gewählt und festgelegt worden. Beispielweise ist ein +% doppelseitiger Satz einer Abschlussarbeit im \CD nur mit einem grauenhaften +% Satzspiegel möglich. Um dem Anwender einen gewissen Spielraum zu geben, wird +% alternativ zum asymmetrischen (\opt{geomery=on}) ein symmetrischer +% Satzspiegel bereitgestellt (\opt{geomery=normal}), welcher bei einseitigem +% Satz zentriert ist und bei zweiseitigem Satz den inneren Rand kleiner setzt +% als den äußeren. Des Weiteren kann die Satzspiegelberechnung auch direkt +% durch \pkg{typearea} aus dem \KOMAScript"=Paket erfolgen +% (\opt{geomery=no}). Mit \cs{tud@geometry@process} werden alle getroffenen +% Satzspiegeloptionen umgesetzt und nachfolgend definiert. +% \begin{macrocode} +\newcommand*\tud@geometry{0} +\TUD@key@lock{geometry}[true]{% + \TUD@set@numkey@lock{geometry}{tud@geometry}{% + {false}{0},{off}{0},{no}{0},{typearea}{0},% + {true}{1},{on}{1},{yes}{1},{tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{normal}{2},{standard}{2},{std}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \if@atdocument\recalctypearea\fi% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@geometry@locked +% \end{macro}^^A \tud@geometry +% \end{option}^^A geometry +% +% \iffalse +%</class&option> +%<*class&!option> +% \fi +% +% \begin{length}{\tud@ta@textheight} +% \begin{length}{\tud@ta@topmargin} +% \begin{length}{\tud@ta@headheight} +% \begin{length}{\tud@ta@headsep} +% \begin{length}{\tud@ta@footskip} +% Diese Längen werden benötigt, um einen mit \pkg{typearea} berechneten +% Satzspiegel an \pkg{geometry} weiterzureichen und die unterschiedlichen, vom +% Satzspiegel abhängigen Seitenlayouts zu erstelen. +% \begin{macrocode} +\newlength{\tud@ta@textheight} +\newlength{\tud@ta@topmargin} +\newlength{\tud@ta@headheight} +\newlength{\tud@ta@headsep} +\newlength{\tud@ta@footskip} +% \end{macrocode} +% \end{length}^^A \tud@ta@footskip +% \end{length}^^A \tud@ta@headsep +% \end{length}^^A \tud@ta@headheight +% \end{length}^^A \tud@ta@topmargin +% \end{length}^^A \tud@ta@textheight +% \begin{length}{\tud@ta@headdiff} +% \begin{length}{\tud@ta@footdiff} +% Längen für den Ausgleich zwischen normalem und benötigtem Satzspiegel für das +% spezielle Layout des \CDs. Die Differenz zwischen den Kopf- bzw. Fußhöhen +% der unterschiedlichen Satzspiegelvarianten wird bei der Ausführung von +% \cs{tud@geometry@process} berechnet und in \cs{tud@ta@headdiff} bzw. +% \cs{tud@ta@footdiff} gespeichert. Dabei muss unterschieden werden, ober der +% Satzspiegel genutzt wird, der durch das \CD vorgegeben ist oder der durch +% \pkg{typearea} berechnete. +% \begin{macrocode} +\newlength{\tud@ta@headdiff} +\newlength{\tud@ta@footdiff} +% \end{macrocode} +% \end{length}^^A \tud@ta@footdiff +% \end{length}^^A \tud@ta@headdiff +% Der Befehl \cs{AfterCalculatingTypearea} wird durch \KOMAScript{} bzw. das +% Paket \pkg{typearea} bereitgestellt. Die durch \pkg{typearea} berechneten +% Längenwerte für den Satzspiegel werden zur Weiterverarbeitung gesichert. +% Für die Erstellung des Satzspiegels wird das Paket \pkg{geometry} verwendet. +% Bei der entsprechenden Option (\opt{geometry=no}) wird jedoch der von +% \pkg{typearea} berechnete Satzspiegel an \pkg{geometry} weitergereicht. +% Somit wird es möglich, unabhängig vom genutzten Paket\footnote{\pkg{typearea} +% oder \pkg{geometry}} zur Festlegung des Satzspiegels, diesen innerhalb des +% Dokumentes zu ändern. Damit auch Änderungen an der Papiergröße möglich sind, +% muss ein einzelnes Makro (\cs{Gm@restore@org}) aus \pkg{geometry} temporär +% deaktiviert werden. +% \begin{macrocode} +\AfterCalculatingTypearea{% + \setlength{\tud@ta@textheight}{\textheight}% + \setlength{\tud@ta@topmargin}{\topmargin}% + \setlength{\tud@ta@headheight}{\headheight}% + \setlength{\tud@ta@headsep}{\headsep}% + \setlength{\tud@ta@footskip}{\footskip}% + \setlength{\tud@dim@headingsvskip}{.1\textheight}% + \let\@tempa\Gm@restore@org% + \if@atdocument\let\Gm@restore@org\relax\fi% + \tud@geometry@process% + \let\Gm@restore@org\@tempa% +} +% \end{macrocode} +% \begin{macro}{\tud@geometry@hmargin} +% \begin{macro}{\tud@geometry@vmargin} +% \begin{macro}{\tud@geometry@pmargin} +% \begin{macro}{\tud@geometry@dmargin} +% Dies sind Hilfsmakros zur Definition unterschiedicher Seitenlayouts +% (horizontale und vertikale Ränder). Es handelt sich dabei um die Definition +% der horizontalen und vertikalen Seitenränder sowie die angepassten vertikalen +% Einstellungen für die Seitenstilvarianten mit TUD-Kopf und/oder DDC-Fuß. +% Gesetzt werden diese in Abhängigkeit von der Option \opt{geometry} im +% Makro \cs{tud@geometry@process} bzw. \cs{tud@geometry@@process}. +% \begin{macrocode} +\newcommand*\tud@geometry@hmargin{} +\newcommand*\tud@geometry@vmargin{} +\newcommand*\tud@geometry@pmargin{} +\newcommand*\tud@geometry@dmargin{} +% \end{macrocode} +% \end{macro}^^A \tud@geometry@dmargin +% \end{macro}^^A \tud@geometry@pmargin +% \end{macro}^^A \tud@geometry@vmargin +% \end{macro}^^A \tud@geometry@hmargin +% \begin{macro}{\tud@geometry@process} +% \begin{macro}{\tud@geometry@@process} +% \begin{macro}{\tud@geometry@@@process} +% Das Makro \cs{tud@geometry@process} setzt die Option für den gewünschten +% Satzspiegel um, sowohl für die Seitenränder als auch zur Einberechnung der +% Kopf- und/oder Fußzeile. Um mehrere Satzspiegel verwenden zu können~-- was +% für die unterschiedlichen Höhen für Kopf- und Fußzeile nötig ist~-- wird das +% Paket \pkg{geometry} verwendet. Soll \pkg{typearea} zur Satzspiegelerstellung +% genutzt werden, so werden die damit berechneten Werte an \pkg{geometry} +% weitergereicht. +% \begin{macrocode} +\newcommand*\tud@geometry@process{% +% \end{macrocode} +% Die Maßvorgaben werden entsprechend der Seitengröße gesetzt. +% \begin{macrocode} + \tud@geometry@set% +% \end{macrocode} +% Für den Fall, dass \pkg{typearea} die Satzspiegelberechnung übernimmt, werden +% die Ergebnisse aus der Berechnung direkt an \pkg{geometry} weitergereicht. +% Dazu werden die berechneten Werte in die entsprechenden Hilfsmakros +% für die Erstellung der \pkg{geometry}-Satzspiegel übergeben. +% \begin{macrocode} + \ifcase \tud@geometry\relax% + \def\tud@geometry@hmargin{% + left=\dimexpr\oddsidemargin+1in,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@ta@footdiff,% + footskip=\dimexpr\tud@ta@footskip+\tud@ta@footdiff,% + }% +% \end{macrocode} +% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile +% für den \pkg{typearea}-Satzspiegel berechnet. +% \begin{macrocode} + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in% + }% +% \end{macrocode} +% Hier erfolgt die Definition der Hilfsmakros für das CD-konforme asymmetrische +% bzw. an das \CD angelehnte Layout für einseitigen und zweiseitigen Satz. +% Zuerst werden die verschiedenen unterschiedlichen horizontalen Ränder für die +% unterschiedlichen Optionen definiert. Danach kommt der Gleichanteil. +% \begin{macrocode} + \else% + \ifcase \tud@geometry\or% + \def\tud@geometry@hmargin{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + \if@twoside asymmetric,\fi% + }% +% \end{macrocode} +% Die zweite Variante ist eigentlich nicht konform mit dem \CD. Sie ist sowohl +% im einseitigen als auch im zweiseitgigen Satz symmetrisch. +% \begin{macrocode} + \or% + \def\tud@geometry@hmargin{% + left=.5\tud@dim@both,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% +% \end{macrocode} +% Eigentlich ist auch die dritte Variante nach dem \CD nicht zulässig. Sie ist +% im einseitigen Satz symmetrisch, im zweiseitgigen Satz wird die innere Seite +% schmaler gesetzt als die äußere, wobei hier auf das in den Seitenrand ragende +% TUD-Logo geachtet werden muss. +% \begin{macrocode} + \or% + \def\tud@geometry@hmargin{% + \if@twoside% + left=.4\tud@dim@both,% + twoside,% + \else% + left=.5\tud@dim@both,% + \fi% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% + \fi% +% \end{macrocode} +% Für alle drei Varianten der Gleichanteil. +% \begin{macrocode} + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@dmargin{% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% +% \end{macrocode} +% Es wird die Differenz der Höhen zwischen TUD-Kopf und Standardkopfzeile +% für den Satzspiegel des \CDs berechnet. +% \begin{macrocode} + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep-\tud@dim@top% + }% + \fi% +% \end{macrocode} +% Es wird \cs{tud@geometry@@process} aufgerufen, was die zuvor definierten +% Hilfsmakros nutzt, um alle benötigten Seitenlayouts optionsabhängig zu +% erstellen. +% \begin{macrocode} + \tud@geometry@@process% +} +% \end{macrocode} +% Der Befehl \cs{tud@geometry@@process} setzt mit den zuvor definierten +% Hilfsmakros die \pkg{geometry}"=Optionen für sowohl die seitlichen als auch +% die oberen sowie unteren Seitenränder und inkludiert ggf. Kopf- und Fußzeile +% in den Satzspiegel. Die unterschiedlichen Layouts sind dabei \opt{tudddc} für +% TUD-Kopf und DDC-Fuß, \opt{tudpage} für den alleinigen TUD-Kopf sowie +% \opt{tudarea} für den normalen bzw. mit \pkg{typearea} berechneten +% Satzspiegel. +% \begin{macrocode} +\newcommand*\tud@geometry@@process{% +% \end{macrocode} +% Als erstes wird der Satzspiegel für TUD-Kopf und DDC-Fuß erstellt. +% \begin{macrocode} + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudddc}% +% \end{macrocode} +% Danach der, welcher lediglich den TUD-Kopf aber die Standardfußzeile hat. +% \begin{macrocode} + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudpage}% +% \end{macrocode} +% Der Standardsatzspiegel wird erstellt. +% \begin{macrocode} + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% +} +% \end{macrocode} +% Das Hilfsmakro \cs{tud@geometry@@@process} wird bei der Umsetzung der +% einzelnen Satzspiegeloptionen mittels der Befehle \cs{tud@geometry@process} +% bzw. \cs{tud@geometry@@process} genutzt, um die Optionen für das Einbeziehen +% von Kopf- und Fußzeile in den Satzspiegel auszuwerten. +% \begin{macrocode} +\newcommand*\tud@geometry@@@process{% + \if@hincl% + \if@fincl% + includeheadfoot,% + \else% + includehead,ignorefoot,% + \fi% + \else% + \if@fincl% + ignorehead,includefoot,% + \else% + ignoreheadfoot,% + \fi% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@geometry@@@process +% \end{macro}^^A \tud@geometry@@process +% \end{macro}^^A \tud@geometry@process +% \todo[v3.12]{% +% Setzen von tud@ta@headdiff auf 0pt bei scrlayer notwendig? Wenn Kapitel auf +% gleicher Höhe wie Teile und Titel gesetzt werden sollen, wahrscheinlich +% schon, siehe tudscr-layer.dtx +% } +% \todo[v3.12]{% +% \env{tudpage}-Umgebung durch Seitenstil ersetzen, falls diese für die +% Satzspiegelumstellung überflüssig ist, wie mit den Optionen umgehen? +% } +% \todo[v3.12]{Inkompatibilität mit part und chapter beheben und aus doku raus} +% \begin{environment}{tudpage} +% Durch den hohen TUD-Kopf muss bei der Verwendung dessens das Seitenlayout +% temporär umgeschaltet werden, um die Höhe des Satzspiegels zu verringern. +% Dafür wird diese Umgebung definiert, welche genau diese Aufgabe übernimmt. +% Zu Beginn der Umgebung werden die weiter unten beschriebenen Optionen für +% diese Umgebung mit \cs{TUD@parameter@set} ausgeführt. Durch einen zuvor +% erzwungenen Seitenumbruch wird sichergestellt, dass mögliche Änderungen +% nur auf den \env{tudpage}-Seiten wirksam werden. Nach dem Beenden der +% Umgebung wird nache einem weiteren Seitenumbruch das Standardseitenlayout +% wiederhergestellt. Die gewünschte Sprache der Umgebung kann als einzelner +% Wert ohne Schlüssel angegben werden. +% \begin{macrocode} +\NewEnviron{tudpage}[1][]{% + \clearpage% + \setlength{\tud@ta@headdiff}{\z@}% + \TUD@parameter@set[tudpage]{#1}% + \tud@multicols@check% +% \end{macrocode} +% Sollte für den Fuß die Option des DDC-Logos gewählt worden sein, so wird das +% entsprechende Layout gewählt. +% \begin{macrocode} + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% +% \end{macrocode} +% Für die \env{abstract}-Umgebung wird der Seitenstil angepasst. +% \todo[v3.12]{wie und wo \cs{abstractpagestyle} definieren? Hier eher nicht} +% \begin{macrocode} +%% \ifstr{\abstractpagestyle}{empty}% +%% {\renewcommand*\abstractpagestyle{tudpage@empty}}% +%% {\renewcommand*\abstractpagestyle{tudpage@plain}}% +% \end{macrocode} +% Mit geändertem Satzspiegel kann schließlich auch der dazugehörige Seitenstil +% eingestellt werden. +% \begin{macrocode} + \pagestyle{tudpage@plain}% +% \end{macrocode} +% Falls das \pkg{multicol}-Paket geladen ist und eine Spaltenanzahl angegeben +% ist, wird die entsprechende Umgebung gesartet, mit \cs{BODY} der Inhalt der +% \env{tudpage}-Umgebung ausgegeben und anschließend gegebenenfalls die +% \env{multicols}-Umgebung beendet. +% \begin{macrocode} + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +% \end{macrocode} +% Am Ende der Umgebung wird der Satzspiegel auf normal zurückgesetzt und ein +% Seitenumbruch erzeugt, damit die Einstellungen auch wirksam werden. Dazu +% wird die Ausführung das Hilfsmakro \cs{@tempa} auf das Beenden der Umgebung +% mit \cs{aftergroup} verzögert. +% \todo[v3.12]{Umstellung auf pagestyle und entsprechenden Hooks aus scrlayer?} +% \begin{macrocode} +}[% + \gdef\@tempa{\loadgeometry{tudarea}}% + \aftergroup\@tempa% + \clearpage% +] +% \end{macrocode} +% \end{environment}^^A tudpage +% Im Folgenden werden die einzelnen Parameter für die \env{tudpage}"=Umgebung +% definiert. Mit \cs{TUD@parameter}\marg{Family}\marg{\dots} wird die +% Parameterfamilie festgelegt und anschließend die Definitionen getätigt. +% \todo[v3.12]{Parameter ddc (ddchead) und ddcfoot wie titelseite} +% \begin{macrocode} +\TUD@parameter{tudpage}{% +% \end{macrocode} +% \begin{parameter}{language} +% Mit diesem Parameter kann die Sprache in der Umgebung umgeschaltet werden. Die +% Sprache kann auch ohne den entsprechenden Schlüssel direkt als Parameter +% angegeben werden. +% \begin{macrocode} + \TUD@parameter@define{language}{\selectlanguage{#1}}% +% \end{macrocode} +% \end{parameter} ^^A language +% \begin{parameter}{columns} +% Hiermit kann die Anzahl der Spalten für die Umgebung angegeben werden. Für +% mehr als zwei Spalten muss das Paket \pkg{multicols} geladen werden. Die +% Spaltenanzahl kann auch ohne den entsprechenden Schlüssel direkt Parameter +% angegeben werden. +% \begin{macrocode} + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% +% \end{macrocode} +% \end{parameter} ^^A columns +% \begin{parameter}{color} +% \begin{parameter}{colour} +% Die \opt{color}"=Option ändert die Farbe von Schrift, Querbalken und im +% pdf\LaTeX-Modus auch die des TUD-Logos. Die im Anschluss daran aufgerufenen +% Befehle \cs{tud@ddc@sethead} bzw. \cs{tud@ddc@setfoot} führen zu einer evtl. +% notwendigen, automatischen Anpassung der Farbe der DDC-Logos +% \begin{macrocode} + \TUD@parameter@define{color}[HKS41]{% + \def\tud@head@color{#1}% + \tud@ddc@sethead% + \tud@ddc@setfoot% + }% + \TUD@parameter@let{colour}{color} +% \end{macrocode} +% \end{parameter}^^A colour +% \end{parameter}^^A color +% \begin{parameter}{widehead} +% Die Breite des Querbalkens kann ebenfalls geändert werden. +% \begin{macrocode} + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% +% \end{macrocode} +% \end{parameter}^^A widehead +% \begin{parameter}{head} +% Mit der Option \opt{head} kann das Logo für Dresden-Concept oder aber ein +% anderes, mit \cs{headlogo}\oarg{Optionsliste}\marg{Dateiname} gegebenes, als +% sekundäres Logo für den Kopf ausgewählt werden. +% \begin{macrocode} + \TUD@parameter@define{head}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{false}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{off}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{no}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@head{1}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{logo}{\def\tud@ddc@head{0}}{% + \ifstr{\@tempa}{cdfont}{\@tud@cdfontstrue}{% + \ifstr{\@tempa}{cdfonts}{\@tud@cdfontstrue}{% + \TUD@parameter@wrn{head}{false,ddc,ddccolor,logo,cdfont,cdfonts}% + }}}}}}}}}% + }% +% \end{macrocode} +% \end{parameter}^^A head +% \begin{parameter}{foot} +% Die Option \opt{foot} ermöglicht, den Fuß der \env{tudpage}"=Seite +% entweder leer oder aber mit dem DDC-Logo zu setzen. Der Wert des Schalters +% \cs{tud@ddc@foot} wird betrachtet, um die Fußzeile beim Setzen des +% DDC-Logos in der Höhe anzupassen. +% \begin{macrocode} + \TUD@parameter@define{foot}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{empty}{% + \def\tud@ddc@foot{0}% + \renewcommand*\@oddfoot{}% + \let\@evenfoot\@oddfoot% + }{% + \ifstr{\@tempa}{plain}{\def\tud@ddc@foot{0}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@foot{1}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \TUD@parameter@wrn{foot}{plain,empty,ddc,ddccolor}% + }}}}% + }% + }% +% \end{macrocode} +% \end{parameter}^^A foot +% \begin{parameter}{cdfont} +% \begin{parameter}{cdfonts} +% \begin{parameter}{tudfonts} +% Die Option \opt{cdfont} bzw. \opt{cdfonts} bestimmt, ob die Schriften des +% \CDs{} oder aber die standarmäßigen Serifenlosen für die Auszeichnugen in der +% Kopfzeile und Serifen im Inhalt verwendet werden. +% \begin{macrocode} + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% +% \end{macrocode} +% \end{parameter}^^A tudfonts +% \end{parameter}^^A cdfonts +% \end{parameter}^^A cdfont +% \begin{parameter}{logo} +% \begin{parameter}{headlogo} +% Das sekundäre Logo kann ebenfalls lokal geändert werden. +% \begin{macrocode} + \TUD@parameter@define{logo}[true]{\headlogo{#1}}% + \TUD@parameter@let{headlogo}{logo}% +% \end{macrocode} +% \end{parameter}^^A headlogo +% \end{parameter}^^A logo +% Für den Fall, dass ein Wert nicht in der Schlüssel"=Wert"=Notation gegeben +% wird, erfolgt eine Sonderbehandlung durch \cs{tud@environmenthandler}, bei der +% erst auf eine Zahl geprüft wird und anschießend versucht wird, das Argument +% als Sprache zu setzen. Nach der Definition aller Parameter wird der Befehl +% \cs{TUD@parameter} und damit auch die aktuelle Parameterfamilie beendet. +% \begin{macrocode} + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +% \end{macrocode} +% \todo[v3.12]{via \pkg{scrlayer}} +% \begin{macro}{\tud@ddc@sethead} +% Dieser Befehl wird nach der Optionswahl für die Option \opt{head} der +% \env{tudpage}"=Umgebung ausgeführt, um das ggf. gewünschte Logo für den +% Kopf auszuwählen. +% \begin{macrocode} +\newcommand*\tud@ddc@sethead{% + \ifcase \tud@ddc@head\relax\or% + \def\tud@head@@logo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@head@@logo{DDC-30}}{}% + \or% + \def\tud@head@@logo{DDC-09}% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@ddc@sethead +% \todo[v3.12]{via \pkg{scrlayer}} +% \begin{macro}{\tud@ddc@setfoot} +% \begin{macro}{\tud@foot@logo} +% Dieser Befehl wird nach der Wahl eines Logos über die Option \opt{foot} +% für die \env{tudpage}"=Umgebung ausgeführt, um dieses im Fuß zu setzen. +% \begin{macrocode} +\newcommand*\tud@foot@logo{} +\newcommand*\tud@ddc@setfoot{% + \ifcase \tud@ddc@foot\relax\or% + \def\tud@foot@logo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@foot@logo{DDC-28}}{}% + \or% + \def\tud@foot@logo{DDC-07}% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \renewcommand*\@oddfoot{% + \parbox[b]{\textwidth}{% + \hfill\includegraphics[height=\tud@dim@ddcheight]{\tud@foot@logo}% + }% + }% + \let\@evenfoot\@oddfoot% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@foot@logo +% \end{macro}^^A \tud@ddc@setfoot +% +% \iffalse +%</class&!option> +% \fi +% +% \Finale +% +\endinput diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx new file mode 100644 index 00000000000..88273271c83 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-supervisor.dtx @@ -0,0 +1,555 @@ +% \CheckSum{609} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-supervisor.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-supervisor.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (supervisors)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-supervisor.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Aufgabenstellung} +% +% Diese Paket stellt für die \cls{tudscr}-Klassen eine Umgebung für die +% Aufgabenstellung einer Abschlussarbeit bereit. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*package&header> +% \fi +% +% \subsection{Identifizierung des Pakets \pkg{tudscrsupervisor}} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrsupervisor}[\TUDVersion\space package (supervisors)] +\ifx\tudcls@name\undefined + \PackageError{tudscrsupervisor}{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +\fi +% \end{macrocode} +% +% \iffalse +%</package&header> +%<*package&body> +% \fi +% +% \subsection{Das Paket \pkg{tudscrsupervisor}} +% +% \begin{environment}{task} +% Die Umgebung für die Aufgabenstellung nutzt die \env{tudpage}-Umgebung. Sie +% wird auf einer neuen (rechten) Seite gesetzt. Es wird zu Beginn eine Tabelle +% mit Informationen zum Autor gesetzt. Zum Abschluss werden Betreuer, +% Hochschullehrer und ggf. Vorsitzender des Prüfungsausschusses ausgegeben. +% \begin{macrocode} +\newenvironment{task}[1][]{% +% \end{macrocode} +% Die \env{tudpage}-Umgebung wird geöffnet. Mit dem Parameter \opt{headline} +% kann die standardmäßige Überschrift überschrieben werden. Die Aufgabenstellung +% wird normal mit DDC-Logo im Fuß gesetzt. +% \begin{macrocode} + \cleardoubleoddpage% + \def\@headline{}% + \TUD@parameter{tudpage}{% + \TUD@parameter@define{headline}{\def\@headline{##1}}% + \TUD@parameter@let{line}{headline}% + \TUD@parameter@sethandler{\def\@headline{##1}}% + \TUD@parameter@set{foot=ddc}% + }% + \tudpage[#1]% +% \end{macrocode} +% Zu Beginn wird als erstes die Überschrift und~-- die entsprechende Option +% vorausgesetzt~-- im PDF einen Lesezeichen- oder auch Outline-Eintrag gesetzt. +% \begin{macrocode} + \tudbookmark{\taskname}{task}% + \subsection*{% + \ifx\@headline\@empty% + \taskname\space% + \ifx\tasktext\@empty\else\ifx\@thesis\@empty\else% + \ignorespaces\tasktext\space\trim@spaces{\@thesis}% + \fi\fi% + \else\@headline\fi% + }% + \tud@author@table% +}{% +% \end{macrocode} +% Da auch Betreuer durch den Befehl \cs{and} getrennt werden, wird dieser für +% die korrekte Ausgabe umdefiniert. Anschließend folgt die Ausgabe in einer +% Tabelle, die Spalte der Bezeichner entspricht der aus dem oberen Teil. +% \begin{macrocode} + \def\and{% + \tabularnewline% + \ifx\supervisorothername\@empty\else\supervisorothername\@titledelim\fi% + & \def\and{\tabularnewline &}% + }% + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi\medskip% + \begingroup% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \begin{tabular}{@{}p{\tud@dim@table}l@{}}% + \supervisorname\@titledelim & + \@supervisor\tabularnewline[\smallskipamount]% + \issuedatetext\@titledelim & \@issuedate\tabularnewline% + \duedatetext\@titledelim & \@duedate\tabularnewline% + \end{tabular}% +% \end{macrocode} +% Darunter wird etwas Platz für die Unterschriften von betreuendem Professor +% und ggf. Prüfungsausschussvorsitzenden gehalten. Auch diese beiden werden +% in einer Tabelle ausgegeben. Die \env{tudpage}-Umgebung wird beendet, und +% eine neue (rechte) Seite geöffnet. +% \begin{macrocode} + \vskip 15mm plus 10mm minus 10mm% + \ifx\@chairman\@empty\else% + \begin{tabular}{@{}l@{}}% + \@chairman\tabularnewline% + \chairmanname\tabularnewline% + \end{tabular}% + \hfill% + \fi% + \ifx\@professor\@empty\else% + \begin{tabular}{@{}l@{}}% + \@professor\tabularnewline% + \professorname\tabularnewline% + \end{tabular}% + \fi% + \par% + \endgroup% + \endtudpage% + \cleardoublepage% +} +% \end{macrocode} +% \end{environment}^^A task +% \begin{macro}{\taskform} +% Dies soll die Standardform einer Aufgabenstellung sein. Im ersten Argument +% werden kurz die Ziele motiviert und erläutert, im zweiten Argument werden im +% besten Fall die Schwerpunkte in einer \env{itemize}-Umgebung aufgeschlüsselt. +% \begin{macrocode} +\newcommand{\taskform}[3][]{% + \begin{task}[#1] + \vskip-\lastskip% + \ifxblank{#2}{}{% + \vspace*{-\parskip}% + \minisec{\objectivesname}% + #2% + }% + \ifxblank{#3}{}{% + \vspace*{-\parskip}% + \minisec{\focusname}% + \begin{itemize}\tud@RaggedRight% + #3 + \end{itemize}% + }% + \end{task}% +} +% \end{macrocode} +% \end{macro}^^A \taskform +% \begin{environment}{evaluation} +% Die Umgebung für das Gutachten nutzt ebenfalls die \env{tudpage}-Umgebung. Sie +% wird auf einer neuen (rechten) Seite gesetzt. Es wird zu Beginn eine Tabelle +% mit Informationen zum Autor gesetzt. Zum Abschluss werden Ort, Datum und +% Gutachter ausgegeben. +% \begin{macrocode} +\newenvironment{evaluation}[1][]{% +% \end{macrocode} +% Die \env{tudpage}-Umgebung wird geöffnet. Mit dem Parameter \opt{headline} +% kann die standardmäßige Überschrift überschrieben werden. Das Gutachten wird +% normalerweise mit DDC-Logo im Fuß gesetzt. Zu Beginn wird als erstes die +% Überschrift und~-- die entsprechende Option vorausgesetzt~-- im PDF einen +% Lesezeichen- oder auch Outline-Eintrag gesetzt. +% \begin{macrocode} + \cleardoubleoddpage% + \def\@headline{}% + \TUD@parameter{tudpage}{% + \TUD@parameter@define{headline}{\def\@headline{##1}}% + \TUD@parameter@let{line}{headline}% + \TUD@parameter@define{grade}{\def\@grade{##1}}% + \TUD@parameter@sethandler{\def\@headline{##1}}% + \TUD@parameter@set{foot=ddc}% + }% + \tudpage[#1]% + \tudbookmark{\evaluationname}{evaluation}% + \subsection*{% + \ifx\@headline\@empty% + \evaluationname\space% + \ifx\evaluationtext\@empty\else\ifx\@thesis\@empty\else% + \ignorespaces\evaluationtext\space\trim@spaces{\@thesis}% + \fi\fi% + \else\@headline\fi% + }% + \tud@author@table% +}{% +% \end{macrocode} +% Die gegebenen Note sowie Ort und Datum werden am Ende ggf. ausgegeben. +% \begin{macrocode} + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi% + \medskip% + \ifx\@grade\@empty\else% + \noindent\gradetext% + \vskip\bigskipamount% + \fi% + \ifx\@date\@empty\else% + \noindent% + \ifx\@place\@empty\else\@place,~\fi\@date% + \vskip\bigskipamount% + \fi% + \bigskip\bigskip\noindent% +% \end{macrocode} +% Der Befehl \cs{and} wird für einen möglichen Zweitgutachter angepasst. Das +% Hilfsmakro \cs{@tempa} dient zur Übernahme des richtigen Bezeichners für +% Erst- bzw. Zweitgutachter. Sollten mit \cs{referee} keine Gutachter angegeben +% sein, so werden die angegeben Betreuer verwendet. +% \begin{macrocode} + \ifx\@referee\@empty\let\@referee\@supervisor\fi% + \let\@tempa\refereename% + \def\and{% + \tabularnewline% + \@tempa% + \endtabular% + \hfill% + \tabular{@{}l@{}}% + \global\let\@tempa\refereeothername% + }% + \begin{tabular}{@{}l@{}}% + \@referee% + \tabularnewline% + \@tempa% + \end{tabular}% + \hfill\null% + \endtudpage% + \cleardoublepage% +} +% \end{macrocode} +% \end{environment}^^A evaluation +% \begin{macro}{\evaluationform} +% Dies soll die Standardform eines Gutachtens sein. Im ersten Argument wird kurz +% die Aufgabenstellung zusammengefasst, im zweiten Argument wird der Inhalt und +% die Struktur der Arbeit kurz beschrieben. Im dritten Argument erfolgt die +% Bewertung, das letzte Argument beinhaltet die Note. +% \begin{macrocode} +\newcommand{\evaluationform}[5][]{% + \begin{evaluation}[#1] + \vskip-\lastskip% + \ifxblank{#2}{}{% + \vspace*{-\parskip}% + \minisec{\taskname}% + #2% + }% + \ifxblank{#3}{}{% + \vspace*{-\parskip}% + \minisec{\contentname}% + #3% + }% + \ifxblank{#4}{}{% + \vspace*{-\parskip}% + \minisec{\assessmentname}% + #4% + }% + \ifxblank{#5}{}{\def\@grade{#5}}% + \end{evaluation}% +} +% \end{macrocode} +% \end{macro}^^A \evaluationform +% \begin{macro}{\tud@author@table} +% \begin{length}{\tud@dim@table} +% Der Befehl \cs{tud@author@table} dient zur Ausgabe einer Tabelle mit +% Informationen zum Autor/zu den Autoren\footnote{Matrikelnummer, Jahrgang, +% Studiengang etc.} für Aufgabenstellung und Gutachten. +% \begin{macrocode} +\newlength{\tud@dim@table}% +\newcommand*\tud@author@table{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% +% \end{macrocode} +% Der Befehl \cs{tud@split@@author} ist original aus den \cls{tudscr}-Klassen +% und dient zur formatierten Ausgabe von mehreren Autoren, welche durch +% \cs{author}\marg{Autor(en)} angegeben und mit \cs{and} getrennt wurden. +% Er wird hier auf die Ausgabe der Autoren mit den jeweils zusätzlich gegebenen +% Informationen in einer Tabelle angepasst. +% \begin{macrocode} + \renewcommand*\tud@split@@author[2]{% +% \end{macrocode} +% Weil alle Autoren in einer Tabelle gesetzt werden wird geprüft, welche Felder +% individuell via \cs{author} angegeben wurden. Damit die Tabellen die gleiche +% Höhe haben, auch wenn für einen Autor ein Feld ausgelassen wurde, werden alle +% insgesamt angegebenen Felder mit via \cs{tud@multiple@setfields} mit \cs{null} +% initialisiert. Anschließend werden für den aktuellen Autor angegebenen Felder +% gesetzt. +% \begin{macrocode} + \tud@multiple@setfields{\null}{##1}% +% \end{macrocode} +% Nach viel Geplänkel kommt nun die eigentliche Tabelle mit ggf. zusätzlichen +% Informationen zum Autor. +% \begin{macrocode} + \begin{tabular}{l@{}}% + \ifx\@course\@empty\else\@course\tabularnewline\fi% + \ifx\@branch\@empty\else\@branch\tabularnewline\fi% + \textsf{\textbf{\ignorespaces##1}}\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \@matriculationnumber\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \@matriculationyear\tabularnewline% + \fi% + \end{tabular}% +% \end{macrocode} +% Sollte ein weiterer Autor folgen, wird \cs{tabcolsep} zusätzlich eingefügt, +% um den Standardabstand bei Tabellen zu sichern, da die Tabelle vorher ohne +% rechten \glqq Rand\grqq{} gesetzt wurde, um die letzte Tabelle ggf. genau bis +% zum rechten Rand setzen zu können. +% \begin{macrocode} + \tud@multiple@@@split{##2}{~~\hspace{\tabcolsep}} + }% +% \end{macrocode} +% Zu Beginn wird eine Tabelle mit den Bezeichnern aller genutzten Feldern +% ausgegeben. Danach folgen alle Autoren. Damit ein einheitliches Layout +% entsteht und auch die Tabellen am Ende der Umgebung in der ersten Spalte die +% gleiche Breite haben wie im oberen Teil, ist die Bestimmung einer festen +% Spaltenbreite notwendig, die so breit wie der längste Bezeichner ist. +% Dafür muss festgestellt werden, welche optionalen Felder denn nun überhaupt +% genutzt werden. Dafür wird \cs{tud@multiple@setfields\{\cs{null}\}}\{\} +% aufgerufen, um alle potentiellen Felder erkennen zu können. +% \begin{macrocode} + \global\setlength{\tud@dim@table}{2em}% + \gdef\tud@multiple@field{@@author}% + \tud@multiple@setfields{\null}{}% +% \end{macrocode} +% Anschließend werden die Bezeichner sowohl der obligatorischen als auch der +% genutzten, optionalen Felder expandiert. Anschließend wir mit dieser Liste +% der längste bestimmt und in \cs{tud@dim@table} gespeichert. +% \begin{macrocode} + \edef\@tempa{% + \authorname,\titlename,\supervisorname,\supervisorothername,% + \issuedatetext,\duedatetext,% + \expandafter\ifx\@matriculationnumber\@empty\else% + \matriculationnumbername% + \fi,% + \expandafter\ifx\@matriculationyear\@empty\else% + \matriculationyearname% + \fi,% + \expandafter\ifx\@course\@empty\else\coursename\fi,% + \expandafter\ifx\@branch\@empty\else\branchname\fi,% + }% + \@for\@tempb:=\@tempa\do{% + \settowidth{\@tempdima}{\@tempb\@titledelim}% + \ifdim\@tempdima>\tud@dim@table\relax% + \global\setlength{\tud@dim@table}{\@tempdima}% + \fi% + }% +% \end{macrocode} +% Die Tabelle mit den benötigten Bezeichnern. Damit diese bis an den Seiterand +% ohne Warnungen gesetzt werden können, wird die Auszeichnung von Absatzenden +% aufgehoben. +% \begin{macrocode} + \begingroup% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \begin{tabular}{@{}p{\tud@dim@table}}% + \ifx\@course\@empty\else% + \coursename\@titledelim\tabularnewline% + \fi% + \ifx\@branch\@empty\else% + \branchname\@titledelim\tabularnewline% + \fi% + \authorname\@titledelim\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \matriculationnumbername\@titledelim\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \matriculationyearname\@titledelim\tabularnewline% + \fi% + \end{tabular}% +% \end{macrocode} +% Folgend werden die Autoren wie schon bei \cs{maketitle} mit den gleichen +% Makros gesplittet und separat ausgegeben. +% \begin{macrocode} + \tud@multiple@split{@@author}% +% \end{macrocode} +% Nach den Autoren wird der Titel über die komplette Textbreite ausgegeben. +% Danach wird der Inhalt der Aufgabenstellung ausgegeben. +% \begin{macrocode} + \vskip\smallskipamount% + \begin{tabular}{@{}p{\tud@dim@table}% + p{\dimexpr\textwidth-\tud@dim@table-2\tabcolsep\relax}@{}}% + \titlename\@titledelim & \tud@RaggedRight\textsf{\textbf{\@@title}}% + \end{tabular}% + \par% + \endgroup% + \ifdim\parskip>\z@\else\vskip\topsep\fi% + \endgroup% + \noindent\ignorespaces% +} +% \end{macrocode} +% \end{length}^^A \tud@dim@table +% \end{macro}^^A \tud@author@table +% \begin{macro}{\tud@author@checkfields} +% Der Befehl \cs{tud@author@checkfields} wird um die hier im Paket zusätzlich +% definierten Felder erweitert. +% \begin{macrocode} +\patchcmd{\tud@split@@author@list}{\authormore}% + {\authormore,\branch,\course,\discipline}{}{} +% \end{macrocode} +% \end{macro}^^A \tud@author@checkfields +% \begin{environment}{notice} +% Die Umgebung für Aushänge nutzt ebenfalls die \env{tudpage}-Umgebung. Sie wird +% auf einer neuen (rechten) Seite gesetzt. Die Überschrift wird in der +% Voreinstellung auf den sprachabhängigen Bezeichner \cs{noticename} gesetzt, +% welcher allerdings mit dem Parameter \opt{headline} überschrieben werden kann. +% \begin{macrocode} +\newenvironment{notice}[1][]{% + \cleardoubleoddpage% + \def\@headline{\noticename}% + \TUD@parameter{tudpage}{% + \TUD@parameter@define{headline}{\def\@headline{##1}}% + \TUD@parameter@let{line}{headline}% + \TUD@parameter@sethandler{\def\@headline{##1}}% + \TUD@parameter@set{foot=ddc}% + }% + \tudpage[#1]% + \tudbookmark{\noticename}{notice}% +% \end{macrocode} +% Es wird zu Beginn das angegebene Datum oben auf der rechten Seite ausgegeben. +% Anschließend wird die Überschrift und der gegebene Titel gesetzt. +% \begin{macrocode} + \ifx\@date\@empty\else% + \begingroup% + \vspace*{-\parskip}% + \vspace*{-2\baselineskip}% + \raggedleft + \@date\par% + \vspace*{-\parskip}% + \endgroup% + \fi% + \ifx\@headline\@empty\else% + \section*{\@headline}% + \fi% +}{% +% \end{macrocode} +% Wenn keine Kontaktperson direkt angegeben wurden, werden die Informationen der +% angegeben Betreuer verwendet. Wenn eine Personenangabe gefunden wurde, werden +% die Kontaktdaten ausgegeben. +% \begin{macrocode} + \ifx\@contact\@empty\let\@contact\@supervisor\fi% + \ifx\@contact\@empty\else% + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi% + \subsection*{\contactname}% + \noindent\tud@multiple@split{@contact}\hfill\null% + \fi% + \endtudpage% + \cleardoublepage% +} +% \end{macrocode} +% \end{environment}^^A notice +% \begin{macro}{\noticeform} +% Dies soll die Standardform eines Aushangs für eine Abschlussarbeit sein. Im +% ersten Argument wird kurz der Inhalt zusammengefasst, im zweiten Argument +% werden die Arbeitsschwerpunkte beschrieben. +% \begin{macrocode} +\newcommand{\noticeform}[3][]{% + \begin{notice}[#1] + \vskip-\lastskip% + \ifxblank{#2}{}{% + \ifx\@@title\@empty\else% + \vspace*{-\parskip}% + \minisec{\expandonce{\@@title}}% + \fi% + #2% + }% + \ifxblank{#3}{}{% + \vspace*{-\parskip}% + \minisec{\focusname}% + \begin{itemize}\tud@RaggedRight% + #3 + \end{itemize}% + }% + \end{notice}% +} +% \end{macrocode} +% \end{macro}^^A \noticeform +% \begin{macro}{\tud@split@contact} +% \begin{macro}{\tud@split@contact@list} +% Mit diesem Befehl werden für einen Aushang die Daten für einen oder mehrere +% Kontaktpersonen ausgegeben. +% \begin{macrocode} +\newcommand*\tud@split@contact[2]{% + \tud@multiple@setfields{\null}{#1}% + \begin{tabular}{@{}l@{}}% + \ignorespaces#1\tabularnewline% + \ifx\@office\@empty\else\@office\tabularnewline\fi% + \ifx\@phone\@empty\else\@phone\tabularnewline\fi% + \ifx\@email\@empty\else\@email\tabularnewline\fi% + \end{tabular}% + \tud@multiple@@@split{#2}{\hfill}% +} +\newcommand*\tud@split@contact@list{\office,\phone,\email} +% \end{macrocode} +% \end{macro}^^A \tud@split@contact@list +% \end{macro}^^A \tud@split@sontact +% +% \iffalse +%</package&body> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx new file mode 100644 index 00000000000..34972ab408b --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-title.dtx @@ -0,0 +1,1350 @@ +% \CheckSum{1230} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-title.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-title.dtx}% + [2014/04/24 v2.01 TUD-KOMA-Script (title)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-title.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Titelei} +% +% Die Titelseite wird sowohl für die Klassen als auch separat für das +% \pkg{titlepage}-Paket bereitgestellt. +% \todo[v3.12]{KOMA-Fonts für: titlehead, author, date, publishers, dedication; +% Serifenlose für alle Felder in tud@maketitle setzen, evtl. sowas wie +% renewkomafont für alle Schriften nutzen?! +% } +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*class&!option> +% \fi +% +% \subsection{Titelseite und Titelkopf} +% +% Für alle Klassen im \CD der Technischen Universität Dresden wird eine neue +% Titelseite und ein neuer Titelkopf bereitgestellt. Es werden eine monochrome +% Version, eine Version mit leichtem Farbeinsatz und eine durchweg farbige +% Version bereitgestellt Außerdem wird hier das Aussehen und die Position des +% Titels analog zu den Überschriften auf Teile- und Kapitelseiten festgelegt. +% +% \iffalse +%</class&!option> +%<*titlepage|class&option> +% \fi +% +% \begin{option}{subjectthesis} +% \begin{macro}{\if@tud@subjectthesis} +% \begin{macro}{\if@tud@subjectthesis@locked} +% Die alte \cls{tudbook}-Klasse hat den Typ der Arbeit in der Betreffzeile +% des Titels gesetzt. Um dieses Verhalten nachbilden zu können, wird diese +% Option zur Verfügung gestellt. +% \begin{macrocode} +%<*class> +\newif\if@tud@subjectthesis +\TUD@key@lock{subjectthesis}[true]{% + \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% +} +%</class> +%<*titlepage> +\FamilyBoolKey[TU-Dresden]{title}{subjectthesis}{@tud@subjectthesis} +%</titlepage> +% \end{macrocode} +% \end{macro}^^A \if@tud@subjectthesis@locked +% \end{macro}^^A \if@tud@subjectthesis +% \end{option}^^A subjectthesis +% +% \iffalse +%</titlepage|class&option> +%<*titlepage|class&!option> +% \fi +% +% \begin{KOMAfont}{thesis} +% \begin{KOMAfont}{tudscrtitle} +% \changes{v2.01}{2014/04/24}{% +% Fehlerkorrektur bei der Schriftstärke (\cs{mdseries@sf})% +% } +% Diese Font-Elemente werden auf der Titelseite verwendet. \opt{thesis}, um den +% Typ der Arbeit und ggf. den zu erlangenden akademischen Grad zu setzen. +% Allerdings kommt letzteres nur zum Tragen, wenn die Option \opt{subthesis} +% deaktiviert ist. Es wird die gleiche Schrift wie für den Titel verwendet, +% allerdings etwas kleiner. \opt{tudscrtitle} für alle Zusatzinformationen wie +% Autor, Datum etc. +% \begin{macrocode} +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{tudscrtitle}{% + \usekomafont{subject}% + \if@tud@univers\fontfamily{\tud@univers}\fi% + \fontseries{\mdseries@sf}\large% +} +% \end{macrocode} +% \end{KOMAfont}^^A titlepage +% \end{KOMAfont}^^A thesis +% \begin{macro}{\tud@color@titlefont} +% \begin{macro}{\tud@color@titlepage} +% \begin{macro}{\tud@color@titlehead} +% Die Makros werden für die Hintergrundfarbe der Titelseite sowie die Farbe +% der Schriften verwendet. +% \begin{macrocode} +%<*class> +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +%</class> +% \end{macrocode} +% \end{macro}^^A \tud@color@titlehead +% \end{macro}^^A \tud@color@titlepage +% \end{macro}^^A \tud@color@titlefont +% \begin{macro}{\tud@maketitle} +% \begin{macro}{\tud@titleback} +% Bei der entsprechend gewählten Layoutoption, wird eine neue Titelseite im \CD +% gesetzt. Damit auf das Standardverhalten von \KOMAScript{} zurückgestellt +% werden kann, wird der standardmäßige \cs{maketitle}-Befehl nur wenn notwendig +% überschrieben (siehe \cs{tud@layout@process}) und kann ggf. wiederhergestellt +% werden. Der Befehl selbst orientiert sich dabei in seiner Struktur an dem +% originalen \cs{maketitle}. Für die ggf. farbige Ausgabe der Titelrückseite +% wird das Hilfmakro \cs{tud@titleback} definiert. +% \begin{macrocode} +\newcommand*\tud@titleback{}% +%<*class> +\newcommand*\tud@maketitle[1][1]{% +%</class> +%<*titlepage> +\renewcommand*\makemaintitle{% +%</titlepage> +% \end{macrocode} +% Es wird durch die \KOMAScript-Option \opt{titlepage} unterschieden, ob eine +% Titelseite oder aber ein Titelkopf gesetzt werden soll. In Abhängigkeit davon +% werden Farben für die Schriften und den Seitenhintergrund sowie die +% Linienstärke des Querbalkens festgelegt. Hierfür wird die entsprechende +% Layoutoption ausgewertet und entsprechend dieser die Werte belegt. +% \begin{macrocode} +%<*class> + \if@titlepage% + \ifcase \tud@layout@title\relax\or\or% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \or% + \def\tud@color@titlepage{HKS41}% + \def\tud@color@titlefont{HKS41!30}% + \def\tud@color@titlehead{white}% + \fi% + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% + \fi% + \if@titlepage% +%</class> +% \end{macrocode} +% Die Titelseite. Es existieren die Optionen \opt{full} für eine vollständig +% farbige Seite sowie \opt{lite} für farbige Schriften und \opt{on} für +% den Standardtitel. +% \begin{macrocode} + \begin{titlepage}% +%<*class> +% Dieser Teil entspricht der Standarddefinition. Für das Setzen des Covers ist +% ein Großteil der Einstellungen irrelevant und wird übersrpungen. +% \begin{macrocode} + \if@tud@cover\else% + \setcounter{page}{#1}% +%</class> + \let\footnotesize\small% + \let\footnoterule\relax% + \let\footnote\thanks% + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark% + \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}% +% \end{macrocode} +% Das Paket \pkg{hyperref} definert im Normalfall die Fußnoten so um, dass es +% anklickbare Links erzeugt. Damit dies auf der Titelseite zu ungewollten +% Effekten führt, werden die Hyperlinks hier deaktiviert. Leider macht dies +% \pkg{hyperref} direkt beim Laden. Da diese Klasse aber nun mal zwei Titel +% bereitstellt und die Möglichkeit bestehen soll, dass Layout per später +% Optionswahl noch zu ändern, muss der interne Code aus \pkg{hyperref} hier +% noch einmal für den TUD-Titel aufgerufen werden. +% \begin{macrocode} +%<*class> + \tud@footnote@unhyper% +% \end{macrocode} +% Weiter im Text\dots +% \begin{macrocode} + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% +% \end{macrocode} +% Abhängig vom gewählten Fuß wird der entsprechende Satzspiegel für den +% eigentlichen Titel gewählt. +% \begin{macrocode} + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% +%</class> +% \end{macrocode} +% Das ganze Layout wird vertikal so verschoben, dass der Titel auf der gleichen +% Höhe steht wie die Überschriften auf Teil- und Kapitelseiten. +% \begin{macrocode} +%<*titlepage> + \tud@pagestyle% + \setlength{\tud@dim@headingsvskip}{% + \dimexpr\tud@dim@headsep+.1\textheight% + }% +%</titlepage> + \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}% +%<*class> + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% +%</class> +%<*titlepage> + \setlength{\parskip}{\z@}% + \setlength{\parindent}{\z@}% + \setlength{\parfillskip}{\z@\@plus 1fil}% +%</titlepage> + \linespread{1}\selectfont% +% \end{macrocode} +% Für das \pkg{titlepage}-Paket wird der TUD-Kopf direkt und nicht über den +% Seitenstil gesetzt. Außerdem wird ggf. die Schrift geändert. +% \begin{macrocode} +%<*titlepage> + \if@tud@cdfonts\else\usekomafont{titlepagefont}\fi% +%</titlepage> +% \end{macrocode} +% Damit die Farbeinstellungen der Schriften lokal begrenzt bleiben, wird dieser +% Teil des Titels in einer Gruppe (\cs{begingroup}) gesetzt. +% \begin{macrocode} + \begingroup% + \usekomafont{tudscrtitle}% +% \end{macrocode} +% Da die Überschrift auf einer festen Position liegen soll, muss von allem, was +% über der Überschrift positioniert werden soll, die Höhe bestimmt werden, um +% einen entsprechenden Offset einfügen zu können. Dafür werden zwei temporäre +% Standardboxen verwendet. In diesen wird der gewünschte Inhalt für die beiden +% Felder \cs{@titlehead} bzw. \cs{@subject} abgelegt und die sich daraus +% kumulierende Höhe in \cs{@tempdima} gespeichert. Vor dem Setzen der Felder +% kann nun der \textbf{insgesamt} notwendige vertikaler Freiraum vor dem +% eigentlichen Titel für \cs{@titlehead} \textbf{und} \cs{@subject} abgezogen +% werden. Anschließend werden die beiden Boxen ausgegeben und der Aufbau der +% Titelseite kann beginnen. +% \begin{macrocode} + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead\par\null% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0}% + \fi% +% \end{macrocode} +% Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll +% und kann. +% \begin{macrocode} + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}\@subject\par\null}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% +% \end{macrocode} +% Nachdem bereits \cs{@titlehead} und \cs{@subject} gesetzt worden, folgen nun +% die weiteren Felder wie vom \CD~-- mehr oder weniger~-- vorgegeben auf der +% Titelseite in unterschiedlichen Größen und Schriftstärken. +% \begin{macrocode} + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% +% \end{macrocode} +% Der Untertitel wird ggf. in der gleichen Schrift gesetzt wie der Titel, +% allerdings etwas kleiner. +% \begin{macrocode} + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \vskip 1ex% + \fi% +% \end{macrocode} +% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen. +% \begin{macrocode} + \vskip 1ex% + \tud@multiple@split{@@author}% + \vskip 2ex% +% \end{macrocode} +% Die Titelseite unterscheidet sich ein wenig, abhängig davon ob eine eine +% Abschlussarbeit gesetzt wird oder nicht. Falls dies nicht der Fall ist, +% dann wird das angegebene bzw. das heutige Datum und ggf. die Ergänzung +% ausgegeben. +% \begin{macrocode} + \ifx\@thesis\@empty% + \if@tud@cover\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@date\space\ignorespaces\@datemore}% + \vskip\z@\@plus2fill% + \fi% +% \end{macrocode} +% Ist eine Abschlussarbeit angegeben, so wird zusätzlich unterschieden, ob +% diese bereits~-- gesteuert durch die Option \opt{subjectthesis}~-- in der +% Betreffzeile angegeben wurde oder aber separat und in deutlicherer Form auf +% dem Titelblatt ausgegeben werden soll. Sowohl Arbeitstyp als auf akademischer +% Grad werden dabei im Verhältnis 2:3 zwischen allen weiteren Angaben auf dem +% Titel vertikal ausgerichtet. +% \begin{macrocode} + \else% + \vskip\z@\@plus2fill% + \begingroup% + \usekomafont{thesis}% + \if@tud@subjectthesis\else% + \tud@title@uppercase{\@thesis}% + \fi% +% \end{macrocode} +% Ebenfalls wird in Abhängigkeit von der Option \opt{subjectthesis} der +% angestrebte akademische Grad ausgegeben. +% \begin{macrocode} + \if@tud@cover\else% + \ifx\@degree\@empty\else% + \def\@tempc{% + \@degree% + \ifx\@degreeabbr\@empty\else\space\@degreeabbr\fi% + }% + \usekomafont{tudscrtitle}% + \if@tud@subjectthesis% + \degreetext% + \vskip 2ex% + \usekomafont{subject}% + \@tempc% + \else% + \vskip 2ex% + \degreetext% + \vskip 2ex% + \usekomafont{thesis}% + \tud@title@uppercase{\@tempc}% + \fi% + \vskip 3ex% + \fi% + \fi% + \endgroup% + \vskip\z@\@plus3fill% + \fi% +% \end{macrocode} +% Wenn Betreuer angegeben wurden, dann werden diese auf dem Titel ausgeben. Um +% die Vorlage auch für Dissertationen verwenden zu können, ist ein Feld für +% Gutachter vorgesehen. Außerdem wird für Promotionsschriften ein Feld für +% Fachreferenten bereitgehalten. Das Format der Ausgabe ist dabei identisch. +% Darauf folgend wird der betreuende Hochschullehrer ausgegeben. +% \begin{macrocode} + \if@tud@cover\else% + \tud@title@names{supervisor} + \tud@title@names{referee} + \tud@title@names{advisor} + \ifx\@professor\@empty\else% + \vskip 2ex% + \professorname% + \vskip .5ex% + {\usekomafont{subject}\@professor}% + \fi% +% \end{macrocode} +% Bei einer Abschlussarbeit gehört normalerweise auch ein Abgabedatum auf den +% Titel. Sollte keines angegeben sein, so erscheint eine Warnung. Es wird an +% Stelle dessen das angegebene Enddatum oder aber das heutige Datum verwendet. +% \begin{macrocode} + \ifx\@thesis\@empty\else% +%<*class> + \ifdefstring{\@date}{\today}{% +% \end{macrocode} +% Durch das Paket \pkg{tudscrtask} wird das zusätzliche Feld \cs{@duedate} +% definiert, welches hier ggf. für auf ein nutzbares Datum geprüft wird. +% \begin{macrocode} + \ifdefvoid{\@duedate}{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or + \string\date\space was not given.\MessageBreak% + Since a thesis is a self-contained work, an end\MessageBreak% + date should be specified by the author.\MessageBreak% + Nevertheless, today's date is used% + }% + }{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or \string\date\space + was not given. It's\MessageBreak% + substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% +%</class> + \ifx\@date\@empty\else% + \vskip 2ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}\@date% + \space\ignorespaces\@datemore% +% \end{macrocode} +% Zusätzlich kann noch ein Datum der mündlichen Verteidigung angegeben werden. +% \begin{macrocode} + \ifx\@defensedate\@empty\else\newline% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + \@defensedate% + \fi% + \fi% + \fi% + \fi% +% \end{macrocode} +% Zu guter Letzt können das Standard-Verlagsfeld befüllt sowie die zu Beginn +% geöffnete, schriftspezifische Gruppe beendet werden. +% \begin{macrocode} +%<*class> + \if@tud@cover\vskip\z@\@plus2fill\fi% +%</class> + \ifx\@publisher\@empty\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@publisher}% + \fi% + \endgroup% +% \end{macrocode} +% Die Rückseite des Titels wird~-- wie bei \KOMAScript~-- bloß bei zweiseitigem +% Satz ausgegeben. Für diese Klassen wird aufgrund der möglicherweise farbigen +% Rückseite das Hilfsmakro \cs{tud@titleback} benötigt. +% \begin{macrocode} + \let\tud@titleback\relax% + \if@twoside% + \@tempswatrue% + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty% + \@tempswafalse% + \fi\fi% + \if@tempswa% + \gdef\tud@titleback{% + \next@tpage% + \loadgeometry{tudarea}% + \begin{minipage}[t]{\textwidth}% + \@uppertitleback% + \end{minipage}\par% + \vfill% + \begin{minipage}[b]{\textwidth}% + \@lowertitleback% + \end{minipage}\par% + \@thanks\let\@thanks\@empty% + }% + \fi% + \fi% +% \end{macrocode} +% Es werden Schriftart, abhängig von der Option \opt{heavyfont} auch die +% Schriftstärke, Farbe der Seite und des Kopfes sowie die Linienstärke +% des Querbalkens und die DDC-Logos aus den Einstellungen übernommen. +% \begin{macrocode} +%<*titlepage> + \addtokomafont{title}{\Huge\dinbn}% + \addtokomafont{subtitle}{\Large\dinbn}% + \addtokomafont{subject}{\fontfamily{\tud@font}\selectfont}% + \addtokomafont{tudscrtitle}{\fontseries{\mddefault}\selectfont}% + \addtokomafont{pagenumber}{\fontseries{\mddefault}\selectfont}% + \addtokomafont{footnote}{\fontseries{\mddefault}\selectfont}% +%</titlepage> +%<*class> + \def\@tempa{% + \tud@pagecolor{\tud@color@titlepage}% + \def\tud@head@color{\tud@color@titlehead}% + \color{\tud@color@titlefont}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% + \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \ifnum\tud@ddc@head>0\tud@ddc@sethead\fi% + \ifnum\tud@ddc@foot>0\tud@ddc@setfoot\fi% +% \end{macrocode} +% Der Satzspiegel wird für die Verwendung des \env{tudpage}-Seitenstils +% für den gewünschten Seitenstil angepasst. +% \todo[v3.12]{durch scrlayer} +% \begin{macrocode} + \ifnum\tud@ddc@foot=\z@\relax% + \thispagestyle{tudpage@empty}% + \else% + \thispagestyle{tudpage@plain}% + \fi% + }% +% \end{macrocode} +% Bei der Ausgabe des Covers werden lediglich die Farb- und Schriftdefinitionen +% benötigt, die Seite kann danach beendet werden. +% \begin{macrocode} + \if@tud@cover% + \begingroup% + \@tempa% + \cleardoubleemptypage% + \tud@restorepagecolor% + \endgroup% + \else% +% \end{macrocode} +% Beim Titel selbst muss noch ausgewertet werden, wie die Rückseite zu +% gestalten ist. Sollte als Klassenoption das strikte Beginnen aller Teile +% oder Kapitel auf einer rechten Seite aktiviert sein (\opt{open=right}) und +% zusätzlich bei farbigem \CD auch die Rückseiten farbig geleert werden, so +% erfolgt dies auch für die Titelseite. +% Die Klasse \cls{tudscrartcl} setzt lediglich die Titelseite farbig, die +% Rückseite niemals. +% \begin{macrocode} +%<*book|report> + \tud@cleardoublespecialpage[\tud@titleback]{% +%</book|report> +%<*article> + \begingroup% +%</article> + \@tempa% + \@thanks\global\let\@thanks\@empty% + \clearpage% + \ifx\@dedication\@empty\else\thispagestyle{empty}\fi% + \loadgeometry{tudarea}% +%<*article> + \tud@restorepagecolor% + \endgroup% + \tud@titleback% +%</article> +%<*book|report> + }% + \loadgeometry{tudarea}% +%</book|report> +% \end{macrocode} +% Die Danksagung ist identisch zu \KOMAScript. +% \begin{macrocode} + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\Large\@dedication\par}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% +%</class> + \end{titlepage}% +% \end{macrocode} +% Der normale Satzspiegel wird wieder eingestellt und etwas aufgeräumt. +% \begin{macrocode} +%<*class> + \loadgeometry{tudarea}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% +% \end{macrocode} +% Zum Schluss wird rückgängig gemacht, wozu \pkg{hyperref} zuvor genötigt hat. +% \begin{macrocode} + \tud@footnote@rehyper% + \fi% +% \end{macrocode} +% Neben einer kompletten Titelseite gibt es auch noch einen Titelkopf. +% \todo[v3.12]{% +% Der Titelkopf. Es existiert lediglich eine farbige Variante, welche sowohl +% für die Optionen \opt{full} als auch \opt{lite} verwendet wird. Der +% Titelkopf selber wird mit dem TUD-Kopf gesetzt; Seitenstil über scrlayer; +% \url{http://www.golatex.de/viewtopic,p,49609.html} +% } +% \begin{macrocode} + \else% +% ^^A \loadgeometry{tudpage} +% ^^A \ifstr{\titlepagestyle}{empty}% +% ^^A {\renewcommand*\titlepagestyle{tudpage@empty}}% +% ^^A {\renewcommand*\titlepagestyle{tudpage@plain}}% +% \end{macrocode} +% Um einen zweispaltigen Satz wie in \KOMAScript{} für den Titelkopf +% ermöglichen zu können, wird einfach der Originalbefehl verwendet und nur der +% innere Teil (\cs{@maketitle}) angepasst und anschließend der gesicherte +% Befehl genutzt. +% \begin{macrocode} + \let\@maketitle\tud@@maketitle% + \tud@cmd@use{maketitle}[#1]% + \fi% +%</class> +} +% \end{macrocode} +% \end{macro}^^A \tud@titleback +% \end{macro}^^A \tud@maketitle +% Der Befehle \cs{thanks} wird mit \cs{robustify} behandelt, um das Makro für +% vor dem Expandieren zu schützen. Dies ist z.\,B. für \cs{tud@multiple@split} +% aber auch für weitere Felder auf dem Titel nötig. +% \begin{macrocode} +\robustify{\thanks}% +% \end{macrocode} +% \begin{macro}{\tud@title@uppercase} +% Für das Setzen einzelner Felder in Majuskeln werden diese beiden Befehle +% definiert. Bei der Verwendung des Befehls \cs{thanks} auf der Titelseite soll +% sichergestellt werden, dass der Inhalt selbst nicht in Majuskeln gesetzt wird. +% \begin{macrocode} +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% +% \end{macrocode} +% Der Befehl \cs{thanks} wird so umdefiniert, dass der Inhalt in ein temporäres +% Makro gespeichert wird. Danach wird durch das Setzen einer temporären Box der +% Befehl \cs{thanks} ausgeführt und der Inhalt gesichert. Für die Ausführung von +% \cs{tud@makeuppercase} wird das Argument von \cs{thanks} ignoriert. Nachdem +% das gewünschte Feld in Majuskeln gesetzt wurde, wird die gespeicherte Fußnote +% ausgegeben. +% \begin{macrocode} + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@uppercase +% \begin{macro}{\tud@title@names} +% Dieser Befehl dient zur getrennten Ausgabe von mehreren, mit dem Makro +% \cs{and} separierten Einträgen in den Feldern \cs{@supervisor}, \cs{@referee} +% und \cs{@advisor}. +% \begin{macrocode} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1} + \ifx\@tempa\@empty\else% + \begingroup% + \def\and{% + \letcs\@tempa{#1othername} + \ifx\@tempa\@empty% + \newline% + \else% + \begingroup% + \usekomafont{tudscrtitle}% + \vskip 1ex% + \@nameuse{#1othername}% + \vskip .5ex% + \endgroup% + \fi% + \def\and{\newline}% + }% + \vskip 2ex% + \@nameuse{#1name}% + \vskip .5ex% + \usekomafont{subject}% + \@nameuse{@#1}% + \endgroup% + \fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@names +% \begin{macro}{\titledelimiter} +% \begin{macro}{\@titledelim} +% Dieses Makro wird für das Trennzeichen auf der Titelseite genutzt. +% \begin{macrocode} +\newcommand*\@titledelim{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} +% \end{macrocode} +% \end{macro}^^A \@titledelim +% \end{macro}^^A \titledelimiter +% +% \iffalse +%<*class> +% \fi +% +% \begin{macro}{\tud@@maketitle} +% Der eigentliche Befehl für einen Titelkopf (\opt{titlepage=no}). +% \begin{macrocode} +\newcommand*\tud@@maketitle{% +% \end{macrocode} +% Ab der \KOMAScript-Version 3.11c gibt es mit \cs{@makeextratitle} einen +% neuen, separaten Befehl für das Feld \cs{@extratitle}. Falls eine frühere +% Version verwendet wird, muss der Extratitel hier mit \cs{tud@extratitle} +% gesetzt werden. +% \todo[v3.12]{\cs{tud@extratitle} raus} +% \begin{macrocode} + \next@tdpage% + \vspace*{\tud@dim@headingsvskip}% + \tud@extratitle% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \linespread{1}\selectfont% +% \end{macrocode} +% Damit die Farbeinstellungen der Schriften lokal begrenzt bleiben, wird dieser +% Teil des Titels in einer Gruppe (\cs{begingroup}) gesetzt. +% \begin{macrocode} + \begingroup% + \usekomafont{tudscrtitle}% +% \end{macrocode} +% Jetzt kommt wieder ein Teil in Anlehnung an das Original. Die Felder +% \cs{@titlehead}, \cs{@subject}, \cs{@title} und \cs{@subtitle} werden +% ausgegeben. +% \begin{macrocode} + \ifx\@titlehead\@empty\else% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead% + \end{minipage}\newline\null\par% + \fi% +% \end{macrocode} +% Erkennen, ob in der Betreffzeile eine Abschlussarbeit ausgegeben werden soll +% und kann. Bei einem Titelkopf ist nur diese Variante möglich. +% \begin{macrocode} + \TUDoptions{subjectthesis}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + {\usekomafont{subject}\@subject\par\null}% + \fi% + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \fi% + \vskip 1ex% +% \end{macrocode} +% Ausgabe eines Autors oder mehrerer Autoren ggf. mit Zusatzinformationen. +% \begin{macrocode} + \tud@multiple@split{@@author}% +% \end{macrocode} +% Ausgabe von Datum, Verlag und Danksagung wie im Original. +% \begin{macrocode} + \vskip 1ex% + \@date% + \ifx\@publisher\@empty\else% + \vskip 1ex% + \@publisher% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex% + \begin{center}% + \@dedication\par% + \end{center}% + \fi% + \vskip 2ex% +% \end{macrocode} +% Falls Felder genutzt wurden, die nur auf der Titelseite, nicht aber im +% Titelkopf ausgegeben werden, dann wird eine Warnung ausgegeben. +% \begin{macrocode} + \ifx\@degree\@empty\else\tud@title@wrn{degree}\fi% + \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi% + \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% + \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \tud@@maketitle +% +% \iffalse +%</class> +% \fi +% +% Es wird die Angabe einer kollaborativen Autorenschaft ermöglicht, wo für +% jeden einzelnen Autor weitere Angaben (Matrikelnummer etc.) gemacht werden +% können. Hierfür ist eine spezielle Art der Eingabe im Dokument notwendig. +% Die folgenden Befehle finden für den \pkg{titlepage}-Stil ebenfalls Verwendung. +% \begin{macro}{\tud@multiple@split} +% \begin{macro}{\tud@multiple@@split} +% \begin{macro}{\tud@multiple@@@split} +% \begin{macro}{\tud@multiple@field} +% Mehrere Autoren werden durch \cs{and} voneinander getrennt. Damit alle +% zusätzlichen Felder für alle Autoren einzeln nutzbar sind, muss der Inhalt +% des Feldes \cs{@@author} an jedem \cs{and}-Befehl getrennt und für jeden Teil +% separat ausgewertet. Dafür wird der Befehl \cs{tud@multiple@@split} definiert, +% welcher allgemein gehalten ist um diesen auch für andere Felder nutzen zu +% können. Das obligatorische Argument ist dabei das Feld mit dem auszuwertenden +% Inhalt, der jeweils an \cs{and} getrennt werden soll. Dieses wird in +% \cs{tud@multiple@field} gespeichert. +% \begin{macrocode} +\newcommand*\tud@multiple@field{} +\newcommand*\tud@multiple@split[1]{% + \gdef\tud@multiple@field{#1}% + \begingroup% + \let\and\relax% +% \end{macrocode} +% Das Feld wird mit \cs{and} terminiert, um der Definition von +% \cs{tud@multiple@@split} in jedem Fall zu entsprechen. +% \begin{macrocode} + \edef\@tempa{\csname#1\endcsname\and}% + \expandafter\endgroup% + \expandafter\tud@multiple@@split\@tempa\relax% +} +% \end{macrocode} +% Das Makro \cs{tud@multiple@@split} wird so definiert, dass der Befehl \cs{and} +% als Separator für die einzelnen Argumente dient. Mit den beiden freigestellten +% Argumenten kann das Makro zur eigentlichen Ausgabe aufgerufen werden, welches +% aus dem gegebenen Feld (\cs{tud@multiple@field}) konstruiert wird +% (\cs{tud@split\meta{Feld}}). An dieses wird der jeweils aktuelle Autor im +% ersten Argument und die restlichen im zweiten Argument übergeben. +% \begin{macrocode} +\newcommand*\tud@multiple@@split{}% +\def\tud@multiple@@split#1\and#2\relax{% + \expandafter\csname tud@split\tud@multiple@field\endcsname{#1}{#2}% +} +% \end{macrocode} +% Der Befehl \cs{tud@multiple@@@split} prüft zum Schluss, ob noch weitere +% Autoren angegeben sind. Sollte dies der Fall sein, so wird der Inhalt des +% zweiten Argumentes ausgeführt und \cs{tud@multiple@@split} ein weiteres Mal +% aufgerufen, um so sequentiell alle Autoren abzuarbeiten. Dafür muss +% \cs{tud@multiple@@@split} innerhalb des verarbeitenden Makro +% (\cs{tud@split\meta{Feld}}) aufgerufen werden. +% \begin{macrocode} +\newcommand*\tud@multiple@@@split[2]{% + \ifx\relax#1\relax% + \def\@tempb{}% + \else% + \def\@tempb{#2\tud@multiple@@split#1\relax}% + \fi% + \@tempb% +} +% \end{macrocode} +% \end{macro}^^A \tud@multiple@field +% \end{macro}^^A \tud@multiple@@@split +% \end{macro}^^A \tud@multiple@@split +% \end{macro}^^A \tud@multiple@split +% \begin{macro}{\tud@multiple@setfields} +% Der Befehl \cs{tud@multiple@setfields}\marg{Initialisierung}\marg{Teilinhalt} +% wird verwendet, um innerhalb des Feldes \cs{@tud@multiple@field} zu prüfen, ob +% sich darin bestimmte Befehle aus \cs{tud@split\\meta{Feld}@list} zum Setzen +% zusätzlicher Informationen befinden. Sollte dies der Fall sein, so werden +% diese mit \meta{Initialisierung} initialisiert. Anschließend wird der +% übergebene Teilinhalt mit \cs{setbox0}\cs{vtop}\marg{\#1} in eine Box +% expandiert. Dieser Trick führt dazu, dass die Felder bereits gesetzt werden, +% ohne eine Ausgabe zu erzeugen. +% \begin{macrocode} +\newcommand*\tud@multiple@setfields[2]{% + \letcs\@tempa{tud@split\tud@multiple@field @list}% + \let\and\relax% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \begingroup% + \@expandtwoargs\in@{\@tempb}{\csname\tud@multiple@field\endcsname}% + \ifin@ \@tempb{#1}\fi% + \endgroup% + \fi% + }% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \setbox0\vtop{#2}% + \endgroup% +} +% \end{macrocode} +% \end{macro}^^A \tud@multiple@setfields +% \begin{macro}{\tud@split@@author} +% \begin{macro}{\tud@split@@author@list} +% \begin{macro}{\tud@newline} +% Das Makro \cs{tud@split@@author} dient der formatierten Ausgabe aller +% Informationen für mehrere Autoren auf der Titelseite. +% \begin{macrocode} +\newcommand*\tud@newline{} +\newcommand*\tud@split@@author[2]{% +% Zu Beginn werden alle Felder, welche innerhalb des \meta{Feld}-Argumentes +% angegeben sind, initial gelöscht (erstes Argument \cs{tud@multiple@setfields}) +% Anschließend werden die Felder des aktuellen Teils gefüllt (zweites Argument +% \cs{tud@multiple@setfields}). +% \begin{macrocode} + \tud@multiple@setfields{}{#1}% +% \end{macrocode} +% Um die Abstände definiert zu setzen, wird \cs{tud@newline} verwendet. Sobald +% auch nur eine zusätzliche Information ausgegeben werden soll, wird ein etwas +% kleiner Abstand eingefügt. Anschließend wird jede Information einfach in +% einer neuen Zeile ausgegeben. +% \begin{macrocode} + \def\tud@newline{\vskip .5ex\let\tud@newline\newline}% +% \end{macrocode} +% Die Felder \cs{@author} und ggf. \cs{@authormore} werden sowohl auf der +% Titelseite als auch im Titelkopf ausgegeben. +% \begin{macrocode} + \begingroup% + \usekomafont{subject}% + \ignorespaces#1% + \endgroup% + \ifx\@authormore\@empty\else% + \tud@newline% + \@authormore% + \fi% +% \end{macrocode} +% Nur auf der Titelseite erfolgt die Ausgabe von Geburtsdatum, Geburtsort, +% Matrikelnummer und Immatrikulationsjahr. Sollte ein Titelkopf verwendet +% werden, so wird für jedes gesetzte Feld eine Warnung ausgegeben. +% \begin{macrocode} + \ifx\@dateofbirth\@empty\else% +%<*class> + \if@titlepage% +%</class> + \tud@newline% + \ifstr{\dateofbirthtext}{}% + {}{\dateofbirthtext\@titledelim}\@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \space\placeofbirthtext\unskip\space\@placeofbirth% + \fi% +%<*class> + \else% + \tud@title@wrn{dateofbirth}% + \fi% +%</class> + \fi% + \ifx\@matriculationnumber\@empty\else% +%<*class> + \if@titlepage% +%</class> + \tud@newline% + \ifstr{\matriculationnumbername}{}% + {}{\matriculationnumbername\@titledelim}% + \@matriculationnumber% +%<*class> + \else% + \tud@title@wrn{matriculationnumber}% + \fi% +%</class> + \fi% + \ifx\@matriculationyear\@empty\else% +%<*class> + \if@titlepage% +%</class> + \tud@newline% + \ifstr{\matriculationyearname}{}% + {}{\matriculationyearname\@titledelim}% + \@matriculationyear% +%<*class> + \else% + \tud@title@wrn{matriculationyear}% + \fi% +%</class> + \fi% +% \end{macrocode} +% Durch den Aufruf von \cs{tud@multiple@@@split} wird das übergebene \meta{Feld} +% sukzessive abgearbeitet. +% \begin{macrocode} + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +% \end{macrocode} +% Innerhalb von \cs{tud@split@@author@list} werden die Feldbefehle hinterlegt, +% die durch \cs{tud@multiple@setfield} geprüft und ggf. initialisert werden +% sollen. +% \begin{macrocode} +\newcommand*\tud@split@@author@list{% + \authormore,\matriculationyear,\enrolmentyear,% + \matriculationnumber,\studentid,\matriculationid,% + \placeofbirth,\birthplace,\dateofbirth,\birthday,% +} +% \end{macrocode} +% \end{macro}^^A \tud@newline +% \end{macro}^^A \tud@split@@author@list +% \end{macro}^^A \tud@split@@author +% +%\iffalse +%<*class> +%\fi +% +% \begin{macro}{\maketitleonecolumn} +% \begin{macro}{\@maketitleonecolumn} +% \begin{macro}{\@longtwocolumn} +% \begin{macro}{\@longtwocolumnbox} +% Zum Setzen eines einspaltigen Titels mit einspaltiger Zusammenfassung bei +% einem Titelkopf~-- dank der Hilfe von Markus Kohm\footnote{% +% \url{http://www.komascript.de/node/1699}} +% +% Der Befehl \cs{maketitleonecolumn}\oarg{Seitenzahl}\oarg{Inhalt} kann bei +% zweispaltigem Satz dazu genutzt werden, einen einspaltigen Titel zu bekommen. +% Beim der Verwendung einer Titelseite wird lediglich der Titel sowie +% anschließend ggf. \meta{Inhalt} einspaltig ausgegeben. Beim Satz eines +% Titelkopfes wird der Befehl \cs{@longtwocolumn} zur Ausgabe genutzt. +% \begin{macrocode} +\newcommand\maketitleonecolumn[1][1]{% +% \end{macrocode} +% Da beide Argumente optional sind, wird zuerst getestet, ob das erste optionale +% Argument ein numerischer Ausdruck ist oder nicht. Sollte dies der Fall sein, +% wird ggf. das zweite optionale Argument als \meta{Inhalt} eingelesen. Sonst +% ist bereits das erste optional Argument der \meta{Inhalt}. +% \begin{macrocode} + \ifxnumber{#1}{% + \@ifnextchar[%] + {\@maketitleonecolumn{#1}}{\@maketitleonecolumn{#1}[]}% + }{\@maketitleonecolumn{1}[#1]}% +} +% \end{macrocode} +% Hier erfolgt die Unterscheidung der Ausgabe, abhängig von der Option +% \opt{titlepage}. +% \begin{macrocode} +\newcommand\@maketitleonecolumn{} +\long\def\@maketitleonecolumn#1[#2]{% + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn\noindent#2\twocolumn% + \else% + \@longtwocolumn[{\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + \string\maketitleonecolumn\space can only be used in twocolumn mode% + }{}% + \fi% +} +% \end{macrocode} +% Hier erfolgt die Verarbeitung des Inhaltes des Titelkopfes, welcher einspaltig +% gesetzt werden soll. Damit sich dieser auch über mehrere Seiten erstrecken +% kann, wird mit einer Box gearbeitet. +% \begin{macrocode} +\newsavebox\@longtwocolumnbox +\newcommand\@longtwocolumn[1][]{% +% \end{macrocode} +% Zunächst wird auf einseitigen Satz umgeschaltet. Der zu schreibende Inhalt +% wird in einer Box gespeichert. Während des Zusammenbaus der Box sind keine +% expliziten \cs{newpage}- oder \cs{clearpage}-Befehle erlaubt. +% \begin{macrocode} + \onecolumn% + \begingroup% + \let\clearpage\relax% + \let\newpage\relax% + \global\setbox\@longtwocolumnbox\vbox{#1\bigskip}% + \endgroup% +% \end{macrocode} +% Jetzt werden so lange einzelne Seiten ausgeben, bis der Rest der Box kleiner +% als eine Seite ist. Dabei sollen für das Zerteilen der Box dieselben +% Rahmenbedingungen für den Seitenaufbau gelten, wie auch im normalen Dokument. +% \begin{macrocode} + \@whiledim\textheight<\ht\@longtwocolumnbox\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\@longtwocolumnbox to \textheight\clearpage% + }% +% \end{macrocode} +% Der Rest wir einfach als optionales Argument von \cs{twocolumn} ausgegeben. +% \begin{macrocode} + \twocolumn[\unvbox\@longtwocolumnbox]% +} +% \end{macrocode} +% \end{macro}^^A \@longtwocolumnbox +% \end{macro}^^A \@longtwocolumn +% \end{macro}^^A \@maketitleonecolumn +% \end{macro}^^A \maketitleonecolumn +% +% \iffalse +%</class> +% \fi +% +% \begin{macro}{\tud@letsubjectthesis} +% Bei der Verwendung der Option \opt{subjectthesis} wird zum einen geprüft, ob +% das Feld \cs{@thesis} gesetzt ist und zum anderen, ob das Feld \cs{@subject} +% auch leer ist. +% \begin{macrocode} +\newcommand*\tud@letsubjectthesis{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% +%<*class> + \ClassWarning{\tudcls@name}{% +%</class> +%<*titlepage> + \PackageWarning{titlepage}{% +%</titlepage> + The option 'subjectthesis' was activated.\MessageBreak% + The field 'subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +% \end{macrocode} +% \end{macro}^^A \tud@letsubjectthesis +% +%\iffalse +%<*class> +%\fi +% +% \begin{macro}{\tud@title@wrn} +% Bei der Nutzung eines Titelkopfes wird bloß eine reduzierte Menge an +% Informationen ausgegeben. Darauf wird der Anwender ggf. hingewiesen. +% \begin{macrocode} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\tudcls@name}{% + \@backslashchar#1\space has to be used with\MessageBreak% + activated titlepage option% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@title@wrn +% \todo[v3.12]{\cs{tud@extratitle} raus, \cs{maketitle} beachten/anpassen} +% \begin{macro}{\tud@extratitle} +% Ab der \KOMAScript-Version 3.11c gibt es für das Feld \cs{extratitle} einen +% separaten Befehl. Für frühere Versionen wird folgendes Makro definiert. +% \begin{macrocode} +\ifdef{\@makeextratitle}{% + \let\tud@extratitle\relax% +}{% + \newcommand*\tud@extratitle{% + \let\footnote\thanks% + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% + }% +} +% \end{macrocode} +% \end{macro}^^A \tud@extratitle +% Für die Titelseite wird der Befehl zum zweimaligen Seitenumbruch genutzt. +% \todo[v3.12]{\cs{next@tdpage} raus} +% \begin{macrocode} +\providecommand*\next@tdpage{% + \next@tpage% + \if@twoside\ifodd\value{page}\else% + \null\next@tpage% + \fi\fi% +}% +% \end{macrocode} +% +% \subsection{Cover} +% +% Zusätzlich zum eigentlichen Titel kann eine Umschlagseite ausgegeben werden. +% \todo[v3.12]{% +% \KOMAScript{} definiert den neuen Schlüssel \texttt{firstiscover} für die +% Option \texttt{titlepage}. Das muss irgendwie so verwurstet werden, dass +% \cs{makecover} aufgerufen wird. Außerdem überlegen, wie \cs{makecover} mit +% dem Parameter \texttt{cd=no} zu definieren ist. Neue Klassenoption cdcover? +% } +% \begin{macro}{\makecover} +% \begin{macro}{\if@tud@cover} +% Der Befehl ist für ein Cover bei einem gebundenen Werk zu verwenden. +% \begin{macrocode} +\newif\if@tud@cover +\newcommand*\makecover[1][]{% +% \end{macrocode} +% Der Befehl verwendet das Layout des Titels im \CD. Allerdings werden nicht +% alle sondern nur für ein Cover relavante Angaben ausgegeben. +% \begin{macrocode} + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \let\tud@multiple@setfields\@gobbletwo% +% \end{macrocode} +% Weil genügend Platz auf der Cover-Seite ist, werden die Autoren etwas tiefer +% auf dem Cover gesetzt. +% \begin{macrocode} + \pretocmd{\tud@multiple@split}{\vskip\z@\@plus0.5fill}{}{}% + \let\@authormore\@empty% + \let\@dateofbirth\@empty% + \let\@matriculationnumber\@empty% + \let\@matriculationyear\@empty% +% \end{macrocode} +% Die Erscheinung des Covers lässt sich durch wenige Optionen etwas anpassen. +% Standardmäßig ist das Cover farblos, die farbige Darstellung kann durch Option +% gewählt werden. Außerdem wird normalerwe ein Layout erzeugt, welches sich +% genau an die Vorgaben des \CDs hält und außerdem die Binderandkorrektur +% \emph{nicht} beachtet. Optional kann das Cover im Satzspiegel erstellt werden. +% Zuletzt ist die Verwendung der Schriften des \CDs deaktivierbar. +% \begin{macrocode} + \TUD@parameter@set[cover]{cd,cdfonts,cdlayout=true,#1}% +% \end{macrocode} +% Der Schalter \cs{if@tud@cover} wird hier durch die Option \opt{cdlayout} +% gesetzt und ist verantwortlich dafür, ob das Layout des Covers dem des +% Satzspiegels entspricht, oder aber strikt dem \CD folgt. +% \begin{macrocode} + \if@tud@cover@cdlayout% + \newgeometry{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both,% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% + \else% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% +% \end{macrocode} +% Weil bereits die Titelseite normalerweise die Seitenzahl eins bekommt, kann es +% bei der Verwendung des Paketes \pkg{hyperref} zu einer Warnung aufgrund der +% doppelt verwendeten Seitenzahl kommen. Um dies zu verhindern, werden die +% Seitenanker für das Cover deaktiviert. +% \begin{macrocode} + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% +% \end{macrocode} +% Die Ausgabe des Covers. Der Schalter \cs{if@tud@cover} wird innerhalb des +% Befehles \cs{tud@maketitle} genutzt, um die Unterscheidung zu machen, ob es +% sich bei der aktuellen Ausgabe um das Cover oder aber die Titelseite handelt. +% \begin{macrocode} + \@tud@covertrue + \@titlepagetrue% + \tud@maketitle% + \endgroup% + \loadgeometry{tudarea}% +} +% \end{macrocode} +% \end{macro}^^A \if@tud@cover +% \end{macro}^^A \makecover +% \begin{parameter}{cd} +% \begin{parameter}{widehead} +% \begin{parameter}{cdfont} +% \begin{parameter}{cdfonts} +% \begin{parameter}{tudfonts} +% \begin{parameter}{cdlayout} +% \begin{macro}{\if@tud@cover@cdlayout} +% Die einzelnen Parameter dienen zur Einstellung der Umschlagseite und +% entsprechen in ihrem Verhalten den gleichnamigen Klassenoptionen~-- +% \opt{cdlayout} ausgenommen. +% \begin{macrocode} +\newif\if@tud@cover@cdlayout +\TUD@parameter{cover}{% + \TUD@parameter@define{cd}[true]{\TUDoption{cd}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{on}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{yes}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{false}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{no}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{off}{\@tud@cover@cdlayoutfalse}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{\TUD@parameter@set[cover]{cdlayout=#1}}% +}% +% \end{macrocode} +% \end{macro}^^A \if@tud@cover@cdlayout +% \end{parameter}^^A cdlayout +% \end{parameter}^^A tudfonts +% \end{parameter}^^A cdfonts +% \end{parameter}^^A cdfont +% \end{parameter}^^A widehead +% \end{parameter}^^A cd +% +% \iffalse +%</class> +%<*titlepage> +% \fi +% +% \subsection{Das \pkg{titlepage}-Paket} +% +% Der Titel wird nicht nur für die \cls{tudscr}-Klassen selbst, sondern auch als +% Stil-Datei für das \pkg{titlepage}-Paket von Markus Kohm bereitgestellt. +% Dafür sind einige paketspezifische Definitionen für Schriften, Optionen, +% Befehle und Logos notwendig. +% \todo[v3.12]{Komplett überarbeiten, falls von Markus Kohm gewollt.} +% \begin{macrocode} +\renewcommand*\inittitle{% + \mainlogo{TU_Logo_SW} + \tud@geometry@set% + \ifcase \tud@cdfont\relax% + \let\tud@font\sfdefault% + \let\dinbn\tud@raggedright% + \else% + \def\tud@font{pun}% + \def\dinbn{% + \usefont{\encodingdefault}{pm6}{b}{n}% + \tud@raggedright% + \selectfont% + }% + \ifnum \tud@cdfont=1% + \renewcommand*\mddefault{l} + \renewcommand*\bfdefault{m} + \else% + \renewcommand*\mddefault{m} + \renewcommand*\bfdefault{b} + \fi% + \fi% +} +\providecommand*\@uppertitleback{} +\providecommand\uppertitleback[1]{\gdef\@uppertitleback{#1}} +\DefineFamilyKey[TU-Dresden]{title}{uppertitleback}{\uppertitleback{#1}} +\providecommand*\@lowertitleback{} +\providecommand\lowertitleback[1]{\gdef\@lowertitleback{#1}} +\DefineFamilyKey[TU-Dresden]{title}{lowertitleback}{\lowertitleback{#1}} +\renewcommand*\makemaintitleback{% + \begin{titlepage} + \begin{minipage}[t]{\textwidth} + \usekomafont{titlepagefont}{\@uppertitleback}% + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \usekomafont{titlepagefont}{\@lowertitleback}% + \end{minipage} + \end{titlepage} +} +\providecommand*\@extratitle{} +\providecommand\extratitle[1]{\gdef\@extratitle{#1}} +\DefineFamilyKey[TU-Dresden]{title}{extratitle}{\extratitle{#1}} +\renewcommand*\makepretitle{% + \ifx\@extratitle\@empty\else + \begin{titlepage} + \noindent\@extratitle + \end{titlepage} + \fi +}% +\renewcommand*\makepretitleback{% + \ifx\@extratitle\@empty\else\begin{titlepage}\null\end{titlepage}\fi +} +\renewcommand*\makeposttitle{% + \ifx\@dedication\@empty\else + \begin{titlepage} + \null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% + \vskip \z@ \@plus 3fill + \end{titlepage} + \fi +} +\renewcommand*\makeposttitleback{% + \ifx\@dedication\@empty\else\begin{titlepage}\null\end{titlepage}\fi +} +% \end{macrocode} +% +% \iffalse +%</titlepage> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx new file mode 100644 index 00000000000..a8d6728dfc5 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-twocolfix.dtx @@ -0,0 +1,176 @@ +% \CheckSum{123} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-twocolfix.dtx +%<*driver> +% \fi +\ProvidesFile{tudscr-twocolfix.dtx}% + [2014/04/24 v2.00 TUD-KOMA-Script (twocolfix)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-twocolfix.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \selectlanguage{ngerman} +% +% \section{Bugfix für den zweispaltigen Satz} +% +% Der \LaTeXe-Kernel enthält einen Fehler, der Kapitelüberschriften im +% zweispaltigen Layout höher setzt, als im einspaltigen. Der Fehler ist zwar +% schon länger bekannt,\footnote{\url{% +% http://www.latex-project.org/cgi-bin/ltxbugs2html?pr=latex/3126}} allerdings +% noch nicht in \pkg{ltxfix2e} übernommen worden. Das Paket \pkg{twocolfix} +% soll das Problem beheben. Eine Integration dieses Bugfixes in \KOMAScript{} +% wurde bereits bei Markus Kohm angefragt,\footnote{\url{% +% http://www.komascript.de/node/1681}} jedoch von ihm bis jetzt nicht weiter +% verfolgt. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \iffalse +%<*package&header> +% \fi +% +% \subsection{Identifizierung des Pakets \pkg{twocolfix}} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{twocolfix}[\TUDVersion\space package (twocolumn layout bugfix)] +% \end{macrocode} +% +% \iffalse +%</package&header> +%<*package&body> +% \fi +% +% \subsection{Das Paket \pkg{twocolfix}} +% +% Neudefinition des fehlerhaften Befehls aus dem \LaTeXe-Kernel. Die +% \KOMAScript-Klassen selbst definieren \cs{@topnewpage} um und sichern vorher +% das Original in \cs{scr@topnewpage}. Daher wird der neue Befehl erst temporär +% definiert. +% \begin{macrocode} +\long\def \@tempa [#1]{% + \@nodocument% + \@next\@currbox\@freelist{}{}% + \global \setbox\@currbox% + \vbox {% + \break% + \prevdepth\z@% + \begingroup% + \normalcolor% + \hsize\textwidth% +% \end{macrocode} +% Damit der Inhalt des optionale Argumentes mit den gleichen Absatzeinstellungen +% gesetzt wird, darf der Befehl \cs{@parboxrestore} nicht aufgerufen werden. +% Alternativ müsste \KOMAScript{} eine Option bereitstellen, mit der sich die +% Einstellungen für Absätze wiederherstellen lassen. +% \begin{macrocode} +% \@parboxrestore +% \KOMAoptions{parskip=last} + \col@number \@ne% + \ignorespaces #1\par% + \ifdim\parskip>\z@\null\fi% + \vskip -\dbltextfloatsep% + \endgroup% + \ifdim\parskip>\z@\vskip\parskip\else\null\fi% + \vskip -\topskip% + }% + \begingroup% + \splitmaxdepth\maxdepth \splittopskip\topskip% + \setbox\@tempboxa \vsplit\@currbox to\z@% + \endgroup% + \ifdim \ht\@currbox>\textheight% + \ht\@currbox \textheight% + \fi% + \global \count\@currbox \tw@% + \@tempdima -\ht\@currbox% + \advance \@tempdima -\dbltextfloatsep% + \global \advance \@colht \@tempdima% + \ifx \@dbltoplist \@empty% + \else% + \@latexerr{Float(s) lost}\@ehb% + \let \@dbltoplist \@empty% + \fi% + \@cons \@dbltoplist \@currbox% + \global \@dbltopnum \m@ne% + \ifdim \@colht<2.5\baselineskip% + \@latex@warning@no@line {Optional argument of \noexpand\twocolumn + too tall on page \thepage}% + \@emptycol% + \if@firstcolumn% + \else% + \@emptycol% + \fi% + \else% + \global \vsize \@colht% + \global \@colroom \@colht% + \@floatplacement% + \fi% +} +% \end{macrocode} +% Nachdem der Befehl zuerst temporär definert wurde, wird nun abhängig von der +% aktiven Klasse der notwendige Befehl mit der neuen Definition überschrieben. +% \begin{macrocode} +\@ifundefined{scr@topnewpage} + {\let\@topnewpage\@tempa} + {\let\scr@topnewpage\@tempa} +% \end{macrocode} +% +% \iffalse +%</package&body> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx new file mode 100644 index 00000000000..4e901231362 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr-version.dtx @@ -0,0 +1,184 @@ +% \CheckSum{64} +% \iffalse meta-comment +% ====================================================================== +% +% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +% +% ====================================================================== +% 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 +% version 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, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (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-version.dtx +% \fi +% +% \iffalse +% Nicht verwirren lassen! In dieser Datei steht die Dokumentation und +% der Code vor dem Treiber. Das ist notwendig, weil der Code bereits +% am Anfang des Treibers selbst benötigt wird. +% \fi +% +% \selectlanguage{ngerman} +% +% \changes{v1.0}{2012/10/31}{\TUDScript-Bundle erstmalig händisch erstellt} +% \changes{v2.00}{2014/04/21}{% +% \TUDScript-Bundle wird mittels \pkg{docstrip} erzeugt% +% } +% \changes{v2.01}{2014/04/24}{% +% Anpassungen in Dokumentation und Schriftinstallation, Fehlerkorrekturen% +% } +% +% \section{Version des \texorpdfstring{\TUDScript}{TUD-KOMA-Script}-Bundles} +% +% Dies ist die erste Datei in allen Dateien, Klassen und Paketen, die zum +% \TUDScript"~Bundle auf \KOMAScript-Basis gehören. Sie dient zur Festlegung der +% aktuellen Version und zum Erzeugen der Header für die jeweiligen cls-Dateien. +% +% \StopEventually{\PrintIndex\PrintChanges} +% +% \begin{macro}{\TUDVersion} +% Dieses Makro gibt an, zu welcher TUD"~CD"~Bundle"~Version die Datei gehört. +% Die Klassen und Pakete des Bundles verwenden dieses Makro außerdem als eigene +% Versionsangabe. +% \begin{macro}{\@TUDVersion} +% Je nachdem, ob \cs{TUDVersion} bereits definiert ist oder nicht, wird die +% Definition überprüft oder eine globale Definition vorgenommen. Da das Ganze +% auch bei der Erstellung der Dokumentation geschieht, wird \cs{makeatletter} +% innerhalb einer Gruppe verwendet. +% \begin{macrocode} +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +% \end{macrocode} +% \end{macro}^^A \@TUDVersion +% \end{macro}^^A \TUDVersion +% +% \iffalse +%<*driver> +% \fi +\ProvidesFile{tudscr-version.dtx}[\TUDVersion\space (versions)] +% \iffalse +\documentclass{tudscrdoc} +\KOMAoptions{parskip=half-} +\CodelineIndex +\RecordChanges +\GetFileInfo{tudscr-version.dtx} +\begin{document} + \maketitle + \DocInput{\filename} +\end{document} +%</driver> +% \fi +% +% \iffalse +%<*class> +%<*article|book|report> +% \fi +% +% \begin{macro}{\cls@name} +% \begin{macro}{\scrcls@name} +% \begin{macro}{\tudcls@name} +% \begin{macro}{\filemail} +% Für die TUD"~CD"~Klassen werden hier einmalig die Namen der jeweiligen Klassen +% definiert. +% \begin{macrocode} +%<*article> +\newcommand*\cls@name{article} +\newcommand*\scrcls@name{scrartcl} +\newcommand*\tudcls@name{tudscrartcl} +%</article> +%<*report> +\newcommand*\cls@name{report} +\newcommand*\scrcls@name{scrreprt} +\newcommand*\tudcls@name{tudscrreprt} +%</report> +%<*book> +\newcommand*\cls@name{book} +\newcommand*\scrcls@name{scrbook} +\newcommand*\tudcls@name{tudscrbook} +%</book> +\newcommand*\filemail{tudscr@gmail.com} +% \end{macrocode} +% \end{macro}^^A \filemail +% \end{macro}^^A \tudcls@name +% \end{macro}^^A \scrcls@name +% \end{macro}^^A \cls@name +% Der Quelltext für das Bereitstellen der Klassen. Es wird als Basis die +% korrespondierende \KOMAScript-Klasse geladen. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{\tudcls@name}% + [\TUDVersion\space document class (\cls@name)]% +% \end{macrocode} +% Beim Verwenden der Klassen wird in der log-Datei ein Vermerk mit +% \cmd{typeout} erstellt. +% \begin{macrocode} +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\filemail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +% \end{macrocode} +% \todo[v2.1]{% +% Versionsabfrage der KOMA-Script-Klassen (\cs{@nameuse}\marg{scr@v@3.12}), +% wenn nicht definiert, dann Fehler!% +% } +% +% \iffalse +%</article|book|report> +%</class> +% \fi +% +% \Finale +% +\endinput
\ No newline at end of file diff --git a/Master/texmf-dist/source/latex/tudscr/tudscr.ins b/Master/texmf-dist/source/latex/tudscr/tudscr.ins new file mode 100644 index 00000000000..713791e3fb8 --- /dev/null +++ b/Master/texmf-dist/source/latex/tudscr/tudscr.ins @@ -0,0 +1,154 @@ +\input docstrip.tex + +\keepsilent + +\usedir{tex/latex/tudscr} + +\preamble + +====================================================================== + +Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen + +====================================================================== +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 +version 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, +Version 1.3c, verteilt und/oder veraendert werden. +Die neuste Version dieser Lizenz ist + http://www.latex-project.org/lppl.txt +und Version 1.3c ist Teil aller Verteilungen von LaTeX +Version 2005/12/01 oder spaeter und dieses Werks. +Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +(allein durch den Autor verwaltet). +Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +====================================================================== + +\endpreamble + +\askforoverwritefalse + +\usedir{tex/latex/tudscr} +\generate{\usepreamble\defaultpreamble + \file{tudscrbase.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-base.dtx}{package,header}% + \from{tudscr-base.dtx}{package,body}% + } + \file{tudscrbook.cls}{% + \from{tudscr-version.dtx}{class,book}% + \from{tudscr-base.dtx}{class,book}% + \from{tudscr-fonts.dtx}{class,option}% + \from{tudscr-pagestyle.dtx}{class,book,option}% + \from{tudscr-layout.dtx}{class,book,option}% + \from{tudscr-frontmatter.dtx}{class,book,option}% + \from{tudscr-title.dtx}{class,book,option}% + \from{tudscr-misc.dtx}{class,book,option}% + \from{tudscr-fonts.dtx}{class}% + \from{tudscr-pagestyle.dtx}{class,book}% + \from{tudscr-layout.dtx}{class,book}% + \from{tudscr-frontmatter.dtx}{class,book}% + \from{tudscr-title.dtx}{class,book}% + \from{tudscr-fields.dtx}{class}% + \from{tudscr-locale.dtx}{class,book}% + \from{tudscr-color.dtx}{class}% + \from{tudscr-misc.dtx}{class,book}% + } + \file{tudscrreprt.cls}{% + \from{tudscr-version.dtx}{class,report}% + \from{tudscr-base.dtx}{class,report}% + \from{tudscr-fonts.dtx}{class,option}% + \from{tudscr-pagestyle.dtx}{class,report,option}% + \from{tudscr-layout.dtx}{class,report,option}% + \from{tudscr-frontmatter.dtx}{class,report,option}% + \from{tudscr-title.dtx}{class,report,option}% + \from{tudscr-misc.dtx}{class,report,option}% + \from{tudscr-fonts.dtx}{class}% + \from{tudscr-pagestyle.dtx}{class,report}% + \from{tudscr-layout.dtx}{class,report}% + \from{tudscr-frontmatter.dtx}{class,report}% + \from{tudscr-title.dtx}{class,report}% + \from{tudscr-fields.dtx}{class}% + \from{tudscr-locale.dtx}{class,report}% + \from{tudscr-color.dtx}{class}% + \from{tudscr-misc.dtx}{class,report}% + } + \file{tudscrartcl.cls}{% + \from{tudscr-version.dtx}{class,article}% + \from{tudscr-base.dtx}{class,article}% + \from{tudscr-fonts.dtx}{class,option}% + \from{tudscr-pagestyle.dtx}{class,article,option}% + \from{tudscr-layout.dtx}{class,article,option}% + \from{tudscr-frontmatter.dtx}{class,article,option}% + \from{tudscr-title.dtx}{class,article,option}% + \from{tudscr-misc.dtx}{class,article,option}% + \from{tudscr-fonts.dtx}{class}% + \from{tudscr-pagestyle.dtx}{class,article}% + \from{tudscr-layout.dtx}{class,article}% + \from{tudscr-frontmatter.dtx}{class,article}% + \from{tudscr-title.dtx}{class,article}% + \from{tudscr-fields.dtx}{class}% + \from{tudscr-locale.dtx}{class,article}% + \from{tudscr-color.dtx}{class}% + \from{tudscr-misc.dtx}{class,article}% + } + \file{tudscrman.cls}{% + \from{tudscr-version.dtx}{class}% + \from{tudscr-manual.dtx}{}% + } + \file{tudscrdoc.cls}{\from{tudscr-doc.dtx}{}} +} +\generate{\usepreamble\defaultpreamble + \file{tudscrsupervisor.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-supervisor.dtx}{package,header}% + \from{tudscr-fields.dtx}{package,supervisor}% + \from{tudscr-locale.dtx}{package,supervisor}% + \from{tudscr-supervisor.dtx}{package,body}% + } + \file{tudscrcomp.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-comp.dtx}{package,header}% + \from{tudscr-comp.dtx}{package,body}% + } + \file{tudscrcolor.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-color.dtx}{package,header}% + \from{tudscr-color.dtx}{package,body}% + } + \file{twocolfix.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-twocolfix.dtx}{package,header}% + \from{tudscr-twocolfix.dtx}{package,body}% + } + \file{mathswap.sty}{% + \from{tudscr-version.dtx}{package}% + \from{tudscr-mathswap.dtx}{package,header}% + \from{tudscr-mathswap.dtx}{package,body}% + } +} +%% muss noch +% \file{tudfont.sty}{% +% \from{tudscr-version.dtx}{package}% +% \from{tudscr-fonts.dtx}{package}% +% } +% muss wieder, falls nötig +%\generate{\usepreamble\defaultpreamble +% \file{title-TU-Dresden.def}{% +% \from{tudscr-base.dtx}{titlepage}% +% \from{tudscr-fields.dtx}{titlepage}% +% \from{tudscr-locale.dtx}{titlepage}% +% \from{tudscr-fonts.dtx}{titlepage}% +% \from{tudscr-pagestyle.dtx}{titlepage}% +% \from{tudscr-title.dtx}{titlepage} +% \from{tudscr-misc.dtx}{titlepage}% +% } +%} +\endbatchfile
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-01.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-01.eps Binary files differnew file mode 100644 index 00000000000..53ecc16f79c --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-01.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-01.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-01.pdf Binary files differnew file mode 100644 index 00000000000..0c510930807 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-01.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-03.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-03.eps Binary files differnew file mode 100644 index 00000000000..817c32e11e1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-03.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-03.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-03.pdf Binary files differnew file mode 100644 index 00000000000..a62bd01ccf0 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-03.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-07.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-07.eps Binary files differnew file mode 100644 index 00000000000..94a675ffc4f --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-07.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-07.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-07.pdf Binary files differnew file mode 100644 index 00000000000..20ac8f6ad62 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-07.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-09.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-09.eps Binary files differnew file mode 100644 index 00000000000..3e23a1336f1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-09.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-09.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-09.pdf Binary files differnew file mode 100644 index 00000000000..57033455f4b --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-09.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-19.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-19.eps Binary files differnew file mode 100644 index 00000000000..6972684883f --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-19.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-19.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-19.pdf Binary files differnew file mode 100644 index 00000000000..692cfe92cdc --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-19.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-21.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-21.eps Binary files differnew file mode 100644 index 00000000000..bc4373713ae --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-21.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-21.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-21.pdf Binary files differnew file mode 100644 index 00000000000..5da4e595ace --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-21.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-22.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-22.eps Binary files differnew file mode 100644 index 00000000000..f8dd35b9cdf --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-22.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-22.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-22.pdf Binary files differnew file mode 100644 index 00000000000..d8874702bcd --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-22.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-24.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-24.eps Binary files differnew file mode 100644 index 00000000000..45954afec46 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-24.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-24.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-24.pdf Binary files differnew file mode 100644 index 00000000000..a11db66a658 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-24.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-25.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-25.eps Binary files differnew file mode 100644 index 00000000000..a3c402e263b --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-25.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-25.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-25.pdf Binary files differnew file mode 100644 index 00000000000..45f4f7e9fd4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-25.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-27.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-27.eps Binary files differnew file mode 100644 index 00000000000..1727a647022 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-27.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-27.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-27.pdf Binary files differnew file mode 100644 index 00000000000..f50a2295603 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-27.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-28.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-28.eps Binary files differnew file mode 100644 index 00000000000..197db302d3d --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-28.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-28.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-28.pdf Binary files differnew file mode 100644 index 00000000000..2f6fc167a27 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-28.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-30.eps b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-30.eps Binary files differnew file mode 100644 index 00000000000..39cc2b7f31e --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-30.eps diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/DDC-30.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-30.pdf Binary files differnew file mode 100644 index 00000000000..58eb9a83ecd --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/DDC-30.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_HKS41.eps b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_HKS41.eps new file mode 100644 index 00000000000..b06c491d8c4 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_HKS41.eps @@ -0,0 +1,250 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.8.8 (http://cairographics.org) +%%CreationDate: Fri Oct 12 15:28:42 2012 +%%Pages: 1 +%%BoundingBox: 0 0 255 74 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +/cairo_eps_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/B { fill stroke } bind def +/B* { eofill stroke } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 0 255 74 +%%EndPageSetup +q +0.0431373 0.164706 0.317647 rg +225.938 47.088 m 229.395 47.088 l 229.395 50.616 l 225.938 50.616 l +225.938 47.088 l h +225.938 47.088 m f* +235.367 47.088 m 238.824 47.088 l 238.824 50.616 l 235.367 50.616 l +235.367 47.088 l h +235.367 47.088 m f* +182.305 26.858 m 177.84 35.569 l 179.785 36.217 181.441 38.018 181.441 +40.823 c 181.441 44.135 179.063 46.944 174.961 46.944 c 167.113 46.944 +l 167.113 26.858 l 171 26.858 l 171 34.92 l 173.809 34.92 l 177.77 +26.858 l 182.305 26.858 l h +177.551 40.823 m 177.551 39.241 176.398 38.159 174.746 38.159 c 171 +38.159 l 171 43.487 l 174.746 43.487 l 176.398 43.487 177.551 42.334 +177.551 40.823 c f* +241.199 26.858 m 233.855 46.944 l 230.832 46.944 l 223.488 26.858 l +227.594 26.858 l 228.816 30.455 l 235.945 30.455 l 237.098 26.858 l +241.199 26.858 l h +234.863 33.768 m 229.895 33.768 l 232.418 41.041 l 234.863 33.768 l f* +100.008 33.768 m 100.008 46.944 l 96.121 46.944 l 96.121 33.912 l +96.121 31.608 94.68 30.241 92.594 30.241 c 90.504 30.241 89.137 31.608 +89.137 33.912 c 89.137 46.944 l 85.25 46.944 l 85.25 33.768 l 85.25 +29.522 88.488 26.713 92.594 26.713 c 96.695 26.713 100.008 29.522 +100.008 33.768 c f* +119.953 26.858 m 119.953 46.944 l 115.992 46.944 l 115.992 34.705 l +108.074 46.944 l 104.543 46.944 l 104.543 26.858 l 108.504 26.858 l +108.504 39.241 l 116.426 26.858 l 119.953 26.858 l f* +124.633 26.858 m 128.594 26.858 l 128.594 46.944 l 124.633 46.944 l +124.633 26.858 l h +124.633 26.858 m f* +147.383 46.944 m 143.281 46.944 l 139.25 33.912 l 135.215 46.944 l +131.184 46.944 l 137.809 26.858 l 140.688 26.858 l 147.383 46.944 l f* +163.152 26.928 m 163.152 30.385 l 153.863 30.385 l 153.863 35.28 l +161.785 35.28 l 161.785 38.737 l 153.863 38.737 l 153.863 43.487 l +163.152 43.487 l 163.152 46.944 l 149.977 46.944 l 149.977 26.928 l +163.152 26.928 l f* +198.648 32.83 m 198.648 34.561 198.145 36.073 197.063 37.08 c 196.273 +37.873 195.121 38.377 193.25 38.592 c 190.871 38.952 l 190.082 39.096 +189.434 39.385 189 39.744 c 188.641 40.104 188.426 40.678 188.426 +41.186 c 188.426 42.553 189.434 43.705 191.52 43.705 c 192.887 43.705 +194.398 43.561 195.625 42.334 c 198.145 44.784 l 196.418 46.44 194.398 +47.159 191.664 47.159 c 187.344 47.159 184.68 44.639 184.68 41.041 c +184.68 39.385 185.113 38.088 186.121 37.08 c 186.984 36.217 188.281 +35.713 190.008 35.424 c 192.383 35.065 l 193.32 34.92 193.824 34.776 +194.184 34.416 c 194.617 33.983 194.832 33.409 194.832 32.69 c 194.832 +31.104 193.535 30.241 191.23 30.241 c 189.434 30.241 187.703 30.67 +186.41 31.897 c 183.887 29.377 l 185.832 27.362 188.137 26.713 191.23 +26.713 c 195.41 26.713 198.648 28.944 198.648 32.83 c f* +202.465 26.858 m 206.352 26.858 l 206.352 46.944 l 202.465 46.944 l +202.465 26.858 l h +202.465 26.858 m f* +224.137 43.487 m 224.137 46.944 l 209.738 46.944 l 209.738 43.487 l +214.992 43.487 l 214.992 26.928 l 218.879 26.928 l 218.879 43.487 l +224.137 43.487 l f* +255.023 43.487 m 255.023 46.944 l 240.625 46.944 l 240.625 43.487 l +245.879 43.487 l 245.879 26.858 l 249.77 26.858 l 249.77 43.487 l +255.023 43.487 l f* +99.793 10.295 m 99.793 13.319 100.082 16.053 97.777 18.287 c 96.48 +19.655 94.609 20.233 92.52 20.233 c 85.25 20.233 l 85.25 0.143 l 92.52 +0.143 l 94.609 0.143 96.48 0.717 97.777 2.088 c 100.082 4.319 99.793 +7.272 99.793 10.295 c h +95.902 10.295 m 95.902 7.198 95.762 5.76 95.039 4.897 c 94.391 4.104 +93.457 3.67 92.16 3.67 c 89.207 3.67 l 89.207 16.702 l 92.16 16.702 l +93.457 16.702 94.391 16.272 95.039 15.479 c 95.762 14.616 95.902 13.319 +95.902 10.295 c f* +119.16 0.143 m 114.695 8.784 l 116.641 9.502 118.367 11.233 118.367 +14.041 c 118.367 17.424 115.922 20.233 111.816 20.233 c 103.969 20.233 +l 103.969 0.143 l 107.855 0.143 l 107.855 8.135 l 110.738 8.135 l +114.625 0.143 l 119.16 0.143 l h +114.41 14.041 m 114.41 12.53 113.328 11.448 111.602 11.448 c 107.855 +11.448 l 107.855 16.705 l 111.602 16.705 l 113.328 16.705 114.41 15.623 +114.41 14.041 c f* +135.793 0.143 m 135.793 3.67 l 126.434 3.67 l 126.434 8.494 l 134.352 +8.494 l 134.352 12.026 l 126.434 12.026 l 126.434 16.705 l 135.793 +16.705 l 135.793 20.233 l 122.543 20.233 l 122.543 0.143 l 135.793 +0.143 l f* +152.711 6.049 m 152.711 7.85 152.207 9.287 151.129 10.295 c 150.266 +11.088 149.113 11.592 147.313 11.881 c 144.938 12.241 l 144.145 12.311 +143.496 12.67 143.063 13.034 c 142.633 13.393 142.488 13.967 142.488 +14.471 c 142.488 15.838 143.496 16.991 145.586 16.991 c 146.879 16.991 +148.465 16.776 149.688 15.623 c 152.207 18.073 l 150.48 19.729 148.465 +20.377 145.727 20.377 c 141.336 20.377 138.746 17.858 138.746 14.327 c +138.746 12.6 139.176 11.303 140.113 10.369 c 141.047 9.502 142.344 +8.928 144.074 8.713 c 146.449 8.354 l 147.383 8.209 147.816 7.991 +148.25 7.631 c 148.68 7.272 148.824 6.698 148.824 5.975 c 148.824 4.319 +147.602 3.455 145.297 3.455 c 143.426 3.455 141.695 3.889 140.473 5.186 +c 137.953 2.662 l 139.895 0.647 142.199 -0.002 145.223 -0.002 c 149.473 +-0.002 152.711 2.159 152.711 6.049 c f* +171.074 10.295 m 171.074 13.319 171.289 16.053 169.055 18.287 c 167.762 +19.655 165.816 20.233 163.727 20.233 c 156.527 20.233 l 156.527 0.143 l +163.727 0.143 l 165.816 0.143 167.762 0.717 169.055 2.088 c 171.289 +4.319 171.074 7.272 171.074 10.295 c h +167.184 10.295 m 167.184 7.198 167.039 5.76 166.32 4.897 c 165.672 +4.104 164.738 3.67 163.367 3.67 c 160.418 3.67 l 160.418 16.702 l +163.367 16.702 l 164.738 16.702 165.672 16.272 166.32 15.479 c 167.039 +14.616 167.184 13.319 167.184 10.295 c f* +188.426 0.143 m 188.426 3.67 l 179.137 3.67 l 179.137 8.494 l 187.055 +8.494 l 187.055 12.026 l 179.137 12.026 l 179.137 16.705 l 188.426 +16.705 l 188.426 20.233 l 175.25 20.233 l 175.25 0.143 l 188.426 0.143 +l f* +207.793 0.143 m 207.793 20.233 l 203.832 20.233 l 203.832 7.92 l +195.914 20.233 l 192.383 20.233 l 192.383 0.143 l 196.344 0.143 l +196.344 12.455 l 204.266 0.143 l 207.793 0.143 l f* +99.648 70.272 m 99.648 73.729 l 85.25 73.729 l 85.25 70.272 l 90.504 +70.272 l 90.504 53.713 l 94.391 53.713 l 94.391 70.272 l 99.648 70.272 +l f* +116.496 53.709 m 116.496 57.166 l 107.137 57.166 l 107.137 62.065 l +115.055 62.065 l 115.055 65.518 l 107.137 65.518 l 107.137 70.272 l +116.496 70.272 l 116.496 73.725 l 103.25 73.725 l 103.25 53.709 l +116.496 53.709 l f* +134.711 59.83 m 130.754 59.83 l 130.32 58.248 129.313 57.026 127.367 +57.026 c 126.289 57.026 125.426 57.385 124.848 58.034 c 124.055 58.897 +123.84 59.83 123.84 63.721 c 123.84 67.608 124.055 68.545 124.848 +69.409 c 125.426 70.057 126.289 70.416 127.367 70.416 c 129.313 70.416 +130.32 69.194 130.754 67.608 c 134.711 67.608 l 133.992 71.784 131.039 +73.944 127.297 73.944 c 125.137 73.944 123.336 73.151 121.895 71.713 c +119.879 69.698 119.953 67.174 119.953 63.721 c 119.953 60.264 119.879 +57.744 121.895 55.729 c 123.336 54.287 125.137 53.494 127.297 53.494 c +131.039 53.494 133.992 55.655 134.711 59.83 c f* +153 53.709 m 153 73.725 l 149.113 73.725 l 149.113 65.518 l 142.273 +65.518 l 142.273 73.725 l 138.383 73.725 l 138.383 53.709 l 142.273 +53.709 l 142.273 62.065 l 149.113 62.065 l 149.113 53.709 l 153 53.709 +l f* +173.375 53.709 m 173.375 73.725 l 169.488 73.725 l 169.488 61.487 l +161.496 73.725 l 158.039 73.725 l 158.039 53.709 l 161.93 53.709 l +161.93 66.022 l 169.922 53.709 l 173.375 53.709 l f* +178.418 53.709 m 182.305 53.709 l 182.305 73.725 l 178.418 73.725 l +178.418 53.709 l h +178.418 53.709 m f* +200.305 59.616 m 200.305 61.342 199.801 62.858 198.719 63.866 c 197.93 +64.655 196.777 65.159 194.906 65.377 c 192.527 65.737 l 191.738 65.881 +191.09 66.166 190.656 66.53 c 190.297 66.959 190.082 67.463 190.082 +67.967 c 190.082 69.334 191.09 70.487 193.176 70.487 c 194.543 70.487 +196.055 70.342 197.281 69.119 c 199.801 71.569 l 198.074 73.225 196.055 +73.944 193.32 73.944 c 189 73.944 186.336 71.424 186.336 67.823 c +186.336 66.166 186.77 64.873 187.777 63.866 c 188.641 62.998 189.938 +62.494 191.664 62.209 c 194.039 61.846 l 194.977 61.705 195.48 61.561 +195.84 61.202 c 196.273 60.768 196.488 60.194 196.488 59.471 c 196.488 +57.889 195.191 57.026 192.887 57.026 c 191.09 57.026 189.359 57.455 +188.063 58.678 c 185.543 56.159 l 187.488 54.143 189.793 53.494 192.887 +53.494 c 197.063 53.494 200.305 55.729 200.305 59.616 c f* +218.449 59.83 m 214.488 59.83 l 214.129 58.248 213.047 57.026 211.105 +57.026 c 210.023 57.026 209.16 57.385 208.586 58.034 c 207.863 58.897 +207.648 59.83 207.648 63.721 c 207.648 67.608 207.863 68.545 208.586 +69.409 c 209.16 70.057 210.023 70.416 211.105 70.416 c 213.047 70.416 +214.129 69.194 214.488 67.608 c 218.449 67.608 l 217.727 71.784 214.848 +73.944 211.105 73.944 c 208.871 73.944 207.074 73.151 205.633 71.713 c +203.617 69.698 203.688 67.174 203.688 63.721 c 203.688 60.264 203.617 +57.744 205.633 55.729 c 207.074 54.287 208.871 53.494 211.105 53.494 c +214.777 53.494 217.727 55.655 218.449 59.83 c f* +236.738 53.709 m 236.738 73.725 l 232.848 73.725 l 232.848 65.518 l +226.082 65.518 l 226.082 73.725 l 222.121 73.725 l 222.121 53.709 l +226.082 53.709 l 226.082 62.065 l 232.848 62.065 l 232.848 53.709 l +236.738 53.709 l f* +255.098 53.709 m 255.098 57.166 l 245.738 57.166 l 245.738 62.065 l +253.656 62.065 l 253.656 65.518 l 245.738 65.518 l 245.738 70.272 l +255.098 70.272 l 255.098 73.725 l 241.848 73.725 l 241.848 53.709 l +255.098 53.709 l f* +4.465 44.709 m 24.551 44.709 l 24.551 21.311 l 49.105 21.311 l 49.105 +44.709 l 69.121 44.709 l 69.121 24.19 l 49.535 4.608 l 24.047 4.608 l +4.465 24.19 l 4.465 44.709 l h +66.961 42.479 m 51.336 42.479 l 51.336 19.08 l 22.32 19.08 l 22.32 +42.479 l 6.695 42.479 l 6.695 25.057 l 24.984 6.838 l 48.672 6.838 l +66.887 25.057 l 66.961 42.479 l h +66.527 49.174 m 48.672 67.034 l 24.984 67.034 l 7.129 49.174 l 29.016 +49.174 l 29.016 25.776 l 44.641 25.776 l 44.641 49.174 l 66.527 49.174 +l h +69.121 46.944 m 46.871 46.944 l 46.871 23.545 l 26.785 23.545 l 26.785 +46.944 l 4.465 46.944 l 4.465 49.678 l 24.047 69.264 l 49.535 69.264 l +69.121 49.678 l 69.121 46.944 l h +0 51.409 m 0 22.463 l 22.32 0.143 l 51.336 0.143 l 73.586 22.463 l +73.586 51.409 l 51.336 73.729 l 22.32 73.729 l 0 51.409 l h +2.23 50.545 m 2.23 23.327 l 23.184 2.377 l 50.398 2.377 l 71.352 23.327 +l 71.352 50.545 l 50.398 71.494 l 23.184 71.494 l 2.23 50.545 l f* +Q +showpage +%%Trailer +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +cairo_eps_state restore +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_HKS41.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_HKS41.pdf Binary files differnew file mode 100644 index 00000000000..98f3d6667c1 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_HKS41.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_SW.eps b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_SW.eps new file mode 100644 index 00000000000..e481ed69d67 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_SW.eps @@ -0,0 +1,274 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 279 576 535 651 +%%HiResBoundingBox: 279.324219 576.259766 534.520313 650.303516 +%................................................. +%%Creator: AFPL Ghostscript 814 (epswrite) +%%CreationDate: 2004/11/09 12:19:55 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +% This copyright applies to everything between here and the %%EndProlog: +% Copyright (C) 2004 artofcode LLC, Benicia, CA. All rights reserved. +%%BeginResource: procset GS_epswrite_2_0_1001 +/GS_epswrite_2_0_1001 80 dict dup begin +/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch +4 index eq and{ pop pop pop}{ PageSize dup 1 +5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec} +{ pop/setpagedevice where +{ pop 1 dict dup /PageSize PageSize put setpagedevice} +{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat +setpage}if}ifelse}ifelse}ifelse} bind def +/!{bind def}bind def/#{load def}!/N/counttomark # +/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}! +/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}! +/w/setlinewidth #/J/setlinecap # +/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat # +/m/moveto #/l/lineto #/c/rcurveto # +/p{N 2 idiv{N -2 roll rlineto}repeat}! +/P{N 0 gt{N -2 roll moveto p}if}! +/h{p closepath}!/H{P closepath}! +/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}! +/re{4 -2 roll m exch dup lx exch ly neg lx h}! +/^{3 index neg 3 index neg}! +/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}! +/q/gsave #/Q/grestore #/rf{re fill}! +/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}! +/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}! +/|{exch string readstring |=}! +/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}! +/@/currentfile #/${+ @ |}! +/B{{2 copy string{readstring pop}aload pop 4 array astore cvx +3 1 roll}repeat pop pop true}! +/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}! +/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}! +/Ic{exch Ix false 3 colorimage}! +/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>> +/CCITTFaxDecode filter}!/FX{<</EndOfBlock false F}! +/X{/ASCII85Decode filter}!/@X{@ X}!/&2{2 index 2 index}! +/@F{@ &2<<F}!/@C{@X &2 FX}! +/$X{+ @X |}!/&4{4 index 4 index}!/$F{+ @ &4<<F |}!/$C{+ @X &4 FX |}! +/IC{3 1 roll 10 dict begin 1{/ImageType/Interpolate/Decode/DataSource +/ImageMatrix/BitsPerComponent/Height/Width}{exch def}forall +currentdict end image}! +/~{@ read {pop} if}! +end readonly def +%%EndResource +/pagesave null def +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +GS_epswrite_2_0_1001 begin +/pagesave save store 197 dict begin +0.1 0.1 scale +%%EndPageSetup +gsave mark +Q q +0 0 250000 250000 re +Y +K +5053.1 6233.98 34.5625 35.2812 re +f* +5147.42 6233.98 34.5625 35.2812 re +f* +4616.78 6031.66 -44.64 87.12 P +19.44 6.48 36 24.48 36 52.56 c +0 33.12 -23.76 61.2 -64.8 61.2 c +-78.48 0 0 -200.88 38.88 0 0 80.64 28.08 0 39.6 -80.64 45.36 0 h +4569.26 6171.34 m +0 -15.84 -11.52 -26.64 -28.08 -26.64 c +-37.44 0 0 53.28 ^ p +16.56 0 28.08 -11.52 28.08 -26.64 c +f* +5205.74 6031.66 -73.44 200.88 -30.24 0 -73.44 -200.88 41.04 0 12.24 36 71.28 0 11.52 -36 +41.04 0 H +5142.38 6100.78 -49.68 0 25.2 72.72 24.48 -72.72 f* +3793.82 6100.78 0 131.76 -38.88 0 0 -130.32 P +0 -23.04 -14.4 -36.72 -35.28 -36.72 c +-20.88 0 -34.56 13.68 -34.56 36.72 c +0 130.32 -38.88 0 0 -131.76 p +0 -42.48 32.4 -70.56 73.44 -70.56 c +41.04 0 74.16 28.08 74.16 70.56 c +f* +3993.26 6031.66 0 200.88 -39.6 0 0 -122.4 -79.2 122.4 -35.28 0 0 -200.88 39.6 0 +0 123.84 79.2 -123.84 35.28 0 f* +4040.06 6031.66 39.6016 200.879 re +f* +4267.58 6232.54 -41.04 0 -40.32 -130.32 -40.32 130.32 -40.32 0 66.24 -200.88 28.8 0 66.96 200.88 f* +4425.26 6032.38 0 34.56 -92.88 0 0 48.96 79.2 0 0 34.56 ^ 0 47.52 +92.88 0 0 34.56 -131.76 0 0 -200.16 ^ f* +4780.22 6091.42 m +0 17.28 -5.04 32.4 -15.84 42.48 c +-7.92 7.92 -19.44 12.96 -38.16 15.12 c +-23.76 3.6 p +-7.92 1.44 -14.4 4.32 -18.72 7.92 c +-3.6 3.6 -5.76 9.36 -5.76 14.4 c +0 13.68 10.08 25.2 30.96 25.2 c +13.68 0 28.8 -1.44 41.04 -13.68 c +25.2 24.48 p +-17.28 16.56 -37.44 23.76 -64.8 23.76 c +-43.2 0 -69.84 -25.2 -69.84 -61.2 c +0 -16.56 4.32 -29.52 14.4 -39.6 c +8.64 -8.64 21.6 -13.68 38.88 -16.56 c +23.76 -3.6 p +9.36 -1.44 14.4 -2.88 18 -6.48 c +4.32 -4.32 6.48 -10.08 6.48 -17.28 c +0 -15.84 -12.96 -24.48 -36 -24.48 c +-18 0 -35.28 4.32 -48.24 16.56 c +-25.2 -25.2 p +19.44 -20.16 42.48 -26.64 73.44 -26.64 c +41.76 0 74.16 22.32 74.16 61.2 c +f* +4818.38 6031.66 38.8789 200.879 re +f* +5035.1 6197.98 0 34.56 -144 0 ^ 52.56 0 0 -165.6 38.88 0 ^ +52.56 0 f* +5343.98 6197.98 0 34.56 -144 0 ^ 52.56 0 0 -166.32 38.88 0 ^ +52.56 0 f* +3791.66 5866.05 m +0 30.24 2.88 57.6 -20.16 79.92 c +-12.96 13.68 -31.68 19.44 -52.56 19.44 c +-72.72 0 0 -200.88 ^ p +20.88 0 39.6 5.76 52.56 19.44 c +23.04 22.32 20.16 51.84 20.16 82.08 c +h +3752.78 5866.05 m +0 -30.96 -1.44 -45.36 -8.64 -54 c +-6.48 -7.92 -15.84 -12.24 -28.8 -12.24 c +-29.52 0 0 130.32 ^ p +12.96 0 22.32 -4.32 28.8 -12.24 c +7.2 -8.64 8.64 -21.6 8.64 -51.84 c +f* +3985.34 5764.54 -44.64 86.4 P +19.44 7.2 36.72 24.48 36.72 52.56 c +0 33.84 -24.48 61.92 -65.52 61.92 c +-78.48 0 0 -200.88 38.88 0 0 79.92 28.8 0 38.88 -79.92 45.36 0 h +3937.82 5903.5 m +0 -15.12 -10.8 -25.92 -28.08 -25.92 c +-37.44 0 0 52.56 ^ p +17.28 0 28.08 -10.8 28.08 -26.64 c +f* +4151.66 5764.54 0 35.28 -93.6 0 0 48.24 79.2 0 0 35.28 ^ 0 46.8 +93.6 0 0 35.28 -132.48 0 0 -200.88 ^ f* +4320.86 5823.58 m +0 18 -5.04 32.4 -15.84 42.48 c +-8.64 7.92 -20.16 12.96 -38.16 15.84 c +-23.76 3.6 p +-7.92 0.72 -14.4 4.32 -18.72 7.92 c +-4.32 3.6 -5.76 9.36 -5.76 14.4 c +0 13.68 10.08 25.2 30.96 25.2 c +12.96 0 28.8 -2.16 41.04 -13.68 c +25.2 24.48 p +-17.28 16.56 -37.44 23.04 -64.8 23.04 c +-43.92 0 -69.84 -25.2 -69.84 -60.48 c +0 -17.28 4.32 -30.24 13.68 -39.6 c +9.36 -8.64 22.32 -14.4 39.6 -16.56 c +23.76 -3.6 p +9.36 -1.44 13.68 -3.6 18 -7.2 c +4.32 -3.6 5.76 -9.36 5.76 -16.56 c +0 -16.56 -12.24 -25.2 -35.28 -25.2 c +-18.72 0 -36 4.32 -48.24 17.28 c +-25.2 -25.2 p +19.44 -20.16 42.48 -26.64 72.72 -26.64 c +42.48 0 74.88 21.6 74.88 60.48 c +f* +4504.46 5866.05 m +0 30.24 2.16 57.6 -20.16 79.92 c +-12.96 13.68 -32.4 19.44 -53.28 19.44 c +-72 0 0 -200.88 ^ p +20.88 0 40.32 5.76 53.28 19.44 c +22.32 22.32 20.16 51.84 20.16 82.08 c +h +4465.58 5866.05 m +0 -30.96 -1.44 -45.36 -8.64 -54 c +-6.48 -7.92 -15.84 -12.24 -29.52 -12.24 c +-29.52 0 0 130.32 ^ p +13.68 0 23.04 -4.32 29.52 -12.24 c +7.2 -8.64 8.64 -21.6 8.64 -51.84 c +f* +4677.98 5764.54 0 35.28 -92.88 0 0 48.24 79.2 0 0 35.28 ^ 0 46.8 +92.88 0 0 35.28 -131.76 0 0 -200.88 ^ f* +4871.66 5764.54 0 200.88 -39.6 0 0 -123.12 -79.2 123.12 -35.28 0 0 -200.88 39.6 0 +0 123.12 79.2 -123.12 35.28 0 f* +3790.22 6465.82 0 34.56 -144 0 ^ 52.56 0 0 -165.6 38.88 0 ^ +52.56 0 f* +3958.7 6300.21 0 34.56 -93.6 0 0 48.96 79.2 0 0 34.56 ^ 0 47.52 +93.6 0 0 34.56 -132.48 0 0 -200.16 ^ f* +4140.86 6361.42 -39.6 0 P +-4.32 -15.84 -14.4 -28.08 -33.84 -28.08 c +-10.8 0 -19.44 3.6 -25.2 10.08 c +-7.92 8.64 -10.08 18 -10.08 56.88 c +0 38.88 2.16 48.24 10.08 56.88 c +5.76 6.48 14.4 10.08 25.2 10.08 c +19.44 0 29.52 -12.24 33.84 -28.08 c +39.6 0 p +-7.2 41.76 -36.72 63.36 -74.16 63.36 c +-21.6 0 -39.6 -7.92 -54 -22.32 c +-20.16 -20.16 -19.44 -45.36 -19.44 -79.92 c +0 -34.56 -0.72 -59.76 19.44 -79.92 c +14.4 -14.4 32.4 -22.32 54 -22.32 c +37.44 0 66.96 21.6 74.16 63.36 c +f* +4323.74 6300.21 0 200.16 -38.88 0 0 -82.08 -68.4 0 ^ -38.88 0 0 -200.16 +^ 0 83.52 68.4 0 ^ 38.88 0 f* +4527.5 6300.21 0 200.16 -38.88 0 0 -122.4 -79.92 122.4 -34.56 0 0 -200.16 38.88 0 +0 123.12 79.92 -123.12 34.56 0 f* +4577.9 6300.21 38.8789 200.16 re +f* +4796.78 6359.26 m +0 17.28 -5.04 32.4 -15.84 42.48 c +-7.92 7.92 -19.44 12.96 -38.16 15.12 c +-23.76 3.6 p +-7.92 1.44 -14.4 4.32 -18.72 7.92 c +-3.6 4.32 -5.76 9.36 -5.76 14.4 c +0 13.68 10.08 25.2 30.96 25.2 c +13.68 0 28.8 -1.44 41.04 -13.68 c +25.2 24.48 p +-17.28 16.56 -37.44 23.76 -64.8 23.76 c +-43.2 0 -69.84 -25.2 -69.84 -61.2 c +0 -16.56 4.32 -29.52 14.4 -39.6 c +8.64 -8.64 21.6 -13.68 38.88 -16.56 c +23.76 -3.6 p +9.36 -1.44 14.4 -2.88 18 -6.48 c +4.32 -4.32 6.48 -10.08 6.48 -17.28 c +0 -15.84 -12.96 -24.48 -36 -24.48 c +-18 0 -35.28 4.32 -48.24 16.56 c +-25.2 -25.2 p +19.44 -20.16 42.48 -26.64 73.44 -26.64 c +41.76 0 74.16 22.32 74.16 61.2 c +f* +4978.22 6361.42 -39.6 0 P +-3.6 -15.84 -14.4 -28.08 -33.84 -28.08 c +-10.8 0 -19.44 3.6 -25.2 10.08 c +-7.2 8.64 -9.36 18 -9.36 56.88 c +0 38.88 2.16 48.24 9.36 56.88 c +5.76 6.48 14.4 10.08 25.2 10.08 c +19.44 0 30.24 -12.24 33.84 -28.08 c +39.6 0 p +-7.2 41.76 -36 63.36 -73.44 63.36 c +-22.32 0 -40.32 -7.92 -54.72 -22.32 c +-20.16 -20.16 -19.44 -45.36 -19.44 -79.92 c +0 -34.56 -0.72 -59.76 19.44 -79.92 c +14.4 -14.4 32.4 -22.32 54.72 -22.32 c +36.72 0 66.24 21.6 73.44 63.36 c +f* +5161.1 6300.21 0 200.16 -38.88 0 0 -82.08 -67.68 0 ^ -39.6 0 0 -200.16 +^ 0 83.52 67.68 0 ^ 38.88 0 f* +5344.7 6300.21 0 34.56 -93.6 0 0 48.96 79.2 0 0 34.56 ^ 0 47.52 +93.6 0 0 34.56 -132.48 0 0 -200.16 ^ f* +2838.38 6210.21 200.88 0 0 -234 245.52 0 ^ 200.16 0 0 -205.2 -195.84 -195.84 +-254.88 0 -195.84 195.84 0 205.2 H +3463.34 6187.9 -156.24 0 0 -234 -290.16 0 ^ -156.24 0 0 -174.24 182.88 -182.16 +236.88 0 182.16 182.16 0.72 174.24 H +3459.02 6254.86 -178.56 178.56 -236.88 0 -178.56 -178.56 218.88 0 0 -234 156.24 0 ^ +218.88 0 H +3484.94 6232.54 -222.48 0 0 -234 -200.88 0 ^ -223.2 0 0 27.36 195.84 195.84 +254.88 0 195.84 -195.84 0 -27.36 H +2793.74 6277.18 0 -289.44 223.2 -223.2 290.16 0 222.48 223.2 0 289.44 -222.48 223.2 -290.16 0 +-223.2 -223.2 H +2816.06 6268.54 0 -272.16 209.52 -209.52 272.16 0 209.52 209.52 0 272.16 -209.52 209.52 -272.16 0 +-209.52 -209.52 f* +cleartomark end end pagesave restore showpage +%%PageTrailer +%%Trailer +%%Pages: 1 diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_SW.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_SW.pdf Binary files differnew file mode 100644 index 00000000000..c86e48d5b49 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_SW.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_WS.eps b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_WS.eps new file mode 100644 index 00000000000..8c2e399367f --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_WS.eps @@ -0,0 +1,250 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: cairo 1.8.8 (http://cairographics.org) +%%CreationDate: Fri Oct 12 15:29:00 2012 +%%Pages: 1 +%%BoundingBox: 0 0 255 74 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +/cairo_eps_state save def +/dict_count countdictstack def +/op_count count 1 sub def +userdict begin +/q { gsave } bind def +/Q { grestore } bind def +/cm { 6 array astore concat } bind def +/w { setlinewidth } bind def +/J { setlinecap } bind def +/j { setlinejoin } bind def +/M { setmiterlimit } bind def +/d { setdash } bind def +/m { moveto } bind def +/l { lineto } bind def +/c { curveto } bind def +/h { closepath } bind def +/re { exch dup neg 3 1 roll 5 3 roll moveto 0 rlineto + 0 exch rlineto 0 rlineto closepath } bind def +/S { stroke } bind def +/f { fill } bind def +/f* { eofill } bind def +/B { fill stroke } bind def +/B* { eofill stroke } bind def +/n { newpath } bind def +/W { clip } bind def +/W* { eoclip } bind def +/BT { } bind def +/ET { } bind def +/pdfmark where { pop globaldict /?pdfmark /exec load put } + { globaldict begin /?pdfmark /pop load def /pdfmark + /cleartomark load def end } ifelse +/BDC { mark 3 1 roll /BDC pdfmark } bind def +/EMC { mark /EMC pdfmark } bind def +/cairo_store_point { /cairo_point_y exch def /cairo_point_x exch def } def +/Tj { show currentpoint cairo_store_point } bind def +/TJ { + { + dup + type /stringtype eq + { show } { -0.001 mul 0 cairo_font_matrix dtransform rmoveto } ifelse + } forall + currentpoint cairo_store_point +} bind def +/cairo_selectfont { cairo_font_matrix aload pop pop pop 0 0 6 array astore + cairo_font exch selectfont cairo_point_x cairo_point_y moveto } bind def +/Tf { pop /cairo_font exch def /cairo_font_matrix where + { pop cairo_selectfont } if } bind def +/Td { matrix translate cairo_font_matrix matrix concatmatrix dup + /cairo_font_matrix exch def dup 4 get exch 5 get cairo_store_point + /cairo_font where { pop cairo_selectfont } if } bind def +/Tm { 2 copy 8 2 roll 6 array astore /cairo_font_matrix exch def + cairo_store_point /cairo_font where { pop cairo_selectfont } if } bind def +/g { setgray } bind def +/rg { setrgbcolor } bind def +/d1 { setcachedevice } bind def +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +%%PageBoundingBox: 0 0 255 74 +%%EndPageSetup +q +1 g +225.938 47.088 m 229.395 47.088 l 229.395 50.616 l 225.938 50.616 l +225.938 47.088 l h +225.938 47.088 m f* +235.367 47.088 m 238.824 47.088 l 238.824 50.616 l 235.367 50.616 l +235.367 47.088 l h +235.367 47.088 m f* +182.305 26.858 m 177.84 35.569 l 179.785 36.217 181.441 38.018 181.441 +40.823 c 181.441 44.135 179.063 46.944 174.961 46.944 c 167.113 46.944 +l 167.113 26.858 l 171 26.858 l 171 34.92 l 173.809 34.92 l 177.77 +26.858 l 182.305 26.858 l h +177.551 40.823 m 177.551 39.241 176.398 38.159 174.746 38.159 c 171 +38.159 l 171 43.487 l 174.746 43.487 l 176.398 43.487 177.551 42.334 +177.551 40.823 c f* +241.199 26.858 m 233.855 46.944 l 230.832 46.944 l 223.488 26.858 l +227.594 26.858 l 228.816 30.455 l 235.945 30.455 l 237.098 26.858 l +241.199 26.858 l h +234.863 33.768 m 229.895 33.768 l 232.418 41.041 l 234.863 33.768 l f* +100.008 33.768 m 100.008 46.944 l 96.121 46.944 l 96.121 33.912 l +96.121 31.608 94.68 30.241 92.594 30.241 c 90.504 30.241 89.137 31.608 +89.137 33.912 c 89.137 46.944 l 85.25 46.944 l 85.25 33.768 l 85.25 +29.522 88.488 26.713 92.594 26.713 c 96.695 26.713 100.008 29.522 +100.008 33.768 c f* +119.953 26.858 m 119.953 46.944 l 115.992 46.944 l 115.992 34.705 l +108.074 46.944 l 104.543 46.944 l 104.543 26.858 l 108.504 26.858 l +108.504 39.241 l 116.426 26.858 l 119.953 26.858 l f* +124.633 26.858 m 128.594 26.858 l 128.594 46.944 l 124.633 46.944 l +124.633 26.858 l h +124.633 26.858 m f* +147.383 46.944 m 143.281 46.944 l 139.25 33.912 l 135.215 46.944 l +131.184 46.944 l 137.809 26.858 l 140.688 26.858 l 147.383 46.944 l f* +163.152 26.928 m 163.152 30.385 l 153.863 30.385 l 153.863 35.28 l +161.785 35.28 l 161.785 38.737 l 153.863 38.737 l 153.863 43.487 l +163.152 43.487 l 163.152 46.944 l 149.977 46.944 l 149.977 26.928 l +163.152 26.928 l f* +198.648 32.83 m 198.648 34.561 198.145 36.073 197.063 37.08 c 196.273 +37.873 195.121 38.377 193.25 38.592 c 190.871 38.952 l 190.082 39.096 +189.434 39.385 189 39.744 c 188.641 40.104 188.426 40.678 188.426 +41.186 c 188.426 42.553 189.434 43.705 191.52 43.705 c 192.887 43.705 +194.398 43.561 195.625 42.334 c 198.145 44.784 l 196.418 46.44 194.398 +47.159 191.664 47.159 c 187.344 47.159 184.68 44.639 184.68 41.041 c +184.68 39.385 185.113 38.088 186.121 37.08 c 186.984 36.217 188.281 +35.713 190.008 35.424 c 192.383 35.065 l 193.32 34.92 193.824 34.776 +194.184 34.416 c 194.617 33.983 194.832 33.409 194.832 32.69 c 194.832 +31.104 193.535 30.241 191.23 30.241 c 189.434 30.241 187.703 30.67 +186.41 31.897 c 183.887 29.377 l 185.832 27.362 188.137 26.713 191.23 +26.713 c 195.41 26.713 198.648 28.944 198.648 32.83 c f* +202.465 26.858 m 206.352 26.858 l 206.352 46.944 l 202.465 46.944 l +202.465 26.858 l h +202.465 26.858 m f* +224.137 43.487 m 224.137 46.944 l 209.738 46.944 l 209.738 43.487 l +214.992 43.487 l 214.992 26.928 l 218.879 26.928 l 218.879 43.487 l +224.137 43.487 l f* +255.023 43.487 m 255.023 46.944 l 240.625 46.944 l 240.625 43.487 l +245.879 43.487 l 245.879 26.858 l 249.77 26.858 l 249.77 43.487 l +255.023 43.487 l f* +99.793 10.295 m 99.793 13.319 100.082 16.053 97.777 18.287 c 96.48 +19.655 94.609 20.233 92.52 20.233 c 85.25 20.233 l 85.25 0.143 l 92.52 +0.143 l 94.609 0.143 96.48 0.717 97.777 2.088 c 100.082 4.319 99.793 +7.272 99.793 10.295 c h +95.902 10.295 m 95.902 7.198 95.762 5.76 95.039 4.897 c 94.391 4.104 +93.457 3.67 92.16 3.67 c 89.207 3.67 l 89.207 16.702 l 92.16 16.702 l +93.457 16.702 94.391 16.272 95.039 15.479 c 95.762 14.616 95.902 13.319 +95.902 10.295 c f* +119.16 0.143 m 114.695 8.784 l 116.641 9.502 118.367 11.233 118.367 +14.041 c 118.367 17.424 115.922 20.233 111.816 20.233 c 103.969 20.233 +l 103.969 0.143 l 107.855 0.143 l 107.855 8.135 l 110.738 8.135 l +114.625 0.143 l 119.16 0.143 l h +114.41 14.041 m 114.41 12.53 113.328 11.448 111.602 11.448 c 107.855 +11.448 l 107.855 16.705 l 111.602 16.705 l 113.328 16.705 114.41 15.623 +114.41 14.041 c f* +135.793 0.143 m 135.793 3.67 l 126.434 3.67 l 126.434 8.494 l 134.352 +8.494 l 134.352 12.026 l 126.434 12.026 l 126.434 16.705 l 135.793 +16.705 l 135.793 20.233 l 122.543 20.233 l 122.543 0.143 l 135.793 +0.143 l f* +152.711 6.049 m 152.711 7.85 152.207 9.287 151.129 10.295 c 150.266 +11.088 149.113 11.592 147.313 11.881 c 144.938 12.241 l 144.145 12.311 +143.496 12.67 143.063 13.034 c 142.633 13.393 142.488 13.967 142.488 +14.471 c 142.488 15.838 143.496 16.991 145.586 16.991 c 146.879 16.991 +148.465 16.776 149.688 15.623 c 152.207 18.073 l 150.48 19.729 148.465 +20.377 145.727 20.377 c 141.336 20.377 138.746 17.858 138.746 14.327 c +138.746 12.6 139.176 11.303 140.113 10.369 c 141.047 9.502 142.344 +8.928 144.074 8.713 c 146.449 8.354 l 147.383 8.209 147.816 7.991 +148.25 7.631 c 148.68 7.272 148.824 6.698 148.824 5.975 c 148.824 4.319 +147.602 3.455 145.297 3.455 c 143.426 3.455 141.695 3.889 140.473 5.186 +c 137.953 2.662 l 139.895 0.647 142.199 -0.002 145.223 -0.002 c 149.473 +-0.002 152.711 2.159 152.711 6.049 c f* +171.074 10.295 m 171.074 13.319 171.289 16.053 169.055 18.287 c 167.762 +19.655 165.816 20.233 163.727 20.233 c 156.527 20.233 l 156.527 0.143 l +163.727 0.143 l 165.816 0.143 167.762 0.717 169.055 2.088 c 171.289 +4.319 171.074 7.272 171.074 10.295 c h +167.184 10.295 m 167.184 7.198 167.039 5.76 166.32 4.897 c 165.672 +4.104 164.738 3.67 163.367 3.67 c 160.418 3.67 l 160.418 16.702 l +163.367 16.702 l 164.738 16.702 165.672 16.272 166.32 15.479 c 167.039 +14.616 167.184 13.319 167.184 10.295 c f* +188.426 0.143 m 188.426 3.67 l 179.137 3.67 l 179.137 8.494 l 187.055 +8.494 l 187.055 12.026 l 179.137 12.026 l 179.137 16.705 l 188.426 +16.705 l 188.426 20.233 l 175.25 20.233 l 175.25 0.143 l 188.426 0.143 +l f* +207.793 0.143 m 207.793 20.233 l 203.832 20.233 l 203.832 7.92 l +195.914 20.233 l 192.383 20.233 l 192.383 0.143 l 196.344 0.143 l +196.344 12.455 l 204.266 0.143 l 207.793 0.143 l f* +99.648 70.272 m 99.648 73.729 l 85.25 73.729 l 85.25 70.272 l 90.504 +70.272 l 90.504 53.713 l 94.391 53.713 l 94.391 70.272 l 99.648 70.272 +l f* +116.496 53.709 m 116.496 57.166 l 107.137 57.166 l 107.137 62.065 l +115.055 62.065 l 115.055 65.518 l 107.137 65.518 l 107.137 70.272 l +116.496 70.272 l 116.496 73.725 l 103.25 73.725 l 103.25 53.709 l +116.496 53.709 l f* +134.711 59.83 m 130.754 59.83 l 130.32 58.248 129.313 57.026 127.367 +57.026 c 126.289 57.026 125.426 57.385 124.848 58.034 c 124.055 58.897 +123.84 59.83 123.84 63.721 c 123.84 67.608 124.055 68.545 124.848 +69.409 c 125.426 70.057 126.289 70.416 127.367 70.416 c 129.313 70.416 +130.32 69.194 130.754 67.608 c 134.711 67.608 l 133.992 71.784 131.039 +73.944 127.297 73.944 c 125.137 73.944 123.336 73.151 121.895 71.713 c +119.879 69.698 119.953 67.174 119.953 63.721 c 119.953 60.264 119.879 +57.744 121.895 55.729 c 123.336 54.287 125.137 53.494 127.297 53.494 c +131.039 53.494 133.992 55.655 134.711 59.83 c f* +153 53.709 m 153 73.725 l 149.113 73.725 l 149.113 65.518 l 142.273 +65.518 l 142.273 73.725 l 138.383 73.725 l 138.383 53.709 l 142.273 +53.709 l 142.273 62.065 l 149.113 62.065 l 149.113 53.709 l 153 53.709 +l f* +173.375 53.709 m 173.375 73.725 l 169.488 73.725 l 169.488 61.487 l +161.496 73.725 l 158.039 73.725 l 158.039 53.709 l 161.93 53.709 l +161.93 66.022 l 169.922 53.709 l 173.375 53.709 l f* +178.418 53.709 m 182.305 53.709 l 182.305 73.725 l 178.418 73.725 l +178.418 53.709 l h +178.418 53.709 m f* +200.305 59.616 m 200.305 61.342 199.801 62.858 198.719 63.866 c 197.93 +64.655 196.777 65.159 194.906 65.377 c 192.527 65.737 l 191.738 65.881 +191.09 66.166 190.656 66.53 c 190.297 66.959 190.082 67.463 190.082 +67.967 c 190.082 69.334 191.09 70.487 193.176 70.487 c 194.543 70.487 +196.055 70.342 197.281 69.119 c 199.801 71.569 l 198.074 73.225 196.055 +73.944 193.32 73.944 c 189 73.944 186.336 71.424 186.336 67.823 c +186.336 66.166 186.77 64.873 187.777 63.866 c 188.641 62.998 189.938 +62.494 191.664 62.209 c 194.039 61.846 l 194.977 61.705 195.48 61.561 +195.84 61.202 c 196.273 60.768 196.488 60.194 196.488 59.471 c 196.488 +57.889 195.191 57.026 192.887 57.026 c 191.09 57.026 189.359 57.455 +188.063 58.678 c 185.543 56.159 l 187.488 54.143 189.793 53.494 192.887 +53.494 c 197.063 53.494 200.305 55.729 200.305 59.616 c f* +218.449 59.83 m 214.488 59.83 l 214.129 58.248 213.047 57.026 211.105 +57.026 c 210.023 57.026 209.16 57.385 208.586 58.034 c 207.863 58.897 +207.648 59.83 207.648 63.721 c 207.648 67.608 207.863 68.545 208.586 +69.409 c 209.16 70.057 210.023 70.416 211.105 70.416 c 213.047 70.416 +214.129 69.194 214.488 67.608 c 218.449 67.608 l 217.727 71.784 214.848 +73.944 211.105 73.944 c 208.871 73.944 207.074 73.151 205.633 71.713 c +203.617 69.698 203.688 67.174 203.688 63.721 c 203.688 60.264 203.617 +57.744 205.633 55.729 c 207.074 54.287 208.871 53.494 211.105 53.494 c +214.777 53.494 217.727 55.655 218.449 59.83 c f* +236.738 53.709 m 236.738 73.725 l 232.848 73.725 l 232.848 65.518 l +226.082 65.518 l 226.082 73.725 l 222.121 73.725 l 222.121 53.709 l +226.082 53.709 l 226.082 62.065 l 232.848 62.065 l 232.848 53.709 l +236.738 53.709 l f* +255.098 53.709 m 255.098 57.166 l 245.738 57.166 l 245.738 62.065 l +253.656 62.065 l 253.656 65.518 l 245.738 65.518 l 245.738 70.272 l +255.098 70.272 l 255.098 73.725 l 241.848 73.725 l 241.848 53.709 l +255.098 53.709 l f* +4.465 44.709 m 24.551 44.709 l 24.551 21.311 l 49.105 21.311 l 49.105 +44.709 l 69.121 44.709 l 69.121 24.19 l 49.535 4.608 l 24.047 4.608 l +4.465 24.19 l 4.465 44.709 l h +66.961 42.479 m 51.336 42.479 l 51.336 19.08 l 22.32 19.08 l 22.32 +42.479 l 6.695 42.479 l 6.695 25.057 l 24.984 6.838 l 48.672 6.838 l +66.887 25.057 l 66.961 42.479 l h +66.527 49.174 m 48.672 67.034 l 24.984 67.034 l 7.129 49.174 l 29.016 +49.174 l 29.016 25.776 l 44.641 25.776 l 44.641 49.174 l 66.527 49.174 +l h +69.121 46.944 m 46.871 46.944 l 46.871 23.545 l 26.785 23.545 l 26.785 +46.944 l 4.465 46.944 l 4.465 49.678 l 24.047 69.264 l 49.535 69.264 l +69.121 49.678 l 69.121 46.944 l h +0 51.409 m 0 22.463 l 22.32 0.143 l 51.336 0.143 l 73.586 22.463 l +73.586 51.409 l 51.336 73.729 l 22.32 73.729 l 0 51.409 l h +2.23 50.545 m 2.23 23.327 l 23.184 2.377 l 50.398 2.377 l 71.352 23.327 +l 71.352 50.545 l 50.398 71.494 l 23.184 71.494 l 2.23 50.545 l f* +Q +showpage +%%Trailer +count op_count sub {pop} repeat +countdictstack dict_count sub {end} repeat +cairo_eps_state restore +%%EOF diff --git a/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_WS.pdf b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_WS.pdf Binary files differnew file mode 100644 index 00000000000..269d01d8639 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/logo/TU_Logo_WS.pdf diff --git a/Master/texmf-dist/tex/latex/tudscr/mathswap.sty b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty new file mode 100644 index 00000000000..9f49b9fbf37 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/mathswap.sty @@ -0,0 +1,108 @@ +%% +%% This is file `mathswap.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package') +%% tudscr-mathswap.dtx (with options: `package,header') +%% tudscr-mathswap.dtx (with options: `package,body') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +%%% From File: tudscr-mathswap.dtx +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mathswap}[% + \TUDVersion\space package (swap mathematical separators)% +] +%%% From File: tudscr-mathswap.dtx +\newcommand*\@commaswap{,} +\newcommand*\commaswap[1]{\gdef\@commaswap{#1}} +\newcommand*\@dotswap{\,} +\newcommand*\dotswap[1]{\gdef\@dotswap{#1}} +\newcommand*\ms@commachar{} +\newcommand*\ms@dotchar{} +\AtBeginDocument{% + \DeclareMathSymbol{\ms@comma}{\mathord}{letters}{"3B}% + \mathchardef\ms@commachar\mathcode\expandafter`,% + \mathcode\expandafter`,="8000% + \DeclareMathSymbol{\ms@dot}{\mathord}{letters}{"3A}% + \mathchardef\ms@dotchar\mathcode\expandafter`.% + \mathcode\expandafter`.="8000% +} +\newcommand*\ms@token{} +\begingroup% + \catcode`,=\active% + \gdef,{\futurelet\ms@token\ms@smartcomma}% + \catcode`.=\active% + \gdef.{\futurelet\ms@token\ms@smartdot}% +\endgroup% +\def\ms@smartcomma{\ms@ifnum{\@commaswap}{\ms@commachar}} +\def\ms@smartdot{\ms@ifnum{\@dotswap}{\ms@dotchar}} +\def\ms@ifnum#1#2{% + \ifx\ms@token0\ms@@ifnum{#1}\else% + \ifx\ms@token1\ms@@ifnum{#1}\else% + \ifx\ms@token2\ms@@ifnum{#1}\else% + \ifx\ms@token3\ms@@ifnum{#1}\else% + \ifx\ms@token4\ms@@ifnum{#1}\else% + \ifx\ms@token5\ms@@ifnum{#1}\else% + \ifx\ms@token6\ms@@ifnum{#1}\else% + \ifx\ms@token7\ms@@ifnum{#1}\else% + \ifx\ms@token8\ms@@ifnum{#1}\else% + \ifx\ms@token9\ms@@ifnum{#1}\else% + #2% + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi% +} +\def\ms@@ifnum#1{% + \begingroup% + \mathcode\expandafter`,=\the\ms@comma% + \mathcode\expandafter`.=\the\ms@dot% + #1% + \endgroup% +} +\endinput +%% +%% End of file `mathswap.sty'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls new file mode 100644 index 00000000000..7e41f4ed770 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrartcl.cls @@ -0,0 +1,2714 @@ +%% +%% This is file `tudscrartcl.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `class,article') +%% tudscr-base.dtx (with options: `class,article') +%% tudscr-fonts.dtx (with options: `class,option') +%% tudscr-pagestyle.dtx (with options: `class,article,option') +%% tudscr-layout.dtx (with options: `class,article,option') +%% tudscr-frontmatter.dtx (with options: `class,article,option') +%% tudscr-title.dtx (with options: `class,article,option') +%% tudscr-misc.dtx (with options: `class,article,option') +%% tudscr-fonts.dtx (with options: `class') +%% tudscr-pagestyle.dtx (with options: `class,article') +%% tudscr-layout.dtx (with options: `class,article') +%% tudscr-frontmatter.dtx (with options: `class,article') +%% tudscr-title.dtx (with options: `class,article') +%% tudscr-fields.dtx (with options: `class') +%% tudscr-locale.dtx (with options: `class,article') +%% tudscr-color.dtx (with options: `class') +%% tudscr-misc.dtx (with options: `class,article') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +\newcommand*\cls@name{article} +\newcommand*\scrcls@name{scrartcl} +\newcommand*\tudcls@name{tudscrartcl} +\newcommand*\filemail{tudscr@gmail.com} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{\tudcls@name}% + [\TUDVersion\space document class (\cls@name)]% +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\filemail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-fonts.dtx +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {light}{1},{lightfont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},% + {din}{4},% + {serifmath}{5},{serif}{5},{nosansmath}{5},{nosans}{5},% + {sansmath}{6},{sans}{6},% + {upgreek}{7},{uprightgreek}{7},{uprightGreek}{7},% + {slgreek}{8},{slantedgreek}{8},{slantedGreek}{8},% + }{#1}% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont}% + \or + \TUDoptions{din=false}% + \or + \TUDoptions{din}% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek}% + \fi% +} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \if@atdocument% + \if@tud@cdfonts% + \tud@font@cdfonts% + \else% + \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{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \tud@cmd@restore{mdseries@rm}% + \tud@cmd@restore{bfseries@rm}% + \tud@cmd@restore{mdseries@sf}% + \tud@cmd@restore{bfseries@sf}% + \tud@cmd@restore{mdseries@tt}% + \tud@cmd@restore{bfseries@tt}% + \edef\rmdef@ult{\rmdefault} + \edef\sfdef@ult{\sfdefault} + \edef\ttdef@ult{\ttdefault} + \edef\bfdef@ult{\bfdefault} + \edef\mddef@ult{\mddefault} + \normalfont\selectfont% + \fi% + \tud@layout@process% + \else% + \if@tud@cdfonts% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \fi% +} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfonts=true}% + \else% + \TUDoptions{cdfonts=false}% + \fi% +} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \if@tud@cdfonts% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +\newif\if@tud@din\@tud@dintrue +\TUD@ifkey{din}{@tud@din} +\newif\if@tud@sansmath +\TUD@key@lock{sansmath}[true]{% + \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +%%% From File: tudscr-pagestyle.dtx +\newcommand*\tud@ddc@head{0} +\TUD@numkey{ddc}[true]{tud@ddc@head}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +\TUD@key{ddchead}[true]{\TUDoptions{ddc=#1}} +\newcommand*\tud@ddc@foot{0} +\TUD@numkey{ddcfoot}[true]{tud@ddc@foot}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +\newif\if@tud@widehead +\TUD@key@lock{widehead}[true]{% + \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +} +\newif\if@tud@cdfoot +\TUD@key{cdfoot}[true]{% + \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \if@atdocument% + \if@tud@cdfoot% + \tud@cmd@store{ps@headings}% + \tud@cmd@store{ps@myheadings}% + \tud@cmd@store{ps@plain}% + \let\ps@headings\tud@ps@headings% + \let\ps@myheadings\tud@ps@myheadings% + \let\ps@plain\tud@ps@plain% + \else% + \tud@cmd@restore{ps@headings}% + \tud@cmd@restore{ps@myheadings}% + \tud@cmd@restore{ps@plain}% + \fi% + \clearpage% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \fi% +} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfoot}% + \else% + \TUDoptions{cdfoot=false}% + \fi% +} +\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot}\pagestyle{headings}\fi} +\newcommand*\tud@currentpagestyle{plain} +\apptocmd{\pagestyle}{% + \def\tud@currentpagestyle{#1}}{}{\tud@patch@wrn{pagestyle}% +} +\newcommand*\tud@geometry{0} +\TUD@key@lock{geometry}[true]{% + \TUD@set@numkey@lock{geometry}{tud@geometry}{% + {false}{0},{off}{0},{no}{0},{typearea}{0},% + {true}{1},{on}{1},{yes}{1},{tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{normal}{2},{standard}{2},{std}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \if@atdocument\recalctypearea\fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@head@color{black} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +\TUD@key{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@title}{0}% + \csstd@lock{tud@layout@part}{0}% + \or% + \csstd@lock{tud@layout@title}{1}% + \csstd@lock{tud@layout@part}{1}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{2}% + \csstd@lock{tud@layout@part}{2}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{3}% + \csstd@lock{tud@layout@part}{2}% + \fi% + \if@atdocument% + \tud@layout@process% + \else% + \ifcase \tud@cd\relax% + \TUD@std@numkey@lock{geometry}{false}% + \else% + \TUD@std@numkey@lock{geometry}{true}% + \fi% + \fi% +} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@title}{0}% + \or% + \csset@lock{tud@layout@title}{1}% + \or% + \csset@lock{tud@layout@title}{2}% + \or% + \csset@lock{tud@layout@title}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\TUD@key{cdpart}[true]{% + \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@part}{0}% + \or% + \csset@lock{tud@layout@part}{1}% + \or% + \csset@lock{tud@layout@part}{2}% + \or% + \csset@lock{tud@layout@part}{2}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\newcommand*\tud@layout@switch{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% + {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% + {color}{3},{colour}{3}% +} +\TUD@key{color}[true]{% + \TUD@set@ifkey{color}{@tempswa}{#1}% + \TUD@set@numkey{color}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {true}{1},{on}{1},{yes}{1},{color}{1},{colour}{1},% + {full}{1},{colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% + {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% + }{#1}% + \ifcase \@tempa\relax% + \TUDoptions{cd}% + \or% + \TUDoptions{cd=color}% + \else% + \TUDoptions{cd=lite}% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@abstract@level{0} +\newbool@lock{@tud@abstract@toc} +\newif\if@tud@abstract@double +\newif\if@tud@abstract@fil +\@tud@abstract@filtrue +\newif\if@tud@abstract@first +\@tud@abstract@firsttrue +\newlength{\tud@dim@double} +\TUD@key{abstract}[true]{% + \TUD@set@numkey{abstract}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {section}{2},{sect}{2},{sec}{2},% + {new}{2},{std}{2},{heading}{2},% + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% + \ifcase \@tempa\relax% + \def\tud@abstract@level{0}% + \stdbool@lock{@tud@abstract@toc}{false}% + \or% + \def\tud@abstract@level{1}% + \stdbool@lock{@tud@abstract@toc}{false}% + \or% + \def\tud@abstract@level{2}% + \stdbool@lock{@tud@abstract@toc}{true}% + \or% + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@doublefalse% + \or% + \@tud@abstract@doubletrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% +} +\newcommand*\tud@declaration@level{1} +\newbool@lock{@tud@declaration@toc} +\newif\if@tud@declaration@double +\@tud@declaration@doubletrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +\newif\if@tud@declaration@first +\@tud@declaration@firsttrue +\TUD@key{declaration}[true]{% + \TUD@set@numkey{declaration}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {section}{2},{sect}{2},{sec}{2},% + {new}{2},{std}{2},{heading}{2},% + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% + \ifcase \@tempa\relax% + \def\tud@declaration@level{0}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{1}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{2}% + \stdbool@lock{@tud@declaration@toc}{true}% + \or% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@doublefalse% + \or% + \@tud@declaration@doubletrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% +} +%%% From File: tudscr-title.dtx +\newif\if@tud@subjectthesis +\TUD@key@lock{subjectthesis}[true]{% + \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% +} +%%% From File: tudscr-misc.dtx +\newif\if@tud@bookmarks +\TUD@ifkey{tudbookmarks}{@tud@bookmarks} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\gdef\expandafter #1\expandafter{#1}% + }% +} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +\TUDExecuteOptions{\TUDDefaultOptions} +\TUDProcessOptions +\LoadClass{\scrcls@name}[2012/07/29] +\AtEndPreamble{% + \tud@layout@process% + \recalctypearea% +} +\RequirePackage{textcase}[2004/10/07] +\RequirePackage{trimspaces}[2009/09/17] +\RequirePackage{geometry}[2010/09/12] +\RequirePackage{mweights}[2013/07/21] +\RequirePackage{environ}[2013/04/01] +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}[1999/02/16]}% + \@ifpackageloaded{tudscrcolor}{}{\RequirePackage{tudscrcolor}[\TUDVersion]}% +} +%%% From File: tudscr-fonts.dtx +\newif\if@tud@univers +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\def\@tempb#1{% + \ClassWarningNoLine{\tudcls@name}{% + #1 fonts not found. Please use on of the\MessageBreak% + installation scripts out of the tudscr-bundle,\MessageBreak% + which suits to your OS. A fallback layout is used% + }% +} +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% +} +\@tempa{\@tud@universtrue}{\@tempb{Univers}} +\if@tud@univers% + \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% + \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}% + \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}% + \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}% + \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}% + \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}% + \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}% + \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}% +\else + \newcommand*\univln{}% + \newcommand*\univrn{}% + \newcommand*\univbn{}% + \newcommand*\univxn{}% + \newcommand*\univls{}% + \newcommand*\univrs{}% + \newcommand*\univbs{}% + \newcommand*\univxs{}% +\fi +\DeclareTextFontCommand{\textuln}{\univln}% +\DeclareTextFontCommand{\texturn}{\univrn}% +\DeclareTextFontCommand{\textubn}{\univbn}% +\DeclareTextFontCommand{\textuxn}{\univxn}% +\DeclareTextFontCommand{\textuls}{\univls}% +\DeclareTextFontCommand{\texturs}{\univrs}% +\DeclareTextFontCommand{\textubs}{\univbs}% +\DeclareTextFontCommand{\textuxs}{\univxs}% +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% +} +\@tempa{% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% +}{% + \@tempb{DIN-Bold}% + \let\dinbn\sectfont% +} +\DeclareTextFontCommand{\textdbn}{\dinbn} +\edef\@tempa{\encodingdefault}\def\@tempb{T1} +\ifx\@tempa\@tempb + \def\tud@mathenc{T1} +\else + \def\tud@mathenc{OT1} +\fi +\DeclareMathVersion{univers} +\DeclareMathVersion{universbold} +\SetSymbolFont{operators}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} +\SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} +\SetSymbolFont{largesymbols}{univers}{U}{zeuex}{m}{n} +\SetSymbolFont{operators}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} +\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} +\SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{cmtl}{m}{n} +\SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} +\SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} +\DeclareMathVersion{dinbold} +\SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} +\SetSymbolFont{symbols}{dinbold}{OMS}{iwona}{ebc}{n} +\SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} +\SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} +\newcount\tud@greek@upGamma +\tud@greek@upGamma\Gamma +\newcount\tud@greek@offset +\let\@tempa\relax +\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} +\tud@greek@offset\@tempa +\advance\tud@greek@offset-\Gamma +\newcommand*\tud@greek@def[2]{% + \expandafter\@tempcnta\csname #1\endcsname% + \advance\@tempcnta#2% + \expandafter\mathchardef\csname #1\endcsname\@tempcnta% +} +\newcommand*\tud@greek@uc{% + Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% +} +\newcommand*\tud@greek@changeshape{% + \@for\@tempa:=\tud@greek@uc\do{% + \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% + }% +} +\newcommand*\tud@greek@slanted{% + \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% +} +\newcommand*\tud@greek@upright{% + \ifnum\Gamma>\tud@greek@upGamma% + \tud@greek@offset=-\tud@greek@offset% + \tud@greek@changeshape% + \tud@greek@offset=-\tud@greek@offset% + \fi% +} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} +\DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} +\DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} +\DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} +\DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} +\DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} +\DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} +\DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} +\DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} +\DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} +\DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} +\DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} +\DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} +\DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} +\DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} +\DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} +\DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} +\DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} +\newcommand*\tud@sansmath{% + \if@tud@univers% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \mathversion{normal}% + \fi% +} +\newcommand*\tud@serifmath{% + \if@tud@univers% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \mathversion{normal}% + \fi% +} +\newcommand*\tud@font@cdfonts{% + \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{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \tud@cmd@store{mdseries@rm}% + \tud@cmd@store{bfseries@rm}% + \tud@cmd@store{mdseries@sf}% + \tud@cmd@store{bfseries@sf}% + \tud@cmd@store{mdseries@tt}% + \tud@cmd@store{bfseries@tt}% + \if@tud@univers% + \if@tud@heavyfont% + \def\bfseries@rm{b}% + \def\bfseries@sf{b}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \def\bfseries@rm{m}% + \def\bfseries@sf{m}% + \def\mdseries@rm{l}% + \def\mdseries@sf{l}% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \fi% + \renewcommand*\sfdefault{\tud@univers}% + \else% + \def\bfseries@rm{bx}% + \def\bfseries@sf{bx}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{bx}% + \renewcommand*\mddefault{m}% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% + \renewcommand{\ttdefault}{cmtl}% + \def\bfseries@tt{m}% + \def\mdseries@tt{m}% + \edef\rmdef@ult{\rmdefault}% + \edef\sfdef@ult{\sfdefault}% + \edef\ttdef@ult{\ttdefault}% + \edef\bfdef@ult{\bfdefault}% + \edef\mddef@ult{\mddefault}% + \normalfont\selectfont% +} +\newcommand*\tud@font@mathfonts{% + \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% + \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% + \mathversion{normal}% +} +\newcommand*\tud@head@font@set{% + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\sfdefault}{bx}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% + {\encodingdefault}{\sfdefault}{\mdseries@sf}{n}{\tud@head@font@size}% + \if@tud@cdfonts\if@tud@univers% + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\tud@univers}{b}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% + {\encodingdefault}{\tud@univers}{\mdseries@sf}{n}{\tud@head@font@size}% + \fi\fi% +} +\AtBeginDocument{\if@tud@cdfonts\tud@font@cdfonts\fi\tud@font@mathfonts} +\AfterPackage{amsfonts}{% + \DeclareFontFamily{U}{msa}{}% + \DeclareFontShape{U}{msa}{m}{n}{% + <-9>cmbras8% + <9-10>cmbras9% + <10->cmbras10% + }{}% + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{% + <-9>cmbrbs8% + <9-10>cmbrbs9% + <10->cmbrbs10% + }{}% +} +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage{ragged2e}{% + \ifdef{\LaTeXraggedright}% + {\renewcommand*\tud@raggedright{\LaTeXraggedright}}{}% + \renewcommand*\tud@RaggedRight{\RaggedRight} +} +%%% From File: tudscr-pagestyle.dtx +\newlength{\tud@dim@left} +\newlength{\tud@dim@right} +\newlength{\tud@dim@both} +\newlength{\tud@dim@top} +\newlength{\tud@dim@bottom} +\newlength{\tud@dim@footskip} +\newlength{\tud@dim@headheight} +\newlength{\tud@dim@barheight} +\newlength{\tud@dim@headsep} +\newlength{\tud@dim@logox} +\newlength{\tud@dim@logoy} +\newlength{\tud@dim@logowidth} +\newlength{\tud@dim@logoheight} +\newlength{\tud@dim@thinline} +\newlength{\tud@dim@heavyline} +\newlength{\tud@dim@headingsvskip} +\newlength{\tud@dim@ddcheight} +\newcommand*\tud@head@font@size{} +\newcommand*\tud@geometry@set{% + \ifdim\paperheight<148.1mm\relax% + \setlength{\tud@dim@headheight}{17.5mm}% + \setlength{\tud@dim@barheight}{2.5mm}% + \setlength{\tud@dim@headsep}{6mm}% + \setlength{\tud@dim@logox}{5.5mm}% + \setlength{\tud@dim@logoy}{6.5mm}% + \setlength{\tud@dim@logowidth}{28.5mm}% + \setlength{\tud@dim@left}{15mm}% + \setlength{\tud@dim@right}{10mm}% + \setlength{\tud@dim@top}{12.5mm}% + \setlength{\tud@dim@bottom}{12.5mm}% + \setlength{\tud@dim@footskip}{6mm}% + \setlength{\tud@dim@heavyline}{0.75pt}% + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{4.5}% + \else\ifdim\paperheight<297.1mm\relax% + \setlength{\tud@dim@headheight}{35mm}% + \setlength{\tud@dim@barheight}{5mm}% + \setlength{\tud@dim@headsep}{12mm}% + \setlength{\tud@dim@logox}{11mm}% + \setlength{\tud@dim@logoy}{13.5mm}% + \setlength{\tud@dim@logowidth}{57mm}% + \setlength{\tud@dim@left}{30mm}% + \setlength{\tud@dim@right}{20mm}% + \setlength{\tud@dim@top}{25mm}% + \setlength{\tud@dim@bottom}{25mm}% + \setlength{\tud@dim@footskip}{12mm}% + \setlength{\tud@dim@heavyline}{1pt}% + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{9}% + \else\ifdim\paperheight<420.1mm\relax% + \setlength{\tud@dim@headheight}{50mm}% + \setlength{\tud@dim@barheight}{7mm}% + \setlength{\tud@dim@headsep}{17mm}% + \setlength{\tud@dim@logox}{15.5mm}% + \setlength{\tud@dim@logoy}{19mm}% + \setlength{\tud@dim@logowidth}{80mm}% + \setlength{\tud@dim@left}{42mm}% + \setlength{\tud@dim@right}{28mm}% + \setlength{\tud@dim@top}{35mm}% + \setlength{\tud@dim@bottom}{35mm}% + \setlength{\tud@dim@footskip}{17mm}% + \setlength{\tud@dim@heavyline}{1.4pt}% + \setlength{\tud@dim@thinline}{0.7pt}% + \def\tud@head@font@size{13}% + \else\ifdim\paperheight<594.1mm\relax% + \setlength{\tud@dim@headheight}{70mm}% + \setlength{\tud@dim@barheight}{10mm}% + \setlength{\tud@dim@headsep}{24mm}% + \setlength{\tud@dim@logox}{22mm}% + \setlength{\tud@dim@logoy}{27mm}% + \setlength{\tud@dim@logowidth}{114mm}% + \setlength{\tud@dim@left}{60mm}% + \setlength{\tud@dim@right}{40mm}% + \setlength{\tud@dim@top}{50mm}% + \setlength{\tud@dim@bottom}{50mm}% + \setlength{\tud@dim@footskip}{24mm}% + \setlength{\tud@dim@heavyline}{1.7pt}% + \setlength{\tud@dim@thinline}{1pt}% + \def\tud@head@font@size{13.5}% + \else\ifdim\paperheight<841.1mm\relax% + \setlength{\tud@dim@headheight}{100mm}% + \setlength{\tud@dim@barheight}{14mm}% + \setlength{\tud@dim@headsep}{34mm}% + \setlength{\tud@dim@logox}{31mm}% + \setlength{\tud@dim@logoy}{38mm}% + \setlength{\tud@dim@logowidth}{161.5mm}% + \setlength{\tud@dim@left}{85mm}% + \setlength{\tud@dim@right}{56.5mm}% + \setlength{\tud@dim@top}{71mm}% + \setlength{\tud@dim@bottom}{71mm}% + \setlength{\tud@dim@footskip}{34mm}% + \setlength{\tud@dim@heavyline}{1.9pt}% + \setlength{\tud@dim@thinline}{1.5pt}% + \def\tud@head@font@size{14}% + \else% + \setlength{\tud@dim@headheight}{140mm}% + \setlength{\tud@dim@barheight}{20mm}% + \setlength{\tud@dim@headsep}{48mm}% + \setlength{\tud@dim@logox}{44mm}% + \setlength{\tud@dim@logoy}{54mm}% + \setlength{\tud@dim@logowidth}{228mm}% + \setlength{\tud@dim@left}{120mm}% + \setlength{\tud@dim@right}{80mm}% + \setlength{\tud@dim@top}{100mm}% + \setlength{\tud@dim@bottom}{100mm}% + \setlength{\tud@dim@footskip}{48mm}% + \setlength{\tud@dim@heavyline}{2.1pt}% + \setlength{\tud@dim@thinline}{2pt}% + \def\tud@head@font@size{20}% + \fi\fi\fi\fi\fi% + \setlength{\tud@dim@both}% + {\dimexpr\tud@dim@left+\tud@dim@right}% + \setlength{\tud@dim@ddcheight}{.6\tud@dim@headheight}% + \setlength{\tud@ta@footdiff}% + {\dimexpr\tud@dim@ddcheight-\tud@ta@footskip+\baselineskip}% + \ifdim\tud@ta@footdiff<\z@\relax% + \setlength{\tud@ta@footdiff}{\z@}% + \fi% +} +\newcommand*\tud@head@text{} +\newcommand*\tud@head@text@first{} +\newcommand*\tud@head@text@second{} +\newcommand*\tud@head@text@delimiter{} +\newcommand*\tud@head@text@buffer{} +\newcommand*\tud@head@font{} +\newcommand*\tud@head@rule{} +\newcommand*\ps@tudpage@plain{% + \renewcommand*\@oddhead{% + \setlength{\@tempdima}% + {\dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left}% + \ifdim\@tempdima<\ta@bcor\relax% + \tud@head@logo@wrn{\the\@tempdima}% + \fi% + \ifx\@faculty\@empty% + \ClassWarningNoLine{\tudcls@name}{No faculty given}% + \faculty{\null}% + \fi% + \tud@head@font@set% + \@tempswafalse% + \def\tud@head@text@first{}% + \def\tud@head@text@second{}% + \def\tud@head@text@buffer{}% + \tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}% + \tud@head@text@add{\tud@head@font@light}{\@department}% + \tud@head@text@add{\tud@head@font@light}{\@institute}% + \tud@head@text@add{\tud@head@font@light}{\@chair}% + \settowidth{\@tempdima}{\tud@head@text@second}% + \ifdim\@tempdima>\textwidth\relax% + \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth}% + \fi% + \color{\tud@head@color}% + \vbox to \dimexpr\tud@dim@barheight+\tud@dim@headheight{% + \vfill\linespread{0}\selectfont% + \setlength{\@tempdima}{\tud@dim@logox}% + \addtolength{\@tempdima}{-\tud@dim@left}% + \hspace*{\@tempdima}% + \tud@mainlogo\hfill\tud@head@logo% + \setlength{\@tempdima}{\tud@dim@headheight}% + \addtolength{\@tempdima}{-\tud@dim@logoy}% + \addtolength{\@tempdima}{-\tud@dim@logoheight}% + \ifstr{\tud@head@color}{white}% + {\setlength{\@tempdimc}{\tud@dim@heavyline}}% + {\setlength{\@tempdimc}{\tud@dim@thinline}}% + \vspace*{\dimexpr\@tempdima-.5\@tempdimc}% + \def\tud@head@rule{% + \if@tud@widehead% + \setlength{\@tempdima}{\oddsidemargin}% + \if@twoside\ifodd\c@page\else% + \setlength{\@tempdima}{\evensidemargin}% + \fi\fi% + \addtolength{\@tempdima}{1in}% + \setlength{\@tempdimb}{\paperwidth}% + \else% + \setlength{\@tempdima}{\z@}% + \setlength{\@tempdimb}{\textwidth}% + \fi% + \hfuzz=2\@tempdima% + \hspace*{-\@tempdima}% + \rule[-.5\@tempdimc]{\@tempdimb}{\@tempdimc}% + \newline% + }% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@first}% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@second}% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \vspace*{-\tud@dim@barheight}% + \fi% + \vspace*{\dimexpr\@tempdimc-\tud@dim@barheight}% + }% + }% + \let\@evenhead\@oddhead% +} +\newcommand*\ps@tudpage@empty{% + \ps@tudpage@plain% + \let\@mkboth\@gobbletwo% + \let\@oddfoot\@empty% + \let\@evenfoot\@empty% +} +\newcommand*\tud@head@text@add[3][, ]{% + \def\tud@head@font{#2}% + \edef\tud@head@text{#3}% + \ifx\tud@head@text\@empty% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@delimiter{\tud@head@text@buffer}% + \def\tud@head@text@buffer{#1}% + \fi% + \if@tempswa\else% + \def\@tempa{% + \tud@head@text@first% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \settowidth{\@tempdima}{\@tempa}% + \ifdim\@tempdima>\textwidth\relax% + \@tempswatrue% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@first{\@tempa}% + \fi% + \fi% + \if@tempswa% + \edef\tud@head@text@second{% + \tud@head@text@second% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \fi% +} +\newcommand*\tud@head@text@write[1]{% + \raisebox{\dimexpr(\tud@dim@barheight-\@tempdimc-\totalheight)/2}% + [\dimexpr\tud@dim@barheight-\@tempdimc-\depth\relax][\depth]{#1}% +} +\newcommand\tud@head@text@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The given entries for the headline\MessageBreak% + (faculty, institute etc.) are #1\MessageBreak% + too wide for the textwidth% + }% + \global\let\tud@head@text@wrn\@gobble% +} +\newcommand\tud@head@logo@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The selected page layout means that the\MessageBreak% + logo of TUD extends beyond the printing area.\MessageBreak% + The inner margin is smaller than BCOR\MessageBreak% + (BCOR=\the\ta@bcor,\space inner margin=#1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (DIV=\the\ta@div)% + }% + \global\let\tud@head@logo@wrn\@gobble% +} +\newcommand*\tud@@mainlogo{} +\newcommand*\tud@mainlogo{% + \def\tud@@mainlogo{TU_Logo_SW}% + \ifpdfoutput{}{% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@@mainlogo{TU_Logo_WS}}{}% + }% + \def\@tempa{% + \includegraphics[width=\tud@dim@logowidth]{% + \tud@@mainlogo% + }% + }% + \settoheight{\tud@dim@logoheight}{\@tempa}\@tempa% +} +\newcommand*\headlogo[2][]{% + \ifnum\tud@ddc@head>0\relax% + \def\tud@ddc@head{0}% + \ClassWarning{\tudcls@name}% + {DDC logo is overwritten with \string#2}% + \fi% + \def\tud@head@@logo{#2}% + \def\tud@head@@@logo{#1}% +} +\newcommand*\logofile{} +\newcommand*\logofilename{} +\let\logofile\headlogo +\let\logofilename\headlogo +\newcommand*\tud@head@@logo{} +\newcommand*\tud@head@@@logo{} +\newcommand*\tud@head@logo{% + \ifx\tud@head@@logo\@empty\else% + \let\@tempa\tud@head@@@logo% + \pretocmd{\@tempa}{height=\tud@dim@logoheight,}{}{}% + \expandafter\includegraphics% + \expandafter[\@tempa]{\tud@head@@logo}% + \fi% +} +\newcommand*\tud@ps@headings{\tud@cmd@use{ps@headings}\tud@ps} +\newcommand*\tud@ps@myheadings{\tud@cmd@use{ps@myheadings}\tud@ps} +\newcommand*\tud@ps{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\quad\footnotesize\leftmark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\footnotesize\rightmark\quad\normalsize\pagemark% + }}% + }}% + \hss% + }% +}% +\newcommand*\tud@ps@plain{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\normalsize\pagemark% + }}% + }}% + \hss% + }% +} +\newlength{\tud@ta@textheight} +\newlength{\tud@ta@topmargin} +\newlength{\tud@ta@headheight} +\newlength{\tud@ta@headsep} +\newlength{\tud@ta@footskip} +\newlength{\tud@ta@headdiff} +\newlength{\tud@ta@footdiff} +\AfterCalculatingTypearea{% + \setlength{\tud@ta@textheight}{\textheight}% + \setlength{\tud@ta@topmargin}{\topmargin}% + \setlength{\tud@ta@headheight}{\headheight}% + \setlength{\tud@ta@headsep}{\headsep}% + \setlength{\tud@ta@footskip}{\footskip}% + \setlength{\tud@dim@headingsvskip}{.1\textheight}% + \let\@tempa\Gm@restore@org% + \if@atdocument\let\Gm@restore@org\relax\fi% + \tud@geometry@process% + \let\Gm@restore@org\@tempa% +} +\newcommand*\tud@geometry@hmargin{} +\newcommand*\tud@geometry@vmargin{} +\newcommand*\tud@geometry@pmargin{} +\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@process{% + \tud@geometry@set% + \ifcase \tud@geometry\relax% + \def\tud@geometry@hmargin{% + left=\dimexpr\oddsidemargin+1in,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@ta@footdiff,% + footskip=\dimexpr\tud@ta@footskip+\tud@ta@footdiff,% + }% + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in% + }% + \else% + \ifcase \tud@geometry\or% + \def\tud@geometry@hmargin{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + \if@twoside asymmetric,\fi% + }% + \or% + \def\tud@geometry@hmargin{% + left=.5\tud@dim@both,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% + \or% + \def\tud@geometry@hmargin{% + \if@twoside% + left=.4\tud@dim@both,% + twoside,% + \else% + left=.5\tud@dim@both,% + \fi% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% + \fi% + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@dmargin{% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep-\tud@dim@top% + }% + \fi% + \tud@geometry@@process% +} +\newcommand*\tud@geometry@@process{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudddc}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudpage}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% +} +\newcommand*\tud@geometry@@@process{% + \if@hincl% + \if@fincl% + includeheadfoot,% + \else% + includehead,ignorefoot,% + \fi% + \else% + \if@fincl% + ignorehead,includefoot,% + \else% + ignoreheadfoot,% + \fi% + \fi% +} +\NewEnviron{tudpage}[1][]{% + \clearpage% + \setlength{\tud@ta@headdiff}{\z@}% + \TUD@parameter@set[tudpage]{#1}% + \tud@multicols@check% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% +%% \ifstr{\abstractpagestyle}{empty}% +%% {\renewcommand*\abstractpagestyle{tudpage@empty}}% +%% {\renewcommand*\abstractpagestyle{tudpage@plain}}% + \pagestyle{tudpage@plain}% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +}[% + \gdef\@tempa{\loadgeometry{tudarea}}% + \aftergroup\@tempa% + \clearpage% +] +\TUD@parameter{tudpage}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{color}[HKS41]{% + \def\tud@head@color{#1}% + \tud@ddc@sethead% + \tud@ddc@setfoot% + }% + \TUD@parameter@let{colour}{color} + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{head}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{false}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{off}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{no}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@head{1}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{logo}{\def\tud@ddc@head{0}}{% + \ifstr{\@tempa}{cdfont}{\@tud@cdfontstrue}{% + \ifstr{\@tempa}{cdfonts}{\@tud@cdfontstrue}{% + \TUD@parameter@wrn{head}{false,ddc,ddccolor,logo,cdfont,cdfonts}% + }}}}}}}}}% + }% + \TUD@parameter@define{foot}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{empty}{% + \def\tud@ddc@foot{0}% + \renewcommand*\@oddfoot{}% + \let\@evenfoot\@oddfoot% + }{% + \ifstr{\@tempa}{plain}{\def\tud@ddc@foot{0}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@foot{1}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \TUD@parameter@wrn{foot}{plain,empty,ddc,ddccolor}% + }}}}% + }% + }% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{logo}[true]{\headlogo{#1}}% + \TUD@parameter@let{headlogo}{logo}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +\newcommand*\tud@ddc@sethead{% + \ifcase \tud@ddc@head\relax\or% + \def\tud@head@@logo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@head@@logo{DDC-30}}{}% + \or% + \def\tud@head@@logo{DDC-09}% + \fi% +} +\newcommand*\tud@foot@logo{} +\newcommand*\tud@ddc@setfoot{% + \ifcase \tud@ddc@foot\relax\or% + \def\tud@foot@logo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@foot@logo{DDC-28}}{}% + \or% + \def\tud@foot@logo{DDC-07}% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \renewcommand*\@oddfoot{% + \parbox[b]{\textwidth}{% + \hfill\includegraphics[height=\tud@dim@ddcheight]{\tud@foot@logo}% + }% + }% + \let\@evenfoot\@oddfoot% + \fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@color@partfont{black} +\newcommand*\tud@font@heading{\if@tud@din\dinbn\fi\tud@raggedright} +\newcommand*\tud@font@heading@size{} +\newcommand*\tud@font@heading@numsize{} +\let\tud@font@heading@size\size@part% +\let\tud@font@heading@numsize\size@partnumber% +\newkomafont{tud@heading}{\tud@font@heading\tud@font@heading@size}% +\newcommand*\tud@font@part{\usekomafont{tud@heading}\color{\tud@color@partfont}} +\newcommand*\tud@font@part@number{\tud@font@part\tud@font@heading@numsize} +\newlength{\chapterheadingvskip} +\newlength{\headingsvskip} +\let\headingsvskip\chapterheadingvskip +\newcommand*\tud@layout@process{% + \ifcase \tud@layout@title\relax% + \tud@cmd@restore{maketitle}% + \tud@cmd@restore{@maketitle}% + \tud@font@koma@reset{title}% + \tud@font@koma@reset{subtitle}% + \tud@font@koma@reset{subject}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@font@koma@set{title}{% + \usekomafont{tud@heading}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{\color{\tud@color@titlefont}\sffamily}% + \let\maketitle\tud@maketitle% + \fi% + \ifcase \tud@layout@part\relax% + \tud@cmd@restore{partheadstartvskip}% + \tud@cmd@restore{partheadmidvskip}% + \tud@cmd@restore{@part}% + \tud@sectioning@reset[addpart]{part}% + \tud@font@koma@reset{partnumber}% + \else% + \tud@cmd@store{partheadstartvskip}% + \tud@cmd@store{partheadmidvskip}% + \tud@cmd@store{@part}% + \tud@sectioning@set[addpart]{part}{\tud@font@part}% + \tud@font@koma@set{partnumber}{\tud@font@part@number}% + \renewcommand*\partheadmidvskip{\vskip.3\baselineskip}% + \let\partheadstartvskip\tud@partheadstartvskip% + \let\@part\tud@@part% + \fi% + \ifcase \tud@layout@part\relax% + \tud@sectioning@reset[addsec]{section}% + \tud@sectioning@reset{subsection}% + \tud@sectioning@reset{subsubsection}% + \tud@sectioning@reset{minisec}% + \else% + \tud@sectioning@set[addsec]{section}{\tud@font@heading}% + \tud@sectioning@set{subsection}{\tud@font@heading}% + \tud@sectioning@set{subsubsection}{\tud@font@heading}% + \tud@sectioning@set{minisec}{\tud@font@heading}% + \fi% +} +\newcommand*\tud@partheadstartvskip{} +\let\tud@partheadstartvskip\partheadstartvskip% +\pretocmd{\tud@partheadstartvskip}{% + \def\tud@color@partfont{black}% + \ifcase \tud@layout@part\relax\or\or% + \def\tud@color@partfont{HKS41}% + \fi% +}{}{\tud@patch@wrn{tud@partheadstartvskip}} +\let\tud@@part\@part +\patchcmd{\tud@@part}% + {\size@partnumber{\partformat}}% + {\size@partnumber{\tud@makeuppercase\partformat}}% + {}{\tud@patch@wrn{@part}}% +\newcommand*\tud@part{} +\newcommand*\tud@spart{} +\newcommand*\tud@addpart{} +\newcommand*\tud@saddpart{} +\newcommand*\tud@section{} +\newcommand*\tud@ssection{} +\newcommand*\tud@subsection{} +\newcommand*\tud@ssubsection{} +\newcommand*\tud@subsubsection{} +\newcommand*\tud@ssubsubsection{} +\newcommand*\tud@npart{} +\newcommand*\tud@opart{} +\newcommand*\tud@naddpart{} +\newcommand*\tud@oaddpart{} +\newcommand*\tud@nsection{} +\newcommand*\tud@osection{} +\newcommand*\tud@nsubsection{} +\newcommand*\tud@osubsection{} +\newcommand*\tud@nsubsubsection{} +\newcommand*\tud@osubsubsection{} +\newcommand*\tud@sectioning@set[3][]{% + \tud@cmd@store{#2}% + \ifstr{#2}{minisec}{% + \renewcommand\minisec[1]{% + \tud@cmd@use{minisec}{\tud@makeuppercase{##1}}% + }% + }{% + \tud@sectioning@case{#2}% + \ifstrempty{#1}{}{% + \tud@cmd@store{#1}% + \tud@sectioning@case{#1}% + }% + }% + \tud@font@koma@set{#2}{#3}% +} +\newcommand*\tud@sectioning@case[1]{% + \@namedef{#1}{\@ifstar{\@nameuse{tud@s#1}}{\@nameuse{tud@#1}}}% + \@namedef{tud@#1}{\@ifnextchar[%] + {\@nameuse{tud@o#1}}{\@nameuse{tud@n#1}}% + }% + \@namedef{tud@n#1}##1{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##1}}}% + \@namedef{tud@o#1}[##1]##2{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##2}}}% + \@namedef{tud@s#1}##1{\@nameuse{@@tud@#1}*{\tud@makeuppercase{##1}}}% +} +\newcommand*\tud@sectioning@reset[2][]{% + \tud@cmd@restore{#2}% + \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \tud@font@koma@reset{#2}% +} +\newcommand*\tud@font@koma@set[2]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% + \@namedef{tud@font@koma@#1}{#2}% +} +\newcommand*\tud@font@koma@reset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +\providecommand*\usesizeofkomafont[1]{% + \begingroup% + \usekomafont{#1}% + \edef\reserved@a{\noexpand\endgroup% + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \reserved@a\selectfont% +} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@fm@set[3]{% + \if@titlepage% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@double}{}{\newpage}% + \else% + \ifbool{@tud@#1@double}{% + \par% + \ifdim\pagetotal=\z@\relax% + \booltrue{@tud@#1@first}% + \fi% + \ifbool{@tud@#1@first}{% + \global\setlength{\tud@dim@double}{\textheight}% + \clearpage% + }{}% + \setbox0\vtop{\strut\tud@fm@body{#1}{#2}{#3}}% + \global\setlength{\tud@dim@double}% + {\dimexpr\tud@dim@double-\ht0-\dp0}\relax% + \ifdim\tud@dim@double>\z@\relax% + \tud@fm@vcenter{#1}{#2}{#3}% + \global\boolfalse{@tud@#1@first}% + \else% + \tud@fm@double@wrn{#1}% + \clearpage% + \global\booltrue{@tud@#1@first}% + \tud@fm@vcenter{#1}{#2}{#3}% + \fi% + }{% + \clearpage% + \tud@fm@vcenter{#1}{#2}{#3}% + \clearpage% + }% + \fi% + \else% + \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \else% + \ifnum\@nameuse{tud@#1@level}<2\tud@quoting\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\tud@endquoting\fi% + \fi% + \fi% +} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \def\@tempa{\phantomsection}% + \or% + \def\@tempa{% + \phantomsection% + \@afterindentfalse% + \begin{center}% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \end{center}% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip% + \@afterheading% + }% + \or% + \def\@tempa{\addsec*{#2}}% + \fi% + \ifbool{@tud@#1@toc}{% + \apptocmd{\@tempa}{\addsectiontocentry{}{#2}}{}{}% + }{}% + \@tempa% +} +\newcommand*\tud@fm@vcenter[3]{% + \ifdim\@tempdima>\dimexpr\textheight\relax% + \tud@fm@body{#1}{#2}{#3}% + \else% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \ifbool{@tud@#1@first}{\vspace*{\z@ \@plus 2fil}}{}% + }{}% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 3fil}}{}% + \fi% +} +\newcommand*\tud@fm@body[3]{% + \if@titlepage\@mkboth{}{}\fi% + \if@twocolumn% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \ifbool{@tud@#1@first}{% + \global\boolfalse{@tud@#1@first}% + \vspace{\dimexpr\bigskipamount-\parskip}% + }{}% + \fi% + \tud@fm@head{#1}{#2}% + #3\par% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip}% + \fi% + \else% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}\leavevmode% + \else% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \bigskip\vskip-\parskip\null% + \fi% + \fi% + \fi% +} +\let\tud@quoting\quotation +\let\tud@endquoting\endquotation +\AfterPackage{quoting}{% + \let\tud@quoting\quoting% + \let\tud@endquoting\endquoting% +} +\csundef{abstract} +\csundef{endabstract} +\NewEnviron{abstract}[1][]{% + \TUD@parameter@set[abstract]{#1}% + \tud@multicols@check% + \tud@fm@set{abstract}{\abstractname}{\BODY}% +} +\TUD@parameter{abstract}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% + \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +\newcommand*\confirmation{% + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\supporter{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\supporter{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% + \def\@tempb{% + \tud@fm@set{declaration}{\confirmationname}% + {\confirmationtext\endgraf\@confirmationclosing}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +\newcommand*\restriction{% + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\company{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\company{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% + \def\@tempb{% + \tud@fm@set{declaration}{\restrictionname}{\restrictiontext}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +\newcommand*\declaration[1][]{% + \clearpage% + \begingroup% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\selectlanguage{#1}} + \TUD@parameter@set{#1} + }% + \@tud@declaration@firsttrue% + \confirmation\restriction% + \endgroup% + \clearpage% +} +\TUD@parameter{declaration}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{company}{\company{#1}}% + \TUD@parameter@define{supporter}{\supporter{#1}}% + \TUD@parameter@define{place}{\place{#1}}% + \TUD@parameter@define{closing}{\confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% +} +\newcommand*\tud@fm@level@wrn[1]{% + \ClassWarning{\tudcls@name}{% + Headings in chapter style '#1=chapter'\MessageBreak% + are not recommended without the titlepage\MessageBreak% + option% + }% +} +\newcommand*\tud@fm@option@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The option '#1=double' is not supported\MessageBreak% + neither with chapter headings nor without an\MessageBreak% + activated titlepage% + }% +} +\newcommand*\tud@fm@double@wrn[1]{% + \ClassWarning{\tudcls@name}{% + It wasn't possible to use '#1=double'\MessageBreak% + because of too much content within #1% + }% +} +%%% From File: tudscr-title.dtx +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{tudscrtitle}{% + \usekomafont{subject}% + \if@tud@univers\fontfamily{\tud@univers}\fi% + \fontseries{\mdseries@sf}\large% +} +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@titleback{}% +\newcommand*\tud@maketitle[1][1]{% + \if@titlepage% + \ifcase \tud@layout@title\relax\or\or% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \or% + \def\tud@color@titlepage{HKS41}% + \def\tud@color@titlefont{HKS41!30}% + \def\tud@color@titlehead{white}% + \fi% + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% + \fi% + \if@titlepage% + \begin{titlepage}% + \if@tud@cover\else% + \setcounter{page}{#1}% + \let\footnotesize\small% + \let\footnoterule\relax% + \let\footnote\thanks% + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark% + \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}% + \tud@footnote@unhyper% + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% + \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \linespread{1}\selectfont% + \begingroup% + \usekomafont{tudscrtitle}% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead\par\null% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0}% + \fi% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}\@subject\par\null}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \vskip 1ex% + \fi% + \vskip 1ex% + \tud@multiple@split{@@author}% + \vskip 2ex% + \ifx\@thesis\@empty% + \if@tud@cover\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@date\space\ignorespaces\@datemore}% + \vskip\z@\@plus2fill% + \fi% + \else% + \vskip\z@\@plus2fill% + \begingroup% + \usekomafont{thesis}% + \if@tud@subjectthesis\else% + \tud@title@uppercase{\@thesis}% + \fi% + \if@tud@cover\else% + \ifx\@degree\@empty\else% + \def\@tempc{% + \@degree% + \ifx\@degreeabbr\@empty\else\space\@degreeabbr\fi% + }% + \usekomafont{tudscrtitle}% + \if@tud@subjectthesis% + \degreetext% + \vskip 2ex% + \usekomafont{subject}% + \@tempc% + \else% + \vskip 2ex% + \degreetext% + \vskip 2ex% + \usekomafont{thesis}% + \tud@title@uppercase{\@tempc}% + \fi% + \vskip 3ex% + \fi% + \fi% + \endgroup% + \vskip\z@\@plus3fill% + \fi% + \if@tud@cover\else% + \tud@title@names{supervisor} + \tud@title@names{referee} + \tud@title@names{advisor} + \ifx\@professor\@empty\else% + \vskip 2ex% + \professorname% + \vskip .5ex% + {\usekomafont{subject}\@professor}% + \fi% + \ifx\@thesis\@empty\else% + \ifdefstring{\@date}{\today}{% + \ifdefvoid{\@duedate}{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or + \string\date\space was not given.\MessageBreak% + Since a thesis is a self-contained work, an end\MessageBreak% + date should be specified by the author.\MessageBreak% + Nevertheless, today's date is used% + }% + }{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or \string\date\space + was not given. It's\MessageBreak% + substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% + \ifx\@date\@empty\else% + \vskip 2ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}\@date% + \space\ignorespaces\@datemore% + \ifx\@defensedate\@empty\else\newline% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + \@defensedate% + \fi% + \fi% + \fi% + \fi% + \if@tud@cover\vskip\z@\@plus2fill\fi% + \ifx\@publisher\@empty\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@publisher}% + \fi% + \endgroup% + \let\tud@titleback\relax% + \if@twoside% + \@tempswatrue% + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty% + \@tempswafalse% + \fi\fi% + \if@tempswa% + \gdef\tud@titleback{% + \next@tpage% + \loadgeometry{tudarea}% + \begin{minipage}[t]{\textwidth}% + \@uppertitleback% + \end{minipage}\par% + \vfill% + \begin{minipage}[b]{\textwidth}% + \@lowertitleback% + \end{minipage}\par% + \@thanks\let\@thanks\@empty% + }% + \fi% + \fi% + \def\@tempa{% + \tud@pagecolor{\tud@color@titlepage}% + \def\tud@head@color{\tud@color@titlehead}% + \color{\tud@color@titlefont}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% + \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \ifnum\tud@ddc@head>0\tud@ddc@sethead\fi% + \ifnum\tud@ddc@foot>0\tud@ddc@setfoot\fi% + \ifnum\tud@ddc@foot=\z@\relax% + \thispagestyle{tudpage@empty}% + \else% + \thispagestyle{tudpage@plain}% + \fi% + }% + \if@tud@cover% + \begingroup% + \@tempa% + \cleardoubleemptypage% + \tud@restorepagecolor% + \endgroup% + \else% + \begingroup% + \@tempa% + \@thanks\global\let\@thanks\@empty% + \clearpage% + \ifx\@dedication\@empty\else\thispagestyle{empty}\fi% + \loadgeometry{tudarea}% + \tud@restorepagecolor% + \endgroup% + \tud@titleback% + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\Large\@dedication\par}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% + \end{titlepage}% + \loadgeometry{tudarea}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% + \tud@footnote@rehyper% + \fi% + \else% + \let\@maketitle\tud@@maketitle% + \tud@cmd@use{maketitle}[#1]% + \fi% +} +\robustify{\thanks}% +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1} + \ifx\@tempa\@empty\else% + \begingroup% + \def\and{% + \letcs\@tempa{#1othername} + \ifx\@tempa\@empty% + \newline% + \else% + \begingroup% + \usekomafont{tudscrtitle}% + \vskip 1ex% + \@nameuse{#1othername}% + \vskip .5ex% + \endgroup% + \fi% + \def\and{\newline}% + }% + \vskip 2ex% + \@nameuse{#1name}% + \vskip .5ex% + \usekomafont{subject}% + \@nameuse{@#1}% + \endgroup% + \fi% +} +\newcommand*\@titledelim{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} +\newcommand*\tud@@maketitle{% + \next@tdpage% + \vspace*{\tud@dim@headingsvskip}% + \tud@extratitle% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \linespread{1}\selectfont% + \begingroup% + \usekomafont{tudscrtitle}% + \ifx\@titlehead\@empty\else% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead% + \end{minipage}\newline\null\par% + \fi% + \TUDoptions{subjectthesis}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + {\usekomafont{subject}\@subject\par\null}% + \fi% + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \fi% + \vskip 1ex% + \tud@multiple@split{@@author}% + \vskip 1ex% + \@date% + \ifx\@publisher\@empty\else% + \vskip 1ex% + \@publisher% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex% + \begin{center}% + \@dedication\par% + \end{center}% + \fi% + \vskip 2ex% + \ifx\@degree\@empty\else\tud@title@wrn{degree}\fi% + \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi% + \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% + \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% + \endgroup% +} +\newcommand*\tud@multiple@field{} +\newcommand*\tud@multiple@split[1]{% + \gdef\tud@multiple@field{#1}% + \begingroup% + \let\and\relax% + \edef\@tempa{\csname#1\endcsname\and}% + \expandafter\endgroup% + \expandafter\tud@multiple@@split\@tempa\relax% +} +\newcommand*\tud@multiple@@split{}% +\def\tud@multiple@@split#1\and#2\relax{% + \expandafter\csname tud@split\tud@multiple@field\endcsname{#1}{#2}% +} +\newcommand*\tud@multiple@@@split[2]{% + \ifx\relax#1\relax% + \def\@tempb{}% + \else% + \def\@tempb{#2\tud@multiple@@split#1\relax}% + \fi% + \@tempb% +} +\newcommand*\tud@multiple@setfields[2]{% + \letcs\@tempa{tud@split\tud@multiple@field @list}% + \let\and\relax% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \begingroup% + \@expandtwoargs\in@{\@tempb}{\csname\tud@multiple@field\endcsname}% + \ifin@ \@tempb{#1}\fi% + \endgroup% + \fi% + }% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \setbox0\vtop{#2}% + \endgroup% +} +\newcommand*\tud@newline{} +\newcommand*\tud@split@@author[2]{% + \tud@multiple@setfields{}{#1}% + \def\tud@newline{\vskip .5ex\let\tud@newline\newline}% + \begingroup% + \usekomafont{subject}% + \ignorespaces#1% + \endgroup% + \ifx\@authormore\@empty\else% + \tud@newline% + \@authormore% + \fi% + \ifx\@dateofbirth\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\dateofbirthtext}{}% + {}{\dateofbirthtext\@titledelim}\@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \space\placeofbirthtext\unskip\space\@placeofbirth% + \fi% + \else% + \tud@title@wrn{dateofbirth}% + \fi% + \fi% + \ifx\@matriculationnumber\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\matriculationnumbername}{}% + {}{\matriculationnumbername\@titledelim}% + \@matriculationnumber% + \else% + \tud@title@wrn{matriculationnumber}% + \fi% + \fi% + \ifx\@matriculationyear\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\matriculationyearname}{}% + {}{\matriculationyearname\@titledelim}% + \@matriculationyear% + \else% + \tud@title@wrn{matriculationyear}% + \fi% + \fi% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@split@@author@list{% + \authormore,\matriculationyear,\enrolmentyear,% + \matriculationnumber,\studentid,\matriculationid,% + \placeofbirth,\birthplace,\dateofbirth,\birthday,% +} +\newcommand\maketitleonecolumn[1][1]{% + \ifxnumber{#1}{% + \@ifnextchar[%] + {\@maketitleonecolumn{#1}}{\@maketitleonecolumn{#1}[]}% + }{\@maketitleonecolumn{1}[#1]}% +} +\newcommand\@maketitleonecolumn{} +\long\def\@maketitleonecolumn#1[#2]{% + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn\noindent#2\twocolumn% + \else% + \@longtwocolumn[{\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + \string\maketitleonecolumn\space can only be used in twocolumn mode% + }{}% + \fi% +} +\newsavebox\@longtwocolumnbox +\newcommand\@longtwocolumn[1][]{% + \onecolumn% + \begingroup% + \let\clearpage\relax% + \let\newpage\relax% + \global\setbox\@longtwocolumnbox\vbox{#1\bigskip}% + \endgroup% + \@whiledim\textheight<\ht\@longtwocolumnbox\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\@longtwocolumnbox to \textheight\clearpage% + }% + \twocolumn[\unvbox\@longtwocolumnbox]% +} +\newcommand*\tud@letsubjectthesis{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% + \ClassWarning{\tudcls@name}{% + The option 'subjectthesis' was activated.\MessageBreak% + The field 'subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\tudcls@name}{% + \@backslashchar#1\space has to be used with\MessageBreak% + activated titlepage option% + }% +} +\ifdef{\@makeextratitle}{% + \let\tud@extratitle\relax% +}{% + \newcommand*\tud@extratitle{% + \let\footnote\thanks% + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% + }% +} +\providecommand*\next@tdpage{% + \next@tpage% + \if@twoside\ifodd\value{page}\else% + \null\next@tpage% + \fi\fi% +}% +\newif\if@tud@cover +\newcommand*\makecover[1][]{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \let\tud@multiple@setfields\@gobbletwo% + \pretocmd{\tud@multiple@split}{\vskip\z@\@plus0.5fill}{}{}% + \let\@authormore\@empty% + \let\@dateofbirth\@empty% + \let\@matriculationnumber\@empty% + \let\@matriculationyear\@empty% + \TUD@parameter@set[cover]{cd,cdfonts,cdlayout=true,#1}% + \if@tud@cover@cdlayout% + \newgeometry{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both,% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% + \else% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \@tud@covertrue + \@titlepagetrue% + \tud@maketitle% + \endgroup% + \loadgeometry{tudarea}% +} +\newif\if@tud@cover@cdlayout +\TUD@parameter{cover}{% + \TUD@parameter@define{cd}[true]{\TUDoption{cd}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{on}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{yes}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{false}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{no}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{off}{\@tud@cover@cdlayoutfalse}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{\TUD@parameter@set[cover]{cdlayout=#1}}% +}% +%%% From File: tudscr-fields.dtx +\newcommand*\@faculty{} +\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}} +\newcommand*\@department{} +\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}} +\newcommand*\@institute{} +\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}} +\newcommand*\@chair{} +\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}} +\newcommand*\professorship{} +\let\professorship\chair +\newcommand*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \gdef\@@title{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + #1% + \endgroup% + }% +} +\newcommand*\@@author{} +\renewcommand*\author[1]{% + \gdef\@author{#1}% + \let\@@author\@author% +} +\newcommand*\student{} +\let\student\author +\newcommand*\@authormore{} +\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}} +\newcommand*\@thesis{} +\newcommand*\@@thesis{} +\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}} +\newcommand*\tud@thanks{} +\newcommand*\tud@thesis[2]{% + \AfterPreamble{% + \begingroup% + \global\let\tud@thanks\relax% + \def\thanks##1{\gdef\tud@thanks{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#2}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \ifstr{#1}{thesis}{\xdef\@@thesis{#2}}{}% + \endgroup% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{% + \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{% + \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{% + \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{% + \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{% + \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{% + \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{% + \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{% + \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{% + \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{% + \@namedef{@#1}{#2}% + }}}}}}}}}}}}}% + }% +} +\newcommand*\tud@@thesis[2]{% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% + \ifstr{#1}{subject}{% + \ifx\@thesis\empty\else% + \ClassWarning{\tudcls@name}{Field 'thesis' is overwritten by 'subject'}% + \fi% + \TUD@std@ifkey@lock{subjectthesis}{true}% + }{% + \TUD@std@ifkey@lock{subjectthesis}{false}% + }% +} +\renewcommand*\subject[1]{\tud@thesis{subject}{#1}} +\newcommand*\@degree{} +\newcommand*\@degreeabbr{} +\newcommand*\degree[2][]{% + \ifxblank{#1}{\gdef\@degreeabbr{}}{\gdef\@degreeabbr{(#1)}}% + \gdef\@degree{#2}% +} +\newcommand*\@professor{} +\newcommand*\professor[1]{\gdef\@professor{#1}} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{% + \gdef\@supervisor{#1}% + \ifx\@supporter\empty\gdef\@supporter{#1}\fi% +} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{% + \gdef\@supporter{#1}% + \renewcommand*\supervisor[1]{\gdef\@supervisor{##1}}% +} +\newcommand*\@company{} +\newcommand*\company[1]{\gdef\@company{#1}} +\newcommand*\@referee{} +\newcommand*\referee[1]{\gdef\@referee{#1}} +\newcommand*\@advisor{} +\newcommand*\advisor[1]{\gdef\@advisor{#1}} +\newcommand*\@matriculationnumber{} +\newrobustcmd*\matriculationnumber[1]{% + \gdef\@matriculationnumber{#1}% +} +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +\providecommand*\@publisher{} +\providecommand*\publisher[1]{\gdef\@publisher{#1}} +\let\publishers\publisher +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@@date% + \\[15mm plus 10mm minus 10mm]% + \begingroup% + \let\and\hfil% + \let\thanks\@gobble% + \let\footnote\@gobble% + \@@author% + \hfil% + \endgroup% +} +\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}} +\newcommand*\@place{Dresden} +\newcommand*\place[1]{\gdef\@place{#1}} +\newcommand*\location{} +\let\location\place +\newcommand*\printdate[1]{#1} +\BeforePackage{isodate}{\let\printdate\undefined} +\newcommand*\tud@printdate[2]{% + \ifx\today#2% + \gdef#1{#2}% + \else% + \ifxblank{#2}% + {\gdef#1{}}% + {\gdef#1{\printdate{#2}}}% + \fi% +} +\newcommand*\@datemore{} +\newcommand*\@@date{} +\let\@@date\@date +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% + \tud@printdate{\@date}{#2}% + \tud@printdate{\@@date}{#2}% +} +\newcommand*\submissiondate{} +\let\submissiondate\date +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +%%% From File: tudscr-locale.dtx +\newcommand*\tud@locale@define[1]{% + \providecommand*#1{% + \ClassError{\tudcls@name}{% + \string#1 not defined for language \languagename% + }{% + Currently the class \tudcls@name\space only supports the\MessageBreak% + languages german and english. You must define single\MessageBreak% + patterns by yourself, e.g.:\MessageBreak% + \string\providecaptionname\languagename{\string#1}{<text>}\MessageBreak% + To implement new languages, it would be nice if you could\MessageBreak% + contact the author of this class and send your definitions\MessageBreak% + to \filemail% + }% + }% +} +\tud@locale@define{\degreetext} +\tud@locale@define{\supervisorname} +\tud@locale@define{\supervisorothername} +\tud@locale@define{\refereename} +\tud@locale@define{\refereeothername} +\tud@locale@define{\advisorname} +\tud@locale@define{\advisorothername} +\tud@locale@define{\professorname} +\tud@locale@define{\datetext} +\tud@locale@define{\dateofbirthtext} +\tud@locale@define{\placeofbirthtext} +\tud@locale@define{\defensedatetext} +\tud@locale@define{\matriculationyearname} +\tud@locale@define{\matriculationnumbername} +\tud@locale@define{\coverpagename} +\tud@locale@define{\titlepagename} +\tud@locale@define{\confirmationname} +\tud@locale@define{\confirmationtext} +\tud@locale@define{\restrictionname} +\tud@locale@define{\restrictiontext} +\tud@locale@define{\listingname} +\tud@locale@define{\listlistingname} +\tud@locale@define{\dissertationname} +\tud@locale@define{\diplomathesisname} +\tud@locale@define{\masterthesisname} +\tud@locale@define{\bachelorthesisname} +\tud@locale@define{\studentresearchname} +\tud@locale@define{\projectpapername} +\tud@locale@define{\seminarpapername} +\tud@locale@define{\researchname} +\tud@locale@define{\logname} +\tud@locale@define{\internshipname} +\tud@locale@define{\reportname} +\newcommand*\tud@locale@german[1]{% + \providecaptionname{#1}{\degreetext}% + {zur Erlangung des akademischen Grades}% + \providecaptionname{#1}{\supervisorname}% + {Betreuer}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {Erstgutachter}% + \providecaptionname{#1}{\refereeothername}% + {Zweitgutachter}% + \providecaptionname{#1}{\advisorname}% + {Fachreferent}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Betreuender Hochschullehrer}% + \providecaptionname{#1}{\datetext}% + {Eingereicht am}% + \providecaptionname{#1}{\dateofbirthtext}% + {Geboren am}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Verteidigt am}% + \providecaptionname{#1}{\matriculationyearname}% + {Immatrikulationsjahr}% + \providecaptionname{#1}{\matriculationnumbername}% + {Matrikelnummer}% + \providecaptionname{#1}{\coverpagename}% + {Umschlagseite}% + \providecaptionname{#1}{\titlepagename}% + {Titelblatt}% + \providecaptionname{#1}{\confirmationname}% + {Selbstst\"andigkeitserkl\"arung}% + \providecaptionname{#1}{\confirmationtext}{% + Hiermit versichere ich, dass ich die vorliegende + \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es + wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel + und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} + \"ubernommenen Zitate habe ich als solche kenntlich gemacht. + \ifx\@supporter\empty% + Es waren keine weiteren Personen an der geistigen Herstellung der + vorliegenden Arbeit beteiligt. + \else% + W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden + Personen unterst\"utzt:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Weitere Personen waren an der geistigen Herstellung der + vorliegenden Arbeit nicht beteiligt. + \fi% + Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum + nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.% + }% + \providecaptionname{#1}{\restrictionname}% + {Sperrvermerk}% + \providecaptionname{#1}{\restrictiontext}{% + Diese \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + enth\"alt vertrauliche Informationen\ifx\@company\empty\else + , offengelegt durch \@company{}\fi. Ver\"offentlichungen, + Vervielf\"altigungen und Einsichtnahme~-- auch nur auszugsweise~-- + sind ohne ausdr\"uckliche Genehmigung \ifx\@company\empty\else + durch \@company{} \fi nicht gestattet, ebenso wie + Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die + vorliegende Arbeit ist nur dem Betreuer an der Hochschule, + den Gutachtern sowie den Mitgliedern des Pr\"ufungsausschusses + zug\"anglich zu machen.% + }% + \providecaptionname{#1}{\listingname}% + {Quelltext}% + \providecaptionname{#1}{\listlistingname}% + {Quelltextverzeichnis}% + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% + \providecaptionname{#1}{\diplomathesisname}% + {Diplomarbeit}% + \providecaptionname{#1}{\masterthesisname}% + {Master-Arbeit}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor-Arbeit}% + \providecaptionname{#1}{\studentresearchname}% + {Studienarbeit}% + \providecaptionname{#1}{\projectpapername}% + {Projektarbeit}% + \providecaptionname{#1}{\seminarpapername}% + {Seminararbeit}% + \providecaptionname{#1}{\researchname}% + {Forschungsbericht}% + \providecaptionname{#1}{\logname}% + {Protokoll}% + \providecaptionname{#1}{\internshipname}% + {Praktikumsbericht}% + \providecaptionname{#1}{\reportname}% + {Bericht}% +} +\newcommand*\tud@locale@english[1]{% + \providecaptionname{#1}{\degreetext}% + {to achieve the academic degree}% + \providecaptionname{#1}{\supervisorname}% + {Supervisor}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {First referee}% + \providecaptionname{#1}{\refereeothername}% + {Second referee}% + \providecaptionname{#1}{\advisorname}% + {Advisor}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Supervising professor}% + \providecaptionname{#1}{\datetext}% + {Submitted on}% + \providecaptionname{#1}{\dateofbirthtext}% + {Born on}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Defended on}% + \providecaptionname{#1}{\matriculationyearname}% + {Matriculation year}% + \providecaptionname{#1}{\matriculationnumbername}% + {Matriculation number}% + \providecaptionname{#1}{\coverpagename}% + {Cover page}% + \providecaptionname{#1}{\titlepagename}% + {Title page}% + \providecaptionname{#1}{\confirmationname}% + {Statement of authorship}% + \providecaptionname{#1}{\confirmationtext}{% + I hereby certify that I have authored this + \ifx\@@thesis\empty thesis\else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + independently and without undue assistance from third + parties. No other than the resources and references + indicated in this thesis have been used. I have marked + both literal and accordingly adopted quotations as such. + \ifx\@supporter\empty% + They were no additional persons involved in the spiritual + preparation of the present thesis. + \else% + During the preparation of this thesis I was only supported + by the following persons:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Additional persons were not involved in the spiritual + preparation of the present thesis. + \fi% + I am aware that violations of this declaration may lead to + subsequent withdrawal of the degree.% + }% + \providecaptionname{#1}{\restrictionname}% + {Restriction note}% + \providecaptionname{#1}{\restrictiontext}{% + This \ifx\@@thesis\empty thesis \else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + contains confidential data\ifx\@company\empty\else + , disclosed by \@company{}\fi. Publications, duplications and + inspections---even in part---are prohibited without explicit + permission\ifx\@company\empty\else\space by \@company{}\fi, + as well as publications about the content of this thesis. + This thesis may only be made accessible to the supervisor at + the university, the reviewers and also the members of the + examination board.% + }% + \providecaptionname{#1}{\listingname}% + {Listing}% + \providecaptionname{#1}{\listlistingname}% + {List of Listings}% + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% + \providecaptionname{#1}{\diplomathesisname}% + {Diploma Thesis}% + \providecaptionname{#1}{\masterthesisname}% + {Master Thesis}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor Thesis}% + \providecaptionname{#1}{\studentresearchname}% + {Student Research Project}% + \providecaptionname{#1}{\projectpapername}% + {Project Paper}% + \providecaptionname{#1}{\seminarpapername}% + {Seminar Paper}% + \providecaptionname{#1}{\researchname}% + {Research Report}% + \providecaptionname{#1}{\logname}% + {Log}% + \providecaptionname{#1}{\internshipname}% + {Internship Report}% + \providecaptionname{#1}{\reportname}% + {Report}% +} +\AtBeginDocument{% + \ifdef{\captionsenglish}{}{\let\captionsenglish\@empty}% + \tud@locale@german{ngerman}% + \tud@locale@german{german}% + \tud@locale@english{english}% + \tud@locale@english{USenglish}% + \tud@locale@english{american}% + \tud@locale@english{UKenglish}% + \tud@locale@english{british}% +} +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +%%% From File: tudscr-color.dtx +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \@ifpackageloaded{pagecolor}{}{% + \let\tud@pagecolor\pagecolor% + \let\tud@restorepagecolor\nopagecolor% + }% +} +\AfterPackage{pagecolor}{% + \let\tud@pagecolor\newpagecolor% + \let\tud@restorepagecolor\restorepagecolor% +} +\AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} +%%% From File: tudscr-misc.dtx +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\phantomsection{} +\let\phantomsection\relax +\newcommand*\tud@footnote@unhyper{} +\newcommand*\tud@footnote@rehyper{} +\AfterPackage{hyperref}{% + \renewcommand*\tudbookmark[3][]{% + \relax% + \if@tud@bookmarks% + \phantomsection% + \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}% + \fi% + }% + \renewcommand*\tud@footnote@unhyper{% + \let\Hy@saved@footnotemark\@footnotemark% + \let\Hy@saved@footnotetext\@footnotetext% + \let\@footnotemark\H@@footnotemark% + \let\@footnotetext\H@@footnotetext% + }% + \renewcommand*\tud@footnote@rehyper{% + \ifx\@footnotemark\H@@footnotemark% + \let\@footnotemark\Hy@saved@footnotemark% + \fi% + \ifx\@footnotetext\H@@footnotetext% + \let\@footnotetext\Hy@saved@footnotetext% + \fi% + }% +} +\AtBeginDocument{% + \pretocmd{\makecover}{% + \tudbookmark[1]{\coverpagename}{cover} + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{makecover}}% + \pretocmd{\maketitle}{% + \tudbookmark[1]{\titlepagename}{title} + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{maketitle}}% + \pretocmd{\tableofcontents}{% + \tudbookmark[1]{\contentsname}{toc}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{tableofcontents}}% +} +\newcommand*\tud@environmenthandler[1]{% + \def\@tempa{#1}% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% + \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% + \expandafter\selectlanguage\expandafter{\@tempb}% + }}% + \fi% + }% +} +\newcommand*\tud@multicols{1} +\newcommand*\tud@multicols@check{% + \ifdef{\multicols}{}{% + \ifnum\tud@multicols>1\relax% + \ClassWarning{\tudcls@name}{% + The option 'columns=\tud@multicols' is only supported,\MessageBreak% + when package 'multicol' is loaded% + }% + \def\tud@multicols{1}% + \fi% + }% +} +\newcommand*\tud@makeuppercase[1]{% + \ifx\f@family\tud@dinbold% + \begingroup% + \MakeTextUppercase{#1}% + \endgroup% + \else% + #1% + \fi% +%% \vphantom{\"A\"O\"U}% +} +\newcommand*\ifdin{% + \ifx\f@family\tud@dinbold\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +\endinput +%% +%% End of file `tudscrartcl.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty new file mode 100644 index 00000000000..b247e8bfd33 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbase.sty @@ -0,0 +1,235 @@ +%% +%% This is file `tudscrbase.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package') +%% tudscr-base.dtx (with options: `package,header') +%% tudscr-base.dtx (with options: `package,body') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +%%% From File: tudscr-base.dtx +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrbase}[% + \TUDVersion\space package (TUD-KOMA-Script-dependent basics and keyval usage)% +] +%%% From File: tudscr-base.dtx +\RequirePackage{scrbase} +\RequirePackage{kvsetkeys} +\RequirePackage{etoolbox} +\newcommand*\ifxblank{\expandafter\ifblank\expandafter} +\newcommand*\ifxnumber[1]{% + \if\relax\detokenize\expandafter{\romannumeral-0#1}\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +\DefineFamily{TUD} +\newcommand*\TUDProcessOptions{\FamilyProcessOptions{TUD}} +\newcommand*\TUDExecuteOptions{\FamilyExecuteOptions{TUD}} +\newcommand*\TUDDefaultOptions{cd,cdfont,tudbookmarks} +\newcommand*\TUDoptions{\FamilyOptions{TUD}} +\newcommand*\TUDoption{\FamilyOption{TUD}} +\newcommand*\TUD@noworlater{\AtEndOfClass} +\AtEndOfClass{\let\TUD@noworlater\@firstofone} +\newcommand*\TUD@key[2][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \@ifnextchar[%] + {\TUD@@key[#1]{#2}}{\TUD@@@key[#1]{#2}}% +} +\def\TUD@@key[#1]#2[#3]#4{% + \DefineFamilyKey[#1]{TUD}{#2}[{#3}]{\TUD@noworlater{#4}}% +} +\def\TUD@@@key[#1]#2#3{% + \DefineFamilyKey[#1]{TUD}{#2}{\TUD@noworlater{#3}}% +} +\newcommand*\TUD@ifkey[1][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \FamilyBoolKey[#1]{TUD}% +} +\newcommand*\TUD@set@ifkey{\FamilySetBool{TUD}} +\newcommand*\TUD@numkey[1][.\@currname.\@currext]{% + \DefineFamilyMember{TUD}% + \FamilyNumericalKey[#1]{TUD}% +} +\newcommand*\TUD@set@numkey{\FamilySetNumerical{TUD}} +\newcommand*\TUD@unknown@keyval{\FamilyUnknownKeyValue{TUD}} +\newcommand*\TUD@key@lock[2][.\@currname.\@currext]{% + \newbool{@tud@#2@locked}% + \TUD@key[{#1}]{#2}% +} +\newcommand*\TUD@std@ifkey@lock[2]{% + \ifbool{@tud@#1@locked}{}{% + \TUDoption{#1}{#2}% + \boolfalse{@tud@#1@locked}% + }% +} +\let\TUD@std@numkey@lock\TUD@std@ifkey@lock +\newcommand*\TUD@set@ifkey@lock[1]{% + \booltrue{@tud@#1@locked}% + \TUD@set@ifkey{#1}% +} +\newcommand*\TUD@set@numkey@lock[1]{% + \booltrue{@tud@#1@locked}% + \TUD@set@numkey{#1}% +} +\newcommand*\csdef@lock[2]{% + \csdef{#1}{#2}% + \newbool{#1@locked}% +} +\newcommand*\csstd@lock[2]{% + \ifbool{#1@locked}{}{% + \csdef{#1}{#2}% + \boolfalse{#1@locked}% + }% +} +\newcommand*\csset@lock[2]{% + \csdef{#1}{#2}% + \booltrue{#1@locked}% +} +\newcommand*\newbool@lock[2][false]{% + \newbool{#2}% + \newbool{#2@locked}% + \setbool{#2}{#1}% +} +\newcommand*\stdbool@lock[2]{% + \ifbool{#1@locked}{}{% + \setbool{#1}{#2}% + \boolfalse{#1@locked}% + }% +} +\newcommand*\setbool@lock[2]{% + \setbool{#1}{#2}% + \booltrue{#1@locked}% +} +\newcommand*\tud@cmd@store[1]{% + \ifcsdef{@@tud@#1}{}{\csletcs{@@tud@#1}{#1}}% +} +\newcommand*\tud@cmd@reset[1]{% + \ifcsdef{@@tud@#1}{% + \csletcs{#1}{@@tud@#1}% + }{}% +} +\newcommand*\tud@cmd@use[1]{% + \ifcsdef{@@tud@#1}{\@nameuse{@@tud@#1}}{\@nameuse{#1}}% +} +\newcommand*\tud@cmd@restore[1]{% + \ifcsdef{@@tud@#1}{% + \csletcs{#1}{@@tud@#1}% + \csundef{@@tud@#1}% + }{}% +} +\newcommand*\tud@patch@wrn[1]{% + \ClassWarning{\tudcls@name}{% + It wasn't possible to patch '#1'.\MessageBreak% + Please contact the author via \filemail.\MessageBreak% + Without a bugfix an erroneous output\MessageBreak% + may occur. + }% +} +\newcommand*\TUD@parameter@family{}% +\newcommand*\TUD@parameter[2]{% + \ifxblank{#1}{}{\xdef\TUD@parameter@family{#1}}% + #2% + \global\let\TUD@parameter@family\relax% +} +\let\TUD@parameter@family\relax% +\newcommand*\TUD@parameter@checkfamily[1]{% + \ifx\TUD@parameter@family\relax% + \PackageError{tudscrbase}{% + No family for keys given. + }{% + You have to use \string#1\space within the\MessageBreak% + second argument of \string\TUD@parameter. The first \MessageBreak% + argument of \string\TUD@parameter\space has to be a unique family name. + }% + \fi% +} +\newcommand*\TUD@parameter@define[1][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@define}% + \expandafter\define@key\expandafter{\TUD@parameter@family}% + }{% + \expandafter\define@key\expandafter{#1}% + }% +} +\newcommand*\TUD@parameter@let[3][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@let}% + \@expandtwoargs{\csletcs}% + {KV@\TUD@parameter@family @#2}{KV@\TUD@parameter@family @#3}% + }{% + \@expandtwoargs{\csletcs}{KV@#1@#2}{KV@#1@#3}% + }% +} +\newcommand*\TUD@parameter@sethandler[1][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@sethandler}% + \expandafter\kv@set@family@handler\expandafter{\TUD@parameter@family}% + }{% + \expandafter\kv@set@family@handler\expandafter{#1}% + }% +} +\newcommand*\TUD@parameter@set[1][]{% + \ifxblank{#1}{% + \TUD@parameter@checkfamily{\TUD@parameter@set}% + \expandafter\kvsetkeys\expandafter{\TUD@parameter@family}% + }{% + \expandafter\kvsetkeys\expandafter{#1}% + }% +} +\newcommand*\TUD@parameter@wrn[2]{% + \ClassWarning{\tudcls@name}{% + Parameter '#1' can only be used with these values:\MessageBreak% + #2% + }% +} +\endinput +%% +%% End of file `tudscrbase.sty'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls new file mode 100644 index 00000000000..aa3386c62bf --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrbook.cls @@ -0,0 +1,3047 @@ +%% +%% This is file `tudscrbook.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `class,book') +%% tudscr-base.dtx (with options: `class,book') +%% tudscr-fonts.dtx (with options: `class,option') +%% tudscr-pagestyle.dtx (with options: `class,book,option') +%% tudscr-layout.dtx (with options: `class,book,option') +%% tudscr-frontmatter.dtx (with options: `class,book,option') +%% tudscr-title.dtx (with options: `class,book,option') +%% tudscr-misc.dtx (with options: `class,book,option') +%% tudscr-fonts.dtx (with options: `class') +%% tudscr-pagestyle.dtx (with options: `class,book') +%% tudscr-layout.dtx (with options: `class,book') +%% tudscr-frontmatter.dtx (with options: `class,book') +%% tudscr-title.dtx (with options: `class,book') +%% tudscr-fields.dtx (with options: `class') +%% tudscr-locale.dtx (with options: `class,book') +%% tudscr-color.dtx (with options: `class') +%% tudscr-misc.dtx (with options: `class,book') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +\newcommand*\cls@name{book} +\newcommand*\scrcls@name{scrbook} +\newcommand*\tudcls@name{tudscrbook} +\newcommand*\filemail{tudscr@gmail.com} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{\tudcls@name}% + [\TUDVersion\space document class (\cls@name)]% +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\filemail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-fonts.dtx +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {light}{1},{lightfont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},% + {din}{4},% + {serifmath}{5},{serif}{5},{nosansmath}{5},{nosans}{5},% + {sansmath}{6},{sans}{6},% + {upgreek}{7},{uprightgreek}{7},{uprightGreek}{7},% + {slgreek}{8},{slantedgreek}{8},{slantedGreek}{8},% + }{#1}% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont}% + \or + \TUDoptions{din=false}% + \or + \TUDoptions{din}% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek}% + \fi% +} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \if@atdocument% + \if@tud@cdfonts% + \tud@font@cdfonts% + \else% + \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{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \tud@cmd@restore{mdseries@rm}% + \tud@cmd@restore{bfseries@rm}% + \tud@cmd@restore{mdseries@sf}% + \tud@cmd@restore{bfseries@sf}% + \tud@cmd@restore{mdseries@tt}% + \tud@cmd@restore{bfseries@tt}% + \edef\rmdef@ult{\rmdefault} + \edef\sfdef@ult{\sfdefault} + \edef\ttdef@ult{\ttdefault} + \edef\bfdef@ult{\bfdefault} + \edef\mddef@ult{\mddefault} + \normalfont\selectfont% + \fi% + \tud@layout@process% + \else% + \if@tud@cdfonts% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \fi% +} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfonts=true}% + \else% + \TUDoptions{cdfonts=false}% + \fi% +} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \if@tud@cdfonts% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +\newif\if@tud@din\@tud@dintrue +\TUD@ifkey{din}{@tud@din} +\newif\if@tud@sansmath +\TUD@key@lock{sansmath}[true]{% + \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +%%% From File: tudscr-pagestyle.dtx +\newcommand*\tud@ddc@head{0} +\TUD@numkey{ddc}[true]{tud@ddc@head}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +\TUD@key{ddchead}[true]{\TUDoptions{ddc=#1}} +\newcommand*\tud@ddc@foot{0} +\TUD@numkey{ddcfoot}[true]{tud@ddc@foot}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +\newif\if@tud@widehead +\TUD@key@lock{widehead}[true]{% + \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +} +\newif\if@tud@cdfoot +\TUD@key{cdfoot}[true]{% + \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \if@atdocument% + \if@tud@cdfoot% + \tud@cmd@store{ps@headings}% + \tud@cmd@store{ps@myheadings}% + \tud@cmd@store{ps@plain}% + \let\ps@headings\tud@ps@headings% + \let\ps@myheadings\tud@ps@myheadings% + \let\ps@plain\tud@ps@plain% + \else% + \tud@cmd@restore{ps@headings}% + \tud@cmd@restore{ps@myheadings}% + \tud@cmd@restore{ps@plain}% + \fi% + \clearpage% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \fi% +} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfoot}% + \else% + \TUDoptions{cdfoot=false}% + \fi% +} +\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot}\pagestyle{headings}\fi} +\newcommand*\tud@currentpagestyle{plain} +\apptocmd{\pagestyle}{% + \def\tud@currentpagestyle{#1}}{}{\tud@patch@wrn{pagestyle}% +} +\newcommand*\tud@geometry{0} +\TUD@key@lock{geometry}[true]{% + \TUD@set@numkey@lock{geometry}{tud@geometry}{% + {false}{0},{off}{0},{no}{0},{typearea}{0},% + {true}{1},{on}{1},{yes}{1},{tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{normal}{2},{standard}{2},{std}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \if@atdocument\recalctypearea\fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@head@color{black} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +\csdef@lock{tud@layout@chapter}{0} +\TUD@key{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@title}{0}% + \csstd@lock{tud@layout@part}{0}% + \csstd@lock{tud@layout@chapter}{0}% + \or% + \csstd@lock{tud@layout@title}{1}% + \csstd@lock{tud@layout@part}{1}% + \csstd@lock{tud@layout@chapter}{1}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{2}% + \csstd@lock{tud@layout@part}{2}% + \csstd@lock{tud@layout@chapter}{2}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{3}% + \csstd@lock{tud@layout@part}{3}% + \csstd@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \TUD@std@ifkey@lock{widehead}{true}% + \fi% + \if@atdocument% + \tud@layout@process% + \else% + \ifcase \tud@cd\relax% + \TUD@std@numkey@lock{geometry}{false}% + \else% + \TUD@std@numkey@lock{geometry}{true}% + \fi% + \fi% +} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@title}{0}% + \or% + \csset@lock{tud@layout@title}{1}% + \or% + \csset@lock{tud@layout@title}{2}% + \or% + \csset@lock{tud@layout@title}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\TUD@key{cdpart}[true]{% + \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@part}{0}% + \or% + \csset@lock{tud@layout@part}{1}% + \or% + \csset@lock{tud@layout@part}{2}% + \or% + \csset@lock{tud@layout@part}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\TUD@key{cdchapter}[true]{% + \TUD@std@ifkey@lock{chapterpage}{false}% + \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@chapter}{0}% + \or% + \csset@lock{tud@layout@chapter}{1}% + \or% + \csset@lock{tud@layout@chapter}{2}% + \or% + \csset@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\newcommand*\tud@layout@switch{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% + {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% + {color}{3},{colour}{3}% +} +\TUD@key{color}[true]{% + \TUD@set@ifkey{color}{@tempswa}{#1}% + \TUD@set@numkey{color}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {true}{1},{on}{1},{yes}{1},{color}{1},{colour}{1},% + {full}{1},{colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% + {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% + }{#1}% + \ifcase \@tempa\relax% + \TUDoptions{cd}% + \or% + \TUDoptions{cd=color}% + \else% + \TUDoptions{cd=lite}% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +\newif\if@tud@parttitle +\TUD@key@lock{parttitle}[true]{% + \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% + \if@atdocument\tud@layout@process\fi% +} +\newif\if@tud@chapterpage +\TUD@key@lock{chapterpage}[true]{% + \TUD@set@ifkey@lock{chapterpage}{@tud@chapterpage}{#1}% +} +\newcommand*\tud@cleardoublepage{\cleardoubleoddpage} +\TUD@key{cleardoublespecialpage}[true]{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{color}{\TUDoptions{clearcolor}}{% + \ifstr{\@tempa}{colour}{\TUDoptions{clearcolor}}{% + \ifstr{\@tempa}{current}{% + \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% + }{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + }{% + \def\FamilyElseValue{% + , 'color', 'current' or any defined pagestyle e.g. 'empty','plain'% + }% + \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}% + \if@tempswa% + \def\tud@cleardoublepage{\cleardoubleoddpage}% + \else% + \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}% + \fi% + }% + }}}% +} +\newcommand*\tud@cleardoublespecialpage[2][]{% + \begingroup% + #2 + \ifboolexpr{bool {@twoside} and bool {@openright}}{% + \if@tud@clearcolor% + \def\@tempa{% + #1% + \tud@cleardoublepage% + \tud@restorepagecolor% + \endgroup% + }% + \else% + \def\@tempa{% + \endgroup% + \tud@restorepagecolor% + #1% + \tud@cleardoublepage% + }% + \fi% + }{% + \if@tud@clearcolor\tud@clearcolor@wrn\fi% + \def\@tempa{% + \tud@restorepagecolor% + \endgroup% + #1% + }% + }% + \@tempa% + \@afterindentfalse\@afterheading% +} +\newif\if@tud@clearcolor +\TUD@ifkey{clearcolor}{@tud@clearcolor} +\TUD@ifkey{clearcolour}{@tud@clearcolor} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@abstract@level{3} +\newbool@lock[true]{@tud@abstract@toc} +\newif\if@tud@abstract@double +\newif\if@tud@abstract@fil +\@tud@abstract@filtrue +\newif\if@tud@abstract@first +\@tud@abstract@firsttrue +\newlength{\tud@dim@double} +\TUD@key{abstract}[chapter]{% + \TUD@set@numkey{abstract}{@tempa}{% + {section}{2},{sect}{2},{sec}{2},% + {chapter}{3},{chap}{3},% + {new}{3},{std}{3},{heading}{3},% + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% + \ifcase \@tempa\relax% + \or% + \or% + \def\tud@abstract@level{2}% + \stdbool@lock{@tud@abstract@toc}{true}% + \or% + \def\tud@abstract@level{3}% + \stdbool@lock{@tud@abstract@toc}{true}% + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@doublefalse% + \or% + \@tud@abstract@doubletrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% +} +\newcommand*\tud@declaration@level{3} +\newbool@lock[true]{@tud@declaration@toc} +\newif\if@tud@declaration@double +\@tud@declaration@doubletrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +\newif\if@tud@declaration@first +\@tud@declaration@firsttrue +\TUD@key{declaration}[chapter]{% + \TUD@set@numkey{declaration}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {section}{2},{sect}{2},{sec}{2},% + {chapter}{3},{chap}{3},% + {new}{3},{std}{3},{heading}{3},% + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% + \ifcase \@tempa\relax% + \def\tud@declaration@level{0}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{1}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{2}% + \stdbool@lock{@tud@declaration@toc}{true}% + \or% + \def\tud@declaration@level{3}% + \stdbool@lock{@tud@declaration@toc}{true}% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@doublefalse% + \or% + \@tud@declaration@doubletrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% +} +%%% From File: tudscr-title.dtx +\newif\if@tud@subjectthesis +\TUD@key@lock{subjectthesis}[true]{% + \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% +} +%%% From File: tudscr-misc.dtx +\newif\if@tud@bookmarks +\TUD@ifkey{tudbookmarks}{@tud@bookmarks} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\gdef\expandafter #1\expandafter{#1}% + }% +} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +\TUDExecuteOptions{\TUDDefaultOptions} +\TUDProcessOptions +\LoadClass{\scrcls@name}[2012/07/29] +\AtEndPreamble{% + \tud@layout@process% + \recalctypearea% +} +\RequirePackage{textcase}[2004/10/07] +\RequirePackage{trimspaces}[2009/09/17] +\RequirePackage{geometry}[2010/09/12] +\RequirePackage{mweights}[2013/07/21] +\RequirePackage{environ}[2013/04/01] +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}[1999/02/16]}% + \@ifpackageloaded{tudscrcolor}{}{\RequirePackage{tudscrcolor}[\TUDVersion]}% +} +%%% From File: tudscr-fonts.dtx +\newif\if@tud@univers +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\def\@tempb#1{% + \ClassWarningNoLine{\tudcls@name}{% + #1 fonts not found. Please use on of the\MessageBreak% + installation scripts out of the tudscr-bundle,\MessageBreak% + which suits to your OS. A fallback layout is used% + }% +} +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% +} +\@tempa{\@tud@universtrue}{\@tempb{Univers}} +\if@tud@univers% + \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% + \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}% + \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}% + \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}% + \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}% + \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}% + \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}% + \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}% +\else + \newcommand*\univln{}% + \newcommand*\univrn{}% + \newcommand*\univbn{}% + \newcommand*\univxn{}% + \newcommand*\univls{}% + \newcommand*\univrs{}% + \newcommand*\univbs{}% + \newcommand*\univxs{}% +\fi +\DeclareTextFontCommand{\textuln}{\univln}% +\DeclareTextFontCommand{\texturn}{\univrn}% +\DeclareTextFontCommand{\textubn}{\univbn}% +\DeclareTextFontCommand{\textuxn}{\univxn}% +\DeclareTextFontCommand{\textuls}{\univls}% +\DeclareTextFontCommand{\texturs}{\univrs}% +\DeclareTextFontCommand{\textubs}{\univbs}% +\DeclareTextFontCommand{\textuxs}{\univxs}% +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% +} +\@tempa{% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% +}{% + \@tempb{DIN-Bold}% + \let\dinbn\sectfont% +} +\DeclareTextFontCommand{\textdbn}{\dinbn} +\edef\@tempa{\encodingdefault}\def\@tempb{T1} +\ifx\@tempa\@tempb + \def\tud@mathenc{T1} +\else + \def\tud@mathenc{OT1} +\fi +\DeclareMathVersion{univers} +\DeclareMathVersion{universbold} +\SetSymbolFont{operators}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} +\SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} +\SetSymbolFont{largesymbols}{univers}{U}{zeuex}{m}{n} +\SetSymbolFont{operators}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} +\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} +\SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{cmtl}{m}{n} +\SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} +\SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} +\DeclareMathVersion{dinbold} +\SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} +\SetSymbolFont{symbols}{dinbold}{OMS}{iwona}{ebc}{n} +\SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} +\SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} +\newcount\tud@greek@upGamma +\tud@greek@upGamma\Gamma +\newcount\tud@greek@offset +\let\@tempa\relax +\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} +\tud@greek@offset\@tempa +\advance\tud@greek@offset-\Gamma +\newcommand*\tud@greek@def[2]{% + \expandafter\@tempcnta\csname #1\endcsname% + \advance\@tempcnta#2% + \expandafter\mathchardef\csname #1\endcsname\@tempcnta% +} +\newcommand*\tud@greek@uc{% + Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% +} +\newcommand*\tud@greek@changeshape{% + \@for\@tempa:=\tud@greek@uc\do{% + \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% + }% +} +\newcommand*\tud@greek@slanted{% + \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% +} +\newcommand*\tud@greek@upright{% + \ifnum\Gamma>\tud@greek@upGamma% + \tud@greek@offset=-\tud@greek@offset% + \tud@greek@changeshape% + \tud@greek@offset=-\tud@greek@offset% + \fi% +} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} +\DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} +\DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} +\DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} +\DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} +\DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} +\DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} +\DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} +\DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} +\DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} +\DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} +\DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} +\DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} +\DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} +\DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} +\DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} +\DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} +\DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} +\newcommand*\tud@sansmath{% + \if@tud@univers% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \mathversion{normal}% + \fi% +} +\newcommand*\tud@serifmath{% + \if@tud@univers% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \mathversion{normal}% + \fi% +} +\newcommand*\tud@font@cdfonts{% + \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{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \tud@cmd@store{mdseries@rm}% + \tud@cmd@store{bfseries@rm}% + \tud@cmd@store{mdseries@sf}% + \tud@cmd@store{bfseries@sf}% + \tud@cmd@store{mdseries@tt}% + \tud@cmd@store{bfseries@tt}% + \if@tud@univers% + \if@tud@heavyfont% + \def\bfseries@rm{b}% + \def\bfseries@sf{b}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \def\bfseries@rm{m}% + \def\bfseries@sf{m}% + \def\mdseries@rm{l}% + \def\mdseries@sf{l}% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \fi% + \renewcommand*\sfdefault{\tud@univers}% + \else% + \def\bfseries@rm{bx}% + \def\bfseries@sf{bx}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{bx}% + \renewcommand*\mddefault{m}% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% + \renewcommand{\ttdefault}{cmtl}% + \def\bfseries@tt{m}% + \def\mdseries@tt{m}% + \edef\rmdef@ult{\rmdefault}% + \edef\sfdef@ult{\sfdefault}% + \edef\ttdef@ult{\ttdefault}% + \edef\bfdef@ult{\bfdefault}% + \edef\mddef@ult{\mddefault}% + \normalfont\selectfont% +} +\newcommand*\tud@font@mathfonts{% + \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% + \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% + \mathversion{normal}% +} +\newcommand*\tud@head@font@set{% + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\sfdefault}{bx}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% + {\encodingdefault}{\sfdefault}{\mdseries@sf}{n}{\tud@head@font@size}% + \if@tud@cdfonts\if@tud@univers% + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\tud@univers}{b}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% + {\encodingdefault}{\tud@univers}{\mdseries@sf}{n}{\tud@head@font@size}% + \fi\fi% +} +\AtBeginDocument{\if@tud@cdfonts\tud@font@cdfonts\fi\tud@font@mathfonts} +\AfterPackage{amsfonts}{% + \DeclareFontFamily{U}{msa}{}% + \DeclareFontShape{U}{msa}{m}{n}{% + <-9>cmbras8% + <9-10>cmbras9% + <10->cmbras10% + }{}% + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{% + <-9>cmbrbs8% + <9-10>cmbrbs9% + <10->cmbrbs10% + }{}% +} +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage{ragged2e}{% + \ifdef{\LaTeXraggedright}% + {\renewcommand*\tud@raggedright{\LaTeXraggedright}}{}% + \renewcommand*\tud@RaggedRight{\RaggedRight} +} +%%% From File: tudscr-pagestyle.dtx +\newlength{\tud@dim@left} +\newlength{\tud@dim@right} +\newlength{\tud@dim@both} +\newlength{\tud@dim@top} +\newlength{\tud@dim@bottom} +\newlength{\tud@dim@footskip} +\newlength{\tud@dim@headheight} +\newlength{\tud@dim@barheight} +\newlength{\tud@dim@headsep} +\newlength{\tud@dim@logox} +\newlength{\tud@dim@logoy} +\newlength{\tud@dim@logowidth} +\newlength{\tud@dim@logoheight} +\newlength{\tud@dim@thinline} +\newlength{\tud@dim@heavyline} +\newlength{\tud@dim@headingsvskip} +\newlength{\tud@dim@ddcheight} +\newcommand*\tud@head@font@size{} +\newcommand*\tud@geometry@set{% + \ifdim\paperheight<148.1mm\relax% + \setlength{\tud@dim@headheight}{17.5mm}% + \setlength{\tud@dim@barheight}{2.5mm}% + \setlength{\tud@dim@headsep}{6mm}% + \setlength{\tud@dim@logox}{5.5mm}% + \setlength{\tud@dim@logoy}{6.5mm}% + \setlength{\tud@dim@logowidth}{28.5mm}% + \setlength{\tud@dim@left}{15mm}% + \setlength{\tud@dim@right}{10mm}% + \setlength{\tud@dim@top}{12.5mm}% + \setlength{\tud@dim@bottom}{12.5mm}% + \setlength{\tud@dim@footskip}{6mm}% + \setlength{\tud@dim@heavyline}{0.75pt}% + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{4.5}% + \else\ifdim\paperheight<297.1mm\relax% + \setlength{\tud@dim@headheight}{35mm}% + \setlength{\tud@dim@barheight}{5mm}% + \setlength{\tud@dim@headsep}{12mm}% + \setlength{\tud@dim@logox}{11mm}% + \setlength{\tud@dim@logoy}{13.5mm}% + \setlength{\tud@dim@logowidth}{57mm}% + \setlength{\tud@dim@left}{30mm}% + \setlength{\tud@dim@right}{20mm}% + \setlength{\tud@dim@top}{25mm}% + \setlength{\tud@dim@bottom}{25mm}% + \setlength{\tud@dim@footskip}{12mm}% + \setlength{\tud@dim@heavyline}{1pt}% + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{9}% + \else\ifdim\paperheight<420.1mm\relax% + \setlength{\tud@dim@headheight}{50mm}% + \setlength{\tud@dim@barheight}{7mm}% + \setlength{\tud@dim@headsep}{17mm}% + \setlength{\tud@dim@logox}{15.5mm}% + \setlength{\tud@dim@logoy}{19mm}% + \setlength{\tud@dim@logowidth}{80mm}% + \setlength{\tud@dim@left}{42mm}% + \setlength{\tud@dim@right}{28mm}% + \setlength{\tud@dim@top}{35mm}% + \setlength{\tud@dim@bottom}{35mm}% + \setlength{\tud@dim@footskip}{17mm}% + \setlength{\tud@dim@heavyline}{1.4pt}% + \setlength{\tud@dim@thinline}{0.7pt}% + \def\tud@head@font@size{13}% + \else\ifdim\paperheight<594.1mm\relax% + \setlength{\tud@dim@headheight}{70mm}% + \setlength{\tud@dim@barheight}{10mm}% + \setlength{\tud@dim@headsep}{24mm}% + \setlength{\tud@dim@logox}{22mm}% + \setlength{\tud@dim@logoy}{27mm}% + \setlength{\tud@dim@logowidth}{114mm}% + \setlength{\tud@dim@left}{60mm}% + \setlength{\tud@dim@right}{40mm}% + \setlength{\tud@dim@top}{50mm}% + \setlength{\tud@dim@bottom}{50mm}% + \setlength{\tud@dim@footskip}{24mm}% + \setlength{\tud@dim@heavyline}{1.7pt}% + \setlength{\tud@dim@thinline}{1pt}% + \def\tud@head@font@size{13.5}% + \else\ifdim\paperheight<841.1mm\relax% + \setlength{\tud@dim@headheight}{100mm}% + \setlength{\tud@dim@barheight}{14mm}% + \setlength{\tud@dim@headsep}{34mm}% + \setlength{\tud@dim@logox}{31mm}% + \setlength{\tud@dim@logoy}{38mm}% + \setlength{\tud@dim@logowidth}{161.5mm}% + \setlength{\tud@dim@left}{85mm}% + \setlength{\tud@dim@right}{56.5mm}% + \setlength{\tud@dim@top}{71mm}% + \setlength{\tud@dim@bottom}{71mm}% + \setlength{\tud@dim@footskip}{34mm}% + \setlength{\tud@dim@heavyline}{1.9pt}% + \setlength{\tud@dim@thinline}{1.5pt}% + \def\tud@head@font@size{14}% + \else% + \setlength{\tud@dim@headheight}{140mm}% + \setlength{\tud@dim@barheight}{20mm}% + \setlength{\tud@dim@headsep}{48mm}% + \setlength{\tud@dim@logox}{44mm}% + \setlength{\tud@dim@logoy}{54mm}% + \setlength{\tud@dim@logowidth}{228mm}% + \setlength{\tud@dim@left}{120mm}% + \setlength{\tud@dim@right}{80mm}% + \setlength{\tud@dim@top}{100mm}% + \setlength{\tud@dim@bottom}{100mm}% + \setlength{\tud@dim@footskip}{48mm}% + \setlength{\tud@dim@heavyline}{2.1pt}% + \setlength{\tud@dim@thinline}{2pt}% + \def\tud@head@font@size{20}% + \fi\fi\fi\fi\fi% + \setlength{\tud@dim@both}% + {\dimexpr\tud@dim@left+\tud@dim@right}% + \setlength{\tud@dim@ddcheight}{.6\tud@dim@headheight}% + \setlength{\tud@ta@footdiff}% + {\dimexpr\tud@dim@ddcheight-\tud@ta@footskip+\baselineskip}% + \ifdim\tud@ta@footdiff<\z@\relax% + \setlength{\tud@ta@footdiff}{\z@}% + \fi% +} +\newcommand*\tud@head@text{} +\newcommand*\tud@head@text@first{} +\newcommand*\tud@head@text@second{} +\newcommand*\tud@head@text@delimiter{} +\newcommand*\tud@head@text@buffer{} +\newcommand*\tud@head@font{} +\newcommand*\tud@head@rule{} +\newcommand*\ps@tudpage@plain{% + \renewcommand*\@oddhead{% + \setlength{\@tempdima}% + {\dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left}% + \ifdim\@tempdima<\ta@bcor\relax% + \tud@head@logo@wrn{\the\@tempdima}% + \fi% + \ifx\@faculty\@empty% + \ClassWarningNoLine{\tudcls@name}{No faculty given}% + \faculty{\null}% + \fi% + \tud@head@font@set% + \@tempswafalse% + \def\tud@head@text@first{}% + \def\tud@head@text@second{}% + \def\tud@head@text@buffer{}% + \tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}% + \tud@head@text@add{\tud@head@font@light}{\@department}% + \tud@head@text@add{\tud@head@font@light}{\@institute}% + \tud@head@text@add{\tud@head@font@light}{\@chair}% + \settowidth{\@tempdima}{\tud@head@text@second}% + \ifdim\@tempdima>\textwidth\relax% + \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth}% + \fi% + \color{\tud@head@color}% + \vbox to \dimexpr\tud@dim@barheight+\tud@dim@headheight{% + \vfill\linespread{0}\selectfont% + \setlength{\@tempdima}{\tud@dim@logox}% + \addtolength{\@tempdima}{-\tud@dim@left}% + \hspace*{\@tempdima}% + \tud@mainlogo\hfill\tud@head@logo% + \setlength{\@tempdima}{\tud@dim@headheight}% + \addtolength{\@tempdima}{-\tud@dim@logoy}% + \addtolength{\@tempdima}{-\tud@dim@logoheight}% + \ifstr{\tud@head@color}{white}% + {\setlength{\@tempdimc}{\tud@dim@heavyline}}% + {\setlength{\@tempdimc}{\tud@dim@thinline}}% + \vspace*{\dimexpr\@tempdima-.5\@tempdimc}% + \def\tud@head@rule{% + \if@tud@widehead% + \setlength{\@tempdima}{\oddsidemargin}% + \if@twoside\ifodd\c@page\else% + \setlength{\@tempdima}{\evensidemargin}% + \fi\fi% + \addtolength{\@tempdima}{1in}% + \setlength{\@tempdimb}{\paperwidth}% + \else% + \setlength{\@tempdima}{\z@}% + \setlength{\@tempdimb}{\textwidth}% + \fi% + \hfuzz=2\@tempdima% + \hspace*{-\@tempdima}% + \rule[-.5\@tempdimc]{\@tempdimb}{\@tempdimc}% + \newline% + }% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@first}% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@second}% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \vspace*{-\tud@dim@barheight}% + \fi% + \vspace*{\dimexpr\@tempdimc-\tud@dim@barheight}% + }% + }% + \let\@evenhead\@oddhead% +} +\newcommand*\ps@tudpage@empty{% + \ps@tudpage@plain% + \let\@mkboth\@gobbletwo% + \let\@oddfoot\@empty% + \let\@evenfoot\@empty% +} +\newcommand*\tud@head@text@add[3][, ]{% + \def\tud@head@font{#2}% + \edef\tud@head@text{#3}% + \ifx\tud@head@text\@empty% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@delimiter{\tud@head@text@buffer}% + \def\tud@head@text@buffer{#1}% + \fi% + \if@tempswa\else% + \def\@tempa{% + \tud@head@text@first% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \settowidth{\@tempdima}{\@tempa}% + \ifdim\@tempdima>\textwidth\relax% + \@tempswatrue% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@first{\@tempa}% + \fi% + \fi% + \if@tempswa% + \edef\tud@head@text@second{% + \tud@head@text@second% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \fi% +} +\newcommand*\tud@head@text@write[1]{% + \raisebox{\dimexpr(\tud@dim@barheight-\@tempdimc-\totalheight)/2}% + [\dimexpr\tud@dim@barheight-\@tempdimc-\depth\relax][\depth]{#1}% +} +\newcommand\tud@head@text@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The given entries for the headline\MessageBreak% + (faculty, institute etc.) are #1\MessageBreak% + too wide for the textwidth% + }% + \global\let\tud@head@text@wrn\@gobble% +} +\newcommand\tud@head@logo@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The selected page layout means that the\MessageBreak% + logo of TUD extends beyond the printing area.\MessageBreak% + The inner margin is smaller than BCOR\MessageBreak% + (BCOR=\the\ta@bcor,\space inner margin=#1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (DIV=\the\ta@div)% + }% + \global\let\tud@head@logo@wrn\@gobble% +} +\newcommand*\tud@@mainlogo{} +\newcommand*\tud@mainlogo{% + \def\tud@@mainlogo{TU_Logo_SW}% + \ifpdfoutput{}{% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@@mainlogo{TU_Logo_WS}}{}% + }% + \def\@tempa{% + \includegraphics[width=\tud@dim@logowidth]{% + \tud@@mainlogo% + }% + }% + \settoheight{\tud@dim@logoheight}{\@tempa}\@tempa% +} +\newcommand*\headlogo[2][]{% + \ifnum\tud@ddc@head>0\relax% + \def\tud@ddc@head{0}% + \ClassWarning{\tudcls@name}% + {DDC logo is overwritten with \string#2}% + \fi% + \def\tud@head@@logo{#2}% + \def\tud@head@@@logo{#1}% +} +\newcommand*\logofile{} +\newcommand*\logofilename{} +\let\logofile\headlogo +\let\logofilename\headlogo +\newcommand*\tud@head@@logo{} +\newcommand*\tud@head@@@logo{} +\newcommand*\tud@head@logo{% + \ifx\tud@head@@logo\@empty\else% + \let\@tempa\tud@head@@@logo% + \pretocmd{\@tempa}{height=\tud@dim@logoheight,}{}{}% + \expandafter\includegraphics% + \expandafter[\@tempa]{\tud@head@@logo}% + \fi% +} +\newcommand*\tud@ps@headings{\tud@cmd@use{ps@headings}\tud@ps} +\newcommand*\tud@ps@myheadings{\tud@cmd@use{ps@myheadings}\tud@ps} +\newcommand*\tud@ps{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\quad\footnotesize\leftmark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\footnotesize\rightmark\quad\normalsize\pagemark% + }}% + }}% + \hss% + }% +}% +\newcommand*\tud@ps@plain{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\normalsize\pagemark% + }}% + }}% + \hss% + }% +} +\newlength{\tud@ta@textheight} +\newlength{\tud@ta@topmargin} +\newlength{\tud@ta@headheight} +\newlength{\tud@ta@headsep} +\newlength{\tud@ta@footskip} +\newlength{\tud@ta@headdiff} +\newlength{\tud@ta@footdiff} +\AfterCalculatingTypearea{% + \setlength{\tud@ta@textheight}{\textheight}% + \setlength{\tud@ta@topmargin}{\topmargin}% + \setlength{\tud@ta@headheight}{\headheight}% + \setlength{\tud@ta@headsep}{\headsep}% + \setlength{\tud@ta@footskip}{\footskip}% + \setlength{\tud@dim@headingsvskip}{.1\textheight}% + \let\@tempa\Gm@restore@org% + \if@atdocument\let\Gm@restore@org\relax\fi% + \tud@geometry@process% + \let\Gm@restore@org\@tempa% +} +\newcommand*\tud@geometry@hmargin{} +\newcommand*\tud@geometry@vmargin{} +\newcommand*\tud@geometry@pmargin{} +\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@process{% + \tud@geometry@set% + \ifcase \tud@geometry\relax% + \def\tud@geometry@hmargin{% + left=\dimexpr\oddsidemargin+1in,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@ta@footdiff,% + footskip=\dimexpr\tud@ta@footskip+\tud@ta@footdiff,% + }% + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in% + }% + \else% + \ifcase \tud@geometry\or% + \def\tud@geometry@hmargin{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + \if@twoside asymmetric,\fi% + }% + \or% + \def\tud@geometry@hmargin{% + left=.5\tud@dim@both,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% + \or% + \def\tud@geometry@hmargin{% + \if@twoside% + left=.4\tud@dim@both,% + twoside,% + \else% + left=.5\tud@dim@both,% + \fi% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% + \fi% + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@dmargin{% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep-\tud@dim@top% + }% + \fi% + \tud@geometry@@process% +} +\newcommand*\tud@geometry@@process{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudddc}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudpage}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% +} +\newcommand*\tud@geometry@@@process{% + \if@hincl% + \if@fincl% + includeheadfoot,% + \else% + includehead,ignorefoot,% + \fi% + \else% + \if@fincl% + ignorehead,includefoot,% + \else% + ignoreheadfoot,% + \fi% + \fi% +} +\NewEnviron{tudpage}[1][]{% + \clearpage% + \setlength{\tud@ta@headdiff}{\z@}% + \TUD@parameter@set[tudpage]{#1}% + \tud@multicols@check% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% +%% \ifstr{\abstractpagestyle}{empty}% +%% {\renewcommand*\abstractpagestyle{tudpage@empty}}% +%% {\renewcommand*\abstractpagestyle{tudpage@plain}}% + \pagestyle{tudpage@plain}% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +}[% + \gdef\@tempa{\loadgeometry{tudarea}}% + \aftergroup\@tempa% + \clearpage% +] +\TUD@parameter{tudpage}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{color}[HKS41]{% + \def\tud@head@color{#1}% + \tud@ddc@sethead% + \tud@ddc@setfoot% + }% + \TUD@parameter@let{colour}{color} + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{head}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{false}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{off}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{no}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@head{1}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{logo}{\def\tud@ddc@head{0}}{% + \ifstr{\@tempa}{cdfont}{\@tud@cdfontstrue}{% + \ifstr{\@tempa}{cdfonts}{\@tud@cdfontstrue}{% + \TUD@parameter@wrn{head}{false,ddc,ddccolor,logo,cdfont,cdfonts}% + }}}}}}}}}% + }% + \TUD@parameter@define{foot}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{empty}{% + \def\tud@ddc@foot{0}% + \renewcommand*\@oddfoot{}% + \let\@evenfoot\@oddfoot% + }{% + \ifstr{\@tempa}{plain}{\def\tud@ddc@foot{0}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@foot{1}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \TUD@parameter@wrn{foot}{plain,empty,ddc,ddccolor}% + }}}}% + }% + }% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{logo}[true]{\headlogo{#1}}% + \TUD@parameter@let{headlogo}{logo}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +\newcommand*\tud@ddc@sethead{% + \ifcase \tud@ddc@head\relax\or% + \def\tud@head@@logo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@head@@logo{DDC-30}}{}% + \or% + \def\tud@head@@logo{DDC-09}% + \fi% +} +\newcommand*\tud@foot@logo{} +\newcommand*\tud@ddc@setfoot{% + \ifcase \tud@ddc@foot\relax\or% + \def\tud@foot@logo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@foot@logo{DDC-28}}{}% + \or% + \def\tud@foot@logo{DDC-07}% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \renewcommand*\@oddfoot{% + \parbox[b]{\textwidth}{% + \hfill\includegraphics[height=\tud@dim@ddcheight]{\tud@foot@logo}% + }% + }% + \let\@evenfoot\@oddfoot% + \fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@color@partfont{black} +\newcommand*\tud@color@partpage{white} +\newcommand*\tud@color@parthead{black} +\newcommand*\tud@color@chapterfont{black} +\newcommand*\tud@color@chapterpage{white} +\newcommand*\tud@font@heading{\if@tud@din\dinbn\fi\tud@raggedright} +\newcommand*\tud@font@heading@size{} +\newcommand*\tud@font@heading@numsize{} +\let\tud@font@heading@size\size@part% +\let\tud@font@heading@numsize\size@partnumber% +\newkomafont{tud@heading}{\tud@font@heading\tud@font@heading@size}% +\newcommand*\tud@font@part{\usekomafont{tud@heading}\color{\tud@color@partfont}} +\newcommand*\tud@font@part@number{\tud@font@part\tud@font@heading@numsize} +\newcommand*\tud@font@part@title{\tud@font@part\usesizeofkomafont{section}} +\newcommand*\tud@font@chapter{% + \usekomafont{tud@heading}% + \color{\tud@color@chapterfont}% +} +\newlength{\chapterheadingvskip} +\newlength{\headingsvskip} +\let\headingsvskip\chapterheadingvskip +\newcommand*\tud@layout@process{% + \ifcase \tud@layout@title\relax% + \tud@cmd@restore{maketitle}% + \tud@cmd@restore{@maketitle}% + \tud@font@koma@reset{title}% + \tud@font@koma@reset{subtitle}% + \tud@font@koma@reset{subject}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@font@koma@set{title}{% + \usekomafont{tud@heading}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{\color{\tud@color@titlefont}\sffamily}% + \let\maketitle\tud@maketitle% + \fi% + \ifcase \tud@layout@part\relax% + \tud@cmd@restore{partheadstartvskip}% + \tud@cmd@restore{partheadmidvskip}% + \tud@cmd@restore{partheadendvskip}% + \tud@cmd@restore{partheademptypage}% + \tud@cmd@restore{partpagestyle}% + \tud@cmd@restore{@part}% + \tud@cmd@restore{@spart}% + \tud@sectioning@reset[addpart]{part}% + \tud@font@koma@reset{partnumber}% + \else% + \tud@cmd@store{partheadstartvskip}% + \tud@cmd@store{partheadmidvskip}% + \tud@cmd@store{partheadendvskip}% + \tud@cmd@store{partheademptypage}% + \tud@cmd@store{partpagestyle}% + \tud@cmd@store{@part}% + \tud@cmd@store{@spart}% + \if@tud@parttitle% + \tud@sectioning@set[addpart]{part}{\tud@font@part@title}% + \tud@font@koma@set{partnumber}{\tud@font@part@title}% + \renewcommand*\partheadmidvskip{\enskip}% + \else% + \tud@sectioning@set[addpart]{part}{\tud@font@part}% + \tud@font@koma@set{partnumber}{\tud@font@part@number}% + \renewcommand*\partheadmidvskip{% + \par\nobreak\vspace{.5\baselineskip}% + }% + \fi% + \let\partheadstartvskip\tud@partheadstartvskip% + \let\@part\tud@@part% + \let\@spart\tud@@spart% + \renewcommand*\partheadendvskip{% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@partpage}% + \def\tud@head@color{\tud@color@parthead}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \begingroup% + \let\ps@empty\ps@tudpage@empty% + \let\ps@plain\ps@tudpage@plain% + \clearpage% + \endgroup% + } + \loadgeometry{tudarea}% + }% + \renewcommand*\partheademptypage{}% + \fi% + \ifcase \tud@layout@chapter\relax% + \tud@cmd@restore{chapterheadstartvskip}% + \tud@cmd@restore{chapterformat}% + \tud@cmd@restore{@chapter}% + \tud@cmd@restore{@schapter}% + \tud@cmd@restore{@@makechapterhead}% + \tud@cmd@restore{set@@@@preamble}% + \tud@sectioning@reset[addchap]{chapter}% + \tud@font@koma@reset{chapterprefix}% + \tud@sectioning@reset[addsec]{section}% + \tud@sectioning@reset{subsection}% + \tud@sectioning@reset{subsubsection}% + \tud@sectioning@reset{minisec}% + \else% + \tud@cmd@store{chapterheadstartvskip}% + \tud@cmd@store{chapterformat}% + \tud@cmd@store{@chapter}% + \tud@cmd@store{@schapter}% + \tud@cmd@store{@@makechapterhead}% + \tud@cmd@store{set@@@@preamble}% + \tud@sectioning@set[addchap]{chapter}{\tud@font@chapter}% + \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% + \tud@sectioning@set[addsec]{section}{\tud@font@heading}% + \tud@sectioning@set{subsection}{\tud@font@heading}% + \tud@sectioning@set{subsubsection}{\tud@font@heading}% + \tud@sectioning@set{minisec}{\tud@font@heading}% + \renewcommand*\chapterheadstartvskip{% + \def\tud@color@chapterpage{white}% + \def\tud@color@chapterfont{black}% + \ifcase \tud@layout@chapter\relax\or\or% + \def\tud@color@chapterpage{white}% + \def\tud@color@chapterfont{HKS41}% + \or% + \def\tud@color@chapterpage{HKS41!10}% + \def\tud@color@chapterfont{HKS41}% + \fi% + \vspace*{\dimexpr\tud@ta@headdiff+\tud@dim@headingsvskip}% + \if@tud@chapterpage\else\vspace*{\chapterheadingvskip}\fi% + }% + \let\@@makechapterhead\tud@@@makechapterhead% + \let\set@@@@preamble\tud@set@@@@preamble% + \fi% +} +\newcommand*\tud@partheadstartvskip{% + \def\tud@color@partfont{black}% + \def\tud@color@partpage{white}% + \def\tud@color@parthead{black}% + \ifcase \tud@layout@part\relax\or\or% + \def\tud@color@partfont{HKS41}% + \def\tud@color@partpage{white}% + \def\tud@color@parthead{HKS41}% + \or% + \def\tud@color@partpage{HKS41}% + \def\tud@color@partfont{HKS41!30}% + \def\tud@color@parthead{white}% + \fi% + \loadgeometry{tudpage}% + \begingroup% + \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \if@tud@parttitle% + \tud@parttitle% + \else% + \usesizeofkomafont{partnumber}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}% + \fi% + \endgroup% +} +\newcommand*\tud@parttitle{% + \begingroup% + \usekomafont{tud@heading}% + \color{\tud@color@partfont}% + \tud@makeuppercase{\expandonce{\@@title}}% + \par\nobreak\vskip .5\baselineskip% + \endgroup% +} +\let\tud@@part\@part +\ifnum\scr@compatibility>\@nameuse{scr@v@3.11b}\relax + \patchcmd{\tud@@part}{% + \ifnumbered{part}{% + \size@partnumber{\partformat}% + \partheadmidvskip + }{}% + }{% + \ifnumbered{part}{% + \size@partnumber{\tud@makeuppercase\partformat}% + }{% + \size@partnumber{\strut}% + }% + \unskip\partheadmidvskip% + }{}{\tud@patch@wrn{@part}}% +\else + \patchcmd{\tud@@part}{% + \ifnum \c@secnumdepth >-2\relax + \size@partnumber{\partformat}% + \partheadmidvskip + \fi + }{% + \ifnum \c@secnumdepth >-2\relax% + \size@partnumber{\tud@makeuppercase\partformat}% + \else% + \size@partnumber{\strut}% + \fi% + \unskip\partheadmidvskip% + }{}{\tud@patch@wrn{@part}}% +\fi +\let\tud@@spart\@spart +\patchcmd{\tud@@spart}{% + \normalfont + \sectfont\nobreak\size@part +}{% + \normalfont\sectfont\nobreak% + \size@partnumber{\strut}% + \partheadmidvskip\unskip% + \size@part% +}{}{\tud@patch@wrn{@spart}} +\newcommand*\tud@partpreamble{% + \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% + \KOMAoptions{titlepage=false}% + \addtokomafont{disposition}{\color{\tud@color@partfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@partfont}}% + \color{\tud@color@partfont}% + \vskip\dimexpr\topskip+.9\baselineskip% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@@@makechapterhead{} +\let\tud@@@makechapterhead\@@makechapterhead +\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \if@chapterprefix% + \usesizeofkomafont{chapterprefix}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}% + \fi% + \tud@makeuppercase{\chapterformat}% +}{}{\tud@patch@wrn{@@makechapterhead}} +\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{% + \setlength{\parskip}{\z@}% + \size@chapter{#1}% +}{}{\tud@patch@wrn{@@makechapterhead}} +\newcommand*\tud@chapterpreamble{% + \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% + \KOMAoptions{titlepage=false}% + \if@tud@chapterpage% + \if@tud@cdfonts% + \if@tud@heavyfont% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont}% + \fi% + \fi% + \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% + \color{\tud@color@chapterfont}% + \fi% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@chapter@pre{% + \if@tud@chapterpage% + \tud@cmd@store{chapterpagestyle}% + \renewcommand*\chapterpagestyle{\partpagestyle}% + \@restonecolfalse% + \if@twocolumn\@restonecoltrue\onecolumn\fi% + \fi% +} +\newcommand*\tud@chapter@app{% + \if@tud@chapterpage% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@chapterpage}% + \def\tud@head@color{\tud@color@chapterfont}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}% + \clearpage% + }% + \tud@cmd@restore{chapterpagestyle}% + \if@restonecol\twocolumn\fi% + \fi% + \if@twocolumn% + \@afterindentfalse\@afterheading% + \fi% +} +\AtEndPreamble{% + \pretocmd{\tud@nchapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@nchapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@schapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@schapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@ochapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@ochapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@naddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@naddchap}{\tud@chapter@app}{}{} + \pretocmd{\tud@saddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@saddchap}{\tud@chapter@app}{}{} + \pretocmd{\tud@oaddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@oaddchap}{\tud@chapter@app}{}{} +} +\newcommand*\tud@clearcolor@wrn{% + \ClassWarning{\tudcls@name}{% + Option 'clearcolor' is only available together with\MessageBreak% + options 'twoside' and 'open=right'% + }% + \global\let\tud@clearcolor@wrn\relax% +} +\newcommand*\tud@set@@@@preamble{} +\let\tud@set@@@@preamble\set@@@@preamble +\patchcmd{\tud@set@@@@preamble}{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% +}{% + \def\@tempa####1@####2{\@nameuse{tud@####1preamble}}% + \hbox to\hsize{% + \let\@parboxrestore\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +\newcommand*\tud@part{} +\newcommand*\tud@spart{} +\newcommand*\tud@addpart{} +\newcommand*\tud@saddpart{} +\newcommand*\tud@chapter{} +\newcommand*\tud@schapter{} +\newcommand*\tud@addchap{} +\newcommand*\tud@saddchap{} +\newcommand*\tud@section{} +\newcommand*\tud@ssection{} +\newcommand*\tud@subsection{} +\newcommand*\tud@ssubsection{} +\newcommand*\tud@subsubsection{} +\newcommand*\tud@ssubsubsection{} +\newcommand*\tud@npart{} +\newcommand*\tud@opart{} +\newcommand*\tud@naddpart{} +\newcommand*\tud@oaddpart{} +\newcommand*\tud@nchapter{} +\newcommand*\tud@ochapter{} +\newcommand*\tud@naddchap{} +\newcommand*\tud@oaddchap{} +\newcommand*\tud@nsection{} +\newcommand*\tud@osection{} +\newcommand*\tud@nsubsection{} +\newcommand*\tud@osubsection{} +\newcommand*\tud@nsubsubsection{} +\newcommand*\tud@osubsubsection{} +\newcommand*\tud@sectioning@set[3][]{% + \tud@cmd@store{#2}% + \ifstr{#2}{minisec}{% + \renewcommand\minisec[1]{% + \tud@cmd@use{minisec}{\tud@makeuppercase{##1}}% + }% + }{% + \tud@sectioning@case{#2}% + \ifstrempty{#1}{}{% + \tud@cmd@store{#1}% + \tud@sectioning@case{#1}% + }% + }% + \tud@font@koma@set{#2}{#3}% +} +\newcommand*\tud@sectioning@case[1]{% + \@namedef{#1}{\@ifstar{\@nameuse{tud@s#1}}{\@nameuse{tud@#1}}}% + \@namedef{tud@#1}{\@ifnextchar[%] + {\@nameuse{tud@o#1}}{\@nameuse{tud@n#1}}% + }% + \@namedef{tud@n#1}##1{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##1}}}% + \@namedef{tud@o#1}[##1]##2{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##2}}}% + \@namedef{tud@s#1}##1{\@nameuse{@@tud@#1}*{\tud@makeuppercase{##1}}}% +} +\newcommand*\tud@sectioning@reset[2][]{% + \tud@cmd@restore{#2}% + \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \tud@font@koma@reset{#2}% +} +\newcommand*\tud@font@koma@set[2]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% + \@namedef{tud@font@koma@#1}{#2}% +} +\newcommand*\tud@font@koma@reset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +\providecommand*\usesizeofkomafont[1]{% + \begingroup% + \usekomafont{#1}% + \edef\reserved@a{\noexpand\endgroup% + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \reserved@a\selectfont% +} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@fm@set[3]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{% + \if@titlepage% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@double}{}{\newpage}% + \else% + \ifbool{@tud@#1@double}{% + \par% + \ifdim\pagetotal=\z@\relax% + \booltrue{@tud@#1@first}% + \fi% + \ifbool{@tud@#1@first}{% + \global\setlength{\tud@dim@double}{\textheight}% + \clearpage% + }{}% + \setbox0\vtop{\strut\tud@fm@body{#1}{#2}{#3}}% + \global\setlength{\tud@dim@double}% + {\dimexpr\tud@dim@double-\ht0-\dp0}\relax% + \ifdim\tud@dim@double>\z@\relax% + \tud@fm@vcenter{#1}{#2}{#3}% + \global\boolfalse{@tud@#1@first}% + \else% + \tud@fm@double@wrn{#1}% + \clearpage% + \global\booltrue{@tud@#1@first}% + \tud@fm@vcenter{#1}{#2}{#3}% + \fi% + }{% + \clearpage% + \tud@fm@vcenter{#1}{#2}{#3}% + \clearpage% + }% + \fi% + \else% + \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \else% + \ifnum\@nameuse{tud@#1@level}<2\tud@quoting\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\tud@endquoting\fi% + \fi% + \fi% + }{% + \if@titlepage\else\tud@fm@level@wrn{#1}\fi% + \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}% + \clearpage% + \tud@fm@body{#1}{#2}{#3}% + \clearpage% + }% +} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \def\@tempa{\phantomsection}% + \or% + \def\@tempa{% + \phantomsection% + \@afterindentfalse% + \begin{center}% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \end{center}% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip% + \@afterheading% + }% + \or% + \def\@tempa{\addsec*{#2}}% + \or% + \def\@tempa{\addchap*{#2}}% + \fi% + \ifbool{@tud@#1@toc}{% + \apptocmd{\@tempa}{\addchaptertocentry{}{#2}}{}{}% + }{}% + \@tempa% +} +\newcommand*\tud@fm@vcenter[3]{% + \ifdim\@tempdima>\dimexpr\textheight\relax% + \tud@fm@body{#1}{#2}{#3}% + \else% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \ifbool{@tud@#1@first}{\vspace*{\z@ \@plus 2fil}}{}% + }{}% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 3fil}}{}% + \fi% +} +\newcommand*\tud@fm@body[3]{% + \if@titlepage\@mkboth{}{}\fi% + \if@twocolumn% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \ifbool{@tud@#1@first}{% + \global\boolfalse{@tud@#1@first}% + \vspace{\dimexpr\bigskipamount-\parskip}% + }{}% + \fi% + \tud@fm@head{#1}{#2}% + #3\par% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip}% + \fi% + \else% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}\leavevmode% + \else% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \bigskip\vskip-\parskip\null% + \fi% + \fi% + \fi% +} +\let\tud@quoting\quotation +\let\tud@endquoting\endquotation +\AfterPackage{quoting}{% + \let\tud@quoting\quoting% + \let\tud@endquoting\endquoting% +} +\NewEnviron{abstract}[1][]{% + \TUD@parameter@set[abstract]{#1}% + \tud@multicols@check% + \tud@fm@set{abstract}{\abstractname}{\BODY}% +} +\TUD@parameter{abstract}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% + \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +\newcommand*\confirmation{% + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\supporter{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\supporter{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% + \def\@tempb{% + \tud@fm@set{declaration}{\confirmationname}% + {\confirmationtext\endgraf\@confirmationclosing}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +\newcommand*\restriction{% + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\company{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\company{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% + \def\@tempb{% + \tud@fm@set{declaration}{\restrictionname}{\restrictiontext}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +\newcommand*\declaration[1][]{% + \clearpage% + \begingroup% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\selectlanguage{#1}} + \TUD@parameter@set{#1} + }% + \@tud@declaration@firsttrue% + \confirmation\restriction% + \endgroup% + \clearpage% +} +\TUD@parameter{declaration}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{company}{\company{#1}}% + \TUD@parameter@define{supporter}{\supporter{#1}}% + \TUD@parameter@define{place}{\place{#1}}% + \TUD@parameter@define{closing}{\confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% +} +\newcommand*\tud@fm@level@wrn[1]{% + \ClassWarning{\tudcls@name}{% + Headings in chapter style '#1=chapter'\MessageBreak% + are not recommended without the titlepage\MessageBreak% + option% + }% +} +\newcommand*\tud@fm@option@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The option '#1=double' is not supported\MessageBreak% + neither with chapter headings nor without an\MessageBreak% + activated titlepage% + }% +} +\newcommand*\tud@fm@double@wrn[1]{% + \ClassWarning{\tudcls@name}{% + It wasn't possible to use '#1=double'\MessageBreak% + because of too much content within #1% + }% +} +%%% From File: tudscr-title.dtx +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{tudscrtitle}{% + \usekomafont{subject}% + \if@tud@univers\fontfamily{\tud@univers}\fi% + \fontseries{\mdseries@sf}\large% +} +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@titleback{}% +\newcommand*\tud@maketitle[1][1]{% + \if@titlepage% + \ifcase \tud@layout@title\relax\or\or% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \or% + \def\tud@color@titlepage{HKS41}% + \def\tud@color@titlefont{HKS41!30}% + \def\tud@color@titlehead{white}% + \fi% + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% + \fi% + \if@titlepage% + \begin{titlepage}% + \if@tud@cover\else% + \setcounter{page}{#1}% + \let\footnotesize\small% + \let\footnoterule\relax% + \let\footnote\thanks% + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark% + \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}% + \tud@footnote@unhyper% + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% + \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \linespread{1}\selectfont% + \begingroup% + \usekomafont{tudscrtitle}% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead\par\null% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0}% + \fi% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}\@subject\par\null}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \vskip 1ex% + \fi% + \vskip 1ex% + \tud@multiple@split{@@author}% + \vskip 2ex% + \ifx\@thesis\@empty% + \if@tud@cover\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@date\space\ignorespaces\@datemore}% + \vskip\z@\@plus2fill% + \fi% + \else% + \vskip\z@\@plus2fill% + \begingroup% + \usekomafont{thesis}% + \if@tud@subjectthesis\else% + \tud@title@uppercase{\@thesis}% + \fi% + \if@tud@cover\else% + \ifx\@degree\@empty\else% + \def\@tempc{% + \@degree% + \ifx\@degreeabbr\@empty\else\space\@degreeabbr\fi% + }% + \usekomafont{tudscrtitle}% + \if@tud@subjectthesis% + \degreetext% + \vskip 2ex% + \usekomafont{subject}% + \@tempc% + \else% + \vskip 2ex% + \degreetext% + \vskip 2ex% + \usekomafont{thesis}% + \tud@title@uppercase{\@tempc}% + \fi% + \vskip 3ex% + \fi% + \fi% + \endgroup% + \vskip\z@\@plus3fill% + \fi% + \if@tud@cover\else% + \tud@title@names{supervisor} + \tud@title@names{referee} + \tud@title@names{advisor} + \ifx\@professor\@empty\else% + \vskip 2ex% + \professorname% + \vskip .5ex% + {\usekomafont{subject}\@professor}% + \fi% + \ifx\@thesis\@empty\else% + \ifdefstring{\@date}{\today}{% + \ifdefvoid{\@duedate}{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or + \string\date\space was not given.\MessageBreak% + Since a thesis is a self-contained work, an end\MessageBreak% + date should be specified by the author.\MessageBreak% + Nevertheless, today's date is used% + }% + }{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or \string\date\space + was not given. It's\MessageBreak% + substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% + \ifx\@date\@empty\else% + \vskip 2ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}\@date% + \space\ignorespaces\@datemore% + \ifx\@defensedate\@empty\else\newline% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + \@defensedate% + \fi% + \fi% + \fi% + \fi% + \if@tud@cover\vskip\z@\@plus2fill\fi% + \ifx\@publisher\@empty\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@publisher}% + \fi% + \endgroup% + \let\tud@titleback\relax% + \if@twoside% + \@tempswatrue% + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty% + \@tempswafalse% + \fi\fi% + \if@tempswa% + \gdef\tud@titleback{% + \next@tpage% + \loadgeometry{tudarea}% + \begin{minipage}[t]{\textwidth}% + \@uppertitleback% + \end{minipage}\par% + \vfill% + \begin{minipage}[b]{\textwidth}% + \@lowertitleback% + \end{minipage}\par% + \@thanks\let\@thanks\@empty% + }% + \fi% + \fi% + \def\@tempa{% + \tud@pagecolor{\tud@color@titlepage}% + \def\tud@head@color{\tud@color@titlehead}% + \color{\tud@color@titlefont}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% + \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \ifnum\tud@ddc@head>0\tud@ddc@sethead\fi% + \ifnum\tud@ddc@foot>0\tud@ddc@setfoot\fi% + \ifnum\tud@ddc@foot=\z@\relax% + \thispagestyle{tudpage@empty}% + \else% + \thispagestyle{tudpage@plain}% + \fi% + }% + \if@tud@cover% + \begingroup% + \@tempa% + \cleardoubleemptypage% + \tud@restorepagecolor% + \endgroup% + \else% + \tud@cleardoublespecialpage[\tud@titleback]{% + \@tempa% + \@thanks\global\let\@thanks\@empty% + \clearpage% + \ifx\@dedication\@empty\else\thispagestyle{empty}\fi% + \loadgeometry{tudarea}% + }% + \loadgeometry{tudarea}% + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\Large\@dedication\par}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% + \end{titlepage}% + \loadgeometry{tudarea}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% + \tud@footnote@rehyper% + \fi% + \else% + \let\@maketitle\tud@@maketitle% + \tud@cmd@use{maketitle}[#1]% + \fi% +} +\robustify{\thanks}% +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1} + \ifx\@tempa\@empty\else% + \begingroup% + \def\and{% + \letcs\@tempa{#1othername} + \ifx\@tempa\@empty% + \newline% + \else% + \begingroup% + \usekomafont{tudscrtitle}% + \vskip 1ex% + \@nameuse{#1othername}% + \vskip .5ex% + \endgroup% + \fi% + \def\and{\newline}% + }% + \vskip 2ex% + \@nameuse{#1name}% + \vskip .5ex% + \usekomafont{subject}% + \@nameuse{@#1}% + \endgroup% + \fi% +} +\newcommand*\@titledelim{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} +\newcommand*\tud@@maketitle{% + \next@tdpage% + \vspace*{\tud@dim@headingsvskip}% + \tud@extratitle% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \linespread{1}\selectfont% + \begingroup% + \usekomafont{tudscrtitle}% + \ifx\@titlehead\@empty\else% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead% + \end{minipage}\newline\null\par% + \fi% + \TUDoptions{subjectthesis}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + {\usekomafont{subject}\@subject\par\null}% + \fi% + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \fi% + \vskip 1ex% + \tud@multiple@split{@@author}% + \vskip 1ex% + \@date% + \ifx\@publisher\@empty\else% + \vskip 1ex% + \@publisher% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex% + \begin{center}% + \@dedication\par% + \end{center}% + \fi% + \vskip 2ex% + \ifx\@degree\@empty\else\tud@title@wrn{degree}\fi% + \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi% + \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% + \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% + \endgroup% +} +\newcommand*\tud@multiple@field{} +\newcommand*\tud@multiple@split[1]{% + \gdef\tud@multiple@field{#1}% + \begingroup% + \let\and\relax% + \edef\@tempa{\csname#1\endcsname\and}% + \expandafter\endgroup% + \expandafter\tud@multiple@@split\@tempa\relax% +} +\newcommand*\tud@multiple@@split{}% +\def\tud@multiple@@split#1\and#2\relax{% + \expandafter\csname tud@split\tud@multiple@field\endcsname{#1}{#2}% +} +\newcommand*\tud@multiple@@@split[2]{% + \ifx\relax#1\relax% + \def\@tempb{}% + \else% + \def\@tempb{#2\tud@multiple@@split#1\relax}% + \fi% + \@tempb% +} +\newcommand*\tud@multiple@setfields[2]{% + \letcs\@tempa{tud@split\tud@multiple@field @list}% + \let\and\relax% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \begingroup% + \@expandtwoargs\in@{\@tempb}{\csname\tud@multiple@field\endcsname}% + \ifin@ \@tempb{#1}\fi% + \endgroup% + \fi% + }% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \setbox0\vtop{#2}% + \endgroup% +} +\newcommand*\tud@newline{} +\newcommand*\tud@split@@author[2]{% + \tud@multiple@setfields{}{#1}% + \def\tud@newline{\vskip .5ex\let\tud@newline\newline}% + \begingroup% + \usekomafont{subject}% + \ignorespaces#1% + \endgroup% + \ifx\@authormore\@empty\else% + \tud@newline% + \@authormore% + \fi% + \ifx\@dateofbirth\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\dateofbirthtext}{}% + {}{\dateofbirthtext\@titledelim}\@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \space\placeofbirthtext\unskip\space\@placeofbirth% + \fi% + \else% + \tud@title@wrn{dateofbirth}% + \fi% + \fi% + \ifx\@matriculationnumber\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\matriculationnumbername}{}% + {}{\matriculationnumbername\@titledelim}% + \@matriculationnumber% + \else% + \tud@title@wrn{matriculationnumber}% + \fi% + \fi% + \ifx\@matriculationyear\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\matriculationyearname}{}% + {}{\matriculationyearname\@titledelim}% + \@matriculationyear% + \else% + \tud@title@wrn{matriculationyear}% + \fi% + \fi% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@split@@author@list{% + \authormore,\matriculationyear,\enrolmentyear,% + \matriculationnumber,\studentid,\matriculationid,% + \placeofbirth,\birthplace,\dateofbirth,\birthday,% +} +\newcommand\maketitleonecolumn[1][1]{% + \ifxnumber{#1}{% + \@ifnextchar[%] + {\@maketitleonecolumn{#1}}{\@maketitleonecolumn{#1}[]}% + }{\@maketitleonecolumn{1}[#1]}% +} +\newcommand\@maketitleonecolumn{} +\long\def\@maketitleonecolumn#1[#2]{% + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn\noindent#2\twocolumn% + \else% + \@longtwocolumn[{\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + \string\maketitleonecolumn\space can only be used in twocolumn mode% + }{}% + \fi% +} +\newsavebox\@longtwocolumnbox +\newcommand\@longtwocolumn[1][]{% + \onecolumn% + \begingroup% + \let\clearpage\relax% + \let\newpage\relax% + \global\setbox\@longtwocolumnbox\vbox{#1\bigskip}% + \endgroup% + \@whiledim\textheight<\ht\@longtwocolumnbox\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\@longtwocolumnbox to \textheight\clearpage% + }% + \twocolumn[\unvbox\@longtwocolumnbox]% +} +\newcommand*\tud@letsubjectthesis{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% + \ClassWarning{\tudcls@name}{% + The option 'subjectthesis' was activated.\MessageBreak% + The field 'subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\tudcls@name}{% + \@backslashchar#1\space has to be used with\MessageBreak% + activated titlepage option% + }% +} +\ifdef{\@makeextratitle}{% + \let\tud@extratitle\relax% +}{% + \newcommand*\tud@extratitle{% + \let\footnote\thanks% + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% + }% +} +\providecommand*\next@tdpage{% + \next@tpage% + \if@twoside\ifodd\value{page}\else% + \null\next@tpage% + \fi\fi% +}% +\newif\if@tud@cover +\newcommand*\makecover[1][]{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \let\tud@multiple@setfields\@gobbletwo% + \pretocmd{\tud@multiple@split}{\vskip\z@\@plus0.5fill}{}{}% + \let\@authormore\@empty% + \let\@dateofbirth\@empty% + \let\@matriculationnumber\@empty% + \let\@matriculationyear\@empty% + \TUD@parameter@set[cover]{cd,cdfonts,cdlayout=true,#1}% + \if@tud@cover@cdlayout% + \newgeometry{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both,% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% + \else% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \@tud@covertrue + \@titlepagetrue% + \tud@maketitle% + \endgroup% + \loadgeometry{tudarea}% +} +\newif\if@tud@cover@cdlayout +\TUD@parameter{cover}{% + \TUD@parameter@define{cd}[true]{\TUDoption{cd}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{on}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{yes}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{false}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{no}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{off}{\@tud@cover@cdlayoutfalse}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{\TUD@parameter@set[cover]{cdlayout=#1}}% +}% +%%% From File: tudscr-fields.dtx +\newcommand*\@faculty{} +\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}} +\newcommand*\@department{} +\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}} +\newcommand*\@institute{} +\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}} +\newcommand*\@chair{} +\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}} +\newcommand*\professorship{} +\let\professorship\chair +\newcommand*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \gdef\@@title{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + #1% + \endgroup% + }% +} +\newcommand*\@@author{} +\renewcommand*\author[1]{% + \gdef\@author{#1}% + \let\@@author\@author% +} +\newcommand*\student{} +\let\student\author +\newcommand*\@authormore{} +\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}} +\newcommand*\@thesis{} +\newcommand*\@@thesis{} +\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}} +\newcommand*\tud@thanks{} +\newcommand*\tud@thesis[2]{% + \AfterPreamble{% + \begingroup% + \global\let\tud@thanks\relax% + \def\thanks##1{\gdef\tud@thanks{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#2}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \ifstr{#1}{thesis}{\xdef\@@thesis{#2}}{}% + \endgroup% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{% + \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{% + \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{% + \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{% + \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{% + \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{% + \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{% + \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{% + \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{% + \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{% + \@namedef{@#1}{#2}% + }}}}}}}}}}}}}% + }% +} +\newcommand*\tud@@thesis[2]{% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% + \ifstr{#1}{subject}{% + \ifx\@thesis\empty\else% + \ClassWarning{\tudcls@name}{Field 'thesis' is overwritten by 'subject'}% + \fi% + \TUD@std@ifkey@lock{subjectthesis}{true}% + }{% + \TUD@std@ifkey@lock{subjectthesis}{false}% + }% +} +\renewcommand*\subject[1]{\tud@thesis{subject}{#1}} +\newcommand*\@degree{} +\newcommand*\@degreeabbr{} +\newcommand*\degree[2][]{% + \ifxblank{#1}{\gdef\@degreeabbr{}}{\gdef\@degreeabbr{(#1)}}% + \gdef\@degree{#2}% +} +\newcommand*\@professor{} +\newcommand*\professor[1]{\gdef\@professor{#1}} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{% + \gdef\@supervisor{#1}% + \ifx\@supporter\empty\gdef\@supporter{#1}\fi% +} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{% + \gdef\@supporter{#1}% + \renewcommand*\supervisor[1]{\gdef\@supervisor{##1}}% +} +\newcommand*\@company{} +\newcommand*\company[1]{\gdef\@company{#1}} +\newcommand*\@referee{} +\newcommand*\referee[1]{\gdef\@referee{#1}} +\newcommand*\@advisor{} +\newcommand*\advisor[1]{\gdef\@advisor{#1}} +\newcommand*\@matriculationnumber{} +\newrobustcmd*\matriculationnumber[1]{% + \gdef\@matriculationnumber{#1}% +} +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +\providecommand*\@publisher{} +\providecommand*\publisher[1]{\gdef\@publisher{#1}} +\let\publishers\publisher +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@@date% + \\[15mm plus 10mm minus 10mm]% + \begingroup% + \let\and\hfil% + \let\thanks\@gobble% + \let\footnote\@gobble% + \@@author% + \hfil% + \endgroup% +} +\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}} +\newcommand*\@place{Dresden} +\newcommand*\place[1]{\gdef\@place{#1}} +\newcommand*\location{} +\let\location\place +\newcommand*\printdate[1]{#1} +\BeforePackage{isodate}{\let\printdate\undefined} +\newcommand*\tud@printdate[2]{% + \ifx\today#2% + \gdef#1{#2}% + \else% + \ifxblank{#2}% + {\gdef#1{}}% + {\gdef#1{\printdate{#2}}}% + \fi% +} +\newcommand*\@datemore{} +\newcommand*\@@date{} +\let\@@date\@date +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% + \tud@printdate{\@date}{#2}% + \tud@printdate{\@@date}{#2}% +} +\newcommand*\submissiondate{} +\let\submissiondate\date +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +%%% From File: tudscr-locale.dtx +\newcommand*\tud@locale@define[1]{% + \providecommand*#1{% + \ClassError{\tudcls@name}{% + \string#1 not defined for language \languagename% + }{% + Currently the class \tudcls@name\space only supports the\MessageBreak% + languages german and english. You must define single\MessageBreak% + patterns by yourself, e.g.:\MessageBreak% + \string\providecaptionname\languagename{\string#1}{<text>}\MessageBreak% + To implement new languages, it would be nice if you could\MessageBreak% + contact the author of this class and send your definitions\MessageBreak% + to \filemail% + }% + }% +} +\tud@locale@define{\degreetext} +\tud@locale@define{\supervisorname} +\tud@locale@define{\supervisorothername} +\tud@locale@define{\refereename} +\tud@locale@define{\refereeothername} +\tud@locale@define{\advisorname} +\tud@locale@define{\advisorothername} +\tud@locale@define{\professorname} +\tud@locale@define{\datetext} +\tud@locale@define{\dateofbirthtext} +\tud@locale@define{\placeofbirthtext} +\tud@locale@define{\defensedatetext} +\tud@locale@define{\matriculationyearname} +\tud@locale@define{\matriculationnumbername} +\tud@locale@define{\coverpagename} +\tud@locale@define{\titlepagename} +\tud@locale@define{\abstractname} +\tud@locale@define{\confirmationname} +\tud@locale@define{\confirmationtext} +\tud@locale@define{\restrictionname} +\tud@locale@define{\restrictiontext} +\tud@locale@define{\listingname} +\tud@locale@define{\listlistingname} +\tud@locale@define{\dissertationname} +\tud@locale@define{\diplomathesisname} +\tud@locale@define{\masterthesisname} +\tud@locale@define{\bachelorthesisname} +\tud@locale@define{\studentresearchname} +\tud@locale@define{\projectpapername} +\tud@locale@define{\seminarpapername} +\tud@locale@define{\researchname} +\tud@locale@define{\logname} +\tud@locale@define{\internshipname} +\tud@locale@define{\reportname} +\newcommand*\tud@locale@german[1]{% + \providecaptionname{#1}{\degreetext}% + {zur Erlangung des akademischen Grades}% + \providecaptionname{#1}{\supervisorname}% + {Betreuer}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {Erstgutachter}% + \providecaptionname{#1}{\refereeothername}% + {Zweitgutachter}% + \providecaptionname{#1}{\advisorname}% + {Fachreferent}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Betreuender Hochschullehrer}% + \providecaptionname{#1}{\datetext}% + {Eingereicht am}% + \providecaptionname{#1}{\dateofbirthtext}% + {Geboren am}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Verteidigt am}% + \providecaptionname{#1}{\matriculationyearname}% + {Immatrikulationsjahr}% + \providecaptionname{#1}{\matriculationnumbername}% + {Matrikelnummer}% + \providecaptionname{#1}{\coverpagename}% + {Umschlagseite}% + \providecaptionname{#1}{\titlepagename}% + {Titelblatt}% + \providecaptionname{#1}{\abstractname}% + {Zusammenfassung}% + \providecaptionname{#1}{\confirmationname}% + {Selbstst\"andigkeitserkl\"arung}% + \providecaptionname{#1}{\confirmationtext}{% + Hiermit versichere ich, dass ich die vorliegende + \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es + wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel + und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} + \"ubernommenen Zitate habe ich als solche kenntlich gemacht. + \ifx\@supporter\empty% + Es waren keine weiteren Personen an der geistigen Herstellung der + vorliegenden Arbeit beteiligt. + \else% + W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden + Personen unterst\"utzt:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Weitere Personen waren an der geistigen Herstellung der + vorliegenden Arbeit nicht beteiligt. + \fi% + Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum + nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.% + }% + \providecaptionname{#1}{\restrictionname}% + {Sperrvermerk}% + \providecaptionname{#1}{\restrictiontext}{% + Diese \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + enth\"alt vertrauliche Informationen\ifx\@company\empty\else + , offengelegt durch \@company{}\fi. Ver\"offentlichungen, + Vervielf\"altigungen und Einsichtnahme~-- auch nur auszugsweise~-- + sind ohne ausdr\"uckliche Genehmigung \ifx\@company\empty\else + durch \@company{} \fi nicht gestattet, ebenso wie + Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die + vorliegende Arbeit ist nur dem Betreuer an der Hochschule, + den Gutachtern sowie den Mitgliedern des Pr\"ufungsausschusses + zug\"anglich zu machen.% + }% + \providecaptionname{#1}{\listingname}% + {Quelltext}% + \providecaptionname{#1}{\listlistingname}% + {Quelltextverzeichnis}% + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% + \providecaptionname{#1}{\diplomathesisname}% + {Diplomarbeit}% + \providecaptionname{#1}{\masterthesisname}% + {Master-Arbeit}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor-Arbeit}% + \providecaptionname{#1}{\studentresearchname}% + {Studienarbeit}% + \providecaptionname{#1}{\projectpapername}% + {Projektarbeit}% + \providecaptionname{#1}{\seminarpapername}% + {Seminararbeit}% + \providecaptionname{#1}{\researchname}% + {Forschungsbericht}% + \providecaptionname{#1}{\logname}% + {Protokoll}% + \providecaptionname{#1}{\internshipname}% + {Praktikumsbericht}% + \providecaptionname{#1}{\reportname}% + {Bericht}% +} +\newcommand*\tud@locale@english[1]{% + \providecaptionname{#1}{\degreetext}% + {to achieve the academic degree}% + \providecaptionname{#1}{\supervisorname}% + {Supervisor}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {First referee}% + \providecaptionname{#1}{\refereeothername}% + {Second referee}% + \providecaptionname{#1}{\advisorname}% + {Advisor}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Supervising professor}% + \providecaptionname{#1}{\datetext}% + {Submitted on}% + \providecaptionname{#1}{\dateofbirthtext}% + {Born on}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Defended on}% + \providecaptionname{#1}{\matriculationyearname}% + {Matriculation year}% + \providecaptionname{#1}{\matriculationnumbername}% + {Matriculation number}% + \providecaptionname{#1}{\coverpagename}% + {Cover page}% + \providecaptionname{#1}{\titlepagename}% + {Title page}% + \providecaptionname{#1}{\abstractname}% + {Abstract}% + \providecaptionname{#1}{\confirmationname}% + {Statement of authorship}% + \providecaptionname{#1}{\confirmationtext}{% + I hereby certify that I have authored this + \ifx\@@thesis\empty thesis\else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + independently and without undue assistance from third + parties. No other than the resources and references + indicated in this thesis have been used. I have marked + both literal and accordingly adopted quotations as such. + \ifx\@supporter\empty% + They were no additional persons involved in the spiritual + preparation of the present thesis. + \else% + During the preparation of this thesis I was only supported + by the following persons:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Additional persons were not involved in the spiritual + preparation of the present thesis. + \fi% + I am aware that violations of this declaration may lead to + subsequent withdrawal of the degree.% + }% + \providecaptionname{#1}{\restrictionname}% + {Restriction note}% + \providecaptionname{#1}{\restrictiontext}{% + This \ifx\@@thesis\empty thesis \else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + contains confidential data\ifx\@company\empty\else + , disclosed by \@company{}\fi. Publications, duplications and + inspections---even in part---are prohibited without explicit + permission\ifx\@company\empty\else\space by \@company{}\fi, + as well as publications about the content of this thesis. + This thesis may only be made accessible to the supervisor at + the university, the reviewers and also the members of the + examination board.% + }% + \providecaptionname{#1}{\listingname}% + {Listing}% + \providecaptionname{#1}{\listlistingname}% + {List of Listings}% + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% + \providecaptionname{#1}{\diplomathesisname}% + {Diploma Thesis}% + \providecaptionname{#1}{\masterthesisname}% + {Master Thesis}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor Thesis}% + \providecaptionname{#1}{\studentresearchname}% + {Student Research Project}% + \providecaptionname{#1}{\projectpapername}% + {Project Paper}% + \providecaptionname{#1}{\seminarpapername}% + {Seminar Paper}% + \providecaptionname{#1}{\researchname}% + {Research Report}% + \providecaptionname{#1}{\logname}% + {Log}% + \providecaptionname{#1}{\internshipname}% + {Internship Report}% + \providecaptionname{#1}{\reportname}% + {Report}% +} +\AtBeginDocument{% + \ifdef{\captionsenglish}{}{\let\captionsenglish\@empty}% + \tud@locale@german{ngerman}% + \tud@locale@german{german}% + \tud@locale@english{english}% + \tud@locale@english{USenglish}% + \tud@locale@english{american}% + \tud@locale@english{UKenglish}% + \tud@locale@english{british}% +} +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +%%% From File: tudscr-color.dtx +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \@ifpackageloaded{pagecolor}{}{% + \let\tud@pagecolor\pagecolor% + \let\tud@restorepagecolor\nopagecolor% + }% +} +\AfterPackage{pagecolor}{% + \let\tud@pagecolor\newpagecolor% + \let\tud@restorepagecolor\restorepagecolor% +} +\AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} +%%% From File: tudscr-misc.dtx +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\phantomsection{} +\let\phantomsection\relax +\newcommand*\tud@footnote@unhyper{} +\newcommand*\tud@footnote@rehyper{} +\AfterPackage{hyperref}{% + \renewcommand*\tudbookmark[3][]{% + \relax% + \if@tud@bookmarks% + \phantomsection% + \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}% + \fi% + }% + \renewcommand*\tud@footnote@unhyper{% + \let\Hy@saved@footnotemark\@footnotemark% + \let\Hy@saved@footnotetext\@footnotetext% + \let\@footnotemark\H@@footnotemark% + \let\@footnotetext\H@@footnotetext% + }% + \renewcommand*\tud@footnote@rehyper{% + \ifx\@footnotemark\H@@footnotemark% + \let\@footnotemark\Hy@saved@footnotemark% + \fi% + \ifx\@footnotetext\H@@footnotetext% + \let\@footnotetext\Hy@saved@footnotetext% + \fi% + }% +} +\AtBeginDocument{% + \pretocmd{\makecover}{% + \tudbookmark[0]{\coverpagename}{cover} + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{makecover}}% + \pretocmd{\maketitle}{% + \tudbookmark[0]{\titlepagename}{title} + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{maketitle}}% + \pretocmd{\tableofcontents}{% + \if@openright\cleardoublepage\else\clearpage\fi% + \tudbookmark[0]{\contentsname}{toc}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{tableofcontents}}% +} +\newcommand*\tud@environmenthandler[1]{% + \def\@tempa{#1}% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% + \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% + \expandafter\selectlanguage\expandafter{\@tempb}% + }}% + \fi% + }% +} +\newcommand*\tud@multicols{1} +\newcommand*\tud@multicols@check{% + \ifdef{\multicols}{}{% + \ifnum\tud@multicols>1\relax% + \ClassWarning{\tudcls@name}{% + The option 'columns=\tud@multicols' is only supported,\MessageBreak% + when package 'multicol' is loaded% + }% + \def\tud@multicols{1}% + \fi% + }% +} +\newcommand*\tud@makeuppercase[1]{% + \ifx\f@family\tud@dinbold% + \begingroup% + \MakeTextUppercase{#1}% + \endgroup% + \else% + #1% + \fi% +%% \vphantom{\"A\"O\"U}% +} +\newcommand*\ifdin{% + \ifx\f@family\tud@dinbold\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +\endinput +%% +%% End of file `tudscrbook.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty new file mode 100644 index 00000000000..e61646b59f9 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcolor.sty @@ -0,0 +1,272 @@ +%% +%% This is file `tudscrcolor.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package') +%% tudscr-color.dtx (with options: `package,header') +%% tudscr-color.dtx (with options: `package,body') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +%%% From File: tudscr-color.dtx +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrcolor}[% + \TUDVersion\space package (corporate design colors)% +] +\DeclareOption{reduced}{\let\setcdcolors@add\relax} +\DeclareOption{full}{\let\setcdcolors@add\setcdcolors@full} +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{xcolor}} +%%% From File: tudscr-color.dtx +\newcommand*\setcdcolors@add{} +\newcommand*\setcdcolors[1]{% + \def\@tempa{#1}\ifx\@tempa\@empty\else% + \selectcolormodel{\@tempa} + \fi% + \definecolor{HKS41}{cmyk/RGB/rgb}{% + 1.00,0.70,0.10,0.50/011,042,081/0.0431372549,0.16470588235,0.31764705882% + } + \definecolor{HKS92}{cmyk/RGB/rgb}{% + 0.10,0.00,0.05,0.65/080,089,085/0.31372549019,0.34901960784,0.33333333333% + } + \definecolor{HKS44}{cmyk/RGB/rgb}{% + 1.00,0.50,0.00,0.00/000,089,163/0,0.34901960784,0.63921568627% + } + \definecolor{HKS36}{cmyk/RGB/rgb}{% + 0.80,0.90,0.00,0.00/081,041,127/0.31764705882,0.16078431372,0.49803921568% + } + \definecolor{HKS33}{cmyk/RGB/rgb}{% + 0.50,1.00,0.00,0.00/129,026,120/0.50588235294,0.10196078431,0.47058823529% + } + \definecolor{HKS57}{cmyk/RGB/rgb}{% + 1.00,0.00,0.90,0.20/000,122,071/0,0.47843137254,0.28235294117% + } + \definecolor{HKS65}{cmyk/RGB/rgb}{% + 0.65,0.00,1.00,0.00/034,173,054/0.13333333333,0.67843137254,0.21176470588% + } + \definecolor{HKS07}{cmyk/RGB/rgb}{% + 0.00,0.60,1.00,0.00/232,123,020/0.90980392156,0.48235294117,0.07843137254% + } + \colorlet{cddarkblue}{HKS41} + \colorlet{cdgray}{HKS92} + \colorlet{cdblue}{HKS44} + \colorlet{cdindigo}{HKS36} + \colorlet{cdpurple}{HKS33} + \colorlet{cddarkgreen}{HKS57} + \colorlet{cdgreen}{HKS65} + \colorlet{cdorange}{HKS07} + \setcdcolors@add% +} +\newcommand*\setcdcolors@full{% + \colorlet{HKS41K100}{HKS41!100} + \colorlet{HKS41K90}{HKS41!90} + \colorlet{HKS41K80}{HKS41!80} + \colorlet{HKS41K70}{HKS41!70} + \colorlet{HKS41K60}{HKS41!60} + \colorlet{HKS41K50}{HKS41!50} + \colorlet{HKS41K40}{HKS41!40} + \colorlet{HKS41K30}{HKS41!30} + \colorlet{HKS41K20}{HKS41!20} + \colorlet{HKS41K10}{HKS41!10} + \colorlet{HKS92K100}{HKS92!100} + \colorlet{HKS92K90}{HKS92!90} + \colorlet{HKS92K80}{HKS92!80} + \colorlet{HKS92K70}{HKS92!70} + \colorlet{HKS92K60}{HKS92!60} + \colorlet{HKS92K50}{HKS92!50} + \colorlet{HKS92K40}{HKS92!40} + \colorlet{HKS92K30}{HKS92!30} + \colorlet{HKS92K20}{HKS92!20} + \colorlet{HKS92K10}{HKS92!10} + \colorlet{HKS44K100}{HKS44!100} + \colorlet{HKS44K90}{HKS44!90} + \colorlet{HKS44K80}{HKS44!80} + \colorlet{HKS44K70}{HKS44!70} + \colorlet{HKS44K60}{HKS44!60} + \colorlet{HKS44K50}{HKS44!50} + \colorlet{HKS44K40}{HKS44!40} + \colorlet{HKS44K30}{HKS44!30} + \colorlet{HKS44K20}{HKS44!20} + \colorlet{HKS44K10}{HKS44!10} + \colorlet{HKS36K10}{HKS36!10} + \colorlet{HKS36K20}{HKS36!20} + \colorlet{HKS36K30}{HKS36!30} + \colorlet{HKS36K40}{HKS36!40} + \colorlet{HKS36K50}{HKS36!50} + \colorlet{HKS36K60}{HKS36!60} + \colorlet{HKS36K70}{HKS36!70} + \colorlet{HKS36K80}{HKS36!80} + \colorlet{HKS36K90}{HKS36!90} + \colorlet{HKS36K100}{HKS36!100} + \colorlet{HKS33K10}{HKS33!10} + \colorlet{HKS33K20}{HKS33!20} + \colorlet{HKS33K30}{HKS33!30} + \colorlet{HKS33K40}{HKS33!40} + \colorlet{HKS33K50}{HKS33!50} + \colorlet{HKS33K60}{HKS33!60} + \colorlet{HKS33K70}{HKS33!70} + \colorlet{HKS33K80}{HKS33!80} + \colorlet{HKS33K90}{HKS33!90} + \colorlet{HKS33K100}{HKS33!100} + \colorlet{HKS57K10}{HKS57!10} + \colorlet{HKS57K20}{HKS57!20} + \colorlet{HKS57K30}{HKS57!30} + \colorlet{HKS57K40}{HKS57!40} + \colorlet{HKS57K50}{HKS57!50} + \colorlet{HKS57K60}{HKS57!60} + \colorlet{HKS57K70}{HKS57!70} + \colorlet{HKS57K80}{HKS57!80} + \colorlet{HKS57K90}{HKS57!90} + \colorlet{HKS57K100}{HKS57!100} + \colorlet{HKS65K10}{HKS65!10} + \colorlet{HKS65K20}{HKS65!20} + \colorlet{HKS65K30}{HKS65!30} + \colorlet{HKS65K40}{HKS65!40} + \colorlet{HKS65K50}{HKS65!50} + \colorlet{HKS65K60}{HKS65!60} + \colorlet{HKS65K70}{HKS65!70} + \colorlet{HKS65K80}{HKS65!80} + \colorlet{HKS65K90}{HKS65!90} + \colorlet{HKS65K100}{HKS65!100} + \colorlet{HKS07K10}{HKS07!10} + \colorlet{HKS07K20}{HKS07!20} + \colorlet{HKS07K30}{HKS07!30} + \colorlet{HKS07K40}{HKS07!40} + \colorlet{HKS07K50}{HKS07!50} + \colorlet{HKS07K60}{HKS07!60} + \colorlet{HKS07K70}{HKS07!70} + \colorlet{HKS07K80}{HKS07!80} + \colorlet{HKS07K90}{HKS07!90} + \colorlet{HKS07K100}{HKS07!100} + \colorlet{HKS41-100}{HKS41!100} + \colorlet{HKS41-90}{HKS41!90} + \colorlet{HKS41-80}{HKS41!80} + \colorlet{HKS41-70}{HKS41!70} + \colorlet{HKS41-60}{HKS41!60} + \colorlet{HKS41-50}{HKS41!50} + \colorlet{HKS41-40}{HKS41!40} + \colorlet{HKS41-30}{HKS41!30} + \colorlet{HKS41-20}{HKS41!20} + \colorlet{HKS41-10}{HKS41!10} + \colorlet{HKS92-100}{HKS92!100} + \colorlet{HKS92-90}{HKS92!90} + \colorlet{HKS92-80}{HKS92!80} + \colorlet{HKS92-70}{HKS92!70} + \colorlet{HKS92-60}{HKS92!60} + \colorlet{HKS92-50}{HKS92!50} + \colorlet{HKS92-40}{HKS92!40} + \colorlet{HKS92-30}{HKS92!30} + \colorlet{HKS92-20}{HKS92!20} + \colorlet{HKS92-10}{HKS92!10} + \colorlet{HKS44-100}{HKS44!100} + \colorlet{HKS44-90}{HKS44!90} + \colorlet{HKS44-80}{HKS44!80} + \colorlet{HKS44-70}{HKS44!70} + \colorlet{HKS44-60}{HKS44!60} + \colorlet{HKS44-50}{HKS44!50} + \colorlet{HKS44-40}{HKS44!40} + \colorlet{HKS44-30}{HKS44!30} + \colorlet{HKS44-20}{HKS44!20} + \colorlet{HKS44-10}{HKS44!10} + \colorlet{HKS36-10}{HKS36!10} + \colorlet{HKS36-20}{HKS36!20} + \colorlet{HKS36-30}{HKS36!30} + \colorlet{HKS36-40}{HKS36!40} + \colorlet{HKS36-50}{HKS36!50} + \colorlet{HKS36-60}{HKS36!60} + \colorlet{HKS36-70}{HKS36!70} + \colorlet{HKS36-80}{HKS36!80} + \colorlet{HKS36-90}{HKS36!90} + \colorlet{HKS36-100}{HKS36!100} + \colorlet{HKS33-10}{HKS33!10} + \colorlet{HKS33-20}{HKS33!20} + \colorlet{HKS33-30}{HKS33!30} + \colorlet{HKS33-40}{HKS33!40} + \colorlet{HKS33-50}{HKS33!50} + \colorlet{HKS33-60}{HKS33!60} + \colorlet{HKS33-70}{HKS33!70} + \colorlet{HKS33-80}{HKS33!80} + \colorlet{HKS33-90}{HKS33!90} + \colorlet{HKS33-100}{HKS33!100} + \colorlet{HKS57-10}{HKS57!10} + \colorlet{HKS57-20}{HKS57!20} + \colorlet{HKS57-30}{HKS57!30} + \colorlet{HKS57-40}{HKS57!40} + \colorlet{HKS57-50}{HKS57!50} + \colorlet{HKS57-60}{HKS57!60} + \colorlet{HKS57-70}{HKS57!70} + \colorlet{HKS57-80}{HKS57!80} + \colorlet{HKS57-90}{HKS57!90} + \colorlet{HKS57-100}{HKS57!100} + \colorlet{HKS65-10}{HKS65!10} + \colorlet{HKS65-20}{HKS65!20} + \colorlet{HKS65-30}{HKS65!30} + \colorlet{HKS65-40}{HKS65!40} + \colorlet{HKS65-50}{HKS65!50} + \colorlet{HKS65-60}{HKS65!60} + \colorlet{HKS65-70}{HKS65!70} + \colorlet{HKS65-80}{HKS65!80} + \colorlet{HKS65-90}{HKS65!90} + \colorlet{HKS65-100}{HKS65!100} + \colorlet{HKS07-10}{HKS07!10} + \colorlet{HKS07-20}{HKS07!20} + \colorlet{HKS07-30}{HKS07!30} + \colorlet{HKS07-40}{HKS07!40} + \colorlet{HKS07-50}{HKS07!50} + \colorlet{HKS07-60}{HKS07!60} + \colorlet{HKS07-70}{HKS07!70} + \colorlet{HKS07-80}{HKS07!80} + \colorlet{HKS07-90}{HKS07!90} + \colorlet{HKS07-100}{HKS07!100} +} +\ExecuteOptions{reduced} +\ProcessOptions\relax +\RequirePackage{xcolor} +\setcdcolors{} +\endinput +%% +%% End of file `tudscrcolor.sty'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty new file mode 100644 index 00000000000..42714b07d79 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrcomp.sty @@ -0,0 +1,183 @@ +%% +%% This is file `tudscrcomp.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package') +%% tudscr-comp.dtx (with options: `package,header') +%% tudscr-comp.dtx (with options: `package,body') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +%%% From File: tudscr-comp.dtx +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrcomp}% + [\TUDVersion\space package (compatibility for tudbook)] +\ifx\tudcls@name\undefined + \PackageError{tudscrcomp}{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +\fi +%%% From File: tudscr-comp.dtx +\newcommand*\einrichtung{} +\let\einrichtung\faculty +\newcommand*\fachrichtung{} +\let\fachrichtung\department +\newcommand*\institut{} +\let\institut\institute +\newcommand*\professur{} +\let\professur\chair +\newcommand*\moreauthor{} +\let\moreauthor\authormore +\newcommand*\submitdate{} +\let\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}} +\newcommand*\dissertation{% + \thesis{\dissertationname}% + \let\supervisorname\refereename% + \let\supervisorothername\refereeothername% +} +\TUD@key{colortitle}[true]{% + \TUD@set@ifkey{colortitle}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdtitle=color}% + \else% + \TUDoptions{cdtitle=true}% + \fi% +} +\TUD@key{nocolortitle}[true]{% + \TUD@set@ifkey{nocolortitle}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdtitle=true}% + \else% + \TUDoptions{cdtitle=color}% + \fi% +} +\TUD@key{ddcfooter}[true]{% + \TUD@set@ifkey{ddcfooter}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{ddcfoot}% + \else% + \TUDoptions{ddcfoot=false}% + \fi% +} +\AtBeginDocument{% + \ifdef{\theglossary}{}{% + \providecommand*{\glossaryname}{Glossar} + \newenvironment{theglossary}[1][]{% + \ClassWarning{\tudcls@name}{% + 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}% + }% +} +\TUD@key{serifmath}[true]{% + \TUD@set@ifkey{serifmath}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{sansmath=false}% + \else% + \TUDoptions{sansmath}% + \fi% +} +\newif\if@tud@chapterpage@temp +\newcommand*\chapterpage{\@tud@chapterpage@temptrue\tud@chapterpage@wrn} +\newcommand*\tud@chapterpage@set[1][]{% + \if@tud@chapterpage@temp% + \if@tud@chapterpage% + \TUDoptions{chapterpage=false}% + \else% + \TUDoptions{chapterpage}% + \fi% + \fi% +} +\newcommand*\tud@chapterpage@unset[1][]{% + \tud@chapterpage@set% + \global\@tud@chapterpage@tempfalse% +} +\AtEndPreamble{% + \pretocmd{\tud@nchapter}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@nchapter}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@schapter}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@schapter}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@ochapter}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@ochapter}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@naddchap}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@naddchap}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@saddchap}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@saddchap}{\tud@chapterpage@unset}{}{} + \pretocmd{\tud@oaddchap}{\tud@chapterpage@set}{}{} + \apptocmd{\tud@oaddchap}{\tud@chapterpage@unset}{}{} +} +\newcommand*\tud@chapterpage@wrn{% + \ClassWarning{\tudcls@name}{% + 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% +} +\endinput +%% +%% End of file `tudscrcomp.sty'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls new file mode 100644 index 00000000000..10b1e70d4aa --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrdoc.cls @@ -0,0 +1,95 @@ +%% +%% This is file `tudscrdoc.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-doc.dtx +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{tudscrdoc}% + [2014/04/24 v1.00 (documentation class for the tudscr-bundle based on scrdoc)] +\LoadClassWithOptions{scrdoc} +\setlength{\marginparwidth}{140pt} +\setlength{\marginparsep}{8pt} +\setlength{\oddsidemargin}{\dimexpr\marginparwidth+\marginparsep-1in} +\setlength{\textwidth}{\dimexpr\paperwidth-1in-\oddsidemargin-2\marginparsep} +\setlength{\topmargin}{-1in} +\setlength{\headheight}{0pt} +\setlength{\headsep}{30pt} +\setlength{\footskip}{\headsep} +\setlength{\textheight}{\dimexpr\paperheight-3\footskip} +\RequirePackage[latin1]{inputenc} +\RequirePackage{dox} +\RequirePackage[ngerman=ngerman-x-latest]{hyphsubst} +\RequirePackage[english,ngerman]{babel} +\RequirePackage{hologo} +\RequirePackage{xspace} +\def\filemail{tudscr@gmail.com} +\title{\texttt{\filename}% + \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} +\author{Falk Hanisch\footnote{\filemail}} +\date{\filedate} +\DoNotIndex{\",\if,\tudpage,\endtudpage,\tud@pagestyle} +\doxitem[idxtype=Option]{Option}{option}{Optionen} +\doxitem[idxtype=Parameter]{Parameter}{parameter}{Parameter} +\doxitem[macrolike,idxtype=L\"ange]{Length}{length}{L\"angen} +\doxitem[idxtype=Farbe]{Color}{color}{Farben} +\doxitem[macrolike,idxtype=Lok.]{Locale}{locale}{Lokalisierungsvariablen} +\doxitem[macrolike,idxtype=Feld]{Field}{field}{Eingabefelder} +\DeclareRobustCommand*{\cls}[1]{\mbox{\textsf{#1}}} +\DeclareRobustCommand*{\pkg}[1]{\mbox{\textsf{#1}}} +\DeclareRobustCommand*{\opt}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\env}[1]{\mbox{\texttt{#1}}} +\DeclareRobustCommand*{\cmd}[1]{\mbox{\cs{#1}}} +\DeclareRobustCommand\TUDScript{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% +} +\newif\if@tud@doc@final +\DeclareOption{final}{\@tud@doc@finaltrue} +\ProcessOptions\relax +\AtBeginDocument{ + \providecommand\todo[2][]{% + \if@tud@doc@final\else + \def\todo@mark{\ifstr{#1}{}{ToDo}{#1}}% + \endgraf% + \hfuzz0.8pt% + \leavevmode\marginpar{\raggedleft\fbox{\todo@mark\strut}}% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{#2\strut}}% + \fi% + } + \let\ToDo\todo + \providecommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} + \providecommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} + \providecommand*\KOMAScript{KOMA-Script\xspace} + \providecommand*\url[1]{\texttt{#1}} + \providecommand*\texorpdfstring[2]{#1} +} +\endinput +%% +%% End of file `tudscrdoc.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls new file mode 100644 index 00000000000..a740bbbf62c --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrman.cls @@ -0,0 +1,708 @@ +%% +%% This is file `tudscrman.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `class') +%% tudscr-manual.dtx +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +%%% From File: tudscr-manual.dtx +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{tudscrman}[\TUDVersion\space{}internal manual class]% +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{tudscrreprt}} +\ProcessOptions\relax +\LoadClass{tudscrreprt} +\newlength\baselineskipglue +\setlength\baselineskipglue{% + .5\baselineskip plus .5\baselineskip minus .25\baselineskip% +} +\RequirePackage{microtype} +\RequirePackage{textcomp} +\RequirePackage{tabularx} +\RequirePackage{ragged2e} +\RequirePackage{marginnote} +\RequirePackage{xparse} +\RequirePackage{chngcntr} +\counterwithout{footnote}{chapter} +\RequirePackage{enumitem} +\setlist{noitemsep} +\newlist{values}{description}{1} +\setlist[values]{% + topsep=.5\baselineskipglue,labelwidth=\columnwidth,labelsep=0pt, + font=\normalfont\ttfamily,before*=\before@values% +} +\newcommand*\before@values{% + \let\item@values\item% + \let\item\tud@item% +%% \par\RaggedRight% +} +\newcommand*\itemfalse{\def\tud@item@val{false/off/no}\item} +\newcommand*\itemtrue{\def\tud@item@val{true/on/yes}\item} +\newcommand*\item@values{} +\newcommand*\tud@item@val{} +\newcommand*\tud@item@add{} +\newcommand*\tud@item@format{} +\newcommand*\tud@item{% + \@ifstar{% + \def\tud@item@add{(Säumniswert)}% + \let\tud@item@format\emph% + \tud@@item% + }{% + \let\tud@item@add\relax% + \let\tud@item@format\relax% + \tud@@item% + }% +} +\newcommand*\tud@@item[1][]{% + \ifstrempty{#1}% + {\edef\@tempa{\tud@item@val}}% + {\ifstr{\tud@item@val}{}% + {\edef\@tempa{#1}}% + {\edef\@tempa{\tud@item@val/#1}}% + }% + \def\tud@item@val{}% + \ifstr{\@tempa}{}{\item@values}{\tud@@@item}% +} +\newcommand*\tud@@@item[1][]{% + \ifstrempty{#1}{}{% + \ifx\tud@item@add\relax% + \def\tud@item@add{#1}% + \else% + \apptocmd{\tud@item@add}{~#1}{}{} + \fi% + }% + \item@values[% + \tud@item@format{\@tempa:}% + \ifx\tud@item@add\relax\else\textuln{\space\footnotesize\tud@item@add}\fi% + ] +} +\newlist{packages}{description}{2} +\setlist[packages]{% + topsep=\medskipamount,labelwidth=\linewidth,labelsep=0pt,font=\normalfont,% + parsep=\parskip,listparindent=\parindent,before=\before@packages% +} +\newcommand*\item@packages{} +\newcommand*\before@packages{% + \ifdefvoid{\item@packages}{% + \let\item@packages\item% + \let\item\tud@item@pkg% + }{}% +%% \par\RaggedRight% +} +\newcommand*\tud@item@pkg[1][]{% + \item@packages[{\DeclarePackage{#1}\texturn{#1}}]% +} +\RequirePackage{filemod} +\RequirePackage{pdfpages} +\newcommand*{\includeexample}[1]{% + \lstinputlisting[style=tudscr]{examples/#1.tex} + \filemodCmp{./examples/#1.pdf}{./examples/#1.tex}{}{% + \immediate\write18{% + pdflatex -output-director examples examples/#1.tex + pdflatex -output-director examples examples/#1.tex + }% + }% + \IfFileExists{examples/#1.pdf}{\includepdf[pages=-]{examples/#1.pdf}}{}% +} +\AtEndPreamble{% + \RequirePackage[xindy,splitindex]{imakeidx}% + \indexsetup{% + level=\addsec,toclevel=section,noclearpage,% + firstpagestyle=myheadings,%headers={\indexname}{\indexname}% + }% + \newcommand*\xdyopt{-M tudscrman.xdy -L german-din}% + \RequirePackage{varioref}% + \RequirePackage[hyperindex=false,colorlinks,linkcolor=blue]{hyperref}% + \newcommand*\Email[1]{\href{mailto:#1}{\nolinkurl{#1}}} + \pdfstringdefDisableCommands{% + \let\Application\@Application% + \let\Class\@Class% + \let\Package\@Package% + }% + \ifdef{\printflag}{\hypersetup{hidelinks}}{\TUDoptions{color}}% + \makeindex[title={Allgemeiner Index},options=\xdyopt]% + \makeindex[title={Klassen- und Paketoptionen},name=options,options=\xdyopt]% + \makeindex[title={Umgebungen und Befehle},name=macros,options=\xdyopt]% + \makeindex[title={Umgebungs- und Befehlsparameter},name=keys,options=\xdyopt]% + \makeindex[title={Sprachabh\"angige Bezeichner},name=terms,options=\xdyopt]% +%% \makeindex[title={Schriftelemente},name=fonts,options=\xdyopt]% + \makeindex[title={Farben},name=colors,options=\xdyopt]% + \makeindex[title={Klassen, Pakete und Dateien},name=files,options=\xdyopt]% +%% \makeindex[title={\"Anderungsliste},name=changelog,options=\xdyopt]% +} +\newcommand*\PrintIndex{% + \@printindex% + \@printindex[options]% + \@printindex[macros]% + \@printindex[keys]% + \@printindex[terms]% +%% \@printindex[fonts]% + \begingroup% + \let\lettergroup\@gobble% + \@printindex[colors]% + \endgroup% + \@printindex[files]% +} +\newcommand*\Index[3][]{% + \ifcsdef{r@idx:#3}{% + \index{\ifblank{#1}{#2}{#1}|see{\hyperref[idx:#3]{Index der #2}}}% + }{% + \index{\ifblank{#1}{#2}{#1}|see{Index der #2}}% + }% +} +\newcommand*\@printindex[1][]{% + \pagebreak[3]% + \ifblank{#1}{% + \indexprologue[\vspace*{0pt}]{\label{idx:main}}% + \printindex% + }{% + \indexprologue[\vspace*{0pt}]{\label{idx:#1}} + \printindex[#1] + }% +} +\newif\if@changelog +\newcommand*\PrintChangelog{% + \begingroup% + \let\lettergroup\@gobble% + \@changelogtrue% + \@printindex[changelog]% + \endgroup% +} +\NewDocumentCommand\ChangedAt{mo}{% + \begingroup% + \setlength{\fboxsep}{0pt}% + \marginnote{\footnotesize\fbox{\texturn{\ \strut#1\ }}}% + \IfValueTF{#2}{% + \let\PName\@gobble% + \let\PBoolean\relax% + \let\PSet\relax% + \let\PValue\@gobble% + \let\Parameter\@gobble% + \let\OParameter\@gobble% + \let\LParameter\relax% + \let\OLParameter\@gobble% + \let\PParameter\@gobble% + \let\POParameter\@gobble% + \index[changelog]{#1!#2}% + }{}% + \endgroup% +} +\newif\if@declare +\newif\if@openindex +\newcommand*\bsc{} +\DeclareRobustCommand*\bsc{\@backslashchar} +\newcommand*\idxfont{} +\let\idxfont\footnotesize +\newif\if@noindex +\NewDocumentCommand\Application{som}{% + \ifdin{#3}{% + \mbox{\textubn{#3}} + \IfBooleanTF{#1}{}{% + \index{#3~{\protect\idxfont(Anwendungssoftware)}\IfValueTF{#2}{|#2}{}}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Application{som}{#3} +\NewDocumentCommand\Distribution{som}{% + \mbox{\texturn{#3}} + \IfBooleanTF{#1}{}{% + \index{#3~{\protect\idxfont(Distribution)}\IfValueTF{#2}{|#2}{}}% + }% +} +\newcommand*\Path{} +\DeclareRobustCommand*\Path[1]{\mbox{\texttt{#1}}} +\NewDocumentCommand\File{som}{% + \mbox{\texturn{#3}}% + \IfBooleanTF{#1}{}{% + \index[files]{#3~{\protect\idxfont(Datei)}\IfValueTF{#2}{|#2}{}}% + }% +} +\newcommand*\@TempClass{} +\NewDocumentCommand\Class{st'om}{% + \ifdin{#4}{% + \gdef\@TempClass{~{\protect\idxfont(Klasse)}}% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempClass]{autoref}% + }{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempClass]{#3}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Class{st'om}{#4} +\newcommand*\DeclareClass[1]{% + \phantomsection\label{files:#1}% + \index[files]{\hyperref[files:#1]{#1~{\protect\idxfont(Klasse)}}|declare}% +} +\newcommand*\@TempPackage{} +\NewDocumentCommand\Package{st'om}{% + \ifdin{#4}{% + \gdef\@TempPackage{~{\protect\idxfont(Paket)}}% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempPackage]{autoref}% + }{% + \@ProcessOutput[#1]{\texturn{#4}}{files}{#4}[\@TempPackage]{#3}% + }% + }% +} +\DeclareExpandableDocumentCommand\@Package{st'om}{#4} +\newcommand*\DeclarePackage[1]{% + \phantomsection\label{files:#1}% + \index[files]{\hyperref[files:#1]{#1~{\protect\idxfont(Paket)}}|declare}% +} +\newcommand*\@TempOption{} +\NewDocumentCommand\Option{st'omo}{% + \if@changelog% + \@ProcessChangedAt{options}{#4}% + \else% + \IfValueTF{#5}{\gdef\@TempOption{\texttt{=#5}}}{\gdef\@TempOption{}}% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texttt{#4}}[\@TempOption]{options}{#4}{pageref}% + }{% + \@ProcessOutput[#1]{\texttt{#4}}[\@TempOption]{options}{#4}{#3}% + }% + \fi% +} +\newcommand*\@TempEnvironment{} +\NewDocumentCommand\Environment{st'omo}{% + \if@changelog% + \@ProcessChangedAt{macros}{#4}% + \else% + \if@declare% + \gdef\@TempEnvironment{% + \texttt{\bsc{}begin\{#4\}\IfValueTF{#5}{#5}{}}\tabularnewline% + \texttt{\dots}\tabularnewline% + \texttt{\bsc{}end\{#4\}}% + }% + \else% + \gdef\@TempEnvironment{\texttt{#4}}% + \fi% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\@TempEnvironment}{macros}{#4}{pageref}% + }{% + \@ProcessOutput[#1]{\@TempEnvironment}{macros}{#4}{#3}% + }% + \fi% +} +\NewDocumentCommand\Macro{st'om}{% + \if@changelog% + \@ProcessChangedAt[\bsc]{macros}{#4}% + \else% + \IfBooleanTF{#2}{% + \@ProcessOutput[#1]{\texttt{\bsc#4}}{macros}[\bsc]{#4}{pageref}% + }{% + \@ProcessOutput[#1]{\texttt{\bsc#4}}{macros}[\bsc]{#4}{#3}% + }% + \fi% +} +\newcommand*\@TempKey{} +\NewDocumentCommand\Key{sommo}{% + \begingroup% + \let\Environment\@firstofone% + \let\Macro\@firstofone% + \if@changelog% + \@ProcessChangedAt{keys}{#4}% + \else% + \gdef\@TempKey{\if@declare~{\protect\idxfont(Parameter)}\fi}% + \IfValueTF{#5}{% + \@ProcessOutput[#1]{\texttt{#4}}[\texttt{=#5}\@TempKey]% + {macros}(#3){#4}{#2}% + }{% + \@ProcessOutput[#1]{\texttt{#4}}[\@TempKey]{macros}(#3){#4}{#2}% + }% + \fi% + \endgroup% +} +\newcommand*\@TempLength{} +\NewDocumentCommand\Length{som}{% + \if@changelog% + \@ProcessChangedAt[\bsc]{macros}{#3}% + \else% + \gdef\@TempLength{\if@declare~{\protect\idxfont(L\"ange)}\fi}% + \@ProcessOutput[#1]{\texttt{\bsc#3}}[\@TempLength]% + {macros}[\bsc]{#3}[~{\protect\idxfont(L\"ange)}]{#2}% + \fi% +} +\newcommand*\@TempCounter{} +\NewDocumentCommand\Counter{som}{% + \if@changelog% + \@ProcessChangedAt{macros}{#3}% + \else% + \gdef\@TempCounter{\if@declare~{\protect\idxfont(Z\"ahler)}\fi}% + \@ProcessOutput[#1]{\texttt{#3}}[\@TempCounter]% + {macros}{#3}[~{\protect\idxfont(Z\"ahler)}]{#2}% + \fi% +} +\newcommand*\@TempTerm{} +\NewDocumentCommand\Term{som}{% + \if@changelog% + \@ProcessChangedAt[\bsc]{terms}{#3}% + \else% + \gdef\@TempTerm{\if@declare~{\protect\idxfont(Bezeichner)}\fi}% + \@ProcessOutput[#1]{\texttt{\bsc#3}}[\@TempTerm]{terms}[\bsc]{#3}{#2}% + \fi% +} +\newcommand\@termlist{} +\let\@termlist\relax +\NewDocumentCommand\TermTable{smg}{% + \forcsvlist{\listadd\@termlist}{#2}% + \vskip\baselineskipglue\noindent% + \IfBooleanTF{#1}{% + \IfValueTF{#3}{\setlength\@tempdima{#3}}{\setlength\@tempdima{\linewidth}}% + \setlength{\@tempdimb}{-.7\baselineskip}% + \begin{tabularx}{\@tempdima}{lXX}\@TermTable\end{tabularx} + }{% + \setlength{\@tempdimb}{\z@}% + \begin{tabular}{lll}\@TermTable\end{tabular} + }% + \let\@termlist\relax% + \par\noindent% +} +\newcommand*\@TermTable{% + \toprule + \textbf{Bezeichner} & \textbf{Deutsch} & \textbf{Englisch} \tabularnewline + \midrule + \forlistloop\@@TermTable{\@termlist} + \bottomrule +} +\newcommand*\@@TermTable[1]{% + \Term{#1} & + \ifstr{\@nameuse{#1}}{}{\PName{leer}}{\@nameuse{#1}} & + \selectlanguage{english}\vspace*{\@tempdimb}% + \ifstr{\@nameuse{#1}}{}{\PName{empty}}{\@nameuse{#1}}\tabularnewline +} +\newcommand*\@TempFont{} +\NewDocumentCommand\Font{som}{% + \if@changelog% + \@ProcessChangedAt{fonts}{#3}% + \else% + \gdef\@TempFont{% + \texttt{#3}\if@declare~{\protect\idxfont(Schriftelement)}\fi% + }% + \@ProcessOutput[#1]{\@TempFont}{fonts}{#3}{#2}% + \fi% +} +\newcommand*\@TempColor{} +\NewDocumentCommand\Color{somo}{% + \if@changelog% + \@ProcessChangedAt{colors}{#3}% + \else% + \gdef\@TempColor{% + \IfValueTF{#4}{~\texttt{(#4)}}{}% + \if@declare~{\protect\idxfont(Farbe)}\fi% + }% + \@ProcessOutput[#1]{\texttt{#3}}[\@TempColor]{colors}{#3}{#2}% + \fi% +} +\NewDocumentCommand\@ProcessOutput{omomd()omom}{% + \if@declare% + \if@openindex% + \if@noindex\else% + \IfValueTF{#5}% + {\edef\@tempa{#4:#5:#7}}% + {\edef\@tempa{#4:#7}}% + \label{\@tempa}% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}[(declare]% + \fi% + #2\IfValueTF{#3}{#3}{}% + \else% + \if@noindex\else% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}[declare)]% + \fi% + \fi% + \else% + \IfBooleanTF{#1}{}{% + \@tempswafalse% + \ifstr{#9}{autoref}{\@tempswatrue}{}% + \ifstr{#9}{pageref}{\@tempswatrue}{}% + \if@tempswa% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}% + \else% + \@HyperIndex{#4}{#5}{#6}{#7}{#8}[#9]% + \fi% + }% + \IfValueTF{#5}{\edef\@tempa{#4:#5:#7}}{\edef\@tempa{#4:#7}}% + \ifcsdef{r@\@tempa}{% + \let\@tempb\relax% + \ifstr{#9}{autoref}{\def\@tempb{~unter \autoref{\@tempa}}}{}% + \ifstr{#9}{pageref}{\def\@tempb{~\vpageref{\@tempa}}}{}% + \mbox{\hyperref[\@tempa]{#2}\IfValueTF{#3}{#3}{}}\@tempb% + }{\mbox{#2\IfValueTF{#3}{#3}{}}}% + \fi% +} +\NewDocumentCommand\@HyperIndex{mmmmmo}{% + \IfValueTF{#3}{\def\@tempa{#3}}{\def\@tempa{}}% + \IfValueTF{#5}{\def\@tempb{#5}}{\def\@tempb{}}% + \IfValueTF{#6}{\def\@tempc{|#6}}{\def\@tempc{}}% + \IfValueTF{#2}{% + \ifcsdef{r@#1:#2:#4}{% + \edef\@tempb{#1:#2:#4}% + \index[#1]{% + #2!\hyperref[\@tempb]{\expandonce\@tempa#4}% + ~{\protect\idxfont(Parameter)}% + \expandonce\@tempc% + }% + \begingroup% + \let\Environment\@firstofone% + \def\Macro##1{\bsc##1}% + \index[keys]{% + \hyperref[\@tempb]{\expandonce\@tempa#4~{\protect\idxfont(#2)}}% + \expandonce\@tempc% + }% + \endgroup% + }{% + \index[#1]{#2!\expandonce\@tempa#4\expandonce\@tempb}% + }% + }{% + \ifcsdef{r@#1:#4}{% + \index[#1]{% + \hyperref[#1:#4]{\expandonce\@tempa#4\expandonce\@tempb}% + \expandonce\@tempc% + }% + }{% + \index[#1]{\expandonce\@tempa#4\expandonce\@tempb\expandonce\@tempc}% + }% + }% +} +\newcommand*\@ProcessChangedAt[3][]{% + \ifcsdef{r@#2:#3}{\hyperref[#2:#3]{\mbox{#1#3}}}{\mbox{#1#3}}% +} +\newcommand\@declarationlist{} +\newcommand\@presetlist{} +\newif\if@presetlist +\newcommand\@additionallist{} +\newif\if@additionallist +\let\@declarationlist\relax +\let\@presetlist\relax +\let\@additionallist\relax +\NewDocumentEnvironment{Declaration}{moog}{% + \listadd\@declarationlist{#1}% + \IfNoValueTF{#2}{% + \listadd\@presetlist{\relax}% + }{% + \@presetlisttrue% + \IfNoValueTF{#3}{% + \listadd\@presetlist{preset:\,#2}% + }{% + \def\@tempa[##1:##2]{##1:\,##2}% + \listeadd\@presetlist{preset:\,#2\,|\,\expandonce{\@tempa[#3]}}% + }% + }% + \IfNoValueTF{#4}{% + \listadd\@additionallist{\relax}% + }{% + \@additionallisttrue% + \listadd\@additionallist{\hspace*{\tabcolsep}\small(#4)}% + \in@{\Environment}{#1}% + \ifin@ \listadd\@additionallist{\tabularnewline}\fi% + }% +}{% + \ifx\@declarationlist\relax\else% + \ClassError{\tudclsname}{\string\printdeclarationlist\space is missing}{% + \string\@declarationlist\space is not empty. Did you forget\MessageBreak% + to print this list with \string\printdeclarationlist?% + }% + \fi% + \let\PName\@gobble% + \let\PBoolean\relax% + \let\PSet\relax% + \let\PValue\@gobble% + \let\Parameter\@gobble% + \let\OParameter\@gobble% + \let\LParameter\relax% + \let\OLParameter\@gobble% + \let\PParameter\@gobble% + \let\POParameter\@gobble% + \vskip-\lastskip% + \@declaretrue\@openindexfalse#1\@declarefalse% + \pagebreak[0]% +} +\NewDocumentCommand\printdeclarationlist{sod()}{% + \ifx\@declarationlist\relax\else% + \IfBooleanTF{#1}{\global\@noindextrue}{\global\@noindexfalse} + \ifvmode\else\par\fi% + \allowbreak% + \addpenalty{\@beginparpenalty}% + \addvspace{\baselineskipglue}% + \@declaretrue\@openindextrue% + \phantomsection\noindent% + \def\@tempa##1{\ignorespaces##1\tabularnewline}% + \begin{tabular}{|l|}% + \hline% + \forlistloop\@tempa{\@declarationlist}% + \hline% + \end{tabular}% + \@declarefalse% + \ifboolexpr{bool {@presetlist} or bool {@additionallist}}{% + \if@presetlist% + \qquad% + \texttt{% + \begin{tabular}{l}% + \forlistloop\@tempa{\@presetlist}% + \end{tabular}% + }% + \fi% + \if@additionallist% + \begin{tabular}{@{}l@{}}% + \forlistloop\@tempa{\@additionallist}% + \end{tabular}% + \fi% + }{}% + \IfValueTF{#2}{% + \ChangedAt{#2}% + \begingroup% + \let\marginnote\@gobble% + \def\@tempa##1{\ChangedAt{#2}[##1]}% + \forlistloop\@tempa{\@declarationlist}% + \endgroup% + }{}% + \global\let\@declarationlist\relax% + \global\let\@presetlist\relax% + \global\@presetlistfalse% + \global\let\@additionallist\relax% + \global\@additionallistfalse% + \IfValueTF{#3}{#3}{}% + \vskip\baselineskipglue\nobreak% + \@afterindentfalse\@afterheading% + \fi% +} +\newsavebox\tabularm@box +\newlength\tabularm@wd +\newcommand*\tabularm@num{1} +\NewEnviron{tabularm}[1]{% + \begin{lrbox}{\tabularm@box}% + \let\allcolumnpar\@gobble% + \begin{tabular}{*{#1}l}\BODY\end{tabular}% + \end{lrbox}% + \setlength{\tabularm@wd}{\wd\tabularm@box}% +%% \addtolength{\tabularm@wd}{-2\tabcolsep}% + \def\tabularm@num{#1}% + \let\allcolumnpar\@allcolumnpar% + \begin{tabular}{*{#1}l}\BODY\end{tabular}% +} +\newcommand*\@allcolumnpar[1]{% + \multicolumn{\tabularm@num}{@{}p{\tabularm@wd}@{}}{#1}% +} +\DeclareRobustCommand*\PName[1]{\texttt{\textit{<#1>}}} +\DeclareRobustCommand*\PBoolean{\PName{Ein-Aus-Wert}}% +\DeclareRobustCommand*\PSet{\PName{Einstellung}}% +\DeclareRobustCommand*\Parameter[1]{\texttt{\{}\PName{#1}\texttt{\}}} +\DeclareRobustCommand*\OParameter[1]{\texttt{[}\PName{#1}\texttt{]}} +\DeclareRobustCommand*\LParameter{\texttt{[}\PName{Parameterliste}\texttt{]}} +\DeclareRobustCommand*\OLParameter[1]{% + \texttt{[}\PName{#1}|\PName{Parameterliste}\texttt{]} +} +\DeclareRobustCommand*\PValue[1]{\texttt{#1}} +\DeclareRobustCommand*\PParameter[1]{\texttt{\{#1\}}} +\DeclareRobustCommand*\POParameter[1]{\texttt{[#1]}} +\RequirePackage{listings} +\lstnewenvironment{code}[1][]{\lstset{style=tudscr,#1}}{} +\lstdefinestyle{tudscr}{% + basicstyle=\let\bfseries@tt\mdseries@tt\ttfamily\setstretch{1},% + columns=fullflexible,keepspaces,% + aboveskip=.5\baselineskipglue,% + belowskip=.5\baselineskipglue,% + language=[LaTeX]TeX,% + texcl,% +} +\newenvironment{Example}{% + \labeling{{\usekomafont{disposition}Beispiel:\ }}% + \item[{\usekomafont{disposition}Beispiel:\ }]% +}{% + \endlabeling% +} +\newcommand*\todo@mark{} +\newcommand\ToDo[2][]{} +\TUD@key{ToDo}[true]{% + \TUD@set@ifkey{ToDo}{@tempswa}{#1}% + \if@tempswa% + \renewcommand\ToDo[2][]{% + \def\todo@mark{\ifstr{##1}{}{ToDo}{##1}}% + \endgraf\vskip1ex% + \hfuzz0.8pt% + \noindent\leavevmode\marginnote{\fbox{\todo@mark\strut}}% + [\dimexpr-\fboxsep-\fboxrule]% + \fbox{\parbox{\dimexpr\textwidth-2\fboxsep}{##2\strut}}% + \vskip1ex% + \noindent$\!\!$% + }% + \else% + \renewcommand\ToDo[2][]{}% + \fi% +} +\RequirePackage{xspace} +\newcommand*\vTUD{Version~\NoCaseChange{v}1.0\xspace} +\newcommand*\vTUDScript{} +\AtBeginDocument{% + \def\@tempb#1 #2 #3\relax#4\relax{\def\vTUDScript{#2}}% + \edef\@tempa{\TUDVersion}% + \expandafter\@tempb\@tempa\relax? ? \relax\relax% +} +\DeclareRobustCommand\TUDScript{% + \ifdin{TUD-KOMA-SCRIPT}{% + \texorpdfstring{% + \textsf{T\kern.05em U\kern.05em D\kern.1em-\kern.1em}\KOMAScript% + }{TUD-KOMA-Script}% + }% +} +\newcommand*\Attention{\marginnote{\tiny\fbox{Achtung!}}} +\newcommand*\forum{\url{http://latex.wcms-file3.tu-dresden.de/phpBB3/}\xspace} +\newcommand*\notudscrartcl{% + Für die Klasse \Class{tudscrartcl} ist diese Einstellung nicht verfügbar. +} +\newcommand*\CD{\foreignlanguage{english}{Corporate Design}\xspace} +\newcommand*\CDs{\foreignlanguage{english}{Corporate Designs}\xspace} +\newcommand*\TUD{Technische Universit\"at Dresden\xspace} +\newcommand*\TnUD{Technischen Universit\"at Dresden\xspace} +\newcommand*\DDC{\mbox{DRESDEN-concept}\xspace} +\newcommand*\Univers{\textubn{Univers}\xspace} +\newcommand*\DIN{\textdbn{DIN~BOLD}\xspace} +\renewcommand*\partpagestyle{empty} +\endinput +%% +%% End of file `tudscrman.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls new file mode 100644 index 00000000000..d5d1d64f755 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrreprt.cls @@ -0,0 +1,3050 @@ +%% +%% This is file `tudscrreprt.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `class,report') +%% tudscr-base.dtx (with options: `class,report') +%% tudscr-fonts.dtx (with options: `class,option') +%% tudscr-pagestyle.dtx (with options: `class,report,option') +%% tudscr-layout.dtx (with options: `class,report,option') +%% tudscr-frontmatter.dtx (with options: `class,report,option') +%% tudscr-title.dtx (with options: `class,report,option') +%% tudscr-misc.dtx (with options: `class,report,option') +%% tudscr-fonts.dtx (with options: `class') +%% tudscr-pagestyle.dtx (with options: `class,report') +%% tudscr-layout.dtx (with options: `class,report') +%% tudscr-frontmatter.dtx (with options: `class,report') +%% tudscr-title.dtx (with options: `class,report') +%% tudscr-fields.dtx (with options: `class') +%% tudscr-locale.dtx (with options: `class,report') +%% tudscr-color.dtx (with options: `class') +%% tudscr-misc.dtx (with options: `class,report') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +\newcommand*\cls@name{report} +\newcommand*\scrcls@name{scrreprt} +\newcommand*\tudcls@name{tudscrreprt} +\newcommand*\filemail{tudscr@gmail.com} +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{\tudcls@name}% + [\TUDVersion\space document class (\cls@name)]% +\typeout{The Corporate Design of Technische Universitaet Dresden} +\typeout{Class: \tudcls@name} +\typeout{Version: \TUDVersion} +\typeout{Author: Falk Hanisch (\filemail)} +\typeout{http://latex.wcms-file3.tu-dresden.de/phpBB3/index.php} +%%% From File: tudscr-base.dtx +\RequirePackage{tudscrbase}[\TUDVersion] +%%% From File: tudscr-fonts.dtx +\newcommand*\tud@cdfont{0} +\TUD@key{cdfont}[true]{% + \TUD@set@numkey{cdfont}{tud@cdfont}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {light}{1},{lightfont}{1},{noheavyfont}{1},% + {heavy}{2},{heavyfont}{2},% + {nodin}{3},% + {din}{4},% + {serifmath}{5},{serif}{5},{nosansmath}{5},{nosans}{5},% + {sansmath}{6},{sans}{6},% + {upgreek}{7},{uprightgreek}{7},{uprightGreek}{7},% + {slgreek}{8},{slantedgreek}{8},{slantedGreek}{8},% + }{#1}% + \ifcase \tud@cdfont\relax% + \TUDoptions{cdfonts=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont=false}% + \or% + \TUDoptions{cdfonts}% + \TUDoptions{heavyfont}% + \or + \TUDoptions{din=false}% + \or + \TUDoptions{din}% + \or% + \TUDoptions{sansmath=false}% + \or% + \TUDoptions{sansmath}% + \or% + \TUDoptions{slantedgreek=false}% + \or% + \TUDoptions{slantedgreek}% + \fi% +} +\newif\if@tud@cdfonts +\TUD@key{cdfonts}[true]{% + \TUD@set@ifkey{cdfonts}{@tud@cdfonts}{#1}% + \if@atdocument% + \if@tud@cdfonts% + \tud@font@cdfonts% + \else% + \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{familydefault}% + \tud@cmd@restore{seriesdefault}% + \tud@cmd@restore{shapedefault}% + \tud@cmd@restore{mdseries@rm}% + \tud@cmd@restore{bfseries@rm}% + \tud@cmd@restore{mdseries@sf}% + \tud@cmd@restore{bfseries@sf}% + \tud@cmd@restore{mdseries@tt}% + \tud@cmd@restore{bfseries@tt}% + \edef\rmdef@ult{\rmdefault} + \edef\sfdef@ult{\sfdefault} + \edef\ttdef@ult{\ttdefault} + \edef\bfdef@ult{\bfdefault} + \edef\mddef@ult{\mddefault} + \normalfont\selectfont% + \fi% + \tud@layout@process% + \else% + \if@tud@cdfonts% + \TUD@std@ifkey@lock{sansmath}{true}% + \TUD@std@ifkey@lock{slantedgreek}{true}% + \else% + \TUD@std@ifkey@lock{sansmath}{false}% + \TUD@std@ifkey@lock{slantedgreek}{false}% + \fi% + \fi% +} +\TUD@key{tudfonts}[true]{% + \TUD@set@ifkey{tudfonts}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfonts=true}% + \else% + \TUDoptions{cdfonts=false}% + \fi% +} +\newif\if@tud@heavyfont +\TUD@key{heavyfont}[true]{% + \if@tud@cdfonts% + \TUD@set@ifkey{heavyfont}{@tud@heavyfont}{#1}% + \if@atdocument\tud@font@cdfonts\fi% + \fi% +} +\newif\if@tud@din\@tud@dintrue +\TUD@ifkey{din}{@tud@din} +\newif\if@tud@sansmath +\TUD@key@lock{sansmath}[true]{% + \TUD@set@ifkey@lock{sansmath}{@tud@sansmath}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +\newif\if@tud@slantedgreek +\TUD@key@lock{slantedgreek}[true]{% + \TUD@set@ifkey@lock{slantedgreek}{@tud@slantedgreek}{#1}% + \if@atdocument\tud@font@mathfonts\fi% +} +%%% From File: tudscr-pagestyle.dtx +\newcommand*\tud@ddc@head{0} +\TUD@numkey{ddc}[true]{tud@ddc@head}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +\TUD@key{ddchead}[true]{\TUDoptions{ddc=#1}} +\newcommand*\tud@ddc@foot{0} +\TUD@numkey{ddcfoot}[true]{tud@ddc@foot}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {color}{2},{colour}{2},% +} +\newif\if@tud@widehead +\TUD@key@lock{widehead}[true]{% + \TUD@set@ifkey@lock{widehead}{@tud@widehead}{#1}% +} +\newif\if@tud@cdfoot +\TUD@key{cdfoot}[true]{% + \TUD@set@ifkey{cdfoot}{@tud@cdfoot}{#1}% + \if@atdocument% + \if@tud@cdfoot% + \tud@cmd@store{ps@headings}% + \tud@cmd@store{ps@myheadings}% + \tud@cmd@store{ps@plain}% + \let\ps@headings\tud@ps@headings% + \let\ps@myheadings\tud@ps@myheadings% + \let\ps@plain\tud@ps@plain% + \else% + \tud@cmd@restore{ps@headings}% + \tud@cmd@restore{ps@myheadings}% + \tud@cmd@restore{ps@plain}% + \fi% + \clearpage% + \expandafter\pagestyle\expandafter{\tud@currentpagestyle}% + \fi% +} +\TUD@key{tudfoot}[true]{% + \TUD@set@ifkey{tudfoot}{@tempswa}{#1}% + \if@tempswa% + \TUDoptions{cdfoot}% + \else% + \TUDoptions{cdfoot=false}% + \fi% +} +\AtBeginDocument{\if@tud@cdfoot\TUDoptions{cdfoot}\pagestyle{headings}\fi} +\newcommand*\tud@currentpagestyle{plain} +\apptocmd{\pagestyle}{% + \def\tud@currentpagestyle{#1}}{}{\tud@patch@wrn{pagestyle}% +} +\newcommand*\tud@geometry{0} +\TUD@key@lock{geometry}[true]{% + \TUD@set@numkey@lock{geometry}{tud@geometry}{% + {false}{0},{off}{0},{no}{0},{typearea}{0},% + {true}{1},{on}{1},{yes}{1},{tud}{1},{asymmetric}{1},{cd}{1},% + {symmetric}{2},{normal}{2},{standard}{2},{std}{2},% + {twoside}{3},{balanced}{3}% + }{#1}% + \if@atdocument\recalctypearea\fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@head@color{black} +\newcommand*\tud@cd{0} +\csdef@lock{tud@layout@title}{0} +\csdef@lock{tud@layout@part}{0} +\csdef@lock{tud@layout@chapter}{0} +\TUD@key{cd}[true]{% + \TUD@set@numkey{cd}{tud@cd}{\tud@layout@switch}{#1}% + \def\tud@head@color{black}% + \ifcase \tud@cd\relax% + \csstd@lock{tud@layout@title}{0}% + \csstd@lock{tud@layout@part}{0}% + \csstd@lock{tud@layout@chapter}{0}% + \or% + \csstd@lock{tud@layout@title}{1}% + \csstd@lock{tud@layout@part}{1}% + \csstd@lock{tud@layout@chapter}{1}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{2}% + \csstd@lock{tud@layout@part}{2}% + \csstd@lock{tud@layout@chapter}{2}% + \or% + \def\tud@head@color{HKS41}% + \csstd@lock{tud@layout@title}{3}% + \csstd@lock{tud@layout@part}{3}% + \csstd@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \TUD@std@ifkey@lock{widehead}{true}% + \fi% + \if@atdocument% + \tud@layout@process% + \else% + \ifcase \tud@cd\relax% + \TUD@std@numkey@lock{geometry}{false}% + \else% + \TUD@std@numkey@lock{geometry}{true}% + \fi% + \fi% +} +\TUD@key{cdtitle}[true]{% + \TUD@set@numkey{cdtitle}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@title}{0}% + \or% + \csset@lock{tud@layout@title}{1}% + \or% + \csset@lock{tud@layout@title}{2}% + \or% + \csset@lock{tud@layout@title}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\TUD@key{cdpart}[true]{% + \TUD@set@numkey{cdpart}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@part}{0}% + \or% + \csset@lock{tud@layout@part}{1}% + \or% + \csset@lock{tud@layout@part}{2}% + \or% + \csset@lock{tud@layout@part}{3}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\TUD@key{cdchapter}[true]{% + \TUD@std@ifkey@lock{chapterpage}{false}% + \TUD@set@numkey{cdchapter}{@tempa}{\tud@layout@switch}{#1}% + \ifcase \@tempa\relax% + \csset@lock{tud@layout@chapter}{0}% + \or% + \csset@lock{tud@layout@chapter}{1}% + \or% + \csset@lock{tud@layout@chapter}{2}% + \or% + \csset@lock{tud@layout@chapter}{3}% + \TUD@std@ifkey@lock{chapterpage}{true}% + \fi% + \if@atdocument\tud@layout@process\fi% +} +\newcommand*\tud@layout@switch{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {simple}{1},{std}{1},{standard}{1},{mono}{1},{monochrom}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colourlight}{2},{lightcolour}{2},% + {pale}{2},{colorpale}{2},{palecolor}{2},{colourpale}{2},{palecolour}{2},% + {full}{3},{colorfull}{3},{fullcolor}{3},{colourfull}{3},{fullcolour}{3},% + {color}{3},{colour}{3}% +} +\TUD@key{color}[true]{% + \TUD@set@ifkey{color}{@tempswa}{#1}% + \TUD@set@numkey{color}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {simple}{0},{std}{0},{standard}{0},{mono}{0},{monochrom}{0},% + {true}{1},{on}{1},{yes}{1},{color}{1},{colour}{1},% + {full}{1},{colorfull}{1},{fullcolor}{1},{colourfull}{1},{fullcolour}{1},% + {lite}{2},{colorlite}{2},{litecolor}{2},{colourlite}{2},{litecolour}{2},% + {light}{2},{colorlight}{2},{lightcolor}{2},{colorpale}{2},{palecolor}{2},% + {pale}{2},{colourlight}{2},{lightcolour}{2},{colourpale}{2},{palecolour}{2}% + }{#1}% + \ifcase \@tempa\relax% + \TUDoptions{cd}% + \or% + \TUDoptions{cd=color}% + \else% + \TUDoptions{cd=lite}% + \fi% +} +\TUD@key{colour}[true]{\TUDoptions{color=#1}} +\newif\if@tud@parttitle +\TUD@key@lock{parttitle}[true]{% + \TUD@set@ifkey@lock{parttitle}{@tud@parttitle}{#1}% + \if@atdocument\tud@layout@process\fi% +} +\newif\if@tud@chapterpage +\TUD@key@lock{chapterpage}[true]{% + \TUD@set@ifkey@lock{chapterpage}{@tud@chapterpage}{#1}% +} +\newcommand*\tud@cleardoublepage{\cleardoubleoddpage} +\TUD@key{cleardoublespecialpage}[true]{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{color}{\TUDoptions{clearcolor}}{% + \ifstr{\@tempa}{colour}{\TUDoptions{clearcolor}}{% + \ifstr{\@tempa}{current}{% + \def\tud@cleardoublepage{\cleardoubleoddstandardpage}% + }{% + \ifcsdef{ps@#1}{% + \def\tud@cleardoublepage{\cleardoubleoddpageusingstyle{#1}}% + }{% + \def\FamilyElseValue{% + , 'color', 'current' or any defined pagestyle e.g. 'empty','plain'% + }% + \TUD@set@ifkey{cleardoublespecialpage}{@tempswa}{#1}% + \if@tempswa% + \def\tud@cleardoublepage{\cleardoubleoddpage}% + \else% + \def\tud@cleardoublepage{\null\thispagestyle{empty}\newpage}% + \fi% + }% + }}}% +} +\newcommand*\tud@cleardoublespecialpage[2][]{% + \begingroup% + #2 + \ifboolexpr{bool {@twoside} and bool {@openright}}{% + \if@tud@clearcolor% + \def\@tempa{% + #1% + \tud@cleardoublepage% + \tud@restorepagecolor% + \endgroup% + }% + \else% + \def\@tempa{% + \endgroup% + \tud@restorepagecolor% + #1% + \tud@cleardoublepage% + }% + \fi% + }{% + \if@tud@clearcolor\tud@clearcolor@wrn\fi% + \def\@tempa{% + \tud@restorepagecolor% + \endgroup% + #1% + }% + }% + \@tempa% + \@afterindentfalse\@afterheading% +} +\newif\if@tud@clearcolor +\TUD@ifkey{clearcolor}{@tud@clearcolor} +\TUD@ifkey{clearcolour}{@tud@clearcolor} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@abstract@level{0} +\newbool@lock{@tud@abstract@toc} +\newif\if@tud@abstract@double +\newif\if@tud@abstract@fil +\@tud@abstract@filtrue +\newif\if@tud@abstract@first +\@tud@abstract@firsttrue +\newlength{\tud@dim@double} +\TUD@key{abstract}[true]{% + \TUD@set@numkey{abstract}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {section}{2},{sect}{2},{sec}{2},% + {chapter}{3},{chap}{3},% + {new}{3},{std}{3},{heading}{3},% + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% + \ifcase \@tempa\relax% + \def\tud@abstract@level{0}% + \stdbool@lock{@tud@abstract@toc}{false}% + \or% + \def\tud@abstract@level{1}% + \stdbool@lock{@tud@abstract@toc}{false}% + \or% + \def\tud@abstract@level{2}% + \stdbool@lock{@tud@abstract@toc}{true}% + \or% + \def\tud@abstract@level{3}% + \stdbool@lock{@tud@abstract@toc}{true}% + \or% + \setbool@lock{@tud@abstract@toc}{true}% + \or% + \setbool@lock{@tud@abstract@toc}{false}% + \or% + \@tud@abstract@doublefalse% + \or% + \@tud@abstract@doubletrue% + \or% + \@tud@abstract@filfalse% + \or% + \@tud@abstract@filtrue% + \fi% +} +\newcommand*\tud@declaration@level{1} +\newbool@lock{@tud@declaration@toc} +\newif\if@tud@declaration@double +\@tud@declaration@doubletrue +\newif\if@tud@declaration@fil +\@tud@declaration@filtrue +\newif\if@tud@declaration@first +\@tud@declaration@firsttrue +\TUD@key{declaration}[true]{% + \TUD@set@numkey{declaration}{@tempa}{% + {false}{0},{off}{0},{no}{0},% + {true}{1},{on}{1},{yes}{1},% + {section}{2},{sect}{2},{sec}{2},% + {chapter}{3},{chap}{3},% + {new}{3},{std}{3},{heading}{3},% + {totoc}{4},{toc}{4},% + {nottotoc}{5},{notoc}{5},% + {one}{6},{simple}{6},{single}{6},% + {two}{7},{both}{7},{double}{7},% + {nofil}{8},{nofill}{8},{novfil}{8},{novfill}{8},% + {fil}{9},{fill}{9},{vfil}{9},{vfill}{9},% + }{#1}% + \ifcase \@tempa\relax% + \def\tud@declaration@level{0}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{1}% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \def\tud@declaration@level{2}% + \stdbool@lock{@tud@declaration@toc}{true}% + \or% + \def\tud@declaration@level{3}% + \stdbool@lock{@tud@declaration@toc}{true}% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \stdbool@lock{@tud@declaration@toc}{false}% + \or% + \@tud@declaration@doublefalse% + \or% + \@tud@declaration@doubletrue% + \or% + \@tud@declaration@filfalse% + \or% + \@tud@declaration@filtrue% + \fi% +} +%%% From File: tudscr-title.dtx +\newif\if@tud@subjectthesis +\TUD@key@lock{subjectthesis}[true]{% + \TUD@set@ifkey@lock{subjectthesis}{@tud@subjectthesis}{#1}% +} +%%% From File: tudscr-misc.dtx +\newif\if@tud@bookmarks +\TUD@ifkey{tudbookmarks}{@tud@bookmarks} +\newcommand*\tud@lowerstring[2]{% + \protected@edef#1{#2}% + \lowercase\expandafter{% + \expandafter\gdef\expandafter #1\expandafter{#1}% + }% +} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\scrcls@name}} +\TUDExecuteOptions{\TUDDefaultOptions} +\TUDProcessOptions +\LoadClass{\scrcls@name}[2012/07/29] +\AtEndPreamble{% + \tud@layout@process% + \recalctypearea% +} +\RequirePackage{textcase}[2004/10/07] +\RequirePackage{trimspaces}[2009/09/17] +\RequirePackage{geometry}[2010/09/12] +\RequirePackage{mweights}[2013/07/21] +\RequirePackage{environ}[2013/04/01] +\AtEndPreamble{% + \@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}[1999/02/16]}% + \@ifpackageloaded{tudscrcolor}{}{\RequirePackage{tudscrcolor}[\TUDVersion]}% +} +%%% From File: tudscr-fonts.dtx +\newif\if@tud@univers +\newcommand*\tud@univers{lun} +\newcommand*\tud@dinbold{0m6} +\def\@tempb#1{% + \ClassWarningNoLine{\tudcls@name}{% + #1 fonts not found. Please use on of the\MessageBreak% + installation scripts out of the tudscr-bundle,\MessageBreak% + which suits to your OS. A fallback layout is used% + }% +} +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@univers.fd}}% +} +\@tempa{\@tud@universtrue}{\@tempb{Univers}} +\if@tud@univers% + \newcommand*\univln{\usefont{\encodingdefault}{\tud@univers}{l}{n}}% + \newcommand*\univrn{\usefont{\encodingdefault}{\tud@univers}{m}{n}}% + \newcommand*\univbn{\usefont{\encodingdefault}{\tud@univers}{b}{n}}% + \newcommand*\univxn{\usefont{\encodingdefault}{\tud@univers}{eb}{n}}% + \newcommand*\univls{\usefont{\encodingdefault}{\tud@univers}{l}{sl}}% + \newcommand*\univrs{\usefont{\encodingdefault}{\tud@univers}{m}{sl}}% + \newcommand*\univbs{\usefont{\encodingdefault}{\tud@univers}{b}{sl}}% + \newcommand*\univxs{\usefont{\encodingdefault}{\tud@univers}{eb}{sl}}% +\else + \newcommand*\univln{}% + \newcommand*\univrn{}% + \newcommand*\univbn{}% + \newcommand*\univxn{}% + \newcommand*\univls{}% + \newcommand*\univrs{}% + \newcommand*\univbs{}% + \newcommand*\univxs{}% +\fi +\DeclareTextFontCommand{\textuln}{\univln}% +\DeclareTextFontCommand{\texturn}{\univrn}% +\DeclareTextFontCommand{\textubn}{\univbn}% +\DeclareTextFontCommand{\textuxn}{\univxn}% +\DeclareTextFontCommand{\textuls}{\univls}% +\DeclareTextFontCommand{\texturs}{\univrs}% +\DeclareTextFontCommand{\textubs}{\univbs}% +\DeclareTextFontCommand{\textuxs}{\univxs}% +\edef\@tempa{% + \lowercase{\noexpand\InputIfFileExists{\encodingdefault\tud@dinbold.fd}}% +} +\@tempa{% + \newcommand*\dinbn{% + \usefont{\encodingdefault}{\tud@dinbold}{b}{n}% + \mathversion{dinbold}% + }% +}{% + \@tempb{DIN-Bold}% + \let\dinbn\sectfont% +} +\DeclareTextFontCommand{\textdbn}{\dinbn} +\edef\@tempa{\encodingdefault}\def\@tempb{T1} +\ifx\@tempa\@tempb + \def\tud@mathenc{T1} +\else + \def\tud@mathenc{OT1} +\fi +\DeclareMathVersion{univers} +\DeclareMathVersion{universbold} +\SetSymbolFont{operators}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetSymbolFont{letters}{univers}{OML}{\tud@univers}{l}{sl} +\SetSymbolFont{symbols}{univers}{OMS}{\tud@univers}{l}{n} +\SetSymbolFont{largesymbols}{univers}{U}{zeuex}{m}{n} +\SetSymbolFont{operators}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetSymbolFont{letters}{universbold}{OML}{\tud@univers}{b}{sl} +\SetSymbolFont{symbols}{universbold}{OMS}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathbf}{univers}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathsf}{univers}{\tud@mathenc}{\tud@univers}{l}{n} +\SetMathAlphabet{\mathit}{univers}{\tud@mathenc}{\tud@univers}{l}{sl} +\SetMathAlphabet{\mathtt}{univers}{\tud@mathenc}{cmtl}{m}{n} +\SetMathAlphabet{\mathbf}{universbold}{\tud@mathenc}{\tud@univers}{eb}{n} +\SetMathAlphabet{\mathsf}{universbold}{\tud@mathenc}{\tud@univers}{b}{n} +\SetMathAlphabet{\mathit}{universbold}{\tud@mathenc}{\tud@univers}{b}{sl} +\DeclareMathVersion{dinbold} +\SetSymbolFont{operators}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetSymbolFont{letters}{dinbold}{OML}{\tud@dinbold}{b}{sl} +\SetSymbolFont{symbols}{dinbold}{OMS}{iwona}{ebc}{n} +\SetSymbolFont{largesymbols}{dinbold}{OMX}{iwona}{ebc}{n} +\SetMathAlphabet{\mathbf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathsf}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{n} +\SetMathAlphabet{\mathit}{dinbold}{\tud@mathenc}{\tud@dinbold}{b}{sl} +\newcount\tud@greek@upGamma +\tud@greek@upGamma\Gamma +\newcount\tud@greek@offset +\let\@tempa\relax +\DeclareMathSymbol{\@tempa}{\mathalpha}{letters}{0} +\tud@greek@offset\@tempa +\advance\tud@greek@offset-\Gamma +\newcommand*\tud@greek@def[2]{% + \expandafter\@tempcnta\csname #1\endcsname% + \advance\@tempcnta#2% + \expandafter\mathchardef\csname #1\endcsname\@tempcnta% +} +\newcommand*\tud@greek@uc{% + Gamma,Delta,Theta,Lambda,Xi,Pi,Sigma,Upsilon,Phi,Psi,Omega% +} +\newcommand*\tud@greek@changeshape{% + \@for\@tempa:=\tud@greek@uc\do{% + \@expandtwoargs\tud@greek@def{\@tempa}{\tud@greek@offset}% + }% +} +\newcommand*\tud@greek@slanted{% + \ifnum\Gamma=\tud@greek@upGamma\relax\tud@greek@changeshape\fi% +} +\newcommand*\tud@greek@upright{% + \ifnum\Gamma>\tud@greek@upGamma% + \tud@greek@offset=-\tud@greek@offset% + \tud@greek@changeshape% + \tud@greek@offset=-\tud@greek@offset% + \fi% +} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\upGamma}{\mathalpha}{operators}{0} +\DeclareMathSymbol{\upDelta}{\mathalpha}{operators}{1} +\DeclareMathSymbol{\upTheta}{\mathalpha}{operators}{2} +\DeclareMathSymbol{\upLambda}{\mathalpha}{operators}{3} +\DeclareMathSymbol{\upXi}{\mathalpha}{operators}{4} +\DeclareMathSymbol{\upPi}{\mathalpha}{operators}{5} +\DeclareMathSymbol{\upSigma}{\mathalpha}{operators}{6} +\DeclareMathSymbol{\upUpsilon}{\mathalpha}{operators}{7} +\DeclareMathSymbol{\upPhi}{\mathalpha}{operators}{8} +\DeclareMathSymbol{\upPsi}{\mathalpha}{operators}{9} +\DeclareMathSymbol{\upOmega}{\mathalpha}{operators}{10} +\DeclareMathSymbol{\varGamma}{\mathalpha}{letters}{0} +\DeclareMathSymbol{\varDelta}{\mathalpha}{letters}{1} +\DeclareMathSymbol{\varTheta}{\mathalpha}{letters}{2} +\DeclareMathSymbol{\varLambda}{\mathalpha}{letters}{3} +\DeclareMathSymbol{\varXi}{\mathalpha}{letters}{4} +\DeclareMathSymbol{\varPi}{\mathalpha}{letters}{5} +\DeclareMathSymbol{\varSigma}{\mathalpha}{letters}{6} +\DeclareMathSymbol{\varUpsilon}{\mathalpha}{letters}{7} +\DeclareMathSymbol{\varPhi}{\mathalpha}{letters}{8} +\DeclareMathSymbol{\varPsi}{\mathalpha}{letters}{9} +\DeclareMathSymbol{\varOmega}{\mathalpha}{letters}{10} +\newcommand*\tud@sansmath{% + \if@tud@univers% + \tud@cmd@store{mv@normal}% + \tud@cmd@store{mv@bold}% + \let\mv@normal\mv@univers% + \let\mv@bold\mv@universbold% + \mathversion{normal}% + \fi% +} +\newcommand*\tud@serifmath{% + \if@tud@univers% + \tud@cmd@restore{mv@normal}% + \tud@cmd@restore{mv@bold}% + \mathversion{normal}% + \fi% +} +\newcommand*\tud@font@cdfonts{% + \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{familydefault}% + \tud@cmd@store{seriesdefault}% + \tud@cmd@store{shapedefault}% + \tud@cmd@store{mdseries@rm}% + \tud@cmd@store{bfseries@rm}% + \tud@cmd@store{mdseries@sf}% + \tud@cmd@store{bfseries@sf}% + \tud@cmd@store{mdseries@tt}% + \tud@cmd@store{bfseries@tt}% + \if@tud@univers% + \if@tud@heavyfont% + \def\bfseries@rm{b}% + \def\bfseries@sf{b}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{b}% + \renewcommand*\mddefault{m}% + \else% + \def\bfseries@rm{m}% + \def\bfseries@sf{m}% + \def\mdseries@rm{l}% + \def\mdseries@sf{l}% + \renewcommand*\bfdefault{m}% + \renewcommand*\mddefault{l}% + \fi% + \renewcommand*\sfdefault{\tud@univers}% + \else% + \def\bfseries@rm{bx}% + \def\bfseries@sf{bx}% + \def\mdseries@rm{m}% + \def\mdseries@sf{m}% + \renewcommand*\bfdefault{bx}% + \renewcommand*\mddefault{m}% + \fi% + \renewcommand*\rmdefault{\sfdefault}% + \renewcommand*\familydefault{\sfdefault}% + \renewcommand*\seriesdefault{\mddefault}% + \renewcommand*\shapedefault{\updefault}% + \renewcommand{\ttdefault}{cmtl}% + \def\bfseries@tt{m}% + \def\mdseries@tt{m}% + \edef\rmdef@ult{\rmdefault}% + \edef\sfdef@ult{\sfdefault}% + \edef\ttdef@ult{\ttdefault}% + \edef\bfdef@ult{\bfdefault}% + \edef\mddef@ult{\mddefault}% + \normalfont\selectfont% +} +\newcommand*\tud@font@mathfonts{% + \if@tud@sansmath\tud@sansmath\else\tud@serifmath\fi% + \if@tud@slantedgreek\tud@greek@slanted\else\tud@greek@upright\fi% + \mathversion{normal}% +} +\newcommand*\tud@head@font@set{% + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\sfdefault}{bx}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% + {\encodingdefault}{\sfdefault}{\mdseries@sf}{n}{\tud@head@font@size}% + \if@tud@cdfonts\if@tud@univers% + \DeclareFixedFont{\tud@head@font@bold}% + {\encodingdefault}{\tud@univers}{b}{n}{\tud@head@font@size}% + \DeclareFixedFont{\tud@head@font@light}% + {\encodingdefault}{\tud@univers}{\mdseries@sf}{n}{\tud@head@font@size}% + \fi\fi% +} +\AtBeginDocument{\if@tud@cdfonts\tud@font@cdfonts\fi\tud@font@mathfonts} +\AfterPackage{amsfonts}{% + \DeclareFontFamily{U}{msa}{}% + \DeclareFontShape{U}{msa}{m}{n}{% + <-9>cmbras8% + <9-10>cmbras9% + <10->cmbras10% + }{}% + \DeclareFontFamily{U}{msb}{}% + \DeclareFontShape{U}{msb}{m}{n}{% + <-9>cmbrbs8% + <9-10>cmbrbs9% + <10->cmbrbs10% + }{}% +} +\newcommand*\tud@raggedright{\raggedright} +\newcommand*\tud@RaggedRight{\raggedright} +\AfterPackage{ragged2e}{% + \ifdef{\LaTeXraggedright}% + {\renewcommand*\tud@raggedright{\LaTeXraggedright}}{}% + \renewcommand*\tud@RaggedRight{\RaggedRight} +} +%%% From File: tudscr-pagestyle.dtx +\newlength{\tud@dim@left} +\newlength{\tud@dim@right} +\newlength{\tud@dim@both} +\newlength{\tud@dim@top} +\newlength{\tud@dim@bottom} +\newlength{\tud@dim@footskip} +\newlength{\tud@dim@headheight} +\newlength{\tud@dim@barheight} +\newlength{\tud@dim@headsep} +\newlength{\tud@dim@logox} +\newlength{\tud@dim@logoy} +\newlength{\tud@dim@logowidth} +\newlength{\tud@dim@logoheight} +\newlength{\tud@dim@thinline} +\newlength{\tud@dim@heavyline} +\newlength{\tud@dim@headingsvskip} +\newlength{\tud@dim@ddcheight} +\newcommand*\tud@head@font@size{} +\newcommand*\tud@geometry@set{% + \ifdim\paperheight<148.1mm\relax% + \setlength{\tud@dim@headheight}{17.5mm}% + \setlength{\tud@dim@barheight}{2.5mm}% + \setlength{\tud@dim@headsep}{6mm}% + \setlength{\tud@dim@logox}{5.5mm}% + \setlength{\tud@dim@logoy}{6.5mm}% + \setlength{\tud@dim@logowidth}{28.5mm}% + \setlength{\tud@dim@left}{15mm}% + \setlength{\tud@dim@right}{10mm}% + \setlength{\tud@dim@top}{12.5mm}% + \setlength{\tud@dim@bottom}{12.5mm}% + \setlength{\tud@dim@footskip}{6mm}% + \setlength{\tud@dim@heavyline}{0.75pt}% + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{4.5}% + \else\ifdim\paperheight<297.1mm\relax% + \setlength{\tud@dim@headheight}{35mm}% + \setlength{\tud@dim@barheight}{5mm}% + \setlength{\tud@dim@headsep}{12mm}% + \setlength{\tud@dim@logox}{11mm}% + \setlength{\tud@dim@logoy}{13.5mm}% + \setlength{\tud@dim@logowidth}{57mm}% + \setlength{\tud@dim@left}{30mm}% + \setlength{\tud@dim@right}{20mm}% + \setlength{\tud@dim@top}{25mm}% + \setlength{\tud@dim@bottom}{25mm}% + \setlength{\tud@dim@footskip}{12mm}% + \setlength{\tud@dim@heavyline}{1pt}% + \setlength{\tud@dim@thinline}{0.5pt}% + \def\tud@head@font@size{9}% + \else\ifdim\paperheight<420.1mm\relax% + \setlength{\tud@dim@headheight}{50mm}% + \setlength{\tud@dim@barheight}{7mm}% + \setlength{\tud@dim@headsep}{17mm}% + \setlength{\tud@dim@logox}{15.5mm}% + \setlength{\tud@dim@logoy}{19mm}% + \setlength{\tud@dim@logowidth}{80mm}% + \setlength{\tud@dim@left}{42mm}% + \setlength{\tud@dim@right}{28mm}% + \setlength{\tud@dim@top}{35mm}% + \setlength{\tud@dim@bottom}{35mm}% + \setlength{\tud@dim@footskip}{17mm}% + \setlength{\tud@dim@heavyline}{1.4pt}% + \setlength{\tud@dim@thinline}{0.7pt}% + \def\tud@head@font@size{13}% + \else\ifdim\paperheight<594.1mm\relax% + \setlength{\tud@dim@headheight}{70mm}% + \setlength{\tud@dim@barheight}{10mm}% + \setlength{\tud@dim@headsep}{24mm}% + \setlength{\tud@dim@logox}{22mm}% + \setlength{\tud@dim@logoy}{27mm}% + \setlength{\tud@dim@logowidth}{114mm}% + \setlength{\tud@dim@left}{60mm}% + \setlength{\tud@dim@right}{40mm}% + \setlength{\tud@dim@top}{50mm}% + \setlength{\tud@dim@bottom}{50mm}% + \setlength{\tud@dim@footskip}{24mm}% + \setlength{\tud@dim@heavyline}{1.7pt}% + \setlength{\tud@dim@thinline}{1pt}% + \def\tud@head@font@size{13.5}% + \else\ifdim\paperheight<841.1mm\relax% + \setlength{\tud@dim@headheight}{100mm}% + \setlength{\tud@dim@barheight}{14mm}% + \setlength{\tud@dim@headsep}{34mm}% + \setlength{\tud@dim@logox}{31mm}% + \setlength{\tud@dim@logoy}{38mm}% + \setlength{\tud@dim@logowidth}{161.5mm}% + \setlength{\tud@dim@left}{85mm}% + \setlength{\tud@dim@right}{56.5mm}% + \setlength{\tud@dim@top}{71mm}% + \setlength{\tud@dim@bottom}{71mm}% + \setlength{\tud@dim@footskip}{34mm}% + \setlength{\tud@dim@heavyline}{1.9pt}% + \setlength{\tud@dim@thinline}{1.5pt}% + \def\tud@head@font@size{14}% + \else% + \setlength{\tud@dim@headheight}{140mm}% + \setlength{\tud@dim@barheight}{20mm}% + \setlength{\tud@dim@headsep}{48mm}% + \setlength{\tud@dim@logox}{44mm}% + \setlength{\tud@dim@logoy}{54mm}% + \setlength{\tud@dim@logowidth}{228mm}% + \setlength{\tud@dim@left}{120mm}% + \setlength{\tud@dim@right}{80mm}% + \setlength{\tud@dim@top}{100mm}% + \setlength{\tud@dim@bottom}{100mm}% + \setlength{\tud@dim@footskip}{48mm}% + \setlength{\tud@dim@heavyline}{2.1pt}% + \setlength{\tud@dim@thinline}{2pt}% + \def\tud@head@font@size{20}% + \fi\fi\fi\fi\fi% + \setlength{\tud@dim@both}% + {\dimexpr\tud@dim@left+\tud@dim@right}% + \setlength{\tud@dim@ddcheight}{.6\tud@dim@headheight}% + \setlength{\tud@ta@footdiff}% + {\dimexpr\tud@dim@ddcheight-\tud@ta@footskip+\baselineskip}% + \ifdim\tud@ta@footdiff<\z@\relax% + \setlength{\tud@ta@footdiff}{\z@}% + \fi% +} +\newcommand*\tud@head@text{} +\newcommand*\tud@head@text@first{} +\newcommand*\tud@head@text@second{} +\newcommand*\tud@head@text@delimiter{} +\newcommand*\tud@head@text@buffer{} +\newcommand*\tud@head@font{} +\newcommand*\tud@head@rule{} +\newcommand*\ps@tudpage@plain{% + \renewcommand*\@oddhead{% + \setlength{\@tempdima}% + {\dimexpr\oddsidemargin+1in+\tud@dim@logox-\tud@dim@left}% + \ifdim\@tempdima<\ta@bcor\relax% + \tud@head@logo@wrn{\the\@tempdima}% + \fi% + \ifx\@faculty\@empty% + \ClassWarningNoLine{\tudcls@name}{No faculty given}% + \faculty{\null}% + \fi% + \tud@head@font@set% + \@tempswafalse% + \def\tud@head@text@first{}% + \def\tud@head@text@second{}% + \def\tud@head@text@buffer{}% + \tud@head@text@add[\enskip]{\tud@head@font@bold}{\@faculty}% + \tud@head@text@add{\tud@head@font@light}{\@department}% + \tud@head@text@add{\tud@head@font@light}{\@institute}% + \tud@head@text@add{\tud@head@font@light}{\@chair}% + \settowidth{\@tempdima}{\tud@head@text@second}% + \ifdim\@tempdima>\textwidth\relax% + \tud@head@text@wrn{\the\dimexpr\@tempdima-\textwidth}% + \fi% + \color{\tud@head@color}% + \vbox to \dimexpr\tud@dim@barheight+\tud@dim@headheight{% + \vfill\linespread{0}\selectfont% + \setlength{\@tempdima}{\tud@dim@logox}% + \addtolength{\@tempdima}{-\tud@dim@left}% + \hspace*{\@tempdima}% + \tud@mainlogo\hfill\tud@head@logo% + \setlength{\@tempdima}{\tud@dim@headheight}% + \addtolength{\@tempdima}{-\tud@dim@logoy}% + \addtolength{\@tempdima}{-\tud@dim@logoheight}% + \ifstr{\tud@head@color}{white}% + {\setlength{\@tempdimc}{\tud@dim@heavyline}}% + {\setlength{\@tempdimc}{\tud@dim@thinline}}% + \vspace*{\dimexpr\@tempdima-.5\@tempdimc}% + \def\tud@head@rule{% + \if@tud@widehead% + \setlength{\@tempdima}{\oddsidemargin}% + \if@twoside\ifodd\c@page\else% + \setlength{\@tempdima}{\evensidemargin}% + \fi\fi% + \addtolength{\@tempdima}{1in}% + \setlength{\@tempdimb}{\paperwidth}% + \else% + \setlength{\@tempdima}{\z@}% + \setlength{\@tempdimb}{\textwidth}% + \fi% + \hfuzz=2\@tempdima% + \hspace*{-\@tempdima}% + \rule[-.5\@tempdimc]{\@tempdimb}{\@tempdimc}% + \newline% + }% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@first}% + \newline% + \tud@head@rule% + \tud@head@text@write{\tud@head@text@second}% + \ifx\@extraheadline\@empty\else% + \newline\tud@head@font@light\@extraheadline% + \vspace*{-\tud@dim@barheight}% + \fi% + \vspace*{\dimexpr\@tempdimc-\tud@dim@barheight}% + }% + }% + \let\@evenhead\@oddhead% +} +\newcommand*\ps@tudpage@empty{% + \ps@tudpage@plain% + \let\@mkboth\@gobbletwo% + \let\@oddfoot\@empty% + \let\@evenfoot\@empty% +} +\newcommand*\tud@head@text@add[3][, ]{% + \def\tud@head@font{#2}% + \edef\tud@head@text{#3}% + \ifx\tud@head@text\@empty% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@delimiter{\tud@head@text@buffer}% + \def\tud@head@text@buffer{#1}% + \fi% + \if@tempswa\else% + \def\@tempa{% + \tud@head@text@first% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \settowidth{\@tempdima}{\@tempa}% + \ifdim\@tempdima>\textwidth\relax% + \@tempswatrue% + \def\tud@head@text@delimiter{}% + \else% + \edef\tud@head@text@first{\@tempa}% + \fi% + \fi% + \if@tempswa% + \edef\tud@head@text@second{% + \tud@head@text@second% + \tud@head@text@delimiter% + \tud@head@font% + \tud@head@text% + }% + \fi% +} +\newcommand*\tud@head@text@write[1]{% + \raisebox{\dimexpr(\tud@dim@barheight-\@tempdimc-\totalheight)/2}% + [\dimexpr\tud@dim@barheight-\@tempdimc-\depth\relax][\depth]{#1}% +} +\newcommand\tud@head@text@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The given entries for the headline\MessageBreak% + (faculty, institute etc.) are #1\MessageBreak% + too wide for the textwidth% + }% + \global\let\tud@head@text@wrn\@gobble% +} +\newcommand\tud@head@logo@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The selected page layout means that the\MessageBreak% + logo of TUD extends beyond the printing area.\MessageBreak% + The inner margin is smaller than BCOR\MessageBreak% + (BCOR=\the\ta@bcor,\space inner margin=#1)\MessageBreak% + Maybe you should decrease the current value\MessageBreak% + of DIV (DIV=\the\ta@div)% + }% + \global\let\tud@head@logo@wrn\@gobble% +} +\newcommand*\tud@@mainlogo{} +\newcommand*\tud@mainlogo{% + \def\tud@@mainlogo{TU_Logo_SW}% + \ifpdfoutput{}{% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@@mainlogo{TU_Logo_HKS41}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@@mainlogo{TU_Logo_WS}}{}% + }% + \def\@tempa{% + \includegraphics[width=\tud@dim@logowidth]{% + \tud@@mainlogo% + }% + }% + \settoheight{\tud@dim@logoheight}{\@tempa}\@tempa% +} +\newcommand*\headlogo[2][]{% + \ifnum\tud@ddc@head>0\relax% + \def\tud@ddc@head{0}% + \ClassWarning{\tudcls@name}% + {DDC logo is overwritten with \string#2}% + \fi% + \def\tud@head@@logo{#2}% + \def\tud@head@@@logo{#1}% +} +\newcommand*\logofile{} +\newcommand*\logofilename{} +\let\logofile\headlogo +\let\logofilename\headlogo +\newcommand*\tud@head@@logo{} +\newcommand*\tud@head@@@logo{} +\newcommand*\tud@head@logo{% + \ifx\tud@head@@logo\@empty\else% + \let\@tempa\tud@head@@@logo% + \pretocmd{\@tempa}{height=\tud@dim@logoheight,}{}{}% + \expandafter\includegraphics% + \expandafter[\@tempa]{\tud@head@@logo}% + \fi% +} +\newcommand*\tud@ps@headings{\tud@cmd@use{ps@headings}\tud@ps} +\newcommand*\tud@ps@myheadings{\tud@cmd@use{ps@myheadings}\tud@ps} +\newcommand*\tud@ps{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\quad\footnotesize\leftmark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\footnotesize\rightmark\quad\normalsize\pagemark% + }}% + }}% + \hss% + }% +}% +\newcommand*\tud@ps@plain{% + \renewcommand*\@evenhead{}% + \renewcommand*\@oddhead{}% + \renewcommand*\@evenfoot{% + \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \normalsize\pagemark\hfil% + }}% + }}% + }% + \renewcommand*\@oddfoot{% + \set@tempdima@hw\hb@xt@ \@tempdima{\vbox{% + \hb@xt@ \@tempdima{{% + \hfil\normalsize\pagemark% + }}% + }}% + \hss% + }% +} +\newlength{\tud@ta@textheight} +\newlength{\tud@ta@topmargin} +\newlength{\tud@ta@headheight} +\newlength{\tud@ta@headsep} +\newlength{\tud@ta@footskip} +\newlength{\tud@ta@headdiff} +\newlength{\tud@ta@footdiff} +\AfterCalculatingTypearea{% + \setlength{\tud@ta@textheight}{\textheight}% + \setlength{\tud@ta@topmargin}{\topmargin}% + \setlength{\tud@ta@headheight}{\headheight}% + \setlength{\tud@ta@headsep}{\headsep}% + \setlength{\tud@ta@footskip}{\footskip}% + \setlength{\tud@dim@headingsvskip}{.1\textheight}% + \let\@tempa\Gm@restore@org% + \if@atdocument\let\Gm@restore@org\relax\fi% + \tud@geometry@process% + \let\Gm@restore@org\@tempa% +} +\newcommand*\tud@geometry@hmargin{} +\newcommand*\tud@geometry@vmargin{} +\newcommand*\tud@geometry@pmargin{} +\newcommand*\tud@geometry@dmargin{} +\newcommand*\tud@geometry@process{% + \tud@geometry@set% + \ifcase \tud@geometry\relax% + \def\tud@geometry@hmargin{% + left=\dimexpr\oddsidemargin+1in,% + width=\textwidth,% + }% + \def\tud@geometry@vmargin{% + top=\dimexpr\tud@ta@topmargin+\tud@ta@headheight+\tud@ta@headsep+1in,% + headheight=\tud@ta@headheight,% + headsep=\tud@ta@headsep,% + textheight=\tud@ta@textheight,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff,% + footskip=\dimexpr\tud@ta@footskip,% + }% + \def\tud@geometry@dmargin{% + textheight=\dimexpr\tud@ta@textheight-\tud@ta@headdiff-\tud@ta@footdiff,% + footskip=\dimexpr\tud@ta@footskip+\tud@ta@footdiff,% + }% + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep% + -\tud@ta@topmargin-\tud@ta@headheight-\tud@ta@headsep-1in% + }% + \else% + \ifcase \tud@geometry\or% + \def\tud@geometry@hmargin{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + \if@twoside asymmetric,\fi% + }% + \or% + \def\tud@geometry@hmargin{% + left=.5\tud@dim@both,% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% + \or% + \def\tud@geometry@hmargin{% + \if@twoside% + left=.4\tud@dim@both,% + twoside,% + \else% + left=.5\tud@dim@both,% + \fi% + textwidth=\dimexpr\paperwidth-\tud@dim@both-\ta@bcor,% + bindingoffset=\ta@bcor,% + }% + \fi% + \def\tud@geometry@vmargin{% + top=\tud@dim@top,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@pmargin{% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\tud@dim@bottom,% + footskip=\tud@dim@footskip,% + }% + \def\tud@geometry@dmargin{% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% + \global\setlength{\tud@ta@headdiff}{\dimexpr% + \tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep-\tud@dim@top% + }% + \fi% + \tud@geometry@@process% +} +\newcommand*\tud@geometry@@process{% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@dmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudddc}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@pmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudpage}% + \edef\@tempa{% + \tud@geometry@hmargin,% + \tud@geometry@vmargin,% + \tud@geometry@@@process% + }% + \expandafter\newgeometry\expandafter{\@tempa}% + \savegeometry{tudarea}% +} +\newcommand*\tud@geometry@@@process{% + \if@hincl% + \if@fincl% + includeheadfoot,% + \else% + includehead,ignorefoot,% + \fi% + \else% + \if@fincl% + ignorehead,includefoot,% + \else% + ignoreheadfoot,% + \fi% + \fi% +} +\NewEnviron{tudpage}[1][]{% + \clearpage% + \setlength{\tud@ta@headdiff}{\z@}% + \TUD@parameter@set[tudpage]{#1}% + \tud@multicols@check% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% +%% \ifstr{\abstractpagestyle}{empty}% +%% {\renewcommand*\abstractpagestyle{tudpage@empty}}% +%% {\renewcommand*\abstractpagestyle{tudpage@plain}}% + \pagestyle{tudpage@plain}% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}% + \fi% + \BODY% + \ifnum\tud@multicols>1\relax% + \end{multicols}% + \fi% +}[% + \gdef\@tempa{\loadgeometry{tudarea}}% + \aftergroup\@tempa% + \clearpage% +] +\TUD@parameter{tudpage}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{color}[HKS41]{% + \def\tud@head@color{#1}% + \tud@ddc@sethead% + \tud@ddc@setfoot% + }% + \TUD@parameter@let{colour}{color} + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{head}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{false}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{off}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{no}{\def\tud@ddc@head{0}\headlogo{}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@head{1}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@head{2}\tud@ddc@sethead}{% + \ifstr{\@tempa}{logo}{\def\tud@ddc@head{0}}{% + \ifstr{\@tempa}{cdfont}{\@tud@cdfontstrue}{% + \ifstr{\@tempa}{cdfonts}{\@tud@cdfontstrue}{% + \TUD@parameter@wrn{head}{false,ddc,ddccolor,logo,cdfont,cdfonts}% + }}}}}}}}}% + }% + \TUD@parameter@define{foot}{% + \tud@lowerstring{\@tempa}{#1}% + \ifstr{\@tempa}{empty}{% + \def\tud@ddc@foot{0}% + \renewcommand*\@oddfoot{}% + \let\@evenfoot\@oddfoot% + }{% + \ifstr{\@tempa}{plain}{\def\tud@ddc@foot{0}}{% + \ifstr{\@tempa}{ddc}{\def\tud@ddc@foot{1}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolor}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \ifstr{\@tempa}{ddccolour}{\def\tud@ddc@foot{2}\tud@ddc@setfoot}{% + \TUD@parameter@wrn{foot}{plain,empty,ddc,ddccolor}% + }}}}% + }% + }% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{logo}[true]{\headlogo{#1}}% + \TUD@parameter@let{headlogo}{logo}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +\newcommand*\tud@ddc@sethead{% + \ifcase \tud@ddc@head\relax\or% + \def\tud@head@@logo{DDC-24}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@head@@logo{DDC-27}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@head@@logo{DDC-30}}{}% + \or% + \def\tud@head@@logo{DDC-09}% + \fi% +} +\newcommand*\tud@foot@logo{} +\newcommand*\tud@ddc@setfoot{% + \ifcase \tud@ddc@foot\relax\or% + \def\tud@foot@logo{DDC-22}% + \ifstr{\tud@head@color}{HKS41}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{cddarkblue}% + {\def\tud@foot@logo{DDC-25}}{}% + \ifstr{\tud@head@color}{white}% + {\def\tud@foot@logo{DDC-28}}{}% + \or% + \def\tud@foot@logo{DDC-07}% + \fi% + \ifcase \tud@ddc@foot\relax\else% + \renewcommand*\@oddfoot{% + \parbox[b]{\textwidth}{% + \hfill\includegraphics[height=\tud@dim@ddcheight]{\tud@foot@logo}% + }% + }% + \let\@evenfoot\@oddfoot% + \fi% +} +%%% From File: tudscr-layout.dtx +\newcommand*\tud@color@partfont{black} +\newcommand*\tud@color@partpage{white} +\newcommand*\tud@color@parthead{black} +\newcommand*\tud@color@chapterfont{black} +\newcommand*\tud@color@chapterpage{white} +\newcommand*\tud@font@heading{\if@tud@din\dinbn\fi\tud@raggedright} +\newcommand*\tud@font@heading@size{} +\newcommand*\tud@font@heading@numsize{} +\let\tud@font@heading@size\size@part% +\let\tud@font@heading@numsize\size@partnumber% +\newkomafont{tud@heading}{\tud@font@heading\tud@font@heading@size}% +\newcommand*\tud@font@part{\usekomafont{tud@heading}\color{\tud@color@partfont}} +\newcommand*\tud@font@part@number{\tud@font@part\tud@font@heading@numsize} +\newcommand*\tud@font@part@title{\tud@font@part\usesizeofkomafont{section}} +\newcommand*\tud@font@chapter{% + \usekomafont{tud@heading}% + \color{\tud@color@chapterfont}% +} +\newlength{\chapterheadingvskip} +\newlength{\headingsvskip} +\let\headingsvskip\chapterheadingvskip +\newcommand*\tud@layout@process{% + \ifcase \tud@layout@title\relax% + \tud@cmd@restore{maketitle}% + \tud@cmd@restore{@maketitle}% + \tud@font@koma@reset{title}% + \tud@font@koma@reset{subtitle}% + \tud@font@koma@reset{subject}% + \else% + \tud@cmd@store{maketitle}% + \tud@cmd@store{@maketitle}% + \tud@font@koma@set{title}{% + \usekomafont{tud@heading}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subtitle}{% + \tud@font@heading% + \usesizeofkomafont{section}% + \color{\tud@color@titlefont}% + }% + \tud@font@koma@set{subject}{\color{\tud@color@titlefont}\sffamily}% + \let\maketitle\tud@maketitle% + \fi% + \ifcase \tud@layout@part\relax% + \tud@cmd@restore{partheadstartvskip}% + \tud@cmd@restore{partheadmidvskip}% + \tud@cmd@restore{partheadendvskip}% + \tud@cmd@restore{partheademptypage}% + \tud@cmd@restore{partpagestyle}% + \tud@cmd@restore{@part}% + \tud@cmd@restore{@spart}% + \tud@sectioning@reset[addpart]{part}% + \tud@font@koma@reset{partnumber}% + \else% + \tud@cmd@store{partheadstartvskip}% + \tud@cmd@store{partheadmidvskip}% + \tud@cmd@store{partheadendvskip}% + \tud@cmd@store{partheademptypage}% + \tud@cmd@store{partpagestyle}% + \tud@cmd@store{@part}% + \tud@cmd@store{@spart}% + \if@tud@parttitle% + \tud@sectioning@set[addpart]{part}{\tud@font@part@title}% + \tud@font@koma@set{partnumber}{\tud@font@part@title}% + \renewcommand*\partheadmidvskip{\enskip}% + \else% + \tud@sectioning@set[addpart]{part}{\tud@font@part}% + \tud@font@koma@set{partnumber}{\tud@font@part@number}% + \renewcommand*\partheadmidvskip{% + \par\nobreak\vspace{.5\baselineskip}% + }% + \fi% + \let\partheadstartvskip\tud@partheadstartvskip% + \let\@part\tud@@part% + \let\@spart\tud@@spart% + \renewcommand*\partheadendvskip{% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@partpage}% + \def\tud@head@color{\tud@color@parthead}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@partfont}}% + \begingroup% + \let\ps@empty\ps@tudpage@empty% + \let\ps@plain\ps@tudpage@plain% + \clearpage% + \endgroup% + } + \loadgeometry{tudarea}% + }% + \renewcommand*\partheademptypage{}% + \fi% + \ifcase \tud@layout@chapter\relax% + \tud@cmd@restore{chapterheadstartvskip}% + \tud@cmd@restore{chapterformat}% + \tud@cmd@restore{@chapter}% + \tud@cmd@restore{@schapter}% + \tud@cmd@restore{@@makechapterhead}% + \tud@cmd@restore{set@@@@preamble}% + \tud@sectioning@reset[addchap]{chapter}% + \tud@font@koma@reset{chapterprefix}% + \tud@sectioning@reset[addsec]{section}% + \tud@sectioning@reset{subsection}% + \tud@sectioning@reset{subsubsection}% + \tud@sectioning@reset{minisec}% + \else% + \tud@cmd@store{chapterheadstartvskip}% + \tud@cmd@store{chapterformat}% + \tud@cmd@store{@chapter}% + \tud@cmd@store{@schapter}% + \tud@cmd@store{@@makechapterhead}% + \tud@cmd@store{set@@@@preamble}% + \tud@sectioning@set[addchap]{chapter}{\tud@font@chapter}% + \tud@font@koma@set{chapterprefix}{\usesizeofkomafont{partnumber}}% + \tud@sectioning@set[addsec]{section}{\tud@font@heading}% + \tud@sectioning@set{subsection}{\tud@font@heading}% + \tud@sectioning@set{subsubsection}{\tud@font@heading}% + \tud@sectioning@set{minisec}{\tud@font@heading}% + \renewcommand*\chapterheadstartvskip{% + \def\tud@color@chapterpage{white}% + \def\tud@color@chapterfont{black}% + \ifcase \tud@layout@chapter\relax\or\or% + \def\tud@color@chapterpage{white}% + \def\tud@color@chapterfont{HKS41}% + \or% + \def\tud@color@chapterpage{HKS41!10}% + \def\tud@color@chapterfont{HKS41}% + \fi% + \vspace*{\dimexpr\tud@ta@headdiff+\tud@dim@headingsvskip}% + \if@tud@chapterpage\else\vspace*{\chapterheadingvskip}\fi% + }% + \let\@@makechapterhead\tud@@@makechapterhead% + \let\set@@@@preamble\tud@set@@@@preamble% + \fi% +} +\newcommand*\tud@partheadstartvskip{% + \def\tud@color@partfont{black}% + \def\tud@color@partpage{white}% + \def\tud@color@parthead{black}% + \ifcase \tud@layout@part\relax\or\or% + \def\tud@color@partfont{HKS41}% + \def\tud@color@partpage{white}% + \def\tud@color@parthead{HKS41}% + \or% + \def\tud@color@partpage{HKS41}% + \def\tud@color@partfont{HKS41!30}% + \def\tud@color@parthead{white}% + \fi% + \loadgeometry{tudpage}% + \begingroup% + \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \if@tud@parttitle% + \tud@parttitle% + \else% + \usesizeofkomafont{partnumber}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}% + \fi% + \endgroup% +} +\newcommand*\tud@parttitle{% + \begingroup% + \usekomafont{tud@heading}% + \color{\tud@color@partfont}% + \tud@makeuppercase{\expandonce{\@@title}}% + \par\nobreak\vskip .5\baselineskip% + \endgroup% +} +\let\tud@@part\@part +\ifnum\scr@compatibility>\@nameuse{scr@v@3.11b}\relax + \patchcmd{\tud@@part}{% + \ifnumbered{part}{% + \size@partnumber{\partformat}% + \partheadmidvskip + }{}% + }{% + \ifnumbered{part}{% + \size@partnumber{\tud@makeuppercase\partformat}% + }{% + \size@partnumber{\strut}% + }% + \unskip\partheadmidvskip% + }{}{\tud@patch@wrn{@part}}% +\else + \patchcmd{\tud@@part}{% + \ifnum \c@secnumdepth >-2\relax + \size@partnumber{\partformat}% + \partheadmidvskip + \fi + }{% + \ifnum \c@secnumdepth >-2\relax% + \size@partnumber{\tud@makeuppercase\partformat}% + \else% + \size@partnumber{\strut}% + \fi% + \unskip\partheadmidvskip% + }{}{\tud@patch@wrn{@part}}% +\fi +\let\tud@@spart\@spart +\patchcmd{\tud@@spart}{% + \normalfont + \sectfont\nobreak\size@part +}{% + \normalfont\sectfont\nobreak% + \size@partnumber{\strut}% + \partheadmidvskip\unskip% + \size@part% +}{}{\tud@patch@wrn{@spart}} +\newcommand*\tud@partpreamble{% + \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% + \KOMAoptions{titlepage=false}% + \addtokomafont{disposition}{\color{\tud@color@partfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@partfont}}% + \color{\tud@color@partfont}% + \vskip\dimexpr\topskip+.9\baselineskip% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@@@makechapterhead{} +\let\tud@@@makechapterhead\@@makechapterhead +\patchcmd{\tud@@@makechapterhead}{\chapterformat}{% + \if@chapterprefix% + \usesizeofkomafont{chapterprefix}% + \vspace*{\dimexpr-\dp\strutbox-\ht\strutbox-.5\baselineskip}% + \fi% + \tud@makeuppercase{\chapterformat}% +}{}{\tud@patch@wrn{@@makechapterhead}} +\patchcmd{\tud@@@makechapterhead}{\size@chapter{#1}}{% + \setlength{\parskip}{\z@}% + \size@chapter{#1}% +}{}{\tud@patch@wrn{@@makechapterhead}} +\newcommand*\tud@chapterpreamble{% + \ifnum\tud@abstract@level>1\relax\def\tud@abstract@level{1}\fi% + \KOMAoptions{titlepage=false}% + \if@tud@chapterpage% + \if@tud@cdfonts% + \if@tud@heavyfont% + \TUDoptions{cdfont=heavy}% + \else% + \TUDoptions{cdfont}% + \fi% + \fi% + \addtokomafont{disposition}{\color{\tud@color@chapterfont}}% + \addtokomafont{dictumtext}{\color{\tud@color@chapterfont}}% + \color{\tud@color@chapterfont}% + \fi% + \@afterindentfalse\@afterheading% +} +\newcommand*\tud@chapter@pre{% + \if@tud@chapterpage% + \tud@cmd@store{chapterpagestyle}% + \renewcommand*\chapterpagestyle{\partpagestyle}% + \@restonecolfalse% + \if@twocolumn\@restonecoltrue\onecolumn\fi% + \fi% +} +\newcommand*\tud@chapter@app{% + \if@tud@chapterpage% + \tud@cleardoublespecialpage{% + \tud@pagecolor{\tud@color@chapterpage}% + \def\tud@head@color{\tud@color@chapterfont}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@chapterfont}}% + \clearpage% + }% + \tud@cmd@restore{chapterpagestyle}% + \if@restonecol\twocolumn\fi% + \fi% + \if@twocolumn% + \@afterindentfalse\@afterheading% + \fi% +} +\AtEndPreamble{% + \pretocmd{\tud@nchapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@nchapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@schapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@schapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@ochapter}{\tud@chapter@pre}{}{} + \apptocmd{\tud@ochapter}{\tud@chapter@app}{}{} + \pretocmd{\tud@naddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@naddchap}{\tud@chapter@app}{}{} + \pretocmd{\tud@saddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@saddchap}{\tud@chapter@app}{}{} + \pretocmd{\tud@oaddchap}{\tud@chapter@pre}{}{} + \apptocmd{\tud@oaddchap}{\tud@chapter@app}{}{} +} +\newcommand*\tud@clearcolor@wrn{% + \ClassWarning{\tudcls@name}{% + Option 'clearcolor' is only available together with\MessageBreak% + options 'twoside' and 'open=right'% + }% + \global\let\tud@clearcolor@wrn\relax% +} +\newcommand*\tud@set@@@@preamble{} +\let\tud@set@@@@preamble\set@@@@preamble +\patchcmd{\tud@set@@@@preamble}{% + \hbox to\hsize{#4\parbox[{#2}]{#3}{#6\par}#5\par}% +}{% + \def\@tempa####1@####2{\@nameuse{tud@####1preamble}}% + \hbox to\hsize{% + \let\@parboxrestore\relax% + #4\parbox[{#2}]{#3}{\@tempa#1#6\par}#5\par% + }% +}{}{\tud@patch@wrn{set@@@@preamble}} +\newcommand*\tud@part{} +\newcommand*\tud@spart{} +\newcommand*\tud@addpart{} +\newcommand*\tud@saddpart{} +\newcommand*\tud@chapter{} +\newcommand*\tud@schapter{} +\newcommand*\tud@addchap{} +\newcommand*\tud@saddchap{} +\newcommand*\tud@section{} +\newcommand*\tud@ssection{} +\newcommand*\tud@subsection{} +\newcommand*\tud@ssubsection{} +\newcommand*\tud@subsubsection{} +\newcommand*\tud@ssubsubsection{} +\newcommand*\tud@npart{} +\newcommand*\tud@opart{} +\newcommand*\tud@naddpart{} +\newcommand*\tud@oaddpart{} +\newcommand*\tud@nchapter{} +\newcommand*\tud@ochapter{} +\newcommand*\tud@naddchap{} +\newcommand*\tud@oaddchap{} +\newcommand*\tud@nsection{} +\newcommand*\tud@osection{} +\newcommand*\tud@nsubsection{} +\newcommand*\tud@osubsection{} +\newcommand*\tud@nsubsubsection{} +\newcommand*\tud@osubsubsection{} +\newcommand*\tud@sectioning@set[3][]{% + \tud@cmd@store{#2}% + \ifstr{#2}{minisec}{% + \renewcommand\minisec[1]{% + \tud@cmd@use{minisec}{\tud@makeuppercase{##1}}% + }% + }{% + \tud@sectioning@case{#2}% + \ifstrempty{#1}{}{% + \tud@cmd@store{#1}% + \tud@sectioning@case{#1}% + }% + }% + \tud@font@koma@set{#2}{#3}% +} +\newcommand*\tud@sectioning@case[1]{% + \@namedef{#1}{\@ifstar{\@nameuse{tud@s#1}}{\@nameuse{tud@#1}}}% + \@namedef{tud@#1}{\@ifnextchar[%] + {\@nameuse{tud@o#1}}{\@nameuse{tud@n#1}}% + }% + \@namedef{tud@n#1}##1{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##1}}}% + \@namedef{tud@o#1}[##1]##2{\@nameuse{@@tud@#1}[##1]{\tud@makeuppercase{##2}}}% + \@namedef{tud@s#1}##1{\@nameuse{@@tud@#1}*{\tud@makeuppercase{##1}}}% +} +\newcommand*\tud@sectioning@reset[2][]{% + \tud@cmd@restore{#2}% + \ifstrempty{#1}{}{\tud@cmd@restore{#1}}% + \tud@font@koma@reset{#2}% +} +\newcommand*\tud@font@koma@set[2]{% + \ifcsdef{tud@font@koma@#1}{}{\addtokomafont{#1}{\@nameuse{tud@font@koma@#1}}}% + \@namedef{tud@font@koma@#1}{#2}% +} +\newcommand*\tud@font@koma@reset[1]{% + \ifcsdef{tud@font@koma@#1}{\@namedef{tud@font@koma@#1}{\relax}}{}% +} +\providecommand*\usesizeofkomafont[1]{% + \begingroup% + \usekomafont{#1}% + \edef\reserved@a{\noexpand\endgroup% + \noexpand\fontsize{\f@size}{\f@baselineskip}}% + \reserved@a\selectfont% +} +%%% From File: tudscr-frontmatter.dtx +\newcommand*\tud@fm@set[3]{% + \ifnumless{\@nameuse{tud@#1@level}}{3}{% + \if@titlepage% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@double}{}{\newpage}% + \else% + \ifbool{@tud@#1@double}{% + \par% + \ifdim\pagetotal=\z@\relax% + \booltrue{@tud@#1@first}% + \fi% + \ifbool{@tud@#1@first}{% + \global\setlength{\tud@dim@double}{\textheight}% + \clearpage% + }{}% + \setbox0\vtop{\strut\tud@fm@body{#1}{#2}{#3}}% + \global\setlength{\tud@dim@double}% + {\dimexpr\tud@dim@double-\ht0-\dp0}\relax% + \ifdim\tud@dim@double>\z@\relax% + \tud@fm@vcenter{#1}{#2}{#3}% + \global\boolfalse{@tud@#1@first}% + \else% + \tud@fm@double@wrn{#1}% + \clearpage% + \global\booltrue{@tud@#1@first}% + \tud@fm@vcenter{#1}{#2}{#3}% + \fi% + }{% + \clearpage% + \tud@fm@vcenter{#1}{#2}{#3}% + \clearpage% + }% + \fi% + \else% + \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}% + \if@twocolumn% + \tud@fm@body{#1}{#2}{#3}% + \else% + \ifnum\@nameuse{tud@#1@level}<2\tud@quoting\fi% + \tud@fm@body{#1}{#2}{#3}% + \ifnum\@nameuse{tud@#1@level}<2\tud@endquoting\fi% + \fi% + \fi% + }{% + \if@titlepage\else\tud@fm@level@wrn{#1}\fi% + \ifbool{@tud@#1@double}{\tud@fm@option@wrn{#1}}{}% + \clearpage% + \tud@fm@body{#1}{#2}{#3}% + \clearpage% + }% +} +\newcommand*\tud@fm@head[2]{% + \ifcase\@nameuse{tud@#1@level}\relax% + \def\@tempa{\phantomsection}% + \or% + \def\@tempa{% + \phantomsection% + \@afterindentfalse% + \begin{center}% + \normalfont\sectfont\nobreak#2% + \@endparpenalty\@M% + \end{center}% + \nopagebreak% + \vskip\dimexpr\bigskipamount-\parskip% + \@afterheading% + }% + \or% + \def\@tempa{\addsec*{#2}}% + \or% + \def\@tempa{\addchap*{#2}}% + \fi% + \ifbool{@tud@#1@toc}{% + \apptocmd{\@tempa}{\addchaptertocentry{}{#2}}{}{}% + }{}% + \@tempa% +} +\newcommand*\tud@fm@vcenter[3]{% + \ifdim\@tempdima>\dimexpr\textheight\relax% + \tud@fm@body{#1}{#2}{#3}% + \else% + \ifbool{@tud@#1@fil}{% + \ifcase\@nameuse{tud@#1@level}\relax\or\or% + \vspace*{-\parskip}% + {\usekomafont{section}\vspace*{-2\baselineskip}}% + \fi% + \ifbool{@tud@#1@first}{\vspace*{\z@ \@plus 2fil}}{}% + }{}% + \tud@fm@body{#1}{#2}{#3}% + \ifbool{@tud@#1@fil}{\vspace*{\z@ \@plus 3fil}}{}% + \fi% +} +\newcommand*\tud@fm@body[3]{% + \if@titlepage\@mkboth{}{}\fi% + \if@twocolumn% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \ifbool{@tud@#1@first}{% + \global\boolfalse{@tud@#1@first}% + \vspace{\dimexpr\bigskipamount-\parskip}% + }{}% + \fi% + \tud@fm@head{#1}{#2}% + #3\par% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \vspace{\dimexpr\bigskipamount-\parskip}% + \fi% + \else% + \ifnum\tud@multicols>1\relax% + \begin{multicols}{\tud@multicols}[{\tud@fm@head{#1}{#2}}]% + \else% + \tud@fm@head{#1}{#2}% + \fi% + #3\par% + \ifnum\tud@multicols>1\relax% + \end{multicols}\leavevmode% + \else% + \ifcase\@nameuse{tud@#1@level}\relax\or% + \bigskip\vskip-\parskip\null% + \fi% + \fi% + \fi% +} +\let\tud@quoting\quotation +\let\tud@endquoting\endquotation +\AfterPackage{quoting}{% + \let\tud@quoting\quoting% + \let\tud@endquoting\endquoting% +} +\csundef{abstract} +\csundef{endabstract} +\NewEnviron{abstract}[1][]{% + \TUD@parameter@set[abstract]{#1}% + \tud@multicols@check% + \tud@fm@set{abstract}{\abstractname}{\BODY}% +} +\TUD@parameter{abstract}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{columns}{\def\tud@multicols{#1}}% + \TUD@parameter@define{abstract}{\TUDoption{abstract}{#1}}% + \TUD@parameter@define{option}{\TUDoption{abstract}{#1}}% + \TUD@parameter@sethandler{\tud@environmenthandler{#1}} +} +\newcommand*\confirmation{% + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\supporter{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\supporter{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% + \def\@tempb{% + \tud@fm@set{declaration}{\confirmationname}% + {\confirmationtext\endgraf\@confirmationclosing}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +\newcommand*\restriction{% + \def\@tempa[##1]{% + \begingroup% + \ifblank{##1}{\company{}}{}% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\company{##1}} + \TUD@parameter@set{##1} + }% + \@tempb% + \endgroup% + }% + \def\@tempb{% + \tud@fm@set{declaration}{\restrictionname}{\restrictiontext}% + }% + \@ifnextchar[%] + {\@tempa}{\begingroup\@tempb\endgroup}% +} +\newcommand*\declaration[1][]{% + \clearpage% + \begingroup% + \TUD@parameter{declaration}{% + \TUD@parameter@sethandler{\selectlanguage{#1}} + \TUD@parameter@set{#1} + }% + \@tud@declaration@firsttrue% + \confirmation\restriction% + \endgroup% + \clearpage% +} +\TUD@parameter{declaration}{% + \TUD@parameter@define{language}{\selectlanguage{#1}}% + \TUD@parameter@define{company}{\company{#1}}% + \TUD@parameter@define{supporter}{\supporter{#1}}% + \TUD@parameter@define{place}{\place{#1}}% + \TUD@parameter@define{closing}{\confirmationclosing{#1}}% + \TUD@parameter@define{declaration}{\TUDoption{declaration}{#1}}% + \TUD@parameter@define{option}{\TUDoption{declaration}{#1}}% +} +\newcommand*\tud@fm@level@wrn[1]{% + \ClassWarning{\tudcls@name}{% + Headings in chapter style '#1=chapter'\MessageBreak% + are not recommended without the titlepage\MessageBreak% + option% + }% +} +\newcommand*\tud@fm@option@wrn[1]{% + \ClassWarning{\tudcls@name}{% + The option '#1=double' is not supported\MessageBreak% + neither with chapter headings nor without an\MessageBreak% + activated titlepage% + }% +} +\newcommand*\tud@fm@double@wrn[1]{% + \ClassWarning{\tudcls@name}{% + It wasn't possible to use '#1=double'\MessageBreak% + because of too much content within #1% + }% +} +%%% From File: tudscr-title.dtx +\newkomafont{thesis}{\usekomafont{title}\LARGE} +\newkomafont{tudscrtitle}{% + \usekomafont{subject}% + \if@tud@univers\fontfamily{\tud@univers}\fi% + \fontseries{\mdseries@sf}\large% +} +\newcommand*\tud@color@titlefont{black} +\newcommand*\tud@color@titlepage{white} +\newcommand*\tud@color@titlehead{black} +\newcommand*\tud@titleback{}% +\newcommand*\tud@maketitle[1][1]{% + \if@titlepage% + \ifcase \tud@layout@title\relax\or\or% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \or% + \def\tud@color@titlepage{HKS41}% + \def\tud@color@titlefont{HKS41!30}% + \def\tud@color@titlehead{white}% + \fi% + \else% + \ifcase \tud@layout@title\relax\or\else% + \def\tud@color@titlefont{HKS41}% + \def\tud@color@titlehead{HKS41}% + \fi% + \fi% + \if@titlepage% + \begin{titlepage}% + \if@tud@cover\else% + \setcounter{page}{#1}% + \let\footnotesize\small% + \let\footnoterule\relax% + \let\footnote\thanks% + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark% + \renewcommand*\@makefnmark{\rlap\@oldmakefnmark}% + \tud@footnote@unhyper% + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% + \vspace*{\dimexpr\tud@dim@headingsvskip+\parskip}% + \setparsizes{\z@}{\z@}{\z@\@plus1fil}\par@updaterelative% + \linespread{1}\selectfont% + \begingroup% + \usekomafont{tudscrtitle}% + \setlength{\@tempdima}{\z@}% + \ifx\@titlehead\@empty\else% + \setbox0\vbox{% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead\par\null% + \end{minipage}\newline\null% + }% + \addtolength{\@tempdima}{\dimexpr\ht0+\dp0}% + \fi% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + \setbox1\vbox{{\usekomafont{subject}\@subject\par\null}}% + \addtolength{\@tempdima}{\dimexpr\ht1+\dp1+1pt}% + \fi% + \vspace*{-\@tempdima}% + \ifx\@titlehead\@empty\else\usebox0\par\fi% + \ifx\@subject\@empty\else\usebox1\par\fi% + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \vskip 1ex% + \fi% + \vskip 1ex% + \tud@multiple@split{@@author}% + \vskip 2ex% + \ifx\@thesis\@empty% + \if@tud@cover\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@date\space\ignorespaces\@datemore}% + \vskip\z@\@plus2fill% + \fi% + \else% + \vskip\z@\@plus2fill% + \begingroup% + \usekomafont{thesis}% + \if@tud@subjectthesis\else% + \tud@title@uppercase{\@thesis}% + \fi% + \if@tud@cover\else% + \ifx\@degree\@empty\else% + \def\@tempc{% + \@degree% + \ifx\@degreeabbr\@empty\else\space\@degreeabbr\fi% + }% + \usekomafont{tudscrtitle}% + \if@tud@subjectthesis% + \degreetext% + \vskip 2ex% + \usekomafont{subject}% + \@tempc% + \else% + \vskip 2ex% + \degreetext% + \vskip 2ex% + \usekomafont{thesis}% + \tud@title@uppercase{\@tempc}% + \fi% + \vskip 3ex% + \fi% + \fi% + \endgroup% + \vskip\z@\@plus3fill% + \fi% + \if@tud@cover\else% + \tud@title@names{supervisor} + \tud@title@names{referee} + \tud@title@names{advisor} + \ifx\@professor\@empty\else% + \vskip 2ex% + \professorname% + \vskip .5ex% + {\usekomafont{subject}\@professor}% + \fi% + \ifx\@thesis\@empty\else% + \ifdefstring{\@date}{\today}{% + \ifdefvoid{\@duedate}{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or + \string\date\space was not given.\MessageBreak% + Since a thesis is a self-contained work, an end\MessageBreak% + date should be specified by the author.\MessageBreak% + Nevertheless, today's date is used% + }% + }{% + \ClassWarning{\tudcls@name}{% + \string\submissiondate\space or \string\date\space + was not given. It's\MessageBreak% + substituted by the given due date% + }% + \let\@date\@duedate% + }% + }{}% + \ifx\@date\@empty\else% + \vskip 2ex% + \ifstr{\datetext}{}{}{\datetext\@titledelim}\@date% + \space\ignorespaces\@datemore% + \ifx\@defensedate\@empty\else\newline% + \ifstr{\defensedatetext}{}{}{\defensedatetext\@titledelim}% + \@defensedate% + \fi% + \fi% + \fi% + \fi% + \if@tud@cover\vskip\z@\@plus2fill\fi% + \ifx\@publisher\@empty\else% + \vskip\z@\@plus0.5fill% + {\usekomafont{subject}\@publisher}% + \fi% + \endgroup% + \let\tud@titleback\relax% + \if@twoside% + \@tempswatrue% + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty% + \@tempswafalse% + \fi\fi% + \if@tempswa% + \gdef\tud@titleback{% + \next@tpage% + \loadgeometry{tudarea}% + \begin{minipage}[t]{\textwidth}% + \@uppertitleback% + \end{minipage}\par% + \vfill% + \begin{minipage}[b]{\textwidth}% + \@lowertitleback% + \end{minipage}\par% + \@thanks\let\@thanks\@empty% + }% + \fi% + \fi% + \def\@tempa{% + \tud@pagecolor{\tud@color@titlepage}% + \def\tud@head@color{\tud@color@titlehead}% + \color{\tud@color@titlefont}% + \addtokomafont{pagenumber}{\sffamily\color{\tud@color@titlefont}}% + \addtokomafont{footnote}{\sffamily\color{\tud@color@titlefont}}% + \ifnum\tud@ddc@head>0\tud@ddc@sethead\fi% + \ifnum\tud@ddc@foot>0\tud@ddc@setfoot\fi% + \ifnum\tud@ddc@foot=\z@\relax% + \thispagestyle{tudpage@empty}% + \else% + \thispagestyle{tudpage@plain}% + \fi% + }% + \if@tud@cover% + \begingroup% + \@tempa% + \cleardoubleemptypage% + \tud@restorepagecolor% + \endgroup% + \else% + \tud@cleardoublespecialpage[\tud@titleback]{% + \@tempa% + \@thanks\global\let\@thanks\@empty% + \clearpage% + \ifx\@dedication\@empty\else\thispagestyle{empty}\fi% + \loadgeometry{tudarea}% + }% + \loadgeometry{tudarea}% + \ifx\@dedication\@empty\else% + \next@tdpage\null\vfill% + {\centering\Large\@dedication\par}% + \vskip\z@\@plus3fill% + \@thanks\let\@thanks\@empty% + \cleardoubleemptypage% + \fi% + \fi% + \end{titlepage}% + \loadgeometry{tudarea}% + \if@tud@cover\else% + \setcounter{footnote}{0}% + \global\let\and\relax% + \tud@footnote@rehyper% + \fi% + \else% + \let\@maketitle\tud@@maketitle% + \tud@cmd@use{maketitle}[#1]% + \fi% +} +\robustify{\thanks}% +\newcommand*\tud@title@uppercase[1]{% + \let\@tempa\relax% + \begingroup% + \def\thanks##1{\gdef\@tempa{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#1}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \tud@makeuppercase{#1}% + \endgroup% + \ifx\@tempa\relax\else\thanks\@tempa\fi% +} +\newcommand*\tud@title@names[1]{% + \letcs\@tempa{@#1} + \ifx\@tempa\@empty\else% + \begingroup% + \def\and{% + \letcs\@tempa{#1othername} + \ifx\@tempa\@empty% + \newline% + \else% + \begingroup% + \usekomafont{tudscrtitle}% + \vskip 1ex% + \@nameuse{#1othername}% + \vskip .5ex% + \endgroup% + \fi% + \def\and{\newline}% + }% + \vskip 2ex% + \@nameuse{#1name}% + \vskip .5ex% + \usekomafont{subject}% + \@nameuse{@#1}% + \endgroup% + \fi% +} +\newcommand*\@titledelim{:\nobreakspace} +\newcommand*\titledelimiter[1]{\gdef\@titledelim{#1}} +\newcommand*\tud@@maketitle{% + \next@tdpage% + \vspace*{\tud@dim@headingsvskip}% + \tud@extratitle% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \linespread{1}\selectfont% + \begingroup% + \usekomafont{tudscrtitle}% + \ifx\@titlehead\@empty\else% + \begin{minipage}[t]{\textwidth}% + \usekomafont{tudscrtitle}\@titlehead% + \end{minipage}\newline\null\par% + \fi% + \TUDoptions{subjectthesis}% + \tud@letsubjectthesis% + \ifx\@subject\@empty\else% + {\usekomafont{subject}\@subject\par\null}% + \fi% + \begingroup% + \usekomafont{title}% + \tud@title@uppercase{\@title}% + \vskip 1ex% + \endgroup% + \ifx\@subtitle\@empty\else% + \usekomafont{subtitle}% + \tud@title@uppercase{\@subtitle}% + \fi% + \vskip 1ex% + \tud@multiple@split{@@author}% + \vskip 1ex% + \@date% + \ifx\@publisher\@empty\else% + \vskip 1ex% + \@publisher% + \fi% + \ifx\@dedication\@empty\else% + \vskip 2ex% + \begin{center}% + \@dedication\par% + \end{center}% + \fi% + \vskip 2ex% + \ifx\@degree\@empty\else\tud@title@wrn{degree}\fi% + \ifx\@supervisor\@empty\else\tud@title@wrn{supervisor}\fi% + \ifx\@referee\@empty\else\tud@title@wrn{referee}\fi% + \ifx\@professor\@empty\else\tud@title@wrn{professor}\fi% + \endgroup% +} +\newcommand*\tud@multiple@field{} +\newcommand*\tud@multiple@split[1]{% + \gdef\tud@multiple@field{#1}% + \begingroup% + \let\and\relax% + \edef\@tempa{\csname#1\endcsname\and}% + \expandafter\endgroup% + \expandafter\tud@multiple@@split\@tempa\relax% +} +\newcommand*\tud@multiple@@split{}% +\def\tud@multiple@@split#1\and#2\relax{% + \expandafter\csname tud@split\tud@multiple@field\endcsname{#1}{#2}% +} +\newcommand*\tud@multiple@@@split[2]{% + \ifx\relax#1\relax% + \def\@tempb{}% + \else% + \def\@tempb{#2\tud@multiple@@split#1\relax}% + \fi% + \@tempb% +} +\newcommand*\tud@multiple@setfields[2]{% + \letcs\@tempa{tud@split\tud@multiple@field @list}% + \let\and\relax% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \begingroup% + \@expandtwoargs\in@{\@tempb}{\csname\tud@multiple@field\endcsname}% + \ifin@ \@tempb{#1}\fi% + \endgroup% + \fi% + }% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \setbox0\vtop{#2}% + \endgroup% +} +\newcommand*\tud@newline{} +\newcommand*\tud@split@@author[2]{% + \tud@multiple@setfields{}{#1}% + \def\tud@newline{\vskip .5ex\let\tud@newline\newline}% + \begingroup% + \usekomafont{subject}% + \ignorespaces#1% + \endgroup% + \ifx\@authormore\@empty\else% + \tud@newline% + \@authormore% + \fi% + \ifx\@dateofbirth\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\dateofbirthtext}{}% + {}{\dateofbirthtext\@titledelim}\@dateofbirth% + \ifx\@placeofbirth\@empty\else% + \space\placeofbirthtext\unskip\space\@placeofbirth% + \fi% + \else% + \tud@title@wrn{dateofbirth}% + \fi% + \fi% + \ifx\@matriculationnumber\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\matriculationnumbername}{}% + {}{\matriculationnumbername\@titledelim}% + \@matriculationnumber% + \else% + \tud@title@wrn{matriculationnumber}% + \fi% + \fi% + \ifx\@matriculationyear\@empty\else% + \if@titlepage% + \tud@newline% + \ifstr{\matriculationyearname}{}% + {}{\matriculationyearname\@titledelim}% + \@matriculationyear% + \else% + \tud@title@wrn{matriculationyear}% + \fi% + \fi% + \tud@multiple@@@split{#2}{\vskip 2ex}% +} +\newcommand*\tud@split@@author@list{% + \authormore,\matriculationyear,\enrolmentyear,% + \matriculationnumber,\studentid,\matriculationid,% + \placeofbirth,\birthplace,\dateofbirth,\birthday,% +} +\newcommand\maketitleonecolumn[1][1]{% + \ifxnumber{#1}{% + \@ifnextchar[%] + {\@maketitleonecolumn{#1}}{\@maketitleonecolumn{#1}[]}% + }{\@maketitleonecolumn{1}[#1]}% +} +\newcommand\@maketitleonecolumn{} +\long\def\@maketitleonecolumn#1[#2]{% + \if@twocolumn% + \if@titlepage% + \maketitle[#1]% + \onecolumn\noindent#2\twocolumn% + \else% + \@longtwocolumn[{\maketitle[#1]{#2}}]% + \fi% + \else% + \ClassError{\tudcls@name}{% + \string\maketitleonecolumn\space can only be used in twocolumn mode% + }{}% + \fi% +} +\newsavebox\@longtwocolumnbox +\newcommand\@longtwocolumn[1][]{% + \onecolumn% + \begingroup% + \let\clearpage\relax% + \let\newpage\relax% + \global\setbox\@longtwocolumnbox\vbox{#1\bigskip}% + \endgroup% + \@whiledim\textheight<\ht\@longtwocolumnbox\do{% + \splittopskip\topskip% + \splitmaxdepth\maxdepth% + \vsplit\@longtwocolumnbox to \textheight\clearpage% + }% + \twocolumn[\unvbox\@longtwocolumnbox]% +} +\newcommand*\tud@letsubjectthesis{% + \if@tud@subjectthesis\ifx\@thesis\@empty\else% + \ifx\@subject\@empty\else% + \ClassWarning{\tudcls@name}{% + The option 'subjectthesis' was activated.\MessageBreak% + The field 'subject' will be overwritten with the\MessageBreak% + given thesis% + }% + \fi% + \let\@subject\@thesis% + \fi\fi% +} +\newcommand*\tud@title@wrn[1]{% + \ClassWarning{\tudcls@name}{% + \@backslashchar#1\space has to be used with\MessageBreak% + activated titlepage option% + }% +} +\ifdef{\@makeextratitle}{% + \let\tud@extratitle\relax% +}{% + \newcommand*\tud@extratitle{% + \let\footnote\thanks% + \ifx\@extratitle\@empty\else% + \noindent\@extratitle\next@tdpage% + \fi% + }% +} +\providecommand*\next@tdpage{% + \next@tpage% + \if@twoside\ifodd\value{page}\else% + \null\next@tpage% + \fi\fi% +}% +\newif\if@tud@cover +\newcommand*\makecover[1][]{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \let\tud@multiple@setfields\@gobbletwo% + \pretocmd{\tud@multiple@split}{\vskip\z@\@plus0.5fill}{}{}% + \let\@authormore\@empty% + \let\@dateofbirth\@empty% + \let\@matriculationnumber\@empty% + \let\@matriculationyear\@empty% + \TUD@parameter@set[cover]{cd,cdfonts,cdlayout=true,#1}% + \if@tud@cover@cdlayout% + \newgeometry{% + left=\tud@dim@left,% + textwidth=\dimexpr\paperwidth-\tud@dim@both,% + top=\dimexpr\tud@dim@headheight+\tud@dim@barheight+\tud@dim@headsep,% + headheight=\dimexpr\tud@dim@headheight+\tud@dim@barheight,% + headsep=\tud@dim@headsep,% + bottom=\dimexpr\tud@dim@bottom+\tud@ta@footdiff,% + footskip=\dimexpr\tud@dim@footskip+\tud@ta@footdiff+\baselineskip,% + }% + \else% + \ifnum\tud@ddc@foot=\z@\relax% + \loadgeometry{tudpage}% + \else% + \loadgeometry{tudddc}% + \fi% + \fi% + \ifdef{\hypersetup}{\hypersetup{pageanchor=false}}{}% + \@tud@covertrue + \@titlepagetrue% + \tud@maketitle% + \endgroup% + \loadgeometry{tudarea}% +} +\newif\if@tud@cover@cdlayout +\TUD@parameter{cover}{% + \TUD@parameter@define{cd}[true]{\TUDoption{cd}{#1}}% + \TUD@parameter@define{widehead}[true]{\TUDoption{widehead}{#1}}% + \TUD@parameter@define{cdfont}[true]{\TUDoption{cdfont}{#1}}% + \TUD@parameter@define{cdfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{tudfonts}[true]{\TUDoption{cdfonts}{#1}}% + \TUD@parameter@define{cdlayout}[true]{% + \ifstr{#1}{true}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{on}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{yes}{\@tud@cover@cdlayouttrue}{% + \ifstr{#1}{false}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{no}{\@tud@cover@cdlayoutfalse}{% + \ifstr{#1}{off}{\@tud@cover@cdlayoutfalse}{% + \TUD@parameter@wrn{cdlayout}{true,false}% + }}}}}}% + }% + \TUD@parameter@sethandler{\TUD@parameter@set[cover]{cdlayout=#1}}% +}% +%%% From File: tudscr-fields.dtx +\newcommand*\@faculty{} +\newcommand*\faculty[1]{\gdef\@faculty{\trim@spaces{#1}}} +\newcommand*\@department{} +\newcommand*\department[1]{\gdef\@department{\trim@spaces{#1}}} +\newcommand*\@institute{} +\newcommand*\institute[1]{\gdef\@institute{\trim@spaces{#1}}} +\newcommand*\@chair{} +\newcommand*\chair[1]{\gdef\@chair{\trim@spaces{#1}}} +\newcommand*\professorship{} +\let\professorship\chair +\newcommand*\@extraheadline{} +\newcommand*\extraheadline[1]{\gdef\@extraheadline{\trim@spaces{#1}}} +\newcommand*\@@title{} +\renewcommand*\title[1]{% + \gdef\@title{#1}% + \gdef\@@title{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + #1% + \endgroup% + }% +} +\newcommand*\@@author{} +\renewcommand*\author[1]{% + \gdef\@author{#1}% + \let\@@author\@author% +} +\newcommand*\student{} +\let\student\author +\newcommand*\@authormore{} +\newrobustcmd*\authormore[1]{\gdef\@authormore{#1}} +\newcommand*\@thesis{} +\newcommand*\@@thesis{} +\newcommand*\thesis[1]{\tud@thesis{thesis}{#1}} +\newcommand*\tud@thanks{} +\newcommand*\tud@thesis[2]{% + \AfterPreamble{% + \begingroup% + \global\let\tud@thanks\relax% + \def\thanks##1{\gdef\tud@thanks{##1}}% + \let\footnote\thanks% + \setbox0\vbox{#2}% + \let\thanks\@gobble% + \let\footnote\@gobble% + \ifstr{#1}{thesis}{\xdef\@@thesis{#2}}{}% + \endgroup% + \tud@lowerstring{\@tempa}{#2}% + \ifstr{\@tempa}{diss}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{doctoral}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{phd}{\tud@@thesis{#1}{\dissertationname}}{% + \ifstr{\@tempa}{diploma}{\tud@@thesis{#1}{\diplomathesisname}}{% + \ifstr{\@tempa}{master}{\tud@@thesis{#1}{\masterthesisname}}{% + \ifstr{\@tempa}{bachelor}{\tud@@thesis{#1}{\bachelorthesisname}}{% + \ifstr{\@tempa}{student}{\tud@@thesis{#1}{\studentresearchname}}{% + \ifstr{\@tempa}{project}{\tud@@thesis{#1}{\projectpapername}}{% + \ifstr{\@tempa}{seminar}{\tud@@thesis{#1}{\seminarpapername}}{% + \ifstr{\@tempa}{research}{\tud@@thesis{#1}{\researchname}}{% + \ifstr{\@tempa}{log}{\tud@@thesis{#1}{\logname}}{% + \ifstr{\@tempa}{report}{\tud@@thesis{#1}{\reportname}}{% + \ifstr{\@tempa}{internship}{\tud@@thesis{#1}{\internshipname}}{% + \@namedef{@#1}{#2}% + }}}}}}}}}}}}}% + }% +} +\newcommand*\tud@@thesis[2]{% + \ifx\tud@thanks\relax% + \gdef\@thesis{#2}% + \else% + \xdef\@thesis{\noexpand#2\noexpand\thanks{\tud@thanks}}% + \fi% + \gdef\@@thesis{#2}% + \ifstr{#1}{subject}{% + \ifx\@thesis\empty\else% + \ClassWarning{\tudcls@name}{Field 'thesis' is overwritten by 'subject'}% + \fi% + \TUD@std@ifkey@lock{subjectthesis}{true}% + }{% + \TUD@std@ifkey@lock{subjectthesis}{false}% + }% +} +\renewcommand*\subject[1]{\tud@thesis{subject}{#1}} +\newcommand*\@degree{} +\newcommand*\@degreeabbr{} +\newcommand*\degree[2][]{% + \ifxblank{#1}{\gdef\@degreeabbr{}}{\gdef\@degreeabbr{(#1)}}% + \gdef\@degree{#2}% +} +\newcommand*\@professor{} +\newcommand*\professor[1]{\gdef\@professor{#1}} +\newcommand*\@supervisor{} +\newcommand*\supervisor[1]{% + \gdef\@supervisor{#1}% + \ifx\@supporter\empty\gdef\@supporter{#1}\fi% +} +\newcommand*\@supporter{} +\newcommand*\supporter[1]{% + \gdef\@supporter{#1}% + \renewcommand*\supervisor[1]{\gdef\@supervisor{##1}}% +} +\newcommand*\@company{} +\newcommand*\company[1]{\gdef\@company{#1}} +\newcommand*\@referee{} +\newcommand*\referee[1]{\gdef\@referee{#1}} +\newcommand*\@advisor{} +\newcommand*\advisor[1]{\gdef\@advisor{#1}} +\newcommand*\@matriculationnumber{} +\newrobustcmd*\matriculationnumber[1]{% + \gdef\@matriculationnumber{#1}% +} +\newrobustcmd*\studentid{} +\newrobustcmd*\matriculationid{} +\let\studentid\matriculationnumber +\let\matriculationid\matriculationnumber +\newcommand*\@matriculationyear{} +\newrobustcmd*\matriculationyear[1]{\gdef\@matriculationyear{#1}} +\newrobustcmd*\enrolmentyear{} +\let\enrolmentyear\matriculationyear +\newcommand*\@placeofbirth{} +\newrobustcmd*\placeofbirth[1]{\gdef\@placeofbirth{#1}} +\newrobustcmd*\birthplace{} +\let\birthplace\placeofbirth +\providecommand*\@publisher{} +\providecommand*\publisher[1]{\gdef\@publisher{#1}} +\let\publishers\publisher +\newcommand*\@confirmationclosing{% + \medskip% + \noindent\@place, \@@date% + \\[15mm plus 10mm minus 10mm]% + \begingroup% + \let\and\hfil% + \let\thanks\@gobble% + \let\footnote\@gobble% + \@@author% + \hfil% + \endgroup% +} +\newcommand*\confirmationclosing[1]{\gdef\@confirmationclosing{#1}} +\newcommand*\@place{Dresden} +\newcommand*\place[1]{\gdef\@place{#1}} +\newcommand*\location{} +\let\location\place +\newcommand*\printdate[1]{#1} +\BeforePackage{isodate}{\let\printdate\undefined} +\newcommand*\tud@printdate[2]{% + \ifx\today#2% + \gdef#1{#2}% + \else% + \ifxblank{#2}% + {\gdef#1{}}% + {\gdef#1{\printdate{#2}}}% + \fi% +} +\newcommand*\@datemore{} +\newcommand*\@@date{} +\let\@@date\@date +\renewcommand*\date[2][]{% + \gdef\@datemore{#1}% + \tud@printdate{\@date}{#2}% + \tud@printdate{\@@date}{#2}% +} +\newcommand*\submissiondate{} +\let\submissiondate\date +\newcommand*\@defensedate{} +\newcommand*\defensedate[1]{\tud@printdate{\@defensedate}{#1}} +\newcommand*\oralexaminationdate{} +\let\oralexaminationdate\defensedate +\newcommand*\@dateofbirth{} +\newrobustcmd*\dateofbirth[1]{\tud@printdate{\@dateofbirth}{#1}} +\newrobustcmd*\birthday{} +\let\birthday\dateofbirth +%%% From File: tudscr-locale.dtx +\newcommand*\tud@locale@define[1]{% + \providecommand*#1{% + \ClassError{\tudcls@name}{% + \string#1 not defined for language \languagename% + }{% + Currently the class \tudcls@name\space only supports the\MessageBreak% + languages german and english. You must define single\MessageBreak% + patterns by yourself, e.g.:\MessageBreak% + \string\providecaptionname\languagename{\string#1}{<text>}\MessageBreak% + To implement new languages, it would be nice if you could\MessageBreak% + contact the author of this class and send your definitions\MessageBreak% + to \filemail% + }% + }% +} +\tud@locale@define{\degreetext} +\tud@locale@define{\supervisorname} +\tud@locale@define{\supervisorothername} +\tud@locale@define{\refereename} +\tud@locale@define{\refereeothername} +\tud@locale@define{\advisorname} +\tud@locale@define{\advisorothername} +\tud@locale@define{\professorname} +\tud@locale@define{\datetext} +\tud@locale@define{\dateofbirthtext} +\tud@locale@define{\placeofbirthtext} +\tud@locale@define{\defensedatetext} +\tud@locale@define{\matriculationyearname} +\tud@locale@define{\matriculationnumbername} +\tud@locale@define{\coverpagename} +\tud@locale@define{\titlepagename} +\tud@locale@define{\confirmationname} +\tud@locale@define{\confirmationtext} +\tud@locale@define{\restrictionname} +\tud@locale@define{\restrictiontext} +\tud@locale@define{\listingname} +\tud@locale@define{\listlistingname} +\tud@locale@define{\dissertationname} +\tud@locale@define{\diplomathesisname} +\tud@locale@define{\masterthesisname} +\tud@locale@define{\bachelorthesisname} +\tud@locale@define{\studentresearchname} +\tud@locale@define{\projectpapername} +\tud@locale@define{\seminarpapername} +\tud@locale@define{\researchname} +\tud@locale@define{\logname} +\tud@locale@define{\internshipname} +\tud@locale@define{\reportname} +\newcommand*\tud@locale@german[1]{% + \providecaptionname{#1}{\degreetext}% + {zur Erlangung des akademischen Grades}% + \providecaptionname{#1}{\supervisorname}% + {Betreuer}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {Erstgutachter}% + \providecaptionname{#1}{\refereeothername}% + {Zweitgutachter}% + \providecaptionname{#1}{\advisorname}% + {Fachreferent}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Betreuender Hochschullehrer}% + \providecaptionname{#1}{\datetext}% + {Eingereicht am}% + \providecaptionname{#1}{\dateofbirthtext}% + {Geboren am}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Verteidigt am}% + \providecaptionname{#1}{\matriculationyearname}% + {Immatrikulationsjahr}% + \providecaptionname{#1}{\matriculationnumbername}% + {Matrikelnummer}% + \providecaptionname{#1}{\coverpagename}% + {Umschlagseite}% + \providecaptionname{#1}{\titlepagename}% + {Titelblatt}% + \providecaptionname{#1}{\confirmationname}% + {Selbstst\"andigkeitserkl\"arung}% + \providecaptionname{#1}{\confirmationtext}{% + Hiermit versichere ich, dass ich die vorliegende + \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + selbstst\"andig und ohne unzul\"assige Hilfe Dritter verfasst habe. Es + wurden keine anderen als die in der Arbeit angegebenen Hilfsmittel + und Quellen benutzt. Die w\"ortlichen und sinngem\"a\ss{} + \"ubernommenen Zitate habe ich als solche kenntlich gemacht. + \ifx\@supporter\empty% + Es waren keine weiteren Personen an der geistigen Herstellung der + vorliegenden Arbeit beteiligt. + \else% + W\"ahrend der Anfertigung dieser Arbeit wurde ich nur von folgenden + Personen unterst\"utzt:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Weitere Personen waren an der geistigen Herstellung der + vorliegenden Arbeit nicht beteiligt. + \fi% + Mir ist bekannt, dass die Nichteinhaltung dieser Erkl\"arung zum + nachtr\"aglichen Entzug des Hochschulabschlusses f\"uhren kann.% + }% + \providecaptionname{#1}{\restrictionname}% + {Sperrvermerk}% + \providecaptionname{#1}{\restrictiontext}{% + Diese \ifx\@@thesis\empty Arbeit \else\@@thesis{} \fi + \ifx\@@title\empty\else mit dem Titel \emph{\@@title} \fi + enth\"alt vertrauliche Informationen\ifx\@company\empty\else + , offengelegt durch \@company{}\fi. Ver\"offentlichungen, + Vervielf\"altigungen und Einsichtnahme~-- auch nur auszugsweise~-- + sind ohne ausdr\"uckliche Genehmigung \ifx\@company\empty\else + durch \@company{} \fi nicht gestattet, ebenso wie + Ver\"offentlichungen \"uber den Inhalt dieser Arbeit. Die + vorliegende Arbeit ist nur dem Betreuer an der Hochschule, + den Gutachtern sowie den Mitgliedern des Pr\"ufungsausschusses + zug\"anglich zu machen.% + }% + \providecaptionname{#1}{\listingname}% + {Quelltext}% + \providecaptionname{#1}{\listlistingname}% + {Quelltextverzeichnis}% + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% + \providecaptionname{#1}{\diplomathesisname}% + {Diplomarbeit}% + \providecaptionname{#1}{\masterthesisname}% + {Master-Arbeit}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor-Arbeit}% + \providecaptionname{#1}{\studentresearchname}% + {Studienarbeit}% + \providecaptionname{#1}{\projectpapername}% + {Projektarbeit}% + \providecaptionname{#1}{\seminarpapername}% + {Seminararbeit}% + \providecaptionname{#1}{\researchname}% + {Forschungsbericht}% + \providecaptionname{#1}{\logname}% + {Protokoll}% + \providecaptionname{#1}{\internshipname}% + {Praktikumsbericht}% + \providecaptionname{#1}{\reportname}% + {Bericht}% +} +\newcommand*\tud@locale@english[1]{% + \providecaptionname{#1}{\degreetext}% + {to achieve the academic degree}% + \providecaptionname{#1}{\supervisorname}% + {Supervisor}% + \providecaptionname{#1}{\supervisorothername}% + {}% + \providecaptionname{#1}{\refereename}% + {First referee}% + \providecaptionname{#1}{\refereeothername}% + {Second referee}% + \providecaptionname{#1}{\advisorname}% + {Advisor}% + \providecaptionname{#1}{\advisorothername}% + {}% + \providecaptionname{#1}{\professorname}% + {Supervising professor}% + \providecaptionname{#1}{\datetext}% + {Submitted on}% + \providecaptionname{#1}{\dateofbirthtext}% + {Born on}% + \providecaptionname{#1}{\placeofbirthtext}% + {in}% + \providecaptionname{#1}{\defensedatetext}% + {Defended on}% + \providecaptionname{#1}{\matriculationyearname}% + {Matriculation year}% + \providecaptionname{#1}{\matriculationnumbername}% + {Matriculation number}% + \providecaptionname{#1}{\coverpagename}% + {Cover page}% + \providecaptionname{#1}{\titlepagename}% + {Title page}% + \providecaptionname{#1}{\confirmationname}% + {Statement of authorship}% + \providecaptionname{#1}{\confirmationtext}{% + I hereby certify that I have authored this + \ifx\@@thesis\empty thesis\else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + independently and without undue assistance from third + parties. No other than the resources and references + indicated in this thesis have been used. I have marked + both literal and accordingly adopted quotations as such. + \ifx\@supporter\empty% + They were no additional persons involved in the spiritual + preparation of the present thesis. + \else% + During the preparation of this thesis I was only supported + by the following persons:% + \begin{quote}\def\and{\newline}\@supporter\end{quote}% + \noindent Additional persons were not involved in the spiritual + preparation of the present thesis. + \fi% + I am aware that violations of this declaration may lead to + subsequent withdrawal of the degree.% + }% + \providecaptionname{#1}{\restrictionname}% + {Restriction note}% + \providecaptionname{#1}{\restrictiontext}{% + This \ifx\@@thesis\empty thesis \else\@@thesis{} \fi + \ifx\@@title\empty{} \else entitled \emph{\@@title} \fi + contains confidential data\ifx\@company\empty\else + , disclosed by \@company{}\fi. Publications, duplications and + inspections---even in part---are prohibited without explicit + permission\ifx\@company\empty\else\space by \@company{}\fi, + as well as publications about the content of this thesis. + This thesis may only be made accessible to the supervisor at + the university, the reviewers and also the members of the + examination board.% + }% + \providecaptionname{#1}{\listingname}% + {Listing}% + \providecaptionname{#1}{\listlistingname}% + {List of Listings}% + \providecaptionname{#1}{\dissertationname}% + {Dissertation}% + \providecaptionname{#1}{\diplomathesisname}% + {Diploma Thesis}% + \providecaptionname{#1}{\masterthesisname}% + {Master Thesis}% + \providecaptionname{#1}{\bachelorthesisname}% + {Bachelor Thesis}% + \providecaptionname{#1}{\studentresearchname}% + {Student Research Project}% + \providecaptionname{#1}{\projectpapername}% + {Project Paper}% + \providecaptionname{#1}{\seminarpapername}% + {Seminar Paper}% + \providecaptionname{#1}{\researchname}% + {Research Report}% + \providecaptionname{#1}{\logname}% + {Log}% + \providecaptionname{#1}{\internshipname}% + {Internship Report}% + \providecaptionname{#1}{\reportname}% + {Report}% +} +\AtBeginDocument{% + \ifdef{\captionsenglish}{}{\let\captionsenglish\@empty}% + \tud@locale@german{ngerman}% + \tud@locale@german{german}% + \tud@locale@english{english}% + \tud@locale@english{USenglish}% + \tud@locale@english{american}% + \tud@locale@english{UKenglish}% + \tud@locale@english{british}% +} +\AfterPackage{listings}{% + \renewcommand*\lstlistingname{\listingname}% + \renewcommand*\lstlistlistingname{\listlistingname}% +} +%%% From File: tudscr-color.dtx +\newcommand*\tud@pagecolor[1]{} +\newcommand*\tud@restorepagecolor{} +\AfterPackage{tudscrcolor}{% + \providecommand*\nopagecolor{\pagecolor{white}}% + \@ifpackageloaded{pagecolor}{}{% + \let\tud@pagecolor\pagecolor% + \let\tud@restorepagecolor\nopagecolor% + }% +} +\AfterPackage{pagecolor}{% + \let\tud@pagecolor\newpagecolor% + \let\tud@restorepagecolor\restorepagecolor% +} +\AfterPackage{pdfpages}{\AtEndPreamble{\nopagecolor}} +%%% From File: tudscr-misc.dtx +\newcommand*\tudbookmark[1][]{\@gobbletwo} +\newcommand*\phantomsection{} +\let\phantomsection\relax +\newcommand*\tud@footnote@unhyper{} +\newcommand*\tud@footnote@rehyper{} +\AfterPackage{hyperref}{% + \renewcommand*\tudbookmark[3][]{% + \relax% + \if@tud@bookmarks% + \phantomsection% + \ifblank{#1}{\pdfbookmark{#2}{#3}}{\pdfbookmark[#1]{#2}{#3}}% + \fi% + }% + \renewcommand*\tud@footnote@unhyper{% + \let\Hy@saved@footnotemark\@footnotemark% + \let\Hy@saved@footnotetext\@footnotetext% + \let\@footnotemark\H@@footnotemark% + \let\@footnotetext\H@@footnotetext% + }% + \renewcommand*\tud@footnote@rehyper{% + \ifx\@footnotemark\H@@footnotemark% + \let\@footnotemark\Hy@saved@footnotemark% + \fi% + \ifx\@footnotetext\H@@footnotetext% + \let\@footnotetext\Hy@saved@footnotetext% + \fi% + }% +} +\AtBeginDocument{% + \pretocmd{\makecover}{% + \tudbookmark[0]{\coverpagename}{cover} + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{makecover}}% + \pretocmd{\maketitle}{% + \tudbookmark[0]{\titlepagename}{title} + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{maketitle}}% + \pretocmd{\tableofcontents}{% + \if@openright\cleardoublepage\else\clearpage\fi% + \tudbookmark[0]{\contentsname}{toc}% + \ifdef{\bookmarksetup}{\bookmarksetup{startatroot}}{}% + }{}{\tud@patch@wrn{tableofcontents}}% +} +\newcommand*\tud@environmenthandler[1]{% + \def\@tempa{#1}% + \@for\@tempb:=\@tempa\do{% + \ifx\@tempb\@empty\else% + \ifxnumber{\@tempb}{\let\tud@multicols\@tempb}{% + \ifstr{\@tempb}{twocolumn}{\def\tud@multicols{2}}{% + \expandafter\selectlanguage\expandafter{\@tempb}% + }}% + \fi% + }% +} +\newcommand*\tud@multicols{1} +\newcommand*\tud@multicols@check{% + \ifdef{\multicols}{}{% + \ifnum\tud@multicols>1\relax% + \ClassWarning{\tudcls@name}{% + The option 'columns=\tud@multicols' is only supported,\MessageBreak% + when package 'multicol' is loaded% + }% + \def\tud@multicols{1}% + \fi% + }% +} +\newcommand*\tud@makeuppercase[1]{% + \ifx\f@family\tud@dinbold% + \begingroup% + \MakeTextUppercase{#1}% + \endgroup% + \else% + #1% + \fi% +%% \vphantom{\"A\"O\"U}% +} +\newcommand*\ifdin{% + \ifx\f@family\tud@dinbold\relax% + \expandafter\@firstoftwo% + \else% + \expandafter\@secondoftwo% + \fi% +} +\endinput +%% +%% End of file `tudscrreprt.cls'. diff --git a/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty new file mode 100644 index 00000000000..d57f8b890cc --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/tudscrsupervisor.sty @@ -0,0 +1,481 @@ +%% +%% This is file `tudscrsupervisor.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package') +%% tudscr-supervisor.dtx (with options: `package,header') +%% tudscr-fields.dtx (with options: `package,supervisor') +%% tudscr-locale.dtx (with options: `package,supervisor') +%% tudscr-supervisor.dtx (with options: `package,body') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +%%% From File: tudscr-supervisor.dtx +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{tudscrsupervisor}[\TUDVersion\space package (supervisors)] +\ifx\tudcls@name\undefined + \PackageError{tudscrsupervisor}{Unsupported class found}{% + This package can only be used with a class out of the\MessageBreak% + tudscr bundle (tudscrartcl, tudscrreprt, tudscrbook)% + } + \endinput +\fi +%%% From File: tudscr-fields.dtx +\newcommand*\@course{} +\newrobustcmd*\course[1]{\gdef\@course{#1}} +\newrobustcmd*\discipline{} +\let\discipline\course +\newcommand*\@branch{} +\newrobustcmd*\branch[1]{\gdef\@branch{#1}} +\newcommand*\@chairman{} +\newcommand*\chairman[1]{\gdef\@chairman{#1}} +\newcommand*\@contact{} +\newcommand*\contact[1]{\gdef\@contact{#1}} +\newcommand*\@office{} +\newrobustcmd*\office[1]{\gdef\@office{#1}} +\newcommand*\@phone{} +\newrobustcmd*\phone[1]{\gdef\@phone{#1}} +\newcommand*\@email{} +\newrobustcmd*\email[1]{\gdef\@email{#1}} +\AfterPackage{hyperref}{% + \renewrobustcmd*\email[1]{\gdef\@email{\href{mailto:#1}{\nolinkurl{#1}}}}% +} +\newcommand*\@grade{} +\newcommand*\grade[1]{\gdef\@grade{#1}} +\newcommand*\@headline{} +\newcommand*\@issuedate{} +\newcommand*\issuedate[1]{\tud@printdate{\@issuedate}{#1}} +\let\startdate\issuedate +\newcommand*\@duedate{} +\newcommand*\duedate[1]{\tud@printdate{\@duedate}{#1}} +\newcommand*\finaldate{} +\newcommand*\maturitydate{} +\let\finaldate\duedate +\let\maturitydate\duedate +%%% From File: tudscr-locale.dtx +\tud@locale@define{\taskname} +\tud@locale@define{\tasktext} +\tud@locale@define{\authorname} +\tud@locale@define{\titlename} +\tud@locale@define{\coursename} +\tud@locale@define{\branchname} +\tud@locale@define{\issuedatetext} +\tud@locale@define{\duedatetext} +\tud@locale@define{\chairmanname} +\tud@locale@define{\focusname} +\tud@locale@define{\objectivesname} +\tud@locale@define{\evaluationname} +\tud@locale@define{\evaluationtext} +\tud@locale@define{\contentname} +\tud@locale@define{\assessmentname} +\tud@locale@define{\gradetext} +\tud@locale@define{\noticename} +\tud@locale@define{\contactname} +\apptocmd{\tud@locale@german}{% + \providecaptionname{#1}{\taskname}% + {Aufgabenstellung}% + \providecaptionname{#1}{\tasktext}% + {f\"ur die Anfertigung einer}% + \providecaptionname{#1}{\authorname}% + {Name}% + \providecaptionname{#1}{\titlename}% + {Titel}% + \providecaptionname{#1}{\coursename}% + {Studiengang}% + \providecaptionname{#1}{\branchname}% + {Studienrichtung}% + \providecaptionname{#1}{\issuedatetext}% + {Ausgeh\"andigt am}% + \providecaptionname{#1}{\duedatetext}% + {Einzureichen am}% + \providecaptionname{#1}{\chairmanname}% + {Pr\"ufungsausschussvorsitzender}% + \providecaptionname{#1}{\focusname}% + {Schwerpunkte der Arbeit}% + \providecaptionname{#1}{\objectivesname}% + {Ziele der Arbeit}% + \providecaptionname{#1}{\evaluationname}% + {Gutachten}% + \providecaptionname{#1}{\evaluationtext}% + {f\"ur die}% + \providecaptionname{#1}{\contentname}% + {Inhalt}% + \providecaptionname{#1}{\assessmentname}% + {Bewertung}% + \providecaptionname{#1}{\gradetext}% + {Die Arbeit wird mit der Note \textbf{\@grade} bewertet.}% + \providecaptionname{#1}{\noticename}% + {Aushang}% + \providecaptionname{#1}{\contactname}% + {Ansprechpartner}% +}{}{} +\apptocmd{\tud@locale@english}{% + \providecaptionname{#1}{\taskname}% + {Task}% + \providecaptionname{#1}{\tasktext}% + {for the preparation of a}% + \providecaptionname{#1}{\authorname}% + {Name}% + \providecaptionname{#1}{\titlename}% + {Title}% + \providecaptionname{#1}{\coursename}% + {Course}% + \providecaptionname{#1}{\branchname}% + {Branch}% + \providecaptionname{#1}{\issuedatetext}% + {Issued on}% + \providecaptionname{#1}{\duedatetext}% + {Due date for submission}% + \providecaptionname{#1}{\chairmanname}% + {Chairman of the Audit Committee}% + \providecaptionname{#1}{\focusname}% + {Focus of work}% + \providecaptionname{#1}{\objectivesname}% + {Objectives of work}% + \providecaptionname{#1}{\evaluationname}% + {Evaluation}% + \providecaptionname{#1}{\evaluationtext}% + {for the}% + \providecaptionname{#1}{\contentname}% + {Content}% + \providecaptionname{#1}{\assessmentname}% + {Assessment}% + \providecaptionname{#1}{\gradetext}% + {The thesis is evaluated with a grade of \textbf{\@grade}.}% + \providecaptionname{#1}{\noticename}% + {Notice}% + \providecaptionname{#1}{\contactname}% + {Contact}% +}{}{} +%%% From File: tudscr-supervisor.dtx +\newenvironment{task}[1][]{% + \cleardoubleoddpage% + \def\@headline{}% + \TUD@parameter{tudpage}{% + \TUD@parameter@define{headline}{\def\@headline{##1}}% + \TUD@parameter@let{line}{headline}% + \TUD@parameter@sethandler{\def\@headline{##1}}% + \TUD@parameter@set{foot=ddc}% + }% + \tudpage[#1]% + \tudbookmark{\taskname}{task}% + \subsection*{% + \ifx\@headline\@empty% + \taskname\space% + \ifx\tasktext\@empty\else\ifx\@thesis\@empty\else% + \ignorespaces\tasktext\space\trim@spaces{\@thesis}% + \fi\fi% + \else\@headline\fi% + }% + \tud@author@table% +}{% + \def\and{% + \tabularnewline% + \ifx\supervisorothername\@empty\else\supervisorothername\@titledelim\fi% + & \def\and{\tabularnewline &}% + }% + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi\medskip% + \begingroup% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \begin{tabular}{@{}p{\tud@dim@table}l@{}}% + \supervisorname\@titledelim & + \@supervisor\tabularnewline[\smallskipamount]% + \issuedatetext\@titledelim & \@issuedate\tabularnewline% + \duedatetext\@titledelim & \@duedate\tabularnewline% + \end{tabular}% + \vskip 15mm plus 10mm minus 10mm% + \ifx\@chairman\@empty\else% + \begin{tabular}{@{}l@{}}% + \@chairman\tabularnewline% + \chairmanname\tabularnewline% + \end{tabular}% + \hfill% + \fi% + \ifx\@professor\@empty\else% + \begin{tabular}{@{}l@{}}% + \@professor\tabularnewline% + \professorname\tabularnewline% + \end{tabular}% + \fi% + \par% + \endgroup% + \endtudpage% + \cleardoublepage% +} +\newcommand{\taskform}[3][]{% + \begin{task}[#1] + \vskip-\lastskip% + \ifxblank{#2}{}{% + \vspace*{-\parskip}% + \minisec{\objectivesname}% + #2% + }% + \ifxblank{#3}{}{% + \vspace*{-\parskip}% + \minisec{\focusname}% + \begin{itemize}\tud@RaggedRight% + #3 + \end{itemize}% + }% + \end{task}% +} +\newenvironment{evaluation}[1][]{% + \cleardoubleoddpage% + \def\@headline{}% + \TUD@parameter{tudpage}{% + \TUD@parameter@define{headline}{\def\@headline{##1}}% + \TUD@parameter@let{line}{headline}% + \TUD@parameter@define{grade}{\def\@grade{##1}}% + \TUD@parameter@sethandler{\def\@headline{##1}}% + \TUD@parameter@set{foot=ddc}% + }% + \tudpage[#1]% + \tudbookmark{\evaluationname}{evaluation}% + \subsection*{% + \ifx\@headline\@empty% + \evaluationname\space% + \ifx\evaluationtext\@empty\else\ifx\@thesis\@empty\else% + \ignorespaces\evaluationtext\space\trim@spaces{\@thesis}% + \fi\fi% + \else\@headline\fi% + }% + \tud@author@table% +}{% + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi% + \medskip% + \ifx\@grade\@empty\else% + \noindent\gradetext% + \vskip\bigskipamount% + \fi% + \ifx\@date\@empty\else% + \noindent% + \ifx\@place\@empty\else\@place,~\fi\@date% + \vskip\bigskipamount% + \fi% + \bigskip\bigskip\noindent% + \ifx\@referee\@empty\let\@referee\@supervisor\fi% + \let\@tempa\refereename% + \def\and{% + \tabularnewline% + \@tempa% + \endtabular% + \hfill% + \tabular{@{}l@{}}% + \global\let\@tempa\refereeothername% + }% + \begin{tabular}{@{}l@{}}% + \@referee% + \tabularnewline% + \@tempa% + \end{tabular}% + \hfill\null% + \endtudpage% + \cleardoublepage% +} +\newcommand{\evaluationform}[5][]{% + \begin{evaluation}[#1] + \vskip-\lastskip% + \ifxblank{#2}{}{% + \vspace*{-\parskip}% + \minisec{\taskname}% + #2% + }% + \ifxblank{#3}{}{% + \vspace*{-\parskip}% + \minisec{\contentname}% + #3% + }% + \ifxblank{#4}{}{% + \vspace*{-\parskip}% + \minisec{\assessmentname}% + #4% + }% + \ifxblank{#5}{}{\def\@grade{#5}}% + \end{evaluation}% +} +\newlength{\tud@dim@table}% +\newcommand*\tud@author@table{% + \begingroup% + \let\thanks\@gobble% + \let\footnote\@gobble% + \renewcommand*\tud@split@@author[2]{% + \tud@multiple@setfields{\null}{##1}% + \begin{tabular}{l@{}}% + \ifx\@course\@empty\else\@course\tabularnewline\fi% + \ifx\@branch\@empty\else\@branch\tabularnewline\fi% + \textsf{\textbf{\ignorespaces##1}}\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \@matriculationnumber\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \@matriculationyear\tabularnewline% + \fi% + \end{tabular}% + \tud@multiple@@@split{##2}{~~\hspace{\tabcolsep}} + }% + \global\setlength{\tud@dim@table}{2em}% + \gdef\tud@multiple@field{@@author}% + \tud@multiple@setfields{\null}{}% + \edef\@tempa{% + \authorname,\titlename,\supervisorname,\supervisorothername,% + \issuedatetext,\duedatetext,% + \expandafter\ifx\@matriculationnumber\@empty\else% + \matriculationnumbername% + \fi,% + \expandafter\ifx\@matriculationyear\@empty\else% + \matriculationyearname% + \fi,% + \expandafter\ifx\@course\@empty\else\coursename\fi,% + \expandafter\ifx\@branch\@empty\else\branchname\fi,% + }% + \@for\@tempb:=\@tempa\do{% + \settowidth{\@tempdima}{\@tempb\@titledelim}% + \ifdim\@tempdima>\tud@dim@table\relax% + \global\setlength{\tud@dim@table}{\@tempdima}% + \fi% + }% + \begingroup% + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative% + \begin{tabular}{@{}p{\tud@dim@table}}% + \ifx\@course\@empty\else% + \coursename\@titledelim\tabularnewline% + \fi% + \ifx\@branch\@empty\else% + \branchname\@titledelim\tabularnewline% + \fi% + \authorname\@titledelim\tabularnewline% + \ifx\@matriculationnumber\@empty\else% + \matriculationnumbername\@titledelim\tabularnewline% + \fi% + \ifx\@matriculationyear\@empty\else% + \matriculationyearname\@titledelim\tabularnewline% + \fi% + \end{tabular}% + \tud@multiple@split{@@author}% + \vskip\smallskipamount% + \begin{tabular}{@{}p{\tud@dim@table}% + p{\dimexpr\textwidth-\tud@dim@table-2\tabcolsep\relax}@{}}% + \titlename\@titledelim & \tud@RaggedRight\textsf{\textbf{\@@title}}% + \end{tabular}% + \par% + \endgroup% + \ifdim\parskip>\z@\else\vskip\topsep\fi% + \endgroup% + \noindent\ignorespaces% +} +\patchcmd{\tud@split@@author@list}{\authormore}% + {\authormore,\branch,\course,\discipline}{}{} +\newenvironment{notice}[1][]{% + \cleardoubleoddpage% + \def\@headline{\noticename}% + \TUD@parameter{tudpage}{% + \TUD@parameter@define{headline}{\def\@headline{##1}}% + \TUD@parameter@let{line}{headline}% + \TUD@parameter@sethandler{\def\@headline{##1}}% + \TUD@parameter@set{foot=ddc}% + }% + \tudpage[#1]% + \tudbookmark{\noticename}{notice}% + \ifx\@date\@empty\else% + \begingroup% + \vspace*{-\parskip}% + \vspace*{-2\baselineskip}% + \raggedleft + \@date\par% + \vspace*{-\parskip}% + \endgroup% + \fi% + \ifx\@headline\@empty\else% + \section*{\@headline}% + \fi% +}{% + \ifx\@contact\@empty\let\@contact\@supervisor\fi% + \ifx\@contact\@empty\else% + \vskip-\lastskip% + \ifdim\parskip>\z@\vskip\parskip\else\vskip\topsep\fi% + \subsection*{\contactname}% + \noindent\tud@multiple@split{@contact}\hfill\null% + \fi% + \endtudpage% + \cleardoublepage% +} +\newcommand{\noticeform}[3][]{% + \begin{notice}[#1] + \vskip-\lastskip% + \ifxblank{#2}{}{% + \ifx\@@title\@empty\else% + \vspace*{-\parskip}% + \minisec{\expandonce{\@@title}}% + \fi% + #2% + }% + \ifxblank{#3}{}{% + \vspace*{-\parskip}% + \minisec{\focusname}% + \begin{itemize}\tud@RaggedRight% + #3 + \end{itemize}% + }% + \end{notice}% +} +\newcommand*\tud@split@contact[2]{% + \tud@multiple@setfields{\null}{#1}% + \begin{tabular}{@{}l@{}}% + \ignorespaces#1\tabularnewline% + \ifx\@office\@empty\else\@office\tabularnewline\fi% + \ifx\@phone\@empty\else\@phone\tabularnewline\fi% + \ifx\@email\@empty\else\@email\tabularnewline\fi% + \end{tabular}% + \tud@multiple@@@split{#2}{\hfill}% +} +\newcommand*\tud@split@contact@list{\office,\phone,\email} +\endinput +%% +%% End of file `tudscrsupervisor.sty'. diff --git a/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty new file mode 100644 index 00000000000..2cd60f73344 --- /dev/null +++ b/Master/texmf-dist/tex/latex/tudscr/twocolfix.sty @@ -0,0 +1,115 @@ +%% +%% This is file `twocolfix.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% tudscr-version.dtx (with options: `package') +%% tudscr-twocolfix.dtx (with options: `package,header') +%% tudscr-twocolfix.dtx (with options: `package,body') +%% +%% ====================================================================== +%% +%% Das Corporate Design der TU Dresden auf Basis der KOMA-Script-Klassen +%% +%% ====================================================================== +%% 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 +%% version 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, +%% Version 1.3c, verteilt und/oder veraendert werden. +%% Die neuste Version dieser Lizenz ist +%% http://www.latex-project.org/lppl.txt +%% und Version 1.3c ist Teil aller Verteilungen von LaTeX +%% Version 2005/12/01 oder spaeter und dieses Werks. +%% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +%% (allein durch den Autor verwaltet). +%% Der aktuelle Verwalter und Autor dieses Werkes ist Falk Hanisch. +%% ====================================================================== +%% +%%% From File: tudscr-version.dtx +\begingroup% + \makeatletter% + \ifx\TUDVersion\undefined% + \newcommand*\@TUDVersion[1]{\gdef\TUDVersion{#1}}% + \else% + \newcommand*\@TUDVersion[1]{% + \def\@tempa{#1}% + \ifx\TUDVersion\@tempa\else% + \@latex@warning@no@line{% + \noexpand\TUDVersion\space is `\TUDVersion',\MessageBreak% + but `#1' was expected!\MessageBreak% + You should not use classes, packages or files from\MessageBreak% + different TUD-KOMA-Script-Bundle versions% + }% + \fi% + }% + \fi% + \@TUDVersion{2014/04/24 v2.01 TUD-KOMA-Script}% +\endgroup% +%%% From File: tudscr-twocolfix.dtx +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{twocolfix}[\TUDVersion\space package (twocolumn layout bugfix)] +%%% From File: tudscr-twocolfix.dtx +\long\def \@tempa [#1]{% + \@nodocument% + \@next\@currbox\@freelist{}{}% + \global \setbox\@currbox% + \vbox {% + \break% + \prevdepth\z@% + \begingroup% + \normalcolor% + \hsize\textwidth% + \col@number \@ne% + \ignorespaces #1\par% + \ifdim\parskip>\z@\null\fi% + \vskip -\dbltextfloatsep% + \endgroup% + \ifdim\parskip>\z@\vskip\parskip\else\null\fi% + \vskip -\topskip% + }% + \begingroup% + \splitmaxdepth\maxdepth \splittopskip\topskip% + \setbox\@tempboxa \vsplit\@currbox to\z@% + \endgroup% + \ifdim \ht\@currbox>\textheight% + \ht\@currbox \textheight% + \fi% + \global \count\@currbox \tw@% + \@tempdima -\ht\@currbox% + \advance \@tempdima -\dbltextfloatsep% + \global \advance \@colht \@tempdima% + \ifx \@dbltoplist \@empty% + \else% + \@latexerr{Float(s) lost}\@ehb% + \let \@dbltoplist \@empty% + \fi% + \@cons \@dbltoplist \@currbox% + \global \@dbltopnum \m@ne% + \ifdim \@colht<2.5\baselineskip% + \@latex@warning@no@line {Optional argument of \noexpand\twocolumn + too tall on page \thepage}% + \@emptycol% + \if@firstcolumn% + \else% + \@emptycol% + \fi% + \else% + \global \vsize \@colht% + \global \@colroom \@colht% + \@floatplacement% + \fi% +} +\@ifundefined{scr@topnewpage} + {\let\@topnewpage\@tempa} + {\let\scr@topnewpage\@tempa} +\endinput +%% +%% End of file `twocolfix.sty'. diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index f3379efe5a4..7b9f73a7eab 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -1010,7 +1010,6 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'translator', "die 'skipping, now part of beamer'", # 'tree-dvips', "die 'skipping, noinfo license, latex 2.09'", 'treesvr', "die 'skipping, await request, 1995'", - 'ty', "die 'skipping, name too generic'", 'turkish', "die 'skipping, await request, 1989'", 'turkishintro',"die 'skipping, nosource'", 'turnstile', "&MAKEflatten", @@ -1018,6 +1017,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'tpx', "die 'skipping, nosource, Windows'", 'txfonts', "&MAKEflatten", 'txfontsb', "&MAKEflatten", + 'ty', "die 'skipping, name too generic'", 'typedref', "die 'skipping, nonfree license'", 'typespec', "die 'skipping, nonfree font specimens'", 'uafthesis', "&MAKEnosymlinks", @@ -1128,6 +1128,7 @@ chomp ($Build = `cd $Master/../Build/source && pwd`); 'suftesi' => '&PREHOOK_suftesi', 'texdraw' => '&PREHOOK_texdraw', 'texfot' => '&PREHOOK_texfot', + 'tudscr' => '&PREHOOK_flatten1', 'tui' => '&PREHOOK_tui', 'utf8mex' => '&PREHOOK_flatten1', 'vhistory' => '&PREHOOK_vhistory', @@ -1616,6 +1617,7 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|cmap|4ht)$'; 'translation-tabbing-fr', 'NULL', # doc 'treetex', '(treetex|l_pic|classes)\.tex', 'truncate', '^..[^s].*\.sty', # not miscdoc.sty + 'tudscr', 'logo|' . $standardtex, 'tugboat-plain','\.cmn|' . $standardtex, 'uestcthesis', '\.png|' . $standardtex, 'udesoftec', 'udesoftec-cover|\.cls|\.def', diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc index 9057647d136..40831fa022e 100644 --- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc @@ -99,6 +99,7 @@ depend texilikecover depend thesis-titlepage-fhac depend thuthesis depend toptesi +depend tudscr depend tugboat depend tugboat-plain depend tui diff --git a/Master/tlpkg/tlpsrc/tudscr.tlpsrc b/Master/tlpkg/tlpsrc/tudscr.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/Master/tlpkg/tlpsrc/tudscr.tlpsrc |